Siti rohmatul khoiriah

6
Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Siti Rohmatul Khoiriah 14753060 Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung [email protected] Abstract— Makalah ini menjelaskan Tentang Sorting dan Aplikasinya. Sorting adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu ataupun secara acak, sehingga menjadi tersusun secara teratur menurut aturan tertentu. Kata kunci—Algoritma, SortingAscending,Descending sort,insertion sort. (key words) I. PENDAHULUAN 1.Latar Belakang Sorting adalah salah satu bagian penting dari struktur data adalah proses pengurutan data,itu sendiri.data akan terkadang akan berada dalam bentuk yang tidak berpola ataupun dengan pola tertentu yang tidak kita inginkan ,namun dalam penggunanya ,kita akan selalu ingin menggunakan data data tersebut dalam bentuk yang rapi ataupun berpola sesuai dengan yang kita inginkan .maka dari itu proses sorting adalah proses yang sangat penting dalam struktur data ,terlebih untuk pengurutan data yang bertipe numerik ataupun karakter. Dan Algoritma untuk melakukan sorting juga ada berbagai macam, antara lain: 1. Teoretis : Computational complexity theory, Big O notation, Total order, Stability, Comparison sort. 2. Exchange sorts : Exchange sort, Bubble sort, Cocktail sort, Comb sort, Gnome sort, Quick sort. 3. Selection sorts : Selection sort, Heap sort, Smooth sort. 4. Insertion sorts : Insertion sort, Shell sort, Tree sort, Library sort, Patience sorting. 5. Merge sorts : Merge sort. 6. Non-comparison : Radix sort, Bucket sort, Counting sort, Pigeonhole sort. 7. Others : Topological sorting, Sorting network. Algoritma-algoritma ini tentu saja akan mempunyai efek yang berbeda dalam setiap prosesnya, ada yang mudah digunakan, ada yang mempunyai proses yang sangat cepat, dansebagainya. Pemilihan algoritma untuk sorting ini tidak hanya asal saja dipilih. Pemilihian ini semestinya berdasarkan kebutuhan yang diperlukan. Tidak semua algortima yang

Transcript of Siti rohmatul khoiriah

Page 1: Siti rohmatul khoiriah

Metode Sorting dan Aplikasinya

Tugas Kuliah Algoritma dan Struktur Data

Siti Rohmatul Khoiriah14753060

Manajemen InformatikaPoliteknik Negeri LampungBandar Lampung, Lampung

[email protected]

Abstract— Makalah ini menjelaskan Tentang Sorting dan Aplikasinya. Sorting adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu ataupun secara acak, sehingga menjadi tersusun secara teratur menurut aturan tertentu.

Kata kunci—Algoritma, SortingAscending,Descending sort,insertion sort. (key words)

I. PENDAHULUAN

1.Latar BelakangSorting adalah salah satu bagian penting dari struktur

data adalah proses pengurutan data,itu sendiri.data akan terkadang akan berada dalam bentuk yang tidak berpola ataupun dengan pola tertentu yang tidak kita inginkan ,namun dalam penggunanya ,kita akan selalu ingin menggunakan data data tersebut dalam bentuk yang rapi ataupun berpola sesuai dengan yang kita inginkan .maka dari itu proses sorting adalah proses yang sangat penting dalam struktur data ,terlebih untuk pengurutan data yang bertipe numerik ataupun karakter.

Dan Algoritma untuk melakukan sorting juga ada berba-

gai macam, antara lain:

1. Teoretis : Computational complexity theory, Big O no-tation, Total order, Stability, Comparison sort.

2. Exchange sorts : Exchange sort, Bubble sort, Cocktail sort, Comb sort, Gnome sort, Quick sort.

3. Selection sorts  : Selection sort, Heap sort, Smooth sort.4. Insertion sorts   : Insertion sort, Shell sort, Tree sort,

Library sort, Patience sorting.5. Merge sorts     : Merge sort.6. Non-comparison : Radix sort, Bucket sort, Counting

sort, Pigeonhole sort.7. Others  : Topological sorting, Sorting network.

Algoritma-algoritma ini tentu saja akan mempunyai efek yang berbeda dalam setiap prosesnya, ada yang mudah

digunakan, ada yang mempunyai proses yang sangat cepat, dansebagainya.Pemilihan algoritma untuk sorting ini tidak hanya asal saja dipilih. Pemilihian ini semestinya berdasarkan kebutuhan yang diperlukan. Tidak semua algortima yang pendek itu buruk dan tidak semua algoritma yang super cepat juga akan baik dalam semua kondisi. Misal: algoritma Quick Sort adalah algoritma sorting yang tercepat dalam proses pencariannya, namun jika data yang akan diurutkan ternyata sudah hampir terurut atau tidak terlalu banyak, maka algoritma ini malah akan memperlama proses pengurutan itu sendiri, karena akan banyak perulangan tidak perlu yang dilakukan dalam proses sorting ini.Hal yang umum dilakukan dalam proses sorting adalah proses pertukaran antara 2 elemen atau lebih (analogi memindah air dalam gelas). Untuk melakukan proses pertukaran akan diperlukan adanya variable baru yang digunakan sebagai variable penampung.Permasalahan pengurutan (sorting problem) secara formal didefinisikansebagai berikut[7] :Input: Suatu urutan dari n bilangan,Output: Suatu

permutasi atau penyusunan kembali dari input

sedemikian rupa sehingga pada tata urutan

ascending (dari nilai kecil ke besar) atau padatata

urutan

Page 2: Siti rohmatul khoiriah

descending (dari nilai besar ke kecil).Sebagai con-

toh jika diberikan masukanlima bilangan acak maka kelu-

arannya adalahsebagaimana berikut ini:Input: 2 5 4 1 6 3 (n = 6)Output: 1 2 3 4 5 6 (ascending ) 6 5 4 3 21 (descending  )Data yang diurutkan tidak harus berupa angka, namun bisa saja string misalnya:Input: Saptadi Windisari DesiHendra Arief (n = 5)Output: Arief Desi HendraSaptadi Windisari (ascending )Windisari Saptadi HendraDesi Arief (descending )Pengurutan juga bisa diterapkan secaratidak langsung pada sekelompok data.Misalkan untuk kelima data nama di atas,hendak diurutkan dari nama dengan jumlahkarakter terkecil hingga nama dengan jumlahkarakter terbanyak.Sehingga keluarannya diperoleh:Output: Desi Arief Hendra(4) (5) (6)Saptadi Windisari(7) (9) (ascending )Jadi dapat disimpulkan bahwa dalam pengurutan harus terdapat: data yang akan diurutkan dalam tipe yangsama atau

setidaknya memperoleh perlakuan data yang sama

aturan pengurutan yang jelas Ada banyak metode pengurutan antaralain: bubble sort, bi-directional bubble sort,selection sort, shaker sort, insertion sort, in- place merge sort, double storage merge sort,comb sort 11, shell sort, heap sort, exchangesort, merge sort, quick sort, quick sort with bubblesort, enhange quick sort, fast quick sort. radix sort algorithm, swap sort, dan lainsebagainya[4].Untuk membatasi luasnya pembahasan,maka dalam makalah ini hanya akan dibahas 2metode, yaitu Insertion Sort dan Merge Sort.Pembahasan untuk tiap metode akandifokuskan pada cara kerja pengurutan besertacontohnya, analisa algoritma untuk kondisiterburuk ( worst case ), rata-rata (average case),terbaik (best case), implementasinya dalam bahasa C++ serta pengujian waktu eksekusiuntuk kedua metode tersebut.

11.Buble Sort

Metode Buble sort Metodw pengurutan buble sort /gelembung ,prosedur atau algoritmanya adalah sebagai berikut :Pengecekanya dimulai dari 1 sampai dengan data ke-n.Bandingkan data ke-n dengan data sebelumnya (n-1),jika lebih kecil maka tukar bilangan tersebut dengan data yang ada didepanya satu persatu (n-1,n-2,n-3,n-3…dst)Lakukan langkah ke 2 sampai mendapatkan urutan mak-simal .berikut ini kita akan mencoba membuat sebuah program pengurutan data atau sorting dengan metode bu-

ble sort.kita akan memasukan 15 data yang int data [15]={8,1,45,2,5,2,9,6,12,8,6,10,11,44}yang tidak berurutan .programnyanya serta kita akan menghintung berapa banyak proses pertukaran posisi data ,dan beberapa banyak proses perbandingan data.

Page 3: Siti rohmatul khoiriah

111.Insertion Sort Salah satu algoritma sorting yang paling sederhana adalah insertion sort. Insertion Sort disebut-sebut seba-gai metode pertengahan. Artinya, metode ini memiliki kecepatan rata-rata antara metode primitif (bubble danselection) dan modern (merge dan quick) [10] .Metode ini, didasarkan pada sebuah kunciyang diambil pada elemen ke-2 pada sebuahlarik, lalu menyisipkan elemen tersebut jikakondisi percabangan terpenuhi. Metode penyisipan (insertion) bertujuan untuk men-jadikan bagian sisi kiri larik terurutkansampai dengan seluruh larik berhasil diurutkan.

Algoritma dan PseudocodeIde dari algoritma ini dapat dianalogikan

sepertimengurutkan kartu.Penjelasan berikut ini menerangkan bagaimanaalgoritma insertion sort bekerja dalam pengurutan kartu[7]

Gambar 1. Analogi Metode Insertion Sort Anggaplah bahwa terdapat sebuah meja yang berisi setumpuk kartu. Meja ini melambangkan kondisi larik sebelum diurutkan. Langkah-langkah pengurutan adalah sebagai berikut:-Ambil kartu pertama dari meja, letakkan ditangan kiri.-Ambil kartu kedua dari meja, bandingkandengan kartu yang berada di tangan kiri,kemudian letakkan pada urutan yang sesuaisetelah perbandingan.-Ulangi proses hingga seluruh kartu padameja telah diletakkan berurutan pada tangankiri.Kartu-kartu pada tangan kiri tersebut menunjukkan kondisi larik sesudah diurutkan.Pseudocodeuntuk algoritma insertion sort adalah sebagai berikut[6]

1V.MERGE SORT

Merge sort adalah metode pengurutan yang menggunakan pola divide and conquer[10]Strateginya adalah dengan membagi sekelompok data yang akan diurutkan menjadi beberapa kelompok kecil terdiri dari maksimal dua nilai untuk dibandingkan dan digabungkan lagi secara keseluruhan .

Langkah kerja dari merge sort [9]:

1. Divide

Memilih Elemen –elemen dari rangkain data menjadi dua bagian mengulangi pemilihan hingga satu elemen terdiri maksimal dua nilai .

2. ConquerMengurutkan masing- masing Elemen .

3. Kombinasu Mengkombinasi dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan .proses rekursi berhenti jika mencapai elemen dasar .hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tempat satu elemen .sisa pengurutan satu elemen tersebut menandakan bahwabagian tersebut telah terurut sesuai rangkain .Algoritma dan pseudocode Algoritma merge sort sebenernya sederhana [9] :bagi larik menjadi dua sama besar ,urutkan bagian pertama,urutkan bagian kedua ,lalu gabungkan Sebagai contoh ,jika terdapat data berupa 38,27,43,3,9,82 dan 10 maka ilusrasi pengurutnya adalah sebagai berikut :

Gambar .ilustrasi merge sort

Page 4: Siti rohmatul khoiriah

V.SHELL SORT

metode pertambahan menurun Metode ini dikembangkan oleh donal elshell Pada tahun 1959 sehingga sering disebut metode shell sort metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu.

V. DAFTAR PUSTAKA

http://itx.web.id/php/fungsi-sorting-pengurutan-instan-dengan-php/

http://www.academia.edu/4618083/Jurnal_Infotel_2_Akatel_SP

http://www.academia.edu/6023555/STMIK_and_AMIK_LOGIKA_MEDAN_MAKALAH_STRUKTUR_DATA

Page 5: Siti rohmatul khoiriah