IF Else Pada PHP

I. IF Else Pada PHP

Seperti pada terjemahan harfiah nya, if berarti jika, maka, jika kondisi yang dievaluasi bernilai TRUE, maka blok statement if akan dijalankan, sebaliknya statement ELSE yang akan dijalankan 
Jika digambarkan dalam sebuah flow chart, maka alur logika if else pada PHP atau bahasa pemrograman lain adalah sebagai berikut:
If Else Pada PHP Serta Elseif - Flowchart

II. Struktur Penulisan If Else Pada PHP

Struktur penulisan if else pada php dapat dibagi menjadi 3, yaitu
  1. Menggunakan kurung  kurawa: if ( ekspresi ) { statement }
  2. Menggunakan colon: if ( ekspresi ) statement endif
  3. Tidak menggunakan keduanya: if ( ekspresi ) statement
diantara ketiga cara penulisan tersebut, penggunaan kurung kurawa yang paling sering digunakan.
Contoh:
1. Menggunakan Kurung Kurawa (Braces)
if ($nilai > 8)  { 
 echo 'Sangat Baik';
}  else  {
 echo 'Baik';
}
2. Menggunakan Colon
if ($nilai > 8):
 echo 'Sangat Baik';
else:
 echo 'Baik';
endif;
3. Tanpa Menggunakan Keduanya
if ($nilai > 8)
 echo 'Sangat Baik';
else
 echo 'Baik';
4. Menggunakan Elseif
// Dengan Braces
if ($nilai >= 9) {
 echo 'Sangat Baik';
} else if ($nilai < 9 && $nilai >= 7) {
 echo 'Baik';
} else if ($nilai < 7 && $nilai >= 5) {
 echo 'Sedang';
} else {
 echo 'Kurang';
}

// Dengan Colon
if ($nilai >= 9): 
 echo 'Sangat Baik';
elseif ($nilai < 9 && $nilai >= 7):
 echo 'Baik';
elseif ($nilai < 7 && $nilai >= 5):
 echo 'Sedang';
else:
 echo 'Kurang';
endif;
Disamping itu juga terdapat cara singkat untuk menuliskannya yaitu menggunakan ternary operator (?:) yang pembahasannya dapat diikuti pada artikel: Penulisan If Else Pada PHP Dengan Ternary Operator ?:

III. Hal Hal Yang Perlu Diperhatikan

1If yang hanya terdiri dari SATU statement dapat ditulis tanpa kurung kurawal maupun colon

Statement If dapat berdiri sendiri, tidak harus digabungkan dengan else atau elseif, dan jika hanya terdiri dari SATU statement, maka dapat ditulis tanpa braces atau colon. Contoh:
$nilai = 7;
if ($nilai > 8) 
 echo 'Sangat Baik';
echo 'Baik';
Contoh diatas akan menghasilkan kata “Baik”, karena setelah melakukan evaluasi pada ekspresi ($nilai > 8) statement if hanya akan membaca baris echo 'Sangat Baik'; sedangkan baris berikutnya, yaitu: echo 'Baik'; merupakan script PHP biasa, bukan bagian dari statement if
Contoh Lain:
<?php
$nilai = 9;

// Sangat Baik
if ($nilai > 8) echo 'Sangat Baik';

/*
 Sangat Baik
 Baik
*/
if ($nilai > 8) 
 echo 'Sangat Baik<br/>';
echo 'Baik';

// Sangat Baik
if ($nilai > 8) { echo 'Sangat Baik'; }
?>

2Elseif atau Else If?

Ketika menulis if else pada PHP, kita bebas menggunakan keyword elseif atau else if (dengan pemisah spasi), TAPI perlu diperhatikan bahwa jika kita menggunakan colon ( : ) maka kita HARUS menggunakan elseif bukan else if, jika tidak, maka akan muncul pesan error. Contoh:
$nilai = 7;
if ($nilai >= 9): 
 echo 'Sangat Baik';
elseif ($nilai < 9 && $nilai >= 7):
 echo 'Baik';
elseif ($nilai < 7 && $nilai >= 5):
 echo 'Sedang';
else:
 echo 'Kurang';
endif;

3Keuntungan Menggunakan Colon ( : )

Manfaat penggunaan colon salah satunya adalah ketika kode yang kita tulis panjang hingga di editor perlu di scroll kebawah, maka akan memudahkan kita mengidentifikasi akhir dari statement if, karena penutupnya menggunakan endif; dibanding hanya sekedar kurung tutup ( } )  terlebih jika kode yang kita tulis merupakan kombinasi antara kode HTML dan PHP.
Contoh:
<?php
foreach ($posts as $post):
 if ($post['id'] == 2):?>
  <h1 class="post-title"><?=$post['title']?></h1>
  <p class="post-content"><?=$post['content']?></p>
  <div class="comments-container">
   <ul>
   <?php
   foreach ($comment[$post['id']] as $comment):
    if ($comment['publish'] == 3)
     continue;
    ?>
    <li>
     <p class="comment-title"><?=$comment['title']?></p>
     <p class="comment-content"><?$comment['content']?></p>  
    </li>
   <?php 
   endforeach?>
   </ul>
  </div>
 <?php
 endif;
endforeach;

4Apakah bracess dan colon dapat digabungkan?

Ketika menulis statement if else pada php, salah satu yang perlu diperhatikan adalah bahwa kita tidak dapat menggabungkan kurung kurawal dan colon dalam SATU statement if, sekali menggunakan colon harus diselesaikan dengan kolon, begitu sebaliknya dengan kurung kurawal. contoh:
<?php
$nilai    = 9;
$perilaku = 8

// Error
if ($nilai >= 9) :
 echo 'Sangat Baik';
else { 
 echo 'Sedang';
}

// Benar
if ($nilai >= 9) :
 if ($perilaku >= 9) {
  echo 'Sangat Baik';
 } else {
  echo 'Baik';
 }
else : 
 echo 'Sedang';
endif;

?>

IV. Standar Penulisan

Standar penulisan if else pada php seperti yang direkomendassikan oleh FIG (Framework Interoperability Group) dalam PSR-2 (PHP Standar Recomendation) adalah:
<?php
if ($expr1) {
    // if body
} elseif ($expr2) {
    // elseif body
} else {
    // else body;
}
Contoh:
if ($a != 2 && $a > 0) {
    $a = 2;
} else {
    $a = 7;
}
Penjelasan:
  • Gunakan elseif bukan else if
  • Gunakan kurung kurawal (braces) bukan titik dua (colon)
  • Statement ditulis TEPAT satu baris dibawah ekspresi
  • Perhatikan penggunaan spasi, terutama pada penulisan ekspresi, pisahkan variabel, operator pembanding, dan value dengan spasi, misal ($a != 2 && $a > 0), hal ini ditujukan agar kode lebih mudah dibaca.
Rekomendasi ini sebaiknya diterapkan, namun jika diperlukan silakan gunakan sesuai kebutuhan misal untuk penggunaan colon, selain itu beberapa developer lebih suka menggunakan pola seperti ini:
<?php
if ($expr1) 
{
    // if body
} 
elseif ($expr2) 
{
    // elseif body
} 
else 
{
    // else body;
}
kurung buka ditulis satu baris dibawah keyword dan statement ditulis dua baris dibawah keyword, hal ini akan lebih memperjelas pemisah antar keyword dan statement terutama jika kode yang kita tulis kompleks.

Komentar

Postingan Populer