Membuat Fungsi Auto Increment Bertipe String dengan PHP

Biasanya jika ingin kode unik/identitas yang digunakan sebagai primary key pada database akan bertambah secara otomatis ketika ada data baru, caranya dengan memberikan parameter auto increment pada kolom sebuah tabel. Namun, itu hanya berlaku ketika kolom bertipe integer. Jika kode unik tersebut bertipe String/Varchar kita harus membuat sebuah fungsi pada php untuk meng-generate kode terakhir agar bertambah. Di bawah ini adalah fungsi sederhana untuk menggantikan fungsi auto increment pada kolom bertipe String/Varchar.

Fungsi PHP yang digunakan

Kemampuan

  • membuat autonumber bertipe String

kode PHP

<?php

// fungsi ini untuk menghasilkan autonumber bertipe string
// terdapat tiga parameter yang dibutuhkan untuk menggunakan fungsi ini
// $id_terakhir adalah kode terakhir dari database ex: KNS0015
// $panjang_kode adalah panjang karakter string pada kode
//				 pada KNS0015 nilai $panjang_kode = 3
// $panjang_angka adalah panjang karakter angka pada kode
//				 pada KNS0015 nilai $panjang_angka = 4

function autonumber($id_terakhir, $panjang_kode, $panjang_angka) {

	// mengambil nilai kode ex: KNS0015 hasil KNS
	$kode = substr($id_terakhir, 0, $panjang_kode);

	// mengambil nilai angka
	// ex: KNS0015 hasilnya 0015
	$angka = substr($id_terakhir, $panjang_kode, $panjang_angka);

	// menambahkan nilai angka dengan 1
	// kemudian memberikan string 0 agar panjang string angka menjadi 4
	// ex: angka baru = 6 maka ditambahkan strig 0 tiga kali
	// sehingga menjadi 0006
	$angka_baru = str_repeat("0", $panjang_angka - strlen($angka+1)).($angka+1);

	// menggabungkan kode dengan nilang angka baru
	$id_baru = $kode.$angka_baru;

	return $id_baru;
}

// contoh penggunaan kode
echo autonumber('KNS0009', 3, 4); // hasil KNS0010
echo '<br/>';

echo autonumber('D001', 1, 3); // hasil D002

?>

Semoga bermanfaat 🙂

Iklan

Membuat fungsi konversi rupiah dengan PHP

Fungsi ini digunakan untuk mengkonversi angka dalam bentuk integer maupun pecahan ke format mata uang rupiah.

Fungsi PHP yang digunakan

Kemampuan

  • Mengkonversi angka kedalam format mata uang rupiah
  • Mendukung untuk menampilkan nilai pecahan maupun tidak

kode PHP

<?php
function rupiah($nilai, $pecahan = 0) {
	return number_format($nilai, $pecahan, ',', '.');
}

// konversi sederhana
echo rupiah(500000); // akan tampil 500.000
echo "<br/>";

// konversi dengan nilai pecahan
// 2 menandakan dua digit dibelakang koma
echo rupiah(500000, 2) // akan tampil 500.000,00
?>

Semoga bermanfaat 🙂

Membuat fungsi jumlah hari dalam bulan dengan PHP

Kali ini kita akan membuat fungsi untuk menampilkan jumlah hari pada bulan tertentu, fungsi ini saya buat ketika ingin melakukan perulangan sebanyak jumlah bulan untuk menampilkan statistik dari database.

Fungsi PHP yang digunakan

Kemampuan

  • menampilkan jumlah hari pada bulan dan tahun ini
  • menampilkan jumlah hari pada bulan tertentu tahun ini
  • menampilkan jumlah hari pada bulan tahun dan tertentu

kode PHP

<?php
function jumlah_hari($bulan=0, $tahun=0) {

	$bulan = $bulan > 0 ? $bulan : date("m");
	$tahun = $tahun > 0 ? $tahun : date("Y");

	switch($bulan) {
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			return 31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			return 30;
			break;
		case 2:
			return $tahun % 4 == 0 ? 29 : 28;
			break;
	}
}

// menampilkan jumlah hari pada bulan dan tahun saat ini
echo jumlah_hari();
echo "<br>";

// menampilkan jumlah hari pada bulan pebruari tahun ini
echo jumlah_hari(2);
echo "<br>";

// menampilkan jumlah hari pada bulan pebruari tahun 2000
echo jumlah_hari(2, 2000);
echo "<br>";
?>

Semoga bermanfaat 🙂

Pagination dan Searcing menggunakan PHP, Jquery, dan Twitter Bootstrap

Tutorial ini adalah pengembangan dari artikel sebelumnya. Jika kemarin kita belajar melakukan proses CRUD ke database MySQL menggunakan PHP dan Jquery. Maka, artikel ini menambahkan fungsi pencarian (searching) dan pembagian data yang ditampilkan tiap halaman(pagination). Bagi yang masih bingung langsung saja kita mulai tutorial ini sambil dipahami tahap demi tahap.

Baca lebih lanjut

Membuat fungsi koneksi untuk dua database dengan PHP

Setelah berhasil membuat fungsi koneksi database pada artikel sebelumnya. Kali ini kita akan mengembangkan fungsi yang sebelumnya telah dibuat sehingga dapat melakukan koneksi dengan dua database. Cara kerjanya sama, hanya saja kita akan membuat fungsi baru untuk koneksi ke database kedua.

Langkah 1

pertama-tama buat database pada MySQL atau phpMyAdmin dengan nama latihan_db1 untuk database pertama dan latihan_db2 untuk databse kedua, kemudian buat tabel dengan field seperti di bawah ini dan isikan dengan beberapa data.

koneksi-dua-database-3

koneksi-dua-database-4

Langkah 2

pada folder root webserver anda (bisa www/htdocs/html) buat folder baru dengan nama bebas, misal : latdb2 kemudian buat file

koneksi-dua-database

konfigurasi.php

<?php
define('DB1_NAMA', 'latihan_db1'); // sesuaikan dengan nama database pertama anda
define('DB1_USER', 'root'); // sesuaikan dengan nama pengguna database pertama anda
define('DB1_PASSWORD', 'password'); // sesuaikan dengan kata sandi database pertama anda
define('DB1_HOST', 'localhost'); // ganti jika letak database mysql di komputer lain

define('DB2_NAMA', 'latihan_db2'); // sesuaikan dengan nama database kedua anda
define('DB2_USER', 'root'); // sesuaikan dengan nama pengguna database kedua anda
define('DB2_PASSWORD', 'password'); // sesuaikan dengan kata sandi database kedua anda
define('DB2_HOST', 'localhost'); // ganti jika letak database mysql di komputer lain

// mengambil alamat direktori tempat berkas konfigurasi.php disimpan
define('ABSPATH', dirname(__FILE__).'/');

// memanggil berkas fungsi.php
require ABSPATH.'fungsi.php';
?>

fungsi.php

<?php
// fungsi untuk melakukan koneksi ke database mysql pertama
function koneksi1_buka() {
	mysql_select_db(DB1_NAMA,mysql_connect(DB1_HOST,DB1_USER,DB1_PASSWORD));
}

// fungsi untuk menutup koneksi ke database mysql pertama
function koneksi1_tutup() {
	mysql_close(mysql_connect(DB1_HOST,DB1_USER,DB1_PASSWORD));
}
// fungsi untuk melakukan koneksi ke database mysql kedua
function koneksi2_buka() {
	mysql_select_db(DB2_NAMA,mysql_connect(DB2_HOST,DB2_USER,DB2_PASSWORD));
}

// fungsi untuk menutup koneksi ke database mysql kedua
function koneksi2_tutup() {
	mysql_close(mysql_connect(DB2_HOST,DB2_USER,DB2_PASSWORD));
}
?>

index.php

<?php
	// memanggil berkas konfigurasi.php
	require 'konfigurasi.php';
?>
<h3>Data dari database pertama</h3>
<table border="1">
	<tr>
		<td>Nama</td>
		<td>Tempat Lahir</td>
		<td>Tanggal Lahir</td>
	</tr>
	<?php
	// membuka koneksi dengan database pertama
	koneksi1_buka();
	$query = mysql_query("SELECT * FROM biodata");
	while($data=mysql_fetch_array($query)) {
	?>
	<tr>
		<td><?php echo $data['nama']?></td>
		<td><?php echo $data['tmp_lahir']?></td>
		<td><?php echo $data['tgl_lahir']?></td>
	</tr>
	<?php
		}
		// menutup koneksi dengan database pertama
		koneksi1_tutup();
	 ?>
</table>
<h3>Data dari database kedua</h3>
<table border="1">
	<tr>
		<td>Nama</td>
		<td>Tempat Lahir</td>
		<td>Tanggal Lahir</td>
	</tr>
	<?php
	// membuka koneksi dengan database kedua
	koneksi2_buka();
	$query = mysql_query("SELECT * FROM biodata");
	while($data=mysql_fetch_array($query)) {
	?>
	<tr>
		<td><?php echo $data['nama']?></td>
		<td><?php echo $data['tmp_lahir']?></td>
		<td><?php echo $data['tgl_lahir']?></td>
	</tr>
	<?php
		}
		// menutup koneksi dengan database kedua
		koneksi2_tutup();
	 ?>
</table>
<?php

?>

Langkah 3

Pada browser favorit Anda ketikkan alamat http://localhost/nama_direktori, karena saya menggunakan direktori arifnd/latdb2 maka saya mengetikkan alamat http://localhost/latdb2 maka akan tampil seperti gambar di bawah ini

koneksi-dua-database-2

Unduh kode: koneksi-dua-database.zip

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 🙂

Panduan instalasi XAMPP di Linux

Sebenarnya tutorial ini sudah banyak bertebaran di internet. Tapi, agar saya sendiri mudah mencari dan memberitahukannya ke teman-teman saya yang lain, maka saya tulis kembali di blog ini.

Sekilas Tentang XAMPP

XAMPP adalah salah satu paket webserver yang berisi, Apache, MySQL, PHP, dan phpMyAdmin. Merupakan alternatif paket webserver yang mendukung multi platform (mendukung lebih dari sistem operasi). Selain untuk Linux, XAMPP juga tersedia untuk Windows dan OSX.

Baca lebih lanjut