Monday, November 18, 2013

Menguji Dua String, Apakah Sama?

Kadang waktu di dalam program kita perlu mencocokkan antara string yang itu dengan string yang ini. Misal, ketika anda ingin mengetahui apakah string yang dimasukkan oleh user di dalam formulir sama atau benar-benar sama dengan string yang anda telah tentukan.

Validasi string...

Solusi terbaiknya adalah dengan terlebih dahulu mengkonversi masukan user tersebut menjadi huruf besar semua atau menjadi huruf kecil semuanya, baru kemudian membandingkannya dengan string yang telah anda tentukan.

  • Untuk mengkonversi masukan user menjadi huruf besar semua, silahkan gunakan metode String.toUpperCase().
  • Untuk mengkonversi masukan user menjadi huruf kecil semua, silahkan gunakan metode String.toLowerCase().
  • Untuk melakukan operasi perbandingannya, silahkan gunakan operator ==.

Sebagai contoh saja, misalkan ada variabel bernama inputObj, di mana variabel itu merefensi kepada elemen INPUT ber-ID 'myinput'. Dalam contoh ini saya ingin mengetahui apakah masukan user adalah sama dengan string yang saya tetapkan, yaitu 'halo dunia'. Jika sama, kotak Alert berisi string 'True' ditampilkan, sebaliknya Alert yang berisi string 'False' ditampilkan:

if(inputObj.value.toLowerCase() == "halo dunia") { alert("True"); } else{ alert("False"); }

Untuk lebih jelasnya, silahkan jalankan kode di bawah ini di browser anda:

<SCRIPT TYPE="text/javascript"> function foo() { var inputObj = document.getElementById("myinput"); if(inputObj.value.toLowerCase() == "halo dunia") { alert("True"); } else{ alert("False"); } } </SCRIPT> <FORM> <INPUT TYPE="text" ID="myinput" VALUE=""> <INPUT TYPE="button" ONCLICK="foo()" VALUE="Compare"> </FORM>

Silahkan input string 'Halo Dunia', 'HAlo dunia', atau string lainnya ke dalam kotak input yang ada. Klik tombol Compare untuk melihat hasilnya.

Untuk kode di atas, meskipun user memasukkan string 'Halo Dunia', 'HAlo dunia', 'HALO DUNIA' dst - akan tetap di anggap sama dengan string yang saya tetapkan. Di kasus itulah kita perlu mengkonversi masukan pengguna ke dalam karakter huruf besar semua atau ke huruf kecil semua terlebih dahulu sebelum kedua string dibandingkan.

Jika ingin membandingkan antara nilai string dari inputObj dengan string 'halo dunia' yang di buat menggunakan fungsi pembangun objek String dengan operator == atau operator ===, silahkan gunakan pola berikut di dalam if:

if(inputObj.value.toLowerCase() === stringObj.toString()) {}

Di mana 'halo dunia' yang di buat menggunakan fungsi pembangun objek String seperti berikut:

var stringObj = new String("halo dunia");

Penggunaan metode toString() di atas diperlukan semata-mata agar stringObj menjadi tipe 'string' yang sebelumnya dia bertipe 'object'.

Untuk memeriksa kondisi yang berlawanan dari maksud artikel ini, silahkan bereksperimen dengan melibatkan operator != atau operator !==.