Tutorial PHP #7: Perulangan: for, while, do while, foreach

1. Apa itu Perulangan?

Perulangan (loop) digunakan untuk mengeksekusi blok kode berulang kali selama kondisi tertentu terpenuhi. PHP menyediakan empat jenis loop: for, while, do...while, dan foreach.

2. for

Paling cocok ketika kamu tahu pasti berapa kali perulangan harus berjalan.

<?php
// Sintaks: for (inisialisasi; kondisi; increment/decrement)
for ($i = 1; $i <= 5; $i++) {
    echo "Iterasi ke-$i <br>";
}

// Contoh: menampilkan angka genap 1-10
for ($i = 2; $i <= 10; $i += 2) {
    echo $i . " ";
}
// Output: 2 4 6 8 10
?>

3. while

Cocok ketika kondisi berhenti ditentukan secara dinamis, bukan berdasarkan counter tetap.

<?php
$i = 1;
while ($i <= 5) {
    echo "Angka: $i <br>";
    $i++;   // PENTING: jangan lupa increment, atau loop tidak akan berhenti!
}

// Contoh praktis: baca data dari database
// while ($row = mysqli_fetch_assoc($result)) {
//     echo $row["nama"];
// }
?>

4. do...while

Mirip dengan while, tapi blok kode pasti dieksekusi minimal satu kali sebelum kondisi dicek.

<?php
$i = 1;
do {
    echo "Nomor: $i <br>";
    $i++;
} while ($i <= 5);

// Contoh: kondisi awal sudah false, tapi tetap dieksekusi sekali
$angka = 100;
do {
    echo "Ini tetap tampil sekali: $angka";
} while ($angka < 5);   // kondisi false, tapi kode sudah jalan
?>

5. foreach

Dirancang khusus untuk iterasi array. Paling sering dipakai dalam PHP.

<?php
// Iterasi array biasa
$buah = ["Apel", "Jeruk", "Mangga", "Pisang"];

foreach ($buah as $item) {
    echo "- $item <br>";
}

// Iterasi associative array (key => value)
$user = ["nama" => "Ariq", "umur" => 25, "kota" => "Semarang"];

foreach ($user as $key => $value) {
    echo "$key: $value <br>";
}
// Output:
// nama: Ariq
// umur: 25
// kota: Semarang
?>

6. break dan continue

Dua keyword untuk mengontrol alur perulangan:

<?php
// break: hentikan loop sepenuhnya
for ($i = 1; $i <= 10; $i++) {
    if ($i === 6) {
        break;   // hentikan loop saat i = 6
    }
    echo "$i ";
}
// Output: 1 2 3 4 5

echo "<br>";

// continue: lewati iterasi ini, lanjut ke berikutnya
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 === 0) {
        continue;   // lewati angka genap
    }
    echo "$i ";
}
// Output: 1 3 5 7 9
?>

7. Loop Bersarang (Nested Loop)

<?php
// Contoh: membuat tabel perkalian
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        echo "$i x $j = " . ($i * $j) . " | ";
    }
    echo "<br>";
}
// Output:
// 1 x 1 = 1 | 1 x 2 = 2 | 1 x 3 = 3 |
// 2 x 1 = 2 | 2 x 2 = 4 | 2 x 3 = 6 |
// 3 x 1 = 3 | 3 x 2 = 6 | 3 x 3 = 9 |
?>

8. Ringkasan

  • for - perulangan dengan jumlah yang sudah diketahui
  • while - perulangan berdasarkan kondisi, dicek di awal
  • do...while - minimal satu kali dieksekusi, kondisi dicek di akhir
  • foreach - khusus untuk iterasi array, paling sering dipakai
  • break menghentikan loop, continue melompati iterasi

Tutorial berikutnya membahas function di PHP.