Switch
switch(var)
{
case 1 : statement A;
break;
case 2 : statement B;
break;
. . . . .
default : statement n;
}
Dalam Switch, persyaratan hanya diuji sekali saja. Diantara sekian pilihan case, secara otomatis PHP akan menjalankan blok dimana case yang sesuai. Proses pencarian case yang sesuai ini tidak dimulai dari pilihan case paling atas namun secara otomatis langsung menuju case yang sesuai. namun jika tidak diberikan masukan apapun akan kembali ke Default.
Contoh Program Switch
Berikut ini adalah contoh dari penggunaan Switch. (Jangan lupa untuk mengaktifkan XAMPPLITE sebelum menjalankan program di browser. . .)
<?php
$angkaBln = date("n");
switch($angkaBln)
{
case 1 : $namaBln = "Januari";
break;
case 2 : $namaBln = "Pebruari";
break;
case 3 : $namaBln = "Maret";
break;
case 4 : $namaBln = "April";
break;
case 5 : $namaBln = "Mei";
break;
case 6 : $namaBln = "Juni";
break;
case 7 : $namaBln = "Juli";
break;
case 8 : $namaBln = "Agustus";
case 9 : $namaBln = "September";
break;
case 10: $namaBln = "Oktober";
break;
case 11: $namaBln = "Nopember";
break;
case 12: $namaBln = "Desember";
break;
}
echo "Nama bulan sekarang adalah : ".$namaBln."</br>";
?>
Tampilan Setelah Program Dijalankan
============================ Break ==================================
Berikut ini adalah beberapa contoh penggunaan Switch. jangan lupa untuk mengaktifkan XAMMPLITE sebelum menjalankan program pada browser. ( Untuk tutorial penggunaan XAMMPLITE dapat dilihat di sini ).
1. Misalkan diberikan script berikut ini
<?php
$bil = 10;
switch ($bil)
{
case 5 : echo "Bilangan sama dengan 5 <br />";
break;
: echo "Bilangan sama dengan 8 <br />";
break;
: echo "Bilangan sama dengan 10 <br />";
: echo "Bilangan sama dengan 12 <br />";
: echo "Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";
break;
default : case 8 case 10 case 12;
}
?>
Dengan tanpa menjalankan script di browser, coba tebak kira-kira apa outputnya hayoo?? Bila sudah, coba bandingkan hasilnya bila dijalankan di browser. Selanjutnya simpulkan!
Jawaban : Untuk output terdapat pesan error, dikarenakan terdapat fungsi case dan break yang kurang lengkap.
Listing program Setelah Diperbaiki
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Tugas Switch 1</h1>
<?php
$bil = 0;
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 />";
break;
}
?>
</body>
</html>
Saat Dijalankan Di Browser
2. Soal analog no. 2, namun dalam hal ini terdapat 4 jenis upah perjam nya dibedakan berdasarkan golongan:
Golongan Upah perjam
A Rp. 4.000,-
B Rp. 5.000,-
C Rp. 6.000,-
D Rp. 7.500,-
Sedangkan upah lemburnya dihitung sama untuk setiap golongan, yaitu Rp. 3.000,- per jamnya. Buatlah form untuk mengisikan jumlah jam kerja selama seminggu, dan juga memilih golongan karyawannya (gunakan radiobutton). Apabila form tersebut disubmit maka akan muncul jumlah upah yang diperoleh karyawan.
Listing Program
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Tugas Switch 2</h1>
<form method="post"action=" ">
Jumlah Jam Kerja <input type="text" name="jam" /><br/>
Golongan
<input type="radio" name="gol" value="A"><A/>A
<input type="radio" name="gol" value="B"><B/>B
<input type="radio" name="gol" value="C"><C/>C
<input type="radio" name="gol" value="D"><D/>D<br/>
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" /><br/>
<?php
$gol = $_POST[gol];
$jam = $_POST[jam];
$upah1 = 4000;
$upah2 = 5000;
$upah3 = 6000;
$upah4 = 7500;
$gajiA = $jam*$upah1;
$lembur1 = ($jam - 48) * $upah1;
$glA = (48 * $upah1) + $lembur1;
$gajiB = $jam*$upah2;
$lembur2 = ($jam - 48) * $upah2;
$glB = (48 * $upah2) + $lembur2;
$gajiC = $jam*$upah3;
$lembur3 = ($jam - 48) * $upah3;
$glC = (48 * $upah3) + $lembur3;
$gajiD = $jam*$upah4;
$lembur4 = ($jam - 48) * $upah4;
$glD = (48 * $upah4) + $lembur4;
echo "Jumlah Jam Kerja ".$_POST[jam]. " jam/minggu
<br/>";
switch($jam)
{
case $jam <= 48 && $gol && $gol == 'A': echo "Gaji Golongan
".$gol." adalah Rp. ".$gajiA."<br />";
break ;
case $jam <= 48 && $gol && $gol == 'B': echo "Gaji Golongan
".$gol." adalah Rp. ".$gajiB."<br />";
break ;
case $jam <= 48 && $gol && $gol == 'C': echo "Gaji Golongan
".$gol." adalah Rp. ".$gajiC."<br />";
break ;
case $jam <= 48 && $gol && $gol == 'D': echo "Gaji Golongan
".$gol." adalah Rp. ".$gajiD."<br />";
break ;
case $jam > 48 && $gol && $gol == 'A': echo "Gaji Golongan
".$gol." adalah Rp. ".$glA."<br />";
break ;
case $jam > 48 && $gol && $gol == 'B': echo "Gaji Golongan
".$gol." adalah Rp. ".$glB."<br />";
break ;
case $jam > 48 && $gol && $gol == 'C': echo "Gaji Golongan
".$gol." adalah Rp. ".$glC."<br />";
break ;
case $jam > 48 && $gol && $gol == 'D': echo "Gaji Golongan
".$gol." adalah Rp. ".$glD."<br />";
break ;
}
?>
</form>
</body>
</html>
Tampilan program setelah dijalankan
3. Karyawan honorer di perusahan XXX digaji berdasarkan jumlah jam kerjanya selama satu minggu. Upah per jamnya adalah Rp. 2.000,-. Bila jumlah jam kerja selama satu minggunya lebih besar dari 48 jam, maka sisanya dianggap jam lembur dengan upah per jam lemburnya adalah Rp. 3.000,-
Buatlah form untuk memasukkan jumlah jam kerja selama satu minggu seorang karyawan. Setelah form disubmit, maka akan tampil jumlah upah yang diterima karyawan tersebut. Gunakan script PHP untuk membuat hal ini. (Menggunakan konsep Switch)
Listing Program
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Tugas Switch No 3</h1>
<form method="get"action=" ">
Jumlah Jam Kerja <input type="text" name="jam" /><br/>
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" /><br/>
<?php
$jam = $_GET[jam];
$upah1 = 2000;
$upah2 = 3000;
$gaji1 = $jam * $upah1;
$lembur = ($jam - 48) * $upah2;
$gaji2 = (48 * $upah1) + $lembur;
echo "Jumlah Jam Kerja
".$_GET[jam]. " jam/minggu
<br>";
switch($jam)
{
case $jam <= 48 : echo "Gaji = Rp. ".$gaji1."</br>";
break;
case $jam > 48 : echo "Gaji = Rp. ".$gaji2."</br>";
break;
default : "Belum Memasukan Jumlah Jam Kerja";
}
?>
</form>
</body>
</html>
Tampilan setelah program dijalankan
4. Dengan menggunakan konsep SWITCH, buatlah script untuk membaca bulan saat ini dan tampilkan jumlah hari dalam bulan tersebut.
Listing Program
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Tugas Switch No 4</h1>
<?php
$bulan = date("n");
switch($bulan)
{
case 1 : $bulan = "Januari"; $hari = 31;
break;
case 2 : $bulan = "Pebruari"; $hari = 28;
break;
case 3 : $bulan = "Maret"; $hari = 31;
break;
case 4 : $bulan = "April"; $hari = 30;
break;
case 5 : $bulan = "Mei"; $hari = 31;
break;
case 6 : $bulan = "Juni"; $hari = 30;
break;
case 7 : $bulan = "Juli"; $hari = 31;
break;
case 8 : $bulan = "Agustus"; $hari = 31;
break;
case 9 : $bulan = "September";$hari = 30;
break;
case 10: $bulan = "Oktober"; $hari = 31;
break;
case 11: $bulan = "Nopember";$hari = 30;
break;
case 12: $bulan = "Desember"; $hari = 31;
break;
}
echo "Nama bulan sekarang
adalah : ".$bulan."</br>";
echo "Jumlah hari adalah
: ".$hari;
?>
</body>
</html>
Tampilan program setelah dijalankan
5. Buatlah aplikasi sederhana untuk menghitung luas beberapa bangun datar. Pertama buat halaman index.php yang isinya menu pilihan berbentuk radiobutton atau combobox yang itemnya sbb:
- - - -
Bujur sangkar Persegi panjang Lingkaran Segitiga
Dan sebuah tombol submit di bawah pilihan menu tersebut.
Misalkan apabila user memilih menu Bujur Sangkar dan ia mengklik submit, maka nantinya akan muncul form untuk mengisikan panjang sisi bujur sangkar dan sebuah tombol submit. Jika tombol submit ini diklik maka selanjutnya akan muncul hasil luasnya. Selanjutnya bila user memilih Persegi Panjang dalam menunya dan ia mengklik submit maka akan muncul form untuk mengisikan panjang dan lebar persegi panjang serta sebuah tombol submit. Bila tombol ini diklik maka akan memunculkan hasil luas persegi panjang. Begitu seterusnya….
Paham kan? Ya… sambil mengingat-ingat pelajaran di SD ☺
Listing Program
<html>
<head>
<title>Switch</title>
</head>
<h1>Tugas Switch No 5</h1>
<body>
<form method="POST" action="">
Bangun
Datar<br>
<input type="radio" name="bangun"value="bujursangkar"><bujursangkar/>Bujur Sangkar<br/>
<input type="radio" name="bangun" value="persegipanjang"><persegipanjang/>Persegi Panjang<br/>
<input type="radio" name="bangun" value="lingkaran"><Lingkaran/>Lingkaran<br/>
<input type="radio" name="bangun" value="segitiga"><Segitiga/>Segitiga<br/>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
<?php
$bangun = $_POST[bangun];
switch($bangun)
{
case 'bujursangkar' :
{
echo "<a
href=bs.php></br>Lanjutkan Disini</a>";
}
break;
case 'persegipanjang' :
{
echo "<a href=pp.php></br>Lanjutkan
Disini</a>";
}
break;
case 'lingkaran' :
{
echo "<a
href=ling.php></br>Lanjutkan Disini</a>";
}
break;
case 'segitiga' :
{
echo "<a
href=segi3.php></br>Lanjutkan Disini</a>";
}
break;
}
?>
</body>
</html>
Listing program untuk pengalihan (a href)
Tampilan program sebelum memilih bangun datar
. . . SELAMAT MENCOBA . . .
Comments
Post a Comment