Assalamualaikum warahmatullahi wabarakatuh. Mohon ijin pimpinan 🙏🏽 . Dengan ini saya sampaikan data mengenai persekolahan di Indonesia, wabil khusus perbandingan antara kondisi nasional dan Papua (Provinsi Papua dan Provinsi Papua Barat). Data diperoleh dari situs Data Pokok Pendidikan Dasar dan Menengah.
Maksud dan tujuan dari ini adalah untuk belajar apa yang sekiranya terjadi di Papua (meskipun hanya secuil), setidaknya dari segi pendidikan. Kode, slide presentasi, dan notebook dapat ditengok di https://github.com/ledwindra/pendidikan-papua. Silakan gunakan sesuka hati, klik Star ⭐️
jika suka dengan projek ini, atau lempar kritik maupun caciannya di Issues ⚠️
.
Perlu dicatat bahwa dalam konteks ini Provinsi Papua dan Papua Barat dijadikan satu.
def recode_province(x):
if (x['induk_provinsi'] == 'Prov. Papua') | (x['induk_provinsi'] == 'Prov. Papua Barat'):
return 'Papua or West Papua'
else:
return 'Non-Papua'
df['groups'] = df.apply(recode_province, axis=1)
groups_num = {'Papua or West Papua': 1, 'Non-Papua': 2}
df = df.replace({'groups': groups_num})
pd.DataFrame(df.groupby('groups').size(), columns=['count']).reset_index()
groups | count | |
---|---|---|
0 | 1 | 5254 |
1 | 2 | 214844 |
get_mean('ptk')
groups | ptk | |
---|---|---|
0 | 1 | 8.618010 |
1 | 2 | 12.505888 |
get_bar(get_mean('ptk'), 'ptk', 'Rata-rata jumlah PTK')
get_mean('ptk_laki')
groups | ptk_laki | |
---|---|---|
0 | 1 | 3.507520 |
1 | 2 | 4.352846 |
get_bar(get_mean('ptk_laki'), 'ptk_laki', 'Rata-rata jumlah PTK laki-laki')
get_mean('ptk_perempuan')
groups | ptk_perempuan | |
---|---|---|
0 | 1 | 5.110490 |
1 | 2 | 8.153043 |
get_bar(get_mean('ptk_perempuan'), 'ptk_perempuan', 'Rata-rata jumlah PTK perempuan')
get_mean('pegawai')
groups | pegawai | |
---|---|---|
0 | 1 | 1.662167 |
1 | 2 | 3.032086 |
get_bar(get_mean('pegawai'), 'pegawai', 'Rata-rata jumlah pegawai')
get_mean('pegawai_laki')
groups | pegawai_laki | |
---|---|---|
0 | 1 | 1.089857 |
1 | 2 | 1.788070 |
get_bar(get_mean('pegawai_laki'), 'pegawai_laki', 'Rata-rata jumlah pegawai laki')
get_mean('pegawai_perempuan')
groups | pegawai_perempuan | |
---|---|---|
0 | 1 | 0.572310 |
1 | 2 | 1.244016 |
get_bar(get_mean('pegawai_perempuan'), 'pegawai_perempuan', 'Rata rata jumlah pegawai perempuan')
get_mean('pd')
groups | pd | |
---|---|---|
0 | 1 | 170.388405 |
1 | 2 | 205.402583 |
get_bar(get_mean('pd'), 'pd', 'Rata-rata jumlah PD')
get_mean('pd_laki')
groups | pd_laki | |
---|---|---|
0 | 1 | 92.001781 |
1 | 2 | 106.054270 |
get_bar(get_mean('pd_laki'), 'pd_laki', 'Rata-rata jumlah PD laki-laki')
get_mean('pd_perempuan')
groups | pd_perempuan | |
---|---|---|
0 | 1 | 78.386624 |
1 | 2 | 99.348313 |
get_bar(get_mean('pd_perempuan'), 'pd_perempuan', 'Rata-rata jumlah PD perempuan')
for i in range(1, 13):
pd_laki = get_mean(f'pd_kelas_{i}_laki')
get_bar(pd_laki, f'pd_kelas_{i}_laki', f'Jumlah PD laki-laki kelas {i}')
for i in range(1, 13):
pd_perempuan = get_mean(f'pd_kelas_{i}_perempuan')
get_bar(pd_perempuan, f'pd_kelas_{i}_perempuan', f'Rata-rata jumlah PD perempuan kelas {i}')
get_mean('jml_rk')
groups | jml_rk | |
---|---|---|
0 | 1 | 7.357143 |
1 | 2 | 8.595657 |
get_bar(get_mean('jml_rk'), 'jml_rk', 'Rata-rata ruang kelas')
get_mean('jml_lab')
groups | jml_lab | |
---|---|---|
0 | 1 | 0.499617 |
1 | 2 | 0.723876 |
get_bar(get_mean('jml_lab'), 'jml_lab', 'Rata-rata jumlah laboratorium')
get_mean('jml_perpus')
groups | jml_perpus | |
---|---|---|
0 | 1 | 0.531597 |
1 | 2 | 0.809092 |
get_bar(get_mean('jml_perpus'), 'jml_perpus', 'Rata-rata jumlah perpustakaan')
set(df['kecukupan_air'])
{'Cukup', 'Kurang', 'Tidak Ada', 'Tidak Diketahui'}
is_water_enough = df.groupby(['groups', 'is_water_enough'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
is_water_enough
groups | is_water_enough | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 2286 |
1 | 1 | True | 2968 |
2 | 2 | False | 30264 |
3 | 2 | True | 184580 |
get_percentage('is_water_enough')
groups | is_water_enough_pct | |
---|---|---|
0 | Papua | 0.564903 |
1 | Non-Papua | 0.859135 |
get_bar(get_percentage('is_water_enough'), 'is_water_enough_pct', 'Persentase sekolah yang memiliki kecukupan air')
Tidak jelas maksudnya apa. Mohon pencerahannya 🙏🏽
set(df['memproses_air'])
{'Tidak', 'Ya'}
is_processing_water = df.groupby(['groups', 'is_processing_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
is_processing_water
groups | is_processing_water | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 4410 |
1 | 1 | True | 844 |
2 | 2 | False | 161325 |
3 | 2 | True | 53519 |
get_percentage('is_processing_water')
groups | is_processing_water_pct | |
---|---|---|
0 | Papua | 0.160640 |
1 | Non-Papua | 0.249106 |
get_bar(get_percentage('is_processing_water'), 'is_processing_water_pct', 'Persentase sekolah yang memproses air')
set(df['minum_siswa'])
{'Disediakan sekolah', 'Tidak disediakan'}
provided_by_school = df.groupby(['groups', 'provided_by_school'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
provided_by_school
groups | provided_by_school | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 4400 |
1 | 1 | True | 854 |
2 | 2 | False | 153904 |
3 | 2 | True | 60940 |
get_percentage('provided_by_school')
groups | provided_by_school_pct | |
---|---|---|
0 | Papua | 0.162543 |
1 | Non-Papua | 0.283648 |
get_bar(get_percentage('provided_by_school'), 'provided_by_school_pct', 'Persentase sekolah yang menyediakan air minum kepada murid')
Maksudnya murid bawa air minum kali ya? Mohon pencerahannya. 🙏🏽
set(df['siswa_bawa_air'])
{'Tidak', 'Ya'}
students_bring_water = df.groupby(['groups', 'students_bring_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
students_bring_water
groups | students_bring_water | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 3650 |
1 | 1 | True | 1604 |
2 | 2 | False | 82062 |
3 | 2 | True | 132782 |
get_percentage('students_bring_water')
groups | students_bring_water_pct | |
---|---|---|
0 | Papua | 0.305291 |
1 | Non-Papua | 0.618039 |
get_bar(get_percentage('students_bring_water'), 'students_bring_water_pct', 'Persentase murid yang membawa air')
get_mean('toilet_siswa_kk')
groups | toilet_siswa_kk | |
---|---|---|
0 | 1 | 0.398535 |
1 | 2 | 0.609112 |
get_bar(get_mean('toilet_siswa_kk'), 'toilet_siswa_kk', 'Rata-rata jumlah toilet bagi murid berkebutuhan khusus')
set(df['sumber_air_str'])
{'Air hujan', 'Air kemasan', 'Air sungai', 'Lainnya', 'Ledeng/PAM', 'Mata air', 'Mata air tdk terlindungi', 'Mata air terlindungi', 'Pompa', 'Sumur', 'Sumur terlindungi', 'Sumur tidak terlindungi', nan}
get_bar_multiple('sumber_air_str', 'Persentase sumber air sekolah')
set(df['ketersediaan_air'])
{'Tidak', 'Ya'}
access_to_water = df.groupby(['groups', 'access_to_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
access_to_water
groups | access_to_water | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 1766 |
1 | 1 | True | 3488 |
2 | 2 | False | 21580 |
3 | 2 | True | 193264 |
get_percentage('access_to_water')
groups | access_to_water_pct | |
---|---|---|
0 | Papua | 0.663875 |
1 | Non-Papua | 0.899555 |
get_bar(get_percentage('access_to_water'), 'access_to_water_pct', 'Persentase sekolah yang memiliki ketersediaan air')
set(df['tipe_jamban'])
{'Cubluk dengan tutup', 'Cubluk tanpa tutup', 'Jamban menggantung di atas sungai', 'Leher angsa (toilet duduk/jongkok)', 'Tidak tersedia jamban'}
get_bar_multiple('tipe_jamban', 'Persentase tipe jamban sekolah')
get_mean('jml_wastafel')
groups | jml_wastafel | |
---|---|---|
0 | 1 | 1.751534 |
1 | 2 | 4.369000 |
get_bar(get_mean('jml_wastafel'), 'jml_wastafel', 'Rata-rata jumlah wastafel')
set(df['a_sabun_air_mengalir'])
{'Tidak', 'Ya'}
water_and_soap = df.groupby(['groups', 'water_and_soap'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
water_and_soap
groups | water_and_soap | sekolah_id_enkrip | |
---|---|---|---|
0 | 1 | False | 3682 |
1 | 1 | True | 1572 |
2 | 2 | False | 87442 |
3 | 2 | True | 127402 |
get_percentage('water_and_soap')
groups | water_and_soap_pct | |
---|---|---|
0 | Papua | 0.299201 |
1 | Non-Papua | 0.592998 |
get_bar(get_percentage('water_and_soap'), 'water_and_soap_pct', 'Persentase sekolah yang memiliki ketersediaan air dan sabun')
get_mean('jml_jamban_digunakan')
groups | jml_jamban_digunakan | |
---|---|---|
0 | 1 | 2.745908 |
1 | 2 | 5.000503 |
get_bar(get_mean('jml_jamban_digunakan'), 'jml_jamban_digunakan', 'Rata-rata jumlah jamban yang digunakan')
get_mean('jml_jamban_tidak_digunakan')
groups | jml_jamban_tidak_digunakan | |
---|---|---|
0 | 1 | 1.070042 |
1 | 2 | 0.854429 |
get_bar(get_mean('jml_jamban_tidak_digunakan'), 'jml_jamban_tidak_digunakan', 'Rata-rata jumlah jamban yang tidak digunakan')
Seperti yang sudah kita lihat, kondisi persekolahan di Papua dan Papua Barat jelas tertinggal jika dibandingkan dengan nasional dari beberapa aspek. Semoga dengan ini saya sebagai masyarakat kelas menengah ngehe dapat mengakui privilese hidup yang dikaruniai Tuhan YME. Demikian saya ucapkan wabillahi taufiq wal hidayah, wassalamualikum warahmatullahi wabarakatuh. 🙏🏽