SORTING
Beberapa metode sorting
(mengurutkan data) yang dikenal antara lain adalah :
1. Bubble
Sort (Sederhana tetapi lambat)
2. Quick
Sort (Cepat tetapi rumit)
3. Shell
Sort (Agak cepat dan tidak terlalu rumit)
4. Selection
Sort
5. Insert
Sort
6. Merge
Sort
1. BUBBLE SORT
Bubble Sort yaitu salah satu algoritma pengurutan yang paling simpel. Memindahkan element
sekarang dengan element berikutnya, jika elemen sekarang itu lebih besat/lebih kecil dari elemen
berikutmya maka ditukar (berpindah posisi)
Proses Bubble Sort
1. Ascending
- Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih besar maka tukar.
- Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih kecil maka tukar.
2. Descending
- Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih kecil maka tukar.
- Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih besar maka tukar.
Program
Bubble_Sort_menaik ;
Uses Wincrt
;
Var i,n,j:
integer ;
a:array
[1..100] of integer ;
Procedure
bubble ;
Var
z:integer;
Begin
For i:=1 to n-1 do ;
Begin
For j:=n downto i+1 do
Begin
if a[j]<a[j-1] then
Begin
z:=a[j] ;
a[j]:=a[j-1] ;
a[j-1]:=z ;
end;
end;
end;
end;
begin
write
('masukkan banyak larik (maks 100):') ; readln(n) ;
For i:=1 to
n do
Begin write
('A[',i,']:'); readln(a[i]);
end;
Bubble;
Write ('data setelah diurutkan:');
For j:=1 to n do
write (a[j],'');
end.
Output :
Fungsi koding diatas adalah untuk menukarkan posisi dari angka yang ada
pada larik. Jika nilai sekarang lebih kecil dari nilai sebelumnya maka
tukar posisi array. Maksudnya serpti ini, misalnya kita punya data 1 4 3
ketika yang dicek array indeks ke 2 a[2]=4, akan dibandingkan nilainya
dengan array indeks sebelumnya a[2-1]=1, apakah 4 < 1 ? kalau iya
ditukar posisinya. Kalau tidak ya gak ditukar. Selanjutnya pada array
indeks ke 3 a[3]=3 dan a[3-1]=4. Apakah 3<4? Iya, barulah dijalankan
proses pertukaran tempat/posisi array. Konsepnya sama seprti
algoritma tukar bejana.
Dimana kita memiliki sebuah variabel temp yang bernama z.pertama nilai dari larik sekarang (yang ingin dipindahkan) a[i] akan diletakkan pada temp (z). kemudian nilai larik sekarang (a[i]) di isi dengan nilai sebelumnya a[i-1]. Lalu nilai dari a[i-1] di isi nilai z. Contohnya : nilai a[i]= 4 a[i-1]=3. Maka tahapan pertukarannya adalah z := 4; a[i]= 3; a[i-1]=4; selesai deh pertukaran dicek dan dilakukan terus sampai angka terurut semua.
Dimana kita memiliki sebuah variabel temp yang bernama z.pertama nilai dari larik sekarang (yang ingin dipindahkan) a[i] akan diletakkan pada temp (z). kemudian nilai larik sekarang (a[i]) di isi dengan nilai sebelumnya a[i-1]. Lalu nilai dari a[i-1] di isi nilai z. Contohnya : nilai a[i]= 4 a[i-1]=3. Maka tahapan pertukarannya adalah z := 4; a[i]= 3; a[i-1]=4; selesai deh pertukaran dicek dan dilakukan terus sampai angka terurut semua.
2. QUICK SORT (Partition Exchange Sort) Merupakan proses penyusunan elemen
yang membandingkan suatu elemen (pivot) denan elemen yang lain, dan menyusunnya
sedemikian rupa sehingga elemen –elemen lain yang lebih kecil dari pivot
terletak disebelah kiri pivot. Dan elemen yang lebih besar dari pivot terletak
disebelah kanan pivot. Dengan demikian akan terbentuk dua sublist, yang
terletak disebelah kanan dan kiri pivot. Lalu pada sublist kiri dan kanan itu
kita anggap sebuah list baru, dan kita kerjakan proses yang sama seperti yang
sebelumnya. Demikian seterusnya sampai tidak terdapat sublist lagi
3. SHELL SORT Merupakan proses pengurutan data yang sebelumnya acak
menjadi data yang terurut dengan cara menentukan jarak antar elemen yang akan
dibandingkan.
4. SELECTION SORT Memindahkan
elemen dengan cara membandingkan elemen sekarang dengan elemen yang berikutnya
sampai dengan elemen terakhir . Jika ditemukan elemen lain yang lebih kecil /
lebih besar dari elemen sekarang maka dicatat posisinya dan kemudian ditukar
dan begitu seterusnya.
Proses Selection Sort
1. Ascending
·
Elemen
yang paling besar diletakkan di akhir.
·
Elemen
yang paling kecil diletakkan di awal.
2. Descending
·
Elemen
yang paling kecil diletakkan di akhir.
·
Elemen
yang paling besar diletakkan di awal.
5. INSERTION SORT Pengurutan
yang dilakukan dengan cara membandingkan dengan data ke-2 sampai data terakhir.
Jika ditemukan data yang lebih kecil atau lebih besar maka data tersebut
disisipkan kedepan sesuai posisi yang seharusnya
6. MERGE SORT Merupakan
proses pengurutan data yang menggunakan merging dua buah vector. Pada proses
merge sort, data dibuat sepasang-sepasang, yang terdiri dari dua elemen. Jika N
ganjil, maka ada satu vector yang terdiri dari 1 elemen. Lalu kemudian data
tersebut di merging sampai terurut.
Tidak ada komentar:
Posting Komentar