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 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; |
| 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 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 (‘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; |
Komentar
Posting Komentar