Exchange
Sort
- Semua
data dibandingkan dengan data pembanding, dimana pada akhir proses data
terbesar akan berada pada akhir urutan.
- Pada
proses 1: data ke-1 dibandingkan dengan data ke-2 jika data ke-1
lebih besar maka kedua data langsung ditukar.
Kemudian data ke-1 dibandingkan lagi dengan data ke-3, lebih besar?
Tukar! Demikian seterusnya.
- Pada
proses 2: data ke-2 dibandingkan dengan data ke-3 jika data ke-2 lebih
besar maka kedua data langsung ditukar. Kemudian data ke-2 dibandingkan
lagi dengan data ke-4, lebih besar? Tukar! Demikian seterusnya.
- Dan
seterusnya…..
Selection
Sort
- Hampir
sama dengan Exchange Sort, bedanya yang ditukar adalah indeknya. Penukaran
data dilakukan di akhir proses.
- Pada
proses 1: variabel indek diberi nilai 1 (data ke-1)
kemudian data indek dibandingkan dengan data ke-2 jika data
indek lebih besar maka nilai indek adalah 2 (data
ke-2). Kemudian data indek dibandingkan lagi dengan data ke-3,
lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah
selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak.
Jika nilai indek mengalami perubahan maka data
ke-1 ditukar dengan data indek.
- Pada
proses 2: variabel indek diberi nilai 2 (data ke-2)
kemudian data indek dibandingkan dengan data ke-3 jika data
indek lebih besar maka nilai indek adalah 3 (data
ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4,
lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah
selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak.
Jika nilai indek mengalami perubahan maka data
ke-2 ditukar dengan data indek.
- Dan
seterusnya…..
Insertion
Sort
- Mirip
dengan cara orang mengurutkan kartu selembar demi selembar kartu diambil
dan disisipkan (insert) ke tempat yang seharusnya.
- Pengurutan
dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data
yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert)
diposisi yang seharusnya.
Bubble Sort
- Membandingkan
data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data
ditukar.
- Kemudian
membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar,
kedua data ditukar lagi.
- Demikian
seterusnya sampai data terakhir, sehingga data kedudukannya akan
bergeser-geser.
- Untuk
proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir
dikurangi satu.
Quick Sort
- Tentukan
data acuan (data paling tengah).
- Tentukan
indek bawah (data ke-1) dan indek atas (data terakhir).
- Disebelah
kiri dari data acuan, besarnya harus lebih kecil dari data acuan.
- Sedangkan
disebelah kanan dari data acuan, besarnya harusnya lebih besar dari data
acuan.
- Selama
data indek bawah < data acuan, maka indek bawah dinaikkan.
- Selama
data indek atas > data acuan, maka indek atas diturunkan.
- Jika
indek bawah <= indek atas maka data indek bawah dan data indek atas
ditukar kemudian indek bawah dinaikkan dan indek atas diturunkan.
- Jika
indek pertama < indek atas maka proses pengurutan dimulai lagi dimana
data telah berubah dari indek pertama sampai indek atas.
- Jika
indek bawah < indek terakhir (jumlah data) maka proses pengurutan
dimulai lagi dimana data telah berubah dari indek bawah sampai indek
terakhir.
Shell Sort
- Proses
1: menentukan jarak dari data yang akan dibandingkan (jumlah data dibagi 2
à N/2).
- Dilakukan
pengulangan dari 1 sampai dengan N/2.
- Setiap
pengulangan dilakukan perbandingan antara data ke-1 dengan data
ke-1+(N/2), apabila data ke-1 > data ke-1+(N/2) maka kedua data
ditukar.
- Pengulangan
berikutnya membandingkan data ke-2 dengan data ke-2+(N/2).
- Proses
2: membagi jarak data N/2 menjadi 2 lagi (N/4)
- Kemudian
dilakukan langkah-langkah seperti proses 1 tetapi pengulangan yang
dilakukan adalah dari 1 sampai dengan N-N/2.
- Hal ini
dilakukan terus menerus sampai jaraknya = 1.
Binary
Insertion Sort
- Mengurutkan
sekumpulan data dengan membandingkan data yang dimasukkan dengan data yang
ada ditengah.
- Jika
data yang dimasukkan lebih besar dari data tengah, maka data tersebut
harus ditempatkan disebelah kanan dari data tengah.
- Sebaliknya
jika lebih kecil, maka harus ditempatkan disebelah kiri dari data tengah.
- Untuk
data selanjutnya (yang akan dimasukkan), cari data tengah yang baru untuk
membandingkan data yang akan dimasukkan selanjutnya.
- Demikian
seterusnya.
download materi disini
No comments:
Post a Comment