9
2.3. Running Time
Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat
algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat
komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai.
2.4. Pengurutan
Pengurutan merupakan proses yang menyusun kembali rentetan objek-objek untuk meletakkan objek dari suatu kumpulan data ke dalam urutan yang logis. Pada
dasarnya, pengurutan sorting membandingkan antar data atau elemen berdasarkan kriteria dan kondisi tertentu.
[4]
Ada dua jenis pengurutan, yakni secara ascending naik dan descending turun.
Ada dua kategori pengurutan, yaitu: 1. Pengurutan internal
Pengurutan internal adalah pengurutan yang dilaksanankan hanya dengan menggunakan memori komputer, pada umumnya digunakan bila jumlah elemen
tidak terlalu banyak. 2. Pengurutan eksternal
Pengurutan eksternal adalah pengurutan yang dilaksanakan dengan bantuan memori virtual atau harddisk karena jumlah elemen yang akan diurutkan terlalu
banyak.
2.5. Klasifikasi Algoritma Pengurutan
Algoritma pengurutan diklasifikasikan berdasarkan prosesnya 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 adalah bubble sort,
cocktail sort, comb sort, gnome sort, quick sort.
Universitas Sumatera Utara
10
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 adalah 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 pembanding
antar data, data diurutkan sesuai dengan pigeon hole principle. Contohnya adalah radix sort, bucket sort, counting sort, pigeonhole sort, tally sort.
2.6. Algoritma QuickSort