3. Bubble Sort : gelembung terbesar angka naik
9, 6, 2, 12, 11, 9, 3,
76, 9, 2, 12, 11, 9, 3,
76, 2, 9, 12, 11, 9, 3,
76, 2, 9, 12, 11, 9, 3,
76, 2, 9, 11, 12, 9, 3,
76, 2, 9, 11, 9, 12, 3,
76, 2, 9, 11, 9, 3, 12,
76, 2, 9, 11, 9, 3, 7,12 lebih besar daripada 7 sehingga mereka dipertukarkan.
12 lebih besar daripada 3 sehingga mereka dipertukarkan.
12 lebih besar dari 9 sehingga mereka dipertukarkan
12 lebih besar dari 11 sehingga mereka dipertukarkan.
Dalam perbandingan ketiga, 9 adalah tidak lebih besar dari 12 sehingga
tidak ada pertukaran dibuat. Kami melanjutkan lagi membandingkan
pasangan berikutnya tanpa merubah daftar.
Sekarang pasangan nomor berikutnya dibandingkan. Sekali lagi 9
adalah lebih besar dan begitu pasangan ini juga dipertukarkan.
Bubblesort membandingkan angka-angka dalam pasangan dari kiri ke
kanan bertukar bila diperlukan. Berikut nomor pertama dibandingkan
dengan yang kedua dan lebih besar karena itu mereka dipertukarkan.
Di akhir telah tercapai jadi ini adalah akhir tahap pertama. 12 di akhir daftar harus
jumlah terbesar dalam daftar sehingga sekarang dalam posisi yang benar. Kami
sekarang memulai tahap baru dari kiri ke kanan.
4. Bubble Sort Example
6, 2, 9, 11, 9, 3, 7,
12
2, 6, 9, 11, 9, 3, 7,
12
2, 6, 9, 9, 11, 3, 7,
12
2, 6, 9, 9, 3, 11, 7,
12
2, 6, 9, 9, 3, 7, 11,
12
6, 2, 9, 11, 9, 3, 7,
12
Perhatikan bahwa kali ini kita tidak perlu membandingkan dua angka
terakhir seperti yang kita tahu 12 berada dalam posisi benar dan sudah
disimpan. Tahap ini hanya membutuhkan 6 perbandingan.
First Pass
Second Pass
5. Bubble Sort
2, 6, 9, 9, 3, 7, 11,
12
2, 6, 9, 3, 9, 7, 11,
12
2, 6, 9, 3, 7, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Kali ini 11 dan 12 berada di posisi yang benar dan sudah disimpan .
Tahap ini hanya membutuhkan 5 perbandingan.
6. Bubble Sort
2, 6, 9, 3, 7, 9, 11,
12
2, 6, 3, 9, 7, 9, 11,
12
2, 6, 3, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Masing-masing membutuhkan perbandingan. Kali ini hanya 4 yang
diperlukan.
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
7. Bubble Sort
2, 6, 3, 7, 9, 9, 11,
12
2, 3, 6, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Daftar sekarang diurutkan tetapi algoritma tidak tahu ini sampai selesai
tahap tanpa pertukaran.
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
2, 6, 3, 7, 9, 9, 11,
12
Fifth Pass
8. Bubble Sort
2, 3, 6, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
2, 6, 3, 7, 9, 9, 11,
12
Fifth Pass
Sixth Pass
2, 3, 6, 7, 9, 9, 11,
12
Tahap ini tidak ada pertukaran yang dibuat sehingga algoritma mengetahui
daftar diurutkan. Oleh karena itu dapat menghemat waktu dengan tidak
melakukan tahap akhir. Dengan memeriksa daftar lain ini bisa menyimpan
pekerjaan banyak lagi.
45. Insection sort
Sebuah algoritma sederhana
Membutuhkan N-1 melewati array
yang akan diurutkan (dengan ukuran
N).
Untuk melewati p = 1 sampai N
Memastikan bahwa unsur-unsur
dalam posisi 0 sampai p dalam rangka
diurutkan.
46. CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 46
Example
34 8 64 51 32 21
Array to be sorted.
N = 6
47. CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 47
34 8 64 51 32 21
Compare
8
34 64 51 32 21
move
8 34 64 51 32 21
insert
Current Item
Pass 1
48. CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 48
8 34 64 51 32 21 64
Current Item
compare
Pass 2
49. CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 49
8 34 64 51 32 21 51
Current Item
8 34 64 32 21
move
8 34 51 64 32 21
insert
compare
compare
Pass 3
50. CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 50
8 34 51 64 32 21 32
Current Item
compare
8 34 51 64 21
move
compare
8 34 51 64 21
move
compare
8 34 51 64 21
move
compare
8 32 34 51 64 21
insert
Pass 4
51. Shell sort
lebih efisien daripada jenis Bubble,
Insertion dan Seleksi
membandingkan item jauh pertama dan
bekerja jalan ke item di dekatnya
interval disebut kesenjangan
dalam implementasi sederhana,
kesenjangan dimulai pada satu-setengah
panjang daftar dan dibelah dua berturut-
turut sampai setiap item dibandingkan
dengan tetangga
52. Shell Sort
An array and the subarrays formed by grouping elements whose indices
are 6 apart.
53. Shell Sort
The subarrays of the previous figure after they are sorted, and the array
that contains them.
54. Shell Sort
The subarrays of the array in previous figure formed by grouping elements
whose indices are 3 apart
55. Shell Sort
The subarrays of previous figure after they are sorted, and the array that
contains them.
56. Merge Sort
Prinsip utama yang diimplementasikan
pada algoritma merge-sort seringkali
disebut sebagai pecah-belah dan
taklukkan cara kerja algoritma merge sort
adalah membagi larik data yang diberikan
menjadi dua bagian yang lebih kecil.
Kedua larik yang baru tersebut kemudian
akan diurutkan secara terpisah. Setelah
kedua buah list tersusun, maka akan
dibentuk larik baru sebagai hasil
penggabungan dari dua buah larik
59. Radix Sort
Merupakan mengurutkan angka berdasarkan letak digit.
1. Tentukan berapa jumlah digit terbanyak dalam suatu bilangan deret.
2. Siapkan indek 0-9 sebagai satuan, urutkan dari kiri ke kanan.
3. Siapkan indek 0-9 sebagai puluhan, urutkan dari kiri ke kanan.
4. Lakukan hal yang sama untuk kamar indek, sampai semua digit angka
habis dibandingkan.
60. 60
CONTOH RADIX SORT
12 44 41 34 11 32 23
Misal masukkan 15 integer seperti array diatas. Bila kita urutkan dengan radix
sort , maka akan seperti dibawah ini :
23
44
34
12
42
32
41
11
0 1 2 3 4 5 6 7 8 9
5087 77
77
50 87 58
58
08
0842
61. 61
CONTOH RADIX SORT
50
Kita tulis lagi seperti dibawah ini :
Kita urutkan lagi menggunakan radix sort
11
12
23
32
34
41
42
44
Jadi hasil akhir seperti dibawah ini
12 42 444111 3223 34
12 42 4441 3411 32 23 77 58 08
0 1 2 3 4 5 6 7 8 9
50 877708
08 50 77 87
58
58
87
62. QUICK SORT
Algoritma pengurutan data yang paling cepat
dan paling banyak di gunakan dalam pengurutan
data.
Proses pengurutannya yaitu dengan
membagi-membagi data menjadi beberapa
partisi-partisi kemudian di bandingkan dalam
partisi-partisi tersebut.
63. Langkah-langkah :
Bila bilangan genap,gunakan rumus
Genap =
Bilangan ganjil,gunakan rumus
Ganjil =
Syarat : Kiri bernilai
kecil,kanan bernilai besar
Tentukan pivot
Bandingkan ujung awal
dengan ujung akhir
tentukan pivot dengan rumus
disamping
Tentukan arah pivot dengan
syarat jika salah satu nilai
disebelah kiri pivot ada yang
lebih besar dari pivot maka pivot
ke kiri, else ke kanan
Ulangi tahap dari awal sampai
angka urut.
64. Contoh Quick Short
47 91 90 31 63 18 21
Misalkan data seperti berikut:
47
p
91 90
31
pivot
63 18
21
q
Langkah 1
Langkah 2 dan 3
47
p
91 90
31
pivot
63 18
21
q
65. Langkah 4
21
p
91 90
31
pivot
63 18
47
q
Langkah 2 dan 3
21
91
p
90
31
pivot
63
18
q
47
21 18
p
90
31
pivot
63
91
q
47
Langkah 4
66. Langkah 2 dan 3
21
18
90
p
31
pivot
63
q
91
47
21
18
63
p
31
pivot
90
q
91
47
Langkah 4
Langkah 2 dan 3
21 18
63
p
31
Pivot
q
90 91
47
21
18
31
Pivot
p
63
q
90 91
47
Langkah 4
68. Rekursif tabel b:
63 90 91 4731
Langkah 2 dan 3
63
p
90
pivot
91
47
q
31
Langkah 4
47
p
90
pivot
91
63
q
31
69. 47
p
90
pivot
91
63
q
31
Langkah 2 dan 3
Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai
maka proses berhenti
4731
90 91 63
b.1
b.2 (pivot dan setelahnya)
72. Karena setelah sampai di pivot, p<q maka proses pada tabel b.2selesai
63
90 91
b.2.1
Proses rekursi b.2.1
90
Pivot
p
91
q
Karena setelah sampai dipivot, p<q maka proses pada tabel b.2selesai
90 91
73. Data setelah di urut
Setelah proses, data-data di satukan
18 21 31 47 63 90 91
74. Building a Heap
membangun Heap
Daftar di atas tidak tumpukan. Mari kita lihat
bagaimana untuk membangunnya menjadi sebuah
tumpukan