Anda di halaman 1dari 43

1

PRATIKUM 1

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Mengetahui dan memahami tentang OOP (Object Oriented Programming)


2. Mengenal Variabel Global dan Variabel Lokal
3. Menghubungakan Unit Antar Form

1. Pengantar
OOP adalah suatu model pemrograman yang berorientasi pada obyek. Maksudnya adalah,
bahwa setiap bagian dari apa yang anda program-visual maupun non visual- adalah sebuah
obyek.
Obyek, dalam konteks ini adalah "sesuatu", bisa dianalogikan dengan benda, yang padanya
melekat attribut-attribut.
Attribut tersebut bisa dikelompokkan ke dalam 2 jenis yaitu kelompok "property" dan
kelompok "method" atau "event".
Untuk memudahkan pemahaman, property dan method bisa dibedakan dengan melihat apakah
dipergunakan kata benda atau kata kerja untuk menyebutkannya. Property selalu dengan
kata benda, sementara method adalah kata kerja.
Misalnya, jika obyeknya adalah manusia, maka contoh property adalah warna kulit,
rambut, tangan, kaki. Sedangkan method-nya adalah berjalan, berlari, bersin, dipukul,
dijitak dan sebagainya.
Dalam bentuk obyek visual dalam pemrograman, contoh yang mudah adalah sebuah
tombol atau button. Warna button, bentuk huruf, ukuran button adalah property.
Sedangkan method dari button antara lain, diklik, di-doubleclick, atau dilewati mouse.
Dalam OOP juga dikenal yang namanya "Event Driven Programming", atau pemrograman
yang berdasarkan kejadian. Berbeda dengan pemrograman struktural yang alur prosesnya
berjalan sequential dan bisa ditelusuri dengan mudah dari source-codenya, maka dalam OOP
pada hakikatnya memprogram adalah mendefiniskan proses apa yang harus dilakukan jika ada
suatu kejadian. Dan memang dalam era visual, cara kerja user bisa terlihat amat acak
(random) jika dibanding era text-based. Orang bisa saja klik di sana-sini, tekan enter, escape,
atau memutar-mutar mouse di layar dan program yang kita buat harus siap dengan semua
event yang bisa terjadi. (sumber : Y Wibisono)

2. Aplikasi dalam Delphi

1. Buat Menu Utama seperti di bawah ini:

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
2

2. Deklerasikan VarGlobal=0 pada Event FormCreate Form Pertama:

3. Rumuskan VarGlobal= VarGlobal +1 pada Event FormCreate Form Kedua:

4. Buat Form Pertama:

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
3

5. Buat Form Kedua:

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
4
6. Buat Form Ketiga:

6. Buat Form Keempat:

7. Pastikan bentuk hirarki projek seperti di bawah ini:

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
5

Tugas !

Buat sebuah program dengan tampilan sebagai berikut :

Ketentuan :
1. Begitu program di Load maka akan tampil Form seperti diatas
2. Jika Tombol “Tampil” ditekan maka akan tampil Form sebagai berikut :

3. Jika tombol “Bersih” ditekan maka tampilan nama dan Alamat serta IPK akan bersih
4. Jika tombol ”Close” ditekan maka form akan tertutup.

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
6

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
7

PRATIKUM 2

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Multi Form


2. Memahami Hubungan Antar Form

Aplikasi dalam Delphi


1. Form Menu Utama

2. Form Barang

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
8

3. Form Diskon

4. Form PPN

5. Form Transaksi

6. Listing Program
procedure TFormTransaksi.FormCreate(Sender: TObject);
begin
Cmbkdbrg1.items.clear;
Cmbkdbrg1.items.append('BRG-01');
Cmbkdbrg1.items.append('BRG-02');
Cmbkdbrg1.items.append('BRG-03');
end;

procedure TFormTransaksi.Cmbkdbrg1Change(Sender: TObject);


begin
If UPPERCASE(cmbkdbrg1.text)='BRG-01' then
begin
nmbrg1.Text:=formbarang.nmbrg1.Text;
satuan1.Text:=formbarang.satuan1.Text;

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
9
unit1.Text:=formbarang.unit1.Text;
harga1.Text:=formbarang.harga1.Text;
end
else
If UPPERCASE(cmbkdbrg1.text)='BRG-02' then
begin
nmbrg1.Text:=formbarang.nmbrg2.Text;
satuan1.Text:=formbarang.satuan2.Text;
unit1.Text:=formbarang.unit2.Text;
harga1.Text:=formbarang.harga2.Text;
end
else
If UPPERCASE(cmbkdbrg1.text)='BRG-03' then
begin
nmbrg1.Text:=formbarang.nmbrg3.Text;
satuan1.Text:=formbarang.satuan3.Text;
unit1.Text:=formbarang.unit3.Text;
harga1.Text:=formbarang.harga3.Text;
end;
jumlah1.SetFocus;
end;

procedure TFormTransaksi.Chkdiskon1Click(Sender: TObject);


Var
total, harga, jumlah, diskon, ppn :single;
kode:integer;

begin
If (UPPERCASE(cmbkdbrg1.text)='BRG-01')and(chkdiskon1.Checked) then
begin
diskon1.Text:=formdiskon.diskon1.Text;
end
else
If (UPPERCASE(cmbkdbrg1.text)='BRG-02')and(chkdiskon1.Checked) then
begin
diskon1.Text:=formdiskon.diskon2.Text;
end
else
If (UPPERCASE(cmbkdbrg1.text)='BRG-03')and(chkdiskon1.Checked) then
begin
diskon1.Text:=formdiskon.diskon3.Text;
end
else
diskon1.Text:='0';

Val(harga1.Text, harga, kode);


Val(jumlah1.Text, jumlah, kode);
Val(diskon1.Text, diskon, kode);
Val(ppn1.Text, ppn, kode);
total:=(harga*jumlah)-(harga*jumlah*diskon/100)+(harga*jumlah*ppn/100);
total1.text:=format('%20.0n',[total]);

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
10
end;

procedure TFormTransaksi.Rdoppn1Click(Sender: TObject);


Var
total, harga, jumlah, diskon, ppn :single;
kode:integer;

begin
If (UPPERCASE(cmbkdbrg1.text)='BRG-01')and(Rdoppn1.Checked) then
begin
ppn1.Text:=formppn.ppn1.Text;
end
else
If (UPPERCASE(cmbkdbrg1.text)='BRG-02')and(Rdoppn1.Checked) then
begin
ppn1.Text:=formppn.ppn2.Text;
end
else
If (UPPERCASE(cmbkdbrg1.text)='BRG-03')and(Rdoppn1.Checked) then
begin
ppn1.Text:=formppn.ppn3.Text;
end
else
ppn1.Text:='0';

Val(harga1.Text, harga, kode);


Val(jumlah1.Text, jumlah, kode);
Val(diskon1.Text, diskon, kode);
Val(ppn1.Text, ppn, kode);
total:=(harga*jumlah)-(harga*jumlah*diskon/100)+(harga*jumlah*ppn/100);
total1.text:=format('%20.0n',[total]);

end;

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
11

TUGAS !
Buat sebuah program dengan ketentuan sebagai berikut :

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
12

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
13

PRATIKUM 3

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Berbasis Database Desktop (Paradox 7)


2. Membuat Relasi Antar Tabel
3. Memfilter Data

Aplikasi dalam Delphi


1. Buat Menu Seperti di bawah ini !!!

2. Buat Form Master Type Rumah

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
14

3. Buat Form Relasi Antar Tabel

4. Buat Form Filter berdasarkan Type Rumah

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
15
procedure TFormFilter.BtnFilterClick(Sender: TObject);
begin
tabelbahan.Filter:=edtyperumah.text;
tabelbahan.Filtered:=true;
end;

5. Project Manager

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
16

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
17

PRATIKUM 4

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Berbasis Database ADO Connection (MS. Access)


2. Membuat Relasi Antar Tabel
3. Report Data

Aplikasi dalam Delphi


1. Buat Menu Seperti di bawah ini !!!

2. Buat Form Master Type Rumah


2.1 Form Data Master

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
18

2.2. Form Tambah Data

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
19
2.3. Form Insert Data

2.4 Form Edit Data

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
20
3. Buat Form Relasi Antar Tabel

4. Buat Report Type Rumah

5. Buat Report Bahan Rumah

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
21
6. Code Program

6.1 Tombol Simpan pada Form Tambah Data


procedure TFormAddRumah.Button1Click(Sender: TObject);
begin
ADOtyperumah.append;
ADOtyperumah['typerumah']:=Edtyperumah.text;
ADOtyperumah['hargarumah']:=StrToFloat(Edhargarumah.text);
ADOtyperumah['luasbangunan']:=Edluasbangunan.text;
ADOtyperumah['luastanah']:=Edluastanah.text;
ADOtyperumah.Post;
end;

6.2 Tombol Simpan pada Form Insert Data


procedure TFormInserttyperumah.Button1Click(Sender: TObject);
begin
ADOtyperumah.insert;
ADOtyperumah['typerumah']:=Edtyperumah.text;
ADOtyperumah['hargarumah']:=StrToFloat(Edhargarumah.text);
ADOtyperumah['luasbangunan']:=Edluasbangunan.text;
ADOtyperumah['luastanah']:=Edluastanah.text;
ADOtyperumah.Post;
end;

6.3 Tombol Delete pada Form Master Type Rumah


procedure TFormtyperumah.Button4Click(Sender: TObject);
begin
ADOtyperumah.Delete;
end;

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
22

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
23

PRATIKUM 5

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Berbasis Database ADO Connection (MS. Access)


2. Relasi Multi Tabel
3. Tabel Master
4. Tabel Transaksi

Aplikasi dalam Delphi


1. Buat Menu Seperti di bawah ini !!!

2. Buat Form Master

2.1 Form Data Master Barang

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
24

2.3 Form Data Master PPn

2.2 Form Data Master Diskon

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
25
3. Form Transaksi Barang

4. Code Program
4.1 Events Form Create
procedure TFormTransaksi.FormCreate(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=false;
DBEdNamaBarang.Enabled:=false;
DBEdSatuan.Enabled:=false;
DBEdStock.Enabled:=false;
DBEdHarga.Enabled:=false;
EdJumlah.Enabled:=false;
DBEdDiskon.Enabled:=false;
DBEdPPN.Enabled:=false;
EdTotalBayar.Enabled:=false;
end;

4.2 Events DBLookupkdbarang Click


procedure TFormTransaksi.DBLookupkdbarangClick(Sender: TObject);
begin
Edjumlah.SetFocus;
end;

4.3 Events EdJumlah Change


procedure TFormTransaksi.EdJumlahChange(Sender: TObject);
MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
26
begin
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdJumlah.Text)*StrToFloat(DBEdharga.text));
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdTotalBayar.Text)-
StrToFloat(EdTotalBayar.Text)*StrToFloat(DBEdDiskon.text)/100);
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdTotalBayar.Text)
+StrToFloat(EdTotalBayar.Text)*StrToFloat(DBEdPPN.text)/100);
EdTotalBayar.Text:=format('%12.0n', [StrToFloat(EdTotalBayar.Text)]);
end;

4.4 Events Tombol Tambah


procedure TFormTransaksi.TambahClick(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=true;
EdJumlah.Enabled:=true;
end;

4.5 Events Tombol Batal


procedure TFormTransaksi.BatalClick(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=false;
EdJumlah.Enabled:=false;
end;

4.6 Events Tombol Simpan


procedure TFormTransaksi.SimpanClick(Sender: TObject);
begin
ADOTtransaksi.append;
ADOTtransaksi['kodebarang']:=DBLookupkdbarang.text;
ADOTtransaksi['jumlah']:=EdJumlah.text;
ADOTtransaksi['diskon']:=DBEdDiskon.text;
ADOTtransaksi['ppn']:=DBEdppn.text;
ADOTtransaksi['totalharga']:=EdTotalBayar.text;
ADOTtransaksi.post;
DBLookupkdbarang.Enabled:=false;
EdJumlah.Enabled:=false;
end;

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
27

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
28

PRATIKUM 6

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Berbasis Database ADO Query (MS. Access)


2. Relasi Multi Tabel
3. Tabel Master
4. Tabel Transaksi

Aplikasi dalam Delphi


1. Buat Menu Seperti di bawah ini !!!

2. Buat Form Master

2.1 Form Data Master Barang

Properties ADOQuery1
Name : ADOQTBarang
SQL : select * from Tbarang order by kodebarang

2.2 Form Data Master Diskon


MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
29
2.3 Form Data Master PPn

Properties ADOQuery1
Name : ADOQTDiskon Properties ADOQuery1
SQL : select * from TDiskon order Name : ADOQTPPn
by kodebarang SQL : select * from TPPn order by
kodebarang

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
30

3. Form Transaksi Barang

Properties ADOQuery1
Name : ADOQTBarang
SQL : select * from Tbarang order by kodebarang

Properties ADOQuery2
Name : ADOQTDiskon
SQL : select * from Tdiskon,Tbarang
where Tdiskon.kodebarang=Tbarang.kodebarang
Properties ADOQuery3
Name : ADOQTDiskon
SQL : select * from TPPn,Tbarang
where TPPn.kodebarang=Tbarang.kodebarang
Properties ADOQuery4
Name : ADOQTTransaksi
SQL : select * from Ttransaksi order by kodebarang

4. Code Program
4.1 Events Form Create
procedure TFormTransaksi.FormCreate(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=false;
DBEdNamaBarang.Enabled:=false;
DBEdSatuan.Enabled:=false;
DBEdStock.Enabled:=false;
DBEdHarga.Enabled:=false;
EdJumlah.Enabled:=false;
DBEdDiskon.Enabled:=false;
DBEdPPN.Enabled:=false;
EdTotalBayar.Enabled:=false;
end;

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
31
4.2 Events DBLookupkdbarang Click
procedure TFormTransaksi.DBLookupkdbarangClick(Sender: TObject);
begin
ADOQTDiskon.SQL.Text:='select * from tdiskon where
kodebarang='+QuotedStr(dblookupkdbarang.Text);
ADOQTDiskon.Open;
ADOQTPPn.SQL.Text:='select * from tppn where
kodebarang='+QuotedStr(dblookupkdbarang.Text);
ADOQTPPn.Open;
Edjumlah.SetFocus;
end;

4.3 Events EdJumlah Change


procedure TFormTransaksi.EdJumlahChange(Sender: TObject);
begin
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdJumlah.Text)*StrToFloat(DBEdharga.text));
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdTotalBayar.Text)-
StrToFloat(EdTotalBayar.Text)*StrToFloat(DBEdDiskon.text)/100);
EdTotalBayar.Text:=FloatToStr(StrToFloat(EdTotalBayar.Text)
+StrToFloat(EdTotalBayar.Text)*StrToFloat(DBEdPPN.text)/100);
EdTotalBayar.Text:=format('%12.0n', [StrToFloat(EdTotalBayar.Text)]);
end;

4.4 Events Tombol Tambah


procedure TFormTransaksi.TambahClick(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=true;
EdJumlah.Enabled:=true;
end;

4.5 Events Tombol Batal


procedure TFormTransaksi.BatalClick(Sender: TObject);
begin
DBLookupkdbarang.Enabled:=false;
EdJumlah.Enabled:=false;
end;

4.6 Events Tombol Simpan


procedure TFormTransaksi.SimpanClick(Sender: TObject);
begin
ADOQTtransaksi.append;
ADOQTtransaksi['kodebarang']:=DBLookupkdbarang.text;
ADOQTtransaksi['jumlah']:=EdJumlah.text;
ADOQTtransaksi['diskon']:=DBEdDiskon.text;
ADOQTtransaksi['ppn']:=DBEdppn.text;
ADOQTtransaksi['totalharga']:=EdTotalBayar.text;
ADOQTtransaksi.post;
DBLookupkdbarang.Enabled:=false;
MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
32
EdJumlah.Enabled:=false;
end;

5. Project Manager

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
33

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
34

PRATIKUM 7

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Aplikasi Berbasis ADOTable & ADOQuery (MS. Access)


2. Form Halaman
3. Gambar

Aplikasi dalam Delphi


1. Buat Menu Seperti di bawah ini !!!

2. Buat Form Master


2.1 Form Data Master Pelanggan

3. Form Transaksi Penjualan

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
35

3.1.Tab Input Data

3.2.Tab Browse Data

4. Code Program
procedure TForm_Transaksi.DBLookupkdpelangganClick(Sender: TObject);
begin
ADOQTPenjualan.SQL.Text:='select * from tbl_Penjualan where
no_pelanggan='+QuotedStr(dblookupkdpelanggan.Text);
ADOQTPenjualan.Open;
end;

procedure TForm_Transaksi.bitbtn_loadphotoClick(Sender: TObject);


begin
if openpicturedialog1.Execute then
begin
MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
36
adoqtpenjualan.Edit;
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
end;

5. Project Manager

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
37

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
38

PRATIKUM 8

PEMROGRAMAN LANJUT dengan Delphi

Tujuan : 1. Membuat Form Animasi


2. Modifikasi StringGrid dengan ComboBox

Aplikasi dalam Delphi


1. Buat Form Menu Seperti di bawah ini !!!

2. Buat Form Elips

3.Coding Program:
3.1.Form Menu
procedure Tform_menu.FormCreate(Sender: TObject);
begin
AnimateWindow(Self.Handle,999,AW_HOR_POSITIVE or AW_ACTIVATE);
end;

procedure Tform_menu.FormElips1Click(Sender: TObject);


begin
Form_Elips.Show;
end;

procedure Tform_menu.BackGroud1Click(Sender: TObject);


begin
if openpicturedialog1.Execute then
begin
MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
39
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
image1.Stretch:=true;
end;
end;
procedure Tform_menu.Exit1Click(Sender: TObject);
begin
If MessageDlg('Anda Yakin mau Menutup Aplikasi?',mtConfirmation, [mbYes, mbNo], 0) =
mrYes then
application.Terminate;
end;

3.2.Form Elips
procedure TForm_Elips.FormCreate(Sender: TObject);
begin
//code untuk animasi form
Setwindowrgn(form_elips.handle, CreateEllipticrgn(0,0, width, height), true);
horzscrollbar.Visible:=false;
vertscrollbar.Visible:=false;
//code untuk stringgrid
StringGrid1.DefaultRowHeight:=ComboBox1.Height;
//isi combobox
combobox1.Items.Clear;
combobox1.Items.Add('01');
combobox1.Items.Add('02');
combobox1.Items.Add('03');
combobox1.Items.Add('04');
combobox1.Items.Add('05');
combobox1.Items.Add('06');
combobox1.Items.Add('07');
combobox1.Items.Add('08');
combobox1.Items.Add('09');
combobox1.Items.Add('10');
end;

procedure TForm_Elips.Btn_BackGroundClick(Sender: TObject);


begin
if openpicturedialog1.Execute then
begin
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
image1.Stretch:=true;
end;
end;

procedure TForm_Elips.StringGrid1DrawCell (sender:TObject;ACol, ARow:Integer;


Rect:Trect; State:TGridDrawState);
Var R:TRect;
Begin
If (ACol>=StringGrid1.FixedCols) and (ARow>=StringGrid1.FixedRows)
And (gdFocused in State) then
With ComboBox1 do
Begin
MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
40
BringToFront;
CopyRect(R, Rect);
R.TopLeft:=Form_Elips.ScreenToClient(StringGrid1.ClientToScreen(R.TopLeft));
R.BottomRight:=Form_Elips.ScreenToClient
(StringGrid1.ClientToScreen(R.BottomRight));
SetBounds(R.Left, R.Top, R.Right-R.Left, R.Bottom-R.top);
End;
End;

procedure TForm_Elips.StringGrid1TopLeftChanged (sender:TObject);


Var R:TRect;
Begin
With StringGrid1 do
CopyRect(R, CellRect(Col, Row));

With ComboBox1 do
Begin
Visible:=False;
R.TopLeft:=Form_Elips.ScreenToClient(StringGrid1.ClientToScreen(R.TopLeft));
R.BottomRight:=Form_Elips.ScreenToClient
(StringGrid1.ClientToScreen(R.BottomRight));
SetBounds(R.Left, R.Top, R.Right-R.Left, R.Bottom-R.top);
End;

With StringGrid1 do
If (TopRow<=Row) and (TopRow+VisibleRowCount>Row) then Combobox1.Show;
End;

procedure TForm_Elips.ComboBox1Change(Sender: TObject);


begin
With StringGrid1 do
Cells[Col,Row]:=ComboBox1.Text;
end;

4. Project Manager

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
41

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
42

PEMROGRAMAN LANJUT dengan Delphi

MENGERJAKAN TUGAS dan PRESENTASI…..!


MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)
Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011
43

MODUL PRATIKUM PEMROGRAMAN LANJUT (DELPHI 7.0)


Universitas Nusantara PGRI (UNP) Kediri Thn 2010 - 2011