160 likes | 411 Vues
Rekursif- studi kasus. Kasus 1- pangkat. Kasus 1- pangkat (2). Function pangkat (x, y) Hasil ← 1 If y = 0 then pangkat ( x,y ) ←1 Else Hasil ← x * pangkat (x, y-1) Return. Kasus : Faktorial. 5! = 5 x 4 x 3 x 2 x 1 = 5 x 4! 4! = 4 x 3 x 2 x 1 = 4 x 3! 3! = 3 x 2 x 1 = 3 x 2!
E N D
Kasus 1- pangkat (2) Function pangkat (x, y) Hasil ← 1 If y = 0 then pangkat(x,y) ←1 Else Hasil ← x * pangkat(x, y-1) Return
Kasus : Faktorial • 5! = 5 x 4 x 3 x 2 x 1 = 5 x 4! • 4! = 4 x 3 x 2 x 1 = 4 x 3! • 3! = 3 x 2 x 1 = 3 x 2! • 2! = 2 x 1 = 2 x 1! • 1! = 1 • 0!=1
Kasus : Faktorial 5! = 5 x 4! 4! = 4 x 3! 3! = 3 x 2! 2! = 2 x 1! 1! = 1 x 0! 0! = 1 5! = 5 x 4 x 3 x 2 x 1x1
Kasus : Faktorial faktorial(5) hasilnya : 120 5 * faktorial(4) 5 * 24 = 120 4 * faktorial(3) 4 * 6 = 24 3 * faktorial(2) 3 * 2 = 6 2 * faktorial(1) 2 * 1 = 2 1* faktorial(0) 1 * 1 = 2 1
Kasus 2- faktorial Function faktorial (n) Hasil ← 1 If (n=0) then hasil ← 1 Else For j ← 1 to n do Hasil ← hasil * j Endfor Endif Return hasil Function faktorial(n) If (n=0) then faktorial (n) ← 1 Else faktorial(n) ← n * faktorial (n-1) endif Return
Mekanisme Function faktorial(n) If (n=0) then faktorial (n) ← 1 Else faktorial(n) ← n * faktorial (n-1) Return Misal n = 4 Faktorial(0) 1 Faktorial(1) 1 * faktorial(1-1) 1 * 1 Faktorial(2) 2 * faktorial(2-1) 2 * (1 * 1) 3 * faktorial(3-1) Faktorial(3) 3 * (2 * (1 * 1)) Faktorial (4) 4 * faktorial(4-1) 4 * (3 * (2 * (1 * 1)))
Studi kasus 3-fibbonaci • 1 1 2 3 5 8 13 21 34 55 89 … • dapat dicari dari dua bilangan sebelumnya yang terdekat dengan bilangan N, yaitu • bilangan ke-(N-1) dan bilangan ke-(N-2), sehingga dapat dirumuskan sebagai • Fibbonacci(1) = 1 (1) • Fibbonacci(2) = 1 (2) • Fibbonacci(N) = Fibbonacci(N-1) + Fibbonacci(N-2) (3) • Dengan persamaan (1) dan (2) adalah basis dan persamaan (3) adalah rekurensnya
Fibbonacci-rekursif • if ((N=1) or (N=2)) then • return 1 {Basis} • else • return(FIBO(N-1)+ FIBO(N-2)) {Rekurens}
Contoh analisisalgoritmarekursif • Misal:
We must have n – 1 of the “+ 2” terms because there was one at the start and we did n – 2 substitutions: • So, the closed form of the equation is: