Alur Program · Pelajaran 4 dari 10
Percabangan if dan switch
8 menit baca · BelajarCode
1const nilai = 82;2if (nilai >= 90) {3 console.log("Predikat A");4} else if (nilai >= 80) {5 console.log("Predikat B");6} else if (nilai >= 70) {7 console.log("Predikat C");8} else {9 console.log("Perlu remedial");10}Predikat B
Syarat ditulis di dalam tanda kurung, dan blok perintah diapit kurung kurawal { }. Menjorokkan isi blok tidak wajib di JavaScript, tetapi sangat disarankan supaya mudah dibaca.
Operator logika
| Operator | Arti | Contoh |
|---|---|---|
&& | Dan | umur >= 13 && punyaKartu |
! | Bukan | !hujan |
Operator atau ditulis dengan dua garis tegak, misalnya umur < 12 || umur >= 60.
1const umur = 65;2const pelajar = false;3if (umur < 12 || umur >= 60 || pelajar) {4 console.log("Tiket diskon");5} else {6 console.log("Tiket biasa");7}Tiket diskon
Operator ternary
Untuk pilihan sederhana, ada bentuk ringkas syarat ? nilaiJikaBenar : nilaiJikaSalah.
1const nilai = 68;2const status = nilai >= 75 ? "Tuntas" : "Remedial";3console.log(status);Remedial
switch
switch cocok untuk membandingkan satu nilai dengan banyak kemungkinan yang pasti.
1const hari = 6;2switch (hari) {3 case 6:4 case 7:5 console.log("Akhir pekan");6 break;7 case 5:8 console.log("Jumat, ada kegiatan pramuka");9 break;10 default:11 console.log("Hari sekolah biasa");12}Akhir pekan
Jangan lupa break
Tanpa break, JavaScript terus menjalankan case berikutnya. Pada contoh di atas, case 6 sengaja tanpa break supaya hari 6 dan 7 menjalankan perintah yang sama.
Nilai yang dianggap salah
Di dalam if, nilai berikut dianggap salah (falsy): false, 0, "" (teks kosong), null, undefined, dan NaN. Semua nilai lain dianggap benar.
1const namaPengguna = "";2if (namaPengguna) {3 console.log(`Halo, ${namaPengguna}`);4} else {5 console.log("Nama belum diisi");6}Nama belum diisi
Cek pemahaman
Apa yang ditampilkan jika const x = 0; lalu console.log(x ? "ada" : "kosong");?
Latihan
Kategori umur
Buat program yang menentukan kategori dari umur: 0 sampai 12 "anak", 13 sampai 17 "remaja", 18 sampai 59 "dewasa", 60 ke atas "lansia". Jika umurnya negatif, tampilkan "umur tidak valid". Uji dengan beberapa umur memakai perulangan atas array.
Pembahasan
1function kategori(umur) {2 if (umur < 0) {3 return "umur tidak valid";4 } else if (umur <= 12) {5 return "anak";6 } else if (umur <= 17) {7 return "remaja";8 } else if (umur <= 59) {9 return "dewasa";10 }11 return "lansia";12}1314for (const umur of [-1, 7, 15, 30, 72]) {15 console.log(umur, kategori(umur));16}-1 umur tidak valid 7 anak 15 remaja 30 dewasa 72 lansia
Fungsi dan perulangan for...of akan dibahas lebih dalam di pelajaran berikutnya.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler JavaScript online.