Switch Case.
Hallo sobat JoyBoy ✋
Kembali lagi di JoyBoy Code, dimana tempat belajar pengcodingan yang selalu update tiap minggunya 👌
Kembali lagi di JoyBoy Code, dimana tempat belajar pengcodingan yang selalu update tiap minggunya 👌
Kali ini kita akan membahas tentang Switch dalam bahasa HTML, dan tentunya kita akan mempraktekkan langsung juga 👌
Apa itu Switch ?
SWITCH termasuk statement yang dapat dipergunakan untuk menyatakan suatu pernyataan kondisional atau bersyarat seperti halnya IF.
Sintaks Statement Switch dalam PHP :
switch (var)
{
case value1 : statement A
.
. break;
case value2 : statement B
.
. break;
case value3 : statement C
.
. break;
.
.
default : statement D
.
.
}
Maksud dari sintaks di atas adalah: dalam hal ini nilai yang ada pada 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.
Apabila kita perhatikan dari konsep SWITCH, maka kita bisa menyimpulkan bahwa proses pr oses pengecekan atau pengujian persyaratan yang terjadi hanyalah perbandingan dalam bentuk ’sama dengan’ atau ‘==’.
SWITCH tidak bisa digunakan untuk kondisional yang di dalamnya terdapat proses perbandingan seperti ‘lebih besar dari’, ‘lebih kecil dari’, ‘lebih kecil atau sama dengan’, ‘lebih besar atau sama dengan’ dan ‘tidak sama dengan’. Melihat hal ini memang penggunaan statement IF untuk menyatakan kondisional lebih fleksibel daripada SWITCH.
Trus… berarti SWITCH tidak lebih efektif daripada IF donk. Tentu tidak. Ada kelebihan pada penggunaan SWITCH. Berikut ini kelebihannya:
Meskipun makna sintaks SWITCH dan IF yang diberikan di atas adalah sama, namun terdapat perbedaan dalam prosesnya.
Dalam SWITCH, persyaratan hanya diuji sekali saja. 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… berikutnya, saya akan coba berikan contoh penggunaan SWICTH dalam studi kasus. Studi kasus yang saya ambil di sini adalah bagaimana menampilkan nama bulan sekarang (current month) dalam bahasa Indonesia.
Adapun ide penyelesaian dari studi kasus tersebut adalah sebagai berikut :
Langkah pertama kita harus tahu bulan sekarang. Untuk mengetahui nama bulan sekarang, kita bisa menggunakan function date("n") dalam PHP. Function tersebut akan menghasilkan bilangan bulat 1-12 yang mencerminkan angka bulan sekarang.
Langkah kedua, dari angka bulan yang telah diperoleh tersebut selanjutnya kita nyatakan ke dalam bahasa Indonesia. Bagaimana menyatakannya? Ya… caranya kita gunakan logika seperti ini:
Jika angka bulan sama dengan 1, maka nama bulannya ‘Januari’. Jika angka bulan sama dengan 2, maka bulannya ‘Pebruari’ dan seterusnya.
Apa itu Switch ?
SWITCH termasuk statement yang dapat dipergunakan untuk menyatakan suatu pernyataan kondisional atau bersyarat seperti halnya IF.
Sintaks Statement Switch dalam PHP :
switch (var)
{
case value1 : statement A
.
. break;
case value2 : statement B
.
. break;
case value3 : statement C
.
. break;
.
.
default : statement D
.
.
}
Maksud dari sintaks di atas adalah: dalam hal ini nilai yang ada pada 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.
Apabila kita perhatikan dari konsep SWITCH, maka kita bisa menyimpulkan bahwa proses pr oses pengecekan atau pengujian persyaratan yang terjadi hanyalah perbandingan dalam bentuk ’sama dengan’ atau ‘==’.
SWITCH tidak bisa digunakan untuk kondisional yang di dalamnya terdapat proses perbandingan seperti ‘lebih besar dari’, ‘lebih kecil dari’, ‘lebih kecil atau sama dengan’, ‘lebih besar atau sama dengan’ dan ‘tidak sama dengan’. Melihat hal ini memang penggunaan statement IF untuk menyatakan kondisional lebih fleksibel daripada SWITCH.
Trus… berarti SWITCH tidak lebih efektif daripada IF donk. Tentu tidak. Ada kelebihan pada penggunaan SWITCH. Berikut ini kelebihannya:
Meskipun makna sintaks SWITCH dan IF yang diberikan di atas adalah sama, namun terdapat perbedaan dalam prosesnya.
Dalam SWITCH, persyaratan hanya diuji sekali saja. 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… berikutnya, saya akan coba berikan contoh penggunaan SWICTH dalam studi kasus. Studi kasus yang saya ambil di sini adalah bagaimana menampilkan nama bulan sekarang (current month) dalam bahasa Indonesia.
Adapun ide penyelesaian dari studi kasus tersebut adalah sebagai berikut :
Langkah pertama kita harus tahu bulan sekarang. Untuk mengetahui nama bulan sekarang, kita bisa menggunakan function date("n") dalam PHP. Function tersebut akan menghasilkan bilangan bulat 1-12 yang mencerminkan angka bulan sekarang.
Langkah kedua, dari angka bulan yang telah diperoleh tersebut selanjutnya kita nyatakan ke dalam bahasa Indonesia. Bagaimana menyatakannya? Ya… caranya kita gunakan logika seperti ini:
Jika angka bulan sama dengan 1, maka nama bulannya ‘Januari’. Jika angka bulan sama dengan 2, maka bulannya ‘Pebruari’ dan seterusnya.
Sehingga bentuk script PHP dengan Switch nya untuk menampilkan nama bulan dalam bahasa Indonesia adalah
<?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";
break;
case 9 : $namaBln = "September";
break;
case 10: $namaBln = "Oktober";
break;
case 11: $namaBln = "Nopember";
break;
case 12: $namaBln = "Desember";
break;
}
TUGAS
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 kira-kira apa outputnya hayoo?? Bila sudah, coba bandingkan hasilnya bila dijalankan di browser. Selanjutnya simpulkan!
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 />";
case 12 : echo "Bilangan sama dengan 12 <br />";
default : echo "Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";
break;
}
?>
Output :
Kesimpulan : Ketika dalam switch syarat telah terpenuhi, output akan menampilkan semua statement sampai ada perintah break.
2. Kerjakan kembali soal no. 6 Modul 7. Gunakan konsep SWITCH!
Keterangan:
Gunakan komponen radiobutton dalam memilih golongan gaji.
Program :
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Gaji Golongan</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>
Output :
3. Kerjakan kembali soal no. 2 Modul 7 menggunakan konsep SWITCH
Program :
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Perhitungan Gaji</h1>
<form method="POST"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 = $_POST[jam];
$upah1 = 2000;
$upah2 = 3000;
$gaji1 = $jam * $upah1;
$lembur = ($jam - 48) * $upah2;
$gaji2 = (48 * $upah1) + $lembur;
echo "Jumlah Jam Kerja ".$_POST[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>
Output :
4. Dengan menggunakan konsep SWITCH, buatlah script untuk membaca bulan saat ini dan tampilkan jumlah hari dalam bulan tersebut.
Program :
<html>
<head>
<title>Switch</title>
</head>
<body>
<h1>Bulan dan Jumlah Hari</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>
Output :
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 ☺
Catatan: Gunakan konsep SWITCH dalam menerapkan pemilihan menunya.
Program :
//Program Utama :
//Program Utama :
<html>
<form method="GET" action="">
<h1>Luas Bangun Datar</h1><br>
<input type="radio" name="bangun" value="sangkar"> Bujur sangkar <br>
<input type="radio" name="bangun" value="pan"> Persegi panjang <br>
<input type="radio" name="bangun" value="ling"> Lingkaran <br>
<input type="radio" name="bangun" value="tiga"> Segitiga <br>
<input type="submit" value="Pilih">
</form>
<?php
$Bangun=$_GET['bangun'];
switch($Bangun)
{
case sangkar :
echo "<form method = \"GET\" action=\"Sangkar.php\">";
echo "Luas Bujur sangkar<br>";
echo "Masukkan panjang sisi <input type= \"text\" name=\"sisi\" > <br>";
echo "<input type=\"submit\" value=\"Hitung\" >";
echo "</form>";
break;
case pan :
echo "<form method = \"GET\" action=\"Panjang.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 ling :
echo "<form method = \"GET\" 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 tiga :
echo "<form method = \"GET\" action=\"Tiga.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 "Pilihlah Salah Satu Bangun Diatas <br>";
break;
}
?>
</html>
//Program Untuk Bujur sangkar
//Program Untuk Persegi Panjang
//Program Untuk Lingkaran
//Program Untuk Segitiga
<?php
$s =$_GET['sisi'];
$L=$s*$s;
echo "Maka Luas Bujur Sangkar Adalah $L";
?>
//Program Untuk Persegi Panjang
<?php
$l =$_GET['lbr'];
$p =$_GET['pjg'];
$L=$p*$l;
echo "Maka Luas Persegi Panjang Adalah $L";
?>
//Program Untuk Lingkaran
<?php
$J =$_GET['jr'];
$L=3.14*$J*$J;
echo "Maka Luas Lingkaran Adalah $L";
?>
//Program Untuk Segitiga
<?php
$T =$_GET['tng'];
$A =$_GET['als'];
$L=0.5*$T*$T;
echo "Maka Luas Segitiga Adalah $L";
?>
Output :
Sekian pembelajarannya untuk hari ini..
Terimakasih sobat JoyBoy mau berkunjung di blog kami..
Sering-sering mampir disini, karena kami akan update pembelajaran tentang bahasa pemrograman tiap minggunya👌
Terimakasih sobat JoyBoy mau berkunjung di blog kami..
Sering-sering mampir disini, karena kami akan update pembelajaran tentang bahasa pemrograman tiap minggunya👌
Comments
Post a Comment