{*************************************}
{Program Ujian Akhir Semester gasal }
{Tahun Akademik 2011 / 2012 }
{Matakuliah Algoritma & Pemrograman
By EDI PURWANTO EMAIL edipurwanto10@gmail.com}
{*************************************}
{LISTING PROGRAM PASCAL }
Program penjualan;
uses
crt;
type
data=record
no,jumlah:integer;
nama_barang:string;
harga,harga_barang:real;
end;
var
rdata:array[1..100]of data;
filedata:file of data;
f:data;
nomor:integer;
datacari:string;
procedure judul;
begin
writeln;
writeln('**********************************************');
writeln(' KOPERASI MAHASISWA "HIMSYA JEPARA" ');
writeln(' Jl. Ratu Kalinyamat KM.1 ');
writeln(' Jepara ');
writeln(' dibuat Edi Purwanto ');
writeln;
end;
procedure tambah;
var
i:integer;
lagi:char;
begin
clrscr;
judul;
writeln('Masukan data tambahan');
assign(filedata,'jual.dat');
reset(filedata);
seek(filedata,filesize(filedata));
write('Nama barang:');
readln(f.nama_barang);
write('harga :');
readln(f.harga);
write('jumlah :');
readln(f.jumlah);
f.harga_barang:=f.harga*f.jumlah;
write(filedata,f);
close(filedata);
end;
procedure hapus;
var
i,j:integer;
nm:string;
begin
assign(filedata,'jual.dat');
reset(filedata);
j:=0;
while not Eof(filedata)do
begin
inc(j);
read(filedata,rdata[j]);
end;
writeln('Masukan nama barangyang di hapus:');
readln(nm);
i:=1;
while(i<=j)and(rdata[i].nama_barang<>nm)do
inc(i);
if nm=rdata[i].nama_barang then
begin
dec(j);
for i:=i to j do
rdata[i]:=rdata[i+1];
rewrite(filedata);
for i:=1 to j do
write(filedata,rdata[i]);
writeln('Tekan enter untuk memulai menghapus');
readln;
writeln(' S U K S E S ');
end
else
writeln('MAAF data tidak di temukan');
readln;
close(filedata);
end;
procedure edit_data;
var
i,p:integer;
lagi:char;
dataedit:string;
begin
assign(filedata,'jual.data');
reset(filedata);
writeln('masukan nama data yang akan di edit [tulis dengan huruf kecil]:');
readln(dataedit);
i:=1;
while not Eof(filedata)do
begin
read(filedata,rdata[i]);
begin
if dataedit=rdata[i].nama_barang then
begin
p:=filepos(filedata);writeln(p);
p:=p-1;
seek(filedata,p);
writeln('input data pengganti:');
writeln('no',i:2);
write('nama barang:');read(rdata[p].nama_barang);
write('harga :');read(rdata[p].harga);
write('jumlah :');read(rdata[p].jumlah);
rdata[p].harga_barang:=rdata[p].harga*rdata[p].jumlah;
write(filedata,rdata[p]);
end;
end;
i:=i+1;
end;
close(filedata);
end;
procedure in_data_barang;
var i:integer;
lagi:char;
begin
i:=1;
assign(filedata,'jual.dat');
rewrite(filedata);
reset(filedata);
begin
repeat
begin
clrscr;
judul;
writeln('input dengan huruf kecil');
writeln('no',i);
write('nama barang:');readln(rdata[i].nama_barang);
write('harga :');readln(rdata[i].harga);
write('jumlah :');readln(rdata[i].jumlah);
rdata[i].harga_barang:=rdata[i].harga*rdata[i].jumlah;
write(filedata,rdata[i]);
writeln;
writeln('ingin masuk data lagi [y/t]:');
readln(lagi);
i:=i+1;
end;
until ((lagi='t')or(lagi='T'));
close(filedata);
end;
end;
procedure tampil_daftar_barang;
var i:integer;
begin
assign(filedata,'jual.dat');
reset(filedata);
writeln('DAFTAR BARANG DI ATAS Rp 1.000.000');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
i:=1;
while not Eof(filedata) do
begin
read(filedata,rdata[i]);
if (rdata[i].harga)>=1000000 then
begin
write(i);
write(' ',rdata[i].nama_barang:10);
write(' ',rdata[i].harga:10:0);
write(' ',rdata[i].jumlah:2);
writeln;
i:=i+1;
end;
end;writeln;
end;
procedure cetak_daftar_barang;
var i,pilih:integer;
total:real;
begin
repeat
clrscr;
assign(filedata,'jual.data');
reset(filedata);
total:=0;
begin
judul;
writeln('DAFTAR PENJUALAN');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
i:=1;
While not Eof(filedata)do
begin
read(filedata,rdata[i]);
write(i);
write(' ',rdata[i].nama_barang:10);
write(' ',rdata[i].harga:10:0);
write(' ',rdata[i].jumlah:2);
write(' ',rdata [i].harga_barang:8:0);
writeln;
total:=total+rdata[i].harga_barang;
i:=i+1;
end;
writeln('--------------------------------------------------------');
writeln(' TOTAL PENJUALAN ;',total:3:0);
writeln;
writeln;
Tampil_Daftar_Barang;
end;
writeln(' --Pilihan--');
writeln('**********************************************');
writeln(' 1. Tambah data penjualan ');
writeln(' 2. Hapus data penjualan ');
writeln(' 3. Edit data penjualan ');
writeln(' 4. Ke Menu Utama ');
writeln('**********************************************');
readln(pilih);
case pilih of
1:tambah;
2:hapus;
3:edit_data;
end;
until(pilih=4);
end;
procedure cair;
var
i,jumlah:integer;
cocok,nama:string;
harga,harga_barang:real;
begin
assign(filedata,'jual.data');
reset(filedata);
cocok:=datacari;
begin
i:=1;
while not Eof(filedata)do
begin
read(filedata,rdata[i]);
if cocok=rdata[i].nama_barang then
begin
nama:=rdata[i].nama_barang;
harga:=rdata[i].harga;
jumlah:=rdata[i].jumlah;
harga_barang:=rdata[i].harga_barang;
end;
end;
i:=i+1;
end;
if(nama='')then
begin
writeln('MAAF DATA TIDAK TERSEDIA')
end
else
begin
judul;
writeln('DAFTAR PENCARIAN');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
writeln;
write(nama:10);
write( harga:35:0);
write(jumlah:8);
write(harga_barang:12:0);
writeln;
writeln('--------------------------------------------------------');
writeln;
end;
nama:='';
harga:=0;
jumlah:=0;
harga_barang:=0;
end;
procedure cek_data_barang;
var
lagi:char;
begin
repeat
clrscr;
judul;
writeln('Masukan Nama Data Yang di cari[tulis dengan huruf kecil]:');
readln(datacari);
clrscr;
writeln('apakah ingin mencari data lagi ? [y/t]');
readln(lagi);
writeln;
until(lagi='T')or(lagi='t');
end;
begin
repeat
clrscr;
judul;
writeln(' --MENU-- ');
writeln;
writeln(' 1. IN DATA BARANG');
writeln(' 2. CEK DATA BARANG');
writeln(' 3. CETAK DAFTAR BARANG');
writeln(' 4. EXIT');
writeln('**************************************************');
writeln;
write('Pilih Jenis Transaksi=');
readln(nomor);
clrscr;
case nomor of
1:in_data_barang;
2:cek_data_barang;
3:Cetak_daftar_barang;
end;
until nomor=4;
end.
{Program Ujian Akhir Semester gasal }
{Tahun Akademik 2011 / 2012 }
{Matakuliah Algoritma & Pemrograman
By EDI PURWANTO EMAIL edipurwanto10@gmail.com}
{*************************************}
{LISTING PROGRAM PASCAL }
Program penjualan;
uses
crt;
type
data=record
no,jumlah:integer;
nama_barang:string;
harga,harga_barang:real;
end;
var
rdata:array[1..100]of data;
filedata:file of data;
f:data;
nomor:integer;
datacari:string;
procedure judul;
begin
writeln;
writeln('**********************************************');
writeln(' KOPERASI MAHASISWA "HIMSYA JEPARA" ');
writeln(' Jl. Ratu Kalinyamat KM.1 ');
writeln(' Jepara ');
writeln(' dibuat Edi Purwanto ');
writeln;
end;
procedure tambah;
var
i:integer;
lagi:char;
begin
clrscr;
judul;
writeln('Masukan data tambahan');
assign(filedata,'jual.dat');
reset(filedata);
seek(filedata,filesize(filedata));
write('Nama barang:');
readln(f.nama_barang);
write('harga :');
readln(f.harga);
write('jumlah :');
readln(f.jumlah);
f.harga_barang:=f.harga*f.jumlah;
write(filedata,f);
close(filedata);
end;
procedure hapus;
var
i,j:integer;
nm:string;
begin
assign(filedata,'jual.dat');
reset(filedata);
j:=0;
while not Eof(filedata)do
begin
inc(j);
read(filedata,rdata[j]);
end;
writeln('Masukan nama barangyang di hapus:');
readln(nm);
i:=1;
while(i<=j)and(rdata[i].nama_barang<>nm)do
inc(i);
if nm=rdata[i].nama_barang then
begin
dec(j);
for i:=i to j do
rdata[i]:=rdata[i+1];
rewrite(filedata);
for i:=1 to j do
write(filedata,rdata[i]);
writeln('Tekan enter untuk memulai menghapus');
readln;
writeln(' S U K S E S ');
end
else
writeln('MAAF data tidak di temukan');
readln;
close(filedata);
end;
procedure edit_data;
var
i,p:integer;
lagi:char;
dataedit:string;
begin
assign(filedata,'jual.data');
reset(filedata);
writeln('masukan nama data yang akan di edit [tulis dengan huruf kecil]:');
readln(dataedit);
i:=1;
while not Eof(filedata)do
begin
read(filedata,rdata[i]);
begin
if dataedit=rdata[i].nama_barang then
begin
p:=filepos(filedata);writeln(p);
p:=p-1;
seek(filedata,p);
writeln('input data pengganti:');
writeln('no',i:2);
write('nama barang:');read(rdata[p].nama_barang);
write('harga :');read(rdata[p].harga);
write('jumlah :');read(rdata[p].jumlah);
rdata[p].harga_barang:=rdata[p].harga*rdata[p].jumlah;
write(filedata,rdata[p]);
end;
end;
i:=i+1;
end;
close(filedata);
end;
procedure in_data_barang;
var i:integer;
lagi:char;
begin
i:=1;
assign(filedata,'jual.dat');
rewrite(filedata);
reset(filedata);
begin
repeat
begin
clrscr;
judul;
writeln('input dengan huruf kecil');
writeln('no',i);
write('nama barang:');readln(rdata[i].nama_barang);
write('harga :');readln(rdata[i].harga);
write('jumlah :');readln(rdata[i].jumlah);
rdata[i].harga_barang:=rdata[i].harga*rdata[i].jumlah;
write(filedata,rdata[i]);
writeln;
writeln('ingin masuk data lagi [y/t]:');
readln(lagi);
i:=i+1;
end;
until ((lagi='t')or(lagi='T'));
close(filedata);
end;
end;
procedure tampil_daftar_barang;
var i:integer;
begin
assign(filedata,'jual.dat');
reset(filedata);
writeln('DAFTAR BARANG DI ATAS Rp 1.000.000');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
i:=1;
while not Eof(filedata) do
begin
read(filedata,rdata[i]);
if (rdata[i].harga)>=1000000 then
begin
write(i);
write(' ',rdata[i].nama_barang:10);
write(' ',rdata[i].harga:10:0);
write(' ',rdata[i].jumlah:2);
writeln;
i:=i+1;
end;
end;writeln;
end;
procedure cetak_daftar_barang;
var i,pilih:integer;
total:real;
begin
repeat
clrscr;
assign(filedata,'jual.data');
reset(filedata);
total:=0;
begin
judul;
writeln('DAFTAR PENJUALAN');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
i:=1;
While not Eof(filedata)do
begin
read(filedata,rdata[i]);
write(i);
write(' ',rdata[i].nama_barang:10);
write(' ',rdata[i].harga:10:0);
write(' ',rdata[i].jumlah:2);
write(' ',rdata [i].harga_barang:8:0);
writeln;
total:=total+rdata[i].harga_barang;
i:=i+1;
end;
writeln('--------------------------------------------------------');
writeln(' TOTAL PENJUALAN ;',total:3:0);
writeln;
writeln;
Tampil_Daftar_Barang;
end;
writeln(' --Pilihan--');
writeln('**********************************************');
writeln(' 1. Tambah data penjualan ');
writeln(' 2. Hapus data penjualan ');
writeln(' 3. Edit data penjualan ');
writeln(' 4. Ke Menu Utama ');
writeln('**********************************************');
readln(pilih);
case pilih of
1:tambah;
2:hapus;
3:edit_data;
end;
until(pilih=4);
end;
procedure cair;
var
i,jumlah:integer;
cocok,nama:string;
harga,harga_barang:real;
begin
assign(filedata,'jual.data');
reset(filedata);
cocok:=datacari;
begin
i:=1;
while not Eof(filedata)do
begin
read(filedata,rdata[i]);
if cocok=rdata[i].nama_barang then
begin
nama:=rdata[i].nama_barang;
harga:=rdata[i].harga;
jumlah:=rdata[i].jumlah;
harga_barang:=rdata[i].harga_barang;
end;
end;
i:=i+1;
end;
if(nama='')then
begin
writeln('MAAF DATA TIDAK TERSEDIA')
end
else
begin
judul;
writeln('DAFTAR PENCARIAN');
writeln('=========================================================');
writeln('NO NAMA BARANG HARGA/S JUMLAH');
writeln('=========================================================');
writeln;
write(nama:10);
write( harga:35:0);
write(jumlah:8);
write(harga_barang:12:0);
writeln;
writeln('--------------------------------------------------------');
writeln;
end;
nama:='';
harga:=0;
jumlah:=0;
harga_barang:=0;
end;
procedure cek_data_barang;
var
lagi:char;
begin
repeat
clrscr;
judul;
writeln('Masukan Nama Data Yang di cari[tulis dengan huruf kecil]:');
readln(datacari);
clrscr;
writeln('apakah ingin mencari data lagi ? [y/t]');
readln(lagi);
writeln;
until(lagi='T')or(lagi='t');
end;
begin
repeat
clrscr;
judul;
writeln(' --MENU-- ');
writeln;
writeln(' 1. IN DATA BARANG');
writeln(' 2. CEK DATA BARANG');
writeln(' 3. CETAK DAFTAR BARANG');
writeln(' 4. EXIT');
writeln('**************************************************');
writeln;
write('Pilih Jenis Transaksi=');
readln(nomor);
clrscr;
case nomor of
1:in_data_barang;
2:cek_data_barang;
3:Cetak_daftar_barang;
end;
until nomor=4;
end.
0 komentar:
Posting Komentar
komentar