Struktur kontrol pertama yang akan kita bahas adalah struktur logika IF. Di dalam tutorial belajar PHP kali ini kita akan mempelajari Pengertian dan Cara Penulisan Struktur IF dalam PHP.
Pengertian Struktur IF dalam PHP
Pengertian Struktur IF dalam bahasa pemograman adalah sebuah struktur logika untuk membuat percabangan alur program. Secara sederhananya, dengan menggunakan struktur IF kita dapat mengatur apakah sebuah perintah akan dijalankan atau tidak tergantung kepada kondisinya.
Sebagai contoh kita ingin membuat program sederhana, jika nama user adalah “Andi”, maka tampilkan kata “Selamat Datang, Andi”. Berikut adalah penulisannya di dalam PHP:
<?php $nama="Andi"; if ($nama=="Andi") echo "Selamat datang Andi, di duniailkom..."; ?>
Jika anda jalankan kode program diatas, maka di web browser akan tampil “Selamat datang Andi, di duniailkom...”, namun apabila anda mengganti kode program diatas menjadi:
<?php $nama="Joni"; if ($nama=="Andi") echo "Selamat datang Andi, di duniailkom..."; ?>
Maka tidak akan ada tampilan apa-apa di dalam web browser.
Struktur logika IF setidaknya membutuhkan 2 inputan, yaitu ekspresi logika (expression) dimana berisi kondisi yang harus dipenuhi, dan perintah yang akan dijalankan (statement) jika kondisi logika tersebut terpenuhi.
Berikut adalah struktur dasar penulisan alur logika IF dalam PHP:
if (expression) statement
Expression dalam hal ini adalah kondisi yang harus dipenuhi agar statement dapat dijalankan. Hasil dari expression harus tipe boolean. Selama hasil expression bernilai TRUE, maka statement akan dijalankan, namun jika nilainya FALSE, maka statement tidak akan dijalankan.
Dalam pembuatan program, biasanya digunakan operasi perbandingan sebagai expression. Pada contoh kita pertama, expression kita adalah $nama==”Andi”, yang bermaksud bahwa jika isi variabel $nama sama dengan “Andi” maka jalankan perintah echo.
Namun expression IF ini tidak harus berupa operasi perbandingan, namun bisa berupa variabel, yang selama hasilnya adalah TRUE, maka statement akan dijalankan. Perhatikan contoh berikut ini:
<?php if (TRUE) echo "Selamat datang Andi, di duniailkom..."; ?>
Jika anda menjalankan program tersebut, kalimat “Selamat datang Andi, di duniailkom…” akan selalu tampil di web browser, karena kondisi IF akan selalu terpenuhi.
Hasil expression harus bertipe boolean, namun dengan prinsip PHP yang menggunakan type juggling (dimana sebuah tipe data akan dikonversi tergantung situasinya), maka expression dalam percabangan IF ini bisa menggunakan tipe data selain boolean. Jadi anda bisa menulis seperti berikut:
<?php if (9) echo "Selamat datang Andi, di duniailkom..."; ?>
Perintah echo akan dijalankan, karena integer 9, akan dikonversi menjadi TRUE. Lebih lanjut tentang konversi tipe data ini telah kita bahas pada Tutorial Belajar PHP: Cara Mengubah Tipe Data PHP (Type Juggling dan Type Casting)
Aturan Penulisan Struktur IF dalam PHP
Penulisan sederhana dari struktur if 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. Berikut contoh strukturnya:
<?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, kita bisa membuat struktur IF didalam IF, atau dikenal dengan nested IF, seperti contoh berikut:
if (expression) { statement1; if (expression) { statement1; } } ?>
Seberapa banyak kondisi IF didalam IF (nested) tidak dibatasi dalam PHP, namun perlu diperhatikan penggunaan tanda kurung kurawal sebagai penanda bagian dari IF. Jika anda membuat struktur IF yang kompleks, tanda kurung kurawal ini akan membuat bingung jika tidak dikelola dengan benar. Kesalahan penutupan kurung kurawal akan membuat program tidak berjalan sesuai dengan keinginan.
Alternatif Penulisan Struktur Logika IF
Selain menggunakan tanda kurung kurawal sebagai tanda awal dan akhir IF, PHP menyediakan cara penulisan lain untuk menandai akhir perintah IF, yaitu diawali dengan tanda titik dua (:) dengan diakhiri dengan endif.
Berikut adalah format dasar penulisan IF:
<?php if (expression) : statement1; statement1; endif ?>
Perbedaan mendasar tentang cara penulisan ini ada di tanda titik dua (:) setelah penulisan expression, dan kata kunci endif di akhir statement.
Anda bebas menggunakan format penulisan logika IF yang disediakan. Beberapa programmer menggunakan alternatif penulisan IF dengan endif ini, karena dianggap lebih rapi.
Struktur logika IF ini juga memiliki percabangan kedua seandainya kondisi expression tidak terpenuhi. Dalam tutorial selanjutnya kita akan mempelajari struktur logika 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