Bab keenam dari pengenalan teknologi informasi. Membahas cara pengulangan dengan rekursi di http://kuliahkita.com/kelas/pengenalan-teknologi-informasi/
2. Recursion
Entitas yang di dalam definisinya terkandung
entitas tersebut disebut juga dengan rekursif.
3. Contoh Program Rekursi
function Faktorial(n: integer)
{prekondisi: n > 0}
{Faktorial(n) Menghasilkan 1 jika n = 1; Menghasilkan n! = n
* (n-1)! untuk n > 1 }
KAMUS
ALGORITMA
if n == 1 then {BASIS}
return 1
else
return n * Faktorial(n - 1) {REKURENS}
4. Contoh Program Rekursif Python
def Faktorial(n):
if n == 1:
return 1
else:
return n * Faktorial(n - 1)
print Faktorial(5)
120
5. Bilangan Fibonacci
Bilangan fibonacci merupakan deret bilangan
sebagai berikut.
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
F1
= 1 dan F2
= 1
Fn
= Fn-1
+ Fn-2
6. Notasi Algoritmik Fibonacci
function Fibonacci(n: integer)
{prekondisi: n > 0}
{Faktorial(n) Menghasilkan 1 jika n = 1 atau n == 2;
Menghasilkan Fn
= Fn-1
+ Fn-2
untuk n > 2 }
KAMUS
ALGORITMA
if n == 1 or n == 2 then {BASIS}
return 1
else
return Fibonacci(n - 1) + Fibonacci(n - 2) {REKURENS}
7. Implementasi Python Fibonacci
def Fibonacci(x):
if x == 0 or x == 1: # BASIS
return 1
else:
return Fibonacci(x - 1) + Fibonacci(x - 2) #
REKURENS
print Fibonacci(10)
89