• Tidak ada hasil yang ditemukan

Aplikasi Database Pegawai Sederhana deng

N/A
N/A
Protected

Academic year: 2018

Membagikan "Aplikasi Database Pegawai Sederhana deng"

Copied!
12
0
0

Teks penuh

(1)

Aplikasi Database Pegawai Sederhana

dengan PHP dan MySQL

4 Replies

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 menitik beratkan 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:

1. Halaman Depan

2. Daftar Pegawai

(2)

5. Form Edit Pegawai

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

Sedangkan untuk struktur tablenya, dapat dilihat sebagai berikut:

1

2

3

4

5

6

7

8

9

CREATE TABLE IF NOT EXISTS `pegawai` (

`pegawai_id` int(11) NOT NULL AUTO_INCREMENT, `kode` varchar(10) NOT NULL,

`nama` varchar(50) NOT NULL, `alamat` varchar(100) NOT NULL, `gaji` double NOT NULL,

`tanggal_gabung` int(11) NOT NULL, PRIMARY KEY (`pegawai_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

(3)

1

2

3

4

5

6

7

8

9

1

0

11

1

2

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

2

3

2

4

2

5

2

6

2

7

2

8

<?php /**

* Aplikasi Pegawai Sederhana *

* @file config.php

* @author Andrew Hutauruk | http://blizze.wordpress.com

* @date 17 Aug 2012 23:40 */

/**

* Koneksi ke server dan memilih database */

mysql_connect( 'localhost', 'root', '' ); mysql_select_db( 'blog' );

/**

* Fungsi sederhana untuk mempersingkat penulisan kdoe program

* Bersifat opsional, tetap bisa menggunakan fungsi PHP pada umumnya */

function hajar_coy( $query ) { return mysql_query( $query ); }

function itung_jumlahnya( $query ) { return mysql_num_rows( $query ); } function uraikan( $query ) { return mysql_fetch_array( $query ); }

function bersihkan( $query ) { return mysql_real_escape_string( $query ); } define( 'URL', 'http://localhost/blog' );

define( 'NAME', 'Aplikasi Data Pegawai Sederhana' );

(4)

Dan file utama yaitu

index.php

yang berfungsi sebagai tempat untuk melakukan interaksi antara

user dengan program kita yaitu sebagai berikut:

1

2

3

4

5

6

7

8

9

1

0

11

1

2

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

2

3

2

4

2

5

<?php /**

* Aplikasi Pegawai Sederhana *

* @file function.php

* @author Andrew Hutauruk | http://blizze.wordpress.com

* @date 17 Aug 2012 23:40 */

session_start(); /**

* Panggil file config.php */

require( dirname(__FILE__).'/function.php' );

if( $action == 'Simpan Data Pegawai' ) { simpan_data_pegawai();} elseif( $action == 'Ubah Data Pegawai' ) { update_data_pegawai(); } elseif( $option == 'delete-pegawai' ) { hapus_data_pegawai(); } ?>

<!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>

<?php echo NAME; ?> </title>

<script type="text/javascript"> function hapus(id){

konfirmasi = confirm('Apakah Anda yakin ingin menghapus data pegawai dengan kode: '+id+' ?' );

if( konfirmasi == true ) return true; else return false;

}

</script>

<link rel="stylesheet" type="text/css" href="../pegawai/gaya.css" media="all" />

</head> <body>

<div class="bungkus"> <?php

echo mulai_pengurutan( 'urut' );

echo isi_pengurutan( buat_link( URL.'/pegawai/', 'Home', 'Home' ) ); echo isi_pengurutan( buat_link( URL.'/pegawai/?option=tambah-pegawai', 'Tambah Pegawai', 'Form Tambah Pegawai' ) );

(5)

2

6

2

7

2

8

2

9

3

0

3

1

3

2

3

3

3

4

3

5

3

6

3

7

3

8

3

9

4

0

4

1

4

2

4

3

4

4

4

5

4

6

4

7

4

8

'Data Pegawai', 'Lihat Data Pegawai' ) ); echo akhiri_pengurutan();

if( $option == 'tambah-pegawai' ) { tambah_data_pegawai(); } elseif( $option == 'data-pegawai' ) { tampilkan_pegawai(); } elseif( $option == 'edit-pegawai' ) { ubah_data_pegawai(); } else {

echo "<h1>APLIKASI DATABASE PEGAWAI SEDERHANA</h1>"; echo "<p>Selamat datang di Aplikasi Database Pegawai Sederhana.</p>";

echo "<p><img src=\"".URL."/pegawai/gambar.jpg\" align=\"left\" width=\"120\" height=\"150\" class=\"img\">Aplikasi ini sengaja dikembangkan dengan harapan dapat memberikan gambaran dan inspirasi bagi mereka yang ingin membuat aplikasi dinamis dengan menggunakan PHP dan MySQL. Aplikasi ini murni menggunakan pemrograman dasar <b>HTML, CSS, PHP dan MySQL</b> serta sedikit bumbu bahasa <b>JavaScript</b> agar interaksi pengguna dengan aplikasi terasa lebih mantap.</p>";

echo "<p>Dalam aplikasi telah dikembangkan beberapa fungsi-fungsi buatan yang bertujuan untuk membantu proses pengolahan data dan juga untuk mempercepat proses penulisan kode program.</p>";

echo "<p>Secara umum, applikasi ini masih tergolong sangat sederhana dan tidak membutuhkan tenaga ekstra untuk mempelajarinya. Anda hanya perlu memahami sedikit tentang HTML dan CSS untuk mengatur layout maupun tata letak dari setiap komponen website serta pemahaman mendasar tentang PHP dan MySQL.</p>";

echo "<p>Akhirnya, segala kritik dan saran yang membangun sangat dibutuhkan agar ke depannya dapat lebih bermamfaat dan semakin antusias dalam mengembangkan aplikasi berbasis PHP dan MySQL.</p>";

echo "<p class=\"footer\">All Rights Reserved | Copyrights &trade; -".date("Y")." | View more on: <a

href=\"http://blizze.wordpress.com\">Blizze@Wordpress</a></p>"; }

(6)

5

0

5

1

5

2

5

3

5

4

5

5

5

6

5

7

5

8

5

9

6

0

6

1

6

2

6

3

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

2

3

4

5

6

7

8

9

10

11

12

<?php /**

* Aplikasi Pegawai Sederhana *

* @file function.php

* @author Andrew Hutauruk | http://blizze.wordpress.com

* @date 17 Aug 2012 23:40 */

# Panggil file config.php

require( dirname(__FILE__).'/config.php' ); # Fungsi untuk menyimpan data pegawai

(7)

13

# tangkap data-data yang dimasukkan dari form $nama = bersihkan( $_POST['nama'] );

$alamat = bersihkan( $_POST['alamat'] ); $gaji = bersihkan( $_POST['gaji'] ); $kode = bersihkan( $_POST['kode'] );

# validasi data lalu simpan data kesalahan dlm bentuk array, jika ada if( empty( $nama ) ) { '$nama', '$alamat', '$gaji', '".time()."' )" );

} else {

# jika ada kesalahan simpan aja di dalam session if( count( $salah ) ) {

$_SESSION['pesan']['kesalahan'] = implode( '<br>', $salah ); }

# jika terjadi kesalahan kirimkan ke halaman semula sebaliknya kirimkan ke daftar pegawai

if( count( $salah ) ) {

header( "Location: ".URL."/pegawai/?option=tambah-pegawai" ); } else {

header( "Location: ".URL."/pegawai/?option=data-pegawai" ); }

exit;

} /* Akhir dari fungsi menyimpan data pegawai baru */ # Fungsi untuk mengubah data pegawai

(8)

60

# tangkap data-data yang dimasukkan dari form $nama = bersihkan( $_POST['nama'] );

$alamat = bersihkan( $_POST['alamat'] ); $gaji = bersihkan( $_POST['gaji'] ); $kode = bersihkan( $_POST['kode'] );

# validasi data lalu simpan data kesalahan dlm bentuk array, jika ada if( empty( $nama ) ) { alamat='$alamat', gaji='$gaji' WHERE kode='$kode'" );

}

# jika ada kesalahan simpan aja di dalam session if( count( $salah ) ) {

$_SESSION['pesan']['kesalahan-ubah-data'] = implode( '<br>', $salah );

}

# jika terjadi kesalahan kirimkan ke halaman semula sebaliknya kirimkan ke daftar pegawai

if( count( $salah ) ) {

header( "Location: ".URL."/pegawai/?option=edit-pegawai&kode=$kopeg" );

} else {

header( "Location: ".URL."/pegawai/?option=data-pegawai" ); }

exit;

} /* Akhir dari fungsi menyimpan data pegawai baru */ # Fungsi untuk menghapus data pegawai

function hapus_data_pegawai() {

$kode = isset( $_GET['kode'] ) ? $_GET['kode'] : ''; hajar_coy( "DELETE FROM pegawai WHERE kode='$kode'" ); header( "Location: ".URL."/pegawai/?option=data-pegawai" ); exit;

(9)

105

# Fungsi untuk mencari kode pegawia terbesar dari table pegawai function cari_terbesar( $kode ) {

$query = uraikan( hajar_coy( "SELECT MAX(kode) AS terbesar FROM pegawai" ) );

$kode = $query['terbesar'];

# Fungsi untuk memformat nilai angka ke dalam rupiah function ubah_ke_rupiah( $id ) {

return number_format( $id, 0, ", ", "." ); }

# Fungsi untuk membuat pengurutan sederhana function mulai_pengurutan( $id ) {

return $html = "<ul id=\"$id\">"; }

function isi_pengurutan( $lbl ) { return $html = "<li>$lbl</li>"; }

function akhiri_pengurutan() { return $html = "</ul>";

} /* Akhir dari fungsi pengurutan sederhana */ # Fungsi untuk membuat link anchor sederhana function buat_link( $url, $lbl, $title ) {

return $html = "<a href=\"$url\" title=\"$title\">$lbl</a>"; } /* Akhir dari fugnsi anchor link sederhana */

# Fungsi untuk membuat form generator sederhana function mulai_form( $method, $action ) {

return $html = "<form method=\"$method\" action=\"$action\">"; }

function input( $label, $type, $name, $size, $value = "", $readonly = "" ) {

if( $readonly && $value == "" ) {

$html = "$label<br><input type=\"$type\" name=\"$name\" size=\"$size\"><br>";

} else {

$html = "$label<br><input type=\"$type\" name=\"$name\" size=\"$size\" value=\"$value\" $readonly><br>";

}

return $html; }

function akhir_form() {

return $html = "</form>"; }

(10)

152

# cek jika ada terjadi kesalahan selama penambahan data if( isset( $_SESSION['pesan']['kesalahan'] ) ) {

echo "<p class=\"err\"><b>Pesan Kesalahan :</b><br>". $_SESSION['pesan']['kesalahan']."</p>"; cari_terbesar( 'kode' ) );

echo input( 'Nama Pegawai:', 'text', 'nama', '50', '' );

# Fungsi untuk mengubah data pegawai function ubah_data_pegawai() {

$kode = isset( $_GET['kode'] ) ? $_GET['kode'] : '';

$sql = uraikan( hajar_coy( "SELECT * FROM pegawai WHERE kode='$kode'" ) );

echo "<h1>Ubah Data Pegawai</h1>";

if( isset( $_SESSION['pesan']['kesalahan-ubah-data'] ) ) { echo "<p class=\"err\"><b>Pesan Kesalahan :</b><br>". $_SESSION['pesan']['kesalahan-ubah-data']."</p>";

unset( $_SESSION['pesan']['kesalahan-ubah-data'] ); }

# Fungsi untuk menampilkan daftar pegawai function tampilkan_pegawai() {

$data = array( "1"=>"NO", "2"=>"Kode Pegawai", "3"=>"Nama",

"4"=>"Alamat", "5"=>"Gaji Pokok", "6"=>"Tanggal Gabung", "7"=>"Options" ); $sql = hajar_coy( "SELECT * FROM pegawai" );

(11)

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

}

echo "</tr>";

if( itung_jumlahnya( $sql ) == 0 ) { $col = count( $data );

echo "<tr>";

echo " <td colspan=\"$col\">Belum ada data pegawai saat ini</td>"; echo "</tr>";

} else {

$nomor = 1; $a = 0;

while( $row = uraikan( $sql ) ) {

if( $a == 0 ) { $bg = "#F2F9FD"; $a = 1; } else{ $bg = "#FFFFFF"; $a = 0; }

echo "<tr bgcolor=\"$bg\" onmouseover=\"bgColor='#FFFF55'\" onmouseout=\"bgColor='$bg'\">";

echo " <td align=\"center\">{$nomor}</td>"; echo " <td>{$row['kode']}</td>";

echo " <td>{$row['nama']}</td>"; echo " <td>{$row['alamat']}</td>";

echo " <td>Rp ".ubah_ke_rupiah( $row['gaji'] )."</td>"; echo " <td align=\"center\">".date( "d/m/Y",

$row['tanggal_gabung'] )."</td>";

echo " <td align=\"center\">".buat_link( URL."/pegawai/? option=edit-pegawai&kode={$row['kode']}", "<img

src=\"".URL."/pegawai/b_edit.png\">", "Ubah Data Pegawai" )." <a href=\"".URL."/pegawai/?option=delete-pegawai&kode={$row['kode']}\" onclick=\"return hapus('".$row['kode']."')\"><img

src=\"".URL."/pegawai/b_drop.png\"></a></td>"; echo "</tr>";

$nomor++; } }

echo "</table>"; }

(12)

Dan yang terakhir adalah file

gaya.css

untuk mengatur bentuk serta sususan dan tata letak

aplikasi:

1

2

3

4

5

6

7

8

9

1

0

11

1

2

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

/* GAYA PEGAWAI */

*{ margin: 0; padding: 0; }

body{ font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.5em; background: #EDEDED; text-shadow: 0px 1px 0px #fff; color: #222;}

a{ color: #2ABFFF; text-decoration: none; -moz-transition: .3s ease-in-out; }

a:hover{ color: #D40000; text-decoration: none; }

h1{ margin: 10px 0; padding: 10px; border: 1px solid #FFBF55; text-transform: uppercase; color: #000000; font-weight: normal; background: #FFFF55; }

img{ margin: 0; padding: 0; border: none; }

form{ margin: 10px 0; padding: 10px; background: #E1E1E1; border: 1px solid #CDCDCD; box-shadow: 0px 1px 0px #fff; }

input{ margin: 2px 0 10px 0; padding: 5px; font-size: 13px; font-family: Arial, Helvetica, sans-serif; border: 1px solid #B4B4B4; }

ol,ul{ margin: 0; padding: 0; list-style-type: none; height: 40px; background: #FFDFFF; border: 1px solid #009F00; }

li{ float: left; display: inline; }

li a{ color: #2A00FF; padding: 12px 20px; line-height: 40px; font-weight: bold; border-right: 1px solid #FFDFFF; border-left: 1px solid #FFDFFF;} li a:hover{ background: #AADFFF; color: #000000; border: 1px solid #009F00; padding: 17px 20px; border-radius: 3px; }

table{ margin: 0; padding: 0; border: 1px solid #464646; border-collapse: collapse; width: 100%; box-shadow: 0px 1px 0px #fff;}

tr{ text-align: left; height: 25px; }

tr.top_tr{ height: 40px; font-weight: bold; background: #EEFF00; } td{ margin: 0; padding: 3px; }

div.bungkus{ margin: 20px auto; padding: 0; width: 70%; } p{ margin: 0; padding: 10px 0; text-align: justify; }

p.err{ margin: 10px 0; padding: 10px; color: #FF0000; border: 1px solid #FF3F00; background: #FFFFFF;}

p.footer{ margin: 10px 0; padding: 3px 7px; font-size: 11px; border: 1px solid #D2D2D2; box-shadow: 0px 1px 0px #fff; }

img.img{ margin: 0; padding: 5px 15px 5px 0; }

Referensi

Dokumen terkait

Mintaragen Kota Tegal Tahun Anggaran 2016 dalam waktu 3 (tiga) hari setelah pengumuman pemenang, terhitung mulai hari Sabtu tanggal 20 Agustus 2016 sampai dengan hari

ANALISIS POTENSI KEBANGKRUTAN PERUSAHAAN MENGGUNAKAN MODEL SPRINGATE PADA PT BAKRIE TELECOM TBK PERIODE 2005-2014.. Universitas Pendidikan Indonesia | repository.upi.edu |

(2) Kontrak kerja konstruksi dengan bentuk imbalan Harga Satuan sebagaimana dimaksud dalam Pasal 20 ayat (3) huruf a angka 2 merupakan kontrak jasa atas penyelesaian seluruh

[r]

Penelitian ini dilatarbelakangi oleh rendahnya hasil pembelajaran lay-up shoot siswa pada saat pembelajaran permainan bolabasket, hal ini dikarenakan guru pendidikan

UPAYA MENINGKATKAN KEPUTUSAN PEMBELIAN MELALUI STRATEGI PRODUK DAN PROMOSI PENJUALAN I-CUP BUBBLE TEA KOTA BANDUNG.. (Survey pada Konsumen I-Cup Bubble Tea

1) Memberikan stimulus yang lebih tinggi terhadap siswa dalam pembelajaran dan sebagai pengajar juga harus mampu menerapkan sistem pembelajaran yang menarik dan

Pada tugas akhir ini Fuzzy Logic akan digunakan sebagai pengontrol robot keseimbangan ini, karena dengan kontrol ini, tingkat kestabilan dan controllability yang