Media player

videokeman mp3
Avenged Sevenfold - Afterlife

February 26, 2013

Validasi kombinasi angka dan huruf dalam inputan

Posing kali ini sekaligus menanggapi soal tes tengah semester mata kuliah Object Oriented Programming yang diadakan pada tanggal 26 Feb 2013, dimana kita diminta melakukan validasi atas inputan user yang harus berupa kombinasi/gabungan antara huruf dan angka. Yang akan dibahas disini hanya mengenai validasi-nya saja karena dari soal yang diberikan, hanya bagian ini yang sedikit rumit. Apabila ada permintaan/request mengenai pembahasan lengkap mengenai test tengah semester ini, maka akan dibahas pada postingan berikutnya.

Kasus: inputan user harus berupa kombinasi huruf dan angka, apabila user hanya memasukkan angka saja atau huruf saja, maka aplikasi akan melemparkan eksepsi berupa message box.

Dalam project ini menggunakan console application (module1) dan class (ClassCar), berikut potongan aplikasi:
  • Kita memiliki satu member yang sifatnya protected, _nomorRangka
  • Selain itu kita juga memiliki satu property NomorRangka. Perlu diperhatikan disini, penamaan protected member dan property harus berbeda.
Nah, sampai disini validasinya sudah selesai. Bingung?? Oke, aku coba jelasin sedikit :)
Sebelum kita masukkan nilai (value) dari user, kita cek dulu sesuai dengan ketentuan atau tidak. Ada dua  variabel yang digunakan sebagai penanda bahea inputan user adalah valid, cekAngka dan cekHuruf, dimana cekAngka digunakan sebagai penanda bahwa inputan user terdapat angka didalamnya, sedangkan cekHuruf digunakan sebagai penanda bahwa inputan user terdapat huruf didalamnya.

Nilai awal penanda ini adalah false, kita lakukan perulangan dulu sebanyak jumlah karakter yang dimasukkan oleh user (gunakan value.length), selanjutnya kita cek satu per satu (per karakter) dengan memanfaatkan fungsi substring. Paling gampang kita gunakan "for i", dengan cara value.substring(i, 1) maksudnya kita ambil karakter ke-i sebanyak 1 karakter. nah kita cek apakah karakter tersebut adalah berupa angka (gunakan isNumeric) bila ternyata dia angka, maka cekAngka ganti nilainya dengan "true", sebaliknya bila ternyata huruf nilai cekHuruf yang diganti "true".

Disini kita sudah dapatkan nilai dari variabel penanda(cekHuruf dan cekAngka), kita lakukan pengujian yang terakhir. Apabila cekAngka dan cekHuruf bernilai "true" maka dipastikan inputan user adalah kombinasi huruf dan angka, namun bila ada salah satu penanda (cekHuruf atau cekAngka) yang bernilai "false" berarti inputan user hanya berupa angka atau berupa huruf saja.

Gimana?? Simpel kan?? hehehe
Ada pertanyaan?? :D

#saran: sering-seringlah berlatih, sebenarnya soal ini tidak susah, hanya bermain dengan logika kita aja. 
Jangan malu bertanya ke asisten bila ada materi yang belum paham, pasti akan dijelaskan (kecuali saat tes :D ). Mahir tidak didapat secara instan, tapi melalui latihan. Happy coding :D

PDF file here