kiki andriani , 5 metode sorting

5
5 Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Kiki Andriani Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung [email protected] AbstractAbstractPaper ini membahas dan mengkaji implementasi 5 metode sorting yaitu Bubble Sort, Selection Sort, Insert Sort, Merge Sort, dan Quick Sort yang disertai contoh yang digunakan untuk membuat sebuah program. Index TermsAlgoritma, Bubble Sort, Slection Sort, Insert Sort, Merge Sort, Quick Sort (key words) I. INTRODUCTION IN SORTING Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna. II. TYPE METODE SORTING 1. Bubble Sort 2. Selection Sort (Ascending): 3. Insert short 4. Merge sort (metode penggabungan) 5. Quick Sort III. EASE OF USE METODE SHORTING 1. Bubble Sort Konsep Buble Sort yaitu Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat 2. Selection Sort (Ascending) Pengurutan dilakukan dengan memilih elemen tesar dan menempatkan pada posisinya,kemudian mencari element

Transcript of kiki andriani , 5 metode sorting

Page 1: kiki andriani , 5 metode sorting

5 Metode Sorting dan AplikasinyaTugas Kuliah Algoritma dan Struktur Data

Kiki AndrianiManajemen Informatika

Politeknik Negeri LampungBandar Lampung, Lampung

[email protected]

Abstract—Abstract— Paper ini membahas dan mengkaji implementasi 5

metode sorting yaitu Bubble Sort, Selection Sort, Insert Sort, Merge Sort, dan Quick Sort yang disertai contoh yang digunakan untuk membuat sebuah program.

Index Terms— Algoritma, Bubble Sort, Slection Sort, Insert Sort, Merge Sort, Quick Sort (key words)

I. INTRODUCTION IN SORTING

Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.

Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data.

Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna.

II. TYPE METODE SORTING

1. Bubble Sort2. Selection Sort (Ascending):3. Insert short4. Merge sort (metode penggabungan)5. Quick Sort

III. EASE OF USE METODE SHORTING

1. Bubble SortKonsep Buble Sort yaitu Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan

penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat

2. Selection Sort (Ascending)Pengurutan dilakukan dengan memilih elemen tesar dan menempatkan pada posisinya,kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan seterusnya.

3. Insert shortData dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu.Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai.

4. Merge sort (metode penggabungan)Merge Sort merupakan jenis pengurutan yang

dirumuskan dalam 3 tahap berpola divide-and-conquer. berikut tahapan Merge Sort :

Divide = Memilah elemen – elemen dari rangkaian data menjadi dua bagian.

Conquer = setiap bagian dengan memanggil prose-dur merge sort secara rekursif

Kombinasi = Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data yang berurutan.Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi jika bagian yang akan diurutkan menyisakan tepat

Page 2: kiki andriani , 5 metode sorting

satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian yagn dikehendaki.

5. Quick SortQuick sort merupakan metode pengurutan dengan algoritma berdasarkan pola divide-and-conquer.

IV. PREPARE YOUR METODE

Selection Sort

A. Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah :1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan data pertama.2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua.3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan, maka membutukan (n - 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena hanya tinggal satu satunya.

B. Contoh:

Bubble sort:10 36 5 7 9 810 5 36 7 9 85 10 36 7 9 8 5 10 36 7 9 8

5 10 36 7 9 85 10 7 36 9 8 5 7 10 36 9 8

5 7 10 36 9 85 7 10 9 36 8 5 7 9 10 36 8

5 7 9 10 36 85 7 9 10 8 36 5 7 9 8 10 36

5 7 9 8 10 365 7 8 9 10 36 5 7 8 9 10 36

Selection Sort:

PROSES 10 1 2 3 4 510 36 5 7 9 8

PEMBANDING POSISI10 < 36 010> 5 2 (Tukar idx)5< 7 05< 9 05< 8 0

5 36 10 7 9 8

PROSES 20 1 2 3 4 55 10 36 7 9 8

PEMBANDING POSISI36 > 10 2 (tukar idx)10> 7 3 (tukar idx)7< 9 1

5 7 10 36 9 8

PROSES 30 1 2 3 4 55 7 10 36 9 8

PEMBANDING POSISI10< 36 210> 9 4 (tukar idx)9> 8 5 (tukar idx)

5 7 8 36 9 10

PROSES 40 1 2 3 4 55 7 8 36 9 10

PEMBANDING POSISI

36> 9 4 (tukar idx)9< 10 3 (tukar idx)

5 7 8 9 36 10

PROSES 50 1 2 3 4 55 7 8 9 36 10

PEMBANDING POSISI53> 10 5 (tukar idx)

5 7 8 9 10 36

Page 3: kiki andriani , 5 metode sorting

Insert Sort:PROSES 10 1 2 3 4 510 36 5 7 9 8

Temp Cek Geser 5 Temp < 10 Data ke -0 ke posisi 15 Temp < 36 Data ke -1 ke posisi 2

5 10 36 7 9 8

PROSES 20 1 2 3 4 55 10 36 7 9 8

Temp Cek Geser 7 Temp < 10 Data ke -1 ke posisi 27 Temp < 36 Data ke -2 ke posisi 3

5 7 10 36 9 8

Proses ke 3

0 1 2 3 4 55 7 10 36 9 8

Temp Cek Geser 8 Temp < 10 Data ke -2 ke posisi 38 Temp < 36 Data ke -3 ke posisi 4

5 7 8 10 36 9

PROSES 4

0 1 2 3 4 55 7 8 10 36 9

Temp Cek Geser 9 Temp < 10 Data ke -3 ke

posisi 49 Temp < 36 Data ke -4 ke

posisi 5

5 7 8 9 10 36

Quick sort

Sebagai contoh, data yang akan diurutkan sejumlah 12 elemen sebagai berikut :33 45 18 7 5 99 57 25 55 10 40 50Misalnya element yang dipilih adalah element yang pertama, maka variabel Sementara bernilai 33. Setelah

diatur, maka nilai 33 akan menempati posisi ke I, yaitu posisi urutan ke 6 sebagai berikut :

Tampak bahwa kondisi berikut terpenuhi, yaitu :

1. Semua elemen di posisi ke 1 sampai dengan posisi ke 5 (10, 25, 18, 7,dan 5) akan lebih kecil atau sama dengan nilai 33 yang dipilih.

2. Semua elemen di posisi ke 7 sampai dengan ke 12 (57,99,55,45,40 dan 50) aka lebih besar atau sama dengan nilai 33 yang dipilih.

Dengan demikian, data tersebut akan terpecah menjadi 2 partisi, sebagai berikut :(10 25 18 7 5) 33 (57 99 55 45 40 50)Proses ini diulangi kembali untuk masing-masing partisi data, yaitu untuk data (10, 25, 18, 7, 5) dan data (57, 99, 55, 45, 40, 50). Untuk partisi yang pertama, bila nilai Sementara yang diambil adalah data pertama kembali dalam partisi bersangkutan, yaitu 10 dan diatur kembali sedemikian rupa, maka nilai data yang dipilih akan terletak di posisi sebagai berikut:(5  7) 10 (18 25) 33 (57 99 55 45 40 50)Untuk mengurutkan masing-masing partisi, maka proses tersebut diulangi kembali dan tiap-tiap partisi dipecah-pecah kembali lebih lanjut. Kurung yang menutupi partisi menunjukkan data yang belum urut dan perlu diurutkan kembali. Sedang data yang tidak berada diantara tanda kurung merupakan data yang sudah diurut. Iterasi selanjutya sampai didapatkan data yang telah urut semuanya adalah sebagai berikut ini.5 ( 7) 10 (18 25) 33 (57 99 55 45 40 50)5   7  10  18 (25) 33 (57 99 55 45 40 50)5   7  10  18  25  33 (50 40 55 45) 57 (99)5   7  10  18  25  33 (50 40 55 45) 57 995   7  10  18  25  33 (45 40) 50 (55) 57 995   7  10  18  25  33 (45 40) 50 55 57 995   7  10  18  25  33  40 (45) 50 55 57 995   7  10  18  25  33  40 45 50 55 57 99

Bila diamati lebih lanjut, maka quick sort dapat didefinisikan dengan lebih mudah menggunakan prosedur rekursi. Misalnya untuk partisi sebagai berikut

Page 4: kiki andriani , 5 metode sorting

Merge sort

Contoh penerapan atas sebuah larik/array sebagai data

sumber yang akan diurutkan {3, 9, 4, 1, 5, 2} adalah sebagai

berikut:

a.       pertama kali larik tersebut dibagi menjadi dua bagian, {3,

9, 4} dan {1, 5, 2}

b.      Kedua larik kemudian diurutkan secara terpisah sehingga

menjadi {3, 4, 9} dan {1, 2, 5}

c.       Sebuah larik baru dibentuk yang sebagai penggabungan

dari kedua larik tersebut {1}, sementara nilai-nilai dalam

masing larik {3, 4, 9} dan {2, 5} (nilai 1 dalam elemen larik

ke dua telah dipindahkan ke larik baru)

d.      langkah berikutnya adalah penggabungan dari masing-

masing larik ke dalam larik baru yang dibuat sebelumnya

e.       {1, 2} ↔{3, 4, 9} dan {5}

f.       {1, 2, 3} ↔ {4, 9} dan {5}

g.      {1, 2, 3, 4}↔{9} dan {5}

h.      {1, 2, 3, 4, 5}↔{9} dan {null}

i.        {1, 2, 3, 4, 5, 9}↔{null}dan {null}

Daftar Pustaka

MERGE SORT http://populeritas.blogspot.com/2013/01/metode-pengurutan-merge-sort.html

QUICK SORT http://kudaneal.blogspot.com/2010/11/v-behaviorurldefaultvmlo.html