Upload
bobbyreynaldo
View
81
Download
6
Embed Size (px)
DESCRIPTION
Makalah PAA adalah hanya penjelasan sedikit tentang PAAYang dibahas adalah beberapa metode sorting. Penjelasannya baru seditik dan penulisannya masih berantakan, jadi mohon maaf.
Citation preview
1
ALGORITMA SORTING
Abstrak
Makalah ini membahas dan menjelaskan mengenai algoritma, sorting, serta berbagai metode sorting. Dalam matematika dan ilmu komputer, algoritma adalah prosedur langkah demi langkah untuk proses perhitungan. Salah satu instruksi yang dapat dilakukan dalam proses algoritma adalah proses pengurutan atau sorting. Sorting merupakan suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Metode sorting yang dibahas pada makalah ini adalah metode shell sort, bucket sort, exchange sort, minimax sort serta gravitasi sort. Untuk setiap metode sorting akan dipaparkan mengenai langkah-langkah pengerjaan sorting, contoh soal dan pembahasannya, serta algoritma metode sorting tersebut.
Kata kunci : Algoritma, pengurutan, shell sort, exchange sort, gravitasi sort, minimax sort
Abstact
This paper discusses and explains the algorithms, sorting and various methods of sorting. In mathematics and computer science, an algorithm is a step-by-step procedure for the calcutarion precess. One instructuin that can be done in the algorithm is the process of sorting. Sorting is a process to reconstruct the set of objects using certain rules. Sorting methods discussed in this paper is shell sort, bucket sort, exchange sort, minimax sort and gravitasi sort. For each method of sorting, will explain about the steps work sorting, sample questions, and the sorting method algorithm.
Keywords : Algorithm, sorting, shell sort, exchange sort, gravitation sort, minimax sort
2
BAB I
PENDAHULUAN
A. Latar Belakang
Dalam matematika dan ilmu komputer, algoritma adalah prosedur
langkah demi langkah untuk perhitungan. Algoritma digunakan untuk
penghitungan, pemrosesan data dan penalaran otomatis. Algoritma adalah
metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-
instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah
fungsi. Dimulai dari sebuah kondisi awal dan input awal, instruksi-instruksi
tersebut menjelaskan sebuah komputasi yang bila dieksekusi, diproses
lewat sejumlah urutan kondisi terbatas yang terdefinisikan dengan baik,
yang pada akhirnya menghasilkan keluaran atau output dan berhenti di
kondisi akhir.
Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi, penulis buku
“Aljabar Wal muqabala” beberapa abad yang lalu (pada abad IX), dianggap
sebagai pencetus pertama algoritma karena didalam buku tersebut Abu
Ja’far menjelaskan langkah-langkah dalam penyelesaian berbagai persoalan
aritmatika(aljabar), kemungkinan besar kata “Aljabar” diambil dari kata
“Al-Kwarizmi” yang kemudian berubah menjadi “Algorism”, selanjutnya
menjadi “Algoritma”.
Salah satu instruksi yang dapat dilakukan dalam proses algoritma
adalah proses pengurutan atau sorting. Sorting merupakan suatu proses
untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.
Sorting disebut juga sebagai suatu algoritma untuk meletakan kumpulan
elemen data kedalam urutan tertentu berdasarkan satu atau beberapa
kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang
biasa digunakan dalam suatu proses sorting : yaitu urutan naik (ascending)
yang merupakan pengurutan dari data yang mempunyai nilai paling kecil
3
sampai paling besar, serta urutan turun (descending) yang merupakan
pengurutan dari data yang paling besar sampai paling kecil.
Mengapa harus mengurutkan data? terdapat beberapa alasan
mengapa melakukan sorting/pengurutan terhadap data, diantaranya
adalah data yang terurut mudah untuk dicari sehingga mudah untuk
diperiksa dan dibetulkan apabila terdapat kesalahan pada data, selain itu
data terurut juga dapat mempermudah untuk melakukan penghapusan data
apabila sewaktu-waktu data tersebut sudah tidak terpakai, serta dengan
data terurut maka dapat mempermudah penyisipan data atau melakukan
penggabungan data.
B. Rumusan Masalah
Rumusan masalah yang menjadai landasan pembuatan makalah ini adalah :
Apakah Algoritma itu?
Bagaimana algoritma untuk membuat sorting?
Apa saja macam-macam metode sorting?
C. Tujuan Penulisan
Berdasarkan rumusan masalah diatas maka makalah ini dibuat dengan
tujuan :
Menjelaskan mengenai pengertian algoritma dan sorting.
Menunjukan beberapa algoritma dalam sorting.
Menunjukan bahwa pengurutan suatu persoalan yang biasa
diselesaikan dengan sejumlah algoritma yang berbeda satu sama
lain.
Dapat memilih algoritma mana yang paling sesuai untuk suatu
masalah sorting.
D. Pembatasan Masalah
Pada makalah ini akan dijelaskan mengenai algoritma khususnya
adalah algoritma metode sorting. Metode sorting yang akan dibahas adalah
metode shell sort, metode exchange sort, metode gravitasi sort serta
metode minimax sort.
4
5
BAB II
TINJAUAN PUSTAKA
A. Algoritma
Algoritma merupakan kumpulan perintah yang memiliki daya guna
yang sangat besar bagi masyarakat. Algoritma biasanya digunakan sebagai
kumpulan perintah untuk menyelesaikan suatu masalah. Algoritma ini
memiliki aplikasi yang bermacam-macam dalam setiap masalah yang ada.
Contohnya saja algoritma cara penyelesaian suatu aritmatika yang rumit,
algoritma untuk menghitung luas penambpang dari suatu kabel, atau
bahkan untuk menghitung bayaran parkir di setiap mall. Salah satu cara
penggunaannya adalah dengan array. Dimana array ini merupakan suatu
data struktur yang saling terkoneksi satu sama lain dengan tipe yang sama.
Aplikasi array ini banyak sekali, contohnya saja adalah menghitung
golongan dari umur yang berjumlah 25 tahun hingga 55 tahun. Array ini
juga bisa digunakan untuk mencari suatu elemen nilai dalam suatu struktur
data, selain itu array ini juga bisa digunakan untuk mengurutkan data-data
yang tidak berurutan atau biasa disebut sorting array atau sort.
B. Sorting (Pengurutan)
Sorting array atau sorting (pengurutan) merupakan salah satu
aplikasi yang paling penting dalam suatu sistem aplikasi perhitungan data.
biasanya suatu bank memiliki komputasi sorting array yang sudah biasa
digunakan sehari-hari. Bahkan telephone juga mengurutkan suatu list yang
terdiri dari nama akhir, nama awal agar bisa memudahkan dalam
perhitungan dalam mencari nomer telephone.
Sorting merupakan suatu proses mengatur susunan data-data
menurut syarat tertentu. meskipun pengurutan ini sepertinya hanya
masalah klasik namun peranannya tidak dapat dipisahkan terutama dalam
pengolahan data. suatu pengolahan data biasanya akan lebih efisien juka
datanya telah terurut, seperti binary search misalnya.
6
1. Metode Shell Sort
Shell sort merupakan salah satu sorting algoritma pada seluruh
deklarasi array ([]). Proses shell sort berbeda dengan sorting algoritma
yang lainnya. Pada sorting algoritma yang lainnya lebih banyak
menukarkan data secara berurutan atau memindahkan satu per satu.
Selain itu proses pengurutan data akan berhenti jika proses = jumlah
data – 1.
Pada pengurutan data ini kita terlebih dahulu harus membuat
sub list sub list yang di dasarkan pada jarak antar data yang di
tentukan. Jarak yang telah ditentukan biasanya di lambangkan dengan
k. Biasanya jarak yang paling sering digunakan pada sorting ini saat
melakukan pengurutan yaitu k5, k3, dan k1. Artinya, dari data yang
ditentukan arau ditukar dengan data yang lain berjarak 5, 3 atau 1 data.
2. Metode Exchange Sort
Metode pengurutan exchange sort mirip dengan metode
pengurutan bubble sort, namun dalam cara membandingkan antar
elemennya memiliki perbedaan tertentu. exchange sort
membandingkan suatu elemen dengan elemen elemen lainnya dalam
array tersebut, dan melakukan penukaran elemen juka perlu. Jadi selalu
ada elemen yang menjadi pivot. Sedangkan bubble sort akan
membandingkan elemen pertama/terakhir dengan elemen
sebelumnya/sesudahnya kemudian elemen tersebut itu akan menjadi
pusat (pivot) untuk dibandingkan dengan elemen
sebelumnya/sesudahnya lagi, begitu seterusnya.
3. Metode Gravitasi Sort
Metode Gravitasi adalah suatu metode yang merupakan variasi
dari metode gelembung (Bubble Sort). Metode ini memanfaatkan sifat
gravitasi di mana yang berat (bernilai besar) akan turun ke bawah.
4. Metode Minimum dan Maximum (MiniMax) Sort
7
Metode MiniMax nerupakan suatu prosedur yang memilih
elemen terkecil (minimum) atau yang terbesar (maksimum) untuk
ditempatkan pada posisi yang sesuai dengan tujuan pengurutan.
8
BAB III
PEMBAHASAN
A. Konsep Algoritma
Algoritma merupakan pondasi yang harus dikuasai oleh setiap
mahasiswa yang ingin menyelesaikan suatu masalah secara berstruktur,
efektif dan efisien.
Definisi :
1. Tekhnik penyusunan langkah-langkah penyelesaian masalah dalam
bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara
logis dan sistematis.
2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan
dengan menggunakan langkah-langkah tertentu dan terbatas
jumlahnya.
Ciri Algoritma :
Donald E. Knuth, seorang penulis beberapa algoritma abad XX,
menyatakan bahwa ada beberapa ciri algoritma, yaitu:
Algortima mempunyai awal dan akhir. Suatu algoritma harus
berhenti setelah mengerjakan serangkaian tugas atau dengan kata
lain suatu algoritma memiliki langkah yang terbatas.
Setiap langkah harus didefinisikan dengan tepat sehingga tidak
memiliki arti ganda (non ambiguous).
Memiliki masukan (input) atau kondisi awal.
Memiliki keluaran (output) atau kondisi akhir.
Algoritma harus efektif; bila diikuti benar-benar akan menyelesaikan
persoalan.
Sifat Algoritma :
9
Berdasarkan ciri algoritma yang telah dijabarkan oleh Donald Knuth
dan definisi algoritma maka dapat disimpulkan sifat utama suatu algoritma,
yaitu sebagai berikut :
Input : suatu algoritma memiliki input atau kondisi awal sebelum
algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah yang
diambil dari himpunan khusus.
Output : suatu algoritma akan menghasilkan output setelah
dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi
kondisi akhir. Dimana nilai output diperoleh dari nilai input yang
telah diproses melalui algoritma.
Definiteness : langkah-langkah yang dituliskan dalam algoritma
terdefinisi dengan jelas sehingga mudah dilaksanakan oleh
pengguna algoritma.
Finiteness : suatu algoritma harus memberi kondisi akhir atau
output setelah melakukan sejumlah langkah yang terbatas
jumlahnya untuk setiap kondisi awal atau input yang diberikan.
Effectiveness : setiap langkah dalam algoritma bisa dilaksanakan
dalam suatu selang waktu tertentu sehingga pada akhirnya memberi
solusi sesuai yang diharapkan.
Generality : langkah-langkah algoritma berlaku untuk setiap
himpunan input yang sesuai dengan persoalan yang akan diberikan,
tidak hanya untuk himpunan tertentu.
B. Sorting (Teknik Pengurutan)
Pengurutan (sorting) adalah proses yang mengatur sekumpulan
objek/data sehingga nilainya tersusun. Sorting disebut juga sebagai suatu
algoritma untuk meletakan kumpulan elemen data kedalam urutan tertentu
berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.
Pada dasarnya ada dua macam urutan yang biasa digunakan dalam
suatu proses sorting yaitu :
10
1. Urutan naik (ascending) yang merupakan pengurutan dari data yang
mempunyai nilai paling kecil sampai paling besar.
2. Urutan turun (descending) yang merupakan pengurutan dari data
yang paling besar sampai paling kecil.
Contoh :
[ 23 30 45 52 67 79 82 ] data integer ascending
[ 82 79 67 52 45 30 23 ] data integer descending
[ Alphien Bety Uyun Zuhai ] data string ascending
[ Zuhai Uyun Bety Alphien ] data string descending
Ada dua kategori pengurutan, yaitu :
Pengurutan Internal : pengurutan yang dilaksanakan hanya dengan
menggunakan memori komputer, pada umumnya bila jumlah
elemen tidak terlalu banyak.
Pengurutan Eksternal : pengurutan yang dilaksanakan dengan
bantuan virtual memori atau harddisk karena jumlah elemen yang
akan diurutkan terlalu banyak
Terdapat sejumlah metode pengurutan, tetapi pada makalah ini hanyak
akan dibahas 4 macam, yaitu :
1. Metode Shell Sort
2. Metode Exchange Sort
3. Metode Gravitasi Sort
4. Metode Minimum dan Maximum (MiniMax) Sort
Berikut ini akan dijelaskan mengenai masing-masing metode:
1. METODE SHELL SORT
11
Metode ini disebut juga dengan metode pertambahan menurun
(diminishing increment). Metode ini dikembangkan oleh Donald L. Shell
pada tahun 1959, sehingga metode ini disebut dengan metode Shell
sort. Metode ini mengurutkan data dengan cara membandingkan suatu
data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan
penukaran bila diperlukan.
Definisi :
Jarak yang digunakan disebut increment value, atau sequence
number k
Misal sequence: 5,3,1
Pengambilan sequence bebas asal menurun.
Jika k=5, maka sublistnya:
Data[0], data[5], data[10], ...
Data[1], data[6], data[11], ...
Data[2], data[7], data[12], ...
Jika k=3, maka sublistnya:
Data[0], data[3], data[6], ...
Data[1], data[4], data[7], ...
Data[2], data[5], data[8], ...
Prosedur Pengerjaan :
Menentukan jarak mula-mula dari data yang akan dibandingkan,
yaitu n/2. Data pertama akan dibandingkan dengan data
berjarak n/2. Apabila data pertama lebih besar dari data ke n/2,
maka kedua data tersebut bertukar tempat.
Kemudian data kedua dibandingkan dengan data berjarak sama
yaitu n/2, demikian seterusnya sampai seluruh data
dibandingkan sehingga semua data ke-j selalu lebih kecil dari
pada data ke-j+n/2
Pada proses berikutnya gunakan data ke (n/2)/2 atau data ke
n/4. Data pertama dibandingkan dengan data berjarak n/4.
12
Apabila data pertama lebih besar dari data ke n/4 maka lakukan
penukaran tempat.
Kemudian data kedua dibandingkan dengan data berjarak sama
yaitu n/4, demikian seterusnya sampai seluruh data
dibandingkan sehingga semua data ke-j selalu lebih kecil dari
pada data ke-j+n/4.
Pada proses selanjutnya gunakan cara yang sama untuk jarak
(n/4)/2 atau n/8. Demikian pula seterusnya.
Contoh :
Misal : A = [ 3 4 6 5 9 7 8 1 ] n = 8
Proses 1 : jarak n/2 8/2 = 4
Didapat A = [ 3 4 6 1 9 7 8 5 ]
Proses 2 : jarak n/4 8/4 = 2
Didapat A = [ 3 1 6 4 8 5 9 7 ]
Proses 3 : jarak n/8 8/8 = 1
Hasil : A = [ 1 3 4 5 6 7 8 9 ]
13
Prosedur Algoritma Shell Sort:
Void Shellsort (int N)
{
Int jarak, i, j;
Bool sudah;
Jarak = N;
While(lompat > 1)
{
Jarak = jarak / 2;
Sudah = false;
While(!sudah)
{
Sudah = true;
For(j = 0; j < N – jarak; j++)
{
i = j + jarak;
if(data[j] > data[i])
{
Tukar (&data[j]), &data[i]);
Sudah = false;
}
}
}
}
}
2. METODE EXCHANGE SORT
Metode Exchange Sort sangat mirip dengan metode bubble sort,
banyak yang mengatakan bubble sort sama dengan exchange sort.
Namun terdapat perbedaan antara exchange sort dengan bubble sort
dalam hal bagaimana membandingkan antar elemen-elemennya,
perbedaan tersebut adalah :
Exchange sort membandingkan satu elemen dengan elemen-
elemen lainnya dalam array tersebut dan melakukan pertukaran
14
elemen jika perlu. Jadi ada elemen yang selalu menjadi elemen
pivot.
Sedangkan bubble sort akan membandingkan elemen
pertama/terakhir dengan elemen sebelumnya/sesudahnya
kemudian elemen tersebut itu akan menjadi pusat (pivot) untuk
dibandingkan dengan elemen sebelumnya/sesudahnya lagi,
begitu seterusnya.
Contoh :
Misal : A = [ 84 69 76 86 94 91 ]
Proses 1 :
PIVOT
84 69 76 86 94 91
84 69 76 86 94 91
84 69 76 86 94 91
86 69 76 84 94 91
94 69 76 84 86 91
94 69 76 84 86 91
Proses 2 :
PIVOT
94 69 76 84 86 91
94 76 69 84 86 91
94 84 69 76 86 91
94 86 69 76 84 91
94 91 69 76 84 86
Proses 3 :
PIVOT
15
94 91 69 76 84 86
94 91 76 69 84 86
94 91 84 69 76 86
94 91 86 69 76 84
Proses 4 :
PIVOT
94 91 86 69 76 84
94 91 86 76 69 84
94 91 86 84 69 76
Proses 5 :
PIVOT
94 91 86 84 69 76
94 91 86 84 76 69
Hasil : A = [ 94 91 86 84 76 69 ]
Prosedur Algoritma Exchange Sort:
Void exchange_sort (int data[])
{
For (int i = 0; i < n-1; i++)
{
For (int j = i+1; j < n; j++)
{
If(data[1] < data[j])
Tukar(&data[i], &data[j]);
}
}
}
16
3. METODE GRAVITASI SORT
Metode Gravitasi adalah suatu metode yang merupakan variasi
dari metode gelembung (Bubble Sort). Metode ini memanfaatkan sifat
gravitasi di mana yang berat (bernilai besar) akan turun ke bawah.
Prosedur Pengerjaan :
Mulai dari indeks = 1, bandingkan A[1] dengan A[2]. Bila A[1]
lebih besar makan adakan penukaran tempat.
Selanjutnya indeks = 2 dan bandingkan A[2] dengan A[3]. Bila
A[2] lebih besar, adakan penukaran tempat.
Lakukan seterusnya sehingga semua nilai terurut.
Contoh :
Misal : A = [ 25 27 10 8 76 21 ]
Proses 1 :
[ 25 27 10 8 76 21 ] menjadi [ 25 10 27 8 76 21 ]
[ 25 10 27 8 76 21 ] menjadi [ 25 10 8 27 76 21 ]
[ 25 10 8 27 76 21 ] menjadi [ 25 10 8 27 21 76 ]
Proses 2 :
[ 25 10 8 27 21 76 ] menjadi [10 25 8 27 21 76 ]
[ 10 25 8 27 21 76 ] menjadi [10 8 25 27 21 76 ]
[10 8 25 27 21 76 ] menjadi [10 8 25 21 27 76 ]
Proses 3 :
[10 8 25 21 27 76 ] menjadi [ 8 10 25 21 27 76 ]
[ 8 10 25 21 27 76 ] menjadi [ 8 10 21 25 27 76]
Hasil : A = [ 8 10 21 25 27 76]
17
Apabila Array A memiliki m buah elemen, dimana setiap ada dua
elemen yang dibandingkan maka pada hakikatnya jumlah putaran
maksimum adalah (m-1) kali. Pada setiap putaran, elemen terbesar
akan menempati posisi terbawah sehingga pada putaran berikutnya
jumlah elemen yang harus dibandingkan selalu berkutang satu.
Prosedur Algoritma Gravitasi Sort :
Prosedur metode_gravitasi (in-out integer A[], input integer m)
{mengurutkan data dengan metode gravitasi)
Deklarasi
Integer putaran, indeks, jum_elemen, temp;
Deskripsi
Maks m;
For (putaran = 1 to m-1 step 1)
For(indeks = 1 to maks-1 step 1)
If (A[indeks] > A[indeks+1]);
Then temp A[indeks];
A[indeks] A[indeks+1];
A[indeks+1] temp;
Endif
Endfor
Maks maks-1;
Endfor
4. METODE MINIMUM DAN MAKSIMUM (MINIMAX)
Metode MiniMax merupakan suatu prosedur yang memilih
elemen terkecil (minimum) atau yang terbesar (maksimum) untuk
ditempatkan pada posisi yang sesuai dengan tujuan pengurutan.
Prosedur Pengerjaan :
18
Maula mula, ambilah elemen terakhir A[m], kemudian carilah
elemen terbesar di antara elemen-elemen lainnya (A[1] sampai
A[m-1]).
Andaikan elemen pada posisi x adalah yang terbesar,
bandingkan A[X] dengan A[m]. Bila A[x] > A[m] maka lakukan
penukaran posisi yang terbesar pada posisi m.
Berikutnya, ambilah elemen satu dari terakhir A[m-1].
Kemudian, cari elemen terbesar diantara elemen lainnya (A[1]
sampai A[m-1])
Andaikan diperoleh A[y]terbesar maka tukarkan dengan A[m-1]
Demikian seterusnya hingga semua elemen telah diproses.
Contoh :
Misal : A = [25 27 10 8 76 21 ]
Proses 1 :
Ambil A[6] yaitu 21, kemudian cari yang terbesar di antara
A[1] sampai A[5]. Diperoleh bahwa A[5] =76 merupakan
yang terbesar. Oleh karena 76 > 21, adakan penukaran
tempat sehingga A = [ 25 27 10 8 21 76]
Proses 2 :
Ambil A[5] yaitu 21, kemudian cari yang terbesar di antara
A[1] sampai A[4]. Diperoleh bahwa A[2] = 27 terbesar. Oleh
karena 27 > 21 maka adakan penukaran tempat sehingga A =
[ 25 21 10 8 27 76 ]
Proses 3 :
Ambil A[4] yaitu 8, kemudian cari yang terbesar di antara
A[1] sampai A[3]. Diperoleh bahwa A[1] = 25 terbesar. Oleh
karena 25 > 8 maka adakan penukaran tempat sehingga A = [
8 21 10 25 27 76 ]
19
Proses 4 :
Ambil A[3] yaitu 10, kemudian cari yang terbesar di antara
A[1] sampai A[2]. Diperoleh bahwa A[2] = 21 terbesar. Oleh
karena 25 > 10 maka adakan penukaran tempat sehingga A =
[ 8 10 21 25 27 76 ].
Hasil : A = [ 8 10 21 25 27 76 ]
Prosedur Algoritma MiniMax Sort :
Prosedur metode_minimax (in-out integer A[], input integer m)
{mengurutkan data dengan metode minimax)
Deklarasi
Integer imax, temp, putaran, idx;
Deskripsi
Maks m;
For (putaran = 1 to m-1 step 1)
For(idx = 1 to m-putaran step 1)
If (A[idx] > A[imax]);
Then temp A[imax];
A[imax] A[idx];
A[idx] temp;
Endif
Endfor
Maks imax-1;
Endfor
20
BAB IV
KESIMPULAN DAN SARAN
A. Kesimpulan
dari penjabarang yang telah disimpulakan pada bab sebelumnya mengenai
metode sorting algoritma, maka dapat disimpulakn sebagai berikut:
Algoritma adalah Tekhnik penyusunan langkah-langkah
penyelesaian masalah dalam bentuk kalimat dengan jumlah kata
terbatas, tetapi tersusun secara logis dan sistematis. Serta suatu
prosedur yang jelas untuk menyelesaikan suatu persoalan dengan
menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
Pengurutan (sorting) adalah proses yang mengatur sekumpulan
objek/data sehingga nilainya tersusun. Sorting disebut juga sebagai
suatu algoritma untuk meletakan kumpulan elemen data kedalam
urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-
tiap elemen. Terdapat berbagai macam sorting, beberapa diataranya
adalah shell sort, exchange sort, gravitasi sort, minimax sort.
Metode Shell Sort : Metode ini mengurutkan data dengan cara
membandingkan suatu data dengan data lain yang memiliki jarak
tertentu, kemudian dilakukan penukaran bila diperlukan.
Metode Exchange Sort : Exchange sort membandingkan satu elemen
dengan elemen-elemen lainnya dalam array tersebut dan melakukan
pertukaran elemen jika perlu. Jadi ada elemen yang selalu menjadi
elemen pivot.
Metode Gravitasi Sort : metode yang merupakan variasi dari metode
gelembung (Bubble Sort). Metode ini memanfaatkan sifat gravitasi di
mana yang berat (bernilai besar) akan turun ke bawah.
Metode Minimax Sort : merupakan suatu prosedur yang memilih
elemen terkecil (minimum) atau yang terbesar (maksimum) untuk
ditempatkan pada posisi yang sesuai dengan tujuan pengurutan.
21
B. Saran
Pada dasarnya semua metode sorting memiliki kelebihan dan
kekurangannya masing masing, namun disarankan bagi pembaca agar
menggunakan metode sorting yang lebih mudah atau lebih singkat proses
pengerjaannya agar tidak membutuhkan waktu yang lama. Serta
menggunakan metode yang sesuai untuk jenis data dan jumlah data. untuk
menjalankan algoritma metode sorting ini sendiri pembaca dapat
menggunakan berbagai bahasa pemrograman seperti C++, java, dll.
22
DAFTAR PUSTAKA
[1] Computer Science. http://www.cs.hope.edu. Tanggal akses 13 maret 2015
pukul 14.09
[2] Drs. Suarga, M.sc., M.Math., Ph.D. (2004). Algoritma Pemrograman. ANDI.
Yogyakarta
[3] Handbook UI, algoritma-algoritma pengurutan internal.
http://ranau.cs.ui.ac.id/sda/archive/1998/handout/handout24.html. tanggal
akses 13 maret 2015 pukul 14.56
[4] Liem, Inggriani. (2003). Catatan kuliah Algoritma dan Pemrograman.
Depatemen Tekhnik Informatika, Institut Tekhnologi Bandung
[5] Michael Lamont. The sorting algorithms.
http://linux.wku.edu/~lemonml/algor/index.html. tanggal akses 13 maret
2015 pukul 14.43
[6] Wikipedia. Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/shell_sort. tanggal akses 13 maret 2015 pukul
15.20
[7] Wikipedia. Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/exchange_sort. tanggal akses 13 maret 2015
pukul 14.20
[8] Wikipedia. Wikipedia, the free encyclopedia.
http://en.wikipedia.org/wiki/sorting. tanggal akses 13 maret 2015 pukul
14.00