Anda di halaman 1dari 2

Bubblesort(A)

1 for i=1 to A.length-1 c


1
n
2 for j=1 to n-1 c
2
i
n
i
t

=
1
1

3 if A[j] > A[j+1] c
3
1
1
1

=
i
n
i
t
4 swap(A[j], A[j+1]) c
4
1
1
1

=
i
n
i
t
5 n = n-1 c
5
n-1
Contoh kasus:
Misal terdapat array yang memiliki angka 5 2 9 10 17 8 20 9. Ketika bubble sort
dijalankan susunan angka tiap iterasinya adalah sebagai berikut
First pass:
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 17 8 20 9
2 5 9 10 8 17 20 9
2 5 9 10 8 17 20 9
2 5 9 10 8 17 9 20
Second Pass:
2 5 9 10 8 17 9 20
2 5 9 10 8 17 9 20
2 5 9 10 8 17 9 20
2 5 9 8 10 17 9 20
2 5 9 8 10 17 9 20
2 5 9 8 10 9 17 20

Third Pass:
2 5 9 8 10 9 17 20
2 5 9 8 10 9 17 20
2 5 8 9 10 9 17 20
2 5 8 9 10 9 17 20
2 5 8 9 9 10 17 20

Fourth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20

Fifth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20

Sixth Pass:
2 5 8 9 9 10 17 20
2 5 8 9 9 10 17 20

Seventh Pass:
2 5 8 9 9 10 17 20

Worst-case Scenario:
Ketika susunan angka dalam arraynya sudah terurut tapi terbalik

Best-case Scenario:
Ketika susunan angka dalam arraynya sudah terurut, maka tidak ada swap yang dilakukan
tiap iterasinya

Jika dianalisis running timenya, maka didapat
T(n) = c
1
n + c
2
i
n
i
t

=
1
1
+ c
3
1
1
1

=
i
n
i
t + c
4
1
1
1

=
i
n
i
t + c
5
(n-1)
T(n) = (c
1
+ c
5
)n - c
5
+ c
2 |
.
|

\
|
2
) (n n
+ c
3 |
.
|

\
|
2
) 2 (n n
+ c
4 |
.
|

\
|
2
) 2 (n n

T(n) = 1/2n
2
(c
2 +
c
3 +
c
4
) +

(c
1
- c
3
- c
4
+ c
5
)n - c
5


Jika dilihat dari T(n), derajat tertinggi dari fungsi tersebut adalah 2. Maka pertumbuhan
fungsi T(n) adalah n
2
. Dapat dikatakan running timenya adalah (n
2
) yang artinya
pertumbuhan fungsinya adalah n
2
.

Anda mungkin juga menyukai