ni luh dewi pradnyawati

6
Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Luh Dewi Pradnyawati 14753046 Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung [email protected] Abstraksi Dalam tugas ini mengutamakan kajian implementasi atau sorting menggunkan algoritma untuk pengurutan sejumlah data berdasarkan nilai kunci tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya (descending).Algoritma Sorting termasuk salah satu contoh yang kaya akan solusi untuk menyelesaikan suatu program. dengan menggunkan metode sorting diharapkan kita dapat lebih mudah dalam membuat suatu program. Kata kunci : metode sorting 1.PENDAHULUAN 1.1Latar Belakang sorting merupakan suatu metode yang memasukan elemen-elemen dari yang masih berantakan atau tidak berurutan menjadi rapih berurutan, metode sorting dapat di implementasikan dalam beberapa metode aplikasi. Dalam tulisan ini akan membahas beberapa metode-metode sorting yang dapat di implementasikan dengan mudah seperti misalnya bubble sort, selection short, insertion short dan lain-lain. 1.2tujuan penulisan 1. Dapat mengerti tentang apa itu soring 2. Dapat Menerapkan metode-metode sorting dalam membuat suatu program 3. Menguji dan membandingkan antara cara sorting A dan sorting B atau yang lain sebagainya 11. Kajian Pustaka Berikut ada beberapa metode-metode sorting yang akan dijelaskan dalam pembahasan ini diantaranya: 2.1 Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending)[1] Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu di lakukan penukaran lagi[2]. cara kerja bubble sort : Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya Pengurutan Ascending :Jika elemen sekarang lebih besardari elemen berikutnya maka kedua elemen tersebut ditukar. Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedu elemen tersebut ditukar.

Upload: ni-luh-dewi-pradnyawati

Post on 12-Aug-2015

17 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Ni luh dewi pradnyawati

Metode Sorting dan AplikasinyaTugas Kuliah Algoritma dan Struktur Data

Luh Dewi Pradnyawati14753046

Manajemen InformatikaPoliteknik Negeri LampungBandar Lampung, [email protected]

Abstraksi

Dalam tugas ini mengutamakan kajian implementasi atau sorting menggunkan algoritma untuk pengurutan sejumlah data berdasarkan nilai kunci tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya (descending).Algoritma Sorting termasuk salah satu contoh yang kaya akan solusi untuk menyelesaikan suatu program. dengan menggunkan metode sorting diharapkan kita dapat lebih mudah dalam membuat suatu program.

Kata kunci : metode sorting

1.PENDAHULUAN

1.1Latar Belakang sorting merupakan suatu metode yang memasukan elemen-

elemen dari yang masih berantakan atau tidak berurutan menjadi rapih berurutan, metode sorting dapat di implementasikan dalam beberapa metode aplikasi. Dalam tulisan ini akan membahas beberapa metode-metode sorting yang dapat di implementasikan dengan mudah seperti misalnya bubble sort, selection short, insertion short dan lain-lain.

1.2 tujuan penulisan1. Dapat mengerti tentang apa itu soring2. Dapat Menerapkan metode-metode sorting dalam

membuat suatu program3. Menguji dan membandingkan antara cara sorting

A dan sorting B atau yang lain sebagainya

11. Kajian PustakaBerikut ada beberapa metode-metode sorting yang akan dijelaskan dalam pembahasan ini diantaranya:

2.1 Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending)[1] Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemenarray dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu di

lakukan penukaran lagi[2].

cara kerja bubble sort : Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya

Pengurutan Ascending :Jika elemen sekarang lebih besardari elemen berikutnya maka kedua elemen tersebut ditukar.

Pengurutan Descending: Jika elemen sekaranglebih kecil dari elemen berikutnya, maka kedu elemen tersebut ditukar.

Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutan, asc atau desc.

Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1.

Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisadilakukan, serta tercapai perurutan yang telah diinginkan.

Contohnya:

Page 2: Ni luh dewi pradnyawati

Tahapan proses bubble sort diatas Proses 11. Coba mulailah kerjakan dari yang sebelah kanan kekiri tukar angka 9 dengan 8

2. Bandingkan selanjutnya jika sudah benar tidak usah ditukar kemudian tukar 46 dengan 5

3. Dan kemudian tukar 10 dengan 5Proses 2

1. Tetap dilihat dari yang paling kanan tukar 46 dengan 72. Lalu tukar 10 dengan 7

Proses 31. Lihat sebelah kanan tukar 46 dengan 82. Tukar 10 dengan 8

Proses 41. Diliht dari kanan 46 ebih kecil dari 9 jadi harus

ditukar 2. 10 tukar dengan 93. Jika sudah selesai jadi hasilnya akan berurutan

menjadi 5 7 8 9 10 46Intinya yang besar ke kanan yang kecil kekiri

2.2 selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan, Selection Sort Membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar. Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun) Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.

Metode selection sort memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya.

Contohnya:

2.3 Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada posisinya dengan cara melakukan perbandingan dengan data – data yang ada.

Metode penyiipan (insertion sort) bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil di urutkan Metode ini mengurutkan bilangan-bilangan yang telah dibaca dan berikutnya cara berulang akan menyiapkan bilangan-bilngan dalam array yang belum terbaca ke sisi array yang yang telah terurut.

Contohnya:

Page 3: Ni luh dewi pradnyawati

2.4 shell short adalahMetode ini disebut juga dengan metode pertambahan menurun (diminishing increment). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering 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.

Contohnya:

2.5 Marge short adalah MergeSort adalah algoritma yang berdasarkan strategi divide-and-conquer. Algoritma ini  tediri dari dua bagian utama, yaitu bagian pembagian list menjadi sublist-sublist yang lebih kecil dan bagian sort (pengurutan) dan merge (penggabungan) pada sublist-sublist tersebut.

Proses-proses dalam marge sort:

1)      Divide:  membagi masalah menjadi beberapa submasalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama),

2)      Conquer: memecahkan (menyelesaikan) masing-masing submasalah (secara  rekursif), dan

3)      Combine: mengabungkan solusi masing-masing submasalah sehingga membentuk solusi masalah semula.

Contoh dari marge sort:

Contoh penerapan atas sebuah larik sebagai data sumber yang akan diurutkan {10, 46, 7, 5, 9, 8} adalah sebagai berikut: Larik tersebut dibagi menjadi dua bagian, {10, 46, 7} dan

{5, 9, 8} Kedua larik kemudian diurutkan secara terpisah sehingga

menjadi {10, 46, 7} dan {5, 9, 8} Sebuah larik baru dibentuk yang sebagai penggabungan

dari kedua larik tersebut {5} sementara nilai-nilai dalam masing larik {10, 46,7 } (nilai 5 dalam elemen larik ke dua telah dipindahkan ke larik baru)dan {5, 9,8}

langkah berikutnya adalah penggabungan dari masing-masing larik ke dalam larik baru yang dibuat sebelumnya.

{5,9} <-> {10,46, 7} dan {8}

{5, 9, 10} <-> {46, 7} dan {8}

{5, 7, 9,10} <-> {46} dan {8}

{5, 7, 9, 10,46} <-> {9} dan {8}

{5, 7, 8, 10, 46<-> {9} da null

{5, 7, 8, 9, 10, 46} <-> {null} dan {null}

Atau bisa juga menggunakan program marge sort seperti berikut ini

Page 4: Ni luh dewi pradnyawati

Contoh penerpan metode bubble sort

contoh penerarapan metode insertion sort

Contoh penerapan program shell sort:

Contoh penerapan program selection sort

Contoh penerapan program marge sort:

Page 5: Ni luh dewi pradnyawati

Daftar pustaka:http://fjrarnote.blogspot.com/2015/01/pengertian-shell-sort-

dan.htmlhttps://thenurulazizah.wordpress.com/artikel-2/13-metode-

sorting/

http://id.wikipedia.org/wiki/Urut_gabung

http://andiagusta.blogspot.com/2014/02/buble-sort-dengan-mengunakan-c.html

http://yuliana.lecturer.pens.ac.id/Struktur%20Data%20C/Prak%20SD%20-%20pdf/Praktikum%209.pdf

http://eprints.unsri.ac.id/2644/2/Jurnal_Infotel_2_-_Akatel_SP.pdf

http://entin.lecturer.pens.ac.id/Struktur%20Data%20&%20Algoritma/buku/Data%20Structure%20-%20Bab

%206.pdf

.

.