Web Hosting

Program Pascal Data Barang

PROGRAM DATABARANG;
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.

Artikel Terkait



1 Tinggalkan Komentar Anda:

etika profesi mengatakan...

Bang kalau mau masukkan 2 record ke satu array bagaimana ya,mohon pencerahannya

Posting Komentar