Assalamualikum every body
Rindu ngga nih belajar phpnya?
Masuk ke materi SWITCH yaa, tahu ngga sih SWITCH itu apa?
Bahasa sederhananya SWITCH itu merupakan pilihan. Pada dasarnya SWITCH merupakan statement yang memiliki fungsi serupa dengan if, yang dapat digunakan untuk menyatakan pernyataan kondisonal.
Sintaks SWITCH dalam PHP:
switch (var)
{
case value1 : statement A
break;
case value2 : statement B
break;
case value3 : statement C
break;
default : statement D
}
MAKSUDNYA: Variabel 'var' akan dicek, Diantara value – value yang ada sebagai pilihan, dalam hal ini value1, value2, value3, … dst manakah yang sesuai dengan value yang dimiliki oleh ‘var’. Misalkan nilai var = value1, maka blok yang ada di statement A lah yang dijalankan. Bila nilai var = value2, maka blok statement B yang akan dijalankan. Namun bila tidak ada value yang cocok, maka barulah blok yang ada dibagian DEFAULT (statement D) yang akan dijalankan.
CATATAN:
Penggunaan option DEFAULT pada SWITCH adalah optional. Kita bisa untuk tidak memberikan DEFAULT jika memang tidak diperlukan.
Kelebihan dari statement SWITCH sendiri ialah, dalam SWITCH persyaratan hanya diuji sekali. Diantara sekian pilihan value, secara otomatis PHP akan menjalankan blok dimana valuenya cocok. Proses pencarian value yang cocok ini tidak dimulai dari pilihan value paling atas namun secara otomatis langsung menuju value yang cocok.
Sedangkan pada IF.. ELSE syarat diuji beberapa kali. Proses pengujian dimulai dari syarat IF paling atas, jika tidak terpenuhi dicek dibagian IF bawahnya dst.
Akibatnya, apabila script Anda sangat kompleks atau banyak menggunakan pernyataan kondisional, penggunaan SWITCH akan menghasilkan proses yang lebih cepat daripada IF.
Selain itu, statement yang akan dikerjakan dalam SWITCH bisa kosong atau tidak melakukan apa-apa. Contoh :
<?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";
}
?>
Nah, agar lebih mengerti tentang SWITCH mari kita praktikan melalui beberapa studi kasus di bawah ini:
KASUS 1:
Misalkan diberikan script berikut ini:
<?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 />";
case 12 :echo"Bilangan sama dengan 12 <br />";
default :echo"Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";
break;
}
?>
Dengan tanpa menjalankan script di browser, coba tebak outpunya. Bila sudah, coba bandingkan hasilnya bila dijalankan di browser. Selanjunya simpulkan!
Output dari program tersebut akan menampilkan bahwa bilangan 10 akan sama dengan 10, 12 dan tidak sama dengan 5, 8, 10 dan 12.
Hasil setelah dijalankan di browser:
KASUS 2:
Karyawan honorer di perusahaan XXX digaji berdasarkan jumlah jam kerjanya selama satu minggu dan golongannya. Bila jumlah jam kerja selama satu minggunya lebih besar dari 48 jam, maka sisanya dianggap lembur dengan upah perjamnya Rp.. 3.000,00.
Golongan:
KASUS 3:
Karyawan honorer di perusahaan XXX digaji berdasarkan jumlah jam kerjanya sselama seminggu. Upah perjamnya 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 Rp. 3.000,-.
Buatlah form untuk memasukkan jumlah jam kerja selama satu minggu seorang karyawan. Setelah form tersebut di submit, maka akan tampil jumlah upah yang diterima karyawan tersebut. Gunakan konsep SWITCH.
<html>
<head>
<title> Gaji Switch 2 </title>
</head>
<body>
<h1> Menghitung gaji karyawan </h1>
<form method="post" action="">
Jumlah Jam Kerja / Minggu <input type="text" name="jam" /><br />
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" />
</form>
<?php
echo "Jumlah jam kerja ".$_POST[jam]."/minggu <br>";
switch($_POST[jam])
{
case($_POST[jam]<=48) :
{
$gaji1=$_POST[jam]*2000;
echo "Gaji anda dalam seminggu : $gaji1";
}
break;
case($_POST[jam]>48) :
{
$gaji2=(($_POST[jam]-48)*3000)+(48*2000);
echo "Gaji anda dalam seminggu : $gaji2";
}
break;
default : echo "Anda belum memasukkan data";
}
?>
</body>
</html>
KASUS 4:
Dengan menggunakan konsep SWITCH, buatlah script untuk membaca bulan saat ini dan tampilkan jumlah hari dalam bulan tersebut.
<?php
$bln = date("M");
switch($bln)
{
case "Jan" : $namaBln = "Januari";
case "Mar" : $namaBln = "Maret";
case "May" : $namaBln = "Mei";
case "Jul" : $namaBln = "Juli";
case "Aug" : $namaBln = "Agustus";
case "Oct" : $namaBln = "Oktober";
case "Dec" : $namaBln = "Desember";
echo "Jumlah hari dalam ".$bln." adalah 31";
break;
case "Apr" : $namaBln = "April";
case "Jun" : $namaBln = "Juni";
case "Sep" : $namaBln = "September";
case "Nov" : $namaBln = "Nopember";
echo "Jumlah hari dalam ".$bln." adalah 30";
break;
case "Feb" : $namaBln = "Pebruari";
echo "Jumlah hari dalam ".$bln." adalah 28";
break;
}
?>
KASUS 5:
Buatlah aplikasi sederhana untuk menghitung luas beberapa bangun datar. Pertama buat halaman yang isinya menu pilihan berbentuk radiobutton atau combo box yng itemnya:
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. Dan begitu seterusnya. Gunakan konsep SWITCH dalam menerapkan pemilihan menunya.
Halaman awal:
Rindu ngga nih belajar phpnya?
Masuk ke materi SWITCH yaa, tahu ngga sih SWITCH itu apa?
Bahasa sederhananya SWITCH itu merupakan pilihan. Pada dasarnya SWITCH merupakan statement yang memiliki fungsi serupa dengan if, yang dapat digunakan untuk menyatakan pernyataan kondisonal.
Sintaks SWITCH dalam PHP:
switch (var)
{
case value1 : statement A
break;
case value2 : statement B
break;
case value3 : statement C
break;
default : statement D
}
MAKSUDNYA: Variabel 'var' akan dicek, Diantara value – value yang ada sebagai pilihan, dalam hal ini value1, value2, value3, … dst manakah yang sesuai dengan value yang dimiliki oleh ‘var’. Misalkan nilai var = value1, maka blok yang ada di statement A lah yang dijalankan. Bila nilai var = value2, maka blok statement B yang akan dijalankan. Namun bila tidak ada value yang cocok, maka barulah blok yang ada dibagian DEFAULT (statement D) yang akan dijalankan.
CATATAN:
Penggunaan option DEFAULT pada SWITCH adalah optional. Kita bisa untuk tidak memberikan DEFAULT jika memang tidak diperlukan.
Kelebihan dari statement SWITCH sendiri ialah, dalam SWITCH persyaratan hanya diuji sekali. Diantara sekian pilihan value, secara otomatis PHP akan menjalankan blok dimana valuenya cocok. Proses pencarian value yang cocok ini tidak dimulai dari pilihan value paling atas namun secara otomatis langsung menuju value yang cocok.
Sedangkan pada IF.. ELSE syarat diuji beberapa kali. Proses pengujian dimulai dari syarat IF paling atas, jika tidak terpenuhi dicek dibagian IF bawahnya dst.
Akibatnya, apabila script Anda sangat kompleks atau banyak menggunakan pernyataan kondisional, penggunaan SWITCH akan menghasilkan proses yang lebih cepat daripada IF.
Selain itu, statement yang akan dikerjakan dalam SWITCH bisa kosong atau tidak melakukan apa-apa. Contoh :
<?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";
}
?>
Nah, agar lebih mengerti tentang SWITCH mari kita praktikan melalui beberapa studi kasus di bawah ini:
KASUS 1:
Misalkan diberikan script berikut ini:
<?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 />";
case 12 :echo"Bilangan sama dengan 12 <br />";
default :echo"Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";
break;
}
?>
Dengan tanpa menjalankan script di browser, coba tebak outpunya. Bila sudah, coba bandingkan hasilnya bila dijalankan di browser. Selanjunya simpulkan!
Output dari program tersebut akan menampilkan bahwa bilangan 10 akan sama dengan 10, 12 dan tidak sama dengan 5, 8, 10 dan 12.
Hasil setelah dijalankan di browser:
Kesimpulan: Dari program di atas dapat diketahui bahwa inputnya berupa angka 10, maka nilai yang sesuai dari input tersebut merupakan case 10, case 12 dan default. Kenapa? karena, dari tiap case tersebut tidak dipisah oleh break, sehingga ketiganya akan termasuk dari outpunya.
KASUS 2:
Karyawan honorer di perusahaan XXX digaji berdasarkan jumlah jam kerjanya selama satu minggu dan golongannya. Bila jumlah jam kerja selama satu minggunya lebih besar dari 48 jam, maka sisanya dianggap lembur dengan upah perjamnya Rp.. 3.000,00.
Golongan:
- Golongan A: Rp. 4.000,-
- Golongan B: Rp. 5.000,-
- Golongan C: Rp. 6.000,-
- Golongan D: Rp. 7.500,-
Program:
<html>
<head>
<title> Gaji Switch </title>
</head>
<body>
<h1> Menghitung gaji karyawan </h1>
<form method="post" action="">
Jumlah Jam Kerja Selama Satu Minggu <input type="text" name="jam" /><br />
Golongan Karyawan
<input type="radio" name="gol" value="A">A
<input type="radio" name="gol" value="B">B
<input type="radio" name="gol" value="C">C
<input type="radio" name="gol" value="D">D
<br />
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" />
</form>
<?php
echo "Jumlah Jam Kerja ".$_POST[jam]."/minggu <br>";
echo "Golongan = ".$_POST[gol]. "<br>";
switch($_POST[gol])
{ //golongan gaji
case A : $_POST[gol]=4000;
break;
case B : $_POST[gol]=5000;
break;
case C : $_POST[gol]=6000;
break;
case D : $_POST[gol]=7500;
break;
}
switch($_POST[jam])
{ //jam kerja
case($_POST[jam]<=48):
{$gaji=$_POST[jam]*$_POST[gol];
echo "Gaji anda dalam seminggu: $gaji";}
break;
case($_POST[jam]>48) :
{$lembur=(($_POST[jam]-48)*3000)+(48*$_POST[gol]);
echo "Gaji anda dalam seminggu : $lembur";}
break;
default : echo "Anda belum memasukkan data";
}
?>
Output:
KASUS 3:
Karyawan honorer di perusahaan XXX digaji berdasarkan jumlah jam kerjanya sselama seminggu. Upah perjamnya 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 Rp. 3.000,-.
Buatlah form untuk memasukkan jumlah jam kerja selama satu minggu seorang karyawan. Setelah form tersebut di submit, maka akan tampil jumlah upah yang diterima karyawan tersebut. Gunakan konsep SWITCH.
Program:
<head>
<title> Gaji Switch 2 </title>
</head>
<body>
<h1> Menghitung gaji karyawan </h1>
<form method="post" action="">
Jumlah Jam Kerja / Minggu <input type="text" name="jam" /><br />
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" />
</form>
<?php
echo "Jumlah jam kerja ".$_POST[jam]."/minggu <br>";
switch($_POST[jam])
{
case($_POST[jam]<=48) :
{
$gaji1=$_POST[jam]*2000;
echo "Gaji anda dalam seminggu : $gaji1";
}
break;
case($_POST[jam]>48) :
{
$gaji2=(($_POST[jam]-48)*3000)+(48*2000);
echo "Gaji anda dalam seminggu : $gaji2";
}
break;
default : echo "Anda belum memasukkan data";
}
?>
</body>
</html>
Output:
KASUS 4:
Dengan menggunakan konsep SWITCH, buatlah script untuk membaca bulan saat ini dan tampilkan jumlah hari dalam bulan tersebut.
Program:
$bln = date("M");
switch($bln)
{
case "Jan" : $namaBln = "Januari";
case "Mar" : $namaBln = "Maret";
case "May" : $namaBln = "Mei";
case "Jul" : $namaBln = "Juli";
case "Aug" : $namaBln = "Agustus";
case "Oct" : $namaBln = "Oktober";
case "Dec" : $namaBln = "Desember";
echo "Jumlah hari dalam ".$bln." adalah 31";
break;
case "Apr" : $namaBln = "April";
case "Jun" : $namaBln = "Juni";
case "Sep" : $namaBln = "September";
case "Nov" : $namaBln = "Nopember";
echo "Jumlah hari dalam ".$bln." adalah 30";
break;
case "Feb" : $namaBln = "Pebruari";
echo "Jumlah hari dalam ".$bln." adalah 28";
break;
}
?>
Output:
KASUS 5:
Buatlah aplikasi sederhana untuk menghitung luas beberapa bangun datar. Pertama buat halaman yang isinya menu pilihan berbentuk radiobutton atau combo box yng itemnya:
- Bujur sangkar
- Persegi panjang
- Lingkaran
- Segitiga
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. Dan begitu seterusnya. Gunakan konsep SWITCH dalam menerapkan pemilihan menunya.
Program:
Halaman awal:
<html>
<head>
<title> Luas Bangun </title>
</head>
<body>
<h1> Menghitung luas bangun datar </h1>
<form method="post" action="next.php">
Silahkan pilih bangun datar yang akan dihitung luasnya: <br />
<input type="radio" name="luas" value="Bujursangkar">Bujur Sangkar <br />
<input type="radio" name="luas" value="Persegipanjang">Persegi Panjang <br />
<input type="radio" name="luas" value="Lingkaran">Lingkaran <br />
<input type="radio" name="luas" value="Segitiga">Segitiga <br />
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
</head>
</html>
Tahap proses:
<?php
$luas;
switch($_POST[luas])
{
case 'Bujursangkar' : echo "<a href=bujursangkar.php>Klik untuk Melanjutkan</a>";
break;
case 'Persegipanjang' : echo "<a href=persegipanjang.php>Klik untuk Melanjutkan</a>";
break;
case 'Lingkaran' : echo "<a href=lingkaran.php>Klik untuk Melanjutkan</a>";
break;
case 'Segitiga' : echo "<a href=segitiga.php>Klik untuk Melanjutkan</a>";
break;
}
?>
Bujur Sangkar:
<form method="post" action="">
Sisi <input type="text" name="sisi"><br/>
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
<?php
$luas=$_POST[sisi]*$_POST[sisi];
echo "Sisi pada bujur sangkar = ".$_POST[sisi]."<br />";
echo "Luasnya adalah = $luas <br />";
?>
Persegi Panjang:
<form method="post" action="">
Panjang <input type="text" name="panjang"><br/>
Lebar <input type="text" name="lebar"><br/>
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
<?php
$luas=$_POST[panjang]*$_POST[lebar];
echo "Panjang = ".$_POST[panjang]."<br />";
echo "Lebar = ".$_POST[lebar]."<br />";
echo "Luasnya adalah = $luas <br />";
?>
Lingkaran:
<form method="post" action="">
Jari-jari <input type="text" name="jari"><br/>
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
<?php
$luas=3.14*$_POST[jari]*$_POST[jari];
echo "Jari-jari = ".$_POST[jari]."<br />";
echo "Luasnya adalah = $luas <br />";
?>
Segitiga:
<form method="post" action="">
Alas <input type="text" name="alas"><br/>
Tinggi <input type="text" name="tinggi"><br/>
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</form>
<?php
$luas=($_POST[alas]*$_POST[tinggi]) / 2;
echo "Alas = ".$_POST[alas]."<br />";
echo "Tinggi = ".$_POST[tinggi]."<br />";
echo "Luasnya adalah = $luas <br />";
?>
Output:
Halaman awal:
Komentar
Posting Komentar