Program Penggajian Sederhana dengan PHP dan MySQL


Ada begitu banyak ide proyek pemrograman yang dapat kita lakukan dengan PHP dan MySQL dimana semuanya itu berkat keluwesan dan fleksibilitas yang dimiliki oleh kedua teknologi tersebut. Dan pada kesempatan kali ini, saya akan mempersembahkan sebuah program yang dapat digunakan untuk memanipulasi data karyawan berikut dengan sistem penggajiannya. Walau memang terlihat sederhana namun bagi Anda para pemula dan yang sedang membutuhkan program kecil-kecilan untuk tugas dari dosen dapat menggunakan program ini. Semuanya itu tanpa dipungut biaya apapun alias gratis terkecuali rupiah yang harus Anda keluarkan untuk membeli kuota internet atau bayar jasa warnet.

Mekanisme yang terjadi di dalam program adalah user terdaftar dapat menambah data karyawan, menghapus dan mengeditnya. Lalu melakukan transfer gaji ke rekening seluruh karyawan dengan mengisi jumlah jam lembur. Total uang lembur akan dihitung secara otomatis dengan bantuan JavaScript. Dan masih banyak lagilah fitur lainnya.

Awalnya, program ini diperuntukkan untuk tugas mandiri teman sekelas. Namun, mengingat semakin banyaknya program yang telah saya buat untuk mereka sehingga saya merasa harus mendokumentasikan program-program yang saya buat paling tidak dalam sebuah blog.

Untuk lebih jelasnya, silahkan melihat gambar-gambar berikut ini:

gbr-12

gbr-11

gbr-1

gbr-2

gbr-3

gbr-4

gbr-5

gbr-6

gbr-7

gbr-8

gbr-9

gbr-10

Dan untuk kode programnya dapat dilihat berikut ini:

File koneksi.php

<?php
date_default_timezone_set( 'Asia/Jakarta' );
mysql_connect( 'localhost', 'root', '' );
mysql_select_db( 'db_penggajian' );
$act = isset( $_POST['act'] ) ? $_POST['act'] : '';
$page = isset( $_GET['page'] ) ? $_GET['page'] : '';

define( 'WEB', 'Program Penggajian' );
define( 'URL', 'http://localhost/program-penggajian' );

function AturKode( $table, $id, $init ) {
	$data = mysql_fetch_array( mysql_query( "SELECT MAX($id) AS kode FROM {$table}" ) );
	$kode = $data['kode'];
	if( $kode ) {
		$kode = substr( $kode, 0, 5 );
		$kode++;
	} else {
		$kode = $init . "001";
	}
	return $kode;
}

function Rupiah( $id ) {
	return number_format( $id, 0, ", ", "." );
}
?>

File fungsi.php

<?php
include "koneksi.php";

if( $act == 'User Login' ) {
	// cek login user
	$username = isset( $_POST['username'] ) ? $_POST['username'] : '';
	$password = isset( $_POST['password'] ) ? $_POST['password'] : '';
	$salah = array();
	if( empty( $username ) || empty( $password ) ) {
		$salah[] = 'Harap mengisi username dan password.';
	}
	if( !count( $salah ) ) {
		$data = mysql_fetch_array( mysql_query( "SELECT * FROM tb_user WHERE username='{$username}' AND password='".md5( $password )."'" ) );
		if( $data ) {
			$_SESSION['user_id'] = $data['user_id'];
		} else {
			$salah[] = 'Maaf, password Anda salah. Ulangi lagi.';
		}
	}
	if( count( $salah ) ) { $_SESSION['login']['gagal'] = implode( '<br>', $salah ); }
	header( "Location: index.php" );
	exit;
} elseif( $page == 'logout' ) {
	// logout user
	session_destroy();
	header( "Location: index.php" );
	exit;
} elseif( $act == 'Simpan Karyawan' ) {
	// tambah karyawan
	$kode_kar = AturKode( "tb_karyawan", "kode_kar", "KA" ); // kode urut karyawan
	$nama_kar = isset( $_POST['nama_kar'] ) ? $_POST['nama_kar'] : '';
	$alamat_kar = isset( $_POST['alamat_kar'] ) ? $_POST['alamat_kar'] : '';
	$gol_kar = isset( $_POST['gol_kar'] ) ? $_POST['gol_kar'] : '';
	$gaji_utama = isset( $_POST['gaji_utama'] ) ? $_POST['gaji_utama'] : '';
	$no_rek = isset( $_POST['no_rek'] ) ? $_POST['no_rek'] : '';
	$salah = array();
	if( empty( $nama_kar ) || empty( $alamat_kar ) || empty( $gaji_utama ) || empty( $gol_kar ) ) {
		$salah[] = 'Harap mengisi seluruh data karyawan yang diperlukan';
	}
	if( !count( $salah ) ) {
		if( mysql_num_rows( mysql_query( "SELECT * FROM tb_karyawan WHERE kode_kar='{$kode}'" ) ) == 0 ) {
			mysql_query( "INSERT INTO tb_karyawan VALUES( '', '{$kode_kar}', '{$nama_kar}', '{$alamat_kar}', '{$no_rek}', '{$gaji_utama}', '{$gol_kar}' )" );
		} else {
			$salah[] = 'Kode karyawan ini sudah ada sebelumnya';
		}
	}
	if( count( $salah ) ) { $_SESSION['tambah-kar']['gagal'] = implode( '<br>', $salah ); }
	if( count( $salah ) ) {
		header( "Location: index.php?page=tambah-karyawan" );
	} else {
		header( "Location: index.php?page=daftar-karyawan" );
	}
	exit;
} elseif( $act == 'Edit Karyawan' ) {
	$kary_id = isset( $_GET['kary_id'] ) ? $_GET['kary_id'] : '';
	$kary = mysql_fetch_array( mysql_query( "SELECT * FROM tb_karyawan WHERE kary_id='{$kary_id}'" ) );
	$nama_kar = isset( $_POST['nama_kar'] ) ? $_POST['nama_kar'] : '';
	$alamat_kar = isset( $_POST['alamat_kar'] ) ? $_POST['alamat_kar'] : '';
	$gol_kar = isset( $_POST['gol_kar'] ) ? $_POST['gol_kar'] : '';
	$gaji_utama = isset( $_POST['gaji_utama'] ) ? $_POST['gaji_utama'] : '';
	$no_rek = isset( $_POST['no_rek'] ) ? $_POST['no_rek'] : '';
	$salah = array();
	$nama_kar = ( $kary['nama_kar'] == "" ) ? $kary['nama_kar'] : $nama_kar;
	$alamat_kar = ( $kary['alamat_kar'] == "" ) ? $kary['alamat_kar'] : $alamat_kar;
	$no_rek = ( $kary['no_rek'] == "" ) ? $kary['no_rek'] : $no_rek;
	$gaji_utama = ( $kary['gaji_utama'] == "" ) ? $kary['gaji_utama'] : $gaji_utama;
	$gol_kar = ( $kary['gol_kar'] == "" ) ? $kary['gol_kar'] : $gol_kar;
	if( !count( $salah ) ) {
		mysql_query( "UPDATE tb_karyawan SET nama_kar='{$nama_kar}', no_rek='{$no_rek}', alamat_kar='{$alamat_kar}', gaji_utama='{$gaji_utama}', gol_kar='{$gol_kar}' WHERE kary_id='{$kary_id}'" );
	}
	if( count( $salah ) ) { $_SESSION['edit-kar']['gagal'] = implode( '<br>', $salah ); }
	if( count( $salah ) ) {
		header( "Location: index.php?page=edit-karyawan&kary_id=$kary_id" );
	} else {
		header( "Location: index.php?page=daftar-karyawan" );
	}
	exit;
} elseif( $act == 'Transfer Gaji' ) {
	// proses penggajian
	$kary_id = isset( $_GET['kary_id'] ) ? $_GET['kary_id'] : '';
	$jam_lembur = isset( $_POST['jam_lembur'] ) ? $_POST['jam_lembur'] : '';
	$uang_lembur = isset( $_POST['uang_lembur'] ) ? $_POST['uang_lembur'] : '';
	$kode_gaji = AturKode( "tb_gaji", "kode_gaji", "GJ" ); // kode urut gaji
	$bulan_transfer = date("F Y"); // bulan transfer
	$tgl_transfer = date("d/m/Y"); // tanggal transfer
	$jam_transfer = date("H:i:s"); // jam transfer
	$salah = array();
	
	// ambil data karyawan
	$karyawan = mysql_fetch_array( mysql_query( "SELECT * FROM tb_karyawan WHERE kary_id='{$kary_id}'" ) );
	$total_gaji = $uang_lembur + $karyawan['gaji_utama']; // total gaji
	
	if( empty( $jam_lembur ) ) { 
		$salah[] = 'Harap mengisi total jam lembur karyawan'; 
	}
	
	if( !count( $salah ) ) {
		mysql_query( "INSERT INTO tb_gaji VALUES( '', '{$kary_id}', '{$kode_gaji}', '{$jam_lembur}', '{$uang_lembur}', '{$total_gaji}', '{$bulan_transfer}', '{$tgl_transfer}', '{$jam_transfer}' )" );
	}
	if( count( $salah ) ) { $_SESSION['gaji']['gagal'] = implode( '<br>', $salah ); }
	if( count( $salah ) ) {
		header( "Location: index.php?page=transfer-gaji&kary_id=$kary_id" );
	} else {
		header( "Location: index.php?page=data-transfer-gaji&kary_id=$kary_id" );
	}
	exit;
} elseif( $page == 'delete-karyawan' ) {
	$kary_id = isset( $_GET['kary_id'] ) ? $_GET['kary_id'] : '';
	mysql_query( "DELETE FROM tb_karyawan WHERE kary_id='{$kary_id}'" );
	header( "Location: index.php?page=daftar-karyawan" );
	exit;
}
?>

File index.php

<?php
session_start();
$user_id = isset( $_SESSION['user_id'] ) ? $_SESSION['user_id'] : ''; // cek jika user sudah login
$kary_id = isset( $_GET['kary_id'] ) ? $_GET['kary_id'] : '';
include "fungsi.php";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Program Penggajian</title>
<link rel="stylesheet" type="text/css" href="images/style.css" />
<script type="text/javascript">
function hitung_gaji() {
	var jam_lembur = document.transfer.jam_lembur.value;
	var uang_lembur = document.transfer.uang_lembur.value;
	var gaji_utama = document.transfer.gaji_utama.value;
	uang_lembur = ( gaji_utama / 173 ) * jam_lembur;
	document.transfer.uang_lembur.value = Math.floor( uang_lembur );
}

function tanya(id) {
	var aa = confirm( 'Yakin akan menghapus data dengan ID - ' + id + '?' );
	if( aa == true ) return true;
	else return false;
}
</script>
</head>
<body>

<?php
// jika user sudah login
if( $user_id ) {
	// ambil data user dari database
	$userdata = mysql_fetch_array( mysql_query( "SELECT * FROM tb_user WHERE user_id='{$user_id}'" ) );
	
	echo "<div class=\"wrap\">\n";
	echo "	<div class=\"header\">\n";
	echo "		<div class=\"h-left\">\n";
	echo "			<img src=\"".URL."/images/logo.png\" alt=\"Logo\">\n";
	echo "		</div>\n";
	echo "		<div class=\"h-right\">\n";
	echo "			<div class=\"u-info\">\n";
	echo "				<div class=\"u-foto\"><img src=\"".URL."/images/foto.jpg\" alt=\"Foto\"></div>\n";
	echo "				<div class=\"u-text\">\n";
	echo "					<div class=\"u-name\">Welcome, <b>{$userdata['fullname']}</b></div>\n";
	echo "					<div class=\"u-link\"><a href=\"".URL."/index.php?page=logout\">Logout Now</a></div>\n";
	echo "				</div>\n";
	echo "				<div class=\"clear\"></div>\n";
	echo "			</div>\n";
	echo "		</div>\n";
	echo "		<div class=\"clear\"></div>\n";
	echo "	</div>\n";
	
	echo "	<div class=\"page\">\n";
	echo "		<div class=\"p-left\">\n";
	echo "			<div class=\"box\">\n";
	echo "				<h1>Menu Utama</h1>\n";
	echo "				<ul class=\"nav\">\n";
	echo "					<li><a href=\"index.php\">Home</a></li>\n";
	echo "					<li><a href=\"index.php?page=daftar-karyawan\">Daftar Karyawan</a></li>\n";
	echo "					<li><a href=\"index.php?page=tambah-karyawan\">Tambah Karyawan</a></li>\n";
	echo "					<li><a href=\"index.php?page=cari-karyawan\">Cari Karyawan</a></li>\n";
	echo "					<li><a href=\"index.php?page=data-gajian\">Data Gajian</a></li>\n";
	echo "					<li><a href=\"index.php?page=logout\">Logout</a></li>\n";
	echo "				</ul>\n";
	echo "			</div>\n";
	echo "		</div>\n";
	echo "		<div class=\"p-right\">\n";

	if( $page == 'daftar-karyawan' ) {
		echo "		<div class=\"box\">\n";
		echo "			<h1>Daftar Karyawan</h1>\n";
		echo "			<p>Berikut daftar karyawan yang terdapat di database.</p>\n";
		echo "			<table border=\"0\">\n";
		echo "			<tr class=\"head\">\n";
		echo "				<td width=\"30\" align=\"center\">No</td>\n";
		echo "				<td width=\"150\">Nama</td>\n";
		echo "				<td width=\"180\">Alamat</td>\n";
		echo "				<td width=\"90\">Gaji Utama</td>\n";
		echo "				<td width=\"30\" align=\"center\">Gol.</td>\n";
		echo "				<td width=\"80\" align=\"center\">Aksi</td>\n";
		echo "			</tr>\n";
		$sql_karyawan = mysql_query( "SELECT * FROM tb_karyawan" );
		if( mysql_num_rows( $sql_karyawan ) == 0 ) {
			echo "		<tr class=\"no-data\"><td colspan=\"6\">Maaf, belum ada data karyawan saat ini</td></tr>\n";		
		} else {
			$no = 1;
			while( $row_karyawan = mysql_fetch_array( $sql_karyawan ) ) {
				echo "	<tr class=\"data\">\n";
				echo "		<td align=\"center\">{$no}</td>\n";
				echo "		<td><a href=\"".URL."/index.php?page=transfer-gaji&kary_id={$row_karyawan['kary_id']}\" title=\"Transfer Gaji &rarr; {$row_karyawan['nama_kar']}\">{$row_karyawan['nama_kar']}</a></td>\n";
				echo "		<td>{$row_karyawan['alamat_kar']}</td>\n";
				echo "		<td>Rp. ".Rupiah( $row_karyawan['gaji_utama'] )."</td>\n";
				echo "		<td align=\"center\">{$row_karyawan['gol_kar']}</td>\n";
				echo "		<td align=\"center\">\n";
				echo "			<a href=\"".URL."/index.php?page=transfer-gaji&kary_id={$row_karyawan['kary_id']}\" title=\"Transfer Gaji &rarr; {$row_karyawan['nama_kar']}\"><img src=\"".URL."/images/s_okay.png\"></a> &nbsp;\n";
				echo "			<a href=\"".URL."/index.php?page=edit-karyawan&kary_id={$row_karyawan['kary_id']}\" title=\"Ubah Karyawan &rarr; {$row_karyawan['nama_kar']}\"><img src=\"".URL."/images/b_edit.png\"></a> &nbsp;\n";
				echo "			<a href=\"".URL."/index.php?page=delete-karyawan&kary_id={$row_karyawan['kary_id']}\" title=\"Hapus Karyawan &rarr; {$row_karyawan['nama_kar']}\" onclick=\"return tanya('".$row_karyawan['kary_id']."')\"><img src=\"".URL."/images/b_drop.png\"></a></td>\n";
				echo "	</tr>\n";
				$no++;
			}
		}
		echo "			</table>\n";
		echo "			<p>Gunakan tombol Edit dan Delete untuk manipulasi data lebih lanjut.</p>\n";
		echo "		</div>\n";	
	} elseif( $page == 'tambah-karyawan' ) {
		echo "		<div class=\"box\">\n";
		echo "			<h1>Tambah Data Karyawan</h1>\n";
		if( isset( $_SESSION['tambah-kar']['gagal'] ) ) {
			echo "		<div class=\"salah\">".$_SESSION['tambah-kar']['gagal']."</div>\n";
			unset( $_SESSION['tambah-kar']['gagal'] );
		}
		echo "			<form method=\"post\" action=\"\" autocomplete=\"off\" class=\"form\">\n";
		echo "				Kode Karyawan:<br><input type=\"text\" name=\"kode_kar\" value=\"".AturKode( "tb_karyawan", "kode_kar", "KR" )."\" disabled=\"disabled\"><br>\n";
		echo "				Nama Karyawan:<br><input type=\"text\" name=\"nama_kar\" placeholder=\"Isi nama karyawan...\" id=\"nama_kar\" autofocus><br>\n";
		echo "				Alamat Karyawan:<br><input type=\"text\" name=\"alamat_kar\" placeholder=\"Isi alamat karyawan...\" id=\"alamat_kar\"><br>\n";
		echo "				Nomor Rekening Karyawan:<br><input type=\"text\" name=\"no_rek\" placeholder=\"Isi nomor rekening karyawan...\" id=\"no_rek\"><br>\n";
		echo "				Gaji Utama Karyawan:<br><input type=\"text\" name=\"gaji_utama\" placeholder=\"Isi gaji utama karyawan...\" id=\"gaji_utama\"><br>\n";
		echo "				Golongan Karyawan:<br><input type=\"text\" name=\"gol_kar\" placeholder=\"Isi golongan karyawan...\" id=\"gol_kar\"><br>\n";
		echo "				<input type=\"submit\" name=\"act\" value=\"Simpan Karyawan\">\n";
		echo "			</form>\n";
		echo "		</div>\n";
	} elseif( $page == 'edit-karyawan' ) {
		$editkar = mysql_fetch_array( mysql_query( "SELECT * FROM tb_karyawan WHERE kary_id='{$kary_id}'" ) );	
		echo "		<div class=\"box\">\n";
		echo "			<h1>Edit Data Karyawan</h1>\n";
		if( isset( $_SESSION['edit-kar']['gagal'] ) ) {
			echo "		<div class=\"salah\">".$_SESSION['edit-kar']['gagal']."</div>\n";
			unset( $_SESSION['edit-kar']['gagal'] );
		}
		echo "			<form method=\"post\" action=\"\" autocomplete=\"off\" class=\"form\">\n";
		echo "				Kode Karyawan:<br><input type=\"text\" name=\"kode_kar\" value=\"{$editkar['kode_kar']}\" disabled=\"disabled\"><br>\n";
		echo "				Nama Karyawan:<br><input type=\"text\" name=\"nama_kar\" value=\"{$editkar['nama_kar']}\" placeholder=\"Isi nama karyawan...\" id=\"nama_kar\" autofocus><br>\n";
		echo "				Alamat Karyawan:<br><input type=\"text\" name=\"alamat_kar\" value=\"{$editkar['alamat_kar']}\" placeholder=\"Isi alamat karyawan...\" id=\"alamat_kar\"><br>\n";
		echo "				Nomor Rekening Karyawan:<br><input type=\"text\" name=\"no_rek\" value=\"{$editkar['no_rek']}\" placeholder=\"Isi nomor rekening karyawan...\" id=\"no_rek\"><br>\n";
		echo "				Gaji Utama Karyawan:<br><input type=\"text\" name=\"gaji_utama\" value=\"{$editkar['gaji_utama']}\" placeholder=\"Isi gaji utama karyawan...\" id=\"gaji_utama\"><br>\n";
		echo "				Golongan Karyawan:<br><input type=\"text\" name=\"gol_kar\" value=\"{$editkar['gol_kar']}\" placeholder=\"Isi golongan karyawan...\" id=\"gol_kar\"><br>\n";
		echo "				<input type=\"submit\" name=\"act\" value=\"Edit Karyawan\">\n";
		echo "			</form>\n";
		echo "		</div>\n";
	} elseif( $page == 'transfer-gaji' ) {
		if( $kary_id ) {
			$transfer = mysql_fetch_array( mysql_query( "SELECT * FROM tb_karyawan WHERE kary_id='{$kary_id}'" ) );		
			echo "		<div class=\"box\">\n";
			echo "			<h1>Transfer Gaji</h1>\n";
			echo "			<p>Harap hati-hati dalam melakukan penginputan data transfer gaji karyawan.</p>\n";
			echo "			<table border=\"0\">\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td width=\"180\">Kode Karyawan</td>\n";
			echo "				<td width=\"350\"><b>: &nbsp; {$transfer['kode_kar']}</b></td>\n";
			echo "				<td width=\"140\">Kode Penggajian</td>\n";
			echo "				<td width=\"130\"><b>: ".AturKode( "tb_gaji", "kode_gaji", "GJ" )."</b></td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Nama Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer['nama_kar']}</b></td>\n";
			echo "				<td>Bulan Penggajian</td>\n";
			echo "				<td><b>: ".date("F Y")."</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Alamat Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer['alamat_kar']}</b></td>\n";
			echo "				<td>Tanggal Transfer</td>\n";
			echo "				<td><b>: ".date("d/m/Y")."</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Gaji Utama</td>\n";
			echo "				<td><b>: &nbsp; Rp. ".Rupiah( $transfer['gaji_utama'] )."</b></td>\n";
			echo "				<td>Jam Transfer</td>\n";
			echo "				<td><b>: ".date("H:i:s")."</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Golongan Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer['gol_kar']}</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Nomor Rekening</td>\n";
			echo "				<td><b>: &nbsp; {$transfer['no_rek']}</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			</table>\n";
			echo "			<p>Gunakan form di bawah untuk melakukan transfer gaji ke rekening karyawan.</p>\n";
			echo "		</div>\n";
			
			echo "		<div class=\"box\">\n";
			if( isset( $_SESSION['gaji']['gagal'] ) ) {
				echo "		<div class=\"salah\">".$_SESSION['gaji']['gagal']."</div>\n";
				unset( $_SESSION['gaji']['gagal'] );
			}
			
			echo "			<form method=\"post\" action=\"\" autocomplete=\"off\" class=\"form\" name=\"transfer\">\n";
			echo "				<input type=\"text\" name=\"jam_lembur\" placeholder=\"Isi total jam lembur\" onkeyup=\"hitung_gaji()\" onkeydown=\"hitung_gaji()\" onchange=\"hitung_gaji()\"> &nbsp; \n";
			echo "				<input type=\"text\" name=\"gaji_utama\" value=\"{$transfer['gaji_utama']}\" style=\"display:none;\">\n";
			echo "				<input type=\"text\" name=\"kode_gaji\" value=\"".AturKode( "tb_gaji", "kode_gaji", "GJ" )."\" style=\"display:none;\">\n";
			echo "				<input type=\"text\" name=\"uang_lembur\" placeholder=\"Uang Lembur\"><br>\n";
			echo "				<input type=\"submit\" name=\"act\" value=\"Transfer Gaji\">\n";
			echo "			</form>\n";
			echo "		</div>\n";
		}
	} elseif( $page == 'data-transfer-gaji' ) {
		if( $kary_id ) {
			echo "		<div class=\"box\">\n";
			echo "			<h1>Data Transfer Gaji</h1>\n";
			echo "			<p>Berikut ini adalah detail proses transfer gaji bulanan untuk karyawan:</p>\n";
			$transfer_gaji = mysql_fetch_array( mysql_query( "SELECT * FROM tb_karyawan k,tb_gaji g WHERE k.kary_id=g.kary_id AND k.kary_id='{$kary_id}'" ) );
			echo "			<table border=\"0\">\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td width=\"180\">Kode Karyawan</td>\n";
			echo "				<td width=\"350\"><b>: &nbsp; {$transfer_gaji['kode_kar']}</b></td>\n";
			echo "				<td width=\"140\">Kode Penggajian</td>\n";
			echo "				<td width=\"130\"><b>: {$transfer_gaji['kode_gaji']}</b></td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Nama Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer_gaji['nama_kar']}</b></td>\n";
			echo "				<td>Bulan Penggajian</td>\n";
			echo "				<td><b>: {$transfer_gaji['bulan_transfer']}</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Alamat Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer_gaji['alamat_kar']}</b></td>\n";
			echo "				<td>Tanggal Transfer</td>\n";
			echo "				<td><b>: {$transfer_gaji['tgl_transfer']}</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Gaji Utama</td>\n";
			echo "				<td><b>: &nbsp; Rp. ".Rupiah( $transfer_gaji['gaji_utama'] )."</b></td>\n";
			echo "				<td>Jam Transfer</td>\n";
			echo "				<td><b>: {$transfer_gaji['jam_transfer']}</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Golongan Karyawan</td>\n";
			echo "				<td><b>: &nbsp; {$transfer_gaji['gol_kar']}</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Nomor Rekening</td>\n";
			echo "				<td><b>: &nbsp; {$transfer_gaji['no_rek']}</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\"><td colspan=\"4\"></td></tr>\n";			
			
			echo "			<tr class=\"data\">\n";
			echo "				<td>Total Jam Lembur</td>\n";
			echo "				<td><b>: &nbsp; {$transfer_gaji['jam_lembur']} Jam</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Uang Lembur</td>\n";
			echo "				<td><b>: &nbsp; Rp. ".Rupiah( $transfer_gaji['uang_lembur'] )."</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			<tr class=\"data\">\n";
			echo "				<td>Total Gaji</td>\n";
			echo "				<td><b>: &nbsp; Rp. ".Rupiah( $transfer_gaji['total_gaji'] )."</b></td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "				<td>&nbsp;</td>\n";
			echo "			</tr>\n";
			echo "			</table>\n";
			echo "			<p><a href=\"index.php?page=daftar-karyawan\">Klik untuk transfer gaji karyawan</a></p>\n";
			echo "		</div>\n";
		}
	} elseif( $page == 'data-gajian' ) {
		echo "		<div class=\"box\">\n";
		echo "			<h1>Data Gajian Karyawan</h1>\n";
		echo "			<p>Berikut data gajian karyawan untuk bulan penggajian: <b>".date( "F Y" )."</b></p>\n";
		echo "			<table border=\"0\">\n";
		echo "			<tr class=\"head\">\n";
		echo "				<td width=\"25\" align=\"center\">No</td>\n";
		echo "				<td width=\"180\">Nama</td>\n";
		echo "				<td width=\"90\">Rekening</td>\n";
		echo "				<td width=\"80\">Kode Gaji</td>\n";
		echo "				<td width=\"100\">Transfer</td>\n";
		echo "				<td width=\"60\" align=\"center\">Tanggal</td>\n";
		echo "				<td width=\"60\" align=\"center\">Jam</td>\n";
		echo "			</tr>\n";
		$bulan_transfer = date("F Y"); // bulan transfer
		$data_gajian = mysql_query( "SELECT * FROM tb_karyawan k,tb_gaji g WHERE k.kary_id=g.kary_id AND g.bulan_transfer='{$bulan_transfer}'" );
		if( mysql_num_rows( $data_gajian ) == 0 ) {
			echo "		<tr class=\"no-data\"><td colspan=\"7\">Maaf, belum ada data transfer gajian saat ini</td></tr>\n";		
		} else {
			$no = 1;
			while( $row_gaji = mysql_fetch_array( $data_gajian ) ) {
				echo "	<tr class=\"data\">\n";
				echo "		<td align=\"center\">{$no}</td>\n";
				echo "		<td>{$row_gaji['nama_kar']}</td>\n";
				echo "		<td>{$row_gaji['no_rek']}</td>\n";
				echo "		<td>{$row_gaji['kode_gaji']}</td>\n";
				echo "		<td>Rp. ".Rupiah( $row_gaji['gaji_utama'] )."</td>\n";
				echo "		<td align=\"center\">{$row_gaji['tgl_transfer']}</td>\n";
				echo "		<td align=\"center\">{$row_gaji['jam_transfer']}</td>\n";
				echo "	</tr>\n";
				$no++;
			}
		}
		echo "			</table>\n";
		echo "			<p>&nbsp;</p>\n";
		echo "		</div>\n";
	} elseif( $page == 'cari-karyawan' ) {
		echo "		<div class=\"box\">\n";
		echo "			<h1>Pencarian Data Karyawan</h1>\n";
		echo "			<form method=\"post\" action=\"\" autocomplete=\"off\" class=\"form\">\n";
		echo "				<input type=\"text\" name=\"kata\" id=\"kata\" placeholder=\"Ketik kata kunci pencarian berdasarkan nama, kode, dan golongan...\" autofocus><br>\n";
		echo "				<input type=\"submit\" name=\"act\" value=\"Cari Data\">\n";
		echo "			</form>\n";
		echo "		</div>\n";
		if( $act == 'Cari Data' ) {
			$kata = isset( $_POST['kata'] ) ? $_POST['kata'] : '';
			$katas = ( $kata == "" ) ? "Kata Kunci Pencarian Tidak Disebutkan" : $kata;
			$cari = mysql_query( "SELECT * FROM tb_karyawan WHERE nama_kar LIKE '%$kata%' OR kode_kar LIKE '%$kata%' OR gol_kar LIKE '%$kata%'" );
			echo "		<div class=\"box\">\n";
			echo "			<h1>Daftar Hasil Pencarian Karyawan</h1>\n";
			echo "			<p>Kata Kunci: <b>{$katas}</b> | Jumlah Data: <b>".mysql_num_rows( $cari )."</b> Data</p>\n";
			echo "			<table border=\"0\">\n";
			echo "			<tr class=\"head\">\n";
			echo "				<td width=\"30\" align=\"center\">No</td>\n";
			echo "				<td width=\"150\">Nama</td>\n";
			echo "				<td width=\"180\">Alamat</td>\n";
			echo "				<td width=\"90\">Gaji Utama</td>\n";
			echo "				<td width=\"30\" align=\"center\">Gol.</td>\n";
			echo "				<td width=\"90\" align=\"center\">Rekening</td>\n";
			echo "			</tr>\n";
			if( mysql_num_rows( $cari ) == 0 ) {
				echo "		<tr class=\"no-data\"><td colspan=\"6\">Maaf, belum ada data karyawan saat ini</td></tr>\n";		
			} else {
				$no = 1;
				while( $datacari = mysql_fetch_array( $cari ) ) {
					echo "	<tr class=\"data\">\n";
					echo "		<td align=\"center\">{$no}</td>\n";
					echo "		<td><a href=\"".URL."/index.php?page=transfer-gaji&kary_id={$datacari['kary_id']}\" title=\"Transfer Gaji &rarr; {$datacari['nama_kar']}\">{$datacari['nama_kar']}</a></td>\n";
					echo "		<td>{$datacari['alamat_kar']}</td>\n";
					echo "		<td>Rp. ".Rupiah( $datacari['gaji_utama'] )."</td>\n";
					echo "		<td align=\"center\">{$datacari['gol_kar']}</td>\n";
					echo "		<td align=\"center\">{$datacari['no_rek']}</td>\n";
					echo "	</tr>\n";
					$no++;
				}
			}
			echo "			</table>\n";
			echo "			<p>Hasil pencarian data.</p>\n";
			echo "		</div>\n";
		}
	} else {
		echo "		<div class=\"box\">\n";
		echo "			<h1>Selamat Datang di Program Penggajian PT. Bluth Company</h1>\n";
		echo "			<p>Program ini merupakan sebagai prasyarat utama bagi mahasiswa dalam menyelesaikan mata kuliah Perancangan dan Pemrograman Web yang diselenggarakan di Kampus Universitas Putera Batam.</p>\n";
		echo "			<p>Pada program ini, dikembangkan suatu sistem sederhana untuk mengolah data karyawan beserta dengan proses penggajiannya dimana sistem dapat menghitung total uang lembur secara otomatis. Berikut ini adalah daftar fitur-fitur yang dimasukkan ke dalam program ini:</p>\n";
		echo "			<ul class=\"fitur\">\n";
		echo "				<li>Fitur login dan logout bagi user terdaftar</li>\n";
		echo "				<li>Fitur tambah data karyawan</li>\n";
		echo "				<li>Fitur edit data karyawan</li>\n";
		echo "				<li>Fitur hapus data karyawan</li>\n";
		echo "				<li>Fitur transfer gaji bulanan ke rekening karyawan</li>\n";
		echo "				<li>Fitur pencarian data karyawan</li>\n";
		echo "				<li>Fitur menampilkan data gajian untuk setiap bulan tertentu yang disesuaikan dengan tanggal di sistem komputer</li>\n";
		echo "				<li>Fitur untuk menghitung total uang lembur secara otomatis</li>\n";
		echo "			</ul>\n";
		
		echo "			<p>Demikianlah kiranya dengan adanya program ini dapat memberikan wawasan dan pengetahuan baru bagi kita semua.</p>\n";
		echo "		</div>\n";	
	}
	echo "		</div>\n";
	echo "		<div class=\"clear\"></div>\n";
	echo "	</div>\n";
	echo "	<div class=\"footer\">\n";
	echo "		All Rights Reserved | Copyright &copy; - ".date("Y")." | Program Penggajian by: Yuliatin Production\n";
	echo "	</div>\n";
	echo "</div>\n";	
} else {
	// user sama sekali belum login, tampilkan form login
	echo "<div class=\"login-box\">\n";
	echo "	<div class=\"login-logo\">\n";
	echo "		<img src=\"".URL."/images/logo.png\" alt=\"Logo\">\n";
	echo "	</div>\n";
	echo "	<div class=\"login-form\">\n";
	echo "		<div class=\"login-info\">Silahkan login dengan mengisi username dan password</div>\n";
	echo "		<form method=\"post\" action=\"\" name=\"login\" autocomplete=\"off\">\n";
	echo "			<input type=\"text\" name=\"username\" placeholder=\"Ketik Username...\" id=\"username\" autofocus><br>\n";
	echo "			<input type=\"password\" name=\"password\" placeholder=\"Ketik Password...\" id=\"password\"><br>\n";
	echo "			<input type=\"submit\" name=\"act\" value=\"User Login\" onclick=\"cek_login();\">\n";
	echo "		</form>\n";
	if( isset( $_SESSION['login']['gagal'] ) ) {
		echo "	<div class=\"error-login\">".$_SESSION['login']['gagal']."</div>\n";
		unset( $_SESSION['login']['gagal'] );
	}
	echo "	</div>\n";
	echo "	<div class=\"copy\">All Rights Reserved | Copyright &copy; - ".date("Y")." | Program Penggajian by: Yuliatin</div>\n";
	echo "</div>\n";
}
?>

</body>
</html>

Dan terakhir file style.css

/* CSS Document */
*{
	margin:0;
	padding:0;
	outline:none;
}

body{
	font-size:13px;
	font-family:Arial, Helvetica, sans-serif;
	color:#6F6F6F;
	background:#EBEFF3;
}

a{
	color:#0099FF;
	text-decoration:none;
}
a:hover{
	color:#FF0000;
	text-decoration:none;
}
p{
	margin:0;
	padding:10px;
	line-height:18px;
}

table{
	margin:0;
	width:100%;
	border-collapse:collapse;
	display:block;
}
td{
	padding:0 10px;
	border-bottom:1px solid #DDDDDD;
}
tr:nth-child(odd){
	background:#FFFFFF;
}
tr:nth-child(even){
	background:#F4F4F4;
}
tr.head{
	height:40px;
	font-weight:bold;
	color:#000;
	background:-moz-linear-gradient(top, #E5F1FF 3%, #BDDBFD 3%, #90C3FC 100%);
	border-top:1px solid #89C7EA;
	border-bottom:1px solid #64B0DB;
	text-shadow:0px 1px 0px #DEF1FB;
}
tr.data{
	height:35px;
	color:#000;
}
tr.no-data{
	height:40px;
	font-weight:bold;
	color:#ff0000;
	text-align:center;
}


ol,ul{
	list-style-type:none;
}
input[type="text"],
input[type="password"]{
	margin:0;
	padding:10px;
	border-radius:4px;
	box-shadow:0px 0px 0px 4px #EFEFEF;
	border:1px solid #C6C6C6;
	font-size:14px;
	font-family:Arial, Helvetica, sans-serif;
}
input[type="text"]:focus,
input[type="password"]:focus{
	box-shadow:0px 0px 0px 4px #D6E8FC;
	border:1px solid #A5C6EB;
}

input[type="submit"],
input[type="reset"]{
	margin:0;
	padding:6px 20px;
	border-radius:4px;
	box-shadow:0px 0px 0px 4px #CFE4FB;
	border:1px solid #6EA9EB;
	font-size:16px;
	font-family:'calibri';
	font-weight:bold;
	cursor:pointer;
	background:-moz-linear-gradient(top, #E5F1FF 3%, #BDDBFD 3%, #90C3FC 100%);
	color:#1A6BC7;
	text-shadow:0px 1px 0px #CDE2FA;
	text-transform:uppercase;
}

.login-box{
	margin:auto;
	top:5%;
	left:0;
	bottom:25%;
	right:0;
	position:absolute;
	width:400px!important;
}
.login-logo{
	margin:0 0 20px 0;
	text-align:center;
}
.login-form{
	margin:auto;
	border:1px solid #80ADE0;
	background:#FFFFFF;
	box-shadow:0px 0px 0px 5px #C1DCF9;
	border-radius:10px;
}
.login-info{
	margin:0;
	padding:15px 20px;
	border-bottom:1px solid #C0C0C0;
	background:-moz-linear-gradient(top, #FFFFFF 3%, #F5F5F5 3%, #EBEBEB 100%);
	font-size:14px;
	text-align:center;
	border-radius:10px 10px 0 0;
	text-shadow:0px 1px 0px #fff;
	color:#000;
}
.login-form form{
	margin:0;
	padding:20px;
}
.login-form form input[type="text"],
.login-form form input[type="password"]{
	width:88%;
	margin:0 0 20px 0;
	padding:10px 0 10px 40px;
}
.login-form form input[type="text"]{
	background: url('../images/icon-1.png') no-repeat 2%;
}
.login-form form input[type="password"]{
	background: url('../images/icon-2.png') no-repeat 2%;
}
.error-login{
	margin:0;
	padding:13px 20px;
	background:-moz-linear-gradient(top, #FFFFFF 3%, #F5F5F5 3%, #EBEBEB 100%);
	text-align:center;
	font-size:14px;
	font-weight:bold;
	color:#FF0000;
	border-top:1px solid #C0C0C0;
	border-radius:0 0 10px 10px;
	text-shadow:0px 1px 0px #fff;
}
.copy{
	font-size:11px;
	text-align:center;
	text-shadow:0px 1px 0px #fff;
	margin:15px 0 0 0;
}

.wrap{
	margin:20px auto;
	width:900px!important;
	text-align:justify;
}
.header{
	height:100px;
	border-bottom:1px solid #CCDCEC;
	box-shadow:0px 1px 0px #F5F9FD;
}
.h-left{
	float:left;
	width:400px!important;
}
.h-right{
	float:right;
	width:500px!important;
}
.clear{
	clear:both;
}
.u-info{
	float:right;
	position:relative;
	margin:20px 0 0 0;
}
.u-foto{
	float:left;
	width:70px!important;
}
.u-foto img{
	border-radius:6px;
}
.u-text{
	float:right;
	width:250px!important;
}
.u-name{
	font-size:20px;
	font-weight:normal;
	padding:0 0 5px 0;
}
.u-link{
	padding:0 0 10px 0;
}

.page{
	margin:20px 0;
	padding:0;
}
.p-left{
	float:left;
	width:230px;
}
.p-right{
	float:right;
	width:650px!important;
}
.box{
	margin:0 3px 20px 3px;
	border:1px solid #B8AFAF;
	background:#FFFFFF;
	box-shadow:0px 0px 0px 4px #CCD4DB;
	border-radius:5px;
}
.box h1{
	margin:0;
	padding:10px 10px;
	border-bottom:1px solid #C0C0C0;
	background:-moz-linear-gradient(top, #FFFFFF 3%, #F5F5F5 3%, #EBEBEB 100%);
	font-size:16px;
	border-radius:10px 10px 0 0;
	text-shadow:0px 1px 0px #fff;
	color:#000;
}
.box .nav li{
	line-height:20px;
}
.box .nav li a{
	display:block;
	padding:9px 0 9px 30px;
	font-weight:bold;
	font-size:12px;
	border-bottom:1px solid #C0C0C0;
	background:url('../images/b_minus.png') no-repeat 5% 15px;
	transition:all .25s ease-in-out;
}
.box .nav li a:hover{
	padding:9px 0 9px 40px;
}
.box .nav li:last-child a{
	border-bottom:none;
}

.box .form{
	margin:0;
	padding:10px 20px;
}
.box .form input[type="text"],
.box .form input[type="submit"]{
	margin:7px 0 15px 4px;
}
.box .form input#nama_kar,
.box .form input#alamat_kar,
.box .form input#kata{
	width:93%;
}
.box .form input#gaji_utama,
.box .form input#gol_kar,
.box .form input#no_rek{
	width:50%;
}

.salah{
	margin:0;
	padding:13px 20px;
	background:-moz-linear-gradient(top, #FFFFFF 3%, #F5F5F5 3%, #EBEBEB 100%);
	text-align:center;
	font-size:14px;
	font-weight:bold;
	color:#FF0000;
	border-bottom:1px solid #C0C0C0;
	text-shadow:0px 1px 0px #fff;
}
.footer{
	margin:30px 0;
	padding:10px 20px;
	text-align:center;
	border:1px solid #B8AFAF;
	background:#FFFFFF;
	box-shadow:0px 0px 0px 3px #DFDBDB;
	border-radius:5px;
}

.fitur{
	padding:0;
	margin:10px 0;
}
.fitur li{
	line-height:20px;
	font-weight:bold;
	padding:10px 10px 10px 30px;
	transition:all .25s ease-in-out;
	color:#417A03;
	border-bottom:1px solid #4590DA;
	border-left:13px solid #72B8FD;
	position:relative;
}
.fitur li:nth-child(odd){
	background:#FBFBFB;
}
.fitur li:nth-child(even){
	background:#EEF6FE;
}
.fitur li:after{
	content:'';
	position:absolute;
	top:31%;
	left:0%;
	width:0;
	height:0;
	border-left:9px solid #72B8FD;
	border-top:9px solid transparent;
	border-bottom:9px solid transparent;
}
.fitur li:first-child{
	border-top:1px solid #A1CEFB;
}
.fitur li:hover{
	color:#000;
	padding:10px 10px 10px 40px;
	cursor:move;
	border-left:20px solid #4590DA;
	background:#EEEEEE;
}
.fitur li:hover:after{
	content:'';
	position:absolute;
	top:31%;
	left:0%;
	width:0;
	height:0;
	border-left:9px solid #4590DA;;
	border-top:9px solid transparent;
	border-bottom:9px solid transparent;
}

Dan untuk mendownload program dapat dikunjungi di Google Drive berikut:

Download File Latihan Program Penggajian

Catatan:
Mungkin program ini memang masih sangat sederhana dan belum layak untuk disebut sebagai sebuah sistem namun tidak ada salahnya untuk mempelajari mekanisme yang ditempuh dan diterapkan dalam mengembangkan program tersebut. Paling tidak dengan ide program ini dapat membantu mereka yang mungkin lagi membutuhkan program sejenis.

Salam dan selamat mencoba…

76 thoughts on “Program Penggajian Sederhana dengan PHP dan MySQL

    • nentuin username dan password sendiri gimana ya.?

      kalo untuk password kan memang nentuin sendiri
      kalo untuk username bisa-bisa aja, kalo saya biasanya username dibentuk dari initial nama depan yaitu huruf depannya aja digabungkan (concatenate) dengan nama belakang, tapi semua karakter spasi sudah dihilangkan. contohnya seperti berikut:

      misal nama depannya: Ucok
      nama belakangnya: Raja Minyak
      target username yang kita tentukan adalah: urajaminyak

      <?php
      $nama_depan = mysql_real_escape_string( $_POST['nama_depan'] );
      $nama_belakang = mysql_real_escape_string( $_POST['nama_belakang '] );
      $nd = strtolower( substr( $nama_depan, 0, 1 ) );
      $nb = strtolower( str_replace( ' ', '', $nama_belakang ) );
      
      $username = $nd . $nb;
      
      mysql_query( "... PERINTAH SIMPAN ..." );
      ?>
      

      Cara lain bisa menggunakan javascript dimana username akan tercipta secara otomatis sesuai dengan isi yang dimasukkan dalam kotak isian nama depan maupun nama belakang.

      Demikian mas bro, semoga dapat membantu…

      btw, thanks for visiting my blog and hpoe you find something new for your programming learning…

    • ok mas bro, lanjutkan…
      memang semuanya harus diawali dengan niat dan passion dan yang penting selalu memulai dari bawah agar pembelajarannya fokus dan terstruktur.

      btw, thanks for visiting my blog mas broo…

    • ok mas bro, lanjutkan…

      dengan senang hati, sebisanya akan saya support mas bro, btw thanks for coming to my blog…
      keep spirit in learning something new in programming…

  1. permisi mas,numpang nanya.mas gimana ya buat program karyawan, misalkan ada karyawan dia bekerja lembur itu gaji nya itu ketambah,dari gaji biasanya yg seharusnya dia dapat itu gimana buat programnya

    • Bukankah program yang saya post di atas sudah bisa mencakup kebutuhan Anda , Mbak Nur…?

      Pada program di atas, jumlah total gaji merupakan akumulasi dari gaji utama dan total lembur(total lembur didapat dari total jam lembur dikali dengan gaji utama tersebut, ya tergantung rumus yang ingin kita buat sich…)

      Begitu…

      BTW, thanks for visiting my real simple blog, hope you can find something useful for your needs…

    • Iya mas bro, untuk print sebenarnya dapat langsung menekan tombol Control+P atau menambahkan perintah javascript dengan event onclick sebagai berikut:

      <a href="javascript:void(0);" onclick="window.print">Print this page</a>

      Terkecuali kalau memang yang akan diprint adalah dengan rancangan page tertentu tanpa menampilkan semua elemen yang ada di dalam semua halaman seperti menu/navigasi atau lainnya maka tampilannya bisa didaur ulang.

      Btw, semoga bermamfaat dan thanks for your visit to my blog.

    • Mas Bro, coba dicek nama databasenya dan dicocokkan baik yang ada di phpmyadmin maupun yang ada di kode program.

      Demikian, semoga bermamfaat. Thanks for visiting my blog…

  2. Saya coba utak-atik untuk disesuaikan dg kebutuhan saya, malah hancur jadinya. Gimana klo gajinya itu ditentukan berdasarkan tabel / matriks gaji yg sudah ditentukan? Bagaimana bentuk programnya ya Cik Gu?

    • Hy Rudy, saya agak bingung dengan istilah tabel / matriks gaji yang sudah ditentukan. Bisakah digambarkan lebih detail lagi kebutuhan anda…

      btw, thanks for visiting my blog

    • sebelum saya upload udah saya pastikan tidak ada error bro, apalagi karena memang itu untuk tujuan tugas mandiri teman kuliah. Jadi saya yaki sudah tidak ada bug lagi…

    • Lanjut mas/mbak, semoga sukses dengan tugas kuliahnya. Jangan sungkan-sungkan jika ada yang ingin ditanyakan, saya akan bantu sebisa mungkin. Btw, thanks for visiting my blog.

    • Salam juga bro Lutfi, terimakasih juga telah berkunjung. Saya juga masih newbie kok. Mohon dimaklumi jika blog ini sudah lama tidak diupdate, lagi banyak arisan. hahaha…,

      Btw, jadi mau kirim scriptmu?. Siapa tahu saya bisa bantu update baik dari segi front-end maupun back-end sistemnya.

  3. mas saya mau mau bikin tugas akhir. tadinya saya pengen bikin tentang sistem informasi sekolah menggunakan PHP. tapi saya blm begitu paham maklum dari awal lagi.. mohon bantuannya

    • So, apa yang bisa saya bantu?. Pada dasarnya sistem informasi sekolah adalah sebuah sistem yang sangat kompleks dan memerlukan kesabaran ekstra dalam mengerjakannya. Perlu dirancang planning yang matang sebelum memutuskan untuk mengambil bidang ini. Karena sekolah pun banyak jenisnya, apakah tingkat TK, SD, SMP, SMU, maupun kampus. Masing-masing instansi sekolah itu berbeda pula bentuk perancangan databasenya dan tingkat kebutuhan fitur-fiturnya.

      Sistem informasi sekolah sangat kompleks dan bisa mencakup beberapa sub sistem lainnya. Misalnya Sistem Informasi Nilai Akademik, Sistem Informasi Absensi, Sistem Informasi Ujian, dan lain sebagainya. Jadi, perlu dikaji lebih matang lagi sistem seperti apa yang dimaksud agar ke depannya hasilnya bisa maksimal dan terarah.

  4. saya mau ganti paswort yuli menjadi paswort saya sendiri gimana ya gan?cara merubah nya?sudah 4 kali saya rubah tapi slalu gagal?

    • Harusnya mau mbak Ristiza, sebaiknya kalau ada error mohon tanpilkan kode PHP Anda jadi saya dan juga pengunjung yang lain bisa saling cross-check di bagian mana yang salah. Salam,

    • bantuin ya mungkin diletakan nya seperti ini
      htdocs/folder/aplikasi-penggajian/
      apakah seperti itu ?
      kalo iya coba naro nya seperti ini biar gak terjadi error

      htdocs/aplikasi-penggajian/

      terimakasih

  5. Kak, kenapa masih eror ya? keterangan erornya: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\program-penggajian\koneksi.php:3 Stack trace: #0 C:\xampp\htdocs\program-penggajian\fungsi.php(2): include() #1 C:\xampp\htdocs\program-penggajian\index.php(5): include(‘C:\\xampp\\htdocs…’) #2 {main} thrown in C:\xampp\htdocs\program-penggajian\koneksi.php on line 3
    saya udah buat databasenya menurut yang ada di download, terus saya juga nyimpennya di htdocs. makasih kak….mohon bantuannya

    • 1. Coba cek versi PHP-nya. Jika sudah di atas versi 7, maka sebaiknya ganti dengan mysqli atau PDO karena perintah mysql sudah di-deprecated di versi tersebut.

      Silahkan buat sebuah file PHP dan ketik dengan:

      <?php
      echo phpinfo();
      ?>
      

      untuk melihat versi PHP yang tertanam di servermu.

      2. Atau mungkin ekstension MySQL belum diload dengan sempurna. Buka php.ini dan cek di baris perintah extension=php_mysql.dll dan extension=php_mysqli.dll tidak diberi tanda pagar (#). Hapus saja tanda tersebut. Lalu restart servermu.

      3. Faktor lain, pastikan nilai dari alamat direktori di bagian perintah extension_dir di file php.ini memang sudha tepat. Refer ke item 2 untuk masuk ke file php.ini

      Pastinya, mungkin masih banyak hal yang menjadi faktor penyebab. Silahkan di-googling saja biar cepat ketemu solusinya.

      Semoga bisa membantu, salam…

  6. udah di coba udah bikin database jg trus udah masuk form login, tapi knpa saya ketik username yuli dan password yuli tetap tidak bisa login kmbali peringatan mengisi password dan username lagi…itu gmana ya kk? terus kalo pasword sm username bisa diganti gak ya k? cranya gmna?

  7. Kenapa saat menghitung hasil total gaji dengan menambahkan uang lembur tapi hasilnya malah salah ya gan, makasih. mohon dibalas

Leave a reply to Lutfi Rohmansyah Cancel reply