Penggunaan switch mirip dengan if dan else. Berikut struktur syntax switch.
case"nilai 1":
aksi 1
break;
case"nilai 2":
aksi 2
break;
case"nilai n":
aksi n
break;
default:
aksi default
break;
}
Baca: switch di dalam kurung ekspresinya, bukan kondisi di, dibatasi kurung kurawal buka dan kurung kurawal tutup. Di dalamnya kita mengecek menggunakan kasus-kasus (case) hasil dari ekspresinya. Misal jika casenya nilai dari ekspresinya nilai 1 maka jalankan aksi 1. Setelah aksi dijalankan maka dilanjutkan keyword break untuk keluar dari switch. Jika kasusnya bernilai 2 maka jalankan aksi 2, jika kasusnya bernilai n maka jalankan aksi n, jika nilainya tidak terpenuhi dari semua nilai yang ada maka akan masuk ke aksi default.
== → operator perbandingan (membandingkan tanpa melihat tipe data)
== → operator perbandingan (membandingkan tanpa melihat tipe data)
=== → operator identitas (membandingkan tidak hanya nilai tetapi tipe datanya juga.)
Misal:
Misal:
var angka = prompt ('masukkan angka:');
if (angka ===1){
alert ('anda memasukka angka 1');
}elseif(angka===2){
alert('anda memasukka angka 2');
}elseif(angka===3){
alert('anda memasukka angka 3');
}else{
alert('angka yang anda masukkan salah!');
}
Fungsi prompt yaitu memasukkan inputan dari user, tetapi prompt akan membaca inputan menjadi string. Sedangkan kita membandingkan inputan angka dari user dengan tanda === maka yang terjadi adalah kondisi false untuk semua kondisi. Cara mengatasi hal ini yaitu:
1. Mengganti operand 1(integer) menjadi '1' (string).
2. Memaksa apapun yang diinputkan user menjadi integer dengan fungsi parseInt(); didepan prompt, artinya apapun yang diinputkan user akan diproses oleh sebuah fungsi yang namanya parseInt sehingga inputan user tadi akan berubah menjadi integer lalu kemudia disimpan di variabel angka.
Contoh:
Contoh:
var angka = parseInt(prompt('masukkan angka:'));
switch(angka){
case 1:
alert('anda memasukkan angka 1');
break;
case 2:
alert('anda memasukkan angka 2');
break;
case 3:
alert('anda memasukkan angka 3');
break;
default:
alert('anda memasukkan angka yang salah');
break;
}
**case ini membandingkan nilai dan tipe data sehingga jika di awal fungsi hanya ada prompt maka akan masuk ke aksi default, sehingga butuh fungsi parseInt.
**ingat di dalam kurung adalah ekspresi bukan kondisi dan casenya adalah nilai, kita tidak memasukkan kondisi angka<10 ke dalam case, harus nilai langsung.
Contoh lainnya:
Contoh lainnya:
var item = prompt('masukkan makanan/minuman: \n(contoh: nasi,daging,susu,hamburger,softdrink)');
switch(item){
case 'nasi':
case 'daging':
case 'susu':
alert('makanan/minuman SEHAT!');
break;
case 'hamburger':
case 'softdrink':
alert('makanan/minuman TIDAK SEHAT!');
break;
default:
alert('anda memasukkan makanan/minuman yang salah');
break;
}
Disini kita tidak membuat break di masing-masing case karena alert yang digunakan sama sehingga jika case'nasi' diberikan aksi alert(.....) tanpa ada break dibawahnya maka aksi akan dijalankan tetapi menjalankan aksi case'susu' yaitu alert(...) kemudia barulah keluar dari switch. Jadi fungsi break untuk keluar switch dalam kasus yang berbeda.
Disini kita tidak membuat break di masing-masing case karena alert yang digunakan sama sehingga jika case'nasi' diberikan aksi alert(.....) tanpa ada break dibawahnya maka aksi akan dijalankan tetapi menjalankan aksi case'susu' yaitu alert(...) kemudia barulah keluar dari switch. Jadi fungsi break untuk keluar switch dalam kasus yang berbeda.
0 comments:
Post a Comment