Anda di halaman 1dari 4

METODE SORTING QUICK SORT DALAM BAHASA PEMROGRAMAN C++

Santa Maria Sopiana Silalahi


Program study Teknik Informatika, STIKOM Pematangsiantar
Jl. Jend. Sudirman Blok A No. 1-3 Pematangsiantar
Email : santasilalahi14@gmail.com

ABSTRAK

Dalam dunia teknologi masa kini, perkembangan ilmu pengetahuan dan teknologi berkembang pesat dan
mulai menghasilkan inovasi-inovasi terbaru. Sorting (pengurutan data) adalah salah satu operasi yang
sangat penting dalam pengolahan data. Algoritma berperan penting dalam dunia pemrograman, sehingga
diperlukan pemahaman dalam konsep dasar pada algoritma. Banyak metode algoritma yang dapat
digunakan dalam penyelesaian suatu permasalahan, baik untuk kasus umum maupun kasus yang lebih
spesifik atau khusus. Masing-masing algoritma memiliki tingkat efektivitas yang berbeda. Keefktivitasan
algoritma diukur dari berapa banyak ruang(memori) dan waktu yang digunakan untuk menjalankannya.
Apabila semakin sedikit ruang dan waktu yang digunkan maka semakin efektif. Masalah pengurutan
sering muncul dalam dunia pemrograman komputer. Banyak metode pengurutan yang dikembangkan dan
ditingkatkan sehingga pengurutan lebih cepat, salah satunya metode Quick Sort. Metode Quick Sort
merupakan metode tercepat dalam pengurutan data.

Kata Kunci : Algoritma, Quick Sort, Data

ABSTRAC
In today’s world of technology, the development of science and technology is growing rapidly
and starting to produce the latest innovations. Sorting is one of the most important operations in
data processing. Algorithms play an important role in the programming world, so an
understanding of the basic concepts of algorithms is needed. Many algorithmic methods can be
used in solving a problem, both for general cases and for more specifik or special cases. Each
algorithm has a different level of effectiveness. The effectiveness of the algorithm is measured by
how muckh space(memory) and time it takes to run it. The less space and time that is used, the
more effective it is. Sequencing problems often arise in the world of computer programming.
Many sorting methods have been developed and improved so that sorting is faster, one of which
is the Quick Sort method. Quick Sort method is the fasted method in sorting data.

Keyword : Quick Sort, Data, Algorithm.

PENDAHULUAN

Pemanfaatan ilmu pengetahuan dan dan efisien. Kebutuhan jumlah ruang dan waktu
teknologi yang berkembang pesat menghasilkan bergantung pada jumlah data yang akan di proses.
inovasi baru harus diseimbangkan dengan Dalam program studi informatika terdapat
kemampuan beradaptasi dengan teknologi tersebut. banyak jenis-jenis algoritma pengurutan yang
Seiiring dengan perkembangan teknologi tersebut, dapat digunakan. Contoh pengurutan data yang
perkembangan jumlah data juga semakin sering dijumpai seperti pengurutan data
bertambah, sehingga dibutuhkan cara pengolahan mahasiswa, nomor absen, nilai, dan banyak lagi.
data yang efektif dan efisien. Pada dasarnya, terdapat dua jenis
Disinilah algoritma berperan penting pengurutan (sorting) data yaitu, pengurutan data
dalam pengurutan data. Algoritma yang baik akan dari yang terkecil hingga yang terbesar (ascending)
menghasilkan output yang baik, terstruktur, efektif dan pengurutan data menurun, yaitu pengurutan
dari yang terbesar hingga yang terkecil devide-and-conqueror. Untuk mempertinggi
(descending). efektifitas dari metode ini, digunakan teknik
Dalam penulisan ini, penulis menggunakan menukarkan dua elemen dengan jarak yang
metode Quick Sort sebagai percobaan dan cukup besar.
mengaplikasikannya dalam bahasa pemrograman Algoritma ini mengamil salah satu elemen
C++. acak yang disebut dengan pivot lalu menyimpan
semua elemen yang lebih kecil di sebelah kiri pivot
METODE PENELITIAN dan elemen yang besar di sebelah kanan pivot. Hal
ini dilakukan secara rekursif sampai semua elemen
Metode penelitian yang digunakan penulis telah berurut.
adalah pengumpulan data dari berbagai jurnal dan Algoritma Quick Sort :
pencarian di internet yang membahas tentang  Pilih salah satu elemen secara acak, bebas
metode pengurutan data (sorting). disebelah kiri, kanan atau tengah.
Setelah itu penulis melakukan percobaan  Pindahkan semua elemen yang lebih kecil
atau simulasi menggunakan bahasa C++ guna ke sebelah kiti dan yang lebih besar ke
mengimplementasikan dan mendapatkan hasil kanan pivot. Apabila elemen bernilai
yang diinginkan. sama, bisa disimpan di kiri atau kanan.
 Setelah itu lakukan sort secara rekursif
terhadap sub-array sebelah kiri dan sebalah
PEMBAHASAN kanan pivot.
A. Algoritma Quick Sort Contoh program pengurutan data dengan quick sort
dalam bahasa program C++:
Menurut Saputra, dkk (2010:1) menjelaskan
bahwa algoritma adalah deretan instruksi yang #include<bits/stdc++.h>
jelas untuk memecakan masalah, yaitu untuk using namespace std;
memperoleh keluaran yang diinginkan dari int partition(int *a,int start,int end)
suatu masukan. {
Menurut Yahya (2014:135) Sorting adalah int pivot=a[end];
proses pengurutan data yang sebelumnya
disusun secara acak atau tidak teratur menjadi
urut dan teratur menurut suatu aturan tertentu. int P_index=start;
Menurut Saputra, dkk (2010:1) juga int i,t;
menjelaskan bahwa algoritma sorting
didefinisikan sebagai algoritma pengurutan
for(i=start;i<end;i++)
sejumlah data berdasarkan nilai kunci tertentu.
{
Pengurutan dapat dilakukan dari nilai terkecil
if(a[i]<=pivot)
ke nilai terbesar (ascending) atau sebaliknya
{
(descending).
t=a[i];
algoritma Quick Sort merupakan algoritma
a[i]=a[P_index];
yang membandingkan suatu elemen (pivot) dengan
a[P_index]=t;
elemen yang lain dan menyusunnya sedemikian
P_index++;
rupa sehingga elemenelemen lain yang lebih kecil
}
daripada pivot tersebut terletak di sebelah kirinya
}
dan elemenelemen lain yang lebih besar daripada
pivot tersebut terletak di sebelah kanan. Sehingga
t=a[end];
dengan demikian telah terbentuk dua sublist kiri
a[end]=a[P_index];
dan sublist kanan dari pivot.
a[P_index]=t;
Quick Sort merupakan pengurutan data yang
menggunakan pemecahan data menjadi partisi-
partisi, sehingga metode quick sort ini dapat juga
disebut dengan partition exchange sort. return P_index;
Metode ini diperkenalkan pertama kali }
void Quicksort(int *a,int start,int end)
oleh C.A.R. Hoare pada tahun 1962. Quick
{
Sort adalah algoritma sorting dengan metode
if(start<end)  Merupakan metode yang paling tercepat
{ dalam menyelesaikan permasalahan
int P_index=partition(a,start,end); pengurutan data.
Quicksort(a,start,P_index-1);  Dapat melakukan proses langsung pada
Quicksort(a,P_index+1,end); input (in-place) dengan tambahan sedikit
} ruang atau memori.
}  Bekerja dengan baik dalam berbagai jenis
int main() input data baik berupa angka maupun
{ huruf.
int n;
cout<<"Masukkan jumlah data: "; Kekurangan dari quick sort:
cin>>n;  Apabila terjadi sedikit kesalahan dalam
int a[n]; penulisan program dapat membuatnya
cout<<"Masukkan data ke:\n"; bekerja tidak beraturan.
for(int i=0;i<n;i++)  Memiliki kompleksitas O(n2), namun hal
{ ini sangat langka terjadi.
cin>>a[i];  Dalam penerapansecara rekursif, apabila
} terjadi kesalahan dapat memacetkan
Quicksort(a,0,n-1); program.
cout<<"Hasil input Data Quick Sort :\n";
for(int i=0;i<n;i++)
{
cout<<a[i]<<" "; KESIMPULAN
}
return 0;
} Metode pengurutan data memang cukup
beragam, namun tentunya dalam proses ada
Tampilan outputnya : metode yang tercepat. Masing-masing dari metode
tesebut memiliki kelebihan dan kekurangan. Dalam
pembuatan program komputer tidak lepas dari
algoritma, karena program yang dibuat sangat
kompleks. Program dapat dibuat tanpa
menggunakan algoritma, akan tetapi program yang
dihasilkan memiliki akses yang lambat atau
memakai banyak memori.
Dari percobaan di atas dapat kita
simpulkan bahwa metode Quick Sort memakan
sedikit ruang dan waktu pemrosesan yang terbilang
cukup cepat, sehingga metode ini menjadi metode
yang paling cepat dalam pengurutan data(sorting)
dibandingkan dengan metode lainnya. Meskipun
begitu, algoritma quick sort ini tidak selalu
menjadi pilihan yang terbaik.
Algoritma Quicksort lebih sesuai untuk
digunakan pada data yang berjumlah banyak
Gambar 1. Output data Quick Sort dan memiliki nilai yang terdistribusi secara acak
karena proses pengurutan data lebih cepat. Namun
metode ini memiliki kekurangan jika mengurutkan
Kelebihan dari Quick Sot : data yang sedikit dan memiliki data kembar.
 Metode quick sort secara umum memiliki
kompleksitas O(n log n).
 Memiliki algoritma yang sederhana dan
mudah diterapkan pada berabagai bahasa
pemrograman komputer dan sangat efisien
dan efektif.
DAFTAR PUSTAKA

Firmansyah. Alfian. 2019. “PERFORMA


PADA ALGORITMA INSERTION SORT DAN
QUICK SRT”. Jurnal.
Waruwu. Sabarudi, dkk. 2019.
“PENERAPAN ALGORITMA QUICK PRIVOT
SORT DAN RADIX SORT PADA DATA BUKU”.
Jurnal.
Arifin. RW. Setiyadi. Didik. 2020.
“ALGORITMA METODE PENGURUTAN
BUBBLE SORT DAN QUICK SORT DALAM
BAHASA PEMROGRAMAN C++”. Jurnal.
Rahayuningsih. PH. 2016. “Analisis
Perbandingan Kompleksitas Algoritma
Pengurutan Nilai (Sorting)”. Jurnal
Audy. 2015. “Komparasi Algoritma Quick
Sort dan Bucket Sort Pada Pengurutan Data
Integer”. Jurnal
Rizkirahadiansyah. 2018. “Macam-Macam
Metode Sorting”.
https://rizkiahadiansyah.wordprss.com/2018/03/28/
macam-macam-metode-sorting/ (Diakses tanggal
10 Juni 2021.
Mustakim. Hendri. 2015. “SORTING
(STRUKTUR DATA).
http://web.if.unila.ac.id/henmusta/2015/11/12/sorti
ng/ (Daikses tanggal 12 Juni 2021)
Hardifal. Elang. 2018. “Contoh Program
Algoritma Quick Sort C++ Sederhana”.
https://www.hardifal.com/2018/10/sorting-materi-
dan-algoritma-metode-babble-sort.html (Diakses
tanggal 12 Juni 2021)

Anda mungkin juga menyukai