Rabu, 11 Juni 2014



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