โœ…Contoh lengkap sudah tersedia (dari pola yang dipakai di P1-P3)

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:

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): FILTER untuk membelah data jadi 2 kelompok, T.TEST untuk cek apakah beda 2 kelompok itu signifikan secara statistik (bukan cuma kebetulan), COUNTIF untuk menghitung proporsi jawaban kategorikal, AVERAGEIF/RANK/CORREL seperti 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 BY di SQL.
  • SQL (tab Query_SQL): function QUERY() di Google Sheets, termasuk klausa WHERE untuk memfilter baris sebelum dihitung, mirip dengan FILTER di 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 yang akan Abbas jawab
  • 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

๐Ÿ“Opsi 1 (tercepat): pakai dataset yang sudah disiapkan

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.

๐Ÿ“Opsi 2: kumpulkan survey asli (untuk deliverable final)

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.

python
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")
๐ŸVersi paling sederhana (sudah dites, dataset dummy 60 responden)

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.

python
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().

๐Ÿค”Sebelum mulai, pikirkan ini
  • 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?
P5: Prediksi ML โ†’