Struktur Pemilihan Lanjutan: Logika IF-ELSE IF dan Banyak Kasus

Setelah memahami struktur pemilihan dasar untuk satu kasus (IF-THEN) dan dua kasus (IF-THEN-ELSE), kita akan melangkah lebih jauh. Dalam dunia nyata, masalah seringkali memiliki lebih dari dua kemungkinan solusi.

Jika IF-THEN-ELSE adalah sebuah pertigaan, maka struktur pemilihan banyak kasus adalah perempatan, atau bahkan bundaran dengan banyak jalan keluar. Struktur ini memungkinkan algoritma kita untuk menangani skenario yang lebih kompleks dan membuat keputusan yang lebih spesifik.

Kilas Balik: Pemilihan Dua Kasus (IF-THEN-ELSE)

Sebagai pengingat, struktur IF-THEN-ELSE digunakan ketika ada satu kondisi yang menghasilkan dua aksi yang berbeda.

Bentuk Umum:

if kondisi then
  aksi_jika_benar
else
  aksi_jika_salah
endif

Contoh: Algoritma Bilangan Ganjil atau Genap

Algoritma ini memeriksa apakah sisa bagi sebuah bilangan dengan 2 adalah 0. Jika ya, bilangan itu genap; jika tidak, maka ganjil.

Deklarasi:
  Bil : integer
  Ket : string

Algoritma:
  Read(Bil)
  if Bil mod 2 = 0 then
    ket <- 'Bilangan Genap'
  else
    ket <- 'Bilangan Ganjil'
  endif
  write(ket)

Pemilihan Tiga Kasus atau Lebih (IF-ELSE IF)

Bagaimana jika kita butuh lebih dari dua pilihan? Misalnya, untuk menentukan apakah sebuah bilangan itu Positif, Negatif, atau Nol. Di sinilah kita menggunakan struktur pemilihan N kasus, yang sering diimplementasikan sebagai rantai IF-ELSE IF atau IF bersarang. Struktur ini bekerja dengan cara menguji serangkaian kondisi secara berurutan.

Bentuk Umum

if kondisi_1 then
  aksi_1
else
  if kondisi_2 then
    aksi_2
  else
    aksi_3
  endif
endif

Logikanya sederhana:

  1. Periksa kondisi_1. Jika benar, jalankan aksi_1 dan proses selesai.
  2. Jika kondisi_1 salah, maka periksa kondisi_2. Jika benar, jalankan aksi_2 dan selesai.
  3. Jika kondisi_2 juga salah, maka jalankan aksi_3 sebagai pilihan terakhir.

Contoh Kasus 1: Bilangan Positif, Negatif, atau Nol

Berikut adalah algoritma untuk mengklasifikasikan sebuah bilangan.

Deklarasi:
  bil: integer
  ket: string

Algoritma:
  Read(bil)
  if bil = 0 then
    ket <- 'Bilangan Adalah Nol'
  else
    if bil > 0 then
      ket <- 'Bilangan adalah Positif'
    else
      ket <- 'Bilangan adalah Negatif'
    endif
  endif
  write(ket)

Studi Kasus: Konversi Nilai Indeks ke Keterangan

Struktur IF-ELSE IF sangat berguna untuk kasus yang memiliki banyak kategori, seperti sistem penilaian. Mari kita buat algoritma yang mengubah nilai indeks huruf (A, B, C, D, E) menjadi keterangan.

Deklarasi:
  indeks: char
  ket: string

Algoritma:
  Read(indeks)
  if indeks = 'A' then
    ket <- 'Sangat Baik'
  else
    if indeks = 'B' then
      ket <- 'Baik'
    else
      if indeks = 'C' then
        ket <- 'Cukup'
      else
        if indeks = 'D' then
          ket <- 'Kurang'
        else
          if indeks = 'E' then
            ket <- 'Sangat Kurang'
          else
            ket <- 'Indeks yang dimasukkan salah'
          endif
        endif
      endif
    endif
  endif
  Write(ket)

Perhatikan penggunaan else terakhir. Ini adalah praktik yang sangat baik untuk menangani default case atau input yang tidak valid, membuat algoritma kita lebih tangguh.

Kesimpulan

Dengan merangkai struktur IF-ELSE IF, Anda dapat membangun pohon keputusan yang kompleks untuk menangani berbagai skenario. Kemampuan ini adalah inti dari pembuatan program yang bisa beradaptasi dan merespons berbagai macam input secara cerdas. Anda tidak lagi terbatas pada pilihan "ya atau tidak", tetapi bisa membuat pilihan "jika ini, maka lakukan A; jika tidak, tapi jika itu, maka lakukan B; jika tidak juga, maka lakukan C," dan seterusnya.

Tantangan: Buatlah algoritma untuk menentukan diskon berdasarkan total belanja. Aturan: Belanja > Rp 500.000 diskon 20%, Belanja > Rp 200.000 diskon 10%, selain itu tidak ada diskon.

This article was updated on October 5, 2025