Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

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

Belajar PHP: Mendapatkan Data Siswa Berdasarkan Nomor NISN Secara Realtime

Posted on December 21, 2011

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

  • Google Tingkatkan Batas Gratis Gemini 3 Pro untuk Pengembang dan Bisnis
  • Google Perkenalkan ‘Circle to Search’: Cara Baru Menggunakan AI untuk Pencarian
  • OpenAI Terpapar Data Pelanggan Melalui Pelanggaran Vendor Mixpanel, API Terpengaruh
  • Error External Drive Extraction Tidak Terdeteksi di VM Virtual Hyper-V
  • Ringkasan Notifikasi Pixel Google Lebih Baik dari iPhone, Tapi Apa Tujuannya?
  • ShadowV2 Botnet Digunakan Uji Coba Setelah Penyebab Gangguan AWS
  • YouTube TV Segera Kembali Menawarkan Saluran Univision Setelah Penangguhan Dua Bulan
  • YouTube TV dan Disney Meluncurkan Penawaran Paket Bundel dengan Harga Menarik
  • Error Microsoft .NET Framework: Unhandled Exception – Not Enough Space On The Disk
  • Qualcomm Snapdragon 8 Gen 5: Chipset Flagship Baru yang Lebih Cepat dan Efisien
  • Serangan ONSolve Terus Mengganggu Sistem Peringatan Darurat di Seluruh Amerika Serikat
  • Android 16 Akan Membawa QPR2 untuk Launcher Pixel, Fokus pada Pengalaman Pengguna yang Ditingkatkan
  • Android 16 (QPR2) Akan Membawa Perubahan Signifikan pada Launcher Pixel
  • Microsoft Akan Tingkatkan Kinerja Microsoft Teams dengan Pengelola Panggilan Baru
  • Samsung Meluncurkan Diskon Besar-besaran untuk Penjualan Black Friday 2025, Berapa Harga Terbaru?
  • Samsung Black Friday Sale Phones and Rings Discounts – Huge Savings on Galaxy Devices
  • Error ‘Insufficient Permissions’ (Izin Tidak Cukup) Saat Membuka Email di Windows – Solusi dan Penjelasan Lengkap
  • Hadir dengan Refresh Rate 144 Hz! Ini Rekomendasi Laptop Gaming 10 Jutaan dari ASUS
  • 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
  • Google Tingkatkan Batas Gratis Gemini 3 Pro untuk Pengembang dan Bisnis
  • Google Perkenalkan ‘Circle to Search’: Cara Baru Menggunakan AI untuk Pencarian
  • OpenAI Terpapar Data Pelanggan Melalui Pelanggaran Vendor Mixpanel, API Terpengaruh

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