4.
IMPLEMENTASI SISTEM4.1. Implementasi Awal
Pada bab ini akan dijelaskan sistem informasi administrasi yang dibuat dengan bahasa pemrograman PHP dan juga fitur-fitur yang ada pada website yang dapat digunakan untuk mengolah penjualan dan pembelian.
Sebelum program dijalankan, terlebih dahulu dilakukan instalasi pada komputer dengan melakukan install web server. Dalam bab ini dijelaskan program sebelum di hosting dengan server Localhost. Yang dibutuhkan dalam sistem ini:
• XAMPP
• Mysql Phpmyadmin
• Browser (Mozila, Internet Explorer, Google Chrome, dan lain sebagainya).
4.2. Koneksi Database
Sebelum pembuatan program, dibutuhkan koneksi ke database pada PHPMyAdmin di atas. Dapat dilakukan dengan dengan cara dibawah ini.
Segmen 4.1 Koneksi Database session_start();
$con=mysqli_connect("localhost","root","","skripsi"); if (!$con)
{
die ("Could not connect:".mysql_error()); }
4.3. Implementasi Program
Implementasi program merupakan penerapan rancangan awal dari desain sistem yang telah dibuat. Pada implementasi, program awal diawali dengan halaman login. Dalam hal ini, hak login dibagi menjadi dua yaitu master dan pegawai. Hal ini juga bertujuan untuk melindungi sistem dari user yang tidak berkepentingan. Source Code Login dapat dilihat pada Segmen 4.2.
Segmen 4.2 Controller Login <?php require_once "connection.php"; $warning=""; if (isset($_POST["login"])) { $username=$_POST["username"]; $password=$_POST["password"];
$q="SELECT * FROM admin WHERE username='$username' AND password='$password'"; $res=mysqli_query($con,$q); if($row=mysqli_fetch_assoc($res)) { $_SESSION["id"]=$row["id"]; $_SESSION["username"]=$row["username"]; $_SESSION["hak_master"]=$row["hak_master"]; header("location:home.php"); } else { //header("location:index.php");
$warning="Username dan password yang anda masukkan salah";
} }
?>
Pada Form Home terdapat 6 menu utama yang terdiri dari beberapa submenu. Menu dan submenu pada Form Home dapat dilihat pada Tabel 4.1. Menu dari Form Home.
Tabel 4.1. Menu dari Form Home
Nama Menu Sub Menu Sub Menu Level 1 Nama Form
Master Customer Customer
Barang Barang
Supplier Supplier
Servis Servis
Pegawai Pegawai
Penjualan Transaksi Transaksi
Retur penjualan Retur penjualan
Pesanan Pesanan
Servis Servis
Jual Bekas Jual Bekas
Pembelian Pembelian Baru Pembelian Baru
Pembelian Bekas Pembelian Bekas
Biaya Biaya Biaya
Laporan Stock Stock
Laba Rugi Laba Rugi
4.4. Menu Master
Menu ini berisi segmen program yang mengatur data master dari customer, barang, supplier, kategori barang, servis dan pegawai. Menu pada master dapat dilihat pada Tabel 4.2. Menu Master.
Tabel 4.2. Menu Master
No Menu Master Keterangan DFD
1. Master Barang Pencatatan data barang DFD Level 1 Maintain Data Master Proses 2.1 2. Master Customer Pencatatan data customer DFD Level 1
Maintain Data Master Proses 2.2 3. Master Supplier Pencatatan data supplier DFD Level 1
Maintain Data Master Proses 2.3
4. Master Kategori Barang
Pencatatan data kategori barang DFD Level 1 Maintain Data Master Proses 2.4 5. Master Servis Pencatatan data servis DFD Level 1
Maintain Data Master Proses 2.5 6. Master Pegawai Pencatatan data pegawai DFD Level 1
Maintain Data Master Proses 2.6
4.4.1. Menu Customer
Menu customer digunakan untuk mencatat data customer ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari customer. Prosedur dari menu customer dapat dilihat pada Tabel 4.3. Prosedur Menu Customer.
Tabel 4.3. Prosedur Menu Customer
No Prosedur Keterangan Segmen
1. Show customer Menampilkan data customer Segmen 4.3. 2. Add customer Menambah data customer Segmen 4.4. 3. Edit customer Mengubah data customer Segmen 4.5. 4. Delete customer Menghapus data customer Segmen 4.6.
Prosedur Show customer pada Form Master Customer digunakan untuk melihat data customer yang telah ditambahkan atau dihapus. Source Code melihat data customer dapat dilihat pada Segmen 4.3.
Segmen 4.3. Show customer $sql = "select * from customer ";
Prosedur Add customer pada Form Master Customer digunakan untuk menambahkan data customer ke dalam database. Source Code menambah data customer dapat dilihat pada Segmen 4.4.
Segmen 4.4 .Add Data
Prosedur Edit customer pada Form Master Customer digunakan untuk mengubah data customer yang ada pada database. Source Code mengubah data customer dapat dilihat pada Segmen 4.5.
Segmen 4.5. Edit Data
$sql = "update customer set nama_customer='$nama_customer', alamat_customer='$alamat_customer',nomor_customer='$nomor_custom er' where id_customer='$id_customer'";
mysqli_query($con, $sql);
Prosedur Delete customer pada Form Master Customer digunakan untuk menghapus data customer yang ada pada database. Source Code menghapus data customer dapat dilihat pada Segmen 4.6.
Segmen 4.6. Delete Data
$sql = "delete from customer where id_customer='$id_customer'"; mysqli_query($con, $sql);
4.4.2. Menu Barang
Menu barang digunakan untuk mencatat data barang ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari barang. Prosedur dari menu barang dapat dilihat pada Tabel 4.4. Prosedur Menu Barang.
$sql = "insert into customer ( nama_customer, alamat_customer, nomor_customer)values('$nama_customer','$alamat_customer','$no mor_customer')";
Tabel 4.4. Prosedur Menu Barang
No Prosedur Keterangan Segmen
1. Show barang Menampilkan data barang Segmen 4.3.
2. Add barang Menambah data barang Segmen 4.4.
3. Edit barang Mengubah data barang Segmen 4.5. 4. Delete barang Menghapus data barang Segmen 4.6.
4.4.3. Menu Supplier
Menu supplier digunakan untuk mencatat data supplier ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari supplier. Prosedur dari menu supplier dapat dilihat pada Tabel 4.5. Prosedur Menu Supplier.
Tabel 4.5. Prosedur Menu Supplier
No Prosedur Keterangan Segmen
1. Show supplier Menampilkan data supplier Segmen 4.3. 2. Add supplier Menambah data supplier Segmen 4.4. 3. Edit supplier Mengubah data supplier Segmen 4.5. 4. Delete supplier Menghapus data supplier Segmen 4.6.
4.4.4. Menu Kategori Barang
Menu kategori barang digunakan untuk mencatat data kategori barang ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari kategori barang. Prosedur dari menu kategori barang dapat dilihat pada Tabel 4.6. Prosedur Menu Kategori Barang.
Tabel 4.6. Prosedur Menu Kategori Barang
No Prosedur Keterangan Segmen
1. Show kategori barang Menampilkan data kategori barang Segmen 4.3. 2. Add kategori barang Menambah data kategori barang Segmen 4.4. 3. Edit kategori barang Mengubah data kategori barang Segmen 4.5. 4. Delete kategori barang Menghapus data kategori barang Segmen 4.6.
4.4.5. Menu Servis
Menu servis digunakan untuk mencatat data servis ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari servis. Prosedur dari menu servis dapat dilihat pada Tabel 4.7. Prosedur Menu Servis.
Tabel 4.7. Prosedur Menu Servis
No Prosedur Keterangan Segmen
1. Show servis Menampilkan data servis Segmen 4.3.
2. Add servis Menambah data servis Segmen 4.4.
3. Edit servis Mengubah data servis Segmen 4.5. 4. Delete servis Menghapus data servis Segmen 4.6.
4.4.6. Menu Pegawai
Menu pegawai digunakan untuk mencatat data pegawai ke dalam database. Pada menu ini user dapat menambah, mengubah, dan menghapus data dari pegawai. Prosedur dari menu pegawai dapat dilihat pada Tabel 4.8. Prosedur Menu Pegawai.
Tabel 4.8. Prosedur Menu Pegawai
No Prosedur Keterangan Segmen
1. Show pegawai Menampilkan data pegawai Segmen 4.3. 2. Add pegawai Menambah data pegawai Segmen 4.4. 3. Edit pegawai Mengubah data pegawai Segmen 4.5. 4. Delete pegawai Menghapus data pegawai Segmen 4.6.
4.5. Menu Penjualan
Pada menu penjualan ini user dapat membuat transaksi, pesanan, servis dan penjualan barang bekas. Isi pada menu penjualan dapat dilihat di dalam Tabel 4.9. Menu Penjualan.
Tabel 4.9. Menu Penjualan
No Menu Penjualan Keterangan DFD
1. Transaksi Pembuatan transaksi barang baru DFD Level 1 Penjualan Proses 4.1
2. Pesanan Pembuatan pesanan DFD Level 1
Penjualan Proses 4.2
3. Servis Pembuatan servis DFD Level 1
Penjualan Proses 4.3
4. Jual Bekas Pembuatan transaksi barang bekas DFD Level 1 Penjualan Proses 4.4
4.5.1. Transaksi
Menu transaksi digunakan untuk mencatat data penjualan barang baru ke dalam database. Pada menu ini user dapat menambah data dari transaksi yang terjadi. Prosedur dari menu transaksi dapat dilihat pada Tabel 4.10. Prosedur Menu Transaksi.
Tabel 4.10. Prosedur Menu Transaksi
No Prosedur Keterangan Segmen
1. Show transaksi Menampilkan data transaksi Segmen 4.3. 2. Add transaksi Menambah data transaksi Segmen 4.7. 3. Show detail barang Menampilkan data detail barang Segmen 4.3. 4. Retur penjualan Menambah data barang retur Segmen 4.8.
Prosedur Add transaksi pada Form Menu Transaksi digunakan untuk menambahkan data dari transaksi dan detail transaksi yang terjadi pada toko. Source Code menambah transaksi dapat dilihat pada segmen 4.7.
Segmen 4.7. Add Transaksi require_once("connection.php"); $detailPenjualan=json_decode($_POST["detailpenjualan"]); $id_transaksi=mysqli_real_escape_string($con,$_POST["id_transaks i"]); $tanggal=mysqli_real_escape_string($con,$_POST["tanggal"]); $diskon=mysqli_real_escape_string($con,$_POST["diskon"]); $jenis=mysqli_real_escape_string($con,$_POST["jenis"]);
$q="INSERT INTO transaksi (tanggal_transaksi, kode_transaksi,
diskon, jenis) VALUES
(sysdate(),'$id_transaksi','$diskon','$jenis')"; mysqli_query($con,$q); $id_h=mysqli_insert_id($con); $total=0; for ($i=0;$i<count($detailPenjualan);$i++) { $detail=$detailPenjualan[$i]; $id=$detail->brg->id_barang; $jumlah=$detail->jumlah;
$q="SELECT * FROM barang WHERE id_barang='$id'"; $res=mysqli_query($con,$q);
$dataBarang=mysqli_fetch_assoc($res); $harga=$dataBarang["harga_barang"]*1.2; $subtotal=$harga*$jumlah;
$total+=$subtotal;
$q="INSERT INTO detail_transaksi (id_transaksi, id_barang, jumlah_transaksi,harga_transaksi)
VALUES ('$id_h','$id','$jumlah','$harga')"; mysqli_query($con,$q);
$q="UPDATE barang set stock_barang=stock_barang-'". $jumlah ."' WHERE id_barang='". $id ."'";
mysqli_query($con,$q);
Di dalam menu transaksi juga terdapat sub menu retur penjualan. Sub menu retur penjualan digunakan untuk mencatat data barang yang diretur oleh customer berdasarkan dari transaksi yang terjadi ke dalam database. Pada menu ini user hanya dapat memasukan data dari barang yang diretur. Jika jumlah barang yang dijual sama besar dengan jumlah barang yang diretur maka tombol untuk retur penjualan akan hilang, jika jumlah jual masih lebih besar maka tombol retur akan muncul, prosedur ini akan dijelaskan pada segmen 4.8. Retur penjualan untuk customer dibedakan menjadi dua yaitu refund pada segmen 4.9. atau tukar barang baru pada segmen 4.10.
Segmen 4.8. Add Retur Penjualan require_once("connection.php"); if(!isset($_SESSION["id"])){ header("location: index.php"); } $id=mysqli_real_escape_string($con,$_POST["detail_transaks i"]); $retur=mysqli_real_escape_string($con,$_POST["retur"]); $ketentuan=mysqli_real_escape_string($con,$_POST["ketentua n"]); $alasan=mysqli_real_escape_string($con,$_POST["alasan"]); echo $id.",".$retur.",".$ketentuan.",".$alasan;
$q="INSERT INTO retur (tanggal, alasan, pilihan, id_detailtransaksi,jumlah)
VALUES (SYSDATE(),'$alasan','$ketentuan','$id','$retur')"; mysqli_query($con,$q);
$q="SELECT * FROM detail_transaksi d inner join transaksi
t on d.id_transaksi = t.id_transaksi WHERE
id_detailtransaksi='$id'"; $res=mysqli_query($con,$q);
$dataTransaksi=mysqli_fetch_assoc($res); }
Segmen 4.9. Refund if ($ketentuan=="Refund")
{
$rugi=$retur*$dataTransaksi["harga_transaksi"];
$q="INSERT INTO biaya (nama,tanggal,nilai_biaya) VALUES
('Rugi retur
".$dataTransaksi["kode_transaksi"]."',SYSDATE(),'$rugi') ";
mysqli_query($con,$q); }
Segmen 4.10. Tukar Barang Baru if ($ketentuan=="Tukar Barang")
{
$harga1=$dataTransaksi["harga_transaksi"]/1.2;
$q="UPDATE barang set stock_barang=stock_barang-'". $retur ."' WHERE id_barang='".$dataTransaksi["id_barang"]."'"; mysqli_query($con,$q);
$ttlBarang=$retur;
$q="SELECT * FROM fifo WHERE
id_barang='".$dataTransaksi["id_barang"]."' AND sisa>0 ORDER BY tanggal ASC ";
$res2=mysqli_query($con,$q); while ($row2=mysqli_fetch_assoc($res2)) { if ($ttlBarang>0) { if ($ttlBarang>$row2["sisa"]) {
$q="UPDATE fifo SET sisa=0 WHERE id_fifo='". $row2["id_fifo"] ."'";
$q="INSERT INTO fifo (id_barang, id_transaksi, jumlah_fifo,harga_masuk,harga_keluar,sisa,tanggal) ". "VALUES ('".$dataTransaksi["id_barang"]."', '".$dataTransaksi["kode_transaksi"]."', '".$row2["sisa"]."', '$harga1',0,0, SYSDATE())"; mysqli_query($con,$q); $ttlBarang=$ttlBarang-$row2["sisa"]; } else {
$q="UPDATE fifo SET sisa=sisa-$ttlBarang WHERE id_fifo='". $row2["id_fifo"] ."'";
mysqli_query($con,$q);
$q="INSERT into fifo (id_barang, id_transaksi,
jumlah_fifo,harga_masuk,harga_keluar,sisa,tanggal) ". "VALUES ('".$dataTransaksi["id_barang"]."', '".$dataTransaksi["kode_transaksi"]."', '$ttlBarang','$harga1',0,0,SYSDATE())"; mysqli_query($con,$q); $ttlBarang=0; } } } }
4.5.2. Pesanan
Menu pesanan digunakan untuk mencatat data dari pesanan barang baru yang terjadi di toko. Prosedur dari menu pesanan dapat dilihat pada Tabel 4.11. Prosedur Menu Pesanan.
Tabel 4.11. Prosedur Menu Pesanan
No Prosedur Keterangan Segmen
1. Show pesanan Menampilkan data pesanan Segmen 4.3. 2. Add pesanan Menambah data pesanan Segmen 4.7. 3. Show detail barang Menampilkan data detail barang Segmen 4.3. 4. Add transaksi Menambah data barang Segmen 4.7.
Di dalam pesanan terdapat fitur untuk pembuatan transaksi dari pesanan yang sudah siap. Pada menu ini user dapat membuat transaksi dari data pesanan yang ada. Pesanan ini juga dilengkapi dengan fitur reminder yang dapat
memberikan notifikasi berupa email kepada user, source code dapat dilihat pada segmen 4.11.
Segmen 4.11. Reminder Pesanan $q="SELECT
durasi_pesanan,email,DATEDIFF(SYSDATE(),tanggal_pesanan) as
hari,kode_pesanan FROM pesanan WHERE status='Pending'"; $res=mysqli_query($con,$q);
while ($row=mysqli_fetch_assoc($res)) {
if ($row["hari"]>3 && $row["email"]<>"S") {
$q="UPDATE pesanan SET email='S' WHERE
kode_pesanan='". $row["kode_pesanan"] ."'"; mysqli_query($con,$q);
print_r($row);echo "<br/>";
$judul="Pesanan ".$row["kode_pesanan"]." belum dipenuhi";
sendmail("[email protected]",$judul,$isi); }
if ($row["hari"]>$row["durasi_pesanan"]) {
$q="UPDATE pesanan SET status='Batal' WHERE kode_pesanan='". $row["kode_pesanan"] ."'";
mysqli_query($con,$q);
$judul="Pesanan ".$row["kode_pesanan"]." dibatalkan";
$isi="Pesanan ".$row["kode_pesanan"]." melebihi durasi";
sendmail("[email protected]",$judul,$isi); }
}
4.5.3. Service
Menu servis digunakan untuk mencatat data dari servis barang yang terjadi di toko. Prosedur dari menu servis dapat dilihat pada Tabel 4.12. Prosedur Menu Service.
Tabel 4.12. Prosedur Menu Service
No Prosedur Keterangan Segmen
1. Show servis Menampilkan data servis Segmen 4.3.
2. Add servis Menambah data servis Segmen 4.7.
3. Show detail servis Menampilkan data detail servis Segmen 4.3. 4. Add transaksi Menambah data barang Segmen 4.7.
Di dalam servis terdapat fitur pembuatan transaksi untuk servis yang membutuhkan sparepart baru. Pada menu ini user dapat membuat transaksi untuk pembelian sparepart yang digunakan untuk keperluan servis.
4.5.4. Jual Bekas
Menu jual bekas digunakan untuk mencatat data penjualan barang bekas ke dalam database. Pada menu ini user dapat menambah data dari transaksi yang terjadi. Prosedur dari menu transaksi dapat dilihat pada Tabel 4.13. Prosedur Menu Jual Bekas.
Tabel 4.13. Prosedur Menu Jual Bekas
No Prosedur Keterangan Segmen
1. Show jual bekas Menampilkan data jual bekas Segmen 4.3. 2. Add jual bekas Menambah data jual bekas Segmen 4.7. 3. Show detail barang Menampilkan data detail barang Segmen 4.3.
4.6. Menu Pembelian
Pada menu pembelian ini user dapat membuat pembelian barang baru dan barang bekas. Isi pada menu pembelian dapat dilihat di dalam Tabel 4.14. Menu Pembelian.
Tabel 4.14. Menu Pembelian
No Menu Pembelian Keterangan DFD
1. Pembelian Baru Pembuatan pembelian barang baru DFD Level 1 Pembelian 3.1 2. Pembelian Bekas Pembuatan pembelian barang bekas DFD Level 1
Pembelian 3.2
4.6.1. Pembelian Baru
Menu pembelian baru digunakan untuk mencatat data pembelian barang baru ke dalam database. Pada menu ini user dapat menambah data dari pembelian yang terjadi. Prosedur dari menu pembelian baru dapat dilihat pada Tabel 4.15. Prosedur Menu Pembelian Baru. Source code dapat dilihat pada segmen 4.12.
Tabel 4.15. Prosedur Menu Pembelian Baru
No Prosedur Keterangan Segmen
2. Add pembelian baru Menambah data pembelian baru Segmen 4.12. 3. Show detail barang Menampilkan data detail barang Segmen 4.3.
Prosedur Add pembelian baru pada Form Menu Pembelian digunakan untuk menambahkan data dari pembelian dan detail transaksi yang terjadi pada toko. Source code dapat dilihat pada segmen 4.12.
Segmen 4.12. Pembelian Baru require_once("connection.php"); $detailPembelian=json_decode($_POST["detailpembelian"]); $id_pembelian=mysqli_real_escape_string($con,$_POST["id_pembel ian"]); $tanggal=mysqli_real_escape_string($con,$_POST["tanggal"]); $supplier=mysqli_real_escape_string($con,$_POST["supplier"]); $q="INSERT INTO pembelian
(tanggal_pembelian,kode_pembelian,id_supplier) VALUES (sysdate(),'$id_pembelian','$supplier')"; mysqli_query($con,$q); $id_h=mysqli_insert_id($con); $total=0; for ($i=0;$i<count($detailPembelian);$i++) { $detail=$detailPembelian[$i]; //print_r($detail); //echo "<br/>"; $id=$detail->brg->id_barang; $jumlah=$detail->jumlah;
$q="SELECT * FROM barang WHERE id_barang='$id'"; $res=mysqli_query($con,$q);
$dataBarang=mysqli_fetch_assoc($res); $harga=$detail->brg->harga;
$subtotal=$harga*$jumlah; $total+=$subtotal;
$q="INSERT INTO detail_pembelian
(id_pembelian,id_barang,jumlah_pembelian,harga_pembelian) VALUES ('$id_h','$id','$jumlah','$harga')";
mysqli_query($con,$q);
$q="UPDATE barang SET harga_barang='". $harga.
"',stock_barang=stock_barang+". $jumlah ." WHERE id_barang='". $id ."'";
echo "<br/>";
mysqli_query($con,$q); $q="INSERT into fifo
(id_barang,id_transaksi,jumlah_fifo,harga_masuk,harga_keluar,s isa,tanggal) VALUES ('$id','$id_pembelian','$jumlah','$harga',0,$jumlah,'$tanggal' )"; mysqli_query($con,$q); }
$q="UPDATE pembelian SET total_pembelian='$total' WHERE id_pembelian='$id_h'"; mysqli_query($con,$q);
4.6.2. Pembelian Bekas
Menu pembelian bekas digunakan untuk mencatat data pembelian barang bekas ke dalam database. Pada menu ini user dapat menambah data dari pembelian yang terjadi. Prosedur dari menu pembelian bekas dapat dilihat pada Tabel 4.16. Prosedur Menu Pembelian bekas.
Tabel 4.16. Prosedur Menu Pembelian Bekas
No Prosedur Keterangan Segmen
1. Show pembelian bekas Menampilkan data pembelian bekas Segmen 4.3. 2. Add pembelian bekas Menambah data pembelian bekas Segmen 4.12. 3. Show detail barang Menampilkan data detail barang Segmen 4.3.
4.7. Biaya
Pada menu biaya ini user dapat membuat data biaya seperti listrik, sewa dan gaji pegawai. Pada menu ini user dapat menambah, mengubah dan menghapus biaya yang terjadi. Prosedur dari menu biaya dapat dilihat pada Tabel 4.17. Prosedur Biaya.
Tabel 4.17. Prosedur Biaya
No Prosedur Keterangan Segmen
1. Show biaya Menampilkan data biaya Segmen 4.3.
2. Add biaya Menambah data biaya Segmen 4.4.
4. Delete biaya Menghapus data biaya Segmen 4.6. 5. Create gaji pegawai Menambah data gaji pegawai Segmen 4.13.
Di dalam biaya ini terdapat fitur create gaji, user hanya perlu melakukan create gaji sekali dalam sebulan dengan menekan tombol create gaji. Biaya gaji seluruh pegawai akan terbuat secara otomatis ketik tombol create gaji ditekan. Source code dapat dilihat pada Segmen 4.13.
Segmen 4.13. Create Gaji
$q="SELECT * FROM gaji_bulanan WHERE DATE_FORMAT(tanggal,'%Y-%m')= DATE_FORMAT(SYSDATE(),'%Y-%m')"; $res=mysqli_query($con,$q); if ($row=mysqli_fetch_assoc($res)) { } else {
$q="SELECT * FROM pegawai"; $res=mysqli_query($con,$q);
while ($row=mysqli_fetch_assoc($res)) {
$q="INSERT INTO gaji_bulanan (id_pegawai,gaji,tanggal) VALUES ('". $row["id_pegawai"] ."',". $row["gaji"] .",SYSDATE())";
mysqli_query($con,$q); }
}
4.8. Laporan
Pada menu laporan ini user dapat membuat laporan stock dan laba rugi. Pada menu ini user dapat melihat laporan dari data yang ada sesuai dengan periode tertentu. Isi pada menu laporan dapat dilihat di dalam Tabel 4.18. Menu Laporan.
Tabel 4.18. Menu Laporan
No Menu Laporan Keterangan DFD
1. Stock Laporan stock barang baru DFD Level 0
Proses 6
2. Laba Rugi Laporan laba rugi DFD Level 0
Proses 6
3. Penjualan Laporan penjualan DFD Level 0
Proses 6
4. Penjualan Bekas Laporan penjualan bekas DFD Level 0 Proses 6
5. Pembelian Laporan pembelian DFD Level 0
Proses 6
6. Pembelian Bekas Laporan penjualan bekas DFD Level 0 Proses 6
7. Pesanan Laporan pesanan DFD Level 0
Proses 6
8. Servis Laporan servis DFD Level 0
Proses 6
4.8.1. Stock
Menu stock digunakan untuk mengetahui perubahan dari stock barang baru karena pembelian, penjualan, pesanan dan servis. Pada menu ini user dapat melihat perubahan dari stock barang berdasarkan periode tertentu. Prosedur dari stock dapat dilihat pada Tabel 4.19. Prosedur Menu Laporan Stock.
Tabel 4.19. Prosedur Menu Laporan Stock
No Prosedur Keterangan Segmen
1. Show stock Menampilkan data stock Segmen 4.14.
Di dalam menu stock dilengkapi dengan fitur cetak laporan pada segmen 4.15. dan reminder stock yang dapat memberikan notifikasi berupa email kepada user ketika stock barang lebih kecil dari minimum stock, source code dapat dilihat pada segmen 4.16.
Segmen 4.14. Show Stock $syarat="";
if ($tanggalakhir!="") {
$syarat=$syarat." AND tanggal<='$tanggalakhir'"; }
if ($tanggalmulai!="") {
$syarat=$syarat." AND tanggal>='$tanggalmulai'"; }
if ($id_barang!="") {
$syarat=$syarat." AND f.id_barang='$id_barang'"; }
$sql = "select f.*,b.* from fifo f join barang b on f.id_barang = b.id_barang where TRUE ".$syarat;
$hasil = mysqli_query($con, $sql);
Segmen 4.15. Cetak
<button type="button" onclick="window.print();" class="no-print btn btn-success">Cetak</button>
Segmen 4.16. Reminder Stock
$q="SELECT * FROM barang WHERE stock_barang < minimal"; $res=mysqli_query($con,$q);
while ($row=mysqli_fetch_assoc($res)) {
if ($row["emailed"]<>"S") {
$q="UPDATE barang SET emailed='S' WHERE id_barang='". $row["id_barang"] ."'";
$judul="Barang ".$row["nama_barang"]."";
$isi="Stock barang kurang dari minimal <br> Jumlah barang : ".$row["stock_barang"]."";
sendmail("[email protected]",$judul,$isi); }
}
$q="SELECT * FROM barang WHERE stock_barang > minimal"; $res=mysqli_query($con,$q);
while ($row=mysqli_fetch_assoc($res)) {
if ($row["emailed"]="S" ) {
$q="UPDATE barang SET emailed='' WHERE id_barang='". $row["id_barang"] ."'";
mysqli_query($con,$q); print_r($row);echo "<br/>"; }
}
4.8.2. Laba Rugi
Menu laba rugi digunakan untuk mengetahui laba atau rugi yang dialami oleh toko dalam periode tertentu. Pada menu ini user dapat melihat pemasukan dan pengeluaran yang dilakukan oleh toko. Prosedur dari laba rugi dapat dilihat pada Tabel 4.20. Prosedur Menu Laporan Laba Rugi.
Tabel 4.20. Prosedur Menu Laporan Laba Rugi
No Prosedur Keterangan Segmen
1. Show laba rugi Menampilkan data laba rugi Segmen 4.14.
2. Cetak laporan Mencetak Laporan Segmen 4.15.
4.8.3. Penjualan
Menu penjualan dapat digunakan untuk melihat penjualan yang terjadi selama periode tertentu. Prosedur dari penjualan dapat dilihat pada Tabel 4.21. Prosedur Menu Laporan Penjualan.
Tabel 4.21. Prosedur Menu Laporan Penjualan
No Prosedur Keterangan Segmen
1. Show stock Menampilkan data penjualan Segmen 4.14.
2. Cetak laporan Mencetak Laporan Segmen 4.15.
4.8.4. Penjualan Bekas
Menu penjualan dapat digunakan untuk melihat penjualan bekas yang terjadi selama periode tertentu. Prosedur dari penjualan bekas dapat dilihat pada Tabel 4.21. Prosedur Menu Laporan Penjualan Bekas.
Tabel 4.22. Prosedur Menu Laporan Penjualan Bekas
No Prosedur Keterangan Segmen
1. Show penjualan bekas Menampilkan data penjualan bekas Segmen 4.14.
2. Cetak laporan Mencetak laporan Segmen 4.15.
4.8.5. Pembelian
Menu pembelian dapat digunakan untuk melihat pembelian yang terjadi selama periode tertentu. Prosedur dari pembelian dapat dilihat pada Tabel 4.23. Prosedur Menu Laporan Pembelian.
Tabel 4.23. Prosedur Menu Laporan Pembelian
No Prosedur Keterangan Segmen
1. Show pembelian Menampilkan data pembelian Segmen 4.14.
2. Cetak laporan Mencetak laporan Segmen 4.15.
4.8.6. Pembelian Bekas
Menu pembelian bekas dapat digunakan untuk melihat pembelian bekas yang terjadi selama periode tertentu. Prosedur dari pembelian bekas dapat dilihat pada Tabel 4.24. Prosedur Menu Laporan Pembelian Bekas.
Tabel 4.24. Prosedur Menu Laporan Pembelian Bekas
No Prosedur Keterangan Segmen
2. Cetak laporan Mencetak laporan Segmen 4.15.
4.8.7. Pesanan
Menu pesanan dapat digunakan untuk melihat pesanan yang terjadi selama periode tertentu. Prosedur dari pesanan dapat dilihat pada Tabel 4.25. Prosedur Menu Laporan Pesanan.
Tabel 4.25. Prosedur Menu Laporan Pesanan
No Prosedur Keterangan Segmen
1. Show pesanan Menampilkan data pesanan Segmen 4.14.
2. Cetak laporan Mencetak laporan Segmen 4.15.
4.8.8. Servis
Menu servis dapat digunakan untuk melihat servis yang terjadi selama periode tertentu. Prosedur dari servis dapat dilihat pada Tabel 4.26. Prosedur Menu Laporan Servis.
Tabel 4.26. Prosedur Menu Laporan Servis
No Prosedur Keterangan Segmen
1. Show servis Menampilkan data servis Segmen 4.14.