USES CRT;
CONST MAX=4;
TYPE
IDPOINT = ^ID;
ID = RECORD
NAMA : STRING[20];
HARGA : REAL;
NEXT :IDPOINT;
END;
VAR HEAD,BARANG,TAIL,NOW : IDPOINT;
A : INTEGER;
CARI: STRING[20];
PROCEDURE CREATE;
BEGIN
HEAD:=NIL;
TAIL:=NIL;
END;
PROCEDURE FIND_FIRST;
BEGIN
NOW:=HEAD;
END;
PROCEDURE CEK;
BEGIN
WRITELN('NOW :',NOW^.NAMA,'-----Rp ',NOW^.HARGA:0:2);
WRITELN('HEAD :',HEAD^.NAMA,'-----Rp ',HEAD^.HARGA:0:2);
WRITELN('TAIL :',TAIL^.NAMA,'-----Rp ',TAIL^.HARGA:0:2);
WRITELN;
END;
PROCEDURE INSERT(A:STRING;B:REAL);
BEGIN
NEW(NOW);
IF HEAD=NIL
THEN HEAD:=NOW ELSE
TAIL^.NEXT:=NOW;
TAIL:=NOW;
TAIL^.NEXT:=NIL;
NOW^.NAMA:=A;
NOW^.HARGA:=B;
END;
PROCEDURE DELETEHEAD;
BEGIN
IF HEAD <>NIL THEN
BEGIN
NOW:=HEAD;
HEAD:=HEAD^.NEXT;
DISPOSE(NOW);
NOW:=HEAD;
END;
END;
PROCEDURE DELETETAIL;
BEGIN
IF TAIL <> NIL THEN
BEGIN
NOW:=TAIL;
TAIL:=HEAD;
WHILE TAIL^.NEXT <> NOW DO
BEGIN
TAIL:=TAIL^.NEXT;
END;
DISPOSE(NOW);
NEW(NOW);
TAIL^.NEXT:=NOW;
TAIL^.NEXT:=NIL;
NOW:=TAIL;
END;
END;
PROCEDURE JUMLAHDATA;
BEGIN
IF HEAD=NIL THEN A:=0 ELSE A:=1;
FIND_FIRST;
WHILE NOW^.NEXT<> NIL DO
BEGIN
NOW:=NOW^.NEXT;
A:=A+1;
END;
WRITELN('JUMLAH DATA ADALAH :',A);
END;
BEGIN
CLRSCR;
CREATE;
INSERT('SAUS',3000);
CEK;
JUMLAHDATA;
INSERT('KECAP',5000);
CEK;
JUMLAHDATA;
INSERT('BERAS',9000);
CEK;
JUMLAHDATA;
DELETEHEAD;
CEK;
JUMLAHDATA;
DELETETAIL;
CEK;
JUMLAHDATA;
READLN;
END.
1 Tinggalkan Komentar Anda:
Bang kalau mau masukkan 2 record ke satu array bagaimana ya,mohon pencerahannya
Posting Komentar