01 May, 2011

percabangan dalam javascript

setelah sebelumnya saya posting tentang objek input data dengan javascript bagian 1 dan bagian 2, kali ini saya akan coba posting tentang percabangan dalam JavaSrcipt. sedangkan pengertian percabangan itu sendiri adalah pemilihan statemen/pernyataan pada kondisi dua pilihan atau lebih yang akan dieksekusi selanjutnya, dimana pemilihan tersebut didasarkan atas kondisi tertentu. logikanya, jika suatu kondisi tidak memenuhi syarat atau salah, maka program akan mengeksekusi kondisi yang lain, dan seterusnya.
pada dasarnya dalam JavaScript terdapat 2 pernyataan percabangan, yaitu if .. else dan switch.

  • If .. ELse
  • pernyataan ini digunakan untuk menguji sebuah kondisi dan kemudian mengeksekusi pernyataan tertentu bila kondisi tersebut terpenuhi, dan mengeksekusi pernyataan lain bila kondisi tersebut tidak terpenuhi.
    if (kondisi){
      //pernyataan1 dieksekusi bila kondisi terpenuhi
    }else{
      //pernyataan2 dieksekusi bila kodisi tidak terpenuhi
    }
    

    kondisi adalah ekspresi JavaScript yang mana hasil evaluasinya memiliki nilai Boolean true atau false. untuk kasus yang melibatkan banyak kondisi kita dapat meletakkan pernyataan if lain setelah else.
    if (kondisi1){
      //pernyataan1 dieksekusi bila kondisi1 terpenuhi
    }
    else if (kondisi2){
      //pernyataan2 dieksekusi bila kodisi1 tidak terpenuhi
    }else{
      //pernyataan3 dieksekusi bila kodisi2 tidak terpenuhi
    }
    

    contoh:
    <HTML>
    <HEAD><TITLE>Percabangan IF-ELSE</TITLE></HEAD>
    <BODY>
    <SCRIPT language="JavaScript">
    <!--
    function tanyabilangan(){
    var bil = parseFloat(document.fform.bilangan.value);
    var jenis = " ";
      if(isNaN(bil)){
        alert("Anda Belum memasukkan Bilangan");
      }else{
        if (bil > 0){
          jenis = " Adalah bilangan Positif";
        }else if (bil < 0){
          jenis = " Adalah bilangan Negatif";
        }else{
          jenis = " Adalah Nol";
        }
        alert (bil+" "+jenis);
      }
    }
    //--></SCRIPT>
    
    <FORM NAME ="fform">
    <H2>
    Bilangan Negatif, Nol, Atau Positif ?</H2>
    Masukkan Bilangan :<input type="text" size="11" name="bilangan">
    <P>
    <INPUT TYPE="button" value="Tanya" onclick="tanyabilangan()">
    <INPUT TYPE="reset" value="Ulang"> </p>
    </FORM>
    </BODY>
    </HTML>
    

    tampilan:

  • Switch
  • Selain menggunakan if..else, percabangan juga dapat ditangani dengan perintah switch. dengan kata lain pernyataan switch digunakan untuk menyederhanakan pernyataan if..else yang terlalu banyak.
    <HTML>
    <HEAD><TITLE>Percabangan Switch</TITLE></HEAD>
    <BODY>
    <SCRIPT language="JavaScript">
    <!--
    function tanyabulan(){
    var bulan = parseFloat(document.fform.ibulan.value);
    var namabulan=" ";
      switch (bulan){
        case 1 : namabulan="Bulan ke 1 adalah = Januari";break;
        case 2 : namabulan="Bulan ke 2 adalah = Februari";break;
        case 3 : namabulan="Bulan ke 3 adalah = Maret";break;
        case 4 : namabulan="Bulan ke 4 adalah = April";break;
        case 5 : namabulan="Bulan ke 5 adalah = Mei";break;
        case 6 : namabulan="Bulan ke 6 adalah = Juni";break;
        case 7 : namabulan="Bulan ke 7 adalah = Juli";break;
        case 8 : namabulan="Bulan ke 8 adalah = Agustus";break;
        case 9 : namabulan="Bulan ke 9 adalah = September";break;
        case 10 : namabulan="Bulan ke 10 adalah = Oktober";break;
        case 11 : namabulan="Bulan ke 11 adalah = November";break;
        case 12 : namabulan="Bulan ke 12 adalah = Desember";break;
        default : namabulan="Anda salah mengisi";
      }
      alert(namabulan);
    }
    //--></SCRIPT>
    
    <FORM NAME ="fform">
    <H2>Penggunaan Percabangan Switch</H2><HR>
    <PRE>
    Masukkan Nomor Bulan [1-12] :<input type="text" size="2" name="ibulan">
    <INPUT TYPE="button" value="Hitung" onclick="tanyabulan()"><INPUT TYPE="reset" value="Ulang">
    </PRE>
    </FORM>
    </BODY>
    </HTML>
    

    tampilan:

    silahkan download contoh script dan contoh kasusnya disini.

    Load disqus comments

    0 komentar