Dalam pembuatan program, ada saatnya kita butuh suatu percabangan, yakni jika sebuah kondisi terpenuhi, jalankan kode program ini, jika tidak jalankan kode program yang lain. Untuk membuatnya, diperlukan percabangan kondisi if.
Melanjutkan tutorial belajar PHP di Duniailkom ini, kita akan masuk ke materi tentang pengertian dan cara penulisan struktur IF dalam PHP.
Pengertian Struktur If Bahasa PHP
Struktur IF adalah sebuah struktur logika untuk membuat percabangan alur program. Dengan menggunakan struktur if, kita dapat mengatur sebuah perintah akan dijalankan atau tidak tergantung kepada kondisinya.
Sebagai contoh, jika nama user adalah "Andi"
, maka tampilkan kata "Selamat Datang, Andi"
. Berikut penulisannya di PHP:
<?php $nama="Andi"; if ($nama=="Andi") echo "Selamat datang Andi, di duniailkom..."; ?>
Saat kode diatas dijalankan, di web browser akan tampil "Selamat datang Andi, di duniailkom..."
, namun apabila kita mengganti kode program diatas menjadi:
<?php $nama="Joni"; if ($nama=="Andi") echo "Selamat datang Andi, di duniailkom..."; ?>
Maka tidak ada tampilan apa-apa di dalam web browser.
Struktur logika IF setidaknya butuh 2 input, yaitu ekspresi logika (expression) sebagai tempat untuk membuat kondisi yang harus dipenuhi, dan perintah yang akan dijalankan (statement) jika kondisi logika tersebut terpenuhi.
Berikut struktur dasar penulisan alur logika IF di bahasa PHP:
if (expression) statement
Expression adalah kondisi yang harus dipenuhi agar statement dapat berjalan. Hasil dari expression harus tipe boolean atau kode lain yang menghasilkan nilai boolean. Selama expression bernilai true, maka statement akan dijalankan, namun jika nilainya false, statement tidak akan berjalan.
Ketika membuat kode program, biasanya kita memakai operasi perbandingan sebagai expression. Namun itu tidak harus, bisa juga berbentuk variabel yang menghasilkan nilai boolean. Perhatikan contoh berikut ini:
<?php if (TRUE) echo "Selamat datang Andi, di duniailkom..."; ?>
Saat dijalankan, kalimat "Selamat datang Andi, di duniailkom..."
akan selalu tampil di web browser, karena kondisi IF akan selalu terpenuhi.
Bahasa pemrograman PHP juga memiliki fitur yang dikenal dengan istilah type juggling, yakni kondisi dimana sebuah tipe data akan dikonversi tergantung situasinya. Dengan fitur ini, expression untuk percabangan kondisi IF juga bisa di isi dengan tipe data selain boolean. Berikut contohnya:
<?php if (9) echo "Selamat datang Andi, di duniailkom..."; ?>
Perintah echo akan dijalankan karena angka integer 9 akan dikonversi menjadi boolean true. Lebih lanjut tentang konversi tipe data ini telah kita bahas pada Cara Mengubah Tipe Data PHP (Type Juggling dan Type Casting)
Aturan Penulisan Struktur If Bahasa PHP
Penulisan sederhana dari struktur if dalam bahasa pemrograman PHP adalah sebagai berikut:
<?php if (expression) statement; ?>
Expression ditulis di dalam tanda kurung dan tidak diikuti dengan titik koma(;).
Apabila statement yang ingin dijalankan terdiri dari 2 baris atau lebih, kita harus memberikan tanda kurung kurawal untuk menandai statement yang berhubungan dengan kondisi IF:
<?php if (expression) { statement1; statement1; } ?>
Tanda kurung kurawal menandakan blok perintah yang dijalankan jika expression bernilai true.
Kita juga bisa membuat beberapa logika IF sekaligus untuk berbagai situasi:
<?php if (expression1) { statement1; statement2; } if (expression2) { statement3; statement4; } ?>
Untuk kasus yang lebih spesifik, juga bisa membuat struktur IF di dalam IF atau dikenal dengan nested IF:
<?php if (expression) { statement1; if (expression) { statement1; } } ?>
Bahasa PHP tidak membatasi berapa banyak kondisi IF di dalam IF boleh ditulis. Namun saat membuat struktur IF yang kompleks, tanda kurung kurawal harus selalu diperhatikan karena sering membuat bingung jika tidak dikelola dengan benar. Kesalahan penutupan kurung kurawal akan membuat program tidak berjalan sesuai keinginan kita.
Alternatif Penulisan Struktur Logika If
Selain memakai tanda kurung kurawal sebagai tanda awal dan akhir IF, PHP menyediakan cara penulisan alternatif untuk menandai akhir perintah IF, yaitu diawali dengan tanda titik dua (:) dengan diakhiri dengan perintah endif
.
Berikut adalah format dasar penulisan IF:
<?php if (expression) : statement1; statement1; endif ?>
Perbedaan mendasar cara penulisan ini ada di tanda titik dua (:) setelah penulisan expression, serta kata kunci endif
di akhir statement.
Kita bebas menggunakan format penulisan logika IF yang disediakan. Beberapa programmer menggunakan alternatif penulisan IF dengan endif
 karena dianggap lebih rapi.
Struktur logika IF di PHP juga memiliki percabangan kedua seandainya kondisi expression tidak terpenuhi. Dalam tutorial PHP selanjutnya kita akan mempelajari struktur logika IF – ELSE.
Kalau menampilkan pada kategori tertentu gmn tuh gan? thanks
Maksudnya bagaimana ni gan? apakah ini kategori tertentu di dalam CMS seperti wordpress atau joomla?
Jika iya, untuk hal ini akan lebih mudah dengan menggunakan plugin/extension pada CMS tersebut daripada menggunakan logika IF PHP, karena kita harus mempelajari struktur dasar CMSnya.
Terima kasih Dunia ILkom telah membantu saya belajar bahasa2 pemograman.
Semoga tuhan yang membalas.
Dunia iLkom KEREN BANGET…………….:D
Terima kasih atas doanya.. :)
Saya juga senang tutorial di duniailkom ini bisa bermanfaat. Semoga tetap terus berkarya dan belajar pemrograman lebih jauh lagi
function my_recent_posts_shortcode($atts){
$q = new WP_Query(
array( 'orderby' => 'date', 'posts_per_page' => '5')
);
$list = '<table style="width:100%">
<tr>';
while($q->have_posts()) : $q->the_post();
$list .= '<td align="center">' . get_the_post_thumbnail($post_id, array( 108, 121)) . '<br />' . '<a href="' . get_permalink() . '">' . get_the_title() . '</a>' . '<br />' . '</td>';
endwhile;
wp_reset_query();
return $list . '</tr>
klo kodenyaa kyk gtu, misal mw d bikin jd masing" 5 gambar dalam 3 kolom gmna kak?? mohon penjelasannyaa ea..
Itu kode template WordPress y sis? untuk membuat theme wordpress, mau g mau harus pelajari seluruh syntaxnya dulu, selain itu pengaturan tampilan theme ditentukan juga oleh struktur HTML dan CSSnya.
Jadi saya belum bisa bantu nih, soalnya mesti pelajari seluruh kode HTML, CSS dan PHPnya juga (butuh waktu yg tidak sebentar)
Hello.. salam kenal.
Misal saya ingin membuat program membership, dimana ada berbagai level keanggotaan, misalkan level 1, level2, level 3, level 4 dst. Untuk masing2 member tersebut mempunyai hak akses terhadap menu yang ada. Bila dicontohkan:
Level 1 hanya bisa akses menu untuk level 1 saja,
Level 2 bisa akses menu untuk level 2 dan juga level 1
Level 3 bisa akses menu untuk level 3 dan juga level 1&2
Level 4 bisa akses menu untuk level 4 dan juga level 1, 2 & 3.
dst..
Fungsi apakah yang bisa saya gunakan?
Selama ini saya hanya memiliki script dengan 2 level saja, aktif dan non aktif, dimana saya menggunakan perintah IF.
Namun saya ingin mengembangkannya menjadi beberapa level lebih banyak lagi, jadi nanti bisa di akses setelah mencapai peringkat director, diamond dst.
Mohon Pencerahannya ya..
Matur nuwun
Untuk membuat website seperti itu cukup kompleks mas, perlu pengetahuan mendalam tentang HTML, CSS dan PHP. Struktur IF disini hanya sebagian kecil dari kode program yang dibutuhkan. Nanti ada lagi fitur cookie untuk "mengingat" user yang telah login. Belum lagi dari sisi databasenya.
Perlu waktu lama untuk bisa membuat web seperti itu mas, mungkin bisa cari jasa programmer professional untuk membuatnya.
kak mw tanya , jika menampilkan data jika jumlah data itu kurang dari 10 maka tulisanya berwarna merah , gmn logikanya ya kak? mhon bntuanya ya kak :(
Datanya darimana nih? Kalau dari database, tentu harus membuat kode program untuk mengambil dari database dulu, lalu menghitung jumlah data yang ada.
Untuk membuat tulisannya berwarna merah, itu udah bagiannya HTML dan CSS, bukan di PHP (Sebelum belajar PHP sebaiknya sudah paham tentang HTML dan CSS dulu). Misalnya bisa seperti ini:
<?php
$jumlah_data = 4;
if ($jumlah_data < 10) {
echo "<p style='color:red'>Data 1</p>";
echo "<p style='color:red'>Data 2</p>";
echo "<p style='color:red'>Data 3</p>";
echo "<p style='color:red'>Data 4</p>";
}
?>
klo misalanya aku punya 68 category item.
trus kan code nya gini
if( category == 1){
echo "1"
}
elseif(category == 2 {
echo "2"
elseif( *sampe 68*)
Kira2 ada cara penulisannya yg lebih efektif ng?
Solusi pertama bisa menggunakan struktur switch case gan (akan dibahas di part selanjutnya). Atau jika kondisinya relatif sederhana seperti itu, kita bisa menggunakan perulangan (tergantung kerumitan).
gimana caranya nampilin bilangan prima ?
Kode progamnya ditampung dulu y gan…
codding perulangan bilangan ganjil ?
Kode progamnya ditampung dulu y…
Tapi jika saat ini sedang belajar di IT / Mahasiswa IT, seharusnya bisa buat sendiri tuh sis. Soalnya cukup sederhana, tinggal menggunakan operator modulus (mod). Jika hasil mod 2 tidak sama dengan 0, artinya itu angka ganjil. Jika angka habis dibagi 2, itu artinya angka genap,
web nya keren , bagus untuk yang masih belajar :D
Siip gan, semoga tutorial yang ada bisa bermanfaat…
SIppp
terima kasih ilmunya
Siip, semoga bisa bermanfaat..
mas, mau tanya dong, kan saya buat percabangan if di laptop saya, lancar-lancar saja berfungsi dengan baik, tapi ketika di komputer atau laptop lain malah ga jalan, yang keluar cuma codingan phpnya doang itu kenapa ya?
Kalau yang keluar kodingan PHPnya, itu berarti file PHP tidak dijalankan di XAMPP, tidak berakhiran .php, atau alamatnya tidak menggunakan localhost.
Sudah semua, xampp aktif, extensionnya .php, alamatnya sudah pakai localhost, tapi tetap yang keluar codingan php nya
Kurang tau juga nih kalau semuanya sudah OK… Tapi bisa coba pakai web browser lain, atau pakai file PHP yang lain…
mas mau tanya, apakah pada penulisan endif sahsah saja tidak diakhiri ; (titik koma) ??? soalnya saya lihat ada juga yg mengakhri menggunakan titik koma,
Btw penjelasannya sangat membantu dan mudah dipahami :)
Oh ya, betul. Malah sebenarnya endif harus diakhiri dengan tanda titik koma, kecuali endif itu langsung diikuti tag penutup PHP ?>.
Apabila didalam if else condition ingin mengeluarkan statement merubah background color itu seperti apa ya syntax nya? (lebih tepatnya merubah cell pada tabel yang tabel tersebut memiliki if else)
membantu sekali, terima kasih gan
harus dipraktekan terus ya biar nempel dikepala.
min, saya belajar membuat kode agar link tidak bisa di akses kecuali dari website itu sendiri dan berhasil.
tapi ketika saya menambahkan kode untuk mengizinkan domain lain supaya bisa mengakses linknya, malah gagal.
ini kode aslinya
<?
$me=$_SERVER["SERVER_NAME"];
$re=$_SERVER[HTTP_REFERER];
$ree=explode('/',$re);
$ref=$ree[2];
if($ref!=$me){
header("Location: http://domain.com/pemberitahuan.php?p=$re&s=$ref&a=$me");
exit();
}
?>
dan setelah saya menambahkan kode pada IF yang akhirnya gagal,
<?
$me=$_SERVER["SERVER_NAME"];
$re=$_SERVER[HTTP_REFERER];
$ree=explode('/',$re);
$ref=$ree[2];
if(($ref!=$me)OR($ref!="domain.com")){
header("Location: http://domain.com/pemberitahuan.php?p=$re&s=$ref&a=$me");
exit();
}
?>
bagaimana jalan keluarnya, supaya saya bisa mengizinkan domain lain untuk mengaksesnya?
Asli masih belum paham sama sekali :( bikin pusing
Terima kasih atas tutorial nya, saya akan coba sedikit2 memahami heheh
kak mau tanya, ini saya pengen buat menu daftar yang dipencet langsung menuju ke daftar itu gimana ya kak
<div class="kotak_login">
<p class="tulisan_login">silahkan login</p>
<form method="post" action="lanjutan.php">
<label>Username</label><br>
<input type="text" name="username" placeholder="Username"><br><br>
<label>Password</label><br>
<input type="password" name="password" placeholder="Password"><br><br>
<button type="reset">Login</button>
<body>
<button type="submit">Daftar</button>
<?php
$menudaftar = "Daftar";
// atau $menu = $_SESSION['menu'];
// Jika user belum login
if ($menudaftar == "Daftar"){
echo "Daftar.css";
}else{
echo "menulogin.css";
}
?>
bang misalkan gini, kita punya saldo Rp.10000 terus kita belanjakan ke produk yang harganya Rp.15000 nah disitu kan harusnya gabisa belanja karna saldonya kurang, tapi punya ane pas belanja malah bisa, sedangkan saldo ane kurang, dan jadinya si sisa saldonya malah jadi min….tolong bantu ane bang yaaa :)
Proses pengurangan saldo itu bisa ditempatkan ke dalam kondisi if, jadi logikanya bisa seperti ini:
$saldo = 10000;
if (($saldo – 15000) < 0) {
echo "Saldo tidak cukup".
}
else {
// lanjutkan proses pembelian
}
Tapi kalau ini sudah aplikasi jadi (bukan buat sendiri), maka terpaksa harus pelajari seluruh kode program yang ada atau kontak programmer yang membuatnya.
PHP memang tampak rumit, tetapi jika kita Giat belajar saya yakin semua orang pasti bisa dengan mudah membuat website menggunakan php
Saya masih mau belajar nih bikin PHP dan tutorial web ini yang selalu saya kunjungi, terimakasih gan semoga makin sukses
Dulu pas smp seneng banget tuh belajaran php, ngoprek2 script autolike fb sampai sekarang pusing di python ??