Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Tutorial PHP: Skrip Download Data & NISN Siswa Dapodik

Posted on July 22, 2013

Dalam tutorial kali ini kita akan mencoba mendapatkan data pokok dari seorang siswa yang telah memiliki NISN (Nomor Induk Siswa Nasional) yang dikelola oleh Dapondik, Kemendikbud. Tutorial ini akan bertumpu pada penggunaan library cURL dan manipulasi array-string sederhana.

Prinsip Kerja

Pada dasarnya, data pokok yang akan kita ambil berasal dari hasil pencarian pada situs Dapondik Kemendikbud (http://nisn.dapondik.org/). URL yang dituju adalah http://nisn.dapondik.org/siswa.php. Dengan library cURL, kita akan posting variabel $_GET berupa nisn dengan value nomor NISN seorang siswa. Hasil eksekusi cURL tersebut akan kita olah dengan teknik parsing dan replacing data.

Source Code

Berikut adalah source code dari fungsi untuk mengambil data pokok Siswa berdasarkan NISN dengan PHP:

[sourcecode language=”php”]
//definisikan URL dapodik yang dituju, dipakai server dapodik kota semarang (boleh kota lain, hasil tetap sama)
define(‘NISN_URL’,"http://semarangkota.dapodik.org/siswa.php");

if ( !function_exists( ‘get_nisndata’ ) )
{
function get_nisndata($nisn)
{
$nisn_val = urlencode($nisn); //encode NISN ke format URL
$str = "?nisn=".$nisn_val; //string $_GET yang akan dikirim

// inisialisasi CURL
$data = curl_init();
// setting CURL
curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($data, CURLOPT_URL, NISN_URL.$str);
// menjalankan CURL untuk membaca isi file
$hasil = curl_exec($data);
curl_close($data);

$split0 = extract_unit($hasil,’Info Siswa’,’Info Sekolah’); //mengambil teks diantara kata Info Siswa dan Info Sekolah
$split0 = strip_tags($split0); //hilangkan tag HTML dari hasil pengambilan tadi

$nama = extract_unit($split0,’Nama’,’ Jenis Kelamin’); //ambil nama
$nisn = extract_unit($split0,’NISN’,’ Nama’); //ambil NISN
$jenis_kelamin = extract_unit($split0,’Jenis Kelamin’,’ Tingkat’); //ambil jenis kelamin siswa
$tingkat = extract_unit($split0,’Tingkat’,’  ’); //ambil tingkat

$split1 = extract_unit($hasil,’Info Sekolah’,’Tentang Data Siswa’); //ambil teks diantara kata Info Sekolah dan Tentang Data Siswa
$split1 = strip_tags($split1); //hilangkan tag HTML

$npsn = extract_unit($split1,’NPSN’,’ Nama’);
$nama_sekolah = extract_unit($split1,’Nama’,’ Jenjang’);
$jenjang = extract_unit($split1,’Jenjang’,’ Status’);
$status = extract_unit($split1,’Status’,’ ‘);

//bangun array hasil
$hasil = array(‘nama’ => $nama,
‘nisn’ => $nisn,
‘jenis_kelamin’ => $jenis_kelamin,
‘tingkat’ => $tingkat,
‘npsn’ => $npsn,
‘nama_sekolah’ => $nama_sekolah,
‘jenjang’ => $jenjang,
‘status’ => $status
);
return $hasil;

}
}
[/sourcecode]

Untuk melengkapi source tersebut anda perlu menuliskan pula fungsi extract_unit dengan source code berikut:

[sourcecode language=”php”]
if ( !function_exists( ‘extract_unit’ ) )
{
function extract_unit($string, $start, $end)
{
$pos = stripos($string, $start);
$str = substr($string, $pos);
$str_two = substr($str, strlen($start));
$second_pos = stripos($str_two, $end);
$str_three = substr($str_two, 0, $second_pos);
$unit = trim($str_three); // remove whitespaces
return $unit;
}
}
[/sourcecode]

Penggunaan

Untuk menggunakan source tersebut, contoh:

[sourcecode language=”php”]
$data_nisn = get_nisndata(‘0041411454’); //cari data siswa dg NISN 0041411454
echo ‘<pre>’;
print_r($data_nisn);
echo ‘</pre>’;
[/sourcecode]

Screenshoot:

Screenshot Demo Mengambil Data NISN dengan PHP
Screenshot Demo Mengambil Data NISN dengan PHP

Screenshoot data asli: klik disini

Demo:

https://emka.web.iddemo/datanisn/

Download Source:

  • via Ziddu: http://www.ziddu.com/download/17893035/datanisn.7z.html

Terbaru

  • Cara Memperbaiki Error ScanPST.exe dan File PST di Microsoft Outlook
  • Cara Mengatasi Error DWMAPI.DLL is either not designed or not found
  • Cara Memperbaiki Error Equation/Rumus Jelek di Microsoft Word
  • Cara Mengatasi Adapter Jaringan VMware yang Hilang di Windows 11
  • Cara Reset Multi-Factor Authentication (MFA) di Microsoft Entra
  • Cara Mengatasi Masalah Konektivitas VM Hyper-V ke Host
  • Cara Memperbaiki Error 0x8000FFFF Catastrophic Failure Saat Ekstrak Zip
  • Cara Memperbaiki File Explorer Crash Saat Membuka Folder Besar di Windows 11/10
  • Cara Mengatasi Error Login 0x8007003B di Outlook, Microsoft, XBox dll
  • Cara Memulihkan Akun Admin Microsoft 365 Karena MFA Gagal
  • Cara Mengatasi Error “A Conexant audio device could not be found”
  • Cara Memperbaiki Windows Tidak Nyala Lagi Setelah Sleep/Locked
  • Cara Memperbaiki Komputer Crash karena Discord
  • Cara Memperbaiki Error Windows “Failed to update the system registry”
  • Cara Memperaiki LGPO/exe/g
  • Cara Memperbaiki Error Tidak bisa Add Calendar di Outlook
  • Cara Memperbaiki File Transfer Drop ke 0 di Windows 11
  • Cara Memperbaiki Microsoft Copilot Error di Outlook
  • Cara Memperbaiki Error Virtualbox NtCreateFile(\Device\VBoxDrvStub) failed, Not signed with the build certificate
  • Cara Memperbaiki Error “the system detected an address conflict for an IP address, with Event ID 4199”
  • Cara Memperbaiki Password Microsoft Edge yang Hilang
  • Cara Memperbaiki Email Outlook yang Hilang atau Tidak Muncul
  • Cara Menemukan Username dan Password di Windows 11
  • Cara Mengatasi Error Virtualbox not detecting Graphics Card di Windows 11
  • Cara Mengatasi Error Windows MFReadWrite.dll not found or missing
  • Cara Membuat Formulir Menggunakan Zoho Form
  • Pemerintah Ganti Ujian Kesetaraan Dengan TKA 2025
  • Ini Perbedaan TKA vs Ujian Nasional: TKA Lebih Sakti?
  • Daftar TKA Tutup 5 Oktober: Sudah 3.3 Juta Yang Daftar
  • Review Aplikasi ClipClaps: Penipuan atau Tidak?
  • Cara Memperbaiki Error ScanPST.exe dan File PST di Microsoft Outlook
  • Cara Mengatasi Error DWMAPI.DLL is either not designed or not found
  • Cara Memperbaiki Error Equation/Rumus Jelek di Microsoft Word

©2025 emka.web.id | Design: Newspaperly WordPress Theme