Anda di halaman 1dari 32

INVENTORY

PRATIKUM

FEBRUARY 17, 2019


INSTITUTE TEKNOLOGI BUDI UTOMO
Dosen : Irlon Dahil MMSI, MKOM
INVENTORY

DAFTAR ISI
1. Database
1.1 Entiry Relationship Diagram ……………………………………………………………………………………. 2
1.2 Table Structure ………………………………..…………………………………………………………………….. 3
2. Memulai Project ………………………………………………………………………………………………………………… 5
3. Class Connection ……………………………………………………………………………………………………………….. 6
4. Form 9
4.1 Form Karyawan ……………………………..…………………………………………………………………….. 9
4.2 Form Main Menu …………………………………......…………………………………………………………. 16
4.3 Form Login ………………………………………………………………………………………………………….. 17
4.4 Form Flash .…………………………………………………………………………………………………..…….. 20
4.5 Form Barang ……………………………………………………………………………………………………….. 21
4.6 From Supplier ……………………………………………………………………………………………………... 25

pg. 1
INVENTORY

1. Database

Database atau biasa disebut basis data adalah sekumpulan data atau informasi yang terdiri atas satu
atau lebih tabel yang saling berhubungan antara satu dengan yang lain, di mana seseorang atau lebih
mempunyai wewenang untuk mengakses data tersebut, baik untuk menambah, mengganti,
mengedit, menghapus data dalam tabel-tabel tersebut. Lebih sederhananya pengertian Database
merupakan kumpulan dari informasi yang disimpan dalam komputer dan saling berhubungan satu
sama lain secara siste-matik. Database ini dikelola dan dapat digunakan untuk keperluan tertentu.

Buatlah sebuah database dengan nama Inventory, dalam pembuatan database dapat menggunakan
salah satu DBMS sebagai berikut :
 Microsoft Access 2007 atau Microsoft Access 2010
 SQL Server

1.1. Entity Relationhip Diagram

pg. 2
INVENTORY

1.2. Table structure

Nama Table : TPegawai

Nama Table : TAdmin

Nama table : TBarang

Nama Table : TPemasok

pg. 3
INVENTORY

Nama Table : TPelanggan

NamaTable : TPemesanan

Nama table : TTransaksi

Nama Table : TDetailPemesanan

Nama table : TDetailTransaksi

pg. 4
INVENTORY

2. Memulai Project
1. Buka visual Basic 2008
2. Klik New dan kemudian Project

3. Buatlah nama project dengan nama Inventori


4. Tentukan lokasi project yang akan di simpan

pg. 5
INVENTORY

3. Class Connection
Class Connection adalah class yang akan digunakan untuk koneksi database

Pembuatan sebuah class


1. Klik kanan Inventory di Solution Exporer
2. Pilih Add dan kemudian Class

pg. 6
INVENTORY

3. Buat nama class dengan clsConnection

Imports Microsoft.VisualBasic
Imports System.Data.Sql

Public Class clsConnection


Protected tblPengguna = New DataTable
Protected SQL As String
Protected Cn As OleDb.OleDbConnection
Protected Cmd As OleDb.OleDbCommand
Protected Da As OleDb.OleDbDataAdapter
Protected Ds As DataSet
Protected Dt As DataTable
Public Function OpenConn() As Boolean

'Digunakan untuk koneksi database MS Access 2010


Cn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath & "\INVENOTORY.accdb;Persist Security
Info=True")

' Digunakan untuk koneksi database MS 2007


'Cn = New leDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Application.StartupPath & "\INVENTORY.mdb;Persist Security
Info=True")

‘ Digunakan untuk koneksi database SQL server


'Cn = New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;User ID=sa;Password=123;Initial
Catalog=DBMahasiswa;Data Source=172.30.2.2")

Cn.Open()

If Cn.State <> ConnectionState.Open Then


Return False
Else
Return True
End If

pg. 7
INVENTORY

End Function

Public Sub CloseConn()


If Not IsNothing(Cn) Then
Cn.Close()
Cn = Nothing
End If
End Sub

Public Function ExecuteQuery(ByVal Query As String) As DataTable


If Not OpenConn() Then
MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access
Failed")
Return Nothing
Exit Function
End If
Cmd = New OleDb.OleDbCommand(Query, Cn)
Da = New OleDb.OleDbDataAdapter
Da.SelectCommand = Cmd

Ds = New Data.DataSet
Da.Fill(Ds)

Dt = Ds.Tables(0)

Return Dt

Dt = Nothing
Ds = Nothing
Da = Nothing
Cmd = Nothing

CloseConn()

End Function

Public Sub ExecuteNonQuery(ByVal Query As String)


If Not OpenConn() Then
MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access
Failed..!!")
Exit Sub
End If
Cmd = New OleDb.OleDbCommand
Cmd.Connection = Cn
Cmd.CommandType = CommandType.Text
Cmd.CommandText = Query
Cmd.ExecuteNonQuery()
Cmd = Nothing
CloseConn()
End Sub
End Class

pg. 8
INVENTORY

4. Form
4.1 Form Pegawai
Pembuatan form Pegawai
1. Klik kanan Inventory
2. Pilih Add dan kemudian Window Form

pg. 9
INVENTORY

Komponen Properti Nilai


form Name frmPegawai
StartPosision CenterScreen
Text DATA PEGAWAI
Label Text NIP
TextBox name txtNip
enable false
Label Text Nama Pegawai
TextBox name txtNama
Label Text Tgl Lahir
DateTimePicker Name dLahir
Format Custom
CustomFormat dd-MMM-yyyy
Label text Jenis Kelamin
RadioBotton Name rdlaki
Text Laki-Laki
RadioBotton Name rdPerempuan
Text Perempuan
Label Text Alamat
TextBox Name txtAlm
Multiline True
label Text Telp
Textbox Name txtTlp
Button name SimpanBtn
Text &Simpan
Button name UbahBtn
Text &Ubah
Button name BatalBtn
Text &Batal
Button Name HapusBtn

pg. 10
INVENTORY

Text &Hapus
Button Name TutupBtn
Text &Tutup
Groupbox Text Cari Berdasarkan
RadioButton Name CariNip
Text NIP
RadioButton Name CariNmPegawai
Text Nama Pegawai
Textbox Name txtCariData
DataGridView Name dgPegawai

Langkah – lankah pengkodingan

1. Mendefisikan variable

Dim SQL As String


Dim Proses As New clsConnection
Dim tblPegawai As DataTable

2. Buatlah prosedur dengan nama Data_Record() untuk menampilkan data pada


dataGridView
Sub Data_Record()
tblPegawai = Proses.ExecuteQuery("Select * From TPegawai order by
NIP asc")
DgPegawai.DataSource = tblPegawai
DgPegawai.Columns(1).Width = 150
DgPegawai.Columns(2).Width = 435
End Sub

3. Buat prosedur dengan name Kode_Otomatis() untuk membuat secara otomatis


nomor induk pegawai (NIP)

Sub Kode_Otomatis()
tblPegawai = Proses.ExecuteQuery("Select * From TPegawai order by
NIP desc")
If tblPegawai.Rows.Count = 0 Then
txtNIP.Text = "KP-000001"
Else
With tblPegawai.Rows(0)
txtNIP.Text = .Item("NIP")
End With

txtNIP.Text = Val(Microsoft.VisualBasic.Mid(txtNIP.Text, 4, 6)) + 1

If Len(txtNIP.Text) = 1 Then
txtNIP.Text = "KP-00000" & txtNIP.Text & ""
ElseIf Len(txtNIP.Text) = 2 Then
txtNIP.Text = "KP-0000" & txtNIP.Text & ""
ElseIf Len(txtNIP.Text) = 3 Then
txtNIP.Text = "KP-000" & txtNIP.Text & ""
ElseIf Len(txtNIP.Text) = 4 Then
txtNIP.Text = "KP-00" & txtNIP.Text & ""
ElseIf Len(txtNIP.Text) = 5 Then
txtNIP.Text = "KP-0" & txtNIP.Text & ""

pg. 11
INVENTORY

ElseIf Len(txtNIP.Text) = 6 Then


txtNIP.Text = "KP-" & txtNIP.Text & ""
End If
End If
End Sub

4. Buat prosedur dengan name Bersih() untuk membersihkan isi textbox,


memanggil prosedur Kode_Otomatis(), Data_Record() dan mengembalikan
commond button ke posisi normal.

Sub Bersih()
txtNIP.Text = ""
txtNama.Text = ""
txtAlm.Text = ""
txtTlp.Text = ""

Call Kode_Otomatis()
Call Data_Record()
SimpanBtn.Enabled = True
UbahBtn.Enabled = False
HapusBtn.Enabled = False
End Sub

5. Buatlah event untuk menjalankan prosedur frmPegwai_load dengan cara


mengklik form pegawai, prosedur akan dijalankan pada saat form di load,
tujuannya adalah men-set form pada posisi atas layar dan kiri layar dan
sekaligus memanggil prosedur Bersih()

Private Sub frmPegawai_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Me.Top = 0
Me.Left = 0
Call Bersih()
End Sub

6. Buatlah event untuk menjalankan prosedur SimpanBtn_Click dengan cara


mengklik button Simpan, prosedur akan dijalankan pada saat button
simpan di klik, tujuannya adalah untuk menyimpan satu record data ke
dalam tabel TPegawai

Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles SimpanBtn.Click
Dim JenisKelamin As String
If txtNIP.Text = "" Then txtNIP.Focus() : Exit Sub
If txtNama.Text = "" Then txtNama.Focus() : Exit Sub
If txtAlm.Text = "" Then txtAlm.Focus() : Exit Sub
If txtTlp.Text = "" Then txtTlp.Focus() : Exit Sub

If rdLaki.Checked Then
JenisKelamin = "1"
Else
JenisKelamin = "2"
End If

pg. 12
INVENTORY

SQL = "Insert Into TPegawai Values ('" & txtNIP.Text & "','" &
txtNama.Text & "' ,'" & dLahir.Value & "','" & JenisKelamin & "' ,'" &
txtAlm.Text & "' ,'" & txtTlp.Text & "')"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan
Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

7. Buatlah event untuk menjalankan prosedur HapusBtn_Click dengan cara


mengklik button Hapus, prosedur akan dijalankan pada saat button hapus
di klik, tujuannya adalah untuk menghapus satu record data dalam
tabel TPegawai

Private Sub HapusBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles HapusBtn.Click
SQL = "Delete From TPegawai Where NIP = '" & txtNIP.Text & "'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data telah dihapus..!!", "Penghapusan Sukses",
MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

8. Buatlah event untuk menjalankan prosedur TutupBtn_Click dengan cara


mengklik button Tutup, prosedur ini akan dijalankan pada saat button
tutup di klik, tujuannya adalah untuk menutup form pegawai dan kembali
ke menu utama.

Private Sub TutupBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles TutupBtn.Click
Me.Close()
End Sub

9. Buatlah event untuk menjalankan prosedur BatalBtn_Click dengan cara


mengklik button Batal, prosedur ini akan dijalankan pada saat button
Batal di klik, tujuannya adalah untuk membatalkan modifikasi data dan
kursor di kembalikan ke posisi textbok NIP.

Private Sub BatalBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BatalBtn.Click
Call Bersih()
txtNIP.Focus()
End Sub

10. Buatlah event untuk menjalankan prosedur UbahBtn_Click dengan cara


mengklik button Ubah, prosedur ini akan dijalankan pada saat button
Ubah di klik, tujuannya adalah untuk menyimpan perubahan yang dilakukan
dan sekaligus menjalankan prosedur Bersih() untuk menghapus tex isi
textbox.

Private Sub UbahBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles UbahBtn.Click
Dim JenisKelamin As String
If txtNIP.Text = "" Then txtNIP.Focus() : Exit Sub

pg. 13
INVENTORY

If txtNama.Text = "" Then txtNama.Focus() : Exit Sub


If txtAlm.Text = "" Then txtAlm.Focus() : Exit Sub
If txtTlp.Text = "" Then txtTlp.Focus() : Exit Sub
If rdLaki.Checked Then
JenisKelamin = "1"
Else
JenisKelamin = "2"
End If

SQL = "Update TPegawai Set nama_pgw = '" & txtNama.Text & "',
tgl_lahir_pgw = '" & dLahir.Value & "', jk_pgw ='" & JenisKelamin & "',
alamat_pgw= '" & txtAlm.Text & "',telp_pgw='" & txtTlp.Text & "' where NIP =
'" & txtNIP.Text & "'"
Proses.ExecuteNonQuery(SQL)

MessageBox.Show("Data telah diubah..!!", "Perubahan Data Sukses",


MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

11. Buatlah event untuk menjalankan prosedur DgPegawai_CellContentClick


dengan cara mengklik datagridview , prosedur ini akan dijalankan pada
saat salah satu record di klik pada grid View, tujuannya adalah untuk
memilih record yang akan di edit.

Private Sub DgPegawai_CellContentClick(ByVal sender As System.Object,


ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
DgPegawai.CellContentClick
If e.ColumnIndex > -1 And e.RowIndex > -1 Then
'KdsuplierTxt.Text = Dgsuplier.Item(e.ColumnIndex,
e.RowIndex).Value
txtNIP.Text = DgPegawai.Item(0, e.RowIndex).Value
End If
End Sub

Private Sub DgPegawai_DoubleClick(ByVal sender As Object, ByVal e


As System.EventArgs) Handles DgPegawai.DoubleClick

With DgPegawai
txtNIP.Text = .Item(0, .CurrentRow.Index).Value
txtNama.Text = .Item(1, .CurrentRow.Index).Value
dLahir.Text = .Item(2, .CurrentRow.Index).Value
If .Item(3, .CurrentRow.Index).Value = "1" Then
rdLaki.Checked = True
Else
rdPerempuan.Checked = True
End If
txtAlm.Text = .Item(4, .CurrentRow.Index).Value
txtTlp.Text = .Item(5, .CurrentRow.Index).Value

End With
SimpanBtn.Enabled = False : UbahBtn.Enabled = True :
HapusBtn.Enabled = True
BatalBtn.Enabled = True
End Sub

pg. 14
INVENTORY

12. Buatlah event untuk menjalankan prosedur txtCariData_TextChanged


dengan cara mengklik txtCariDataTxt , prosedur ini akan dijalankan
pada saat data diisi, tujuannya adalah untuk mencari nilai yang di
cari dalam data grid View.

Private Sub txtCariData_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtCariData.TextChanged
If CariNIP.Checked = True Then
tblPegawai = Proses.ExecuteQuery("Select * From
TPegawair Where NIP Like '%" & txtCariData.Text & "%'")
If tblPegawai.Rows.Count = 0 Then
DgPegawai.DataSource = tblPegawai
txtCariData.Focus()
Else
DgPegawai.DataSource = tblPegawai
End If
ElseIf CariNmPegawai.Checked = True Then
tblPegawai = Proses.ExecuteQuery("Select * From
TPegawair Where nama_pgw Like '%" & txtCariData.Text & "%'")
If tblPegawai.Rows.Count = 0 Then
DgPegawai.DataSource = tblPegawai
txtCariData.Focus()
Else
DgPegawai.DataSource = tblPegawai
End If

End If
End Sub
13. Buatlah event untuk menjalankan prosedur CariNIP_CheckedChanged dengan
cara mengklik radio button cariNIP, tujuannya adalah untuk menempatkan
kursor pada posisi CariNIP text box dengan pilihan cari berdasarkan
piliahn NIP Pegawai.

Private Sub CariNIP_CheckedChanged(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles CariNIP.CheckedChanged
txtCariData.Focus()
End Sub

14. Buatlah event untuk menjalankan prosedur CariNmPegawai_CheckedChanged


dengan cara mengklik radio button CariNmPegawai, tujuannya adalah untuk
menempatkan kursor pada posisi txtCariNIP text box dengan pilihan cari
berdasarkan nama pegawai.

Private Sub CariNmPegawai_CheckedChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles CariNmPegawai.CheckedChanged
txtCariData.Focus()
End Sub
End Class

pg. 15
INVENTORY

4.2 Form Main Menu

Komponen Properti Nilai


form Name frmMainMenu
StartPosision CenterScreen
WindowState Maximize
text INVENTORY

MenuStrip
ToolStrip
StatusStrip

pg. 16
INVENTORY

4.3 Form Login


Form Login akan digunakan untuk user untuk mengakses aplikasi Inventori

1. Klik Kanan Project Inventory di solution Explorer


2. Klik Add dan Window form

pg. 17
INVENTORY

3. Berikan nama form dengan frmLogin

Komponen Properti Nilai


form Name frmLogin
StartPosision CenterScreen
TextBox Name txtUser
TextBox Name txtPassword
Button Name OK
Text &Ok
Button Name Cancel
Text &Cancel

Langkah-langkah pengkodingan

1. Mendefisikan variable
Dim Proses As New clsConnection
Dim tblLogin As DataTable

2. Buatlah Prosedur dengan Hapus() untuk menghapus isi textbox.

Sub Hapus()
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then ctl.Text = ""
Next
txtUser.Focus()
End Sub
End Class

pg. 18
INVENTORY

3. Buatlah event untuk menjalankan prosedur OK_Click dengan cara mengklik


button OK, prosedur ini akan dijalankan pada saat button OK di klik,
tujuannya adalah untuk mengecek otorisasi user yang mengakses.

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles OK.Click

tblLogin = Proses.ExecuteQuery("Select * From TAdmin Where


UserName = '" & txtUser.Text & "' and password ='" & txtPassword.Text &
"'")
If tblLogin.Rows.Count = 0 Then
MessageBox.Show("Login tidak berhasil..!!", "Informasi",
MessageBoxButtons.OK, MessageBoxIcon.Information)
Hapus()
Else
Dim frm As New frmMainMenu
frm.tssUser.Text = "Nama User : " & txtUser.Text
Me.Hide()
frm.Show()

End If

End Sub

4. Buatlah event untuk menjalankan prosedur Cancel_Click dengan cara


mengklik button Cancel, prosedur ini akan dijalankan pada saat button
Cancel di klik, tujuannya adalah untuk keluar dari aplikasi.

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Cancel.Click
Application.Exit()
End Sub

pg. 19
INVENTORY

4.4 Flash Form


Flash form adalah tampilan animasi yang akan di tampilkan pada saat aplikasi dibuka

Komponen Properti Nilai


form Name frmFlash
StartPosision CenterScreen
FormBorderstyle None
text Flash
Label text Welcome Inventory Application
font Microsoft Sans Serif, 14pt
PictureBox Image Masukan file image yang akan anda tampilkan
sizemode StretchImage
ProgressBar Maximum 200
Name pgbInventory
timer Interval 200
Enabled True
Name Timer1

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Timer1.Tick
Dim f_login As New frmLogin
Timer1.Enabled = True
pgbInventory.Value += 10
If pgbInventory.Value = 200 Then
Timer1.Dispose()
Me.Visible = False
f_login = New frmLogin
f_login.Show()

End If
End Sub

pg. 20
INVENTORY

4.5 Barang Form


Form barang adalah form untuk memanage atau modifikasi master barang.

Komponen Properti Nilai


form Name frmJenisBarang
StartPosision CenterScreen
Text JENIS BARANG
Label Text Kode Barang
TextBox name txtKodeBarang
enable false
Label Text Nama Barang
TextBox name txtNamaBarang
Label text Harga Beli
TextBox Name txtHrgBeli
label Text Harga Jual
Textbox Name txtHrgJual
label Text Stok
Textbox Name txtStok
Button name SimpanBtn
Text &Simpan
Button name UbahBtn
Text &Ubah
Button name BatalBtn
Text &Batal
Button Name HapusBtn
Text &Hapus
Button Name TutupBtn

pg. 21
INVENTORY

Text &Tutup
DataGridView Name dgJenisBarang

Langkah – lankah pengkodingan

1. Mendefisikan variable

Dim SQL As String


Dim Proses As New clsConnection
Dim tblJnsBrg As DataTable

2. Buatlah prosedur dengan nama Data_Record() untuk menampilkan data pada


dataGridView

Sub Data_Record()
tblJnsBrg = Proses.ExecuteQuery("Select * From Tbarang order by
id_barang asc")
DGJenisBarang.DataSource = tblJnsBrg
DGJenisBarang.Columns(1).Width = 130
End Sub

3. Buat prosedur dengan name Kode_Otomatis() untuk membuat secara otomatis


Kode barang

Sub Kode_Otomatis()
tblJnsBrg = Proses.ExecuteQuery("Select * From TBarang order by
id_barang desc")
If tblJnsBrg.Rows.Count = 0 Then
txtKodeBarang.Text = "1"
Else
With tblJnsBrg.Rows(0)
txtKodeBarang.Text = .Item("id_barang")
End With
txtKodeBarang.Text = Val(txtKodeBarang.Text) + 1
End If
End Sub

4. Buat prosedur dengan name Bersih() untuk membersihkan isi textbox,


memanggil prosedur Kode_Otomatis(), Data_Record() dan mengembalikan
commond button ke posisi normal.

Sub bersih()
Call Data_Record()
Call Kode_Otomatis()
SimpanBtn.Enabled = True
UbahBtn.Enabled = False
HapusBtn.Enabled = False
txtKodeBarang.Enabled = False
txtNamaBarang.Text = ""

pg. 22
INVENTORY

txtHrgBeli.Text = ""
txtHrgJual.Text = ""
txtStok.Text = ""
txtNamaBarang.Focus()
End Sub

5. Buatlah event untuk menjalankan prosedur frmJenisBarang_load dengan


cara mengklik form Jenis Barang, prosedur akan dijalankan pada saat
form di load, tujuannya adalah men-set form pada posisi atas layar dan
kiri layar dan sekaligus memanggil prosedur Bersih()

Private Sub frmNmBarang_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load

Me.Top = 0
Me.Left = 0
Call bersih()

End Sub

6. Buatlah event untuk menjalankan prosedur SimpanBtn_Click dengan cara


mengklik button Simpan, prosedur akan dijalankan pada saat button
simpan di klik, tujuannya adalah untuk menyimpan satu record data ke
dalam tabel TBarang

Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles SimpanBtn.Click
If txtNamaBarang.Text = "" Then txtNamaBarang.Focus() : Exit Sub
SQL = "Insert Into TBarang Values ('" & txtKodeBarang.Text &
"',"
SQL = SQL & "'" & txtNamaBarang.Text & " ','" & txtHrgBeli.Text
& "',"
SQL = SQL & "'" & txtHrgJual.Text & "','" & txtStok.Text & "')"
Proses.ExecuteNonQuery(SQL)
Call bersih()
End Sub

7. Buatlah event untuk menjalankan prosedur HapusBtn_Click dengan cara


mengklik button Hapus, prosedur akan dijalankan pada saat button hapus
di klik, tujuannya adalah untuk menghapus satu record data dalam
tabel TBarang

Private Sub HapusBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles HapusBtn.Click
SQL = "delete from Tbarang where id_barang = '" &
txtKodeBarang.Text & "'"
Proses.ExecuteNonQuery(SQL)
Call bersih()
End Sub

pg. 23
INVENTORY

8. Buatlah event untuk menjalankan prosedur TutupBtn_Click dengan cara


mengklik button Tutup, prosedur ini akan dijalankan pada saat button
tutup di klik, tujuannya adalah untuk menutup form Jenis Barang dan
kembali ke menu utama.

Private Sub TutupBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles TutupBtn.Click
Me.Close()
End Sub

9. Buatlah event untuk menjalankan prosedur BatalBtn_Click dengan cara


mengklik button Batal, prosedur ini akan dijalankan pada saat button
Batal di klik, tujuannya adalah untuk membatalkan modifikasi data dan
kursor di kembalikan ke posisi textbok kode barang.

Private Sub BatalBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BatalBtn.Click
Call Bersih()
Txtkodebarang.Focus()
End Sub

10. Buatlah event untuk menjalankan prosedur UbahBtn_Click dengan cara


mengklik button Ubah, prosedur ini akan dijalankan pada saat button
Ubah di klik, tujuannya adalah untuk menyimpan perubahan yang dilakukan
dan sekaligus menjalankan prosedur Bersih() untuk menghapus tex isi
textbox.

Private Sub UbahBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles UbahBtn.Click
If txtNamaBarang.Text = "" Then txtNamaBarang.Focus() : Exit Sub
SQL = "update TBarang set nama_barang = '" & txtNamaBarang.Text
& "',"
SQL = SQL & "hrg_beli = '" & txtHrgBeli.Text & "',"
SQL = SQL & "hrg_jual = '" & txtHrgJual.Text & "',"
SQL = SQL & "stok = '" & txtStok.Text & "'"
SQL = SQL & " where id_barang = '" & txtKodeBarang.Text & "'"
Proses.ExecuteNonQuery(SQL)
Call bersih()
End Sub

11. Buatlah event untuk menjalankan prosedur DgJenisBarang_CellContentClick


dengan cara mengklik datagridview , prosedur ini akan dijalankan pada
saat salah satu record di klik pada grid View, tujuannya adalah untuk
memilih record yang akan di edit.

Private Sub DGJenisBarang_DoubleClick(ByVal sender As Object, ByVal e As


System.EventArgs) Handles DGJenisBarang.DoubleClick
With DGJenisBarang
txtKodeBarang.Text = .Item(0, .CurrentRow.Index).Value
txtNamaBarang.Text = .Item(1, .CurrentRow.Index).Value
txtHrgBeli.Text = .Item(2, .CurrentRow.Index).Value
txtHrgJual.Text = .Item(3, .CurrentRow.Index).Value
txtStok.Text = .Item(4, .CurrentRow.Index).Value
End With
SimpanBtn.Enabled = False : UbahBtn.Enabled = True : HapusBtn.Enabled =
True
BatalBtn.Enabled = True
End Sub

pg. 24
INVENTORY

4.6 Form Supplier


Pembuatan form Pemasok
1. Klik kanan Inventory
2. Pilih Add dan kemudian Window Form

pg. 25
INVENTORY

Komponen Properti Nilai


form Name frmSupplier
StartPosision CenterScreen
Text DATA SUPPLIER
Label Text Kd Supplier
TextBox name txtkodesupplier
enable false
Label Text Nama Supplier
TextBox name txtNamaSupplier
Label Text Alamat
TextBox Name txtAlamat
Multiline True
label Text Telepon
Textbox Name txtTlp
Label Text Kontak
Textbox Name txtKontak
Button name SimpanBtn
Text &Simpan
Button name UbahBtn
Text &Ubah
Button name BatalBtn
Text &Batal
Button Name HapusBtn
Text &Hapus

pg. 26
INVENTORY

Button Name TutupBtn


Text &Tutup
Groupbox Text Cari Berdasarkan
RadioButton Name CariKodeSupplier
Text Kode Supplier
RadioButton Name CariNamaSupplier
Text Nama Supplier
RadioButton Name CariKontak
Text Kontak
Textbox Name txtCariData
DataGridView Name dgSupplier

Langkah – lankah pengkodingan

1. Mendefisikan variable

Dim SQL As String


Dim Proses As New clsConnection
Dim tblsuplier As DataTable

2. Buatlah prosedur dengan nama Data_Record() untuk menampilkan data


pada dataGridView

Sub Data_Record()
tblsuplier = Proses.ExecuteQuery("Select * From TPemasok
order by id_Pemasok asc")
DgSupplier.DataSource = tblsuplier
DgSupplier.Columns(1).Width = 150
DgSupplier.Columns(2).Width = 435
End Sub

3. Buat prosedur dengan name Kode_Otomatis() untuk membuat secara


otomatis Kode Supplier

Sub Kode_Otomatis()
tblsuplier = Proses.ExecuteQuery("Select * From TPemasok
order by id_pemasok desc")
If tblsuplier.Rows.Count = 0 Then
txtKodeSupplier.Text = "S001"
Else
With tblsuplier.Rows(0)
txtKodeSupplier.Text = .Item("id_pemasok")
End With

txtKodeSupplier.Text =
Val(Microsoft.VisualBasic.Mid(txtKodeSupplier.Text, 4, 3)) + 1

If Len(txtKodeSupplier.Text) = 1 Then
txtKodeSupplier.Text = "S00" & txtKodeSupplier.Text
& ""
ElseIf Len(txtKodeSupplier.Text) = 2 Then
txtKodeSupplier.Text = "S0" & txtKodeSupplier.Text &
""
ElseIf Len(txtKodeSupplier.Text) = 3 Then

pg. 27
INVENTORY

txtKodeSupplier.Text = "S" & txtKodeSupplier.Text &


""
End If
End If
End Sub

Buat prosedur dengan name Bersih() untuk membersihkan isi textbox,


memanggil prosedur Kode_Otomatis(), Data_Record() dan mengembalikan
commond button ke posisi normal.

Sub Bersih()
txtNIP.Text = ""
txtNama.Text = ""
txtAlm.Text = ""
txtTlp.Text = ""

Call Kode_Otomatis()
Call Data_Record()
SimpanBtn.Enabled = True
UbahBtn.Enabled = False
HapusBtn.Enabled = False
End Sub

4. Buatlah event untuk menjalankan prosedur frmSupplier_load dengan


cara mengklik form pegawai, prosedur akan dijalankan pada saat form
di load, tujuannya adalah men-set form pada posisi atas layar dan
kiri layar dan sekaligus memanggil prosedur Bersih()

Private Sub FrmSuplier_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Me.Top = 0
Me.Left = 0
Call Bersih()
End Sub

5. Buatlah event untuk menjalankan prosedur SimpanBtn_Click dengan cara


mengklik button Simpan, prosedur akan dijalankan pada saat button
simpan di klik, tujuannya adalah untuk menyimpan satu record data ke
dalam tabel TPemasok

Private Sub SimpanBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles SimpanBtn.Click
If txtKodeSupplier.Text = "" Then txtKodeSupplier.Focus() : Exit Sub
If txtNamaSupplier.Text = "" Then txtNamaSupplier.Focus() : Exit Sub
If txtAlamat.Text = "" Then txtAlamat.Focus() : Exit Sub
If txtTelp.Text = "" Then txtTelp.Focus() : Exit Sub
If txtKontak.Text = "" Then txtKontak.Focus() : Exit Sub

SQL = "Insert Into TPemasok Values ('" & txtKodeSupplier.Text &


"','" & txtNamaSupplier.Text & "' ,'" & txtAlamat.Text & "','" &
txtTelp.Text & "' ,'" & txtKontak.Text & "')"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data Baru telah disimpan..!!", "Penyimpanan
Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

pg. 28
INVENTORY

6. Buatlah event untuk menjalankan prosedur HapusBtn_Click dengan cara


mengklik button Hapus, prosedur akan dijalankan pada saat button
hapus di klik, tujuannya adalah untuk menghapus satu record data
dalam tabel TPemasok

Private Sub HapusBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles HapusBtn.Click
SQL = "Delete From TbPemasok Where Id_Pemasok = '" &
txtKodeSupplier.Text & "'"
Proses.ExecuteNonQuery(SQL)
MessageBox.Show("Data telah dihapus..!!", "Penghapusan
Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

7. Buatlah event untuk menjalankan prosedur TutupBtn_Click dengan cara


mengklik button Tutup, prosedur ini akan dijalankan pada saat button
tutup di klik, tujuannya adalah untuk menutup form Supplier dan
kembali ke menu utama.

Private Sub TutupBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles TutupBtn.Click
Me.Close()
End Sub

8. Buatlah event untuk menjalankan prosedur BatalBtn_Click dengan cara


mengklik button Batal, prosedur ini akan dijalankan pada saat button
Batal di klik, tujuannya adalah untuk membatalkan modifikasi data
dan kursor di kembalikan ke posisi textbok NIP.

Private Sub BatalBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BatalBtn.Click
Call Bersih()
txtKodeSupplier.Focus()
End Sub

9. Buatlah event untuk menjalankan prosedur UbahBtn_Click dengan cara


mengklik button Ubah, prosedur ini akan dijalankan pada saat button
Ubah di klik, tujuannya adalah untuk menyimpan perubahan yang
dilakukan dan sekaligus menjalankan prosedur Bersih() untuk
menghapus tex isi textbox.

Private Sub UbahBtn_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles UbahBtn.Click
If txtNamaSupplier.Text = "" Then txtNamaSupplier.Focus() :
Exit Sub
If txtAlamat.Text = "" Then txtAlamat.Focus() : Exit Sub
If txtTelp.Text = "" Then txtTelp.Focus() : Exit Sub
If txtKontak.Text = "" Then txtKontak.Focus() : Exit Sub

SQL = "Update TPemasok Set nama_pemasok = '" &


txtNamaSupplier.Text & "', alamat_pemasok = '" & txtAlamat.Text &
"', telp_pemasok = '" & txtTelp.Text & "',cp_pemasok ='" &

pg. 29
INVENTORY

txtKontak.Text & "' where id_pemasok = '" & txtKodeSupplier.Text &


"'"
Proses.ExecuteNonQuery(SQL)

MessageBox.Show("Data telah diubah..!!", "Perubahan Data


Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call Bersih()
End Sub

10. Buatlah event untuk menjalankan prosedur DgSupplier_DoubleClick dengan


cara mengklik datagridview , prosedur ini akan dijalankan pada saat
salah satu record di klik pada grid View, tujuannya adalah untuk
memilih record yang akan di edit.

Private Sub DgSupplier_DoubleClick(ByVal sender As Object, ByVal e As


System.EventArgs) Handles DgSupplier.DoubleClick
With DgSupplier
txtKodeSupplier.Text = .Item(0, .CurrentRow.Index).Value
txtNamaSupplier.Text = .Item(1, .CurrentRow.Index).Value
txtAlamat.Text = .Item(2, .CurrentRow.Index).Value
txtTelp.Text = .Item(3, .CurrentRow.Index).Value
txtKontak.Text = .Item(4, .CurrentRow.Index).Value

End With
SimpanBtn.Enabled = False : UbahBtn.Enabled = True :
HapusBtn.Enabled = True
BatalBtn.Enabled = True : TutupBtn.Enabled = False
End Sub

11. Buatlah event untuk menjalankan prosedur DgSupplier_CellContentClick


dengan cara mengklik datagridview , prosedur ini akan dijalankan
pada saat salah satu record di klik pada grid View, tujuannya adalah
untuk memilih record yang akan di edit.

If e.ColumnIndex > -1 And e.RowIndex > -1 Then


txtKodeSupplier.Text = DgSupplier.Item(0,
e.RowIndex).Value
End If

12. Buatlah event untuk menjalankan prosedur txtCariData_TextChanged


dengan cara mengklik txtCariDataTxt , prosedur ini akan dijalankan
pada saat data diisi, tujuannya adalah untuk mencari nilai yang di
cari dalam data grid View.

Private Sub txtCariData_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtCariData.TextChanged
If CariKodesupplier.Checked = True Then
tblsuplier = Proses.ExecuteQuery("Select * From TPemasok
Where id_pemasok Like '%" & txtCariData.Text & "%'")
If tblsuplier.Rows.Count = 0 Then
DgSupplier.DataSource = tblsuplier
txtCariData.Focus()

pg. 30
INVENTORY

Else
DgSupplier.DataSource = tblsuplier
End If
ElseIf CariNamaSupplier.Checked = True Then
tblsuplier = Proses.ExecuteQuery("Select * From TPemasok
Where nama_pemasok Like '%" & txtCariData.Text & "%'")
If tblsuplier.Rows.Count = 0 Then
DgSupplier.DataSource = tblsuplier
txtCariData.Focus()
Else
DgSupplier.DataSource = tblsuplier
End If
ElseIf Carikontak.Checked = True Then
tblsuplier = Proses.ExecuteQuery("Select * From TPemasok
Where cp_pemasok Like '%" & txtCariData.Text & "%'")
If tblsuplier.Rows.Count = 0 Then
DgSupplier.DataSource = tblsuplier
txtCariData.Focus()
Else
DgSupplier.DataSource = tblsuplier
End If
End If
End Sub

13. Buatlah event untuk menjalankan prosedur


CariKodeSupplier_CheckedChanged dengan cara mengklik radio button
cariKodeSupplier, tujuannya adalah untuk menempatkan kursor pada posisi
CariNIP text box dengan pilihan cari berdasarkan piliahn NIP Pegawai.

Private Sub CariKodeSupplier_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
CariKodeSupplier.CheckedChanged
txtCariData.Focus()
End Sub

14. Buatlah event untuk menjalankan prosedur


CariNamaSupplier_CheckedChanged dengan cara mengklik radio button
CariNamaPegawai, tujuannya adalah untuk menempatkan kursor pada posisi
txtCariNIP text box dengan pilihan cari berdasarkan nama pegawai.

Private Sub CariNamaSupplier_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
CariNamaSupplier.CheckedChanged
txtCariData.Focus()
End Sub
End Class

15. Buatlah event untuk menjalankan prosedur CariKontak_CheckedChanged


dengan cara mengklik radio button CariKontak, tujuannya adalah untuk
menempatkan kursor pada posisi txtCariNIP text box dengan pilihan cari
berdasarkan nama pegawai.

Private Sub CariKontak_CheckedChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles CariKontak.CheckedChanged
txtCariData.Focus()
End Sub
End Class

pg. 31

Anda mungkin juga menyukai