Membuat Aplikasi Kasir Form Penjualan Tanpa Database di Visual Basic .Net

Banyak yang mengira bahwa untuk membuat Aplikasi Form penjualan itu selalu atau wajib pakai Database, padahal untuk kebutuhan tertentu ternyata bisa saja tanpa Database sama sekali misalnya untuk kebutuhan belajar bagi pemula atau sekedar prototype sebelum di hubungkan ke database sebenarnya.

Nah dalam artikel blog kali ini Admin akan memberikan tutorial cara Membuat Form Penjualan Ritail Tanpa Database di Visual Basic .Net, dengan pendekatan yang simpel, ringan dan cocok bagi pemula.

Dalam pembuatannya kita fokus logika program, komponen form serta tabel.

Sebelum kita ke tutorialnya berikut dibawah ini gambaran umum Form Penjualan yang kita akan buat nanti :

  • Input Data Barang
  • Perhitungan Otomatis
  • Daftar item yang dibeli
  • Total Pembayaran
  • Uang Cash yang dibayar
  • Kembalian

Aplikasi Kasir Form Penjualan di VB.Net


Berikut dibawah ini adalah langkah-langkah Membuat Aplikasi Kasir Form Penjualan Tanpa Database di Visual Basic .Net :

A. Persiapan

  • Form
  • Kontrol
  • Desain Form
  • Listing Code


B. Form

1. Buka Microsoft Visual Studio Anda

2. Klik Create a New Project

3. Cari template Windows Form App (WinForms) dan klik templatenya

4. Klik Next

5. Ketik nama Project > Folder Peyimpanan

6. Klik Next

7. Pilih Framework .NET 6.0

8. Klik Create (tunggu...sampai Form1 muncul)


C. Kontrol

  • Label
  • TextBox
  • Button
  • DataGridView
  • ComboBox

Atur Properties Kontrol

Kontrol Name Keterangan
Label1 Label1 Text : Kode Barang
Label2 Label2 Text:Nama Barang
Label3 Label3 Text: Harga
Label4 Label4 Text: Jumlah
Label5 Label5 Text: Total Harga
ComboBox ComboBoxKodeBarang Text:Pilih Kode Barang
Label LabelBarang Text:LabelBarang, BorderStyle:Fixed 3D, BackColor:white
Label LabelHarga Text:LabelHarga, BorderStyle:Fixed 3D, BackColor:white
Label LabelTotalHarga Text:LabelTotalHarga, BorderStyle:Fixed 3D, BackColor:white
TextBox TextBoxJumlah Text:TextBoxJumlah
Button ButtonTambah Text:Tambah
Button ButtonClear Text:Clear
DataGridView1 DataGridView1
Label6 Label6 Text:TOTAL BAYAR
Label7 Label7 Text:Cash
Label8 Label8 Text:Kembali
Label LabelTotalBayar Text:LabelTotalBayar
TextBox TextBoxCash Text:Kembali
Label LabelKembali Text:LabelKembali


D. Desain Form

Aplikasi Kasir Form Penjualan di VB.Net


Bonus :
Cara menambahkan Header Columns pada DataGrieView
  • Klik kanan DataGridView
  • Pilih Add Columns
  • Muncul jendela Add Column
  • Kita hanya perlu menambahkan judul Header yang kita butuhkan, pada Header Text isi dengan : "Kode Barang" lalu OK
  • Langkah selanjutnya sama dengan langkah diatas untuk menambahkan Nama Barang, Harga, Jumlah dan Total Harga

E. Listing Kode

    Public Class Form1

    Dim hargaBarang As Integer
    Dim totalBayar As Integer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'mengsongkan transaksi saat di load
        Call kosong()

        TextBoxJumlah.Enabled = False
        LabelTotalBayar.Text = "0"
        'Menambahkan item kedalam ComboBox
        ComboBoxKodeBarang.Items.Add("B01")
        ComboBoxKodeBarang.Items.Add("B02")
        ComboBoxKodeBarang.Items.Add("B03")
        ComboBoxKodeBarang.Items.Add("B04")
        ComboBoxKodeBarang.Items.Add("B05")

        'format ribuat pada kolom harga dan total harga
        DataGridView1.Columns(2).DefaultCellStyle.Format = "N0"
        DataGridView1.Columns(4).DefaultCellStyle.Format = "N0"

    End Sub

    Private Sub ComboBoxKodeBarang_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxKodeBarang.SelectedIndexChanged

        Select Case ComboBoxKodeBarang.Text
            Case "B01"
                LabelBarang.Text = "Sari Roti"
                hargaBarang = 12000

            Case "B02"
                LabelBarang.Text = "Sirop ABC"
                hargaBarang = 15000

            Case "B03"
                LabelBarang.Text = "Kurma"
                hargaBarang = 10000

            Case "B04"
                LabelBarang.Text = "Mentega"
                hargaBarang = 13000

            Case "B05"
                LabelBarang.Text = "Biskuit Khong Ghuan"
                hargaBarang = 50000
        End Select

        LabelHarga.Text = hargaBarang.ToString("N0")

        TextBoxJumlah.Enabled = True
        TextBoxJumlah.Focus()
    End Sub

    Sub kosong()
        ComboBoxKodeBarang.SelectedIndex = -1
        LabelBarang.Text = ""
        LabelHarga.Text = ""
        TextBoxJumlah.Text = "0"
        TextBoxCash.Text = "0"
        LabelTotalHarga.Text = "0"
        LabelKembali.Text = "0"
        TextBoxJumlah.Enabled = False
        Me.ActiveControl = ComboBoxKodeBarang 'kembali ke mode load awal
    End Sub

    Private Sub TextBoxJumlah_TextChanged(sender As Object, e As EventArgs) Handles TextBoxJumlah.TextChanged

        Dim jumlah As Integer
        Dim total As Integer

        Integer.TryParse(TextBoxJumlah.Text, jumlah)

        total = hargaBarang * jumlah
        LabelTotalHarga.Text = total.ToString("N0")
    End Sub

    Private Sub TextBoxJumlah_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBoxJumlah.KeyPress
        If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> ChrW(Keys.Back) Then
            e.Handled = True
        End If
    End Sub

    Private Sub ButtonTambah_Click(sender As Object, e As EventArgs) Handles ButtonTambah.Click


        ' Validasi kode barang
        If ComboBoxKodeBarang.SelectedIndex = -1 OrElse ComboBoxKodeBarang.Text = "" Then
            MessageBox.Show("Silakan pilih kode barang terlebih dahulu!", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            ComboBoxKodeBarang.Focus()
            Exit Sub
        End If

        '  Validasi jumlah
        If TextBoxJumlah.Text = "" OrElse Val(TextBoxJumlah.Text) = 0 Then
            MessageBox.Show("Jumlah barang harus diisi!", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            TextBoxJumlah.Focus()
            Exit Sub
        End If

        Dim kode As String = ComboBoxKodeBarang.Text
        Dim nama As String = LabelBarang.Text
        Dim harga As Integer = hargaBarang
        Dim qtyBaru As Integer = Val(TextBoxJumlah.Text)

        Dim ketemu As Boolean = False

        For Each row As DataGridViewRow In DataGridView1.Rows
            If Not row.IsNewRow Then
                If row.Cells(0).Value.ToString() = kode Then
                    ' Barang sudah ada → tambah qty
                    Dim qtyLama As Integer = Val(row.Cells(3).Value)
                    Dim qtyTotal As Integer = qtyLama + qtyBaru

                    row.Cells(3).Value = qtyTotal
                    row.Cells(4).Value = harga * qtyTotal

                    ketemu = True
                    Exit For
                End If
            End If
        Next

        ' Kalau belum ada → tambah baris
        If Not ketemu Then
            DataGridView1.Rows.Add(
            kode,
            nama,
            harga,
            qtyBaru,
            harga * qtyBaru
        )
        End If

        HitungTotalSemua()
        kosong()
        TextBoxCash.Focus()

    End Sub

    Sub HitungTotalSemua()
        totalBayar = 0

        For Each row As DataGridViewRow In DataGridView1.Rows
            If Not row.IsNewRow Then
                totalBayar += Val(row.Cells(4).Value)
            End If
        Next

        LabelTotalBayar.Text = "Rp " & totalBayar.ToString("N0")
    End Sub

    Private Sub TextBoxCash_TextChanged(sender As Object, e As EventArgs) Handles TextBoxCash.TextChanged
        If TextBoxCash.Text = "" Then
            LabelKembali.Text = "Rp 0"
            Exit Sub
        End If

        ' Simpan posisi kursor
        Dim pos As Integer = TextBoxCash.SelectionStart

        ' Hapus format ribuan
        Dim textAngka As String = TextBoxCash.Text.Replace(".", "").Replace(",", "")

        Dim cash As Decimal
        If Not Decimal.TryParse(textAngka, cash) Then Exit Sub

        ' Format ribuan
        TextBoxCash.Text = cash.ToString("N0")
        TextBoxCash.SelectionStart = TextBoxCash.Text.Length

        ' Hitung kembalian
        Dim kembali As Decimal = cash - totalBayar
        If kembali < 0 Then kembali = 0

        LabelKembali.Text = "Rp " & kembali.ToString("N0")
    End Sub

    Private Sub TextBoxCash_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBoxCash.KeyPress
        If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> ChrW(Keys.Back) Then
            e.Handled = True
        End If
    End Sub

    Private Sub ButtonClear_Click(sender As Object, e As EventArgs) Handles ButtonClear.Click
        Call kosong()
        DataGridView1.Rows.Clear()

        TextBoxCash.Text = "0"
        LabelTotalBayar.Text = "0"
        LabelKembali.Text = "0"
    End Sub


End Class

Selesai. Simpan project Anda lalu jalankan

Cara Pengoperasian :
  • Pilih kode Barang pada comboBox
  • Nama Barang, Harga Barang muncul otomatis ketika Kode Barang dipilih
  • Masukan Jumlah Beli, otomatis menghitung Total Harga
  • Tekan "Tambah", data masuk DataGridView dan kursor langsung ke uang Cash
  • Ketikan uang Cash yang dibayar, otomatis Kembalian muncul
  • Setelah itu tekan "Clear" untuk memulai transaksi baru

Itulah sekilas tentang Aplikasi Form Penjualan sederhana tanpa Database yang kita buat.Semoga artikel ini bermanfaat buat kita semua.Amin.

Selamat mencoba semoga berhasil

Post a Comment for "Membuat Aplikasi Kasir Form Penjualan Tanpa Database di Visual Basic .Net"