Perulangan dengan `while`

while loop adalah salah satu struktur perulangan dasar dalam pemrograman. Loop ini memungkinkan kita untuk menjalankan sebuah blok kode berulang kali selama kondisi yang diberikan benar (true). Jika kondisi tersebut salah (false), loop akan berhenti.

Sintaks while Loop

Sintaks dasar dari while loop adalah sebagai berikut:

while (condition) {
    // blok kode yang akan dijalankan berulang kali
}
  • condition: Kondisi yang diperiksa sebelum setiap iterasi. Jika kondisi ini benar (true), maka blok kode di dalam loop akan dijalankan. Jika salah (false), loop akan berhenti.

Penjelasan dengan Contoh

Mari kita lihat beberapa contoh untuk lebih memahami bagaimana cara kerja while loop.

Contoh: Menampilkan Angka dari 1 hingga 10

$i = 1;
while ($i <= 10) {
    echo "Angka: $i <br>";
    $i++;
}

Penjelasan:

  1. Inisialisasi: $i = 1

    • Variabel $i diinisialisasi dengan nilai 1 sebelum loop dimulai.

  2. Kondisi: $i <= 10

    • Sebelum setiap iterasi, kondisi $i <= 10 diperiksa. Jika benar, blok kode di dalam loop dijalankan.

  3. Blok Kode: echo "Angka: $i <br>";

    • Blok kode ini dijalankan setiap kali kondisi benar. Ini akan mencetak nilai $i.

  4. Increment: $i++

    • Setelah setiap iterasi, nilai $i ditingkatkan dengan 1 ($i++).

Loop ini akan berjalan 10 kali, mencetak angka dari 1 hingga 10.

Contoh Lain

Contoh: Menghitung Jumlah Bilangan dari 1 hingga 100

$jumlah = 0;
$i = 1;
while ($i <= 100) {
    $jumlah += $i;
    $i++;
}
echo "Jumlah: " . $jumlah;

Penjelasan:

  • Inisialisasi: $i = 1

  • Kondisi: $i <= 100

  • Blok Kode: $jumlah += $i

    • Setiap iterasi, nilai $i ditambahkan ke variabel $jumlah.

  • Increment: $i++

Loop ini menjumlahkan semua angka dari 1 hingga 100 dan mencetak totalnya.

Contoh: Menampilkan Bilangan Genap dari 1 hingga 20

$i = 2;
while ($i <= 20) {
    echo "Bilangan Genap: $i <br>";
    $i += 2;
}

Penjelasan:

  • Inisialisasi: $i = 2

    • Variabel $i diinisialisasi dengan nilai 2.

  • Kondisi: $i <= 20

    • Loop akan berjalan selama $i kurang dari atau sama dengan 20.

  • Blok Kode: echo "Bilangan Genap: $i <br>";

    • Setiap iterasi, nilai $i yang genap dicetak.

  • Increment: $i += 2

    • Setelah setiap iterasi, $i ditambah 2.

Loop ini mencetak semua bilangan genap dari 2 hingga 20.

Penggunaan while Loop dalam Berbagai Situasi

Iterasi Melalui Array dengan Indeks

Kita dapat menggunakan while loop untuk mengiterasi elemen-elemen dalam array menggunakan indeks.

Contoh: Iterasi Melalui Array dengan while Loop

$buah = array("Apel", "Pisang", "Jeruk", "Mangga");
$i = 0;
while ($i < count($buah)) {
    echo "Buah: " . $buah[$i] . "<br>";
    $i++;
}

Penjelasan:

  • Inisialisasi: $i = 0

    • Mulai dari indeks 0.

  • Kondisi: $i < count($buah)

    • Loop berjalan selama $i kurang dari panjang array $buah.

  • Blok Kode: echo "Buah: " . $buah[$i] . "<br>";

    • Mencetak setiap elemen array $buah berdasarkan indeks.

  • Increment: $i++

    • Setelah setiap iterasi, nilai $i meningkat.

Nested while Loop (Loop Bersarang)

Kita dapat menggunakan loop di dalam loop untuk mengulang melalui struktur data yang lebih kompleks, seperti matriks atau array multidimensi.

Contoh: Menampilkan Matriks 2D

$matriks = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$i = 0;
while ($i < count($matriks)) {
    $j = 0;
    while ($j < count($matriks[$i])) {
        echo $matriks[$i][$j] . " ";
        $j++;
    }
    echo "<br>";
    $i++;
}

Penjelasan:

  • Inisialisasi: $i = 0, $j = 0

    • Loop luar mengontrol baris, loop dalam mengontrol kolom.

  • Kondisi: $i < count($matriks), $j < count($matriks[$i])

    • Loop berjalan selama masih ada baris dan kolom dalam matriks.

  • Blok Kode: echo $matriks[$i][$j] . " ";

    • Mencetak setiap elemen matriks.

  • Increment: $i++, $j++

    • Setelah setiap iterasi, nilai $i dan $j meningkat.

Loop bersarang ini mencetak setiap elemen dari matriks 2D, baris per baris.

Tips dan Praktik Terbaik

  1. Gunakan while Loop Ketika Jumlah Iterasi Tidak Diketahui: while loop sangat berguna ketika kita tidak tahu sebelumnya berapa kali kita ingin mengulangi suatu tindakan, misalnya ketika membaca data dari file atau input pengguna.

  2. Jaga Kebersihan Kode: Pastikan kode di dalam loop mudah dibaca dan dipahami. Gunakan komentar jika perlu.

  3. Hindari Loop Tak Terhingga: Selalu pastikan kondisi loop akan berubah menjadi false pada titik tertentu untuk menghindari loop yang berjalan tanpa henti.

  4. Optimalkan Kondisi Loop: Jika mungkin, hindari perhitungan berat dalam kondisi loop. Misalnya, simpan panjang array dalam variabel sebelum loop untuk menghindari pemanggilan fungsi count() berulang kali.

Dengan memahami dan menerapkan while loop dengan baik, Anda dapat menulis kode PHP yang efisien dan mudah dipahami.

Last updated