Program Pembelian Sederhana Menggunakan Visual Basic .Net
Program Pembelian Sederhana Menggunakan Visual Basic .Net, ada banyak sekali program yang dapat kita buat dengan menggunakan bahasa pemrograman yang anda kuasai, berkaitan dengan hal tersebut setiap orang pastinya memiliki pashion nya masing - masing, Bagi anda yang menyukai bahasa pemrogramman vb.net anda dapat mengikuti berbagai macam program sederhana yang saya bagikan dan dapat anda kembangkan sendiri.
Kali ini kita akan membuat sebuah Program Pembelian Sederhana Menggunakan Visual Basic .Net untuk kebutuhan sebuah transaksi pembelian barang, anda dapat mengikuti langkah - langkah berikut ini untuk membuat program tersebut. Buatlah sebuah database dengan nama db_pembelian dengan menggunakan microsoft access kemudian buatlah tabel dengan field - field berikut ini.
Tabel Barang
Tabel Supplier
Tabel Beli
Tabel Detail Beli
Untuk table detail beli tidak diberi primary key, karena table ini hanya menampung data dari table pembelian. Selanjutnya kita bentuk sebuah relasi dari tabel - tabel tersebut, silahkan anda masuk pada menu bar Database Tools kemudian pilih Relations kemudian anda hubungkan atau relasikan setiap tabel tersebut seperti pada gambar di bawah atau anda ikuti langkah berikut.
Selanjutnya anda jalankan program vb.net tambahkan satu buah project baru dengan nama pembelian kemudian tambahlah 3 form dan desainlah seperti gambar berikut ini.
Form utama akan digunakan sebagai window transaksi sedangkan dua form lainnya akan kita gunakan untuk melakukan pencarian data barang dan juga data suplier. Setelah membuat form tersebut selanjutnya kita tambahkan source kode berikut ini.Tambahkan satu buah module untuk program, Isi dengan baris kode berikut.
Source Code Module
Source Code Form Cari Supplier
Source Code Form Cari Barang
Source Code Form1
Hasil akhir dari program sederhana ini dapat anda lihat pada gambar di bawah, Jika ada tombol yang tidak berfungsi pada form silahkan anda sesuaikan namenya dengan yang ada di kode, Kemudian jangan lupa untuk menyimpan database yang sudah dibuat sebelumnya pada path project yang anda miliki di /bin/debug. Terima kasih semoga bermanfaat.
Kali ini kita akan membuat sebuah Program Pembelian Sederhana Menggunakan Visual Basic .Net untuk kebutuhan sebuah transaksi pembelian barang, anda dapat mengikuti langkah - langkah berikut ini untuk membuat program tersebut. Buatlah sebuah database dengan nama db_pembelian dengan menggunakan microsoft access kemudian buatlah tabel dengan field - field berikut ini.
Tabel Barang
Field | Type | Size | Key |
kodebarang | Text | 12 | * |
nama | Text | 30 | |
satuan | Text | 5 | |
hargabeli | Currency | ||
hargajual | Currency | ||
stock | Number |
Tabel Supplier
Field | Type | Size | Key |
idsupplier | Text | 12 | * |
nama | Text | 30 | |
alamat | Text | 50 | |
notelepon | Text | 13 |
Tabel Beli
Field | Type | Size | Key |
nofaktur | Text | 12 | * |
tanggalbeli | Date/Time | ||
waktu | Date/Time | ||
idsupplier | Text | 12 | |
nama | Text | 30 | |
totalbeli | Currency | ||
uangmuka | Currency | ||
sisa | Currency |
Tabel Detail Beli
Field | Type | Size | Key |
nofaktur | Text | 12 | |
kodebarang | Text | 12 | |
namabarang | Text | 30 | |
qty | Number | ||
jumlahharga | Currency | ||
hargabeli | Currency | ||
satuan | Text | 12 |
Untuk table detail beli tidak diberi primary key, karena table ini hanya menampung data dari table pembelian. Selanjutnya kita bentuk sebuah relasi dari tabel - tabel tersebut, silahkan anda masuk pada menu bar Database Tools kemudian pilih Relations kemudian anda hubungkan atau relasikan setiap tabel tersebut seperti pada gambar di bawah atau anda ikuti langkah berikut.
- Klik menu bar databases tools
- Pilih relation
- Tambahkan semua table yang telah di buat dengan mengklik add, setelah itu kita tutup menu table
- Selanjutnya kita klik primary key dan hubungkan ke foregein key yang terdapat pada table lain, disini saya merelasikan table beli dengan detbeli,
- *checklist semua opsion box nya dan klik create Lakukan hal yang sama ke table lainnya. Sehingga kita memiliki relasi seperti gambar berikut ini.
Selanjutnya anda jalankan program vb.net tambahkan satu buah project baru dengan nama pembelian kemudian tambahlah 3 form dan desainlah seperti gambar berikut ini.
Form utama akan digunakan sebagai window transaksi sedangkan dua form lainnya akan kita gunakan untuk melakukan pencarian data barang dan juga data suplier. Setelah membuat form tersebut selanjutnya kita tambahkan source kode berikut ini.Tambahkan satu buah module untuk program, Isi dengan baris kode berikut.
Source Code Module
Imports System.Data.OleDb
Module Module1
Public conn As OleDbConnection
Public da As OleDbDataAdapter
Public ds As DataSet
Public cmd As OleDbCommand
Public rd As OleDbDataReader
Public str As String
Public Sub Koneksi()
str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\dbpembelian.accdb"
conn = New OleDbConnection(str)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module
Source Code Form Cari Supplier
Imports System.Data.OleDb
Public Class FCari
Private Sub FCari_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
da = New OleDbDataAdapter("Select * from tbsupplier", conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "tbsupplier")
DataGridView1.DataSource = ds.Tables("tbsupplier")
DataGridView1.Refresh()
End Sub
Private Sub DataGridView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDoubleClick
Dim baris As Integer
With DataGridView1
baris = .CurrentRow.Index
Form1.Tidpelanggan.Text = .Item(0, baris).Value
Form1.Tnamapelanggan.Text = .Item(1, baris).Value
End With
Me.Close()
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
cmd = New OleDbCommand("Select * from tbsupplier where nama like '%" & TextBox1.Text & "%'", conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
da = New OleDbDataAdapter("Select * from tbsupplier where NamaPelanggan like '%" & TextBox1.Text & "%'", conn)
ds = New DataSet
da.Fill(ds, "Dapat")
DataGridView1.DataSource = ds.Tables("Dapat")
DataGridView1.ReadOnly = True
Else
MsgBox("Data tidak ditemukan")
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Source Code Form Cari Barang
Imports System.Data.OleDb
Public Class FCariBarang
Private Sub FCariBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Koneksi()
da = New OleDbDataAdapter("Select * from tbbarang", conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "tbbarang")
DataGridView1.DataSource = ds.Tables("tbbarang")
DataGridView1.Refresh()
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
cmd = New OleDbCommand("Select * from tbbarang where nama like '%" & TextBox1.Text & "%'", conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
da = New OleDbDataAdapter("Select * from tbbarang where nama like '%" & TextBox1.Text & "%'", conn)
ds = New DataSet
da.Fill(ds, "Dapat")
DataGridView1.DataSource = ds.Tables("Dapat")
DataGridView1.ReadOnly = True
DataGridView1.Refresh()
Else
MsgBox("Data tidak ditemukan")
End If
End Sub
Private Sub DataGridView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDoubleClick
Dim baris As Integer
With DataGridView1
baris = .CurrentRow.Index
Form1.kodebarang.Text = .Item(0, baris).Value
Form1.namabarang.Text = .Item(1, baris).Value
Form1.satuan.Text = .Item(2, baris).Value
Form1.hargabeli.Text = .Item(3, baris).Value
Form1.hargajual.Text = .Item(4, baris).Value
Form1.stock.Text = .Item(5, baris).Value
End With
Me.Close()
Form1.Binputbarang.Enabled = True
End Sub
End Class
Source Code Form1
Imports System.Data.OleDb
Public Class Form1
Sub Kosong()
Tidpelanggan.Clear()
Tnamapelanggan.Clear()
satuan.Clear()
hargabeli.Clear()
hargajual.Clear()
namabarang.Clear()
qty.Clear()
kodebarang.Clear()
End Sub
Sub kosong1()
TextBox1.Clear()
TextBox2.Clear()
Ttotal.Clear()
Tbayar.Clear()
Tkembalian.Clear()
Tidpelanggan.Clear()
Tnamapelanggan.Clear()
DataGridView1.Rows.Clear()
TextBox1.Focus()
kodebarang.Clear()
namabarang.Clear()
qty.Clear()
satuan.Clear()
hargabeli.Clear()
hargajual.Clear()
End Sub
Sub Kosong2()
Ttotal.Clear()
Tbayar.Clear()
Tkembalian.Clear()
DataGridView1.Rows.Clear()
End Sub
Sub Kosong3()
kodebarang.Clear()
namabarang.Clear()
satuan.Clear()
hargabeli.Clear()
hargajual.Clear()
qty.Clear()
End Sub
Sub tidakaktif()
ButtonSimpan.Enabled = False
TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
Tidpelanggan.Enabled = False
Tnamapelanggan.Enabled = False
kodebarang.Enabled = False
namabarang.Enabled = False
satuan.Enabled = False
hargabeli.Enabled = False
hargajual.Enabled = False
qty.Enabled = False
Binputbarang.Enabled = False
ButtonTambahBarang.Enabled = False
ButtonTambah.Enabled = True
ButtonBatal.Enabled = False
ButtonCari.Enabled = False
Ttotal.Enabled = False
Tbayar.Enabled = False
Tkembalian.Enabled = False
ButtonTambah.Focus()
End Sub
Sub aktif()
ButtonCari.Enabled = False
ButtonBatal.Enabled = True
qty.Enabled = False
Binputbarang.Enabled = True
ButtonTambahBarang.Enabled = True
End Sub
Sub otomatis()
cmd = New OleDbCommand("Select * from tbbeli where nofaktur in (Select max(nofaktur) from tbbeli) order by nofaktur desc", conn)
Dim urutan As String
Dim hitung As Long
rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
urutan = "TR" + Format(Now, "yymmdd") + "001"
Else
If Microsoft.VisualBasic.Mid(rd.GetString(0), 3, 6) <> Format(Now, "yymmdd") Then
urutan = "TR" + Format(Now, "yymmdd") + "001"
Else
hitung = Microsoft.VisualBasic.Right(rd.GetString(0), 2) + 1
urutan = "TR" + Format(Now, "yymmdd") + Microsoft.VisualBasic.Right("000" & hitung, 3)
End If
End If
TextBox1.Text = urutan
End Sub
Sub KolomBaru()
DataGridView1.Columns.Add("no", "No")
DataGridView1.Columns.Add("kodebarang", "Kode Barang")
DataGridView1.Columns.Add("nama", "Nama Barang")
DataGridView1.Columns.Add("satuan", "Satuan")
DataGridView1.Columns.Add("hargabeli", "Harga Beli")
DataGridView1.Columns.Add("hargajual", "Harga Jual")
DataGridView1.Columns.Add("qty", "qty")
DataGridView1.Columns.Add("jumlahharga", "Jumlah Harga")
End Sub
Sub LebarKolom()
DataGridView1.Columns(0).Width = 77
DataGridView1.Columns(1).Width = 120
DataGridView1.Columns(2).Width = 100
DataGridView1.Columns(3).Width = 90
DataGridView1.Columns(4).Width = 100
DataGridView1.Columns(5).Width = 90
DataGridView1.Columns(6).Width = 90
DataGridView1.Columns(7).Width = 100
End Sub
Sub TotalHarga()
Dim hitungharga As Integer = 0
For I As Integer = 0 To DataGridView1.Rows.Count - 1
hitungharga = hitungharga + Val(DataGridView1.Rows(I).Cells(7).Value)
Ttotal.Text = hitungharga
Next
End Sub
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Call otomatis()
TextBox2.Text = Today
TextBox3.Text = TimeOfDay
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call KolomBaru()
Call Koneksi()
Call LebarKolom()
Call tidakaktif()
Call Kosong2()
End Sub
Private Sub ButtonCari_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonCari.Click
FCari.Show()
ButtonSimpan.Enabled = False
ButtonBatal.Enabled = True
ButtonTambahBarang.Enabled = True
End Sub
Private Sub ButtonTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTambah.Click
Call otomatis()
Call aktif()
ButtonTambah.Enabled = False
ButtonCari.Enabled = True
ButtonTambahBarang.Enabled = False
End Sub
Private Sub ButtonBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBatal.Click
Call tidakaktif()
Call kosong1()
End Sub
Private Sub Btambahbarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTambahBarang.Click
FCariBarang.Show()
qty.Enabled = True
End Sub
Private Sub Binputbarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Binputbarang.Click
DataGridView1.Rows.Add(1)
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(0).Value = CStr(DataGridView1.RowCount - 1)
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(1).Value = kodebarang.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(2).Value = namabarang.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(3).Value = satuan.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(4).Value = hargabeli.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(5).Value = hargajual.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(6).Value = qty.Text
DataGridView1.Rows(DataGridView1.RowCount - 2).Cells(7).Value = (Val(hargabeli.Text) * Val(qty.Text))
Call TotalHarga()
ButtonCari.Enabled = True
ButtonSimpan.Enabled = True
qty.Enabled = False
Tbayar.Enabled = True
Call Kosong3()
End Sub
Private Sub Tbayar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Tbayar.KeyPress
If e.KeyChar = Chr(13) Then
If Val(Ttotal.Text) = 0 Then
MsgBox("Artosna Kirang !!!")
Tkembalian.Text = ""
Tbayar.Focus()
Exit Sub
ElseIf Val(Tbayar.Text) = Val(Ttotal.Text) Then
Tkembalian.Text = 0
ButtonSimpan.Focus()
Else
Tkembalian.Text = Val(Ttotal.Text) - Val(Tbayar.Text)
ButtonSimpan.Focus()
End If
End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then
e.Handled() = True
End If
End Sub
Private Sub ButtonSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSimpan.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or Tidpelanggan.Text = "" Or
Tnamapelanggan.Text = "" Or Ttotal.Text = "" Or Tbayar.Text = "" Or Tkembalian.Text = "" Then
MsgBox("Data ulah kosong jang, atau mayar ulah kurang ahhh")
Exit Sub
End If
'coding untuk menyimpan tabel penjualan'
Dim simpantransaksi As String = "Insert into tbbeli (nofaktur,tanggalbeli,waktu,idsupplier,nama,totalbeli,uangmuka,sisa) values " &
"('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & _
"','" & Tidpelanggan.Text & "','" & Tnamapelanggan.Text & "','" & Ttotal.Text & _
"','" & Tbayar.Text & "','" & Tkembalian.Text & "')"
cmd = New OleDbCommand(simpantransaksi, conn)
cmd.ExecuteNonQuery()
For baris As Integer = 0 To DataGridView1.Rows.Count - 2
'coding untuk menyimpan tabel penjualan'
Dim simpandetailTransaksi As String = "Insert into detbeli(nofaktur,kodebarang,namabarang,qty,jumlahharga,hargabeli,satuan) values " & _
"('" & TextBox1.Text & "','" & DataGridView1.Rows(baris).Cells(1).Value &
"','" & DataGridView1.Rows(baris).Cells(2).Value & "','" &
DataGridView1.Rows(baris).Cells(6).Value & "','" &
DataGridView1.Rows(baris).Cells(7).Value & "','" &
DataGridView1.Rows(baris).Cells(4).Value & "','" &
DataGridView1.Rows(baris).Cells(3).Value & "')"
cmd = New OleDbCommand(simpandetailTransaksi, conn)
cmd.ExecuteNonQuery()
'coding untuk mengurangi stock barang di file master'
cmd = New OleDbCommand("select * from tbbarang where kodebarang='" &
DataGridView1.Rows(baris).Cells(1).Value & "'", conn)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
Dim tambahstock As String = "Update tbbarang set Stock='" & rd.Item(5) -
DataGridView1.Rows(baris).Cells(6).Value & "'where kodebarang='" &
DataGridView1.Rows(baris).Cells(1).Value & "'"
cmd = New OleDbCommand(tambahstock, conn)
cmd.ExecuteNonQuery()
End If
Next baris
MsgBox("Data sudah tersimpan silahkan cek data penjualan ")
DataGridView1.Refresh()
ButtonTambah.Enabled = True
Call Kosong()
Call Kosong2()
Call KolomBaru()
Call otomatis()
Call tidakaktif()
End Sub
End Class
Hasil akhir dari program sederhana ini dapat anda lihat pada gambar di bawah, Jika ada tombol yang tidak berfungsi pada form silahkan anda sesuaikan namenya dengan yang ada di kode, Kemudian jangan lupa untuk menyimpan database yang sudah dibuat sebelumnya pada path project yang anda miliki di /bin/debug. Terima kasih semoga bermanfaat.
0 Response to "Program Pembelian Sederhana Menggunakan Visual Basic .Net"
Post a Comment