Anda di halaman 1dari 10

Analisis Metode Sorting

1. Quick Sort
Proses 1 :
Data yang ingin diurutkan yaitu [12, 54, 31, 89, 40, 6]
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 54 31 89 40 6
Tentukan pivot pada array, misalkan pivot itu x maka
X = data[(L+R)/2]
X = data[(0+5)/2]
X = data[5/2]
X = data [2]
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 54 Pivot=31 89 40 6

Proses 2 :
Membandingkan data nya harus di mulai dari data bagian kiri ujung dan
data bagian kanan ujung.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 54 Pivot=31 89 40 6

Kemudian mencari data di kiri [i] > 31 jika data [i] tidak > 31 maka data
[i+1] dan didapatkan 54, untuk data di kanan [j] < 31 jika data [j] tidak <
31 maka data [j-1] dan didapatkan 6. Kemudian data [1] dan [5]
ditukarkan.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 54 Pivot=31 89 40 6


Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 6 Pivot=31 89 40 54

Proses 3 :
Data pada bagian kiri pivot tidak ada yang lebih besar 31 dan data pada
bagian kanan pivot juga tidak ada yang lebih kecil dari 31 maka data di
kelompokkan menjadi 2 bagian yaitu:
- kelompok data pertama yaitu data indeks 0 s/d 2.
- kelompok data kedua yaitu data indeks 3 s/d 5.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 6 31 89 40 54

Setelah itu tentukan pivot pada kelompok data pertama yaitu x = [2/2] =
data [1]. Dan kelompok data kedua yaitu x = [8/2] = data [4].
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 Pivot=6 31 89 Pivot=40 54

Kemudian bandingkan pivot kelompok pertama yaitu 6. Di bagian kiri
Data[i] > 6 dan bagian kanan data [i] < 6, maka didapatkan 12 dan
ditukarkan dengan 6.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 89 40 54

Proses 4 :
Pada kelompok kedua pivot nya yaitu 40. Di bagian kiri data [j] > 40
dan di bagian kanan data [j] < 40, maka didapatkan 89 dan ditukarkan
dengan 40.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 89 54

Proses 5:
Dan data [4] dan data [5] masih belum terurut maka pivot yang diambil
yaitu 89. Di bagian kiri data [j] > 89 dan di bagian kanan data [j] < 89.
Maka didapatkan 54 dan ditukarkan dengan 89.
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54 89

Maka Hasil sorting nya :
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54 89


2. Merge Sort
Proses 1 :
Data yang ingin diurutkan yaitu [12, 54, 31, 89, 40, 6]
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
12 54 31 89 40 6

Proses 2 :
Proses 2 dilakukan dengan cara devide yaitu data dibagi menjadi 2 :
Data[0] Data[1] Data[2]
12 54 31

Proses 3 :
Setelah itu bagian pertama terdapat tengah atau mid yaitu 54
dimana data[1] dibandingkan dengan data [0] maka tidak terjadi
Data[3] Data[4] Data[5]
89 40 6
pertukaran sedangkan data [1] dibandingkan dengan data [2] maka
terjadi pertukaran.
Data[0] Data[1] Data[2]
12 54 31



Setelah itu bagian kedua terdapat tengah atau mid yaitu 40 dimana
data[4] dibandingkan dengan data [3] maka terjadi pertukaran





Sedangkan data [3] dibandingkan lagi dengan data [5] dapat terjadi
pertukaran.


Proses 4 :
Data[0] Data[1] Data[2]
12 31 54

Setelah selesai pada tahap devide maka dilakukan tahap kombinasi
yaitu membuat 1 list baru untuk menampung data yang sudah di
devide.

Data[0] Data[1] Data[2]
12 31 54
Data[3] Data[4] Data[5]
89 40 6
Data[3] Data[4] Data[5]
40 89 6
Data[3] Data[4] Data[5]
6 40 89
Data[3] Data[4] Data[5]
6 40 89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]





Data lama di masukkan ke dalam list baru dengan cara
membandingkan kedua bagian dari yang terkecil kemudian
dimasukkan ke list baru secara terurut.
1.



2.



3.



4.


Data[0] Data[1] Data[2]
12 31 54
Data[3] Data[4] Data[5]
6 40 89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6
Data[0] Data[1] Data[2]
12 31 54
Data[3] Data[4] Data[5]
40 89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12
Data[0] Data[1] Data[2]
31 54
Data[3] Data[4] Data[5]
40 89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31
Data[0] Data[1] Data[2]
54
Data[3] Data[4] Data[5]
40 89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40
Data[0] Data[1] Data[2]
54
Data[3] Data[4] Data[5]
89

5.




6.



Maka Hasil sorting nya :



3. Heap Sort
Proses 1 :
Data yang ingin diurutkan yaitu [12, 54, 31, 89, 40, 6]








Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54
Data[0] Data[1] Data[2]

Data[3] Data[4] Data[5]
89
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54 89
Data[0] Data[1] Data[2]

Data[3] Data[4] Data[5]

Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54 89
69
99
56
99
70
99
42
99
30
99
75
99

Parent harus mempunyai nilai tertinggi dari child nya.

Parent


MaxChild


Child


Proses 2 :
Karena di Child ada nilai lebih tinggi yaitu 75 maka ditukar dengan 69
(parent).









Proses 3 :
Kemudian dimasukkan ke dalam list baru dan diurutkan dari nilai
terbesar (parent) dan 75 digantikan dengan 70 karena nilai 75 masuk ke
69
99
56
99
70
99
42
99
30
99
75
99
75
99
56
99
70
99
42
99
30
99
69
99
dalam list baru sehingga 70 ditempatkan di parent dan 69 ditempatkan di
maxchild.












Proses 4 :
Nilai parent nya di masukkan lagi ke dalam list baru dan 70 digantikan
dengan 69, 69 ditempatkan di parent dan 42 ditempatkan di maxchild.










Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
70 56 69 42 30 75
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
69 42 56 30 70 75
70
99
56
99
69
99
42
99
30
99
69
99
42
99
56
99
30
99


Proses 5 :
Sama seperti sebelumnya, 69 digantikan 56 dan 56 ditempatkan di
parent, 30 ditempatkan di maxchild.









Proses 6 :
56 digantikan 42 dan 42 ditempatkan di parent sedangkan 30 tetap di
maxchild.









Proses 7 :
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
56 30 42 69 70 75
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
42 30 56 69 70 75
56
99
30
99
42
99
42
99
30
99
42 digantikan dengan 30 dan sudah tidak ada lagi maxchild dan child
nya.






Maka Hasil sorting nya :

Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
30 42 56 69 70 75
Data[0] Data[1] Data[2] Data[3] Data[4] Data[5]
6 12 31 40 54 89
30
99