You are on page 1of 10

BAB IV

PENYELEKSIAN KONDISI (PEMILIHAN)

Kompetensi Dasar :
1. Mahasiswa mengenal macam-macam penyeleksian
kondisi.
2. Mahasiswa mampu menggunakan penyeleksian kondisi
berdasarkan kasus yang ada.

Indikator :
1. Mahasiswa mampu menganalisa dan mencari satu atau
lebih kondisi yang ada pada setiap kasus.
2. Mahasiswa mampu membedakan dan menggunakan
pernyataan penyeleksi (if .. then, if .. then ..
else .. ,dll) sesuai dengan kasus yang ditemui.
3. Mahasiswa mampu membuat program penyeleksian
kondisi dengan bahasa Pascal.

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 30


Penyeleksian kondisi adalah salah satu elemen
algoritma yang paling sederhana. Penyeleksian kondisi
memungkinkan suatu pernyataan dieksekusi hanya jika
kondisi terpenuhi atau tidak terpenuhi.

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 31


A. Pernyataan if .. then
Pernyataan if digunakan untuk menguji sebuah
kondisi. Bila kondisi yang diuji terpenuhi, program
akan menjalankan pernyataan-pernyataan tertentu; dan
bila kondisi yang diuji salah, program akan berhenti
dan tidak menjalankan apapun. Bentuk umum pernyataan
if adalah sebagai berikut:
if kondisi
(pernyataan-pernyataan yang dijalankan
jika kondisi terpenuhi)

kondisi sendiri merupakan suatu ekspresi bertipe


Boolean, artinya hanya dapat bernilai benar (true)
atau salah (false).
Contoh :
if (x>0) then
writeln(‘x bilangan positif’)

Program ini akan menuliskan ‘x bilangan positif’


jika variable x lebih besar daripada 0 dan akan
berhenti atau tidak menjalankan pernyataan apapun
jika x < 0.

B. If tersarang (nested If)


Struktur If tersarang merupakan bentuk dari suatu
statement If berada di dalam lingkungan statemen If
yang lainnya. Bentuk statement If tersarang sebagai
berikut :
if kondisi1 then
begin
if kondisi2 then
begin
statemen1
end;
else statemen2
end;

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 32


else
Statement3;

C. Penyataan if .. then .. else ..


Pernyataan if..else digunakan untuk menguji sebuah
kondisi. Bila kondisi yang diuji terpenuhi, program
akan menjalankan pernyataan-pernyataan tertentu; dan
bila kondisi yang diuji salah, program akan
menjalankan pernyataan-pernyataan lain. Bentuk umum
pernyataan if..else adalah sebagai berikut:

if kondisi then
Begin
(pernyataan-pernyataan yang dijalankan
jika kondisi terpenuhi)

End
Else
Begin
(pernyataan-pernyataan yang dijalankan
jika kondisi TIDAK terpenuhi)

End

Contoh:
if (x>0) then
writeln(’x bilangan positif’)
Else
writeln(‘x BUKAN bilangan positif’);

Program ini akan menuliskan ‘x bilangan positif’


jika variable x lebih besar daripada 0 dan
menuliskan ‘x BUKAN bilangan positif’ jika x lebih
kecil atau sama dengan 0.
Pernyataan if .. else di atas tidak diletakkan
diantara kata kunci begin dan end, karena pernyataan
yang diekskusi hanya satu baris, sedang untuk

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 33


pernyataan lebih dari satu baris maka wajib
diletakkan di antara kata kunci begin dan end.

D. Pernyataan if .. then .. else if .. then .. else ..


Dalam kasus-kasus tertentu, terdapat kondisi lebih
dari dua yang tidak dimungkinkan menggunakan
pernyataan if..else. Oleh sebab itu, untuk menangani
kasus tersebut digunakan pernyataan if..else if.
Contoh:

if (x>0) then
writeln (‘x bilangan positif’)
else if (x<0) then
writeln (‘x bilangan negatif’)
else
writeln (‘x adalah nol’);

Pada contoh di atas, mula-mula program mengecek


nilai x > 0 atau tidak. Bila kondisi ini terpenuhi
program akan menulis ‘x bilangan positif’.
SEbaliknya bila tidak terpenuhi, program akan
menjalankan pernyataan if kedua untuk mengecek nilai
x < 0 atau tidak. Bila kondisi ini terpenuhi program
akan menulis ‘x bilangan negatif’. Dan bila tidak
terpenuhi, program menulis ‘x adalah nol’.

E. Pernyataan Case
Penyataan case digunakan untuk menyederhanakan
kontruksi if..else if yang terlalu banyak.
Bentuk struktur dari case - Of:

case Variabel Kondisi of


case – Label 1; Statement 1;
case – Label 2; Statement 2;
case – Label 3; Statement 3;

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 34


case – Label 4; Statement 4;
........
........
case – Label n ; Statement n ;
end ; { end dari case }

Contoh:
if (x = 0) then
writeln (‘x bernilai nol’)
else if (x = 1) then
writeln (‘x bernilai 1’)
else if (x = 2) then
writeln (‘x bernilai 2’)
else if (x = 3) then
writeln (‘x bernilai 3’)
else
writeln (‘x tidak bernilai 0, 1, 2, ataupun 3’);

Program di atas dapat diganti menjadi lebih ringkas


dan mudah dibaca dengan program berikut:
case x of
0 : writeln (‘x bernilai 0’);
1 : writeln (‘x bernilai 1’);
2 : writeln (‘x bernilai 2’);
3 : writeln (‘x bernilai 3’);
Else
Writeln (‘x tidak bernilai 0, 1, 2, ataupun 3’);
end;

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 35


F. Petunjuk Praktikum
1. Kasus 1

Tentukanlah bilangan terbesar antara dua bilangan bulat

Flow Chart Kasus 1

mulai

A,B

Ya
A> B? max = A

Tidak

max = B

selesai

Program dalam bahasa Pascal

program Maksimum;
uses wincrt;
var A, B : integer;
Begin
write (‘Bilangan pertama = ‘); readln (A);
write (‘Bilangan kedua = ‘); readln (B);
if (A > B) then
writeln (‘Bilangan terbesar : ‘, A)
Else
writeln (‘Bilangan terbesar : ‘, B);
end.

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 36


2. Kasus 2

Tentukanlah bilangan terbesar antara tiga bilangan bulat

Flow Chart Kasus 2

mulai

x, y, z

x> y Ya
max = x
and x > z ?

Tidak

y> x Ya
max = y
and y > z ?

Tidak

max = z selesai

Program dalam bahasa Pascal

Program Nilai_Maksimum;
uses wincrt;
var x, y, z : integer;
Begin
write (‘Bilangan pertama = ‘); readln (x);
write (‘Bilangan pertama = ‘); readln (y);
write (‘Bilangan pertama = ‘); readln (z);
if (x > y) and (x > z) then
write (‘Bilangan terbesar adalah = ‘, x)
else if (y > x) and (y > z) then
write (‘Bilangan terbesar adalah = ‘, y)
else
write (‘Bilangan terbesar adalah = ‘, z);
end.

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 37


G. Rangkuman
1. Penyeleksian kondisi memungkinkan suatu pernyataan
dieksekusi hanya jika kondisi terpenuhi atau tidak
terpenuhi.
2. Ada beberapa pernyataan penyeleksian :
a. if .. then
b. if bersarang
c. if .. then .. else ..
d. if .. then .. else if .. then .. else ..

H. Tugas Praktikum (dikumpulkan akhir sesi)


Buatlah Program untuk mengkonversikan nilai angka
menjadi nilai huruf dengan ketentuan sebagai
berikut:
Nilai Angka Nilai Huruf
0 – 20 E
21 – 40 D
41 – 60 C
61 – 80 B
81 – 100 A

I. Tugas Rumah (dikumpulkan pada pertemuan berikutnya)


Buatlah algoritma, flowchart, dan program dengan
bahasa Pascal untuk mengkonversikan nilai angka
menjadi nilai huruf dan statusnya dengan ketentuan
sebagai berikut:

Nilai Angka Nilai Huruf Status


0 – 20 E Sangat Kurang
21 – 40 D Kurang
41 – 60 C Cukup
61 – 80 B Baik
81 – 100 A Sangat Baik

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 38


Daftar Pustaka

Pranata, Anthony., Algoritma Pemrograman, J&J Learning,


Yogyakarta

Sutopo, Anton, Pemrograman Komputer Dasar, 2005,


Yogyakarta

Hadi S., Chendra, Memahami Struktur dan Elemen pada


Bahasa Pemrograman, 2003, www.ilmukomputer.com

Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 39

You might also like