tutorial, javascript,

JavaScript: Kondisi (if/else, switch) dan Perulangan (for, while)

Kiki/🎮🍉⌨️🍩💻 Kiki/🎮🍉⌨️🍩💻 Oct 04, 2026 · 9 mins read
JavaScript: Kondisi (if/else, switch) dan Perulangan (for, while)
Share this

Program yang berguna harus bisa mengambil keputusan (kondisi) dan mengulang tugas (perulangan). Dua konsep ini adalah jantung dari semua logika pemrograman. Setelah memahami kondisi dan perulangan, kamu sudah bisa menulis program yang sesungguhnya.


Kondisi: if, else if, else

const nilai = 78;

if (nilai >= 90) {
  console.log("Grade A — Sangat Baik");
} else if (nilai >= 80) {
  console.log("Grade B — Baik");
} else if (nilai >= 70) {
  console.log("Grade C — Cukup");
} else if (nilai >= 60) {
  console.log("Grade D — Kurang");
} else {
  console.log("Grade E — Gagal");
}
// Output: Grade C — Cukup

Truthy dan Falsy

JavaScript mengevaluasi kondisi sebagai boolean. Nilai-nilai yang dianggap falsy (bernilai false):

// Semua ini dianggap false dalam kondisi
if (0)         { } // false — angka 0
if ("")        { } // false — string kosong
if (null)      { } // false
if (undefined) { } // false
if (NaN)       { } // false
if (false)     { } // false

// Semua nilai lain dianggap truthy
if (1)         { console.log("truthy"); }  // true
if ("halo")    { console.log("truthy"); }  // true
if ([])        { console.log("truthy"); }  // true — array kosong!
if ({})        { console.log("truthy"); }  // true — object kosong!

Operator Ternary — Kondisi Satu Baris

const umur = 20;

// Format: kondisi ? nilaiJikaTrue : nilaiJikaFalse
const status = umur >= 18 ? "dewasa" : "anak-anak";
console.log(status);  // "dewasa"

// Cocok untuk assignment sederhana
const sambutan = nama ? `Halo, ${nama}!` : "Halo, tamu!";

Nullish Coalescing ?? dan Optional Chaining ?.

// ?? — gunakan nilai kanan jika kiri null atau undefined
const nama = null;
const tampilan = nama ?? "Anonim";
console.log(tampilan);  // "Anonim"

// Berbeda dari || yang juga mengganti falsy (0, "")
const harga = 0;
console.log(harga || 100);   // 100 ← salah! 0 adalah harga valid
console.log(harga ?? 100);   // 0   ← benar!

// ?. — akses property tanpa error jika null/undefined
const user = null;
console.log(user?.nama);         // undefined (tidak error)
console.log(user?.alamat?.kota); // undefined (tidak error)

Switch — Kondisi Banyak Pilihan

const hari = "Senin";

switch (hari) {
  case "Senin":
  case "Selasa":
  case "Rabu":
  case "Kamis":
  case "Jumat":
    console.log("Hari kerja");
    break;  // PENTING: tanpa break, akan lanjut ke case berikutnya
  case "Sabtu":
  case "Minggu":
    console.log("Akhir pekan");
    break;
  default:
    console.log("Hari tidak dikenal");
}

Perulangan: for

for Klasik

// for (inisialisasi; kondisi; increment)
for (let i = 0; i < 5; i++) {
  console.log(`Iterasi ke-${i}`);
}
// Iterasi ke-0, ke-1, ke-2, ke-3, ke-4

// Hitung mundur
for (let i = 10; i >= 1; i--) {
  console.log(i);
}

// Lompat 2
for (let i = 0; i <= 10; i += 2) {
  console.log(i);  // 0, 2, 4, 6, 8, 10
}

for...of — Iterasi Array/String

const buah = ["apel", "mangga", "jeruk"];

for (const item of buah) {
  console.log(item);
}
// apel, mangga, jeruk

// Dengan string
for (const huruf of "Hello") {
  console.log(huruf);  // H, e, l, l, o
}

for...in — Iterasi Object

const orang = { nama: "Budi", usia: 25, kota: "Jakarta" };

for (const key in orang) {
  console.log(`${key}: ${orang[key]}`);
}
// nama: Budi
// usia: 25
// kota: Jakarta

Perulangan: while dan do...while

while — Selama Kondisi True

let angka = 1;

while (angka <= 5) {
  console.log(angka);
  angka++;
}
// 1, 2, 3, 4, 5

// Gunakan while saat tidak tahu jumlah iterasinya
let input = "";
while (input !== "keluar") {
  input = prompt("Ketik 'keluar' untuk berhenti:");
}

do...while — Eksekusi Minimal Sekali

// Blok do selalu dieksekusi MINIMAL SATU KALI
let counter = 0;

do {
  console.log(`Counter: ${counter}`);
  counter++;
} while (counter < 3);
// Counter: 0, Counter: 1, Counter: 2

Kontrol Perulangan: break dan continue

// break — hentikan perulangan sepenuhnya
for (let i = 0; i < 10; i++) {
  if (i === 5) break;  // berhenti saat i = 5
  console.log(i);      // 0, 1, 2, 3, 4
}

// continue — lewati iterasi saat ini, lanjut ke berikutnya
for (let i = 0; i < 10; i++) {
  if (i % 2 === 0) continue;  // lewati angka genap
  console.log(i);              // 1, 3, 5, 7, 9
}

Contoh Praktis: Tabel Perkalian

function tabelPerkalian(n) {
  for (let i = 1; i <= 10; i++) {
    console.log(`${n} x ${i} = ${n * i}`);
  }
}

tabelPerkalian(7);
// 7 x 1 = 7
// 7 x 2 = 14
// ...
// 7 x 10 = 70

Contoh Praktis: FizzBuzz

Problem klasik yang sering muncul di interview:

for (let i = 1; i <= 100; i++) {
  if (i % 15 === 0) {
    console.log("FizzBuzz");
  } else if (i % 3 === 0) {
    console.log("Fizz");
  } else if (i % 5 === 0) {
    console.log("Buzz");
  } else {
    console.log(i);
  }
}

Kesimpulan

Kondisi dan perulangan adalah fondasi dari semua logika program. if/else untuk keputusan, for/while untuk pengulangan — kuasai keduanya dan kamu bisa memecahkan hampir semua masalah pemrograman dasar.

Di artikel berikutnya, kita bahas fungsi di JavaScript — cara mengemas logika yang bisa dipanggil berulang kali.

Kiki/🎮🍉⌨️🍩💻
Written by Kiki/🎮🍉⌨️🍩💻
hello I'm friend K.