Senin, 30 Januari 2017

Pengulangan

PENGULANGAN
   Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berullang kali tanpa kenal lelah. Ini berbeda dengan manusia yang cepat lelah bila mengerjakan pekerjaan yang sama berulang-ulang. Tidak hanya lelah, tetapi juga cepat bosan.
   Bagaimana menuliskan sebuah kalimat yang sama sebanyak 100 kali ?
   Mungkin pada waktu duduk di sekolah dasar, anda pernah dihukum oleh bapak/ibu guru dengan menuliskan kalimat yang sama sebanyak 100 kali, misalnya karena anda nakal atau tidak membuat PR. Misalkan kalimatya yang harus ditulis sebanyak 100 kali adalah seperti ini:   Bagaimana jika kita menuliskan algoritmanya seperti ini:
   Hmm, tentu saja algoritma di atas tidak elegan, karena instruksi
   Harus ditulis dalam algoritma sebanyak 100 kali! Supaya kita tidak perlu menuliskan aksi yang sama berkali-kali, kita dapat menggunakan notasi pengulangan. Di dalam algoritma terdapat banyak notasi pengulangan yang bisa digunakan, antara lain repeat N times, for, repeat-until, dan while.
   Dengan notasi pertama, repeat N times (yang artinya: ulangi sebanyak N kali), maka algoritmanya dapat kita tulis menjadi:
   Struktur pengulangan ini dapat ditulis secara umum pernyataan-pengulangan:
         repeat N times
            aksi
yang artinya: aksi diulang dikerjakan sebanyak N kali.
   Struktur pengulangan yang mirip dengan repeat N times adalah for:
   yang artinya: aksi dilakukan sebanyak hitungan cacah pengulangan, yaitu dari 1 sampai N (yaitu sebanyak N kali). pencacah pengulangan di-set tidak hanya mulai dari 1, tetapi juga dari sembarang nilai yang lain. Contoh masalah enulisan 100 kalimat dengan notasi for menjadi:

   i adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 100.
Struktur pengulangan yang ketiga adalah repeat-until (repeat artinya “ulangi” dan until ”sampai” atau “hingga”) yang mempunyai bentuk umum senagai berikut:
            repeat
               aksi
            until kondisi
yang artinya adalah pengulangan aksi dilakukan hingga kondisi (persyaratan) berhenti terpenuhi.     Contoh masalah penulisan kalimat 100 kali dengan notasi repeat-until menjadi:


   Contoh yang bagus untuk menjelaskan penggunaan struktur repeat-until adalah pada masalah mencari data alamat dan nomor telepon mahasiswa tertentu, di mana data yang diketahui adalah NIM (nomor induk mahasiswa) mahasiswa tersebut. Misalkan data pribadi mahasiswa disimpan di dalam sebuah tabel. Tabel terdiri atas kolom (field) NIM, nama, alamat, dan nomor telepon. (lihat tabel dibawah ini). setiap baris di tabel kita sebut satu entry. Kita amsusikan tabel sudah berisi sejumlah data mahasiswa (tabel berisi minimal satu entry data).
   Secara tradisional. Kalau kita mencari informasi dari sebuah tabel, maka cara yang lazim kita lakukan adalah membaca setiap entry tabel satu per satu, mulai dari entry baris pertama, terus ke bawah, sampai data yang dicari ditemukan atau seluruh entry tabel sudah habis di telusuri. Algoritma pencarian seperti itu sebagai berikut:

   Algoritma di atas mengandung kelemahan karena pemrograman tidak tahu kapan harus berhenti menuliskan pernyataan kondisional. Dengan kata lain, pemrograman tidak tahu berapa kali pernyataan
harus ditulis samapai data yang dicari ditemukan. Tidak seperti pada struktur repeat N times atau for yang jumlah pengulangan aksi sudah diketahui sebelum pengulangan dilaksanakan, maka kita dapat menggunakan struktur repeat-until jika jumlah pengulangan tidak diketahui di awal. Pengulangan aksi dilakukan sampai ditemukan entry dari NIM yang dicari atau akhir tabel sudah terlampaui. Algoritma pencarian data mahasiswa di dalam dengan struktur repeat-until menjadi seperti di bawah ini:

   Struktur pengulangan yang terakhir adalah while (while artinya “selagi” atau “selama”):
     while kondisi do
            aksi
yang artinya adalah selama kondisi (persyaratan) pengulangan masih benar, maka aksi dikerjakan. Perbedaannya dengan repeat-until, jika pada repeat-until kondisi pengulangan dievaluasi di akhir, maka pada while-do kondisi pengulangan dievaluasi di awal pengulangan.
   Masalah pencarian data di dalam tabel dapat juga ditulis menggunakan struktur while-do ditujukkan pada Algoritma di bawah ini:

Tidak ada komentar:

Adsense