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

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

  Read

  Y Perintah 1 Syarat

  T Perintah 2 SELESAI

  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 : : syarat yang akan ditest

  Kondisi statement1,dan statement 2: statement yang akan dikerjakan nobar1, nobar2 : nomor baris yang dituju

  : label baris yang dituju

  label1, label2

  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 akan dikerjakan.

  THEN

  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

  Menghitung Menghitung nilai kondisi nilai kondisi i

  Ya Tidak Kondisi Ya Kondisi

  Dipenuhi Dipenuhi ? ?

  Kerjakan Kerjakan Kerjakan Statement1 statement Statemen2

  Tidak Ke statement berikutnya Ke statement berikutnya 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.

  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

  Menghitung nilai Kondisi1 sampai kondisin

  Test Test Test Tidak Tidak Tidak

  Kondisi1 Kondisi2 Kondisin Dipenuhi Dipenuhi Dipenuhi ? ? ?

  Ya Ya Ya Kerjakan Kerjakan Kerjakan Kerjakan

  Statement1 Statement2 Statement1 Statement1 KerjakanStatement berikutnya

  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.

  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

  Menghitung Nilai ungkapan SELECT CASE . . . . . .

  Kerjakan Kerjakan Kerjakan Kerjakan Statement1 Statement1 Statement1 Statement1

  END SELECT

Ke statement berikutnya

  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

  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

  Y Y

  Umur >30 Nilai >60

  Capeg diterima T T

  Capeg tidak diterima 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. Y Y Status = MK >= 3

  TJ = 6%*GP “Kawin” T T

  TJ = 3% * GP

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.

  T T Tdk medapat Tunj.

  Umur >60 MK >20 pensiun

  Y Y Medapat Tunj. pensiun

  Latihan: Mulai BACA T,S

  T X=S+T T<20

  Y X=S-T

  X SELESAI