Upload
tivanyulistiawan
View
23
Download
3
Embed Size (px)
Citation preview
Metode Sorting dan AplikasinyaTugas Kuliah Algoritma dan Struktur Data
Tivan YulistiawanManajemen Informatika
Politeknik Negeri LampungBandar Lampung, Lampung
Pengertian Sorting
Sort adalah proses pengurutan data yang sebelumnya
disusun secara acak sehingga menjadi tersusun secara teratur
menurut suatu aturan tertentu.
Pada umumnya terdapat 2 jenis pengurutan :
Ascending (Naik)
Mengurutkan data yang mempunyai nilai terkecil
sampai yang terbesar.
Descending (Turun)
Mengurutkan data yang mempunyai nilai terbesar
sampai yang terkecil.
Ada beberapa metode sorting yaitu :
1. Buble Sort
Pengurutan merupakan salah satu proses dasar yang sering
dibahas dalam algoritma dan struktur data. Dan salah
satu algoritma klasik dan paling sederhana dalam
hal pengurutan (sorting) adalah algoritma Bubble Sort.
Terlepas dari beberapa kekurangan yang membuat algoritma
ini tidak banyak digunakan dalam proses pengurutan di
aplikasi, namun tidak bisa dipungkiri, algoritma ini boleh
dikatakan sebagai pionir algoritma sorting. Di dalam
matakuliah Algoritma dan Struktur Data di berbagai perguruan
tinggi juga bisa dipastikan memasukkan konsep pengurutan
menggunakan algoritma Bubble sebagai salah satu pokok
bahasan.
Algoritma bubble sort dalam proses pengurutan data secara
sederhana bisa diibaratkan seperti halnya gelembung udara
(bubble). Algoritma ini akan menggeser nilai yang terkecil
atau terbesar (sesuai dengan jenis
pengurutan, ascending atau descending) ke posisi ujung dari
daftar. Demikian seterusnya hingga semua daftar dalam
keadaan terurut. Proses dasar yang terjadi dalam algoritma ini
adalah proses pertukaran nilai (swapping).
Contoh : 10 62 5 7 8 9
Sebagai contoh kita lihat script di turbo pascal di bawah ini
program sorting;
uses crt;varangka:array[1..5] of integer;i,a,temp:integer;
beginclrscr;angka[1] := 10;angka[2] := 62;angka[3] := 5;angka[4] := 7;
angka[5] := 9;
writeln(.sebelum diurutkan :'); for i:=1 to 5 dobegin writeln('angka ke-', ' : ', angka[1]);end;
for i:=1 to 4 dobegin for a:=i+1 to 5 dobegin if(angka[a] (angka[i])) thenbegin temp := angka[a]; angka[a] := angka[i]; angka[i] := temp;end;end;end;
writeln('setelah diurutkan : ,); for i:=1 to 5 dobegin writeln('angka ke-', ' : ' , angka[i]);end; readln;end.Dan hasilnya dapat kita lihat pada gambar dibawah ini
Dan hasilnya seperti gambar diatas.
2. 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.
.Contohnya : 10 62 5 7 8 9
Proses 1
Proses 2
Proses 3
Proses 3
3. Insert Sort
Pengurutan dilakukan dengan cara membandingkan data
ke-I (dimana I dimulai dari data ke-2 sampai dengan data
terakhir) dengan data berikutnya. Jika ditemukan data yang
lebih kecil maka data tersebut disisipkan ke depan sesuai
posisi yang seharusnya.
Contoh nya : 10 62 5 7 9 8
4. Quick Sort
Membandingkan suatu elemen (disebutpivot) dengan
elemen yang lain dan menyusunnya sedemikian rupa
sehingga elemen- elemen lain yang lebih kecil daripada
pivot tersebut terletak di sebelah kirinya dan elemen-
elemen lain yang lebih besar daripada pivot tersebut
terletak di sebelah kanannya. Sehingga dengan demikian
telah terbntuk dua sublist, yang terletak di sebelah kiri dan
kanan dari pivot. Lalu pada sublist kiri dan sublist kanan
kita anggap sebuah list baru dan kita kerjakan proses yang
sama seperti sebelumnya. Demikian seterusnya sampai
tidak terdapat sublist lagi. Sehingga didalamnya telah
terjadi proses Rekursif
Contohnya :
Proses 1
Proses 4
Proses 1
Proses 2
Proses 3
Proses 4
Proses 5
Proses 2
Daftar Pustaka
sumarna.staff.gunadarma.ac.id/Downloads/
files/31662/8.+Sorting.pdf