ABSTRAK
Peran dalam suatu perangkat lunak sangat dibutuhkan dalam suatu pemograman dalam
memcahkan suatu permasalahan dalam matematika, sehingga banyak yang dibutuhkan
dalam memahami konsep tersebut sehingga dapat memahami dengan baik serta jelas.
Setiap dalam permasalahan pemograman yang sering akan dihadapi yaitu untuk
menentukan algoritma yang memiliki metode paling singkat dan simple untuk melakukan
dalam sebuah pemograman. Dengan adanya penelitian ini, peneliti melakukan
perbandingan terhadap tiga (3) metode yang dilakukan sebagai proses penelitian kualitatif
serta dapat melakukan uji coba dan sebagai contoh untuk kegiatan sederhana dalam
pemograman. Algoritma ketiga (3) tersebut yaitu: Bubble Sort, Merge Sort dan Quick
Sort.
Kata Kunci: Kompleksitas Algoritma, Bubble Sort, Merge Sort, Quick Sort.
ABSTRACT
The role of software is needed in programming in solving a problem in mathematics, so
much is needed in understanding the concept so that it can understand well and clearly.
Every programming problem that will often be faced is to determine the algorithm that
has the shortest and simplest method to perform in programming. With this research, the
researcher compares the three (3) methods carried out as a qualitative research process
and can conduct trials and as examples for simple activities in programming. the three
(3) algorithms are Bubble Sort, Merge Sort and Quick Sort.
Keywords: Algorithm Complexity, Bubble Sort, Merge Sort, Quick Sort.
1. PENDAHULUAN
Beberapa konteks untuk pemograman menggunakan algoritma sangat memudahkan
untuk melakukan penelitian tertentu yang lebih efisien, serta tepat dalam mengolah data.
Algoritma merupakan metode atau langkah yang direncanakan secara tersusun dan
berurutan untuk menyelesaikan atau memecahkan permasalahan dengan sebuah instruksi
atau kegiatan. Perkembangan ilmu pengetahuan dan teknologi menjadikan manusia
mampu menghasilkan karya-karya yang semakin canggih dan serta kompleks. Meskipun
dengan perkembangannya sebuah komputer dapat menghitung dengan cepat dan hasilnya
maksimal, namun computer tidak bisa menyelesaikan masalah begitu saja tanpa diajarkan
oleh manusia melalui urutan langkah-langkah (algoritma) dalam suatu penyelesaian yang
dapat diindetifikasikan terlebih dahulu. Selain dapat digunakan dalam permasalahan
i=1
-2 45 0 11 -9
i=2
-2 0 45 11 -9
i=3
-2 0 11 45 -9
-2 0 11 -9 45
Membandingkan elemen yang berdekatan.
2. Sisa Iterasi
Proses yang sama berlaku untuk iterasi yang tersisa, setiap iterasi elemen terbesar
diantara elemen yang tidak disortir ditempatkan diakhir.
Step = 1
i=0
-2 0 11 -9 45
i=1
-2 0 11 -9 45
i=2
-2 0 11 -9 45
-2 0 -9 11 45
Letakkan elemen terbesar di akhir.
Dalam setiap iterasi, perbandingan terjadi hingga elemen terakhir yang tidak disortir.
Step = 2
i=0
-2 0 -9 11 45
i=1
-2 0 -9 11 45
-2 -9 0 11 45
Bandingkan elemen yang berdekatan.
Array diurutkan ketika semua elemen yang tidak disortir ditempatkan pada posisi yang
benar.
Step = 3
i=0
-2 -9 0 11 45
-9 -2 0 11 45
Array diurutkan jika semua elemen disimpan dalam urutan yang benar.
bubbleSort(data)
b. Merge Sort
Merge Sort adalah salah satu algoritma pengurutan paling populer yang
didasarkan pada prinsip Algoritma Divide dan Conquer. Permasalahan dibagi menjadi
beberapa sub-masalah. Setiap sub-masalah diselesaikan secara individual. Akhirnya, sub-
masalah digabungkan untuk membentuk solusi akhir [7].
i = 0;
j = 0;
k = p;
def mergeSort(array):
if len(array) > 1:
i=j=k=0
# Driver program
if _name_ == '_main_':
array = [6, 5, 12, 10, 9, 1]
mergeSort(array)
c. Quick Sort
Quick Sort adalah algoritma pengurutan berdasarkan pendekatan membagi dan
menaklukkan di mana array dibagi menjadi sub array dengan memilih elemen pivot
(elemen dipilih dari array). Saat membagi array, elemen pivot harus diposisikan
sedemikian rupa sehingga elemen yang lebih kecil dari pivot disimpan di sisi kiri dan
elemen yang lebih besar dari pivot berada di sisi kanan pivot. Sub array kiri dan kanan
juga dibagi menggunakan pendekatan yang sama. Proses ini berlanjut hingga setiap sub
array berisi satu elemen. Pada titik ini, elemen sudah diurutkan. Akhirnya, elemen
digabungkan untuk membentuk array yang diurutkan [9].
data = [8, 7, 2, 1, 0, 9, 6]
print("Unsorted Array")
print(data)
size = len(data)
quickSort(data, 0, size - 1)
4. KESIMPULAN
Berdasarkan pengujian untuk ketiga algoritma tersebut yang diuji dengan
menggunakan algoritma Bubble Sort dari penyelesaian dapat melakukan hingga 10
kecepatan putaran dan dapat dibandingkan denfan 15 kali pebandingan yang dapat
dirumuskan dengan nilai n dengan n-1 sehingga dapat diurutkan data yang memiliki hasil
yang sangat maksimal. Sedangkan algoritma Quick Sort dapat menyelesaikan secara
rekursif diperoleh dengan hasil rekursif 25 kali.
DAFTAR PUSTAKA
1. J. S. Komputer, N. Arifin, and U. Nasional, “Kombinasi Algoritma Sequential
Searching dan Bubble Sort Pada Manajemen Laboratorium,” vol. 6, no. 3, pp.
294–306, 2022.
2. A. Sonita and F. Nurtaneo, “Analisis Perbandingan Algoritma Bubble Sort, Merge
Sort, Dan Quick Sort Dalam Proses Pengurutan Kombinasi Angka Dan Huruf,”
Pseudocode, vol. 2, no. 2, pp. 75–80, 2016, doi: 10.33369/pseudocode.2.2.75-80.
3. D. Setyantoro and R. A. Hasibuan, “Analisis Dan Perbandingan Kompleksitas
Algoritma Exchange Sort Dan Insertion Sort Untuk Pengurutan Data
Menggunakan Python,” Tekinfo, vol. 21, no. 1, pp. 48–56, 2020, [Online].
Available: https://journals.upi-yai.ac.id/index.php/TEKINFO/article/view/1139.
4. D. S. Rita Wahyuni Arifin, “Algoritma Metode Pengurutan Bubble Sort dan
Quick Dalam Bahasa Pemrograman C++,” Inf. Syst. Educ. Prof., vol. 4, no. 2, pp.
178–187, 2020.
5. M. A. Pratama, A. Desiani, and Irmeilyana, “Analisis Kebutuhan Waktu
Algoritma InsertionSort, Merge Sort, dan Quick Sort denganKompleksitas
Waktu,” Comput. Sci. ICT, vol. ISBN, no. 1, pp. 31–34, 2017.
6. S. Waruwu, A. S. Sembiring, and ..., “Penerapan Algoritma Quick Pivot Sort Dan
Radix Sort Pada Data Buku,” Pelita Inform. …, vol. 8, pp. 254–257, 2019,
[Online]. Available: http://ejurnal.stmik-
budidarma.ac.id/index.php/pelita/article/view/1837.
7. D. R. Poetra, “Performa Algoritma Bubble Sort dan Quick Sort pada Framework
Flutter dan Dart SDK(Studi Kasus Aplikasi E-Commerce),” JATISI (Jurnal Tek.
Inform. dan Sist. Informasi), vol. 9, no. 2, pp. 806–816, 2022, doi:
10.35957/jatisi.v9i2.1886.
8. N. Sari, W. A. Gunawan, P. K. Sari, I. Zikri, and A. Syahputra, “Analisis
Algoritma Bubble Sort Secara Ascending Dan Descending Serta Implementasinya
Dengan Menggunakan Bahasa Pemrograman Java,” ADI Bisnis Digit.
Interdisiplin J., vol. 3, no. 1, pp. 16–23, 2022, doi: 10.34306/abdi.v3i1.625.
9. D. Y. Rizki Saputra, S. Andryana, and I. D. Sholihati, “Analisis Perbandingan
Algoritma Bubble Sort Dan Selection Sort Pada Sistem Pendukung Keputusan
Pemilihan Tempat Kost Berbasis Ios (Iphone Operating System),” JIPI (Jurnal
Ilm. Penelit. dan Pembelajaran Inform., vol. 6, no. 2, pp. 318–324, 2021, doi:
10.29100/jipi.v6i2.2015.