Untuk membuat suatu halaman yang
dinamis dan interaktif, perancang halaman Web membutuhkan perintah-perintah yang dapat mengatur aliran dari informasi. Berdasarkan hasil komputasi yang telah dilakukan, JavaScript akan membuat keputusan jalur mana yang akan dieksekusi. Pada dasarnya dalam JavaScript terdapat dua macam pernyataan percabangan yaitu if..else dan switch
Digunakan untuk menguji sebuah kondisi
dan kemudian mengeksekusi pernyataan tertentu bila kondisi tersebut telah dipenuhi, 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 evaluasinya memiliki nilai Boolean True atau False
Untuk kasus yang melibatkan banyak kondisi, maka 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
}
}
}
<TITLE>Percabangan IF-ELSE <SCRIPT language="JavaScript"> function tanyabilangan() { var bil = parseFloat(document.fform.bilangan.value); var jenis = " "; if(isNaN(bil)) { aert("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); } }
Perusahaan Travel “Bintang Abadi” mempunyai armada
dengan tujuan:
Tujuan
Harga Tiket
Jakarta
100000
Cirebon
150000
Tasikmalaya
200000
apabila
seorang pemesan sudah menjadi anggota/member Travel Bintang Abadi maka akan : Harga tiket X Jumlah tiket mendapatkan diskon 10%. Subtotal Diskon : 0.10 X Subtotal Total
: Subtotal - Diskon
Buat program dengan menggunakan javascript untuk
menyelesaikan masalah tersebut. sebagai berikut: Input : Nama pemesan Tujuan Jumlah Tiket Member
Dengan
ketentuan
Output : Harga Tiket Sub Total Diskon Total Bayar
<TITLE>Percabangan IF-ELSE 2 <SCRIPT language="JavaScript"> function hitungtotal() { var nama = (document.fform.inama.value); var tujuan = (document.fform.itujuan.value); var jumlahtiket = parseFloat(document.fform.ijumlah.value); var ht = 0.0; var sub = 0.0; var diskon =0.0; var total =0.0;
if (tujuan=="Jakarta") { ht =100000; } else if (tujuan=="Cirebon") { ht =150000; } { ht =200000; } sub = jumlahtiket*ht; if (document.fform.imember.checked==true) { diskon =0.10*sub; } { diskon=0.0; } total = sub-diskon; document.fform.otiket.value=eval(ht); document.fform.osub.value=eval(sub); document.fform.odiskon.value=eval(diskon); document.fform.ototal.value=eval(total); // gunakan untuk mengecek !!! alert (total); }
else
else
value="Hitung"
Percabangan
majemuk adalah suatu percabangan yang dapat melibatkan lebih dari 1 kondisi di dalam percabangannya. Biasanya percabangan sepert ini menggunakan operator tambahan seperti AND, OR dan sebagainya
<TITLE>Percabangan IF-ELSE 3 <SCRIPT language="JavaScript"> function hitungip() { var quis = parseFloat(document.fform.iquis.value); var tugas = parseFloat(document.fform.itugas.value); var uts = parseFloat(document.fform.iuts.value); var uas = parseFloat(document.fform.iuas.value); var ip =" "; var ket=" ";
var na = (0.10*quis)+(0.20*tugas)+(0.30*uts)+(0.40*uas); if ((na > 80) && (na <=100)) { ip ="A"; ket="Lulus dengan Sangat Baik"; else if ((na > 68) && (na <=80)) { ip ="B"; ket="Lulus dengan Baik"; else if ((na > 55) && (na <=68)) { ip ="C"; ket="Lulus dengan Cukup"; else if ((na > 38) && (na <=55)) { ip ="D"; ket="Lulus dengan Kurang"; else { ip ="E"; ket="Tidak Lulus“; document.fform.oip.value=ip; document.fform.oket.value=ket; // gunakan untuk mengecek alert (ip+""+na);
} } } } }
}
Selain menggunakan if..else, percabangan
juga dapat ditangani dengan perintah switch. Pernyataan switch digunakan untuk menyederhanakan pernyataan if..else yang terlalu banyak.
<TITLE>Percabangan Switch <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);