Pemograman I
Array satu dimensi
VVita kumala jati
0320110027
Present....
Sort Array satu Dimensi
Bubble sort
Selection sort
Insection sort
Shell sort
Marge sort
Radix sort
Quick sort
Heap sort
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.
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
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.
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
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
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.
Selection Sort : bandingkan pindahkan
urutkan
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
1 2 3 4 5 6
Comparison
Data Movement
Sorted
Selection Sort
1 2 3 4 5 6
Comparison
Data Movement
Sorted
DONE!
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.
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
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
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
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
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
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
Shell Sort
An array and the subarrays formed by grouping elements whose indices
are 6 apart.
Shell Sort
The subarrays of the previous figure after they are sorted, and the array
that contains them.
Shell Sort
The subarrays of the array in previous figure formed by grouping elements
whose indices are 3 apart
Shell Sort
The subarrays of previous figure after they are sorted, and the array that
contains them.
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
Example
 Partition into lists of size n/2
[10, 4, 6, 3]
[10, 4, 6, 3, 8, 2, 5, 7]
[8, 2, 5, 7]
[10, 4] [6, 3] [8, 2] [5, 7]
[4] [10] [3][6] [2][8] [5][7]
Example Cont’d
 Merge
[3, 4, 6, 10]
[2, 3, 4, 5, 6, 7, 8, 10 ]
[2, 5, 7, 8]
[4, 10] [3, 6] [2, 8] [5, 7]
[4] [10] [3][6] [2][8] [5][7]
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
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
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
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.
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.
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
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
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
18
Pivot
p
21
q
Langkah 4
Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai maka proses
berhenti
18 21
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
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)
Proses rekursi b.1
47
q
31
Pivot
p
4731
Karena setelah sampai di pivot, p<q maka proses pada tabel b.1 selesai
Proses rekursi b.2
90
p
91
pivot
63
q
Langkah 2 dan 3
90
p
91
pivot
63
q
Langkah 4
63
p
91
pivot
90
q
Langkah 2 dan 3
63
91
Pivot
p
90
q
Langkah 4
63
90
p
91
pivot
q
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
Data setelah di urut
Setelah proses, data-data di satukan
18 21 31 47 63 90 91
Building a Heap
 membangun Heap
Daftar di atas tidak tumpukan. Mari kita lihat
bagaimana untuk membangunnya menjadi sebuah
tumpukan
Building a Heap
Building a Heap
Building a Heap
Building a Heap
Building a Heap
 Now, the list becomes a heap

Array satu dimensi vita kumalajati_0320110017

  • 1.
    Pemograman I Array satudimensi VVita kumala jati 0320110027 Present....
  • 2.
    Sort Array satuDimensi Bubble sort Selection sort Insection sort Shell sort Marge sort Radix sort Quick sort Heap sort
  • 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.
  • 9.
    Selection Sort :bandingkan pindahkan urutkan 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 10.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 11.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 12.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 13.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 14.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 15.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan
  • 16.
    Selection Sort 5 13 4 6 2 Bandingkan Pindahkan Diurutkan  Largest
  • 17.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 18.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 19.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 20.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 21.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 22.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 23.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan
  • 24.
    Selection Sort 5 13 4 2 6 Bandingkan Pindahkan Diurutkan  Largest
  • 25.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 26.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 27.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 28.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 29.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 30.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 31.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 32.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 33.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 34.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 35.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 36.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 37.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 38.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 39.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 40.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 41.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan
  • 42.
    Selection Sort 2 13 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 43.
    Selection Sort 1 23 4 5 6 Comparison Data Movement Sorted
  • 44.
    Selection Sort 1 23 4 5 6 Comparison Data Movement Sorted DONE!
  • 45.
    Insection sort Sebuah algoritmasederhana 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, Spring2003 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, Spring2003 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, Spring2003 Fundamental Structures of Computer Science II Bilkent University 48 8 34 64 51 32 21 64 Current Item compare Pass 2
  • 49.
    CS 202, Spring2003 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, Spring2003 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 efisiendaripada 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 arrayand the subarrays formed by grouping elements whose indices are 6 apart.
  • 53.
    Shell Sort The subarraysof the previous figure after they are sorted, and the array that contains them.
  • 54.
    Shell Sort The subarraysof the array in previous figure formed by grouping elements whose indices are 3 apart
  • 55.
    Shell Sort The subarraysof previous figure after they are sorted, and the array that contains them.
  • 56.
    Merge Sort Prinsip utamayang 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
  • 57.
    Example  Partition intolists of size n/2 [10, 4, 6, 3] [10, 4, 6, 3, 8, 2, 5, 7] [8, 2, 5, 7] [10, 4] [6, 3] [8, 2] [5, 7] [4] [10] [3][6] [2][8] [5][7]
  • 58.
    Example Cont’d  Merge [3,4, 6, 10] [2, 3, 4, 5, 6, 7, 8, 10 ] [2, 5, 7, 8] [4, 10] [3, 6] [2, 8] [5, 7] [4] [10] [3][6] [2][8] [5][7]
  • 59.
    Radix Sort Merupakan mengurutkanangka 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 1244 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 Kitatulis 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 pengurutandata 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 :  Bilabilangan 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 4791 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 6318 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 dan3 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
  • 67.
    18 Pivot p 21 q Langkah 4 Karena setelahsampai di pivot, p<q maka proses pada tabel a selesai maka proses berhenti 18 21
  • 68.
    Rekursif tabel b: 6390 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 dan3 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)
  • 70.
    Proses rekursi b.1 47 q 31 Pivot p 4731 Karenasetelah sampai di pivot, p<q maka proses pada tabel b.1 selesai Proses rekursi b.2 90 p 91 pivot 63 q Langkah 2 dan 3 90 p 91 pivot 63 q
  • 71.
    Langkah 4 63 p 91 pivot 90 q Langkah 2dan 3 63 91 Pivot p 90 q Langkah 4 63 90 p 91 pivot q
  • 72.
    Karena setelah sampaidi 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 diurut 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
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
    Building a Heap Now, the list becomes a heap