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.
Dan beberapa fitur lainnya yang sengaja tidak ditampilkan di halaman ini.
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™ - ".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: <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=\"\"> <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: ";
21 $showpage = 0;
0 if($nomor_halaman > 1){ echo "<a href=\"".URL."/?option=data-
21 pegawai&page=".($nomor_halaman-1)."\">← 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)."\">→
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\"> : {$sql['nama']}</td></tr>\n";
22 echo " <tr class=\"b\"><td>Kode Pegawai</td><td> :
4 {$sql['kode']}</td></tr>\n";
echo " <tr class=\"t\"><td>Alamat Lengkap</td><td> :
22 {$sql['alamat']}</td></tr>\n";
5 echo " <tr class=\"b\"><td>Gaji Utama</td><td> : Rp
22 ".ubah_ke_rupiah( $sql['gaji'] )."</td></tr>\n";
6 echo " <tr class=\"t\"><td>Jenis Kelamin</td><td> :
{$sql['sex']}</td></tr>\n";
22 echo " <tr class=\"b\"><td>Jabatan</td><td> :
7 {$sql['jabatan']}</td></tr>\n";
22 echo " <tr class=\"t\"><td>Status Pernikahan</td><td> :
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; }
Jika Anda merasa malas dan kesulitan untuk mempelajari script di atas silahkan download
filenya dib awah ini:
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:
Share this:
Twitter
Facebook8
More
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
1. blizze
program di atas sudah dites dengan menggunakan server XAMPP 1.8 dan berjalan
dengan baik
Reply
Reply
1. blizze
Salam programming,
Andrew Hutauruk
2. blizze
2. Zendhy
Reply
3. Sofyan Andi
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
Reply
1. wiwinedwin
2. blizze
bisa kok ga
4. Ade Candra
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
1define("URL", "http://localhost/pegawai");
Reply
5. Ade Candra
kalo saya perhatikan dari program diatas tidak ada file koneksi untuk menghubungkan
program ke database, ?
Reply
1. blizze
Reply
2. blizze
Reply
6. Abi Rahman
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
8. Faris Ruri
kalo ingin menambah field nya di menu tambah data pegawai itu gimana bos ??
Reply
9. Ralfie Maringka
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
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