Membuat fungsi konversi Nomor Induk Pegawai (NIP) dengan PHP

Kali ini kita akan membuat fungsi konversi Nomor Induk Pegawai (NIP), tujuan fungsi ini adalah mengubah NIP 9/15/18 digit yang tanpa tanda spasi( ) menjadi format yang kita inginkan. Gambaran fungsi yang ingin di bentuk :

Input                Output
================================================
197005182005031     | 005 19700518 200503 1 005
19780418200509 2    | 19780418 200509 2
320 007497          | 320 007 497

Fungsi PHP yang digunakan

Kemampuan

  • Memberi pemisah spasi( ), tanda hubung(-), titik(.) pada NIP

kode PHP

<?php
function konversi_nip($nip, $batas = " ") {
	$nip = trim($nip," ");
	$panjang = strlen($nip);
	
	if($panjang == 18) {
		$sub[] = substr($nip, 0, 8); // tanggal lahir
		$sub[] = substr($nip, 8, 6); // tanggal pengangkatan
		$sub[] = substr($nip, 14, 1); // jenis kelamin
		$sub[] = substr($nip, 3, 3); // nomor urut
		
		return $sub[0].$batas.$sub[1].$batas.$sub[2].$batas.$sub[3];
	} elseif($panjang == 15) {
		$sub[] = substr($nip, 0, 8); // tanggal lahir
		$sub[] = substr($nip, 8, 6); // tanggal pengangkatan
		$sub[] = substr($nip, 14, 1); // jenis kelamin
		
		return $sub[0].$batas.$sub[1].$batas.$sub[2];
	} elseif($panjang == 9) {
		$sub = str_split($nip,3);
		
		return $sub[0].$batas.$sub[1].$batas.$sub[2];
	} else {
		return $nip;
	}
}

// Contoh penggunaan fungsi
// konversi nip 18 digit
// hasil: 19700518 200503 1 005
echo konversi_nip("197005182005031004");
echo "<br/>";

// konversi nip 15 digit
// hasil: 19780418 200509 2
echo konversi_nip("197804182005092");
echo "<br/>";

// konversi nip 9 digit
// hasil: 320 007 497
echo konversi_nip("320007497");
echo "<br/>";

// konversi nip 18 digit dengan pemisah "."
// hasil: 19700518.200503.1.005
echo konversi_nip("197005182005031004",".");
echo "<br/>";

// konversi nip 15 digit dengan pemisah "-"
// 19780418-200509-2
echo konversi_nip("197804182005092","-");
echo "<br/>";

// konversi nip 9 digit dengan pemisah "."
// 320.007.497
echo konversi_nip("320007497",".");
echo "<br/>";
?>

Semoga bermanfaat :)

About these ads

Berikan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s