Latar Belakang
Dimasa perkembangan sekarang ini banyak sektor yang telah mulai
diintegrasikan dengan teknologi informasi yang semakin hari semakin
berkembang, perkembangan disektor ini juga berpengaruh terhadap
perkembangan dalam cara berfikir untuk membuat inovasi untuk
mempermudah dan membantu manusia dalam mengolah data, menyajikan
data, menyimpan dan mencari data. Dari hal tersebut maka dibuat sebuah
logika program untuk membantu manusia baik dalam mengolah,
menyajikan, menyimpan dan mencari data. Salah satu mesin yang dibuat
adalah program dalam pengurutan data karena pada masa sekarang ini
banyak data misal data nilai dan kita ingin mencari data terbesar atau
terkecil akan sulit dan menghabiskan waktu yang lama untuk mengurutkan
data tersebut secara manual karena banyaknya jumlah data yang ada.
Program pengurutan data sangat membantu dalam menagatasi masalah
demikian karena mempermudah dan menghemat waktu manusia dalam
mengurutkan data walau dalam jumlah yang banyak sekalipun. Disamping
itu karena semakin berkembangnya ilmu pengetahuan maka banyak
metode yang muncul dalam program pengurutan data namun tiap metode
memliki keunggulan tersenderi dalam mengurutkan data dalam suatu
tumpukan. Tapi pada intinya pengurutan hanya berpatokan pada ascending
(data terkecil ke terbesar) dan descending (data terbesar ke terkecil) hanya
yang membuat sebuah program pengurutan berbeda adalah dalam masalah
pemecahan masalah pengurutannya saja.
2. Permasalahan
Semakin berkembang teknologi itu juga mempengaruhi pola berfikir
manusia dalam memecahkan sebuah masalah karena pada saat ini manusia
selalu mencari pemecahan tercepat dan termudah dalam menyelsaikan sebuah
1
permasalahan, maka dalam hal itu dibuatlah program, mesin dan alat lain
untuk mempermudah. Salah satu masalah yang cukup menghabiskan waktu
salah satunya adalah pengurutan data, jika data mungkin hanya dalam jumlah
puluhan mungkin dapat diurutkan secara manual namun jika data yang ada
sudah mencapai ribuan bahkan jutaan data maka akan menghabiskan waktu
yang cukup lama jika menggunakan cara manual.
3. Ruang Lingkup
Berdasarkan dengan latar belakang yang telah dibahas diatas maka dalam
karya tulis ini hanya akan membahasa masalah dalam sistem pengurutan
ascending dengan menggunakan metode quick short, walaupun sebenarnya
terdapat beberapa metode yang dapat digunakan seperti buble short, insertion
short dan lain sebagainya, namun yang akan dibahas dalam karya tulis ini
hanya metode shorting quick short.
4. Landasan Teori
Metode Quick sering disebut juga metode partisi (partition exchange sort).
Metode ini mempunyai efektifitas yang tinggi dengan teknik menukarkan dua
elemen dengan jarak yang cukup besar. Metode pengurutan quick sort dapat
diimplementasikan dalam bentuk non rekursif dan rekursif.
A. METODE QUICK SORT NON REKURSIF
Pada implementasi algoritma quick sort secara non rekursif memerlukan
dua buah tumpukan (stack) yang digunakan yang digunakan untuk
menyimpan batas-batas subbagian. Pada prosedur ini menggunakan
tumpukan yang bertipe record (struktur) yang terdiri dari elemen kiri (untuk
mencatat batas kiri) dan kanan (untuk mencatat batas kanan).
Ilustrasi dari langkah-langkah pengurutan dengan algoritma quick sort
dapat dilihat pada tabel berikut :
Iterasi
Data[
Data[
Data[
Data[
Data[
Data[
Data[
Data[
Data[
Data[9
Awal
L=0;R=9
L=0;R=4
L=1;R=3
L=1;R=9
L=2;R=4
L=5;R=9
L=6;R=7
L=8;R=9
Akhir
0]
12
12
3
3
3
3
3
3
3
3
1]
35
35
35
9
9
9
9
9
9
9
2]
9
9
9
35
11
11
11
11
11
11
3]
11
11
11
11
35
15
12
12
12
12
4]
3
3
12
12
12
12
15
15
15
15
5]
17
17
17
17
17
17
17
17
17
17
6]
23
23
23
23
23
23
23
23
20
20
7]
15
15
15
15
15
35
35
20
23
23
8]
31
31
31
31
31
31
31
31
31
31
]
20
20
20
20
20
20
20
35
35
35
Proses pengurutan metode quick sort non rekursif dapat dijelaskan sebagai
berikut:
Kembali
ke
kumpulan
data
pertama,
dicari
pivot
kemudian
menggunakan aturan yang serupa. Pivot pada kumpulan data ini adalah
data ke-2 yaitu 9. Ternyata terdapat data yang lebih besar dari 9 di
sebelah kiri yaitu 35 sehingga dilakukan pertukaran
Dari hasil pertukaran ini dilakukan pembagian kumpulan data yaitu data
yang mempunyai indeks 6 s/d 7 dan 8 s/d 9. Kumpulan data pertama
terjadi pertukaran data 23 dan 20 sedangkan kumpulan data kedua tidak
terjadi pertukaran data
6. Flow Chart
7. Kesimpulan
Dalam membantu setiap kerja manusia, manusia selalu menciptakan inovasi
baik dalam pola berfikir atau sebuah mesin yang dapat membantu mereka.
Salah satu inovasi yang ada adalah algoritma dalam mengurutkan data dan
algortima tersebut dimuat dalam sebuah program yang dapat membantu
manusia dalam mempermudah tugas mereka seperti mengurutkan data
terbesar ke terkecil, mungkin hal tersebut terdengar mudah namun jika data
tersebut ada ribuan bahkan jutaan akan memakan waktu yang sangat lama
sehingga dibuatlah algoritma dan program untuk mengurutkan data tersebut
agar menjadi lebih mudah.
8. Saran