Data II
Sorting
Annisa Paramitha F., S.Kom., M.Kom
Sorting (Pengurutan)
Pengurutan didefinisikan sebagai proses untuk menyusun kembali
himpunan objek dengan menggunakan aturan tertentu. Secara umum ada
dua jenis pengurutan data, yaitu :
1.
2.
Metode Sorting
1. Metode Bubble Sort
2. Metode Selection Sort
3. Metode Insertion Sort
4. Metode Quick Sort
5. Metode Heap Sort
Bubble Sort
Metode bubble sort merupakan metode pengurutan yang
mengambil proses dengan menggunakan bubble atau
exchange. Perbandingan data dilakukan dari posisi
pertama atau posisi terakhir bergeser satu persatu sampai
semua data dibandingkan.
Max Array = 5
a
Proses 1
a
Hasil
If data[a]> data[b]
data[9] > data[4]
Proses 2
temp
=b
b
=a
a
= temp
If data[a]> data[b]
data[4] > data[2]
Proses 3
temp
=b
b
=a
a
= temp
a
Proses 4
Proses 2
a
Proses 3
a
Proses 4
a
Proses 5
HASIL
Data Awal :
a
Proses 1
a
Proses 2
a
Proses 3
Proses 4
b
Proses 5
a
Proses 6
a
Proses 7
Proses 7
b
Proses 8
a
Proses 9
HASIL
b
If a<b, Maka tukar
temp
=b
b
=a
a
= temp
Selection Sort
Selection sort adalah algoritma pengurutan data yang sangat
sederhana. Ide dasarnya adalah mencari elemen data dengan nilai
terkecil (untuk model descending) atau nilai terbesar (untuk model
ascending), dan menempatkan pada lokasi terakhir, kemudian
melakukan hal yang sama untuk pengurutan tanpa mengikutkan data
yang sudah terurut sebelumnya.
Max Array = 5
a
Proses 1
xmin
Hasil
xmin = 1
temp
=a
a = xmin
xmin
= temp
xmin = 4
xmin = 2
temp
=a
a = xmin
xmin
= temp
Proses 2
xmin xmin
Hasil
xmin = 3
temp
=a
a = xmin
xmin
= temp
Proses 3
xmin
Hasil
xmin = 4
temp
=a
a = xmin
xmin
= temp
Proses 2
xmin
Hasil
Data Awal :
Max Array = 5
b
= 90
20
temp
=a
a = xmax
xmax
= temp
Proses 1
xmax xmax
Hasil
xmax
xmax
= 20
temp
=a
a = xmax
xmax
= temp
Proses 2
xmax
Hasil
a
= 17
15
temp
=a
a = xmax
xmax
= temp
Proses 2
xmax xmax
Hasil
xmax
Data Awal :
a
Proses 1:
a
Proses 2:
b
a++; (a = 2)
b = a;
while (b>0 && data[b]<data[b-1]
data[22]<data[67]
temp
=b
b = b-1
b-1 = temp
a++; (a = 3)
b = a;
while (b>0 && data[b]<data[b-1]
data[15]<data[67]
temp
=b
b = b-1
b-1 = temp
b--;
a=3 b=2
while (b>0 && data[b]<data[b-1]
data[15]<data[22]
Hasil :
Proses 4:
a++; (a = 4)
b = a;
while (b>0 && data[b]<data[b-1]
data[34]<data[67]
temp
=b
b = b-1
b-1 = temp
b--;
a=4 b=3
while (b>0 && data[b]<data[b-1]
data[34]<data[22]
Proses 5:
b = a;
b--;
a=5 b=4
while (b>0 && data[b]<data[b-1]
data[9]<data[34]
temp
=b
b = b-1
b-1 = temp
b--;
a=5 b=3
while (b>0 && data[b]<data[b-1]
data[9]<data[22]
temp
=b
b = b-1
b-1 = temp
b--;
a=5 b=2
while (b>0 && data[b]<data[b-1]
HASIL
AKHIR:
data[9]<data[15]
temp
=b
b = b-1
b-1 = temp
Data Awal :
a
Proses 1:
Proses 2:
a++; (a = 2)
b = a;
while (b>0 && data[b]>data[b-1]
data[22] > data[67]
a++; (a = 3)
b = a;
Proses 3:
a++; (a = 4)
b = a;
while (b>0 && data[b]>data[b-1]
data[34] > data[15]
temp
=b
b = b-1
b-1 = temp
b--;
a=4 b=3
Proses 4
(lanjutan) :
HASIL:
a
b
a++; (a = 5)
b = a;
Proses 5: