Tutorial Belajar PHP Part 32: Pengertian dan Cara Penulisan Struktur Logika Switch dalam PHP

Posted on

Struktur alur program yang akan kita bahas berikutnya yaitu mengenai pengertian dan cara penulisan struktur Switch dalam PHP. Struktur switch ini dapat digunakan selaku pengganti struktur IF.


Pengertian Struktur logika Switch

Struktur logika switch yaitu sebuah stuktur percabangan yang akan memeriksa suatu variabel, lalu menjalankan perintah-perintah yang sesuai dengan kondisi yang mungkin terjadi bagi variabel tersebut. Struktur switch ini mirip dengan struktur IF yang ditulis berulang.

Katakan kita ingin membangun sebuah program yang akan menampilkan kata dari angka 0-5, sehingga terdapat 6 kemungkinan yang terjadi.  Kalau menggunakan struktur IF, karenanya kita akan membutuhkan 6 perulangan selaku berikut:

Tak ada yang salah dari kode program tersebut, namun bila kita menggunakan switch, kode tersebut dapat ditulis menjadi:

Kedua kode program akan menghasilkan output yang sama, namun bagi kondisi logika yang diuji adalah kondisi sederhana, penulisan dengan switch lebih disarankan diperbandingkan IF.


Aturan Penulisan Struktur Switch pada PHP

Seperti yang terlihat pada contoh sebelumnya, struktur switch terdiri dari beberapa bagian, berikut format basic penulisan switch pada PHP:

Setelah kata kunci switch, kita mesti mencantumkan variabel yang akan diperiksa nilainya didalam tanda kurung, lalu memulai block switch dengan kurung kurawal.

Tiap kondisi yang mungkin terjadi dicantumkan setelah kata kunci case, lalu diikuti dengan nilai yang akan diperbandingkan dengan nilai variabel switch. Kalau kondisi sesuai, karenanya baris program statement akan dijalankan. Kata kunci break digunakan bagi keluar dari switch, sehingga PHP tak perlu memeriksa case berikutnya.

Alur program bagi switch akan dieksekusi dari baris pertama-tama hingga terakhir. Kata kunci break memegang peranan urgen bagi menghentikan switch.

Perhatikan contoh kode PHP berikut:

Program diatas akan memeriksa nilai dari $a, dan memberikan output tergantung kepada nilai $a tersebut. Kalau sekilas dilihat, karenanya keluaran program yaitu: “Angka Satu” sesuai dengan nilai variabel $a. Akan tetapi, bila sahabat menjalankan program diatas, PHP akan memberikan output berupa:

Apa yang terjadi? Hal ini terkait dengan bagaimana PHP menjalankan proses switch.

Ketika program dijalankan, PHP pertama-tama kali akan memeriksa case 0, yaitu apakah $a sama dengan 0, bila tak, PHP akan lanjut ke case 1, dan memeriksa apakah $a sama dengan 1. Kalau iya, karenanya PHP akan menjalankan echo “Angka Satu”, dan juga seluruh command program di case-case dibawahnya. Hal ini mungkin terkesan aneh, namun adakalanya proses seperti inilah yang dibutuhkan.

Namun, bagi kasus diatas, kita ingin mengistruksikan kepada PHP bahwa setelah case ditemukan, karenanya switch mesti berhenti.

Bagi instruksi ini, kita mesti menggunakan kata kunci break. Instruksi break memberitahu PHP bagi segera keluar dari switch, dan tak menjalankan case lainnya.

Berikut yaitu kode program switch kita setelah ditambahnya keyword break:

Selain kata kunci break, PHP menyediakan kata kunci default bagi alur switch. Kata kunci ini berfungsi seperti ELSE di pada struktur IF, yakni kondisi dimana seluruh case bagi switch tak ada yang cocok. Kata kunci default ini diletakkan di ahir dari switch.

Bagi contoh kita diatas, saya akan menambahkan bagian default selaku command yang akan dijalankan bila nilai dari variabel $a duluar dari angka 0-5. Berikut kode PHP nya:

PHP membolehkan kita menjalankan satu statement saja bagi case yang berlainan, seperti contoh kode PHP berikut ini:

Didalam kode diatas, saya menyatukan beberapa case ke pada 1 statement.

Penulisan case bagi struktur switch menyesuaikan dengan jenis tipe data yang akan diuji. Hingga dengan bagian ini, saya hanya menggunakan contoh case bagi variabel dengan tipe angka, namun bila sahabat menggunakan switch bagi tipe data string, karenanya kita mesti menggunakan tanda kutip bagi case.

Berikut contoh kode switch PHP bagi tipe data string:


Perbedaan Antara struktur IF dengan Switch

W
alaupun mempunyai tujuan yang hampir sama, namun struktur IF dan switch mempunyai perbedaan yang mendasar.

Didalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu di awal command switch, dan hasilnya di bandingkan dengan setiap case. Akan tetapi di pada struktur if, setiap kondisi akan selalu diperiksa. Sehingga bila sahabat mempunyai struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.

Namun disisi lain, switch mempunyai keterbatasan pada jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di pada switch terbatas bagi hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.

Struktur switch tak dapat digunakan bagi percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel. Kita tak dapat menggunakan switch bagi membangun kode program menentukan nilai terbesar seperti contoh di tuturial IF sebelum ini.

Bagi kebanyakan kasus, kita akan sering menggunakan IF diperbandingkan switch.


Sumber https://www.duniailkom.com/