Dasar Penyusunan Algoritma Kompleksitas Waktu

3. Repetition Structure Struktur Perulangan Struktur perulangan adalah struktur dasar algoritma di mana instruksi akan dieksekusi secara berulang-ulang apabila memenuhi atau tidak memenuhi suatu kondisi. Gambar 2.5. menggambarkan algoritma yang berstruktur percabangan, jika kondisi terpenuhi maka akan berulang sampai kondisi tidak terpenuhi. Gambar 2.6. Struktur Perulangan

2.1.3. Dasar Penyusunan Algoritma

Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip anda mempunyai kebebasan untuk menyusun algoritma. Anda dapat menggunakan kata-kata dalam bahasa manusia ataupun flowchart untuk mewujudkan suatu algoritma. Walaupun begitu ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma. Menurut Knuth yang terkutip dalam Kadir,2005:42, ada lima ciri penting yang harus dimiliki sebuah algoritma, yaitu berupa finiteness, definiteness, masukan, keluaran, dan efektifitas. F T Kondisi Prosedur 1. Finiteness, menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah. 2. Definiteness, menyatakan setiap langkah harus dinyatakan dengan jelas tidak rancu atau mendua-arti. 3. Masukan, setiap algoritma dapat tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan diawal sebelum algoritma diproses. 4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan. 5. Efektifitas, setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam algoritma dapat dikerjakan oleh orang hanya dengan menggunakan kertas dan pensil. Sebuah algoritma dikatakan benar, untuk beragam masukan, jika algoritma berakhir dengan keluaran yang benar. Pada keadaan ini algoritma menyelesaikan masalah komputasi yang diberikan. Cormen,2002:6.

2.1.4. Kompleksitas Waktu

Kompleksitas waktu adalah lamanya waktu tempuh sebuah algoritma. Terdapat tiga keadaan yang bisa muncul selama masa tempuh algoritma yaitu worst case, average case, best case. Penjelasan masing- masing kompleksitas adalah sebagai berikut : 1. Worst Case Merupakan waktu tempuh yang bernilai maksimum dari suatu fungsi fn untuk setiap input yang mungkin. Keadaan ini disebut sebagai keadaan terburuk dari sebuah algoritma. 2. Average Case Merupakan seuatu keadaan dari waktu tempuh yang ekivalen dengan nilai suatu fungsi fn. 3. Best Case Merupakan waktu tempuh yang bernilai minimum dari suatu fungsi fn untuk setiap input yang mungkin. Keadaan ini disebut keadaan terbaik dari sebuah proses algoritma dalam menyelesaikan masalah.

2.2. DYNAMIC PROGRAMMING