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

  • Biawak: Antara Hama dan Penjaga Ekosistem
  • Ini Profil Komjend Dedi Prasetyo Wakapolri Baru
  • Fraksi PKB DPRD Pati Tetap Selidiki Dugaan Pelanggaran Kasus RSUD Pati
  • Fraksi PKB Kritik Penggunaan Anggaran Prabowo, Fokus pada Fasilitas Publik
  • Inilah Syarat Nilai Minimal Raport Pendaftar SNBP 2026
  • Kemendikdasmen Sangkal Isu PPG Guru Tertentu Tidak Ada Lagi
  • Ini Struktur Kurikulum Kelas 5 SD/MI Sederajat Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum Kelas 3 dan 4 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Inilah Struktur Kurikulum Kelas 3 dan 4 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ilmuwan Colorado University Bikin Particle Collider Mini, Bisa Atasi Kanker
  • Inilah Susunan Upacara Hari Kemerdekaan RI 17 Agustus di Istana Negara
  • FAKTA: Soeharto Masih Komandan PETA Saat Proklamasi Kemerdekaan RI 17 Agustus 1945
  • Materi Tes CPNS 2025: Fungsi dan Wewenang DPR/DPD
  • Cara Menjadi Siswa Eligible Daftar SNBP 2026 Terbaru!
  • Pendaftaran PPG Guru Tertentu 2025 Diperpanjang, Ini Syarat dan Caranya!
  • Struktur Kurikulum Kelas 2 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum Kelas 1 SD/MI Menurut Permendikdasmen No 13 Tahun 2025
  • Ini Struktur Kurikulum PAUD & TK Sederajat Menurut Permendikdasmen No 13 Tahun 2025
  • Butuh Beasiswa? Ini Beasiswa Alternatif KIP Kuliah Tahun 2025 untuk Jenjang S1
  • Butuh Bantuan SPP? Ini 5 Beasiswa SMA/SMK 2025 Yang Bisa Kamu Coba
  • Apa itu Beasiswa Mutual+ 2025, Syarat, Ketentuan dan Cara Daftarnya
  • Ini Jadwal Resmi Olimpiade Madrasah Indonesia OMI 2025
  • Reportase Kelas: AI dalam Pelayanan Medis Masa Depan
  • IPDN Gelar Seleksi Kompetensi Dasar 2025, Ini Aturannya
  • Ferry Irwandi Bahas Apa itu Friction Shifting Theory?
  • Cara Blokir Game Albion Online Menggunakan Mikrotik
  • EMPAT Cara Mempercepat Loading Website
  • 7 Kesalahan Umum Saat Koding Python bagi Pemula
  • Cara Memanfaatkan Port USB di Router Kalian Biar Tidak Sia-sia
  • Cara Terbaru Membuat Live USB 2025 Anti Gagal
  • Biawak: Antara Hama dan Penjaga Ekosistem
  • Ini Profil Komjend Dedi Prasetyo Wakapolri Baru
  • Fraksi PKB DPRD Pati Tetap Selidiki Dugaan Pelanggaran Kasus RSUD Pati

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