Friday, May 13, 2016

pemrograman 6

REKURSIF

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