Berikut ini source code nya :
program tiketbioskop;
uses crt;
type poinjuk = ^lokasi; //tipe data yang di deklarasikan menggunakan ^
lokasi = record //agar bisa di pakai banyak variabel
film : string;
nama: string;
no_kursi: string;
berikut : poinjuk;
end;
var head,data,tail : poinjuk; //variabel yang bertipe data record
pil,pilih : char;
larik : lokasi;
Procedure menu; //prosedur/method yg digunakan untuk tampil menu
begin
clrscr; //membersihkan screen dari angka dan huruf
writeln(' ----------------------MENU TIKETING BIOSKOP -------------------------- ');
writeln(' ------------------------------------------------------------------- ');
writeln;
writeln(' 1. Tambah data penonton ');
writeln(' 2. Tampilkan data penonton ');
writeln(' 3. Hapus data ');
writeln(' 0. Keluar');
writeln(' -------------------------------------------------------------------');
write(' Pilihan : '); readln(pil);
end;
procedure tambah; //procedure untuk menambahkan data baru
begin
clrscr;
writeln('------ Masukkan Data Baru ------');
repeat //membuat perulangan ketika memasukan data baru
new(data); //membuat data baru
write('Nama Penonton : '); readln(larik.nama);
write('Nama FILM : '); readln(larik.film);
write('Nomor Bangku : '); readln(larik.no_kursi);
databaru(data,larik.nama,larik.film,larik.no_kursi);
if head=nil then //jika ada data yang di tambahkan hanya 1 maka
begin
head:=data; //data berada di node head dan
tail:=data; //data juga akan berada di node tail
end
else //jika data yang di tambahkan lebih dari 1 maka
begin
head^.berikut:=data; //data yang paling baru akan berada di node head
tail:=data; //dan data yang lama di masukan akan berada di tail
tail^.berikut:=nil;
end;
writeln;
write('Tambah Data Lagi[Y/T] : ');
readln(pilih);
writeln;
pilih:=upcase(pilih); //mengulang perintah menambah data
until pilih='T'; //sampai user menginputkan huruf T
end;
procedure lihat;
var banyak : integer;
begin
clrscr;
s:=0;
banyak:=0; //inisialisasi awal ketika tidak ada data penonton yang di input
data:=head; //membuat data yang pertama di input ada pada urutan paling atas
writeln('------------------ Daftar Nama Penonton Bioskop ------------------');
writeln('|----------------------------------------------------------|');
writeln('| No | Nama | Film | Nomor Bangku |');
writeln('|----------------------------------------------------------|');
while data<> nil do //perulangan output pada data
begin
s:=s+1;
gotoxy(1,4+s); // prosedur untuk menempatkan kursor ke kolom1,baris4
writeln('| | | | |');
gotoxy(3,4+s); //prosedur untuk menempatkan kursor ke kolom3,baris 4
writeln(s);
gotoxy(8,4+s);
writeln(data^.nama); //memanggil variabel record data nama yg tersimpan
gotoxy(24,4+s);
writeln(data^.film); //memanggil variabel record data film yg tersimpan
gotoxy(51,4+s);
writeln(data^.no_kursi); //memanggil variabel record data nomor kursi yg tersimpan
data:=data^.berikut; //fungsi ketika ada data baru yang di tambahkan maka
end; //data tersebut akan tersimpan paling bawah
writeln('|----------------------------------------------------------|');
writeln('Tekan Apa saja untuk kembali ke menu');
readkey; //statement untuk menunggu penekanan tombol sembarang utk end; //melakukan statement selanjutnya yaitu menampilkan prosedur menu kembali
BEGIN
repeat //melakukan perulangan
menu; //pada prosedur menu
case pil of
'1' : tambah ; //ketika user memasukan 1 maka akan menambahkan data baru
'2' : lihat ; //ketika user memasukan angka 2 maka akan melihat data yang tersimpan
'0' : exit; //ketika user memasukan angka 0 maka program akan keluar
end;
until pil ='0'; //akan selalu melakukan perulangan sampai pilihan yang di pilih = 0
END.
// adalah sebagai comment
output program:
Description: Program Tiket Bioskop Linked List Dengan Pascal Rating: 4.5 Reviewer: Unknown ItemReviewed: Program Tiket Bioskop Linked List Dengan Pascal
+ comments + 1 comments
141111058
Post a Comment
Correct Me If I Wrong,Please Comment?