Untuk membuat sebuah halaman login yang sederhana tidaklah sulit. Kita hanya membutuhkan sebuah form kemudian dua buah label dan textbox serta sebuah commandbutton. Halaman login yang akan dibuat ini akan melakukan pengecekan terhadap username dan password yang dimasukkan dan membatasi user dengan hanya boleh melakukan tiga kali kesalahan saja, bila melakukan tiga kali kesalahan maka aplikasi akan langsung melakukan logoff system. Berikut ini adalah property yang diubah pada masing-masing komponen dan ini bersifat optional saja, jadi kita bisa melakukan perubahan sesuai kemauan.
Form :
(Name) : frmLogin
BorderStyle : 1-fixed single
Caption : LOGIN
Label1:
Caption :Username
Label2:
Caption :Password
TextBox1:
Name :txtName
Text :dikosongkan
TextBox2:
Name :txtpass
PasswordChar: * (asterisk)
Text :dikosongkan
CommandButtton:
Name : cmdLogin
Caption : LOGIN
Berikut adalah contoh tampilan halaman login:
Untuk kodenya sebagai berikut:
Private Sub cmdLogin_Click()
Static i As Integer
If txtNama.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
ElseIf (txtNama.Text <> "Nama") Or (txtPass.Text <> "pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
Else
MsgBox "Selamat anda berhasil melakukan login", , "Berhasi"
End If
Exit Sub
noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
Else
Return
End If
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
If Not InStr("'", Chr(KeyAscii)) = 0 Then
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
End If
End Sub
Private Sub txtPass_KeyPress(KeyAscii As Integer)
If Not InStr("'", Chr(KeyAscii)) = 0 Then
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
End If
End Sub
Penjelasan:
Pada awal event command click kita perlu melakukan pendeklarasian variable “i” yang akan kita gunakan sebagai counter kesalahan yang sudah dilakukan. Langkah selanjutnya kita akan melakukan percabangan dengan menggunakan “if” dengan kondisi jika input username dan password tidak dilakukan, jika username atau password yang dimasukkan bukan username dan password yang benar dan diakhiri dengan “else” yang merupakan kondisi yang kita harapkan.
Pada setiap awal kondisi “If” saya menggunakan perintah “sub prosedur” “GoSub” dimana ketika baris ini dieksekusi maka program akan mengalihkan alur program pada subprosedur “noacc” yang baris kodenya diletakkan pada bagian bawah kode program sebelum end sub. Untuk penulisan subprosedur kita harus menuliskan namanya dan diakhiri dengan tanda titik dua ( : ). Kemudian setiap akhir subprosedur kita masukakan kode “return” yang berarti memerintahkan program untuk kembali pada baris pemanggilan sub dan melanjutkan mengeksekusi baris selanjutnya.
Sebenarnya kita bisa saja tidak menggunakan subprosedur, namun akan menghasilkan kode program yang lebih banyak, contoh bila kita tidak menggunakan sub:
If txtNama.Text = "" Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
ElseIf txtPass.Text = "" Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
ElseIf (txtNama.Text <> "Nama") Or (txtPass.Text <> "pass") Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
Else
MsgBox "Selamat anda berhasil melakukan login", , "Berhasil"
End If
Bisa kita bandingkan dengan kode program sebelumnya, lebih panjang dan lebih ribet bukan.
Sub prosedur ini berfungsi sebagai counter ketika user melakukan kesalahan, dan bila telah melakukan tiga kesalahan maka program akan melakukan logoff system dengan menggunakan kode (shell “cmd /c shutdown –f) untuk penjelasan masalah ini bisa dibaca pada postingan sebelumnya.
Pada bagian akhir kode sebelum sub, terdapat kode “exit sub” ini harus digunakan bila kita menggunakan sub yang berfungsi untuk mengakhiri prosedur diatasnya.
18 April 2010
Subscribe to:
Post Comments (Atom)
13 comments:
Tips a Ok ni..
yuk ach berbagi.. aqu dah follow blog km
follow back ya ?? makasih.
gimana si..code pemanggilan sebuah gambar...contoh: kita mengklik nama sebuah mobil..stlah itu gambar mobilnya langsung muncul...
mohon bantuanya ya mas...pliz
bagus nih blog
lanjutkan gan..
kayanya tu di atas ada yang salah
ane bantu ralat
GoSub noacc di dalam rangkaian if
pindahin jadi setelah setfokus di bawahnya.
boleh aja dipindah dibawah setfocus, tergantung pengennya gmn. thanks ya.
gmn buat pemecahan masalah tentang membuat bilangan terurut dari kecil ke besar. kemudian berapa rata-rata, median, modus dari bilangan tersebut?
hmmm..ini ni blog yang aku cari2. blog yang bisa ngupas soal VB.. soalnya aku pengen banget bisa pemrograman VB tp waktunya gk memungkinkan buat belajar secara formal...
aduh akhirnya ketemu juga .....! ngebahas vb rumit bgt cih....!lagi belajar vb nih .....! rekan2 yang udah pinter sharing ilmunya ke aq ya....
download project di kasih donk....
terima kasih usulannya, akan saya coba.
woi gimana sih?
Tolong pos dong kode untuk buat kode program login.
yang maslahnya jka maskkan kode 3 x salah program langsung end.
sangat membantu,, mksih y suhu.. :)
tips yang satu ini ok pxa'...
pi BSA G' KRIMin sya modul yang lengkap drimmbuar fassword mpey ke database.......
terimakasih
Ouii terus username and pass ya apa?
Post a Comment