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

 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.


https://qualov.blogspot.com/2019/07/program-pembelian-sederhana-menggunakan-visual-basic-net.html

Selanjutnya anda jalankan program vb.net tambahkan satu buah project baru dengan nama pembelian kemudian tambahlah 3 form dan desainlah seperti gambar berikut ini.

https://qualov.blogspot.com/2019/07/program-pembelian-sederhana-menggunakan-visual-basic-net.html

https://qualov.blogspot.com/2019/07/program-pembelian-sederhana-menggunakan-visual-basic-net.html

https://qualov.blogspot.com/2019/07/program-pembelian-sederhana-menggunakan-visual-basic-net.html

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.

https://qualov.blogspot.com/2019/07/program-pembelian-sederhana-menggunakan-visual-basic-net.html

0 Response to "Program Pembelian Sederhana Menggunakan Visual Basic .Net"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel