Belajar Dasar JavaScript: Kondisional/Percabangan

Kita akan membutuhkan kondisional untuk menjalankan suatu kode berdasarkan kondisi program. Dalam JavaScript ada dua jenis kondisional yaitu if dan switch.

Nilai Falsy dan Truthy

Kedua jenis nilai ini sangat berguna dan penting dalam kondisional.

Nilai falsy merupakan nilai yang dianggap sebagai false. Berikut merupakan nilai yang termasuk nilai falsy:

  • false,
  • +0,
  • -0,
  • String kosong, "", '', ``.
  • undefined
  • null
  • NaN

Nilai truthy merupakan nilai yang dianggap sebagai true. Nilai truthy meliputi semua nilai yang bukan termasuk nilai falsy, contohnya seperti true, 120, "Test" dan lain-lain.

Kondisional If

Kondisional jenis ini merupakan kondisional yang paling sederhana. Kondisional If dideklarasikan dengan keyword if. Contohnya:

let angka = 10;
if (angka > 5) {
  // Akan dijalankan saat angka > 5
  console.log("Angka lebih dari 5");
}

// Output:
// Angka lebih dari 5

Kode di dalam kurung kurawal ({}) disebut dengan blok kode. Saat angka > 5 terpenuhi (bernilai truthy), maka blok kode didepanya akan dijalankan. Sebaliknya, blok kode tidak akan dijalankan.

Kita juga dapat membuat cabang Else.

let angka = 2;
if (angka > 5) {
  // Akan dijalankan saat angka > 5 terpenuhi
  console.log("Angka lebih dari 5");
} else {
  // Akan dijalankan saat angka > 5 tidak terpenuhi
  console.log("Angka tidak lebih dari 5");
}

// Output:
// Angka tidak lebih dari 5

Saat angka > 5 terpenuhi, blok kode setelahnya akan dijalankan. Sebaliknya, maka blok kode setelah Else yang akan dijalankan.

Kita juga dapat membuat Kondisional If baru setelah Else untuk membuat banyak cabang. Contohnya seperti ini:

let angka = -3;
if (angka > 5) {
  // Akan dijalankan saat angka > 5
  console.log("Angka lebih dari 5");
} else if (angka < 0) {
  // Akan dijalankan saat angka < 0
  console.log("Angka kurang dari 0");
} else {
  // Akan dijalankan saat tidak ada cabang if di atas yang terpenuhi
  console.log("Angka tidak lebih dari 5 dan tidak kurang dari 0");
}

// Output:
// Angka kurang dari 0

Pertama akan di cek angka > 5. Jika terpenuhi maka blok kode didepanya akan dijalankan. Jika tidak terpenuhi, maka akan di cek angka < 0. Jika terpenuhi maka blok kode didepanya akan dijalankan. Jika tidak terpenuhi, maka blok kode setelah Else akan dijalankan.

Switch

Switch merupakan jenis lain dari kondisonal/percabangan di JavaScript. Kondisional ini sangat cocok untuk membuat kondisional yang menjalankan suatu kode berdasarkan nilai variabel tertentu. Kondisional Switch dideklarasikan dengan keyword switch. Contohnya:

const angka = 2;
switch (angka) {
  case 1:
    // Akan dijalankan saat angka = 1
    console.log("Satu");
    break;
  case 2:
    // Akan dijalankan saat angka = 2
    console.log("Dua");
    break;
  case 3:
    // Akan dijalankan saat angka = 3
    console.log("Tiga");
    break;
}

// Output:
// Dua

Nilai dari angka akan di cek. Jika angka = 1, maka kode di depan case 1: sampai break akan di jalankan. Jika angka = 2, maka kode di depan case 3: sampai break akan di jalankan. Jika angka = 3, maka kode di depan case 3: sampai break akan di jalankan.

break sangat diperlukan agar kode berjalan sesuai harapan.

Kita juga dapat membuat cabang Default. Cabang ini akan dijalankan saat tidak ada kasus yang terpenuhi

const angka = 5;
switch (angka) {
  case 1:
    // Akan dijalankan saat angka = 1
    console.log("Satu");
    break;
  case 2:
    // Akan dijalankan saat angka = 2
    console.log("Dua");
    break;
  case 3:
    // Akan dijalankan saat angka = 3
    console.log("Tiga");
    break;
  default:
    // Akan di jalankan saat semua cabang switch di atas tidak ada yang terpenuhi
    console.log("Tidak ada yang memenuhi");
    break;
}

// Output:
// Tidak ada yang memenuhi

Kode setelah default: sampai break akan dijalankan saat semua cabang Switch sebelumnya tidak ada yang terpenuhi.