Percabangan dan Algoritma Pemrograman Dasar Materi Pertemuan 7,8 dan 11

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
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)

.Untuk Versi ketiknya bisa didapatkan dari link berikut

4 thoughts on “Percabangan dan Algoritma Pemrograman Dasar Materi Pertemuan 7,8 dan 11

  • September 27, 2014 at 1:11 am
    Permalink

    Artikel tentang percabangan algoritma bagus pak.. bisa bermanfaat untuk kita untuk materi percabangan dan algoritma

    Reply
    • October 21, 2014 at 12:47 pm
      Permalink

      Monggo Silahkan Pak

      Reply
  • January 24, 2017 at 2:08 pm
    Permalink

    Cakep Infonya gan

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *