StatementKendali(Minggu ke VII).doc (91Kb)

78
Algoritma & Pemrograman 1B Sesi /Perkuliahan ke : 7 Statement Kendali Halaman 1 dari 78

Transcript of StatementKendali(Minggu ke VII).doc (91Kb)

Page 1: 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

Page 2: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 3: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 4: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 5: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

6. Rijanto Tosin, Quik BASIC, Dinastindo.

Statement Kendali Halaman 5 dari 63

STATEMEN KENDALI

Page 6: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 7: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 8: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 9: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 10: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 11: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 12: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 13: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

a b

Gambar a. Tanpa statement ELSE

b. Dengan statement ELSE

Statement Kendali Halaman 13 dari 63

Page 14: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 15: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 16: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 17: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 18: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 19: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

[ statement2 ] ]..[ ELSE

[ statementn ] ]

END IF

dengan parameter-parameternya :

Statement Kendali Halaman 19 dari 63

Page 20: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 21: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 22: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 23: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

ELSE

PRINT “Pilihan Anda tidak dimengerti”

END IF

END

Bagan alir blok IF...THEN...ELSE

Statement Kendali Halaman 23 dari 63

Page 24: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 25: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Statement Kendali Halaman 25 dari 63

Page 26: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 27: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 28: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

SELECT CASE ungkapan

CASE nilai1

[ statement1 ]

[ CASE nilai2

[ statement2 ] ]..[ CASE ELSE

Statement Kendali Halaman 28 dari 63

Page 29: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 30: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 31: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 32: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

CASE 3

PRINT “Nasi Gudeg”

CASE ELSE

PRINT “Pilihan Anda tidak dimengerti”

END SELECT

END

Statement Kendali Halaman 32 dari 63

Page 33: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 34: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Untuk menentukan ungkapan yang mempunyai jangkauan tertentu bisa

digunakan bentuk umum sebagai berikut :

Statement Kendali Halaman 34 dari 63

Page 35: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 36: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 37: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 38: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

PRINT “Bukan angka, huruf, spasi ataupun”

PRINT “Simbol !, @, #, $, %, ^, &, *”

END SELECT

END

Statement Kendali Halaman 38 dari 63

Page 39: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 40: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 41: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

END

Statement Kendali Halaman 41 dari 63

Page 42: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Statement Kendali Halaman 42 dari 63

Page 43: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

LATIHAN

1. CLS

PRINT “Ketik Pilihan “

Statement Kendali Halaman 43 dari 63

Page 44: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 45: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Output :

Ketik Pilihan

Pilihan (1..4) : 1

Pilihan Benar

2. ULANGLagi :

Statement Kendali Halaman 45 dari 63

Page 46: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 47: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 48: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Nilai Huruf$ = “ E “

END IF

‘ * Cetak hasil *

PRINT

PRINT “Nama : ” ; nama$ ; spc (5) ;

PRINT “No. Induk : “ ; nilaiAngka

PRINT :Nilai huruf : “ ; nilaiHuruf$

Statement Kendali Halaman 48 dari 63

Page 49: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

PRINT

‘ * Akan mencoba lagi ? *

INPUT “Akan mencoba lagi ? Y/T : “ cobaLagi$

IF UCASE$ (cobaLagi$) = “Y” THEN GOTO ULANGLagi

PRINT

PRINT “Selesai…!”

END

Statement Kendali Halaman 49 dari 63

Page 50: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 51: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Nilai angka : 92

Nilai huruf : A

Akan mencoba lagi ? Y/T : T

Selesai…!

Statement Kendali Halaman 51 dari 63

Page 52: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 53: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 54: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Nilai Huruf$ = “ D “

CASE ELSE

Nilai Huruf$ = “ E “

END SELECT

‘ * Cetak hasil *

PRINT

PRINT “Nama : ” ; nama$ ; spc (5) ;

Statement Kendali Halaman 54 dari 63

Page 55: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

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

Statement Kendali Halaman 55 dari 63

Page 56: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

PRINT “Selesai…!”

END

Output :

Nama mahasiswa : OKKY

Nomor induk : 10-28-1988

Nilai Total : 92

Statement Kendali Halaman 56 dari 63

Page 57: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 58: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

TUGAS !!!

1. Apakah output program di bawah ini !

‘********PROGRAM HITUNG GAJI**********

UPAH_JAM = 215

Statement Kendali Halaman 58 dari 63

Page 59: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

WAKTU_NORMAL = 6

INPUT “JUMLAH PEKERJA “; N

DIM NAMA$(N),JAM(N)

PRINT

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

Page 60: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

PRINT

NEXT I

PRINT

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

Page 61: StatementKendali(Minggu ke VII).doc (91Kb)

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

Page 62: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

END

2. Rubahlah program pada soal no 1, dengan menggunakan statemen SELECT

CASE.

Statement Kendali Halaman 62 dari 63

Page 63: StatementKendali(Minggu ke VII).doc (91Kb)

Algoritma & Pemrograman 1B

Statement Kendali Halaman 63 dari 63