Advertisement
nadiar429

Perpustakaan No 1 (sementara)

Apr 11th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.60 KB | None | 0 0
  1. program PERPUSTAKAAN_TEMP;
  2. uses crt;
  3. type
  4.     pointer = ^Buku;
  5.     Buku = record
  6.     KodeBuku : integer;
  7.     JudulBuku: string;
  8.     PenulisBuku : string;
  9.     PenerbitBuku : string;
  10.     next : pointer;
  11. end;
  12. var
  13. awal,akhir : pointer;
  14.  
  15. {---------------- Procedur isi data ---------------------}
  16.  
  17. procedure isi_data(var awal,akhir:pointer; kode:integer; judul,penulis,penerbit:string);
  18. var
  19.    dataBuku:pointer;
  20. begin
  21.      New(dataBuku);  {ngambil memori}
  22.      dataBuku^.kodeBuku := kode;    {ngisi record}
  23.      dataBuku^.judulBuku := judul;
  24.      databuku^.PenulisBuku := penulis;
  25.      databuku^.PenerbitBuku := penerbit;
  26.      if (awal = nil) then     {pointer nunjuk ke awal yang kosong}
  27.      begin                        {kosong = pointer gak nunjuk kemana2}
  28.          dataBuku^.next := nil;      {pointer akhir juga kosong}
  29.          akhir := dataBuku;   {pointer akhir nunjuk ke databaru}
  30.      end else
  31.      begin
  32.          dataBuku^.next := awal;  {pointer nunjukin ke awal dari node berikutnya}
  33.      end;
  34.      awal:=dataBuku;
  35. end;
  36.  
  37. {----------------------- End procedure isi data ----------------}
  38.  
  39. {-------------------- Program utama ----------------}
  40.  
  41. var
  42. kode : integer;
  43. judul : string;
  44. penulis : string;
  45. penerbit : string;
  46.  
  47. pilih,menu_sisip,menu_hapus,menu_sisiptengah,menu_tampil:integer;
  48. ulang,pilih2:char;
  49. i:integer;
  50.  
  51. begin
  52. awal:=nil;
  53. akhir:=nil;
  54. ulang:='y';
  55. repeat
  56. clrscr;
  57. writeln('==================================');
  58. writeln('   DAFTAR BUKU PERPUSTAKAAN');
  59. writeln('----------------------------------');
  60. writeln('===========================');
  61. writeln(' Menu Utama ');
  62. writeln('=========================');
  63. writeln('[1].Tambah Data ');
  64. writeln('[2].Sisipkan Data ');
  65. writeln('[3].Hapus Data ');
  66. writeln('[4].Tampilkan Data ');
  67. writeln('[5].Keluar ');
  68. writeln('==========================');
  69. writeln('==========================');
  70. writeln('Masukan Pilihan : ');
  71. writeln('===========================');
  72. readln(pilih);
  73. clrscr;
  74. case pilih of
  75. 1:begin
  76. writeln('=================================');
  77. writeln(' ISI DATA BUKU ');
  78. writeln('=================================');
  79. pilih2:='y';
  80. i:=1;
  81. while (pilih2 = 'y') or (pilih2 ='Y') do
  82. begin
  83.      writeln('Data buku ke-',i);
  84.      write('Kode Buku : ');readln(kode);
  85.      write('Judul Buku : ');readln(judul);
  86.      write('Penulis Buku : ');readln(penulis);
  87.      write('Penerbit Buku : ');readln(penerbit);
  88.      writeln('================');
  89.      isi_data(awal,akhir,kode,judul,penulis,penerbit);
  90.      write('Tambah Buku [Y/T] :');readln(pilih2);
  91. i:=i+1
  92. end;
  93. end;
  94.  
  95. end;
  96.  
  97. until  (ulang = 't') Or (ulang='T');
  98. readln;
  99. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement