Mini Research: Survey Sendiri
Untuk pertama kalinya, Abbas mengumpulkan data sendiri. Bukan dataset yang sudah ada, tapi riset yang Abbas rancang sendiri: pertanyaan yang Abbas penasaran, responden yang Abbas rekrut, dan kesimpulan yang Abbas buktikan dengan data.
Proyek ini sudah punya versi contoh lengkap pakai dataset dummy: 60 responden, topik screen time vs kualitas tidur dan nilai sekolah (topik nomor 2 di daftar rekomendasi di bawah). Materinya bisa dibuka dan dipelajari alurnya sebelum Abbas bikin survey Google Forms yang asli:
- Google Sheet: Data Mini Survey (Materi Lengkap - 8 tab): dataset, latihan formula, kunci jawaban, ringkasan pivot, jembatan SQL (QUERY), chart storytelling, dan preview kode Pandas + SciPy, semua dalam 1 file
- Folder LEARN: kumpulan materi semua proyek P1โP6
Cara mulai: buka Sheet di atas, baca tab Panduan dulu (2 menit), lalu kerjakan tab Latihan_Formula soal demi soal. Jangan lompat ke Kunci_Jawaban sebelum benar-benar coba sendiri minimal 5 menit per soal. Di situ letak belajarnya, bukan di jawabannya.
Pola yang dipakai: 1 pertanyaan riset dijawab pakai 5 cara berbeda, makin lama makin canggih tapi logikanya sama. Proyek ini beda dari P1-P3 karena datanya bukan cuma angka, tapi juga kategorikal (jawaban Ya/Tidak) dan butuh uji hipotesis formal, jadi ada 2 fungsi baru:
- Formula Spreadsheet (tab Latihan_Formula + Kunci_Jawaban):
FILTERuntuk membelah data jadi 2 kelompok,T.TESTuntuk cek apakah beda 2 kelompok itu signifikan secara statistik (bukan cuma kebetulan),COUNTIFuntuk menghitung proporsi jawaban kategorikal,AVERAGEIF/RANK/CORRELseperti biasa. - Pivot Table (tab Ringkasan_Pivot): ringkas rata-rata nilai berdasarkan 2 kriteria kategorikal sekaligus (Jenis Kelamin x Suka Belanja Online). Jembatan konsep ke
GROUP BYdi SQL. - SQL (tab Query_SQL): function
QUERY()di Google Sheets, termasuk klausaWHEREuntuk memfilter baris sebelum dihitung, mirip denganFILTERdi tab Formula. - Python/Pandas + SciPy (tab Lanjutan_Pandas_Looker): soal yang sama, ditulis ulang pakai
scipy.stats.ttest_ind()dan.value_counts(). Ini persis fungsi yang dipakai di scaffold kode resmi proyek ini. - Dashboard (Looker Studio): sambungkan langsung ke tab Data, chart update otomatis begitu ada responden baru masuk dari Google Forms.
Di dataset contoh, hasil uji T.TEST menunjukkan p-value jauh di bawah 0.05, jadi beda nilai antara kelompok screen time tinggi dan rendah memang signifikan (bukan kebetulan), dengan korelasi sekitar -0.63. Ini persis alur yang dipakai scaffold kode resmi di bawah, cuma bedanya di contoh ini dikerjakan dulu di Sheets. Detail lengkap tiap tahap ada di tab Panduan pada Sheet di atas.
- Pertanyaan apa yang paling ingin Abbas jawab tentang kehidupan remaja Indonesia?
- Apakah hipotesis awal Abbas terbukti oleh data?
- Apakah ada temuan yang mengejutkan atau berlawanan dengan asumsi awal?
- Seberapa kuat hubungan antar variabel yang diukur?
- Apa limitasi penelitian ini dan bagaimana cara memperbaikinya di masa depan?
Deliverable (output wajib)
- Survey 15-20 pertanyaan di Google Forms
- Minimal 30 responden (teman, keluarga, atau media sosial)
- Laporan penelitian 700-1000 kata: abstract, metode, temuan, limitasi
- Minimal 6 visualisasi yang menceritakan narasi
- Hasil hypothesis testing untuk minimal 2 pertanyaan penelitian
Dataset
Tab Data di Google Sheet pada bagian atas halaman ini sudah berisi 60 baris responden dummy siap pakai (kolom: Responden, Jenis_Kelamin, Screen_Time_Jam, Kualitas_Tidur_1to5, Nilai_Rata_Rata, Suka_Belanja_Online). Download tab itu ke CSV (File > Download > Comma Separated Values) kalau mau langsung dipakai di Colab.
Topik yang direkomendasikan: (1) Faktor yang mempengaruhi kualitas tidur remaja, (2) Hubungan screen time dan produktivitas belajar, (3) Persepsi remaja tentang karir masa depan, (4) Kebiasaan belanja online dan literasi keuangan. Kalau hasil survey asli memuat info yang bisa mengidentifikasi responden, kerjakan analisisnya di sheet privat, jangan di folder publik ini.
Scaffold Kode
Ini kerangka awal. Abbas kembangkan sendiri sesuai kebutuhan analisis.
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
# Load data survey dari Google Sheets export
df = pd.read_csv('survey_hasil.csv')
# Cleaning
df.columns = df.columns.str.lower().str.replace(' ', '_')
df['timestamp'] = pd.to_datetime(df['timestamp'])
# Descriptive statistics
print(df.describe())
print(f"Response rate per hari: {df.groupby(df['timestamp'].dt.date).size()}")
# Hypothesis test: apakah screen time mempengaruhi nilai?
group_tinggi = df[df['screen_time_jam'] > 6]['nilai_rata_rata']
group_rendah = df[df['screen_time_jam'] <= 6]['nilai_rata_rata']
t_stat, p_value = stats.ttest_ind(group_tinggi, group_rendah)
print(f"T-statistic: {t_stat:.3f}, P-value: {p_value:.4f}")
if p_value < 0.05:
print("Signifikan: ada perbedaan nilai antara dua kelompok")
Ini bukan pengganti scaffold di atas. Scaffold di atas untuk data survey Google Forms asli (ada kolom timestamp, perlu cleaning nama kolom). Versi ini pakai dataset yang sudah rapi, cocok untuk latihan uji hipotesis dan proporsi kategorikal dulu.
import pandas as pd
from scipy import stats
df = pd.read_csv("survey_dummy.csv") # export tab "Data" di Sheet ke CSV dulu
# uji beda nilai antara screen time tinggi vs rendah
tinggi = df[df["Screen_Time_Jam"] > 6]["Nilai_Rata_Rata"]
rendah = df[df["Screen_Time_Jam"] <= 6]["Nilai_Rata_Rata"]
t_stat, p_value = stats.ttest_ind(tinggi, rendah)
print(f"T-statistic: {t_stat:.3f}, P-value: {p_value:.4f}")
# proporsi suka belanja online
df["Suka_Belanja_Online"].value_counts(normalize=True)
# rata-rata kualitas tidur per jenis kelamin
df.groupby("Jenis_Kelamin")["Kualitas_Tidur_1to5"].mean()
# korelasi screen time vs nilai
df["Screen_Time_Jam"].corr(df["Nilai_Rata_Rata"])
Catatan: di Jupyter/Colab, cuma baris terakhir dalam satu cell yang otomatis ditampilkan hasilnya. Kalau mau lihat semua hasil sekaligus, pecah jadi cell terpisah per soal, atau bungkus tiap baris dengan print().
- Apa yang Abbas harapkan akan ditemukan? Tulis hipotesis awal sebelum melihat data.
- Siapa yang akan membaca hasil analisis ini? Bagaimana cara penyajian yang paling tepat untuk mereka?
- Apa yang akan Abbas lakukan jika data tidak mendukung hipotesis awal?