Loop C - While: Gerbang Anda ke Programming Berulang

Hai teman, superstar pemrograman masa depan! Siap untuk masuk ke dunia menakjubkan loop? Hari ini, kita akan menjelajahi salah satu konsep paling dasar dalam pemrograman: loop while di C. Percayalah, setelah Anda memahami ini, Anda akan merasa seperti Anda telah membuka kekuatan super dalam pemrograman!

C - While loop

Apa Itu Loop While?

Sebelum kita masuk ke detilnya, mari kita pahami apa itu loop while. Bayangkan Anda bermain permainan video di mana Anda harus mengalahkan 10 musuh untuk menyelesaikan level. Daripada menulis kode "serang" 10 kali, bagaimana kalau Anda bisa katakan, "Terus serang selama masih ada musuh"? Itu tepatnya apa yang dilakukan loop while dalam pemrograman!

Loop while memungkinkan Anda untuk mengulang blok kode selama kondisi tertentu masih benar. Itu seperti memberi perintah ke komputer Anda, "Hey, terus lakukan ini sampai saya memberitahu Anda untuk berhenti!"

Sintaks Loop while di C

Mari kita lihat struktur dasar loop while di C:

while (kondisi) {
// kode yang akan diulang
}

Itu saja! kondisi dicek sebelum setiap iterasi loop. Jika itu benar, kode didalam kurung kurawal {} dieksekusi. Proses ini berulang sampai kondisi menjadi false.

Diagram Alir Loop while di C

Untuk menggambar bagaimana loop while bekerja, mari kita lihat diagram alir:

┌─────────────┐
│   Start     │
└──────┬──────┘
│
▼
┌─────────────────┐
│ Check condition │
└────────┬────────┘
│
▼
┌───────────┐    No
┌───┤ Condition ├────────┐
│   │   true?   │        │
│   └───────────┘        │
│         │ Yes          │
│         ▼              │
│  ┌──────────────┐      │
│  │ Execute code │      │
│  └──────┬───────┘      │
│         │              │
└─────────┘              │
▼
┌──────────┐
│   End    │
└──────────┘

Diagram ini menunjukkan bahwa kondisi dicek pertama. Jika itu benar, kode dieksekusi, dan kemudian kita kembali untuk mengecek kondisi lagi. siklus ini terus berlanjut sampai kondisi menjadi false.

Bagaimana Loop while Bekerja di C?

Mari kita uraikan proses ini:

  1. Program menemukan loop while.
  2. Itu mengecek kondisi didalam kurung.
  3. Jika kondisi benar, itu dieksekusi kode didalam loop.
  4. Setelah menjalankan kode, itu kembali ke langkah 2.
  5. Jika kondisi false, itu melewatkan loop dan melanjutkan dengan sisa program.

Contoh Loop while di C

Waktu untuk contoh pertama! Mari kita buat program penghitung sederhana:

#include <stdio.h>

int main() {
int countdown = 5;

while (countdown > 0) {
printf("%d...\n", countdown);
countdown--;
}

printf("Luncurkan!\n");
return 0;
}

Output:

5...
4...
3...
2...
1...
Luncurkan!

Mari kita uraikan ini:

  1. Kita mulai dengan countdown = 5.
  2. Loop while mengecek jika countdown > 0 (itu benar).
  3. Itu mencetak nilai hitung mundur saat ini.
  4. Kita mengurangi countdown dengan 1 menggunakan countdown--.
  5. Langkah 2-4 terus berulang sampai countdown menjadi 0.
  6. Ketika countdown 0, kondisi menjadi false, dan kita keluar dari loop.
  7. Akhirnya, kita mencetak "Luncurkan!"

Menggunakan while sebagai Loop Kondisional

Loop while sangat cocok untuk situasi di mana Anda tidak tahu pasti berapa kali Anda perlu mengulang sesuatu. Mari kita lihat contoh di mana kita meminta pengguna untuk menebak sebuah angka:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
srand(time(0));  // Benih untuk generasi angka acak
int secret = rand() % 100 + 1;  // Angka acak antara 1 dan 100
int guess = 0;
int attempts = 0;

printf("Saya pikirkan angka antara 1 dan 100. Bisakah Anda menebaknya?\n");

while (guess != secret) {
printf("Masukkan tebakan Anda: ");
scanf("%d", &guess);
attempts++;

if (guess < secret) {
printf("Terlalu rendah! Cobalah lagi.\n");
} else if (guess > secret) {
printf("Terlalu tinggi! Cobalah lagi.\n");
}
}

printf("Selamat! Anda menebak angka dalam %d percobaan!\n", attempts);
return 0;
}

Dalam contoh ini, kita tidak tahu berapa banyak percobaan yang diperlukan pengguna, jadi loop while sangat cocok. Loop ini terus berlanjut sampai tebakan tidak cocok dengan angka rahasia.

Loop while dengan break dan continue

kadang-kadang, Anda mungkin ingin keluar dari loop lebih awal atau melompat ke iterasi berikutnya. Itu di mana break dan continue berguna.

break

Perintah break langsung keluar dari loop. mari kita lihat contoh:

#include <stdio.h>

int main() {
int i = 1;
while (1) {  // Ini membuat loop tak terbatas
printf("%d ", i);
if (i == 5) {
break;  // Keluar dari loop ketika i mencapai 5
}
i++;
}
printf("\nLoop berakhir!\n");
return 0;
}

Output:

1 2 3 4 5
Loop berakhir!

continue

Perintah continue melewatkan sisa iterasi saat ini dan melompat ke iterasi berikutnya. mari kita lihatnya dalam aksi:

#include <stdio.h>

int main() {
int i = 0;
while (i < 10) {
i++;
if (i % 2 == 0) {
continue;  // Lewati bilangan genap
}
printf("%d ", i);
}
printf("\nLoop berakhir!\n");
return 0;
}

Output:

1 3 5 7 9
Loop berakhir!

Contoh Lain Loop while di C

Mari kita lihat beberapa contoh lain untuk memperkuat pemahaman kita:

Contoh 1: Penjumlahan Angka

#include <stdio.h>

int main() {
int num, sum = 0;

printf("Masukkan angka untuk dijumlahkan (masukkan 0 untuk selesai):\n");

while (1) {
scanf("%d", &num);
if (num == 0) {
break;
}
sum += num;
}

printf("Jumlahnya: %d\n", sum);
return 0;
}

Program ini terus menambahkan angka sampai pengguna memasukkan 0.

Contoh 2: Deret Fibonacci

#include <stdio.h>

int main() {
int n, first = 0, second = 1, next;

printf("Masukkan jumlah deret Fibonacci yang ingin dihasilkan: ");
scanf("%d", &n);

printf("Deret Fibonacci:\n");

int i = 0;
while (i < n) {
if (i <= 1) {
next = i;
} else {
next = first + second;
first = second;
second = next;
}
printf("%d ", next);
i++;
}

printf("\n");
return 0;
}

Program ini menghasilkan deret Fibonacci hingga n angka.

Loop while vs. do while

Sebelum kita selesai, mari kita bandingkan loop while dengan saudaranya, loop do-while:

Fitur Loop while Loop do-while
Pengecekan Kondisi Di awal Di akhir
Minimum Eksekusi 0 (jika kondisi awal false) 1 (selalu dieksekusi sekurang-kurangnya sekali)
Sintaks while (kondisi) { ... } do { ... } while (kondisi);
Kasus Terbaik Ketika Anda tidak yakin apakah Anda perlu menjalankan loop sama sekali Ketika Anda tahu Anda perlu menjalankan loop sekurang-kurangnya sekali

Perbedaan utama adalah bahwa loop do-while selalu menjalankan blok kode sekurang-kurangnya sekali sebelum mengecek kondisi.

Dan itu saja, murid pemrograman saya! Anda baru saja membuka kekuatan loop while di C. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba konsep ini. Sebelum Anda tahu, Anda akan berulang seperti seorang pro! Selamat coding! ??

Credits: Image by storyset