22
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

Makalah PAA

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

Page 1: Makalah PAA

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

Page 2: Makalah PAA

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

Page 3: Makalah PAA

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.

Page 4: Makalah PAA

4

Page 5: Makalah PAA

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.

Page 6: Makalah PAA

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

Page 7: Makalah PAA

7

Metode MiniMax nerupakan suatu prosedur yang memilih

elemen terkecil (minimum) atau yang terbesar (maksimum) untuk

ditempatkan pada posisi yang sesuai dengan tujuan pengurutan.

Page 8: Makalah PAA

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 :

Page 9: Makalah PAA

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 :

Page 10: Makalah PAA

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

Page 11: Makalah PAA

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.

Page 12: Makalah PAA

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 ]

Page 13: Makalah PAA

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

Page 14: Makalah PAA

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

Page 15: Makalah PAA

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]);

}

}

}

Page 16: Makalah PAA

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]

Page 17: Makalah PAA

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 :

Page 18: Makalah PAA

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 ]

Page 19: Makalah PAA

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

Page 20: Makalah PAA

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.

Page 21: Makalah PAA

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.

Page 22: Makalah PAA

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