Saturday, March 28, 2015

Program Pascal (Struk Pembayaran)

Kudena.blogspot.com-Minggu(28/3) , oke waktunya program pascal :D , kali ini programnya berkaitan dengan struk pembayaran,ini dia hasil outputnya :


dan ini kode pascalnya gan :

program minggu_3;
uses crt;
const max=10;
const garis='===========================================================';
type rec_struk=record
nomer,tanggal,kasir:string;
nama:array[1..max] of string;
harga,jumlah:array[1..max] of real;
qtt:array[1..max] of byte;
total:real;
end;
type larik=array[1..max] of rec_struk;
var struk:larik; i,n1,n2:byte;
ya:char;
procedure isi_struk(var x:larik);
Begin
repeat
inc(n1);
            writeln(garis);
            writeln('          Beta Mart IST AKPRIND YOGYAKARTA');
            writeln(garis);
            x[n1].total:=0;n2:=0;
            write('Masukan nomer struk  : ');readln(x[n1].nomer);
            write('Masukan Nama Kasir   : ');readln(x[n1].kasir);
            write('Masukan tanggal      : ');readln(x[n1].tanggal);
repeat
begin
clrscr;
inc(n2);
            writeln(garis);
            writeln('          Beta Mart IST AKPRIND YOGYAKARTA');
            writeln(garis);
writeln('jika mau berhenti masukan nama barang = selesai');
write('Masukan nama barang : ');readln(x[n1].nama[n2]);
if x[n1].nama[n2]<>'selesai' then
begin
write('masukan harga barang : Rp.');readln(x[n1].harga[n2]);
write('masukan jumlah barang : ');readln(x[n1].qtt[n2]);
x[n1].jumlah[n2]:=x[n1].harga[n2]*x[n1].qtt[n2];
x[n1].total:=x[n1].total+x[n1].jumlah[n2];
end;end;
until (x[n1].nama[n2]='selesai') or (n2>=max);
dec(n2);
write('Apakah anda ingin hapus data dan isi lagi ? <y/t>');readln(ya);
until (ya<>'y');
end;

procedure cetak_struk(var x:larik);
var bayar,kembali:real; label ulang;

begin
clrscr;
writeln;
writeln(garis);
writeln('            Struk Beta Mart IST AKPRIND YOGYAKARTA '); writeln;
writeln(garis);
writeln;
writeln('Nomer      : ',x[n1].nomer);
writeln('Nama Kasir : ',x[n1].kasir);
writeln('Tanggal    : ',x[n1].tanggal); writeln;
writeln('No          Nama Barang      Harga      Qtt        Jumlah');
writeln(garis);
writeln(garis);
for i:=1 to n2 do
writeln(i:2,'',x[n1].nama[i]:15,'          ',x[n1].harga[i]:8:2,'     ',x[n1].qtt[i]:3,'     ',x[n1].jumlah[i]:8:2);
writeln(garis);
writeln('total belanja = Rp',x[n1].total:10:2);
ulang:
write('bayar         = Rp   ');readln(bayar);
if bayar<x[n1].total then begin writeln('pembayaran kurang,ulangi'); goto ulang; end else
begin kembali:=bayar-x[n1].total;
writeln('kembali       = Rp   ',kembali:8:2);
writeln('terimakasih,selamat berkunjung kembali');
writeln(garis);
end;
end;
begin
isi_struk(struk);
cetak_struk(struk);
readln;
end.

No comments:

Post a Comment

Tinggalkan Pesan :