Header Ads

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

Gambar tema oleh micheldenijs. Diberdayakan oleh Blogger.