Perulangan dengan do while pada dasarnya sama dengan while selain pada letak pengecekan kondisinya. Bedanya, do while mengecek kondisi setelah statement di dalamnya dieksekusi. Karena pengecekan kondisinya di akhir, maka do while akan mengeksekusi statement yang dimilikinya minimal satu kali. Ini berbeda dengan while yang tidak akan mengeksekusi apapun jika kondisi tidak terpenuhi sejak awal.
Sintaks dari do while adalah sebagai berikut.
- do statement; while(kondisi)
- do {compound_statement}while(kondisi)
#include <iostream>
int main(int argc, char *argv[]){
int i=1;
do{
std::cout << "kalimat ke-" << i;
}while(i<1);
return 0;
}
kalimat ke-1
Saat program dijalankan, isi statement do while akan dieksekusi. Setelah itu, baru dilakukan pengecekan. Karena sejak awal nilai variabel i sudah sama dengan 1, maka perulangan tidak akan dilanjutkan. Contoh di atas tidak menggunakan perubahan nilai variabel di dalam perulangan. Jika nilai i kalian ubah jadi nol(0) atau nilai lain di bawahnya, maka perulangan akan dilakukan tanpa henti. Bandingkan dengan ini.
#include <iostream>
int main(){
int i=1;
while(i<1){
std::cout << "kalimat ke-" << i;
}
return 0;
}
Contoh di atas hasilnya berbeda dengan saat menggunakan do while walaupun nilai i dan kondisinya sama. Itu karena pengecekan kondisi dari while ada di awal.
Sebaiknya jangan kalian ubah nilai variabelnya jadi "kurang dari 1", kecuali kalian mau melihat inifinite loop.