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)
0 komentar:
Posting Komentar