PHP 5 Struktur Kontrol Pemrograman PHP
PHP 5 Struktur Kontrol Pemrograman PHP
Struktur logika if dipakai untuk mengatur kapan sebuah kode program akan dijalankan.
Sebagai contoh, saya bisa menampilkan seluruh tabel mahasiswa hanya untuk user bernama
"admin". Jika user bukan "admin", tabel tidak akan ditampilkan. Berikut contoh penulisannya:
Dalam contoh ini, saya membuat operasi perbandingan antara isi variabel $user dengan string
"admin". Jika cocok, tampilkan isi tabel.
Penulisan struktur if setidaknya butuh 2 bagian, yakni kondisi (atau disebut juga sebagai
expression) dan statement:
Statement bisa terdiri dari satu, dua atau ratusan baris perintah PHP. Baris ini hanya akan
dijalankan selama kondisi bernilai true. Jika kondisi menghasilkan nilai false, statement tidak akan
di proses. Tanda kurung kurawal '{' dan '}' menandakan blok kode program yang akan diproses ketika
kondisi terpenuhi (kondisi bernilai true).
Kondisi yang ingin diproses haruslah bertipe boolean atau 'sesuatu' yang menghasilkan
boolean true atau false. Perhatikan kode berikut:
<?php
$user = "guest";
if ($user=="admin") {
echo "Selamat datang Admin!";
}
?>
Dapatkah anda menebak apa hasil yang akan tampil? Yup, tidak ada tampilan sama sekali.
Ini terjadi karena kondisi $user=="admin" akan menghasilkan false. Variabel $user saat ini
berisi string 'guest', bukan "admin". Teks "Selamat datang Admin!" baru akan tampil ketika
saya mengubah kode di atas menjadi:
<?php
$user="admin";
if ($user=="admin") {
echo "Selamat datang Admin!"; // Selamat datang Admin!
}
?>
Biasanya kita hanya memakai operasi perbandingan untuk menentukan kondisi, seperti if
($password=="1234"), atau if ($user<>"admin"). Namun karena efek type juggling, kita
juga menulis kondisi seperti berikut:
<?php
if (9) {
echo "Selamat datang Admin!";
}
?>
Perintah echo "Selamat datang Admin!" akan di proses karena integer 9 otomatis dikonversi
PHP menjadi boolean true.
Khusus untuk statement yang hanya terdiri dari 1 baris, tanda kurung kurawal boleh tidak
ditulis seperti berikut:
<?php
$user = "admin";
if ($user == "admin")
echo "Selamat datang Admin!"; // Selamat datang Admin!
?>
Latihan Soal:
1. Algoritma
a. Mula-mula Variabel semester=0, dan pesan=” “ (masih kosong)
b. Masukan jumlah semester
c. Jika tombol Cek di klik maka
d. Baca variabel semester yg diinput (nilai pada elemen semester ditampung pada variabel
smtr)
e. Jika smtr lebih besar dari 8 maka
Variabel pesan1=”Masa Studi Telah Expired”
Variabel pesan2=”Silakan Tranfer ke PT Lain”
f. Tampilkan Nilai Variabel :
- $pesan1 pada elemen pesansatu, dan
- $pesan2 pada elemen pesandua
g. Selesai
2. Flowcharat
3. Desain Interface
4. Script logika pemrograman (bahasa PHP)
<?php
$smtr =0;
$pesan1 = "";
$pesan2 = "";
if (isset($_POST['cek'])) { //jika tombol cek diklik
$smtr = $_POST['semester'];
if ($smtr > 8) {
$pesan1 = "Masa Studi Telah Expired";
$pesan2 = "Silakan Transfer ke PT Lain";
}
}
?>
Namun penulisan seperti tidak disarankan. Karena jika suatu saat kita ingin menambah
statement baru dan lupa menulis kurung kurawal, akan menghasilkan error atau menampilkan hasil
yang berbeda. Tipsnya agar selalu menulis kurung kurawal untuk setiap blok if.
Multiple IF
Kita juga bisa menulis beberapa kondisi if untuk membuat percabangan kode program seperti
contoh berikut:
Untuk kasus yang lebih spesifik, bisa juga membuat struktur if di dalam if. Ini dikenal sebagai
nested IF atau IF bersarang. Berikut contohnya:
PHP tidak membatasi berapa banyak kondisi if di dalam if (nested if). Namun perlu diperhatikan
apabila kita membuat struktur if yang kompleks, tanda kurung kurawal harus dikelola dengan benar.
Salah menutup kurung kurawal akan menghasilkan error atau kode
program tidak berjalan seperti yang diharapkan. Whitespace juga bukan suatu keharusan. Ketiga gaya
penulisan ini identik dan bisa dipakai:
Alternatif Penulisan Struktur IF
Selain menggunakan kurung kurawal, PHP juga menyediakan cara penulisan alternatif untuk
mengawali blok kondisi if, yakni dengan tanda titik dua (:) dan diakhiri dengan endif. Berikut
format dasar penulisannya:
Perbedaan cara penulisan ada di tanda titik dua (:) setelah kondisi, dan keyword endif di akhir
statement.
Cara penulisan seperti ini cocok jika blok kondisi if cukup rumit dan di dalamnya juga terdapat
struktur program lain seperti perulangan. Kode program aplikasi WordPress juga
menggunakan cara penulisan seperti ini.
Struktur Logika ELSE dan ELSE IF
Pada dasarnya, struktur logika else dan else if adalah perpanjangan dari struktur if. Bagian
else dijalankan ketika kondisi if tidak sesuai atau menghasilkan nilai false. Berikut contohnya:
<?php
$user="guest";
if ($user=="admin"){
echo "Selamat datang Admin!";
}
else {
echo "Maaf, anda bukan Admin";
}
?>
Kode program di atas akan menampilkan teks "Maaf, anda bukan Admin". Ini karena variabel
$user tidak berisi "admin" sehingga kondisi $nama=="admin" akan menghasilkan boolean false.
Multiple ELSE dan ELSE IF
Untuk kode program yang lebih kompleks, kita bisa mengkombinasikan beberapa struktur else if
seperti contoh berikut:
<?php
$user="guest";
if ($user=="admin"){
echo "Selamat datang Admin!";
}
else if ($user=="user"){
echo "Selamat datang User";
}
else if ($user=="guest"){
echo "Selamat datang Tamu";
}
else {
echo "Maaf, saya tidak kenal anda";
}
?>
Silahkan pelajari sebentar kode program di atas, kemudian coba ubah variabel $user menjadi string
"admin", "user", atau string sembarang. Selain itu, perhatikan juga saya menulis "else if" (dengan
spasi). Penulisan ini juga bisa disambung menjadi "elseif".
Alternatif Penulisan Struktur IF ELSE
Sama seperti struktur if, PHP juga menyediakan alternatif penulisan selain dengan tanda
kurung kurawal:
Khusus untuk cara penulisan di atas, kita tidak bisa memisahkan penulisan else-if menjadi
"else if", tetapi harus ditulis menyatu menjadi "elseif".
<?php
$status = "";
if (isset($_POST['cek'])) { //jika tombol cek di klik
$user = $_POST['username'];
if ($user=="Dosen"){
echo "Selamat datang Dosen!";
$status = "Anda Login Sebagai Dosen";
}
else if ($user=="Mahasiswa"){
echo "Selamat datang Mahasiswa!";
$status = "Anda Login Sebagai Mahasiswa";
}
else if ($user=="BAAK"){
echo "Selamat datang BAAK!";
$status = "Anda Login Sebagai BAAK";
}
else {
echo "Maaf, Username tidak dikenal ";
$status = "Anda Tidak diijinkan Login ...!";
}
}
?>