Home » , » Program pascal menyimpan file di notepad

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
                     

7 komentar :

  1. wah, keren, ternyata notepad juga bisa gitu ya,

    ReplyDelete
  2. Gile keren, padahal cuma notepad ye :) (y)

    http://duniacupris.blogspot.com/2013/12/cara-instal-dua-sistim-operasi-dalam.html

    ReplyDelete
  3. Itu dibagi jadi beberapa procedure dan function gan... baca deh pelan" pasti ngerti deh

    ReplyDelete
  4. gan tolong bantuannya dong menyelesaikan tugs ini,
    Program file1;
    uses wincrt;
    var
    berkastext : text;
    kodebarang : string[5];
    namabarang : string[20];
    unitbarang : integer;
    hargabarang: real;
    kodecari : string[5];
    spasi : string[5];
    lagi : char;
    begin
    assign(berkastext,'E:/coba.txt');
    lagi:='Y';
    while upcase(lagi)='Y' do
    begin
    spasi:=' ';
    reset(berkastext);
    clrscr;
    write('kode barang dicari? ');readln(kodecari);
    writeln;
    kodecari:=copy(spasi,1,5 - length(kodecari))+kodecari;
    while (not eof(berkastext)) and (kodebarang <> kodecari) do
    readln(berkastext,kodebarang,namabarang,unitbarang,hargabarang);
    if kodebarang = kodecari then
    begin
    writeln('nama barang : ',namabarang);
    writeln('unit barang : ',unitbarang:7);
    writeln('harga barang: ',hargabarang:10:2);
    end
    else
    write('tidak ada data barang ini!!!');
    close(berkastext);
    writeln;
    write('ada data yang akan dicari[Y/T]?');readln(lagi);
    end;
    end.

    ReplyDelete
  5. Thanks goood bray, mantap programnya sangat membantu

    ReplyDelete
  6. keren banget kak infonya bakal dicoba

    xl pro

    ReplyDelete

 
Support : Creating Website | Mas Template
Copyright © 2011. Pohon Tua Blogspot - All Rights Reserved
Template modify by Pohon Tua Blog
Proudly powered by Blogger