Pemilihan (Struktur IF)

Bab. 5

Pemilihan (Struktur IF)

Struktur runtunan hanya terdapat pada program sederhana. Pada umumnya masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi hanya dilakukan bila persyaratan atau kondisi tertentu dipenuhi. Dalam memecahkan masalah harus menganalisis kasus-kasus apa saja yang mungkin ada, lalu aksi apa yang dilakukan bila suatu kasus dimasuki. Adanya pemilahan kasus-kasus menyebabkan terjadinya pemilihan instruksi di dalam algoritma, bergantung pada kasus yang memenuhi.

Sebagai ilustrasi, misalkan menentukan letak kuadran sebuah titik P(X, Y) di dalam bidang kartesian. Yang dimaksud kuadran adalah seperempat bidang datar yang terbagi oleh sumbu-sumbu koordinat (sumbu-X dan sumbu-Y). Ada empat kuadran di bidang kartesian, yaitu kuadran I, kuadran II, kuadran III, dan kuadran IV.
Suatu titik P(X, Y) dapat terletak pada salah satu dari empat kuadran tersebut, bergantung pada tanda nilai x dan y (positif atau negatif). Sembarang nilai a disebut positif jika a>0, dan sebaliknya disebut negatif jika a<0. Kita tidak mendefinisikan kuadran titik P jika titik tersebut terletak pada sumbu-sumbu koordinat (salah satu dari x atau y = 0) Ada lima kasus yang harus dianalisis untuk menentukan kuadran titik P(X,Y), yaitu: Kasus 1 : jika x>0 dan y>0, maka tulis P(X,Y) terletak di kuadran I

Kasus 2 : jika x<0 dan y>0, maka tulis P(X,Y) terletak di kuadran II
Kasus 3 : jika x<0 dan y<0, maka tulis P(X,Y) terletak di kuadran III Kasus 4 : jika x>0 dan y<0, maka tulis P(X,Y) terletak di kuadran IV
Kasus 5 : selain kasus 1,2,3, dan 4 maka tulis P(X,Y) tidak terletak di kuadran manapun

Jawaban Kasus Kuadran :
if x=0 or y=0
    maka tidak dikuarran manapun
else{
      if x>0, then
             if y>0
           maka dikuadran 1
       else
           maka dikuadran 2
else
                    if y<0
                          maka dikuadran 3
                     else
                           maka dikuadran 4
}

1. Pemilihan Satu Kasus
Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan struktur IF-THEN (jika-maka).
if kondisi then
aksi
endif

Ingatlah bahwa aksi sesudah kata then akan dikerjakan hanya jika kondisi bernilai true.
Contoh analisis dengan satu kasus:
Dibaca sebuah bilangan bulat dari suatu piranti masukkan. Diminta mencetak pesan “bilangan genap” jika bilangan tersebut adalah genap. Bilangan genapa adalah bilangan yang habis dibagi dengan 2. Tulislah algoritmanya.
Dibaca sebuah karakter. Diminta menuliskan pesan “huruf hidup” jika karakter tersebut merupakan huruf vokal. Tulislah algoritmanya.
2. Pemilihan Dua Kasus
Notasi algoritma untuk analisis dengan dua buah kasus adalah dengan menggunakan struktur IF-THEN-ELSE (jika-maka-tidak).
if kondisi then
aksi1
else
aksi2
endif

Aksi1 akan dilaksanakan jika kondisi bernilai benar, tetapi jika kondisi bernilai salah, maka aksi2 yang akan dilaksanakan.
Contoh analisis dengan dua kasus:
Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menuliskan pesan “bilangan genap” jika bilangan tersebut adalah genap, atau “bilangan ganjil” jika bilangan tersebut adalah bilangan ganjil.
3. Pemilihan Tiga Kasus atau Lebih
Masalah yang mempunyai tiga buah kasus atau lebih tetap dapat dianalisis dengan struktur IF-THEN-ELSE sebagaimana halnya pada masalah dengan dua kasus.
Tiga Kasus:
if kondisi1 then
     aksi1
else
      if kondisi2 then
             aksi2
       else
            if kondisi3 then
                   aksi3
             endif
        endif
endif

Empat Kasus:
if kondisi1 then
        aksi1
else
     if kondisi2 then
            aksi2
     else
        if kondisi3 then
               aksi3
        else
             if kondisi4 then
                   aksi4
              endif
         endif
   endif
endif

Contoh analisis dengan tiga kasus atau lebih:
Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menetukan apakah bilangan tersebut positif, negatif atau nol.


Golongan
Upah Per Jam
A
Rp. 4000
B
Rp. 5000
C
Rp. 6000
D
Rp. 7000