Anda di halaman 1dari 29

ALGORITMA DAN PEMROGRAMAN

Struktur Pemilihan

Susilawati, M.Kom
PEMILIHAN
• Suatu aksi akan dilakukan hanya jika
memenuhi persyaratan atau kondisi
tertentu

• menganalisis kasus yang ada (menentukan


kondisi boolean : true atau false) dan
menentukan aksi yang dilakukan jika
kondisi tersebut terpenuhi (true)
PEMILIHAN
• Simbol :

FALSE <Kondisi> TRUE


?

• Kasus berupa ekspresi relasional


(operator : =, <, >, <=, >=, , and, or, not)
PEMILIHAN
• Operator not digunakan untuk membuat
komplemen (hal yang berkebalikan) dari
suatu kondisi boolean

• If not <ekspresi> then aksi


→ aksi dilakukan jika ekspresi menghasilkan
nilai boolean false
PEMILIHAN
• Operator and digunakan untuk menghubungkan
suatu kondisi boolean yang terdiri dari beberapa
ekspresi relasional, yang akan bernilai true jika
SEMUA ekspresi menghasilkan nilai TRUE

• If <ekspresi1> and <ekspresi2> then aksi


 aksi dilakukan jika ekspresi1 bernilai true dan
ekspresi2 bernilai salah
PEMILIHAN
• Operator or digunakan untuk menghubungkan
suatu kondisi boolean yang terdiri dari beberapa
ekspresi relasional, yang akan bernilai true jika
SALAH SATU/LEBIH ekspresi menghasilkan
nilai TRUE

• If <ekspresi1> or <ekspresi2> then aksi


 aksi dilakukan jika salah satu atau kedua ekspresi
bernilai true
PEMILIHAN
Penentuan kondisi boolean dan aksi yang
dilakukan bergantung pada jumlah kasus
yang terdapat pada masalah tersebut :

1. Satu kasus
2. Dua kasus
3. Tiga kasus atau lebih
Satu Kasus

if <kondisi> then
aksi
endif
Struktur satu kasus
Bentuk ke-1 dari pemilihan
Suatu aksi hanya dilakukan bila
persyaratan atau kondisi tertentu
dipenuhi. jika kondisi bernilai
benar kerjakan aksi jika salah,
tidak ada aksi apapun yang
dikerjakan.

Notasi algoritmik :
if Kondisi then
Aksi {True}
endif {False}
Contoh satu Kasus

• Buatlah algoritma Program Genap


yang membaca DEKLARASI
sebuah bilangan x : integer
bulat, lalu mencetak
ALGORITMA
pesan “genap” jika
bilangan tersebut read (x)
adalah genap if x mod 2 = 0 then
write (‘genap’)
endif
Flowchart satu kasus
start

Input (X)

salah
X mod 2 = 0

benar

genap

end
Tugas Satu Kasus
membaca nilai UTS seorang mahasiswa. jika
nilai UTS yang diperoleh mahasiswa lebih
besar dari 65 maka siswa tersebut
dinyatakan 'LULUS'

Buatlah :
a. Notasi Algoritmik (Pseudocode)
b. Bahasa Pemrograman dasar Pascal
c. Flowchart
Struktur dua kasus
Bentuk ke-2 dari pemilihan
Apabila syarat dipenuhi maka
aksi-1 dilaksanakan bila syarat
tidak dipenuhi maka aksi- 2
yang dilaksanakan

Notasi Algoritma,

IF Kondisi THEN
aksi-1 {true}
ELSE
aksi-2 {false}
ENDIF
Dua Kasus

if <kondisi1> then
aksi1
else
if <Kondisi2> then
aksi2
endif
endif
Contoh dua kasus
• Buatlah algoritma Program Genap
yang membaca DEKLARASI
sebuah bilangan x : integer
bulat, lalu mencetak ALGORITMA
pesan “genap” jika read (x)
bilangan tersebut if x mod 2 = 0 then
adalah genap, atau write (‘genap’)
“ganjil” jika bilangan else
tersebut adalah write (‘ganjil’)
bilangan ganjil endif
Flowchart dua kasus
start

Input (X)

benar salah
X mod 2 = 0

ganjil
genap

end
Tugas dua kasus
Memeriksa nilai Laporan Hasil Belajar
seorang Mahaiswa :

Mahasiswa dinyatakan ‘Naik Kelas' jika nilai


diatas 60. tidak naik kelas jika nilainya
dibawah 60. Gunakan IF-THEN-ELSE.
Tiga atau Lebih Kasus
if <kondisi1> then
aksi1 benar salahr
Kondisi 1
else
if <kondisi2> then benar salahr
aksi2 Aksi 1 Kondisi 2

else
aksi3 Aksi 2 Aksi 3

endif
end
endif
end
Contoh tiga kasus
Program jenisbilanganbulat
Tulisalah algortima yang DEKLARASI
membaca sebuah
x : integer
bilangan bulat,
lalu menentukan ALGORITMA
apakah bilangan read (x)
tersebut positif, negatif, if x > 0 then
atau nol. write (‘Positif’)
else
if x < 0 then
write (‘Negatif’)
else
write (‘nol’)
endif
endif
Flowchart tiga kasus
start

Input (X)

benar salahr
X>0

benar salah
Positif X<0

negatif nol

end

end
Tugas tiga kasus
Memeriksa nilai Laporan Hasil Belajar
seorang siswa Sekolah Menengah Atas :

Siswa dinyatakan naik kelas jika nilai rata-


ratanya 60. kemudian Algoritma menentukan
apakah siswa yang bersangkutan Lulus atau
tidak. dan jika nilai yang di inputkan antara 0<
atau >100 pesannya 'Anda salah Input Nilai'.
Gunakan IF-THEN-ELSE.
Kasus 2
• Buatlah Algoritma penilaian, dimana
inputan berupa nilai ujian. Dimana:
– Nilai ujian >= 80 : Nilai A
– Nilai ujian 80<= atau >= 70 : Nilai B
– Nilai ujian 70<= atau >= 55 : Nilai C
– Nilai ujian < 55 : Nilai D
– Selain itu Nilai E
• Operator atau dalam algoritma ~ or
Struktur Case
• Untuk masalah dengan tiga kasus atau
lebih, struktur CASE dapat
menyederhanakan penulisan IF-THEN-
ELSE yang bertingkat-tingkat.
Struktur Case
• Simbol :

Case 1 Case 2 Case 3 Case 4


Aksi1 Aksi1 Aksi1 Aksi1
Struktur Case
• Notasi algoritmis :

case (nama)
<kondisi1> : aksi1
<kondisi2> : aksi2

<kondisiN> : aksiN
endcase
Contoh Kasus 3
• Buatlah Algoritma lengkap untuk
mencetak nama Bulan berdasarkan
inputan angka bulan (1-12)
Program Nama_Bulan
DEKLARASI
Nama_bln : Integer
ALGORITMA
Read (Nama_bln)
IF Nama_bln = 1 Then Write (‘Januari’)
Else
IF Nama_bln = 2 Then Write (‘Februari’)
Else
IF Nama_bln = 3 Then Write (‘Maret’)
Else
IF Nama_bln = 4 Then Write (‘April’)
Sumber
• Algoritma dan Pemrograman dalam
Bahasa Pascal dan C (Buku 1), Rinaldi
Munir, Informatika Bandung
• Bahan Matakuliah Algoritma dan
Pemrograman Universitas Atma Jaya
Yogyakarta
Tulislah algoritma yang membaca sebuah karakter
digit (‘0’ .. ‘9’) lalu mengonversinya menjadi nilai
integer (0 .. 9). Misalnya, jika dibaca Karakter ‘5’,
maka nilai konversinya ke integer adalah 5. Buatlah
masing-masing algoritma untuk dua keadaan berikut :
1.Karakter digit yang dibaca diasumsikan sudah
benar terletak dalam rentang ‘0’ .. ‘9’
2.Karakter yang dibaca mungkin bukan digit ‘0’ .. ‘9’.
Jika karakter yang dibaca bukan karakter digit, maka
hasil konversinya diasumsikan bernilai -99

Anda mungkin juga menyukai