StatementKendali(Minggu ke VII).doc (91Kb)
Transcript of StatementKendali(Minggu ke VII).doc (91Kb)
Algoritma & Pemrograman 1B
Sesi /Perkuliahan ke : 7
Tujuan Instruksional Khusus :
1. Agar mahasiswa dapat memahami tentang statemen kendali.
2. Agar mahasiswa dapat menggunakan statemen kondisi dengan IF THEN
ELSE dan SELECT CASE.
Statement Kendali Halaman 1 dari 63
Algoritma & Pemrograman 1B
Pokok Bahasan : STATEMEN KENDALI
Deskripsi Singkat : Dalam pertemuan ini akan mempelajari tentang penggunaan
statemen kondisi IF THEN ELSE dan SELECT CASE . Materi ini berguna dalam
membuat program yang menggunakan pemilahan proses dengan menggunakan
Statement Kendali Halaman 2 dari 63
Algoritma & Pemrograman 1B
kondisi. Selain itu juga untuk dapat mengikuti perkuliahan berikutnya yaitu
statemen perulangan.
Referensi :
1. Seri Diktat Kuliah : Pengantar Algoritma Dan Pemrograman Teknik
Diagram AluDan Bahasa BASIC Dasar, Penerbit GUNADARMA, Jakarta,
1991.
Statement Kendali Halaman 3 dari 63
Algoritma & Pemrograman 1B
2. Yay Singleman, Business Programming Logic 2nd –ed, Prentice Hall
Engelwood Cliffs, New Jersey,1982.
3. Gottfried, Programming in BASIC , Mc Graw Hill, New York, 1981
4. Insap Santosa, Pemrograman Terapan Menggunakan QUICK BASIC, Andi
Offset, Yogyakarta,1997.
5. Jogiyanto, H.M.,Teori dan Aplikasi Program Komputer Bahasa BASIC, edisi
5, Andi Offset, Yogyakarta.
Statement Kendali Halaman 4 dari 63
Algoritma & Pemrograman 1B
6. Rijanto Tosin, Quik BASIC, Dinastindo.
Statement Kendali Halaman 5 dari 63
STATEMEN KENDALI
Algoritma & Pemrograman 1B
IF THEN ELSEDengan 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
Statement Kendali Halaman 6 dari 63
Algoritma & Pemrograman 1B
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 :
Statement Kendali Halaman 7 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 8 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 9 dari 63
Algoritma & Pemrograman 1B
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.
Statement Kendali Halaman 10 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 11 dari 63
Algoritma & Pemrograman 1B
Statement Kendali Halaman 12 dari 63
Tidak
Menghitungnilai kondisi inilai kondisi
KondisiDipenuhi
?Kerjakanstatement
Ke statement berikutnya
Menghitung nilai kondisi
KondisiDipenuhi
?KerjakanStatement1
KerjakanStatemen2
Ke statement berikutnya
Ya YaTidak
Algoritma & Pemrograman 1B
a b
Gambar a. Tanpa statement ELSE
b. Dengan statement ELSE
Statement Kendali Halaman 13 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 14 dari 63
Algoritma & Pemrograman 1B
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.
Statement Kendali Halaman 15 dari 63
Algoritma & Pemrograman 1B
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 :
Statement Kendali Halaman 16 dari 63
Algoritma & Pemrograman 1B
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.
Statement Kendali Halaman 17 dari 63
Algoritma & Pemrograman 1B
4. Blok harus diakhiri dengan END IF.
Bentuk Umum :
IF kondisi1 THEN
Statement1
[ ELSEIF kondisi2 THEN
Statement Kendali Halaman 18 dari 63
Algoritma & Pemrograman 1B
[ statement2 ] ]..[ ELSE
[ statementn ] ]
END IF
dengan parameter-parameternya :
Statement Kendali Halaman 19 dari 63
Algoritma & Pemrograman 1B
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 :
Statement Kendali Halaman 20 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 21 dari 63
Algoritma & Pemrograman 1B
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”
Statement Kendali Halaman 22 dari 63
Algoritma & Pemrograman 1B
ELSE
PRINT “Pilihan Anda tidak dimengerti”
END IF
END
Bagan alir blok IF...THEN...ELSE
Statement Kendali Halaman 23 dari 63
Algoritma & Pemrograman 1B
Statement Kendali Halaman 24 dari 63
Menghitung nilaiKondisi1 sampai kondisin
TestKondisi1Dipenuhi
?
TestKondisi2Dipenuhi
?
TestKondisinDipenuhi
?
KerjakanStatement1
KerjakanStatement2
KerjakanStatement1
. . .
KerjakanStatement1
…
KerjakanStatement berikutnya
TidakTidak Tidak
Ya Ya Ya
Algoritma & Pemrograman 1B
Statement Kendali Halaman 25 dari 63
Algoritma & Pemrograman 1B
SELECT CASEStatement SELECT CASE dapat digunakan untuk memilih satu diantara
sejumlah alternatif.
Perbedaan SELECT CASE dan IF…THEN…ELSE :
Statement Kendali Halaman 26 dari 63
Algoritma & Pemrograman 1B
• 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 :
Statement Kendali Halaman 27 dari 63
Algoritma & Pemrograman 1B
SELECT CASE ungkapan
CASE nilai1
[ statement1 ]
[ CASE nilai2
[ statement2 ] ]..[ CASE ELSE
Statement Kendali Halaman 28 dari 63
Algoritma & Pemrograman 1B
[ statementn ] ]
END SELECT
dengan parameter-parameternya :
ungkapan : sembarang ungkapan (numeris atau untai)
nilai1,
nilai2, … : nilai-nilai dari parameter ungkapan
Statement Kendali Halaman 29 dari 63
Algoritma & Pemrograman 1B
statement1,
statement2, …: statement-statement yang akan dikerjakan.
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
Statement Kendali Halaman 30 dari 63
Algoritma & Pemrograman 1B
PRINT “3. Nasi Gudeg”
INPUT “Pilihan (1..3) : “, Pil%
SELECT CASE Pil%
CASE 1
PRINT “Nasi Soto Ayam”
CASE 2
PRINT “Nasi Rames”
Statement Kendali Halaman 31 dari 63
Algoritma & Pemrograman 1B
CASE 3
PRINT “Nasi Gudeg”
CASE ELSE
PRINT “Pilihan Anda tidak dimengerti”
END SELECT
END
Statement Kendali Halaman 32 dari 63
Algoritma & Pemrograman 1B
Bagan alir statement SELECT CASE
Statement Kendali Halaman 33 dari 63
SELECT CASE
KerjakanStatement1
KerjakanStatement1
KerjakanStatement1
KerjakanStatement1
END SELECT
Ke statement berikutnya
. . . . . .
MenghitungNilai ungkapan
Algoritma & Pemrograman 1B
Untuk menentukan ungkapan yang mempunyai jangkauan tertentu bisa
digunakan bentuk umum sebagai berikut :
Statement Kendali Halaman 34 dari 63
Algoritma & Pemrograman 1B
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” ;
Statement Kendali Halaman 35 dari 63
Algoritma & Pemrograman 1B
Kar$ = INPUT(1)
PRINT kar$
SELECT CASE Kar$
CASE “A” TO “Z”
PRINT “Merupakan huruf kapital”
CASE “a” TO “z”
PRINT “Merupakan huruf kecil”
Statement Kendali Halaman 36 dari 63
Algoritma & Pemrograman 1B
CASE “0” TO “9”
PRINT “Merupakan digit”
CASE “ “
PRINT “Spasi yang Anda tekan”
CASE “!”, “@”, “#”, “$”, “%”, “^”, “&”, “*”
PRINT “Anda menekan suatu tombol”
CASE ELSE
Statement Kendali Halaman 37 dari 63
Algoritma & Pemrograman 1B
PRINT “Bukan angka, huruf, spasi ataupun”
PRINT “Simbol !, @, #, $, %, ^, &, *”
END SELECT
END
Statement Kendali Halaman 38 dari 63
Algoritma & Pemrograman 1B
2. CASE IS oprelasi ungkapan
Oprelasi : sembarang ungkapan relasi ( <, <=, =, >=, >, <>)
Contoh :
CLS
INPUT “Tahun : “, Tahun%
SELECT CASE Tahun%
Statement Kendali Halaman 39 dari 63
Algoritma & Pemrograman 1B
CASE IS < 1945
PRINT “Tahun sebelum kemerdekaan”
CASE IS = 1945
PRINT “Tahun kemerdekaan”
CASE IS > 1945
PRINT “Masa pasca kemerdekaan”
END SELECT
Statement Kendali Halaman 40 dari 63
Algoritma & Pemrograman 1B
END
Statement Kendali Halaman 41 dari 63
Algoritma & Pemrograman 1B
Statement Kendali Halaman 42 dari 63
Algoritma & Pemrograman 1B
LATIHAN
1. CLS
PRINT “Ketik Pilihan “
Statement Kendali Halaman 43 dari 63
Algoritma & Pemrograman 1B
INPUT “Pilihan (1..4) : “ , Pil%
IF (Pil% >=1) AND (Pil% <= 4) THEN
PRINT “Pilihan Benar”
ELSE
PRINT “Pilihan Salah”
END IF
END
Statement Kendali Halaman 44 dari 63
Algoritma & Pemrograman 1B
Output :
Ketik Pilihan
Pilihan (1..4) : 1
Pilihan Benar
2. ULANGLagi :
Statement Kendali Halaman 45 dari 63
Algoritma & Pemrograman 1B
CLS
INPUT “Nama mahasiswa : “ ; nama$
INPUT “Nomor induk : “ ; nomor$
INPUT “Nilai total : “ ; nilAngka
‘ * Konversi *
IF nilAngka > 90 THEN
Nilai Huruf$ = “ A ”
Statement Kendali Halaman 46 dari 63
Algoritma & Pemrograman 1B
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
Statement Kendali Halaman 47 dari 63
Algoritma & Pemrograman 1B
Nilai Huruf$ = “ E “
END IF
‘ * Cetak hasil *
PRINT “Nama : ” ; nama$ ; spc (5) ;
PRINT “No. Induk : “ ; nilaiAngka
PRINT :Nilai huruf : “ ; nilaiHuruf$
Statement Kendali Halaman 48 dari 63
Algoritma & Pemrograman 1B
‘ * Akan mencoba lagi ? *
INPUT “Akan mencoba lagi ? Y/T : “ cobaLagi$
IF UCASE$ (cobaLagi$) = “Y” THEN GOTO ULANGLagi
PRINT “Selesai…!”
END
Statement Kendali Halaman 49 dari 63
Algoritma & Pemrograman 1B
Output :
Nama mahasiswa : OKKY
Nomor induk : 10-28-1988
Nilai Total : 92
Nama : OKKY No. Induk : 10-28-1988
Statement Kendali Halaman 50 dari 63
Algoritma & Pemrograman 1B
Nilai angka : 92
Nilai huruf : A
Akan mencoba lagi ? Y/T : T
Selesai…!
Statement Kendali Halaman 51 dari 63
Algoritma & Pemrograman 1B
3. ULANGLagi :
CLS
INPUT “Nama mahasiswa : “ ; nama$
INPUT “Nomor induk : “ ; nomor$
INPUT “Nilai total : “ ; nilAngka
‘ * Konversi *
SELECT CASE nilaiAngka
Statement Kendali Halaman 52 dari 63
Algoritma & Pemrograman 1B
CASE IS > 90
Nilai Huruf$ = “ A ”
CASE 75 TO 90
Nilai Huruf$ = “ B “
CASE 65 TO 74
Nilai Huruf$ = “ C “
CASE 55 TO 64
Statement Kendali Halaman 53 dari 63
Algoritma & Pemrograman 1B
Nilai Huruf$ = “ D “
CASE ELSE
Nilai Huruf$ = “ E “
END SELECT
‘ * Cetak hasil *
PRINT “Nama : ” ; nama$ ; spc (5) ;
Statement Kendali Halaman 54 dari 63
Algoritma & Pemrograman 1B
PRINT “No. Induk : “ ; nilaiAngka
PRINT :Nilai huruf : “ ; nilaiHuruf$
‘ * Akan mencoba lagi ? *
INPUT “Akan mencoba lagi ? Y/T : “ cobaLagi$
IF UCASE$ (cobaLagi$) = “Y” THEN GOTO ULANGLagi
Statement Kendali Halaman 55 dari 63
Algoritma & Pemrograman 1B
PRINT “Selesai…!”
END
Output :
Nama mahasiswa : OKKY
Nomor induk : 10-28-1988
Nilai Total : 92
Statement Kendali Halaman 56 dari 63
Algoritma & Pemrograman 1B
Nama : OKKY No. Induk : 10-28-1988
Nilai angka : 92
Nilai huruf : A
Akan mencoba lagi ? Y/T : T
Selesai…!
Statement Kendali Halaman 57 dari 63
Algoritma & Pemrograman 1B
TUGAS !!!
1. Apakah output program di bawah ini !
‘********PROGRAM HITUNG GAJI**********
UPAH_JAM = 215
Statement Kendali Halaman 58 dari 63
Algoritma & Pemrograman 1B
WAKTU_NORMAL = 6
INPUT “JUMLAH PEKERJA “; N
DIM NAMA$(N),JAM(N)
FOR I = 1 TO N
PRINT “NAMA KARYAWAN KE : “;I; INPUT NAMA$(I)
INPUT “JAM KERJA SEHARI “;JAM(I)
Statement Kendali Halaman 59 dari 63
Algoritma & Pemrograman 1B
NEXT I
PRINT “NAMA KARYAWAN”;TAB(20);TAB(30);”JAM KERJA”
PRINT TAB(40);”UPAH TOTAL”
PRINT STRING$(50,”=”)
FOR I = 1 TO N
Statement Kendali Halaman 60 dari 63
Algoritma & Pemrograman 1B
UPAH_KOTOR = JAM(I) *UPAH_JAM
IF JAM(I) < WAKTU_NORMAL THEN UPAH=UPAH_KOTOR*0.875
IF JAM(I) > WAKTU_NORMAL THEN UPAH=UPAH_KOTOR*1.1525
IF JAM(I) = WAKTU_NORMAL THEN UPAH=UPAH_KOTOR
PRINT NAMA$(I);TAB(32);JAM(I);TAB(40);UPAH
NEXT I
PRINT STRING$(50,”=”)
Statement Kendali Halaman 61 dari 63
Algoritma & Pemrograman 1B
END
2. Rubahlah program pada soal no 1, dengan menggunakan statemen SELECT
CASE.
Statement Kendali Halaman 62 dari 63
Algoritma & Pemrograman 1B
Statement Kendali Halaman 63 dari 63