Selamat datang kembali di seri pemrograman PHP setiap Jumat di sinapsains.com. Minggu lalu, kita udah belajar variabel, tipe data, dan operator dasar, plus cara setup PHP di WSL buat yang suka tantangan Linux di Windows. Sekarang, di Minggu 3, kita naik level: mengendalikan alur program! Bayangin, program PHP kamu kayak mobil pintar yang bisa belok sendiri berdasarkan kondisi jalan. Itu namanya struktur kontrol, seperti if-else buat keputusan, switch buat pilihan banyak, dan loop seperti for, while, do-while buat ulang-ulang tugas. Kita bakal bikin contoh seru kayak pengecekan nilai ujian atau kuis interaktif web. Plus, tips pake tools dari minggu sebelumnya seperti Laragon atau WSL. Siap bikin kode yang “hidup”? Yuk, mulai!
Kenapa struktur kontrol penting? Karena tanpa ini, program cuma jalan lurus kayak robot buta. Dengan if-else, program bisa bilang “kalau nilai di atas 80, lulus!” atau ulang bikin daftar nama siswa pake for. Ini bikin website kamu lebih interaktif, misal cek login atau tampilkan promo berdasarkan waktu. Di PHP, struktur ini gampang banget, mirip bahasa sehari-hari. Kita bahas satu-satu ya, lengkap sama contoh kode yang bisa kalian coba langsung di XAMPP, Laragon, atau WSL.
Struktur Kondisional: If, Else, dan Elseif
Mulai dari yang paling dasar: if statement. Ini kayak bilang “kalau begini, lakuin ini”. Sintaksnya sederhana:
if (kondisi) { // kode kalau kondisi benar }
Contoh: Cek apakah umur cukup buat masuk SMA.
<?php $umur = 16; if ($umur >= 15) { echo "Selamat, kamu bisa masuk SMA!"; } ?>
Kalau kondisi salah? Tambah else:
if ($umur >= 15) { echo "Selamat, masuk SMA!"; } else { echo "Maaf, masih SMP ya!"; }
Kalau kondisi lebih dari dua? Pakai elseif (atau else if):
$nilai = 75; if ($nilai >= 90) { echo "Nilai A: Luar biasa!"; } elseif ($nilai >= 75) { echo "Nilai B: Bagus!"; } elseif ($nilai >= 60) { echo "Nilai C: Cukup!"; } else { echo "Nilai D: Belajar lagi ya!"; }
Coba simpan sebagai nilai.php dan buka di browser. Ganti $nilai buat liat bedanya! Ini berguna buat web, misal tampilkan pesan beda berdasarkan input user. PHP pintar, kondisi bisa pake operator seperti >, <, ==, atau bahkan fungsi kayak date() buat cek waktu.
Switch: Pilihan Banyak Tanpa Ribet
Kalau kondisi banyak dan mirip, switch lebih rapi daripada if-else bertumpuk. Kayak menu pilihan: pilih satu, jalankan itu.
Sintaks:
switch (variabel) { case nilai1: // kode kalau cocok nilai1 break; case nilai2: // kode kalau cocok nilai2 break; default: // kalau nggak ada yang cocok }
Contoh: Cek hari dalam seminggu.
<?php $hari = "Senin"; switch ($hari) { case "Senin": echo "Mulai minggu baru, semangat!"; break; case "Jumat": echo "Yay, weekend sebentar lagi!"; break; default: echo "Hari biasa aja."; } ?>
Keunggulan switch: Cepat buat variabel string atau integer. Jangan lupa break, kalau nggak, kode lanjut ke case berikutnya (kadang berguna, tapi hati-hati!). Cocok buat menu navigasi web atau pilihan game sederhana.
Perulangan: For, While, Do-While – Ulang Sampai Puas!
Sekarang, bagian seru: loop atau perulangan. Bayangin mau tampilkan 10 nama siswa tanpa ketik ulang? Pakai loop!
Pertama, for loop: Tau berapa kali ulangnya.
Sintaks:
for (inisialisasi; kondisi; increment) { // kode ulang }
Contoh: Tampilkan angka 1-10.
for ($i = 1; $i <= 10; $i++) { echo $i . "<br>"; }
Kedua, while loop: Ulang selama kondisi benar, cek dulu sebelum jalan.
$hitung = 1; while ($hitung <= 5) { echo "Hitung ke-$hitung<br>"; $hitung++; }
Ketiga, do-while: Mirip while, tapi jalan dulu sekali, baru cek kondisi. Cocok kalau mau minimal satu kali.
$hitung = 1; do { echo "Hitung ke-$hitung<br>"; $hitung++; } while ($hitung <= 5);
Bedanya while dan do-while? Kalau kondisi awal salah, while nggak jalan, do-while jalan sekali. Berguna buat game loop atau tampil data dari database.
Break dan Continue: Kendalikan Loop Lebih Pintar
Dalam loop, kadang mau stop dini atau skip. Pakai break buat keluar loop total, continue buat skip iterasi sekarang dan lanjut berikutnya.
Contoh di for:
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) {
continue; // Skip 5
}
if ($i == 8) {
break; // Stop di 8
}
echo $i . "<br>";
}
Output: 1 2 3 4 6 7. Keren buat filter data!
Proyek Kecil: Kuis Interaktif Sederhana
Mari gabung semua! Bikin kuis web sederhana pake form HTML dan PHP. Simpan sebagai kuis.php:
<!DOCTYPE html> <html> <head><title>Kuis Sederhana</title></head> <body> <h2>Kuis: Apa Ibu Kota Indonesia?</h2> <form method="post"> <input type="radio" name="jawab" value="Jakarta"> Jakarta<br> <input type="radio" name="jawab" value="Bandung"> Bandung<br> <input type="radio" name="jawab" value="Surabaya"> Surabaya<br> <input type="submit" value="Jawab"> </form> <?php if (isset($_POST['jawab'])) { $jawab = $_POST['jawab']; switch ($jawab) { case "Jakarta": echo "Benar! Kamu dapat 10 poin."; break; default: echo "Salah! Coba lagi."; } } ?> </body> </html>
Coba di browser, pilih jawaban, submit. Ini gabung switch dan if! Tambah loop kalau mau multi soal.
Tips untuk Pemula di Tools Kita
- Di Laragon: Jalankan kuis di URL cantik kayak kuis.test.
- Di WSL: Edit file via VS Code extension WSL, akses localhost.
- Debugging: Pakai echo atau var_dump() buat cek kondisi di loop.
- Hindari infinite loop: Pastiin kondisi while/for berubah.
- Best practice: Pakai kurung kurawal {} selalu, meski satu baris, biar aman.
Penutup
Wah, struktur kontrol bikin PHP makin powerful! Kalian bisa bikin program yang pintar ambil keputusan dan ulang tugas otomatis. Di minggu depan, kita bahas fungsi biar kode lebih rapi. Eksperimen kode ini di rumah, share hasil di komentar sinapsains.com. Kalau stuck, cek forum atau tanya teman. Selamat coding, future programmer!
Referensi
- PHP Official Documentation. (2025). Control Structures. Diakses dari https://www.php.net/manual/en/language.control-structures.php
- W3Schools. (2025). PHP Loops. Diakses dari https://www.w3schools.com/php/php_looping.asp
- GeeksforGeeks. (2025). PHP Decision Making. Diakses dari https://www.geeksforgeeks.org/php/php-decision-making/
- Tutsplus. (2025). PHP Control Structures and Loops. Diakses dari https://code.tutsplus.com/php-control-structures-and-loops–cms-31999t
- Medium. (2025). Control Structures in PHP. Diakses dari https://medium.com/@olivia.j.01101001/control-structures-in-php-conditional-statements-and-loops-8255be58c87f