VB.NET: Proses Login dengan Database MySQL - Part 1


Klo orang bilang cewe itu seringkali terpengaruh dengan mood, Rani gak akan bilang itu salah. Karena kali ini Rani lagi mood nya buat bikin contoh form login sederhana dengan menggunakan VB.NET dan MySQL (blom include enkripsi yah, yang lagi perlu contoh enkripsi ada di sini yah!)

Baiklah mari kita mulai, pertama-tama untuk urusan UI kita pake template aja yah. Caranya klik menu Project --> Add Windows Form...

Kemudian pilih Login Form dan klik tombol Add.

Dan login form dari template pun terbentuk.

Begitu pula code di belakangnya, terdapat code yang di generate secara otomatis.

Ini adalah bentuk tabel user yang akan kita gunakan.

Mari singkirkan code yang tidak kita pakai dari template hehe....
Rani anggap reader udah ngerti gimana mengkoneksikan dan mengolah data dengan VB.NET dan MySQL yah. Klo belum bisa baca tutorial nya disini.
Karena kita akan menggunakan database MySQL jangan lupa import MySql.Data.MySqlClient nya.
Imports MySql.Data.MySqlClient

Lalu kita akan mendeklarasikan sebuah variable integer bernama iFail untuk menghitung berapa kali kesalahan login
Public Class LoginForm1
 

    Dim iFail As Integer

End Class

Lalu si variable iFail ini diberi nilai initial = 0 pada event form_load.
Private Sub LoginForm1_Load(ByVal sender As Object, _
     ByVal e As System.EventArgs) Handles Me.Load
     iFail = 0
End Sub


Buat ngecek apa login nya bener ato salah, kita bikin fungsi tersendiri bernama CheckLogin yang akan mengembalikan nilai integer. Nilai 1 jika benar dan 0 jika salah.
Function CheckLogin(ByVal UserName As String, _
    ByVal Password As String) As Integer

   
Dim conn As MySqlConnection
   
Dim cmd As New MySqlCommand
   
Dim objValue As Object

    conn =
New MySqlConnection()
    conn.ConnectionString = "server=localhost;user id=root;" & _
                                "password=;database=latihan"
    Try
        conn.Open()
        cmd.Connection = conn
        cmd.CommandText = "SELECT COUNT(username) AS getin " & _
                          "FROM tbluser WHERE username = " & _
                          "'" & UserName & "' AND " & _
                          "password = '" & Password & "'"

        objValue = cmd.ExecuteScalar()
        conn.Close()
        If objValue Is Nothing Then
            Return 0
        Else
            Return
objValue.ToString
        End If
    Catch
myerror As MySqlException
        MessageBox.Show("Error: " & myerror.Message)
    Finally
        conn.Dispose()
    End Try
    Return
0
End Function

 
Proses login dimulai dengan mengisi username dan password kemudian klik tombol OK. Dan berikut ini code yang berada pada event OK_Click.
Private Sub OK_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles OK.Click
    Dim strUserName As String = UsernameTextBox.Text
   
Dim strPassword As String = PasswordTextBox.Text

    If strUserName = String.Empty Then _
       MsgBox("Username belum diisi!") : Exit Sub
   
If strPassword = String.Empty Then _
       MsgBox("Password belum diisi!") : Exit Sub

    Try
        If
CheckLogin(strUserName, strPassword) > 0 Then
            MsgBox("Welcome " & strUserName & "!")
            'tulis code lainnya setelah login disini
            Me.Close()
        Else
            iFail = iFail + 1
            If iFail >= 3 Then
                MsgBox("Gagal login 3 kali." & vbCrLf & _
                       "Aplikasi akan ditutup.")

                End
            End If
            MsgBox("Username/password Salah." & vbCrLf & _
                   "Silahkan cek lagi!")
        End If
    Catch
ex As Exception
        MsgBox("Error Login: " & ex.Message)
    End Try
End Sub


Terakhir tombol Cancel digunakan sebagai pelengkap jika kita batal melakukan proses login. Dalam event Cancel_Click kita akan menyisipkan code untuk menutup form login.
Private Sub Cancel_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Cancel.Click

    Me.Close()

End Sub

Kode lengkap dan bagaimana proses login berjalan ada di Part 2 yah.

Tonton juga videonya yah!




Post a Comment

3 Comments

Unknown said…
buk boleh nanyak lagi buk ,, hehehe

cara membuat pesan msgbox error jika hasil query sql gagal

ini skrip query saya :

str = "Update tbllogin set username='" & txtusername.text & "'," _
& "password = '" & txtpass.text & "'," _
where [id]='" & id & "' AND level= '" & cbo_id.Text & "'"

jika hasil querynya benar dia muncul pesan msgbox berhasil,,
namun jika hasil querynya salah dia muncul pesan error

#terimakasih buk :)
rani said…
itu pake try catch, klo ga salah di pertanyaan sebelum nya ada contoh nanya code yang sample nya udah dikasih try catch ya?
Try
'tulis code n ya disini
MsgBox("Update Berhasil")
Catch ex As Exception
MsgBox("Error Update: " & ex.Message)
End Try
Unknown said…
uda dicoba buk, tapi tetap membaca update berhasil di msgboxnya, tapi datanya bner gak berubah ,,

misalnya gini buk

where [id]='" & id & "' AND level= '" & cbo_id.Text & "'"

data bisa dirubah ketika id dan levelnya sama ,,
muncul pesan berhasil

namun ketika id dan level tidak sama
maka muncul pesan tidak berhasil ,,