PENYELEKSIAN KONDISI (PEMILIHAN)

advertisement
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.
Penyeleksian kondisi adalah salah satu elemen algoritma yang paling sederhana. Penyeleksian kondisi
memungkinkan suatu pernyataan dieksekusi hanya jika kondisi terpenuhi atau tidak terpenuhi.
A. Pernyataan if .. then
Pernyataan if digunakan untuk menguji sebuah kondisi. Bila kondisi
yang diuji terpenuhi, program akan menjalankan pernyataanpernyataan 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;
else
Statement3;
C. Penyataan if .. then .. else ..
Pernyataan if…then ….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…then ….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 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;
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
1 : writeln
2 : writeln
3 : writeln
Else
Writeln (‘x
2, ataupun
end;
(‘x
(‘x
(‘x
(‘x
bernilai
bernilai
bernilai
bernilai
0’);
1’);
2’);
3’);
tidak bernilai 0, 1,
3’);
Tubikontinyu….
Looping….
Download