Web Service Dapodik Tidak Menolak Excel

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

Lebih baru Lebih lama

Formulir Kontak