Anda di halaman 1dari 11

Modul 08 PERCABANGAN

Dalam pembuatan algoritma atau program untuk memecahkan masalah adakalanya kita dihadapi beberapa kondisi atau keadaaan, kondisi tersebut biasanya menentukan hasil akhir dari proses yang akan didapat. Misalnya untuk menentukan kelulusan seorang siswa berdasarkan nilai. Jika nilai siswa lebih dari atau samadengan 50 maka siswa tersebut dinyatakan lulus, sebaliknya jika nilai siswa tersebut di bawah 50 maka tidak lulus, dan seterusnya. Kondisi merupakan hal yang menentukan didalam mengambil keputusan mengenai tindakan yang diambil. Didalam pemrograman kondisi dikenal dalam bentuk IF, CASE ataupun yang setara.

8.1 Pernyataan If-then


Pada bentuk if, pernyataan hanya akan dijalankan kalau kondisi bernilai benar. Yang terpenting dari bagan alur diatas adalah kondisinya. Kodisilah yang menentukan apakah sebuah pernyataan program akan dieksekusi atau tidak

Bentuk algoritma untuk pernyataan if adalah sebagai berikut : IF kondisi(-kondisi) yang harus dipenuhi THEN Pernyataan Pernyataan Bagan alurnya adalah sebagai berikut :

False (Salah) Kondisi True (benar)

Pernyataan

Dasar pemrograman/ Modul_08_Percabangan

Contoh pseudocode dari bentuk pernyataan if adalah : Variabel : nilai : bilangan nyata Mulai Masukkan nilai Jika nilai > 50 maka nyatakan Lulus

Cetak Nilai anda = nilai Selesai

Pernyataan tersebut bisa diterjemahkan kedalam bahasa pemrograman dibawah ini :

C++

Pascal

Include <iostream.h> void main (void) { float nilai; cout << Masukkan nilai : ; cin >> nilai; if (nilai > 50) { cout << Lulus; } cout << Nilai anda: <<nilai; }

Var Nilai : Real; Begin Write (Masukkan Nilai : ); Readln(Nilai); If Nilai > 50 then writeln(Lulus); Writeln(Nilai = , Nilai) End.

Dasar pemrograman/ Modul_08_Percabangan

if-then

Bentuk umum untuk statemen if dalam bahasa PASCAL adalah sebagai berikut:

Bentuk: if (kondisi) Then statement; Jika ada lebih dari satu statemen yang harus dilaksanakan maka harus digunakan begin dan end. Bentuk: if (kondisi) Then Begin statemen-1; . statemen-n; end;

8.2 Pernyataan If-Then-else


Pernyataan if-then-else digunakan untuk menguji sebuah kondisi. Bila kondisi yang diuji terpenuhi, program akan menjalankan pernyataan-pernyataan tertentu; dan bila kondisi yang diuji salah, program akan menjalankan pernyatan-pernyataan yang lain.

Bentuk umum pernyataan if..else dalam algoritma adalah sebagai berikut: if kondisi(-kondisi) yang harus dipenuhi Then Pernyataan Pernyataan else Pernyataan Pernyataan

Dasar pemrograman/ Modul_08_Percabangan

Kondisi sendiri merupakan suatu ekspresi bertipe boolean, artinya hanya dapat bernilai benar (true) atau salah (false). Bagan alurnya adalah sebagai berikut :

True (benar)

Kondisi

False (Salah)

Pernyataan

Pernyataan

Pada bentuk ini : 1. Pernyataan sesudah if akan dieksekusi kalau kondisi bernilai benar 2. Pernyataan sesudah else akan dieksekusi kalau kondisi bernilai salah Sebagai contoh diinginkan tampilan :

1. Anda Lulus jika nilai bernilai lebih dari 50 2. Anda tidak lulus jika nilai kurang dari 50
Maka contoh pseudocodenya adalah sebagai berikut : Variabel : Nilai : bilangan nyata Mulai Masukkan Nilai Jika Nilai > 50 maka nyatakan Anda Lulus

Jika sebaliknya maka nyatakan Anda tidak lulus Cetak nilai = nilai

Dasar pemrograman/ Modul_08_Percabangan

Selesai

Bentuk umum untuk statemen if-then-else dalam bahasa PASCAL adalah

sebagai berikut:

if (kondisi) Then begin statement; end else begin statemen; end;

Pernyataan tersebut bisa diterjemahkan kedalam bahasa pemrograman dibawah ini :

C++

Pascal

Include <iostream.h> void main (void) { float nilai; cout << Masukkan Nilai : ; cin >> nilai; if (nilai > 50) { cout << Anda Lulus;} else { cout << Anda Tidak Lulus;} cout << Nilai = << nilai; }

Var nilai : Real; Begin Write (Masukkan nilai : ); Readln(nilai); If nilai > 50 then writeln(Anda Lulus) Else WriteLn(Anda Tidak Lulus) Writeln(Nilai = , nilai) End.

Dasar pemrograman/ Modul_08_Percabangan

8.3 Pernyataan if-then-else if (if bersarang)


Dalam kasus-kasus tertentu, sebuah konstruksi if dan else dapat terdapat bentuk bersarang (nested). Bentuk bersarang merupakan contoh bentuk dari sebuah atau beberapa buah pernyataan if dan else yang terdapat didalam bentuk if dan else yang lainnya. Nested IF dan ELSE merupakan pernyataan yang lebih rumit dibandingkan dengan pernyataan IF dan ELSE sederhana.

Bentuk umum pernyataan if bersarang dalam algoritma adalah sebagai berikut:

if kondisi_1 yang harus dipenuhi Pernyataan else if kondisi_2 yang harus dipenuhi Pernyataan else pernyataan

Bagan alurnya adalah sebagai berikut :

Harga Buku = 2500

Jumlah Buku >= 50

Jumlah Buku >= 35

Jumlah Buku >= 20

Diskon 20%

Diskon 15 %

Diskon 10 %

Tdk Ada Diskon

Dasar pemrograman/ Modul_08_Percabangan

Bentuk umum pernyataan if..else dalam Bahasa Pascal adalah sebagai berikut:

if (kondisi_1) then statemen; else if (kondisi_2) then statemen; else if (kondisi_n) then statemen; else statemen;

Catatan: Untuk if sebanyak n maka ada else sebanyak n pula.

Bahasa C++

Bahasa Pascal

Dasar pemrograman/ Modul_08_Percabangan

#include <iostream.h> void main(void) { int Jumlah_Buku; float harga; cout << Jumlah Buku: << endl ; cin >> Jumlah_Buku; if (Jumlah_Buku >= 50) { harga= Jumlah_Buku * 0.8 * 2500; cout<< Total harga: << harga; } else { if (Jumlah_Buku >= 35) { harga= Jumlah_Buku * 0.85 * 2500; cout<< Total harga: << harga; } else { if (Jumlah_Buku >= 20 { harga= Jumlah_Buku * 0.9 * 2500; cout << Total harga: << harga; } else { harga= Jumlah_Buku * 2500; cout<< Total Harga: << harga; } } } }

Var Jumlah_Buku : integer; Harga_Buku : real; Begin Write (Jumlah Buku = ); ReadLn(Jumlah_Buku); IF Jumlah_Buku >= 50 then Begin Harga:= Jumlah_Buku * 0.8 * 2500; WriteLn(Total Harga= , Harga); End Else IF Jumlah_Buku >= 35 then Begin Harga:= Jumlah_Buku * 0.85 * 2500; WriteLn(Total Harga= , Harga); End Else IF Jumlah_Buku >= 20 Begin Harga:= Jumlah_Buku * 0.9 * 2500; WriteLn(Total Harga= , Harga); End Else Begin Harga:= Jumlah_Buku * 2500; WriteLn(Total Harga= , Harga); End; End.

8.4 Pernyataan case


Pernyataan Case digunakan untuk menyederhanakan konstruksi if..else if yang terlalu banyak. Sebagai contoh, program berikut: If ( x = 0) then Writeln(X bernilai 0) Else if (x = 1) then Writeln(X bernilai 1) Else if (x = 2) then Writeln(X bernilai 2) Else if (x = 3) then Writeln(X bernilai 3) Else

Dasar pemrograman/ Modul_08_Percabangan

Writeln(X tidak bernilai 0, 1, 2, ataupun 3); Dapat diganti menjadi lebih ringkas dan mudah dibaca dengan program berikut Case x of 0 : Writeln(X bernilai 0); 1 : Writeln(X bernilai 1); 2 : Writeln(X bernilai 2); 3 : Writeln(X bernilai 3); else Writeln(X tidak bernilai 0, 1, 2, ataupun 3);; End; Jika dilihat pada contoh di atas bahwa meskipun hasil dari kedua program tersebut sama tetapi penulisan dengan case lebih mudah dibaca.

Contoh-contoh soal:

1. Tulislah algoritma dan program yang menampilkan Genap jika suatu bilangan adalah
bilangan genap atau Ganjil jika bilangan tersebut adalah bilangan ganjil. Nilai masukan adalah bilangan bulat, yaitu x, dimana 0 x 65535. keluaran dari program ini adalah Bilangan Genap atau Bilangan ganjil. Jawab: Suatu bilangan dikatakan bilangan genap jika habis dibagi 2. dengan demikian algoritma pengecekan bilangan genap atau ganjil dapat dituliskan sebagai berikut:

1. Masukkan bil. 2. jika (bil habis dibagi 2 ) maka kerjakan baris 3; jika tidak kerjakan baris 4.
3. tulis Bilangan genap. Selesai. 4. tulis Bilangan ganjil. Selesai.

Contoh program dalam Pascal untuk mengecek suatu bilangan termasuk bilangan ganjil atau genap: Var x: word; begin

Dasar pemrograman/ Modul_08_Percabangan

write (Masukkan suatu bilangan bulat sembarang: ); readln(x); if (x mod 2 = 0) then writeln (Bilangan genap) else writeln (Bilangan ganjil); end. Keluaran dari program tersebut adalah sebagai berikut: Masukkan suatu bilangan bulat sembarang: 25 Bilangan ganjil Masukkan suatu bilangan bulat sembarang: 4 Bilangan genap

2. Tulislah algoritma dan program yang meminta masukan bilangan bulat dari pengguna. Jika pengguna memasukkan 0, program menampilkan Minggu; jika pengguna memasukkan 1, program menampilkan Senin, dan seterusnya sampai dengan Sabtu. Jika pengguna memasukkan nilai di luar jangkauan 0 sampai dengan 6, program menuliskan Hari tidak Valid. Jawab: Algoritma untuk menampilkan hari dapat dituliskan sebagai berikut: 1. Masukkan x. 2. Jika (x = 0) Tulis Minggu. Selesai. 3. Jika (x = 1) Tulis Senin. Selesai. 4. Jika (x = 2) Tulis Selasa. Selesai.
Var 5. Jika (x = 3) Tulis Rabu. Selesai. x : Kamis. 6. Jika (x = 4) Tulis byte; Selesai. begin

7. Jika (x = 5) Tulis Jumat. Selesai. 8. Jika (x = 6) Tulis Sabtu. Selesai.


readln (x);

write ( Masukkan bilangan bulat (0 6): );

9. Tulis Hari tidak Valid of case (x) Jika ditulis dalam programwriteln (Minggu); 0: C sebagai berikut:
1: writeln (Senin); 2: writeln (Selasa); 3: writeln (Rabu); 4: writeln (Kamis); 5: writeln (Jumat); 6: writeln (Sabtu); else Dasar pemrograman/ Modul_08_Percabangan writeln (Hari tidak Valid); end;

10

Keluaran dari program di atas adalah sebagai berikut: Masukkan bilangan bulat (0 6) : 5 Jumat Masukkan bilangan bulat (0 6) : 8 Hari tidak Valid

==============

Dasar pemrograman/ Modul_08_Percabangan

11

Anda mungkin juga menyukai