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 Menggunakan Combobox Dengan VB.Net dan MySQL Workbench

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


About Author

Hilman Habibi


Comment & Discussions

    Please LOGIN before if you want to give the comment.