Program STOK Barang menggunakan VB dan Microsoft Access
.
Bagian Pembelian dan STOK Barang
Pada Episode sebelumnya (Epesiode 4) telah dibahas cara mengkoneksikan Visual Basic ke Database (MS Acces) dan bagaimana cara memanajemen record database menggunakan ADO (ActiveX Data Objects).
Program Stok kali ini lebih nyata dalam pemrograman dan tetap menjadi media belajar yang santai karena terdapat banyak peluang untuk memperbaiki sesuai dengan logika pembaca. Misalkan pada Pembelian (HBeli) digunakan field KODESUP untuk Suplier sedangkan pada tabel Penjualan (Hjual) digunakan field nama CUSTOMER padahal tabel CUSTOMER (TCUSTOMER) terdapat field KodeCust, tentunya diharapkan para pembaca yang memodifikasi program dan Database agar yang tersimpan adalah kode Customer sebagai mana layaknya basidata yang baik. Secara Umum untuk memperoleh STOK adalah dengan menghitung semua Pembelian dan dikurangkan dengan semua Penjualan seperti ditulis dalam rumus dibawah ini:
Stok = Pembelian – Penjualan
Pada praktiknya agar stok bersifat Real Time maka setiap terjadi transaksi Pembelian maka field JUMLAH pada Tabel Barang akan di tambahkan dengan jumlah barang yang dibeli. Begitu juga sebaliknya setiap terjadi transaksi Penjualan maka field JUMLAH akan dikurangkan dengan Jumlah barang yang dijual. Rumus diatas dituangkan dalam rancangan Basisdata Database Stok menggunakan Ms. Access 2003 sbb:
Database Name : STOK.MDB Tabel-Tabel sebagai berikut: 1. TBarang (Tabel Master dan Stok Barang) 2. HBeli (Tabel Header Pembelian) 3. DBeli (Tabel Detail Pembelian) 4. HJual (Tabel Header Penjualan) 5. Djual (Tabel Detail Penjualan) 6. TSupplier (Tabel Master Supplier) 7. TCustomer (Tabel Master Customer) 8. Tbantu (Tabel Bantu Form Transaksi Pembelian dan Penjualan)Selain menggunakan tabel-tabel diatas maka pada database digunakan juga bebera query untuk memudahkan manipulasi data yakni sbb:
1. QBeli (Query transaksi Pembelian) 2. QJBeli (Query untuk menghitung Jumlah Pembelian) 3. QJual (Query transaksi Penjualan) 4. QJJual (Query untuk menghitung Jumlah Penjualan) 5. QJMLBRG (Query untuk menghitung Stok Barang)Pada Bagian ini akan dibahas mengenai struktur tabel dan query database Stok.MDB: 1. TBarang, Struktur tabel ini sbb:
Field Name | Data Type | Field Properties |
KODEBRG | Text | Field Size 18 |
NAMA BRG | Text | Field Size 100 |
SATUAN | Text | Fiel Size 15 |
JUMLAH | Number | Integer |
HARGABELI | Number | Single |
HARGAJUAL | Number | Single |
2. Hbeli, Untuk menampung data transaksi Pembelian maka dibuatkan 2 Tabel (HBeli dan DBeli), ke 2 tabel dihubungkan dengan sebuah field kunci yakni NOFAKTUR.
Mungkin dari pembaca ada yang bertanya mengapa harus 2 tabel..?,
Jawabannya adalah:
Agar diperoleh Basis Data yang baik maka hindarkan hal-hal yang akan menyebabkan kesalahan dan kesulitan dalam mengakses dan memanipulasi database seperti annomaly, redudance (Field berulang), dsb.
Untuk keperluan tersebut maka Data-data yang bersifat tunggal (One) seperti Tanggal Transaksi, Kode Suplier, Keterangan dsb dicatat dalam tabel HBeli, sementara data-data yang berulang-ulang (Many) dalam hal ini record barang yang dibeli (KODEBRG, JML, HARGA BELI) dicatat dalam tabel DBeli.
Jadi sekali transaksi dapat membeli lebih dari 1 barang, Relasi HBeli dan DBeli disebut “One to Many”
Struktur tabel Hbeli ini sbb:
Field Name | Data Type | Field Properties |
NOFAKTUR | Text | Field Size 10, (Nomor Faktur Pembelian) |
TGL | Date/Time | Field Size 8 otomatis (Tanggal Transaksi Pembelian) |
KODESUP | Text | Field Size 5, (Kode Supplier) |
KETERANGAN | Text | Field Size 100 (Mencatat Keterangan Transaksi) |
3. DBeli, Untuk menampung data many transaksi Pembelian, Struktur Tabel DBeli ini sbb:
Field Name | Data Type | Field Properties |
NOFAKTUR | Text | Field Size 10, (Nomor Faktur Pembelian) |
KODEBRG | Text | Field Size 18 (Kode Barang) |
JML | Number | Integer,(Jumlah Barang yang di beli) |
HARGA | Number | Single (Harga Beli Barang) |
4.TSupplier, Untuk menampung data Master Supplier, Struktur Tabel TSupplier sbb:
Field Name | Data Type | Field Properties |
KODESUP | Text | Field Size 5, (Kode Supplier) |
NAMASUP | Text | Field Size 100 (Nama Supplier) |
ALAMAT | Text | Field Size 255,(Alamat Supplier) |
TELEPON | Text | Field Size 15(Nomor Telepon Supplier) |
KONTAK | Text | Field Size 50(Kontak Person Supplier) |
5. QBELI, Adalah query untuk menampilkan record data pembelian,
Adapun struktur Query ini adalah melibatkan ke 4 tabel yang sudah dibuat diatas,lihat gambar dibawah ini:
Bila kesulitan membaca gambar maka dapat menempuh cara membuat query dengan mengcopy isi
statement SQLnya melalui menu SQL View. Adapun SLQ Stringnya seperti dibawah ini:
SELECT HBELI.NOFAKTUR, HBELI.TGL, HBELI.KODESUP, TSUPPLIER.NamaSup, HBELI.KETERANGAN, DBELI.KODEBRG, TBARANG.NAMABRG,TBARANG.SATUAN, DBELI.JML, DBELI.HARGA, [DBELI]![JML]*[DBELI]![HARGA] AS SUBJUMLAH FROM (DBELI INNER JOIN (TSUPPLIER INNER JOIN HBELI ON TSUPPLIER.KodeSup = HBELI.KODESUP) ON DBELI.NOFAKTUR = HBELI.NOFAKTUR) INNER JOIN TBARANG ON DBELI.KODEBRG = TBARANG.KODEBRG;
Catatan:
Baris perintah diatas tidak dipisahkan dengan enter, hilangkan dahulu efek enter tersebut dengan menekan tombol del di setiap diujung baris perintah.
6. QJBELI, Adalah query untuk menghitung jumlah pembelian masing2 barang,
Adapun struktur Query berasal dari query QBELI, lihat gambar dibawah ini:
Keterangan:
Bila kesulitan membaca gambar maka dapat menempuh cara membuat query dengan mengcopy isi statement SQLnya melalui menu SQL View. Adapun SLQ Stringnya seperti dibawah ini:
SELECT QBELI.KODEBRG, QBELI.NAMABRG, Sum(QBELI.JML) AS JMLBELI, Sum(QBELI.HARGA) AS HARGABELI, Sum(QBELI.SUBJUMLAH) AS SUBJUMLAHBELI FROM QBELI GROUP BY QBELI.KODEBRG, QBELI.NAMABRG;
Catatan:
Baris perintah diatas tidak dipisahkan dengan enter, hilangkan dahulu efek enter tersebut dengan menekan tombol del diujung baris perintah sehingga baris ke dua naik menyambung dengan baris pertama.
Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer