Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri.
Berikut saya memberikan contoh dari rekursi dalam mengurutkan data dalam bentuk prosedure.
Tulislah scrip di bawah ini pada consule aplication.
SysUtils;
type
tipe_larik = string[20];
larik_urut = array [1..1000] of tipe_larik;
procedure quicksort(var a : larik_urut; bawah, atas:word);
var i,j:Word;
sementara :tipe_larik;
Begin
While atas > bawah do
Begin
i := bawah;
j := atas;
sementara:= a[bawah];
{Memecah Larik Menjadi dua Bagian}
while i<j do
Begin
While a[j]>sementara do
j:=j-1;
a[i]:=a[j];
while (i<j) And (a[i] <= sementara) do
i:=i+1;
a[j]:=a[i];
end;
a[i]:= sementara;
{Urutkan Rekursi}
quicksort(a,bawah,i-1);
bawah:=i+1;
end;
end;
var
nama:larik_urut;
b,i:Word;
Begin
writeln('NAMA : MUNAWIR');
writeln('=================================================');
writeln(' PENGURUTAN DATA ');
writeln('=================================================');
writeln('Berapa Banyak Data Anda yang Akan Di Urutkan...? '); Readln(b);
Writeln;
writeln('Masukkan Data Anda : ');
for i:=1 to b do
Begin
write('Data Ke ',i,'?'); Readln(nama[i]);
end;
{Urutkan dengan Procedure Quicksort}
quicksort(nama,1,b);
{Tampilan data yang di urutkan}
Writeln;
Writeln('Data yang Telah di urutkan : ');
for i:= 1 to b do
Writeln(nama[i]);
Readln;
end.
Setelah itu klik run untuk menjalankan.
Minggu, 21 Juni 2015
Langganan:
Posting Komentar (Atom)




0 komentar:
Posting Komentar