|
v IF THEN ELSE
Dengan
IF...THEN...ELSE, pemrograman dapat
mengatur tindakan yang akan dilakukan kalau kondisi bernilai benar ataupun
tindakan yang akan dijalankan kalau kondisi salah.
Bentuk
umum IF...THEN...ELSE dibagi menjadi
2 kelompok :
1.
IF...THEN...ELSE
Satu
baris
2.
IF...THEN...ELSE
Banyak
baris
v IF...THEN...ELSE Satu Baris
Di
dalam program jika kita menjumpai dua kemungkinan atau pilihan pencabangan,
kita bisa menggunakan IF...THEN...ELSE satu baris.
Bentuk Umum :
IF kondisi THEN { statement1 │nobar1 │GOTO label1 }
[ ELSE { statement2 │ nobar2 │ GOTO label2 } ]
dengan parameter-parameternya :
Kondisi :
syarat yang akan ditest
statement1,
statement2 :
statement yang akan dikerjakan
nobar1, nobar2 : nomor baris yang
dituju
label1,
label2 : label
baris yang dituju
Parameter
:
§ kondisi atau syarat yang ditest dinyatakan dengan operator
relasi atau operator pembanding (<, <=, =, >=, >, < >).
§ Nobar1,
dan nobar2 menunjukkan label baris yang berupa angka
§ Label1,
dan label2 menunjukkan label baris yang berupa label alphanumeris
(diawali dengan huruf)
Bentuk umum diatas bisa dijelaskan sebagai berikut :
§ Jika kondisi bernilai
benar, maka salah satu dari tiga pilihan dibelakang statement THEN akan dikerjakan.
§ Jika kondisi
salah, maka salah satu dari tiga pilihan dibelakang statement ELSE akan dikejakan.
§ Jika statement ELSE
tidak ditulis maka proses eksekusi langsung akan melompat ke baris dibawah statement
IF.
Bagan
alir IF satu baris
a b
Gambar
a. Tanpa statement ELSE
b.
Dengan statement ELSE
Contoh
:
1.
IF i >= kali THEN 20
2.
IF ( i <= 100 ) AND ( i >= 80 )
THEN PRINT i
3.
IF ( i >= 100 ) OR ( i <= 80 )
THEN PRINT i
4.
IF
i >= kali THEN GOTO 20 ELSE kali = kali + 1
5.
CLS
INPUT
“Total Pembelian :” , TotalBeli
Korting
= 0
IF
TotalBeli >= 100000 THEN Korting = .1 * TotalBeli ElSE Korting = 0
PRINT
“Korting = “ ; Korting
END
Dalam
Penulisan statement IF...THEN...ELSE satu
baris, semua parameter harus ditulis menjadi satu baris statement.
v IF...THEN...ELSE Banyak baris
Di dalam program jika kita menjumpai
lebih dari dua kemungkinan atau lebih pilihan pencabangan, kita bisa
menggunakan IF...THEN...ELSE banyak
baris.
4
aturan penggunaan blok IF...THEN...ELSE yaitu
:
1. Di belakang statement THEN tidak boleh ada statement apapun selain baris komentar. Jika anda menuliskan sesuatu statement, kompiler akan
menganggapnya sebagai statement IF...THEN...ELSE satu baris.
2. Kata ELSE, ELSEIF dan END IF hanya boleh diawali
dengan nomor baris atau label baris. Jika tidak, maka kata ini harus merupakan
kata awal dari baris tersebut.
3. Blok IF harus terletak sebagai statement
pertama dalam suatu baris.
4. Blok harus
diakhiri dengan END IF.
Bentuk Umum :
IF kondisi1 THEN
Statement1
[ ELSEIF kondisi2 THEN
[ statement2
] ]
.
.
[ ELSE
[ statementn ] ]
END IF
dengan parameter-parameternya :
kondisi1,
kondisi2, … : syarat yang
harus ditest
statement1,
statement2, … : blok statement yang
akan dikerjakan sesuai
dengan kondisi yang
dipenuhi.
Bentuk umum diatas bisa dijelaskan sebagai berikut :
§ Jika
kondisi1 bernilai benar, blok statement1 akan dikerjakan diteruskan ke
statement IF.
§ Jika kondisi1 bernilai salah, kompiler akan mentest kondisi2.Jika bernilai benar, maka blok statement2 akan dikerjakan, diteruskan
ke statement END IF. Dst
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
INPUT “Pilihan (1..2) : “, Pil%
IF PIL% = 1 THEN
PRINT “Nasi Soto
Ayam”
ELSEIF PIL% = 2 THEN
PRINT
“Nasi Rames”
ELSE
PRINT
“Pilihan Anda tidak dimengerti”
END
IF
END
Bagan
alir blok IF...THEN...ELSE
v SELECT CASE
Statement SELECT CASE dapat digunakan untuk memilih satu diantara sejumlah
alternatif.
Perbedaan
SELECT CASE dan IF…THEN…ELSE :
• SELECT CASE kondisi yang ditest hanya
sebuah, dan proses eksekusi akan diteruskan ke bagian tertentu dari suatu
program berdasarkan nilai kondisi yang ditest.
• IF…THEN…ELSE banyak
baris dapat mentest lebih dari sebuah kondisi yang satu sama lain saling
berbeda.
Bentuk Umum :
SELECT
CASE ungkapan
CASE
nilai1
[
statement1 ]
[
CASE nilai2
[
statement2 ] ]
.
.
[
CASE ELSE
[
statementn ] ]
END
SELECT
dengan parameter-parameternya :
ungkapan : sembarang ungkapan (numeris atau
untai)
nilai1,
nilai2, … :
nilai-nilai dari parameter ungkapan
statement1,
statement2, …: statement-statement yang
akan dikerjakan.
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
PRINT “3.
Nasi Gudeg”
INPUT
“Pilihan (1..3) : “, Pil%
SELECT
CASE Pil%
CASE 1
PRINT “Nasi Soto Ayam”
CASE 2
PRINT “Nasi Rames”
CASE 3
PRINT “Nasi Gudeg”
CASE ELSE
PRINT “Pilihan Anda tidak dimengerti”
END
SELECT
END
Bagan
alir statement SELECT CASE
Untuk menentukan ungkapan yang
mempunyai jangkauan tertentu bisa digunakan bentuk umum sebagai berikut :
1.
CASE ungkapan TO ungkapan
Jika menggunakan kata baku TO tulislah ungkapan yang mempunyai nilai yang
paling kecil terlebih dahulu.
Contoh :
CLS
PRINT “Ketik sebuah
karakter” ;
Kar$ = INPUT(1)
PRINT kar$
SELECT CASE Kar$
CASE
“A” TO “Z”
PRINT
“Merupakan huruf kapital”
CASE
“a” TO “z”
PRINT
“Merupakan huruf kecil”
CASE
“0” TO “9”
PRINT “Merupakan digit”
CASE “ “
PRINT “Spasi yang
Anda tekan”
CASE “!”, “@”, “#”, “$”, “%”,
“^”, “&”, “*”
PRINT “Anda
menekan suatu tombol”
CASE ELSE
PRINT “Bukan
angka, huruf, spasi ataupun”
PRINT
“Simbol !, @, #, $, %, ^, &, *”
END SELECT
END
2.
CASE
IS oprelasi ungkapan
Oprelasi
:
sembarang ungkapan relasi ( <, <=, =, >=, >, <>)
Contoh :
CLS
INPUT “Tahun : “, Tahun%
SELECT CASE Tahun%
CASE
IS < 1945
PRINT
“Tahun sebelum kemerdekaan”
CASE
IS = 1945
PRINT
“Tahun kemerdekaan”
CASE
IS > 1945
PRINT
“Masa pasca kemerdekaan”
END SELECT
END
LATIHAN
1.
CLS
PRINT
“Ketik Pilihan “
INPUT
“Pilihan (1..4) : “ , Pil%
IF
(Pil% >=1) AND (Pil% <= 4) THEN
PRINT “Pilihan Benar”
ELSE
PRINT “Pilihan Salah”
END
IF
END
Output :
Ketik Pilihan
Pilihan (1..4) : 1
Pilihan
Benar
2. ULANGLagi
:
CLS
INPUT “Nama mahasiswa : “ ; nama$
INPUT “Nomor induk : “ ; nomor$
INPUT “Nilai total : “ ; nilAngka
‘ * Konversi *
IF nilAngka > 90 THEN
Nilai Huruf$ = “ A ”
ELSEIF (nilAngka <= 90 ) AND (nilAngka >= 75 ) THEN
Nilai Huruf$ = “ B “
ELSEIF (nilAngka <= 74 ) AND (nilAngka >= 65 ) THEN
Nilai
Huruf$ = “ C “
ELSEIF
(nilAngka <= 64 ) AND (nilAngka >= 55 ) THEN
Nilai Huruf$ = “ D “
ELSE
Nilai Huruf$ = “ E “
END
IF
‘
* Cetak hasil *
PRINT
PRINT
“Nama : ” ; nama$ ; spc (5) ;
PRINT
“No. Induk : “ ; nilaiAngka
PRINT
:Nilai huruf : “ ; nilaiHuruf$
PRINT
‘
* Akan mencoba lagi ? *
INPUT
“Akan mencoba lagi ? Y/T : “
cobaLagi$
IF UCASE$ (cobaLagi$) = “Y” THEN GOTO ULANGLagi
PRINT
PRINT
“Selesai…!”
END
Output
:
Nama mahasiswa : OKKY
Nomor induk : 10-28-1988
Nilai Total : 92
Nama : OKKY No. Induk :
10-28-1988
Nilai
angka : 92
Nilai
huruf : A
Akan
mencoba lagi ? Y/T : T
Selesai…!
3. ULANGLagi
:
CLS
INPUT “Nama mahasiswa : “ ; nama$
INPUT “Nomor induk
: “ ; nomor$
INPUT “Nilai
total : “ ; nilAngka
‘ * Konversi *
SELECT CASE
nilaiAngka
CASE IS
> 90
Nilai Huruf$ = “
A ”
CASE 75 TO 90
Nilai Huruf$ = “
B “
CASE 65 TO 74
Nilai Huruf$ = “
C “
CASE 55 TO 64
Nilai Huruf$ = “
D “
CASE ELSE
Nilai Huruf$ = “
E “
END SELECT
‘ * Cetak hasil *
PRINT
PRINT “Nama : ” ; nama$ ; spc (5) ;
PRINT “No. Induk : “ ; nilaiAngka
PRINT :Nilai huruf : “ ; nilaiHuruf$
PRINT
‘ * Akan mencoba lagi ? *
INPUT “Akan mencoba lagi ? Y/T : “ cobaLagi$
IF UCASE$ (cobaLagi$) = “Y” THEN GOTO ULANGLagi
PRINT
PRINT
“Selesai…!”
END
Output
:
Nama mahasiswa : OKKY
Nomor induk : 10-28-1988
Nilai Total : 92
Nama : OKKY No. Induk :
10-28-1988
Nilai
angka : 92
Nilai
huruf : A
Akan
mencoba lagi ? Y/T : T
Selesai…!
Tidak ada komentar:
Posting Komentar