- Belajar menggunakan perulangan while untuk iterasi
- Mengenal struktur perulangan while
- Memahami perbedaan antara perulangan while dan for
- Mengenal direktif kontrol perulangan (break dan continue)
**Prerequisites:**
- Pemahaman tentang variabel dan tipe data
- Pemahaman dasar tentang kondisi dalam C
---END_LESSON_INFO---
# Perulangan While dalam C
**Perulangan while** dalam bahasa C digunakan untuk mengulang blok kode selama kondisi tertentu masih benar. Perulangan akan terus berjalan selama ekspresi kondisi mengevaluasi ke nilai benar (non-zero).
## Sintaks Perulangan While
```c
while (kondisi) {
// blok kode yang akan diulang
}
```
## Contoh Dasar Perulangan While
Berikut adalah contoh sederhana dari perulangan while:
```c
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
return 0;
}
```
**Output:**
```
1 2 3 4 5
```
## Perulangan While Tak Terbatas
Jika kondisi dalam perulangan while selalu benar, maka perulangan akan berjalan selamanya (infinite loop):
```c
while (1) {
printf("Loop tak terbatas\\n");
// Perulangan ini akan berjalan selamanya
}
```
## Direktif Kontrol Perulangan
### Break
**Keyword `break`** digunakan untuk keluar dari perulangan sebelum kondisi menjadi salah:
```c
int i = 1;
while (i <= 10) {
if (i == 5) {
break; // Keluar dari perulangan ketika i = 5
}
printf("%d ", i);
i++;
}
```
**Output:**
```
1 2 3 4
```
### Continue
**Keyword `continue`** digunakan untuk melewati iterasi saat ini dan melanjutkan ke iterasi berikutnya:
```c
int i = 0;
while (i <5){
i++;
if (i == 3) {
continue; // Lewati iterasi ketika i = 3
}
printf("%d ", i);
}
```
**Output:**
```
1 2 4 5
```
## Contoh Nyata Penggunaan While Loop
Berikut adalah contoh penggunaan perulangan while dalam situasi nyata:
printf("Terlalu banyak percobaan salah. Akses ditolak.\\n");
}
}
return 0;
}
```
## Perbandingan While dan For
Perulangan while dan for memiliki tujuan yang sama tetapi digunakan dalam konteks berbeda:
- **While loop**: Digunakan ketika jumlah iterasi tidak diketahui sebelumnya
- **For loop**: Digunakan ketika jumlah iterasi diketahui atau menggunakan counter
Contoh konversi dari for ke while:
```c
// Menggunakan for loop
for (int i = 0; i <5;i++){
printf("%d ", i);
}
// Setara dengan while loop
int i = 0;
while (i <5){
printf("%d ", i);
i++;
}
```
## Do-While Loop
**Do-while loop** mirip dengan while loop, tetapi dengan satu perbedaan penting: **blok kode akan dieksekusi setidaknya sekali sebelum kondisi dicek**. Ini berarti bahwa kode dalam blok do akan selalu dijalankan setidaknya satu kali, bahkan jika kondisi awalnya salah.
### Sintaks Do-While Loop
```c
do {
// blok kode yang akan diulang
} while (kondisi);
```
### Contoh Do-While Loop
```c
#include <stdio.h>
int main() {
int i = 1;
do {
printf("%d ", i);
i++;
} while (i <= 5);
return 0;
}
```
**Output:**
```
1 2 3 4 5
```
Perbedaan utama antara while dan do-while adalah bahwa dalam do-while, blok kode akan dieksekusi setidaknya sekali, meskipun kondisi awalnya salah:
```c
int i = 10;
// While loop - tidak akan mengeksekusi blok kode
while (i <5){
printf("Ini tidak akan dicetak\\n");
}
// Do-while loop - akan mengeksekusi blok kode sekali
do {
printf("Ini akan dicetak sekali\\n");
} while (i <5);
```
## Contoh Nyata Penggunaan While Loop
Berikut adalah contoh penggunaan perulangan while dalam situasi nyata: