Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program PERPUSTAKAAN_TEMP;
- uses crt;
- type
- pointer = ^Buku;
- Buku = record
- KodeBuku : integer;
- JudulBuku: string;
- PenulisBuku : string;
- PenerbitBuku : string;
- next : pointer;
- end;
- var
- awal,akhir : pointer;
- {---------------- Procedur isi data ---------------------}
- procedure isi_data(var awal,akhir:pointer; kode:integer; judul,penulis,penerbit:string);
- var
- dataBuku:pointer;
- begin
- New(dataBuku); {ngambil memori}
- dataBuku^.kodeBuku := kode; {ngisi record}
- dataBuku^.judulBuku := judul;
- databuku^.PenulisBuku := penulis;
- databuku^.PenerbitBuku := penerbit;
- if (awal = nil) then {pointer nunjuk ke awal yang kosong}
- begin {kosong = pointer gak nunjuk kemana2}
- dataBuku^.next := nil; {pointer akhir juga kosong}
- akhir := dataBuku; {pointer akhir nunjuk ke databaru}
- end else
- begin
- dataBuku^.next := awal; {pointer nunjukin ke awal dari node berikutnya}
- end;
- awal:=dataBuku;
- end;
- {----------------------- End procedure isi data ----------------}
- {-------------------- Program utama ----------------}
- var
- kode : integer;
- judul : string;
- penulis : string;
- penerbit : string;
- pilih,menu_sisip,menu_hapus,menu_sisiptengah,menu_tampil:integer;
- ulang,pilih2:char;
- i:integer;
- begin
- awal:=nil;
- akhir:=nil;
- ulang:='y';
- repeat
- clrscr;
- writeln('==================================');
- writeln(' DAFTAR BUKU PERPUSTAKAAN');
- writeln('----------------------------------');
- writeln('===========================');
- writeln(' Menu Utama ');
- writeln('=========================');
- writeln('[1].Tambah Data ');
- writeln('[2].Sisipkan Data ');
- writeln('[3].Hapus Data ');
- writeln('[4].Tampilkan Data ');
- writeln('[5].Keluar ');
- writeln('==========================');
- writeln('==========================');
- writeln('Masukan Pilihan : ');
- writeln('===========================');
- readln(pilih);
- clrscr;
- case pilih of
- 1:begin
- writeln('=================================');
- writeln(' ISI DATA BUKU ');
- writeln('=================================');
- pilih2:='y';
- i:=1;
- while (pilih2 = 'y') or (pilih2 ='Y') do
- begin
- writeln('Data buku ke-',i);
- write('Kode Buku : ');readln(kode);
- write('Judul Buku : ');readln(judul);
- write('Penulis Buku : ');readln(penulis);
- write('Penerbit Buku : ');readln(penerbit);
- writeln('================');
- isi_data(awal,akhir,kode,judul,penulis,penerbit);
- write('Tambah Buku [Y/T] :');readln(pilih2);
- i:=i+1
- end;
- end;
- end;
- until (ulang = 't') Or (ulang='T');
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement