Visual Basic 2010 (VB.NET) masih menjadi pilihan populer bagi banyak pengembang, terutama bagi mereka yang baru memulai atau perlu mengembangkan aplikasi bisnis yang cepat dan intuitif. Membuat program kasir (Point of Sale/POS) adalah proyek klasik yang sangat cocok untuk mengasah kemampuan dalam manajemen input data, perhitungan, dan desain antarmuka pengguna (UI). Program kasir yang baik harus mampu mencatat transaksi, menghitung kembalian, dan menampilkan rekapitulasi sederhana.
Artikel ini akan memandu langkah demi langkah dasar mengenai struktur yang diperlukan untuk membangun aplikasi kasir sederhana menggunakan Visual Basic 2010 Express atau versi lainnya yang kompatibel. Kita akan fokus pada desain antarmuka, logika perhitungan, dan cara menyimpan data sementara.
Langkah pertama adalah menyiapkan lingkungan pengembangan Anda. Pastikan Visual Studio 2010 sudah terinstal.
DataGridView untuk menampilkan daftar item yang dibeli.TextBox untuk memasukkan kode barang, nama barang, harga, dan kuantitas.Label untuk menampilkan Subtotal, Pajak (jika ada), dan Total Akhir.Button untuk menambah item, menghapus item, dan proses pembayaran.DataGridView (misalnya bernama dgvDetailPenjualan) agar terlihat seperti struk, mencakup kolom: Kode, Nama, Harga Satuan, Kuantitas, dan Subtotal Item.Inti dari program kasir adalah kemampuan untuk memasukkan barang ke dalam keranjang belanja secara dinamis. Kita akan menggunakan logika sederhana untuk simulasi pencarian data barang.
Asumsikan kita memiliki tabel data sederhana (atau Array/List di memori) yang menyimpan stok barang. Ketika kode barang dimasukkan, program harus mengambil harga barang tersebut.
Private Sub btnTambah_Click(sender As Object, e As EventArgs) Handles btnTambah.Click
' Ambil data dari input
Dim kodeBarang As String = txtKode.Text
Dim qty As Integer = Integer.Parse(txtKuantitas.Text)
' Simulasi pencarian data (dalam proyek nyata, ini dari Database)
Dim namaBarang As String = "Simulasi Produk X"
Dim hargaSatuan As Decimal = 10000D ' Asumsi harga Rp 10.000
If qty > 0 Then
' Hitung Subtotal Item
Dim subtotalItem As Decimal = hargaSatuan * qty
' Tambahkan ke DataGridView
dgvDetailPenjualan.Rows.Add(kodeBarang, namaBarang, hargaSatuan, qty, subtotalItem)
' Panggil fungsi untuk hitung total
HitungTotal()
' Kosongkan input
txtKode.Clear()
txtKuantitas.Text = "1"
End If
End Sub
Fungsi HitungTotal() sangat penting. Fungsi ini akan mengiterasi (melalui loop) semua baris yang ada di DataGridView untuk menjumlahkan semua subtotal item, yang kemudian akan menjadi Total Belanja.
Private Sub HitungTotal()
Dim totalKeseluruhan As Decimal = 0D
' Iterasi melalui setiap baris di DataGridView
For Each row As DataGridViewRow In dgvDetailPenjualan.Rows
' Pastikan baris belum merupakan baris baru yang kosong
If Not row.IsNewRow Then
' Kolom ke-4 (indeks 4) adalah Subtotal Item
totalKeseluruhan += Convert.ToDecimal(row.Cells("SubtotalItem").Value)
End If
Next
' Tampilkan hasil
lblSubtotal.Text = totalKeseluruhan.ToString("N0")
' Contoh sederhana tanpa pajak
lblTotalBayar.Text = totalKeseluruhan.ToString("N0")
End Sub
Setelah semua item dimasukkan, pelanggan akan membayar. Kita perlu menghitung selisih antara uang yang dibayarkan dan total belanja.
Private Sub btnBayar_Click(sender As Object, e As EventArgs) Handles btnBayar.Click
Dim totalBelanja As Decimal = Convert.ToDecimal(lblTotalBayar.Text)
Dim uangDiterima As Decimal
If Decimal.TryParse(txtUangBayar.Text, uangDiterima) Then
If uangDiterima >= totalBelanja Then
Dim kembalian As Decimal = uangDiterima - totalBelanja
lblKembalian.Text = kembalian.ToString("N0")
' Di sini Anda bisa menambahkan logika untuk mencetak struk
MsgBox("Transaksi Selesai! Kembalian: Rp " & kembalian.ToString("N0"))
' Reset form untuk transaksi berikutnya
ResetTransaksi()
Else
MessageBox.Show("Uang yang dibayarkan kurang.", "Error Pembayaran", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Else
MessageBox.Show("Masukkan jumlah uang yang valid.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub
Membuat program kasir di Visual Basic 2010 adalah proses bertahap. Fondasi utamanya terletak pada manajemen data dinamis di DataGridView dan fungsi agregasi (penjumlahan) yang akurat. Meskipun contoh di atas sangat sederhana (data barang masih di-hardcode), langkah selanjutnya yang logis adalah mengintegrasikan program ini dengan database seperti SQL Server Express atau Microsoft Access untuk pengelolaan stok dan histori penjualan yang sebenarnya. Dengan menguasai alur input, perhitungan, dan output dasar ini, Anda sudah siap mengembangkan sistem POS yang lebih kompleks.