Tutorial Belajar PHP Part 31: Pengertian dan Cara Penulisan Struktur Logika ELSE-IF dalam PHP

Struktur kontrol program IF terakhir yang akan kita bahas adalah stuktur ELSE-IF. Dalam tutorial PHP kali ini kita akan mempelajari tentang Pengertian dan Cara Penulisan Struktur Logika ELSE-IF dalam PHP.


Pengertian Struktur ELSE-IF dalam PHP

Stuktur ELSE-IF merupakan percabangan logika lanjutan dari IF. Dengan ELSE-IF kita bisa membuat kode program yang akan menyeleksi berbagai kemungkinan yang bisa terjadi. Berikut adalah contoh penggunaan ELSE-IF dalam PHP:

<?php
$a=15;
$b=8;

if ($a > $b) 
{
    echo "a lebih besar daripada b";
} 
elseif ($a == $b) 
{
    echo "a sama besar dengan b";
} 
else 
{
    echo "a lebih kecil daripada b";
}
?>

Dalam kode program diatas, saya membuat program sederhana untuk membandingkan 2 angka. IF pertama akan melakukan pengecekan apakah $a > $b, jika hasilnya adalah FALSE, maka masuk ke IF kedua (ditulis dengan elseif) apakah $a == $b, dan jika hasilnya adalah FALSE, maka dapat dipastikan $a < $b.

Jika anda bertanya apa perbedaan IF dengan ELSEIF, maka jawabanya terletak di efisiensi pemrosesan. Contoh diatas bisa juga kita buat tanpa menggunakan ELSEIF seperti berikut ini:

<?php
$a=15;
$b=8;

if ($a > $b) 
{
    echo "a lebih besar daripada b";
} 
if ($a == $b) 
{
    echo "a sama besar dengan b";
} 
else 
{
    echo "a lebih kecil daripada b";
}
?>

Perhatikan kode program pada baris ke-9, saya mengganti ELSEIF menjadi IF.

Perbedaannya adalah, untuk contoh kode PHP kita tanpa IF ini, seluruh kondisi akan dijalankan, walaupun sebenarnya tidak perlu. Jika $a=15 dan $b=8, maka kondisi IF pertama akan terpenuhi ($a > $b), dan kita ingin program PHP keluar dari IF. Namun karena perintah selanjutnya adalah IF, maka PHP akan tetap memeriksa apakah ($a == $b).

Lain halnya jika kita menggunakan perintah ELSEIF, maka ketika sebuah kondisi telah dipenuhi, PHP tidak perlu melakukan pengecekan terhadap kondisi IF lainnya.


Aturan Penulisan Struktur ELSE-IF dalam PHP

Dalam PHP, kita bisa menuliskan struktur ELSE-IF dengan elseif, atau else if (dipisahkan dengan spasi). Kedua bentuk ini dianggap sama.

Format dasar penulisan ELSE-IF adalah sebagai berikut:

<?php
if (expression) 
{
   statement1;
}
elseif 
{
   statement2;
}
else
{
   statement3;
}
?>

Seberapa banyak struktur ELSE-IF di dalam kode program tidak dibatasi, namun jika anda ada dalam situasi yang membutuhkan percabangan ELSE IF yang lebih dari 5, mungkin anda bisa memecah nya menjadi bagian-bagian kecil agar memudahkan alur logika program.


Cara Penulisan Alternatif Struktur ELSE-IF

Selain menggunakan tanda kurung kurawal sebagai tanda awal dan akhir ELSE-IF, PHP menyediakan cara penulisan alternatif. Berikut format dasar penulisannya:

<?php
if (expression) :
   statement1;
   statement2;
elseif (expression):
   statement3;
else
   statement4;
endif
?>

Namun untuk cara penulisan ini, kita tidak bisa memisahkan penulisan ELSE-IF menjadi “else if”, tetapi harus ditulis menyatu menjadi “elseif”.

<?php
$a=15;
$b=8;

if ($a > $b):
    echo "a lebih besar daripada b";
else if ($a == $b):  // akan menghasilkan error
    echo "a sama besar dengan b";
else:
    echo "a lebih kecil daripada b";
endif;
?>

Kode program diatas baru berhasil dieksekusi jika diubah menjadi:

<?php
$a=15;
$b=8;

if ($a > $b):
    echo "a lebih besar daripada b";
elseif ($a == $b):
    echo "a sama besar dengan b";
else:
    echo "a lebih kecil daripada b";
endif;
?>

StrukurIF-ELSE-IF ini merupakan salah satu struktur terpenting dalam pemograman, dengan struktur IF kita bisa membuat alur percabangan program tergantung dengan situasi yang dihadapi.


Selain struktur IF, PHP meyediakan struktur percabangan lainnya, yakni switch. Pembahasan tentang struktur switch akan kita bahas dalam tutorial PHP selanjutnya.


Tutorial Terkait:

10 Comments

  1. idris
    10 Aug 15
    • Andre
      10 Aug 15
  2. Tri Utomo
    15 Jan 16
    • Andre
      15 Jan 16
  3. fatur
    23 Feb 16
    • Andre
      24 Feb 16
  4. Nadang
    23 Aug 16
  5. Rudi
    22 Jul 17
    • noval
      25 Jul 17
      • Andre
        25 Jul 17

Add Comment