Form Login Menggunakan Combobox Dengan VB.Net dan MySQL Workbench Oleh: Hilman Habibi
Form login digunakan untuk memprotect program supaya tidak semua orang bisa melihat informasi yang ada pada program yang kita buat. Form login biasanya digunakan pada aplikasi yang bersifat sensitif, yang menyimpan data-data penting. Untuk itu dibuatlah form login ini supaya yang bisa mengaksesnya cuma orang-orang tertentu saja.
Form Login biasanya dibuat menggunakan textbox, tapi kali ini saya akan jelaskan dengan menggunakan combobox. Yang belum punya MySQL WOrkbench bisa langsung di download disini Pertama buat database dulu dengan struktur sebagai berikut:
Kedua Desain Form Login:
Properties komponen-komponen diatas sebagai berikut:
Kemudian buat form2, sebagai percobaan kalau berhasil masuk maka form2 akan kebuka. Saya buat sederhana saja, seperti berikut:
Nah sekarang kita tambah .dll SQLnya dulu, klik kanan pada nama project -> Add Reference.., atau lihat gambar berikut:
Kemudian akan kebuka seperti berikut, ikuti sesuai nomor:
Untuk yang nomor 2, cari MySql.Data.dll nya di:
32 bit OS: C:\Program Files\MySQL\MySQL Connector Net 6.9.6\Assemblies\v2.0 64 bit OS: C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.6\Assemblies\v2.0 v2.0 itu disesuaikan dengan .Net Framework yang kita gunakan pada aplikasi yang kita buat. Oke sekarang kita langsung ngoding aja. Buat 1 buah class, dan beri nama KoneksiDB. Kemudian Import dll yang kita masukkan barusan: Imports MySql.Data.MySqlClient Setelah itu masukkan kodingan dibawah: Public Class KoneksiDB 'Koneksi aplikasi ke DB Private SQLconn As New MySqlConnection("server=localhost;user id=root;password= 12345678;database=login; pooling=false;Connection Timeout=5") Private SQLcmd As MySqlCommand 'SQL Data Public SQLDA As MySqlDataAdapter Public SQLDS As DataSet 'Query Parameters Public Params As New List(Of MySqlParameter) 'Query Statistic Public RecordCount As Integer Public Exception As String Public Function Open() As MySqlConnection If SQLconn.State <> ConnectionState.Open Then SQLconn.Open() End If Return SQLconn End Function Public Function Close() As MySqlConnection SQLconn.Close() Return SQLconn End Function Public Sub ExecQuery(Query As String) Try SQLconn.Open()
'Buat SQL Command SQLcmd = New MySqlCommand(Query, SQLconn) 'Memasukkan Parameters ke SQL Command Params.ForEach(Sub(x) SQLcmd.Parameters.Add(x)) 'Hapus Daftar Parameter Params.Clear() 'Eksekusi Command & Fill Dataset SQLDS = New DataSet SQLDA = New MySqlDataAdapter(SQLcmd) RecordCount = SQLDA.Fill(SQLDS) SQLconn.Close() Catch ex As Exception Exception = ex.Message End Try If SQLconn.State = ConnectionState.Open Then SQLconn.Close() End Sub Public Sub AddParam(Name As String, Value As Object) Dim NewParam As New MySqlParameter(Name, Value) Params.Add(NewParam) End Sub End Class Kodingan diatas sudah ada penjelasannya, bisa langsung dilihat. dan perhatikan pada Private SQLconn, yang ada di dalam kurung itu sesuaikan, user id=root (root adalah username SQL), password=12345678 (12345678 adalah password dari SQL), database=login (login adalah nama database). Balik ke form1, lalu masuk ke coding mode. Import Mysql.Data.MySqlClient seperti yang tadi: Imports MySql.Data.MySqlClient Kemudian buat variabel seperti berikut: Dim SQL As New KoneksiDB Variabel diatas fungsinya untuk memanggil class yang tadi, karena KoneksiDB diatas adalah nama class yang kita buat tadi Kemudian klik ganda pada form1, dan masukkan kode berikut untuk menampilkan isi record yang ada pada database: Try
SQL.ExecQuery("SELECT username FROM user") If SQL.RecordCount > 0 Then For Each r As DataRow In SQL.SQLDS.Tables(0).Rows cboUser.Items.Add(r("username")) Next cboUser.SelectedIndex = 0 End If Catch ex As Exception MsgBox(SQL.Exception) End Try Kita taruh di form Load, supaya ketika program dijalankan, kodingan diatas langsung dieksekusi. Kemudian klik 2x pada btnMasuk, masukkan codingan berikut: Try Dim strSQL As String = "SELECT username, password FROM User WHERE username = '" & cboUser.Text & "' and password = '" & txtPass.Text & "'" Dim cmd As New MySqlCommand(strSQL, SQL.Open) Dim rdr As MySqlDataReader = cmd.ExecuteReader If rdr.Read = False Then MessageBox.Show("Password yang anda masukkan salah!", "Salah!", MessageBoxButtons.OK, MessageBoxIcon.Information) rdr.Close() Else rdr.Close() Me.Hide() Form2.Show() End If Catch ex As Exception MessageBox.Show(ex.Message) End Try Kemudian klik ganda pada btnKeluar, masukkan coding berikut: Me.Close() Ok sudah selesai, sekarang kita jalankan programnya. Hasilnya seperti berikut:
Itu semua username yang ada di database, bisa dilihat record pada databasenya diatas. Kalau login berhasil, maka akan tampil form2:
dan kalau login gagal, akan tampil pesan seperti berikut:
Oke hanya segitu saja. Walaupun sederhana, jangan pernah menganggap remeh, dibalik kesederhanaan ada kelebihan. Sekian dan Terima Kasih
Tentang Penulis
Hilman Habibi