The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by permadhi, 2020-03-13 23:12:12

Visual Basic Net 2015

Visual Basic Net 2015

Keywords: visual,basic,net,2015

118

If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled() = True
End Sub

12. Masukkan kode pada objek textbox5 prosedur KeyPress sebagai berikut

Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress

If e.KeyChar = Chr(13) Then TextBox6.Focus()
End Sub

13. Masukkan kode pada objek textbox6 prosedur KeyPress sebagai berikut

Private Sub combobox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)

If e.KeyChar = Chr(13) Then Button1.Focus()
End Sub

Pada kode objek textbox2, textbox3, textbox4, textbox5 dan textbox6 prosedur KeyPress
berfungsi jika nilai telah diisi pada textbox2 maka kursor akan dilanjutkan pada combobox1
dan seterusnya pada button1.

14. Masukkan kode pada button1 yang berfungsi untuk menyimpan data pamasok ke tabel
pemasok

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = ""
Or TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Then

MsgBox("Data Belum Lengkap")
Exit Sub
Else
CMD = New OleDbCommand("Select * from Pemasok where KodePms='"
& TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then

Dim sqltambah As String = "Insert into
Pemasok(KodePms,NamaPms,AlamatPms,TeleponPms,PersonPms,EmailPms) values " &
_

"('" & TextBox1.Text & "','" & TextBox2.Text & "','" &
TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" &
TextBox6.Text & "')"

CMD = New OleDbCommand(sqltambah, CONN)

119

CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Dim sqledit As String = "Update Pemasok set " & _
"NamaPms='" & TextBox2.Text & "', " & _
"AlamatPms='" & TextBox3.Text & "', " & _
"TeleponPms='" & TextBox4.Text & "', " & _
"PersonPms='" & TextBox5.Text & "', " & _
"EmailPms='" & TextBox6.Text & "' " & _
"where KodePms='" & TextBox1.Text & "'"
CMD = New OleDbCommand(sqledit, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
End If
End If
End Sub

15. Masukkan kode pada button2 berfungsi untuk menghapus data Pemasok

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

If TextBox1.Text = "" Then
MsgBox("Isi kode Pemasok terlebih dahulu")
TextBox1.Focus()
Exit Sub

Else

If MessageBox.Show("Yakin akan dihapus..?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then

CMD = New OleDbCommand("Delete * from Pemasok where
KodePms='" & TextBox1.Text & "'", CONN)

CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Call Kosongkan()
End If
End If
End Sub

120

16. Masukkan kode pada button3 berfungsi untuk menghilangkan nilai pada textbox dan
combobox

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click

Call Kosongkan()
End Sub

17. Masukkan kode pada button4 untuk menutup form pemasok

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click

Me.Close()
End Sub

18. Hasil dari kode program diatas, dapat dilihat pada gambar 7.7 berikut ini :

Gambar 7.7 Hasil Form Pemasok

7.7 Membuat Form Pemakai
Untuk membuat form pemakai ikuti langkah berikut ini :

1. Desain Form Pemakai seperti pada gambar 7.8 dibawah ini :

121

Gambar 7.8 Form Pemakai
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.11 Pengaturan Properties Form Pemakai

Object Properties Value

Form1 Text Form : Pemakai

Form1 Name Pemakai

Form1 Start Position CenterScreen

Label1 Text Kode

Label2 Text Nama

Label3 Text Password

Label4 Text Status

Botton1 Text &Simpan

Botton2 Text &Hapus

Botton3 Text &Batal

Botton4 Text &Tutup

DataGridView1 Name DGV

3. Masukkan kode berikut diatas Public Class Pemakai bertujuan untuk memanggil

driver dengan koneksi oleDB

Imports System.Data.OleDb

4. Dengan membuat prosedur kosongkan yang berfungsi untuk menghilangkan nilai pada

textbox, Masukkan kode berikut ini :

Sub Kosongkan()
TextBox1.Text = ""
TextBox2.Text = ""

122

TextBox3.Text = ""
ComboBox1.Text = ""
TextBox1.Focus()
End Sub

5. Tambahkan kembali prosedur DataBaru dengan kode sebagai berikut :

Sub DataBaru()
TextBox2.Text = ""
TextBox3.Text = ""
ComboBox1.Text = ""
TextBox2.Focus()

End Sub

6. Pada prosedur Tampilkan berfungsi untuk mengambil data dari tabel pemasok dengan
kode sebagai berikut :

Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Pemakai ORDER BY 1", CONN)

DS = New DataSet
DS.Clear()
DA.Fill(DS, "Pemakai")
DGV.DataSource = (DS.Tables("Pemakai"))
DGV.ReadOnly = True
End Sub

7. Masukkan kode berikut ini pada objek form atau pemakai prosedur load sebagai berikut :

Private Sub Pemakai_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Call Koneksi()
Call Tampilkan()
ComboBox1.Items.Add("ADMINISTRATOR")
ComboBox1.Items.Add("OPERATOR")
ComboBox1.Items.Add("KASIR")
End Sub

8. Masukkan kode berikut ini pada objek Textboxt1 prosedur KeyPress :

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

TextBox1.MaxLength = 5
If e.KeyChar = Chr(13) Then

CMD = New OleDbCommand("select * from Pemakai where
kodePMK='" & TextBox1.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = True Then

123

TextBox2.Text = RD.GetString(1)
TextBox3.Text = RD.GetString(2)
ComboBox1.Text = RD.GetString(3)
TextBox2.Focus()
Else
Call DataBaru()
TextBox2.Focus()
End If

End If
End Sub

Kode diatas berfungsi ketika nilai yang sama dimasukkan pada textbox1 maka akan
dimunculkan data pemakai yang sebelumnya telah terinput.
9. Masukkan kode pada objek textbox2 prosedur KeyPress sebagai berikut :

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress

If e.KeyChar = Chr(13) Then TextBox3.Focus()
End Sub

10. Masukkan kode pada objek textbox3 prosedur KeyPress sebagai berikut :

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress

If e.KeyChar = Chr(13) Then ComboBox1.Focus()
End Sub

11. Masukkan kode pada objek combobox1 prosedur KeyPress sebagai berikut

Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress

If e.KeyChar = Chr(13) Then Button1.Focus()
End Sub

Pada kode objek textbox2, textbox3 dan combobox1 prosedur KeyPress berfungsi jika
nilai telah diisi pada textbox2 maka kursor akan dilanjutkan pada combobox1 dan seterusnya
pada button1.

12. Masukkan kode pada button1 yang berfungsi untuk menyimpan data pamasok ke tabel
pemasok

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = ""
Or ComboBox1.Text = "" Then

124

MsgBox("Data Belum Lengkap")
Exit Sub
Else
CMD = New OleDbCommand("Select * from Pemakai where kodePMK='"
& TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then

Dim sqltambah As String = "Insert into
Pemakai(kodePMK,namaPMK,PassPMK,StatusPMK) values " & _

"('" & TextBox1.Text & "','" & TextBox2.Text & "','" &
TextBox3.Text & "','" & ComboBox1.Text & "')"

CMD = New OleDbCommand(sqltambah, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Dim sqledit As String = "Update Pemakai set " & _
"NamaPMK='" & TextBox2.Text & "', " & _
"PassPMK='" & TextBox3.Text & "', " & _
"StatusPMK='" & ComboBox1.Text & "' where kodePMK='" &
TextBox1.Text & "'"
CMD = New OleDbCommand(sqledit, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
End If
End If

End Sub

13. Masukkan kode pada button2 berfungsi untuk menghapus data Pemasok

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

If TextBox1.Text = "" Then
MsgBox("Isi kode Pemakai terlebih dahulu")
TextBox1.Focus()
Exit Sub

Else
If MessageBox.Show("Yakin akan dihapus..?", "",

MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then

125

CMD = New OleDbCommand("Delete * from Pemakai where
kodePMK='" & TextBox1.Text & "'", CONN)

CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Call Kosongkan()
End If
End If
End Sub

14. Masukkan kode pada button3 berfungsi untuk menghilangkan nilai pada textbox dan
combobox

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click

Call Kosongkan()
End Sub

15. Masukkan kode pada button4 untuk menutup form pemasok

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click

Me.Close()
End Sub

16. Hasil dari kode program diatas, dapat dilihat pada gambar 7.9 berikut ini :

Gambar 7.9 Hasil Form Pemakai

7.8 Membuat Form Penerimaan Barang
Form penerimaan barang berfungsi untuk mencatat dan menambah stok pada tabel barang,

setiap barang yang diterima akan didata sehingga jumlah stok barang akan bertambah sesuai

126

dengan jumlah yang diterima. Untuk membuat form penerimaan barang ikuti langkah berikut
ini:
1. Desain Form Penerimaan Barang seperti pada gambar 7.10 dibawah ini :

Gambar 7.10 Form Penerimaan Barang

2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.10 Pengaturan Properties Form Penerimaan Barang

Object Properties Value

Form1 Text Form : Penerimaan

Form1 Name Penerimaan

Form1 Start Position CenterScreen

Label1 Text Nomor

Label2 Text Kode Pemasok

Label3 Text Contact Person

Label4 Text Tanggal

Label5 Text Nama Pemasok

Label6 Text Nomor Reff

Label7 Name LBLNomor

Label8 Name LBLTanggal

Label9 Name LBLNama

Label10 Name LBLPerson

Label11 Name TotalTerima

ComboBox1 - -

TextBoxt1 Name TKode

127

TextBoxt2 Name TNama
TextBoxt3 Name TStok
TextBoxt5 Name TTerima
TextBoxt6 Name TotalTerima
Botton1 Text Simpan
Botton2 Text Batal
Botton3 Text Tutup
DataGridView1 Name DGV

3. Masukkan kode berikut diatas Public Class Pemakai bertujuan untuk memanggil
driver dengan koneksi oleDB

Imports System.Data.OleDb

4. Dengan membuat prosedur kosongkan yang berfungsi untuk menghilangkan nilai pada
textbox, Masukkan kode berikut ini :

Sub Kosongkan()
TKode.Text = ""
TNama.Text = ""
TStok.Text = ""
TTerima.Text = ""
TKode.Focus()

End Sub

5. Pada prosedur Tampilkan berfungsi untuk mengambil data dari tabel TMPTerima dengan
kode sebagai berikut :

Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from TMPTerima", CONN)
DS = New DataSet
DS.Clear()
DA.Fill(DS, "TMPTerima")
DGV.DataSource = (DS.Tables("TMPTerima"))
DGV.ReadOnly = True
Call AturKolom()

End Sub

6. Pada prosedur AturKolom berfungsi untuk mengatur panjang kolom dengan kode sebagai
berikut:

Sub AturKolom()
DGV.Columns("kode").Width = 50
DGV.Columns(1).Width = 250

128

DGV.Columns(2).Width = 75
DGV.Columns(3).Width = 75
End Sub

7. Pada prosedur HapusGrid berfungsi untuk menghapus data pada tabel TMPTerima dengan
kode sebagai berikut:

Sub HapusGrid()
DA = New OleDbDataAdapter("Delete * from TMPTerima", CONN)
DS = New DataSet
DS.Clear()
DA.Fill(DS, "TMPTerima")
DGV.DataSource = (DS.Tables("TMPTerima"))

End Sub

8. Pada prosedur CariTotalTerima berfungsi untuk melakukan penjumlahan pada kolom
jumlah terima barang dengan kode sebagai berikut:

Sub CariTotalTerima()
On Error Resume Next
CMD = New OleDbCommand("select sum(Diterima) as ketemu from

TMPTerima", CONN)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
TotalTerima.Text = RD.GetValue(0)
Else
TotalTerima.Text = 0
End If

End Sub

9. Pada prosedur Otomatis berfungsi untuk membuat kode pada nomor transaksi dengan
ketentuan 2 digit didepan adalah “TR” ditambah dengan tanggal transaksi dan 2 digit
penomoran. Contoh: TR1902201601 yang berarti TR adalah kode transaksi, 19022016
adalah tanggal transaksi dan 01 merupakan nomor urut pertama transaksi. kode sebagai
berikut:

Private Sub Otomatis()
CMD = New OleDbCommand("Select * from Penerimaan where NomorTrm in

(select max(NomorTrm) from Penerimaan) order by NomorTrm desc", CONN)
Dim urutan As String
Dim hitung As Long
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then

129

urutan = "TR" + Format(Now, "yyMMdd") + "01"
Else

If Microsoft.VisualBasic.Mid(RD.GetString(0), 3, 6) <>
Format(Now, "yyMMdd") Then

urutan = "TR" + Format(Now, "yyMMdd") + "01"
Else

hitung = Microsoft.VisualBasic.Right(RD.GetString(0), 2) +
1

urutan = "TR" + Format(Now, "yyMMdd") +
Microsoft.VisualBasic.Right("00" & hitung, 2)

End If
End If
LBLNomor.Text = urutan
End Sub

10. Pada prosedur TampilPemasok berfungsi untuk menampilkan data pemasok ke
combobox1 dengan kode sebagai berikut:

Sub TampilPemasok()
CMD = New OleDbCommand("select * from Pemasok", CONN)
RD = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop

End Sub

11. Pada objek form penerimaan prosedur Actived berfungsi untuk memanggil koneksi,
prosedur otomatis dan pengaturan LBLTanggal untuk waktu berikut kode sebagai berikut:

Private Sub Penerimaan_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated

Koneksi()
Call Otomatis()
LBLTanggal.Text = Today
End Sub

12. Pada objek form penerimaan prosedur load berfungsi untuk memanggil koneksi, prosedur
hapus grid, tampilkan dan memanggil data pemasok ketika form dijalankan, berikut kode
sebagai berikut:

Private Sub Penerimaan_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Call Koneksi()
Call HapusGrid()
Call Tampilkan()

130

Call TampilPemasok()
End Sub

13. Masukkan kode berikut ini pada DataGridView prosedur CellEndEdit :

Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs)

If e.ColumnIndex = 3 Then
DGV.Rows(e.RowIndex).Cells(4).Value =

DGV.Rows(e.RowIndex).Cells(2).Value * DGV.Rows(e.RowIndex).Cells(3).Value
Call CariTotalTerima()
Call Kosongkan()

End If
End Sub

14. Masukkan kode berikut ini pada DataGridView prosedur CellValidating :

Private Sub DGV_CellValidating(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellValidatingEventArgs)

On Error Resume Next
If e.ColumnIndex = 0 Then

CMD = New OleDbCommand("Select * from barang where KodeBrg='" &
e.FormattedValue.ToString & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

DGV.Rows(e.RowIndex).Cells(0).Value = RD.GetString(0)
DGV.Rows(e.RowIndex).Cells(1).Value = RD.GetString(1)
DGV.Rows(e.RowIndex).Cells(2).Value = RD.GetValue(2)
Exit Sub
Else
Beep()
End If

End If

If e.ColumnIndex = 3 Then
DGV.Rows(e.RowIndex).Cells(4).Value =

DGV.Rows(e.RowIndex).Cells(2).Value * e.FormattedValue.ToString
End If

End Sub

131

15. Masukkan kode berikut pada objek botton1:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

If ComboBox1.Text = "" Or NomorReff.Text = "" Or TotalTerima.Text =
"" Then

MsgBox("Data belum lengkap")
Exit Sub
End If

Try
'simpan ke tabel Penerimaan
'MenuUtama.Panel1.Text
Dim Simpan As String
Simpan = "insert into

Penerimaan(nomorTrm,tanggalTrm,KodePms,nomorbon,totalTrm,kodepmk) values "
&_

"('" & LBLNomor.Text & "','" & LBLTanggal.Text & "','" &
ComboBox1.Text & "','" & NomorReff.Text & "','" & TotalTerima.Text & "','"
& MenuUtama.Panel1.Text & "')"

CMD = New OleDbCommand(Simpan, CONN)
CMD.ExecuteNonQuery()

'baca tabel TMPTerima
DA = New OleDbDataAdapter("select * from TMPTerima", CONN)
DS = New DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
Dim TBL As DataTable = DS.Tables(0)
For baris As Integer = 0 To TBL.Rows.Count - 1

Dim sqlsimpan As String = "insert into
DetailTerima(nomorTrm,KODEBRG,stokawal,qtytrm,stokakhir) values " & _

"('" & LBLNomor.Text & "','" & TBL.Rows(baris)(0) & "','" &
TBL.Rows(baris)(2) & "','" & TBL.Rows(baris)(3) & "','" &
TBL.Rows(baris)(2) + TBL.Rows(baris)(3) & "')"

CMD = New OleDbCommand(sqlsimpan, CONN)
CMD.ExecuteNonQuery()

'tambahstok barang
CMD = New OleDbCommand("select * from barang where
KodeBrg='" & TBL.Rows(baris)(0) & "'", CONN)

132

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

Dim TambahStok As String = "update barang set
JumlahBrg= '" & RD.GetValue(3) + TBL.Rows(baris)(3) & "' where KodeBrg='" &
TBL.Rows(baris)(0) & "'"

CMD = New OleDbCommand(TambahStok, CONN)
CMD.ExecuteNonQuery()
End If
Next baris

Call HapusGrid()
Call Tampilkan()
Call Kosongkan()
Call Otomatis()
Call HapusMaster()
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub

16. Masukkan kode berikut ini pada objek TKode prosedur KeyPress:

Private Sub Tkode_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TKode.KeyPress

If e.KeyChar = Chr(13) Then
If TKode.Text = "" Then
'DaftarBarang.Show()
MsgBox("kode barang masih kosong")
Else

CMD = New OleDbCommand("Select * from TMPTerima where
kode='" & TKode.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

TNama.Text = RD.GetString(1)
TStok.Text = RD.GetValue(2)
MsgBox("kode barang sudah ada dalam transaksi, edit
saja jumlahnya")
'Call Kosongkan()
TStok.Focus()

133

Exit Sub
Else

CMD = New OleDbCommand("Select * from barang where
KodeBrg='" & TKode.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

TNama.Text = RD.GetString(1)
TStok.Text = RD.GetValue(3)
TTerima.Focus()
Else
MsgBox("Kode tidak terdaftar")
TKode.Text = ""
TKode.Focus()
End If
End If
End If
End If

If e.KeyChar = Chr(27) Then
CMD = New OleDbCommand("select * from TMPTerima where kode='" &

TKode.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Dim sqlhapus As String = "delete * from TMPTerima where

kode='" & TKode.Text & "'"
CMD = New OleDbCommand(sqlhapus, CONN)
CMD.ExecuteNonQuery()
Call Tampilkan()
Call CariTotalTerima()
If DGV.Rows.Count - 1 = 0 Then
Call HapusMaster()
End If
TKode.Text = ""

Else
MsgBox("Kode tidak ada dalam transaksi")
TKode.Focus()

End If
End If

134

'If e.KeyChar = Chr(9) Then TDibayar.Focus()
End Sub

Kode diatas berfungsi ketika nilai yang sama dimasukkan pada textbox1 atau Tkode maka
akan dimunculkan data penerimaan yang sebelumnya telah terinput.
17. Masukkan kode berikut ini pada objek TTerima prosedur KeyPress:

Private Sub TTerima_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TTerima.KeyPress

If e.KeyChar = Chr(13) Then

CMD = New OleDbCommand("select * from TMPTerima where kode='" &
TKode.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Dim editjumlah As String = "update TMPTerima set diterima='" & TTerima.Text
& "' where kode='" & TKode.Text & "'"

CMD = New OleDbCommand(editjumlah, CONN)
CMD.ExecuteNonQuery()
Call Tampilkan()
Call CariTotalTerima()
Call Kosongkan()
Else
Dim sqlsimpan As String = "Insert into TMPTerima
(kode,nama,stokawal,diterima) values " & _
"('" & TKode.Text & "','" & TNama.Text & "','" & TStok.Text
& "','" & TTerima.Text & "')"
CMD = New OleDbCommand(sqlsimpan, CONN)
CMD.ExecuteNonQuery()

Call Tampilkan()
Call CariTotalTerima()
Call Kosongkan()
End If
End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled() = True
End Sub

18. Pada prosedur HapusMaster berfungsi untuk membersihkan nilai pada textboxt dan
combobox, dengan kode sebagai berikut:

Sub HapusMaster()

135

ComboBox1.Text = ""
LBLPerson.Text = ""
LBLNama.Text = ""
NomorReff.Text = ""
TotalTerima.Text = ""
ComboBox1.Focus()
End Sub

19. Masukkan kode pada objek button2 atau tombol batal sebagai berikut :

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

Call Kosongkan()
Call HapusGrid()
Call HapusMaster()
Call Tampilkan()
End Sub

20. Masukkan kode pada objek button3 atau tombol tutup sebagai berikut :

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click

Me.Close()
End Sub

21. Masukkan kode pada objek combobox1 prosedur KeyPress sebagai berikut

Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress

If e.KeyChar = Chr(13) Then
If ComboBox1.Text = "" Then
MsgBox("Kode Pemasok masih kosong")
Else
NomorReff.Focus()
End If

End If
End Sub

22. Masukkan kode pada objek combobox1 prosedur SelectedIndexChanged sebagai berikut

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

CMD = New OleDbCommand("select * from Pemasok where KodePms='" &
ComboBox1.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

136

LBLPerson.Text = RD.Item(5)
LBLNama.Text = RD.Item(2)
Else
MsgBox("Kode Pemasok tidak terdaftar")
End If
End Sub

23. Masukkan kode pada objek NomorReff prosedur KeyPress sebagai berikut

Private Sub NomorReff_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles NomorReff.KeyPress

If e.KeyChar = Chr(13) Then TKode.Focus()
End Sub

24. Hasil dari kode program diatas, dapat dilihat pada gambar 7.11 berikut ini :

Gambar 7.11 Hasil Form Penerimaan Barang
Form Penerimaan pada gambar 7.11 pada pencarian kode barang masih mengetikkan
kode, apabila kasir tidak mengingat seluruh kode barang maka dibutuhkan pencarian barang
dengan memilih pada daftar barang. Maka, dibutuhkan form pencarian barang apabila daftar
barang di klik maka akan dimunculkan pada kolom kode barang, nama barang dan stok.
Berikut langkah pembuatan form pencarian barang
1. Buatlah form baru dengan klik menu Project dan pilih Add Windows Form
2. Desain Form Daftar Barang seperti pada gambar 7.12 dibawah ini:

137

Gambar 7.8 Form Daftar Barang
3. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.11 Pengaturan Properties Form Daftar Barang

Object Properties Value
Form1 Text Daftar Barang
Form1 Name D_Barang
Form1 Start Position CenterScreen
DataGridView1 Name DGV

4. Masukkan kode berikut diatas Public Class D_barang bertujuan untuk memanggil
driver dengan koneksi oleDB

Imports System.Data.OleDb

5. Pada prosedur Tampilkan berfungsi untuk menampilkan data barang ke DataGridView
dengan kode sebagai berikut:

Sub Tampilkan()
DA = New OleDbDataAdapter("Select KodeBrg,NamaBrg,StokMinimal from

barang", CONN)
ds = New DataSet
ds.Clear()
da.Fill(ds, "Barang")
DGV.DataSource = (ds.Tables("Barang"))
DGV.ReadOnly = True

End Sub

6. Masukkan kode pada objek form D_Barang prosedur Load berikut ini:

Private Sub D_Barang_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

138

Call Koneksi()
Call Tampilkan()
End Sub

7. Masukkan kode berikut pada objek DataGridView prosedur CellClick :

Private Sub DGV_CellClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellClick

Dim i As Integer
i = Me.DGV.CurrentRow.Index
With DGV.Rows.Item(i)

Penerimaan.TKode.Text = .Cells(0).Value
Penerimaan.TNama.Text = .Cells(1).Value
Penerimaan.TStok.Text = .Cells(2).Value
End With
Penerimaan.Show()
Me.Close()
Penerimaan.TTerima.Focus()
End Sub
End Class

8. Hasil dari kode program diatas, dapat dilihat pada gambar 7.12 berikut ini :

Gambar 7.12 Hasil Form Penerimaan Barang

7.9 Membuat Form Transaksi
Form transaksi penjualan berfungsi untuk mencatat setiap transaksi penjualan barang

kepada pelanggan, setiap barang yang dijual maka jumlah stok barang akan berkurang sesuai
dengan jumlah yang dijual. Untuk membuat form transaksi ikuti langkah berikut ini:
1. Desain Form transaksi penjualan barang seperti pada gambar 7.13 berikut ini :

139

Gambar 7.13 Form Transaksi Penjualan Barang
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.12 Pengaturan Properties Form Transaksi Barang

Object Properties Value
Form1 Text Form : Transaksi
Form1 Name Transaksi
Form1 Start Position CenterScreen
Label1 Text Faktur
Label2 Text Tanggal
Label3 Text Jam
Label4 Text Kode
Label5 Text Nama
Label6 Text Alamat
Label7 Text Telepon
Label8 Text Jenis Kelamin
Label9 Text Email
Label10 Text Total
Label11 Text Item
Label12 Text Dibayar
Label13 Text Kembali
TextBoxt1 - -
TextBoxt2 - -
TextBoxt3 - -
TextBoxt5 - -

140

TextBoxt6 Name Faktur
TextBoxt7 Name Tanggal
TextBoxt8 Name Jam
TextBoxt9 Name Item
TextBoxt10 Name Dibayar
TextBoxt11 Name Kembali
Combobox2 - -
Botton1 Text Daftar Barang
Botton2 Text …
Botton3 Name BTNSimpan
Botton3 Text Simpan
Botton4 Name BTNBatal
Botton4 Text Batal
Botton5 Name BTNTutup
Botton6 Text Tutup
Timer1 Enabled True

1. Masukkan kode berikut diatas Public Class Pemakai bertujuan untuk memanggil
driver dengan koneksi oleDB

Imports System.Data.OleDb

2. Dengan membuat prosedur BersihkanText yang berfungsi untuk menghilangkan nilai pada
textbox, Masukkan kode berikut ini :

Sub BersihkanText()
Total.Text = ""
Dibayar.Text = ""
Kembali.Text = ""
Item.Text = ""

End Sub

3. Pada prosedur BuatKolomBaru berfungsi untuk membuat kolom dengan kode sebagai
berikut :

Sub BuatKolomBaru()
DGV.Columns.Add("Kode", "Kode")
DGV.Columns.Add("Nama", "Nama Barang")
DGV.Columns.Add("Harga", "Harga")
DGV.Columns.Add("Jumlah", "Jumlah")
DGV.Columns.Add("Total", "SubTotal")

141

Call AturLebarKolom()
End Sub

4. Pada prosedur AturLebarKolom berfungsi untuk mengatur panjang kolom dengan kode
sebagai berikut:

Sub AturLebarKolom()
DGV.Columns(0).Width = 50
DGV.Columns(1).Width = 175
DGV.Columns(2).Width = 75
DGV.Columns(3).Width = 75
DGV.Columns(4).Width = 100

End Sub

5. Pada prosedur FakturOtomatis berfungsi untuk membuat penomoran otomatis dengan 6
digit pertama adalah tanggal dan pada 4 digit terakhir adalah penomoran selanjutnya,
dengan kode sebagai berikut:

Sub FakturOtomatis()
cmd = New OleDbCommand("Select * from penjualan where faktur in

(select max(faktur) from penjualan) order by faktur desc", Conn)
Dim urutan As String
Dim hitung As Long
rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
urutan = Format(Now, "yyMMdd") + "0001"
Else
If Microsoft.VisualBasic.Left(rd.GetString(0), 6) <>

Format(Now, "yyMMdd") Then
urutan = Format(Now, "yyMMdd") + "0001"

Else
hitung = rd.GetString(0) + 1
urutan = Format(Now, "yyMMdd") +

Microsoft.VisualBasic.Right("0000" & hitung, 4)
End If

End If
Faktur.Text = urutan
End Sub

6. Pada objek form transaksi prosedur active berfungsi untuk memanggil prosedur faktur
otomatis dan mengatur tanggal berdasarkan format komputer, dengan kode sebagai
berikut :

142

Private Sub Transaksi_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated

Call FakturOtomatis()
Tanggal.Text = Today
End Sub

7. Pada prosedur TampilPelanggan berfungsi untuk memanggil data pelanggan dan
ditampilkan pada combobox1, dengan kode sebagai berikut:

Sub TampilPelanggan()
CMD = New OleDbCommand("select * from Pelanggan", CONN)
RD = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop

End Sub

8. Pada objek form transaksi prosedur load berfungsi untuk memanggil prosedur koneksi,
buatkolombaru dan tampil pelanggan, dengan kode sebagai berikut :

Private Sub Transaksi_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Call Koneksi()
Call BuatKolomBaru()
Call TampilPelanggan()
End Sub

9. Pada objek timer1 prosedur tick berfungsi untuk mengatur waktu pada textbox jam
dengan kode sebagai berikut:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick

Jam.Text = TimeOfDay
End Sub

10. Pada objek Datagrid1 atau DGV prosedur CellEndEdit berfungsi untuk memanggil data,
mengubah dan melakukan perkalian penjumlahan jumlah barang dengan harga barang,
dengan kode sebagai berikut:

Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellEndEdit

If e.ColumnIndex = 0 Then
CMD = New OleDbCommand("select * from barang where KodeBrg='" &

DGV.Rows(e.RowIndex).Cells(0).Value & "'", CONN)
RD = CMD.ExecuteReader

143

RD.Read()
If RD.HasRows Then

DGV.Rows(e.RowIndex).Cells(1).Value = RD.Item(1)
DGV.Rows(e.RowIndex).Cells(2).Value = RD.Item(5)
DGV.Rows(e.RowIndex).Cells(3).Value = 1
DGV.Rows(e.RowIndex).Cells(4).Value =
DGV.Rows(e.RowIndex).Cells(2).Value * DGV.Rows(e.RowIndex).Cells(3).Value
Call TotalItem()
Call TotalHarga()

Else
MsgBox("Kode barang tidak terdaftar")

End If
End If

If e.ColumnIndex = 3 Then

CMD = New OleDbCommand("select * from barang where KodeBrg='" &
DGV.Rows(e.RowIndex).Cells(0).Value & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

If DGV.Rows(e.RowIndex).Cells(3).Value > RD.Item(4) Then
MsgBox("Stok barang hanya ada " & RD.Item(4) & "")
DGV.Rows(e.RowIndex).Cells(3).Value = 1
DGV.Rows(e.RowIndex).Cells(4).Value =

DGV.Rows(e.RowIndex).Cells(2).Value * DGV.Rows(e.RowIndex).Cells(3).Value
Call TotalItem()
Call TotalHarga()

Else
DGV.Rows(e.RowIndex).Cells(4).Value =

DGV.Rows(e.RowIndex).Cells(2).Value * DGV.Rows(e.RowIndex).Cells(3).Value
Call TotalItem()
Call TotalHarga()

End If
End If
DGV.CurrentCell = DGV.Rows(0).Cells(0)
End If
End Sub

11. Pada prosedur kena berfungsi untuk mengatur cell pada datagrid, denga kode sebagai
berikut:

144

Sub kena(ByVal myGrid As DataGrid)
myGrid.CurrentCell = New DataGridCell(1, 1)

End Sub

12. Pada prosedur TotalItem berfungsi untuk mengitung jumlah item pada cell, dengan kode
sebagai berikut:

Sub TotalItem()
Dim HitungItem As Integer = 0
For I As Integer = 0 To DGV.Rows.Count - 1
HitungItem = HitungItem + Val(DGV.Rows(I).Cells(3).Value)
Item.Text = HitungItem
Next

End Sub

13. Pada prosedur TotalHarga berfungsi untuk mengitung harga pada cell, dengan kode
sebagai berikut:

Sub TotalHarga()
Dim HitungHarga As Integer = 0
For I As Integer = 0 To DGV.Rows.Count - 1
HitungHarga = HitungHarga + Val(DGV.Rows(I).Cells(4).Value)
Total.Text = HitungHarga
Next

End Sub

14. Pada prosedur HapusBaris berfungsi untuk menghilangkan nilai pada cell , dengan kode
sebagai berikut:

Sub HapusBaris()
On Error Resume Next
Dim baris As Integer = DGV.CurrentCell.RowIndex
DGV.Rows(baris).Cells(0).Value = ""
Chr(30)

End Sub

15. Pada objek DGV prosedur KeyDown berfungsi untuk mengatur cell yang bisa diubah
pada cell, dengan kode sebagai berikut:

Private Sub DGV_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles DGV.KeyDown

If e.KeyCode = Keys.Up Then
DGV.CurrentCell = DGV.Rows(0).Cells(3)

End If
End Sub

145

16. Pada objek DGV prosedur KeyPress berfungsi untuk memanggil prosedur TotalItem,
TotalHarga dan mengembalikan nilai pada cell, dengan kode sebagai berikut:

Private Sub DGV_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles DGV.KeyPress

On Error Resume Next
If e.KeyChar = Chr(27) Then

DGV.Rows.RemoveAt(DGV.CurrentCell.RowIndex)
Call TotalItem()
Call TotalHarga()
Dibayar.Clear()
Kembali.Text = ""
End If
End Sub

17. Pada objek textbox dibayar prosedur Keypress berfungsi untuk menghitung jumlah bayar
dengan total bayar sehingga nilai sisa akan ditampilkan pada textbox kembali, kode
sebagai berikut:

Private Sub Dibayar_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Dibayar.KeyPress

If e.KeyChar = Chr(13) Then
If Val(Dibayar.Text) < Val(Total.Text) Then
MsgBox("Pembayaran kurang")
Kembali.Text = ""
Dibayar.Focus()
Exit Sub
ElseIf Val(Dibayar.Text) = Val(Total.Text) Then
Kembali.Text = 0
BTNSimpan.Focus()
Else
Kembali.Text = Val(Dibayar.Text) - Val(Total.Text)
BTNSimpan.Focus()
End If

End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled() = True

End Sub

18. Masukkan kode berikut pada objek BTNSimpan :

Private Sub BTNSimpan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNSimpan.Click

146

If Total.Text = "" Or Dibayar.Text = "" Or Kembali.Text = "" Or
Item.Text = "" Then

MsgBox("Data belum lengkap, tidak ada transaksi atau pembayaran
masih kosong")

Exit Sub
End If

'simpan ke tabel penjualan
Dim simpanmaster As String = "Insert into
penjualan(faktur,tanggal,item,total,dibayar,kembali,KodePmk,KodePlg) values
"&_
"('" & Faktur.Text & "','" & Tanggal.Text & "','" & Item.Text &
"','" & Total.Text & "','" & Dibayar.Text & "','" & Kembali.Text & "','" &
Menuutama.Panel1.Text & "','" & ComboBox1.Text & "')"
CMD = New OleDbCommand(simpanmaster, CONN)
CMD.ExecuteNonQuery()

For baris As Integer = 0 To DGV.Rows.Count - 2
'simpan ke tabel detail
Dim sqlsimpan As String = "Insert into detailjual

(faktur,KodeBrg,nama_Barang,harga_Jual,jumlah,subtotal) values " & _
"('" & Faktur.Text & "','" & DGV.Rows(baris).Cells(0).Value &

"','" & DGV.Rows(baris).Cells(1).Value & "','" &
DGV.Rows(baris).Cells(2).Value & "','" & DGV.Rows(baris).Cells(3).Value &
"','" & DGV.Rows(baris).Cells(4).Value & "')"

CMD = New OleDbCommand(sqlsimpan, CONN)
CMD.ExecuteNonQuery()

'kurangi stok barang
CMD = New OleDbCommand("select * from barang where KodeBrg='" &
DGV.Rows(baris).Cells(0).Value & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

Dim kurangistok As String = "update barang set JumlahBrg=
'" & RD.Item(3) - DGV.Rows(baris).Cells(3).Value & "' where KodeBrg='" &
DGV.Rows(baris).Cells(0).Value & "'"

CMD = New OleDbCommand(kurangistok, CONN)
CMD.ExecuteNonQuery()
End If
Next baris

147

DGV.Columns.Clear()
Call BuatKolomBaru()
Call FakturOtomatis()
Call BersihkanText()
End Sub

19. Masukkan kode berikut pada objek BTNBatal

Private Sub BTNBatal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNBatal.Click

Call BersihkanText()
DGV.Columns.Clear()
Call BuatKolomBaru()
DGV.Focus()
End Sub

20. Masukkan kode berikut pada objek BTNTutup

Private Sub BTNTutup_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTNTutup.Click

Me.Close()
End Sub

21. Masukkan kode berikut pada Button1 atau Daftar Barang

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

D_Barang.ShowDialog()
End Sub

22. Masukkan kode berikut pada Button2 atau tombol cari

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

D_Pelanggan.ShowDialog()
End Sub

23. Masukkan kode berikut pada objek combobo1 prosedur SelectedIndexChange

Private Sub combobox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

CMD = New OleDbCommand("select * from Pelanggan where KodePlg='" &
ComboBox1.Text & "'", CONN)

RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then

TextBox1.Text = RD.Item(1)
TextBox2.Text = RD.Item(2)

148

TextBox3.Text = RD.Item(3)
TextBox4.Text = RD.Item(4)
TextBox5.Text = RD.Item(5)
Else
MsgBox("Kode Pelanggan tidak terdaftar")
End If
End Sub

24. Hasil dari kode program diatas, dapat dilihat pada gambar 7.14 berikut ini :

Gambar 7.14 Hasil Form Transaksi Barang
Form transaksi barang pada gambar 7.14 pada pencarian kode pelanggan masih
mengetikkan kode, apabila kasir tidak mengingat seluruh kode pelanggan maka dibutuhkan
pencarian pelanggan dengan memilih pada daftar pelanggan. Maka, dibutuhkan form
pencarian pelanggan apabila daftar pelanggan di klik maka akan dimunculkan pada textboxt
kode pelanggan, nama, alamat, telepon, jenis kelamin dan email. Berikut langkah pembuatan
form pencarian pelanggan
1. Buatlah form baru dengan klik menu Project dan pilih Add Windows Form
2. Desain form daftar pelanggan seperti pada gambar 7.15 dibawah ini:

Gambar 7.15 Form Daftar Pelanggan

149

3. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.13 Pengaturan Properties Form Daftar Pelanggan

Object Properties Value

Form1 Text Daftar Pelanggan

Form1 Name D_ Pelanggan

Form1 Start Position CenterScreen

DataGridView1 Name DGV

4. Masukkan kode berikut diatas Public Class D_Pelanggan bertujuan untuk memanggil
driver dengan koneksi oleDB

Imports System.Data.OleDb

5. Pada prosedur Tampilkan berfungsi untuk menampilkan data barang ke DataGridView
dengan kode sebagai berikut:

Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Pelanggan", CONN)
DS = New DataSet
DS.Clear()
DA.Fill(DS, "Pelanggan")
DGV.DataSource = (DS.Tables("Pelanggan"))
DGV.ReadOnly = True

End Sub

6. Masukkan kode pada objek form D_Pelanggan prosedur Load berikut ini:

Private Sub D_Pelanggan_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Call Koneksi()
Call Tampilkan()
End Sub

7. Masukkan kode berikut pada objek DataGridView prosedur CellClick :

Private Sub DGV_CellClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellClick

Dim i As Integer
i = Me.DGV.CurrentRow.Index
With DGV.Rows.Item(i)

Transaksi.ComboBox1.Text = .Cells(0).Value
Transaksi.TextBox1.Text = .Cells(1).Value
Transaksi.TextBox2.Text = .Cells(2).Value
Transaksi.TextBox3.Text = .Cells(3).Value
Transaksi.TextBox4.Text = .Cells(4).Value

150

Transaksi.TextBox5.Text = .Cells(5).Value
End With
Transaksi.Show()
Me.Close()
End Sub

8. Hasil dari kode program diatas, dapat dilihat pada gambar 7.16 berikut ini :

Gambar 7.16 Hasil Form Transaksi Penjualan Barang

7.10 Membuat Form Pencarian
Pada pembuatan form pencarian hanya pada rincian stok barang dan transaksi

penjualan, pada rincian stok barang akan dimunculkan data stok barang minimal yang tersedia
sedangkan pada form rincian transaksi penjualan memuat informasi penjualan barang.

7.10.1 Membuat Form Rincian Stok Barang
Untuk membuat form rincian stok barang ikuti langkah berikut ini:

1. Desain Form rincian stok barang seperti pada gambar 7.17 berikut ini :

Gambar 7.17 Form Rincian Stok Barang

151

2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.14 Pengaturan Properties Form Rincian Stok Barang

Object Properties Value

Form1 Text Form : Rincian

Stok

Form1 Name RincianStok

Form1 Start Position CenterScreen

Label1 Text Tanggal

Label2 Name LBLTanggal

TextBoxt1 Name TotalBarang

Botton1 Text Cek Stok Minimum

Botton2 Text Cetak

Botton3 Text Batal

Botton4 Text Tutup

DataGridView1 Name DGV

3. Masukkan kode berikut diatas Public Class RincianStok bertujuan untuk memanggil
driver dengan koneksi oleDB

Imports System.Data.OleDb

4. Dengan membuat prosedur AturKolom yang berfungsi untuk mengatur besar kolom,
masukkan kode berikut ini :

Sub AturKolom()
DGV.Columns(0).Width = 60
DGV.Columns(1).Width = 150
DGV.Columns(2).Width = 60
DGV.Columns(3).Width = 60
DGV.Columns(4).Width = 60

End Sub

5. Pada objek form RincianStok prosedur Actived masukkan kode sebagai berikut :

Private Sub RincianStok_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated

LBLTanggal.Text = Today
End Sub

6. Pada objek form RincianStok prosedur Load masukkan kode sebagai berikut :

Private Sub RincianStok_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

152

Koneksi()
End Sub

7. Pada prosedur HitungTotal berfungsi untuk menghitung nilai total bayar pada cell data
grid, kode sebagai berikut:

Sub HitungTotal()
Dim subtot As Integer = 0
For I As Integer = 0 To DGV.Rows.Count - 1
subtot += Val(DGV.Rows(I).Cells(3).Value)
TotalBarang.Text = subtot
Next

End Sub

8. Masukkan kode berikut pada button 1.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

DA = New OleDbDataAdapter("select * from barang where
jumlahbrg<=stokminimal", CONN)

DS = New DataSet
DS.Clear()
DA.Fill(DS, "barang")
DGV.DataSource = DS.Tables("Barang")
Call AturKolom()
Call HitungTotal()
End Sub

9. Masukkan kode berikut pada button 3.

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click

If TotalBarang.Text = "" Then
MsgBox("klik dulu tombol Cek Stok Minimum")

Else
DGV.DataSource = DS.Tables()
TotalBarang.Text = ""

End If
End Sub

10. Masukkan kode berikut pada button 4.

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click

Me.Close()
End Sub

11. Hasil dari kode program diatas, dapat dilihat pada gambar 7.18 berikut ini :

153

Gambar 7.18 Hasil Form Rincian Stok Barang

7.10.2 Membuat Form Rincian Transaksi Penjualan
Untuk membuat form rincian transaksi ikuti langkah berikut ini:

1. Desain Form rincian transaksi barang seperti pada gambar 7.19 berikut ini :

Gambar 7.19 Form Rincian Transaksi Penjualan Barang
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.15 Pengaturan Properties Form Rincian Transaksi Barang

Object Properties Value
Form1 Text Form : Rincian
Transaksi
Form1 Name RincianTransaksi
Form1 Start Position CenterScreen
ComboBox1 - -
DataGridView1 Name DGV

154

3. Masukkan kode berikut diatas Public Class RincianTransaksi bertujuan untuk
memanggil driver dengan koneksi oleDB

Imports System.Data.OleDb

4. Prosedur TampilFaktur berfungsi untuk menampilkan data nomor faktur pada
combobox1, masukkan kode berikut ini :

Sub TampilFaktur()
cmd = New OleDbCommand("select * from penjualan", Conn)
rd = cmd.ExecuteReader
Do While rd.Read
combobox1.Items.Add(rd.GetString(0))
Loop

End Sub

5. Prosedur TampilData berfungsi untuk menampilkan rincian tabel transaksi pada tabel
penjualan dan detail jual dan ditampilkan pada data grid, masukkan kode sebagai berikut :

Sub TampilData()
da = New OleDbDataAdapter("select

nama_barang,Harga_Jual,jumlah,subtotal from detailjual where faktur='" &
combobox1.Text & "' ", Conn)

ds = New DataSet
da.Fill(ds, "Detail")
DGV.DataSource = ds.Tables("Detail")
DGV.ReadOnly = True
CMD = New OleDbCommand("select
tanggal,item,total,dibayar,kembali,NamaPmk from penjualan,Pemakai where
faktur='" & ComboBox1.Text & "' and penjualan.KodePmk=Pemakai.KodePmk ",
CONN)
rd = cmd.ExecuteReader
rd.Read()
End Sub

6. Pada objek form RincianStok prosedur Load masukkan kode sebagai berikut :

Private Sub RincianStok_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Koneksi()
End Sub

7. Pada objek form RincianTransaksi prosedur Load masukkan kode sebagai berikut:

Private Sub RincianTransaksi_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Call Koneksi()
Call TampilFaktur()

155

End Sub

8. Masukkan kode pada objek combobox1 prosedur SelectedIndexChange berikut.

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Call TampilData()
End Sub

9. Hasil dari kode program diatas, dapat dilihat pada gambar 7.20 berikut ini :

Gambar 7.20 Hasil Form Rincian Transaksi Penjualan Barang

7.11 Membuat Form Menu Utama
Menu merupakan bagian utama dalam pembuatan aplikasi, pada umumnya menu

utama merupakan form utama untuk mengakses form lainnya. Pada Visual BASIC 2015
kontrol yang digunakan untuk membuat menu adalah MenuStrip. Ada 4 bagian dalam control
MenuStrip :
1. Images (Gambar)
2. Acces Keys (Tombol Akses)
3. Shortcut Keys (Tombol Pintas)
4. Check Mark (Penanda)

Gambaran pada bagian control MenuStrip dapa dilihat pada gambar 7.21 berikut.

156

Gambar 7.21 Bagian Kontrol MenuStrip MDIForm
Selain menggunakan kontrol MenuStrip dan Form MDIForm, Anda bisa
menambahhkan komponen atau kontrol untuk membuat tampilan menu semakin menarik.
Contoh komponen tambahan; CloudToolkitN6, DevComponentsDotNetBar2,
DXperienceUniversal-11.1.6, ElegantRibbonSetup-v.3.8, QDevSuiteSetup3.0.0.20 dan masih
banyak lagi.
Untuk membuat form menu utama ikuti langkah berikut ini:
1. Klik menu Project > Add Windows Form dan pilih MDI Parent Form
2. Desain form menu utama seperti pada gambar 7.22 berikut ini :

Gambar 7.22 Form Menu Utama
3. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.16 Pengaturan Properties Form Menu Utama

157

Object Properties Value
MDIForm1 Text Menu Utama
MDIForm1 Name MenuUtama
MDIForm1 Start Position CenterScreen
MDIForm1 WindowState Maximized
StatusStrip1 Name StatusStrip1
StatusStrip1 Item : Name Panel1
StatusStrip1 Item : Name Panel2
StatusStrip1 Item : Name Panel3

4. Susunlah menu sesuai pada gambar 7.23 berikut:

Menu Utama

Master Transaksi Pencarian Laporan
Barang Master
Penerimaan Rincian Stok
Pelanggan Barang Penerimaan
Pemasok Rincian Penjualan
Penjualan Penjualan

Pemakai

Gambar 7.23 Bagan Menu Utama
5. Masukkan kode berikut pada sub menu barang.

Private Sub BarangToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles BarangToolStripMenuItem.Click

Barang.ShowDialog()
End Sub

6. Masukkan kode berikut pada sub menu pelanggan.

Private Sub PelangganToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles PelangganToolStripMenuItem.Click

Pelanggan.ShowDialog()
End Sub

7. Masukkan kode berikut pada sub menu pemasok.

Private Sub PemasokToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles PemasokToolStripMenuItem.Click

158

Pemasok.ShowDialog()
End Sub

8. Masukkan kode berikut pada sub menu pemakai.

Private Sub PemakaiToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles PemakaiToolStripMenuItem.Click

Pemakai.ShowDialog()
End Sub

9. Masukkan kode berikut pada sub menu penerimaan barang.

Private Sub PenerimaanBarangToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
PenerimaanBarangToolStripMenuItem.Click

Penerimaan.ShowDialog()
End Sub

10. Masukkan kode berikut pada sub menu penjualan.

Private Sub PenjualanToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles PenjualanToolStripMenuItem.Click

Transaksi.ShowDialog()
End Sub

11. Masukkan kode berikut pada sub menu rincian stok.

Private Sub RincianStokToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RincianStokToolStripMenuItem.Click

RincianStok.ShowDialog()
End Sub

12. Masukkan kode berikut pada sub menu rincian penjualan.

Private Sub RIncianPenjualanToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RIncianPenjualanToolStripMenuItem.Click

RincianTransaksi.ShowDialog()
End Sub

13. Hasil dari kode program diatas, dapat dilihat pada gambar 7.24 berikut ini :

159

Gambar 7.24 Hasil Form Menu Utama

7.12 Membuat Form Login
Form login berfungsi untuk memberikan dan membatasi hak akses terhadap pengguna

aplikasi. pada form login aplikasi kasir memiliki 3 level yaitu; Administrator, User dan Kasir.
Untuk membuat form login ikuti langkah berikut ini:

1. Klik menu Project > Add Windows Form dan pada name ketikkan “Login”
2. Desain form login seperti pada gambar 7.25 berikut ini :

Gambar 7.25 Form Login
3. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.17 Pengaturan Properties Form Login

Object Properties Value
Form1 Text Login
Form1 Name Login
Form1 Start Position CenterScreen
Label1 Text Username
Label2 Text Password
TextBox1 - -

160

TextBox2 - -
TextBox2 PasswordChar *
Button1 Text Login
Button2 Text Tutup

4. Masukkan kode berikut diatas Public Class Login bertujuan untuk memanggil driver
dengan koneksi oleDB

Imports System.Data.OleDb

5. Masukkan kode berikut pada button1 atau tombol login :

Koneksi()
CMD = New OleDbCommand("select * from Pemakai where NamaPmk='" &

TextBox1.Text & "' and PassPmk='" & TextBox2.Text & "'", CONN)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows Then
Me.Visible = False
Menuutama.Show()
Menuutama.Panel1.Text = RD.GetString(0)
Menuutama.Panel2.Text = RD.GetString(1)
Menuutama.Panel3.Text = RD.GetString(3)
If Menuutama.Panel3.Text <> "ADMINISTRATOR" Then
MenuUtama.StatusStrip1.Enabled = False
Else
MenuUtama.StatusStrip1.Enabled = True
End If
Else
MsgBox("login salah, periksan kembali user name dan password")
TextBox1.Focus()

End If

6. Masukkan kode berikut pada button2 atau tombol tutup :

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

End
End Sub

7. Masukkan kode berikut pada objek textbox1 prosedur Keypress:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If e.KeyChar = Chr(13) Then TextBox2.Focus()
End Sub

161

8. Masukkan kode berikut pada objek textbox2 prosedur Keypress:

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress

If e.KeyChar = Chr(13) Then Button1.Focus()
End Sub

9. Hasil dari kode program diatas, dapat dilihat pada gambar 7.26 berikut ini :

Gambar 7.26 Hasil Form Login
7.13 Membuat Form Splash Screen

Splash Screen adalah form yang ditampilkan pada awal program dijalankan. Menurut
fungsinya splash screen dibagi menjadi 3 bagian:
1. Sebagai penghibur user ketika menunggu loading data/setting program yang lama.
2. Berfungsi untuk estetika yang menujukan identitas program saja, tanpa fungsi lainnya.
3. Gabungan kedua fungsi diatas.

Untuk menambah splash screen pada Visual BASIC telah disediakan dengan model
sederhana, caranya sama seperti menambah form, untuk menambahkan sebuah splash screen
pilih menu Project > Add Windows Form > Splash Screen. Berikut tampilan splash screen
pada Visual BASIC 2015:

Gambar 7.26 Hasil Form Login

162

Pada umumnya, splash screen digunakan pada startup-nya untuk melakukan
konfigurasi kebutuhan aplikasi, kebanyakan aplikasi kecil penggunaan splash screen hanya
pada penggunaan kontrol timer dan bersifat efek bergerak (text, label, gambar, dan
sebagainya).

Untuk membuat form splash screen ikuti langkah berikut ini:
1. Klik menu Project > Add Windows Form dan pada name ketikkan “Splash”
2. Desain form splash screen seperti pada gambar 7.27 berikut ini :

Gambar 7.27 Form Splash Screen

3. Gantilah properti masing-masing komponen seperti tertera dibawah ini :

Tabel 7.17 Pengaturan Properties Form Splash Screen

Object Properties Value

Form1 Text Splash

Form1 Name Splash

Form1 Start Position CenterScreen

Form1 Form Border Style None

Form1 Background Image Gambar

Label1 - -

ProgressBar1 - -

Timer1 - -

4. Masukkan kode berikut pada objek form splash prosedur load:

Private Sub Splash_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

Timer1.Start()
End Sub

163

5. Masukkan kode berikut pada objek timer1 prosedur Tick:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick

If ProgressBar1.Value = 100 Then
Timer1.Stop()
Dim lanjut As New MenuUtama
lanjut.Visible = True
Me.Close()

Else
ProgressBar1.Value += 1
Label1.Text = ProgressBar1.Value

End If
End Sub

6. Hasil dari kode program diatas, dapat dilihat pada gambar 7.28 berikut ini :

Gambar 7.28 Hasil Form Splash Screen

7.14 Membuat Laporan
Dalam pembuatan aplikasi kasir dibagi menjadi 2 bagian form; laporan data master,

transaksi penerimaan barang dan transaksi penjualan. Untuk membuat laporan digunakan
crystal report 8.5 dan komponen crystal report viewer.
7.14.1 Laporan Master Barang

Untuk membuat laporan master barang ikuti langkah berikut ini:
1. Buka Software Crystal Report
2. Pada tampilan utama crystal report pilih Using the Report Expert
3. Pada tampilan Crytal Report Gallery pilih Using the Report Expert dan format Standard

4. Pada tampilan Standard Report Expert tab Data pilih Database

164

5. Pada tampilan Data Explorer pilih Database File dan klik Add
6. Pilih database pada folder project ../Bin/ Debug
7. Pilih tabel barang seperti ditunjukkan pada gambar 7.29 berikut:

Gambar 7.29 Crsytal Report Pilihan Tabel Barang
8. Pada tab Field pilih semua field barang ke Field to Display, seperti ditunjukkan pada

gambar 7.30 berikut ini:

Gambar 7.30 Crsytal Report Pilihan Field to Display
9. Lewati setiap tab hingga pada tab style ketikkan “Laporan Master Barang” pada Title

seperti ditunjukkan pada gambar 7.31 berikut.

165

Gambar 7.31 Crsytal Report Pilihan Style
10. Simpan Laporan dengan nama “LapBarang” pada direktori folder project ../Bin/Debug
11. Desain Laporan pada tab design dengan menggunakan tolls line dan box seperti

ditunjukkan pada gambar 7.32 berikut.

Gambar 7.32 Hasil Laporan Master Barang
7.14.2 Laporan Master Pelanggan

Membuat laporan master pelanggan langkah-langkahnya sama dengan membuat
laporan master barang. Simpan Laporan dengan nama “LapPelanggan” pada direktori folder
project ../Bin/Debug. Desain laporan master pelanggan pada tab design dengan menggunakan
tolls line dan box seperti ditunjukkan pada gambar 7.33 berikut.

Gambar 7.33 Hasil Laporan Master Pelanggan

166

7.14.3 Laporan Master Pemasok
Membuat laporan master pemasok langkah-langkahnya sama dengan membuat

laporan sebelumnya. Simpan Laporan dengan nama “LapPemasok” pada direktori folder
project ../Bin/Debug. Desain laporan master pemasok pada tab design dengan menggunakan
tolls line dan box seperti ditunjukkan pada gambar 7.34 berikut.

Gambar 7.34 Hasil Laporan Master Pemasok
7.14.4 Laporan Master Pemakai/ User

Membuat laporan master pemakai/ user langkah-langkahnya sama dengan membuat
laporan sebelumnya. Simpan Laporan dengan nama “LapPemakai” pada direktori folder
project ../Bin/Debug. Desain laporan master pemakai pada tab design dengan menggunakan
tolls line dan box seperti ditunjukkan pada gambar 7.35 berikut.

Gambar 7.35 Hasil Laporan Master Pemakai/User

7.14.5 Laporan Transaksi Penerimaan Barang
Laporan transaksi penerimaan barang melibatkan banyak tabel master, tabel tersebut

adalah tabel detailTerima, Barang, Penerimaan dan Pemasok. maka Buatlah query seperti
ditunjukkan pada gambar 3.36 berikut:

167

Gambar 7.36 Query Penerimaan Barang
Ada dua bentuk laporan penerimaan barang yaitu; detailpenerimaan dan laporan
penerimaan. Membuat laporan transaksi penerimaan barang langkah-langkahnya sama dengan
membuat laporan sebelumnya. Simpan Laporan dengan nama “DetailPenerimaan” pada
direktori folder project ../Bin/Debug. Desain laporan detail penerimaan barang pada tab
design dengan menggunakan tolls line dan box seperti ditunjukkan pada gambar 7.37 berikut.

Gambar 7.37 Hasil Laporan Transaksi Detail Penerimaan Barang
Membuat laporan transaksi penerimaan barang langkah-langkahnya sama dengan
membuat laporan sebelumnya. Simpan Laporan dengan nama “LapPenerimaan” pada
direktori folder project ../Bin/Debug. Desain laporan transaksi penerimaan barang pada tab
design dengan menggunakan tolls line dan box seperti ditunjukkan pada gambar 7.38 berikut.


Click to View FlipBook Version