Statmen If, If else dan case
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
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
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 = 0.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.
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
END IF END
PRINT “Pilihan
Anda tidak dimengerti”
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” ; INPUT 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
CONTOH PROGRAM
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…!
Sumber by : https://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjxmsGKxI7XAhWBpZQKHXteBNQQFgg1MAI&url=http%3A%2F%2Fmargi.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F43301%2Fminggu7.pdf&usg=AOvVaw0j6tcLVPmKqf3WnmnQKSsJ
No comments