Pemrograman terstruktur adalah sebuah paradigma pemrograman yang menekankan pada struktur kode yang jelas, logis, dan mudah dipahami. Konsep ini mulai populer seiring dengan munculnya kritik terhadap pemrograman spaghetti code yang dihasilkan oleh penggunaan GOTO yang berlebihan di masa awal pengembangan perangkat lunak. Dalam pemrograman terstruktur, alur kontrol program dibatasi hanya pada tiga struktur dasar: urutan (sequence), seleksi (selection, seperti if/else), dan perulangan (iteration, seperti for dan while).
Bahasa pemrograman seperti PHP sangat mendukung penerapan prinsip terstruktur ini. Dengan memecah logika aplikasi menjadi fungsi-fungsi yang lebih kecil dan mandiri, kode menjadi lebih modular, mudah diuji, dan tentu saja, lebih mudah untuk di-debug atau dikembangkan lebih lanjut oleh programmer lain.
Representasi Struktur Logika Kode
Untuk memahami contoh pemrograman terstruktur PHP, kita perlu melihat bagaimana struktur dasar diterapkan. Penggunaan fungsi (prosedural) adalah inti dari pendekatan ini, memungkinkan kita untuk mengelompokkan tugas tertentu tanpa harus bergantung pada konsep berorientasi objek (OOP) secara penuh, meskipun OOP juga inheren terstruktur.
Ini adalah eksekusi kode baris demi baris tanpa lompatan atau percabangan.
function hitungLuasPersegiPanjang($panjang, $lebar) {
$luas = $panjang * $lebar; // Urutan 1
return $luas; // Urutan 2
}
Menggunakan blok kondisional seperti if-elseif-else atau switch untuk menentukan alur eksekusi.
function cekStatusAngka($nilai) {
if ($nilai > 0) {
return "Positif";
} elseif ($nilai < 0) {
return "Negatif";
} else {
return "Nol";
}
}
Digunakan untuk mengulang blok kode selama kondisi tertentu terpenuhi, menggunakan for, while, atau foreach.
function tampilkanDeretAngka($batas) {
echo "Deret Angka: ";
for ($i = 1; $i <= $batas; $i++) {
echo $i . " ";
}
}
Berikut adalah contoh gabungan yang mendemonstrasikan pemanggilan fungsi-fungsi terstruktur di atas dalam skrip utama PHP. Perhatikan bagaimana program mengalir secara linear dari inisialisasi hingga hasil akhir tanpa menggunakan perintah GOTO.
<?php
// File: terstruktur_demo.php
// 1. Definisi Fungsi (Struktur Modul)
function hitungLuasPersegiPanjang($p, $l) {
return $p * $l; // Sequence
}
function cekKategoriUsia($usia) {
if ($usia >= 17) { // Selection
return "Dewasa";
} else {
return "Anak-anak";
}
}
function prosesDataPengguna($jumlah) {
echo "<p>Memproses $jumlah data:</p>";
for ($i = 1; $i <= $jumlah; $i++) { // Iteration
echo "Proses item ke: " . $i . "<br>";
}
}
// 2. Eksekusi Program Utama (Sequence)
$panjang = 10;
$lebar = 5;
$usiaUser = 22;
// Panggil fungsi dan tampilkan hasilnya
$luas = hitungLuasPersegiPanjang($panjang, $lebar);
$kategori = cekKategoriUsia($usiaUser);
echo "<h3>Hasil Perhitungan & Cek:</h3>";
echo "<p>Luas = " . $luas . "</p>";
echo "<p>Status Usia (" . $usiaUser . ") = " . $kategori . "</p>";
// Panggil fungsi perulangan
prosesDataPengguna(3);
?>
Contoh di atas menunjukkan bagaimana PHP dapat digunakan untuk menciptakan logika yang kuat menggunakan prinsip terstruktur. Setiap blok kode (fungsi) memiliki tugas tunggal yang jelas, membuat program mudah dipelihara dan diuji secara terisolasi. Meskipun PHP telah berkembang pesat dengan OOP dan Framework modern, pemahaman dasar tentang pemrograman terstruktur ini tetap menjadi fondasi penting bagi setiap developer.