Data Sekolah Di Indonesia

  Umum

Berikut adalah Data Sekolah di Indonesia , Jika anda ingin mendapatkan datanya bisa melalui link berikut https://raw.githubusercontent.com/ullilfahri/OpenData/master/total_data_sekolah.csv 

Pada tulisan ini akan dibuatkan analisa data sekolah di Indonesia. Visualisasi data hingga cluster data sekolah di Indonesia.

[1] Menggunakan paket Python yang diperlukan

import pandas
import numpy
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

In [4]: Membaca data sekolah di Indonesia berdasarkan provinsi , Total sekolah , Total sekolah swasta dan Negeri

file = pandas.read_csv("/home/mfahri/github/OpenData/total_data_sekolah.csv")
print(file)
    No                   Nama Provinsi   N total  S total  Jml total
0    1                 Prov. Jawa Barat    20349     9709      19634
1    2                 Prov. Jawa Timur    19839     8237      19202
2    3                Prov. Jawa Tengah    20145     4786       1893
3    4             Prov. Sumatera Utara    10345     4198       9772
4    5           Prov. Sulawesi Selatan      789     1309       6411
5    6        Prov. Nusa Tenggara Timur     5184     2587       5147
6    7                     Prov. Banten      474     2776       4615
7    8                    Prov. Lampung     5415     1686       4716
8    9           Prov. Sumatera Selatan     5638     1335       4678
9   10           Prov. Kalimantan Barat     5519      895       4405
10  11             Prov. Sumatera Barat     5048      708       4233
11  12                       Prov. Riau      449      121       3709
12  13                       Prov. Aceh     4808      679       3492
13  14        Prov. Nusa Tenggara Barat     3888      997       3224
14  15             Prov. D.K.I. Jakarta     1953     2664       2374
15  16            Prov. Sulawesi Tengah     3693      497       2907
16  17         Prov. Kalimantan Selatan     3519      377       2935
17  18          Prov. Kalimantan Tengah     3421      452       2636
18  19                      Prov. Papua     2354     1326       2586
19  20          Prov. Sulawesi Tenggara     3293      325        232
20  21                      Prov. Jambi     3147      408       2446
21  22             Prov. Sulawesi Utara     2049     1334       2218
22  23                       Prov. Bali     2729      489       2448
23  24           Prov. Kalimantan Timur     2333      702       1894
24  25                     Prov. Maluku     2072      786       1791
25  26            Prov. D.I. Yogyakarta     1773      976       1844
26  27               Prov. Maluku Utara     1676      495       1311
27  28                   Prov. Bengkulu     1871      208       1388
28  29             Prov. Sulawesi Barat      176      192       1329
29  30             Prov. Kepulauan Riau     1051      570        962
30  31                Prov. Papua Barat      101      553       1071
31  32                  Prov. Gorontalo     1341       72        944
32  33  Prov. Kepulauan Bangka Belitung     1005      163        816
33  34           Prov. Kalimantan Utara      648      105        478
34  35                      Luar Negeri      140       64        129

In [5]: Melihat Column – column yang digunakan

dataset = pandas.DataFrame(file)
print(dataset.keys())
Index(['No', 'Nama Provinsi ', 'N total', 'S total', 'Jml total'], dtype='object')

In [6]: Berikut adalah tipe – tipe data yang digunakan.

#tipe data
tipedata = dataset.dtypes
print(tipedata)
No                 int64
Nama Provinsi     object
N total            int64
S total            int64
Jml total          int64
dtype: object

In [7]: Ringkasan data statistik di Indonesia

#ringkasan data
ringkas = dataset.describe()
print(ringkas)
              No       N total      S total     Jml total
count  35.000000     35.000000    35.000000     35.000000
mean   18.000000   4235.285714  1508.028571   3710.571429
std    10.246951   5365.888099  2178.510777   4375.209516
min     1.000000    101.000000    64.000000    129.000000
25%     9.500000   1196.000000   392.500000   1358.500000
50%    18.000000   2354.000000   702.000000   2448.000000
75%    26.500000   4928.000000  1334.500000   4319.000000
max    35.000000  20349.000000  9709.000000  19634.000000

In [8]: Membuat visualisasi Data perbandingan sekolah swasta dan negeri

#visualisasi Data
#perbadingan sekolah swasta dan negri
swasta = dataset.filter(items=["S total"])
totalswasta = swasta.sum()
asx =numpy.array(totalswasta)
#print(totalswasta)

negri = dataset.filter(items=["N total"])
totalnegri = negri.sum()
at = numpy.array(totalnegri)
#print(totalnegri)


gabung = numpy.column_stack((asx,at))

xg = pandas.DataFrame(gabung)
rename = xg.rename(columns={0:"Total Swasta",1:"Total Negri"})
print(rename)
rename.plot(kind="bar")
plt.show()
   Total Swasta  Total Negri 0         52781       148235 

In [9]: 0 adalah sekolah swasta dan 1 adalah sekolah negri

print(xg)
       0       1
0  52781  148235

In [11]: Ranking jumlah sekolah yang ada di Indonesia

framepilihan = dataset.filter(items=['Nama Provinsi ', 'Jml Total', 'N total', 'S total', 'Jml total'])
ts = framepilihan.sort_values(by=["Jml total"])

ts.plot(kind="barh",x="Nama Provinsi ",y="Jml total",title="Perbandingan Jumlah Sekolah Di Indonesia")
plt.show()

In [12]: Ranking Jumlah Sekolah Negeri di Indonesia

rankingsekolahnegeri = framepilihan.sort_values(by="N total")
rankingsekolahnegeri.plot(kind="barh",x="Nama Provinsi ",y="N total",title="Perbandingan Jumlah Sekolah Negri Di Indonesia",colormap="cool")
plt.show()

In [13]: Ranking Jumlah Sekolah Swasta di Indonesia

rankingswasta = framepilihan.sort_values(by="S total")
rankingswasta.plot(kind="barh",x="Nama Provinsi ",y="S total",title="Perbandingan Jumlah Sekolah Swasta Di Indonesia",colormap="cool")
plt.show()

In [14]: Membuat Cluster Data Sekolah

#membuat Pengelompokan Cluster
#hanya ambil tipe data numerik

datanumerik = dataset.filter(items=["N total","S total","Jml total"])
print(datanumerik)
    N total  S total  Jml total
0     20349     9709      19634
1     19839     8237      19202
2     20145     4786       1893
3     10345     4198       9772
4       789     1309       6411
5      5184     2587       5147
6       474     2776       4615
7      5415     1686       4716
8      5638     1335       4678
9      5519      895       4405
10     5048      708       4233
11      449      121       3709
12     4808      679       3492
13     3888      997       3224
14     1953     2664       2374
15     3693      497       2907
16     3519      377       2935
17     3421      452       2636
18     2354     1326       2586
19     3293      325        232
20     3147      408       2446
21     2049     1334       2218
22     2729      489       2448
23     2333      702       1894
24     2072      786       1791
25     1773      976       1844
26     1676      495       1311
27     1871      208       1388
28      176      192       1329
29     1051      570        962
30      101      553       1071
31     1341       72        944
32     1005      163        816
33      648      105        478
34      140       64        129

In [15]: hasil Output Cluster

km = KMeans(n_clusters=2,random_state=0).fit(datanumerik)
label = km.labels_
print(label)
[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

In [17]: Berikut adalah batas cluster 0 dan 1

#Batas Cluster 0 dan 1
center = km.cluster_centers_
print(center)
[[ 2501.83870968   833.90322581  2560.29032258]
 [17669.5         6732.5        12625.25      ]]

In [18]: Menggabungkan column cluster dengan Cluster

gabungkan = numpy.column_stack((dataset,label))
print(gabungkan)
[[1 'Prov. Jawa Barat' 20349 9709 19634 1]
 [2 'Prov. Jawa Timur' 19839 8237 19202 1]
 [3 'Prov. Jawa Tengah' 20145 4786 1893 1]
 [4 'Prov. Sumatera Utara' 10345 4198 9772 1]
 [5 'Prov. Sulawesi Selatan' 789 1309 6411 0]
 [6 'Prov. Nusa Tenggara Timur' 5184 2587 5147 0]
 [7 'Prov. Banten' 474 2776 4615 0]
 [8 'Prov. Lampung' 5415 1686 4716 0]
 [9 'Prov. Sumatera Selatan' 5638 1335 4678 0]
 [10 'Prov. Kalimantan Barat' 5519 895 4405 0]
 [11 'Prov. Sumatera Barat' 5048 708 4233 0]
 [12 'Prov. Riau' 449 121 3709 0]
 [13 'Prov. Aceh' 4808 679 3492 0]
 [14 'Prov. Nusa Tenggara Barat' 3888 997 3224 0]
 [15 'Prov. D.K.I. Jakarta' 1953 2664 2374 0]
 [16 'Prov. Sulawesi Tengah' 3693 497 2907 0]
 [17 'Prov. Kalimantan Selatan' 3519 377 2935 0]
 [18 'Prov. Kalimantan Tengah' 3421 452 2636 0]
 [19 'Prov. Papua' 2354 1326 2586 0]
 [20 'Prov. Sulawesi Tenggara' 3293 325 232 0]
 [21 'Prov. Jambi' 3147 408 2446 0]
 [22 'Prov. Sulawesi Utara' 2049 1334 2218 0]
 [23 'Prov. Bali' 2729 489 2448 0]
 [24 'Prov. Kalimantan Timur' 2333 702 1894 0]
 [25 'Prov. Maluku' 2072 786 1791 0]
 [26 'Prov. D.I. Yogyakarta' 1773 976 1844 0]
 [27 'Prov. Maluku Utara' 1676 495 1311 0]
 [28 'Prov. Bengkulu' 1871 208 1388 0]
 [29 'Prov. Sulawesi Barat' 176 192 1329 0]
 [30 'Prov. Kepulauan Riau' 1051 570 962 0]
 [31 'Prov. Papua Barat' 101 553 1071 0]
 [32 'Prov. Gorontalo' 1341 72 944 0]
 [33 'Prov. Kepulauan Bangka Belitung' 1005 163 816 0]
 [34 'Prov. Kalimantan Utara' 648 105 478 0]
 [35 'Luar Negeri' 140 64 129 0]]

In [19]: Melihat Data Cluster Di Indonesia

framegabun = pandas.DataFrame(gabungkan)
replacename = framegabun.rename(columns={0:"nomor",1:"Provinsi",2:"Total Sekolah",3:"Sekolah Swasta",4:"Sekolah Negri",5:"Cluster"})
print(replacename)
   nomor                         Provinsi Total Sekolah Sekolah Swasta  \
0      1                 Prov. Jawa Barat         20349           9709   
1      2                 Prov. Jawa Timur         19839           8237   
2      3                Prov. Jawa Tengah         20145           4786   
3      4             Prov. Sumatera Utara         10345           4198   
4      5           Prov. Sulawesi Selatan           789           1309   
5      6        Prov. Nusa Tenggara Timur          5184           2587   
6      7                     Prov. Banten           474           2776   
7      8                    Prov. Lampung          5415           1686   
8      9           Prov. Sumatera Selatan          5638           1335   
9     10           Prov. Kalimantan Barat          5519            895   
10    11             Prov. Sumatera Barat          5048            708   
11    12                       Prov. Riau           449            121   
12    13                       Prov. Aceh          4808            679   
13    14        Prov. Nusa Tenggara Barat          3888            997   
14    15             Prov. D.K.I. Jakarta          1953           2664   
15    16            Prov. Sulawesi Tengah          3693            497   
16    17         Prov. Kalimantan Selatan          3519            377   
17    18          Prov. Kalimantan Tengah          3421            452   
18    19                      Prov. Papua          2354           1326   
19    20          Prov. Sulawesi Tenggara          3293            325   
20    21                      Prov. Jambi          3147            408   
21    22             Prov. Sulawesi Utara          2049           1334   
22    23                       Prov. Bali          2729            489   
23    24           Prov. Kalimantan Timur          2333            702   
24    25                     Prov. Maluku          2072            786   
25    26            Prov. D.I. Yogyakarta          1773            976   
26    27               Prov. Maluku Utara          1676            495   
27    28                   Prov. Bengkulu          1871            208   
28    29             Prov. Sulawesi Barat           176            192   
29    30             Prov. Kepulauan Riau          1051            570   
30    31                Prov. Papua Barat           101            553   
31    32                  Prov. Gorontalo          1341             72   
32    33  Prov. Kepulauan Bangka Belitung          1005            163   
33    34           Prov. Kalimantan Utara           648            105   
34    35                      Luar Negeri           140             64   

   Sekolah Negri Cluster  
0          19634       1  
1          19202       1  
2           1893       1  
3           9772       1  
4           6411       0  
5           5147       0  
6           4615       0  
7           4716       0  
8           4678       0  
9           4405       0  
10          4233       0  
11          3709       0  
12          3492       0  
13          3224       0  
14          2374       0  
15          2907       0  
16          2935       0  
17          2636       0  
18          2586       0  
19           232       0  
20          2446       0  
21          2218       0  
22          2448       0  
23          1894       0  
24          1791       0  
25          1844       0  
26          1311       0  
27          1388       0  
28          1329       0  
29           962       0  
30          1071       0  
31           944       0  
32           816       0  
33           478       0  
34           129       0  

In [20]: Berikut adalah sekolah dengan Cluster 1

clu0 =  replacename.loc[replacename["Cluster"] == 1 ]
print(clu0)
  nomor              Provinsi Total Sekolah Sekolah Swasta Sekolah Negri  \
0     1      Prov. Jawa Barat         20349           9709         19634   
1     2      Prov. Jawa Timur         19839           8237         19202   
2     3     Prov. Jawa Tengah         20145           4786          1893   
3     4  Prov. Sumatera Utara         10345           4198          9772   

  Cluster  
0       1  
1       1  
2       1  
3       1  

In [21]: Berikut adalah Cluster 0

clu1 =  replacename.loc[replacename["Cluster"] == 0 ]
print(clu1)
   nomor                         Provinsi Total Sekolah Sekolah Swasta  \
4      5           Prov. Sulawesi Selatan           789           1309   
5      6        Prov. Nusa Tenggara Timur          5184           2587   
6      7                     Prov. Banten           474           2776   
7      8                    Prov. Lampung          5415           1686   
8      9           Prov. Sumatera Selatan          5638           1335   
9     10           Prov. Kalimantan Barat          5519            895   
10    11             Prov. Sumatera Barat          5048            708   
11    12                       Prov. Riau           449            121   
12    13                       Prov. Aceh          4808            679   
13    14        Prov. Nusa Tenggara Barat          3888            997   
14    15             Prov. D.K.I. Jakarta          1953           2664   
15    16            Prov. Sulawesi Tengah          3693            497   
16    17         Prov. Kalimantan Selatan          3519            377   
17    18          Prov. Kalimantan Tengah          3421            452   
18    19                      Prov. Papua          2354           1326   
19    20          Prov. Sulawesi Tenggara          3293            325   
20    21                      Prov. Jambi          3147            408   
21    22             Prov. Sulawesi Utara          2049           1334   
22    23                       Prov. Bali          2729            489   
23    24           Prov. Kalimantan Timur          2333            702   
24    25                     Prov. Maluku          2072            786   
25    26            Prov. D.I. Yogyakarta          1773            976   
26    27               Prov. Maluku Utara          1676            495   
27    28                   Prov. Bengkulu          1871            208   
28    29             Prov. Sulawesi Barat           176            192   
29    30             Prov. Kepulauan Riau          1051            570   
30    31                Prov. Papua Barat           101            553   
31    32                  Prov. Gorontalo          1341             72   
32    33  Prov. Kepulauan Bangka Belitung          1005            163   
33    34           Prov. Kalimantan Utara           648            105   
34    35                      Luar Negeri           140             64   

   Sekolah Negri Cluster  
4           6411       0  
5           5147       0  
6           4615       0  
7           4716       0  
8           4678       0  
9           4405       0  
10          4233       0  
11          3709       0  
12          3492       0  
13          3224       0  
14          2374       0  
15          2907       0  
16          2935       0  
17          2636       0  
18          2586       0  
19           232       0  
20          2446       0  
21          2218       0  
22          2448       0  
23          1894       0  
24          1791       0  
25          1844       0  
26          1311       0  
27          1388       0  
28          1329       0  
29           962       0  
30          1071       0  
31           944       0  
32           816       0  
33           478       0  
34           129       0  

Kesimpulan

  1. Bahasa Pemrograman yang digunakan untuk analisa data sekolah di indonesia menggunakan python
  2. File Data Sekolah Menggunakan CSV terdapat 35 Baris Data
  3. Data sekolah ini meliputi Nama provinsi, Total Sekolah Negri , Total Sekolah Swasta dan Total Sekolahan per Provinsi
  4. Sebagai Objek adalah provinsi Dengan nilai angka Total Sekolah di Indonesia , Sekolah Swasta dan Negeri
  5. Visualisasi data menunjukan sekolah negeri lebih banyak di bandingkan dengan sekolah swasta
  6. Dengan Nilai sekolah swasta : 52.781 Sekolah dan Sekolah Negri 148.235 Sekolah
  7. Jumlah Sekolah terbanyak di Indonesia adalah Provinsi Jawa Barat
  8. Sekolah negri terbanyak terdapat di Provinsi Jawa Barat
  9. Sekolah Swasta terbanyak terdapat di Provinsi Jawa Barat
  10. Data Sekolah dijadikan dua kelompok wilayah
  11. Kelompok wilayah cluster 0 merupakan nilai total sekolah, sekolah swasta dan negri yang sedikit dibandingkan dengan wilayah cluster 1
  12. Kelompok wilayah cluster 1 merupakan total sekolah , sekolah swasta dan negeri yang jumlahnya lebih dominan dibandingkan wilayah cluster 0
  13. Wilayah yang termasuk dengan cluster 0 dan 1 dapat anda lihat pada output 20 dan 21.

LEAVE A COMMENT