analisis metode sorting

Upload: ferry-wijaya

Post on 11-Oct-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

Analisis Metode Sorting1. 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]

12543189406

Tentukan pivot pada array, misalkan pivot itu x makaX = 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]

1254Pivot=3189406

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]

1254Pivot=3189406

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]

1254Pivot=3189406

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

126Pivot=31894054

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]

12631894054

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]

12Pivot=63189Pivot=4054

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]

61231894054

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]

61231408954

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]

61231405489

Maka Hasil sorting nya :Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

61231405489

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]

12543189406

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

125431

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

89406

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

125431

Data[0]Data[1]Data[2]

123154

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

89406

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

40896

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

64089

Proses 4 :Data[0]Data[1]Data[2]

123154

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

64089

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]Data[3]Data[4]Data[5]

Data[0]Data[1]Data[2]

123154

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

64089

Data lama di masukkan ke dalam list baru dengan cara membandingkan kedua bagian dari yang terkecil kemudian dimasukkan ke list baru secara terurut.Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

6

1.

Data[0]Data[1]Data[2]

123154

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

4089

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

612

2.Data[0]Data[1]Data[2]

3154

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

4089

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

61231

3.Data[0]Data[1]Data[2]

54

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

4089

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

6123140

4.Data[0]Data[1]Data[2]

54

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

89

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

612314054

5.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]

61231405489

6.

Data[0]Data[1]Data[2]

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

Maka Hasil sorting nya :Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

61231405489

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

6999999999999999999999999999999

5699999999999999999999999999999

7099999999999999999999999999999

75999999999999999999999999999994299999999999999999999999999999

3099999999999999999999999999999

Parent harus mempunyai nilai tertinggi dari child nya.

Parent6999999999999999999999999999999

5699999999999999999999999999999

7099999999999999999999999999999

MaxChild75999999999999999999999999999994299999999999999999999999999999

Child3099999999999999999999999999999

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

7599999999999999999999999999999

5699999999999999999999999999999

7099999999999999999999999999999

69999999999999999999999999999994299999999999999999999999999999

3099999999999999999999999999999

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

Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

705669423075

7099999999999999999999999999999

5699999999999999999999999999999

69999999999999999999999999999

4299999999999999999999999999999

3099999999999999999999999999999

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]

694256307075

6999999999999999999999999999999

4299999999999999999999999999999

5699999999999999999999999999999

3099999999999999999999999999999

Proses 5 :Sama seperti sebelumnya, 69 digantikan 56 dan 56 ditempatkan di parent, 30 ditempatkan di maxchild.Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

563042697075

5699999999999999999999999999999

3099999999999999999999999999999

429999999999999999999999999999

Proses 6 :56 digantikan 42 dan 42 ditempatkan di parent sedangkan 30 tetap di maxchild.Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

423056697075

4299999999999999999999999999999

3099999999999999999999999999999

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

304256697075

3099999999999999999999999999999

Maka Hasil sorting nya :Data[0]Data[1]Data[2]Data[3]Data[4]Data[5]

61231405489