Bab. 5
Pemilihan (Struktur IF)
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
}
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 |