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.
30
Penyeleksian kondisi adalah salah satu elemen
algoritma yang paling sederhana. Penyeleksian kondisi
memungkinkan suatu pernyataan dieksekusi hanya jika
kondisi terpenuhi atau tidak terpenuhi.
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)
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;
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’);
33
if (x>0) then
writeln (‘x bilangan positif’)
else if (x<0) then
writeln (‘x bilangan negatif’)
else
writeln (‘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;
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;
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.
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.
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:
38
Daftar Pustaka
Pranata, Anthony., Algoritma Pemrograman, J&J Learning,
Yogyakarta