www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
APLIKASI PERSEDIAAN BARANG VB 6.0 (VERSI 2) Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Program ini merupakan suatu ilustrasi tentang aplikasi persediaan barang yang dimulai dari pengolahan tabel master (barang, supplier, customer dan pengguna aplikasi) kemudian dilanjutkan dengan pengolahan tabel transaksi dimulai dari pengecekan stok barang minumum untuk dilaporkan ke bagian pembelian barang, penerimaan barang dari supplier, permintaan barang dari customer dan pengeluaran barang kepada customer. Setelah pengolahan data transaksi selesai maka dibuatlah laporan yang meliputi laporan tabel master dan laporan data transaksi.
3.1 Merancang Database Dan Bentuk Relasi Tabel Dalam aplikasi persediaan barang ini desain database dan relasi tabel terlihat pada gambar di bawah ini
Gambar 3.1 Desain Database Dan Relasi Tabel
1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 3.2 Membuat Module Tujuan dibuatnya module ini adalah untuk mempermudah mengakses database dan tabel-tabel yang diperlukan. Untuk membuat module lakukanlah langkah-langkah berikut ini : a.
Klik menu project
b.
Pilih add module
c.
Klik OK
d.
Tulis koding berikut ini
e.
Simpan module
Public Public Public Public Public Public Public Public Public Public Public Public Public
Conn As New ADODB.Connection RSBarang As ADODB.Recordset RSSupplier As ADODB.Recordset RSCustomer As ADODB.Recordset RSDetailKeluar As ADODB.Recordset RSDetailMinta As ADODB.Recordset RSPemakai As ADODB.Recordset RSDetailTerima As ADODB.Recordset RSPenerimaan As ADODB.Recordset RSPengeluaran As ADODB.Recordset RSMintaBeli As ADODB.Recordset RSPermintaanUser As ADODB.Recordset PathData As String
Public Sub Koneksi() Set Conn = New ADODB.Connection Set RSBarang = New ADODB.Recordset Set RSSupplier = New ADODB.Recordset Set RSCustomer = New ADODB.Recordset Set RSDetailKeluar = New ADODB.Recordset Set RSDetailMinta = New ADODB.Recordset Set RSPemakai = New ADODB.Recordset Set RSDetailTerima = New ADODB.Recordset Set RSPenerimaan = New ADODB.Recordset Set RSPengeluaran = New ADODB.Recordset Set RSMintaBeli = New ADODB.Recordset Set RSPermintaanUser = New ADODB.Recordset PathData = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBPersediaan.mdb" Conn.Open PathData End Sub
3.3 Pengolahan Data Master 3.3.1 Data Barang
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.2 Form Barang
3.3.2 Data Pemakai
Gambar 3.3 Form Pemakai Aplikasi
3.3.3 Data Supplier
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.4 Form Supplier
3.3.4 Data Customer
Gambar 3.5 Form Customer
3.4 Data Transaksi
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 3.4.1 Cek Stok Barang Minimal
Gambar 3.6 Form Cek Stok Barang
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.7 Laporan Stok Barang Minimum
3.4.2 Penerimaan Barang Dari Supplier
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.8 Form Penerimaan Barang Dari Supplier
.4.3
Permintaan Barang Dari Customer
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.9 Form Permintaan Barang Dari Customer
3.4.4 Pengeluaran Barang Kepada Customer
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.10 Form Pengeluaran Barang
Koding : Private Sub Form_Activate() Call Koneksi ADO.ConnectionString = PathData ADO.RecordSource = "TMPKeluarUser" ADO.Refresh Set DG.DataSource = ADO DG.Refresh TanggalKlr = Date 'tampilkan data permintaan user yang belum dikirim RSPermintaanUser.Open "select * from permintaanuser where ketkirim='Belum Dikirim'", Conn Combo1.Clear Do While Not RSPermintaanUser.EOF Combo1.AddItem RSPermintaanUser!NomorMnt RSPermintaanUser.MoveNext Loop Call TabelKosong End Sub Private Sub Form_Load() Call KondisiAwal Call TabelKosong End Sub Sub TabelKosong() Call Koneksi Dim hapus As String
9
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi hapus = "delete * from TMPKELUARuSER" Conn.Execute hapus End Sub Private Sub CmdSimpan_Click() If Combo1 = "" Then MsgBox "Pilih nomor permintaan di combo1" Combo1.SetFocus Exit Sub Else Call Koneksi RSPermintaanUser.Open "select * from permintaanuser where nomormnt='" & Combo1 & "'", Conn If Not RSPermintaanUser.EOF Then Dim edit As String 'edit data permintaan bahwa nomor ini SUDAH DIKIRIM edit = "update permintaanuser set ketkirim='Sudah Dikirim' where nomormnt='" & Combo1 & "'" Conn.Execute edit
Dim Simpan As String 'simpan ke tabel pengeluaran Simpan = "insert into pengeluaran(nomorklr,tanggalklr,kodecus,nomorbon,totalmnt,TotalKrm,kodepmk,ket,KetKirim) values " & _ "('" & NomorKlr & "','" & TanggalKlr & "','" & KodeCus & "','" & NomorReffUser & "','" & TotalMnt & "','" & TotalKrm & "','" & Menu.STBar.Panels(1).Text & "','" & LblKet & "','Sudah Dikirim')" Conn.Execute Simpan 'simpan ke tabel detailkeluar ADO.Recordset.MoveFirst Do While Not ADO.Recordset.EOF Dim simpan2 As String simpan2 = "insert into Detailkeluar(nomorklr,KODEBRG,stok,QTYMnt,dikirim,ket) values " & _ "('" & NomorKlr & "','" & ADO.Recordset!Kode & "','" & ADO.Recordset!stok & "','" & ADO.Recordset!qtymnt & "','" & ADO.Recordset!dikirim & "','" & ADO.Recordset!ket & "')" Conn.Execute simpan2 ADO.Recordset.MoveNext Loop 'kurangi jumlah barang ADO.Recordset.MoveFirst Do While Not ADO.Recordset.EOF If ADO.Recordset!Kode <> vbNullString Then Call Koneksi RSBarang.Open "Select * from Barang where Kodebrg='" & ADO.Recordset!Kode & "'", Conn If Not RSBarang.EOF Then Dim KurangiStokBarang As String KurangiStokBarang = "update barang set jumlahbrg='" & RSBarang!jumlahbrg ADO.Recordset!dikirim & "' where kodebrg='" & ADO.Recordset!Kode & "'" Conn.Execute (KurangiStokBarang) End If End If ADO.Recordset.MoveNext Loop Form_Activate Call KondisiAwal 'Call CetakPengeluaranBarang End If End If End Sub
10
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Sub CetakPengeluaranBarang() CR.ReportFileName = App.Path & "\master pengeluaran.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub 'nomor pengeluaran akan secara otomatis 'diambil dari nomor permintaan 'hanya dibedakan 2 huruf depannya saja Private Sub COMBO1_Click() NomorKlr = "KL" + Right(Combo1, 8) Call Koneksi Dim RSCari As New ADODB.Recordset 'mencari dan menampilkan data permintaan RSCari.Open "select * from permintaanuser where nomormnt='" & Combo1 & "'", Conn If Not RSCari.EOF Then TanggalMnt = RSCari!TanggalMnt NomorReffUser = RSCari!NomorReffUser TotalMnt = RSCari!TotalMnt TotalKrm = RSCari!TotalKrm LblKet = RSCari!ket 'mencari dan menampilkan data customer RSCustomer.Open "select * from customer where kodecus='" & RSCari!KodeCus & "'", Conn If Not RSCustomer.EOF Then KodeCus = RSCari!KodeCus NamaCus = RSCustomer!NamaCus PersonCus = RSCustomer!PersonCus End If End If 'jika data ditemukan, tampilkan datanya dalam grid ADO.ConnectionString = PathData ADO.RecordSource = "SELECT BARANG.KODEBRG AS KODE,NAMABRG AS NAMA,STOK,QTYMNT,DIKIRIM,KET FROM BARANG,DETAILMINTAUSER WHERE BARANG.KODEBRG=DETAILMINTAUSER.KODEBRG AND NOMORMNT='" & Combo1 & "'" ADO.Refresh Set DG.DataSource = ADO DG.Refresh End Sub Private Sub CmdBatal_Click() Call KondisiAwal Form_Activate Combo1.SetFocus End Sub Private Sub CmdTutup_Click() Unload Me End Sub Sub TutupCus() KodeCus.Enabled = False NamaCus.Enabled = False PersonCus.Enabled = False NomorReffUser.Enabled = False End Sub
Sub KondisiAwal() TanggalKlr = Date Call TutupCus Call KosongkanCus TanggalMnt = "" TanggalKlr = ""
11
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi NomorReffUser = "" TotalMnt = "" TotalKrm = "" LblKet = "" NomorKlr = "" Combo1 = "" End Sub Sub KosongkanCus() KodeCus = "" NamaCus = "" PersonCus = "" End Sub
3.5 Pembuatan Laporan 3.5.5 Laporan Permintaan Barang
Gambar 3.15 Form Laporan Transaksi
12
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.16 Laporan Harian Permintaan Barang Dari User
Gambar 3.17 Laporan Bulanan Permintaan Barang Dari User
13
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 3.5.6 Laporan Penerimaan Barang
Gambar 3.18 Form Laporan Transaksi Penerimaan Barang
Koding : Private Sub Combo4_Click() CR.SelectionFormula = "Totext({Penerimaan.Tanggaltrm})='" & CDate(Combo4) & "'" CR.ReportFileName = App.Path & "\LAP TERIMA HARIAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub Private Sub Combo6_Click() Call Koneksi RSPenerimaan.Open "select * from PENERIMAAN where month(TanggalTRM)='" & Val(Left(Combo5, 2)) & "' and year(TanggalTRM)='" & (Combo6) & "'", Conn If RSPenerimaan.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({PENERIMAAN.TanggalTRM})=" & Val(Left(Combo5, 2)) & " and Year({PENERIMAAN.TanggalTRM})=" & Val(Combo6.Text) CR.ReportFileName = App.Path & "\LAP TERIMA BULANAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub
Hasil :
14
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.19 Laporan Harian Penerimaan Barang Dari Supplier
Gambar 3.20 Laporan Bulanan Penerimaan Barang
3.5.7 Laporan Pengeluaran Barang 15
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.21 Form Laporan Pengeluaran Barang
Koding : Private Sub Combo7_Click() CR.SelectionFormula = "Totext({pengeluaran.TanggalKlr})='" & CDate(Combo7) & "'" CR.ReportFileName = App.Path & "\LAP keluar HARIAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub Private Sub Combo9_Click() Call Koneksi RSPengeluaran.Open "select * from PENGELUARAN where month(TanggalKLR)='" & Val(Left(Combo8, 2)) & "' and year(TanggalKLR)='" & (Combo9) & "'", Conn If RSPengeluaran.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({PENGELUARAN.TanggalKLR})=" & Val(Left(Combo8, 2)) & " and Year({PENGELUARAN.TanggalKLR})=" & Val(Combo9.Text) CR.ReportFileName = App.Path & "\LAP KELUAR BULANAN.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub
Hasil :
16
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.22 Laporan Harian Pengeluaran Barang
Gambar 3.23 Laporan Bulanan Pengeluaran Barang
3.6 Rincian Transaksi 17
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 3.6.1 Transaksi Permintaan Barang
Gambar 3.24 Form Rincian Transaksi Permintaan Dan Pengeluaran Barang
Koding : Private Sub Form_Load() Call Koneksi RSPermintaanUser.Open "permintaanuser", Conn List1.Clear Do While Not RSPermintaanUser.EOF List1.AddItem RSPermintaanUser!NomorMnt RSPermintaanUser.MoveNext Loop RSPengeluaran.Open "pengeluaran", Conn List2.Clear Do While Not RSPengeluaran.EOF List2.AddItem RSPengeluaran!NomorKlr RSPengeluaran.MoveNext Loop End Sub
Private Sub List1_Click() Call Koneksi ADO.ConnectionString = PathData ADO.RecordSource = "select barang.kodebrg as kode,namabrg as nama,stok,qtymnt,dikirim,detailmintauser.ket from barang,detailmintauser,permintaanuser where barang.kodebrg=detailmintauser.kodebrg and permintaanuser.nomormnt=detailmintauser.nomormnt and permintaanuser.nomormnt='" & List1.Text & "'" ADO.Refresh Set DG.DataSource = ADO DG.Refresh Dim CariData As New ADODB.Recordset CariData.Open "select * from permintaanuser where nomormnt='" & List1 & "'", Conn NotaCus = CariData!NomorReffUser TanggalMnt = CariData!TanggalMnt LblKet = CariData!ket
18
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi RSCustomer.Open "select * from customer where kodecus='" & CariData!KodeCus & "'", Conn NamaCus = RSCustomer!NamaCus PersonCus = RSCustomer!PersonCus Dim CariQtyMnt As New ADODB.Recordset CariQtyMnt.Open "select sum(QtyMnt) as KetemuQtyMnt from detailmintauser where nomormnt='" & List1 & "'", Conn TotalMnt = CariQtyMnt!ketemuQtyMnt Dim CariDikirim As New ADODB.Recordset CariDikirim.Open "select sum(Dikirim) as KetemuDikirim from detailmintauser where nomormnt='" & List1 & "'", Conn TotalKrm = CariDikirim!ketemuDikirim End Sub
3.6.2 Transaksi Pengeluaran Barang
Gambar 3.25 Form Rincian Transaksipermintaan Dan Pengeluaran Barang
Koding : Private Sub List2_Click() Call Koneksi ADO.ConnectionString = PathData ADO.RecordSource = "select barang.kodebrg as kode,namabrg as nama,stok,qtymnt,dikirim,detailkeluar.ket from barang,detailkeluar,pengeluaran where barang.kodebrg=detailkeluar.kodebrg and pengeluaran.nomorklr=detailkeluar.nomorklr and pengeluaran.nomorklr='" & List2.Text & "'" ADO.Refresh Set DG.DataSource = ADO DG.Refresh Dim CariData As New ADODB.Recordset CariData.Open "select * from pengeluaran where nomorklr='" & List2 & "'", Conn NotaCus = CariData!nomorbon TanggalMnt = CariData!TanggalKlr LblKet = CariData!ket RSCustomer.Open "select * from customer where kodecus='" & CariData!KodeCus & "'", Conn NamaCus = RSCustomer!NamaCus
19
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi PersonCus = RSCustomer!PersonCus Dim CariQtyMnt As New ADODB.Recordset CariQtyMnt.Open "select sum(QtyMnt) as KetemuQtyMnt from detailkeluar where nomorklr='" & List2 & "'", Conn TotalMnt = CariQtyMnt!ketemuQtyMnt Dim CariDikirim As New ADODB.Recordset CariDikirim.Open "select sum(Dikirim) as KetemuDikirim from detailkeluar where nomorklr='" & List2 & "'", Conn TotalKrm = CariDikirim!ketemuDikirim End Sub
3.6.3 Rincian Stok Barang Per Tanggal
Gambar 3.26 Form Laporan Stok Barang Per Tanggal Terima
Hasil cetakan :
20
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.27 Laporan Stok Barang Per Tanggal
Gambar 3.28 Form Rincian Stok Barang Per Tanggal Keluar
Hasil :
21
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.29 Laporan Stok Barang Per Tanggal Keluar
Gambar 3.30 Form Rincian Stok Barang Per Tanggal Masuk Dan Tanggal Keluar
22
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 3.31 Laporan Stok Barang Per Tanggal Masuk Dan Tanggal Keluar
23