Calendar

AYO DUKUNG UGOS

Login Form



Exercise Variabel Dinamis Print E-mail

PROGRAM CONTOH_LINKED_LIST
USES CRT;
type ptr = ^node;
item = char;
node = record
isi : item;
next : ptr;
end;

var l : ptr;


Procedure awal(var L:ptr);
var temp : ptr;
begin
L := NIL;
end;
 


Procedure tambahdepan(var L : ptr; data:item);
var temp : ptr;
begin
new(temp);
temp^.isi := data;
temp^.next := NIL;
if L=NIL then L :=temp
else
begin
temp^.next := L;
L := temp;
end;
end;
  Procedure tampil(L:ptr);
var temp : ptr;
begin
temp := l;
while temp<>nil do
begin
writeln(temp^.isi);
temp := temp^.next;
end;
end;
 

 


BEGIN
AWAL(l);
CLRSCR;
TAMBAHDEPAN(L,'D'); TAMBAHDEPAN(L,'B');TAMBAHDEPAN(L,'C');
TAMPIL(L);
DISPOSE(L);
 
END.
 

TUGAS

  1. Buatlah prosedur untuk membaca data sehingga untuk memasukkan data tidak perlu menuliskan prosedur TAMBAHDEPAN berulang-ulang. Gunakan deklarasi berikut:

    Procedure BACADATA(var L:ptr);
    var i,n : integer;
    c : item;
     
    begin
    write('Berapa data mau dimasukkan ? ');readln(n);
    for i:=1 to n do
    begin
    write('Masukkan huruf : ');readln(c);
    tambahdepan(L,c);
    end;
    end;

  2. Gunakan prosedur BACADATA di dalam program di atas
  3. Ubahlah tipe item pada program di atas menjadi sebuah record dengan field berupa nama, NIM dan lulus seperti pada praktikum tentang antrian (minggu sebelumnya)