Msw a4 format

6
Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Setia Ilmi Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung [email protected] Abstract—dokumen ini adalah jenis-jenis algoritma pencarian nilai. Yang akan dibahas adalah pencarian secara linear(sequential search) dan pencarian biner (binary search) untuk table yang telah terurut nilainya (sorted table). Pencarian seara linear mempunyai dua jenis metode yaitu dengan Boolean dan tanpa Boolean. jenis- jenis algoritma pengurutan nilai yang akan dibahas pada laporan ini adalah count sort (pengurutan dengan mencacah), selection sort (pengurutan dengan menyeleksi), insertion sort (pengurutan dengan penyisipan), quick sort (pengurutan cepat), merge sort (pengurutan dengan penggabungan), heap sort (pengurutan dengan tumpukan), shell sort (pengurutan cangkang, dan bubble sort (pengurutan gelembung). Algoritma pengurutan nilai yang dibahas pada laporan ini adalah metode sorting dan aplikasi nya. Masing-masing jenis algoritma mempunyai tingkat kemangkusan (keefektifan) yang berbeda. Kata kunci: selection sort, insertion sort, bubble sort, merge sort, quick sort. I. INTRODUCTION (HEADING 1) Dalam pemograman suatu data tidak lepas dari struktur data berupa table (array). Table adalah suatu tipe yang mengacu pada sebuah atau sekumpulan elemen dan dapat diakses melalui indeks. Pemprosesan yang paling sering dilakukan terhadap suatu table bertipe interger adalah pencarian nilai (searching) dan pengurutan nilai terdapat berbagai macam jenis algoritma yang dapat digunakan dengan tingkat keefektifan yang berbeda. Untuk pencarian nilai, ada beberapa jenis metode yaitu pencarian secara linear (sequential search) dan pencarian secara biner (binary search) untuk table yang telah terurut nilainya (sorted table). Masing-masing metode mempunyai kelebihan dan kekurangan dari panjang pendeknya kode, kompleksites kode, waktu pemmprosesan, memori yang digunakan kompatibilita, dan lain sebagainya. Namun kebutuhan waktu dan ruang dari suatu algoritma bergantung pada jumlah data yang diproses dan algoritma yang digunakan. Laporan ini hanya akan membahas definisi metode sorting dan aplikasinya. II. INTRODUCTION (HEADING 1) All manuscripts must be in English. These guidelines include complete descriptions of the fonts, spacing, and related information for producing your proceedings manuscripts. Please follow them and if you have any questions, direct them to the production editor in charge of your proceedings (see author-kit message for contact info). This template provides authors with most of the formatting specifications needed for preparing electronic versions of their papers. All standard paper components have been specified for three reasons: (1) ease of use when formatting individual papers, (2) automatic compliance to electronic requirements that facilitate the concurrent or later production of electronic products, and (3)

Transcript of Msw a4 format

Page 1: Msw a4 format

Metode Sorting dan AplikasinyaTugas Kuliah Algoritma dan Struktur Data

Setia IlmiManajemen Informatika

Politeknik Negeri LampungBandar Lampung, Lampung

[email protected]

Abstract—dokumen ini adalah jenis-jenis algoritma pencarian nilai. Yang akan dibahas adalah pencarian secara linear(sequential search) dan pencarian biner (binary search) untuk table yang telah terurut nilainya (sorted table). Pencarian seara linear mempunyai dua jenis metode yaitu dengan Boolean dan tanpa Boolean. jenis-jenis algoritma pengurutan nilai yang akan dibahas pada laporan ini adalah count sort (pengurutan dengan mencacah), selection sort (pengurutan dengan menyeleksi), insertion sort (pengurutan dengan penyisipan), quick sort (pengurutan cepat), merge sort (pengurutan dengan penggabungan), heap sort (pengurutan dengan tumpukan), shell sort (pengurutan cangkang, dan bubble sort (pengurutan gelembung). Algoritma pengurutan nilai yang dibahas pada laporan ini adalah metode sorting dan aplikasi nya.

Masing-masing jenis algoritma mempunyai tingkat kemangkusan (keefektifan) yang berbeda.

Kata kunci: selection sort, insertion sort, bubble sort, merge sort, quick sort.

I. INTRODUCTION (HEADING 1)

Dalam pemograman suatu data tidak lepas dari struktur data berupa table (array). Table adalah suatu tipe yang mengacu pada sebuah atau sekumpulan elemen dan dapat diakses melalui indeks. Pemprosesan yang paling sering dilakukan terhadap suatu table bertipe interger adalah pencarian nilai (searching) dan pengurutan nilai terdapat berbagai macam jenis algoritma yang dapat digunakan dengan tingkat keefektifan yang berbeda. Untuk pencarian nilai, ada beberapa jenis metode yaitu pencarian secara linear (sequential search) dan pencarian secara biner (binary search) untuk table yang telah terurut nilainya (sorted table).

Masing-masing metode mempunyai kelebihan dan kekurangan dari panjang pendeknya kode, kompleksites kode, waktu pemmprosesan, memori yang digunakan kompatibilita, dan lain sebagainya. Namun kebutuhan waktu dan ruang dari suatu algoritma bergantung pada jumlah data yang diproses dan algoritma yang digunakan. Laporan ini hanya akan membahas definisi metode sorting dan aplikasinya.

II. INTRODUCTION (HEADING 1)

All manuscripts must be in English. These guidelines include complete descriptions of the fonts, spacing, and related

information for producing your proceedings manuscripts. Please follow them and if you have any questions, direct them to the production editor in charge of your proceedings (see author-kit message for contact info).

This template provides authors with most of the formatting specifications needed for preparing electronic versions of their papers. All standard paper components have been specified for three reasons: (1) ease of use when formatting individual papers, (2) automatic compliance to electronic requirements that facilitate the concurrent or later production of electronic products, and (3) conformity of style throughout a conference proceedings. Margins, column widths, line spacing, and type styles are built-in; examples of the type styles are provided throughout this document and are identified in italic type, within parentheses, following the example. PLEASE DO NOT RE-ADJUST THESE MARGINS. Some components, such as multi-leveled equations, graphics, and tables are not prescribed, although the various table text styles are provided. The formatter will need to create these components, incorporating the applicable criteria that follow.

Avoid using bit-mapped fonts. True Type 1 or Open Type fonts are required. Please embed all fonts, in particular symbol fonts, as well, for math, etc.

III. PENJELASAN TENTANG ARRAY DAN SORTING

Array adalah sekelompok data sejenis yang disimpan kedalam variable dengan nama yang sama, hanya sekarang variable-variable tersebut diberi indeks yang membedakan antara yang satu dengan yang lainnya.

Sorting: Pengurutan data dalam struktur data sangat penting untuk data yang bertipe data numberik ataupun karakter. Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urutan turun)

Page 2: Msw a4 format

IV. PENGERTIAN SORTING DAN METODE SORTING

Pengurutan (sorting) adalah prosesmenyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Contoh pada aplikasi perbankan, aplikasi tersebut mampu menampilkan dafter account yang aktif. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan.

A. Metode pengurutan gelembung (bubble sort)Metode pengurutan gelembung (bubble sort)

diinsprirasikan oleh gelmbung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan.

Bubble sort adalah metode/algoritma pengurutan 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 perubahaan berarti data sudah teratur. Disebut pengurutan gelembung karana masing-masing kunci akan dengan alambat menggelembung ke posisi yang tepat.

Kelebihan bubble sort: Metode bubble sort merupakan metode yang

paling simple Dan mudah dipahami algoritmanya

Kelemahan bubble sort:Meskipun simple metode bubble sort merupakan metode

pengurutan yang paling tidak efisien. Kelemahan nya pada saat mengurutkan data yang besar akan mengalami kelambatan luar biasa, atau kinerja memburuk cukup signifikasi ketika data yang diperoleh cukup banyak. Ada juga jumlah pengulangan akan tetap sama jumlahnya walaupun data sesungguhnya sudah cukup teratur. Ini disebabkan karena data dibandingkan dengan setiap data yang lain untuk menentukan posisinya.

Contoh kusus bubble sort 10 57 5 7 9 8

B. Selesction sort

Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan.

Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya, kemudian mencaro elemen terbasar berikutnya dan menempatkan pada tempatnya, dan seterusnya.

Proses pengurutan dengan menggunakan metode selection sort secara teratur anik adalah: 1. Mencari data terkecil dari data pertma sampai data

terakhir, kemudian ditukar posisinya dengan data pertama.

2. Mencari data terkecil dari data kedua sampai terakhir, kemudian ditukar dengan posisinya dengan data kedua.

3. Mencari data terkecil dari data ketiga sampai data terakhir, kemudian ditukar posisinya dengan data ketiga.

4. 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 diurutkan karena hanya tinggal satu-satunya.

Contoh : proses 110 57 5 7 9 8Pembanding posisi10 < 57 010<5 25> 7 25< 9 25< 8 2

Proses 25 57 10 7 9 8Pembanding posisi57>10 210>7 37<9 37<8 3

Proses 3 5 7 10 57 9 8Pembanding posisi 10<57 010>9 49>8 5

Proses 45 7 8 57 9 10Pembanding posisi57>9 49>10 0

Proses 55 7 8 9 57 10 Pembanding posisi57>10 5

C. Metode penyisipan langsung (Insertion sort)

Metode pengurutan selection sort sering dipakai oleh orang saat bermain kartu bridge dalam mengurutkan kartunya, yaitu dengan cara menyisip kartu yang lebih kecil ke urutan sebelum posisi kartu yang dibandingkannya.

Data dicek satu persatu mulai dari yangkedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai.

Contoh: proses 110 57 5 7 9 8

temp Cek Geser

Page 3: Msw a4 format

57 Temp<10 Data ke-0 keposisi1

Proses 257 10 5 7 9 8

Temp cek Geser5 Temp<10 Data ke-1ke posisi2

5 Temp<57 Data ke-1 keposisi0Proses 3 5 10 57 7 9 8

temp cek Geser7 Temp<57 Data ke-3

keposisi27 Temp<10 Data ke-3

keposisi1Proses 4 5 7 10 57 9 8

Temp cek Geser9 Temp<57 Data ke-4

keposisi39 Temp<10 Data ke-4

keposisi2Proses 55 7 910 57 8

Temp cek Geser8 Temp<57 Data ke5 keposisi48 Temp<10 Data ke5 keposisi38 Temp<9 Data ke5 keposisi2

D. Metode penggabungan (merge sort)

Metode penggabungan biasanya digunakan pada pengurutan berkas. Prinsip dari metode penggabungan sebagai berikut : mula-mula diberikan dua kumpulan data yang sudah dalam keadaan urut. Kedua kumpulan data tersebut harus dijadikan satu table sehingga dalam keadaan urut. E. Quick Sort

Algoritma quick sort sangat sederhana dalam teori, tetapi sangat sulit untuk diterjemahkan ke dalam sebuah code karena pengurutan dilakukan dalam sebuah list dan diproses secara rekursif. Algoritma ini terdisi dari empat langkah (yang mana menyerupai merge sort) yaitu:

Memilih sebuah elemen untuk dijadikan poros atau pivot point (biasanya elemen paling kiri dari table).

Membagi table menjadi dua bagian, satu dengan elemen yang lebih besar dari poros, dan satu lagi untuk elemen yang lebih kecil dari poros.

Mengulang algoritma untuk kedua buah table secara rekursif.

Tekhik kreefektifan dari algoritma ini sengat berguntung pada elemen yang dipilih menjadi poros.

V. KELEBIHAN DAN KEKEURANGAN DARI METODE SORTING

A. kelebihan dan kekurangan bubble sort

kelebihan :1. metode bubble sort merupakan yang paling simple2. dan mudah dipahami algoritmanya

kelemahan: meskipun simple metode bubble sort merupakan

pengurangan yang paling tidak efisien. Kelemahan nya pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luas biasa, atau kinerja memburuk cukup signifikasi ketika data yang diperoleh cukup banyak. Dan jumlah pengurlangan akan tetap sama jumlahnya wlaupun data sesungguhnya sudah cukup teratur.

Algoritma dari bubble sort Membandingkan data ke-I dengan data ke-(i+1)

(tepat bersebelahan).jika tidak sesuai maka tukar (data ke-i=data ke-(i+1) dan data ke(i+1)=data ke-i). apa maksudnya tidak suesuai? Jika mengininkan algoritma menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i> data ke-i+1, dan sebaliknya untuk urutan descending(A-Z)

Membandingkan data ke-(i+1) dengan data ke-(i-2). Melakukan perbandingan ini sampai data terakhir. Contoh: 1 dengan2;2 dengn3; \ 3dgn4; 4 dng5….;n-1 dngn n.

Selesai satu iterasi, adalah jika suadah membandingkan antara (n-1) dngan n.sealanjutnya lanjutkan lagi keberikutnya sesuai dengan aturan ke-1. Mulai dari data ke-1 dengan data ke-2, dan seterusnya.

Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.

B. Selection sort

Metode selection sort Jika terdapat N data terkoleksi dari urutan 0 sampai dengan

N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut:

1. Cari data terkecil dalam interval j=0 sampai dengan j =N -1

2. Jika pada posisi pos ditemukan data yang terkecil, tukar posisi pos dengan data di posisi I jika k.

3. Ulangi langkah 1 dan 2 dengan j =j+I sampai dengan j =N-1 dan seterusnya sampaij =N-1

4. Bial diketahui data awal berupa 10 57 5 7 9 8, maka langkah perlangkah dengan metode selection sort

Kelebihan dan kekurangan selection sortKelebihan

Algoritma ini sangat rapat dan mudah untuk diimplementasikan

Operasi pertukaan hanya dilakukan sekali saja Waktu pengurutan dapat lebih ditekan Mudah menggabungkannya kembali

Page 4: Msw a4 format

Kompleksitas selection sort relative lebih kecilKekeurangan

Sulit untuk membagi masalah

C. Insertion sort

Macam-macam metode insertion sort Langsung ( straight insertion sort) Metode penyisipan biner (binary insr=ertion sort)

Memperbaiki metode pengurutan dengan algoritma penyisipan langsung dengan melakukan proses perbandingan yang lebih sedikit sehingga proses pengurutan lebih cepat.

Kelebihan dan kekurangan insertion sortKelebihan

Sederhana dalam penerapannya dalam data yang kecil Jika list sudah teratur atau sebagian teratur maka

insertion sort akan lebih cepat dibandingkan dengan quicksort

dalam dat yang sebagian sudah terurut loop dalam pada insertion sort sangat cepat,

sehingga membuatnya salah satu algoritma pengurutan tercepat pada jumlah elemen yang sedikit

stabilkekurangan

banyak operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen larik

untuk larik yang jumlahnya besar ini tidak praktis jika list teratur terbalik sehingga setiap eksekusi

dari perintah harus memindai dan mengganti seluruh bagian sebelum menyisipkan elemen berikutnya

membutuhkan waktu o(n2) pada data yang tidak terurut, sehingga tidak cocok dalam pengurutan elemen dalma jumlah besar.

D. Kelebihan dan kekurangan merge sort

Algoritma yang sangat efisien dalam penggunaan nya sebab setiap list selalu dibagi menjadi list yang lebih kecil, kemudian digunakan lagi sehingga tidak perlu melakukan banyak perbandingan.

Membutuhkan setidaknya ruang atau memori dua kali lebih besar Karena dilakukan secara rekursif dan memakai dua teble

Metodenya simple dan lebih cepat dibandingkan buble sort

E. Kelebihan dan kekurangan quitck sortKelebihan

Secara umum memiliki kompleksitas O(n log n). Algoritmanya sederhana dan mudah diterapkan

pada berbagai bahasa pemograman dan arsitektur mesin secara efisien

Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti merge sort dan heap sort

Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori

Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter)

Kekurangan Sedikit kesalahan dalam penulisan program

membuatnya bekerja tidak beraturan Memiliki ketergantungan terhadap data yang

dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2)

Secara umum bersifat tidak stable,yaitu mengubah urutan input dalam hasil akhirnya

VI. KESIMPULAN

algoritma pengurutan adalah algoritma yang meletakkan elemen-elemen suatu kumpilan data dalam urutan tertentu.

Ada 2 jenis sorting : ascending (naik) & descending (turun).

Prinsip dasar insertion adalah secara berulang-ulang menyisipkan /memasukan setiapelemen kedalam posisinya/ tempat yang benar

Quick sort banyak digunakan untuk proses sorting: merupakan proses sorting yang umum digunkan mudah untuk diimplementasikan proses sangat cepat

selection sort, mencari elemen yang tepat untuk diletakan diposisi yang telah diketahui dan meletakan diposis tersebut setelah data tersebut ditemuka.

DAFTAR PUSTAKA

http://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2006-2007/Makalah/Makalah0607-77.pdf http://aprimuhammad28-kakaroto.blogspot.com/

2014/01/alpro-materi-sorting.html http://eprints.unsri.ac.id/2644/2/Jurnal_Infotel_2_-

_Akatel_SP.pdf

http://hurt-painless.blogspot.com/2012/04/buble-sort-metode-pengurutan-gelembung.html

http://agusjembung.blogspot.com/2012/02/macam-macam-sorting.html

http://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2006-2007/Makalah/Makalah0607-77.pdf

http://www.academia.edu/6608552/Tugas-makalah-struktur-data http://www.academia.edu/6136390/laporan_sorting_script_di_dalamnya_juga_searching_kok_