A. Tujuan
o Mahasiswa dapat menggunakan MySQL sebagai tools Basis Data
o Mahasiswa dapat menerapkan dan melakukan koneksi ke MySQL untuk CRUD project
kelompok
o Mahasiswa dapat menerapkan pembuatan menu utama, keamanan aplikasi melalui Login
Form dan pemberian Hak Akses
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. Jalankan XAMPP Control Panel dan klik start tombol Apache dan MySQL
Imports System.Data.Odbc
Public Class frmLogin
Private Sub Login()
Call koneksi()
Page 1 of 9
CMD = New OdbcCommand("select * from login where User='" &
txtUserName.Text & _
"' and Password='" & txtPassword.Text & "'",
CONN)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows = False Then
MsgBox("User Name and Password Salah", vbInformation, "Info")
Else 'Data ditemukan
strUser = dr.Item("user")
strMenuAkses = dr.Item("MenuAkses")
txtUserName.Text = "" : txtPassword.Text = ""
frmMenu.Show()
Me.Hide()
End If
dr.Close()
End Sub
Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdLogin.Click
Call Login()
End Sub
End Sub
Private Sub txtUserName_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtUserName.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
Call Login()
End If
End Sub
Page 2 of 9
3. Buat disain Form Hak Akses.
Imports System.Data.Odbc
Public Class frmHakAkses
Dim strCodeAkses As String
Private Sub PilihanMenuAkses()
If chkFileMaster.Checked = True Then strCodeAkses = 1 Else
strCodeAkses = 0
If chkMasterBarang.Checked = True Then strCodeAkses = strCodeAkses
& 1 Else strCodeAkses = strCodeAkses & 0
If chkMasterKaryawan.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkMasterSupplier.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkHakAkses.Checked = True Then strCodeAkses = strCodeAkses & 1
Else strCodeAkses = strCodeAkses & 0
If chkFileTransaksi.Checked = True Then strCodeAkses = strCodeAkses
& 1 Else strCodeAkses = strCodeAkses & 0
If chkTransaksiPermintaanMaterial.Checked = True Then strCodeAkses
= strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkTransaksiPermintaanPembelian.Checked = True Then strCodeAkses
= strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkTransaksiPenawaranHargaSupplier.Checked = True Then
strCodeAkses = strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkTransaksiPembelian.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkFileLaporan.Checked = True Then strCodeAkses = strCodeAkses &
1 Else strCodeAkses = strCodeAkses & 0
If chkLapStokBarang.Checked = True Then strCodeAkses = strCodeAkses
& 1 Else strCodeAkses = strCodeAkses & 0
If chkLapDataKaryawan.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkLapDataSupplier.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
Page 3 of 9
If chkLapPermintaanMaterial.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkLapPermintaanPembelian.Checked = True Then strCodeAkses =
strCodeAkses & 1 Else strCodeAkses = strCodeAkses & 0
If chkLapPembelian.Checked = True Then strCodeAkses = strCodeAkses
& 1 Else strCodeAkses = strCodeAkses & 0
End Sub
Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdSimpan.Click
If MsgBox("Anda yakin data sudah benar?", vbYesNo, "Konfirmasi") =
vbNo Then Exit Sub
Call koneksi()
Try
Dim str As String
CMD = New OdbcCommand("select * from login where user='" &
txtUser.Text & "'", CONN)
dr = cmd.ExecuteReader
dr.Read()
Call PilihanMenuAkses()
If dr.HasRows = False Then 'Mode Tambah Data
str = "insert into login values ('" & txtUser.Text & "','"
& _
txtPassword.Text &
"','" & strCodeAkses & "')"
dr.Close()
CMD = New OdbcCommand(str, CONN)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil Disimpan", vbInformation, "Info")
Call Bersih()
Else 'Mode Edit Data
dr.Close()
If MsgBox("Data sudah ada sebelumnya, anda ingin
mengupdate?", vbYesNo, "Konfirmasi") = vbNo Then Exit Sub
str = "Update login set password='" & txtPassword.Text & _
"', MenuAkses='" & strCodeAkses & "'
Where user='" & txtUser.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
Private Sub Cari()
If CodeCari = False Then strCari = InputBox("Masukkan User Name!",
"Cari Data")
Call koneksi()
CMD = New OdbcCommand("select * from login where User like '%" &
strCari & "%'", CONN)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows = False Then
MsgBox("Data tidak ditemukan", vbInformation, "Info")
Else 'Data ditemukan
txtUser.Text = dr.Item(0)
txtPassword.Text = dr.Item("Password")
Page 4 of 9
If Strings.Left(dr.Item("MenuAkses"), 1) = "1" Then
chkFileMaster.Checked = True Else chkFileMaster.Checked = False
If Strings.Mid(dr.Item("MenuAkses"), 2, 1) = "1" Then
chkMasterBarang.Checked = True Else chkMasterBarang.Checked = False
If Strings.Mid(dr.Item("MenuAkses"), 3, 1) = "1" Then
chkMasterKaryawan.Checked = True Else chkMasterKaryawan.Checked = False
If Strings.Mid(dr.Item("MenuAkses"), 4, 1) = "1" Then
chkMasterSupplier.Checked = True Else chkMasterSupplier.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 5, 1) = "1" Then
chkHakAkses.Checked = True Else chkHakAkses.Checked = False
chkFileTransaksi.Checked = False
chkTransaksiPermintaanMaterial.Checked = False
chkTransaksiPermintaanPembelian.Checked = False
chkTransaksiPenawaranHargaSupplier.Checked = False
chkTransaksiPembelian.Checked = False
chkFileLaporan.Checked = False
chkLapStokBarang.Checked = False
Page 5 of 9
chkLapDataKaryawan.Checked = False
chkLapDataSupplier.Checked = False
chkLapPermintaanMaterial.Checked = False
chkLapPermintaanPembelian.Checked = False
chkLapPembelian.Checked = False
txtUser.Focus()
End Sub
4. Buat disain Menu Utama dengan Menu Strip, Status Strip, Timer1 dan Timer2.
Page 6 of 9
Untuk Script dalam Form Menu Utama adalah sbb:
Page 7 of 9
If Strings.Mid(strMenuAkses, 1, 1) = "1" Then mnuFileMaster.Visible
= True Else mnuFileMaster.Visible = False
If Strings.Mid(strMenuAkses, 2, 1) = "1" Then
mnuMasterBarang.Visible = True Else mnuMasterBarang.Visible = False
If Strings.Mid(strMenuAkses, 3, 1) = "1" Then
mnuMasterKaryawan.Visible = True Else mnuMasterKaryawan.Visible = False
If Strings.Mid(strMenuAkses, 4, 1) = "1" Then
mnuMasterSupplier.Visible = True Else mnuMasterSupplier.Visible = False
If Strings.Mid(strMenuAkses, 5, 1) = "1" Then mnuHakAkses.Visible =
True Else mnuHakAkses.Visible = False
Page 8 of 9
frmHakAkses.MdiParent = Me
End Sub
Page 9 of 9