Anda di halaman 1dari 55

MODUL PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJECT


(PBO-1)

DELPHI









Disusun Oleh :
Gunawan Rudi Cahyono, ST. MT.














Sekolah Tinggi Manajemen Informatika Komputer
(STMIK)
Banjarbaru
2009
Diktat Delphi
BAB I
PENDAHULUAN
(IDE Delphi dan OOP)

Delphi adalah suatu program berbasis bahasa Pascal yang berjalan dalam lingkungan Windows.
Delphi telah memanfaatkan suatu teknik pemrograman yang disebut RAD yang telah membuat
pemrograman menjadi lebih mudah. Delphi adalah suatu bahasa pemrograman yang telah
memanfaatkan metode pemrograman Object Oriented Programming (OOP).
Lingkungan kerja Borland Delphi dapat dilihat pada gambar di bawah ini.

Component
Palette
Unit/Source
Code
Form
Object
Inspector

Fungsi dari elemen-elemen di atas adalah :
- Object Inspector : suatu window yang berguna untuk mengatur suatu object baik
properti, events dan method.
- Form : Digunakan sebagai layar/window yang digunakan sebagai lembar kerja kita. Di
form-lah semua komponen seperti tombol dan komponen lainnya disimpan.
- Window Unit/Source Code : Window/layar yang berisi perintah-perintah yang akan
dieksekusi oleh komputer. Di layar inilah kita mengisikan program-program.
- Component Palette : Layar yang berisikan komponen-komponen yang dipakai dipakai
dalam program kita.

By. Gunawan Rudi Cahyono, ST, MT Halaman. 1
Diktat Delphi
Pengantar Object Oriented Programming (OOP)

Perbedaan konsep pemrograman berbasis objek dengan konsep pemrograman biasa adalah
sebagai berikut :
1. Dalam pemrograman biasa, suatu benda hanya memiliki properti (ciri) yang membentuk dirinya.
Contoh : Objek manusia memiliki nama, tinggi, berat, warna kulit dan lain-lain.
2. Dalam pemrograman berorientasi objek, suatu benda tidak hanya memiliki properti (ciri) tetapi juga
memiliki method dan event.
Contoh: Objek manusia tidak hanya memiliki properti nama, tinggi, berat, warna kulit tetapi juga
mempunyai metode / langkah yang dapat dikerjakan dan juga event (suatu kejadian yang bisa
terjadi pada objek).
Event dapat berupa : Event ketika lapar, ketika haus, ketika ngantuk dan lain-lain.
Method dapat berupa : Makan, minum, tidur.
Suatu method bisa saja dipanggil ketika suatu event terjadi. Contoh ketika manusia lapar, maka dia
akan melakukan method makan.

Contoh nyata dalam pemrograman adalah sebagai berikut : Misalkan program yang kita buat
memiliki sebuah form dan sebuah tombol. Kita dapat memberikan suatu perintah ke masing-masing
event dari kedua objek tersebut. Misalkan ketika form diklik, maka warna dari form berganti menjadi
merah, dan ketika tombol ditekan maka program akan ditutup.
Untuk membuat program tersebut maka lakukan langkah-langkah sebagai berikut :
1. Buat suatu aplikasi baru dengan mengklik menu File New Application. Sehingga akan muncul
suatu form kosong yang akan kita beri program.
2. Kemudian tempatkan komponen (objek) Button yang ada pada Component Palette Standar ke
form. Caranya : Klik Button kemudian geserkan kursor ke form dan kemudian klik ditempat yang
diinginkan. Lihat gambar di bawah ini.

3. Sekarang klik form kemudian klik tab event di window object inspector dan pilih tab Event
onclick. Double klik event tersebut. Maka akan muncul suatu procedure/method kosong yang
harus diisi sesuai keinginan. Contoh di bawah ini akan mengganti warna (properti color) dari
Form1 menjadi warna merah.
Isilah programnya sebagai berikut :
procedure TForm1.FormClick(Sender: TObject);
begin
Form1.Color:=clred;
end;
Keterangan program :
- Tanda titik (.) adalah tanda pemisah antara objek dengan propertinya.
- Setiap akhir dari perintah harus diberi perintah titik koma (;)
- Pengisian nilai ke suatu variabel atau properti menggunakan simbol titik dua sama dengan
(:=).
4. Sekarang klik objek tombol kemudian klik tab event pada object inspector dan pilih event onclick.
Double klik atau tulis nama fungsi yang akan digunakan sebagai method yang akan dikerjakan
ketika tombol diklik. Kemudian tulis perintah untuk menutup form sebagai berikut :
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;
5. Tekan tombol F9 atau menu Run Run atau tekan tombol untuk menjalankan program.


By. Gunawan Rudi Cahyono, ST, MT Halaman. 2
Diktat Delphi
BAB II
PROGRAM PERTAMA

Kasus :
Buatlah sebuah program menggunakan Delphi untuk menghitung penjualan barang. Data yang
diinputkan adalah nama barang, harga barang, dan quantitas penjualan. Program tersebut harus dapat
menghasilkan data sub total, diskon sebesar 10% dari subtotal dan total penjualan.

Solusi :
Dari kasus di atas, maka kita dapat menyusun form seperti di bawah ini.



Properti-properti utama yang bisa diatur untuk tiap komponen di atas adalah :
Properti-properti Form
BorderIcon Border icon mempunyai pilihan sebagai berikut :
- BiSystemMenu : Apakah form akan memakai icon maximize, minimize dan
close. Isi properti ini dengan true untuk mengaktifkannya.
- BiMaximize : Apakah form akan memakai icon Maximize
- BiMinimize : Apakah form akan memakai icon Minimize
- BiHelp : Apakah form akan memakai icon help.
BorderStyle Properti ini memiliki 6 nilai, yaitu :
- BsDialog : Form hanya akan memiliki icon close
- BsNone : Form tidak mempunyai garis pinggir
- BsSingle : Form bisa diminimize, dimaximize tapi tidak bisa dibesarkan
(resize)
- BsSizeable : Form default, bisa diminimize, maximize dan diperbesar.
- BsToolWindow : J udul form lebih kecil dan tidak bisa diperbesar.
- BsSizeToolWin : Sama dengan bsToolWindow bisa diperbesar.
BorderWidth Lebar border untuk form ke bidang clientnya.
Caption J udul dari form. Bisa diisi sesuai keinginan karena tipenya string.
Color Warna background dari form.
Catatan :
Coba klik pilihan pada properti color maka akan muncul beberapa pilihan.
Pilihan dibawah clWhite adalah warna-warna yang dipakai dalam window
(desktop-properties-apperance), seperti warna background desktop, dan lain-lain.
Cursor Kursor apa yang akan tampil ketika cursor mouse berada diatas form (objek).
Font Font standar yang akan digunakan oleh komponen-komponen yang berada dalam
form tersebut. Untuk memilih font klik tombol elipsis ()
Height Tinggi dari form secara keseluruhan
Hint Pesan apa yang akan ditampilkan ketika mouse diam diatas form. Untuk
menampilkan hint maka properti ShowHint harus mempunyai nilai true.
Label
Button
Edit
By. Gunawan Rudi Cahyono, ST, MT Halaman. 1
Diktat Delphi
Left Posisi kiri form dari desktop(dalam pixel).
Name Ini adalah properti yang paling penting. Name bukan caption. Name adalah nama
yang digunakan untuk memanggil/menggunakan objek. Nama object tidak boleh
terpisah.
Position Posisi menampilkan form ketika pertama kali ditampilkan.
Top Posisi atas form dari desktop
Visible Apakah form akan ditampilkan atau tidak.Defaultnya adalah false
Width Lebar form secara keseluruhan
WindowState Kondisi state apakah maximize, minimize, atau normal

Properti-Properti Label
( )
Align Peletakan objek terhadap parent (form). Nilai yang dimungkinkan adalah :
- AlClient : objek diletakan sebesar bidang sisa dari parentnya.
- AlRight : objek diletakan di posisi kanan form
- AlLeft : objek diletakan di posisi kiri form
- AlTop : objek diletakan di posisi atas form
- AlBottom : objek diletakan di posisi bawah form
- AlNone : objek diletakan sesuai peletakan waktu desain
Alignment J ustifikasi dari text apakah rata kiri (leftJ ustify), rata kanan (rightJ ustify) dan
tengah (center).
Autosize Besar bidang objek akan sesuai dengan besarnya caption
Caption Text (kata) yang akan ditampilkan dalam label
Color Warna background dari objek
Font Font yang digunakan dalam objek. Defaultnya adalah font parent.
Name Nama dari objek. Ingat Name berbeda dengan Caption
Transparent Apakah warna objek akan dibuat transparan (properti color tidak dipakai).
WordWarp J ika diisi true, maka jika caption telah melebihi batas, maka akan menggulung ke
baris berikutnya.

Properti-Properti Edit
( )
BorderStyle Apakah objek akan menggunakan garis pinggir.
CharCase Apakah data yang dimasukan akan dicapitalkan (uppercase) atau dihurufkecilkan
(lowercase) atau normal.
Color Warna background dari objek.
Ctr3D Apakah akan dibuat 3D atau flat / datar.
MaxLength Panjang maksimal data yang akan dimasukan.
PasswordChar Karakter apa yang akan ditampilkan ketika objek ini digunakan untuk
memasukan password contoh *. Isi properti ini dengan #0 jika objek tidak
digunakan untuk membaca password.
ReadOnly J ika diisi true, maka user tidak bisa menulis/mengubah isi objek.
Text Isi tulisan dari objek ini. Edit tidak mempunyai caption, sehingga isi dari yang
ditulis diedit berada di properti ini.
Visible Isi properti ini dengan true jika objek ingin ditampilkan.

Properti-properti dari Button
( )
Properti-properti dari button sebenarnya sama dengan properti-properti objek yang telah
dijelaskan, tetapi ada beberapa properti yang berbeda yaitu properti :
ModalResult Properti ini biasanya digunakan ketika kita membuat program yang memiliki
banyak form. Properti ini digunakan untuk mengecek tombol apa yang diklik
ketika suatu form ditutup.
Cancel J ika properti ini diisi dengan nilai True, maka ketika ada penekanan tombol
Escape dalam form tersebut maka tombol tersebut akan dieksekusi.
Default J ika properti ini diisi dengan nilai True, maka ketika ada penekanan tombol
Enter dalam form tersebut maka tombol tersebut akan dieksekusi.
By. Gunawan Rudi Cahyono, ST, MT Halaman. 2
Diktat Delphi
Setelah form selesai dibuat, maka langkah berikutnya adalah mengisi event OnClick pada
tombol Hitung. Perintah untuk event OnClick adalah sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.ThitungClick(Sender: TObject);
var
Harga:Real;
Qty:Integer;
SubTotal,Diskon,Total:Real;
begin
Harga:=StrToFloat(EHarga.text);
Qty:=StrToint(EQty.text);
Subtotal:=Harga*Qty;
Diskon:=0.1 * Subtotal;
Total:=Subtotal-Diskon;
ESubTotal.text:=FloatToStr(SubTotal);
EDiskon.Text:=FloatToStr(Diskon);
ETotal.Text:=FloatToStr(Total);
end;
Keterangan Program :
- Baris 1 : pendeklarasian method/procedure ThitungClick yang merupakan method yang dipanggil
ketika tombol Hitung di klik.
- Baris 2 : perintah var digunakan untuk mengawali pendeklarasian variabel-variabel yang akan
digunakan dalam program.
- Baris 3-5 : pendeklarasian variabel dan tipenya. Dengan perincian variabel harga bertipe Real
karena harga bisa berupa nilai pecahan, variabel Qty bertipe Integer karena kuantitas penjualan
tidak boleh bilangan pecahan dan harus bilangan bulat (integer), variabel Subtotal bertipe real
karena nilai variabel tersebut berasal dari perkalian antara harga yang bertipe real dan qty yang
bertipe integer (perkalian integer dengan real menghasilkan nilai real), hal yang sama juga terjadi
pada variabel Diskon dan variabel Total.
J enis-jenis tipe data dapat dilihat di bawah ini.
Tipe-Tipe Data :
1. Bilangan Bulat
Tipe-tipe bilangan bulat adalah suatu tipe data yang hanya menampung bilangan bulat saja.
Tipe data tersebut diantaranya : integer, byte, word, smallint.
Tipe Data Range Format
Shortint 128..127 signed 8-bit
Smallint 32768..32767 signed 16-bit
Longint 2147483648..2147483647 signed 32-bit
Int64 2^63..2^631 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit

2. Bilangan Pecahan
Tipe-tipe bilangan pecahan adalah suatu tipe data bilangan yang bisa menampung bilangan
pecahan.
Tipe-tipe data tersebut diantaranya : Real, Double, Single.

3. String
Tipe data ini menampung data huruf yang banyak seperti untuk nama, alamat dan lain-lain.
Tipe data tersebut adalah : String.
Untuk pengisian suatu data bertipe String, maka harus diapit oleh tanda apostrop (), kecuali
kalau data tersebut berasal dari data / variabel lain.
Contoh :
A:=Bandung;
B:=A; // B berisi string Bandung





By. Gunawan Rudi Cahyono, ST, MT Halaman. 3
Diktat Delphi
Aturan-aturan operasi perhitungan :
- J ika bilangan bulat dioperasikan dengan bilangan bulat maka akan menghasilkan bilangan
bulat.
- Bilangan bulat dioperasikan dengan bilangan pecahan maka hasilnya adalah bilangan
pecahan.
- String tidak bisa dioperasikan dengan suatu bilangan kecuali telah dikonversi ke tipe data
bilangan.
J ika nilai yang dimasukan telah melebihi nilai maksimalnya, maka nilainya akan berputar ke
arah minimalnya dan jika nilai yang dimasukan lebih kecil dari nilai minimalnya maka akan
berputar ke arah nilai maksimalnya.
- Baris 6 : Perintah Begin yang menandai awal dari suatu procedure THitungClick.
- Baris 7 : Pengisian variabel harga yang berasal dari Eharga (edit box untuk pengisian harga).
Karena properti Text dari Eharga bertipe string dan variabel harga bertipe real maka properti
Text dari Eharga harus dikonversikan menjadi sebuah bilangan real/pecahan (float) dengan
perintah StrToFloat.
- Baris 8 : Pengisian variabel Qty dari edit EQty. Karena terjadi ketidakcocokan tipe, maka properti
Text dari EQty harus dikonversikan menjadi sebuah bilangan bulat sesuai dengan tipe data
variabel Qty. Pengkonversian dari suatu string ke bilangan integer adalah dengan menggunakan
perintah StrToInt.
- Baris 9 : Perhitungan variabel Subtotal yang berasal dari perkalian antara variabel Harga dan
variabel Qty.
- Baris 10 : Perhitungan variabel Diskon yang berasal dari 10 % dari Subtotal.
- Baris 11 : Perhitungan variabel Total yang berasal dari Subtotal Diskon.
- Baris 12 : Menampilkan data Subtotal ke dalam edit ESubtotal. Properti yang diisi adalah
properti Text yang bertipe string. Karena Subtotal bertipe real dan properti Text bertipe string
maka harus ada proses konversi data dari real (float) ke string dengan perintah FloatToStr.
- Baris 13 : Menampilkan data Diskon ke dalam edit EDiskon. Prosesnya mirip dengan Baris 12.
- Baris 14 : Menampilkan data Total ke dalam edit ETotal. Prosesnya mirip dengan Baris 13.
- Baris 15 : Perintah End yang menadai akhir dari procedure THitungClick.

Setelah event OnClick tombol Hitung telah diisi, sekarang bagian pengisi OnClick pada tombol
Ulang. Programnya adalah sebagai berikut :
procedure TForm1.TUlangClick(Sender: TObject);
begin
Enama.Text:=''; {mengosongkan edit ENama}
EHarga.Text:='0'; {me-nol-kan edit Eharga}
EQty.Text:='0'; {me-nol-kan edit EQty}
ESubTotal.Text:='0';//me-nol-kan edit ESubTotal
EDiskon.Clear; // mengosongkan edit EDiskon
ETotal.Clear; // mengosongkan edit ETotal
ENama.SetFocus; // memindahkan kursor ke edit ENama
end;
Untuk program pada tombol Keluar, programnya adalah sebagai berikut :
procedure TForm1.TKeluarClick(Sender: TObject);
begin
Close; // Menutup Form
end;

Setelah semua ditulis, sebaiknya kita simpan dulu program tersebut. Langkah-langkah untuk
menyimpan suatu program adalah :
- Simpan Unit/Form dengan mengklik menu File Save atau File Save As. Isi nama filenya sesuai
dengan fungsi dari formnya. Contoh : UUtama, ULatihan1.
- Simpan pula file Projectnya dengan mengklik menu File Save Project As. Isi nama file
projectnya sesuai dengan kegunaan programnya. Contoh : Penjualan, SIAKAD, HangMan.
- J ika suatu program telah disimpan dan kemudian diedit kembali maka langkah yang dilakukan
untuk penyimpanan adalah dengan menekan menu File Save All yang akan menyimpan semua
file yang mengalami perubahan.
Langkah berikutnya adalah menjalankan program tersebut dengan menekan tombol F9 atau
dengan mengklik menu Run Run atau mengklik tombol Run.

By. Gunawan Rudi Cahyono, ST, MT Halaman. 4
BAB III
PERCABANGAN
( If, If Else, Case Of)


Perintah if digunakan untuk menentukan perintah mana yang akan dikerjakan ketika suatu kondisi
terjadi.
Bentuk baku perintah if adalah sebagai berikut :

if (kondisi1) then
Kondisi 1, Kondisi 2 adalah suatu pernyataan yang
menghasilkan kondisi benar (true) atau salah(false).

Contoh kondisi :
if (a>=5) then
begin
perintah;
end
else
if (a<5)then
begin
perintah;
end;
perintah
else
if (kondisi2)
begin
perintah;
perintah;
end
else
begin
perintah;
perintah;
end;


Aturan-aturan penulisan program yang menggunakan perintah IF :
1. J ika suatu kondisi tercapai (bernilai benar), maka If hanya mengenal satu perintah berikutnya.
2. Kalau suatu perintah if ingin mengerjakan lebih dari 1 perintah, maka gunakan perintah Begin
dan End;
3. Sebelum Else jangan memakai titik koma. Karena titik koma merupakan tanda akhir dari suatu
perintah.
By. Gunawan Rudi Cahyono, ST, MT Halaman - 7
Contoh kasus:
Sebuah toko mempunyai tabel harga dan diskon seperti berikut :
Kode Nama Barang Harga Barang
A01 Speaker 50000
B02 Mouse 25000
C03 Harddisk 750000
D04 Mouse Pad 5000

Sub total Diskon
>=100000 15%
>=50000 10%
>=25000 5%
<25000 0%

- Buatlah Form
- Tempatkan buah ComboBox
Isi properti sebagai berikut :
Items : A01
B02
C03
D04
Text : {dikosongkan saja}
Name : CBKode
- Kemudian tambahkan komponen lain sehingga terbentuk form seperti berikut :
.

- Tulislah program pada event onclick tombol Hitung
procedure TForm1.THitungClick(Sender: TObject);
var
NamaBarang:String;
Quantity:integer;
Harga,Total,Subtotal,Diskon:real;
begin
If CBKode.Text='A01' then // Kalau Kode = A01
begin
NamaBarang:='Speaker'; //Pengisian String diapit ' '
Harga :=50000; // Pengisian Harga
end
else
if CBKode.Text='B02' then {Kalau Kode = B02}
begin
NamaBarang:='Mouse';
Harga :=25000;
end
else
if CBKode.Text='C03' then {Kalau Kode = C03 }
begin
NamaBarang:='HardDisk';
Harga :=750000;
end
else
if CBKode.Text='D04' then {Kalau Kode = D04}
begin
NamaBarang:='Mouse Pad';
Harga :=5000;
end
Catatan :
Untuk tombol gunakan BitBtn yang
ada di Component Palette
Additional.
Untuk mengisikan gambar pada
tombol, gunakan properti Glyph
kemudian pilih Load dan pilih file
gambar yang ada di folder :

C:\Program Files \ commonFiles\
BorlandShared \ Images \ Buttons

Contoh Kasus :
Tombol Hitung : Calculate.bmp
Tombol Ulang : Retry.bmp
Tombol Keluar : Picture.bmp
By. Gunawan Rudi Cahyono, ST, MT Halaman - 8
else // jika kode tidak diketahui
begin
NamaBarang:='Tidak Ada';
Harga :=0;
end;
Quantity:=StrToInt(EQTY.Text);// Ambil Quantity dari EQty
SubTotal:=Harga*Quantity; // Hitung Subtotal
if SubTotal>=100000 then // Jika Subtotal >= 100000 maka
Diskon:=0.15*SubTotal // diskon = 15%
else
if SubTotal>=50000 then // Jika subtotal >=50000 maka
Diskon:=0.10 * SubTotal // diskon = 10%
else
if SubTotal>=25000 then // Jika subtotal>=25000 maka
Diskon:=0.05 * SubTotal // diskon = 5%
else // jika subtotal < 25000
Diskon:=0; // diskon = 0%
Total:=SubTotal - Diskon; // hitung total
ENama.Text:=NamaBarang; // tampilkan nama barang
EHarga.Text:=FloatToStr(Harga); // tampilkan harga
ESubTotal.Text:=FloatToStr(SubTotal); // tampilkan subtotal
EDiskon.Text:=FloatToStr(Diskon); //tampilkan diskon
ETotal.Text:=FloatToStr(Total); // tampilkan total
end;

- Untuk event Onclick pada tombol Ulang, silahkan diisi perintah berikut :
procedure TForm1.TUlangClick(Sender: TObject);
begin
CBKode.Text:='';
ENama.Text:='';
EHarga.Text:='0';
ESubTotal.Text:='';
EDiskon.Text:='';
ETotal.Text:='';
CBKode.SetFocus;
end;

- Untuk event OnClick pada tombol Tutup isilah dengan perintah:
procedure TForm1.TKeluarClick(Sender: TObject);
begin
Close;
end;


Operator-operator boolean :
Simbol Keterangan Contoh
= Sama dengan (a = 7)
>= Lebih besar sama dengan (a >=7)
> Lebih besar (a >7)
<= Lebih kecil sama dengan (a <=7)
< Lebih kecil (a <7)
<> Tidak sama dengan (a <>7)
Not Tidak / Invers Not (a<>7)
And Operator dan (a =7)And(b =5)
Or Operator (a =7) Or (b =5)

By. Gunawan Rudi Cahyono, ST, MT Halaman - 9
Komponen RadioButton ( )

Radiobutton adalah suatu komponen yang digunakan untuk pemilihan suatu kondisi dari beberapa
kondisi yang ada. Kondisi yang bisa dipilih hanya ada 1 buah.
Properti yang menandakan bahwa suatu radiobutton dipilih adalah properti Checked. J ika properti
checked suatu Radiobutton berisi true, maka berarti Radiobutton tersebut dipilih.
Contoh kasus :
1. Buatlah form seperti berikut :
Caranya adalah sebagai berikut :
- Tempatkan sebuah group box ( )
- Tempatkan 3 buah radiobutton kemudian ganti namanya sesuai dengan keperluan. Contoh
untuk radiobutton J akarta beri namanya RBJ akarta untuk mempermudah dalam program.
- Tempatkan sebuah Button.


2. Isi event onclick dari button sebagai berikut :
Procedure TForm1.Button1Click(Sender:TObject)
begin
if (RBJakarta.Checked=true) then
ShowMessage(Jurusan yang dipilih adalah jakarta)
else
if (RBYogya.Checked=true) then
ShowMessage(Jurusan yang dipilih adalah Yogyakarta)
else
if (RBSurabaya.Checked=true) then
ShowMessage(Jurusan yang dipilih adalah Surabaya);
End;
ShowMessage adalah suatu perintah untuk menampilkan pesan dengan ketentuan adalah sebagai
berikut :
ShowMessage(Pesan:String)
Contoh :
ShowMessage(Jurusan yang dipilih adalah jakarta);

Hasilnya adalah sebagai berikut :


3. Coba run progam.


By. Gunawan Rudi Cahyono, ST, MT Halaman - 10
Komponen Radiogroup ( )

Radiogroup adalah suatu komponen yang digunakan untuk memilih sebuah option dari beberapa
pilihan (sifatnya seperti radiobutton) hanya dengan satu buah komponen radiogroup saja.
Tabel Properti dari RadioGroup
Properti Keterangan
Columns Pilihan mau dibuat berapa kolom
Items Daftar pilihan yang akan ditampilkan
ItemIndex Item ke berapa yang dipilih. J ika ItemIndex berisi 0 maka yang dipilih
adalah pilihan ke-1, jika ItemIndex berisi 1 maka yang dipilih adalah pilihan
ke-2 dan seterusnya. J ika ItemIndex berisi dengan 1 maka berarti tidak ada
yang dipilih.

Pada program sebelumnya, kita membuat suatu pemilihan dengan membuat sebuah group box dan 3
buah radiogroup. Sekarang kita akan membuat suatu pemilihan hanya dengan menggunakan sebuah
radiogroup saja.
Caranya :
1. Buat form seperti berikut
- Tempatkan sebuah radiogroup, kemudian ganti namanya menjadi RGKelas dan captionnya
diisi dengan Kelas.
- Isi properti Items dengan
Eksekutif
Bisnis
Ekonomi
- Isi properti ItemIndex dengan 0 agar pilihan default adalah Eksekutif.


2. Isi tombol Oncliknya dengan perintah berikut :
Procedure TForm1.Button2Click(Sender:TObject)
begin
if (RGKelas.ItemIndex=0) then
ShowMessage(Kelas adalah Exekutif)
else
if (RGKelas.ItemIndex=1) then
ShowMessage(Kelas adalah Bisnis)
else
if (RGKelas.ItemIndex=2) then
ShowMessage(Kelas adalah Ekonomi);
End;
Atau :
Procedure TForm1.Button2Click(Sender:TObject)
begin
case RGKelas.ItemIndex of
0:ShowMessage(Kelas adalah Exekutif);
1:ShowMessage(Kelas adalah Bisnis);
2:ShowMessage(Kelas adalah Ekonomi);
end;
end;

3. Run Program



By. Gunawan Rudi Cahyono, ST, MT Halaman - 11
Contoh Kasus :
Sebuah Perusahaan angkutan J alan Terus memiliki ketentuan harga seperti berikut :
Eksekutif Bisnis Ekonomi
Jakarta 70000 40000 10000
Solo 80000 50000 20000
Surabaya 90000 60000 30000
Karena ada masa promosi maka khusus untuk Surabaya Ekonomi atau Solo Eksekutif terdapat
diskon 10%.
Untuk lebih jelasnya, ikutilah cara berikut :
1. Buat suatu aplikasi baru dengan File-New Application
2. Tempatkan sebuah Groupbox kemudian ganti property Caption dengan J urusan.
3. Tempatkan tiga buah RadioButton pada GroupBox tersebut kemudian ganti properti-propertinya
seperti berikut :
RadioButton1 Name
Caption
:
:
RBJakarta
Jakarta
RadioButton2 Name
Caption
:
:
RBSolo
Solo
RadioButton3 Name
Caption
:
:
RBSurabaya
Surabaya
4. Tempatkan sebuah RadioGroup kemudian ganti propertinya seperti berikut :
Name
Items


ItemIndex
:
:


:
RGKelas
Eksekutif
Bisnis
Ekonomi
0
5. Tempatkan 2 buah Edit untuk pengisian data banyaknya tiket dan untuk menampilkan hasil dari
perhitungan. Gantilah properti-propertinya seperti berikut :
Edit1
Edit2
Name
Name
:
:
ETiket
ETotal
6. Tempatkan 3 buah tombol untuk tombol perhitungan, reset, dan tombol keluar. Kemudian atur form
seperti form berikut :

7. Untuk program selengkapnya dari kasus diatas adalah sebagai berikut :
procedure TForm1.THitungClick(Sender: TObject);
var
jmltiket,harga:integer;
total:real;
begin
jmltiket:=StrToInt(ETiket.text);
if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=0) then
harga:=70000
else
if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=1) then
harga:=40000
else
if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=2) then
harga:=10000
else
if (RBSolo.Checked=true) then
begin
if RGKelas.ItemIndex=0 then
harga:=80000
else
if RGKelas.ItemIndex=1 then
harga:=50000
else
if RGKelas.ItemIndex=2 then
harga:=20000;
end
GroupBox
RadioButton
RadioGroup
By. Gunawan Rudi Cahyono, ST, MT Halaman - 12
else
if (RBSurabaya.Checked=true) then
begin
case RGKelas.ItemIndex of
0:Harga:=90000;
1:Harga:=60000;
2:Harga:=30000;
end;
end;
total:=harga*jmltiket;
ETotal.Text:=FormatFloat('Rp #,##0.00',total);
end;

8. Untuk perhitungan diskon, sisipkan program berikut setelah perhitungan total :
if ((RBSurabaya.checked=true)and
(RGKelas.ItemIndex=2)
) // Surabaya Ekonomi
or // atau
((RBSolo.Checked=true)and
(RGKelas.ItemIndex=0)
) then //Solo Bisnis
total:=0.9*total;
9. Untuk event OnClick dari tombol Reset, programnya adalah sebagai berikut :
procedure TForm1.TResetClick(Sender: TObject);
begin
RBJakarta.Checked:=true;
RGKelas.ItemIndex:=0;
ETiket.Text:='0';
EJmlTotal.Text:='0';
end;
10. Run Program.

By. Gunawan Rudi Cahyono, ST, MT Halaman - 13
Komponen Check Box ( )

CheckBox ( ) adalah komponen untuk pemilihan option dimana option yang dipilih bisa lebih
dari satu buah.
Properti-properti CheckBox
Property Keterangan
Caption Tulisan yang ada di Checkbox
Checked J ika berisi true berarti checkbox yang bersangkutan dipilih.

Contoh kasus :
Rental Internet Surf The World mempunyai harga rental perjam Rp. 3500, dan juga
menyediakan fasilitas pemesanan makanan dan minuman. Daftar yang bisa dipesan adalah sebagai berikut :
Menu Harga
Nasi goreng 3500
Coca Cola 1250
Teh Botol 1000
Buatlah program untuk menghitung berapa yang harus dibayar.
Form yang dibuat :

Catatan :
Untuk Kotak, gunakan komponent Panel yang ada di Standar dan untuk Gambar gunakan
komponen Image yang ada di additional.
Properti-properti dari Panel :
Properti
Keterangan
Caption Tulisan yang ada di Panel
Alignment Peletakan dari Caption, di kiri, tengah atau kanan
BorderWidth Lebar bingkai panel antara kotak luar dengan kotak dalam
BevelInner Bentuk kotak dalam
BevelOuter Bentuk kotal luar
Color Warna Panel

Properti-properti dari Image :
Properti
Keterangan
AutoSize J ika berisi true maka bidang gambar mengikuti besarnya gambar.
Picture Isi gambar yang ada di image
Stretch J ika berisi true maka seluruh gambar akan tampil dalam bidang yang ditentukan,
besar gambar menyesuaikan besarnya bidangnya.
Center J ika berisi true maka gambar akan ditampilkan di tengah bidang gambar.
By. Gunawan Rudi Cahyono, ST, MT Halaman - 14
Program untuk hitung onclick adalah seperti berikut :
procedure TForm1.THitungClick(Sender: TObject);
const // membuat suatu nilai konstanta
HargaRental=3500;
HargaNasGor=3500;
HargaCocaCola=1250;
HargaTehBotol=1000;
var
lama:real;
TotalRental,TotalMakanMinum,GrandTotal:Real;
TotalNasgor,TotalCocaCola,TotalTehBotol:real;

begin
Lama:=StrToFloat(ELama.Text);
TotalRental:=Lama * HargaRental;
if CBNasgor.checked=true then
TotalNasgor:=StrToInt(ENasGor.text) * HargaNasgor
else
TotalNasgor:=0;
if CBCoca.checked=true then
TotalCocaCola:=StrToInt(ECoca.text) * HargaCocaCola
else
TotalCocaCola:=0;
if CBTeh.checked=true then
TotalTehBotol:=StrToInt(ETeh.text) * HargaTehBotol
else
TotalTehBotol:=0;
TotalMakanMinum:=TotalNasGor + totalCocaCola + TotalTehBotol;
GrandTotal:=TotalRental + TotalMakanMinum;
ERental.text:=FloatToStr(TotalRental);
EMakan.Text:=FloatToStr(TotalMakanMinum);
ETotal.Text:=FloatToStr(GrandTotal);
end;

Program untuk tombol Ulang :
procedure TForm1.TUlangClick(Sender: TObject);
begin
ELama.TexT:='1';
ENasGor.text:='0';
ECoca.text:='0';
ETeh.text:='0';
CBNasGor.checked:=false;
CBCoca.checked:=false;
CBTeh.checked:=false;
ETotal.TexT:='0';
EMakan.text:='0';
ERental.Text:='0';
ELama.SetFocus;
end;


By. Gunawan Rudi Cahyono, ST, MT Halaman - 15
Modul Praktek Delphi
BAB IV
PERULANGAN
(For To Do, For Downto Do, Repeat Until, While Do)

Perulangan adalah suatu cara untuk mengulang satu atau sekumpulan perintah sampai mencapai
kondisi tertentu.
Dalam Delphi terdapat beberapa perulangan yaitu :
1. Perulangan menggunakan For To Do
2. Perulangan menggunakan For DownTo Do
3. Perulangan menggunakan Repeat Until
4. Perulangan menggunakan While Do
5. Perulangan menggunakan Label
6. Perulangan tersarang (perulangan dalam perulangan)
7. Perulangan dengan banyak kondisi
Untuk lebih jelasnya, buatlah form seperti berikut dengan mengunakan 1 buah memo dan 7 buah
BitBtn. Memo digunakan sebagai tempat untuk melihat hasil perulangannya.

Memo
Catatan :
Komponen Memo ( ) umumnya digunakan untuk pemasukan data string yang bisa menampung
data dalam bentuk beberapa paragraf (banyak baris). Komponen ini dapat kita samakan dengan Notepad.
Isi dari komponen ini ada di properti Lines.
Method-method yang banyak dipakai yang dimiliki oleh memo adalah :
Clear, gunanya untuk mengosongkan memo.
Contoh :
Memo1.Clear;
Lines.Add, gunanya untuk memasukan/menambahkan baris di Memo.
Inputan untuk method add harus berupa string. J ika yang ingin ditampilkan berupa angka, maka harus
dikonversikan dulu.
Contoh :
Memo1.Lines.Add(Text Yang Ditambahkan);
A:=100;
Memo1.Lines.Add(Nilai A adalah : +inttostr(A));
Lines.Delete, gunanya untuk menghapus suatu baris.
Contoh :
Memo1.Lines.Delete(0); // Menghapus baris ke-1

Pustekom Int. Hal. 16
Modul Praktek Delphi
1. For To Do
Perulangan ini berjalan dengan menggunakan suatu variabel counter yang akan bertambah secara
otomatis ketika perintah yang diulang telah selesai dikerjakan.
Bentuk umum dari perulangan ini adalah :
For counter := nilai awal To Nilai akhir Do
Begin
Perintah;
Perintah;
End;
Perulangan ini akan berulang selama nilai variabel counter masih lebih kecil atau sama dengan nilai
akhir.
Contoh Program yang ditulis dalam event OnClick dari tombol For To Do
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;
c:char;
begin
Memo1.Clear;
for i:=1 to 10 do
Memo1.Lines.Add(IntToStr(i));
for c:='A' to 'Z' do
Memo1.Lines.Add(c);
end;

2. For DownTo Do
Perulangan ini sama seperti perulangan dengan menggunakan For To Do tetapi arah isi counternya
berkurang (mundur/turun).
Bentuk umum dari perulangan ini adalah :
For counter := nilaiawal DownTo Nilaiakhir Do
Begin
Perintah;
Perintah;
End;
Perulangan ini akan berulang selama nilai variabel counter masih lebih besar atau sama dengan nilai
akhir. Nilai awal suatu counter harus lebih besar atau sama dengan daripada nilai akhirnya.
Contoh Program yang ditulis dalam event OnClick dari tombol For To Do
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i:integer;
c:char;
begin
Memo1.Clear;
for i:=10 downto 1 do
Memo1.Lines.Add(IntToStr(i));
for c:='Z' downto 'A' do
Memo1.Lines.Add(c);
end;


Pustekom Int. Hal. 17
Modul Praktek Delphi
3. Repeat Until
Perulangan ini bekerja sampai kondisi yang diinginkan tercapai. Perulangan ini bisa digunakan sebagai
perulangan yang menggunakan banyak kondisi keluar (multi condition loop).
Bentuk umum :
Repeat
Perintah;
Perintah;
Until Kondisi;

procedure TForm1.BitBtn3Click(Sender: TObject);
var
i:real;
begin
Memo1.Clear;
i:=0;
repeat
i:=i+0.5;
Memo1.Lines.Add(FloatToStr(i));
until i=10;
end;
Perulangan ini berulang sampai kondisi yang ada setelah until mempunyai nilai true. J adi repeat until
berjalan selama kondisi salah sampai kondisi benar.
Pengecekan kondisi berada di bagian bawah yaitu setelah until sehingga semua program yang
memakai perulangan ini akan melakukan minimal 1 kali proses perulangan.

4. While Do
Perulangan ini mirip dengan perulangan Repeat Until tetapi pengecekannya berada di awal sebelum
melakukan proses yang berulang. Perulangan ini berjalan selama kondisi pengecekan bernilai true. J ika
kondisi telah mempunyai nilai false maka perulangan tidak dilakukan lagi.
Bentuk umum dari While Do adalah seperti berikut :
While kondisi do
Begin
Perintah;
Perintah;
End;
Contoh program while do yang ditulis pada event onclick dari tombol While Do.
procedure TForm1.BitBtn4Click(Sender: TObject);
var
i:real;
begin
Memo1.Clear;
i:=0;
while i<10 do
begin
i:=i+0.5;
Memo1.Lines.Add(FloatToStr(i));
end;
end;


Pustekom Int. Hal. 18
Modul Praktek Delphi
5. Label
Label adalah suatu perintah untuk memandai suatu baris program. Untuk pindah ke posisi yang
ditandai oleh label, maka digunakan perintah Goto.
Untuk lebih jelasnya lihatlah program berikut yang ditulis dalam event OnClick dari tombol
Label.
procedure TForm1.BitBtn5Click(Sender: TObject);
label
A;
var
i:integer;
begin
Memo1.Clear;
i:=0;
A:
i:=i+1;
Memo1.Lines.Add(IntToStr(i));
if i<10 then
Goto A;

End;

6. Perulangan Tersarang (perulangan dalam perulangan)
Perulangan tersarang (nested loop) adalah suatu perulangan dimana di dalam perulangan tersebut
ada perulangan lain. Perulangan yang di ada di bagian terdalam, maka akan dikerjakan dulu sampai
selesai baru mengerjakan perulangan yang ada diluarnya.
Nested loop bisa merupakan kombinasi antara For To Do, For DownTo Do, Repeat Until, While
Do.
Contoh Program
procedure TForm1.BitBtn6Click(Sender: TObject);
var
i,j:integer;
begin
Memo1.Clear;
for i:=1 to 5 do
begin
j:=0;
while j<5 do
begin
j:=j+1;
Memo1.Lines.Add(IntToStr(i)+' X '+IntToStr(j)
+' = '+IntToStr(i*j));
end;
Memo1.Lines.Add('-------------------');
end;
end;


Pustekom Int. Hal. 19
Modul Praktek Delphi
7. Perulangan dengan banyak kondisi
Perulangan dengan banyak kondisi adalah suatu perulangan dimana berjalannya suatu perulangan tidak
hanya berdasarkan suatu kondisi saja tetapi bisa lebih dari satu kondisi. Operator yang bisa digunakan
biasanya seperti And, Or, Not dan lain-lain.
Contoh Program :
procedure TForm1.BitBtn7Click(Sender: TObject);
var
i:integer;
total:integer;
begin
Memo1.Clear;
total:=0;
i:=0;
repeat
i:=i+1;
Total:=Total+i;
Memo1.Lines.Add('Isi I = '+IntToStr(i));
Memo1.Lines.Add('Isi Total = '+IntToStr(Total));
until (total>150)or(i>25);

end;

Kasus :
1. Buat suatu program untuk menentukan faktorial dan jumlah deret sampai ke N. Buat form sebagai
berikut :

2. Buat suatu program untuk menghitung saldo akhir dari suatu tabungan dengan bunga dan jangka
waktu tertentu :
Contoh hasil :
Saldo : 100000
Bunga : 10
Waktu : 3
Ketika user menekan tombol Hitung, maka akan muncul hasil seperti berikut di memonya.
Saldo Bulan 1 = Rp. 110000
Saldo Bulan 2 = Rp. 121000
Saldo Bulan 3 = Rp. 133100


Pustekom Int. Hal. 20
Modul Praktek Delphi
3. Mirip dengan program ke-dua hanya input yang diberikan adalah : Saldo awal, bunga dan saldo
akhir. Dari ketiga input tersebut maka akan didapatkan lamanya jangka waktu yang diinginkan
agar saldo mencapai saldo akhir.
Contoh :
Saldo Awal : 100000
Bunga : 10
Saldo Akhir : 150000
Maka hasil pada memonya adalah :
Saldo Bulan 1 = Rp. 110,000
Saldo Bulan 2 = Rp. 121,000
Saldo Bulan 3 = Rp. 133,100
Saldo Bulan 4 = Rp. 146,410
Saldo Bulan 5 = Rp. 161,051

Form yang diinginkan :






Pustekom Int. Hal. 21
Modul Delphi - Database
Materi Delphi. Hal. 1
BAB V
DASAR-DASAR MEMBUAT PROGRAM
DATABASE DENGAN DELPHI


PENGANTAR DATABASE DENGAN DELPHI
Database dengan mengagunakan Delphi menggunakan konsep seperti gambar dibawah ini :

File Database Komponen
Table
Komponen
DataSource
Komponen
Data Control



Keterangan :
1. File Database : File database dari sistem database lain seperti Dbase (*.dbf), Paradox (*.db),
Microsoft Access (*.mdb), dan lain-lain.
2. Komponen Table : Komponen yang mewakili file database. Setiap melakukan proses dalam
komponen tabel tersebut, maka isi file database yang terkoneksi ke komponen tersebut berubah
juga.
3. Komponen DataSource : Komponen penghubung antara komponen tabel dengan komponen data
control. Dalam datasource harus diisi tabel yang berelasi ke datasource tersebut.
4. Komponen-Komponen Data Control : Komponen yang digunakan untuk menampilkan data-data
yang berasal dari datasource (tabel). Data control ada yang berbentuk tabel, label, edit box,
gambar, combobox, listbox dan lain-lain.

PROGRAM DATABASE 1 :
Untuk program pertama ini, program database yang akan dibuat adalah untuk mendata spesies ikan
pada suatu toko. (data sudah ada)
1. Buat suatu aplikasi baru dengan Alt+F - New Application
2. Tempatkan sebuah komponen Table dari component palette BDE.
Ganti property berikut :
Property Nilai
DatabaseName DBDEMOS
TableName BIOLIFE.DB
Name TIkan
Active True
Keterangan :
DatabaseName adalah Alias directory atau koneksi ODBC. Pembuatan alias akan diterangkan
berikutnya.
3. Tempatkan sebuah komponen DataSource dari component palette Data Access
Ganti property berikut :
Property Nilai
DataSet TIkan
Name DSIkan

4. Tempatkan sebuah DBGrid dari component palette Data Controls pada form kemudian isi
properti datasourcenya dengan DSIkan (karena akan menampilkan isi tabel ikan). Coba run
program dan lihat hasilnya. Dengan cara yang tadi dijalankan, maka kita sudah dapat melihat,
menambah, mengedit data.
Modul Delphi - Database
Materi Delphi. Hal. 2
5. Tempatkan sebuah DBNavigator dari component palette Data Controls pada form.
Komponen ini berguna untuk menjelajahi isi tabel yaitu : Pindah ke record pertama, berikutnya
(maju), sebelumnya (mundur), terakhir, menambah data, menghapus data, menyimpan data,
mengedit data, membatalkan perubahan data dan refresh data. Isi property DataSource dengan
DSIkan. Kemudian run program untuk melihat kegunaan dari DBNavigator tersebut.
6. Tempatkan sebuah DBText dari component palette Data Controls pada form. Fungsi dari
komponen ini sama dengan komponen Label pada component palette Standar. Perbedaannya isi
dari DBText berasal dari suatu data field dari suatu tabel. Untuk menghubungkan DBText dengan
field, gantilah properti DataSource dengan DSIkan dan DataField dengan field yang diinginkan
contoh CommonName. Kemudian run program sehingga kita dapat melihat setiap record aktif
pindah maka isi DBText berisi field CommonName record yang aktif.
7. Tempatkan sebuah DBEdit dari component palette Data Controls pada form. Fungsi dari
komponen ini sama dengan komponen Edit perbedaannya isi DBEdit mengacu kepada suatu data
field dari suatu tabel. Untuk menghubungkannya dengan suatu field, isi property DataSource
dengan DSIkan dan FieldName dengan Spesies No.
8. Untuk menampilkan data bertipe memo dari component palette Data Controls, gunakan
komponen DBMemo, kemudian ganti property Datasource dengan DSIkan dan FieldName dengan
Notes.
9. Untuk menampilkan data bertipe gambar, gunakan komponen DBImage dari component
palette Data Controls, kemudian ganti property Datasource dengan DSIkan dan FieldName
dengan Graphics.
10. Tempatkan suatu tombol kemudian ganti caption dengan Tutup Program dan kemudian isi even
Onclick dengan perintah Close; atau Application.Terminate.

Gambar Lengkap form adalah sebagai berikut :

DBEdit
Table
DataSource
DBNavigator
DBLabel
DBMemo
DBGrid
DBImage


Modul Delphi - Database
Materi Delphi. Hal. 3

PEMBUATAN ALIAS
Alias digunakan sebagai short cut dari suatu sub directori/folder. Sebenarnya dalam tabel kita
bisa menggunakan alamat langsung dari file yang akan diakses contohnya : C:\MY
DOCUMENTS\DATA\KARYAWAN.DB, hal tersebut bisa dilakukan tapi kalau file karyawan.db
dipindah maka program harus dirubah. Untuk menghindari hal seperti itu, maka dibuatlah suatu Alias.
Contoh kita buat suatu alias bernama Karyawan yang mewakili C:\My Documents\Data. Kalau data
karyawan tersebut dipindah maka kita tidak lagi mengubah programnya tapi hanya membelokan alias
tersebut ke tempat yang baru.
Cara pembuatan alias adalah sebagai berikut :
1. Masuk ke Database Desktop yang ada pada Start Menu Program Borland Delphi
Database Desktop atau pilih menu Tool DataBase Desktop.
2. Pilih menu Tools Alias Manager

3. Klik tombol New, kemudian isi edit box Database alias dengan alias yang diinginkan, kemudian
klik tombol Browse.



Modul Delphi - Database
Materi Delphi. Hal. 4

4. Pilih drive yang diinginkan pada combo (drive or alias), kemudian pilih direktori/folder yang
dituju pada list Directories. Kemudian tekan tombol OK.

5. J ika telah benar tekan tombol OK pada Alias Manager. Maka akan muncul dialog apakah alias
tersebut akan disimpan dalam file configurasi. Tekan tombol Yes.

Modul Delphi - Database
Materi Delphi. Hal. 5

PEMBUATAN TABEL
Pembuatan tabel yang akan diakses oleh Delphi bisa dibuat dengan Database Desktop atau
MsAccess.
Cara pembuatan tabel dalam Database Desktop :
1. Masuk ke program Database Desktop
2. Pilih menu File New Table sehingga akan muncul dialog berikut yang akan menanyakan
tabel jenis apa yang akan dibuat apakah paradox atau dbase atau yang lain, kemudian tekan
OK.


3. Maka akan muncul window pembuatan tabel seperti berikut :


4. J ika sudah lengkap tekan tombol Save As untuk menyimpan tabel tersebut.
5. Tulis nama file tabel yang sudah dibuat dan simpan pada alias yang tadi dibuat.
6. Tabel sudah bisa diakses oleh Delphi.

Jenis-jenis field dapat dilihat di halaman berikutnya.
Modul Delphi - Database
Materi Delphi. Hal. 6

J enis field-field dalam Paradox yang sering dipakai :
Simbol J enis
Field
J enis Field Keterangan
A AlphaNumeric String, Alpabet, Numerik
I Integer Integer (Bilangan Bulat)
N Number Pecahan
D Date Tanggal
T Time J am
M Memo Memo / Catatan panjang
G Graphic Gambar
+ AutoIncrement Otomatis naik tiap ada penambahan data
$ Money Mata Uang
S Short Int Integer kecil (-32768 s/d 32767)

PENGISIAN DATA
Pengisian data pada tabel bisa dilakukan dengan dua cara, yaitu :
1. Melalui Database Desktop
Buka Database Desktop, kemudian pilih File Open Table kemudian pilih file database mana
yang akan diisi.
2. Melalui program yang dibuat
Modul Delphi - Database
Materi Delphi. Hal. 7

Contoh Aplikasi Database 1

Untuk kasus aplikasi sekarang, kita akan membuat suatu program untuk pengolahan data barang
menggunakan tabel yang telah dibuat dan memiliki fasilitas berikut :
Navigator Data
Penambahan Data
Pengeditan Data
Penghapusan Data
Pencarian Data
Untuk membuat hal tersebut lakukan langkah berikut :
1. Buatlah form seperti berikut

Catatan : Nama tabel adalah TBarang
2. Program untuk tombol navigator (4 buah speedbutton bergambar tangan) adalah sebagai berikut :
- Program untuk Pindah Ke Data Pertama (gambar tangan menunjuk ke atas)
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
TBarang.First;
end;
- Program untuk Pindah Ke Data Sebelumnya / Mundur (gambar tangan menunjuk ke
kiri)
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
TBarang.Prior;
if TBarang.BOF then
ShowMessage('Anda sudah di awal data');
end;
- Program untuk Pindah Ke Data Berikutnya / Maju (gambar tangan menunjuk ke kanan)
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
TBarang.Next;
if TBarang.EOF then
ShowMessage('Anda sudah di akhir data');
end;
Bitbtn
SpeedButton
Modul Delphi - Database
Materi Delphi. Hal. 8
- Program untuk Pindah Ke Data Terakhir (gambar tangan menunjuk ke bawah)
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
TBarang.Last;
end;


3. Untuk proses penambahan dan pengeditan data, diperlukan suatu form baru yang digunakan untuk
pengisian data barang tersebut. Buat suatu form seperti berikut :
- Buat form baru dengan File New Form dan namailah dengan FIsiBarang.
- Tempatkan 4 buah Edit untuk tempat pengisian data. Kemudian atur properti Name-nya
sesuai dengan kegunaannya.
- Tempatkan tombol suatu tombol kemudian caption diisi dengan Save kemudian properti
modalresult diisi dengan mrOk.
- Tempatkan tombol suatu tombol kemudian caption diisi dengan Cancel kemudian
properti modalresult diisi dengan mrCancel.

4. Buatlah objek/component field untuk mempermudah dalam pengisian program dengan cara
mendouble klik di componen Table kemudian klik kanan dan pilih Add All field. Dengan
melakukan hal tersebut, maka setiap field mempunyai objek field khusus.
5. Isilah program berikut pada event onclick tombol Tambah.
Procedure Tform1.TblTambahClick(Sender : Tobject);
begin
FIsiBarang.ENama.Text:=;
FIsiBarang.EHarga.Text:=0;
FIsiBarang.EStock.Text:=0;
FIsiBarang.EStockMinimal.Text:=0;
FIsiBarang.ShowModal; //tampilkan Form Fisibarang
if FIsiBarang.ModalResult=mrOk then
begin
TBarang.Append;//meminta tempat kosong untuk data baru
TBarangNama.Value:=FIsiBarang.ENama.Text;
TBarangHarga.Value:=StrToFloat(FIsiBarang.EHarga.Text);
TBarangStock.Value:=StrToInt(FIsiBarang.EStock.Text);
TBarangStockMinimal.Value:=StrToInt(FIsiBarang.
EStockMinimal.Text);
TBarang.Post;//simpan data
end;

end;

Modul Delphi - Database
Materi Delphi. Hal. 9
6. Isilah program berikut untuk event onclick dari Tombol Edit
Procedure Tform1.TblEditClick(Sender : Tobject);
begin
FIsiBarang.ENama.Text:=TBarangNama.Value;
FIsiBarang.EHarga.Text:=FloatToStr(TBarangHarga.Value);
FIsiBarang.EStock.Text:=IntToStr(TBarangStock.Value);
FIsiBarang.EStockMinimal.Text:=
IntToStr(TBarangStockMinimal.Value);
FIsiBarang.ShowModal; //tampilkan Form Fisibarang
if FIsiBarang.ModalResult=mrOk then
begin
TBarang.Edit;//menyiapkan data untuk diedit
TBarangNama.Value:=FIsiBarang.ENama.Text;
TBarangHarga.Value:=StrToInt(FIsiBarang.EHarga.Text);
TBarangStock.Value:=StrToInt(FIsiBarang.EStock.Text);
TBarangStockMinimal.Value:=StrToInt(FIsiBarang.
EStockMinimal.Text);
TBarang.Post;
end;
end;
7. Untuk event onclick pada Tombol Hapus tulislah perintah sebagai berikut :
Procedure Tform1.TblHapusClick(Sender : Tobject);
begin
if MessageDlg(Data Mau Dihapus ?,mtconfirmation,
[mbyes,mbno],0)=mryes then
begin
TBarang.Delete;
end;
end;
Keterangan :
Perintah MessageDlg digunakan untuk melakukan suatu dialog dengan user.
Cara penulisan MessageDlg adalah :
MessageDlg(Pesan, TipeDialog, [DaftarTombol],NoHelp).

Parameter pertama yaitu Pesan harus bertipe string.
Parameter kedua bisa berisi tipe dari dialog. Parameter ini bisa berisi:
- mtconfirmation : Ada lambang tanda tanya dalam dialognya
- mtwarning : Ada lambang peringatan / tanda seru (!)
- mtinformation : Ada lambang huruf i
- mterror : Ada lambang silang berwarna merah
- mtcustom : Tidak ada lambang dalam dialognya.
Parameter ketiga merupakan parameter yang mengatur tombol mana yang akan digunakan.
Parameter ini bisa berisi :
MrNone, mrAbort, mrYes, mrOk, mrRetry, mrNo, mrCancel, mrIgnore, mrAll

Fungsi Message dialog ini akan menghasilkan nilai sesuai dengan tombol yang ditekannya.
J ika tombol OK yang ditekan, maka MessageDlg ini berisi MrOK,
J ika tombol yes yang ditekan, maka MessageDlg ini berisi MrYes dst

8. Untuk tombol pencarian, maka gunakan perintah berikut :
Untuk pencarian pada field key :
Procedure Tform1.TblCariClick(Sender : Tobject);
begin
if Tbarang.Findkey([Ecari.Text])=false then
ShowMessage(Data yang dicari tidak ditemukan);
end;
Fungsi Findkey akan memberikan nilai true jika data ditemukan dan akan mengembalikan nilai
false jika data tidak ditemukan.
Modul Delphi - Database
Materi Delphi. Hal. 10
9. Cara lain untuk penambahan dan pengeditan data adalah dengan menggunakan komponen data
control. Lebih jelasnya ikutilah langkah-langkah berikut :
- Buat form baru dengan File New Form beri nama FIsiBarang2
- Tempatkan 5 buah DBEdit untuk tempat pengisian data. Kemudian atur properti
DataSource dan DataField dari tiap DBEditnya. (lihat form)
- Tempatkan tombol suatu tombol kemudian caption diisi dengan Save kemudian properti
modalresult diisi dengan mrOk.
- Tempatkan tombol suatu tombol kemudian caption diisi dengan Cancel kemudian
properti modalresult diisi dengan mrCancel.

10. Untuk onclick pada Tombol Tambah, ketikan perintah berikut :
Procedure Tform1.TblTambahClick(Sender : Tobject);
begin
TBarang.Append;
FIsiBarang2.ShowModal;
if FIsiBarang2.ModalResult=mrOk then
begin
TBarang.Post;
end
else
begin
TBarang.Cancel;
end;
end;

11. Untuk onclick pada Tombol Edit, ketikan perintah berikut :
Procedure Tform1.TblEditClick(Sender : Tobject);
begin
TBarang.Edit;
FIsiBarang2.ShowModal;
if (FIsiBarang2.ModalResult=mrOk) then
begin
TBarang.Post;
end
else
begin
TBarang.Cancel;
end;
end;

Modul Delphi - Database
Materi Delphi. Hal. 11

Pembuatan Index Pada Table

Ketika pembuatan suatu tabel, kita membuat suatu field yang pada fieldnya diberi tanda *. Isi
field yang merupakan field kunci tidak boleh ada data yang sama (harus unik). Dengan membuat suatu
field sebagai primary key, maka setiap pengisian data, maka urutan data akan otomatis terurut. Selain
primary key ada juga yang namanya secondary index yang fungsinya mirip dengan primary key.
Cara pembuatan secondary index adalah :
1. Masuk ke Database Desktop
2. Pilih menu Table Utilities Restructure, kemudian pilih tabel yang akan diubah
strukturnya.
3. Pilih Secondary Indexes pada field Table Properties (lihat gambar).

4. Pilih field yang akan dijadikan index. Pilih field Nama kemudian tekan tombol panah kanan.
(lihat gambar).

5. J ika telah dipilih, tulis nama index dari index tersebut. Contoh : idxNama.

6. Buat juga index dengan nama IdxHarga yang merupakan index dari field harga dengan
ketentuan pengurutannya secara menurun (descending).
7. J ika telah selesai, simpan table tersebut.
Modul Delphi - Database
Materi Delphi. Hal. 12

Penggunaan Index dalam Program
Untuk mengaktifkan suatu index yang telah dibuat, gunakan field IndexName yang
merupakan properti milik Table. Untuk lebih jelasnya silahkan buat form seperti di bawah ini.



Untuk bagian Pengurutan Berdasarkan gunakan RadioGroup.
Untuk OnClicknya tuliskan perintah berikutkan :
Procedure TForm1.RadioGroup1Click(Sender:TObject);
begin
if (RadioGroup1.ItemIndex=0) then
Tbarang.IndexName:=
else
if (RadioGroup1.ItemIndex=1) then
Tbarang.IndexName:=idxBarang
else
if (RadioGroup1.ItemIndex=2) then
Tbarang.IndexName:=IdxHarga;
End;

Untuk tombol Cari tuliskan perintah berikut :
Procedure Tform1.CariClick(Sender:Tobject);
Var
Ditemukan:Boolean;
Begin
Ditemukan:=Tbarang.FindKey([Ecari.Text]);
if (ditemukan=false) then // atau if not ditemukan then
ShowMessage(Data tidak ditemukan);
End;

Untuk tombol Find Nearest tuliskan perintah berikut :
Procedure Tform1.TfindNearestClick(Sender:Tobject);
Begin
TBarang.FindNearest([Ecari.Text]);
End;

BAB VI
JENIS-JENIS FIELD
(Data Field, Lookup Field dan Calculated Field)

Ada 3 jenis field yang ada di Delphi yaitu :
1. Data Field
Data field adalah data yang berasal dari file databasenya. Field ini secara fisik
tersimpan dalam file datanya.
2. Lookup Field
Lookup field adalah suatu field yang merupakan field yang diambil dari tabel lain
berdasarkan kunci-kunci tertentu.
3. Calculated Field
Calculated field adalah field yang merupakan hasil perhitungan. Field ini hanya akan
dapat dilihat ketika program di run saja dan field ini tidak tersimpan dalam file.
Walaupun calculated field merupakan suatu hasil perhitungan, tetapi field ini tipenya
tidak hanya bilangan, tetapi bisa juga bertipe data selain bilangan seperti string,
boolean dan lain-lain.

Contoh program :
Membuat daftar penjualan data lengkap dengan menampilkan harga dan totalnya.
1. Buat suatu Applikasi baru dengan File New Application
2. Tempatkan Table dan Datasource dengan properti seperti berikut :
Properti Isi
Name TPenjualan
DatabaseName DBDemos
TableName Items.DB

Properti Isi
Name Tbarang
DatabaseName DBDemos
TableName Parts.DB

Properti Isi
Name TSupplier
DatabaseName DBDemos
TableName Vendors.DB

Properti Isi
Name DSPenjualan
DataSet Tpenjualan


Properti Isi
Name DSBarang
DataSet TBarang


Properti Isi
Name DSsupplier
DataSet TSupplier

Tempatkan sebuah DBGrid dengan mengganti properti DataSource dengan
DSPenjualan. Untuk lebih jelas lihat gambar di bawah ini.


3. Untuk membuat suatu field Lookup atau Calculated dalam table penjualan,
pertama kali sebaiknya dibuat dulu field datanya untuk mempermudah
pemrograman dengan mendouble klik Table TPenjualan, atau Klik Kanan di
table kemudian pilih Field Editor.
4. Dalam Field Editor, klik kanan kemudian pilih Add All field jika semua field
ingin dipakai semua atau pilih Add Field jika ingin memilih field yang akan
dipakai.

TPenjualan
DSPenjualan
TBarang
DSBarang TSupplier
DSSupplier
5. Sekarang buat suatu field baru yang berjenis field lookup untuk Harga barang
yang diambil dari table TBarang. Caranya :
Double klik Table TPenjualan
Klik kanan pada field editor kemudian pilih New - Field sehingga akan
muncul layar seperti berikut :

Tulis Nama Field dengan Harga
Pilih Tipe data dengan Currency atau Float
Pilih Field Type dengan Lookup
Isi Key Field dengan PartNo
Isi Dataset dengan TBarang
Isi Lookup Keys dengan PartNo
Isi Result Field dengan List Price

Catatan :
Key Field adalah field yang digunakan untuk pencarian ke Dataset
lookupnya.
Lookup Keys adalah field yang ada di Dataset lookup yang dicocokan
dengan Key Fieldnya.
Result Field adalah field apa yang akan diambil dari dataset lookup
Tekan OK
6. Untuk membuat Field SubTotal yang merupakan field berjenis Calculated,
lakukan hal seperti berikut :
Double Klik di TPenjualan
Klik kanan di field editor, kemudian pilih New Field
Isi Field Name dengan subtotal
Isi Tipe dengan Currency atau float
Isi tipe field dengan Calculated

Tekan OK
Untuk program perhitungannya, klik tabel Tpenjualan, kemudian klik tab
Event di Object Inspector, kemudian double klik di event OnCalcField.

Kemudian isi perintah/rumus perhitungannya seperti berikut :
TpenjualanSubTotal.value:=TpenjualanQty.Value*TpenjualanHarga.value;

Run program. Calculated field baru bisa dilihat setelah di run.
BAB VII
QUERY / SQL
(Structured Query Language)

Komponen query adalah suatu komponen dataset (mirip seperti table) tetapi data yang ada
dalam dataset tersebut berasal dari perintah query, dan bukan lagi berdasarkan TableName.
Langkah-langkah penggunaan Query sama seperti pembuatan tabel. Coba buat form seperti
berikut :


1. Tempatkan komponen Query yang ada pada component palette Dataset.
Isi properti :
DatabaseName : DBDEMOS
SQL : Select * From Country
Active : True
2. Tempatkan komponen DataSource.
Isi properti :
Dataset : Query1
3. Tempatkan DBGrid isi properti DataSource dengan Datasource1.
4. Run Program.

Contoh perintah-perintah SQL :
Select digunakan untuk pemilihan field.
Contoh :
- Select * from Country
pilih semua field yang ada pada tabel Country.db
- Select Name, Capital from Country
Pilih field Name dan Capital yang ada pada tabel Country.
- Select Name, Capital, Population from Country order by Population
Desc
Pilih field Name, Capital, dan Population dari tabel country kemudian diurutkan berdasarkan
population secara descending (menurun). J ika ingin pengurutan secara Ascending, hilangkan
perintah Descnya.
- Select Sum(Population), Max(Population), Min(Population),
Avg(Population) from Country
Pilih J umlah (sum) dari population, nilai tertinggi (max) dari population, nilai terkecil (min) dari
population dan rata-rata (average) dari population dari tabel Country.
- Select * from country where Population>25000000
Pilih semua field dari country yang mempunyai population lebih dari 25000000.
Halaman - 1
- Select Parts.*, Vendors.VendorName from Parts, Vendors where
Parts.VendorNo = Vendors.VendorNo
Pilih semua field dari tabel parts dan field VendorName dari tabel vendors dimana VendorNo yang
di Tabel Parts sama dengan VendorNo yang ada di tabel Vendors.


Membuat program belajar SQL

Buat Form seperti berikut :


Isi Perintah Onclick pada tombol Run dengan perintah berikut :
Procedure Tform1.TrunClick(Sender:TOBject);
Begin
Query1.Close; // Tutup Query yang Aktif
Query1.SQL.Clear; // Hapus SQL yang ada
Query1.SQL.Add(Equery.Text); // Isi SQL dari Equery.Text
Query1.Open; // Buka / Aktifkan Query
End;

Halaman - 2
BAB VIII
MASTER - DETAIL

Suatu form yang menampilkan suatu hubungan master detail digunakan untuk menyatakan suatu
relasi 1 ke banyak dari 2 tabel.
J ika tabel master berpindah record, maka pada tabel detail juga akan berubah sesuai dengan relasi
antara tabel master dan detail tersebut.
Borland Delphi telah menyertakan beberapa tabel yang dapat menggambarkan suatu relasi master
detail. Tabel tersebut adalah tabel Orders.db dan Items.db. Tabel Orders.db berisi daftar faktur penjualan
dan Items.db berisi item-item faktur penjualan tersebut. Kedua tabel relasikan dengan field OrderNo
(nomor order).
Untuk membuat suatu form yang menampilkan hubungan master detail, langkah-langkah yang
harus dilakukan adalah :
1. Buat suatu aplikasi baru dengan menekan menu File New Application
2. Tempatkan 2 buah Table, 2 buah Data Source dan 2 Buah DBGrid. Peletakannya dapat dilihat di
gambar di bawah ini.
Properti-properti yang harus diganti adalah :
Objek Properti Isi
Name TPenjualan
DatabaseName DBDEMOS
TableName Orders.db
Table1
Active True
Name DSPenjualan DataSource1
Dataset TPenjualan
Name TItemPenjualan
DatabaseName DBDEMOS
TableName Items.db
Table2
Active True
Name DSItemPenjualan DataSource2
Dataset TItemPenjualan
DBGrid1 DataSource DSPenjualan
DBGrid2 DataSource DSItemPenjualan
Peletakan komponennya dapat dilihat di bawah ini.

3. Sampai langkah di atas hubungannya masih belum master detail. Untuk membuat agar hubungan
relasinya terlihat jelas, maka langkah berikutnya adalah klik di table detail (TItemPenjualan),
kemudian isi properti MasterSource dengan DSPenjualan (Data Source Master), kemudian isi juga
properti MasterField dengan menekan tombol elipsis () yang akan memunculkan layar desain relasi.

4. Pilih field relasinya yaitu OrderNo di Detail dan OrderNo di Master. Setelah dipilih klik tombol Add,
dan kemudian diikuti dengan menekan tombol OK untuk menutup layar desain relasi.

5. Sekarang form master detail telah dibuat. Setiap ada perpindahan data di tabel master maka tabel detail
akan ikut berganti sesuai dengan OrderNo yang sama.

BAB IX
FILTER DATA

Filter data digunakan untuk memilih sekelompok data berdasarkan kondisi tertentu. Data yang
dihasilkan oleh filter bisa lebih dari satu buah.
Filtering (penyaringan) data dalam Delphi adalah dengan cara memanfaatkan properti Filter dan
Filtered yang dimiliki oleh komponen Table.
Agar lebih jelas, buat form seperti di bawah ini.

Table DataSource
DBGrid
ComboBox CheckBox Edit

1. Gantilah properti dan nama dari komponen-komponen tersebut :
Name Table1 Name CBFilter
DatabaseName DBDEMOS
TableName Customer.db
Table
Active True
Name DataSource1
ComboBox
Items Company
Addr
City
Contact
DataSource
Dataset Table1 Name CBFilter
Name Ekunci
CheckBox
Checked False Edit
Text Kosongkan DBGrid DataSource DataSource1

2. Pada event OnClick CBFilter isi perintah di bawah ini
procedure TForm1.CBFilterClick(Sender: TObject);
begin
if CBFilter.Checked=true then // Jika CBFilter dipilih
begin
// susun filter
Table1.filter:=CBField.Text+' = '''+EKunci.text+'*''';
Table1.Filtered:=true; // jalankan filter
end
else // jika CBFilter tidak dipilih
Table1.Filtered:=false; // non aktifkan filter
end;

3. Agar setiap ada perubahan isi di edit EKunci mempengaruhi filter, maka event OnChange milik
Ekunci harus ditujukan ke procedure CBFilterClick.
4. Langkah di atas adalah membuat filter tetapi membedakan huruf kapital dan huruf kecil. Agar filter
dijalankan dengan menganggap huruf kapital dan huruf kecil dianggap sama maka klik di Table1,
kemudian klik tanda + pada Filter Option dan pada properti foCaseInsensitive diisi nilai True.
5. Run program. Maka akan dapat dilihat kalau kita mengisi kata kunci dan filternya diaktifkan maka isi
DBGrid akan sesuai dengan isi kata kunci.



BAB X
PEMBUATAN LAPORAN


Pembuatan laporan dalam Delphi menggunakan komponen-komponen yang ada dalam component
palette QReport. Data yang dilaporkan adalah data-data yang berasal dari database.
Suatu laporan umumnya memiliki bagian-bagian (band) sebagai berikut :
Page Header
Title
Column Header
Detail
Summary
Page Footer
Keterangan :
- Page Header : adalah band yang akan tampil di semua halaman dan berada pada posisi paling
atas (header).
- Title : adalah band yang berfungsi sebagai judul dari laporan. Band ini hanya ada pada
halaman pertama.
- Column Header adalah band yang berfungsi untuk menempatkan judul dari data yang akan
dilaporkan. Column Header ada di setiap halaman
- Detail adalah band yang berfungsi untuk menempatkan data yang akan dilaporkan. Band ini
berulang sampai semua data telah tercetak.
- Summary adalah band yang dicetak hanya di halaman terakhir sebagai catatan. Salah satu
fungsi dari band ini adalah untuk menampilkan total dari semua data yang dilaporkan.
- Page Footer berfungsi seperti page header tetapi letaknya di bagian bawah laporan dan selalu
ada di tiap halaman. Salah satu gunanya adalah untuk menyimpan / menempatkan nomor
halaman.

Membuat Laporan Sederhana
Cara pembuatan laporan adalah :
1. Buka kembali program yang berisi berisi program master detail.
2. Pilih Menu File New Report, yang akan menampilkan sebuah report kosong.

Pembuatan Laporan - 1
3. Setelah muncul tampilan laporan kosong, kemudian pilih bands (bagian-bagian report)yang akan
digunakan dengan menekan tanda +pada properti Bands. Isi dengan nilai true pada band yang akan
digunakan.

4. Isi tabel yang akan dibuat laporan dengan cara mengisi properti Dataset dari reportnya. Table yang
akan dilaporkan boleh diambil dari form lain atau dari data module.
J ika tabel yang akan dilaporkan ada di form lain atau di data module, maka gunakan Menu File Use
Unit untuk mengenalkan semua isi dari form yang memiliki tabel yang akan dibuat laporannya.
Isi properti datasetnya dengan Form1.TPenjualan.
5. Ganti properti Name dari laporan, sesuaikan dengan kegunaan form tersebut contoh : LapPenjualan.
Kemudian simpan report tersebut dengan mengklik menu File Save, isi nama filenya
UlapPenjualan.pas.
6. Komponen-komponen yang dapat dipakai dalam laporan berada pada componen palette Qreport.

Komponen yang sering dipakai diantaranya :
- QRLabel : Label / tulisan biasa
- QRDBText : Label / Text yang berasal dari data tabel (database)
- QRImage : Gambar contoh logo perusahaan
- QRSystem : Menampilkan Tanggal, J am, No Halaman, No Data dll.
- QRExpresion : Untuk perhitungan (Rumus).
7. Untuk membuat garis pinggir (border), gunakan properti Frame dari tiap bandnya. Isi properti dengan
true, jika garis mau digambar.
8. Atur bagian Page Header sesuai keinginan, misalnya dengan menampilkan waktu ketika laporan
dibuat. Caranya yaitu dengan meletakan komponen QRSYS, ganti properti Data dengan DateTime
dan isi pula properti Text dengan tulisan : Tanggal Laporan
9. Atur pula bagian Title, misalnya dengan mengisikan judul laporan.



Pembuatan Laporan - 2
10. Atur pula bagian ColumnHeadernya dengan menempatkan QRLabel sebagai J udulKolom.

11. Atur pula bagian terpentingnya yaitu bagian Detail. Data-data yang ada dalam band Detail biasanya
berasal dari database sehingga komponen yang dipakai di band tersebut adalah QRDBText.
Atur properti setiap QRDBText tersebut. Properti yang diatur adalah properti Dataset dan DataField.
Isi dataset dengan Form1.TPenjualan dan DataField disesuaikan dengan nama field yang akan
dituliskan oleh QRDBText tersebut. J angan lupa untuk ItemsTotal sebaiknya dibuat RightJustify
karena field tersebut berupa angka dengan cara mengganti properti Alignment dengan taRightJustify.
12. Atur pula bagian Summary misalnya dengan menghitung banyaknya transaksi penjualan. Caranya
adalah dengan meletakan komponen QRSys, kemudian ganti properti Data dengan DetailCount.

13. Atur Pula bagian PageFooter misalnya dengan menampilkan nomor halaman. Caranya adalah dengan
meletakan sebuah komponen QRSys dan isi properti Data dengan PageNumber, isi pula properti
Text dan isi dengan tulisan : Halaman Ke-.

14. Secara keseluruhan, desain report terlihat seperti gambar di bawah ini.

Pembuatan Laporan - 3
15. Untuk mengecek apakah hasil desain laporan telah rapi, caranya adalah klik kanan di laporan dan
kemudian klik Preview.

16. J ika telah benar, simpan laporan tersebut dan kembali ke form utama untuk membuat suatu tombol
yang akan memanggil laporan tersebut.
17. Di Form1 (form utama), buat suatu tombol dan isi Caption dengan Laporan Penjualan, kemudian isi
event OnClicknya dan isi dengan perintah di bawah ini.
NamaLaporan.Preview; J ika laporan hanya ingin di preview saja
NamaLaporan.Print; J ika laporan ingin langsung di print.

Contoh :
procedure TForm1.Button1Click(Sender: TObject);
begin
LapPenjualan.Preview;
end;

atau

procedure TForm1.Button1Click(Sender: TObject);
begin
LapPenjualan.Print;
end;
18. Run program tersebut.


Pembuatan Laporan - 4
BAB XI
DATA MODULE


Datamodule adalah sebuah form khusus yang henya bisa menampung komponen-komponen
database saja.
Datamodule digunakan untuk mengumpulkan semua komponen database dalam suatu tempat
sehingga semua form yang mengakses database hanya mengakses ke komponen-komponen database yang
ada di datamodul saja. Sehingga mempermudah dalam pemrogramannya. J adi kita tidak lagi dibingungkan
oleh tersebarnya komponen-komponen database di banyak form.
Cara pembuatan datamodule adalah :
1. Klik menu File - New DataModule

2. Sebaiknya simpan unitnya dengan menggunakan File- Save. Gunakan nama UdataModule.pas
atau UDM.Pas. (Penamaan file unit bebas)
3. Ganti Nama dari datamodule menjadi DM atau Data.



4. Tempatkan komponen-komponen data akses (database di dalam DataModule).

5. Kemudian agar form lain dapat mengakses komponen database yang ada di datamodule, maka
pada tiap form tersebut harus ditambahkan perintah Uses [Nama File unit Data Modul] atau
dengan File Use Unit, dan kemudian pilih unit datamodule tadi.
6. Setiap pemanggilan data dari form lain harus didahului dengan perintah DM kalau nama data
modulnya adalah DM. Contoh : DM.TPenjualan.Append.



BAB XII
PROGRAM PENJUALAN SEDERHANA

Program yang akan dibuat kali ini adalah program untuk mendata penjualan barang. Fasilitas yang
diberikan pada program ini adalah :
1. Update Stock (Kalau ada transaksi penjualan, maka stock barang berkurang, Kalau ada transaksi
pembelian, maka stock barang akan bertambah)
2. Laporan Penjualan, Laporan Barang, Laporan Pembelian

Untuk membuat program tersebut maka dibutuhkan 3 buah tabel yaitu :
1. Tabel Barang yang berisi barang-barang yang tersedia dalam toko tersebut.
2. Tabel Penjualan yang akan digunakan untuk menyimpan semua data penjualan.
3. Tabel Pembelian yang akan digunakan untuk menyimpan semua data pembelian barang.

Langkah-Langkah Pengerjaan :
1. Buatlah ke-3 tabel tersebut dalam database desktop, dengan daftar field seperti berikut :
Barang.DB
Nama Field Type Size
Kode + *
Nama A 20
Harga $
Stock I
StockMinimal I

Penjualan.DB
Nama Field Type Size
Tanggal D
Kode I
Harga $
Qty I
Diskon N

Pembelian.DB
Nama Field Type Size
Tanggal D
Kode I
Harga $
Qty I

2. Buatlah suatu Aplikasi baru. Kemudian ganti nama dari Form1 menjadi Futama (Form Utama)
dan kemudian simpan dalam file UFUtama.Pas. Berilah komponen MainMenu yang ada di
Standard dan buat daftar menu seperti berikut :

PEMBUATAN PROGRAM PENJUALAN SEDERHANA - 1


3. Buatlah data modul kemudian beri nama data modul tersebut dengan DM dan kemudian simpan
dalam UDM.Pas.

4. Tempatkan semua tabel yang akan digunakan dalam DataModul, lengkap dengan data sourcenya.
5. Buatlah objek field dengan cara men-double klik tiap tabel kemudian klik kanan dan tekan Add
All Fields.
6. Buatlah sebuah form baru yang akan digunakan untuk pengolahan data barang. Berilah nama form
ini dengan Fbarang atau FrmBarang dan simpan dalam file UFBarang.pas. Form barang dibuat
seperti berikut :


7. Setelah membuat form Fbarang, kemudian buatlah suatu form baru untuk membuat form input
data barang yang akan dimunculkan kalau pengguna menekan tombol tambah data atau edit data.
Berilah nama formnya dengan FinputBarang dan simpan dalam file UFInputBarang.pas. Contoh
FinputBarang adalah seperti gambar berikut :
PEMBUATAN PROGRAM PENJUALAN SEDERHANA - 2


J angan lupa mengisi properti ModalResult dari tombol OK dengan Mrok dan untuk tombol Cancel
diisi dengan MrCancel. Untuk edit gunakan DBEdit.
8. Pada tombol Tambah pada FormBarang berilah perintah berikut :
procedure TFBarang.TblTambahClick(Sender: TObject);
begin
DM.TBarang.Append;// atau DM.TBarang.Insert;
FInputBarang.Showmodal; // menampilkan finputbarang
If FinputBarang.ModalResult=mrok then // jika tekan simpan
DM.TBarang.Post // simpan data
else
DM.TBarang.Cancel; // batalkan tambah data
end;
9. Pada tombol Edit pada Formbarang berilah perintah seperti berikut :
procedure TFBarang.TblEditClick(Sender: TObject);
begin
DM.TBarang.Edit; // data mau diedit
FInputBarang.Showmodal; // tampilkan finput barang
If FinputBarang.ModalResult=mrok then // jika tekan simpan
DM.TBarang.Post // simpan data
else
DM.TBarang.Cancel; // batalkan pengeditan data
end;
10. Pada tombol Hapus pada FormBarang berilah perintah seperti berikut :
procedure TFBarang.TblHapusClick(Sender: TObject);
begin
if Messagedlg('Data Mau Dihapus ?',mtconfirmation,
[mbyes,mbno],0)=mryes then // kalau jawab yes
DM.TBarang.Delete; // hapus data
end;
11. Pada Tombol Keluar pada Form Barang berilah perintah berikut :
procedure TFBarang.TblKeluarClick(Sender: TObject);
begin
Close;
end;
12. Untuk pemanggilan FormBarang dari Form Utama maka isilah event onclick dari menu Master
Barang seperti berikut :
procedure TFUtama.Barang1Click(Sender: TObject);
begin
FBarang.Showmodal; // tampilkan Form Barang
end;
13. Buatlah laporan untuk melaporkan data semua barang dan harus bisa dipanggil pada menu
Laporan Laporan Barang.
PEMBUATAN PROGRAM PENJUALAN SEDERHANA - 3

14. Untuk form pengolahan data penjualan, buatlah sebuah form baru dan beri nama formnya dengan
Fpenjualan dan simpan dalam file UFPenjualan.pas. Buatlah form seperti berikut :

15. Buatlah form baru untuk pemasukan data penjualan kemudian namailah dengan FinputPenjualan
dan simpan dalam file UfinputPenjualan.pas. Lihat gambar :

Caranya :
- Tempatkan Groupbox, label Nama barang dan label Qty.
- Tempatkan Tombol OK dan Tombol Cancel, jangan lupa mengisi modal result dari kedua
komponent tersebut dengan MrOK dan MrCancel
- Tempatkan dua buah DBEdit dan mengganti properti Datasource dengan
DM.DSPenjualan dan datafieldnya dengan Qty dan Diskon.
- Tempatkan sebuah DBLookupComboBox yang ada pada komponen tab Data Control
yang digunakan untuk pemilihan nama barang yang akan dijual dan kemudian ganti
properti berikut :
DataSource : DM.DSPenjualan
DataField : Kode
ListSource : DM.DSBarang
ListField : NamaBarang
KeyField : Kode
16. Kembali ke FormPenjualan, kemudian isi event onclick dari tombol transaksi dengan perintah
seperti berikut :
procedure TFPenjualan.TblJualClick(Sender: TObject);
begin
DM.TPenjualan.Append;// Tambah Penjualan
DM.TPenjualan['Tanggal']:=Now; // isi Tanggal dengan Tanggal Sekarang (now)
FInputPenjualan.Showmodal; // menampilkan FInputPenjualan
DBLookupComboBox
PEMBUATAN PROGRAM PENJUALAN SEDERHANA - 4

if FinputPenjualan.Modalresult=mrok then // Kalau menekan Tombol OK
begin
DM.TBarang.Findkey([DM.TPenjualan['Kode']]); // Cari Barang
DM.TBarang.Edit; // Data Barang Mau DiEdit
//Stock barang dikurangi dengan Qty Penjualan
DM.TBarang['Stock']:=DM.TBarang['Stock']-DM.TPenjualan['Qty'];
DM.TBarang.Post; // Simpan Data Barang
//Harga Barang yang dijual diisi dari Harga barang dari tabel Barang
DM.TPenjualan['Harga']:=DM.TBarang['Harga'];
DM.TPenjualan.Post;//Simpan Penjualan
end
else // kalau tidak menekan OK
DM.TPenjualan.Cancel; // Batalkan Penjualan

end;

17. Supaya Fpenjualan dapat dipanggil dari menu utama, maka masukan perintah berikut pada event
OnClick dari Menu Transaksi Penjualan Barang.
procedure TFUtama.PenjualanBarang1Click(Sender: TObject);
begin
FPenjualan.Showmodal;
end;

18. Buat juga Laporan Penjualan barang yang akan dipanggil jika kita menekan menu Laporan
Laporan Penjualan.
19. Ulangi perintah langkah-langkah penjualan barang untuk proses pembelian barang. Perbedaannya
kalau penjualan barang mengurangi stock, dan pembelian barang menambah stock.

PEMBUATAN PROGRAM PENJUALAN SEDERHANA - 5

Anda mungkin juga menyukai