PERBANDINGAN BUBBLE SORT, SHELL SORT DAN KOMBINASI BUBBLE SORT DENGAN SHELL SORT

dokumen-dokumen yang mirip
Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

SORTING (PENGURUTAN DATA)

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Gambar 13.1 Ilustrasi proses algoritma sorting

Sorting Algorithms. Definisi

ALGORITMA PENGURUTAN & PENCARIAN

Bubble Sort dan Shell-Sort. Yuliana Setiowati

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Outline STRUKTUR DATA. VII. Sorting

BAB I PENDAHULUAN.

STRUKTUR DATA SORTING ARRAY

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Pengurutan (Sorting) Algoritma Pemrograman

STRUKTUR DATA (3) sorting array. M.Cs

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Algoritma Bubble Sort dan Quick Sort

Sorting Algorithms. Divide and Conquer

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

PENGURUTAN (SORTING) 1. Overview

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Sorting Algorithms. Buble Sort

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Simple Sorting Techniques

Algoritma Sorting (Selection Insertion)

Sorting. Pertemuan ke 14.

Modul 8 SORTING (PENGURUTAN)

Algoritma dan Struktur Data

Algoritma dan Struktur Data. Searching dan Sorting

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

Analisis Algoritma Bubble Sort

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

7. SORTING DAN SEARCHING

Analisis Kecepatan Sorting Dengan Notasi Big O

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

BAB 8 SORTING DAN SEARCHING

BAB 2 LANDASAN TEORI

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

SEARCHING & SORTING. Pendahuluan

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

Modul Praktikum 6 Pemograman Berorientasi Objek

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

Politeknik Elektronika Negeri Surabaya

Powered by icomit.wordpress.com

BAB VI SORTIR ATAU PENGURUTAN

Kompleksitas Algoritma Sorting yang Populer Dipakai

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

CCH1A4 / Dasar Algoritma & Pemrogramanan

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

SORTING. Brigida Arie Minartiningtyas, M.Kom

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Politeknik Elektronika Negeri Surabaya

BAB VI Pengurutan (Sorting)

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Politeknik Elektronika Negeri Surabaya

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

Materi 4: SORTING (PENGURUTAN) Dosen:

MODUL IV PENCARIAN DAN PENGURUTAN

BAB 3 ANALISA SISTEM

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

BAB II TINJAUAN PUSTAKA

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

ANALISIS ALGORITMA INSERTION SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN C++

A. TUJUAN PEMBELAJARAN

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Algoritma dan Struktur Data

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Transkripsi:

PERBANDINGAN BUBBLE SORT, SHELL SORT DAN KOMBINASI BUBBLE SORT DENGAN SHELL SORT 1 1 Program Studi Teknik Komputer, Akademi Manajemen Informatika dan Komputer MDP nur.rachmat@mdp.ac.id Abstrak Data terurut diperlukan untuk pengolahan data. Penggunaan algoritma pengurutan yang tepat dapat mempercepat waktu pengurutan. Shell Sort dan Bubble Sort dapat dikombinasikan untuk mendapatkan algoritma dengan dengan waktu yang lebih baik. Kombinasi dilakukan dengan cara menggunakan dua algoritma secara bergantian. Shell Sort digunakan pada tahap awal kemudian dilanjutkan dengan dengan Bubble Sort. Algoritma pengurutan yang memiliki waktu yang lebih baik dapat dikelompokan berdasarkan jumlah elemen data. Bubble Sort lebih cepat dibandingkan Shell Sort untuk jumlah elemen acak sampai dengan 20. Sedangkan untuk elemen acak 30 sampai dengan 9000, Shell Sort lebih cepat dibandingkan Bubble Sort dan Shell-Bubble Sort untuk semua jumlah elemen acak. Kemudian algoritma Shell-Bubble Sort lebih cepat dibandingankan algoritma Bubble Sort pada jumlah elemen acak 500 sampai dengan 9000. Kata kunci Bubble Sort, Kombinasi, Shell Sort Abstract Ordered Data used to data processing. Using a best sorting algorithm can be reduce sorting time. Shell Sort and Bubble Sort can be combined to get algorithm with best time. Combination do by use two algorithm one by one. Shell Sort use at first then Bubble Sort. Sorting algorithm that has best time can be group based on amount of data. Bubble Sort faster than Shell Sort for 20 data. For 30 until 9000 Shell Sort faster than Bubble Sort and Shell-Bubble Sort. Next Shell-Bubble Sort faster than Bubble Sort in 500 until 9000 data. Keywords Bubble Sort, Combination, Shell Sort I. PNDAHULUAN Perkembangan teknologi ikut mempengaruhi perkembangan informasi. Dengan berkembangnya informasi mengakibatkan jenis data yang beragam pula. Informasi diperoleh dengan melakukan pengolahan data. Pada pengolahan data diperlukan tahapan yang sering disebut preprocessing salah satunya yaitu pengurutan data. Pengurutan data diperlukan untuk memudahkan pengolahan data. Algoritma yang digunakan untuk pengurutan data diantara lain yaitu Bubble Sort dan Shell Sort. Bubble Sort merupakan algoritma yang terinspirasi dari prinsip gelembung. Gelembung timbul kepermukaan air dikarenakan mengandung udara. Gelembung memiliki massa yang lebih kecil sehingga naik ke permukaan. Hal ini yang mendasari prinsip Bubble Sort. Elemen terkecil akan diletakkan di bagian teratas atau terbawah tergantung dari apakah diurutkan secara ascending atau descending. Shell Sort merupakan hasil dari generalisasi algoritma Insertion Sort. Shell Sort merupakan perbaikan dari Insertion Sort. Perbaikan yang dilakukan dengan mengizinkan perbandingan dan penukaran dilakukan pada bagian yang terjauh. Langkah terakhir dari Shell Sort adalah seperti Insertion Sort biasa. Algoritma pengurutan memiliki kelebihan dan kelemahan masing-masing. Tidak semua algoritma bisa digunakan untuk semua permasalahan pengurutan. Pada penelitian yang dilakukan [1] beberapa algoritma pengurutan dibandingkan berdasarkan jumlah data. Shell Sort merupakan algoritma yang dapat digunakan untuk mengurutkan data dalam jumlah besar. Pada penelitian yang dilakukan oleh [2] Bubble Sort dapat juga dipilih sebagai STMIK MUSIRAWAS Lubuklinggau 59

algoritma pengurutan yang memiliki polapola tertentu. Terdapat penelitian yang membahas bagaimana melakukan perbaikan algoritmaalgoritma pengurutan seperti yang dilakukan [3] dengan memperbaiki Bubble Sort, Shell Sort dan Selection Sort. Hasil yang didapat bahwa algorima hasil perbaikan memiliki kecepatan yang lebih baik. Pada penelitian yang dilakukan [4] salah satunya juga melakukan perbaikan terhadap Bubble Sort. Pada penelitian yang dilakukan [5] algoritma Quick Sort dan Merge Sort dikombinasikan dengan Insertion Sort. Hasil penelitian tersebut menunjukkan bahwa hasil kombinasi memiliki kecepatan yang lebih baik terhadap algoritma biasa. Di penelitian yang lain juga dilakukan [6] Merge Sort dan Quick Sort dikombinasikan dengan Insertion Sort, Merge Sort dan Selection Sort. Hasil penelitian menunjukkan bahwa hasil kombinasi juga mengungguli algoritma pengurutan biasa. Pada penelitian yang dilakukan, algoritma Shell Sort dan Bubble Sort akan dikombinasikan untuk menghasilkan algoritma yang bisa memiliki kecepatan yang lebih baik. Proses kombinasi dilakukan dengan melakukan penggantian bagian akhir dari Shell Sort dengan Bubble Sort. Pada langkah awal Shell Sort dipilih untuk mengurutkan data lalu dilanjutkan dengan Bubble Sort. II. TINJAUAN PUSTAKA Algoritma pengurutan melakukan sorting dari elemen terkecil ke terbesar atau sebaliknya. Algoritma sorting menghasilkan output daftar elemen yang terurut. Untuk mengurutkan elemen, dibutuhkan struktur data yang digunakan untuk menyimpan elemen-elemen tersebut. Berbagai struktur data yang biasanya digunakan algoritma pengurutan antara lain array, linked list, stack, dan lain-lain. Adapun algoritma pengurutan yang dibahas pada penelitian ini antara lain Bubble Sort, Shell Sort dan kombinasi antara Bubble Sort dengan Shell Sort. 2.1 Bubble Sort Bubble sort merupakan algoritma pengurutan yang paling umum. Bubble Sort dikenal tidak efisien dikarenakan setiap elemen dibandingkan mulai dari elemen awal sampai dengan akhir elemen secara berulang, sehingga Bubble Sort membutuhkan waktu yang lebih lama untuk mendapatkan hasil elemen yang terurut. Contoh algoritma Bubble Sort dapat dilihat pada Gambar 1. Jumlah elemen acak pada contoh algoritma Bubble Sort adalah 8 elemen. Gambar 1. Contoh Algoritma Bubble Sort 2.2 Shell Sort Shell Sort diusulkan oleh Donald L. Shell. Shell Sort hampir sama dengan Insertion Sort, yang membedakan antara Shell Sort dengan Insertion Sort adalah jumlah perbandingan elemen. Perbandingan elemen pada Shell Sort dibagi menjadi beberapa tahap. Tahapan yang diusulkan oleh Donald L. Shell antara lain sequence [N/2], [N/4], dan [N/8]. [7] 2.2.1 Tahapan N/2 Pada tahap ini, elemen yang dibandingkan adalah elemen pertama dengan elemen yang memiliki jarak (N/2). Dimana N adalah jumlah elemen yang ada. Proses pada tahap ini berlangsung sampai dengan elemen yang dibandingkan memiliki jarak sama dengan N. STMIK MUSIRAWAS Lubuklinggau 60

Gambar 2. Tahap N/2 Algoritma Shell Sort [7] 2.2.2 Tahapan N/4 Pada tahap ini, jarak elemen yang dibandingkan diperkecil menjadi (N/4) atau setengah dari jarak pada tahap 1. Sama seperti tahap 1, proses pada tahap 2 berlangsung sampai dengan elemen yang dibandingkan memiliki jarak sama dengan N. Gambar 4. Tahap N/8 Algoritma Shell Sort [7] III. METODOLOGI PENELITIAN Pada bagian ini dilakukan pembahasan mengenai kombinasi algoritma Shell Sort dengan Bubble sort. Pada kombinasi algoritma Shell Sort dengan Bubble Sort ini dilakukan 2 tahapan yaitu diawali dengan pengurutan menggunakan Shell Sort dan dilanjutkan pengurutan menggunakan Bubble Sort. Data yang digunakan dalam eksperimen ini diperoleh dari hasil pengacakan. Gambar 3. Tahap N/4 Algoritma Shell Sort [7] 2.2.3 Tahapan N/8 Pada tahap ini, jarak elemen yang dibandingkan diperkecil kembali menjadi setengah dari jarak pada tahap sebelumnya yaitu (N/8). 3.1 Tahap 1 Pengurutan Shell Sort Pada tahap ini pengurutan elemen acak menggunakan algoritma Shell Sort dengan jarak elemen yang dibandingkan adalah 3 elemen, lebih sedikit daripada algoritma Shell Sort yang diusulkan oleh Donald L. Shell yang membandingkan elemen dengan jarak N/2 elemen pada pengurutan tahap 1. Pengurangan jarak elemen yang dibandingkan ini dengan tujuan dapat mempercepat proses pengurutan elemen acak. Berikut adalah ilustrasi pengurutan elemen menggunakan algoritma Shell Sort dengan perbandingan memiliki jarak 3 elemen. STMIK MUSIRAWAS Lubuklinggau 61

Gambar 5. Tahap 1 Pengurutan Elemen dengan Jarak 3 Elemen Berikut ini adalah algoritma dari Shell Sort dengan jarak 3 elemen yang ditampilkan pada algoritma 1. public static void shellbubblesort(int[] A) //Shell Sort k=3 int n, c, d, swap; int incr = 3; while (incr > 0) for (int i = incr; i < A.length; i++) int j = i; int temp = A[i]; while (j >= incr && A[j - incr] > temp) A[j] = A[j - incr]; j = j - incr; A[j] = temp; if (incr == 2) incr = 1; else incr *= 2; // bubblesort(a) Algoritma 1. Algoritma Shell Sort k=3 3.2 Tahap 2 Pengurutan dengan Bubble Sort Pada tahap sebelumnya, elemen acak yang diurutkan menggunakan algoritma Shell Sort dengan jarak 3 elemen yang dibandingkan sudah hampir terurut. Kemudian pada tahap ini dilakukan pengurutan kembali menggunakan algoritma Bubble Sort untuk mendapatkan elemen yang terurut. Berikut adalah ilustrasi pengurutan elemen menggunakan algoritma Bubble Sort. Gambar 6. Tahap 2 Pengurutan dengan Bubble Sort Berikut ini adalah algoritma dari Bubble Sort yang ditampilkan pada algoritma 2. public static void bubblesort(int[] A) int n, c, d, swap; n = A.length; c = 0; for (c = 0; c < ( n - 1 ); c++) for (d = 0; d < n - c - 1; d++) if (A[d] > A[d+1]) swap = A[d]; A[d] = A[d+1]; A[d+1] = swap; Algoritma 2. Algoritma Bubble Sort Setelah dilakukan kombinasi algoritma Shell Sort dan Bubble Sort, untuk menghitung waktu pengurutan algoritma digunakan fungsi nanotime() yang tersedia di bahasa pemrograman Java. Adapun langkah untuk menghitung waktu pengurutan algoritma pada bahasa pemrograman Java adalah sebagai berikut: 1. Inisialisasi waktu mulai Sebelum pengurutan dimulai, set inisialisasi waktu mulai untuk mendapatkan waktu dimulainya proses algoritma dengan cara menambahkan kode berikut. long mulai = System.nanoTime(); 2. Lakukan pengurutan menggunakan algoritma Shell-Bubble Sort 3. Hitung waktu selesai pengurutan Setelah algoritma shell-bubble sort selesai diproses, catat waktu selesai STMIK MUSIRAWAS Lubuklinggau 62

dengan cara menambahkan kode berikut. long selesai = System.nanoTime() mulai; 4. Tampilkan waktu pengurutan Untuk menampilkan waktu pengurutan algoritma Shell-Bubble Sort menggunakan kode system.out.println(selesai); IV. HASIL DAN PEMBAHASAN Pada tahap ini dilakukan pengujian algoritma Bubble Sort, Shell Sort dan kombinasi dari Shell-Bubble Sort. Pengujian dilakukan pada notebook dengan prosessor Intel(R) Core(TM) i5-4210u CPU @ 1.70GHz (4 CPUs), memori 4096 MB RAM, sistem operasi Windows 8.1 Pro 64-bit dan menggunakan software NetBeans IDE 8.0.2. Adapun cara pengujian algoritma Bubble Sort, Shell Sort dan kombinasi dari Shell- Bubble Sort adalah dengan memberikan elemen acak yang berjumlah 10, 20, 30, 40, 50, 100, 500, 1000, 5000 dan 9000. Dari pengujian yang dilakukan didapat hasil sebagai berikut: Tabel 1. Hasil Pengujian Algoritma Bubble Sort dan Shell Sort Jumlah Shell Sort Bubble Sort (ns) Elemen (ns) 10 12.830 22.238 20 32.930 37.206 30 82.964 53.457 40 115.466 69.707 50 257.020 90.235 100 750.104 182.181 500 24.471.206 1.182.035 1000 40.353.841 1.906.908 5000 1.912.810.797 13.315.856 9000 5.670.408.495 23.396.084 Tabel 1 menunjukkan kecepatan algoritma Bubble Sort. Jumlah elemen 10 dan 20 memiliki waktu proses lebih cepat daripada algoritma Shell Sort. Sedangkan untuk jumlah elemen 30 sampai dengan 9000, algoritma Shell Sort lebih cepat daripada algoritma Bubble Sort. Tabel 2. Hasil Pengujian Algoritma Bubble Sort dan Shell-Bubble Sort Shell-Bubble Jumlah Bubble Sort Sort Elemen (ns) (ns) 10 12.830 48.325 20 32.930 74.840 30 82.964 122.736 40 115.466 153.955 50 257.020 345.544 100 750.104 936.134 500 24.471.206 17.624.896 1000 40.353.841 29.188.655 5000 1.912.810.797 111.313.582 9000 5.670.408.495 316.921.406 Tabel 2 menunjukkan kecepatan algoritma Bubble Sort. Jumlah elemen 10 sampai dengan 100 memiliki waktu proses lebih cepat daripada algoritma Shell-Bubble Sort. Sedangkan untuk jumlah elemen 500 sampai dengan 9000, algoritma Shell- Bubble Sort lebih cepat daripada algoritma Bubble Sort. Tabel 3. Hasil Pengujian Algoritma Shell Sort dan Shell-Bubble Sort Jumlah Shell Sort Shell-Bubble Elemen (ns) Sort (ns) 10 22.238 48.325 20 37.206 74.840 30 53.457 122.736 40 69.707 153.955 50 90.235 345.544 100 182.181 936.134 500 1.182.035 17.624.896 1.000 1.906.908 29.188.655 5.000 13.315.856 111.313.582 9.000 23.396.084 316.921.406 Tabel 3 menunjukkan kecepatan algoritma Shell Sort. Jumlah elemen 10 sampai dengan 9000 memiliki waktu proses lebih cepat daripada algoritma Shell-Bubble Sort. Dari hasil pengujian algoritma Bubble Sort, Shell Sort dan Shell-Bubble Sort yang menggunakan elemen acak dengan jumlah input yang sama, menunjukkan bahwa STMIK MUSIRAWAS Lubuklinggau 63

algoritma Bubble Sort lebih cepat daripada Shell Sort pada jumlah elemen acak 10 sampai 20 dan Shell-Bubble sort pada jumlah elemen acak 10 sampai 100. Sedangkan pada jumlah elemen acak 30 sampai 9.000, algoritma Shell Sort lebih cepat dibandingkan algoritma Bubble Sort dan algoritma Shell-Bubble Sort pada semua jumlah elemen acak. Algoritma Shell- Bubble Sort lebih cepat dari elemen Bubble Sort pada jumlah elemen acak 500 sampai dengan 9.000. V KESIMPULAN Dari pengujian yang telah dilakukan dapat disimpulkan bahwa algoritma Bubble Sort lebih cepat dibandingkan Shell Sort untuk jumlah elemen acak sampai dengan 20. Sedangkan untuk elemen acak 30 sampai dengan 9000, Shell Sort lebih cepat dibandingkan Bubble Sort dan Shell-Bubble Sort untuk semua jumlah elemen acak. Kemudian algoritma Shell-Bubble Sort lebih cepat dibandingankan algoritma Bubble Sort pada jumlah elemen acak 500 sampai dengan 9.000. [4] M. Khairullah, Enhancing Worst Sorting Algorithms, Int. J. Adv. Sci. Technol., vol. 56, pp. 13 26, 2013. [5] M. E. Al Rivan, Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort, in ANNUAL RESEARCH SEMINAR 2016, 2016, vol. 2, no. 1, pp. 6 10. [6] M. E. Al Rivan, Perbandingan Kecepatan Gabungan Algoritma Utama Quick Sort dan Merge Sort dengan Algoritma Tambahan Insertion Sort, Bubble Sort dan Selection Sort, J. Tek. Inform. dan Sist. Inf., vol. 3, no. 2, pp. 319 331, 2017. [7] A. Azeta and C. Ayo, Improved Shellsort for the Worst-Case, the Best- Case and a Subset of the Average-Case Scenarios, J. Comput. Sci. Its Appl., vol. 14, no. 2, 2007. VI SARAN Adapun saran yang ingin penulis sampaikan yaitu dengan menambahkan jumlah elemen > 9.000 dan jarak spasi pertukaran elemen pada pengujian untuk melihat kinerja dari algoritma Bubble Sort, Shell Sort dan Shell-Bubble Sort dengan jumlah elemen > 9.000. VII DAFTAR PUSTAKA [1] D. T. V. D. Rao and B. Ramesh, Experimental Based Selection of Best Sorting Algorithm, Int. J. Mod. Eng. Res., vol. 2, no. 4, pp. 2908 2912, 2012. [2] Y. Yang, P. Yu, and Y. Gan, Experimental study on the five sort algorithms, 2011 2nd Int. Conf. Mech. Autom. Control Eng. MACE 2011 - Proc., pp. 1314 1317, 2011. [3] J. Alnihoud and R. Mansi, An enhancement of major sorting algorithms, Int. Arab J. Inf. Technol., vol. 7, no. 1, pp. 55 62, 2010. STMIK MUSIRAWAS Lubuklinggau 64