Anda di halaman 1dari 24

Aplikasi Database Pegawai Sederhana

dengan PHP dan MySQL

6 Votes

Salam Blogging,

Baru-baru ini saya telah menyelesaikan sebuah aplikasi database pegawai sederhana dengan
menggunakan beberapa bahasa pemrograman seperti PHP, MySQL, CSS, dan JavaScript.
Aplikasi ini menitikberatkan kepada implementasi PHP dan MySQL dalam pengembangan
aplikasi dinamis dan interaktif yang dalam hal ini adalah pengolahan data pegawai yang
meliputi aktivitas penambahan data pegawai, ubah data, menghapus data serta menampilkan
data pegawai.

Untuk menunjang proses pengembangan telah dikembangkan beberapa fungsi-fungsi buatan


yang bertujuan untuk mempermudah dan mempercepat proses penulisan kode program.

Berikut adalah beberapa tampilan screenshotnya:

Dan beberapa fitur lainnya yang sengaja tidak ditampilkan di halaman ini.

Sedangkan untuk struktur tablenya, dapat dilihat sebagai berikut:

1
2 CREATE TABLE IF NOT EXISTS `pegawai` (
3 `pegawai_id` int(11) NOT NULL AUTO_INCREMENT,
4 `kode` varchar(10) NOT NULL,
`nama` varchar(50) NOT NULL,
5 `alamat` varchar(100) NOT NULL,
6 `gaji` double NOT NULL,
7 `sex` varchar(30) NOT NULL,
8 `status` varchar(30) NOT NULL,
`jabatan` varchar(40) NOT NULL,
9 `photo` varchar(50) NOT NULL,
10 `tanggal_gabung` int(11) NOT NULL,
11 PRIMARY KEY (`pegawai_id`)
12) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
13
Kemudian buat sebuah file bernama config.php yang berfungsi untuk mengatur konfigurasi
awal website sebagai berikut:

1
2
3 <?php
4 /**
* Aplikasi Pegawai Sederhana
5 *
6 * @file config.php
7 * @author Andrew Hutauruk | https://blizze.wordpress.com
8 * @date 17 Aug 2012 23:40
*/
9
10/**
11 * Koneksi ke server dan memilih database
12 */
13mysql_connect( 'localhost', 'root', '' );
14mysql_select_db( 'pegawai' );
15/**
16 * Fungsi sederhana untuk mempersingkat penulisan kdoe program
17 * Bersifat opsional, tetap bisa menggunakan fungsi PHP pada umumnya
18 */
19function hajar_coy( $query ) { return mysql_query( $query ); }
function itung_jumlahnya( $query ) { return mysql_num_rows( $query ); }
20function uraikan( $query ) { return mysql_fetch_array( $query ); }
21function bersihkan( $query ) { return mysql_real_escape_string( $query );
22}
23
24define( 'URL', 'http://localhost/pegawai' );
25define( 'NAME', 'Aplikasi Data Pegawai Sederhana' );
$option = isset( $_GET['option'] ) ? $_GET['option'] : '';
26$action = isset( $_POST['action'] ) ? $_POST['action'] : '';
27
28?>
29
30

Dan file utama yaitu index.php yang berfungsi sebagai tempat untuk melakukan interaksi
antara user dengan program kita yaitu sebagai berikut:

1 <?php
2 /**
3 * Aplikasi Pegawai Sederhana
*
4 * @file function.php
5 * @author Andrew Hutauruk | https://blizze.wordpress.com
6 * @date 17 Aug 2012 23:40
7 */
8
9 session_start();
10/**
11 * Panggil file config.php
12 */
13require( dirname(__FILE__).'/function.php' );
14
15if( $action == 'Simpan Data Pegawai' ) { simpan_data_pegawai();}
16elseif( $action == 'Ubah Data Pegawai' ) { update_data_pegawai(); }
elseif( $option == 'delete-pegawai' ) { hapus_data_pegawai(); }
17?>
18
19
20<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
21"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
22<html xmlns="http://www.w3.org/1999/xhtml">
23<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
24/>
25<title>
26<?php echo NAME; ?>
27</title>
<script type="text/javascript">
28function hapus(id){
29 konfirmasi = confirm('Apakah Anda yakin ingin menghapus data pegawai
30dengan kode: '+id+' ?' );
31 if( konfirmasi == true ) return true;
else return false;
32}
33</script>
34<link rel="stylesheet" type="text/css" href="<?php echo URL;?>/gaya.css"
35media="all" />
36</head>
37
<body>
38<div class="atas">
39 <div class="logo">Aplikasi Pegawai</div>
40</div>
41
42<div class="bungkus">
43 <div class="kiri">
<div class="box">
44 <h1>Menu Utama</h1>
45 <ul id="urut">
46 <?php
47 if($option == '') { echo "<li><a href=\"".URL."/\"
class=\"active\">Beranda</a></li>\n"; }
48 else { echo "<li><a
49href=\"".URL."/\">Beranda</a></li>\n"; }
50 if($option == 'tambah-pegawai') { echo "<li><a
51href=\"".URL."/?option=tambah-pegawai\" class=\"active\">Tambah Data
52Pegawai</a></li>\n"; }
else{ echo "<li><a href=\"".URL."/?option=tambah-
53pegawai\">Tambah Data Pegawai</a></li>\n"; }
54 if($option == 'data-pegawai' || $option == 'detail-
55pegawai' || $option == 'edit-pegawai') { echo "<li><a
56href=\"".URL."/?option=data-pegawai\" class=\"active\">Data
57Pegawai</a></li>\n"; }
else{ echo "<li><a href=\"".URL."/?option=data-
58pegawai\">Data Pegawai</a></li>\n"; }
59
60 ?>
61 </ul>
62 </div>
</div>
63
64 <div class="kanan">
65 <?php
$kode = isset($_GET['kode']) ? $_GET['kode'] : '';
66 if( $option == 'tambah-pegawai' ) { tambah_data_pegawai(); }
67 elseif( $option == 'data-pegawai' ) { tampilkan_pegawai(); }
68 elseif( $option == 'edit-pegawai' ) { ubah_data_pegawai(); }
69 elseif( $option == 'detail-pegawai') { detail_pegawai($kode); }
else {
70 echo "<div class=\"box\">\n";
71 echo "<h1>APLIKASI DATABASE PEGAWAI SEDERHANA</h1>";
72 echo "<p>Selamat datang di Aplikasi Database Pegawai
73Sederhana.</p>";
74 echo "<p><img src=\"".URL."/gambar.jpg\" align=\"left\"
width=\"120\" height=\"150\" class=\"img\">Aplikasi ini sengaja
75dikembangkan dengan harapan dapat memberikan gambaran dan inspirasi bagi
76mereka yang ingin membuat aplikasi dinamis dengan menggunakan PHP dan
77MySQL. Aplikasi ini murni menggunakan pemrograman dasar <b>HTML, CSS, PHP
78dan MySQL</b> serta sedikit bumbu bahasa <b>JavaScript</b> agar interaksi
79pengguna dengan aplikasi terasa lebih mantap.</p>";
echo "<p>Dalam aplikasi telah dikembangkan beberapa fungsi-
80fungsi buatan yang bertujuan untuk membantu proses pengolahan data dan
81juga untuk mempercepat proses penulisan kode program.</p>";
82 echo "<p>Secara umum, applikasi ini masih tergolong sangat
83 sederhana dan tidak membutuhkan tenaga ekstra untuk mempelajarinya. Anda
hanya perlu memahami sedikit tentang HTML dan CSS untuk mengatur layout
84maupun tata letak dari setiap komponen website serta pemahaman mendasar
85tentang PHP dan MySQL.</p>";
86 echo "<p>Akhirnya, segala kritik dan saran yang membangun
87 sangat dibutuhkan agar ke depannya dapat lebih bermamfaat dan semakin
88 antusias dalam mengembangkan aplikasi berbasis PHP dan MySQL.</p>";
echo "<p class=\"footer\">All Rights Reserved | Copyrights
89&trade; - ".date("Y")." | View more on: <a
90href=\"https://blizze.wordpress.com\">Blizze@Wordpress</a></p>";
echo "</div>\n";
}

?>
</div>
<div class="clear"></div>

</div>

</body>
</html>

Berikut ini adalah jantung dari program kita kali ini yang bernama function.php yang
berfungsi untuk mengontrol seluruh aktivitas di dalam aplikasi pegawai tersebut:

1 <?php
/**
2 * Aplikasi Pegawai Sederhana
3 *
4 * @file function.php
5 * @author Andrew Hutauruk | https://blizze.wordpress.com
6 **/@date 17 Aug 2012 23:40
7
8 # Panggil file config.php
9 require( dirname(__FILE__).'/config.php' );
10
11 # Fungsi untuk menyimpan data pegawai
function simpan_data_pegawai() {
12 # tampung data kesalahan
13 $salah = array();
14 $dir = "photo";
15
16 # tangkap data-data yang dimasukkan dari form
$nama = bersihkan( $_POST['nama'] );
17 $alamat = bersihkan( $_POST['alamat'] );
18 $gaji = bersihkan( $_POST['gaji'] );
19 $kode = bersihkan( $_POST['kode'] );
20 $sex = $_POST['sex'];
21 $status = $_POST['status'];
$jabatan = $_POST['jabatan'];
22 $filename = $_FILES['photo']['name'];
23 $tmp_name = $_FILES['photo']['tmp_name'];
24 $filesize = $_FILES['photo']['size'];
25 $filetype = $_FILES['photo']['type'];
26
27 $image_name = strtolower(str_replace(' ', '-', $filename));
$image_ext = substr($image_name, strrpos($image_name, '.'));
28 $image_ext = str_replace('.', '', $image_ext);
29 $image_name = preg_replace("/\.[^.\s]{3,4}$/", "", $image_name);
30 $new_image_name = $kode.'.'.$image_ext;
31
32 # validasi data lalu simpan data kesalahan dlm bentuk array, jika
ada
33
if( empty( $nama ) ) {
34 $salah[] = '- Pasti Anda manusia dan punya nama, yang benar
35 aja...';
36 }
37 if( empty( $alamat ) ) {
$salah[] = '- Masa ga punya tempat tinggal, isi dulu donk...';
38 }
39 if( empty( $gaji ) ) {
40 $salah[] = '- Emang lu kerja ga mau dibayar, isi besar
41 gajilah...';
42 }
if( empty( $kode ) ) {
43 $salah[] = '- Isi kode biar Anda nampak unik dan antik coy...';
44 }
45
46 # jika tidak ada kesalahan
47 if( !count( $salah ) ) {
48
# cek jika sudah ada pegawai yang memiliki kode pegawai yang
49
sama
50 if( itung_jumlahnya( hajar_coy( "SELECT * FROM pegawai WHERE
51 kode='$kode'" ) ) == 0 ) {
52 hajar_coy( "INSERT INTO pegawai VALUES( '', '$kode',
53 '$nama', '$alamat', '$gaji', '$sex', '$status', '$jabatan',
'$new_image_name', '".time()."' )" );
54 move_uploaded_file($_FILES['photo']['tmp_name'], $dir . "/"
55 . $new_image_name);
56 } else {
57 $salah[] = '- Sorry ya, kode pegawai ini sudah ada yang
58 punya coy...';
}
59 }
60
61 # jika ada kesalahan simpan aja di dalam session
if( count( $salah ) ) {
62 $_SESSION['pesan']['kesalahan-tambah-data'] = implode( '<br>',
63 $salah );
64 }
65
66 # jika terjadi kesalahan kirimkan ke halaman semula sebaliknya
67 kirimkan ke daftar pegawai
if( count( $salah ) ) {
68 header( "Location: ".URL."/?option=tambah-pegawai" );
69 } else {
70 header( "Location: ".URL."/?option=data-pegawai" );
71 }
exit;
72 } /* Akhir dari fungsi menyimpan data pegawai baru */
73
74 # Fungsi untuk mengubah data pegawai
75 function update_data_pegawai() {
76 # tampung data kesalahan
77 $salah = array();
$dir = "photo";
78 # tangkap data-data yang dimasukkan dari form
79 $nama = bersihkan( $_POST['nama'] );
80 $alamat = bersihkan( $_POST['alamat'] );
81 $gaji = bersihkan( $_POST['gaji'] );
$kode = bersihkan( $_POST['kode'] );
82 $sex = $_POST['sex'];
83 $status = $_POST['status'];
84 $jabatan = $_POST['jabatan'];
85 $filename = $_FILES['photo']['name'];
86 $tmp_name = $_FILES['photo']['tmp_name'];
$filesize = $_FILES['photo']['size'];
87 $filetype = $_FILES['photo']['type'];
88 $image_name = strtolower(str_replace(' ', '-', $filename));
89 $image_ext = substr($image_name, strrpos($image_name, '.'));
90 $image_ext = str_replace('.', '', $image_ext);
$image_name = preg_replace("/\.[^.\s]{3,4}$/", "", $image_name);
91
$new_image_name = $kode.'.'.$image_ext;
92 # validasi data lalu simpan data kesalahan dlm bentuk array, jika
93 ada
94 if( empty( $nama ) ) {
95 $salah[] = '- Pasti Anda manusia dan punya nama, yang benar
aja...';
96 }
97 if( empty( $alamat ) ) {
98 $salah[] = '- Masa ga punya tempat tinggal, isi dulu donk...';
99 }
10 if( empty( $gaji ) ) {
$salah[] = '- Emang lu kerja ga mau dibayar, isi besar
0 gajilah...';
10 }
1 if( empty( $kode ) ) {
10 $salah[] = '- Isi kode biar Anda nampak unik dan antik coy...';
}
2 # jika tidak ada kesalahan
10 if( !count( $salah ) ) {
3 $sql = uraikan(hajar_coy("SELECT * FROM pegawai WHERE
kode='{$kode}'"));
10 $sex = ($sex != '') ? $sex : $sql['sex'];
4 $jabatan = ($jabatan != '') ? $jabatan : $sql['jabatan'];
$status = ($status != '') ? $status : $sql['status'];
10 $new_image_name = ($filename != '') ? $new_image_name :
5 $sql['photo'];
10 hajar_coy( "UPDATE pegawai SET kode='$kode', nama='$nama',
6 alamat='$alamat', gaji='$gaji', sex='$sex', status='$status',
jabatan='$jabatan', photo='$new_image_name' WHERE kode='$kode'" );
10 move_uploaded_file($_FILES['photo']['tmp_name'], $dir . "/" .
7 $new_image_name);
10 }
8 # jika ada kesalahan simpan aja di dalam session
10 if( count( $salah ) ) {
$_SESSION['pesan']['kesalahan-ubah-data'] = implode( '<br>',
9 $salah );
11 }
0 # jika terjadi kesalahan kirimkan ke halaman semula sebaliknya
11 kirimkan ke daftar pegawai
if( count( $salah ) ) {
1 header( "Location: ".URL."/?option=edit-pegawai&kode=$kopeg" );
11 } else {
2 header( "Location: ".URL."/?option=data-pegawai" );
11 }
3 exit;
} /* Akhir dari fungsi menyimpan data pegawai baru */
11
4 # FUngsi untuk menghapus data pegawai
11 function hapus_data_pegawai() {
5 $dir = "photo";
11 $kode = isset( $_GET['kode'] ) ? $_GET['kode'] : '';
6 $sql = uraikan(hajar_coy("SELECT * FROM pegawai WHERE
kode='{$kode}'"));
11 $ext = substr($sql['photo'], strrpos($sql['photo'], '.'));
7 $ext = str_replace('.', '', $ext);
11 if(file_exists("{$dir}/{$kode}.{$ext}")){
8 unlink("{$dir}/{$kode}.{$ext}");
}
11 hajar_coy( "DELETE FROM pegawai WHERE kode='$kode'" );
9 header( "Location: ".URL."/?option=data-pegawai" );
12 exit;
0 }
12
1 # Fungsi untuk mencari kode pegawia terbesar dari table pegawai
function cari_terbesar( $kode ) {
12 $query = uraikan( hajar_coy( "SELECT MAX(kode) AS terbesar FROM
2 pegawai" ) );
12 $kode = $query['terbesar'];
3 if( $kode ) {
$terbesar = substr( $query['terbesar'], 0, 7 );
12 $terbesar++;
4 } else {
12 $terbesar = 'PEG0001';
5 }
12 return $terbesar;
}
6
12 # Fungsi untuk memformat nilai angka ke dalam rupiah
7 function ubah_ke_rupiah( $id ) {
12 return number_format( $id, 0, ", ", "." );
8 }
12
9 # Fungsi untuk membuat form tambah pegawai dengan fungsi-fungsi buatan
13 function tambah_data_pegawai() {
echo "<div class=\"box\">\n";
0 echo "<h1>TAMBAH DATA PEGAWAI</h1>";
13
1 # cek jika ada terjadi kesalahan selama penambahan data
13 if( isset( $_SESSION['pesan']['kesalahan-tambah-data'] ) ) {
2 echo "<p class=\"err\"><b>Pesan Kesalahan
:</b><br>".$_SESSION['pesan']['kesalahan-tambah-data']."</p>";
13 unset( $_SESSION['pesan']['kesalahan-tambah-data'] );
3 }
13 $kode = cari_terbesar('kode');
4 echo " <form method=\"post\" action=\"\" autocomplete=\"off\"
13 enctype=\"multipart/form-data\">\n";
echo " Kode Pegawai:<br><input type=\"text\" name=\"kode\"
5 value=\"{$kode}\"><br>\n";
13 echo " Nama Pegawai:<br><input type=\"text\" name=\"nama\"
6 placeholder=\"Isi nama lengkap pegawai...\"><br>\n";
13 echo " Alamat Pegawai:<br><input type=\"text\" name=\"alamat\"
7 placeholder=\"Isi alamat lengkap pegawai...\"><br>\n";
echo " Gaji Utama Pegawai:<br><input type=\"text\"
13 name=\"gaji\" placeholder=\"Isi gaji utama pegawai...\"><br>\n";
8 echo " Jenis Kelamin:<br><select name=\"sex\"><option
13 value=\"0\" selected\">Pilih jenis kelamin</option>\n";
9 echo " <option value=\"Laki-Laki\">Laki-
Laki</option><option value=\"Perempuan\">Perempuan</option>\n";
14 echo " </select><br>\n";
0 echo " Status Menikah:<br><select name=\"status\"><option
14 value=\"0\" selected\">Pilih status pernikahan</option>\n";
1 echo " <option value=\"Menikah\">Menikah</option><option
14 value=\"Lajang\">Lajang</option><option
value=\"3\">Bercerai</option>\n";
2 echo " </select><br>\n";
14 echo " Jabatan:<br><select name=\"jabatan\"><option value=\"0\"
3 selected\">Pilih jabatan</option>\n";
14 echo " <option value=\"Manajer\">Manajer</option><option
value=\"Direktur\">Direktur</option><option
4 value=\"Supervisor\">Supervisor</option><option
14 value=\"Leader\">Leader</option><option
5 value=\"Teknisi\">Teknisi</option><option
14 value=\"Operator\">Operator</option><option
6 value=\"Programmer\">Programmer</option><option
value=\"Analis\">Analis</option>\n";
14 echo " </select><br>\n";
7 echo " Photo Karyawan: &nbsp; <input type=\"file\"
14 name=\"photo\" size=\"90\"><br><br>\n";
8 echo " <input type=\"submit\" name=\"action\" value=\"Simpan
Data Pegawai\"><br>\n";
14
echo " </form>\n";
9 echo "</div>\n";
15 }
0
15 # Fungsi untuk mengubah data pegawai
1 function ubah_data_pegawai() {
$kode = isset( $_GET['kode'] ) ? $_GET['kode'] : '';
15 $sql = uraikan( hajar_coy( "SELECT * FROM pegawai WHERE
2 kode='$kode'" ) );
15
3 echo "<div class=\"box\">\n";
15 echo "<h1>Ubah Data Pegawai</h1>";
4 if( isset( $_SESSION['pesan']['kesalahan-ubah-data'] ) ) {
echo "<p class=\"err\"><b>Pesan Kesalahan
15 :</b><br>".$_SESSION['pesan']['kesalahan-ubah-data']."</p>";
5 unset( $_SESSION['pesan']['kesalahan-ubah-data'] );
15 }
6
15 echo " <form method=\"post\" action=\"\" autocomplete=\"off\"
enctype=\"multipart/form-data\">\n";
7 echo " Kode Pegawai:<br><input type=\"text\" name=\"kode\"
15 value=\"{$sql['kode']}\"><br>\n";
8 echo " Nama Pegawai:<br><input type=\"text\" name=\"nama\"
15 placeholder=\"Isi nama lengkap pegawai...\"
9 value=\"{$sql['nama']}\"><br>\n";
echo " Alamat Pegawai:<br><input type=\"text\" name=\"alamat\"
16 placeholder=\"Isi alamat lengkap pegawai...\"
0 value=\"{$sql['alamat']}\"><br>\n";
16 echo " Gaji Utama Pegawai:<br><input type=\"text\"
1 name=\"gaji\" placeholder=\"Isi gaji utama pegawai...\"
value=\"{$sql['gaji']}\"><br>\n";
16 echo " Jenis Kelamin:<br><select name=\"sex\"><option
2 value=\"0\" selected\">Pilih jenis kelamin</option>\n";
16 echo " <option value=\"Laki-Laki\">Laki-
3 Laki</option><option value=\"Perempuan\">Perempuan</option>\n";
16 echo " </select><br>\n";
echo " Status Menikah:<br><select name=\"status\"><option
4 value=\"0\" selected\">Pilih status pernikahan</option>\n";
16 echo " <option value=\"Menikah\">Menikah</option><option
5 value=\"Lajang\">Lajang</option><option
16 value=\"3\">Bercerai</option>\n";
6 echo " </select><br>\n";
echo " Jabatan:<br><select name=\"jabatan\"><option value=\"0\"
16 selected\">Pilih jabatan</option>\n";
7 echo " <option value=\"Manajer\">Manajer</option><option
16 value=\"Direktur\">Direktur</option><option
8 value=\"Supervisor\">Supervisor</option><option
value=\"Leader\">Leader</option><option
16 value=\"Teknisi\">Teknisi</option><option
9 value=\"Operator\">Operator</option><option
17 value=\"Programmer\">Programmer</option><option
0 value=\"Analis\">Analis</option>\n";
17 echo " </select><br>\n";
echo " <div class=\"edit_photo_box\">\n";
1 echo " <div class=\"photo_box\">\n";
17 if(file_exists("photo/{$sql['photo']}")){
2 $photo = "<img src=\"".URL."/photo/{$sql['photo']}\"
17 class=\"photo\" alt=\"{$sql['photo']}\">";
} else {
3 $photo = "<img src=\"".URL."/photo/noname.jpg\"
17 class=\"photo\">";
4 }
17 echo " {$photo}\n";
5 echo " </div>\n";
echo " <div class=\"photo_input\">Photo Karyawan:<br><input
17 type=\"file\" name=\"photo\" size=\"90\"></div>\n";
6 echo " <div class=\"clear\"></div>\n";
17 echo " </div>\n";
7 echo " <input type=\"submit\" name=\"action\" value=\"Ubah Data
Pegawai\"><br>\n";
17
echo " </form>\n";
8 echo "</div>\n";
17 }
9
18 # Fungsi untuk menampilkan daftar pegawai
function tampilkan_pegawai() {
0 $jumlah_data_per_halaman = 7;
18 if(isset($_GET['page'])){ $nomor_halaman = $_GET['page'];}
1 else { $nomor_halaman = 1; }
18 $offset = ($nomor_halaman - 1) * $jumlah_data_per_halaman;
$sql = hajar_coy( "SELECT * FROM pegawai ORDER BY kode ASC LIMIT
2 $offset,$jumlah_data_per_halaman" );
18 $jumlah_data_pegawai = itung_jumlahnya(hajar_coy("SELECT * FROM
3 pegawai"));
18 echo "<div class=\"box\">\n";
4 echo "<h1>Daftar Pegawai</h1>";
echo "<table border=\"0\">";
18 echo "<tr class=\"top_tr\">";
5 echo " <td width=\"40\">Photo</td>\n";
18 echo " <td width=\"150\">Nama</td>\n";
6 echo " <td width=\"150\">Alamat</td>\n";
echo " <td width=\"100\">Gaji Utama</td>\n";
18 echo " <td width=\"100\">Status</td>\n";
7 echo " <td width=\"100\">Jabatan</td>\n";
18 echo " <td width=\"70\">Sex</td>\n";
8 echo " <td width=\"50\">Aksi</td>\n";
18 echo "</tr>";
if( itung_jumlahnya( $sql ) == 0 ) {
9 echo "<tr style=\"height:150px; border-bottom:1px dotted
19 #CC780C;\">";
0 echo " <td colspan=\"8\" align=\"center\"
19 style=\"color:#FF0000; \">Belum ada data pegawai saat ini. Silahkan
1 segera update database ppegawai ini.<br><a
href=\"".URL."/?option=tambah-pegawai\">Klik disini untuk menambah data
19 pegawai</a></td>";
2 echo "</tr>";
19 } else {
3 $a = 0;
while( $row = uraikan( $sql ) ) {
19 if( $a == 0 ) { $bg = "#FCFADE"; $a = 1; }
4 else{ $bg = "#FCF7AB"; $a = 0; }
19
5 if(file_exists("photo/{$row['photo']}")){
19 $photo = "<img src=\"".URL."/photo/{$row['photo']}\"
6 class=\"photo\" alt=\"{$row['photo']}\">";
} else {
19 $photo = "<img src=\"".URL."/photo/noname.jpg\"
7 class=\"photo\">";
19 }
8 echo "<tr bgcolor=\"$bg\" onmouseover=\"bgColor='#FFFF55'\"
onmouseout=\"bgColor='$bg'\">";
19
echo " <td align=\"center\">{$photo}</td>";
9 echo " <td><span style=\"font-size:12px; \">Kode: <a
20 href=\"".URL."/?option=detail-
0 pegawai&kode={$row['kode']}\">{$row['kode']}</a></span><br>{$row['nama']
20 }</td>";
echo " <td>{$row['alamat']}</td>";
1 echo " <td>Rp ".ubah_ke_rupiah( $row['gaji'] )."</td>";
20 echo " <td>{$row['status']}</td>";
2 echo " <td>{$row['jabatan']}</td>";
20 echo " <td>{$row['sex']}</td>";
3 echo " <td><a href=\"".URL."/?option=edit-
pegawai&kode={$row['kode']}\" title=\"Klik untuk mengubah data
20 pegawai\"><img src=\"".URL."/b_edit.png\" alt=\"\"> &nbsp; <a
4 href=\"".URL."/?option=delete-pegawai&kode={$row['kode']}\"
onclick=\"return hapus('".$row['kode']."')\" title=\"Klik untuk
20 menghapus data pegawai\"><img src=\"".URL."/b_drop.png\"></a></td>";
5 echo "</tr>";
20 }
6 }
echo "</table>";
20 $jumlah_data = uraikan( hajar_coy("SELECT COUNT(*) AS jumlah FROM
7 pegawai") );
20 $total_halaman = ceil($jumlah_data['jumlah'] /
8 $jumlah_data_per_halaman);
20
9 echo "<p class=\"paging\">\n";
echo "Halaman: &nbsp; ";
21 $showpage = 0;
0 if($nomor_halaman > 1){ echo "<a href=\"".URL."/?option=data-
21 pegawai&page=".($nomor_halaman-1)."\">&larr; Prev</a>\n"; }
1 for($page = 1; $page <= $total_halaman; $page++){
21 if((($page >= $nomor_halaman - 3) && ($page <= $nomor_halaman +
3)) || ($page == 1) || ($page == $total_halaman)){
2 if(($showpage == 1) && ($page != 2)) echo "...";
21 if(($showpage != ($total_halaman-1)) && ($page ==
3 $total_halaman)) echo "...";
21 if($page == $nomor_halaman) echo "<span
class=\"current\">{$page}</span>";
4 else echo "<a href=\"".URL."/?option=data-
21 pegawai&page={$page}\">{$page}</a>";
5 $showpage = $page;
21 }
6 }
if($nomor_halaman < $total_halaman){ echo "<a
21 href=\"".URL."/?option=data-pegawai&page=".($nomor_halaman+1)."\">&rarr;
7 Next</a>\n"; }
21 echo "</p>\n";
8
21 echo "</div>\n";
}
9
22
function detail_pegawai($kode){
0 $sql = uraikan(hajar_coy("SELECT * FROM pegawai WHERE
22 kode='{$kode}'"));
1 echo "<div class=\"box\">\n";
22 echo " <h1>Pegawai: {$sql['nama']} - {$sql['kode']}</h1>\n";
echo " <div class=\"box_info\">\n";
2 echo " <table class=\"tinfo\">\n";
22 echo " <tr class=\"t\"><td width=\"150\">Nama Lengkap</td><td
3 width=\"300\"> : &nbsp; {$sql['nama']}</td></tr>\n";
22 echo " <tr class=\"b\"><td>Kode Pegawai</td><td> : &nbsp;
4 {$sql['kode']}</td></tr>\n";
echo " <tr class=\"t\"><td>Alamat Lengkap</td><td> : &nbsp;
22 {$sql['alamat']}</td></tr>\n";
5 echo " <tr class=\"b\"><td>Gaji Utama</td><td> : &nbsp; Rp
22 ".ubah_ke_rupiah( $sql['gaji'] )."</td></tr>\n";
6 echo " <tr class=\"t\"><td>Jenis Kelamin</td><td> : &nbsp;
{$sql['sex']}</td></tr>\n";
22 echo " <tr class=\"b\"><td>Jabatan</td><td> : &nbsp;
7 {$sql['jabatan']}</td></tr>\n";
22 echo " <tr class=\"t\"><td>Status Pernikahan</td><td> : &nbsp;
8 {$sql['status']}</td></tr>\n";
22 echo " </table>\n";
9 echo " </div>\n";
echo " <div class=\"box_photo\">\n";
23 if(file_exists("photo/{$sql['photo']}")){
0 $photo = "<img src=\"".URL."/photo/{$sql['photo']}\"
23 alt=\"{$sql['photo']}\">";
1 } else {
$photo = "<img src=\"".URL."/photo/noname.jpg\">";
23 }
2 echo "{$photo}";
23
3 echo " </div>\n";
23 echo " <div class=\"clear\"></div>\n";
4 echo "</div>\n";
}
23
5 ?>
23
6
23
7
23
8
23
9
24
0
24
1
24
2
24
3
24
4
24
5
24
6
24
7
24
8
24
9
25
0
25
1
25
2
25
3
25
4
25
5
25
6
25
7
25
8
25
9
26
0
26
1
26
2
26
3
26
4
26
5
26
6
26
7
26
8
26
9
27
0
27
1
27
2
27
3
27
4
27
5
27
6
27
7
27
8
27
9
28
0
28
1
28
2
28
3
28
4
28
5
28
6
28
7
28
8
28
9
29
0
29
1
29
2
29
3
29
4
29
5
29
6
29
7
29
8
29
9
30
0
30
1
30
2
30
3
30
4
30
5
30
6
30
7
30
8
30
9
31
0
31
1
31
2
31
3
31
4
31
5
31
6
31
7
31
8
31
9
32
0
32
1
32
2
32
3
32
4
32
5
32
6
32
7
32
8
32
9
33
0
33
1
33
2
33
3
33
4
33
5
33
6
33
7
33
8
33
9
34
0
34
1
34
2

Dan yang terakhir adalah file gaya.css untuk mengatur bentuk serta sususan dan tata letak
aplikasi:

1 @font-face {
2 font-family: 'Droid Sans';
3 font-style: normal;
font-weight: normal;
4 src: local('myfont/Droid Sans'), url('myfont/DroidSans.woff')
5 format('woff');
6 }
7
8
9 /* GAYA PEGAWAI */
10*{ margin: 0; padding: 0; }
body{ font-family:'Droid Sans', Arial, Helvetica, sans-serif; font-size:
1114px; line-height: 1.5em; background: #FFFFFF; color: #222;}
12a{ color: #2ABFFF; text-decoration: none; transition: .3s ease-in-out; }
13a:hover{ color: #D40000; text-decoration: none; }
14img{ margin: 0; padding: 0; border: none; }
form{ margin: 10px 0; padding:10px 40px; }
15input[type=text],select{ margin: 2px 0 10px 0; padding: 8px 0 8px 40px;
16width:50%; font-size: 14px; font-family:'Droid Sans', Arial, Helvetica,
17sans-serif; border: 1px solid #E6E6E6; border-radius:3px; transition:all
180.4s ease-out; background:url('icon.png') no-repeat 2% 8px; }
19input[type=text]:focus{ border:1px solid #989898; box-shadow:0px 0px 3px
200px #8BCFED; border:1px solid #55A4C6; }
input[type="submit"] {
21 background-color:#3bb3e0;
22 padding:7px 20px;
23 margin:10px 0 0 0;
24 position:relative;
font-weight:bold; font-family:'Droid Sans';
25 color:#fff;
26 border: solid 1px #186f8f;
27 text-shadow:0px 1px 0px #000;
28 background-image: linear-gradient(bottom, rgb(44,160,202) 0%,
29 rgb(62,184,229) 100%);
background-image: -o-linear-gradient(bottom, rgb(44,160,202) 0%,
30rgb(62,184,229) 100%);
31 background-image: -moz-linear-gradient(bottom, rgb(44,160,202) 0%,
32rgb(62,184,229) 100%);
33 background-image: -webkit-linear-gradient(bottom, rgb(44,160,202) 0%,
rgb(62,184,229) 100%);
34 background-image: -ms-linear-gradient(bottom, rgb(44,160,202) 0%,
35rgb(62,184,229) 100%);
36 background-image: -webkit-gradient(
37 linear,
38 left bottom,
left top,
39 color-stop(0, rgb(44,160,202)),
40 color-stop(1, rgb(62,184,229))
41 );
42 -webkit-box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
43 -moz-box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
44 -webkit-border-radius: 5px;
45 -moz-border-radius: 5px;
46 -o-border-radius: 5px;
47 border-radius: 5px;
cursor:pointer;
48}
49ol,ul{ margin: 0; padding: 0; list-style-type: none; }
50table{ margin: 10px 0; padding: 0; border-collapse: collapse; width:
51100%; border:none;}
52tr{ text-align: left; height: 55px; }
tr.top_tr{ height: 40px; font-weight: bold; background: #0677A8;
53color:#FFFFFF; }
54td{ margin: 0; padding-left: 5px; text-align:left; }
55p{ margin: 0; padding: 10px 0; text-align: justify; }
56p.err{ margin: 10px 0; padding: 10px; color: #FF0000; border: 1px solid
57#FF3F00; background: #FFFFFF; border-radius:5px;}
p.footer{ margin: 10px 0; padding: 3px 7px; font-size: 11px; border: 1px
58solid #D2D2D2; box-shadow: 0px 1px 0px #fff; }
59img.img{ margin: 0; padding: 5px 15px 5px 0; }
60
61.atas{ width:100%; background:#0A61AD; height:50px; position:fixed;
62top:0; left:0; box-shadow:0px 0px 5px #72777B; }
.logo{ line-height:50px; font-size:25px; text-transform:uppercase;
63color:#FFFFFF; padding-left:70px; }
64
65.bungkus{ margin: 50px auto; padding: 0; width: 90%; }
66.clear{ clear:both; }
67.kiri{ float:left; width:15%; position:fixed; height:101%;
68background:#DD9906; }
.kanan{ float:right; width:81%; }
69
70.box{ margin:0 0 20px 0; }
71.box h1{ padding:10px 0 10px 30px; border-bottom:1px dotted #B5B5B5;
font-size:20px; font-weight:normal; color:#666600;
72background:url('b_comment.png') no-repeat 0% 14px; }
73.box #urut{ margin:10px 0; }
74.box #urut li{ line-height:40px; }
75.box #urut li a{ display:block; border-left:5px solid #CCFFCC; padding:0
760.box
0 20px; position:relative; background:#0C96C9; color:#FFFFFF; }
#urut li a:hover, .box #urut li a.active{ border-left:5px solid
77#BC1479; padding:0 0 0 35px; color:#FFFFFF; background:#06739B; }
78.box #urut li a.active::before{ content:''; position:absolute; height:0;
79width:0; top:27%; right:0; border-bottom: 10px solid transparent; border-
80top: 10px solid transparent; border-right: 10px solid #FFFFFF; font-
size: 0; line-height: 0; }
81
82.photo{ margin:0; padding:0; border:none; width:35px; height:35px;
83border-radius:3px; }
84
85.paging{ margin:10px 0; }
86.current{ padding:5px 10px; background:#000000; color:#FFFFFF; border-
87radius:3px; margin:0 5px 0 0; }
.paging a{ padding:5px 10px; background:#4176D8; color:#FFFFFF; border-
88radius:3px; margin:0 5px; }
89.paging a:hover{ background:#2E5CB2; }
90
91.edit_photo_box{ margin:10px 0; }
92.photo_box{ float:left; width:60px; }
.photo_box img{ width:50px; height:50px; border:none; }
93.photo_input{ float:left; width:500px; }

.box_info{ float:left; width:50%; margin:20px 0; }


table.tinfo{ width:100%; margin:0; }
table.tinfo tr{ height:40px; }
table.tinfo tr.t{ background:#F7F6EF; }
table.tinfo tr.b{ background:#E0F3FC; }

.box_photo{ float:right; width:40%; margin:20px 0; }


.box_photo img{ border:none; width:300px; height:280px; border-
radius:10px; }

Jika Anda merasa malas dan kesulitan untuk mempelajari script di atas silahkan download
filenya dib awah ini:

Download file latihan program pegawai dengan PHP dan MySQL

Akhirnya, program ini tentunya masih jauh dari kata sempurna namun tentu tidak akan
mengurangi niat baik saya untuk saling berbagai pengalaman sehingga yang belum pernah
mencobanya dapat memiliki pengalaman tersendiri dengan adanya tutorial ini. Semoga
membantu.

Artikel terkait:

CodeIgniter: Error A Session Is Active


CodeIgniter: Mari Mengenal Framework CodeIgniter
Trik Maskulin Untuk Reporting dengan PHP dan Class FPDF
Serba-Serbi Pengolahan Data Waktu dengan PHP
Membuat Forum dengan PHP dan MySQL Uncompleted
Membuat Program Media Player MP3 Sederhana dengan VB6
Membuat Grafik Dinamis dengan VB6 dan MS Access

Share this:

Twitter
Facebook8
More

Fitur Login, Daftar, Logout dengan PHP dan MySQLIn "MySQL"

Fungsi Dasar PHP dan MySQL Namun PowerfulIn "MySQL"

Trik Maskulin Untuk Reporting dengan PHP dan Class FPDFIn "PHP"

PHP
Web Programming

blizze
September 17, 2012

Post navigation
Fitur Login, Daftar, Logout dengan PHP dan MySQL
Membuat Forum dengan PHP dan MySQL

56 thoughts on Aplikasi Database Pegawai Sederhana


dengan PHP dan MySQL

1. blizze

September 18, 2012 at 12:02 am

program di atas sudah dites dengan menggunakan server XAMPP 1.8 dan berjalan
dengan baik

Reply

1. Rhomy Prama Dhieka

November 14, 2013 at 6:49 am


Terima Kasih kang sudah berbagi.
sukses terus !!

Reply

1. blizze

November 14, 2013 at 5:05 pm

ok bro, semoga dapat membantu proses pembelajaran Anda.

Salam programming,
Andrew Hutauruk

2. blizze

September 14, 2014 at 4:20 am

Silahkan download file terbaru.

2. Zendhy

March 20, 2017 at 11:01 pm

kak kok aku error di config.php line 21 dan 22?

Reply

2. Pingback: Membuat Aplikasi Database dengan PHP/MySQL New Version |


Blizze@Wordpress

3. Sofyan Andi

July 30, 2014 at 9:15 am

file downloannya erorr mas


mas bisa nda dikirimkan ke email saya file downloadnya ke palirku@gmail.com

Reply

1. blizze
July 30, 2014 at 9:05 pm

ahh, bisa kok bro barusan malah saya baru download. mungkin koneksi
internetnya yg lagi galau, silahkan dicoba lagi. linknya masih aktif ko.
thanks b4 for visiting my blog

Reply

2. blizze

September 14, 2014 at 4:20 am

Silahkan download file terbaru.

Reply

1. wiwinedwin

September 23, 2014 at 7:15 am

gan linknya tidak bisa di diwnload. boleh email gan?

2. blizze

September 24, 2014 at 1:20 pm

bisa kok ga

4. Ade Candra

September 12, 2014 at 5:10 pm

gan ko pas ya tekan menu tambah pegawai ga ngeling ke form nya yah..? dan semua
menu saya sudah coba seperti menu home, dan menu yg lain ga nge link.. mohon
pencerahanya suhu thanks b4..

Reply

1. blizze
September 13, 2014 at 11:08 pm

mohon maaf mas bro, terimakasih sudah menemukan bug ini.


sepertinya lupa mengganti konstanta untuk URL-nya harusnya

1define("URL", "http://localhost/pegawai");

Reply

5. Ade Candra

September 12, 2014 at 5:14 pm

kalo saya perhatikan dari program diatas tidak ada file koneksi untuk menghubungkan
program ke database, ?

Reply

1. blizze

September 13, 2014 at 11:00 pm

ada kok mas bro

Reply

2. blizze

September 14, 2014 at 4:19 am

Silahkan download file terbaru.

Reply

6. Abi Rahman

September 30, 2014 at 2:45 am

mas , saya sudah berhasil buka di localhost. Namun pas tambahkan data pegawai
setelah semua diisi , kok tdk jalan suruh cek function.php line 73 ? dan di config.php
line 21
Reply

7. Pingback: Contoh Aplikasi Database Php

8. Faris Ruri

May 25, 2015 at 12:05 am

kalo ingin menambah field nya di menu tambah data pegawai itu gimana bos ??

Reply

9. Ralfie Maringka

May 28, 2015 at 4:22 am

Mas yang punya web, tutorial nya mantap mas, oya gimana bikin search atau
filternya, jadi kalo mau cari tau info karyawan tinggal masukin nomor atau namanya
dan enter maka datanya nonggol gitu mas, gimana mas..

Reply

1. blizze

July 24, 2015 at 11:40 pm

Mungkin bisa mengintip teknik yang digunakan di artikel ini:


https://blizze.wordpress.com/2014/01/11/program-penggajian-sederhana-
dengan-php-dan-mysql/

Secara teori, tangkap dulu variabel yang menjadi parameter pencarian dari
form. Lalu gunakan fungsi LIKE di kode MySQL untuk membatasi hasil
pencarian, mislanya kode karyawan atau nama saja.

1 <?php
2 $kode = isset( $_POST['kode'] ) ? $_POST['kode'] : '';
$nama = isset( $_POST['nama'] ) ? $_POST['nama'] : '';
3
4 /** query MySQL untuk mencari data karyawan berdasarkan
5 parameter pencarian melalui kode dan nama **/
6 $sql = mysql_query( "SELECT * FROM tbl_karyawan WHERE kode
7 LIKE '%{$kode}%' OR nama LIKE '%{$nama}%'";
8 if( mysql_num_rows( $sql ) == 0 ) {
echo "<p>Tidak ada data</p>\n";
9 } else {
10 while( $r = mysql_fetch_array( $sql ) ) {
11 /**
12 * tampilkan data karyawan di blok ini
13 *
}
14}
15?>
16

Reply

10. Pingback: APLIKASI DATABASE PEGAWAI SEDERHANA DENGAN PHP DAN


MYSQL | IT Teknologi

Anda mungkin juga menyukai