Pendahuluan
•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.
Perintah IF
Perintah ini untuk memilih satu atau 2 atau lebih
alternatif jawaban yang disediakan.
Jika perintah IF terdiri dari dua atau lebih
pernyataan, maka pernyataan tersebut harus
berada diantara begin dan end.
Perintah IF memiliki bentuk :
IF (kondisi)
pernyataan
Bentuk diatas mempunyai pengertian jika kondisi
bernilai benar maka pernyataan dibawahnya akan
dkerjakan. Jadi perintah IF merupakan perintah
yang menentukan pengambilan keputusan bahwa
pernyataan itu dikerjakan atau tidak.
Perintah IF…..ELSE
•Perintah IF….ELSE formatnya adalah
IF (kondisi)
Pernyataan1
Else
Pernyatan2
•Bentuk ini mempunyai arti: jika kondisi benar,
maka pernyataan1 akan dikerjakan, tetapi jika
kondisi salah, maka pernyataan2 yang akan
dikerjakan.
Nested IF (IF di dalam IF)
•Bentuk umum yang digunakan adalah :
If (kondisi 1)
If (kondisi 2)
pernyataan1;
else
pernyataan2;
else
pernyataan3;
Satu Kasus
•Notasi algoritmik untuk analisis dengan satu kasus
adalah dengan menggunakan struktur IF THEN
if kondisi then
aksi
endif
•Aksi sesudah kata then dapat berupa satu atau
lebih aksi hanya akan dilaksanakan bila kondisi
bernilai benar (true). Bila kondisi bernilai salah
(false), tidak ada aksi apapun yang dikerjakan. Kata
endif sengaja ditambahkanuntuk mempertegas
awal dan akhir struktur if-then
Contoh
•if x > 100 then
x x + 1
endif
•if kar=‘*’ then
stop true
endif
Dua Kasus
•Notasi algoritmik untuk analisis dengan satu kasus
adalah dengan menggunakan struktur IF THEN-
ELSE
if kondisi then
aksi1
else
aksi2
endif
•Aksi 1 akan dilaksanakan jika kondisi bernilai
benar, tetapi jika kondisi bernilai salah maka aksi2
yang akan dilaksanakan. Perhatikan bahwa “else”
menyatakan ingkaran (negation) dari kondisi
Contoh :
•if a > 0 then
write(‘bilangan positif’)
else
write(‘bilangan bukan positif’)
endif
•Tuliskan algoritma yang membaca bilangan
bulat, lalu menuliskan pesan “bilangan genap”
jika bilangan tersebut habis dibagi 2. atau
menuliskan bilangan “ganjil” jika bilangan itu
tidak habis dibagi 2.
Algoritma BILANGAN_GENAP_DAN_GANJIL
{mencetak pesan :bilangan genap” jika sebuah bilanan bulat yang
dibaca dai piranti masukan habis dibagi 2, atau bilangan ganjil,
jika bilangan tersebut tidak habis dibagi 2”
DEKLARASI
bil : integer
DESKRIPSI
read(bil)
if bilmod 2 = 0 then
write(‘bilangan genap’)
else
write(‘bilangan ganjil’)
endif
Tiga Kasus atau Lebih
Masalah yang mempunyai tiga buah kasus atau lebih tetap dapat
dianalisis dengan struktur IF-THEN-ELSE sebagaimana hanya pada
masalah dengan dua kasus.
Tiga kasus :
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
endif
endif
endif
Contoh tiga kasus
Tulislah algoritma yang membaca sebuah bilangan bulat,
lalu menentukan apakah bilangan tersebut positif, negatif
atau nol
Jawab :
Algoritma JENIS_BILANGAN
{mencetak pesan “bilangan positif” jika sebuah
bilangan bulat yang dibaca dari piranti masukan > 0,
atau “bilangan negatif”
jika bilangan tersebut <0 atau “nol”
jika bilangan tersebut = 0}
DEKLARASI
bil : integer
DESKRIPSI :
read(bil)
if bil > 0 then
write(‘bilangan positif’)
else
if bil < 0 then
write(‘bilangan negatif’)
else
if bil < 0
write(‘nol’)
endif
endif
endif
CASE
•Untuk masalah dengan dua kasus atau lebih , struktur CASE
dapat menyederhanakan penulisan IF THEN ELSE yang
bertingkat tinggi sebagaimana pada contoh-contoh
sebelumnya.
Struktur CASE
Untuk masalah dengan dua kasus atau lebih, struktur CASE dapat
menyederhanakan penulisan IF-THEN-ELSE yang bertingkat. Struktur CASE
adalah sebagai berikut:
Case (ekspresi)
kondisi1 : aksi1
kondisi2 : aksi2
kondisi3 : aksi3
.
.
kondisi4 : aksi4
[otherwise aksiX]
endcase
Kondisi1, kondisi2,…, kondisiN dapat bernilai benar atau salah. Tiap
kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai
ditemukan kondisi yang bernilai benar. Jika kondisi ke-k dilaksanakan,
selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan dengan
kondisi ke-k dapat lebih dari satu. Jika tidak ada satupun kondisi yang benar,
maka aksi sesudah otherwise dikerjakan. Perhatikanlah bahwa otherwise
optional, artinya boleh ditulis boleh juga tidak ditulis.
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
else
if kondisi4 then
aksi4
endif
endif
endif
endif
Struktur CASE tersebut (pada slide sebelumnya) menggantikan analisis kasus
yang ekivalen dengan struktur IF-THEN-ELSE berikut:
Tidak semua bahasa pemrograman menyediakan
struktur case (misalnya bahasa Fortran). Bahasa C, JAVA,
dan PASCAL menyediakan struktur ini. Jika bahasa
pemrograman tidak menyediakan struktur CASE, maka
CASE dapat diganti dengan struktur IF-THEN-ELSE yang
ekivalen.
Contoh Soal:
Buatlah algoritma yang membaca sebuah angka bulat
yang nilainya terletak antara 1 sampai 4, lalu menuliskan
ke piranti keluaran angka tersebut dalam kata-kata.
Misalkan bila dibaca angka 1, maka tercetak tulisan
“satu”, bila dibaca 2, maka tercetak tulisan “dua”,
demikian seterusnya. Jika angka yang dimasukkan selain
1 sampai 4 tuliskan pesan bahwa angka yang
dimasukkan salah.
Dengan struktur IF-THEN-ELSE
Dengan struktur CASE, algoritma untuk masalah tersebut dapat dibuat
menjadi lebih singkat sebagai berikut: