By : Imam Cholissodin
1. Diketahui pseudocode algoritma String Matching sebagai berikut :
Algorithm BruteForceStringMatch ( T[1..n], P[1..m] )
for i 1 to n m + 1 do
j1
while j < (m+1) and P[j] = T[i + j] do
jj+1
Average Case :
n m +1 m
C ( n) =
i =1
n m +1 m
C ( n) =
j =1
i =1
n m +1
m
i =1
i * m( n 1m +1)
j =1
n m +1
m * i * m( n 1m +1)
= m(n m +1)
i =1
n m +1
i * ( n m1 +1)
i =1
1
( n m +1)
n m +1
i
i =1
1
(1 + 2 + 3 + ....... + ( n m +1) )
=
( n m +1)
=
1
1
( n m +1)(1 + ( n m +1) )
( n m +1) 2
1
1
( n m +1)( n m + 2)
( n m +1) 2
(
n m +1)( n m + 2)
=
2( n m +1)
(
n m + 2)
=
=
2. Algoritma Fibonacci adalah algoritma rekursif yang bertujuan untuk menampilkan angka
Fibonacci sebagaimana ditunjukkan dalam fungsi berikut :
Halaman1dari4
Halaman2dari4
C ( n) = C ( n 1) + C ( n 2) + 1
C (n) = C (n 1) + C (n 2) + 1
Menjabarkan dengan satu sisi, yaitu diambil C ( n 1), Menjabarkan dengan dua sisi ,
karena memiliki tingkat rekursif paling dalam daripada C ( n 2)
yaitu C (n 1) dan C (n 2)
= ( C ( n 2) + C ( n 3) + 1) + C ( n 2) + 1
= C (n 2) + C (n 3) + 1 + C (n 3) + C (n 4)
= 2C ( n 2) + C ( n 3) + 2
= C (n 2) + 2C (n 3) + C (n 4) + 3
= 2( C ( n 3) + C (n 4) + 1) + C ( n 3) + 2
= 3C ( n 3) + 2C (n 4) + 4
jika dibentuk ke C (n 2) dan C (n 3) dengan
= 3( C ( n 4) + C (n 5) + 1) + 2C (n 4) + 4
C (n 4) = C (n 2) C (n 3) 1
= 5C (n 4) + 3C ( n 5) + 7
Subtitusi C (n 4) sehingga
= 5( C ( n 5) + C ( n 6) + 1) + 3C (n 5) + 7
= C (n 2) + 2C (n 3) + C (n 4) + 3
= 8C ( n 5) + 5C ( n 6) + 12
= C (n 2) + 2C (n 3) + (C (n 2) C (n 3) 1)
= 8( C ( n 6) + C ( n 7) + 1) + 5C ( n 6) + 12
= 2C (n 2) + C (n 3) + 2
= 13C ( n 6) + 8C (n 7) + 20
.
dan seterusnya
.
.
Deret Fibonacci :
Un =
) (
(1 + 5 ) n (1 5 ) n
2n 5
jika n = 0,U n = 0
n = 1,U n = 1
n = 2, U n = 1
n = 3, U n = 2
n = 4, U n = 3
n = 5,U n = 5
n = 6, U n = 8
1 1
n = 7, U n = 13
1 2 1
n = 8, U n = 21
1 3 3 1
dan seterusnya
.
.
= XC ( n i ) + YC ( n (i + 1)) + ( X + (Y 1))
Karena X dan Y membentuk deret fibonacci
misal n i = 1 dan i = n 1, maka
= XC ( n i ) + YC ( n i 1) + ( X + Y 1)
= XC (1) + YC (1 1) + ( X + Y 1)
= XC (1) + YC (0) + ( X + Y 1)
karena C (1) = 1 dan C (0) = 1, maka
= X (1) + Y (1) + ( X + Y 1)
= X + Y + ( X + Y 1)
= X + Y + X + Y 1
= 2( X + Y ) 1
X =
(1 + 5 )
i +1
(1 5 )
i +1
2i +1 5
= 2(
dan Y =
(1 + 5 )i +1 (1 5 )i +1
i +1
2
5
Subtitusi i = n 1 sehingga
C ( n) = 2(
C ( n) = 2(
(1 + 5 ) n (1 5 ) n
2n 5
= C (n 3) + 3C (n 4) + 3C (n 5) + C (n 6) + 7
jika C (n 3) + 3C (n 4) + 3C (n 5) + C (n 6) + 7
dibentuk ke C (n 3) dan C (n 4) dengan
C (n 6) = C (n 4) C (n 5) 1
Subtitusi 3C (n 5) + C (n 6) sehingga
3C (n 5) + C (n 6) = 3C (n 5) + C (n 4) C (n 5)
= C (n 4) + 2C (n 5) 1
C (n 5) = C (n 3) C (n 4) 1
(1 + 5 ) (1 5Subtitusi
)i
C (n 4) + 2C (n 5) 1 sehingga
2i 5
C (n 4) 2C (n 5) 1 = C (n 4) + 2(C (n 3) C (n
(1 + 5 )i (1 5 )i
(1 + 5 ) ( n 1) +1 (1 5 ) ( n 1) +1
2( n 1) +1 5
= C (n 2) + 2C (n 3) + C (n 4) + 3
= 2C (n 3) C (n 4) 3
) 1
maka 3C (n 5) + C (n 6) = 2C (n 3) C (n 4) 3
Subtitusi ke
(1 + 5 ) ( n 1) (1 5 ) ( n 1)
(1 + 5 ) ( n 1) (1 5 ) ( n 1)
2( n 1) 5
= C (n 3) )+31C (n 4) + 3C (n 5) + C (n 6) + 7
2( n 1) 5
= C (n 3) + 3C (n 4) + 2C (n 3) C (n 4) 3
) 31
=
C (n 3) + 2C (n 4) + 4
n
n
n 1
n 1
1 5
1 + 5
1 5
2
1+ 5
C ( n) =
2
2
2
2
5
Halaman3dari4
= 22 ( 2C ( n 3) +1) + 2 +1 = 23 C (n 3) + 2 2 + 2 +1
= 23 ( 2C ( n 4) +1) + 2 2 + 2 +1 = 2 4 C ( n 4) + 23 + 2 2 + 2 +1
= 24 ( 2C ( n 5) +1) + 23 + 2 2 + 2 +1 = 25 C ( n 5) + 24 + 23 + 2 2 + 2 +1
= 25 ( 2C ( n 6) +1) + 2 4 + 23 + 22 + 2 +1 = 26 C ( n 6) + 25 + 2 4 + 23 + 22 + 2 +1
.
.
= 2i C (n i ) + 2(i 1) + 2(i 2) + ....... + 2 2 + 2 +1
misal ( n i ) = 1, dan i = n 1, maka
= 2( n 1) C (1) + 2(( n 1) 1) + 2((n 2) 2) + ....... + 22 + 2 +1
= 2( n 1) (1) + 2(( n 1) 1) + 2((n 1) 2) + ....... + 2 2 + 2 +1
= 2( n 1) + 2( n 2) + 2( n 3) + ....... + 2 2 + 2 +1
C (n) = 2( n 1) + 2( n 2) + 2( n 3) + ....... + 2 2 + 2 +1
C (n) = 1 + 2 + ....... + 2( n 3) + 2( n 2) + 2( n 1)
C (n) = 20 + 21 + ....... + 2( n 3) + 2( n 2) + 2( n 1)
Banyak suku = n
Karena C (n) membentuk deret geometri, maka
a = 1 dan r =
C ( n) =
Un
2
= =2
U n 1
1
) (
a r n 1
1 2n 1
=
= 2 n 1
r 1
2 1
~Semoga Bermanfaat~
Halaman4dari4