Sabtu, 26 Maret 2016

Aplikasi Penjualan Barang

Sebuah toko mempunyai tabel harga dan diskon seperti berikut :











Tampilan yang diinginkan adalah :







Ketentuan :

Data yang diinputkan hanya kode barang dan quantity. Quantity pembelian tidak boleh lebih dari 10. Data yang
dimasukan harus divalidasi.

Solusi untuk tombol Hitung adalah script berikut :

procedure TForm1.Tbl_HitungClick(Sender: TObject);
var
kode, nama:string;
harga, diskon, subtotal,total:currency;
qty:integer;
begin
kode:=cbkode.Text;
kode:=trim(kode);
kode:=uppercase(kode);
kode:=copy(kode,1,3);
// Di baris ini, kode sudah pasti tidak ada spasi di awal dan diakhir
// kode sudah pasti capital (tidak mempunyai huruf kecil)
// kode pasti 3 huruf atau kurang
if length(kode)<>3 then
begin
showmessage('Kode harus 3 karakter');
cbkode.SetFocus;
exit;
end;
// Di baris ini, kode sudah pasti tidak ada spasi di awal dan diakhir
// kode sudah pasti capital (tidak mempunyai huruf kecil)
// kode pasti 3 huruf tidak mungkin kurang
if kode='A01' then
begin
harga:=50000;
nama:='Speaker';
end
else
if kode='B02' then
begin
harga:=25000;
nama:='Mouse';
end
else
if kode='C03' then
begin
harga:=750000;
nama:='Hardisk';
end
else
if kode='D04' then
begin
harga:=5000;
nama:='Mouse Pad';
end
else // Jika kode tidak terdaftar
begin
showmessage('Kode tidak dikenal');
exit;
end;
if TryStrToInt(EQty.Text,qty)=false then
begin
showmessage('Quantity harus angka.');
exit;
end;
// Di baris ini, Qty pasti bilangan bulat tetapi masih mungkin diatas 10
if (qty<1) or (qty>10) then
begin
showmessage('Hanya boleh beli 1 s/d 10 saja');
exit;
end;
// Di baris ini, Qty pasti bilangan bulat dan 
pasti berisi 1 s/d 10
ENama.text:=nama;
EHarga.text:=CurrToSTr(harga);
Subtotal:= harga * qty;
ESubTotal.Text:=CurrToStr(subtotal);
if subtotal>=100000 then diskon:=0.15 * subtotal else
if subtotal>=50000 then diskon:=0.1 * subtotal else
if subtotal>=25000 then diskon:=0.05 * subtotal else
diskon:=0;
EDiskon.text:=CurrToStr(diskon);
Total:=Subtotal-Diskon;
ETotal.text:=CurrToStr(Total);
end;



Tidak ada komentar:

Posting Komentar