Fungsi IF
Bentuk Umum IF dan Variasinya
Bentuk IF biasa dikenal dengan istilah IF Statement, memiliki bentuk umum sebagai berikut :
If kondisi then
Aksi-1
[else
Aksi-2]
End if
Kondisi adalah ekspresi boolean yang bernilai benar atau salah, bisa berupa:
Sebuah nilai boolean: true atau false
Sebuah variabel boolean
Sebuah pembandingan data
Dua pembandingan data atau lebih yang digabung
Aksi berupa satu statement beberapa statement, dimana tiap statement dapat berupa:
Statement pengisian nilai seperti a ß 5
Statement input data
Statement output data
Statement pemilihan (If Statement atau Case Statement)
Statement pengulangan (For, Repeat atau While Statement)
[else Aksi-2], tanda [ ] menyatakan opsional (boleh ada/tidak ada), dimana kalau tidak ada, berarti setelah Aksi-1 langsung selesai.
Dari bentuk umum yang telah dijelaskan, maka variasi bentuk IF ini banyak dan tidak berhingga.
Di antaranya yang penting dapat disebutkan berikut:
- if tanpa else (satu pilihan, mengerjakan atau tidak)
- if dengan else (dua pilihan)
- if bersarang dimana dalam if ada if lagi, karena Statement dapat berupa
satu perintah pemilihan. Salah satu bentuk if bersarang adalah if untuk memilih salah satu dari banyak pilihan.
Contoh-contoh variasi:
1. Satu pilihan (tanpa ELSE)
2. Dua pilihan (dengan ELSE)
Terapan bentuk-bentuk IF
Sebuah masalah terkadang dapat diselesaikan dengan berbagai cara, seperti penggunaan “if tanpa else” dan “if dengan else”. Sebagai contoh dapat dilihat pada kasus berikut:
Kasus 4.1 : Menentukan apakah bilangan yang diinput positip atau negatif
Solusi : ada beberapa cara berikut
Solusi-1
|Input(bil)
|If (bil>=0) then
| Output(‘positip’)
|Else
| Output(‘negatip’)
|End if
|
Solusi-2
|Input(bil)
|If (bil<0) then
| Output(‘negatip’)
|Else
| Output(‘positip’)
|End if
|
Solusi-3
|Input(bil)
|Ket ß ‘positip’
|If (bil<0) then
| Ket ß ‘negatip’
|End if
|Output(Ket)
|
Solusi-4
|Input(bil)
|Ket ß ‘negatip’
|If (bil>=0) then
| Ket ß ‘positip
|End if
|Output(Ket)
|
Solusi-5
|Input(bil)
|If (bil>=0) then
| Output(‘positip’)
|End if
|If (bil<0) then
| Output(‘negatip’)
|End if
|
Solusi-6
|Input(bil)
|If (bil<0) then
| Output(‘negatip’)
|End if
|If (bil>=0) then
| Output(‘positip’)
|End if
|
Solusi-7
|Input(bil)
|positip ß bil>=0
|If (positip=true) then
| Output(‘positip’)
|else
| Output(‘negatip’)
|End if
|
Solusi-8
|Input(bil)
|positip ß bil>=0
|If (positip) then
| Output(‘positip’)
|else
| Output(‘negatip’)
|End if
|
Ulasan dari beberapa solusi:
Solusi-1 dan Solusi-2 adalah solusi yang sama, digunakan kondisi berkebalikan
sehingga posisi perintah tampilan ditukar.
Solusi-3 dan Solusi-4 juga sama, keduanya menggunakan “if tanpa else”,
dengan cara variabel Ket diinisialisasi (diberi nilai awal) dengan salah satu kemungkinan hasilnya, kemudian diubah bila memenuhi kondisi.
Solusi-5 dan Solusi-6 juga sama, pada solusi ini dibuat 2 buah “if tanpa else” secara terpisah. Dengan cara ini, berarti akan dilakukan pemeriksaan kondisi sebanyak 2 kali (padahal sebenarnya cukup satu kali).
Solusi-7 dan Solusi-8 keduanya menggunakan variabel bertipe boolean bernama positip untuk mencatat hasil pembandingan bil>=0. Penulisan “if (positip=true)” sama saja dengan menuliskan “if (positip)” cara yang terakhir lebih cepat waktu eksekusinya.
Tidak ada komentar