Sebenarnya dalam menulis post ini saya masih penasaran bagaimana caranya nge-hack situs kemenpan biar nomor KTP saya dihapus dari databasenya (soalnya saya udah terlanjur melamar pada instansi yang salah). Atau biar lebih briliant, bagaimana caranya biar saya langsung diloloskan pada formasi PNS yang saya inginkan, misalkan jadi dosen di kampung saya. Tapi apa boleh buat, ilmu saya belum sampe ke situ.
Dalam tulisan ini saya hanya mencoba membagi pengetahuan dasar dalam bahasa pemrograman java (sekaligus menghibur diri saya bahwa saya ini juga seorang hacker), yakni mengenai teknik parsing HTML. Anda juga bisa mencari hal serupa ini di internet, tapi kebetulan ini musimnya PNS, dan kebetulan saya juga agak tertarik menjadi PNS, maka saya mengemas hal-hal dari internet tersebut ke dalam posting eksklusif ini. Ya… semoga saja tidak ada unsur ancaman di dalamnya, walaupun dalam paragraf pertama di atas terkesan ada unsur ancaman, yakni mengancam meng-hack situs pemerintah.
Saya ingin tahu berapa sih jumlah formasi dosen yang ada untuk jurusan fisika yang tertera di ijazah saya. Nah untuk itu saya bagikan aja potongan scriptnya. Sebenarnya ini sangat mudah untuk dipahami. Dan saya yakin kalo Anda seorang programmer java, pasti akan sangat mudah memahami potongan script ini.
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class FormasiPNS {
static String htmlResource = "https://panselnas.menpan.go.id/index.php/14-formasi/pusat/557-kementerian-pendidikan-dan-kebudayaan" ;
static String fileLogger = "D:/output1.txt";
static final String FISIKA = "Fisika";
static final String TEKNIK_INFORMATIKA = "Teknik Informatika";
static final String MANAJEMEN = "Manajemen";
static final String MATEMATIKA = "Matematika";
static final String AKUNTANSI = "Akuntansi";
static final String HUKUM = "Hukum";
static final String EKONOMI = "Ekonomi";
static final String DOSEN = "Dosen";
//spesifikasi yang dicari:
static String jurusan = EKONOMI;
static String jabatan = DOSEN;
public static void main(String[] args) throws IOException{
File outputLogger = new File(fileLogger);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(outputLogger));
Document doc = Jsoup.connect(htmlResource).get();
Elements tables = doc.select("table[id=tab_82ycpLW8N0]");
int total = 0;
total = checkJumlahFormasiPerJurusan(bufferedWriter, tables, jabatan, jurusan);
String result = "\ntotal "+ jabatan + " yang dibutuhkan untuk jurusan "+ jurusan + " adalah "+ total;
bufferedWriter.write(result+"\n");
bufferedWriter.close();
System.out.println("FINISH");
}
static int checkJumlahFormasiPerJurusan (BufferedWriter writer, Elements tables, String jabatanYangDicari, String jurusanYangDicari) throws IOException{
int totalFormasi = 0;
Elements hasil = tables.get(0).select("tr.tabrow");
for(Element row : hasil){
Elements cols = row.select("td.tabcol");
String kualifikasiPendidikan = cols.get(3).text();
String jabatanYangDibutuhkan = cols.get(1).text();
// terdapat kemungkinan jurusan yang dimaksud digabungkan dalam jurusan lain sebagai kebutuhan
boolean state = false;
if(kualifikasiPendidikan.contains(jurusanYangDicari) && kualifikasiPendidikan.contains("/")){
String[] split = kualifikasiPendidikan.split("\\/");
if(split.length > 0){
for(String s : split){
if(s.trim().equals(jurusanYangDicari)){
state = true;
}
}
}
}
if(jabatanYangDibutuhkan.equals(jabatanYangDicari) &&
(kualifikasiPendidikan.equals(jurusanYangDicari) || state)){
Integer formasi = Integer.parseInt(cols.get(5).text());
totalFormasi+= formasi;
String penempatan = cols.get(6).text();
writer.write("penempatan:\t"+penempatan + " jummlah:\t"+formasi+"\n");
}
}
return totalFormasi;
}
}
Hasilnya ketika saya cobakan untuk menghitung berapa formasi jabatan dosen antara teknik informatika vs fisika adalah sebagai berikut:
penempatan: Fakultas ILKOM & TI, Universitas Sumatera Utara jummlah: 2
penempatan: Fakultas Tekn. Informasi, Universitas Andalas jummlah: 1
penempatan: Fak.Sains dan Teknologi, Universitas Jambi jummlah: 2
penempatan: Program Studi Teknik Informatika Fasilkom UNSRI, Universitas Sriwijaya jummlah: 3
penempatan: Fak. Teknik, Universitas Bengkulu jummlah: 2
penempatan: FT Unila, Universitas Lampung jummlah: 2
penempatan: Fakultas Sains dan Teknik, Universitas Jenderal Soedirman jummlah: 3
penempatan: Jurusan Sistem Komputer Fakultas Teknik, Universitas Diponegoro jummlah: 1
penempatan: Jurusan Informatika pada Fak. Matematika dan IPA, Universitas Sebelas Maret jummlah: 1
penempatan: Prodi S1 Sistem Informasi, Universitas Jember jummlah: 4
penempatan: FMIPA Program Studi Sistem Informasi, Universitas Tanjungpura jummlah: 3
penempatan: Prodi Teknik Informatika Fak. Teknik, Universitas Lambung Mangkurat jummlah: 2
penempatan: up. Fakultas TIKOM, Universitas Mulawarman jummlah: 2
penempatan: Fakutas Teknik, Universitas Tadulako jummlah: 3
penempatan: Fakultas Teknik, Universitas Hasanuddin jummlah: 2
penempatan: Fakultas Teknik, Universitas Haluoleo jummlah: 3
penempatan: Fakutltas Teknik, Universitas Udayana jummlah: 1
penempatan: F. Teknik, Universitas Mataram jummlah: 4
penempatan: Fakultas Teknik, Universitas Pattimura jummlah: 1
penempatan: Fakultas Teknik, Universitas Trunojoyo Madura jummlah: 1
penempatan: FKIP, Universitas Trunojoyo Madura jummlah: 2
penempatan: Fakultas Teknik, Universitas Khairun Ternate jummlah: 2
penempatan: Teknik Informatika, Universitas Negeri Papua jummlah: 1
penempatan: Fakultas Teknik, Universitas Negeri Medan jummlah: 2
penempatan: Jurusan. T. Elektronika FT, Universitas Negeri Padang jummlah: 1
penempatan: FT, Universitas Negeri Jakarta jummlah: 2
penempatan: Prodi Pendidikan Teknik Elektronika Fakultas Teknik, Universitas Negeri Yogyakarta jummlah: 2
penempatan: Prodi Pendidikan Teknik Informatika Fakultas Teknik, Universitas Negeri Yogyakarta jummlah: 1
penempatan: Fakultas Teknik, Universitas Negeri Surabaya jummlah: 4
penempatan: Fakultas Teknik, Universitas Negeri Malang jummlah: 1
penempatan: FATEK, Universitas Negeri Manado jummlah: 5
penempatan: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung jummlah: 1
penempatan: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung jummlah: 2
penempatan: Fakultas Teknologi Kelautan, Institut Teknologi Sepuluh November jummlah: 1
penempatan: Fakultas Teknologi Informasi, Institut Teknologi Sepuluh November jummlah: 4
penempatan: Fakultas Teknik, Universitas Negeri Gorontalo jummlah: 2
penempatan: Prodi Televisi & Film Fakultas Seni Rupa dan Desain, Institut Seni Indonesia Surakarta jummlah: 1
penempatan: Fakultas Teknik UNMUS, Universitas Musamus Merauke jummlah: 1
penempatan: Fakultas Teknik, Universitas Maritim Raja Ali Haji jummlah: 2
penempatan: Fak. Teknik, Universitas Sulawesi Barat jummlah: 3
penempatan: Teknik Informatika, Universitas Siliwangi jummlah: 4
total Dosen yang dibutuhkan untuk jurusan Teknik Informatika adalah 87
penempatan: Fakultas MIPA, Universitas Sumatera Utara jummlah: 2
penempatan: Fakultas MIPA, Universitas Andalas jummlah: 1
penempatan: Fak.Sains dan Teknologi, Universitas Jambi jummlah: 1
penempatan: FMIPA Unila, Universitas Lampung jummlah: 2
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Indonesia jummlah: 1
penempatan: Fakultas MIPA, Universitas Gadjah Mada jummlah: 1
penempatan: Program Studi Pendidikan Fisika FKIP, Universitas Palangkaraya jummlah: 1
penempatan: Fakultas MIPA, Universitas Hasanuddin jummlah: 1
penempatan: Fakultas Matematika dan IPA, Universitas Haluoleo jummlah: 1
penempatan: Fakultas Keguruan dan Ilmu Pendidikan, Universitas Haluoleo jummlah: 1
penempatan: F. MIPA, Universitas Mataram jummlah: 2
penempatan: Fakultas MIPA, Universitas Pattimura jummlah: 2
penempatan: Jurusan Pendidikan Fisika FKIP, Universitas Sultan Ageng Tirtayasa jummlah: 1
penempatan: FKIP, Universitas Trunojoyo Madura jummlah: 3
penempatan: FMIPA, Universitas Negeri Jakarta jummlah: 1
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Semarang jummlah: 1
penempatan: Fakultas MIPA, Universitas Negeri Surabaya jummlah: 1
penempatan: Fak Matematika dan IPA, Universitas Negeri Malang jummlah: 2
penempatan: FMIPA, Universitas Negeri Manado jummlah: 3
penempatan: FMIPA, Universitas Negeri Makassar jummlah: 1
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Bandung jummlah: 5
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Gorontalo jummlah: 2
penempatan: Fakultas Keguruan dan Ilmu Pendidikan UNMUS, Universitas Musamus Merauke jummlah: 2
total Dosen yang dibutuhkan untuk jurusan Fisika adalah 38
Ya, nampaknya tahun ini jurusan teknik informatika menyediakan lapangan pekerjaan lebih banyak ketimbang jurusan fisika. Walaupun memang kita tidak boleh menilai dari situnya. Karena output dari sekolah teknik informatika yang lagi mencari pekerjaan juga banyak. Artinya, kalo Anda pintar menghitung, yang dihitung adalah rasio jumlah lulusan terhadap jumlah lapangan pekerjaan yang tersedia.
Untuk beberapa jurusan lainnya hasilnya dapat dilihat sebagai berikut:
penempatan: Fakultas MIPA, Universitas Sumatera Utara jummlah: 2
penempatan: Fakultas MIPA, Universitas Andalas jummlah: 1
penempatan: FMIPA, Universitas Riau jummlah: 1
penempatan: Fak. MIPA, Universitas Bengkulu jummlah: 1
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Indonesia jummlah: 1
penempatan: Jurusan Matematika FMIPA, Universitas Diponegoro jummlah: 1
penempatan: Jurusan Matematika pada Fak. Matematika dan IPA, Universitas Sebelas Maret jummlah: 1
penempatan: Fakultas MIPA, Universitas Gadjah Mada jummlah: 3
penempatan: FST, Univesitas Airlangga jummlah: 1
penempatan: Prodi S1 Matematika, Universitas Jember jummlah: 1
penempatan: FMIPA, Universitas Tanjungpura jummlah: 2
penempatan: Fakultas MIPA, Universitas Mulawarman jummlah: 1
penempatan: Fakultas MIPA, Universitas Tadulako jummlah: 2
penempatan: Fakultas Matematika dan IPA, Universitas Haluoleo jummlah: 1
penempatan: Fakultas Keguruan dan Ilmu Pendidikan, Universitas Haluoleo jummlah: 1
penempatan: F. MIPA, Universitas Mataram jummlah: 2
penempatan: Fakultas MIPA, Universitas Pattimura jummlah: 3
penempatan: FMIPA, Universitas Cenderawasih jummlah: 1
penempatan: Fakultas Teknik, Universitas Malikussaleh jummlah: 1
penempatan: FKIP, Universitas Trunojoyo Madura jummlah: 6
penempatan: Fakultas MIPA, Universitas Negeri Surabaya jummlah: 2
penempatan: Fak Matematika dan IPA, Universitas Negeri Malang jummlah: 1
penempatan: FMIPA, Universitas Negeri Manado jummlah: 2
penempatan: FMIPA, Universitas Negeri Makassar jummlah: 2
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Bandung jummlah: 5
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Sepuluh November jummlah: 2
penempatan: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Negeri Gorontalo jummlah: 1
penempatan: Fakultas Keguruan dan Ilmu Pendidikan UNMUS, Universitas Musamus Merauke jummlah: 1
penempatan: Fak. Matematika &Ilmu Pengetahuan Alam , Universitas Sulawesi Barat jummlah: 2
penempatan: Fak. FKIP, Universitas Sulawesi Barat jummlah: 2
total Dosen yang dibutuhkan untuk jurusan Matematika adalah 53
penempatan: Fakultas Ekonomi , Universitas Syiah Kuala jummlah: 3
penempatan: FE, Universitas Riau jummlah: 1
penempatan: Fak. Ekonomi dan Bisnis, Universitas Bengkulu jummlah: 2
penempatan: FE Unila, Universitas Lampung jummlah: 2
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Padjadjaran jummlah: 3
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Jenderal Soedirman jummlah: 3
penempatan: Jurusan Manajemen Fakultas Ekonomi, Universitas Diponegoro jummlah: 1
penempatan: Fakultas Ekonomika dan Bisnis, Universitas Gadjah Mada jummlah: 1
penempatan: FEB - Manajemen, Univesitas Airlangga jummlah: 2
penempatan: Prodi S1 Manajemen, Universitas Jember jummlah: 3
penempatan: Prodi S-0 Administrasi Keuangan, Universitas Jember jummlah: 1
penempatan: Prodi S-0 Manajemen Perusahaan, Universitas Jember jummlah: 1
penempatan: Prodi S2Magister Manajemen, Universitas Jember jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Tadulako jummlah: 3
penempatan: Fakultas Ekonomi, Universitas Hasanuddin jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Haluoleo jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Udayana jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Pattimura jummlah: 1
penempatan: Jurusan Manajemen Fakultas Ekonomi, Universitas Malikussaleh jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Trunojoyo Madura jummlah: 3
penempatan: Manajemen, Universitas Negeri Papua jummlah: 1
penempatan: Jurusan KK FT, Universitas Negeri Padang jummlah: 2
penempatan: Manajemen FE, Universitas Negeri Padang jummlah: 3
penempatan: FE, Universitas Negeri Jakarta jummlah: 2
penempatan: FE, Universitas Negeri Jakarta jummlah: 1
penempatan: Fakultas Pendidikan Ilmu Pengetahuan Sosial (1), Fakultas Pendidikan Ekonomi dan Bisnis (1), Universitas Pendidikan Indonesia jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Negeri Semarang jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Negeri Semarang jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Negeri Surabaya jummlah: 7
penempatan: Fakultas Ekonomi, Universitas Negeri Malang jummlah: 1
penempatan: FE, Universitas Negeri Makassar jummlah: 1
penempatan: Sekolah Bisnis dan Manajemen, Institut Teknologi Bandung jummlah: 4
penempatan: Sekolah Bisnis dan Manajemen, Institut Teknologi Bandung jummlah: 2
penempatan: Pasca Sarjana, Institut Teknologi Sepuluh November jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Borneo Tarakan jummlah: 4
penempatan: Fakultas Ekonomi UNMUS, Universitas Musamus Merauke jummlah: 4
penempatan: Jurusan Manajemen FE, Universitas Bangka Belitung jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Maritim Raja Ali Haji jummlah: 1
penempatan: Fak. Ekonomi, Universitas Sulawesi Barat jummlah: 1
penempatan: Fakultas Ekonomi UTU, Universitas Teuku Umar jummlah: 1
penempatan: Fakultas Pertanian UTU, Universitas Teuku Umar jummlah: 2
total Dosen yang dibutuhkan untuk jurusan Manajemen adalah 83
penempatan: Fakultas Ekonomi , Universitas Syiah Kuala jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Sumatera Utara jummlah: 1
penempatan: FE, Universitas Riau jummlah: 1
penempatan: FE, Universitas Riau jummlah: 1
penempatan: Program Studi Akuntansi FE UNSRI, Universitas Sriwijaya jummlah: 4
penempatan: Fak. Ekonomi dan Bisnis, Universitas Bengkulu jummlah: 2
penempatan: FE Unila, Universitas Lampung jummlah: 2
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Padjadjaran jummlah: 3
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Jenderal Soedirman jummlah: 2
penempatan: Jurusan Akuntansi Fakultas Ekonomi, Universitas Diponegoro jummlah: 2
penempatan: FEB - Akuntansi, Univesitas Airlangga jummlah: 2
penempatan: FEB - Akuntansi Banyuwangi, Univesitas Airlangga jummlah: 5
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Brawijaya jummlah: 1
penempatan: Fakultas Ilmu Administrasi, Universitas Brawijaya jummlah: 3
penempatan: Prodi Diploma III Perpajakan, Universitas Jember jummlah: 2
penempatan: Prodi S-0 Akuntansi, Universitas Jember jummlah: 2
penempatan: Prodi S1 Akuntansi, Universitas Jember jummlah: 5
penempatan: Prodi S2Magister Akuntasi, Universitas Jember jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Tanjungpura jummlah: 3
penempatan: Jurusan Akuntansi Fakultas Ekonomi, Universitas Palangkaraya jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Mulawarman jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Tadulako jummlah: 3
penempatan: Fakultas Ekonomi, Universitas Hasanuddin jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Haluoleo jummlah: 3
penempatan: Fakultas Ekonomi, Universitas Udayana jummlah: 2
penempatan: F. Ekonomi, Universitas Mataram jummlah: 2
penempatan: Fakultas Ekonomi & Bisnis, Universitas Nusa Cendana jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Pattimura jummlah: 1
penempatan: Prodi Akuntansi Fakultas Ekonomi, Universitas Malikussaleh jummlah: 3
penempatan: Jurusan Akuntansi Fakultas Ekonomi, Universitas Sultan Ageng Tirtayasa jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Khairun Ternate jummlah: 2
penempatan: Akuntansi, Universitas Negeri Papua jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Negeri Medan jummlah: 3
penempatan: Akuntansi FE, Universitas Negeri Padang jummlah: 1
penempatan: FE, Universitas Negeri Jakarta jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Negeri Semarang jummlah: 3
penempatan: Fakultas Ekonomi, Universitas Negeri Semarang jummlah: 1
penempatan: Fakultas Ekonomi, Universitas Negeri Malang jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Negeri Malang jummlah: 1
penempatan: FEKON, Universitas Negeri Manado jummlah: 4
penempatan: FE, Universitas Negeri Makassar jummlah: 2
penempatan: Fak. Ekonomi dan Manajemen - Dept.Manajemen, Institut Pertanian Bogor jummlah: 1
penempatan: Fakultas Teknologi Industri, Institut Teknologi Sepuluh November jummlah: 1
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Negeri Gorontalo jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Borneo Tarakan jummlah: 4
penempatan: Fakultas Ekonomi UNMUS, Universitas Musamus Merauke jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Maritim Raja Ali Haji jummlah: 3
penempatan: Fak. Ekonomi, Universitas Sulawesi Barat jummlah: 2
penempatan: Fakultas Ekonomi, Universitas Tidar Magelang jummlah: 2
total Dosen yang dibutuhkan untuk jurusan Akuntansi adalah 104
penempatan: Fakultas Ekonomi dan Bisnis, Universitas Padjadjaran jummlah: 3
penempatan: Fakultas Ekonomi, Universitas Tanjungpura jummlah: 3
total Dosen yang dibutuhkan untuk jurusan Ekonomi adalah 6
penempatan: MKDU, Universitas, Universitas Tidar Magelang jummlah: 2
penempatan: MKDU, Universitas, Universitas Tidar Magelang jummlah: 2
total Dosen yang dibutuhkan untuk jurusan Hukum adalah 4