Cara Membuat Form Login pada Visual Basic 6.0 Database MySQL
Rabu, 03 April 2013
Visual Basic
Cara Membuat Form Login pada Visual Basic 6.0 Database MySQL
Cara Membuat Form Login pada Visual Basic 6.0 Database MySQL - Membuat Form login pada program visual basic 6.0 dengan database MySQL biasanya dilakukan untuk menyeleksi dan membuat otentikasi terhadap user. Biasanya otentikasi terdiri dari admin dan user. Berikut penulis coba paparkan sintaks atau listing program form login pada visual basic dengan database MySQL.
Logika jalannya form login dibawah ini adalah jika user name dan password sesuai dengan data yang ada pada database, maka akan tampil message box "berhasil", jika sebaliknya maka tampil message box "gagal login".
Form login yang akan dibuat mempunyai fasilitas otentikasi berganda, jika username/kode user salah sampai tiga kali maka form akan tertutup secara otomatis dan harus dibuka ulang, jika benar maka kursor akan langsung diarahkan ke textboxpassword yang juga jika salah 3 kali mengetikan password, maka akan tertutup otomatis.
Logika ini silahkan dirubah jika dikombinasikan dengan form yang lain, agar lebih sesuai dengan form form yang lainnya.
Silahkan design tampilan sepert berikut :
form, label, textbox dan command button
Asumsi :
textbox username dengan name = "user"
textbox password dengan name="pass"
command button tutup dengan name="tutup"
command button bersih dengan name="bersih"
berikut listing yang bisa rekan rekan pelajari :
Dim a As Byte
Dim b As Byte
Private Sub Bersih_Click()
If user.Enabled = True Then
user = ""
user.SetFocus
Else
pass = ""
pass.SetFocus
End If
End Sub
Private Sub Form_Load()
koneksi
pass.Enabled = False
End Sub
Private Sub pass_Change()
pass.PasswordChar = "*"
End Sub
Private Sub pass_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Set rslogin = conn.Execute("select*from login where kodeuser='" + user.Text + "' and password='" + pass.Text + "'")
With rslogin
If .EOF Then
b = b + 1
If 1 - b = 0 Then
MsgBox "Kesempatan Pertama Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal"
pass.Text = ""
pass.SetFocus
ElseIf 2 - b = 0 Then
MsgBox "Kesempatan Kedua Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal"
pass.Text = ""
pass.SetFocus
Else
MsgBox "Kesempatan Terakhir Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal" & Chr(13) & ""
Unload Me
End If
Else
login.Hide
MsgBox "selamat datang " + .Fields(1) + "", vbInformation, "toko herbal"
End If
End With
End If
End Sub
Private Sub tutup_Click()
End
End Sub
Private Sub user_Change()
user.MaxLength = 3
End Sub
Private Sub user_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
Set rslogin = conn.Execute("select*from login where kodeuser='" + user.Text + "'")
With rslogin
If .EOF Then
a = a + 1
If 1 - a = 0 Then
MsgBox "Kesempatan Pertama Salah" & Chr(13) & " Username '" & user & "' tidak dikenal"
user.Text = ""
user.SetFocus
ElseIf 2 - a = 0 Then
MsgBox "Kesempatan Kedua Salah" & Chr(13) & " Username '" & user & "' tidak dikenal"
user.Text = ""
user.SetFocus
Else
MsgBox "Kesempatan Terakhir Salah" & Chr(13) & " Username '" & user & "' tidak dikenal" & Chr(13) & ""
Unload Me
End If
Else
user.Enabled = False
pass.Enabled = True
pass.SetFocus
End If
End With
End If
End Sub
Dim b As Byte
Private Sub Bersih_Click()
If user.Enabled = True Then
user = ""
user.SetFocus
Else
pass = ""
pass.SetFocus
End If
End Sub
Private Sub Form_Load()
koneksi
pass.Enabled = False
End Sub
Private Sub pass_Change()
pass.PasswordChar = "*"
End Sub
Private Sub pass_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Set rslogin = conn.Execute("select*from login where kodeuser='" + user.Text + "' and password='" + pass.Text + "'")
With rslogin
If .EOF Then
b = b + 1
If 1 - b = 0 Then
MsgBox "Kesempatan Pertama Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal"
pass.Text = ""
pass.SetFocus
ElseIf 2 - b = 0 Then
MsgBox "Kesempatan Kedua Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal"
pass.Text = ""
pass.SetFocus
Else
MsgBox "Kesempatan Terakhir Salah" & Chr(13) & " Password '" & pass & "' tidak dikenal" & Chr(13) & ""
Unload Me
End If
Else
login.Hide
MsgBox "selamat datang " + .Fields(1) + "", vbInformation, "toko herbal"
End If
End With
End If
End Sub
Private Sub tutup_Click()
End
End Sub
Private Sub user_Change()
user.MaxLength = 3
End Sub
Private Sub user_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
Set rslogin = conn.Execute("select*from login where kodeuser='" + user.Text + "'")
With rslogin
If .EOF Then
a = a + 1
If 1 - a = 0 Then
MsgBox "Kesempatan Pertama Salah" & Chr(13) & " Username '" & user & "' tidak dikenal"
user.Text = ""
user.SetFocus
ElseIf 2 - a = 0 Then
MsgBox "Kesempatan Kedua Salah" & Chr(13) & " Username '" & user & "' tidak dikenal"
user.Text = ""
user.SetFocus
Else
MsgBox "Kesempatan Terakhir Salah" & Chr(13) & " Username '" & user & "' tidak dikenal" & Chr(13) & ""
Unload Me
End If
Else
user.Enabled = False
pass.Enabled = True
pass.SetFocus
End If
End With
End If
End Sub
Asumsi tambahan :
- koneksi ke database dibantu dengan module dengan public koneksi "koneksi" dan dengan recordset "rslogin"
- Tabel login berisi field kodeuser (primary key), namauser, password dan level
- Jika ada asumsi dan prosedur yang masih kurang jelas, silahkan berkomentar, karena blog masih terupdate dan dikelola dengan baik.. :)
- perhatikan penulisan antara kutip satu dan kutip duan ' dan "
- jika pada proses pengetikan listing ada error program berwarna merah.asumsi kesalahan karena penulisan program selesai tetapi sudah dienter.. karena tampilan halaman kurang luas, maka ada beberap lisiting diatas yang terlihat seperti di enter ke bawah,perhatikan...!
- penggunaan tabulasi dalam penulisan kondisi ( if,nested if) sengaja menggunakan tabulasi agar tidak rancu
saya baru belajar vb nih mas. bisa minta contoh listing untuk modul nya nggak? sekalian penjelasan kalo bisa. terima kasih sebelumnya.
BalasHapuskalo tidak keberatan, bisa dikirim ke email saya mas. ai.hhhery@gmail.com
nanti saya coba posting untuk modulenya. :-)
Hapusmantaaapp...
BalasHapusPertamax...!!!
BalasHapusthanks
Hapusmaaf bang saya ada eror
BalasHapuserror nya seperti apa? :-?
Hapusartikelnya sangant membantu mas, saya bookmark blognya :) , tapi saya ada debug di http://prntscr.com/959dp6 . mohon dibantu mas kalo ga keberatan
BalasHapusErrornya seperti apa? :)
HapusWarning error nya ditulis aja.. ⚠ ⚠
Hapusudah fix makasih, tadinya blum di deklarasiin conn nya :)
Hapuscara menampilkan nama user di form hasil login bagaimana
BalasHapus