Analisis Perbandingan Algoritma QuickSort, 3 Way QuickSort, dan RadixSort
BAB 1
PENDAHULUAN
1.1.
Latar Belakang
Sorting atau pengurutan merupakan proses mengatur susunan data menurut kriteria
tertentu. Meskipun sepertinya hanya sebuah masalah klasik, pengurutan memiliki
peranan penting dalam mengolah data. Dengan adanya metode pengurutan ini, data
yang disajikan secara acak dapat disusun dengan teratur.
Data merupakan informasi yang telah diterjemahkan ke dalam bentuk yang
lebih sederhana untuk melakukan suatu proses. Pencarian informasi yang berjumlah
besar dalam waktu yang cepat sangat dibutuhkan sebagai upaya efisiensi waktu.
Untuk mengurutkan data tersebut, algoritma sorting merupakan metode yang
mampu menyelesaikannya. Algoritma pengurutan ini dapat diklasifikasikan
berdasarkan teknik proses pengurutan data, yaitu: Divide and Conquer dan bukan
Divide and Conquer. Secara kompleksitas waktu, RadixSort termasuk ke dalam
Divide and Conquer. Namun dari segi algoritma untuk melakukan proses pengurutan,
RadixSort tidak termasuk dalam Divide and Conquer. Sedangkan QuickSort dalam
melakukan proses pengurutan data menggunakan teknik Divide and Conquer.
Divide and Conquer adalah teknik pemecahan masalah dengan membagi dan
menggabungkan. Membagi masalah menjadi bagian yang lebih kecil, kemudian
menyelesaikan masalah yang telah dibagi tersebut secara independen, lalu
menggabungkan solusi dari masalah yang telah diselesaikan tersebut menjadi solusi
dari masalah semula. Algoritma RadixSort adalah algoritma sorting yang cepat, unik,
dan efektif dan algoritma QuickSort memiliki proses yang cepat dan mudah
diimplentasikan. Dengan memanfaatkan kelebihan dari kedua jenis algoritma tersebut,
maka penulis ingin menganalisis kompleksitas waktu algoritma sorting tersebut
(QuickSort dan RadixSort) terhadap penelitian penulis.
Universitas Sumatera Utara
2
Namun, untuk algoritma QuickSort, penulis ingin menganalisis satu algoritma
lainnya dari Quick Sort, yakni 3 Way QuickSort yang lebih unggul dalam pengurutan
data yang duplikat. Berdasarkan hal yang telah dipaparkan, maka penulis memilih
judul “Analisis Perbandingan Algoritma QuickSort, 3 Way QuickSort, dan
RadixSort. ”
1.2.
Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah bagaimana merancang program
pengurutan untuk menganalisis kompleksitas waktu dari algoritma QuickSort, 3 Way
QuickSort, dan RadixSort pada pengurutan string.
1.3.
Batasan Masalah
Adapun batasan masalah pada penelitian ini adalah:
1.
Hanya membahas mengenai algoritma QuickSort, 3 Way QuickSort dan
RadixSort dalam pengurutan string
2.
Hanya menganalisis perbandingan kompleksitas waktu (big-O) algoritma
QuickSort, 3 Way QuickSort dan RadixSort
3.
Data yang digunakan merupakan data yang dibangkitkan secara acak berupa
string (kombinasi huruf dan angka) dengan 6 karakter
4.
Pengurutan data acak dengan data
PENDAHULUAN
1.1.
Latar Belakang
Sorting atau pengurutan merupakan proses mengatur susunan data menurut kriteria
tertentu. Meskipun sepertinya hanya sebuah masalah klasik, pengurutan memiliki
peranan penting dalam mengolah data. Dengan adanya metode pengurutan ini, data
yang disajikan secara acak dapat disusun dengan teratur.
Data merupakan informasi yang telah diterjemahkan ke dalam bentuk yang
lebih sederhana untuk melakukan suatu proses. Pencarian informasi yang berjumlah
besar dalam waktu yang cepat sangat dibutuhkan sebagai upaya efisiensi waktu.
Untuk mengurutkan data tersebut, algoritma sorting merupakan metode yang
mampu menyelesaikannya. Algoritma pengurutan ini dapat diklasifikasikan
berdasarkan teknik proses pengurutan data, yaitu: Divide and Conquer dan bukan
Divide and Conquer. Secara kompleksitas waktu, RadixSort termasuk ke dalam
Divide and Conquer. Namun dari segi algoritma untuk melakukan proses pengurutan,
RadixSort tidak termasuk dalam Divide and Conquer. Sedangkan QuickSort dalam
melakukan proses pengurutan data menggunakan teknik Divide and Conquer.
Divide and Conquer adalah teknik pemecahan masalah dengan membagi dan
menggabungkan. Membagi masalah menjadi bagian yang lebih kecil, kemudian
menyelesaikan masalah yang telah dibagi tersebut secara independen, lalu
menggabungkan solusi dari masalah yang telah diselesaikan tersebut menjadi solusi
dari masalah semula. Algoritma RadixSort adalah algoritma sorting yang cepat, unik,
dan efektif dan algoritma QuickSort memiliki proses yang cepat dan mudah
diimplentasikan. Dengan memanfaatkan kelebihan dari kedua jenis algoritma tersebut,
maka penulis ingin menganalisis kompleksitas waktu algoritma sorting tersebut
(QuickSort dan RadixSort) terhadap penelitian penulis.
Universitas Sumatera Utara
2
Namun, untuk algoritma QuickSort, penulis ingin menganalisis satu algoritma
lainnya dari Quick Sort, yakni 3 Way QuickSort yang lebih unggul dalam pengurutan
data yang duplikat. Berdasarkan hal yang telah dipaparkan, maka penulis memilih
judul “Analisis Perbandingan Algoritma QuickSort, 3 Way QuickSort, dan
RadixSort. ”
1.2.
Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah bagaimana merancang program
pengurutan untuk menganalisis kompleksitas waktu dari algoritma QuickSort, 3 Way
QuickSort, dan RadixSort pada pengurutan string.
1.3.
Batasan Masalah
Adapun batasan masalah pada penelitian ini adalah:
1.
Hanya membahas mengenai algoritma QuickSort, 3 Way QuickSort dan
RadixSort dalam pengurutan string
2.
Hanya menganalisis perbandingan kompleksitas waktu (big-O) algoritma
QuickSort, 3 Way QuickSort dan RadixSort
3.
Data yang digunakan merupakan data yang dibangkitkan secara acak berupa
string (kombinasi huruf dan angka) dengan 6 karakter
4.
Pengurutan data acak dengan data