Visualisasi Jumlah Pendaftar Sekolah Kedinasan dengan Python |
Sekolah Kedinasan merupakan salah satu jenis kampus tujuan para lulusan SMA, SMK, MA, atau sederajat. Sekolah Kedinasan akhir-akhir ini kembali banyak dicari karena jenis menyediakan beragam fasilitas yang moderen dan menjanjikan masa depan (prospek) yang cerah, yaitu sebagai Pegawai Negeri Sipil (PNS).
Tahun ini, terdapat 8 jenis Sekolah Kedinasan yang membuka pendaftaran secara resmi melalui situs dikdin.bkn.go.id, yaitu Politeknik Imigrasi (Poltekim) dan Politeknik Pemasyarakatan (Poltekip), Institut Pemerintahan Dalam Negeri (IPDN), Sekolah Tinggi Intelijen Negara (STIN), Politeknik Siber dan Sandi Negara (Poltek SSN), Politeknik Keuangan Negara Sekolah Tinggi Akuntansi Negara (PKN STAN), Politeknik Statistika Sekolah Tinggi Ilmu Statistik (Polstat STIS), Sekolah Tinggi Meteorologi Klimatologi dan Geofisika (STMKG), serta sejumlah Sekolah Kedinasan Kementerian Perhubungan (Kemenhub).
Setiap tahun, ratusan ribu lulusan SMA/SMK/MA/Sederajat berbondong-bondong untuk bisa lolos seleksi masuk Sekolah Kedinasan meskipun dibatasi oleh kuota pendaftar. Tahun 2023 ini, kuota untuk Sekolah Kedinasan di bawah Kemenkumham (Poltekip dan Poltekim) sebanyak 525 orang, STMKG sebanyak 80 orang, PKN STAN sebanyak 1.100 orang, Poltek SSN sebanyak 125 orang, STIN sebanyak 400 orang, dan Polstat STIS sebanyak 500.
Sejauh ini, Polstat STIS masih menempati posisi ketiga Sekolah Kedinasan terfavorit setiap tahunnya. Tahun 2022 saja, jumlah pendaftar Polstat STIS mencapai 120.673 orang se-Indonesia. Padahal, kuota untuk tahun 2022 juga sebanyak 500 orang, atau sedikit menurun dibanding tahun 2021 yang mencapai 600 orang.
Lantas, seberapa besar peluang untuk lulus Sekolah Kedinasan Polstat STIS tahun 2023 dibanding Sekolah Kedinasan lainnya? Pada praktikum kali ini, kita menggunakan data hasil web scraping menggunakan Python untuk memperoleh data jumlah pendaftar Sekolah Kedinasan tahun 2022, yaitu melalui situs medcom berikut:
Laman situs medcom sebagai target web scraping dengan Python |
Data yang diperoleh dari web scraping ternyata masih tidak terstruktur karena memang bercampur antara teks dan angka. Untuk itu, untuk visualisasinya, kita lakukan sedikit ekstraksi data menjadi lebih terstruktur dengan langkah berikut:
#Import dan aktivasi package
import pandas as pd
import requests
from scrapy.http import TextResponse
C:\Users\56848\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
#Deklarasi alamat situs
url = "https://www.medcom.id/pendidikan/news-pendidikan/0KvoQRYN-ditutup-besok-jumlah-pendaftar-sekolah-kedinasan-capai-120-673-orang"
res = requests.get(url)
respon = TextResponse(res.url, body = res.text, encoding = "utf-8")
#Melihat status website
kedinasan = respon.css("#articleBody")
kedinasan
[<Selector xpath="descendant-or-self::*[@id = 'articleBody']" data='<div class="text" itemprop="articleBo...'>]
#Scrape data
df = respon.css("ol li::text").getall()
df
['Politeknik Keuangan Negara STAN 22.895 orang', 'Institut Pemerintahan Dalam Negeri 22.564 orang', 'Politeknik Statistika STIS 16.089 orang', 'Sekolah Tinggi Intelijen Negara 9.100 orang', 'Sekolah Tinggi Meteorologi Klimatologi dan Geofisika 8.013 orang', 'Politeknik Transportasi Darat Indonesia\xa0 PTDI STTD Bekasi 7.733 orang', 'Politeknik Imigrasi (Poltekim) Politeknik Pemasyarakatan (Poltekip) 7.458 orang', 'Politeknik Perkeretaapian Indonesia (PPI) Madiun 7.211 orang', 'Poltikenik Keselamatan Transportasi Jalan (PKTJ) Tegal 2.778 orang', 'Politeknik Penerbangan Indonesia (PPI) Curug 1.787 orang', 'Politeknik Transportasi Darat (Poltrada) Bali 1.509 orang', 'Politeknik Transportasi Sungai dan Penyeberangan (Poltrans-SDP) Palembang 1.502 orang', 'Politeknik Penerbangan (Poltekbang) Surabaya 1.347 orang', 'Politeknik Siber dan Sandi Negara 1.341 orang', 'Politeknik Ilmu Pelayaran (PIP) Semarang 1.303 orang', 'Politeknik Ilmu Pelayaran (PIP) Makassar 1.161 orang', 'Sekolah Tinggi Ilmu Pelayaran (STIP) Jakarta 886 orang', 'Politeknik Penerbangan (Poltekbang) Palembang 886 orang', 'Politeknik Pelayaran (Poltekpel) Surabaya 827 orang', 'Politeknik Penerbangan (Poltekbang) Makassar 807 orang', 'Politeknik Pelayaran (Poltekpel) Sumatra Barat 768 orang', 'Politeknik Penerbangan (Poltekbang) Medan 725 orang', 'Politeknik Penerbangan (Poltekbang) Jayapura 508 orang', 'Politeknik Pelayaran (Poltekpel) Malahayati Aceh 372 orang', 'Akademi Penerbangan Indonesia (API) Banyuwangi 284 orang', 'Politeknik Pelayaran (Poltekpel) Banten 152 orang', 'Politeknik Pelayaran (Poltekpel) Sulawesi Utara 154 orang', 'Politeknik Pelayaran (Poltekpel) Barombong 134 orang', 'Politeknik Pelayaran (Poltekpel) Sorong 130 orang', 'Politeknik Ilmu Pemasyarakatan (Poltekip) Formasi Papua 129 orang', 'Politeknik Imigrasi (Poltekim) Formasi Papua 111 orang', 'Politeknik Ilmu Pemasyarakatan (Poltekip) Formasi Papua Barat 66 orang', 'Politeknik Imigrasi (Poltekim) Formasi Papua Barat 49 orang']
#Mengubah menjadi dataframe
kedinasan = pd.DataFrame({'Sekolah_Kedinasan':df})
kedinasan
Sekolah_Kedinasan | |
---|---|
0 | Politeknik Keuangan Negara STAN 22.895 orang |
1 | Institut Pemerintahan Dalam Negeri 22.564 orang |
2 | Politeknik Statistika STIS 16.089 orang |
3 | Sekolah Tinggi Intelijen Negara 9.100 orang |
4 | Sekolah Tinggi Meteorologi Klimatologi dan Geo... |
5 | Politeknik Transportasi Darat Indonesia PTDI ... |
6 | Politeknik Imigrasi (Poltekim) Politeknik Pema... |
7 | Politeknik Perkeretaapian Indonesia (PPI) Madi... |
8 | Poltikenik Keselamatan Transportasi Jalan (PKT... |
9 | Politeknik Penerbangan Indonesia (PPI) Curug 1... |
10 | Politeknik Transportasi Darat (Poltrada) Bali ... |
11 | Politeknik Transportasi Sungai dan Penyeberang... |
12 | Politeknik Penerbangan (Poltekbang) Surabaya 1... |
13 | Politeknik Siber dan Sandi Negara 1.341 orang |
14 | Politeknik Ilmu Pelayaran (PIP) Semarang 1.303... |
15 | Politeknik Ilmu Pelayaran (PIP) Makassar 1.161... |
16 | Sekolah Tinggi Ilmu Pelayaran (STIP) Jakarta 8... |
17 | Politeknik Penerbangan (Poltekbang) Palembang ... |
18 | Politeknik Pelayaran (Poltekpel) Surabaya 827 ... |
19 | Politeknik Penerbangan (Poltekbang) Makassar 8... |
20 | Politeknik Pelayaran (Poltekpel) Sumatra Barat... |
21 | Politeknik Penerbangan (Poltekbang) Medan 725 ... |
22 | Politeknik Penerbangan (Poltekbang) Jayapura 5... |
23 | Politeknik Pelayaran (Poltekpel) Malahayati Ac... |
24 | Akademi Penerbangan Indonesia (API) Banyuwangi... |
25 | Politeknik Pelayaran (Poltekpel) Banten 152 orang |
26 | Politeknik Pelayaran (Poltekpel) Sulawesi Utar... |
27 | Politeknik Pelayaran (Poltekpel) Barombong 134... |
28 | Politeknik Pelayaran (Poltekpel) Sorong 130 orang |
29 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... |
30 | Politeknik Imigrasi (Poltekim) Formasi Papua 1... |
31 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... |
32 | Politeknik Imigrasi (Poltekim) Formasi Papua B... |
#Ekstraksi jumlah pendaftar sekolah kedinasan 2022
kedinasan['Jumlah_Pendaftar'] = kedinasan['Sekolah_Kedinasan'].astype('str').str.extractall('(\d+)').unstack().fillna('').sum(axis=1).astype(int)
kedinasan
Sekolah_Kedinasan | Jumlah_Pendaftar | |
---|---|---|
0 | Politeknik Keuangan Negara STAN 22.895 orang | 22895 |
1 | Institut Pemerintahan Dalam Negeri 22.564 orang | 22564 |
2 | Politeknik Statistika STIS 16.089 orang | 16089 |
3 | Sekolah Tinggi Intelijen Negara 9.100 orang | 9100 |
4 | Sekolah Tinggi Meteorologi Klimatologi dan Geo... | 8013 |
5 | Politeknik Transportasi Darat Indonesia PTDI ... | 7733 |
6 | Politeknik Imigrasi (Poltekim) Politeknik Pema... | 7458 |
7 | Politeknik Perkeretaapian Indonesia (PPI) Madi... | 7211 |
8 | Poltikenik Keselamatan Transportasi Jalan (PKT... | 2778 |
9 | Politeknik Penerbangan Indonesia (PPI) Curug 1... | 1787 |
10 | Politeknik Transportasi Darat (Poltrada) Bali ... | 1509 |
11 | Politeknik Transportasi Sungai dan Penyeberang... | 1502 |
12 | Politeknik Penerbangan (Poltekbang) Surabaya 1... | 1347 |
13 | Politeknik Siber dan Sandi Negara 1.341 orang | 1341 |
14 | Politeknik Ilmu Pelayaran (PIP) Semarang 1.303... | 1303 |
15 | Politeknik Ilmu Pelayaran (PIP) Makassar 1.161... | 1161 |
16 | Sekolah Tinggi Ilmu Pelayaran (STIP) Jakarta 8... | 886 |
17 | Politeknik Penerbangan (Poltekbang) Palembang ... | 886 |
18 | Politeknik Pelayaran (Poltekpel) Surabaya 827 ... | 827 |
19 | Politeknik Penerbangan (Poltekbang) Makassar 8... | 807 |
20 | Politeknik Pelayaran (Poltekpel) Sumatra Barat... | 768 |
21 | Politeknik Penerbangan (Poltekbang) Medan 725 ... | 725 |
22 | Politeknik Penerbangan (Poltekbang) Jayapura 5... | 508 |
23 | Politeknik Pelayaran (Poltekpel) Malahayati Ac... | 372 |
24 | Akademi Penerbangan Indonesia (API) Banyuwangi... | 284 |
25 | Politeknik Pelayaran (Poltekpel) Banten 152 orang | 152 |
26 | Politeknik Pelayaran (Poltekpel) Sulawesi Utar... | 154 |
27 | Politeknik Pelayaran (Poltekpel) Barombong 134... | 134 |
28 | Politeknik Pelayaran (Poltekpel) Sorong 130 orang | 130 |
29 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... | 129 |
30 | Politeknik Imigrasi (Poltekim) Formasi Papua 1... | 111 |
31 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... | 66 |
32 | Politeknik Imigrasi (Poltekim) Formasi Papua B... | 49 |
#Ekstraksi jumlah pendaftar sekolah kedinasan 2022
kedinasan['Nama'] = kedinasan['Sekolah_Kedinasan'].astype('str').replace('(\d)| orang','',regex=True)
kedinasan['Nama'] = kedinasan['Nama'].astype('str').replace('[.]','',regex=True)
kedinasan
Sekolah_Kedinasan | Jumlah_Pendaftar | Nama | |
---|---|---|---|
0 | Politeknik Keuangan Negara STAN 22.895 orang | 22895 | Politeknik Keuangan Negara STAN |
1 | Institut Pemerintahan Dalam Negeri 22.564 orang | 22564 | Institut Pemerintahan Dalam Negeri |
2 | Politeknik Statistika STIS 16.089 orang | 16089 | Politeknik Statistika STIS |
3 | Sekolah Tinggi Intelijen Negara 9.100 orang | 9100 | Sekolah Tinggi Intelijen Negara |
4 | Sekolah Tinggi Meteorologi Klimatologi dan Geo... | 8013 | Sekolah Tinggi Meteorologi Klimatologi dan Geo... |
5 | Politeknik Transportasi Darat Indonesia PTDI ... | 7733 | Politeknik Transportasi Darat Indonesia PTDI ... |
6 | Politeknik Imigrasi (Poltekim) Politeknik Pema... | 7458 | Politeknik Imigrasi (Poltekim) Politeknik Pema... |
7 | Politeknik Perkeretaapian Indonesia (PPI) Madi... | 7211 | Politeknik Perkeretaapian Indonesia (PPI) Madiun |
8 | Poltikenik Keselamatan Transportasi Jalan (PKT... | 2778 | Poltikenik Keselamatan Transportasi Jalan (PKT... |
9 | Politeknik Penerbangan Indonesia (PPI) Curug 1... | 1787 | Politeknik Penerbangan Indonesia (PPI) Curug |
10 | Politeknik Transportasi Darat (Poltrada) Bali ... | 1509 | Politeknik Transportasi Darat (Poltrada) Bali |
11 | Politeknik Transportasi Sungai dan Penyeberang... | 1502 | Politeknik Transportasi Sungai dan Penyeberang... |
12 | Politeknik Penerbangan (Poltekbang) Surabaya 1... | 1347 | Politeknik Penerbangan (Poltekbang) Surabaya |
13 | Politeknik Siber dan Sandi Negara 1.341 orang | 1341 | Politeknik Siber dan Sandi Negara |
14 | Politeknik Ilmu Pelayaran (PIP) Semarang 1.303... | 1303 | Politeknik Ilmu Pelayaran (PIP) Semarang |
15 | Politeknik Ilmu Pelayaran (PIP) Makassar 1.161... | 1161 | Politeknik Ilmu Pelayaran (PIP) Makassar |
16 | Sekolah Tinggi Ilmu Pelayaran (STIP) Jakarta 8... | 886 | Sekolah Tinggi Ilmu Pelayaran (STIP) Jakarta |
17 | Politeknik Penerbangan (Poltekbang) Palembang ... | 886 | Politeknik Penerbangan (Poltekbang) Palembang |
18 | Politeknik Pelayaran (Poltekpel) Surabaya 827 ... | 827 | Politeknik Pelayaran (Poltekpel) Surabaya |
19 | Politeknik Penerbangan (Poltekbang) Makassar 8... | 807 | Politeknik Penerbangan (Poltekbang) Makassar |
20 | Politeknik Pelayaran (Poltekpel) Sumatra Barat... | 768 | Politeknik Pelayaran (Poltekpel) Sumatra Barat |
21 | Politeknik Penerbangan (Poltekbang) Medan 725 ... | 725 | Politeknik Penerbangan (Poltekbang) Medan |
22 | Politeknik Penerbangan (Poltekbang) Jayapura 5... | 508 | Politeknik Penerbangan (Poltekbang) Jayapura |
23 | Politeknik Pelayaran (Poltekpel) Malahayati Ac... | 372 | Politeknik Pelayaran (Poltekpel) Malahayati Aceh |
24 | Akademi Penerbangan Indonesia (API) Banyuwangi... | 284 | Akademi Penerbangan Indonesia (API) Banyuwangi |
25 | Politeknik Pelayaran (Poltekpel) Banten 152 orang | 152 | Politeknik Pelayaran (Poltekpel) Banten |
26 | Politeknik Pelayaran (Poltekpel) Sulawesi Utar... | 154 | Politeknik Pelayaran (Poltekpel) Sulawesi Utara |
27 | Politeknik Pelayaran (Poltekpel) Barombong 134... | 134 | Politeknik Pelayaran (Poltekpel) Barombong |
28 | Politeknik Pelayaran (Poltekpel) Sorong 130 orang | 130 | Politeknik Pelayaran (Poltekpel) Sorong |
29 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... | 129 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... |
30 | Politeknik Imigrasi (Poltekim) Formasi Papua 1... | 111 | Politeknik Imigrasi (Poltekim) Formasi Papua |
31 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... | 66 | Politeknik Ilmu Pemasyarakatan (Poltekip) Form... |
32 | Politeknik Imigrasi (Poltekim) Formasi Papua B... | 49 | Politeknik Imigrasi (Poltekim) Formasi Papua B... |
#Visualisasi Jumlah Pendaftar Sekolah Kedinasan 2022
import matplotlib.pyplot as plt
kedinasan_sort = kedinasan.sort_values(by = "Jumlah_Pendaftar")
plt.figure(figsize=(15,15))
plt.barh(kedinasan_sort.Nama, width = kedinasan_sort.Jumlah_Pendaftar)
plt.xlabel("Jumlah Pendaftar (orang)")
plt.ylabel("Nama Sekolah Kedinasan")
plt.title("Jumlah Pendaftar Sekolah Kedinasan Tahun 2022")
plt.show()
Berdasarkan data hasil web scraping dan visualisasi bar plot di atas, terlihat bahwa PKN STAN adalah Sekolah Kedinasan yang paling banyak diminati olah para pendaftar. Kemudian diikuti oleh IPDN dan ketiga oleh Polstat STIS. Dengan mengasumsikan jumlah pendaftar tahun 2023 ini sama dengan tahun 2022 (kurang lebih), maka peluang lolos masing-masing Sekolah Kedinasan ditunjukkan oleh rasio kuota dengan jumlah pendaftar berikut:
Politeknik Imigrasi (Poltekim) = 1 : 43
Politeknik Pemasyarakatan (Poltekip) = 1 : 40
Institut Pemerintahan Dalam Negeri (IPDN) = 1 : 26
Sekolah Tinggi Intelijen
Negara (STIN) = 1 : 35
Politeknik Siber dan Sandi Negara (Poltek SSN) = 1 : 19
Politeknik Keuangan Negara Sekolah Tinggi Akuntansi Negara (PKN STAN) = 1 : 47
Politeknik Statistika Sekolah Tinggi Ilmu Statistik (Polstat STIS) = 1 : 41
Sekolah Tinggi Meteorologi Klimatologi dan Geofisika (STMKG) = 1: 47
Dari rasio tersebut, terlihat bahwa tingkat persaingan di Sekolah Kedinasan Polstat STIS juga tertinggi ketiga setelah PKN STAN, STMKG, dan Poltekim.
Demikian sedikit sharing kita kali ini. Semoga informasi dan kandungan ilmu dalam unggahan kali ini bermanfaat. Selamat mempraktikkan!