REKURSIF
• Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau
procedure yang memanggil dirinya sendiri.
• Definisi menurut Niclaus Wirth :
“ An object is said be recursive if it partially consist or is defines in terms of itself”
• perhitungan matematika ( contoh fungsi
factorial dan bilangan Fibonacci)
SUB-PROSES- Rekursif
Hanoi dengan Rekursif
• Fungsi factorial dari bilangan bulat positif n
didefinisikan sebagai berikut:
n!= n.(n-1)! , jika n>1
n!= 1 , jika n=0, 1
• contoh :
3!= 3. 2!
3!= 3. 2. 1!
3!= 3. 2. 1
3!= 6
iLustrasi jika N=5
Kita dapat menuliskan fungsi penghitung factorial seperti dibawah ini
1. int Faktorial(int n)
2. {
3. if ((n == 0) || (n == 1 ))
4. return (1);
5. else
6. return (n * Faktorial(n-1));
7. }
• Pada baris 3 dari fungsi diatas, nilai n dicek sama dengan 0 atau 1, jika ya, maka fungsi mengembalikan nilai 1 {baris 4}, jika tidak, fungsi mengembalikan nilai n * Faktorial (n -1)
{baris 6}
• disinilah letak proses rekursif itu, perhatikan fungsi factorial ini memanggil dirinya sendiri tetapi dengan parameter (n-1)
Bilangan Fibonacci
• Fungsi lain yang dapat diubah ke bentuk rekursif
adalah perhitungan Fibonacci. Bilangan Fibonacci
dapat didefinisikan sebagai berikut:
fn = fn-1 + fn-2 untuk n > 2
f1 = 1
f2 = 1
Berikut ini adalah barisan bilangan Fibonacci mulai dari n=1
1 1 2 3 5 8 13 21 34
Algoritma Fibonacci yang dipakai
Function Fibonacci(input n:integer) à integer
Deklarasi Lokal
{tidak ada}
Deskripsi
If (n ==1 || n==2) Then
return (l)
Else
return (Fibonacci(n-1)+Fibonacci(n-2))
Endif
Contoh
• Untuk ukuran n= 4, proses perhitungan
Fibonacci dapat dilakukan sebagai
berikut:
f4 = f3+f2
f4 = (f2+f1) + f2
f4 = (1+1) +1
f4 = 3
Source: Kuliah Algoritma&Pemrograman
Terima Kasih Teruntuk Pak Kusnawi, S.kom,M.eng
No comments:
Post a Comment