76 - ajirawarontek

Download Report

Transcript 76 - ajirawarontek

SORTING
Selection Sort
Metode pengurutan ini disebut pengurutan
maksimum / minimum karena didasarkan pada
pemilihan elemen maksimum atau minimum
kemudian mempertukarkan elemen
maksimum/minimum tersebut dengan elemen
terujung larik (elemen ujung kiri atau elemen ujung
kanan). Selanjutnya elemen terujung itu kita
“isolasi” dan tidak diikut sertakan pada proses
selanjutnya. Karena proses utama dalam pengurutan
adalah pemilihan elemen maksimum / minimum,
maka metode ini disebut metode pemilihan
(selection sort).
Contoh Selection sort
6 buah elemen dibawah ini akan diurutkan menaik
(ascending)
29
27
10
8
76
21
1
2
3
4
5
6
Langkah 1:
Cari elemen maksimum di dalam larik L[1..6]
maks = L[5] = 76
Tukar maks dengan L[N],hasil akhir langkah 1:
29
27
10
8
21
76
1
2
3
4
5
6
Langkah 2:
(berdasarkan susunan larik hasil langkah 1)
Cari elemen maksimum di dalam larik L[1..5]
maks = L[1] = 29
Tukar maks dengan L[5],hasil akhir langkah 2:
21 27 10
8
29 76
1
2
3
4
5
6
Langkah 3:
(berdasarkan susunan larik hasil langkah 2)
Cari elemen maksimum di dalam larik L[1..4]
maks = L[2] = 27
Tukar maks dengan L[4],hasil akhir langkah 3:
21
8
10
27
29
76
1
2
3
4
5
6
Langkah 4:
(berdasarkan susunan larik hasil langkah 3)
Cari elemen maksimum di dalam larik L[1..3]
maks = L[1] = 21
Tukar maks dengan L[3],hasil akhir langkah 4:
10
8
21
27
29
76
1
2
3
4
5
6
Langkah 5:
(berdasarkan susunan larik hasil langkah 4)
Cari elemen maksimum di dalam larik L[1..2]
maks = L[1] = 10
Tukar maks dengan L[2],hasil akhir langkah 5:
8
10
21
27
29
76
1
2
3
4
5
6
Selesai. Larik sudah terurutkan !
Contoh program selection sort ascending
Untuk algoritma Pengurutan Minimum caranya
sama persis dengan maksimum hanya saja yang
ditukar adalah nilai yang minimum bukan
maksimum.
Dibandingkan dengan pengurutan gelembung
(bubble sort) pengurutan dengan metode
selection sort (maksimum/minimum) ini
memiliki kinerja yang lebih baik. Operasinya
pertukaran hanya sekali saja dilakukan pada
setiap langkah sehingga waktu pengurutan
dapat lebih ditekan. Metode ini
direkomendasikan untuk dipakai.
Insertion Sort
Pengurutan sisip (insertion sort) adalah metode
pengurutan dengan cara menyisipkan elemen
larik pada posisi yang tepat. Pencarian posisi
yang tepat dilakukan dengan pencarian
beruntun. Selama pencarian posisi yang tepat
dilakukan pergeseran elemen larik.
Contoh Insertion Sort
6 buah elemen dibawah ini akan diurutkan menaik
(ascending)
Langkah 1:
Elemen L[1] dianggap sudah terurut
29 27
1
2
10
8
76
21
3
4
5
6
Langkah 2:
(berdasarkan susunan larik pada langkah 1)
Cari posisi yang tepat untuk L[2] pada
L[1..2],diperoleh :
27 29
1
2
10
8
76
21
3
4
5
6
Langkah 3:
(berdasarkan susunan larik pada langkah 2)
Cari
posisi
yang
tepat
untuk
L[3]
L[1..3],diperoleh :
10 27
1
2
29
8
76
21
3
4
5
6
Langkah 4:
(berdasarkan susunan larik pada langkah 3)
Cari
posisi
yang
tepat
untuk
L[4]
L[1..4],diperoleh :
8
10
27
29
76
21
1
2
3
4
5
6
pada
pada
Langkah 5:
(berdasarkan susunan larik pada langkah 4)
Cari posisi yang tepat untuk L[5] pada
L[1..5],diperoleh :
8
10
27
29
76
21
1
2
3
4
5
6
Langkah 6:
(berdasarkan susunan larik pada langkah 5)
Cari
posisi
yang
tepat
untuk
L[6]
pada
L[1..6],diperoleh :
8
10
21
27
29
76
1
2
3
4
5
6
Selesai. Larik sudah terurutkan !
Contoh program Insertion Sort ascending
Kesimpulan
1. Pengurutan dengan metode bubble sort kurang efisien karena terlalu
banyak penukaran yang dilakukan pada setiap langkah dan
membutuhkan banyak waktu serta proses lebih lama, sehingga tidak
direkomendasikan untuk dipakai. Namun metode ini mudah
dipahami dan sederhana.
2. Dibandingkan dengan pengurutan gelembung (bubble sort)
pengurutan dengan metode selection sort (maksimum/minimum) ini
memiliki kinerja yang lebih baik. Operasinya pertukaran hanya
sekali saja dilakukan pada setiap langkah sehingga waktu
pengurutan dapat lebih ditekan.
3. Kelemahan metode sisip terletak pada banyaknya operasi yang
diperlukan dalam mencari posisi yang tepat untuk elemen larik.
Untuk larik yang jumlahnya besar ini tidak praktis. Dari ketiga
metode tersebut, pengurutan maksimum/minimum memiliki kinerja
yang terbaik.
TUGAS
Ubahlah contoh program selection sort
ascending di atas menjadi descending
Dikumpulkan minggu depan script dan print sceen-nya di
kertas