RSS

REKURSIF

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;

********************
DYNAMIC PROGRAMMING
********************
:: Cari tahu tentang Dynamic Programming ::

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.