Seperti yang kita ketahui bahwa aplikasi Dapodik menyediakan web service yang berfungsi menyediakan data untuk digunakan pada aplikasi diluar dapodik contoh disini microsoft excel. Dalam buku panduan aplikasi dapodik diterangkan bahwa ada 5 data yang bisa dikeluarkan datanya, atau bisa kita gunakan oleh aplikasi diluar dapodik. pertama getPengguna, getSekolah, getRombonganBelajar, getGtk dan getPesertaDidik.
{getToc} $title={Daftar Isi}JSON Converter
Pada artikel ini kita akan mencontohkan untuk getPeserta Didik, yaitu permintaan data untuk peserta didik. Karena data yang akan kita terima dari web service itu data berformat JSON, maka untuk memprosesnya kita akan menggunakan kode atau macro yang dibuat oleh pengguna GitHub. Langsung saja kodenya kita download disini https://github.com/VBA-tools/VBA-JSON. Kemudian silakan di ekstrak hasil downloadnya.
Import JSON Converter
Buka Microsoft Excel kemudian klik Alt+F11 untuk membuka VBA editor, atau bisa pilih di tab menu Developer dan pilih menu Visual Basic. Kemudian klik kanan pada project dan pilih Import File...
Cari file JsonConverter.bas
yang sudah kita ekstrak dan klik Open. Kode akan ditambahkan pada Module.
Selanjutnya kita aktifkan reference librari untuk bisa menjalankan kodenya. Kita pilih menu Tools > References dan ceklist Microsoft Scripting Runtime
Menambah Modul
Kemudian kita buat modul baru. Pilih menu Insert > Module dan tuliskan sebagai contoh kode dibawah ini.
Public Declare PtrSafe Function InternetSetOptionStr Lib "wininet.dll" Alias "InternetSetOptionA" _ (ByVal hInternet As Long, ByVal lOption As Long, ByVal sBuffer As String, ByVal lBufferLength As Long) As Integer Public Sub Clear_Cache() InternetSetOptionStr 0, 42, sBuf, 0 End Sub Sub TarikSiswa() Dim http As Object, JSON As Object, baris As Integer Dim npsn, token As String npsn = "20238453" token = "syYjgz71m8OalSG" ' Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", "http://localhost:5774/WebService/getPesertaDidik?npsn=" & npsn, False http.SetRequestHeader "Authorization", "Bearer " & token http.Send Set JSON = ParseJson(http.ResponseText) baris = 5 For Each Item In JSON("rows") Cells(baris, 2).Value = Item("nama_rombel") Cells(baris, 3).Value = Item("nama") baris = baris + 1 Next 'Macro untuk sort tempatkan disini 'Kemudian tambahkan penomoran pada kolom 1 For i = 1 To baris - 4 Cells(baris, 1).Value = i Next i Clear_Cache End Sub
Sekarang cobalah eksekusi macronya.
Jika kita akan mengeksekusi macronya diluar sheet yang aktif, contohnya kita menggunakan tombol yang berada pada Sheet2 untuk mengeksekusi macronya, dalam macro tersebut akan menjalankan sebuah perintah untuk menulis sesuatu pada Sheet1. Maka ubah kodenya seperti dibawah ini.
Sheet1.Cells(baris, 2).Value = Item("nama_rombel") Sheet1.Cells(baris, 3).Value = Item("nama")
Atau seperti ini.
Worksheets("Sheet1").Cells(baris, 2).Value = Item("nama_rombel") Worksheets("Sheet1").Cells(baris, 3).Value = Item("nama")
Dan dibawah ini response getPesrtaDidik dari web service dapodik, silakan masukan jika kita ingin menambahkan data yang lain seperti nama ibu kandung, dll.
{ "rows": [ { "jenis_pendaftaran_id_str": "Siswa baru", "nipd": "xxx", "tanggal_masuk_sekolah": "xxx", "sekolah_asal": null, "nama": "xxx", "nisn": "xxx", "jenis_kelamin": "P", "nik": "xxx", "tempat_lahir": "BOGOR", "tanggal_lahir": "xxx-xx-xx", "agama_id_str": "xxx", "alamat_jalan": "xxx", "nomor_telepon_rumah": null, "nomor_telepon_seluler": null, "nama_ayah": "xxx", "pekerjaan_ayah_id_str": "xxx", "nama_ibu": "xxx", "pekerjaan_ibu_id_str": "xxx", "nama_wali": null, "pekerjaan_wali_id_str": "", "anak_keberapa": "xxx", "tinggi_badan": "xxx", "berat_badan": "xxx", "email": null, "semester_id": "xxx", "tingkat_pendidikan_id": "1", "nama_rombel": "xxx", "kurikulum_id_str": "Kurikulum SD 2013", "kebutuhan_khusus": "Tidak ada" } ] }
Untuk ambil data yang lain seperti getPengguna, getSekolah, getRombonganBelajar, getGtk silakan lihat ketersediaan key menggunakan Aplikasi Postman, dan silakan baca petunjuk yang di sediakan oleh Admin Dapodik.
Demikianlah cara untuk menarik data dapodik ke excel, tonton tutorialnya dalam video Cara Excel Menggunakan Web Service Dapodik