You are on page 1of 4

program Penyewaan_VCD ; uses crt; const Header =('------------Daftar Barang Di Outlet------------'); Separator =('-------------------||--------------------------'); type DataString = string[30]; ListPointer

= ^ListRecord; ListRecord = record DataField, namabarang : DataString; NextField : ListPointer; end; var FirstPointer : ListPointer; procedure BuildList(var FirstPointer : ListPointer; DataItem : DataString); var ToolPointer : ListPointer; begin new(ToolPointer); ToolPointer^.DataField := DataItem; ToolPointer^.namabarang := DataItem; ToolPointer^.NextField := FirstPointer; FirstPointer :=ToolPointer; end;

procedure ReadList(FirstPointer : ListPointer); var CurrentPointer : ListPointer; begin CurrentPointer := FirstPointer; while CurrentPointer <> NIL do begin writeln(CurrentPointer^.DataField); CurrentPointer := CurrentPointer^.NextField end; writeln end;

procedure GetData(var FirstPointer: ListPointer); var Name, No :DataString; begin writeln('Masukkan Nama Barang dan Jumlah Stock Yang Dimilik'); readln(Name); writeln('Nama Barang : '); Readln(No); while length(Name) <> 0 DO begin write('Stock : '); BuildList(FirstPointer,Name); READLN(Name); write('Nama Barang : ');

BuildList(FirstPointer,No);Readln(No); end; end;

procedure DisplayInfo(FirstPointer:ListPointer); begin writeln(Separator); writeln('Isi dari daftar:'); writeln('Stock dan Nama Barang ');ReadList(FirstPointer); write('Tekan Enter untuk melanjutkan!!!!...'); readln; end;

procedure Menu; var Option : integer; begin writeln(Header); writeln('1. Simpan data pada daftar.'); writeln('2. Tampilan daftar.'); writeln('3. Keluar.'); writeln(Separator); write('Pilihan --> '); readln(Option); case Option of

1 : GetData(FirstPointer); 2 : DisplayInfo(FirstPointer); 3 : exit; end; Menu end; begin FirstPointer := nil; menu end.

You might also like