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;



Pengertian Percabangan Pada Delphi

Percabangan digunakan untuk menentukan blok perintah mana yang akan dilakukan berdasarkan
kondisi yang telah ditentukan. Jika kondisinya tercapai (bernilai true) maka pernyataan akan dikerjakan.
Ada dua jenis percabangan yang ada dalam Delphi, yaitu :

‐ Percabangan menggunakan pernyataan IF
‐ Percabangan menggunakan pernyataan CASE

PERNYATAAN IF
Pernyataan IF digunakan untuk memeriksa sebuah kondisi dan kemudian mengeksekusi bagian source
code tertentu berdasarkan kondisi Benar/True atau Salah/False. Kondisi harus dibentuk dalam ekspresi
Boolean.
Ada dua jenis pernyataan IF yaitu

1. Pernyataan IF … THEN.
Pernyataan ini hanya memeriksa apakah suatu blok kode program dapat dieksekusi atau tidak.
Jika kondisi pernyataan ini bernilai True maka blok program yang ada di bawahnya akan
dieksekusi. Tetapi jika kondisi pernyataan bernilai False maka alur program akan menganggap
pernyataan IF telah selesai karena tidak mempunyai alternative lain.
Bentuk dasar pernyataan IF … THEN adalah sebagai berikut :

IF kondisi Boolean THEN
pernyataan;
Jika pernyataan yang akan dieksekusi ketika kondisi bernilai true lebih dari satu pernyataan,
maka pernyataan‐pernyataan tersebut harus diapit dengan begin dan end, sehingga bentuk
dasar pernyataan IF .. THEN nya adalah sebagai berikut :
IF kondisi boolean THEN
Begin
Pernyataan;
Pernyataan;
End;

2. Pernyataan IF … THEN … ELSE.
Pernyataan ini hanya memeriksa apakah suatu blok kode
program dapat dieksekusi atau tidak. Jika kondisi pernyataan ini bernilai True maka blok program yang ada di bawahnya akan dieksekusi. Tetapi jika kondisi pernyataan bernilai False
maka alur program akan mengeksekusi pernyataan yang ada di bawah pernyataan ELSE.
Bentuk dasar pernyataan IF … THEN … ELSE adalah sebagai berikut :
IF kondisi boolean THEN
pernyataan1
ELSE
pernyataan2;
Jika pernyataan yang akan dieksekusi ketika kondisi bernilai true lebih dari satu pernyataan,
maka pernyataan‐pernyataan tersebut harus diapit dengan begin dan end, sehingga bentuk
dasar pernyataan IF .. THEN nya adalah sebagai berikut :

IF kondisi boolean THEN
begin
pernyataan1;
end
ELSE
begin
pernyataan2;
end;

Contoh pernyataan IF … THEN :
If Nilai>=50 then
ShowMessage(‘Selamat Anda Lulus’);
atau
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda Lulus’);
end;

Contoh pernyataan IF … THEN … ELSE :
If Nilai>=50 then
ShowMessage(‘Selamat Anda Lulus’)
Else
ShowMessage(‘Anda Tidak Lulus’);
atau
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda Lulus’);
end
Else
begin
ShowMessage(‘Anda Tidak Lulus’);
end;

Contoh pernyataan IF … THEN … ELSE … dengan kondisi lebih dari 2 kondisi
If Nilai>=80 then
begin
ShowMessage(‘Selamat Anda Lulus Dengan Nilai yang sangat baik’);
end
Else
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda Lulus Dengan Nilai yang cukup baik’);
end
Else
begin
ShowMessage(‘Anda Tidak Lulus’);
end;

Ada beberapa hal yang harus diperhatikan dalam penggunaan pernyataan IF, diantaranya adalah :
1. Kondisi yang diperiksa harus menyatakan sebuah kondisi Boolean (True/False). Sehingga dalam
bagian kondisi harus menggunakan operator relasional (=, >, <, >=, <=, <>) dan Operator Boolean
(And, Or, Xor, dan NOT).
2. Pernyataan IF dianggap sebagai sebuah pernyataan saja. Oleh karena itu tidak boleh ada tanda
semicolon ( ; ) sebelum ELSE, karena ELSE adalah bagian dari pernyataan IF. Jika ada tanda
semicolon sebelum ELSE, berarti pernyataan IF telah selesai dan bagian ELSE tersebut bukan lagi
milik pernyataan IF yang di atasnya. Dan perintah ELSE tanpa didahului dengan pernyataan IF akan
mengakibatkan kesalahan.

Contoh :
If Nilai>=50 then
ShowMessage(‘Selamat Anda Lulus’); // Pasti Error karena IF telah selesai di baris ini
Else // Pasti Error, karena ELSE baris ini tidak mempunyai pernyataan IF
ShowMessage(‘Anda Tidak Lulus’);

PERNYATAAN CASE
Pernyataan CASE, digunakan sebagai pengganti pernyataan IF. Pernyataan CASE akan memberikan
alternative yang lebih gampang dibaca untuk menggantikan pernyataan IF. Tetapi tidak semua
pernyataan IF bisa diganti dengan pernyataan CASE.
Bentuk umum dari CASE adalah sebagai berikut :

CASE EkspresiNilai Of
DaftarKemungkinan1:Pernyataan1;
DaftarKemungkinan2:Pernyataan2;
...
DaftarKemungkinanN:PernyataanN;
Else
PernyataanLainnya;
End;
Jenis data yang boleh ada di bagian EkspresiNilai haruslah data bertipe ordinal (Bilangan Bulat, Karakter,
Boolean). Tipe data string atau real tidak bisa digunakan dalam EkspresiNilai.

Contoh pernyataan CASE :
CASE nilai OF
100 : ShowMessage(‘Selamat Anda Lulus dengan Nilai SEMPURNA’);
80 .. 99 : ShowMessage(‘Selamat Anda Lulus dengan sangat baik’);
50 .. 79 : ShowMessage(‘Selamat Anda Lulus dengan cukup baik’);
Else
ShowMessage(‘Nilai Kurang, Anda Tidak Lulus’);
End;

Contoh pernyataan CASE :
CASE huruf OF
‘A’,’I’,’U’,’E’,’O’: ShowMessage(‘Huruf Vokal’);
Else
ShowMessage(‘Bukan Huruf Vokal’);
End;

Ada beberapa hal yang harus diperhatikan ketika menggunakan CASE yaitu :
1. Pada bagian EkspresiNilai harus berupa data ordinal (Bilangan bulat, Karakter, atau Boolean)
2. Bagian EkspresiNilai boleh berupa range nilai
3. Pada bagian DaftarKemungkinan, tidak boleh terjadi sebuah nilai berada pada 2 atau lebih
    DaftarKemungkinan. Tidak boleh sebuah nilai disebut lebih dari 1 kali.

4. Bagian ELSE digunakan jika nilai tidak terpenuhi pada salah satu dari DaftarKemungkinan di atasnya.

Hitung Total Harga Menggunakan Delphi







Tambahkan :


1. Label Dengan Properti Caption Nama Barang, Harga, Quantitas, Sub Total, Diskon (10%), Total.
2. TextEdit Dengan Properti Name EHarga, EQuantitas, ESubTotal, EDiskon, ETotal.
3. Button Dengan Properti Caption Hitung & Keluar.

Setelah itu Klik 2 kali Button Hitung kemudian masukan scrpit dibawah :

var
  Quantitas : Integer;
  Harga, SubTotal, Diskon, Total : Currency;
begin
  Harga:=StrToCurr(EHarga.Text);
  Quantitas:=StrToInt(EQuantitas.Text);
  SubTotal:=Harga*Quantitas;
  ESubTotal.Text:=CurrToStr(SubTotal);
  Diskon:=0.1*SubTotal;
  EDiskon.Text:=CurrToStr(Diskon);
  Total:=SubTotal - Diskon;
  ETotal.Text:=CurrToStr(Total);
end;

Klik Button Close :

begin
  close;


end;

Penggunaan Radio Button & ComboBox Pada Delphi

RADIOBUTTON

RadioButton digunakan untuk menampilkan sebuah pilihan dimana user dapat mengganti nilainya
dengan True atau False. Radiobutton digunakan untuk menampilkan sekumpulan pilihan dimana user
hanya boleh memilih satu pilihan saja. Untuk mengakses apakah sebuah radio button dipilih oleh user,
property yang digunakan adalah property CHECKED. Jika property CHECKED bernilai True berarti objek
tersebut dipilih oleh user. Jika anda mempunyai 2 pilihan yang saling terpisah, maka groupkan tiap
pilihan‐pilihan tersebut dengan GroupBox.

Contoh aplikasi menggunakan RadioButton





tombol Cari Harga diisi dengan script berikut :

procedure TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
if RB_Jakarta.Checked = True then
E_Harga.Text:='10000'
else
if RB_Yogyakarta.Checked then
E_Harga.Text:='15000'
else
if RB_Surabaya.Checked then
E_Harga.Text:='20000'
else
E_Harga.Text:='0';
end;

Jika dieksekusi akan menghasilkan tampilan seperti di bawah ini :












COMBOBOX

Combobox digunakan untuk menampilkan daftar pilihan yang ditampilkan berbentuk kombinasi
antara Listbox dan Edit. Pengguna dapat mengisi data dalam kotak Edit atau memilih sesuai dengan
daftar yang ada. Daftar pilihan terdapat pada properti ITEMS. Dan pilihan yang dipilih oleh user dapat
diakses melalui properti TEXT atau ITEMINDEX.

Contoh aplikasi untuk menentukan jurusan dan harga  menggunakan ComboBox





Kemudian tombol Cari Harga diisi dengan script berikut :

procedure TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
if CB_Jurusan.Text='Jakarta' then
E_Harga.Text:='10000'
else
if CB_Jurusan.Text='Yogyakarta' then
E_Harga.Text:='20000'
else
if CB_Jurusan.Text='Surabaya' then
E_Harga.Text:='30000'
else
E_Harga.Text:='0';
end;

Jika dieksekusi akan menghasilkan tampilan seperti di bawah ini :