2. MacamPengurutan
Pengurutan atau sorting adalah
menyusun data berdasarkan rangking
nilai yang dimiliki data tersebut
Ascending atau pengurutan naik
…,-2,-1,0,1,2,…
A,B,C,…
Descending atau pengurutan turun
…,2,1,0,-1,-2,…
…,C,B,A
2
5. StraightSelection
N
i = 1
i = i + 1
i < N - 1
j = i + 1
j < N
Xi > Xj
dummy = Xi
Xi = Xj
Xj = dummy
j = j + 1
N
N
Y
YY
5 2 1 4 3
5
6. StraightSelection
Private Sub SS_Sort()
Dim I,J As Integer
Dim Dummy As Single
For I = 1 To (N-1)
For J = I To N
If X(I) > X(J) Then
Dummy = X(I)
X(I) = X(J)
X(J) = Dummy
End If
Next J
Next I
End Sub
6
8. StraightInsertion
N
i = 2
i = i + 1
i < N
j = i
j > 2
Xj < Xj-1
dummy = Xj
Xj = Xj-1
Xj-1 = dummy
j = j - 1
N
N
Y
YY
5 2 1 4 3
8
9. StraightInsertion
Private Sub SI_Sort()
Dim I,J As Integer
Dim Dummy As Single
For I = 2 To N
For J = I To 2 Step -1
If X(J) < X(J-1) Then
Dummy = X(J)
X(J) = X(J-1)
X(J-1) = Dummy
End If
Next J
Next I
End Sub
9
10. BinaryInsertion
Metode pengurutan penyisipan
biner (binary insertion)
menggunakan cara iteratif mencari
posisi data dibandingkan dengan
rangkaian data yang telah diurutkan
sebelumnya, selanjutnya
menggeser data-data yang lebih
besar.
10
11. BinaryInsertion
N
i = 2
i = i + 1
i > N
j = 1
j = i
Xi < Xj
dummy = Xi
j = j + 1
N N
Y
YY
5 2 1 4 3
k = i
k = j
Xk = Xk-1
k = k - 1
Xj = dummy
j = i
N
Y
11
12. BinaryInsertion
Private Sub BI_Sort()
Dim I,J,K As Integer
Dim Dummy As Single
For I = 2 To N
J = 1
Do
If X(I) < X(J) Then
Dummy = X(I)
For K = I to (J+1) Step -1
X(K) = X(K-1)
Next K
X(J) = Dummy
J = I
Else
J = J + 1
End If
Loop Until J = I
Next I
End Sub
12
14. BubleSort
N
i = 1
i = i + 1
i < N - 1
j = 1
j < N - i
Xj > Xj+1
dummy = Xj
Xj = Xj+1
Xj+1 = dummy
j = j + 1
N
N
Y
YY
5 2 1 4 3
14
15. BubbleSort
Private Sub BS_Sort()
Dim I,J As Integer
Dim Dummy As Single
For I = 1 To (N-1)
For J = 1 To (N-I)
If X(J) > X(J+1) Then
Dummy = X(J)
X(J) = X(J+1)
X(J+1) = Dummy
End If
Next J
Next I
End Sub
15