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
Buatkan index dengan nama XKODEBRG dari field KODEBRG yang bersifat Primarykey
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)
Buatkan index dengan nama XNOFAKTUR dari field NOFAKTUR yang bersifat Primarykey
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)
Field Nofaktur dapat di index akan tetapi tidak boleh bersifat Primarykey
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)
Buatkan index dengan nama XKODESUP dari field KODESUP yang bersifat Primarykey
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:
Query Pembelian
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:
Query Jumlah Pembelian
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

Posting Komentar