uses wincrt; type Point = ^Data; Data = Record Info : integer; Next : Point end; var i : byte; lagi : char; databaru : integer; awal, bantu, akhir : Point; procedure create; begin awal:=nil end; Procedure tambah(databaru:integer); var baru : point; begin new(baru); baru^.info := databaru; if awal = nil then begin baru^.next := nil; awal := baru; end else begin baru^.next := awal; awal := baru; end; end; procedure tampil(awal : point); begin bantu:=awal; while bantu <> nil do begin write(bantu^.info); bantu := bantu^.next; end; end; {program utama} begin writeln('Program Mulai'); writeln('pilih menu berikut : '); writeln('1. isi data'); writeln('2. tampil data'); write('menu yang dipilih : '); readln(i); create; case i of 1 : begin clrscr; lagi:='y'; while lagi='y' do begin write('input data baru : '); readln(databaru); tambah(databaru); write('tambah data (y/t) : '); readln(lagi); end; end; 2 : begin clrscr; tampil(awal); end; end; writeln('program selesai'); end.