Anda di halaman 1dari 8

Pemrograman Database dengan MySQL (2)

A. Tujuan
o Mahasiswa dapat menggunakan MySQL sebagai tools Basis Data
o Mahasiswa dapat menerapkan dan melakukan koneksi ke MySQL untuk CRUD project
kelompok
B. Perangkat Lunak
o Microsoft Visual Basic .NET
o XAMPP
o MySQL Connector.NET/MySQL Connector ODBC
C. LATIHAN “Membuat Form Master Data”
TAHAPAN:
1. Pastikan koneksi kedatabase “Sukses”:
a. Jalankan XAMPP Control Panel dan klik start tombol Apache dan MySQL.

b. Buka file project (VB.Net) kalian dan lakukan uji koneksi ke database melalui “Form
Test Koneksi ke Database”.

Page 1 of 8
 Untuk Script Program dalam Module untuk Test Koneksi adalah sbb:
Imports System.Data.Odbc
Module Module1
Public CONN As OdbcConnection
Public CMD As OdbcCommand
Public DR As OdbcDataReader
Public DA As OdbcDataAdapter
Public QUERY As String
Public DS As DataSet
Public DT As DataTable
Public str As String
Public strCari As String
Public CodeCari As Boolean
Public strMenuAkses As String
Public strUser As String

Sub KONEKSI()
Dim str As String = "Dsn=SI_Persediaan"
CONN = New OdbcConnection(str)
If CONN.State = ConnectionState.Closed Then
CONN.Open()
MsgBox("Koneksi Berhasil")
Else
MsgBox("Koneksi Gagal")
End If
End Sub
End Module

 Untuk Script Program dalam Form Test Koneksi adalah sbb:


Public Class frmTestKoneksi
Private Sub cmdTestKoneksi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdTestKoneksi.Click
Call KONEKSI()
End Sub
End Class

Note: ”Apabila tidak berhasil dalam koneksi kedatabase, perhatikan kembali materi
pertemuan minggu sebelumnya untuk tahapan membuat koneksi kedatabase”

2. Buat disain Form Master yang disesuaikan dengan Judul/Topik Project Kalian. Contoh,
Sistem Informasi Persediaan maka Form Masternya terdiri dari: frmMasterBarang,
frmMasterKaryawan, frmMasterSupplier.

Page 2 of 8
Untuk Script dalam Form Master Barang adalah sbb:
Imports System.Data.Odbc
Public Class frmMasterBarang

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


System.EventArgs) Handles btnSimpan.Click
If MsgBox("Anda yakin data sudah benar?", vbYesNo, "Konfirmasi") = vbNo Then
Exit Sub
If Len(txtKodeBarang.Text) <> 6 Then MsgBox("Jumlah karakter harus 6!",
vbExclamation, "Perhatian") : Exit Sub
Call KONEKSI()
Try
Dim str As String
CMD = New OdbcCommand("select * from master_barang where Kd_Brg='" &
txtKodeBarang.Text & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
If DR.HasRows = False Then 'Mode Tambah Data
str = "insert into master_barang values ('" & txtKodeBarang.Text &
"','" & _
txtNamaBarang.Text & "',
'" & _
txtMerk.Text & "', '" & _
txtSatuan.Text & "', '" &
_
txtHargaSatuan.Text & "',
'" & _
txtDiskon.Text & "', '" &
_
txtStok.Text & "', '" & _
txtStokMin.Text & "', '" &
_
txtStokMax.Text & "')"
DR.Close()
CMD = New OdbcCommand(str, CONN)
CMD.ExecuteNonQuery()
MsgBox("Data Berhasil Disimpan", vbInformation, "Info")
Call Bersih()
Else 'Mode Edit Data
DR.Close()

Page 3 of 8
If MsgBox("Data sudah ada sebelumnya, anda ingin mengupdate?",
vbYesNo, "Konfirmasi") = vbNo Then Exit Sub
str = "Update master_barang set Nm_Brg='" & txtNamaBarang.Text & _
"', Merk='" & txtMerk.Text & _
"', Satuan='" & txtSatuan.Text & _
"', Hrg_Satuan=" &
Val(txtHargaSatuan.Text) & _
", Diskon=" & Val(txtDiskon.Text) & _
", Stok=" & Val(txtStok.Text) & _
", Stok_Min=" & Val(txtStokMin.Text) &
_
", Stok_Max=" & Val(txtDiskon.Text) & _
" Where Kd_Brg='" & txtKodeBarang.Text
& "'"
CMD = New OdbcCommand(str, CONN)
CMD.ExecuteNonQuery()
MsgBox("Data Berhasil TerUpdate", vbInformation, "Info")
Call Bersih()
End If
Catch ex As Exception
MsgBox("Data Tidak Berhasil Disimpan", vbInformation, "Error")
End Try
End Sub

Page 4 of 8
Private Sub Bersih()
txtKodeBarang.Text = "" : txtNamaBarang.Text = "" : txtMerk.Text = "" :
txtSatuan.Text = "" : txtHargaSatuan.Text = ""
txtDiskon.Text = "" : txtStok.Text = "" : txtStokMin.Text = "" :
txtStokMax.Text = "" : txtKodeBarang.Focus()
End Sub
Public Sub Cari()
If CodeCari = False Then strCari = InputBox("Masukkan Kode Barang atau Nama
Barang!", "Cari Data")
Call koneksi()
If Val(strCari) <> 0 Or CodeCari = True Then 'Pencarian by Kode Barang
CMD = New OdbcCommand("select * from master_barang where Kd_Brg= '" &
strCari & "'", CONN)
Else 'Pencarian by Nama
CMD = New OdbcCommand("select * from master_barang where Nm_Brg like '%"
& strCari & "%'", CONN)
End If
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows = False Then
MsgBox("Data tidak ditemukan", vbInformation, "Info")
Else 'Data ditemukan
txtKodeBarang.Text = dr.Item(0)
txtNamaBarang.Text = dr.Item(1)
txtMerk.Text = dr.Item(2)
txtSatuan.Text = dr.Item(3)
txtHargaSatuan.Text = dr.Item(4)
txtDiskon.Text = dr.Item(5)
txtStok.Text = dr.Item(6)
txtStokMin.Text = dr.Item(7)
txtStokMax.Text = dr.Item(8)
End If
dr.Close() : txtKodeBarang.Focus() : strCari = "" : CodeCari = False
End Sub
Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCari.Click
Call Cari()
End Sub

Page 5 of 8
Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnHapus.Click
If Len(txtKodeBarang.Text) <> 6 Then MsgBox("Lakukan pencarian dahulu!",
vbExclamation, "Perhatian") : Exit Sub
If MsgBox("Anda yakin ingin menghapus?", vbYesNo, "Konfirmasi") = vbNo Then
Exit Sub
Call koneksi()
str = "delete from master_barang where Kd_Brg ='" & txtKodeBarang.Text & "'"
CMD = New OdbcCommand(str, CONN)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil TerHapus", vbInformation, "Info")
Call Bersih()
End Sub

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


System.EventArgs) Handles btnBatal.Click
Call Bersih()
End Sub

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


System.EventArgs) Handles btnKeluar.Click
If MsgBox("Anda yakin ingin keluar?", vbYesNo, "Konfirmasi") = vbNo Then
Exit Sub
Me.Close()
End Sub

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


System.EventArgs) Handles cmdC.Click
CodeCari = True
frmCariBarang.Show()
End Sub
End Class

Page 6 of 8
Untuk Script dalam Form Cari Data Barang adalah sbb:
Imports System.Data.Odbc
Public Class frmCariBarang
Private Sub frmCariBarang_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
cboKriteria.Items.Clear()
cboKriteria.Items.Add("Like")
cboKriteria.Items.Add("=")
cboKriteria.Items.Add(">")
cboKriteria.Items.Add("<")
cboKriteria.Items.Add(">=")
cboKriteria.Items.Add("<=")
cboKriteria.Items.Add("<>")
Call KONEKSI()
CMD = New OdbcCommand("select * from master_barang where Kd_Brg= '" &
strCari & "'", CONN)
DR = CMD.ExecuteReader
DR.Read()
For A = 0 To DR.FieldCount - 1
cboField.Items.Add(DR.GetName(A))
Next A
DR.Close()
End Sub

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


System.EventArgs) Handles cmdCari.Click
If cboField.Text = "" Or cboKriteria.Text = "" Then
str = "select * from master_barang"
ElseIf cboKriteria.Text = "Like" Then
str = "select * from master_barang where " & cboField.Text & " Like '%"
& txtCari.Text & "%'"
Else
str = "select * from master_barang where " & cboField.Text &
cboKriteria.Text & "'" & txtCari.Text & "'"
End If

Call KONEKSI()
DA = New OdbcDataAdapter(str, CONN)
DT = New DataTable
DA.Fill(DT)
gridBarang.DataSource = DT
CONN.Close()
End Sub

Page 7 of 8
Private Sub gridBarang_CellClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles gridBarang.CellClick
strCari = gridBarang.Rows(e.RowIndex).Cells(0).Value
frmMasterBarang.Cari()
Me.Close()
End Sub
End Class

Page 8 of 8

Anda mungkin juga menyukai