Minggu, 19 April 2015

Program Linked List (pointer)

  • Source Code


uses crt;
  type pointer=^typedata;
  typedata = record
   nilai : integer;
   berikut : pointer;
   end;


  var list :pointer;

  procedure mas_dep(var L : pointer; x : Integer);
  var baru : pointer;

 begin
  new(baru);
  baru^.Nilai:=x;
  baru^.Berikut:= nil;
  if L= nil then L:=baru
  else
  begin
  baru^.berikut :=L;
  L:= baru;
  end;
 end;

 procedure cetak (L:pointer);
 var bantu : pointer;
 begin
  bantu:= L;
  while bantu <> nil do
  begin
  write (bantu^.Nilai:3);
  Bantu:=bantu^.Berikut;
   end;
  end;

  var bil, bil2 : integer;
  JB : char;

  begin
  clrscr;
  new(list);
  list:=nil;
  jb:='Y';
  writeln;
  writeln (' ===Program Linked List===');
  writeln;
  writeln ('  Masuk depan');
  while upcase(Jb)='Y' do
  begin
  writeln;
   write ('Masukkan bilangan : '); readln(bil);
   mas_dep(list,bil);
   write ('Lagi [Y/T]  : '); readln(Jb);
   end;
   cetak(list);
   writeln;
   readln;
   end.



  • Screenshoot





Sekian Terima  Kasih Semoga Bermanfaat.

Minggu, 12 April 2015

Contoh Program Pointer Tak Bertipe Pada Pascal



uses crt;
type pointer=^string;
var
       p, q, r, s : pointer;
       nilai : String;


begin
clrscr;
nilai := 'ini adalah string nilai';
p := @nilai;
New(q);
New(s);
q^ := 'ini isi pointer q';
r := q; {r menunjuk ke yang ditunjuk q}
s^ := q^;
writeln('alamat pointer p = ', seg(p^):4,' : ', ofs(p^):4, ' isi pointer p = ', p^);
writeln('alamat pointer q = ', seg(q^):4,' : ', ofs(q^):4, ' isi  pointer q = ', q^);
writeln('alamat pointer r = ', seg(r^):4,' : ', ofs(r^):4, ' isi pointer r = ', r^);
writeln('alamat pointer s = ', seg(s^):4,' : ', ofs(s^):4, ' isi pointer s = ', s^);
readln;
end.


  • Output