2. Sort adalah suatu proses pengurutan data
yang sebelumnya disusun secara acak atau
tidak teratur menjadi urut atau teratur
menurut suatu aturan tertentu.
2
3. Biasanya pengurutan dibagi menjadi 2 yaitu :
Ascending Pengurutan dari kecil ke besar
Descending Pengurutan dari besar ke kecil
3
4. Ada banyak cara atau metode untuk
melakukan pengurutan ascending atau
pun descending.
Dalam proses pengurutan kita akan
memerlukan proses penukaran data.
Proses penukaran data tidak bisa kita
lakukan secara langsung dengan menukar
isi variabel.
Penukaran data dilakukan dengan metode
swap.
4
5. Misalkan terdapat dua data yang akan ditukar
yaitu :
Cara yang salah :
Cara yang benar :
data[1] = 5;
data[2] = 10;
data[1] = data[2];
data[2] = data[1];
swap = data[1];
data[1] = data[2];
data[2] = swap;
5
6. Untuk melakukan pengurutan terdapat
beberapa cara atau metode diantaranya :
Bubble Sort
Selection Sort
Insertion Sort
6
7. Bubble Sort adalah suatu metode pengurutan
yang membandingkan elemen yang sekarang
dengan elemen yang berikutnya.
Apabila elemen yang sekarang > elemen
berikutnya, maka posisinya ditukar, jika
tidak maka tidak perlu ditukar.
7
8. Misalkan kita memiliki data acak sebagai
berikut :
5, 34, 32, 25, 75, 42, 22, 2
8
9. Data sebelumnya :
5, 34, 32, 25, 75, 42, 22, 2
Langkah ke 0 :
5 > 34 ? TIDAK (tetap) = 5, 34
34 > 32 ? YA (tukar) = 32, 34
34 > 25 ? YA (tukar) = 25, 34
34 > 75 ? TIDAK (tetap) = 34, 75
75 > 42 ? YA (tukar) = 42, 75
75 > 22 ? YA (tukar) = 22, 75
75 > 2 ? YA (tukar) = 2, 75
Hasil :
5, 32, 25, 34, 42, 22, 2, 75
9
10. Data sebelumnya :
5, 32, 25, 34, 42, 22, 2, 75
Langkah ke 1 :
5 > 32 ? TIDAK (tetap) = 5, 32
32 > 25 ? YA (tukar) = 25, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 22 ? YA (tukar) = 22, 42
42 > 2 ? YA (tukar) = 2, 42
42 > 75 ? TIDAK (tetap) 42, 75
Hasil :
5, 25, 32, 34, 22, 2, 42, 75
10
11. Data sebelumnya :
5, 25, 32, 34, 22, 2, 42, 75
Langkah ke 2 :
5 > 25 ? TIDAK (tetap) = 5, 25
25 > 32 ? TIDAK (tetap) = 25, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 22 ? YA (tukar) = 22, 34
34 > 2 ? YA (tukar) = 2, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 75 ? TIDAK (tetap) = 42, 75
Hasil :
5, 25, 32, 22, 2, 34, 42, 75
11
12. Data sebelumnya :
5, 25, 32, 22, 2, 34, 42, 75
Langkah ke 3 :
5 > 25 ? TIDAK (tetap) = 5, 25
25 > 32 ? TIDAK (tetap) = 25, 32
32 > 22 ? YA (tukar) = 22, 32
32 > 2 ? YA (tukar) = 2, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 75 ? TIDAK (tetap) = 42, 75
Hasil :
5, 25, 22, 2, 32, 34, 42, 75
12
13. Data sebelumnya :
5, 25, 22, 2, 32, 34, 42, 75
Langkah ke 4 :
5 > 25 ? TIDAK (tetap) = 5, 25
25 > 22 ? YA (tukar) = 22, 25
25 > 2 ? YA (tukar) = 2, 25
25 > 32 ? TIDAK (tetap) = 25, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 75 ? TIDAK (tetap) = 42, 75
Hasil :
5, 22, 2, 25, 32, 34, 42, 75
13
14. Data sebelumnya :
5, 22, 2, 25, 32, 34, 42, 75
Langkah ke 5 :
5 > 22 ? TIDAK (tetap) = 5, 22
22 > 2 ? YA (tukar) = 2, 22
22 > 25 ? TIDAK (tetap) = 22, 25
25 > 32 ? TIDAK (tetap) = 25, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 75 ? TIDAK (tetap) = 42, 75
Hasil :
5, 2, 22, 25, 32, 34, 42, 75
14
15. Data sebelumnya :
5, 2, 22, 25, 32, 34, 42, 75
Langkah ke 6 :
5 > 2 ? YA (tukar) = 2, 5
5 > 22 ? TIDAK (tetap) = 5, 22
22 > 25 ? TIDAK (tetap) = 22, 25
25 > 32 ? TIDAK (tetap) = 25, 32
32 > 34 ? TIDAK (tetap) = 32, 34
34 > 42 ? TIDAK (tetap) = 34, 42
42 > 75 ? TIDAK (tetap) = 42, 75
Hasil :
2, 5, 22, 25, 32, 34, 42, 75
15
16. Data Awal :
5, 34, 32, 25, 75, 42, 22, 2
Data Akhir :
2, 5, 22, 25, 32, 34, 42, 75
16
18. Selection Sort adalah suatu metode
pengurutan yang membandingkan elemen
sekarang dengan elemen berikutnya sampai
ke elemen yang terakhir.
Jika ditemukan elemen lain yang lebih kecil
dari elemen sekarang maka dicatat
posisinya dan langsung ditukar.
18
19. Misalkan kita memiliki data acak sebagai
berikut :
5, 34, 32, 25, 75, 42, 22, 2
19
20. Langkah 0, data sebelumnya :
5, 34, 32, 25, 75, 42, 22, 2
Pembanding Posisi Terkecil
5 > 34 ? TIDAK 0
5 > 32 ? TIDAK 0
5 > 25 ? TIDAK 0
5 > 75 ? TIDAK 0
5 > 42 ? TIDAK 0
5 > 22 ? TIDAK 0
5 > 2 ? YA 7
Hasil, tukar posisi 0 dan posisi 7 :
2, 34, 32, 25, 75, 42, 22, 5
20
21. Langkah 1, data sebelumnya :
2, 34, 32, 25, 75, 42, 22, 5
Pembanding Posisi Terkecil
34 > 32 ? YA 2
32 > 25 ? YA 3
25 > 75 ? TIDAK 3
25 > 42 ? TIDAK 3
25 > 22 ? YA 6
22 > 5 ? YA 7
Hasil, tukar posisi 1 dan posisi 7 :
2, 5, 32, 25, 75, 42, 22, 34
21
22. Langkah 2, data sebelumnya :
2, 5, 32, 25, 75, 42, 22, 34
Pembanding Posisi Terkecil
32 > 25 ? YA 3
25 > 75 ? TIDAK 3
25 > 42 ? TIDAK 3
25 > 22 ? YA 6
22 > 34 ? TIDAK 6
Hasil, tukar posisi 2 dan posisi 6 :
2, 5, 22, 25, 75, 42, 32, 34
22
23. Langkah 3, data sebelumnya :
2, 5, 22, 25, 75, 42, 32, 34
Pembanding Posisi Terkecil
25 > 75 ? TIDAK 3
25 > 42 ? TIDAK 3
25 > 32 ? TIDAK 3
25 > 34 ? TIDAK 3
Hasil, tukar posisi 3 dan posisi 3 :
2, 5, 22, 25, 75, 42, 32, 34
23
24. Langkah 4, data sebelumnya :
2, 5, 22, 25, 75, 42, 32, 34
Pembanding Posisi Terkecil
75 > 42 ? YA 5
42 > 32 ? YA 6
32 > 34 ? TIDAK 6
Hasil, tukar posisi 4 dan posisi 6 :
2, 5, 22, 25, 32, 42, 75, 34
24
25. Langkah 5, data sebelumnya :
2, 5, 22, 25, 32, 42, 75, 34
Pembanding Posisi Terkecil
42 > 75 ? TIDAK 5
42 > 34 ? YA 7
Hasil, tukar posisi 5 dan posisi 7 :
2, 5, 22, 25, 32, 34, 75, 42
25
26. Langkah 6, data sebelumnya :
2, 5, 22, 25, 32, 34, 75, 42
Pembanding Posisi Terkecil
75 > 42 ? YA 7
Hasil, tukar posisi 6 dan posisi 7 :
2, 5, 22, 25, 32, 34, 42, 75
26
27. Data Awal :
5, 34, 32, 25, 75, 42, 22, 2
Data Akhir :
2, 5, 22, 25, 32, 34, 42, 75
27
29. Metode Insertion Sort mirip dengan cara
mengurutkan kartu, kartu diambil
selembar demi selembar dan disisipkan
(insert) pada posisi seharusnya.
Proses pengurutan dimulai dari data ke 2
sampai data terakhir.
Data akan dibandingkan dengan posisi
sebelumnya dan disisipkan pada posisi
yang sesuai.
Pada proses penyisipan data, maka data-
data yang lain akan bergeser ke belakang
(kanan).
29
30. Misalkan kita memiliki data acak sebagai
berikut :
95, 34, 32, 25, 75, 42, 22
30
31. Data sebelumnya :
95, 34, 32, 25, 75, 42, 22
Langkah 1, Temp = 34
J = 0 Temp < 95? YA Data Ke 1 = 95
95, 95, 32, 25, 75, 42, 22
J = -1 STOP
Hasil :
Data ke J+1 (0) = Temp (34)
34, 95, 32, 25, 75, 42, 22
31
32. Data sebelumnya :
34, 95, 32, 25, 75, 42, 22
Langkah 2, Temp = 32
J = 1 Temp < 95? YA Data ke 2 = 95
34, 95, 95, 25, 75, 42, 22
J = 0 Temp < 34? YA Data ke 1 = 34
34, 34, 95, 25, 75, 42, 22
J = -1 STOP
Hasil :
Data ke J+1 (0) = Temp (32)
32, 34, 95, 25, 75, 42, 22
32
33. Data sebelumnya :
32, 34, 95, 25, 75, 42, 22
Langkah 3, Temp = 25
J = 2 Temp < 95? YA Data ke 3 = 95
32, 34, 95, 95, 75, 42, 22
J = 1 Temp < 34? YA Data ke 2 = 34
32, 34, 34, 95, 75, 42, 22
J = 0 Temp < 32? YA Data ke 1 = 32
32, 32, 34, 95, 75, 42, 22
J = -1 STOP
Hasil :
Data ke J+1 (0) = Temp (25)
25, 32, 34, 95, 75, 42, 22
33
34. Data sebelumnya :
25, 32, 34, 95, 75, 42, 22
Langkah 4, Temp = 75
J = 3 Temp < 95? YA Data ke 4 = 95
25, 32, 34, 95, 95, 42, 22
J = 2 Temp < 34? TIDAK STOP
Hasil :
Data ke J+1 (3) = Temp (75)
25, 32, 34, 75, 95, 42, 22
34
35. Data sebelumnya :
25, 32, 34, 75, 95, 42, 22
Langkah 5, Temp = 42
J = 4 Temp < 95? YA Data ke 5 = 95
25, 32, 34, 75, 95, 95, 22
J = 3 Temp < 75? YA Data ke 4 = 75
25, 32, 34, 75, 75, 95, 22
J = 2 Temp < 34? TIDAK STOP
Hasil :
Data ke J+1 (3) = Temp (42)
25, 32, 34, 42, 75, 95, 22
35
36. Data sebelumnya :
25, 32, 34, 42, 75, 95, 22
Langkah 6, Temp = 22
J = 5 Temp < 95? YA Data ke 6 = 95
25, 32, 34, 42, 75, 95, 95
J = 4 Temp < 75? YA Data ke 5 = 75
25, 32, 34, 42, 75, 75, 95
J = 3 Temp < 42? YA Data ke 4 = 42
25, 32, 34, 42, 42, 75, 95
J = 2 Temp < 34? YA Data ke 3 = 34
25, 32, 34, 34, 42, 75, 95
J = 1 Temp < 32? YA Data ke 2 = 32
25, 32, 32, 34, 42, 75, 95
J = 0 Temp < 25? YA Data ke 1 = 25
25, 25, 32, 34, 42, 75, 95
J = -1 STOP
Hasil :
Data ke J+1 (0) = Temp (22)
22, 25, 32, 34, 42, 75, 95
36
37. Data Awal :
22, 25, 32, 34, 42, 75, 95
Data Akhir :
37