oke ..lajut lagi kawan delphier ...
kali ini kita akan belajar pointer dengan menggunakan double linked list secara lifo maupun fifo.
mungkin masih banyak yang belum begitu paham dengan istilah2 tersebut . bagi yang belum mengerti , sebaiknya baca dulu postingan sebelumnya..
belajar struktur data memang hal yang rumit, tetapi sebagai seorang programer kita wajib menguasainya.
hemm,, sebenarya saya juga baru belajar , tapi tidak apalah kita berbagi info dan ilmu. walaupun sedikit semoga jadi bermanfaat ... untuk yang membutuhkan..
ho..hoo.ho.. tidak usah banyak cakap , ini dia lansung saja ke contoh program.
silahkan copy script berikut lalu pastekan pada delphi kalian .
selamat mencoba ,,
......................................................................................................................................................................................................................................................................................................................................
program double;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
tipeData = ^PtipeData;
PtipeData = record
nilai : integer;
prev : tipedata;
next : tipeData;
end;
var
data, awal, akhir,data1, awal1, akhir1 : tipeData;
I,n,k :integer;
procedure tambahFIFO(n: integer);
begin
new(data);
data^.nilai:= n;
if (Awal=nil) then begin
Awal := data;
Akhir := data;
data^.next:= nil;
data^.prev := nil;
end else begin
Akhir^.next := data;
Data^.prev := Akhir;
Akhir := data;
Akhir^.next := nil;
end;
end;
procedure tambahLIFO(n: integer);
begin
new(data1);
data1^.nilai:= n;
if (Awal1=nil) then begin
Awal1 := data1;
Akhir1 :=data1;
Data1^.next:= nil;
Data1^.prev := nil;
end else begin
Awal1^.prev := data1;
Data1^.next := Awal1;
Awal1 := data1;
Awal1^.prev := nil;
end;
end;
procedure input ();
begin
write ('berapa banyak data nilai ? ');
readln (n);
for I := 1 to n do
begin
write ('data ke-',I,'? ');
readln (k);
tambahlifo(k);
tambahfifo(k);
end;
end;
procedure tampil; // tampil fifo
begin
writeln('Data awal = ', Awal^.nilai);
writeln('Data akhir = ', Akhir^.nilai);
data := Awal;
write('FIFO = ');
while data <> nil do
begin
write(data^.nilai,' ');
data := data^.next;
end;
end;
procedure tampil1; // tampil lifo
begin
writeln('Data awal = ', Awal1^.nilai);
writeln('Data akhir = ', Akhir1^.nilai);
data1 := Awal1;
write('LIFO = ');
while data1 <> nil do
begin
write(data1^.nilai,' ');
data1 := data1^.next;
end;
end;
procedure hapus; //hapus fifo
begin
while awal <> nil do
begin
data := awal;
awal := data^.next;
dispose(data);
end;
end;
procedure hapus1; //hapus fifo
begin
while awal <> nil do
begin
data1 := awal1;
awal1 := data1^.next;
dispose(data1);
end;
end;
begin
awal := nil;
akhir := nil;
input; writeln(' ');
tampil; writeln(' ');
hapus; writeln(' ');
tampil1; writeln(' ');
hapus1;
writeln(' ');
writeln(' ');
writeln('....................................... ');
writeln(' wahyu setiawan ');
readln;
end.
......................................................................................................................................................................................................................................................................................................................................
untuk pertanyaan ,saran, request maupun coment... silahkan tulis di bawah..
terimakasih sudah berkunjung di blog maz wahyu...
semoga berhasil dengan program delphinya.
No comments:
Post a Comment