algoritma rekursif

9
Algoritma Rekursif Alpro-2

Upload: ahanu

Post on 07-Jan-2016

60 views

Category:

Documents


1 download

DESCRIPTION

Algoritma Rekursif. Alpro-2. REKURSIF. alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari masalah terjadi berulang kali ( for, while dan do-while) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algoritma Rekursif

Algoritma Rekursif

Alpro-2

Page 2: Algoritma Rekursif

REKURSIF

alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri

teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari masalah terjadi berulang kali (for, while dan do-while)

subrutin yang memanggil dirinya sendiri, baik langsung maupun tak langsung.

subrutin rekursi bisa menyelesaikan tugas kompleks dalam beberapa baris perintah

Page 3: Algoritma Rekursif

Iterasi

Mrk perkataan berulang-ulang peralatan yang lebih efisien jika dibandingkan dengan

rekursif tetapi recursion menyediakan solusi yang lebih baik untuk suatu masalah.

Jadi: Pada rekursif, method dapat memanggil dirinya sendiri Data yang berada dalam method tersebut seperti

argument disimpan sementara kedalam stack sampai method pemanggilnya diselesaikan.

Page 4: Algoritma Rekursif

c/ Faktorial

Faktorial (5)/ \Faktorial (4)*5/ \Faktorial (3)*4/ \Faktorial (2)*3/ \Faktorial (1)*2 | 1

Algoritma:

n!= n.(n-1)! , jika n>1n!= 1 , jika n=0, 1

int Faktorial(int n){

if ((n == 0) || (n == 1 )) return (1);

else return (n * Faktorial(n-

1));}

Page 5: Algoritma Rekursif

Bilangan Fibonacci

Baris dari n=11 1 2 3 5 8 13 21 34

Algoritma (untuk n > 2): fn = fn-1 + fn-2

f1 = 1

f2 = 1

If (n ==1 || n==2) Then return (l)

Else return (Fibonacci(n-1)+Fibonacci(n-2))

Endif

c/ n= 4 f4 = f3+f2

f4 = (f2+f1) + f2

f4 = (1+1) +1 f4 = 3

Page 6: Algoritma Rekursif

Kombinasi

input n, r : integer

If (n < r) Thenreturn (0)

Elsereturn (Faktorial(n)/Faktorial(r)*Faktorial(n-r))

Endif

Page 7: Algoritma Rekursif

Permutasi

input n, r : integer

If (n< r) Then

return (0)

Else

return (Faktorial(n) / Faktorial(n-r))

Endif

Page 8: Algoritma Rekursif

Studi Kasus-1:

Output deretS =1+2+3+4+5+...+n

input n:integer

If (n==1) Then

return (n)

Else

return (n + S(n-1))

Endif

Page 9: Algoritma Rekursif

Studi Kasus-2

Output deret S = 2+4+6+8+10+...+2n

input n:integer

If (n==1) Then return (2)Else

return (2*n + S(n-1))Endif