Dalam pemrograman, perulangan sangat penting untuk melakukan tugas yang berulang. Selain for loop
, Dart menyediakan while
dan do-while loop
sebagai metode lain untuk melakukan perulangan. Artikel ini akan membahas secara lengkap tentang kedua jenis perulangan ini serta memberikan beberapa contoh yang mudah dipahami.
While Loop
While loop
digunakan untuk melakukan perulangan selama kondisi tertentu terpenuhi. Tidak seperti for loop
, while loop
tidak bergantung pada variabel indeks tertentu. Ini membuatnya sangat cocok digunakan ketika jumlah perulangan tidak diketahui sebelumnya.
Struktur Dasar While Loop
Berikut adalah struktur dasar dari while loop
:
void main() {
var i = 1;
while (i <= 100) {
print(i);
i++;
}
}
Penjelasan
Inisialisasi:
var i = 1
– variabeli
diinisialisasi dengan nilai 1.Kondisi:
i <= 100
– selama kondisi ini terpenuhi, blok kode di dalamwhile
akan dijalankan.Increment:
i++
– nilaii
akan bertambah 1 setelah setiap iterasi.
Pada contoh di atas, while loop
akan mencetak angka dari 1 hingga 100.
Do-While Loop
Do-while loop
adalah bentuk lain dari while loop
. Perbedaannya terletak pada evaluasi kondisi: do-while loop
akan mengevaluasi kondisi setelah blok kode dijalankan, sehingga blok kode tersebut akan selalu dijalankan setidaknya sekali.
Struktur Dasar Do-While Loop
Berikut adalah contoh do-while loop
yang mencetak angka dari 1 hingga 100:
void main() {
var i = 1;
do {
print(i);
i++;
} while (i <= 100);
}
Penjelasan
Inisialisasi:
var i = 1
– variabeli
diinisialisasi dengan nilai 1.Blok Kode:
print(i); i++;
– blok kode ini dijalankan sebelum kondisi dievaluasi.Kondisi:
i <= 100
– selama kondisi ini terpenuhi, perulangan akan terus berjalan.
Pada contoh di atas, blok kode di dalam do-while
akan selalu dijalankan setidaknya sekali, terlepas dari apakah kondisi awal terpenuhi atau tidak.
Infinite Loops
Infinite loop adalah kondisi di mana perulangan berjalan tanpa henti, menyebabkan aplikasi dan komputer mungkin mengalami crash. Kondisi ini biasanya terjadi ketika kondisi perulangan selalu bernilai true
dan tidak ada mekanisme untuk keluar dari perulangan tersebut.
Contoh Infinite Loop
Berikut adalah contoh di mana infinite loop dapat terjadi:
void main() {
var i = 1;
while (i < 5) {
print(i);
}
}
Penjelasan
Pada kode di atas, variabel i
selalu bernilai 1. Karena kondisi i < 5
selalu true
, perulangan tidak akan pernah berhenti, menyebabkan aplikasi mengalami infinite loop dan akhirnya crash.
Challenge
Sebagai latihan, cobalah membuat program Dart yang menampilkan output berikut menggunakan while
atau do-while loop
:
**********
*********
********
*******
******
*****
****
***
**
*
Solusi Menggunakan While Loop
void main() {
var i = 10;
while (i > 0) {
var row = '';
var j = i;
while (j > 0) {
row += '*';
j--;
}
print(row);
i--;
}
}
Solusi Menggunakan Do-While Loop
void main() {
var i = 10;
do {
var row = '';
var j = i;
do {
row += '*';
j--;
} while (j > 0);
print(row);
i--;
} while (i > 0);
}
Memahami while
dan do-while loop
sangat penting untuk meningkatkan keterampilan pemrograman kita. Kedua jenis perulangan ini memberikan fleksibilitas dalam mengelola tugas berulang, terutama ketika jumlah perulangan tidak diketahui sebelumnya. Hindari infinite loop dengan memastikan kondisi perulangan akan berubah dan berhenti pada suatu titik.