Anda di halaman 1dari 14

NAMA

: FEBRI FATUROCHMAN

N.P.M

: 1410501049

KELAS

: TEKNIK ELEKTRO 1B

MATA KULIAH

: TEKNIK PEMROGRAMAN

ALGORITMA PERCABANGAN
Algoritma percabangan adalah suatu pemilihan atau statement yang akan

dieksekusi, dimana pemilihan tersebut didasarkan pada suatu kondisi tertentu. Pada
C++

jenis

struktur

yang

digunakan

untuk

mengimplementasikan

suatu

percabangan ada dua yaitu: struktur if dan struktur switch.


Statement yang terdapat dalam sebuah blok percabangan akan dieksekusi jika
kondisi yang didefinisikan terpenuhi (bernilai benar) Artinya jika kondisi tidak
terpenuhi (bernilai salah) maka statemen tersebut tidak ikut dieksekusi atau akan
diabaikan oleh compiler. Symbol If berbentuk Belah ketupat, yang disebut
kondisional. Kondisional sendiri berarti sebuah kondisi yang memberikan kepastian
Ya atau Tidak.
5 MACAM ALGORITMA PERCABANGAN
1. Algoritma Percabangan 2 Jawaban Dalam 1 Kondisi
- Contoh : seorang guru ingin menghitung nilai ulangan yang jika diatas 75
dinyatakan Lulus, dan jika dibawah 75 dinyatakan Tidak Lulus.
Penyelesaian :
Jika ingin lebih mudah kita terlebih dahulu membuat sebuah algoritmanya ;
1. Mulai
2. Masukkan nilai x (nilai ulangan siswa)
3. Jika x>=75 maka kerjakan no.4, jika tidak maka kerjakan no.5
4. Cetak Lulus
5. Cetak Tidak lulus
6. Selesai
Setelah membuat algoritma kita akan membuat if Else if-nya

2. Algoritma Percabangan 2 Kondisi Dalam 1 Algoritma


yaitu dalam suatu kondisi masih terdapat kondisi yang lain
Contoh :, seorang guru ingin menghitung nilai ulangan yang jika diatas 75
dinyatakan lulus, dan jika dibawah 75 dinyatakan tidak Lulus. dan dari angka
tersebut kita juga harus menentukan apakah nilai yang didapat siswa bilangan
ganjil atau genap.
Penyelesaian :

Sama seperti If Tunggal, kita terlebih dahulu membuat sebuah algoritma


1. Mulai
2. Masukkan nilai x (nilai ulangan siswa)
3. Jika x>=75 maka kerjakan no.4, jika tidak maka kerjakan no.5
4. Cetak Lulus
5. Cetak Tidak lulus
6. Jika x mod 2 = 0 maka kerjakan no.7., Jika tidak maka kerjakan No. 8
7. Cetak Genap
8. Cetak Ganjil
9. Selesai
Note : Mod adalah sebuah angka yang saat dibagi 2 tidak memiliki sisa

8 mod 2 = 0 (karena saat 8 dibagi 2, menghasilkan 4 dan tidak menyisakan 1


angka)

7 mod 2 = 1 ( karena angka 7 tidak bisa dibagi 2, angka yang terdekat dengan 7
adalah 6. Angka 6 dapat dibagi 2. 7-6 = 1)

3. Algoritma Percabangan Menentukan Ganjil / Genap


Salah satu kasus yang mudah adalah bagaimana menentukan suatu bilangan
adalah
bilangan genap atau ganjil. Teori yang digunakan untuk menentukan suatu bilangan ganjil/genap adalah jika bilangan tersebut dibagi dengan dua. Jika sisa hasil
pembagiannya adalah 0 maka bilangan tersebut termasuk bilangan genap
sedangkan
jika hasil pembagiannya adalah 1 maka bilangan tersebut termasuk bilangan ganjil. Tabel berikut merupakan perancangan program dalam bentuk _flowchart atau
algoritma untuk kasus tersebut.

Keterangan :
Menentukan apakah suatu
bilangan adalah genap atau
ganjil
Kamus :
X : integer { masukan dari
user }
M : integer { sisa pembagian
dengan dua }
Algoritma :
Read X
M=X%2
if M == 0
print " Genap "
else
print " Ganjil "

end if
Dari dua algoritma diatas, kita dapat menyusun kode program dalam bahasa
C atau
python sesuai dengan perintah primitif yang telah dideskripsikan pada _flowchart /
algoritma diatas. berikut merupakan implementasi rancangan program diatas dalam
bahasa python dan C.

Kode Program 1 Implementasi algoritma atau _flowchart program deteksi bilangan


ganjil/genap dalam bahasa python

#!/ usr / bin / python


X = input (" Masukkan bilangan = ")
M=X%2
if M == 0:
print " Bilangan Genap "
else :
print " Bilangan Ganjil "
Kode Program 2 Implementasi algoritma atau _owchart program deteksi bilangan
ganjil/genap dalam bahasa C
# include <stdio .h>
int main ( int argc , char ** argv )
{
int X, M;
printf (" Masukkan bilangan = ");
scanf ("% d", &X);
if ( (X % 2) == 0 )
printf (" Bilangan Genap \n ");

else
printf (" Bilangan Ganjil \n ");
return 0;
}

4. Algoritma Percabangan Bersarang

If then
if then
Pernyataan1
else
Pernyataan2
else
If
Pernyataan3
else
Pernyataan4
Penjelasan :
Mula-mula <kondisi1> dicek nilai kebenarannya. Jika benar, maka dicek nilai kebenaran
<kondisi2>. Jika <kondisi2> benar, maka dikerjakan pernyataan1. Jika tidak algoritma
akan dikerjakan pernyataan2. Jika <kondisi1> tidak benar maka akan dicek nilai
kebenaran . Jika <kondisi3> benar, maka dikerjakan pernyataan3. Jika tidak akan
dikerjakan pernyataan4.
Flowchart :

5. Algoritma Percabangan Lebih Dari Satu


Percabangan yang telah dijabarkan pada paragraf sebelumnya, adalah percabangan
dengan satu kondisi saja. Bagaimana jika kita membutuhkan beberapa kondisi untuk percabangan? Dalam perancangan program maupun pada saat implementasi
pada bahasa pemrograman, suatu kondisi (true / false) dapat dimanipulasi dengan menggunakan dua operator logika (and dan or) dan kombinasinya untuk dapat
membuat beberapa kondisi pada suatu percabangan. Selain dengan menggunakan
operator logika, kita dapat menggunakan percabangan bertingkat untuk
merepresentasikan percabangan dengan beberapa kondisi. Pada peracangan program dengan
menggunakan _flowchart akan digunakan percabangan bertingkat untuk merepresentasikan percabangan dengan kondisi lebih dari satu sedangkan pada algoritma
digunakan percabangan dengan operator logika untuk memanipulasi kondisi pada
percabangan. Tabel berikut merupakan cara mendeskripsikan suatu percabangan
dengan kondisi lebih dari satu dalam bentuk _flowchart dan algoritma.

.
.
if X > 0 and X <= 5
.
.
.
end if

.
.
.

Contoh soal :

1. Struktur percabangan untuk masalah batasan umur


Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut: Jika
usia penonton lebih dari 17 tahun maka penonton diperbolehkan, dan apabila
kurang dari 17 tahun maka penonton tidak diperbolehkan nonton. Buatlah flowchart
untuk permasalahan tersebut.

Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan
struktur percabangan. Hal ini ditandai dengan adanya pernyataan: jika .. maka ...
(atau If ... Then dalam Bahasa Inggris).
Flowchart penyelesaian masalah tampak pada gambar 5.9. Pada gambar
tersebut, tampak penggunaan simbol Decision. Pada simbol ini terjadi pemeriksaan
kondisi, yaitu: apakah usia lebih dari 17 tahun atau tidak. Jika jawaban ya maka
program akan menghasilkan keluaran teks "Silahkan Menonton", sedangkan jika
input usia kurang dari 17 tahun maka program akan menghasilkan keluaran teks
"Anda Tidak Boleh Menonton".

1. . Struktur percabangan untuk perhitungan dua buah bilangan.

Dalam suatu perhitungan, nilai P = X + Y. Jika P positif, maka Q = X * Y,


sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari
nilai P dan Q

Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan
proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0)
ataukah negative. Perhatikan flowchart penyelesaian masalah pada gambar
5.10.

2. Struktur percabangan bersarang untuk masalah fotokopi.


Sebuah usaha fotokopi mempunyai aturan sebagai berikut:

Jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia
fotokopi, harga perlembarnya Rp. 75,-

Jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100
lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama
dengan 100 lembar maka harga perlembarnya Rp. 85,-.

Buatlah flowchart untuk menghitung total harga yang harus dibayar jika
seseorang memfotokopi sejumlah X lembar.

Penyelesaian:
Pada contoh ini, masalah terlihat lebih rumit. Ada dua percabangan yang
terjadi. Yang pertama adalah pemeriksaan apakah status seseorang pelanggan atau
bukan. Kedua, apabila status seseorang bukan pelanggan, maka dilakukan
pemeriksaan berapa jumlah lembar fotokopi, apakah lebih dari 100 lembar atau

tidak.
Pada soal ini kita juga menjumpai apa yang disebut sebagai nested.
Perhatikan pernyataan pada syarat kedua dari persoalan di atas.
'Jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar
harga perlembarnya Rp.100'
pernyataan jika yang kedua berada di dalam jika yang pertama.
Input yang dibutuhkan untuk permasalahan ini adalah status orang yang fotokopi,
dan jumlah lembar yang difotokopi. Sehingga variable input yang digunakan adalah:

Status untuk status orang yang fotokopi

JLF untuk jumlah lembar yang difotokopi

Selain itu, terdapat variable dengan nama HPP yang digunakan untuk
menyimpan harga per lembar, dan TH untuk menyimpan nilai total harga.
Perhatikan, variable Status bertipe data char, sehingga penulisannya harus
menggunakan tanda " ".
Flowchart penyelesaian masalah ini dapat dilihat pada gambar 5.11.

3. Struktur percabangan bersarang untuk masalah kelulusan siswa.


Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan
sebagai berikut:

Jika nilai ujian tengah semester (UTS) lebih besar dari 70 maka siswa
dinyatakan lulus dan Nilai Akhir sama dengan nilai UTS.

Jika nilai UTS kurang atau sama dengan 70, maka siswa dinyatakan lulus jika
Nilai Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x
40%) + (nilai UAS x 60%).

Buatlah flowchart penyelesaian masalah tersebut apabila output yang


diinginkan adalah NIM, Nama Siswa, Nilai Akhir, dan Status Kelulusan.

Penyelesaian:
Pada contoh ini, ada dua percabangan. Yang pertama adalah pemeriksaan
apakah nilai UTS siswa lebih dari 70. Kedua, apabila nilai UTS tidak lebih dari
70, maka dilakukan pemeriksaan apakah nilai akhir lebih dari 60. Input yang
dibutuhkan untuk permasalahan ini adalah NIM, nama siswa, nilai UTS, dan

nilai UAS. Sehingga variable input yang digunakan adalah: NIM untuk Nomor
induk siswa, nama untuk nama siswa, NUTS untuk nilai ujian tengah
semester, dan NUAS untuk nilai ujian akhir semester. Sedangkan variabel
ouput terdiri dari NA yang digunakan untuk menyimpan nilai akhir, dan
Status untuk menyimpan status kelulusan.

DAFTAR PUSTAKA
-

http://emy-rplairlangga.blogspot.com/2013/09/algoritmapercabangan-if.html
Diakses Hari Sabtu, 18 Oktober 2014 jam 10.30 WIB

http://michaele-reza.blogspot.com/2011/10/materi-algoritmapercabangan.html
Diakses Hari Sabtu, 18 Oktober 2014 jam 10.40 WIB

http://wec4n.blogspot.com/2013/11/algoritma-percabangan.html
Diposkan oleh Wahidin, Diakses Hari Sabtu, 18 Oktober 2014 jam 11.00

WIB
-

http://www.varia.web.id/2013/05/struktur-algoritmapercabangan.html
Copyright 2013. Artikel teknologi

http://saterlat.com/index.php/percabangan-dan-algoritmapemrograman-dasar.html
Diposkan oleh Andi Saputro, 24 Agustus 2014

http://nmaulana.blogspot.com/2009/10/algoritmapercabangan.html

Diposkan oleh nukman maulana di 00.23 WIB


Resensi, one.indoskripsi.com

Anda mungkin juga menyukai