Masukkan Password
24 2.10 Do While Loop in Dart Programming Language | Loops in Dart | Learn Dart Language | Dart Course
Materi ini membahas do-while loop pada Dart. Konsepnya sebenarnya sederhana, tetapi ada satu perbedaan yang sangat penting dibandingkan while loop:
whilemengecek kondisi terlebih dahulu, sedangkando-whilemenjalankan kode terlebih dahulu, baru mengecek kondisi.
Kalau kamu memahami satu kalimat ini, inti materi ini sudah kamu dapat.
1. Apa itu Loop?
Sebelum masuk ke do-while, kita pahami dulu apa itu loop.
Loop adalah mekanisme untuk menjalankan kode berulang kali selama kondisi tertentu terpenuhi.
Misalnya kita ingin mencetak:
1
2
3
4
5
Tanpa loop, kita harus menulis:
print(1);
print(2);
print(3);
print(4);
print(5);
Tentunya kalau sampai 100 atau 1.000 kali, akan sangat merepotkan.
Dengan loop, kita cukup membuat aturan:
“Ulangi selama angka masih kurang atau sama dengan 5.”
2. Apa Itu do-while?
do-while adalah salah satu jenis loop.
Bentuk sederhananya:
do {
// kode yang ingin diulang
} while (kondisi);
Perhatikan urutannya:
1. Jalankan isi do
↓
2. Periksa kondisi
↓
3. Jika true → ulangi
↓
4. Jika false → berhenti
Jadi karakteristik utama do-while adalah:
Kode di dalam
dopasti dijalankan minimal satu kali.
Bahkan jika kondisi sejak awal bernilai false.
3. Struktur do-while
Mari kita lihat:
do {
print("Hello");
} while (condition);
Ada dua bagian:
Bagian do
do {
print("Hello");
}
Ini adalah body/isi loop.
Bagian while
while (condition);
Ini adalah kondisi yang menentukan apakah loop akan diulang.
Jadi program melakukan:
DO → jalankan
↓
WHILE → cek kondisi
↓
true? → ulangi
false? → berhenti
4. Contoh Paling Sederhana
Misalnya:
int i = 1;
do {
print(i);
i++;
} while (i <= 10);
Tujuannya adalah mencetak angka 1 sampai 10.
Mari kita ikuti prosesnya satu per satu.
5. Iterasi Pertama
Nilai awal:
i = 1
Program masuk ke:
do {
print(i);
i++;
}
Pertama:
print(i);
mencetak:
1
Kemudian:
i++;
mengubah:
1 → 2
Baru setelah itu kondisi diperiksa:
i <= 10
atau:
2 <= 10
Hasilnya:
true
Maka loop diulang.
6. Iterasi Kedua
Sekarang:
i = 2
Jalankan:
print(i);
Output:
2
Kemudian:
i++
menjadi:
3
Periksa:
3 <= 10
→ true
Loop berlanjut.
7. Proses Sampai 10
Secara sederhana prosesnya seperti ini:
| Putaran | Nilai i yang dicetak | Setelah i++ | Kondisi |
|---|---|---|---|
| 1 | 1 | 2 | 2 <= 10 → true |
| 2 | 2 | 3 | 3 <= 10 → true |
| 3 | 3 | 4 | 4 <= 10 → true |
| … | … | … | … |
| 9 | 9 | 10 | 10 <= 10 → true |
| 10 | 10 | 11 | 11 <= 10 → false |
Output akhirnya:
1
2
3
4
5
6
7
8
9
10
Setelah i menjadi 11, kondisi:
11 <= 10
bernilai false.
Maka loop berhenti.
8. Hal yang Sangat Penting: Kondisi Dicek Setelah Body
Perhatikan:
do {
print(i);
i++;
} while (i <= 10);
Urutannya bukan:
cek kondisi
↓
jalankan kode
Tetapi:
jalankan kode
↓
cek kondisi
Inilah perbedaan utama do-while dengan while.
9. Perbedaan while dan do-while
Mari kita bandingkan secara langsung.
while
while (condition) {
// kode
}
Urutannya:
CEK KONDISI
↓
true?
/ \
ya tidak
↓ ↓
kode berhenti
↓
cek lagi
Sedangkan do-while:
do {
// kode
} while (condition);
Urutannya:
JALANKAN KODE
↓
CEK KONDISI
↓
true?
/ \
ya tidak
↓ ↓
ulang berhenti
10. Contoh Kondisi Langsung false
Nah, di sinilah perbedaan keduanya benar-benar terlihat.
Misalnya kita membuat while:
while (false) {
print("Hello");
}
Kondisinya sudah:
false
Apa yang terjadi?
Program tidak menjalankan print() sama sekali.
Output:
Tidak ada output
Kenapa?
Karena while memeriksa kondisi sebelum menjalankan body.
false
↓
jangan masuk loop
11. Sekarang Gunakan do-while
Kita buat:
do {
print("Hello");
} while (false);
Apa yang terjadi?
Output:
Hello
Mungkin ini awalnya terlihat aneh.
Bukankah kondisinya false?
Benar.
Tetapi do-while menjalankan body terlebih dahulu.
Urutannya:
do
↓
print("Hello")
↓
Hello
↓
cek while(false)
↓
false
↓
berhenti
Jadi walaupun kondisinya false, body tetap dijalankan satu kali.
12. Ini Inti do-while
Kalau kamu hanya mengingat satu hal dari materi ini, ingat:
while
“Boleh masuk tidak?”
Program bertanya dulu:
Apakah kondisi benar?
Kalau benar → masuk.
Kalau salah → tidak masuk sama sekali.
do-while
“Lakukan dulu, nanti baru kita cek.”
Program:
Jalankan dulu isi loop.
Setelah selesai:
Apakah masih boleh mengulang?
Kalau true → ulang.
Kalau false → berhenti.
13. Analogi Kehidupan Nyata
Bayangkan kamu pergi ke restoran dan ingin mencoba makanan.
while
Kamu bertanya dulu:
“Apakah restoran buka?”
Kalau jawabannya:
“Tidak.”
Kamu tidak masuk.
cek → tidak buka → tidak masuk
do-while
Kamu masuk dulu:
“Saya masuk dan mencoba memesan.”
Setelah itu baru kamu mengetahui:
“Oh, ternyata restoran sudah tutup.”
Kamu tetap sudah melakukan proses satu kali.
Itulah konsep do-while.
14. Contoh yang Lebih Berguna: Menu
Salah satu penggunaan do-while yang mudah dipahami adalah menu program.
Misalnya:
int choice;
do {
print("1. Start");
print("2. Settings");
print("3. Exit");
// ambil input user
// periksa pilihan
} while (choice != 3);
Kenapa do-while cocok?
Karena kita ingin menampilkan menu minimal satu kali.
Kemudian setelah user memilih:
- pilihan
1→ lakukan sesuatu - pilihan
2→ lakukan sesuatu - pilihan
3→ keluar
Secara konsep:
Tampilkan menu
↓
User memilih
↓
Apakah pilihan = 3?
/ \
Tidak Ya
↓ ↓
Tampilkan Keluar
menu lagi
Ini adalah contoh penggunaan yang sangat umum untuk konsep do-while.
15. Contoh Validasi Input
do-while juga cocok ketika kita ingin memastikan user memasukkan data yang benar.
Misalnya kita ingin user memasukkan angka positif.
Secara konsep:
int number;
do {
// minta user memasukkan angka
} while (number <= 0);
Artinya:
Minta input minimal satu kali.
Jika input salah:
-5
maka:
-5 <= 0
→ true
Program meminta input lagi.
Jika user memasukkan:
10
maka:
10 <= 0
→ false
Loop berhenti.
16. Kenapa Tidak Selalu Menggunakan while?
Pertanyaan bagus.
Karena ada situasi di mana kita memang ingin kode dijalankan minimal satu kali.
Contohnya:
Menu
Menu harus ditampilkan minimal satu kali.
Input
Kita harus meminta user memasukkan sesuatu minimal satu kali.
Validasi
Kita perlu mendapatkan input sebelum bisa menentukan apakah input tersebut valid.
Dalam situasi seperti ini, do-while sangat masuk akal.
17. do-while dan while Bisa Menghasilkan Hal yang Sama
Pada contoh mencetak 1–10:
int i = 1;
do {
print(i);
i++;
} while (i <= 10);
hasilnya sama seperti:
int i = 1;
while (i <= 10) {
print(i);
i++;
}
Keduanya menghasilkan:
1
2
3
4
5
6
7
8
9
10
Jadi perbedaannya bukan selalu pada output.
Perbedaan paling penting muncul ketika kondisi awal bernilai false.
18. Contoh yang Membuktikan Perbedaannya
while
int i = 20;
while (i <= 10) {
print(i);
}
Kondisi:
20 <= 10
→ false
Maka body tidak pernah dijalankan.
Output:
Tidak ada
do-while
int i = 20;
do {
print(i);
} while (i <= 10);
Body dijalankan terlebih dahulu:
20
Kemudian dicek:
20 <= 10
→ false
Loop berhenti.
Output:
20
Jadi:
while:
false → 0 kali
do-while:
false → 1 kali
Ini adalah perbedaan paling penting.
19. Hati-hati Infinite Loop
Sama seperti while, do-while juga bisa mengalami infinite loop.
Misalnya:
int i = 1;
do {
print(i);
} while (i <= 10);
Masalahnya adalah kita tidak pernah mengubah i.
Nilainya selalu:
1
Kondisi selalu:
1 <= 10
→ true
Akibatnya:
print(1)
print(1)
print(1)
print(1)
...
terus menerus.
20. Cara Menghindari Infinite Loop
Pastikan ada sesuatu yang membuat kondisi akhirnya menjadi false.
Contohnya:
int i = 1;
do {
print(i);
i++;
} while (i <= 10);
Di sini:
i++;
membuat nilai i terus bertambah:
1
2
3
4
...
10
11
Ketika menjadi 11:
11 <= 10
→ false
Loop berhenti.
21. Perhatikan Posisi i++
Ini juga penting.
Contoh:
do {
print(i);
i++;
} while (i <= 10);
Yang dicetak adalah nilai i sebelum increment.
Misalnya:
i = 1
→ print 1
Kemudian:
i++
→ 2
Baru kondisi diperiksa.
22. Alur Lengkap Program
Untuk kode:
int i = 1;
do {
print(i);
i++;
} while (i <= 10);
alur lengkapnya:
i = 1
↓
┌─────────────┐
│ print(i) │
└──────┬──────┘
↓
print 1
↓
i++
↓
i = 2
↓
i <= 10 ?
/ \
Ya Tidak
↓ ↓
ulang selesai
Dan proses ini berlangsung sampai kondisi menjadi false.
23. Ringkasan Perbandingan
| Aspek | while | do-while |
|---|---|---|
| Kondisi diperiksa | Sebelum body | Setelah body |
| Body bisa tidak dijalankan? | Ya | Tidak |
| Minimal eksekusi | 0 kali | 1 kali |
| Cocok untuk | Kondisi harus benar sejak awal | Proses harus dilakukan minimal sekali |
| Contoh | Loop berdasarkan kondisi awal | Menu, input, validasi |
Cara mengingat:
WHILE
↓
cek dulu
↓
jalankan kalau true
Sedangkan:
DO-WHILE
↓
jalankan dulu
↓
cek
↓
ulang kalau true
24. Kesimpulan
Jadi materi video tersebut ingin menjelaskan bahwa do-while adalah loop yang body-nya selalu dijalankan setidaknya satu kali.
Sintaks Dart:
do {
// kode
} while (condition);
Contoh:
int i = 1;
do {
print(i);
i++;
} while (i <= 10);
Hasil:
1
2
3
4
5
6
7
8
9
10
Sedangkan perbedaan terpentingnya dengan while adalah:
while (condition) {
// kondisi dicek dulu
}
versus:
do {
// kode dijalankan dulu
} while (condition);
🧠 Kalimat kunci untuk diingat
while: “Kalau benar, jalankan.”
do-while: “Jalankan dulu, lalu cek apakah perlu mengulang.”
Kalau kamu sedang belajar Dart dari dasar secara berurutan, setelah memahami do-while, konsep berikutnya yang sangat penting biasanya adalah for loop, break, dan continue, karena ketiganya akan melengkapi pemahamanmu tentang looping.