Assalamu’alaikum
hallo sahabat dumay, kembali lagi bersama saya Riyani yang biasa disapa Liyani Linares. Kali ini saya akan memosting mengenai turbo pascal. Saya diberi tugas oleh dosen saya untuk membuat Program Antrian Sederhana menggunakan aplikasi Turbo Pascal. Program Antrian ini menggunakan karakter sebagai Nasabah Bank.
Langsung saja kita ke
codingnya:
PROGRAM
Tugas_Riyani;
Uses
crt;
Type
Pointer
= ^TypeData;
TypeData
= Record
norek
: string;
nama :
string;
alamat
: string;
next :
pointer;
End;
Var
List :
Pointer;
pil :
char;
procedure
menu(var b : integer);
begin
writeln(' MENU ANTRIAN NASABAH ');
writeln('----------------------------------');
writeln('Sisa
Antrian : ',b);
writeln(' 1. Tambahkan Antrian Nasabah [1]');
writeln(' 2. Tampil Antrian Nasabah [2]');
writeln(' 3. Panggil Antrian Nasabah [3]');
writeln(' 4. Keluar [4]');
write('Masukkan
Pilihan Menu : '); readln(pil);
writeln;
end;
{MASUK
DATA Nasabah}
Procedure
Masuk_data(Var L : Pointer);
Var
Baru :
Pointer;
norek,
nama, alamat : string;
Begin
write('No
Rek : '); readln(norek);
write('Nama
Nasabah : '); readln(nama);
write('Alamat
Nasabah : '); readln(alamat);
writeln('---------------------------------------------');
New(Baru);
Baru^.norek
:= norek;
Baru^.nama := nama;
Baru^.alamat:=
alamat;
Baru^.next
:= Nil;
if L =
Nil then L := Baru
else
Begin
Baru^.next
:=L;
L
:=Baru;
End;
End;
{PROCEDURE
CETAK}
Procedure
Cetak(L : Pointer);
Var
Bantu
: Pointer;
c :
integer;
Begin
Bantu
:= L;
c :=
4;
While
Bantu <> Nil Do
Begin
Writeln('Data
Nasabah ke ',c);
Writeln('No
Rekening : ',Bantu^.norek);
writeln('Nama
Nasabah : ',Bantu^.nama);
Writeln('Alamat
Nasabah : ',Bantu^.alamat);
writeln('------------------------------------');
Bantu:=Bantu^.next;
dec(c);
End;
write('Tekan
ENTER untuk kembali');
End;
Procedure
Hapus(Var L : Pointer);
Var
Baru,bantu
: Pointer;
Begin
Bantu
:= L;
if
Bantu = Nil then Writeln('List Kosong...')
else
Begin
While
Bantu^.next^.next <> nil do
Bantu
:= Bantu^.next;
New(Baru);
Baru
:= Bantu^.next;
Bantu^.next:=nil;
Writeln('Data
Nasabah');
Writeln('norek : ',Baru^.norek);
writeln('Nama
Nasabah : ',Baru^.nama);
Writeln('Alamat
Nasabah : ',Baru^.alamat);
writeln('------------------------------------');
dispose(Baru);
End;
End;
{PROGRAM
UTAMA}
Var
i,a :
integer;
Begin
clrscr;
a:=0;
Menu(a);
clrscr;
while
pil<>'4' do
begin
if
(pil='1') then
begin
for i
:= 1 to 4 do
begin
inc(a);
Masuk_data(List);
end;
end;
readkey;
clrscr;
menu(a);
clrscr;
if
(pil='2') then
begin
cetak(List);
end;
if
(pil='3') then
begin
dec(a);
hapus(List);
end;
end;
End.
Ini hasilnya ……
Selamat mencoba sobat….. J