Jumat, 13 Juli 2012

PASCAL - CONTOH PROGRAM MENGUNAKAN LINKED LIST




Listing Program :

Program QueueLinkedList;
Uses crt;
Type pointer = ^ simpul;
      simpul  = record
    data : char;
    next : pointer;
      end;
      antrian = record
    rear,front : pointer;
      end;
var q: antrian;
    baru,bantu,hapus : pointer;
    elemen : char;
    i : integer;
Procedure enqueue;
begin
 new(baru);
 baru^.data := elemen;
 baru^.next := nil;
 if q.rear = nil then
   begin
    q.front^.data := elemen;
    q.rear := baru;
   end
 else
   begin
    baru^.next := baru;
    q.rear := nil;
   end;
end;

Procedure dequeue;
begin
  new (bantu);
  bantu := q.rear;
  if q.rear  <> q.front then
   begin
    while bantu^.next <> q.front do
       bantu := bantu^.next;
    elemen := bantu^.data;
    new (hapus);
    hapus := q.front;
    q.front := bantu;
    q.front^.next := nil;
    dispose (hapus);
   end
 else
   begin
    new (hapus);
    hapus := q.front;
    elemen := q.front^.data;
    q.front := q.rear;
    q.rear := hapus^.next;
    dispose (hapus);
   end;
end;

Procedure cetak;
begin
    write('isi antrian saat ini :');
    new (bantu);
    bantu := q.rear;
if q.rear <> nil then
  begin
    while bantu^.next <> nil do
    begin
      write(bantu^.data:4);
          bantu := bantu^.next;
    end;
    writeln(bantu^.data:4);
  end;
end;
begin {program utama}
clrscr;
write('masukkan panjang antrian :');readln (i);
for i := 1 to i do
begin
 write('masukkan elemen antrian ke',i,' : ');readln (elemen);
 enqueue;
 cetak;
end;
readln;
write('proses penghapusan elemen antrian :');
while q.rear <> nil do
begin
    readln;
    dequeue;
    writeln('elemen yang dikeluarkan :',elemen :4);
    cetak;
end;
writeln('antrian telah kosong...!');
readln;
end.


Jangan lupa tinggalkan pesan berupa saran dan kritik yang bermanfaat untuk blog  ini. Untuk teman-teman yang hendak mencopy artikel ini untuk dipasang pada blog atau web-nya, dengan sangat diharapkan untuk mencantumkan Link keblog ini sebagai sumber artikel sekaligus sebagai backlink untuk blog ini. Terima kasih untuk pengertian dan kerjasamanya, mari berkembang bersama.

Tidak ada komentar: