Struktur Dasar Algoritma 2

Pemilihan

Adakalanya sebuah aksi dikerjakan jika kondisi tertentu dipenuhi. Contoh:

       jika lampu traffic light berwarna merah, maka

       berhenti

Pernyataan diatas dapat ditulis dalam pernyataan-pemilihan (selection-statement)

       If kondisi then

           aksi

Contoh sehari-hari:

if suhu ruangan di atas 50 0C then

       bunyikan alarm tanda bahaya

       if mobil rusak then

       pakai saja sepeda motor

Pengulangan

Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.

Contoh:

PROGRAM Menulis_Kalimat_500 Kali

Menuliskan kalimat “Saya berjanji  tidak akan nakal dan malas lagi” sebanyak 500 kali.

ALGORITMA:

  1. Tulis “ Saya berjanji tidak akan nakal dan malas lagi”
  2. Tulis “ Saya berjanji tidak akan nakal dan malas lagi”
  3. Tulis “ Saya berjanji tidak akan nakal dan malas lagi”

.

.

499. Tulis “ Saya berjanji tidak akan nakal dan malas lagi”

500. Tulis “ Saya berjanji tidak akan nakal dan malas lagi”

Algoritma diatas kurang efektif, karena instruksi

       Tulis “ Saya berjanji tidak akan nakal dan malas lagi”

Harus dibuat di dalam teks algoritma sebanyak 500 kali. Untuk mengatasi hal ini, kita gunakan struktur pengulangan for-do sehingga algoritma diatas dirubah menjadi:

PROGRAM Menulis_Kalimat_500 Kali

Menuliskan kalimat “Saya berjanji  tidak akan nakal dan malas lagi” sebanyak 500 kali.

ALGORITMA:

for i dari 1 sampai 500 do

      Tulis “ Saya berjanji tidak akan nakal dan malas lagi”

 

Strategi Perancangan Puncak-Turun

Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebih dahulu. Langkah global ini diperhalus sampai ke langkah yang lebih rinci.

Contoh: Misalkan kita punya data yang akan diurut dan data tersebut sudah tersimpan di dalam sebuah tabel. Perancangan algoritma pengurutan dengan pendekatan puncak-turun dimulai dari algoritma secara garis besar terlebih dahulu.

Algoritma untuk pengurutan data adalah:

PROGRAM Pengurutan

Program untuk mengurutkan N elemen tabel sehingga terurut membesar

ALGORITMA:

  1. Cari nilai terbesar di antara N buah elemn data
  2. Tempatkan nilai terbesar tersebut pada posisi yang tepat
  3. Ulangi dari langkah 1 untuk N-1 buah data yang lain

Algoritma pengurutan data yang lebih rinci dapat ditulis sebagai

PROGRAM Pengurutan

Program untuk mengurutkan N elemen tabel sehingga terurut membesar

ALGORITMA:

1.1   asumsikan elemen ke-1 sebagai elemen terbesar sementara (maks)

1.2   while belum mencapai elemen ke-N do

tinjau elemen berikutnya

if elemen ini lebih besar dari maks then

            ganti maks dengan elemen tersebut

2.1     Masukkan elemen ke-N di dalam C (temporary)

2.2     Masukkan maks ke dalam elemen ke-N

2.3     Masukkan C ke dalam tempat maks yang lama

3.1     Kurangi N dengan 1

3.2     Ulangi dari langkah 1.1

Dengan menggunakan notasi while-do, maka langkah 3.2 yang menyatakan pengulangan dari langkah 1.1 sampai langkah 3.1, dapat ditulis menjadi

                while N > 1 do

                1.1

s/d

3.1

Dengan demikian algoritma diatas ditulis kembali menjadi:

PROGRAM Pengurutan

Program untuk mengurutkan N elemen tabel sehingga terurut membesar

ALGORITMA:

while N > 1 do

1.1          asumsikan elemen ke-1 sebagai elemen terbesar sementara (maks)

1.2          while belum mencapai elemen ke-N do

tinjau elemen berikutnya

if elemen ini lebih besar dari maks then

            ganti maks dengan elemen tersebut

2.1          Masukkan elemen ke-N di dalam C (temporary)

2.2          Masukkan maks ke dalam elemen ke-N

2.3          Masukkan C ke dalam tempat maks yang lama

3.1       Kurangi N dengan 1

This entry was posted in Algoritma, Kuliah. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s