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

  • 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?
  • Review Aplikasi Wibuku: Alternatif Nonton Anime Gratis untuk Para Wibu Indonesia!
  • Inilah Alat dan Software Phone Farming dengan Samsung Galaxy J7 Prime
  • Cara Cek Paket Internet Telkomsel Kena Pembatasan/Throttling Atau Tidak
  • Cara Mengatasi YMusic APK Error Tidak Bisa Dibuka
  • Cara Memblokir Akun Teman di Mobile Legend: Panduan Lengkap
  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025
  • WhatsApp Tiba-tiba Keluar dan Meminta Verifikasi: Apa yang Harus Dilakukan?
  • Bisakah Saldo BNI Kamu Nol? Fakta dan Cara Mengatasinya
  • Inilah Tanda-tanda Chat Audio di Grup WhatsApp Sudah Disadap
  • Cara Mengatasi Tidak Bisa Live Instagram Karena Tidak Memenuhi Syarat
  • 7 Spek Laptop yang Ideal untuk Coding & Ngoding Web/App
  • Cara Memperbaiki Error Windows “Failed to update the system registry”
  • Cara Memperaiki LGPO/exe/g
  • Cara Memperbaiki Error Tidak bisa Add Calendar di Outlook

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