Pembukaan

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 ⚠️.

Perbandingan jumlah rata-rata nasional dan Papua

Perlu dicatat bahwa dalam konteks ini Provinsi Papua dan Papua Barat dijadikan satu.

In [13]:
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'
In [14]:
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()
Out[14]:
groups count
0 1 5254
1 2 214844

Pendidik dan tenaga kependidikan (PTK)

In [24]:
get_mean('ptk')
Out[24]:
groups ptk
0 1 8.618010
1 2 12.505888
In [25]:
get_bar(get_mean('ptk'), 'ptk', 'Rata-rata jumlah PTK')
In [26]:
get_mean('ptk_laki')
Out[26]:
groups ptk_laki
0 1 3.507520
1 2 4.352846
In [27]:
get_bar(get_mean('ptk_laki'), 'ptk_laki', 'Rata-rata jumlah PTK laki-laki')
In [28]:
get_mean('ptk_perempuan')
Out[28]:
groups ptk_perempuan
0 1 5.110490
1 2 8.153043
In [29]:
get_bar(get_mean('ptk_perempuan'), 'ptk_perempuan', 'Rata-rata jumlah PTK perempuan')

Pegawai

In [30]:
get_mean('pegawai')
Out[30]:
groups pegawai
0 1 1.662167
1 2 3.032086
In [31]:
get_bar(get_mean('pegawai'), 'pegawai', 'Rata-rata jumlah pegawai')
In [32]:
get_mean('pegawai_laki')
Out[32]:
groups pegawai_laki
0 1 1.089857
1 2 1.788070
In [33]:
get_bar(get_mean('pegawai_laki'), 'pegawai_laki', 'Rata-rata jumlah pegawai laki')
In [34]:
get_mean('pegawai_perempuan')
Out[34]:
groups pegawai_perempuan
0 1 0.572310
1 2 1.244016
In [35]:
get_bar(get_mean('pegawai_perempuan'), 'pegawai_perempuan', 'Rata rata jumlah pegawai perempuan')

Peserta didik (PD)

In [36]:
get_mean('pd')
Out[36]:
groups pd
0 1 170.388405
1 2 205.402583
In [37]:
get_bar(get_mean('pd'), 'pd', 'Rata-rata jumlah PD')
In [38]:
get_mean('pd_laki')
Out[38]:
groups pd_laki
0 1 92.001781
1 2 106.054270
In [39]:
get_bar(get_mean('pd_laki'), 'pd_laki', 'Rata-rata jumlah PD laki-laki')
In [40]:
get_mean('pd_perempuan')
Out[40]:
groups pd_perempuan
0 1 78.386624
1 2 99.348313
In [41]:
get_bar(get_mean('pd_perempuan'), 'pd_perempuan', 'Rata-rata jumlah PD perempuan')
In [42]:
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}')
In [43]:
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}')

Ruang kelas

In [44]:
get_mean('jml_rk')
Out[44]:
groups jml_rk
0 1 7.357143
1 2 8.595657
In [45]:
get_bar(get_mean('jml_rk'), 'jml_rk', 'Rata-rata ruang kelas')

Laboratorium

In [46]:
get_mean('jml_lab')
Out[46]:
groups jml_lab
0 1 0.499617
1 2 0.723876
In [47]:
get_bar(get_mean('jml_lab'), 'jml_lab', 'Rata-rata jumlah laboratorium')

Perpustakaan

In [48]:
get_mean('jml_perpus')
Out[48]:
groups jml_perpus
0 1 0.531597
1 2 0.809092
In [49]:
get_bar(get_mean('jml_perpus'), 'jml_perpus', 'Rata-rata jumlah perpustakaan')

Kecukupan air

In [50]:
set(df['kecukupan_air'])
Out[50]:
{'Cukup', 'Kurang', 'Tidak Ada', 'Tidak Diketahui'}
In [52]:
is_water_enough = df.groupby(['groups', 'is_water_enough'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
is_water_enough
Out[52]:
groups is_water_enough sekolah_id_enkrip
0 1 False 2286
1 1 True 2968
2 2 False 30264
3 2 True 184580
In [53]:
get_percentage('is_water_enough')
Out[53]:
groups is_water_enough_pct
0 Papua 0.564903
1 Non-Papua 0.859135
In [54]:
get_bar(get_percentage('is_water_enough'), 'is_water_enough_pct', 'Persentase sekolah yang memiliki kecukupan air')

Memproses air

Tidak jelas maksudnya apa. Mohon pencerahannya 🙏🏽

In [55]:
set(df['memproses_air'])
Out[55]:
{'Tidak', 'Ya'}
In [57]:
is_processing_water = df.groupby(['groups', 'is_processing_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
is_processing_water
Out[57]:
groups is_processing_water sekolah_id_enkrip
0 1 False 4410
1 1 True 844
2 2 False 161325
3 2 True 53519
In [58]:
get_percentage('is_processing_water')
Out[58]:
groups is_processing_water_pct
0 Papua 0.160640
1 Non-Papua 0.249106
In [59]:
get_bar(get_percentage('is_processing_water'), 'is_processing_water_pct', 'Persentase sekolah yang memproses air')

Minum siswa

In [60]:
set(df['minum_siswa'])
Out[60]:
{'Disediakan sekolah', 'Tidak disediakan'}
In [62]:
provided_by_school = df.groupby(['groups', 'provided_by_school'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
provided_by_school
Out[62]:
groups provided_by_school sekolah_id_enkrip
0 1 False 4400
1 1 True 854
2 2 False 153904
3 2 True 60940
In [63]:
get_percentage('provided_by_school')
Out[63]:
groups provided_by_school_pct
0 Papua 0.162543
1 Non-Papua 0.283648
In [64]:
get_bar(get_percentage('provided_by_school'), 'provided_by_school_pct', 'Persentase sekolah yang menyediakan air minum kepada murid')

Siswa bawa air

Maksudnya murid bawa air minum kali ya? Mohon pencerahannya. 🙏🏽

In [65]:
set(df['siswa_bawa_air'])
Out[65]:
{'Tidak', 'Ya'}
In [67]:
students_bring_water = df.groupby(['groups', 'students_bring_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
students_bring_water
Out[67]:
groups students_bring_water sekolah_id_enkrip
0 1 False 3650
1 1 True 1604
2 2 False 82062
3 2 True 132782
In [68]:
get_percentage('students_bring_water')
Out[68]:
groups students_bring_water_pct
0 Papua 0.305291
1 Non-Papua 0.618039
In [69]:
get_bar(get_percentage('students_bring_water'), 'students_bring_water_pct', 'Persentase murid yang membawa air')

Toilet siswa berkebutuhan khusus

In [70]:
get_mean('toilet_siswa_kk')
Out[70]:
groups toilet_siswa_kk
0 1 0.398535
1 2 0.609112
In [71]:
get_bar(get_mean('toilet_siswa_kk'), 'toilet_siswa_kk', 'Rata-rata jumlah toilet bagi murid berkebutuhan khusus')

Sumber air

In [72]:
set(df['sumber_air_str'])
Out[72]:
{'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}
In [73]:
get_bar_multiple('sumber_air_str', 'Persentase sumber air sekolah')

Ketersediaan air

In [74]:
set(df['ketersediaan_air'])
Out[74]:
{'Tidak', 'Ya'}
In [76]:
access_to_water = df.groupby(['groups', 'access_to_water'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
access_to_water
Out[76]:
groups access_to_water sekolah_id_enkrip
0 1 False 1766
1 1 True 3488
2 2 False 21580
3 2 True 193264
In [77]:
get_percentage('access_to_water')
Out[77]:
groups access_to_water_pct
0 Papua 0.663875
1 Non-Papua 0.899555
In [78]:
get_bar(get_percentage('access_to_water'), 'access_to_water_pct', 'Persentase sekolah yang memiliki ketersediaan air')

Tipe jamban

In [79]:
set(df['tipe_jamban'])
Out[79]:
{'Cubluk dengan tutup',
 'Cubluk tanpa tutup',
 'Jamban menggantung di atas sungai',
 'Leher angsa (toilet duduk/jongkok)',
 'Tidak tersedia jamban'}
In [80]:
get_bar_multiple('tipe_jamban', 'Persentase tipe jamban sekolah')

Wastafel

In [81]:
get_mean('jml_wastafel')
Out[81]:
groups jml_wastafel
0 1 1.751534
1 2 4.369000
In [82]:
get_bar(get_mean('jml_wastafel'), 'jml_wastafel', 'Rata-rata jumlah wastafel')

Sabun dan air

In [83]:
set(df['a_sabun_air_mengalir'])
Out[83]:
{'Tidak', 'Ya'}
In [85]:
water_and_soap = df.groupby(['groups', 'water_and_soap'])['sekolah_id_enkrip'].agg('count').to_frame().reset_index()
water_and_soap
Out[85]:
groups water_and_soap sekolah_id_enkrip
0 1 False 3682
1 1 True 1572
2 2 False 87442
3 2 True 127402
In [86]:
get_percentage('water_and_soap')
Out[86]:
groups water_and_soap_pct
0 Papua 0.299201
1 Non-Papua 0.592998
In [87]:
get_bar(get_percentage('water_and_soap'), 'water_and_soap_pct', 'Persentase sekolah yang memiliki ketersediaan air dan sabun')

Jamban

In [88]:
get_mean('jml_jamban_digunakan')
Out[88]:
groups jml_jamban_digunakan
0 1 2.745908
1 2 5.000503
In [89]:
get_bar(get_mean('jml_jamban_digunakan'), 'jml_jamban_digunakan', 'Rata-rata jumlah jamban yang digunakan')
In [90]:
get_mean('jml_jamban_tidak_digunakan')
Out[90]:
groups jml_jamban_tidak_digunakan
0 1 1.070042
1 2 0.854429
In [91]:
get_bar(get_mean('jml_jamban_tidak_digunakan'), 'jml_jamban_tidak_digunakan', 'Rata-rata jumlah jamban yang tidak digunakan')

Kesimpulan

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. 🙏🏽