Switch dalam PHP
Switch
merupakan salah satu perintah yang ada di php digunakan untuk memeriksa isi dari sebuah
variable yang apabila isi dari variable tersebut sesuai dengan kondisi yang di
syaratkan maka akan menjalankan
perintah-perintah yang ada dalam kondisi tersebut.
Contoh
sintaks switch yang paling umum digunakan adalah sebagai berikut:
switch (var)
{
case value1 : statement
A
.
. break;
case value2 : statement
B
.
. break;
case value3 : statement
C
.
. break;
.
.
default : statement
D
.
.
}
Jadi
Variable dalam switch akan di cek apakah isi variable sama dengan
case-case yang ada. Misalkan var = value1 maka akan mengerjakan statement A,
bila nilai var=value2 maka akan mengerjakan statement B. namun bila tidak ada
yang sesuai maka akan mengerjakan blok default.
Blok
default pada sintaks switch bersifat optional. Bisa digunakan bila diperlukan
dan bisa dihilangkan jika tidak diperlukan.
Perintah/sintaks
switch sebenarnya mirip dengan sintaks if else. Jika perintah diatas ditulis
dalam bentuk if else maka sebagai berikut:
if (var == value1)
{
statement A
.
.
}
else if (var == value2)
{
statement B
.
.
}
else if (var == value3)
{
statement C
.
.
}
.
.
else
{
statement D
.
.
}
Apabila
diperhatikan konsep dari switch diatas adalah perbandingan dalam bentuk “sama
dengan” atau “==”
Perbedaan
switch dan if else adalah proses dalam pengecekanya bila di sintaks if else kondisi
akan di cek dari syarat paling atas jika tidak memenuhi maka akan menguji
kondisi kedua, begitu seterusnya namun dalam switch pemilihan kondisi akan
dipilih dengan nilai yang paling sesuai.
Akibatnya
dalam script yang kompleks sintaks pemrosesan dalam switch akan lebih cepat
dari pada sintaks if else.
Selain
itu, Statement dalam switch bisa kosong atau tidak mengerjakan apa-apa.
Contohnya sebagai berikut:
<?php
switch ($i) {
case 0:
case 1:
case 2:
echo "i lebih kecil dari 3 tapi tidak negatif"; break;
case 3:
echo "i sama dengan 3";
}
?>
Jadi, Jika variable i
berisi 0 atau 1 maka statement yang dikerjakan adalah case 2 yaitu echo "i lebih kecil dari 3 tapi tidak negatif".
Untuk lebih
memahami tentang sintaks switch
perhatikan contoh-contoh berikut:
1.
Contoh
penggunaan switch
Program
<?php
$bil=10;
switch($bil)
{
case 5 : echo
"Bilangan sama dengan 5 <br>";
break;
case 8 : echo
"Bilangan sama dengan 8 <br>";
break;
case 10 : echo
"Bilangan sama dengan 10 <br>";
break;
case 12 : echo
"Bilangan sama dengan 12 <br>";
break;
default : echo
"Bilangan tidak sama dengan 5, 8, 10, dan 12 <br>";
}
?>
Hasil
Penjelasan
1.
$bil=10;
digunakan untuk mengisi nilai variable i diiisi
dengan nilai 10
2.
switch($bil){}
digunakan menguji dari variable bil.
3.
case 10 :
echo "Bilangan sama dengan 10 <br>"; break; digunakan untuk
memberikan perbandingan nilai variable i dengan nilai perbandingannya dan
memberikan statement yang dikerjakan
4.
default
: echo "Bilangan tidak sama dengan 5, 8, 10, dan 12 <br>"; jika nilai variable tidak ada yang sesuai dengan nilai yang di
bandingkan maka program akan mengerjakan statement default.
2.
Menghitung
gaji berdasarkan golongan
Program
<form
method="POST" action="">
masukan jam <input type="text"
name="jam"> <br>
A<input type="radio"
name="gol" value="A"> <br>
B<input type="radio"
name="gol" value="B"> <br>
C<input type="radio"
name="gol" value="C"> <br>
D<input type="radio"
name="gol" value="D"> <br>
<input type="submit"
value="Hitung">
</form>
<?php
$gol=$_POST['gol'];
$jam=$_POST['jam'];
switch($gol)
{
case A :
if($jam>48){
$upah=(($jam-48)*3000)+(48*4000);
}
else
{$upah=$jam*4000;}
break;
case B :
if($jam>48){
$upah=(($jam-48)*3000)+(48*5000);
}
else
{$upah=$jam*5000;}
break;
case C :
if($jam>48){
$upah=(($jam-48)*3000)+(48*6000);
}
else
{$upah=$jam*6000;}
break;
case D :
if($jam>48){
$upah=(($jam-48)*3000)+(48*7500);
}
else
{$upah=$jam*7500;}
break;
default : echo "Belum di isi
<br>";
break;
}
echo $upah;
?>
Hasil
Penjelasan
Program berawal dari
masukan data jumlah jam yang dimasukan dan jenis golongan yang di pilih, jumlah
jam dimasukan dalam bentuk teks numerik dalam form method post dan pemilihan
jenis golongan menggunakan radiobutton dengan form yang sama.
Data akan diolah dalam
switch memilah berdasarkan golongan yang dipilih, yang selanjutnya dihitung
menggunakan rumus berdasarkan jumlah jam yang sesuai
Yang terakhir adalah menampilkan data dengan perintah echo $upah;
3.
Menghitung
jumlah gaji tanpa golongan
Program
<html>
<head>
<title> Menghitung gaji karyawan</title>
</head>
<body>
<form
method ="POST" action="">
jumlah jam
kerja <input type="text" name="jam"><br>
<input
type="submit" name="submit" value ="submit">
</form>
<?php
$jam=$_POST['jam'];
switch($jam)
{
case
$jam>48 : {
$upah=(($jam-48)*3000)+(48*2000);
echo
$upah;
}
break;
case
$jam<=48 : {
$upah=$jam*2000;
echo
$upah;
}
break;
default : echo
"belum isi wkwkwkwk";
}
?>
</body>
</html>
Hasil
Penjelasan
Pada konsepnya sama persis dengan nomor 2 hanya saja menghilangkan
radiobutton untuk jenis golongan.
4.
Menampilkan
jumlah pada bulan ini
Program
<?php
$bul= date ("M");
switch($bul)
{
case 'Jan' :
case 'Mar' :
case 'May' :
case 'Jul' :
case 'Sept' :
case 'Nov' :
echo
"jumlah tanggal 31";
break;
case 'Apr' :
case 'Jun' :
case 'Aug' :
case 'Oct' :
case 'Dec' :
echo
"jumlah tanggal 30";
break;
default : echo
"Jumlah tanggal 28/29";
break;
}
?>
Hasil
Penjelasan
1. $bul= date ("M"); digunakan untuk menyimpan hasil dari fungsi date ("M"),
fungsi date
("M") adalah untuk mengetahui bulan saat ini namun dengan 3 huruf
inisial saja misal Jan, Mar, May, Jul dst.
2. case 'Jan', 'Mar', 'May', 'Jul', Sept', 'Nov'
maka akan tercetak Jumlah Tanggal 31
3. case 'Apr','Jun', 'Aug', 'Oct', 'Dec' maka akan
tercetak Jumlah Tanggal 30
4.
Selain
case di atas maka akan tercetak default yaitu
Jumlah Tanggal 28/29 yaitu dianggap februari.
5. Program sederhana mencari luas bangun datar
Program
Inputan
<html>
<form method="POST" action="">
Menghitung
Luas Bangun Data<br>
<input
type="radio" name="bgn" value="bs"> Bujur
sangkar <br>
<input
type="radio" name="bgn" value="pp"> Persegi
panjang <br>
<input
type="radio" name="bgn" value="l"> Lingkaran
<br>
<input
type="radio" name="bgn" value="s"> Segitiga
<br>
<input
type="submit" value="Pilih">
</form>
<?php
$Bangun=$_POST['bgn'];
switch($Bangun)
{
case bs :
echo
"<form method = \"POST\"
action=\"BujurSangkar.php\">";
echo
"Luas Bujur sangkar<br>";
echo
"Masukkan panjang sisi <input type= \"text\"
name=\"sisi\" > <br>";
echo
"<input name=\"bs\" value=\"bs\" >
<br>";
echo
"<input type=\"submit\" value=\"Hitung\"
>";
echo
"</form>";
break;
case pp :
echo
"<form method = \"POST\"
action=\"PersegiPanjang.php\">";
echo
"Luas persegi panjang<br>";
echo
"Masukkan panjang <input type= \"text\"
name=\"lbr\" > <br>";
echo
"Masukkan lebar <input type= \"text\" name=\"pjg\"
> <br>";
echo
"<input type=\"submit\" value=\"Hitung\"
>";
break;
case l :
echo
"<form method = \"POST\"
action=\"Lingkaran.php\">";
echo
"Luas Lingkaran<br>";
echo
"Masukkan jari-jari<input type= \"text\"
name=\"jr\" > <br>";
echo
"<input type=\"submit\" value=\"Hitung\"
>";
break;
case s :
echo
"<form method = \"POST\"
action=\"Segitiga.php\">";
echo
"Luas Segitiga<br>";
echo
"Masukkan tinggi<input type= \"text\" name=\"tng\"
> <br>";
echo
"Masukkan alas<input type= \"text\" name=\"als\"
> <br>";
echo
"<input type=\"submit\" value=\"Hitung\"
>";
break;
default : echo
"Pilih Bangun <br>";
break;
}
?>
</html>
Perhitungan
//BujurSangkar
<?php
$sisi
=$_POST['sisi'];
$luas=$sisi*$sisi;
echo
"luas bujur sangkar = $luas";
?>
//PersegiPanjang
<?php
$lebar
=$_POST['lbr'];
$panjang
=$_POST['pjg'];
$luas=$panjang*$lebar;
echo
"Persegi Panjang = $luas";
?>
//Lingkaran
<?php
$jarijari =$_POST['jr'];
$luas=3.14*$jarijari*$jarijari;
echo
"Lingkaran = $luas";
?>
//Segitiga
<?php
$tinggi
=$_POST['tng'];
$alas
=$_POST['als'];
$luas=0.5*$alas*$tinggi;
echo
"Segitiga = $luas";
?>
Hasil
Inputan
Perhitungan
Penjelasan
Pada program kali ini
pembuatan form dilakukan beberapa kali yang digunakan untuk mengeksekusi
program lain. Jadi file program dibuat 4 kali sesuai menu pilihan.
Program pertama kali
menampilkan pilihan menu dengan radiobutton dengan form method post setelah user
memilih pilihan menu dan menekan submit maka program akan membaca nilai dari
radiobutton.
Misalnya yang dipilih
adalah Segitiga maka pada program switch akan memilih case segitiga dan akan
menampilkan form untuk memasukan inputan tinggi dan panjang alas untuk di
simpan oleh form.
Setelah user menekan
button hitung(submit) maka akan mengeksekusi file bernama Segitiga.php karena
action pada form segitiga adalah Segitiga.php
Tidak ada komentar:
Posting Komentar