Apa itu JavaScript Conditional?
Kalau diterjemahkan ke dalam bahasa Indonesia, conditional artinya adalah persyaratan. Lalu, kalau dalam konsep JavaScript, conditional itu kira-kira seperti apa?
Ketika kita menulis sebuah aplikasi, seringkali akan ada beberapa operasi yang akan dijalankan dengan persyaratan tertentu. Persyaratan itu sendiri nanti kita yang tentukan.
Sebagai contoh dalam kehidupan sehari-hari, jika kita lapar, maka kita makan, dan jika kita tidak lapar, maka kita tidak makan. Dari contoh tersebut, persyaratan/kondisinya adalah jika kita lapar atau jika kita tidak lapar. Sementara, keputusan yang dilaksanakan adalah makan atau tidak makan.
Dari contoh tersebut, ada kata kunci yang bisa kita ambil, yaitu jika dan maka. Jika menyatakan sebuah kondisi, dan maka menyatakan keputusan yang akan dilaksanakan.
Sama seperti di JavaScript, kita juga bisa menyatakan sebuah kondisi dan menyatakan keputusan (program) yang akan dijalankan.
Di JavaScript ada dua cara menulis perintah conditional, yaitu:
Menggunakan
if
,else if
danelse
.Menggunakan
switch
dancase
.
Mari kita bahas satu-persatu.
Menggunakan if, else if dan else
if
, else if
dan else
adalah sebagai berikut.if
Digunakan apabila hanya ada 1 kondisi dan 1 keputusan yang dijalankan.
if (kondisi1) {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 tercapai
}
if...else
Digunakan apabila ada 1 kondisi dan 2 keputusan yang dijalankan.
if (kondisi1) {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 tercapai
} else {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 TIDAK tercapai
}
if...else if...else
Digunakan apabila ada beberapa kondisi dan beberapa keputusan yang dijalankan.
if (kondisi1) {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 tercapai
} else if (kondisi2) {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 tidak tercapai dan kondisi2 tercapai
} else if (kondisi3) {
// masukkan kode yang akan dijalankan di sini apabila kondisi1 dan kondisi2 tidak tercapai, dan kondisi3 tercapai
} ... {
} else {
// masukkan kode yang akan dijalankan di sini apabila semua kondisi di atas TIDAK tercapai
}
Contoh Penggunaan
Coba bayangkan sebuah aplikasi yang bisa menampilkan kalimat:
- "SANGAT MEMUASKAN" jika nilai di atas
80
- "MEMUASKAN" jika nilai berada di antara
60
hingga80
, dan - "JANGAN MENYERAH, COBA LAGI!" jika nilai di bawah
60
Ternyata, Andi mendapatkan nilai 95
. Maka, Andi seharusnya mendapatkan kalimat "SANGAT MEMUASKAN" bukan?
Bagaimana cara membuat aplikasinya? Yaitu seperti berikut ini:
let nilaiAndi = 95;
if (nilaiAndi > 80) {
console.log("SANGAT MEMUASKAN");
} else if (nilaiAndi >= 60 && nilaiAndi <= 80) {
console.log("MEMUASKAN");
} else {
console.log("JANGAN MENYERAH, COBA LAGI!");
}
// Output: SANGAT MEMUASKAN
Penjelasan kode di atas:
if (nilaiAndi > 80) { console.log('SANGAT MEMUASKAN'); }
artinya jika variabelnilaiAndi
bernilai di atas80
, maka aplikasi akan menampilkan kalimat "SANGAT MEMUASKAN".else if (nilaiAndi >= 60 && nilaiAndi <= 80) { console.log('MEMUASKAN'); }
, artinya jika variabelnilaiAndi
berada di atas atau sama dengan60
dannilaiAndi
berada di bawah atau sama dengan80
(yang bisa diartikan sebagai jikanilaiAndi
berada di antara60
hingga80
), maka aplikasi akan menampilkan kalimat "MEMUASKAN".else { console.log('JANGAN MENYERAH, COBA LAGI!');}
, artinya selain kedua kondisi yang telah disebutkan diif
danelse if
, maka aplikasi akan menampilkan kalimat "JANGAN MENYERAH, COBA LAGI!".
Menggunakan switch dan case
Jika kita memiliki banyak pilihan kondisi, menggunakan perintah if
, else if
dan else
akan kurang efisien karena kode yang ditulis akan menjadi sangat panjang sekali.
"Alternatifnya apa dong?"
Ada cara yang lebih efisien yaitu dengan menggunakan perintah switch
dan case
.
Syntaxnya seperti ini:
switch (pernyataan) {
case kondisi1:
// keputusan yang dijalankan ketika kondisi1 tercapai
break;
case kondisi2:
// keputusan yang dijalankan ketika kondisi2 tercapai
break;
case kondisi3:
// keputusan yang dijalankan ketika kondisi3 tercapai
break;
...
default:
// keputusan yang dijalankan ketika semua kondisi tidak tercapai
}
Contoh Penggunaan
Seandainya kita disuruh menulis sebuah aplikasi yang akan menampilkan jenis seragam apa yang harus dikenakan murid sesuai dengan harinya. Contohnya seperti di bawah ini:
let seragamSekolah;
let hari = "senin";
switch (hari) {
case "senin":
seragamSekolah = "kemeja putih bawahan merah";
break;
case "selasa":
seragamSekolah = "kemeja hijau bawahan hitam";
break;
case "rabu":
seragamSekolah = "kemeja putih bawahan putih";
break;
case "kamis":
seragamSekolah = "kemeja batik merah bawahan hitam";
break;
case "jumat":
seragamSekolah = "baju pramuka";
break;
default:
seragamSekolah = "baju bebas";
}
console.log(seragamSekolah); // Output: kemeja putih bawahan merah
Penjelasan kode di atas:
switch
digunakan untuk mendeklarasikan pernyataan yang menjadi patokan kondisi. Pada contoh di atas, kita akan melihat variabelhari
digunakan sebagai patokan kondisi untuk merubah nilai dari variabelseragamSekolah
sesuai dengan nilaihari
-nya (kondisi).case
digunakan untuk menulis masing-masing kondisi dari hasil pernyataan yang akan diperiksa. Pada contoh di atas, jika variabelhari
bernilai"senin"
, maka variabelseragamSekolah
bernilai"kemeja putih bawahan merah"
, dan seterusnya.break
digunakan untuk menghentikan program berjalan ketika sudah menemukan kondisi yang tercapai. Pada contoh di atas, program akan berhenti padacase
bernilai"senin"
.default
adalah keputusan yang akan dijalankan apabila hasil pernyataan diswitch
tidak ada yang sesuai dengan masing-masing kondisi dicase
(tidak ada kondisi yang tercapai). Fungsinya sama sepertielse
di topik sebelumnya . Pada contoh di atas, apabila nilai variabelhari
yang dimasukkan misalnya"sabtu"
, makaseragamSekolah
akan bernilai"baju bebas"
.
Apabila kita mempunyai dua atau lebih kondisi yang berbeda, tetapi keputusan yang akan dijalankan sama, kita bisa menggabungkan beberapa perintah case
tanpa menggunakan break
dan hanya menggunakan break
di kondisi terakhir.
Misalnya pada contoh kita di atas, murid diharuskan mengenakan seragam "kemeja putih bawahan merah"
untuk hari "senin"
sampai "kamis"
, maka kita bisa mengubah kode di atas menjadi:
let seragamSekolah;
let hari = "senin";
switch (hari) {
case "senin":
case "selasa":
case "rabu":
case "kamis":
seragamSekolah = "kemeja putih bawahan merah";
break;
case "jumat":
seragamSekolah = "baju pramuka";
break;
default:
seragamSekolah = "baju bebas";
}
console.log(seragamSekolah); // Output: kemeja putih bawahan merah