A. Desain Form
1. Form Kasir
Pengaturan Komponen:
1. Form
- Name : FrmKasir
- ControlBox : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Kasir
2. Panel
- Dock : Top
- BackColor : Pilih Warna
3. PictureBox
- Image : Masukkan gambar
- SizeMode : StretchImage
4. DataGridView
- Name : DGVKasir
- Dock : Bottom
- ReadOnly : True
2. Form Satuan
Pengaturan Komponen:
1. Form
- Name : FrmSatuan
- ControlBox : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Satuan
2. Panel
- Dock : Top
- BackColor : Pilih Warna
3. PictureBox
- Image : Masukkan gambar
- SizeMode : StretchImage
4. DataGridView
- Name : DGVSatuan
- Dock : Bottom
- ReadOnly : True
Pengaturan Komponen:
1. Form
- Name : FrmJenisBarang
- Control Box : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Jenis Barang
2. Panel
- Dock : Top
- BackColor : Pilih Warna
3. PictureBox
- Image : Masukkan gambar
- SizeMode : StretchImage
4. DataGridView
- Name : DGVJenisBarang
- Dock : Bottom
- ReadOnly : True
4. Form Barang
Pengaturan Komponen:
1. Form
- Name : FrmBarang
- Control Box : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Barang
2. Panel 1
- Dock : Top
- BackColor : Pilih Warna
3. Panel 2
- Dock : Bottom
- BackColor : Pilih Warna
4. PictureBox
- Image : Masukkan gambar
- SizeMode : StretchImage
5. DataGridView
- Name : DGVBarang
- Dock : Bottom
- ReadOnly : True
5. Form Transaksi Penjualan
Pengaturan Komponen:
1. Form
- Name : FrmTransaksiPenjualan
- Icon : Masukkan Icon
- MaximizeBox : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Transaksi Penjualan
2. Panel 1
- Dock : Top
- BackColor : Pilih Warna
3. Panel 2
- Dock : Right
- BackColor : Pilih Warna
4. Panel 3
- Dock : None
- BackColor : Pilih Warna
5. Panel 4
- Dock : None
- BackColor : Pilih Warna
6. PictureBox
- Image : Masukkan gambar
- SizeMode : StretchImage
7. DataGridView
- Name : DGVTransaksiPenjualan
- Dock : None
- ReadOnly : True
6. Form Laporan Transaksi
Pengaturan Komponen:
1. Form
- Name : FrmLaporanTransaksi
- Icon : Masukkan Icon
- MaximizeBox : False
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Laporan Transaksi Penjualan
2. DataGridView
- Name : DGVLaporanTransaksi
- Dock : Bottom
- ReadOnly : True
7. Form Utama
2. Menu:
- Kasir : Data Kasir, Log Off
- Master Data : Satuan, Jenis Barang, Data Barang
- Transaksi : Transaksi Penjualan
- Laporan : Laporan Transaksi
8. Form Login
Pengaturan Form
- Name : FrmLogin
- FormBorderStyle : None
- ShowInTaskbar : False
- StartPosition : CenterScreen
- Text : Login
B. Database Aplikasi Penjualan (Access)
1. Tabel Kasir (TblKasir)
2. Form Kasir
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmKasir
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class FrmKasir
Sub KodeOtomatis()
CMD = New OleDbCommand("Select * From TblKasir Order By
Kode_Kasir desc", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
TxtKodeKasir.Text = "KK-001"
Else
TxtKodeKasir.Text = "KK-" &
Format(Microsoft.VisualBasic.Right(RD.Item("Kode_Kasir"), 3)
+ 1, "000")
End If
End Sub
Sub TabelKasir()
Tabel = New OleDbDataAdapter("Select * From TblKasir Order By
Kode_Kasir asc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVKasir.DataSource = Record
DGVKasir.Columns(0).HeaderText = "KODE KASIR"
DGVKasir.Columns(1).HeaderText = "NAMA LENGKAP"
DGVKasir.Columns(2).HeaderText = "NAMA KASIR"
DGVKasir.Columns(3).HeaderText = "PASSWORD"
DGVKasir.Columns(0).Width = 110
DGVKasir.Columns(1).Width = 200
DGVKasir.Columns(2).Width = 150
DGVKasir.Columns(3).Width = 100
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call KodeOtomatis()
Call TabelKasir()
Double Klik pada Tombol Tambah, kemudian ketik coding di bawah ini:
TxtNamaLengkap.Text = ""
TxtNamaKasir.Text = ""
TxtPassword.Text = ""
TxtNamaLengkap.Focus()
Call KodeOtomatis()
Call TabelKasir()
BtnSimpan.Enabled = True
BtnHapus.Enabled = False
BtnUbah.Enabled = False
Double Klik pada Tombol Tutup, kemudian ketik coding di bawah ini:
Close
Double Klik pada Tombol Simpan, kemudian ketik coding di bawah ini:
If TxtNamaKasir.Text = "" Or TxtNamaLengkap.Text = "" Or
TxtPassword.Text = "" Then
MsgBox("Perhatian !" & Chr(13) & "Ada Data yang masih kosong",
vbInformation, "Aplikasi Penjualan")
If TxtNamaKasir.Text = "" Then TxtNamaKasir.Focus() : Exit Sub
If TxtNamaLengkap.Text = "" Then TxtNamaLengkap.Focus() : Exit Sub
If TxtPassword.Text = "" Then TxtPassword.Focus() : Exit Sub
Else
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert Into TblKasir VALUES('" & TxtKodeKasir.Text & _
"','" & TxtNamaLengkap.Text & _
"','" & TxtNamaKasir.Text & _
"','" & TxtPassword.Text & "')"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
End If
Double Klik pada DataGridView, pada kotak Declarations, ubah menjadi CellDoubleClick,
kemudian ketik coding di bawah ini:
On Error Resume Next
Dim i As Integer
i = Me.DGVKasir.CurrentRow.Index
With DGVKasir.Rows.Item(i)
TxtKodeKasir.Text = .Cells(0).Value
TxtNamaLengkap.Text = .Cells(1).Value
TxtNamaKasir.Text = .Cells(2).Value
TxtPassword.Text = .Cells(3).Value
BtnSimpan.Enabled = False
BtnHapus.Enabled = True
BtnUbah.Enabled = True
End With
Double Klik pada Tombol Ubah, kemudian ketik coding di bawah ini:
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Update TblKasir Set Kode_Kasir='" & TxtKodeKasir.Text &
"',Nama_Lengkap='" & TxtNamaLengkap.Text & _
"',Nama_Kasir='" & TxtNamaKasir.Text & _
"',Pass='" & TxtPassword.Text & _
"'Where Kode_Kasir='" & TxtKodeKasir.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Double Klik pada Tombol Hapus, kemudian ketik coding di bawah ini:
If MessageBox.Show("Apakah Data ini akah di Hapus ?", _
"Aplikasi Penjualan", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Delete From TblKasir Where Kode_Kasir='" &
TxtKodeKasir.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Else
BtnTambah.PerformClick()
End If
3. Form Satuan
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmSatuan
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class FrmSatuan
Sub KodeOtomatis()
CMD = New OleDbCommand("Select * From TblSatuan Order By Kode
desc", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
TxtKode.Text = "KS-001"
Else
TxtKode.Text = "KS-" &
Format(Microsoft.VisualBasic.Right(RD.Item("Kode"), 3) + 1,
"000")
End If
End Sub
Sub TabelSatuan()
Tabel = New OleDbDataAdapter("Select * From TblSatuan Order By
Kode asc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVSatuan.DataSource = Record
DGVSatuan.Columns(0).HeaderText = "KODE "
DGVSatuan.Columns(1).HeaderText = "SATUAN"
DGVSatuan.Columns(0).Width = 90
DGVSatuan.Columns(1).Width = 290
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call KodeOtomatis()
Call TabelSatuan()
Double Klik pada Tombol Tutup, kemudian ketik coding di bawah ini:
Close
Double Klik pada Tombol Tambah, kemudian ketik coding di bawah ini:
TxtSatuan.Text = ""
TxtSatuan.Focus()
Call KodeOtomatis()
Call TabelSatuan()
BtnSimpan.Enabled = True
BtnHapus.Enabled = False
BtnUbah.Enabled = False
Double Klik pada Tombol Simpan, kemudian ketik coding di bawah ini:
If TxtSatuan.Text = "" Then
MsgBox("Perhatian !" & Chr(13) & "Ada Data yang masih kosong",
vbInformation, "Aplikasi Penjualan")
If TxtSatuan.Text = "" Then TxtSatuan.Focus() : Exit Sub
Else
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert Into TblSatuan VALUES('" & TxtKode.Text & _
"','" & TxtSatuan.Text & "')"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
End If
Double Klik pada DataGridView, pada kotak Declarations, ubah menjadi CellDoubleClick,
kemudian ketik coding di bawah ini:
On Error Resume Next
Dim i As Integer
i = Me.DGVSatuan.CurrentRow.Index
With DGVSatuan.Rows.Item(i)
TxtKode.Text = .Cells(0).Value
TxtSatuan.Text = .Cells(1).Value
BtnSimpan.Enabled = False
BtnHapus.Enabled = True
BtnUbah.Enabled = True
End With
Double Klik pada Tombol Ubah, kemudian ketik coding di bawah ini:
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Update TblSatuan Set Kode ='" & TxtKode.Text & _
"',Satuan='" & TxtSatuan.Text & _
"'Where Kode ='" & TxtKode.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Double Klik pada Tombol Hapus, kemudian ketik coding di bawah ini:
If MessageBox.Show("Apakah Data ini akah di Hapus ?", _
"Aplikasi Penjualan", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Delete From TblSatuan Where Kode ='" & TxtKode.Text
& "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Else
BtnTambah.PerformClick()
End If
4. Form Jenis Barang
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmJenisBarang
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class
FrmJenisBarang
Sub KodeOtomatis()
CMD = New OleDbCommand("Select * From TblJenisBarang Order By
Kode desc", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
TxtKode.Text = "KJ-001"
Else
TxtKode.Text = "KJ-" &
Format(Microsoft.VisualBasic.Right(RD.Item("Kode"), 3) + 1,
"000")
End If
End Sub
Sub TabelJenisBarang()
Tabel = New OleDbDataAdapter("Select * From TblJenisBarang Order
By Kode asc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVJenisBarang.DataSource = Record
DGVJenisBarang.Columns(0).HeaderText = "KODE "
DGVJenisBarang.Columns(1).HeaderText = "JENIS BARANG"
DGVJenisBarang.Columns(0).Width = 90
DGVJenisBarang.Columns(1).Width = 290
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call KodeOtomatis()
Call TabelJenisBarang()
Double Klik pada Tombol Tutup, kemudian ketik coding di bawah ini:
Close
Double Klik pada Tombol Tambah, kemudian ketik coding di bawah ini:
TxtJenisBarang.Text = ""
TxtJenisBarang.Focus()
Call KodeOtomatis()
Call TabelJenisBarang()
BtnSimpan.Enabled = True
BtnHapus.Enabled = False
BtnUbah.Enabled = False
Double Klik pada Tombol Simpan, kemudian ketik coding di bawah ini:
If TxtJenisBarang.Text = "" Then
MsgBox("Perhatian !" & Chr(13) & "Ada Data yang masih kosong",
vbInformation, "Aplikasi Penjualan")
If TxtJenisBarang.Text = "" Then TxtJenisBarang.Focus() : Exit Sub
Else
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert Into TblJenisBarang VALUES('" & TxtKode.Text & _
"','" & TxtJenisBarang.Text & "')"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
End If
Double Klik pada DataGridView, pada kotak Declarations, ubah menjadi CellDoubleClick,
kemudian ketik coding di bawah ini:
On Error Resume Next
Dim i As Integer
i = Me.DGVJenisBarang.CurrentRow.Index
With DGVJenisBarang.Rows.Item(i)
TxtKode.Text = .Cells(0).Value
TxtJenisBarang.Text = .Cells(1).Value
BtnSimpan.Enabled = False
BtnHapus.Enabled = True
BtnUbah.Enabled = True
End With
Double Klik pada Tombol Ubah, kemudian ketik coding di bawah ini:
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Update TblJenisBarang Set Kode ='" & TxtKode.Text & _
"',JenisBarang='" & TxtJenisBarang.Text & _
"'Where Kode ='" & TxtKode.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Double Klik pada Tombol Hapus, kemudian ketik coding di bawah ini:
If MessageBox.Show("Apakah Data ini akah di Hapus ?", _
"Aplikasi Penjualan", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Delete From TblJenisBarang Where Kode ='" &
TxtKode.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Else
BtnTambah.PerformClick()
End If
5. Form Barang
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmBarang
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class FrmBarang
Sub KodeOtomatis()
CMD = New OleDbCommand("Select * From TblBarang Order By
Kode_Barang desc", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
TxtKodeBarang.Text = "BRG-0000001"
Else
TxtKodeBarang.Text = "BRG-" &
Format(Microsoft.VisualBasic.Right(RD.Item("Kode_Barang"), 6)
+ 1, "000000")
End If
End Sub
Sub TabelBarang()
Tabel = New OleDbDataAdapter("Select * From TblBarang Order By
Kode_Barang asc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVBarang.DataSource = Record
DGVBarang.Columns(0).HeaderText = "KODE BARANG"
DGVBarang.Columns(1).HeaderText = "NO. BARCODE"
DGVBarang.Columns(2).HeaderText = "NAMA BARANG"
DGVBarang.Columns(3).HeaderText = "JENIS BARANG"
DGVBarang.Columns(4).HeaderText = "SATUAN"
DGVBarang.Columns(5).HeaderText = "HARGA BARANG"
DGVBarang.Columns(6).HeaderText = "STOK"
DGVBarang.Columns(0).Width = 120
DGVBarang.Columns(1).Width = 120
DGVBarang.Columns(2).Width = 250
DGVBarang.Columns(3).Width = 120
DGVBarang.Columns(4).Width = 100
DGVBarang.Columns(5).Width = 130
DGVBarang.Columns(6).Width = 90
End Sub
Sub CariJenisBarang()
Tabel2 = New OleDbDataAdapter("Select * From TblJenisBarang",
Database)
Data2 = New DataSet
Tabel2.Fill(Data2)
Record2.DataSource = Data2
Record2.DataMember = Data2.Tables(0).ToString
CmbJenisBarang.DataSource = Record2
CmbJenisBarang.DisplayMember = "Jenis_Barang"
CmbJenisBarang.SelectedIndex = -1
End Sub
Keterangan:
Rumus di atas digunakan untuk membuat daftar pilihan pada
Jenis Barang, yang dimana data Jenis Barang diambil dari
Tabel Jenis Barang.
Sub CariSatuan()
Tabel3 = New OleDbDataAdapter("Select * From TblSatuan", Database)
Data3 = New DataSet
Tabel3.Fill(Data3)
Record3.DataSource = Data3
Record3.DataMember = Data3.Tables(0).ToString
CmbSatuan.DataSource = Record3
CmbSatuan.DisplayMember = "Satuan"
CmbSatuan.SelectedIndex = -1
End Sub
Keterangan:
Rumus di atas digunakan untuk membuat daftar pilihan pada
Satuan, yang dimana data Satuan diambil dari Tabel Satuan.
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call KodeOtomatis()
Call TabelBarang()
Call CariJenisBarang()
Call CariSatuan()
Double Klik pada Tombol Tutup, kemudian ketik coding di bawah ini:
Close
Double Klik pada Tombol Tambah, kemudian ketik coding di bawah ini:
TxtNoBarcode.Text = ""
TxtNamaBarang.Text = ""
CmbJenisBarang.Text = ""
CmbSatuan.Text = ""
TxtHargaBarang.Text = ""
TxtStok.Text = ""
TxtCariNamaBarang.Text = ""
TxtNoBarcode.Focus()
Call KodeOtomatis()
Call TabelBarang()
BtnSimpan.Enabled = True
BtnHapus.Enabled = False
BtnUbah.Enabled = False
Double Klik pada TxtNoBarcode, pada kotak Declarations, ubah menjadi KeyPress,
kemudian ketik coding di bawah ini:
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled = True
Double Klik pada TxtHargaBarang, pada kotak Declarations, ubah menjadi KeyPress,
kemudian ketik coding di bawah ini:
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled = True
Double Klik pada TxtStok, pada kotak Declarations, ubah menjadi KeyPress, kemudian
ketik coding di bawah ini:
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled = True
Double Klik pada Tombol Simpan, kemudian ketik coding di bawah ini:
If TxtNoBarcode.Text = "" Or TxtNamaBarang.Text = "" _
Or CmbJenisBarang.Text = "" Or CmbSatuan.Text = "" _
Or TxtHargaBarang.Text = "" Or TxtStok.Text = "" Then
MsgBox("Perhatian !" & Chr(13) & "Ada Data yang masih kosong !",
vbInformation, "Aplikasi Penjualan")
If TxtNoBarcode.Text = "" Then TxtNoBarcode.Focus() : Exit Sub
If TxtNamaBarang.Text = "" Then TxtNamaBarang.Focus() : Exit Sub
If CmbJenisBarang.Text = "" Then CmbJenisBarang.Focus() : Exit Sub
If CmbSatuan.Text = "" Then CmbSatuan.Focus() : Exit Sub
If TxtHargaBarang.Text = "" Then TxtHargaBarang.Focus() : Exit Sub
If TxtStok.Text = "" Then TxtStok.Focus() : Exit Sub
Else
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert Into TblBarang VALUES('" & TxtKodeBarang.Text & _
"','" & TxtNoBarcode.Text & _
"','" & TxtNamaBarang.Text & _
"','" & CmbJenisBarang.Text & _
"','" & CmbSatuan.Text & _
"','" & TxtHargaBarang.Text & _
"','" & TxtStok.Text & "')"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
End If
Double Klik pada DataGridView, pada kotak Declarations, ubah menjadi CellDoubleClick,
kemudian ketik coding di bawah ini:
On Error Resume Next
Dim i As Integer
i = Me.DGVBarang.CurrentRow.Index
With DGVBarang.Rows.Item(i)
TxtKodeBarang.Text = .Cells(0).Value
TxtNoBarcode.Text = .Cells(1).Value
TxtNamaBarang.Text = .Cells(2).Value
CmbJenisBarang.Text = .Cells(3).Value
CmbSatuan.Text = .Cells(4).Value
TxtHargaBarang.Text = .Cells(5).Value
TxtStok.Text = .Cells(6).Value
BtnSimpan.Enabled = False
BtnHapus.Enabled = True
BtnUbah.Enabled = True
End With
Double Klik pada Tombol Ubah, kemudian ketik coding di bawah ini:
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Update TblBarang Set Kode_Barang ='" & TxtKodeBarang.Text & _
"',No_Barcode='" & TxtNoBarcode.Text & _
"',Nama_Barang='" & TxtNamaBarang.Text & _
"',Jenis_Barang='" & CmbJenisBarang.Text & _
"',Satuan='" & CmbSatuan.Text & _
"',Harga_Barang='" & TxtHargaBarang.Text & _
"',Stok='" & TxtStok.Text & _
"'Where Kode_Barang='" & TxtKodeBarang.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Double Klik pada Tombol Hapus, kemudian ketik coding di bawah ini:
If MessageBox.Show("Apakah Data ini akah di Hapus ?", _
"Aplikasi Penjualan", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Delete From TblBarang Where Kode_Barang ='" &
TxtKodeBarang.Text & "'"
DML.ExecuteNonQuery()
BtnTambah.PerformClick()
Else
BtnTambah.PerformClick()
End If
6. Form Transaksi Penjualan
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian
ketik Coding berikut ini di atas Public Class FrmCariBarang
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class
FrmCariBarang
Sub TabelBarang()
Tabel = New OleDbDataAdapter("Select * From TblBarang Order By
Kode_Barang asc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVBarang.DataSource = Record
DGVBarang.Columns(0).HeaderText = "KODE BARANG"
DGVBarang.Columns(1).HeaderText = "NO. BARCODE"
DGVBarang.Columns(2).HeaderText = "NAMA BARANG"
DGVBarang.Columns(3).HeaderText = "JENIS BARANG"
DGVBarang.Columns(4).HeaderText = "SATUAN"
DGVBarang.Columns(5).HeaderText = "HARGA BARANG"
DGVBarang.Columns(6).HeaderText = "STOK"
DGVBarang.Columns(0).Width = 120
DGVBarang.Columns(1).Width = 120
DGVBarang.Columns(2).Width = 250
DGVBarang.Columns(3).Width = 120
DGVBarang.Columns(4).Width = 100
DGVBarang.Columns(5).Width = 130
DGVBarang.Columns(6).Width = 90
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi
LOAD, kemudian ketik coding di bawah ini:
Call Koneksi()
Call TabelBarang()
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi
FormClosing, kemudian ketik coding di bawah ini:
FrmTransaksiPenjualan.TxtNoBarcode.Text = TxtNoBarcode.Text
FrmTransaksiPenjualan.TxtNoBarcode.Focus()
b) Form Bayar
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi
LOAD, kemudian ketik coding di bawah ini:
TxtTotal.Text = FrmTransaksiPenjualan.LblTotalPembayaran.Text
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class
FrmTransaksiPenjualan
Sub KodeOtomatis()
CMD = New OleDbCommand("Select * From TblTransaksi Order By
No_Transaksi desc", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
TxtNoTransaksi.Text = "TR-0000001"
Else
TxtNoTransaksi.Text = "TR-" &
Format(Microsoft.VisualBasic.Right(RD.Item("No_Transaksi"),
6) + 1, "0000000")
End If
End Sub
Sub TabelTransaksi()
Tabel2 = New OleDbDataAdapter("Select TblDetailTransaksi.No_Barcode,
Nama_Barang, Harga_Barang, Jumlah, Sub_Total From
TblDetailTransaksi Where No_Transaksi='" &
TxtNoTransaksi.Text & "'", Database)
Data2 = New DataSet
Tabel2.Fill(Data2)
Record2.DataSource = Data2
Record2.DataMember = Data2.Tables(0).ToString
DGVTransaksiPenjualan.DataSource = Record2
DGVTransaksiPenjualan.Columns(0).HeaderText = "NO. BARCODE"
DGVTransaksiPenjualan.Columns(1).HeaderText = "NAMA BARANG"
DGVTransaksiPenjualan.Columns(2).HeaderText = "HARGA BARANG"
DGVTransaksiPenjualan.Columns(3).HeaderText = "JUMLAH"
DGVTransaksiPenjualan.Columns(4).HeaderText = "SUB TOTAL"
DGVTransaksiPenjualan.Columns(0).Width = 150
DGVTransaksiPenjualan.Columns(1).Width = 340
DGVTransaksiPenjualan.Columns(2).Width = 130
DGVTransaksiPenjualan.Columns(3).Width = 80
DGVTransaksiPenjualan.Columns(4).Width = 130
DGVTransaksiPenjualan.Columns(2).HeaderCell.Style.Alignment =
DataGridViewContentAlignment.MiddleRight
DGVTransaksiPenjualan.Columns(3).HeaderCell.Style.Alignment =
DataGridViewContentAlignment.MiddleCenter
DGVTransaksiPenjualan.Columns(4).HeaderCell.Style.Alignment =
DataGridViewContentAlignment.MiddleRight
DGVTransaksiPenjualan.Columns(2).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
DGVTransaksiPenjualan.Columns(3).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter
DGVTransaksiPenjualan.Columns(4).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
DGVTransaksiPenjualan.Columns(2).DefaultCellStyle.Format = "c"
DGVTransaksiPenjualan.Columns(4).DefaultCellStyle.Format = "c"
End Sub
Sub Hitung()
On Error Resume Next
Call TabelTransaksi()
TxtTotalPembayaran.Text = "0"
LblTotalPembayaran.Text = "0"
Dim i As Integer
i = DGVTransaksiPenjualan.CurrentRow.Index
For i = 0 To DGVTransaksiPenjualan.Rows.Count - 1
TxtTotalPembayaran.Text = Val(Replace(TxtTotalPembayaran.Text, ".", "")) +
Val(Replace(DGVTransaksiPenjualan.Item(4, i).Value, ".", ""))
LblTotalPembayaran.Text = Val(Replace(LblTotalPembayaran.Text, ".", "")) +
Val(Replace(DGVTransaksiPenjualan.Item(4, i).Value, ".", ""))
Next
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call KodeOtomatis()
Call TabelTransaksi()
TxtTanggalTransaksi.Text = Format(Now, "dd MMMM yyyy")
Double Klik pada Tombol Cari Barang, kemudian ketik coding di bawah ini:
TxtNoBarcode.Text = ""
LblNamaBarang.Text = ""
LblHargaBarang.Text = ""
FrmCariBarang.TxtNamaBarang.Text = ""
FrmCariBarang.TxtNoBarcode.Text = ""
FrmCariBarang.TxtNamaBarang.Select()
FrmCariBarang.ShowDialog()
Double Klik pada Tombol Transaksi Baru, kemudian ketik coding di bawah ini:
TxtNoBarcode.Text = ""
LblNamaBarang.Text = ""
LblHargaBarang.Text = ""
TxtTotalPembayaran.Text = "0"
LblTotalPembayaran.Text = "0"
TxtNoBarcode.Focus()
Call KodeOtomatis()
Call TabelTransaksi()
Double Klik pada LblHargaBarang, pada kotak Declarations, ubah menjadi TextChanged,
kemudian ketik coding di bawah ini:
If LblHargaBarang.Text = "" Or Not IsNumeric(LblHargaBarang.Text) Then
Exit Sub
End If
A = LblHargaBarang.Text
LblHargaBarang.Text = Format(A, "#,###")
Double Klik pada Tombol Simpan, kemudian ketik coding di bawah ini:
CMD = New OleDbCommand("Select * From TblTransaksi Where No_Transaksi='" &
TxtNoTransaksi.Text & "'", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
Dim DML As New OleDbCommand
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert into TblTransaksi Values('" & TxtNoTransaksi.Text & _
"','" & TxtTanggalTransaksi.Text & _
"','" & "0" & _
"','" & FrmUtama.LblKasir.Text & "')"
DML.ExecuteNonQuery()
Double Klik pada Tombol Bayar, kemudian ketik coding di bawah ini:
FrmBayar.TxtTotal.Text = ""
FrmBayar.TxtJumlahUang.Text = ""
FrmBayar.TxtKembalian.Text = ""
FrmBayar.TxtJumlahUang.Select()
If TxtTotalPembayaran.Text = "0" Or TxtTotalPembayaran.Text = "" Then
MsgBox("Maaf, Belum ada Transaksi !", vbInformation,
"Aplikasi Penjualan")
Else
FrmBayar.ShowDialog()
End If
7. Form Laporan Transaksi
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmLaporanTransaksiPenjualan
Imports System.Data
Imports System.Data.OleDb
Masih dalam kotak View Code, ketik Coding berikut ini di bawah Public Class
FrmLaporanTransaksiPenjualan
Sub TabelLaporanTransaksi()
Tabel = New OleDbDataAdapter("Select * From TblTransaksi Order By
No_Transaksi desc", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVLaporanTransaksi.DataSource = Record
DGVLaporanTransaksi.Columns(0).HeaderText = "NO. TRANSAKSI"
DGVLaporanTransaksi.Columns(1).HeaderText = "TGL. TRANSAKSI"
DGVLaporanTransaksi.Columns(2).HeaderText = "TOTAL PEMBAYARAN"
DGVLaporanTransaksi.Columns(3).HeaderText = "KASIR"
DGVLaporanTransaksi.Columns(0).Width = 130
DGVLaporanTransaksi.Columns(1).Width = 135
DGVLaporanTransaksi.Columns(2).Width = 160
DGVLaporanTransaksi.Columns(3).Width = 195
DGVLaporanTransaksi.Columns(2).HeaderCell.Style.Alignment =
DataGridViewContentAlignment.MiddleRight
GVLaporanTransaksi.Columns(2).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
DGVLaporanTransaksi.Columns(1).DefaultCellStyle.Format = "dd-MMM-yyyy"
DGVLaporanTransaksi.Columns(2).DefaultCellStyle.Format = "c"
End Sub
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Call TabelLaporanTransaksi()
Double Klik pada Tombol Refresh, kemudian ketik coding di bawah ini:
Call TabelLaporanTransaksi()
Double Klik pada Tombol Filter Data, kemudian ketik coding di bawah ini:
If RBPerTanggal.Checked = True Then
Tabel = New OleDbDataAdapter("Select * From TblTransaksi Where Tanggal_Transaksi Between #" & _
DTPPerTanggal.Value.Date.ToString("MM/dd/yyyy") & "# and #" & _
DTPPerTanggal.Value.Date.ToString("MM/dd/yyyy") & "#", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVLaporanTransaksi.DataSource = Record
Exit Sub
End If
Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmLogin
Imports System.Data
Imports System.Data.OleDb
Double Klik pada Area Form yang Kosong, pada kotak Declarations, ubah menjadi LOAD,
kemudian ketik coding di bawah ini:
Call Koneksi()
Double Klik pada TxtNamaKasir, pada kotak Declarations, ubah menjadi KeyPress,
kemudian ketik coding di bawah ini:
If e.KeyChar = Chr(13) Then
TxtPassword.Focus()
End If
Double Klik pada TxtPassword, pada kotak Declarations, ubah menjadi KeyPress,
kemudian ketik coding di bawah ini:
If e.KeyChar = Chr(13) Then
BtnOK.Focus()
End If
Double Klik pada Tombol Batal, kemudian ketik coding di bawah ini:
End
Double Klik pada Tombol OK, kemudian ketik coding di bawah ini:
If TxtNamaKasir.Text = "" Or TxtPassword.Text = "" Then
MsgBox("Maaf !" & Chr(13) & "Nama Kasir dan Password belum diisi",
vbInformation, "Aplikasi Penjualan")
If TxtNamaKasir.Text = "" Then TxtNamaKasir.Focus() : Exit Sub
If TxtPassword.Text = "" Then TxtPassword.Focus() : Exit Sub
Else
CMD = New OleDbCommand("Select * From TblKasir Where Nama_Kasir='" &
TxtNamaKasir.Text & "'AND Pass='" &
TxtPassword.Text & "'", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = True Then
Dim Pwd As String = RD.Item("Pass")
If TxtPassword.Text = Pwd Then
FrmUtama.LblKasir.Text = RD.Item("Nama_Kasir")
Close()
Else
MsgBox("Maaf !" & Chr(13) & "Login Anda tidak berhasil !",
vbInformation, "Aplikasi Penjualan")
TxtNamaKasir.Text = ""
TxtPassword.Text = ""
TxtNamaKasir.Focus()
End If
Else
MsgBox("Login Anda gagal !", vbInformation, "Aplikasi Penjualan")
TxtNamaKasir.Text = ""
TxtPassword.Text = ""
TxtNamaKasir.Focus()
End If
End If