Anda di halaman 1dari 9

Pemrograman Database dengan MySQL (3)

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

2. Buat disain Form Login.

Untuk Script dalam Form Login adalah sbb:

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

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


System.Windows.Forms.KeyPressEventArgs) Handles txtPassword.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
Call Login()
End If

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

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


System.EventArgs) Handles cmdExit.Click
Me.Close()
End Sub
End Class

Page 2 of 9
3. Buat disain Form Hak Akses.

Untuk Script dalam Form Hak Akses adalah sbb:

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

If Strings.Mid(dr.Item("MenuAkses"), 6, 1) = "1" Then


chkFileTransaksi.Checked = True Else chkFileTransaksi.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 7, 1) = "1" Then
chkTransaksiPermintaanMaterial.Checked = True Else
chkTransaksiPermintaanMaterial.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 8, 1) = "1" Then
chkTransaksiPermintaanPembelian.Checked = True Else
chkTransaksiPermintaanPembelian.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 9, 1) = "1" Then
chkTransaksiPenawaranHargaSupplier.Checked = True Else
chkTransaksiPenawaranHargaSupplier.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 10, 1) = "1" Then
chkTransaksiPembelian.Checked = True Else chkTransaksiPembelian.Checked =
False

If Strings.Mid(DR.Item("MenuAkses"), 11, 1) = "1" Then


chkFileLaporan.Checked = True Else chkFileLaporan.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 12, 1) = "1" Then
chkLapStokBarang.Checked = True Else chkLapStokBarang.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 13, 1) = "1" Then
chkLapDataKaryawan.Checked = True Else chkLapDataKaryawan.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 14, 1) = "1" Then
chkLapDataSupplier.Checked = True Else chkLapDataSupplier.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 15, 1) = "1" Then
chkLapPermintaanMaterial.Checked = True Else
chkLapPermintaanMaterial.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 16, 1) = "1" Then
chkLapPermintaanPembelian.Checked = True Else
chkLapPermintaanPembelian.Checked = False
If Strings.Mid(DR.Item("MenuAkses"), 17, 1) = "1" Then
chkLapPembelian.Checked = True Else chkLapPembelian.Checked = False
End If
dr.Close() : txtUser.Focus() ': strCari = "" : CodeCari = False
End Sub
Private Sub Bersih()
txtUser.Text = "" : txtPassword.Text = ""
chkFileMaster.Checked = False
chkMasterBarang.Checked = False
chkMasterKaryawan.Checked = False
chkMasterSupplier.Checked = False
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

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


System.EventArgs) Handles btnCari.Click
Call Cari()
End Sub

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


System.EventArgs) Handles btnHapus.Click
If txtUser.Text = "" 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 login where User ='" & txtUser.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
End Class

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:

Public Class frmMenu


Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
Status3.Text = Format(Now, "dd MMM yyyy | HH:mm:ss")
End Sub

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


System.EventArgs) Handles Timer2.Tick
If Status2.Text = "Sistem Informasi Persediaan" Then
Status2.Text = ""
Else
Status2.Text = "Sistem Informasi Persediaan"
End If
End Sub

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


System.EventArgs) Handles mnuExit.Click
If MsgBox("Anda yakin ingin keluar dari Aplikasi ini?", vbYesNo,
"Konfirmasi") = vbNo Then Exit Sub
End
End Sub

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


System.EventArgs) Handles MyBase.Load

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

If Strings.Mid(strMenuAkses, 6, 1) = "1" Then


mnuFileTransaksi.Visible = True Else mnuFileTransaksi.Visible = False
If Strings.Mid(strMenuAkses, 7, 1) = "1" Then
mnuTransaksiPermintaanMaterial.Visible = True Else
mnuTransaksiPermintaanMaterial.Visible = False
If Strings.Mid(strMenuAkses, 8, 1) = "1" Then
mnuTransaksiPermintaanPembelian.Visible = True Else
mnuTransaksiPermintaanPembelian.Visible = False
If Strings.Mid(strMenuAkses, 9, 1) = "1" Then
mnuTransaksiPenawaranHargaSupplier.Visible = True Else
mnuTransaksiPenawaranHargaSupplier.Visible = False
If Strings.Mid(strMenuAkses, 10, 1) = "1" Then
mnuTransaksiPembelian.Visible = True Else mnuTransaksiPembelian.Visible =
False

If Strings.Mid(strMenuAkses, 11, 1) = "1" Then


mnuFileLaporan.Visible = True Else mnuFileLaporan.Visible = False
If Strings.Mid(strMenuAkses, 12, 1) = "1" Then
mnuLapStokBarang.Visible = True Else mnuLapStokBarang.Visible = False
If Strings.Mid(strMenuAkses, 13, 1) = "1" Then
mnuLapDataKaryawan.Visible = True Else mnuLapDataKaryawan.Visible = False
If Strings.Mid(strMenuAkses, 14, 1) = "1" Then
mnuLapDataSupplier.Visible = True Else mnuLapDataSupplier.Visible = False

If Strings.Mid(strMenuAkses, 15, 1) = "1" Then


mnuLapPermintaanMaterial.Visible = True Else
mnuLapPermintaanMaterial.Visible = False
If Strings.Mid(strMenuAkses, 16, 1) = "1" Then
mnuLapPermintaanPembelian.Visible = True Else
mnuLapPermintaanPembelian.Visible = False
If Strings.Mid(strMenuAkses, 17, 1) = "1" Then
mnuLapPembelian.Visible = True Else mnuLapPembelian.Visible = False

Status1.Text = Status1.Text & Space(1) & strUser


Timer1.Interval = 1000
Timer2.Interval = 1000
End Sub

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


System.EventArgs) Handles mnuLogOut.Click
Me.Close()
frmLogin.Show()
frmLogin.txtUserName.Focus()
End Sub

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


System.EventArgs) Handles mnuHakAkses.Click
frmHakAkses.Show()
frmHakAkses.StartPosition = FormStartPosition.CenterScreen

Page 8 of 9
frmHakAkses.MdiParent = Me
End Sub

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


e As System.EventArgs) Handles mnuMasterBarang.Click
frmMasterBarang.Show()
frmMasterBarang.StartPosition = FormStartPosition.CenterScreen
frmMasterBarang.MdiParent = Me
End Sub

Private Sub mnuTransaksiPermintaanMaterial_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
mnuTransaksiPermintaanMaterial.Click
frmPermintaanMaterial.Show()
frmPermintaanMaterial.StartPosition =
FormStartPosition.CenterScreen
frmPermintaanMaterial.MdiParent = Me
End Sub

Private Sub mnuMasterKaryawan_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles mnuMasterKaryawan.Click
frmMasterKaryawan.Show()
frmMasterKaryawan.StartPosition = FormStartPosition.CenterScreen
frmMasterKaryawan.MdiParent = Me
End Sub

Private Sub mnuMasterSupplier_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles mnuMasterSupplier.Click
frmMasterSupplier.Show()
frmMasterSupplier.StartPosition = FormStartPosition.CenterScreen
frmMasterSupplier.MdiParent = Me
End Sub
End Class

Page 9 of 9

Anda mungkin juga menyukai