Selain for
, masih terdapat dua kata kunci lagi yang dapat digunakan untuk melakukan perulangan, yaitu while
dan do-while
.
Berikut bentuk pernyataan while
dan do-while
while(ekspresi) { //tulis perintah di sini }
do { } while(ekspresi);
Contoh perulangan while
:
#include <stdio.h> int main() { int i; // deklarasi variabel i i = 0; // memberikan nilai awal pada variabel i while(i < 10) { printf("%d ", i); ++i; // nilai pada variabel i ditambah 1 } return 0; }
Keluaran:
0 1 2 3 4 5 6 7 8 9
Sedikit berbeda dengan pernyataan for
, pada perulangan while
, variabel yang akan digunakan untuk ekspresi harus dideklarasi dan diberikan nilai sebelum pernyataan while
. Kemudian, nilai variabel yang digunakan pada ekspresi pernyataan while
dapat diubah di dalam blok pernyataan while
.
Contoh perulangan do-while
:
#include <stdio.h> int main() { int i; // deklarasi variabel i i = 0; // memberikan nilai awal pada variabel i do { printf("%d ", i); ++i; // nilai pada variabel i ditambah 1 } while(i < 10); return 0; }
Keluaran:
0 1 2 3 4 5 6 7 8 9
Contoh di atas menghasilkan keluaran yang sama dengan contoh pernyataan while
. Sedikit berbeda dengan perulangan while
, do-while
menjalankan semua perintah yang ada di dalam blok sebelum memeriksa ekspresi dan diakhiri titik koma.
Perhatikan kedua contoh di bawah untuk melihat perbedaan perulangan while
dan do-while
Contoh 1:
#include <stdio.h> int main() { int i; //deklarasi variabel i i = 0; //memberikan nilai awal pada variabel i while(i < 0) { printf("%d", i); } }
Contoh 2:
#include <stdio.h> int main() { int i; //deklarasi variabel i i = 0; //memberikan nilai awal pada variabel i do { printf("%d", i); } while(i < 0); }
Dari kedua contoh di atas, pada contoh pertama (perulangan while
) tidak terdapat keluaran apa-apa karena ekspresi pada while
menghasilkan 0 sehingga perintah yang ada di dalam while
tidak dijalankan. Sementara pada contoh kedua (perulangan do-while
), menghasilkan keluaran sebuah nilai 0 karena pernyataan do-while
menjalakan perintah-perintah yang ada di dalam blok pernyataan terlebih dahulu sebelum memeriksa ekspresi yang ada dalam while
.
Perulangan Tak Terbatas
Jika ekspresi pada pernyataan while
atau do-while
menghasilkan satu, maka perulangan akan terus dilakukan. Bagaimana jika ekspresi diganti langsung dengan nilai 1? Ya, akan terjadi perulangan yang terus menerus tanpa henti. Ini yang disebut perulangan tak terbatas.
Contoh:
#include <stdio.h> int main() { while(1) { printf("hello world"); } }
Cara untuk menghentikan perulangan tersebut adalah dengan menekan CTRL + C
Does your site have a contact page? I’m having a tough time
locating it but, I’d like to send you an email. I’ve got some recommendations for your blog
you might be interested in hearing. Either way, great blog and I
look forward to seeing it develop over time.