a Operasi bacatulis b Operasi aritmetika +, -, ,
c Operasi pengisian nilai assignment d Operasi pengakasesan elemen larik
e Operasi pemanggilan fungsiprosedur f Dan lain-lain.
Dalam hal kompleksitas waktu yang dihitung adalah jumlah operasi khas tipikal yang mendasari suatu algoritma. Untuk algoritma pengurutan, operasi khas yang
dimaksud adalah perbandingan elemen dan pertukaran elemen. Kompleksitas waktu dibedakan atas tiga jenis, yakni :
1. T
max
n : kompleksitas waktu untuk kasus terburuk worst case, kebutuhan waktu maksimum.
2. T
min
n : kompleksitas waktu untuk kasus terbaik best case,kebutuhan waktu minimum.
3. T
avg
n: kompleksitas waktu untuk kasus rata-rata average case, kebutuhan waktu secara rata-rata.
2.4. Kompleksitas Waktu Asimptotik
Notasi “O” disebut notasi “O-Besar” Big-O adalah merupakan notasi kompleksitas waktu asimptotik. Dalam praktek, nilai Tn yang eksak tidak terlalu penting, yang
lebih penting adalah laju peningkatan Tn ketika n membesar, pada tabel 2.1 berikut akan menunjukkan contoh perbandingan pertumbuhan untuk
1 6
2
2
n
n n
T ,
Tabel 2.1. Perbandingan Pertumbuhan
n T
dengan
2
n
n 1
6 2
2
n
n n
T
2
n
10 100
1000 10.000
261 2.061
2.006.001 2.000.060.001
100 10.000
1.000.000 100.000.000
Universita Sumatera Utara
Untuk n yang besar, pertumbuhan Tn sebanding dengan n, Tn tumbuh seperti n tumbuh. Tn tumbuh seperti n tumbuh saat n bertambah ditulis Tn = On
2
. Notasi
“O” berguna untuk membandingkan beberapa algoritma dari dan untuk masalah yang sama dalam hal menentukan yang terbaik. Semakin kecil nilai O dari suatu algoritma,
maka berarti semakin baik kompleksitas waktu algoritma tersebut Cormen et al,
2001 .
2.5. Kompleksitas Ruang Memori
Kompleksitas ruang memori Sn, diekspresikan sebagai jumlah memori yang digunakan oleh struktur data yang terdapat di dalam algoritma sebagai fungsi dari
ukuran masukan n, dan kompleksitas ruang memori Sn diukur berdasarkan memori yang digunakan oleh struktur data tersebut Cormen et al, 2001.
2.6. Algotima Pengurutan
Dalam ilmu komputer, algoritma pengurutan sorting adalah algoritma yang meletakkan elemen-elemen suatu kumpulan data dalam urutan tertentu atau proses
pengurutan data yg sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan, yang pada kenyataannya urutan tertentu yang umum
digunakan adalah terurut secara numerikal ataupun secara leksikografi urutan secara abjad sesuai kamus. Ada 2 dua jenis pengurutan, yakni secara ascending naik dan
descending turun.
2.7. Klasifikasi Algoritma Pengurutan
Algoritma pengurutan diklasifikasikan menjadi beberapa jenis, yakni : 1. Exchange Sort
Algoritma yang dikategorikan dalam Exchange Sort jika cara kerja algoritma tersebut melakukan pembandingan antar data dan melakukan pertukaran apabila
urutan yang didapat belum sesuai. Contohnya : Bubble sort, Cocktail sort, Comb sort, Gnome sort, Quicksort.
Universita Sumatera Utara
2. Selection Sort Algoritma yang dikategorikan dalam Selection Sort jika cara kerja algoritma
tersebut mencari elemen yang tepat untuk diletakkan pada posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Contohnya
Selection sort, Heap sort, Smooth sort, Strand sort. 3. Insertion Sort
Algoritma yang dikategorikan dalam Insertion Sort jika cara kerja algoritma tersebut mencari tempat yang tepat untuk suatu elemen data yang telah diketahui ke
dalam subkumpulan data yang telah terurut, kemudian melakukan penyisipan insertion data di tempat yang tepat tersebut. Contohnya adalah Insertion sort, Shell
sort, Tree sort, Library sort, Patience sort. 4. Merge Sort
Algoritma yang dikategorikan dalam Merge Sort jika cara kerja algoritma tersebut membagi data menjadi subkumpulan-subkumpulan yang kemudian subkumpulan
tersebut diurutkan secara terpisah, dan kemudian digabungkan kembali dengan metode merging. algoritma ini melakukan metode pengurutan merge sort juga untuk
mengurutkan subkumpulandata tersebut, atau dengan kata lain, pengurutan dilakukan secara rekursif. Contohnya adalah Merge sort.
5. Non Comparison Sort Algoritma yang dikategorikan dalam Non Comparison Sort jika proses pengurutan
data yang dilakukan algoritma tersebut tidak terdapat pembandingan antardata, data diurutkan sesuai dengan pigeon hole principle. Contohnya adalah Radix sort, Bucket
sort, Counting sort, Pigeonhole sort, Tally sort.
2.8. Algoritma SMS Scan, Move and Sort