4. Teknik Percabangan
Struktur keputusan adalah struktur program yang
melakukan proses pengujian untuk pengujian untuk
mengambil suatu keputusan apakah suatu baris atau blok
instruksi akan diproses atau tidak. Pengujian kondisi ini
dilakukan untuk memilih salah satu dari beberapa alternatif
yang tersedia.
Syarat dalam dunia pemrograman adalah sebuah
pernyataan boole, yang dapat bernilai benar(true) atau salah
(false). Biasanya sebuah syarat terdiri dari operand-operand
yang dihubungkan dengan operator logika. Yaitu :
=,<>,>,<,<=,>=, and(Dan) dan or(atau).
Mulai
Syarat
Perintah 1
Perintah 2
SELESAI
ReadY
A. IF..THEN…ELSE
Pemrograman dapat mengatur tindakan yang akan dilakukan kalau kondisi bernilai
benar ataupun tindakan yang akan dijalankan kalau kondisi salah dengan
IF...THEN...ELSE
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 menjumpai dua kemungkinan atau pilihan pencabangan,
dapat 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,dan statement 2: 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
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
INPUT “Total Pembelian :” , TotalBeli
Korting = 0
Ke statement berikutnya
Menghitung
Ke statement berikutnya
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.
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
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
Bagan alir blok IF...THEN...ELSE
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, jika memenuhi proses eksekusi akan diteruskan ke bagian tertentu dari suatu program berdasarkan nilai kondisi yang
ditest. Jika tidak akan berlanjut ke kondisi berikutnya.
• IF…THEN…ELSE banyak baris dapat mentest lebih dari sebuah kondisi yang satu sama lain saling berbeda.
Test Kondisi1 sampai kondisin
Bentuk Umum :
SELECT CASE ungkapan
CASE nilai1
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”
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”
Ke statement berikutnya
. . . . . . Menghitung
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
Hubungan Antar Kondisi
1.
HUBUNGAN DAN
Merupakan hubungan antar kondisi yang mensyaratkan
ke-2 kondisi terpenuhi.
Contoh :Untuk menentukan penerimaan calon pegawai
ditentukan kriteria sbg :
- Umur di atas 30 tahun, dan
- Nilai test lebih besar dari 60
Untuk pegawai yang telah menikah mendapat tunjangan istri
besarnya tunjangan istri ditentukan berdasarkan masa kerja.
Untuk masa kerja kurang dari tiga tahun mendapat
tunjangan sebesar 3% dari gaji pokok, sedangkan masa
kerja sama dengan atau lebih besar dari tiga tahun
mendapat tunjangan sebesar 6% dari gaji pokok.
Capeg diterima
Capeg tidak diterima
Nilai >60Umur >30 Y Y
2.
HUBUNGAN ATAU
Merupakan hubungan antar kondisi yang mensyaratkan
hanya salah satu kondisi yang terpenuhi.
Contoh :Tunjangan pensiun diberikan kepada pegawai
yang berusia lebih dari 60 tahun. Untuk pegawai yang
mempunyai masa kerja lebih dari 20 tahun juga
mendapat tunjangan tsb.
Status =
“Kawin”
TJ = 6%*GP
TJ = 3% * GP
MK >= 3
Tdk medapat Tunj. pensiun
Medapat Tunj. pensiun MK >20 Umur >60
Y Y
T T
T
Y
T