Anda di halaman 1dari 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.

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)

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;

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

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;

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:

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

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
39

Anda mungkin juga menyukai