Belajar PHP & MySQL #3: Logika dan Perulangan
Heru Iryanto
Teacher, Content Creator and Full-Stack DeveloperSejauh ini, website kita hanya mampu mencetak tulisan ke layar. Ia belum pintar. Ia belum bisa membedakan mana pengguna biasa dan mana seorang Admin. Untuk membuatnya cerdas, kita harus memasang Struktur Kendali Percabangan (Logika).
1️⃣ Struktur If / Else (Jika / Maka)
Ini adalah pilar logika dari seluruh perangkat lunak di planet bumi. Dari sistem lampu lalu lintas hingga kecerdasan buatan (AI) otonom di mobil Tesla, semuanya berakar dari pertanyaan sederhana: “Jika [KONDISI] terpenuhi, maka lakukan [AKSI A]. Jika tidak, lakukan [AKSI B]”.
Mari kita buat skrip kasir bioskop pada file ifelse.php:
<?php
$uang_pembeli = 50000;
$harga_tiket = 35000;
// Pertanyaan Logika:
// "Jika uang pembeli LEBIH BESAR atau SAMA DENGAN harga tiket..."
if ($uang_pembeli >= $harga_tiket) {
echo "Silakan masuk, uang Anda cukup!";
} else {
// Jika uangnya kurang, lemparkan ke blok ELSE ini!
echo "Maaf, uang Anda kurang. Silakan pulang!";
}
?>
Coba jalankan kode di atas di browser http://localhost/belajar_php/ifelse.php, lalu coba ubah isi variabel $uang_pembeli menjadi 10000 dan lihat bagaimana pesan di layar berubah secara otomatis!
Anda juga bisa menumpuk syarat menjadi berlapis-lapis menggunakan elseif. Buat file ifelseif.php:
<?php
$nilai_ujian = 75;
if ($nilai_ujian >= 90) {
echo "Nilai A - Sangat Baik!";
} elseif ($nilai_ujian >= 70) {
echo "Nilai B - Cukup Baik.";
} else {
echo "Nilai C - Anda harus mengulang tahun depan.";
}
?>
Jalankan di browser dengan http://localhost/belajar_php/ifelseif.php untuk melihat bagaimana logika percabangan bertingkat bekerja.
2️⃣ Operator Pembanding (Wajib Tahu!)
Di dalam kurung syarat if (...), kita menaruh simbol penimbangan matematika.
==: Sama dengan ukurannya. (Misal:if ($password == "rahasia"))!=: Tidak sama dengan / Berbeda dari.<: Lebih kecil dari.>: Lebih besar dari.>=: Lebih besar atau sama dengan.
3️⃣ Mesin Perulangan (Looping)
Misalkan Anda diminta oleh bos Anda untuk mencetak kalimat "Saya tidak akan telat lagi" sebanyak 100 kali.
Masa iya Anda harus mengetik perintah echo secara copy-paste berulang sebanyak 100 baris? Programmer sejati itu malas. Mari gunakan alat berat bernama FOR Loop. Mari buat file forloop.php dan ketik kode berikut:
<?php
// Logika FOR:
// (Mulai dari angka 1; Ulangi terus selama angkanya masih <= 10; Setiap kali putaran selesai, tambahkan angkanya + 1)
for ($i = 1; $i <= 10; $i++) {
echo "Saya tidak akan telat lagi - Hukuman ke " . $i . "<br>";
}
?>
(Catatan: $i++ artinya $i = $i + 1. Tanda <br> adalah tag HTML murni untuk membuat teks menumpuk ke bawah (Enter)).
Satu baris kode, mencetak 10 kali putaran secara instan!
Buka browser dan jalankan http://localhost/belajar_php/forloop.php untuk melihat bagaimana for loop bekerja.
4️⃣ Perulangan Sakti (Foreach Loop)
Di materi sebelumnya kita sudah mengenal Array (Kardus besar berisi banyak barang/data siswa).
Bagaimana cara mengeluarkan nama siswanya satu per satu agar tercetak rapi di layar dalam bentuk tabel berurutan? Kita gunakan perulangan yang memang diciptakan khusus untuk membongkar kotak Array: foreach. Mari buat file foreachloop.php dan ketik kode berikut:
<?php
// Kotak array berisi 3 nama
$murid_baru = ["Andi", "Budi", "Caca"];
// Membaca: "Tolong bongkar isi kotak $murid_baru.
// Setiap satu barang yang dikeluarkan, tolong pegang/simpan sementara ke dalam variabel satuan bernama $nama_satuan".
foreach ($murid_baru as $nama_satuan) {
echo "Selamat datang murid baru bernama: " . $nama_satuan . "<br>";
}
?>
Perulangan foreach sangat ajaib. Ia akan otomatis mencari tahu berapa jumlah barang di dalam array (tanpa Anda harus menyebutkan angkanya). Jika ada 3 barang, ia akan berputar 3 kali lalu berhenti sendiri!
Buka browser dan jalankan http://localhost/belajar_php/foreachloop.php untuk melihat bagaimana foreach loop bekerja.
🗽 Kesimpulan
Gabungan antara If/Else dan Foreach adalah pondasi saat kita menarik data dari Database MySQL. Kita akan menggunakan Foreach untuk mencetak ratusan Card Berita Bootstrap, lalu kita beri If (Misal: Jika kategori beritanya Olahraga, warnai kartu Bootstrap-nya jadi Biru).
Tetapi program kita belum benar-benar interaktif, karena kita sebagai Programmer masih mengatur angkanya ($uang_pembeli = 50000;) secara manual di belakang layar.
Bagaimana caranya agar pengunjung website bisa mengetikkan angka tersebut secara mandiri di form HTML? Mari temukan portal komunikasi rahasianya di materi selanjutnya yaitu Menangkap Data Form HTML.
