Struktur algoritma terbagi kedalam 3 bagian yaitu runtunan, perulangan dan pemilihan (percabangan). Program dengan permasalahan yang sederhana biasanya hanya berisi runtunan instruksi tanpa adanya proses pemilihan atau perulangan, namun dalam program dengan permasalahan yang lebih kompleks, seringkali suatu instruksi hanya bisa dikerjakan jika memenuhi suatu pernyataan/kondisi tertentu, sehingga dibutuhkan struktur pemilihan (percabangan).
Percabangan adalah alur program bercabang yang memungkinkan kita menentukan aksi atau kode mana yang akan dieksekusi berdasarkan kondisi tertentu. Istilah percabangan disebut juga control flow, decision, pengkodisian, struktur logika, dan conditional statement (pernyataan bersyarat), dan lain-lain.
Percabangan dapat dilakukan dengan menggunakan keyword di bawah ini.
- Percabangan if untuk mengeksekusi suatu kumpulan perintah apabila kondisi tertentu bernilai true.
- Percabangan else untuk mengeksekusi suatu kumpulan perintah apabila kondisi tertentu bernilai false.
- Percabangan else if untuk pemeriksaan kondisi berikutnya apabila kondisi sebelumnya bernilai false.
- Percabangan switch untuk mengeksekusi suatu kumpulan perintah berdasarkan beberapa pilihan.
Bentuk percabangan lainnya di JavaScript:
- Percabangan bersarang (Nested If)
- Percabangan dengan Operator Ternary (bentuk lain If Else)
Percabangan IF
Percabangan if hanya memiliki satu kondisi, setiap perintah program yang ada dalam blok if akan di eksekusi saat kondisi yang ditetapkan bernilai benar (true).
Berikut ini sintaksnya:
Pada contoh di bawah ini, variabel usia kita tetapkan nilainya adalah 19. Kemudian percabangan if akan mengecek kondisi apakah nilai variabel usia >= 18? kondisi ini bernilai benar (true) sehingga perintah console.log("Okay selamat, kamu boleh ikut") akan dieksekusi.
Bagaimana jika kondisi tidak terpenuhi?
Karena percabangan if hanya akan mengerjakan ketika kondisi terpenuhi, jika tidak terpenuhi maka program tidak akan menjalankan perintah apapun yang di definisikan dalam blok if.
Agar program dapat mengeksekusi pernyataan alternatif maka kita perlu menambahkan blok ELSE.
Percabangan IF ELSE
Blok else memungkinkan program untuk menjalankan pernyataan alternatif jika kondisi bernilai salah (false).
Berikut ini sintaksnya:
Pada contoh di bawah ini, variabel nilaiUjian kita tetapkan nilainya adalah 50. Kemudian percabangan if akan mengecek kondisi apakah nilai variabel nilaiUjian >= 70? kondisi ini bernilai salah (false) sehingga perintah pada blok else yang di eksekusi dengan menampilkan kalimat "Maaf kamu gagal".
Contoh lainnya:
Program di atas untuk menentukan bilangan ganjil atau genap, menggunakan operator modulus (sisa pembagian). Variabel cekAngka nilainya ditetapkan 10, kondisi yang ditetapkan menjadi 10 % 2 apakah sama dengan 1 ? jika benar maka menampilkan kalimat Bilangan Ganjil, sementara jika salah menampilkan kalimat Bilangan Genap.
Karena 10 % 2 = 0 (tidak sama dengan 1) maka program yang akan dieksekusi pada blok else karena kondisi yang ditetapkan tidak terpenuhi (false).
Percabangan ELSE IF
Jika pada bentuk pecabangan IF hanya memikiki satu kondisi. Pada bentuk percabangan Else if mempunyai lebih dari satu kondisi.
Berikut ini sintaksnya:
Contoh program:
Pada contoh di atas, variabel angka kita tetapkan nilainya 0, ada tiga kondisi yang kita definisikan, yaitu angka > 0, angka < 0, dan angka == 0.
Program akan berjalan secara sekuensial (dari atas kebawah), awalnya program akan mengecek apakah angka > 0 ? bukan, jika bukan maka di cek lagi kondisi berikutnya, apakah angka < 0 ? bukan, jika bukan maka di cek lagi kondisi berikutnya, apakah angka == 0? iya, maka pernyataan “0 adalah Nol” yang akan di eksekusi. Jika semua kondisi tidak terpenuhi, maka blok bagian else yang akan di eksekusi.
Contoh studi kasus:
Kita akan membuat aplikasi untuk mengkonversi nilai angka dari 0 sampai 100 menjadi nilai huruf (grade) yang diklasifikasikan sebagai berikut:
- Nilai >= 90: Grade A
- Nilai 89 - 80: Grade B+
- Nilai 89 - 70: Grade B
- Nilai 89 - 60: Grade C+
- Nilai 89 - 50: Grade C
- Nilai 89 - 40: Grade D
- Nilai 89 - 30: Grade E
Jika kondisi-kondisi yang ditetapkan tidak terpenuhi maka akan menampilkan nilai Grade F.
Pada contoh program di atas, pengguna akan diminta memasukan grade nilai lewat perintah prompt.
Percabangan Bersarang (Nested IF)
Bentuk selanjutnya adalah nested if atau sering disebut percabangan bersarang. Percabangan ini merupakan bentuk yang lebih kompleks, dimana terdapat percabangan di dalam percabangan lain.
Berikut ini sintaksnya:
Contoh program:
Contoh program diatas mengenai nilai IPK, dimana jika IPK lebih dari 3.5 maka akan ditampilkan "IPK kamu bagus banget", sedangkan jika IPK lebih dari 3.0 dan kurang dari atau sama dengan 3.5 maka akan di tampilkan "IPK kamu bagus". Sementara jika IPK dibawah 3.0 menampilkan kalimat "Tingkatkan lagi IPK mu ya".
Jika kondisi-kondisi yang ditetapkan tidak terpenuhi maka akan di kerjakan pada bagian blok else dengan menampilkan pemberitahuan bahwa "IPK yang kamu masukan kelebihan maksimal 4.0".
Jika diperhatikan parcabangan bersarang ada pada kondisi pertama (ipk>=3.0 && ipk<=4.0), jika kondisi bernilai benar maka akan di cek percabangan berikutnya yang ada di dalam percabangan tersebut.
Percabangan Switch Case
Switch case merupakan struktur pemilihan yang bekerja dengan cara membandingkan suatu nilai pada setiap case yang ada. Dengan demikian akan menghasilkan banyak kemungkinan dari nilai yang di bandingkan.
Berikut ini sintaksnya:
Setiap case nilai yang di lakukan pembanding bisa berupa numerik ataupun karakter string. Blok perintah yang ada di masing-masing case akan di jalankan saat case nilai sama dengan nilai pembanding.
Setiap case akan diakhiri dengan break berfungsi agar program tidak mengeksekusi pernyataan selanjutnya dalam switch. Di bagian akhir terdapat bagian default, bagian ini akan dijalankan jika semua case tidak memenuhi kondisi yang ada. Perintah default tidak wajib, jika memang diperlukan bisa digunakan.
Contoh program:
Kita akan membuat program untuk menentukan bobot nilai dari grade nilai A,B,C,D,E.
Contoh program:
Kita akan membuat program untuk menentukan bobot nilai dari grade nilai A,B,C,D,E.
Pengguna akan diminta memasukan grade nilai lewat perintah prompt dan di tampung pada variabel grade. Kemudian nilai grade akan di bandingkan pada setiap case yang terdapat dalam pemilihan switch.
Jika ada case yang sama dengan grade nilai yang dimasukan maka bobot nilai akan ditetapkan sesuai dengan grade masing-masing. Jika grade nilai yang dimasukan tidak sama dengan setiap case yang ada maka perintah default akan di jalankan dengan menetapkan bobot = 0.
Misalkan, pengguna memasukan grade nilai B, maka program akan menampilkan bobot nilai 3, sesuai dengan case yang kita tetapkan.
Bagaimana jika pengguna memasukan grade selain A, B, C, D yang ada dalam case?
Jika pengguna memasukan karakter selain A,B,C,D (tidak ada di dalam case yang ditetapkan), maka program akan menjalankan bagian default yang menampilkan bobot nilai 0.
Kamu bisa mencoba program ini dengan mengklik tab result pada box kode di atas.
Percabangan dengan Operator Ternary
Javascript memberikan kemudahan saat kita ingin melakukan proses assignment (pemberian nilai pada variabel) berdasakan suatu kondisi yaitu dengan menggunakan operator kondisi berupa (?). Operator ternary sebetulnya sama dengan percabangan if else.
Berikut ini sintaksnya:
Contoh penggunaan:
Misalnya, kita ingin menentukan pesan lulus dan tidak berdasarkan nilai, pesan tersebut akan diinisialisasi ke variabel pesan.
Jika nilai lebih besar dari 70 pesannya Selamat Anda lulus., jika tidak Maaf, Anda tidak lulus.
Mari kita buat menggunakan percabangan if terlebih dahulu.
Mari kita buat menggunakan percabangan if terlebih dahulu.
Perilaku percabangan di atas dapat dicapai menggunakan operator ternary.
Keduanya memiliki perilaku yang sama dan menghasilkan nilai yang sama, tapi ternary jauh lebih singkat, hanya tiga baris.
Bagaimana jika kita ingin menggunkaan operator ternary dengan lebih dari satu kondisi dan dua pilihan?
Misalnya kita ingin menentukan nilai huruf (grade) berdasarkan nilai angka.
Berikut jika kita menggunakan percabangan if.
Perilaku percabangan di atas dapat dicapai menggunakan operator ternary.
Agar lebih mudah dibaca, kita bisa membuat baris baru sebelum titik dua (:) seperti contoh di atas, ini tidak akan menghasilkan kesalahan.
Selesai.
Referensi:
https://nextgen.co.id/kondisi-dengan-javascript/
https://kelasprogrammer.com/percabangan-javascript/
https://www.petanikode.com/javascript-percabangan/
https://kodealgo.com/javascript/operator-ternary/
0 Komentar