algoritma rekursif

Post on 07-Jan-2016

60 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

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)

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

subrutin rekursi bisa menyelesaikan tugas kompleks dalam beberapa baris perintah

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.

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));}

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

Kombinasi

input n, r : integer

If (n < r) Thenreturn (0)

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

Endif

Permutasi

input n, r : integer

If (n< r) Then

return (0)

Else

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

Endif

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

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

top related