Lewati ke konten

Loop: do...while

Setelah halaman ini, kamu dapat membuat loop do...while dan menjelaskan perbedaannya dengan while.


do...while hampir sama dengan while, dengan satu perbedaan penting: blok kode selalu dijalankan minimal satu kali, bahkan jika kondisi awal sudah false.


Saat login ke aplikasi, kamu selalu memasukkan password setidaknya sekali. Baru setelah dicoba, sistem mengecek apakah benar.

🖥️ Output
Lakukan:
Masukkan password
Cek apakah benar
Selama password salah → ulangi

Berbeda dengan while yang cek kondisi dulu baru bertindak, do...while bertindak dulu baru cek kondisi.


Bentuk dasar:

📄 TypeScript
do {
// tindakan
} while (kondisi)
  1. Blok do {} dijalankan tanpa memeriksa kondisi.
  2. Setelah blok selesai, kondisi baru diperiksa.
  3. Jika true, ulangi dari awal blok.
  4. Jika false, loop berhenti.

🖥️ Output
while do...while
────── ──────────
Cek kondisi ─► false Jalankan blok
│ │
true Cek kondisi ─► false → SELESAI
│ │
Jalankan blok true
│ │
(ulangi) (ulangi)

Buat src/bab3/do-while.ts:

📄 TypeScript
let percobaan: number = 0
const maxPercobaan: number = 3
do {
percobaan++
console.log(`Percobaan ke-${percobaan}: Memasukkan password...`)
} while (percobaan < maxPercobaan)
console.log(`Selesai setelah ${percobaan} percobaan.`)

Jalankan:

🖥️ Output
tsx src/bab3/do-while.ts
🖥️ Output
Percobaan ke-1: Memasukkan password...
Percobaan ke-2: Memasukkan password...
Percobaan ke-3: Memasukkan password...
Selesai setelah 3 percobaan.

📄 TypeScript
let nilai: number = 10
// while — blok TIDAK dijalankan sama sekali
while (nilai < 5) {
console.log("while:", nilai)
}
// do...while — blok tetap dijalankan SEKALI
do {
console.log("do...while:", nilai)
} while (nilai < 5)

Output:

🖥️ Output
do...while: 10

while tidak menghasilkan output apapun karena 10 < 5 langsung false. do...while tetap mencetak sekali.


  • do { — memulai blok yang selalu dijalankan.
  • percobaan++ — menambah penghitung di dalam blok.
  • } while (percobaan < maxPercobaan) — kondisi diperiksa di akhir; while di sini adalah penutup do, bukan loop baru.

📄 TypeScript
do {
console.log("Berjalan")
} while (true)

Kondisi selalu true → infinite loop. Pastikan ada yang mengubah kondisi ke false.



Buat program yang mencetak “Selamat datang!” sebanyak 3 kali menggunakan do...while. Kemudian coba ubah kondisi menjadi false dari awal dan amati hasilnya.


  • do...while selalu menjalankan blok minimal satu kali.
  • Kondisi diperiksa di akhir setiap putaran.
  • Perbedaan utama dengan while: urutan cek kondisi.
  • Cocok untuk proses yang harus terjadi setidaknya sekali.