Sabtu, 23 Maret 2019

Switch dalam PHP


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