Pada bab ini akan dibahas tentang aplikasi stok barang. Pada dasarnya aplikasi ini
sama dengan aplikasi inventori, yaitu aplikasi yang mengolah data barang masuk
dan barang keluar. Pada bab ini coding untuk form master akan kami singkat karena
pembahasannya sama dengan bab-bab sebelumnya. Aplikasi ini dapat diunduh pada
tautan di bawah ini:
4. Jalankan xampp
1. Buka Microsoft Visual Studio 2008 (silakan gunakan versi yang anda
miliki)
2. Create Project
4. Klik OK
2. Add Module
3. Klik Add
Imports System.Data.Odbc
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module Module1
Coding : silakan unduh aplikasi ini pada tautan yang tertera di bawah judul bab 5.
Imports System.Data.Odbc
2. Pilih tanggal
3. Pilih supplier
6. Jika transaksi pada baris tertentu akan dibatalkan tekan tombol ESC
7. Jika nama barang sudah banyak, silakan ketik nama barang di kota "cari
barang"
Coding :
Imports System.Data.Odbc
Sub Kosongkan()
txtnomor.Clear()
cbokodesupplier.Text = ""
lblnamasupplier.Text = ""
txtcaribarang.Clear()
lbltotalmasuk.Text = ""
DGV.Rows.Clear()
End Sub
Sub TampilKodeSupplier()
CMD = New odbcCommand("select kode_supplier from tblsupplier", Conn)
DR = CMD.ExecuteReader
cbokodesupplier.Items.Clear()
Do While DR.Read
cbokodesupplier.Items.Add(DR.Item("kode_supplier"))
Loop
End Sub
Sub TampilBarang()
DA = New OdbcDataAdapter("select * from tblbarang", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub
Sub TotalMasuk()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(3).Value
Next
lbltotalmasuk.Text = hitung
End Sub
End Sub
DGV.Rows.Add(DGVBarang.Rows(e.RowIndex).Cells(0).Value,
DGVBarang.Rows(e.RowIndex).Cells(1).Value,
DGVBarang.Rows(e.RowIndex).Cells(3).Value)
txtcaribarang.Clear()
For barisatas As Integer = 0 To DGV.RowCount - 1
For barisbawah As Integer = barisatas + 1 To DGV.RowCount - 1
If DGV.Rows(barisbawah).Cells(0).Value =
DGV.Rows(barisatas).Cells(0).Value Then
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(3).Value + 1
DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value + DGV.Rows(barisatas).Cells(3).Value
DGV.Rows.RemoveAt(barisbawah)
DGV.CurrentCell = DGV(2, baris)
SendKeys.Send("{TAB}")
Call TotalMasuk()
Exit Sub
End If
Next
Next
2. Pilih supplier
5. Jika transaksi pada baris tertentu akan dibatalkan tekan tombol ESC
6. Jika nama barang sudah banyak, silakan ketik nama barang di kota "cari
barang"
Coding :
Imports System.Data.Odbc
Sub NomorOtotamatis()
txtnomor.Enabled = False
CMD = New odbcCommand("select No_Keluar from tblbarangkeluar order by
No_Keluar desc", Conn)
DR = CMD.ExecuteReader
DR.Read()
If Not DR.HasRows Then
txtnomor.Text = Format(Today, "yyMMdd") + "0001"
Else
If Microsoft.VisualBasic.Left(DR.Item("No_Keluar"), 6) = Format(Today,
"yyMMdd") Then
txtnomor.Text = DR.Item("No_Keluar") + 1
Else
txtnomor.Text = Format(Today, "yyMMdd") + "0001"
End If
End If
End Sub
Sub Kosongkan()
cbokodecustomer.Text = ""
lblnamacustomer.Text = ""
txtcaribarang.Clear()
lbltotalkeluar.Text = ""
DGV.Rows.Clear()
End Sub
Sub TampilKodecustomer()
CMD = New odbcCommand("select kode_customer from tblcustomer", Conn)
DR = CMD.ExecuteReader
cbokodecustomer.Items.Clear()
Do While DR.Read
cbokodecustomer.Items.Add(DR.Item("kode_customer"))
Loop
End Sub
Sub TampilBarang()
DA = New OdbcDataAdapter("select * from tblbarang", Conn)
DS = New DataSet
DA.Fill(DS)
DGVBarang.DataSource = DS.Tables(0)
DGVBarang.ReadOnly = True
DGVBarang.Columns(0).Visible = False
DGVBarang.Columns(2).Visible = False
DGVBarang.Columns(3).Visible = False
End Sub
If DGV.Rows(barisatas).Cells(3).Value >
DGV.Rows(barisatas).Cells(2).Value Then
MsgBox("Stok barang tidak cukup, hanya ada " &
DGV.Rows(barisatas).Cells(3).Value & "")
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(2).Value
Else
DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value - DGV.Rows(barisatas).Cells(3).Value
End If
DGV.Rows.RemoveAt(barisbawah)
Call TotalKeluar()
Exit Sub
End If
Next
Next
CMD = New OdbcCommand("select * from tblbarang where kode_barang='" &
DGV.Rows(baris).Cells(0).Value & "'", Conn)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows Then
DGV.Rows(baris).Cells(1).Value = DR.Item("nama_Barang")
DGV.Rows(baris).Cells(2).Value = DR.Item("stok")
DGV.CurrentCell = DGV(3, baris)
SendKeys.Send("{TAB}")
Else
MsgBox("kode barang tidak terdaftar")
End If
End Sub
Sub TotalKeluar()
Dim hitung As Integer = 0
For baris As Integer = 0 To DGV.RowCount - 1
hitung = hitung + DGV.Rows(baris).Cells(3).Value
Next
lbltotalkeluar.Text = hitung
End Sub
If DGV.Rows(barisatas).Cells(3).Value >
DGV.Rows(barisatas).Cells(2).Value Then
MsgBox("Stok barang tidak cukup, hanya ada " &
DGV.Rows(barisatas).Cells(3).Value & "")
DGV.Rows(barisatas).Cells(3).Value =
DGV.Rows(barisatas).Cells(2).Value
Else
DGV.Rows(barisatas).Cells(4).Value =
DGV.Rows(barisatas).Cells(2).Value - DGV.Rows(barisatas).Cells(3).Value
End If
DGV.Rows.RemoveAt(barisbawah)
Call TotalKeluar()
Exit Sub
End If
Next
Next
Salah satu bentuk laporan master dalam aplikasi ini terlihat dalam gambar berikut
ini.
Coding :
Dalam menu ini dapat dilihat laporan lainnya berupa laporan user, supplier dan
laporan customer.
Salah satu bentuk laporan dalam transaksi barang masuk adalah laporan data masuk
per nomor faktur.
Coding :
Dalm menu ini dapat dilihat pula laporan barang masuk per supplier, laporan barang
masuk harian, mingguan dan laporan bulanan.
Salah satu bentuk laporan transaksi barang masuk adalah laporan per nomor keluar.
Gambar 5.16 Laporan barang keluar per nomor
Coding :
Dalm menu ini dapat dilihat pula laporan barang keluar per customer, laporan
barang keluar harian, mingguan dan laporan bulanan.
Coding :
Gambar berikut ini menunjukan laporan stok barang secara umum dalam periode
bulan dan tahun tertentu.
Gambar 5.19 Laporan stok barang bulanan
Coding :
Dalam menu ini dapat dilihat pula laporan stok barang harian, mingguan dan
laporan bulanan.