Kompleksitas Algoritma Growth Fuction Notasi Asimptotik

8 melakukan perulangan dengan melakukan pemanggilan terhadap dirinya sendiri. Contoh algoritma pengurutan yang termasuk dalam skema iteratif, yaitu pengurutan apung bubble sort dan selection sort, Contoh algoritma pengurutan yang termasuk dalam skema rekursif, yaitu pengurutan merge merge sort, pengurutan heap heap sort dan pengurutan cepat quick sort. Tidak semua algoritma tersebut hanya memiliki satu skema, misalnya algoritma pengurutan seleksi atau selection sort yang dapat menggunakan skema rekursif, namun di dalam penelitian ini selection sort yang dibahas menggunakan skema iteratif Fanani 2008.

2.3 Kompleksitas Algoritma

Efisiensi sebuah algoritma tergantung dari beberapa hal, diantaranya adalah :  Kinerja CPU  Kinerja Memori  Kinerja Disk  Kinerja Jaringan Menurut Rao dan Ramses 2012, bahwa Algoritma memiliki kompleksitas yang merupakan acuan utama utama untuk mengetahui kecepatan dari sebuah algoritma. Kompleksitas dibagi menjadi tiga, yaitu: 1. Best case Ω, yaitu kompleksitas algoritma dimana algoritma tersebut berjalan dalam kondisi terbaik. 2. Average case �, yaitu kompleksitas algoritma dimana algoritma tersebut berjalan dalam kondisi sedang, biasanya inputnya secara acak. 3. Worst case Ο, yaitu kompleksitas algoritma dimana algoritma tersebut berjalan dalam kondisi terburuk.

2.4 Growth Fuction

Kinerja sebuah algoritma biasanya di ukur dengan mengacu pada kondisi terburuknya, yaitu worst case yang dilambangkan dengan notasi Big O. Notasi Big O adalah fungsi yang berkaitan dengan kelajuan proses dan kelajuan pertambahan data Suryani 2013. Universitas Sumatera Utara 9 Tabel 1.1 Tabel Notasi Big O Notasi Nama Contoh Aplikasi O1 Konstan Menentukan apakah suatu bilangan ganjil atau genap Olog n Iterasi Logaritmik Algoritma pencarian Hopcraff dan Ullman untuk himpunan disjoint Olog n Logaritmik Pencarian dalam list terurut dengan Binary Search Algorithm Olog n c Polilogaritmik Menentukan bilangan prima dengan AKS primality test On Linear Pencarian dalam list tidak terurut On log n Linearitmik Mengurutkan list dengan Heapsort On 2 Kuadratik Mengurutkan list dengan Insertion Sort On c ,c1 Poliomial Pencarian shortest path dengan algoritma Floyd Warshall Oc n Eksponensia Pencarian solusi untuk traveling salesmen problem On Faktorial Menyelesaikan traveling salesmen problem dengan menggunakan brute force O2 cn Dobel Eksponensial Pencarian himpunan lengkap dari AC-unifiers associative-commutative unifiers Universitas Sumatera Utara 10

2.5 Notasi Asimptotik

Notasi asimptotik digunakan untuk menentukan kompleksitas suatu algoritma dengan melihat waktu tempuh running time sebuah algoritma. Waktu tempuh algoritma merupakan fungsi : N → R suatu algoritma dengan algoritma lainnya. Notasi asimptotik dapat dituliskan dengan beberapa simbol, yaitu :  Notasi Big O, yaitu notasi asimptotik sebuah fungsi algoritma untuk batas atas.  Notasi Little o, yaitu notasi asimptotik sebuah fungsi algoritma untuk batas atas namun tidak secara ketat terikat not asymptotically tight.  Notasi Theta �, yaitu notasi asimptotik sebuah fungsi algoritma untuk batas atas dan bawah.  Notasi Omega , yaitu notasi asimptotik sebuah fungsi algoritma untuk batas bawah, notasi ini berlawanan dengan notasi little-o.

2.6 Algoritma Bucket Sort