Contoh procedure yang memanggil dirinya sendiri (REKURSI)

Standar

Rekursi, adalah suatu fungsi atau prosedur dalam bahasa Pascal dapat bersifat rekursif. Artinya, fungsi atau prosedur tersebut dapat memanggil dirinya sendiri. Berikut ini sebuah contoh fungsi dan prosedur yang rekursif.

program procedure_memanggil_dirinya_sendiri;

uses crt;

var

I : integer;

procedure rekursi;

begin

writeln(‘pemangilan procedure ke-‘,i:5);

i:=i+1;

if i < 5 then rekursi;

end;

{modul utama}

begin

clrscr;

i:=1;

rekursi;

readln;

end.

Program pangkat;

Uses crt;

Var A,x,I,hasil : integer;

Begin

Writeln (‘masukan bilangan yangakan dipangkatkan’);readln(A);

Writeln(‘masukan bilangan pangkat’);readln(x);

Hasil :=1;

For i:=1 to x do

Hasil:=hasil* A;

Writeln(‘hasil dari ’,A,’ pangkat ‘,x,’ adalah ‘, hasil);

Readln;

end.

program Rekursi;

uses crt;

var

Jum_Suku, I : integer;

Bil_X       : real;

pilihan:char;
label lagi;

function Legendre(X : real; N : integer) : real;

var

Suku_1, Suku_2 : real;

begin

if N = 0 then

Legendre := 1

else if N = 1 then

Legendre := X

else

begin

Suku_1 := ((2*N – 1) * (X * Legendre(X, N-1))) / N;

Suku_2 := ((N-1) * Legendre(X, N-2)) / N;

Legendre := Suku_1 + Suku_2;

end;

end;

procedure Awal;

begin

Writeln(‘Latihan Pascal 2 : Prosedur dan Fungsi’);

Writeln(‘————————————–‘);

Writeln;

Writeln(‘Nama : UMI KALSUM’);

Writeln(‘NIM  : 06101008029’);

Writeln;

end;

procedure Baca_Data;

begin

Writeln(‘Menghitung Suku Banyak Legendre’);

Writeln;

Write(‘Sampai suku ke   : ‘);

Readln(Jum_Suku);

Write(‘Masukkan nilai X : ‘);

Readln(Bil_X);

Writeln;

end;

begin

lagi :

Clrscr;

Awal;

Baca_Data;

for I := 0 to Jum_Suku do

begin

Writeln(‘Suku ke-‘,I:2,’, Nilainya = ‘,Legendre(Bil_X, I):8:3);

end;

Writeln;

Write(‘Tekan Enter…’);

Readln;

write(‘Coba lagi?[Y/T]’); readln(pilihan);
if (pilihan = ‘t’) or (pilihan = ‘T’) then
begin
writeln(‘Terima Kasih…’);
end;
if (pilihan = ‘y’) or (pilihan = ‘Y’) then
goto lagi;

end.

leave comment yah !! ^^

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s