Diposkan pada Pemrograman, PHP

MENGENAL SWITCH LEBIH DALAM

Lanjutan dari postingan sebelumnya (BERKENALAN DENGAN SWITCH) disini akan dibahas mengenai soal-soal tentang SWITCH.

Biar kenal lebih dalam lagi yuk simak dan ikut latihan juga ya..

SOAL 1

Pada script ini, dapat kita lihat ketika memasukkan input seperti pada script, maka output yang dihasilkan yaitu menjalankan echo bilangan samadengan 10, echo bilangan samadengan 12, dan echo bilangan tidak samadengan 5,8,10, dan 12. Seharusnya statement yang berjalan adalah samadengan 10, hal ini terjadi karena tidak adanya break pada case 10 dan case yang lainnya. Fungsi dari break sendiri yaitu pemisah antara case yang satu dengan case yang lainnya.

Script :

<?php

$bil = 10;

switch ($bil)

{

case5 : echo"Bilangan sama dengan 5 <br />";

break;

case8 : echo"Bilangan sama dengan 8 <br />";

break;

case10 : echo"Bilangan sama dengan 10 <br />";

case12 : echo"Bilangan sama dengan 12 <br />";

default : echo"Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";

break;

}

?>
Hasil :
1.png
Seharusnya, script :
<?php

$bil = 10;

switch ($bil)

{

case5 : echo"Bilangan sama dengan 5 <br />";

break;

case8 : echo"Bilangan sama dengan 8 <br />";

break;

case10 : echo"Bilangan sama dengan 10 <br />";

break;

case12 : echo"Bilangan sama dengan 12 <br />";

break;

default : echo"Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";

break;

}

?>
Hasil:

2-2.png


SOAL 2
Pada soal 2 yaitu tentang gaji karyawan dimana seperti yang sebelumnya pernah dibahas pada postingan sebelumnya, hanya saja pada kali ini diubah dengan menggunakan statement switch. Dalam script ini kita hanya mengganti if elsenya dengan case menggunakan syarat yang sama, perlu diingat untuk menambahkan switch diatas case.
Script:
<form method="POST" action="">

<table>

<tr><td>Jumlah Jam Kerja = </td><td><inputtype="text"name="jam"></td></tr>

<tr><td><inputtype="submit"value="kirim"></td></tr>

</table>

</form>

<?php

$jam=$_POST['jam'];

switch($jam)

{

case (<=48):

$gaji=2000*$jam;

echo"Jam Kerja Anda \t= $jam jam<br>";

echo"Gaji Anda adalah =\t Rp.$gaji";

break;

default:

$lembur=$jam-48;

$jam=$jam-$lembur;

$gaji1=2000*$jam;

$gaji2=3000*($lembur); //3000 = gaji lembur

$gaji=$gaji1+$gaji2;

echo"Jam Kerja Anda = $jam jam<br>";

echo"Jam Lembur Anda = $lembur jam<br>";

echo"Gaji Anda adalah =\t Rp.$gaji";

break;

}

?>
Hasil :
3.png

SOAL 3
Untuk soal 3 yaitu melanjutkan pada soal 2 dengan menambahkan pilihan untuk menentukan golongan kerja. Pada pilihan golongan menggunakan switch dan form pilihan menggunakan radiobutton
Script:
<form method="POST" action="">

<table>

<tr><td>Jumlah Jam Kerja = </td><td><inputtype="text"name="jam"></td></tr>

<tr><td>Golongan Kerja = </td><td>

<inputtype="radio"name="gol"value="A">A

<inputtype="radio"name="gol"value="B">B

<inputtype="radio"name="gol"value="C">C

<inputtype="radio"name="gol"value="D">D

</td></tr>

<tr><td><inputtype="submit"value="kirim"></td></tr>

</table>

</form>

<?php

$jam=$_POST['jam'];

//Gaji Golongan

switch($_POST['gol'])

{

case 'A': $gol=4000; break;

case 'B': $gol=5000; break;

case 'C': $gol=6000; break;

case 'D': $gol=7000; break;

default:$gol=0; break;

}

switch($jam)

{

case ($jam<=48):

$gaji=$gol*$jam;

echo"Jam Kerja Anda \t= $jam jam<br>";

echo"Golongan Kerja Anda \t = $_POST[gol]<br>";

echo"Gaji Anda adalah =\t Rp.$gaji";

break;

default:

$lembur=$jam-48;

$jam=$jam-$lembur;

$gaji1=$gol*$jam;

$gaji2=3000*($lembur); //3000 = gaji lembur

$gaji=$gaji1+$gaji2;

echo"Jam Kerja Anda = $jam jam<br>";

echo"Jam Lembur Anda = $lembur jam<br>";

echo"Golongan Kerja Anda \t = $_POST[gol]<br>";

echo"Gaji Anda adalah =\t Rp.$gaji";

break;

}

?>
Hasil:
4.png

SOAL 4
Soal keempat membahas tentang banyaknya hari pada bulan saat ini dengan menggunakan switch, di dalam case pada bulan terdapat echo untuk mencantumkan berapa jumlah hari pada bulan tersebut. Contoh : Maret = 31 hari.
Script:
<?php

$bln=date("M");

switch($bln)

{

case"Jan":

echo"Januari<br>";

echo"Jumlah Hari:31";

break;

case"Feb":

echo"Febuari<br>";

echo"Jumlah Hari:28";

break;

case"Mar":

echo"Maret<br>";

echo"Jumlah Hari:31";

break;

case"Apr":

echo"April<br>";

echo"Jumlah Hari:30";

break;

case"May":

echo"Mei<br>";

echo"Jumlah Hari:31";

break;

case"Jun":

echo"Juni<br>";

echo"Jumlah Hari:30";

break;

case"Jul":

echo"Juli<br>";

echo"Jumlah Hari:31";

break;

case"Aug":

echo"Agustus<br>";

echo"Jumlah Hari:31";

break;

case"Sep":

echo"September<br>";

echo"Jumlah Hari:30";

break;

case"Oct":

echo"Oktober<br>";

echo"Jumlah Hari:31";

break;

case"Nov":

echo"November<br>";

echo"Jumlah Hari:30";

break;

case"Dec":

echo"Desember<br>";

echo"Jumlah Hari:31";

break;

}

?>
Hasil:
5.png

SOAL 5
Script pada soal ini yaitu digunakan untuk menghitung luasan berbagai bangunan datar, dimana hal yang pertama kita lakukan yaitu membuat form untuk memilih luasan bangun datar yang ingin kita hitung. Selanjutnya form tersebut akan menjalankan program lain yang terdapat form untuk memasukkan ukuran dari bangun datar tersebut. Dalam script ini terdapat switch yang nantinya akan menentukan rumus yang digunakan sesuai bangun datar yang kita inginkan.
Script:
<form method="POST" action="Menghitung.php">

<table>

<tr>

<td><inputtype="radio"name="pil"value="1">Bujur Sangkar</td>

<td><inputtype="radio"name="pil"value="2">Persegi Panjang</td>

</tr>

<tr>

<td><inputtype="radio"name="pil"value="3">Lingkaran</td>

<td><inputtype="radio"name="pil"value="4">Segitiga</td>

</tr>

</table>

<input type="submit" value="Pilih">

</form>

<?php

$pil=$_POST['pil'];

echo "<form method='POST' action=''>";

echo "<table>";

echo "<tr>";

echo "<td>Bilangan 1</td>";

echo "<td>=<input type='text' name='b1'></td>";

echo "</tr>";

echo "<tr>";

echo "<td>Bilangan 2</td>";

echo "<td>=<input type='text' name='b2'></td>";

echo "</tr>";

echo "</table>";

echo "<input type='hidden' name='pil2' value='$pil'></td>";

echo "<input type='submit' value='Pilih'>";

echo "</form>";

$pil2=$_POST['pil2'];

$pil1=$pil2;

$b1=$_POST['b1'];

$b2=$_POST['b2'];

switch($pil2)

{

case1: //bujur sangkar

echo"Bilangan 1 = Panjang<br>";

echo"Bilangan 2 = Tinggi<br>";

$jum=$b1*$b2;

echo"Panjang = $b1<br>";

echo"Tinggi = $b2<br>";

echo"Luas = $jum<br>";

break;

case2: //Persegi Panjang

echo"Bilangan 1 = Panjang<br>";

echo"Bilangan 2 = Lebar<br>";

$jum=$b1*$b2;

echo"Panjang = $b1<br>";

echo"Lebar = $b2<br>";

echo"Luas = $jum<br>";

break;

case3: //Lingkaran

echo"Bilangan 1 = Jari-jari<br>";

echo"Bilangan 2 = -<br>";

$jum=pow($b1,2)*22/7;

echo"Jari-jari = $b1<br>";

echo"Luas = $jum<br>";

break;

case4: //Segitiga

echo"Bilangan 1 = Panjang<br>";

echo"Bilangan 2 = Tinggi<br>";

$jum=$b1*$b2/2;

echo"Panjang = $b1<br>";

echo"Tinggi = $b2<br>";

echo"Luas = $jum<br>";

break;

default:

//echo "Belum Memasukan Pilihan";

break;

}

?>

<form method="POST" action="Combo_box.php">

<inputtype="submit"value="Kembali">

</form>

Hasil:
6
7

Sekian dulu pembahasan mengenai switch.. Selamat mencoba, selamat belajar kawan..
Terimakasih telah berkunjung..!!! SEMANGAT!!!
Diposkan pada Pemrograman, PHP

BERKENALAN DENGAN SWITCH

Halo kawan,, sudah siap kenalan dengan yang namanya SWITCH..??

Let’s GO……!!!!!!

Jadi SWITCH merupakan salah satu statement yang dapat digunakan untuk menyatakan suatu pernyataan kondisional atau bersyarat. Selain itu, proses pengecekan dari SWITCH ini yang terjadi hanyalah proses perbandingan dalam bentuk samadengan ‘==’. SWITCH tidak bisa digunakan untuk kondisional yang didalamnya terdapat proses perbandingan seperti lebih kecil dari,dll. Eiiitttzzzz… Bukan berarti SWITCH tidak efektif loh ya… Ada kelebihannya kok padaSWITCH yaitu apabila script kita sangat mendetail atau banyak menggunakan pernyataan kondisional, penggunaan SWITCH akan menghasilkan proses yang lebih cepat….

Secara umum penulisan sintaks statement SWITCH pada PHP adalah sebagai berikut :

switch(variabel)

{

case value1: statementA;

.

.

.

break;

case value1: statementB;

.

.

.

break;

case value1: statementC;

.

.

.

break;

.

.

.

default :statementD;

.

.

}
Dalam hal ini nilai yang terdapat pada variabel akan dicek. Diantara value-value yang ada sebagai pilihan. Misalkan nilai variabel = value1, maka blok yang terdapat pada statement A yang akan dijalankan. Apabia nilai variabel = value2, maka blok pada statement B yang akan dijalankan. Namun jika tidak ada value yang cocok, maka barulah blok yang ada pada bagian DEFAULT atau statement D yang akan dijalankan.
Penggunaan option DEFAULT pada SWITCH adalah optional. Jadi kita bisa tidak memberikan DEFAULT jika memang kita tidak memerlukan.
Selain bentuk sintaks yang tadi nih, ada bentuk sintaks yang lain dan ekuivalen yaitu dengan statement IF
if (var == value1)

{

statement A

.

.

}

else if (var == value2)

{

statement B

.

.

}

else if (var == value3)

{

statement C

.

.

}

.

.

else

{

statement D

.

.

}
Meskipun makna dari sintaks SWITCH dan IF yang diberikan di atas adalah sama, namun terdapat perbedaan dalam prosesnya.
Dalam SWITCH, pesyaratan hanya diuji sekali saja dari sekian pilihan value secara otomatis PHP akan menjalankan blok dimana valuenya cocok, proses pengujian tidak dimulai dari pilihan value paling atas namun secara otomatis 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 dan seterusnya.

Bagaimana kawan, apakah sudah kenal dengan SWITCH?
Jika pengen kenal lebih dalam bisa lanjut kunjungi postinganku tentang soal SWITCH ya pada postingan MENGENAL SWITCH LEBIH DALAM.