10.3 Algoritma Validasi User

Validasi Login

Untuk memvalidasi username dan password dalam sebuah form login, kita harus mengetahui perilaku komputer untuk melakukan pencocokan.  Validasi yang baik, menggunakan nested if, dengan validasi satu persatu terpisah dengan passwordnya, mengapa harus terpisah? saya akan jelaskan pada pertemuan kali ini. Perhatikan Kode 1, dan Kode 2 dari Kode Program dibawah ini:

Kode Program:

 //KODE 1
if (txtuname.Text == uname){
if (txtpass.Text == passwd){
//Jika benar cetak disini
}else{
//Jika password salah tulis disini
}
}else{
//Jika username salah ketik disini
}

Pada kode 1, bisa digunakan sebagai validasi form login, memang terlihat sulit ditulis karena banyak sekali kode yang harus ditulis.  Namun algoritma untuk kode 1 sangat cepat untuk di proses dan tidak membebani komputer. Mengapa? sebelum saya menjawab mengapa lebih cepat, saya perlihatkan kode 2 terlebih dahulu.

Kode Program:

  //KODE 2
if ((txtuname.Text == uname) && (txtpass.Text == passwd)){

}else{
//Jika username & Password salah ketik disini
}

Pada kode 2, sangat praktis dalam menulis program. Tapi banyak yang diproses oleh komputer, jadi jangan membuat validasi praktis seperti kode 2.

Saya akan menjelaskan mengapa kode 1 lebih baik jika digunakan.  Pada kode 1, validasi dilakukan mengecek username terlebih dahulu, apabila username ditemukan, maka dia akan mengecek passwordnya.
1. Cek Username
2. Apabila ada Cek Password.
3. Apabila username tidak ada, maka tidak perlu check password, hanya satu proses.

Bayangkan jika kita memiliki 100.000 user, dengan username dan password masing-masing.  maka dengan menggunakan algoritma validasi pada Kode 1, Kita akan melakukan looping 100.000 kali, dan mencocokan dengan username sebanyak:
a. Apabila username tidak ada, berarti looping 100.000x dan mencocokan 100.000 kali.
b. Apabila username ketemu di data yang ke 99.000, maka mencocokan sebanyak 99.000 dan +1 password.
Sehingga komputer hanya mencocokan sebanyak 99.001x pencocokan username dan password.

Sedangkan pada kode 2, algoritma validasi berlaku seperti ini:
1. Cek Username,
2. Cek Password,
3. Apabila username tidak ketemu, password tetap di cocokan.

Bayangkan jika kita memiliki 100.000 user, dengan username dan password masing-masing.  maka dengan menggunakan algoritma validasi pada Kode 2, kita akan melakukan looping 100.000 kali, dan mencocokan dengan username sebanyak:
a. Apabila username tidak ada, berarti looping 100.000x dan mencocokan 100.000 kali untuk username, dan 100.000 kali untuk password.
b. Apabila username ketemu di data yang ke 99.000, maka mencocokan sebanyak 99.000x untuk username dan 99.000x untuk password.

Coba anda bayangkan, berapa banyak proses yang tidak perlu, dilakukan dengan sia-sia hanya dengan menggunakan program yang praktis/singkat?  Dari penjelsan ini, anda pasti mengerti mana yang baik untuk digunakan dan mana yang tidak.

Leave a Reply