Pengertian Algoritma Percabangan
Pada algoritma runtunan telah kita
lihat bahwa setiap pernyataan selaludilakukan bila telah sampai gilirannya.
Namun demikian ada kalanya suatu pernyataanatau perintah hanya bisa dilakukan
bilamemenuhi suatu kondisi atau persyaratantertentu. Algoritma ini kita sebut
dengan algoritma seleksi kondisi atau jugapercabangan.Contoh. Misalnya kita
ingin menentukan apakah suatu bilangan merupakanbilangan genap atau ganjil.
Algoritmanya dapat kita jabarkan.
1.Mulai
2.Masukkan satu bilangan (X)
3.jika X habis dibagi dua maka lanjut
ke
4.Jika tidaklanjut ke 54.tulis ‘X
bilangan genap’. Lanjut ke 6.
5.tulis ‘X bilangan ganjil’
6.Selesai
Perhatikan bahwa ada
dua kemungkinan perintah yang akan dikerjakan setelahperintah ke-3
dikerjakan. Jika X habis dibagi dua maka selanjutnya perintah ke-4 yang
dikerjakan, kemudian melompat ke 6 (perintah 5 tidak dikerjakan). Sebaliknya
jika Xtidak habis dibagi dua perintah selanjutnya melompat ke-5 (perintah 4
tidak dikerjakan) dan kemudian berakhir pada perintah ke-6.
2.Ekspresi Boolean
Ada dua komponen utama dalam ekspresi
percabangan yaitu kondisi dan pernyataan. Kondisi adalah syarat dilakukannya
sebuah (atau sekelompok) pernyataan, sedangkan pernyataan dalam konteks
iniadalah perintah yang berkaitan dengan suatu kondisi. Contoh
umum pernyataan kondisi-pernyataan :
Algoritma
dan Pemrograman
Sebagaimana contoh sebelumnya dapat dilihat
bahwa adakalanya suatuperintah dilakukan jika kondisi yang mempersyaratkannya
telah jelas nilai benarsalahnya. Dalam hal pemrograman kondisi tersebut harus
bisa dinyatakan dalam suatuekspresi boolean. Ekspresi boolean adalah ekspresi
yang hasil ekspresinya bernilaiboolean (true atau false).EkspresiBoolean dapat
diperoleh dengan menggunakan dua jenis operasi :
1.Operasi Boolean.
Operasi boolean adalah operasi yang
menggunakan operator booleanseperti
and, or, not, xor.
Contoh operasi relasional
1. z1 ß x and y
2. z2 ß a=2 or b=10
3. z3 ß not(x)
4. z4 ß p+2=4 xor q=0
2.Operasi Relasional (Operasi Perbandingan)
Operasi relasional adalah operasi yang
membandingkan dua buahoperan dengan menggunakan operator perbandingan (ingat,
operatorperbandingan : =, <>, <,≤, >, ≥).
Contoh operasi relasional
1. z1 ß x > y
2. z2 ß a <> 10
3. z3 ß x + y = 17
4. z4 ß p div q < r
5. z5 ß p mod 2 = 0
Hasil dari operasi perbandingan
memiliki dua kemungkinan, yaitu true (benar) atau false (salah). Oleh karena
itu tipe hasil (z1, z2,z3, z4, z5) dari setiap operasi di atas adalah
boolean.
3.Algoritma Teks dan Flowchart
Percabangan
Ada dua tipe algoritma percabangan yang
akan kita bahas berikut ini yaitu:
Satu kondisi (if-then) : artinya hanya ada
satu kondisi yang menjadi syarat untuk melakukan satu atau satu blok
(sekelompok) pernyataan. Bentuk umum algoritma teks standar
percabangan dengan satu kondisi :
if <kondisi> then
pernyataan
Jika <kondisi> bernilai benar
maka pernyataan dikerjakan, sedangkan jika tidak, maka pernyataan tidak
dikerjakan dan proses langsung keluar daripercabangan (begin).
if A>B then
write (A)
Ekspresi di atas menunjukkan bahwa
perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai
benar. Jika yang terjadi adalah sebaliknya, tidak ada pernyataan yang
dilakukan atau proses langsung keluar dari percabangan (endif ).Secara
flowchart ekspresi itudapat ditulis seperti berikut.
Perhatikan bahwa pada kotak belah
ketupat memiliki dua cabangarus data, yang satu untuk kondisi bernilai benar
(y, artinya ya), sedang yanglain untuk kondisi bernilai salah (t, artinya
tidak).Jika kondisi bernilai benar(y) maka perintah yang dikerjakan adalah
write(A)
. Jika kondisi salah (t)maka arus data
langsung menuju ke bawah tanpa mengerjakan pernyataan apapun.
Dua kondisi (if-then-else)
: artinya ada dua kondisi yang menjadi
syaratuntuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangandengan
dua kondisi :
if <kondisi> then
pernyataan1
else
pernyataan2
Jika <kondisi> bernilai
benar maka pernyataan1 dikerjakan.Sedangkan jika tidak (<kondisi>
bernilai salah), maka pernyataan yangdikerjakan adalah pernyataan2.
Berbeda dengan percabangan satu kondisi,pada percabangan dua kondisi ada dua
pernyataan untuk dua keadaan kondisi, yaitu untuk <kondisi> yang
bernilai benar dan <kondisi> yang bernilai
salah.Contoh algoritma percabangan dua kondisi :
if A>B then
write (A)
else
write (B)
Ekspresi di atas sedikit berbeda dengan
sebelumnya. Perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B
bernilai benar,sedangkan jika yang terjadi adalah sebaliknya maka pernyataan
yangdilakukan adalah menulis B.Secara flowchart pernyataan di
atas dapatditulis sebagai berikut.
Berikut ini adalah beberapa contoh
lainnya.
a.If x > 0 then
ket ß bilangan positif’
b.if m = n
I ß m*n
write(i)
c.if bil>=0 then
ket ß (‘bilangan positif’)
else
ket ß (‘bilangan negatif’)
d.if m = n then
I ß m*n
J ß m-n
Else
I ß m/n
J ß m+n
write(i,j)
4.Percabangan Tersarang
Percabangan tersarang adalah
percabangan di dalam percabangan. Banyak sekalibentuknya, namun salah
satu contohnya adalah sebagai berikut.
If <kondisi1> then
if <kondisi2> then
Pernyataan1
Else
Pernyataan2
Else
If <kondisi3>
Pernyataan3
Else
Pernyataan4
Misalnya, buatlah algoritma untuk
menentukan apakah suatu bilangan merupakan bilangan kelipatan 2 saja, atau
kelipatan 5 saja, atau kelipatan 2 dan 5, atau bukan kelipatan 2 dan
5. Bilangan yang dimaksud merupakan input algoritma.
Algoritma Kelipatan2 Kelipatan5
Deklarasi
Bil: integer
Ket: string
Deskripsi
read (bil)
if bil mod 2 = 0 then
if bil mod 5= 0then
Ket ß ‘ Kelipatan 2 dan Kelipatan 5’
Else
Ket ß ‘ Kelipatan 2 tapi Bukan
Kelipatan 5’
Else
if bil mod 5 = 0 then
Ket ß ‘Bukan Kelipatan 2 tapi Kelipatan
5’
Else
Ket ß‘Bukan Kelipatan 2 atau 5’)
Write (Ket)
Di sini terlihat algoritmanya menjadi
sedikit rumit. Kerumitan bertambahkarena kita harus membuat percabangan dalam
percabangan (percabangantersarang). Selain itu penulisan
Ket ß ’Tidak cumlaude’ harus ditulis
dua kali agartujuan algoritma dapat dicapai. Dengan demikian penggunaan
operator logika dalamhal ini jelas menyederhanakan algoritma di atas.
6.Percabangan Tiga Kondisi Atau Lebih
Percabangan dengan tiga kondisi atau
lebih adalah bentuk pengembangan dari dua bentuk percabangan percabangan yang
telah kita bahas sebelumnya. Akan ada banyak sekali variasinya tetapi secara
umum ekspresi percabangannya dapat kita tuliskan sebagai berikut.
if. <kondisi1>
then
Pernyataan1
else if <kondisi2> then
Pernyataan2
else if <kondisi(n-1)> then
Pernyataan(n)
Else
Pernyataan(n)
Mula-mula <
kondisi1
> dicek nilai kebenarannya. Jika
benar, maka dikerjakan
pernyataan1
. Jika salah, maka dicek nilai
kebenaran <
kondisi2
>. Jika <
kondisi2
>benar,maka dikerjakan
pernyataan2
Jika tidak algoritma akan mengecek ke kondisi
berikutnyadengan cara yang sama dengan yang sebelumnya. Terakhir, jika semua
kondisi bernilaisalah, maka pernyataan yang dikerjakan adalah Pernyataan (n+1).
Bentuk flowchartnya dapat dilihat di bawah ini.
Pada algoritma di atas pernyataan1 akan
dikerjakan jika <kondisi1> bernilai benar, jika tidak pemeriksan
dilanjutkan ke <kondisi2>. Jika <kondisi2> bernilai benar maka
pernyataan2 dikerjakan. Jika tidak,
pemeriksaan dilanjutkan pada kondisi-kondisi berikutnya. Pemeriksaan ini terus
terhadap semua kondisi yang ada. Jika tidak ada kondisiyang benar maka
pernyataan yang dikerjakan adalah pernyataan(n+1)
Sumber:http://saterlat.com/percabangan-dan-algoritma-pemrograman-dasar.html

Tidak ada komentar:
Posting Komentar