Katakan kita ingin membuat sebuah program yang akan menampilkan kata dari angka 0-5, sehingga terdapat 6 kemungkinan yang terjadi. Jika menggunakan struktur IF, maka kita akan membutuhkan 6 perulangan sebagai berikut:
Aturan Penulisan Struktur Switch dalam PHP
Seperti yang terlihat dalam contoh sebelumnya, struktur switch terdiri dari beberapa bagian, berikut format dasar penulisan switch dalam PHP:
Tiap kondisi yang mungkin terjadi dicantumkan setelah kata kunci case, lalu diikuti dengan nilai yang akan dibandingkan dengan nilai variabel switch. Jika kondisi sesuai, maka baris programstatement akan dijalankan. Kata kunci break digunakan untuk keluar dari switch, sehingga PHP tidak perlu memeriksa case berikutnya.
Alur program untuk switch akan dieksekusi dari baris pertama sampai terakhir. Kata kunci breakmemegang peranan penting untuk menghentikan switch.
Perhatikan contoh kode PHP berikut:
Angka Satu Angka Dua Angka Tiga
Apa yang terjadi? Hal ini terkait dengan bagaimana PHP menjalankan proses switch.
Ketika program dijalankan, PHP pertama kali akan memeriksa case 0, yaitu apakah $a sama dengan0, jika tidak, PHP akan lanjut ke case 1, dan memeriksa apakah $a sama dengan 1. Jika iya, maka PHP akan menjalankan echo “Angka Satu”, beserta seluruh perintah program pada case-case dibawahnya. Hal ini mungkin terkesan aneh, namun adakalanya proses seperti inilah yang dibutuhkan.
Namun, untuk kasus diatas, kita ingin mengistruksikan kepada PHP bahwa setelah case ditemukan, maka switch harus berhenti.
Untuk instruksi ini, kita harus menggunakan kata kunci break. Instruksi break memberitahu PHP untuk segera keluar dari switch, dan tidak menjalankan case lainnya.
Berikut adalah kode program switch kita setelah ditambahnya keyword break:
Untuk contoh kita diatas, saya akan menambahkan bagian default sebagai perintah yang akan dijalankan jika nilai dari variabel $a duluar dari angka 0-5. Berikut kode PHP nya:
Penulisan case untuk struktur switch menyesuaikan dengan jenis tipe data yang akan diuji. Sampai dengan bagian ini, saya hanya menggunakan contoh case untuk variabel dengan tipe angka, namun jika anda menggunakan switch untuk tipe data string, maka kita harus menggunakan tanda kutip untuk case.
Berikut contoh kode switch PHP untuk tipe data string:
Walaupun memiliki tujuan yang hampir sama, namun struktur IF dan switch memiliki perbedaan yang mendasar.
Didalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu pada awal perintahswitch, dan hasilnya di bandingkan dengan setiap case. Akan tetapi di dalam struktur if, setiap kondisi akan selalu diperiksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.
Namun disisi lain, switch memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.
Struktur switch tidak bisa digunakan untuk percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel. Kita tidak bisa menggunakan switch untuk membuat kode program menentukan nilai terbesar seperti contoh pada tuturial IF sebelum ini.
Untuk kebanyakan kasus, akan sering menggunakan IF dibandingkan switch.
- <?php
- $a=3;
- if ($a=="0") {
- echo "Angka Nol";
- }
- elseif ($a=="1") {
- echo "Angka Satu";
- }
- elseif ($a=="2") {
- echo "Angka Dua";
- }
- elseif ($a=="3") {
- echo "Angka Tiga";
- }
- elseif ($a=="4") {
- echo "Angka Empat";
- }
- elseif ($a=="5") {
- echo "Angka Lima";
- }
- else
- echo "Angka diluar jangkauan";
- ?>
- <?php
- $a=3;
- switch ($a)
- {
- case 0 :
- echo "Angka Nol";
- break;
- case 1 :
- echo "Angka Satu";
- break;
- case 2 :
- echo "Angka Dua";
- break;
- case 3 :
- echo "Angka Tiga";
- break;
- case 4 :
- echo "Angka Empat";
- break;
- case 5 :
- echo "Angka Lima";
- break;
- default :
- echo "Angka diluar jangkauan";
- break;
- }
- ?>
Aturan Penulisan Struktur Switch dalam PHP
Seperti yang terlihat dalam contoh sebelumnya, struktur switch terdiri dari beberapa bagian, berikut format dasar penulisan switch dalam PHP:
- switch ($var)
- {
- case value1:
- statement1;
- break;
- case value2:
- statement2;
- break;
- }
Tiap kondisi yang mungkin terjadi dicantumkan setelah kata kunci case, lalu diikuti dengan nilai yang akan dibandingkan dengan nilai variabel switch. Jika kondisi sesuai, maka baris programstatement akan dijalankan. Kata kunci break digunakan untuk keluar dari switch, sehingga PHP tidak perlu memeriksa case berikutnya.
Alur program untuk switch akan dieksekusi dari baris pertama sampai terakhir. Kata kunci breakmemegang peranan penting untuk menghentikan switch.
Perhatikan contoh kode PHP berikut:
- <?php
- $a=1;
- switch ($a)
- {
- case 0:
- echo "Angka Nol ";
- case 1 :
- echo "Angka Satu ";
- case 2 :
- echo "Angka Dua ";
- case 3 :
- echo "Angka Tiga ";
- }
- ?>
Angka Satu Angka Dua Angka Tiga
Apa yang terjadi? Hal ini terkait dengan bagaimana PHP menjalankan proses switch.
Ketika program dijalankan, PHP pertama kali akan memeriksa case 0, yaitu apakah $a sama dengan0, jika tidak, PHP akan lanjut ke case 1, dan memeriksa apakah $a sama dengan 1. Jika iya, maka PHP akan menjalankan echo “Angka Satu”, beserta seluruh perintah program pada case-case dibawahnya. Hal ini mungkin terkesan aneh, namun adakalanya proses seperti inilah yang dibutuhkan.
Namun, untuk kasus diatas, kita ingin mengistruksikan kepada PHP bahwa setelah case ditemukan, maka switch harus berhenti.
Untuk instruksi ini, kita harus menggunakan kata kunci break. Instruksi break memberitahu PHP untuk segera keluar dari switch, dan tidak menjalankan case lainnya.
Berikut adalah kode program switch kita setelah ditambahnya keyword break:
- <?php
- $a=1;
- switch ($a)
- {
- case 0:
- echo "Angka Nol ";
- break;
- case 1 :
- echo "Angka Satu ";
- break;
- case 2 :
- echo "Angka Dua ";
- break;
- case 3 :
- echo "Angka Tiga ";
- break;
- }
- ?>
Untuk contoh kita diatas, saya akan menambahkan bagian default sebagai perintah yang akan dijalankan jika nilai dari variabel $a duluar dari angka 0-5. Berikut kode PHP nya:
- <?php
- $a=9;
- switch ($a)
- {
- case 0:
- echo "Angka Nol ";
- break;
- case 1 :
- echo "Angka Satu ";
- break;
- case 2 :
- echo "Angka Dua ";
- break;
- case 3 :
- echo "Angka Tiga ";
- break;
- default :
- echo "Angka diluar jangkauan";
- break;
- }
- ?>
- <?php
- $a=3;
- switch ($a)
- {
- case 0 :
- case 1 :
- case 2 :
- case 3 :
- echo "Angka berada di dalam range 0-3";
- break;
- case 4 :
- case 5 :
- case 6 :
- case 7 :
- echo "Angka berada di dalam range 4-7";
- break;
- default :
- echo "Angka diluar jangkauan";
- break;
- }
- ?>
Penulisan case untuk struktur switch menyesuaikan dengan jenis tipe data yang akan diuji. Sampai dengan bagian ini, saya hanya menggunakan contoh case untuk variabel dengan tipe angka, namun jika anda menggunakan switch untuk tipe data string, maka kita harus menggunakan tanda kutip untuk case.
Berikut contoh kode switch PHP untuk tipe data string:
- <?php
- $a=dua;
- switch ($a)
- {
- case "nol":
- echo "Angka 0 ";
- break;
- case "satu" :
- echo "Angka 1 ";
- break;
- case "dua" :
- echo "Angka 2 ";
- break;
- case "tiga" :
- echo "Angka 3 ";
- break;
- default :
- echo "Angka diluar jangkauan";
- break;
- }
- ?>
Walaupun memiliki tujuan yang hampir sama, namun struktur IF dan switch memiliki perbedaan yang mendasar.
Didalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu pada awal perintahswitch, dan hasilnya di bandingkan dengan setiap case. Akan tetapi di dalam struktur if, setiap kondisi akan selalu diperiksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.
Namun disisi lain, switch memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.
Struktur switch tidak bisa digunakan untuk percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel. Kita tidak bisa menggunakan switch untuk membuat kode program menentukan nilai terbesar seperti contoh pada tuturial IF sebelum ini.
Untuk kebanyakan kasus, akan sering menggunakan IF dibandingkan switch.
No comments:
Post a Comment