Algoritma Rekursif dan Iteratif

Penjelasan Rekursif
Teknik rekursif menggunakan procedure pemanggilan diri sendiri atau fungsi yang sama, fungsi rekursif juga merupakan suatu teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari masalah terjadi berulang kali  [For, While, dan While-Do].
Bentuk pemanggilan terdapat dalam body. Dalam fungsi rekursif ada komponen penting, yaitu kondisi kapan berhentinya fungsi dan pengurang atau pembagian data ketika fungsi memanggil dirinya sendiri dan secara
umum rekursif digunakan jika efisiensi dengan cara ini sudah memadai.

Berikut contoh program dalam pascal menggunakan rekursif

program fibonacci_rekursif;
uses wincrt;
var
x,i:integer;
function fib(n:integer):integer;
begin
if(n=1)then
fib:=0
else
if (n=2)then
fib:=1
else
fib:=fib(n-1)+fib(n-2);
end;
begin
write('Masukan batas suku bilangan ke : ');
readln(x);
write('Deret fibonacci : ');
for i:=1 to x do
write(fib(i),' ');
end.

Penjelasan Iterasi
Teknik Iteratif merupakan suatu teknik pembuatan algoritma dengan pemanggilan procedure beberapa kali atau hingga suatu kondisi tertentu terpenuhi. Tidak ada variabel lokal baru, Program tidak sederhana. Fungsi Iterasi dapat menggunakan denga for, while atau repeat until

Contoh program pascal menggunakan Iterasi

program fibonacci_iteratif;
uses wincrt;
var
fb1,fb2,fn,x,i:integer;
function fibo(n:integer):integer;
begin
if n<2 then fibo:=n
else
begin
fb1:=0;
fb2:=1;
for i:=2 to n do

begin 
fn:= fb1;
fb1:=fb2;
fb2:=fn+fb2;
end;
fibo:=fb2;
end;
end;
begin
write('Masukan batas suku bilangan ke : ');readln(x);
write('Deret fibonacci : ');
for i:=1 to x do
write(fibo(i),' ');
end.

0 Comments:

Post a Comment