Jumat, 06 Desember 2013

Program pascal menyimpan file di notepad

Program pascal menyimpan file di notepad - Setelah sharing banyak tentang program - program pascal, kali ini saya kembali sharing pemrograman pascal dengan soal yang lebih rumit yaitu melakukan perhitungan yang kemudian file atau data disimpan di sebuah notepad menggunakan pascal.

Soal :
Buatlah sebuah program menghitung total belanja dimana hasil dari pengolahan data tersebut disimpan disebuah notepad. Dalam perhitungan ini ada sistem bonus , diskon dan pajak didalam program pascal yang dibuat . Setelah itu program juga harus ada pilihan akan menampilkan data atau tidak. 
Solusi :

program data1;

type

Shoplist=record

nama:string;

hrg,qty,jml: integer;

end;

var

buy: text;

x:char;

totharga,n,i: integer;

sale,pajak,pay: real;

pjk,dis,bonus: string;

data: array [1..1000] of shoplist;

procedure inputdata;

begin

write('masukan banyak jenis barang : '); readln(n);

for i:=1 to n do

begin

writeln('jenis barang ke ',i);

write('Nama barang : '); readln(data[i].nama);

write('Harga barang : '); readln(data[i].hrg);

write('Banyak barang : '); readln(data[i].qty);

writeln;

end;

end;

procedure proses1;

begin

for i:= 1 to n do

begin

data[i].jml:= data[i].hrg*data[i].qty;

end;

totharga:= 0;

for i:= 1 to n do

begin

totharga:= totharga + data[i].jml;

end;

if (totharga >= 6000000) and (totharga < 7000000) then dis:='( 15% )';

if (totharga >= 7000000) and (totharga < 8000000) then dis:='(17.5%)';

if totharga >= 8000000 then dis:='( 25% )';

end;

function diskon(a:integer):real;

begin

if (a >= 6000000) and (a < 7000000) then diskon:= a-(a*0.15);

if (a >= 7000000) and (a < 8000000) then diskon:= a-(a*0.175);

if a >= 8000000 then diskon:= a-(a*0.25);

end;

function pajaks(b:real):real;

begin

if (b <= 5000000) then pajaks:= b+(b*0.05);

if (b > 5000000) and (b < 7000000) then pajaks:= b+(b*0.1);

if b >= 7000000 then pajaks:= b+(b*0.15);

end;

procedure proses2;

begin

sale:= diskon(totharga);

pajak:= pajaks(sale);

pay:= pajak;

if (sale >= 5000000) and (sale < 6000000) then pjk:='( 5% )';

if (sale >= 6000000) and (sale < 7000000) then pjk:='( 10% )';

if sale >= 7000000 then pjk:='( 15% )';

if totharga < 5000000 then bonus:='Mouse Pad' else bonus:='payung';

end;

procedure tuliskenotepad;

begi

assign(buy,'D:\tugas.txt');

rewrite(buy);

writeln(buy,'--------------------------------------------------');

writeln(buy,'|No | Nama Barang | Harga | Qty | Total |');

writeln(buy,'--------------------------------------------------');

for i:= 1 to n do

begin

writeln(buy,i:2,data[i].nama:14,data[i].hrg:13,data[i].qty:5,data[i].jml:13);

end;

writeln(buy,'==================================================');

writeln(buy,' Total Harga ',totharga);

writeln(buy,' Diskon ',dis,' ',sale:0:0);

writeln(buy,' Pajak ',pjk,' ',pajak:0:0);

writeln(buy,'==================================================');

writeln(buy,' Bayar ',pay:0:0);

writeln(buy,'Bonus ',bonus);

writeln(buy,'--------------------------------------------------');

writeln(buy,' ud. bali indigo komputer ');

writeln(buy,' pertokoan komputer alam dewata panjer denpasar ');

close(buy);

end;

var

filenama : text;

pesan: string;

begin

inputdata; proses1; proses2;

tuliskenotepad

writeln('---------------------------------------');

writeln('|..LAPORAN TELAH DISIMPAN DI NOTEPAD..|');

writeln('| D:\tugas.txt |');

writeln('---------------------------------------');

writeln;

writeln(' TAMPILKAN / KIRIM LAPORAN KE DOS ??? ');

write('TEKAN "Y" UNTUK YA, atau "T" UNTUK TIDAK ===> ');readln(x);

writeln;

if (x='y') or (x='Y') then

begin

assign(filenama,'D:\tugas.txt');

reset(filenama);

while not eof(filenama) do

begin

readln(filenama,pesan);

writeln(pesan);

end;

close(filenama); ;

end;

readln;

end.


Hasil
                     

Artikel Terkait

Program pascal menyimpan file di notepad
4/ 5
Oleh

Berlangganan

Suka dengan artikel di atas? Silakan berlangganan gratis via email