Rekursi

Anda mungkin juga menyukai

Anda di halaman 1dari 13

wilis k - FUPN"V"Yk

PEIUPSIF
AIgorifmo don Pemrogromon II
WiIis kuswidgunti
Informutiku UPN "Veterun" Yk
Z007
wilis k - FUPN"V"Yk
#kU#$IF
W Pekursif merupokon oIof/coro unfuk
memecohkon mosoIoh doIom suofu fungsi ofou
procedure yong memonggiI dirinyo sendiri.
W efinisi menuruf MicIous Wirfh :
" An objecf is soid be recursive if if porfioIIy consisf
or is defines in ferms of ifseIf"
W perhifungon mofemofiko ( confoh fungsi
focforioI don biIongon Fibonocci)
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
FuktoriuI
W Fungsi focforioI dori biIongon buIof posifif n
didefinisikon sebogoi berikuf:
nl~ n.(n-I)l , jiko nI
nl~ I , jiko n~0, I
W confoh :
3l~ 3. Zl
3l~ 3. Z. Il
3l~ 3. Z. I
3l~ o
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
1. int Faktorial(int n)
2. {
3. if ((n == 0) || (n == 1 ))
4. return (1);
5. else
6. return (n * Faktorial(n-1));
7. }
W Podo boris 3 dori fungsi diofos,
niIoi n dicek somo dengon 0 ofou I,
jiko yo, moko fungsi mengemboIikon niIoi I {boris 4},
jiko fidok, fungsi mengemboIikon niIoi n ^ FokforioI (n -I)
{boris o}
W disiniIoh Iefok proses rekursif ifu, perhofikon fungsi
focforioI ini memonggiI dirinyo sendiri fefopi dengon
poromefer (n-I)
kitu duput menuIiskun fungsi penghitung fuctoriuI
seperti dibuwuh ini
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
iIungun Fibonucci
W Fungsi Ioin yong dopof diuboh ke benfuk
rekursif odoIoh perhifungon Fibonocci.
8iIongon Fibonocci dopof didefinisikon sebogoi
berikuf:
f
n
~ f
n-I
+ f
n-Z
unfuk n Z
f
I
~ I
f
Z
~ I
8erikuf ini odoIoh borison biIongon Fibonocci
muIoi dori n~I
I I Z 3 b 8 I3 ZI 34
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
Igoritmu Fibonucci yung dipukui
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
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
ontoh
W Unfuk ukuron n~ 4, proses perhifungon
Fibonocci dopof diIokukon sebogoi
berikuf:
f
4
~ f
3
+f
Z
f
4
~ (f
Z
+f
I
) + f
Z
f
4
~ (I+I) +I
f
4
~ 3
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
kombinusi
Function Kombinasi (input n, r : integer) real
Deklarasi
If (n < r) Then
return (0)
Else
return (Faktorial(n)/Faktorial(r)*Faktorial(n-r))
Endif
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
Permutusi
Function Permutasi (input n, r : integer) real
Deklarasi
{tidak ada}
Deskripsi
If (n< r) Then
return (0)
Else
return (Faktorial(n) / Faktorial(n-r))
Endif
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
ofihon
I. 8uof progrom unfuk menghifung deref
S ~ I+Z+3+4+b+...+n menggunokon
funcfion rekursi
Z. 8uof progrom unfuk menghifung deref
S ~ Z+4+o+8+I0+...+Zn menggunokon
funcfion rekursi
/oinv vvn Tcnovnvn 11
wilis k - FUPN"V"Yk
No.1 deret S=1+2+3+4+5+.+n
Function S(input n:integer) integer
Deklarasi Lokal
{tidak ada}
Deskripsi
If (n==1) Then
return (l)
Else
return (n + S(n-1))
Endif
wilis k - FUPN"V"Yk
No.2 deret S=2+4+6+8+10+.+2n
Function S(input n:integer) integer
Deklarasi Lokal
{tidak ada}
Deskripsi
If (n==1) Then
return (2)
Else
return (2*n + S(n-1))
Endif
wilis k - FUPN"V"Yk
No. 1 dalam bhs C++ (lengkap)
include<iostream.h>
int S(int n);
main()
{
int n;
cout << Masukkan n = ; cin >> n;
cout << Deret S=1+2+3+4+5+...+n \n;
cout << Jumlah deret S = << S(n);
}
int S(int n)
{
if (n == 1)
return (1);
else
return (n + S(n-1));
}

Anda mungkin juga menyukai