Analisis Data Publik Indonesia
Indonesia punya banyak data publik yang belum banyak orang analisis. Abbas akan memilih satu dataset nyata dari BPS, Kemendikbud, atau Kaggle, melakukan EDA lengkap, dan menerbitkan artikel data yang bisa dibagikan ke publik.
Proyek ini sudah punya versi contoh lengkap pakai dataset dummy: 10 provinsi, 5 tahun (2019-2023), 4 indikator pembangunan (angka melek huruf, usia harapan hidup, pendapatan perkapita, akses internet). Materinya bisa dibuka dan dipelajari alurnya sebelum Abbas kerjakan versi asli pakai data BPS/Kaggle yang sesungguhnya:
- Google Sheet: Data Publik Indonesia (Materi Lengkap - 8 tab): dataset, latihan formula, kunci jawaban, ringkasan pivot, jembatan SQL (QUERY), chart storytelling, dan preview kode Pandas, 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 dijawab pakai 5 cara berbeda, makin lama makin canggih tapi logikanya sama (filter, group, aggregate, sort). Fungsi yang dipakai sama dengan P1 (AVERAGEIF, RANK, CORREL, SPARKLINE), tapi domainnya beda total (data sosial-ekonomi, bukan nilai sekolah atau penjualan) supaya Abbas ngerasain bahwa logika analisisnya memang bisa dipindah ke topik apa saja:
- Formula Spreadsheet (tab Latihan_Formula + Kunci_Jawaban): rata-rata bersyarat per provinsi, korelasi antar indikator, ranking provinsi yang paling tertinggal, tren nasional antar tahun.
- Pivot Table (tab Ringkasan_Pivot): ringkas Pendapatan Perkapita per Provinsi x Tahun sekaligus. Jembatan konsep ke
GROUP BYdi SQL. - SQL (tab Query_SQL): function
QUERY()di Google Sheets memakai bahasa mirip SQL asli (SELECT/WHERE/GROUP BY/ORDER BY). Termasuk 1 query yang meringkas semua 4 indikator sekaligus per provinsi, sesuatu yang butuh banyak formula terpisah kalau dikerjakan manual. - Python/Pandas (tab Lanjutan_Pandas_Looker): soal yang sama, ditulis ulang pakai
.groupby()dan.corr(). Di sinilah analisis 10 provinsi bisa langsung diskalakan ke 34 provinsi asli tanpa mengubah struktur kode. - Dashboard (Looker Studio): sambungkan langsung ke tab Data, chart update otomatis. Kalau data resminya punya kode provinsi standar BPS, Looker Studio juga bisa bikin peta choropleth Indonesia tanpa perlu
geopandas.
Di dataset contoh, korelasi Akses Internet dengan Pendapatan Perkapita sangat kuat (sekitar 0.98) karena memang sengaja dibuat berkorelasi untuk latihan. Data BPS asli biasanya tidak akan sekuat dan sebersih ini, jadi jangan kaget kalau korelasi di data sesungguhnya jauh lebih lemah atau lebih berisik. Detail lengkap tiap tahap ada di tab Panduan pada Sheet di atas.
- Apa pertanyaan sosial atau ekonomi yang paling menarik buat Abbas?
- Daerah mana yang paling jauh tertinggal dalam indikator yang dipilih?
- Apakah ada korelasi menarik yang tidak terduga antar variabel?
- Bagaimana tren selama 5-10 tahun terakhir?
- Apa implikasi kebijakan dari temuan ini?
Deliverable (output wajib)
- EDA notebook lengkap dengan 10+ visualisasi
- Artikel data 500-700 kata dengan 4 grafik pilihan
- Choropleth map Indonesia (jika data geografis)
- Upload ke GitHub dengan README yang menjelaskan proyek
Dataset
Tab Data di Google Sheet pada bagian atas halaman ini sudah berisi 50 baris panel data dummy siap pakai: 10 provinsi x 5 tahun (kolom: Provinsi, Tahun, Angka_Melek_Huruf, Usia_Harapan_Hidup, Pendapatan_Perkapita_Juta, Akses_Internet_Persen). Download tab itu ke CSV (File > Download > Comma Separated Values) kalau mau langsung dipakai di Colab.
Pilih salah satu: (1) Data pendidikan provinsi dari BPS, (2) Dataset "Indonesia Economic Data" dari Kaggle, (3) Data kesehatan Riskesdas, (4) Data kemiskinan per kabupaten dari TNP2K.
Scaffold Kode
Ini kerangka awal. Abbas kembangkan sendiri sesuai kebutuhan analisis.
import pandas as pd
import geopandas as gpd # untuk choropleth
import plotly.express as px
import seaborn as sns
# Load dataset publik
df = pd.read_csv('data_pendidikan_indonesia.csv')
# EDA framework
print(f"Shape: {df.shape}")
print(f"Missing: {df.isnull().sum().sum()}")
print(df.describe())
# Choropleth map Indonesia
fig = px.choropleth(df,
geojson=geojson_indonesia,
locations='kode_provinsi',
color='angka_melek_huruf',
color_continuous_scale='Blues',
title='Angka Melek Huruf per Provinsi 2023'
)
fig.show()
# Korelasi matriks
corr = df[['angka_melek_huruf', 'usia_harapan_hidup',
'pendapatan_per_kapita', 'akses_internet']].corr()
sns.heatmap(corr, annot=True, cmap='RdBu_r')
Ini bukan pengganti scaffold di atas (yang untuk 34 provinsi asli dengan choropleth). Versi ini lebih ringkas, cocok untuk latihan groupby() dan corr() dulu sebelum masuk ke data geografis penuh.
import pandas as pd
df = pd.read_csv("data_publik_indonesia.csv") # export tab "Data" di Sheet ke CSV dulu
# rata-rata angka melek huruf per provinsi, cari yang paling tertinggal
df.groupby("Provinsi")["Angka_Melek_Huruf"].mean().sort_values()
# korelasi akses internet vs pendapatan perkapita
df["Akses_Internet_Persen"].corr(df["Pendapatan_Perkapita_Juta"])
# tren rata-rata usia harapan hidup nasional per tahun
df.groupby("Tahun")["Usia_Harapan_Hidup"].mean().plot(kind="line", title="Tren Usia Harapan Hidup Nasional")
# rata-rata pendapatan perkapita per provinsi, ranking
df.groupby("Provinsi")["Pendapatan_Perkapita_Juta"].mean().rank(ascending=True)
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?