Dokumen tersebut membahas berbagai metode sorting dan kelebihan serta kekurangannya. Metode sorting yang dijelaskan antara lain bubble sort, selection sort, insertion sort, merge sort, dan quick sort. Setiap metode memiliki kelebihan dan kekurangan tergantung jenis dan jumlah data yang diurutkan.
1. Metode Sorting dan Aplikasinya
Tugas Kuliah Algoritma dan Struktur Data
Setia Ilmi
Manajemen Informatika
Politeknik Negeri Lampung
Bandar Lampung, Lampung
Setiailmi8@gmail.com
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)
2. 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 1
10 57 5 7 9 8
Pembanding posisi
10 < 57 0
10<5 2
5> 7 2
5< 9 2
5< 8 2
Proses 2
5 57 10 7 9 8
Pembanding posisi
57>10 2
10>7 3
7<9 3
7<8 3
Proses 3
5 7 10 57 9 8
Pembanding posisi
10<57 0
10>9 4
9>8 5
Proses 4
5 7 8 57 9 10
Pembanding posisi
57>9 4
9>10 0
Proses 5
5 7 8 9 57 10
Pembanding posisi
57>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:
3. proses 1
10 57 5 7 9 8
temp Cek Geser
57 Temp<10 Data ke-0 keposisi1
Proses 2
57 10 5 7 9 8
Temp cek Geser
5 Temp<10 Data ke-1ke posisi2
5 Temp<57 Data ke-1 keposisi0
Proses 3
5 10 57 7 9 8
temp cek Geser
7 Temp<57 Data ke-3
keposisi2
7 Temp<10 Data ke-3
keposisi1
Proses 4
5 7 10 57 9 8
Temp cek Geser
9 Temp<57 Data ke-4
keposisi3
9 Temp<10 Data ke-4
keposisi2
Proses 5
5 7 910 57 8
Temp cek Geser
8 Temp<57 Data ke5 keposisi4
8 Temp<10 Data ke5 keposisi3
8 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.
A. 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 simple
2. 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 sort
Kelebihan
• Algoritma ini sangat rapat dan mudah untuk
diimplementasikan
• Operasi pertukaan hanya dilakukan sekali saja
• Waktu pengurutan dapat lebih ditekan
4. • Mudah menggabungkannya kembali
• Kompleksitas selection sort relative lebih kecil
Kekeurangan
• 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 sort
Kelebihan
• 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
• stabil
kekurangan
• 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
B. Kelebihan dan kekurangan quitck sort
Kelebihan
• 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/Matdi
s/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/M
atdis/2006-2007/Makalah/Makalah0607-77.pdf
http://www.academia.edu/6608552/Tugas-makalah-
struktur-data