Chapter 4

PEMILIHAN

Menganalisis kasus dari suatu masalah artinya menentukan kondisi  Boolean (bernilai true atau false) dan menentukan aksi yang dilakukan jika kondisi tersebut berlaku.   Kondisi Boolean adalah suatu ekspresi relasional yang bernilai true atau false bergantung pada nilai masing-masing operand yang terlihat di dalamnya. Atau Analisis kasus, yang melahirkan instruksi kondisional, adalah elemen primitive pembangun algoritma, yaitu memungkinkan kita untuk membuat teks yang sama namun menghasilkan eksekusi yang berbeda-beda. Mendefinisikan analisis kasus adalah mendefinisikan :

  1. Kondisi, yang berupa suatu ekspresi yang menghasilkan true atau false
  2. Aksi yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi ybs. dipenuhi

Konstruksi dari suatu analisis kasus dapat dimulai dari menentukan semua kondisi yang mungkin (dengan melakukan partisi domain), atau dimulai dari menentukan variasi aksi. Tidak ada rumus yang baku tentang bagaimana memulai menuliskan analisis kasus. Pada contoh-contoh yang diberikan, ada yang berangkat dari kondisi, dan ada yang dimulai dari menentukan aksi. Ada 2 struktur dalam analisis kasus/pemilihan, yakni satu kasus yang mengakibatkan aksi, atau dua kasus komplementer dan analisis kasus yang umum (banyak kasus).

4.1.  Satu Kasus

Dalam bahasa Indonesia, if berarti jika dan then berarti maka.  Kondisi adalah persyaratan yang dapat bernilai benar atau salah.  Aksi hanya akan dilaksanakan jika kondisi bernilai benar.  Sebaliknya, jika kondisi bernilai salah, maka aksi tidak akan dilaksankan. Pernyataan ini dapat ditulis dalam struktur umum :

If (Kondisi) Then

         Aksi

Endif

Jika kondisi benar, maka aksi dilakukan. Jika kondisi tidak benar, maka tidak terjadi apa-apa (efek neto “kosong”).

Kasus 1. Dibaca sebuah bilangan bulat dari keyboard. Tuliskan algoritma  untuk mencetak pesan “bilangan genap” jika bilangan tersebut adalah genap.  Bilangan  genap adalah bilangan yang habis dibagi 2 (sisa = 0).

Algoritma BilanganGenap

{Mencetak pesan “bilangan genap” jika sebuah bilangan   yang dibaca dari keyboard adalah bilangan genap}Deklarasi :Bilangan : Integer

Deskripsi :

Read (Bilangan)

If Bilangan mod   2=0 then

Write (‘Bilangan Genap’)

EndIf

4.2.  Dua Kasus Komplementer

Kondisi if-then hanya memberikan satu pilihan aksi bila kondisi dipenuhi atau bernilai benar, dan tidak memberi pilihan aksi lain jika kondisi bernilai salah.  Berikut adalah kondisi if then else, yang memberi pilihan aksi lain jika kondisi bernilai salah.

If Kondisi then

    Aksi 1

Else      {not Kondisi}

    Aksi 2

EndIf

Else artinya kalau tidak.  Jika kondisi bernilai benar, maka aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dilaksanakan. Hati-hati dalam memakai “else” yang berarti kondisi implisit yang merupakan negasi dari kondisi. Penulisan kondisi “else” secara eksplisit sangat disarankan

Kasus 2. Dibaca dua buah bilangan bulat dari peranti masukan.  Tentukan dari kedua bilangan itu bilangan yang terbesar. Mislkan kedua bilangan tersebut adalah A dan B

Jika  A > B, bilangan terbesar adalah A

Jika  B ≥ A, bilangan terbesar adalah B

Algoritma Maks1

{Menentukan bilangan terbesar dari dua buah bilangan bulat}

Deklarasi  :

A, B : Integer

Deskripsi  :

Read (A,B)

If A > B then

Write (‘Bilangan terbesar : ‘,A)

Else

Write (‘Bilangan terbesar : ‘,B)

EndIf

4.3.  Banyak Kasus

Apabila pilihan aksi yang dilakukan lebih dari dua buah,  maka struktur pemilihan menjadi lebih rumit, dinamakan pemilihan bersarang. Misalkan dibutuhkan pemilihan kondisi percabangan untuk banyak syarat, dan hanya ingin agar kasus hanya memilih salah satu maka dapat ditulis seperti contoh berikut :

If Kondisi_percabangan_1 then

{ proses jika kondisi percabangan 1 terpenuhi }

{end if}

Else if kondisi_percabangan_2 then

{proses jika kondisi percabangan 1 tidak terpenuhi dan kondisi Percabangan 2 terpenuhi }

{end if}

Else if kondisi_percabangan_3 then

{proses jika kondisi percabangan 1 dan 2 tidak terpenuhi dan Kondisi percabangan 3 terpenuhi }

{end if}

Else

{ proses jika kondisi percabangan 1, 2, 3     Tidak terpenuhi }

{end else}

Jika kita ingin melakukan pemeriksaan secara terurut untuk banyak syarat dimana semua syarat harus dilalui oleh semua yang memenuhi syarat atau tidak maka kita dapat membuat percabangan sebagai berikut:

If Kondisi_percabangan_1 then

{proses jika kondisi percabangan 1 terpenuhi }

{end if}

Else if kondisi_percabangan_2 then

{proses jika kondisi percabangan 1 terpenuhi atau tidak terpenuhi

dan kondisi percabangan 2 terpenuhi }

{end if}

Else if kondisi_percabangan_3 then

{proses jika kondisi percabangan 1 dan 2 terpenuhi atau tidak

Terpenuhi dan kondisi percabangan 3 terpenuhi

{end if}

4.4.  Depend On (Dua Kondisi atau Lebih)

Percabangan depend on biasa digunakan untuk dua kondisi atau lebih bergantung pada nilai sebuah variabel, syarat kondisi pada percabangan depend on biasanya hanya sebuah nilai. Deklarasi percabangan depend on adalah sebagai berikut:

depend on (nama-nama)

<kondisi-1> : <aksi-1>

<kondisi-2 > :<aksi-2>

<kondisi-3> : <aksi-3>

kondisi-N : aksi-N

{end depend on}

Tiap kondisi akan diperiksa nilai kebenarannya mulai dari kondisi yang pertama sampai ditemukan kondisi yang bernilai benar.  Jika kondisi k benar, maka aksi k dilaksanakan sedangkan aksi yang lainnya akan diabaikan, dengan syarat :

1.  Kondisi-1,kondisi-2,kondisi-3 … .,kondisi-N domain harganya [true,false]

2. Kondisi-1,kondisi-2,kondisi-3 … .,kondisi-N adalah ekspresi lojik/boolean yang mengandung nama-nama sebagai operan.

Struktur depend on berfungsi untuk menyederhanakan bentuk if then else yang bertingkat-tingkat.  Stuktur depend on diatas ekivalen dengan struktur if then else berikut ini :

If <Kondisi1> then

Aksi1

Else

If <kondisi2> then

Aksi2

Else

If <kondisi3> then

Aksi3

Else

If <kondisiN> then

AksiN

Else

AksiX

EndIf

EndIf

EndIf

EndIf

Download Materi

Leave a Reply