Rekursif itu program yang memanggil dirinya sendiri. Rekursi merupakan teknik pemrograman yang penting, dan beberapa bahasa pemrograman modern mendukung keberadaan proses rekursi ini. Dalam prosedur atau fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir. Contoh paling sederhana dari proses rekursif adalah proses menghitung nilai faktorial dari bilangan bulat positif dan mencari deret Fibonacci dari suatu bilangan bulat.
Fungsi rekursif untuk menghitung nilai Faktorial :
0! = 1
N!=N*(N-1)! untuk N>0
Secara notasi pemrograman dapat ditulis sebagai :
Faktorial(0) = 1
Faktorial(N)=N*Faktorial(N)
Jika dituliskan dalam bahasa pemrograman PASCAL, maka fungsi untuk Faktorial :
function Faktorial(n : integer) : integer;
begin
if N=0 then Faktorial := 1 else
Faktorial := N * Faktorial(N-1)
end;
Fungsi rekursif untuk menghitung deret bilangan Fibonacci :
dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut :
F(n) = 0 untuk n=0
F(n) = 1 untuk n=1
F(n) = F(n-1)+F(n-2) untuk n>1
Contoh deret Fibonacci : 0,1,1,2,3,5,8,...
Jika ditulis dalam bahasa pemrogramam PASCAL, maka fungsi untuk deret Fibonacci :
function Fibo(n : integer) : integer;
begin
if n=0 then Fibo := 0
else if n=1 then Fibo := 1
else Fibo := Fibo(n-1) + Fibo(n-2);
end;
Contoh lainnya : perpangkatan
dalam matematika dalam dituliskan
P(x,y) = 1 untuk y=0
P(x,y) = P(x,y-1) * x untuk y>0
dimana x adalah bilangan dan y adalah pangkat
Jika ditulis dalam bahasa pemrograman PASCAL, maka fungsi rekursif untuk perpangkatan :
function Pangkat(x,y : integer) : integer;
begin
if y=0 then Pangkat := 1
else Pangkat := Pangkat(x,y-1) * x
end;
REKURSIF
********************
DYNAMIC PROGRAMMING
********************
:: Cari tahu tentang Dynamic Programming ::
Langganan:
Postingan (Atom)
0 komentar:
Posting Komentar
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.