Kompleksitas Waktu Asimptotik Kompleksitas Ruang Memori Algotima Pengurutan Klasifikasi Algoritma Pengurutan

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