Anda di halaman 1dari 28

Aplikasi Penjualan : Toko Raihan Mart

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

3. Form Jenis Barang

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

Pengaturan Komponen: MenuStrip, ToolStrip, StatusStrip


1. Form:
- Name : FrmUtama
- Icon : Masukkan Icon
- StartPosition : CenterScreen
- Text : RAIHAN MART
- WindowState : Maximized

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. Tabel Satuan (TblSatuan)

3. Tabel Jenis Barang (TblJenisBarang)

4. Tabel Barang (TblBarang)

5. Tabel Detail Transaksi (TblDetailTransaksi)

6. Tabel Transaksi (TblTransaksi)

7. Relasi (Hubungan) Tabel


C. Coding Aplikasi Penjualan: Toko Raihan Mart
1. Module
Module digunakan untuk membuat rumus KONEKSI KE DATABASE, dalam hal ini Database
yang digunakan adalah Microsoft Access.
Berikut langkah-langkah menambah Module:
 Klik kanan pada Nama Aplikasi Anda
 Klik Add, Klik Module
 Masukkan nama Module dengan nama : ModulKoneksi
 Klik Add
 Masuk ke Jendela View Code, ketik Coding berikut ini DI ATAS ModulKoneksi
Imports System.Data
Imports System.Data.OleDb
 Masih dalam Jendela View Code, ketik Coding berikut ini DI BAWAH ModulKoneksi
Public Database As OleDbConnection
Public Tabel, Tabel2, Tabel3 As OleDbDataAdapter
Public Data, Data2, Data3 As DataSet
Public RD, RD2, RD3 As OleDbDataReader
Public CMD, CMD2, CMD3 As OleDbCommand
Public Record, Record2, Record3 As New BindingSource
Public A, B, C, D As Integer
Public Jlh, SubTotal As Integer

Public Function Koneksi() As Boolean


On Error Resume Next
Database = New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath &
"\dbAplikasiPenjualan.accdb")
Database.Open()
End Function Nama Database di Access

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 TxtCariNamaBarang, kemudian ketik coding di bawah ini:


Tabel = New OleDbDataAdapter("Select * From TblBarang Where
Nama_Barang Like '%" & TxtCariNamaBarang.Text & "%'",
Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVBarang.DataSource = Record

 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

a) Form Cari Barang

 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()

 Double Klik pada TxtNamaBarang, kemudian ketik coding di bawah ini:


Tabel = New OleDbDataAdapter("Select * TblBarang Where Nama_Barang
Like '%" & TxtNamaBarang.Text & "%'", Database)
Data = New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString
DGVBarang.DataSource = Record

 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)
TxtNoBarcode.Text = .Cells(1).Value
TxtNamaBarang.Text = .Cells(2).Value
Close()
Call FrmTransaksiPenjualan.Hitung()
End With

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

 Double Klik pada TxtTotal, kemudian ketik coding di bawah ini:


If TxtTotal.Text = "" Or Not IsNumeric(TxtTotal.Text) Then
Exit Sub
End If
A = TxtTotal.Text
TxtTotal.Text = Format(A, "#,###")

 Double Klik pada TxtJumlahUang, kemudian ketik coding di bawah ini:


If TxtJumlahUang.Text = "" Or Not IsNumeric(TxtJumlahUang.Text) Then
Exit Sub
End If
B = TxtJumlahUang.Text
TxtJumlahUang.Text = Format(B, "#,###")
TxtJumlahUang.SelectionStart = TxtJumlahUang.Text

If TxtJumlahUang.Text = "" Or TxtJumlahUang.Text = "0" Or


Val(Replace(TxtJumlahUang.Text, ".", "")) =
Val(Replace(TxtTotal.Text, ".", "")) Then
TxtKembalian.Text = "0"
Else
TxtKembalian.Text = Val(Replace(TxtJumlahUang.Text, ".", "")) –
Val(Replace(TxtTotal.Text, ".", ""))
End If

 Double Klik pada TxtKembalian, kemudian ketik coding di bawah ini:


If TxtKembalian.Text = "" Or Not IsNumeric(TxtKembalian.Text) Then
Exit Sub
End If
C = TxtKembalian.Text
TxtKembalian.Text = Format(C, "#,###")

 Double Klik pada TxtJumlahUang, pada kotak Declarations, ubah menjadi


KeyPress, kemudian ketik coding di bawah ini:
If e.KeyChar = Chr(13) Then
If Val(Replace(TxtJumlahUang.Text, ".", "")) <
Val(Replace(TxtTotal.Text, ".", "")) Then
MsgBox("Maaf, Jumlah Uang Kurang !", vbInformation,
"Aplikasi Penjualan")
TxtJumlahUang.Focus()
Else
MsgBox("Tekan ENTER untuk melanjutkan transaksi",
vbInformation, "Aplikasi Penjualan")
Close()
FrmTransaksiPenjualan.BtnTransaksiBaru.PerformClick()
End If
End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then
e.Handled = True

Coding Form Transaksi Penjualan


 Double Klik pada Area Form yang Kosong, masuk ke kotak View Code kemudian ketik
Coding berikut ini di atas Public Class FrmTransaksiPenjualan
Imports System.Data
Imports System.Data.OleDb

 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 LblTotalPembayaran, pada kotak Declarations, ubah menjadi


TextChanged, kemudian ketik coding di bawah ini:
If LblTotalPembayaran.Text = "" Or Not IsNumeric(LblTotalPembayaran.Text) Then
Exit Sub
End If
B = LblTotalPembayaran.Text
LblTotalPembayaran.Text = Format(B, "#,###")

 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()

Dim DML2 As New OleDbCommand


DML2.Connection = Database
DML2.CommandType = CommandType.Text
DML2.CommandText = "Insert Into TblDetailTransaksi VALUES('" & TxtNoTransaksi.Text & _
"','" & TxtNoBarcode.Text & _
"','" & LblNamaBarang.Text & _
"','" & Replace(LblHargaBarang.Text, ".", "") & _
"','" & TxtJlhBarang.Text & _
"','" & TxtSubTotal.Text & "')"
DML2.ExecuteNonQuery()
Call TabelTransaksi()
Else
CMD = New OleDbCommand("Select * From TblDetailTransaksi Where No_Transaksi='" &
TxtNoTransaksi.Text & "' and No_Barcode='" &
TxtNoBarcode.Text & "'", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = False Then
Dim DML3 As New OleDbCommand
DML3.Connection = Database
DML3.CommandType = CommandType.Text
DML3.CommandText = "Insert Into TblDetailTransaksi VALUES('" &
TxtNoTransaksi.Text & _
"','" & TxtNoBarcode.Text & _
"','" & LblNamaBarang.Text & _
"','" & Replace(LblHargaBarang.Text, ".", "") & _
"','" & TxtJlhBarang.Text & _
"','" & TxtSubTotal.Text & "')"
DML3.ExecuteNonQuery()
Else
Jlh = RD.Item("Jumlah")
SubTotal = RD.Item("Sub_Total")

Dim DML4 As New OleDbCommand


DML4.Connection = Database
DML4.CommandType = CommandType.Text
DML4.CommandText = "Update TblDetailTransaksi Set Harga_Barang='" &
Replace(LblHargaBarang.Text, ".", "") & _
"',Jumlah='" & Val(Jlh) + Val(TxtJlhBarang.Text) & _
"',Sub_Total='" & Val(SubTotal) + Val(TxtSubTotal.Text) &
"'Where No_Transaksi='" & TxtNoTransaksi.Text & "' and No_Barcode='" &
TxtNoBarcode.Text & "'"
DML4.ExecuteNonQuery()
End If
Call Hitung()
Dim DML5 As New OleDbCommand
DML5.Connection = Database
DML5.CommandType = CommandType.Text
DML5.CommandText = "Update TblTransaksi Set Total_Pembayaran='" &
TxtTotalPembayaran.Text & _
"' Where No_Transaksi='" & TxtNoTransaksi.Text & "'"
DML5.ExecuteNonQuery()
End If

 Double Klik pada TxtNoBarcode, kemudian ketik coding di bawah ini:


CMD = New OleDbCommand("Select * From TblBarang Where No_Barcode='" &
TxtNoBarcode.Text & "'", Database)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = True Then
TxtNoBarcode.Text = RD.Item("No_Barcode")
LblNamaBarang.Text = RD.Item("Nama_Barang")
LblHargaBarang.Text = RD.Item("Harga_Barang")
TxtSubTotal.Text = Val(Replace(LblHargaBarang.Text, ".", "")) * 1
TxtJlhBarang.Text = 1
BtnSimpan.PerformClick()
End If

 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

If RBPerPeriode.Checked = True Then


Tabel = New OleDbDataAdapter("Select * From TblTransaksi Where Tanggal_Transaksi Between #" & _
DTPPeriode1.Value.Date.ToString("MM/dd/yyyy") & "# and #" & _
DTPPeriode2.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
8. Form Login

 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

Anda mungkin juga menyukai