Cara menggunakan percabangan bersarang php

Terdapat dua cara melakukan percabangan di dalam PHP. Yaitu dengan percabangan if-else dan percabangan switch.

Sebelum membahas lebih lanjut mengenai percabangan, kita harus membahas operator pembanding dan operator logika:

Operator pembanding pada PHP

Operator pembanding berguna untuk membandingkan dua pernyataan. Pernyataan dapat berupa literal, variabel, konstanta ataupun fungsi.

ContohNamaKeterangan
$a == $b Sama dengan TRUE bila $a sama dengan $b meskipun beda tipe data
$a === $b Identik dengan TRUE bila isi dan tipe data $a dan $b sama
$a != $b Tidak sama dengan TRUE bila $a tidak sama dengan $b
$a <> $b Tidak sama dengan TRUE bila $a tidak sama dengan $b
$a !== $b Tidak identik dengan TRUE bila $a dan $b tidak identik (isi dan tipe sama)
$a < $b Lebih kecil dari TRUE bila $a lebih kecil dari $b
$a > $b Lebih besar dari TRUE bila $a lebih besar dari $b
$a <= $b Lebih kecil sama dengan TRUE bila $a lebih kecil atau sama dengan $b
$a >= $b Lebih besar sama dengan TRUE bila $a lebih besar atau sama dengan $b
$a <=> $b Spaceship (PHP 7) -1, 0, atau 1 bila $a lebih kecil, sama dengan, atau lebih besar dari $b
$a ?? $b ?? $c Null Coalesce / penggabungan null (PHP 7) Salah satu dari $a, $b atau $c yang tidak NULL. NULL bila semua bernilai NULL

Untuk lebih jelasnya mengenai operator "sama dengan" dan operator "identik dengan", dapat melihat contoh berikut:

$a = 23;
$b = "23";
$contoh2 = ($a == $b);
$contoh2 = ($a === $b);
$contoh3 = ($a != $b);
$contoh4 = ($a !== $b);
echo "
";
var_dump($a, $b, $contoh2, $contoh2, $contoh3, $contoh4);
echo "
";

Output:

int(23)
string(2) "23"
bool(true)
bool(false)
bool(false)
bool(true)

Operator Logika pada PHP

Operator logika berfungsi menggabungkan dua kondisi (true atau false) menjadi kondisi yang baru.

ContohNamaKeterangan
$a and $b Dan TRUE bila $a dan $b dua-duanya benar
$a && $b Dan TRUE bila $a dan $b dua-duanya benar
$a or $b Atau TRUE bila $a atau $b salah satu benar
$a || $b Atau TRUE bila $a atau $b salah satu benar
$a xor $b Xor TRUE bila $a berbeda dengan $b
!$a Not TRUE bila $a FALSE, FALSE bila $a TRUE

Struktur if-else pada PHP

Percabangan if-else adalah percabangan yang paling banyak dipakai. Struktur percabangan if-else adalah sebagai berikut:

Kode di atas terbagi menjadi tiga bagian. Yaitu bagian if (kondisi1) { ... }, bagian else if (kondisi2) { ... }, dan bagian else { ... }. Bagian else if dan bagian else bersifat opsional, bisa disertakan, bisa juga tidak. Berikut contoh penggunaan struktur if sederhana:

Data yang dikirim: \n".print_r($_POST, true)."

"; echo "Anda telah menekan tombol Login
"; } ?> Coba IF-ELSE
Username
Password

Mulai dari sampai habis, adalah script HTML untuk menampilkan form. Ketika diklik, form tersebut akan mengirimkan data form ke alamat yang dituju di dalam atribut action. Berhubung atribut action kosong, maka data dikirim ke alamat yang sama dengan alamat halaman yang sedang tampil.

Saat data dikirim ke script ini, script ini diparse ulang dari awal. Mulai dari bagian atas.

Pada script di atas, baris 2 sampai 5 adalah contoh if sederhana. Berikut adalah penjelasan baris per baris:

  • Baris 2: Jika ada kiriman data dengan nama "login", lakukan yang di dalam kurung kurawal.
    • isset($a) adalah fungsi yang bernilai TRUE bila variabel $a ada. Dan FALSE bila variabel $a tidak ada.
  • Baris 3: Menampilkan
    [data yang dikirim]
    . Dibungkus dengan
     agar karakter enter menjadi baris baru pada HTML.
  • Baris 4: Hanya menampilkan di layar: "Anda telah menekan tombol login".
  • Baris 5: Akhir dari kode berkondisi. Disimbolkan dengan kurung kurawal.

Untuk mencoba script ini, jalankan, dan input username dan password ke dalam form, dan tekan tombol login. Akan tampil pesan "Anda telah menekan tombol login".

Berikutnya, coba ganti baris 2 sampai 5 (berikutnya akan disebut baris 2 sampai 7) di atas menjadi:

if (isset($_POST['login'])) {
  echo "
Data yang dikirim: \n".print_r($_POST, true)."

"; echo "Anda telah menekan tombol Login
"; } else { echo "Tombol Login belum ditekan
"; }

Ada tambahan pada baris 5 sampai 7:

  • Baris 5: Akhir dari kondisi "Jika ada kiriman data $_POST bernama login".
    • Else: maksudnya: jika kondisi "Ada kiriman data bernama login" tidak terpenuhi
  • Baris 6: (Jika "Tidak"  "Ada kiriman data $_POST bernama login"), tampilkan tulisan "Tombol login belum ditekan"
  • Baris 7: Akhir dari kondisi "Tidak" "Ada kiriman data $_POST bernama login"

Else adalah kondisi "selain", atau "tidak". Jadi apabila kondisi pada if di atasnya misalnya adalah $total > 20000, maka else dari kondisi tersebut berarti $total <= 20000.

Untuk mencoba script yang telah berubah, coba refresh halaman tersebut. Jika ada peringatan, tekan OK. Akan tampil "Anda TELAH menekan tombol login". Ini karena ketika suatu halaman direfresh, data POST akan dikirimkan sekali lagi. Untuk melihat pesan "Tombol Login BELUM ditekan", klik pada URL dan tekan enter. Atau buka tab baru dan ketikkan alamat script ini.

if-else bersarang pada PHP

Mari kita lagi-lagi mengubah baris 2 sampai 7 script di atas menjadi:

if (isset($_POST['login'])) {
  echo "
Data yang dikirim: \n".print_r($_POST, true)."

"; if ($_POST['username'] == "fandi" && $_POST['password'] == "ganteng") { echo "Login Berhasil
"; } else { echo "Login Gagal
"; } } else { echo "Tombol Login belum ditekan
"; }

Di dalam if yang pertama, disisipkan sebuah struktur if lagi. Struktur if di dalam struktur if lain disebut dengan struktur if bersarang.

Pada kode ini hanya akan dijelaskan baris 4. Sisanya dianggap sudah bisa :) . Pada baris 4, disebutkan: $_POST['username'] berisi "fandi", DAN $_POST['password'] berisi "ganteng", maka dilaksanakan baris 5. Jika tidak, dilaksanakan baris 7.

Pada baris 4 itu digunakan penggabungan kondisi dengan operator DAN. Jadi kedua-duanya harus benar, barulah baris 5 dapat terlaksana. Jika tidak, baris 7 yang terlaksana.

if-else bertingkat pada PHP

Istilah / sub judul di atas mungkin salah. Tapi karena bingung mau disebut apa, jadi kita sebut saja seperti itu. Mari kita ganti baris 4 sampai 8 di atas menjadi:

  if ($_POST['username'] == "fandi" && $_POST['password'] == "ganteng") {
    echo "Selamat datang Fandi 
"; } else if ($_POST['username'] == "agus" && $_POST['password'] == "GIS") { echo "Selamat datang Agus
"; } else if ($_POST['username'] == "guest" && $_POST['password'] == "") { echo "Selamat datang Guest
"; } else { echo "Login Gagal
"; }

Rasanya tidak perlu dibahas lebih jauh. Penjelasannya sama dengan dua contoh sebelumnya.

Ternary operator pada PHP

Ternary operator maksudnya adalah operator yang terdiri dari tiga operand. Tidak seperti operasi penjumlahahan atau sejenisnya yang terdiri dari dua operand: $a + $b. Ternary operator memiliki 3 operand: ($a) ? $b : $c. Ternary Operator ini sangat berguna untuk menyatakan kondisi sederhana. Berikut contoh scriptnya:

 20000) ? "Mahal" : "Murah";
  echo "
"; } ?> Coba Ternary
Harga

Pada baris 3 sampai 6, kita memastikan $_POST['harga'] adalah angka. Validasi ini sangat penting untuk input berupa angka. Bila tidak divalidasi, maka input user yang tidak valid akan mengacaukan data dan menyebabkan error pada aplikasi.

Pada baris 9, kita menampilkan suatu teks secara bersyarat dengan ternary operator. Jadi struktur ($a) ? $b : $c, bisa dibilang: ($kondisi) ? $nilaiBenar : $nilaiSalah. Pada contoh di atas: bila $_POST['harga'] lebih dari 20000, tampilkan "Mahal". Selain itu, tampilkan "Murah".

Demikian tutorial percabangan pada PHP. Sebetulnya ada satu jenis percabangan lagi, yaitu switch. Tetapi struktur percabangan ini jarang dipakai. Bila Anda ingin mempelajarinya, bisa coba lihat di: w3schools.


Apa fungsi dari percabangan pada PHP?

Percabangan If Tugasnya adalah memeriksa nilai boolean atau sebuah ekspresi logika. Jika suatu variabel atau suatu ekspresi logika bernilai true , maka proses yang ada di dalam blok kode if akan dijalankan. Jika tidak, maka perintah/kode yang ada di dalam blok if tidak akan dijalankan.

Apa yang dimaksud dengan logika percabangan?

Jawaban: Percabangan adalah cara yang digunakan dalam program untuk mengambil keputusan ke salah satu kemungkinan True atau False dari beberapa kondisi.

Langkah belajar PHP?

Cara Belajar Pemrograman PHP.
Memahami HTML. Jika Anda ingin mempelajari PHP, pahamilah terlebih dahulu konsep dari bahasa HTML. ... .
Mempelajari Dasar-dasar Pembuatan Kode PHP. ... .
Mempraktekkan Hal yang Sudah Dipelajari. ... .
Membaca dan Mempelajari Dokumentasi. ... .
Pelajari Koneksi Database. ... .
6. Mempelajari Database..