1. ALGORITMA FAKTORIAL
Faktorial_rekursif
Function Faktorial (input a : integer) →
longint
If ( A=1) then
Faktorial ← 1
Else
Faktorial ← a *
faktorial (a-1)
Kamus
x : integer
Algoritma
output(‘berapa Faktorial: ‘) input(x)
2. ALGORITMA PANGKAT
Pangkat_rekursif
Kamus
Bil,n : integer
Function pangkat(input a,p: integer) → longint
If p = 0 then
Pangkat ← 1
else
Pangkat ← a*pangkat
(a,p-1)
Algoritma
output(‘ Program pemangkatan dengan rekursif’)
output(' Inputkan Bilangan : ') input (bil)
output(' Inputkan Pangakat : ') input (n);
output(' Inputkan Pangakat : ') input (n);
if n<0 then
output('maaf hanya menghitung pangkat positif') {pengecekan jika n<0}
else
output(' Hasil :
',bil,'^',n,' = ',pangkat(bil,n))
T(n) = 0 n = 0
T(n) = T (n-1) + 1 n = 0
T(n) = 1 + T (n-1)
= 1 + 1 + T (n-2) = 2 + T (n-2)
= 2 + 1 + T (n-3) = 3 + T (n-3)
= . . . . .
= n + T(0)
= n + 0
Jadi T(n) = n → O(n)
T(n) = 0 n = 0
T(n) = T (n-1) + 1 n = 0
T(n) = 1 + T (n-1)
= 1 + 1 + T (n-2) = 2 + T (n-2)
= 2 + 1 + T (n-3) = 3 + T (n-3)
= . . . . .
= n + T(0)
= n + 0
Jadi T(n) = n → O(n)
3. ALGORITMA FIBONACCI
Fibo_rekursif
Kamus
X,i : integer
Function fib ( input n : integer) → integer
If (n = 1) then
fib ← 1
fib ← 1
Else
If (n=2)
then
Fib ← 1
else
fib ← fib (n-1) + fib (n-2)
Algoritma
output('deret fibonacci')
output('input value : ')
input(x)
<!←[if !supportLineBreakNewLine]←>
<!←[endif]←>
output('deret fibonacci')
output('input value : ')
input(x)
<!←[if !supportLineBreakNewLine]←>
<!←[endif]←>
For i ← 1 to x do
Output (fib(i),'
');T(n) = 0 n = 0
T(n) = 1 n = 1
T(n) = T (n-1) + T (n + 2) n = 0
(i) Persamaan Rekursi
T(n) - T(n-1) - T(n-2) = 0
Posting Komentar