Perulangan (bagian 2): while dan do-while

Posted on   Februari 18, 2018   |   Last Modified   November 21, 2018

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.

Baca :   Perulangan (Bagian 1) - for

Contoh:

#include <stdio.h>

int main() {
    while(1) {
        printf("hello world");
    }
}

Cara untuk menghentikan perulangan tersebut adalah dengan menekan CTRL + C


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *