BAB IV IMPLEMENTASI DAN HASIL
IV.1. Implementasi Program Pada Aplikasi Web
IV.1.4 Pengelolaan Aplikasi Web
IV.1.4.1 Aplikasi Web Staff Pembelian
Aplikasi Web untuk Staff Pembelian terdapat fungsi-fungsi yang digunakan oleh staff pembelian untuk mengelola data pemasok, data pembelian, data barang dan laporan pembelian setiap bulannya.
a. Menu Kelola Data Pemasok
Halaman pengelolaan data pemasok berisi menu untuk menambah, mengubah dan menghapus data pemasok. Untuk menambah data pemasok, digunakan file
“proses_tambahpemasok.php”
<? include("cekSesion.php"); include("koneksi.php"); //$tanggal=date("Y-m-d H:i:s"); if(empty($HTTP_POST_VARS[f_nama])) { echo ('<script>
window.alert (" Nama Pemasok belum diisi ")
</script>'); include("form_tambah_pemasok.php"); } elseif(empty($HTTP_POST_VARS[f_alamat])) { echo ('<script>
window.alert (" Alamat Pemasok belum diisi ")
</script>'); include("form_tambah_pemasok.php"); } elseif(empty($HTTP_POST_VARS[f_telepon])) { echo ('<script>
window.alert (" Telepon Pemasok belum diisi ")
</script>');
include("form_tambah_pemasok.php"); }
else{
mysql_query("insert into pemasok(nama_pemasok, alamat, telepon)
values('$HTTP_POST_VARS[f_nama]','$HTTP_POST_VARS[f_alamat]' ,'$HTTP_POST_VARS[f_telepon]')");
echo ('<script>
window.alert (" Data berhasil ditambahkan ")
</script>');
?>
Untuk mengubah data pemasok, digunakan file “proses_ubahpemasok.php”.
Berikut ini adalah listing program yang digunakan untuk mengubah data pemasok : <? include("cekSesion.php"); //session_start(); include("koneksi.php"); //$tanggal=date("Y-m-d H:i:s");
mysql_query("update pemasok set
kode_pemasok='$HTTP_POST_VARS[f_kode]', nama_pemasok='$HTTP_POST_VARS[f_nama]', alamat='$HTTP_POST_VARS[f_alamat]', telepon='$HTTP_POST_VARS[f_telepon]' where kode_pemasok='$HTTP_POST_VARS[no]'"); echo ('<script>
window.alert (" Data Barang berhasil diubah ")
</script>');
include("ubah_pemasok.php"); ?>
Kemudian, untuk menghapus data pemasok, digunakan file
“form_hapus_pemasok.php”, dimana potongan listing programnya adalah
sebagai berikut :
if ($_GET['action'] == "del"){
// membaca nilai n dari hidden value $n = $_POST['n'];
for ($i=0; $i<=$n-1; $i++){
if (isset($_POST['kode_pemasok'.$i])){
$kode_pemasok = $_POST['kode_pemasok'.$i];
$query = "DELETE FROM pemasok WHERE kode_pemasok =
'$kode_pemasok'";
} } }
b. Menu Tambah Data Pembelian
Salah satu menu utama dalam halaman staff pembelian, dimana menu ini berfungsi untuk menambahkan data barang yang dibeli oleh staff pembelian. Berikut ini adalah potongan listing program file “proses2.php” yang digunakan
untuk menambahkan data pembelian :
if(empty($no)) {
echo ('<script>
window.alert (" Nomor Faktur belum diisi ")
</script>');
}
elseif(empty($kode)) {
echo ('<script>
window.alert (" Kode Barang belum diisi ")
</script>');
}
elseif(empty($harga)) {
echo ('<script>
window.alert (" Harga Beli belum diisi ")
</script>');
}
elseif(empty($jumlah)) {
echo ('<script>
window.alert (" Jumlah Barang belum diisi ")
</script>');
}
elseif(empty($subtotal)) {
window.alert (" Subtotal belum diisi ") </script>');
} else{
$query="insert into detail_pembelian(nomer_faktur, kode_barang, harga_beli, jumlah, subtotal)
values('$no','$kode','$harga','$jumlah','$subtotal')";
$hasil=mysql_query($query); echo (
'<script>
window.alert (" Data Pembelian berhasil ditambahkan ") </script>');
} }
Menu untuk menambah data pembelian ini berhububungan langsung dengan tabel detail_pembelian, tabel pembelian dan tabel barang. Dimana apabila data pembelian dimasukkan, maka data pada tabel pembelian dan tabel barang akan ter-update secara otomatis. Hal diatas terjadi karena adanya trigger
“pembelian” pada database sumbermas yang memanggil stored procedure “sp_update” yang fungsinya adalah untuk mengupdate data stok pada tabel
barang dan menambahkan data pada tabel pembelian. Berikut ini adalah listing
dari trigger “pembelian” :
CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `pembelian` AFTER INSERT ON `detail_pembelian` FOR EACH ROW BEGIN
CALL sp_update(NEW.nama_barang, NEW.jumlah);
END;
Berikut ini adalah listing dari stored procedure “sp_update” :
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_update`(IN
p_nama_barang VARCHAR(15),p_jumlah DECIMAL (10)) BEGIN
UPDATE barang SET barang.stok = barang.stok + p_jumlah
WHERE barang.nama_barang=p_nama_barang; END$$
c. Menu Kelola Data Retur Pembelian
Halaman pengelolaan data retur pembelian berisi menu untuk menambah dan mengubah data retur pembelian. Untuk menambah data retur pembelian,
digunakan file “proses_catat_retur.php”
Berikut ini adalah listing program untuk menambahkan data retur pembelian : if(empty($HTTP_POST_VARS[f_nomor])){
echo ('<script>
window.alert (" Nomor Retur belum diisi ") </script>'); include("form_catat_retur.php"); } elseif(empty($HTTP_POST_VARS[f_kode])) { echo ('<script>
window.alert (" Kode Barang belum diisi ") </script>'); include("form_catat_retur.php"); } elseif(empty($HTTP_POST_VARS[f_nama])) { echo ('<script>
window.alert (" Nama Barang belum diisi ") </script>'); include("form_catat_retur.php"); } elseif(empty($HTTP_POST_VARS[f_jumlah])) { echo ('<script>
</script>'); include("form_catat_retur.php"); } elseif(empty($HTTP_POST_VARS[f_tanggal])) { echo ('<script>
window.alert (" Tanggal belum diisi ") </script>');
include("form_catat_retur.php"); }
else{
mysql_query("insert into retur_pembelian(no_retur, kode_barang, nama_barang, jumlah_barang, tanggal_retur)
values('$HTTP_POST_VARS[f_nomor]','$HTTP_POST_VARS[f_kode]', '$HTTP_POST_VARS[f_nama]','$HTTP_POST_VARS[f_jumlah]','$HTTP_PO ST_VARS[f_tanggal]')");
echo ('<script>
window.alert (" Data berhasil ditambahkan ") </script>');
include("form_catat_retur.php"); }
Kemudian, untuk mengubah data retur pembelian, digunakan file
“proses_ubah_retur.php”, dimana potongan listing programnya adalah sebagai
berikut :
mysql_query(" update retur_pembelian set
no_retur = '$HTTP_POST_VARS[f_nomor]', kode_barang = '$HTTP_POST_VARS[f_kode]', nama_barang = '$HTTP_POST_VARS[f_nama]', jumlah_barang = '$HTTP_POST_VARS[f_jumlah]', tanggal_retur = '$HTTP_POST_VARS[f_tanggal]' where no_retur = '$HTTP_POST_VARS[no]'"); echo ('<script>
window.alert (" Data Retur berhasil diubah ") </script>');
?>
d. Menu Lihat Laporan Pembelian
Untuk melihat laporan pembelian, digunakan file “form1_laporan.php” untuk
menampilkan laporan pembelian berdasarkan bulan dan tahun. Berikut ini adalah potongan listing program yang digunakan untuk melihat laporan pembelian :
<?php
include("koneksi.php");
$query = "SELECT DISTINCT date_format(tgl_masuk, '%Y') as tahunan FROM pembelian" ;
$hasil = mysql_query($query); echo //"<ul>";
('<table border="1" width="100%" cellspacing="0" cellpadding="5">
<tr>
<td width="35%" align="center" valign="top" class="judullaporan">Pilih Laporan Berdasarkan Tahun
</td> </tr>');
while ($data = mysql_fetch_array($hasil)){ echo('<tr>
<td width="35%" class="linkberita" valign="top">'); echo "<a href
='viewbulan.php?blnth=".$data['tahunan']."'>".$data['tahunan']. "</a>";
echo('</td> </tr>');
//echo "<li><a href
='viewbulan.php?blnth=".$data['tahunan']."'>".$data['tahunan']. "</a></li>";
}
echo('</table> <br>'); //echo "</ul>";
?>
e. Menu Kelola Data Barang
Halaman pengelolaan data barang berisi menu untuk menambah, mengubah dan menghapus data barang. Untuk menambah data barang, digunakan file
“proses_tambahbarang.php”
Berikut ini adalah listing program untuk menambahkan data barang :
if(empty($HTTP_POST_VARS[f_kode])){ echo ('<script>
window.alert (" Kode Barang belum diisi ") </script>');
include("form_tambah_barang.php"); }
elseif(empty($HTTP_POST_VARS[f_produk])){ echo ('<script>
window.alert (" Kode Produk belum diisi ") </script>');
include("form_tambah_barang.php"); }
elseif(empty($HTTP_POST_VARS[f_nama])){ echo ('<script>
window.alert (" Nama Barang belum diisi ") </script>');
include("form_tambah_barang.php"); }
echo ('<script>
window.alert (" Satuan Barang belum diisi ") </script>');
include("form_tambah_barang.php"); }
else{
mysql_query("insert into barang(kode_barang, kode_produk, nama_barang, satuan)
values('$HTTP_POST_VARS[f_kode]', '$HTTP_POST_VARS[f_produk]', '$HTTP_POST_VARS[f_nama]', '$HTTP_POST_VARS[f_satuan]')"); echo ('<script>
window.alert (" Data berhasil ditambahkan ") </script>');
include("form_tambah_barang.php"); }
Sedangkan untuk mengubah data barang, digunakan file
“proses_ubahbarang.php”. Listing program untuk mengubah data barang
adalah sebagai berikut :
<?
include("cekSesion.php"); include("koneksi.php");
mysql_query("update barang set
kode_barang='$HTTP_POST_VARS[f_kode]', kode_produk='$HTTP_POST_VARS[f_produk]', nama_barang='$HTTP_POST_VARS[f_nama]', satuan='$HTTP_POST_VARS[f_satuan]', where kode_barang='$HTTP_POST_VARS[no]'"); echo ('<script>
</script>');
include("ubah_barang.php"); ?>
Kemudian, file “form_hapus_barang.php” adalah file yang digunakan untuk
menghapus data barang dari dalam database. Berikut ini adalah potongan listing programnya :
if ($_GET['action'] == "del"){
// membaca nilai n dari hidden value
$n = $_POST['n'];
for ($i=0; $i<=$n-1; $i++){
if (isset($_POST['kode_barang'.$i])) {
$kode_barang = $_POST['kode_barang'.$i];
$query = "DELETE FROM barang WHERE kode_barang = '$kode_barang'";
mysql_query($query); }
}
}