Repetition


FOR

For loop digunakan ketika kita tahu sebelumnya berapa kali kita ingin melakukan pengulangan.

Syntax:

for (inisialisasi; kondisi; perubahan) {
    // blok kode yang akan diulang
}
  • Inisialisasi: ekspresi yang digunakan untuk menginisialisasi variabel penghitung.
  • Kondisi: ekspresi boolean yang digunakan untuk menentukan kapan loop akan berhenti.
  • Perubahan: ekspresi yang digunakan untuk mengubah variabel penghitung pada setiap iterasi.

Contoh

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        printf("%d ", i);
    }

    return 0;
}

Output

0 1 2 3 4 5 6 7 8 9
  • Pada contoh di atas, for loop akan diulang sebanyak 10 kali.
  • Variabel i diinisialisasi dengan nilai 0.
  • Kondisi i < 10 menentukan bahwa loop akan berjalan selama nilai i kurang dari 10.
  • Pada setiap iterasi, nilai i akan ditambahkan satu.

WHILE

While loop digunakan ketika kita tidak tahu sebelumnya berapa kali kita ingin melakukan pengulangan.

Syntax:

while (kondisi) {
    // blok kode yang akan diulang
}
  • Kondisi: ekspresi boolean yang digunakan untuk menentukan kapan loop akan berhenti.

Contoh

#include <stdio.h>

int main() {
    int i = 0;

    while (i < 10) {
        printf("%d ", i);
        i++;
    }

    return 0;
}

Output

0 1 2 3 4 5 6 7 8 9
  • Pada contoh di atas, while loop akan diulang selama nilai i kurang dari 10.
  • Variabel i diinisialisasi dengan nilai 0 dan ditambahkan satu pada setiap iterasi.

DO WHILE

Do While loop adalah loop yang mirip dengan while loop, tetapi blok kode dalam loop akan dijalankan setidaknya sekali, bahkan jika kondisi tidak benar.

Syntax:

do {
    // blok kode yang akan diulang
} while (kondisi);
  • Kondisi: ekspresi boolean yang digunakan untuk menentukan kapan loop akan berhenti.

Contoh

#include <stdio.h>

int main() {
    int i = 0;

    do {
        printf("%d ", i);
        i++;
    } while (i < 0);

    return 0;
}

Output

0

Perbandingan

#include <stdio.h>

int main() {
    int i = 0;

    while (i < 0) {
        printf("%d ", i);
        i++;
    }

    return 0;
}

Output

  • Output tidak ada karena kondisi diperiksa dulu di while. Nilai i adalah 0 sehingga tidak memenuhi kondisi yaitu i < 0.
  • Di do while, kita mendapatkan hasil 0 karena setidaknya loopnya dijalankan sekali.