Modul Praktikum Delphi II (1)

77
1 MODUL PRAKTIKUM PEMROGRAMAN VISUAL LANJUT BORLAND DELPHI 7.0 Laboratorium Komputer Teknik Informatika Fakultas Teknik

Transcript of Modul Praktikum Delphi II (1)

Page 1: Modul Praktikum Delphi II (1)

1

MODUL PRAKTIKUMPEMROGRAMAN VISUAL LANJUT

BORLAND DELPHI 7.0

Laboratorium Komputer Teknik InformatikaFakultas Teknik

Universitas SuryakancanaCianjur2011

Page 2: Modul Praktikum Delphi II (1)

2

Daftar Isi

1. Daftar Isi …………………………………………………………………………….. i2. Pedoman Penulisan Laporan …………………………………………………… ii3. Contoh Cover Laporan ………………………………………………………….. iii4. Contoh Lembar Pengesahan Asisten ………………………………………. iv5. Latihan 1 …………………………………………………………………………….. 16. Latihan 2 ……………………………………………………………………………… 77. Latihan 3 ……………………………………………………………………………… 138. Latihan 4 ……………………………………………………………………………… 199. Latihan 5 ……………………………………………………………………………… 25

10.

Page 3: Modul Praktikum Delphi II (1)

3

Pedoman PelaporanPetunjuk Pembuatan Laporan dengan menggunakan Font Tahoma 16 untuk Judul dan Tahoma 11 untuk isi, dan Line Spasi 1,5. Ukuran Kertas A4 dengan Margin Kiri 4 cm, Atas 2,5cm, Kanan 2,5cm, dan Bawah 2,5cm.Jilid menggunakan Softcover warna Biru untuk Laporan I, dan Hijau Laporan II.Laporan untuk setiap Latihan berisi :

1. PendahuluanMengenai Latihan Tujuan dan Manfaatnya

2. TeoriTeori Pendukung terhadap Latihan

3. Hasil Pengamatan Perintah Program & Jalannya ProgramMelaporkan pengamatan langkah dan perintah program, serta jalannya program

4. PengujianPengujian terhadap program dengan menyebutkan kekurangan dan kelebihan program yang dibuat

5. KesimpulanKesimpulan yang dapat diambil dari setiap latihan

Laporan Dibuat Perorang dan diserahkan kepada Asisten sebanyak 2 (dua) kali penyerahan yaitu pada latihan ke-6 untuk laporan 1 sampai dengan 5, dan pada saat ujian untuk latihan 6 sampai dengan 10. Laporan Gabungan Terdiri dari :Untuk Laporan I1. Cover2. Pengesahan Asisten3. Daftar Isi4. Latihan15. Latihan26. Latihan37. Latihan48. Latihan59. Latihan610.Latihan711.Latihan812.Latihan913.Latihan1014.Daftar Pustaka

Page 4: Modul Praktikum Delphi II (1)

4

LAPORAN PRAKTIKUMPEMROGRAMAN VISUAL

BORLAND DELPHI

LAPORAN IDiajukan Sebagai Persyaratan Kelulusan Praktikum Pemrograman Visual

Di Laboratorium Komputer Teknik Informatika Fakultas TeknikUniversitas Suryakancana Cianjur

Di susun OlehNamaNPM

Kelompok PraktikumKelas

Pemrograman VisualLaboratorium Komputer Teknik Informatika

Fakultas Teknik Universitas Suryakancana

Cianjur20XX

Page 5: Modul Praktikum Delphi II (1)

5

Lembar Pengesahan AsistenLaporan I Praktikum Pemrograman Visual

NPM :Nama :Kelompok :Kelas : ProViL-…. /Diterima Tgl : …. …………………………. 20….

Telah Disetujui Oleh Asisten

No DeskripsiSkala Kesesuaia

1 - 1001 Format Penulisan2 Kesesuai Urutan/Isi Laporan3 Kehadiran4 Ketepatan Waktu

Disetujui Cianjur, ………………………. 2010Asisten I Asisten II

( Nama Asisten I ) ( Nama Asisten II)

Page 6: Modul Praktikum Delphi II (1)

6

Latihan 1 Perancangan Database BDE

Tujuan :1. Mahasiswa memahami tahapan perancangan database dengan BDE2. Mahasiswa memahami bagaimana membuat tabel dengan Database Desktop3. Mahasiswa memahami bagaimana pengalokasian file dan alias database

Perancangan Database BDEDalam perancangan program dengan menggunakan BDE (Borland Database Enginee) dilakukan tahapan-tahapan sebagai berikut :

1. Pengalokasian Lokasi data dengan menentukan Directory atau Folder dimana kita akan menyimpan file data atau tabel yang akan dibuat dan digunakan dalam program dengan menggunakan SQLExplorer yang telah disediakan oleh Delphi 7.0

2. Pembuatan struktur tabel dan pengaturan field atau tata pengisian fieldnya dengan menentukan type, format, dan ketentuan lainnya dengan menggunakan Database Desktop yang disediakan oleh Delphi 7.0

3. Merancang program pengolahan database

Langkah Praktikum 1 :1. Gunakan Windows Explorer untuk membuat Folder atau Directory untuk

menampung file tabel yang digunakan dalam program, misalkan di E:\FT UNSUR\ProViL\Propustaka (Untuk Praktikum buat Folder berdasarkan Kelas dan Nama misalkan D\IFA-UdinSedunia\)

2. Selanjutnya membuat Alias dengan menggunakan SQLExplorer, untuk membuat alias dengan SQLExplorer ada 2 (dua) cara, yaitu dengan menggunakan shotcut SQL Explorer pada Folder Borland Delphi 7.0, atau apabila sudah memanggil Delphi 7.0 bisa menggunakan menu utama Delphi Database | Explorer

Maka akan muncul :

Page 7: Modul Praktikum Delphi II (1)

7

3. Click Kanan kemudian New atau pilih Menu Object | New atau dengan menekan tombol Ctrl+N maka akan muncul tampilan berikut :

4. Pilih driver database yang akan digunakan, untuk latihan 1 pilih Standard yang artinya memilih driver database untuk jenis Paradox 7.0, Driver database lain bisa dipilih dengan menggunakan combobox yang akan menampilkan daftar Driver Database. Setelah dipilih tekan tombol OK, apabila muncul tampilan seperti berikut :

dimana muncul warna merah terjadi kegagalan pada SQLExplorer,maka pilih menu Object | Cancel | Exit, dan untuk mengantisipasinya maka pilih pada Windows Start | Programs | Borland Delhi 7.0 | SQL Explorer dan lakukan langkah 3 dan 4

5. Tulisan Standard1 ganti dengan nama database yang akan digunakan sebagai alias misalnya kita akan mengganti dengan Perpustakaan

Page 8: Modul Praktikum Delphi II (1)

8

6. Kemudian Pilih Path

Kemudian pilih Folder :

Selanjutnya klik OK

Page 9: Modul Praktikum Delphi II (1)

9

Pilih menu Object | Exit maka muncul pesan berikut :

Tekan tombol Yes, maka langkah untuk membuat Alias telah selesai7. Membuat Tabel dengan menggunakan database desktop, ada 2 (dua) cara,

pertama melalui shortcut Database Desktop yang berada pada folder Borland Delphi 7.0, dan cara kedua melalui menu utama Borland Delphi 7.0 yaitu Tools | Database Desktop, sehingga muncul tampilan berikut :

Selanjutnya pilih menu File | New | Table, sehingga muncul tampilan berikut :

Page 10: Modul Praktikum Delphi II (1)

10

Pilihan type data ke Paradox 7 sebagai standar format database yang akan digunakan, selanjutnya buat struktur Tabel sebagai berikut :

Apabila telah selesai membuat struktur tabelnya, klik simpan dan beri nama “Anggota”Selanjutnya klik tombol edit (dilingkari) kemudian isikan data sebanyak 10 data seperti contoh dibawah ini :

8. Setelah selesai membuat tabel Anggota, maka kita buat tabel JenisPustaka dengan cara pilih menu File | New | Table dan buat strukturnya seperti berikut :

Page 11: Modul Praktikum Delphi II (1)

11

Simpan tabelnya dengan nama “JenisPustaka” kemudian isikan sekitar 10 record dengan menekan tombol edit data (dilingkari)

9. Selanjutnya buat struktur tabel “Penerbit” seperti berikut :

Page 12: Modul Praktikum Delphi II (1)

12

Simpan dengan Nama “Penerbit” dan isikan data minimal 10 record seperti berikut :

10.Selanjutnya buat struktur tabel untuk “buku”

Page 13: Modul Praktikum Delphi II (1)

13

11.Untuk field Status Default Valuenya isi dengan “A” dan selanjutnya entry datanya sebanyak 10 Record seperti tampilan berikut :

12.Buat struktur tabel User sebagai berikut :

Page 14: Modul Praktikum Delphi II (1)

14

Simpan dengan nama User.db, selanjutnya isi minimal 10 record :

Page 15: Modul Praktikum Delphi II (1)

15

Latihan 2Data Module dan Tabel BDE

Tujuan :1. Membuat dan Memahami penggunaan Data Module2. Memahami pengolahan data pada tabel dengan perintah dalam komponen

ActionList dan dbNavigator3. Memahami pengolahan data pada tabel dengan perintah langsung

Pengolahan database pada Borland Delphi 7 digambarkan seperti berikut :

UI adalah User Interface atau Form yang dirancang sebagai antar muka yang pada Delphi 7.0 menggunakan komponen Visual dimana komponen tersebut berfungsi untuk menampilkan data dari data yang disimpan dalam file atau database yang dibaca dengan perantara Data Module.Data Module terdiri dari komponen non Visual yang digunakan sebagai koneksi media dimana berfungsi untuk menghubungkan hasil pembacaan data dari file atau database dengan koneksi data dan Koneksi File yang digunakan untuk membaca data dari file atau table. Koneksi yang disediakan oleh Borland Delphi 7.0 diantaranya :

a. Borland Database Engineb. Ado dengan ODBC Windowsc. Interbased. dbExpress

Berikut tabel yang menggambarkan konfigurasi komponen Delphi 7.0 untuk pengolahan database.

Koneksi File Koneksi Media Koneksi Visual

BDE :Table

- DatabaseName- TableName- Active

Data Access :DataSource- DataSet

DataControl :Komponen Visual

- DataSource- Data Field

ADOAdoConnection

- ConnectionString- LoginPrompt

AdoTable- Connection- TableName- Active

InterBase

Page 16: Modul Praktikum Delphi II (1)

16

Langkah praktikum :1. Masuk Menu Utama Delphi 7.0 pilih File | New | Data Module

2. Kemudian ganti Nama DataModule2 menjadi DM untuk mempersingkat :3. Selanjutnya pasang pada Data Module 5 table dari komponen palette BDE dan 5

datasource dari komponen palette Data Access

4. Konfigurasikan/setting untuk setiap table pada propertiesnya untuk Name, DatabaseName, dan TableName, sebagai berikut :Table\Properties

Name Database Name

Table Name Active

Table1 User Perpustakaan User.db TrueTable2 Anggota Perpustakaan Anggota.db TrueTable3 Buku Perpustakaan Buku.db TrueTable4 JenisPusta

kaPerpustakaan JenisPustaka.

dbTrue

Table5 Penerbit Perpustakaan Penerbit.db True

Page 17: Modul Praktikum Delphi II (1)

17

5. Sedangkan untuk datasource-nya konfigurasi/setting propertiesnya sebagai berikut :Datasource\Properties

Name Dataset

Datasource1 dsUser UserDatasource2 dsAnggota AnggotaDatasource3 dsBuku BukuDatasource4 dsJenisPusta

kaJenisPustaka

Datasource5 dsPenerbit Penerbit

6. Selanjutnya simpan dengan pilih menu utama Delphi : File | Save : DataModul.pas atau Ctrl+S DataModul.pas

7. Pindah ke Form1, ganti properties a. Name : FUserAdmin b. Caption : “.:Pengelolaan User :.”c. Position : poScreenCenter

8. Design Tampilan berikut :

Page 18: Modul Praktikum Delphi II (1)

18

Page 19: Modul Praktikum Delphi II (1)

19

9. Selanjutnya tekan F-12, kemudian cari kata ketik : Uses DataModul;

10.Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut :

KomponenProperties

Nilai

dbEdit1

DataSource

DM.dsUser

DataFieldUserName

dbEdit2DataSource

DM.dsUser

DataField Password

dbComboBox1

DataSource

DM.dsUser

DataField Akses

ItemsOA

dbNavigatorDataSource

DM.dsUser

dbGridDataSource

DM.dsUser

Button1 Caption &TutupSehingga tampilan form tampak seperti berikut :

Page 20: Modul Praktikum Delphi II (1)

20

11.Double Klik tombol Tutup dan ketikan:procedure TFUserAdmin.Button1Click(Sender: TObject);begin Close;end;

12.Simpan dengan Nama : Fuser.pas13.Run Program dengan menekan F-9 untuk mengguji program14.Tambahkan data sekitar 5 record15.Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut :

a. Name : FAnggotaPerpustakaan b. Caption : “.:Pengelolaan Anggota :.”c. Position : poScreenCenter

16.Design Tampilan berikut :

Page 21: Modul Praktikum Delphi II (1)

21

17.Tekan tekan F-12, kemudian cari kata ketik : Uses DataModul;

18.Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form19.Untuk ActionList1 buat action standar dari

a. TOpenPicture Caption Buka File Foto

b. TDataSetInsertCaption &TambahDatasource DM.dsAnggota

c. TDataSetEditCaption &EditDatasource DM.dsAnggota

d. TDataSetDeleteCaption &DeleteDatasource DM.dsAnggota

Page 22: Modul Praktikum Delphi II (1)

22

e. TDataSetPostCaption &SimpanDatasource DM.dsAnggota

f. TDataSetCancelCaption &BatalDatasource DM.dsAnggota

Page 23: Modul Praktikum Delphi II (1)

23

20.Konfigurasi/setting dari properties komponen adalah :Komponen Properties Nilai

Panel1 Caption<Kosongkan>

Panel2 Caption<Kosongkan>

dbEdit1DataSource

DM.dsAnggota

DataField NoAnggota

dbEdit2DataSource

DM.dsAnggota

DataField Nama

dbComboBox1

DataSource

DM.dsAnggota

DataField Prodi

ItemsINFORMATIKAINDUSTRISIPIL

dbMemo1DataSource

DM.dsAnggota

DataField Alamat

dbImage1DataSource

DM.dsAnggota

DataField Foto

dbNavigator1

DataSource

DM.dsAnggota

VisibelButton+nbInsert False+nbEdit False+ndDelete False+nbPost False+nbCancel False

Button1 ActionDataSetInsert1

Button2 Action DataSetEdit1

Button3 ActionDataSetDelete1

Button4 Action DataSetPost1

Button5 ActionDataSetCancel1

Button6 Caption &TutupButton7 Action OpenPicture1Button8 Caption &KameraMaka hasilnya adalah sebagai berikut :

Page 24: Modul Praktikum Delphi II (1)

24

Simpan kedalam file dengan nama : FAnggota.pas21.Jadikan FAnggota menjadi Form Utama22.Run Program untuk menguji program23.Tambahkan data sekitar 5 record24.Simpan Project : Perpustakaan.dpr

Page 25: Modul Praktikum Delphi II (1)

25

Latihan 3Pengelolaan Data BDE (Lanjutan)

Tujuan :1. Memahami pengolahan data pada tabel dengan perintah langsung

1. Buka File Project perpustakaan.dpr2. Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut :

a. Name : FJenisPustakab. Caption : “.:Pengelolaan Jenis Pustaka :.”c. Position : poScreenCenter

3. Design Tampilan berikut :

4. Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses DataModul;

Page 26: Modul Praktikum Delphi II (1)

26

5. Selanjutnya tambahkan “db” pada :

6. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut :Komponen

Properties

Nilai

Panel1 Caption<Kosongkan>

Panel2 Caption<Kosongkan>

Edit1 Text<Kosongkan>

Edit2 Text<Kosongkan>

Button1 Caption Ke AwalButton2 Caption BerikutButton3 Caption SebelumButton4 Caption Ke AkhirButton5 Caption &TambahButton6 Caption &EditButton7 Caption &HapusButton8 Caption &SimpanButton9 Caption &BatalButton10 Caption &Tutup

Sehingga tampilan sebagai berikut :

Page 27: Modul Praktikum Delphi II (1)

27

7. Form onActive ketik perintah berikut :procedure TFJenisPustaka.FormActivate(Sender: TObject);begin Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString;end;

8. Double Klik Tombol “Ke Awal”, ketik perintah berikut :procedure TFJenisPustaka.Button1Click(Sender: TObject);begin DM.JenisPustaka.First; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button1.Enabled := False; Button3.Enabled := False; Button2.Enabled := True; Button4.Enabled := True;end;

9. Double Klik Tombol “Berikut” , ketik perintah berikut :procedure TFJenisPustaka.Button2Click(Sender: TObject);begin DM.JenisPustaka.Next; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button1.Enabled := True; Button3.Enabled := True; Button2.Enabled := True; Button4.Enabled := True; If DM.JenisPustaka.Eof Then Button4.Enabled := False;end;

10.Double Klik Tombol “Sebelum” , ketik perintah berikut :procedure TFJenisPustaka.Button3Click(Sender: TObject);begin DM.JenisPustaka.Prior; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString;

Page 28: Modul Praktikum Delphi II (1)

28

Button1.Enabled := True; Button3.Enabled := True; Button2.Enabled := True; Button4.Enabled := True; If DM.JenisPustaka.Bof Then Button1.Enabled := False;end;

Page 29: Modul Praktikum Delphi II (1)

29

11.Double Klik Tombol “Ke Akhir” , ketik perintah berikut :procedure TFJenisPustaka.Button4Click(Sender: TObject);begin DM.JenisPustaka.Last; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString; Button2.Enabled := False; Button4.Enabled := False; Button1.Enabled := True; Button3.Enabled := True;end;

12.Double Klik Tombol “Tambah” , ketik perintah berikut :procedure TFJenisPustaka.Button5Click(Sender: TObject);begin Button5.Enabled := False; Button6.Enabled := False; Button7.Enabled := False; Button8.Enabled := True; Button9.Enabled := True; DM.JenisPustaka.Append;end;

13.Double Klik Tombol “Edit” , ketik perintah berikut :procedure TFJenisPustaka.Button6Click(Sender: TObject);begin Button5.Enabled := False; Button6.Enabled := False; Button7.Enabled := False; Button8.Enabled := True; Button9.Enabled := True; DM.JenisPustaka.Edit;end;

14.Double Klik Tombol “Hapus” , ketik perintah berikut :procedure TFJenisPustaka.Button7Click(Sender: TObject);begin If MessageDlg('Apakah Yakin Akan Menghapus ?',mtConfirmation,[mbYes,MbNo],0) = MrYes Then DM.JenisPustaka.Delete; Edit1.Text := DM.JenisPustaka.Fields[0].AsString; Edit2.Text := DM.JenisPustaka.Fields[1].AsString;end;

Page 30: Modul Praktikum Delphi II (1)

30

15.Double Klik Tombol “Simpan” , ketik perintah berikut :procedure TFJenisPustaka.Button8Click(Sender: TObject);begin Button5.Enabled := True; Button6.Enabled := True; Button7.Enabled := True; Button8.Enabled := False; Button9.Enabled := False; If (DM.JenisPustaka.State = dsInsert) or (DM.JenisPustaka.State = dsEdit) Then Begin DM.JenisPustaka.Fields[0].AsString := Edit1.Text; DM.JenisPustaka.Fields[2].AsString := Edit2.Text; DM.JenisPustaka.Post; End;end;

16.Double Klik Tombol “Batal” , ketik perintah berikut :procedure TFJenisPustaka.Button9Click(Sender: TObject);begin Button5.Enabled := True; Button6.Enabled := True; Button7.Enabled := True; Button8.Enabled := False; Button9.Enabled := False; DM.JenisPustaka.Cancel;end;

17.Double Klik Tombol “Tutup” , ketik perintah berikut :procedure TFJenisPustaka.Button10Click(Sender: TObject);begin Close;end;

Simpan kedalam file dengan nama : FKodeJenisPustaka.pas18.Jadikan FJenisPustaka menjadi Form Utama19.Run Program untuk menguji program20.Tambahkan data sekitar 5 record

Page 31: Modul Praktikum Delphi II (1)

31

21.Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut :a. Name : FPenerbitb. Caption : “.:Pengelolaan Penerbit:.”c. Position : poScreenCenter

22.Design Tampilan berikut :

23.Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses DataModul;

Page 32: Modul Praktikum Delphi II (1)

32

24.Pilih ActionList dan tentukan action :

25.Pilih Oke26.Konfigurasi semua datasource dari ActionList1 menjadi : DM.dsPenerbit

a. TDataSetInsertCaption &TambahDatasource DM.dsPenerbit

b. TDataSetEditCaption &EditDatasource DM.dsPenerbit

c. TDataSetDeleteCaption &DeleteDatasource DM.dsPenerbit

d. TDataSetPostCaption &SimpanDatasource DM.dsPenerbit

e. TDataSetCancelCaption &BatalDatasource DM.dsPenerbit

27.Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut :Komponen

Properties

Nilai

Panel1 Caption<Kosongkan>

Panel2 Caption<Kosongkan>

Edit1 Text<Kosongkan>

Edit2 Text <Kosongkan

Page 33: Modul Praktikum Delphi II (1)

33

>Button1 Caption Awal

Action DataSet1FirstButton2 Caption Berikut

ActionDataSet1Next

Button3 Caption Sebelum

ActionDataSet1Prior

Button4 Caption Ke AkhirAction DataSet1Last

Button5 Caption &Tambah

ActionDataSet1Insert

Button6 Caption &EditAction DataSet1Edit

Button7 Caption &Hapus

ActionDataSet1Delete

Button8 Caption &SimpanAction DataSet1Post

Button9 Caption &Batal

ActionDataSet1Cancel

Button10 Caption &Tutup28.Klik Tombol “Tutup” dan ketik program :

procedure TFPenerbit.Button6Click(Sender: TObject);begin Close;end;

Simpan kedalam file dengan nama : FPenerbitan.pas29.Jadikan FPenerbit menjadi Form Utama30.Simpan Project31.Run Program untuk menguji program32.Tambahkan data sekitar 5 record

Page 34: Modul Praktikum Delphi II (1)

34

Latihan 4Pengelolaan Record dan Field Tabel BDE

Tujuan :1. Pengelolaan LookUp2. Pencarian3. Filterisasi

1. Buka File Project perpustakaan.dpr2. Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut :

a. Name : FOlahBukub. Caption : “.:Pengelolaan Buku Pustaka :.”c. Position : poScreenCenter

3. Pasang PageControl dari komponen Palette Win32, buat 2 halaman dan berinama masing-masing “Data Buku” dan “Daftar Buku”, caranya a. PageControl diklikb. Klik Kananc. New Page 2x

4. Design Tampilan berikut :

Dan untuk tabsheet2nya seperti tampilan berikut

Page 35: Modul Praktikum Delphi II (1)

35

5. Tambahkan komponen “OpenPictureDialog1” dari komponen Palette “Dialog”6. Selanjutnya tekan F-12, kemudian cari kata implementation dan ketik : Uses

DataModul;

Page 36: Modul Praktikum Delphi II (1)

36

7. Konfigurasi ActionList1

8. Konfigurasi semua datasource dari ActionList1 menjadi : DM.dsBuku

a. TDataSetInsertCaption &TambahDatasource DM.dsBuku

b. TDataSetEditCaption &EditDatasource DM.dsBuku

c. TDataSetDeleteCaption &DeleteDatasource DM.dsBuku

d. TDataSetPostCaption &SimpanDatasource DM.dsBuku

e. TDataSetCancelCaption &BatalDatasource DM.dsBuku

9. Selanjutnya tekan kembali F-12 untuk kembali ke perancangan Form, dengan mengatur properties dari komponen berikut :Komponen Properties Nilai

PageControl<Buat 2 Tabsheet>

TabSheet1 Caption Data Buku

dbEdit1DataSource

DM.dsBuku

Field KodeJenisdbEdit2 DataSourc

eDM.dsBuku

Page 37: Modul Praktikum Delphi II (1)

37

Field Judul

dbLooKUpComboBox1

DataSource

DM.dsBuku

Field KodeJenis

ListSourceDM.dsJenisPustaka

ListField JenisPustakaKeyField KodeJenis

dbEdit3DataSource

DM.dsBuku

Field Edisi

dbEdit4DataSource

DM.dsBuku

Field TahunTerbit

dbLooKUpComboBox2

DataSource

DM.dsBuku

Field PenerbitListSource DM.dsPenerbitListField PenerbitKeyField KodePenerbit

dbMemo1DataSource

DM.dsBuku

Field Sumber

dbImage1DataSource

DM.dsBuku

Field Sampul

dbNavigator1

DataSource

DM.dsBuku

VisibelButton+nbInsert False+nbEdit False+ndDelete False+nbPost False+nbCancel False

Button1 Caption &Baru

Button2Caption &Ambil GambarAction OpenPicture1

Button3 Caption &Kamera

Button4Caption &TambahAction DataSet1Insert

Button5Caption &EditAction DataSet1Edit

Button6Caption &HapusAction DataSet1Delete

Button7Caption &SimpanAction DataSet1Post

Button8Caption &BatalAction DataSet1Cancel

Page 38: Modul Praktikum Delphi II (1)

38

Tabsheet2 Caption Daftar Buku

dbControlGrid1Datasource

DM.dsBuku

dbText1 Field KodeBukudbText2 Field Judul

dbText3Field EdisiAligment taRightJustify

dbText4 Field TahundbText5 Field PenulisdbImage1 Field SampulButton9 Caption &Tutup

Sehingga tampilan sebagai berikut

Dan

Page 39: Modul Praktikum Delphi II (1)

39

10.Double klik tombol “Baru” dan ketik program :procedure TFOlahBuku.Button1Click(Sender: TObject);begin FPenerbit.ShowModal;end;

11.Double klik tombol “Tutup” dan ketik program :procedure TFOlahBuku.Button9Click(Sender: TObject);begin Close;end;

12.Simpan File dengan nama : FBuku.pas13.Run dan Tambahkan 5 record14.Buat LookUp Field dengan cara masuk ke DataModule (Shift+F12) pilih DM

Page 40: Modul Praktikum Delphi II (1)

40

15.Pilih Buku kemudian klik kanan akan muncul PopUp Menu dan pilih “Field Editor”

16.Lalu tekan Ctrl+F

17.Untuk membuat Field Bayangan untuk LookUp tekan Ctrl+N, maka akan muncul

Field Bayangan “Jenis” untuk type “LookUp”

Page 41: Modul Praktikum Delphi II (1)

41

18.Selanjutnya buat Field LookUp untuk “NamaPenerbit”

19.Untuk menampilkan Field LookUp tersebut, kembali ke Form FOlahBuku dengan

cara tekan Shift+F12 lalu pilih FOlahBuku, selanjutnya tambahkan design pada Tabsheet2 seperti pada design :

20.Konfigurasi untuk komponenKomponen

Properties

Nilai

dbText6 Field Jenis

dbText7 FieldNamaPenerbit

21.Hasilnya akan tampak :

Page 42: Modul Praktikum Delphi II (1)

42

22.Pasang Tombol “Cari No Buku” seperti design berikut

Page 43: Modul Praktikum Delphi II (1)

43

23.Double Klik Tombol “Cari No Buku” dan ketikan program berikut :procedure TFOlahBuku.Button10Click(Sender: TObject);Var Cari : String;begin Cari := InputBox('Pencarian No.Buku','No.Buku',''); If Cari = ' ' Then MessageDlg('Isilah No.Buku Yang Dicari',mtError,[mbOk],0) Else If DM.Buku.FindKey([Cari]) Then MessageDlg('Data Ditemukan',mtConfirmation,[mbOk],0) Else MessageDlg('Maaf Data Tidak Ditemukan',mtConfirmation,[mbOk],0)end;

24.Untuk melakukan pencarian dengan Field yang ditentukan design tampilan berikut :

Page 44: Modul Praktikum Delphi II (1)

44

25.Konfigurasi Komponen sebagai berikut :Komponen

Properties

Nilai

ComboBox1

Items

JudulSumberEdisiTahun

ItemIndex

0

Edit1 Text<Kosongkan>

Button11 Caption Cari26.Tuliskan Library “db” pada Uses, gunanya agar mengenal KeyWord

“LoPartialKey”

Page 45: Modul Praktikum Delphi II (1)

45

27.Double klik tombol “Cari” dan ketikan program sebagai berikut :procedure TFOlahBuku.Button11Click(Sender: TObject);begin If Edit1.Text = ' ' Then MessageDlg('Isi '+ComboBox1.Text+'Yang Dicari',mtError,[mbOk],0) Else If DM.Buku.Locate(ComboBox1.Text,Edit1.Text,[LoPartialKey]) Then MessageDlg('Data '+ComboBox1.Text+' '+Edit1.Text+'Ditemukan',mtConfirmation,[mbOk],0) Else MessageDlg('Maaf Data '+ComboBox1.Text+' '+Edit1.Text+' Tidak Ditemukan',mtConfirmation,[mbOk],0)end;

28.Untuk Filterisasi, design pada TabSheet2 dimodifikasi menjadi :29.Konfigurasi Komponen

Komponen

Properties

Nilai

ComboBox2

Items

JudulSumberEdisiTahun

ItemIndex

0

Edit2 Text <Kosongkan>CheckBox1

CaptionFilter Berdasarkan

30.Double Klik “CheckBox1” dan ketikan program berikut :procedure TFOlahBuku.CheckBox1Click(Sender: TObject);begin If (Not CheckBox1.Checked) or (Edit2.Text = '') Then DM.Buku.Filtered := False Else Begin DM.Buku.Filtered := False; DM.Buku.Filter := ComboBox2.Text+' = '+QuotedStr(Edit2.Text); DM.Buku.Filtered := True; End;end;

Page 46: Modul Praktikum Delphi II (1)

46

31.Rubah Events dari ComboBox2 dan Edit2, OnChange = CheckBox1Click

32.Simpan dan Run, kemudian Uji Coba Pencarian dan Filterisasi, laporkan kejadian

yang terjadi

Page 47: Modul Praktikum Delphi II (1)

47

Latihan 5Membangun Log In dan Konfigurasi Sistem

Tujuan :1. Membuat Form Log In dengan Searching2. Membuat Menu Aktif berdasarkan Log in3. Membuat Konfigurasi Sistem yang ditentukan

Langkah Praktikum :1. Buka File Project perpustakaan.dpr2. Buat sebuah Form Baru kemudian Design sebagai berikut :

3. Konfigurasi/setting propertiesnya sebagai berikut :a. Name : FGantiPasswordb. BorderStyle : bsDialogc. Caption : “.:Ganti Password:.”d. Position : poScreenCenter

4. Tulis “Uses DataModul;” seperti tampilan berikut :

5. Konfigurasi komponen sebagai berikut :Komponen

Properties Nilai

Edit1 Text<Kosongkan>

Edit2Text

<Kosongkan>

PasswordChar

*

Page 48: Modul Praktikum Delphi II (1)

48

Button1Caption &GantiEnable False

Button2 Caption &Batal

6. Ketik program pada Form event onActive :procedure TFGantiPassword.FormActivate(Sender: TObject);begin Edit1.Text := DM.User.Fields[0].AsString;end;

7. Ketik program pada Edit2 event OnChange sebagai berikut :procedure TFGantiPassword.Edit2Change(Sender: TObject);begin Button1.Enabled := (Edit2.Text <> '');end;

8. Pada Button1 atau Ganti ketik program :procedure TFGantiPassword.Button1Click(Sender: TObject);begin DM.User.Edit; DM.User.Fields[1].AsString := Edit2.Text; DM.User.Post;end;

9. Pada Button2 atau Batal ketik program :procedure TFGantiPassword.Button2Click(Sender: TObject);begin Close;end;

10.Simpan dengan nama : FPassword.pas11.Buat sebuah Form Baru kemudian Design sebagai berikut :

12.Konfigurasi/setting propertiesnya sebagai berikut :e. Name : FLoginf. BorderStyle : bsDialogg. Caption : “…:::Login:::….”h. Position : poScreenCenter

13.Tulis “Uses DataModul;” seperti tampilan berikut :

Page 49: Modul Praktikum Delphi II (1)

49

14.Tambahkan library “db” pada uses :

15.Konfigurasi komponen sebagai berikut :Komponen

Properties Nilai

Edit1 Text<Kosongkan>

Edit2Text

<Kosongkan>

PasswordChar

*

Button1Caption Log &inEnable False

Button2 Caption &Batal16.Ketik program pada Edit2 event OnChange :

procedure TForm1.Edit2Change(Sender: TObject);begin Button1.Enabled := (Edit2.Text <> '');end;

17.Ketik Program pada tombol “Log In” :procedure TFLogin.Button1Click(Sender: TObject);begin If DM.User.Locate('UserName;Password',VarArrayof([Edit1.Text,Edit2.Text]),[LoPartialKey]) Then Begin FUtama.Buku1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.JenisPustaka1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.Anggota1.Enabled := (DM.User.Fields[2].AsString = 'A'); FUtama.Penerbit1.Enabled := (DM.User.Fields[2].AsString = 'A');

Page 50: Modul Praktikum Delphi II (1)

50

FUtama.ShowModal; EndElse MessageDlg('Maaf User Name atau Password Salah !',mtError,[mbOk],0); Edit1.Text := ''; Edit2.Text := '';End;

18.Ketik Program pada tombol Batal :procedure TForm1.Button2Click(Sender: TObject);begin Close;end;

19.Simpan Program dengan nama FormLogin.pas20.Jadikan FLogin sebagai MainForm21.Buatlah Form baru dan konfigurasi/setting propertiesnya sebagai berikut :

a. Name : FUtamab. Caption : “.:Sistem Informasi Perpustakaan:.”c. Position : poScreenCenter

22.Jadikan Form FUtama menjadi Main Form23.Pasang MainMenu1 (Standard) dan buat menu sebagai berikut :

&File &Transaksi &Laporan &Bantuan&Buku Pe&minjaman Laporan &Buku &Pedoman&Jenis Pustaka

Pen&gembalian Laporan &Transaksi

P&rogrammer

&Penerbit Laporan &Anggota

&Anggota-&Selesai

24.Pasang StatusBar1, klik kanan, add New sebanyak 3x, kemudian konfigurasi masing StatusPanel Panel ke-0 dan ke-2 Width = 150, sedangkan panel ke-1 Width = 360

25.Ketikan program pada Form Event onActive :procedure TFUtama.FormActivate(Sender: TObject);begin CurrencyString := ''; CurrencyFormat := 2; NegCurrFormat := 9; ThousandSeparator := '.';

Page 51: Modul Praktikum Delphi II (1)

51

DecimalSeparator := ','; CurrencyDecimals := 0; ShortDateFormat := 'dd-mm-yy'; LongDateFormat := 'dd-mm-yyyy'; DateSeparator := '-'; StatusBar1.Panels[0].Text := 'User : '+DM.User.Fields[0].AsString; StatusBar1.Panels[1].Text := 'Program Studi Teknik Informatika';end;

26.Selanjutnya pasang Timer1, kemudian ketik perintah berikut :procedure TFUtama.Timer1Timer(Sender: TObject);begin StatusBar1.Panels[2].Text := FormatDateTime('ddd, dd mmm yyyy hh:mm:ss',Now);end;

27.Kemudian klik menu Arsip | Buku kemudian ketik :procedure TFUtama.Buku1Click(Sender: TObject);begin FOlahBuku.ShowModal;end;

28.Kemudian klik menu Arsip | Jenis Pustaka kemudian ketik :procedure TFUtama.JenisPustaka1Click(Sender: TObject);begin FJenisPustaka.ShowModal;end;

29.Kemudian klik menu Arsip | Penerbit kemudian ketik :procedure TFUtama.Penerbit1Click(Sender: TObject);begin FPenerbit.ShowModal;end;

30.Kemudian klik menu Arsip | Anggota kemudian ketik :procedure TFUtama.Anggota1Click(Sender: TObject);begin FAnggotaPerpustakaan.ShowModal;end;

31.Kemudian klik menu Arsip | Ganti Password kemudian ketik :procedure TFUtama.GantiPassword1Click(Sender: TObject);begin If DM.User.Fields[2].AsString = 'A' Then FUserAdmin.ShowModal Else FGantiPassword.ShowModal;end;

32.Kemudian klik menu Arsip | Selesai kemudian ketik :procedure TFUtama.Selesai1Click(Sender: TObject);begin Close;end;

Page 52: Modul Praktikum Delphi II (1)

52

33.Jalankan program tersebut sehingga muncul tampilan berikut :

34.Coba setiap menu yang telah diberikan perintah seperti Arsip | Buku, Arsip | Jenis Pustaka, Arsip | Anggota, dan Selesai, laporkan kejadiannya !

35.Simpan File dan berinama : FPerpustakaan.pas36.Copy-kan file berikut ke Folder program perpustakaan : (Minta kepada Asisten

Lab.)a. vFW.dcub. vFW.pasc. FCapturer.dfmd. FCapturer.pase. FCapturer.dcuf. FCapturer.ddp

37.Pilih menu Project | Add To Project … atau Shift+F11, kemudian file FCapturer dan vFw dipilih untuk digabungkan dengan program yang telah dibuat seperti gambar berikut :

Page 53: Modul Praktikum Delphi II (1)

53

38.Panggil FAnggotaPerpustakaan dengan Shift+F12

39.Klik Tombol “Kamera” dan ketikan program berikut :procedure TFAnggotaPerpustakaan.Button8Click(Sender: TObject);begin FormCapture.ShowModal; If FormCapture.ModalResult = mrOk Then

Page 54: Modul Praktikum Delphi II (1)

54

DBImage1.Picture := FormCapture.Image1.Picture;end;

40.Panggil FOlahBuku dengan Shift+F12

41.Klik Tombol “Kamera” dan ketikan program berikut :procedure TFOlahBuku.Button3Click(Sender: TObject);begin FormCapture.ShowModal;If FormCapture.ModalResult = mrOk Then DBImage1.Picture := FormCapture.Image1.Picture;end;

42.Simpan Semua dengan Shift+Ctrl+S43.Jalankan program, kemudian masuk ke Arsip | Anggota, coba klik kamera

dimana apabila terdapat Hardware Camera maka akan muncul gambar yang dapat di Capture.

Page 55: Modul Praktikum Delphi II (1)

55

Latihan 6File Master dan Query

Tujuan :1. Mengenal cara penggunaan File Master untuk mengkaitkan 2 buah File2. Membuat Query3. Menggunakan Query untuk transaksi

Langkah Praktikum :1. Buka File Project perpustakaan.dpr2. Buat 2 buah tabel beriku dengan database desktop :

Tabel Transaksi Field NoTraksaksi = TranPinjam Field NoTransaksi

Page 56: Modul Praktikum Delphi II (1)

56

3. Kemudian pilih ke Form DM (Shift+F12), dan pasang 2 Table dan 2 Datasource seperti design berikut :

4. Konfigurasi komponen sebagai berikutKomponen Properties Nilai

Table1

Name TransaksiDatabaseName

Perpustakaan

TableName Transaksi.dbActive True

Datasource1

Name dsTransaksiDataSet Transaksi

Table2

Name TransPinjamDatabaseName

Perpustakaan

TableNameTranPinjam.db

MasterSource

dsTransaksi

MasterField NoTransaksiActive True

Datasource1

NamedsTransPinjam

DataSet TransPinjam

Untuk MasterField Lihat Urutan Gambar

Berikut !

Page 57: Modul Praktikum Delphi II (1)

57

Klik OK, Kemudian Pilih Table TranPinjam kemudian klik Kanan Pilih Field Editor kemudian Ctrl+F, kemudian tekan Ctrl+N ikuti seperti gambar dibawah ini lalu tekan tombol “OK” maka akan muncul seperti pada gambar disampingnya, selanjutnya drag Judul ke atas dibawah NoBuku sehingga seperti gambar dibawahnya.

Klik

Klik

Page 58: Modul Praktikum Delphi II (1)

58

Page 59: Modul Praktikum Delphi II (1)

59

5. Buat sebuah Form Baru kemudian Design sebagai berikut :

6. Konfigurasi/setting propertiesnya sebagai berikut :a. Name : FTransPinjamb. BorderStyle : bsSizeablec. Caption : “::Peminjaman Buku::”d. Position : poScreenCenter

7. Komponen di setting sebagai berikut :Komponen Properties NilaiGroupBox1 Caption Data Transaksi

dbEdit1DataSource dsTransaksiField NoTransaksi

dbEdit2DataSource dsTransaksiField TglTransaksi

dbLookUpComboBox1

DataSource dsTransaksiField KodeAnggotaListSource dsAnggotaListField NamaKeyField NoAnggota

dbEdit4DataSource dsTransaksiField NoTransaksiEnable False

Button1 Caption &BaruButton2 Caption &Simpan

Enable FalseButton3 Caption &Batal

Enable FalseGroupBox2 Caption Transaksi PeminjamandbControlGrid1 DataSource DM.dsTransPinjam

dbEdit4DataSource dsTranPinjamField NoBuku

dbEdit5 DataSource dsTranPinjam

Page 60: Modul Praktikum Delphi II (1)

60

Field TglKembali

dbMemo1DataSource dsTranPinjamField Judul

Query1

DatabaseName

Perpustakaan

SQL

SELECT NoBuku, Judul, Penulis, StatusFROM "Buku.DB" BukuWHERE Status = 'A' or Status = 'K'

Active True

DataSource1DataSet Query

GroupBox3 Caption Daftar Buku Yang Dapat DipinjamdbControlGrid1 DataSource DataSource1dbEdit6 DataSource DataSource1

Field NoBukudbEdit7 DataSource DataSource1

Field PenulisdbMemo2 DataSource DataSource1

Field JudulButton4 Caption &Tutup

8. Tulis “Uses DataModul;” seperti tampilan berikut :

9. Tulis Program pada Tombol “Baru” :procedure TFTransPinjam.Button1Click(Sender: TObject);begin DM.Transaksi.Append; DM.Transaksi.Fields[0].AsString := 'P'+IntToStr(DM.Transaksi.RecordCount+1); DM.Transaksi.Fields[1].AsDateTime := Now(); DM.Transaksi.Fields[3].AsString := 'P'; Button1.Enabled := False; Button2.Enabled := True; Button3.Enabled := True;end;

Page 61: Modul Praktikum Delphi II (1)

61

10.Tulis Program pada Tombol “Simpan” :procedure TFTransPinjam.Button2Click(Sender: TObject);begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Post; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False;end;

11.Tulis Program pada Tombol “Batal” :procedure TFTransPinjam.Button3Click(Sender: TObject);begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Cancel; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False;end;

12.Tulis Program pada Event Form OnActive :procedure TFTransPinjam.FormActivate(Sender: TObject);begin DM.Transaksi.Filtered := False; DM.Transaksi.Filter := 'JenisTransaksi = '+QuotedStr('P'); DM.Transaksi.Filtered := True; DM.TranPinjam.Filtered := False; DM.TranPinjam.Filter := 'Status = '+QuotedStr('P'); DM.TranPinjam.Filtered := True; DM.Transaksi.Last; Button1Click(Sender);end;

13.Tulis program dengan menklik dbControlGrid2, sebagai berikut :procedure TFTransPinjam.DBCtrlGrid2Click(Sender: TObject);begin DM.TranPinjam.Append; DM.TranPinjam.FieldByName('NoBuku').AsString := Query1.Fields[0].AsString; DM.TranPinjam.FieldByName('TglKembali').AsDateTime := Now()+7; If MessageDlg('Apakah Buku '+Query1.Fields[0].AsString+' Akan Dipinjam ?', mtConfirmation,[mbYes,MbNo],0) = MrYes Then Begin If DM.Buku.FindKey([Query1.Fields[0].AsString]) Then Begin DM.Buku.Edit; DM.BukuStatus.Value := 'P'; DM.Buku.Post; End; DM.TranPinjam.Post; End Else DM.TranPinjam.Cancel; Query1.Close;

Page 62: Modul Praktikum Delphi II (1)

62

Query1.Open;end;

14.Tulis program untuk tombol “Tutup” sebagai :procedure TFTransPinjam.Button4Click(Sender: TObject);begin Close;end;

15.Simpan dengan nama : FTransaksiPinjam.pas16.Pilih Form FUtama, kemudian klik MainMenu untuk Transaksi | Peminjaman, dan

tulis program berikut :begin FTransPinjam.ShowModal;end;

17.Buat sebuah Form Baru kemudian Design sebagai berikut :

Page 63: Modul Praktikum Delphi II (1)

63

18.Konfigurasi/setting propertiesnya sebagai berikut :a. Name : FTransKembalib. BorderStyle : bsSizeablec. Caption : “::Transaksi Pengembalian Buku::”d. Position : poScreenCenter

19.Komponen di setting sebagai berikut :Komponen Properties NilaiGroupBox1 Caption Data Transaksi

dbEdit1DataSource dsTransaksiField NoTransaksi

dbEdit2DataSource dsTransaksiField TglTransaksi

dbLookUpComboBox1

DataSource dsTransaksiField KodeAnggotaListSource dsAnggotaListField NamaKeyField NoAnggota

dbEdit4DataSource dsTransaksiField NoTransaksiEnable False

Button1 Caption &Baru

Button2Caption &SimpanEnable False

Button3Caption &BatalEnable False

Query1

DatabaseName

Perpustakaan

SQL

SELECT Anggota.Nama, Transaksi.TglTransaksi, Transaksi.NoTransaksi, Transaksi.JenisTransaksi, Tranpinjam.NoBuku, Buku.Judul, Tranpinjam.TglKembaliFROM "TranPinjam.DB" Tranpinjam INNER JOIN "Transaksi.DB" Transaksi ON (Tranpinjam.NoTransaksi = Transaksi.NoTransaksi) INNER JOIN "Buku.DB" Buku ON (Buku.NoBuku = Tranpinjam.NoBuku) INNER JOIN "Anggota.DB" Anggota ON (Anggota.NoAnggota = Transaksi.KodeAnggota)WHERE Tranpinjam.Status = 'P' And Anggota.Nama Like :Nama

Params0 – Nama

<Gambar Params Query A>

DataType ftStringActive True

dbControlGrid1 DataSource DataSource1

dbEdit4DataSource DataSource1Field NoBuku

Page 64: Modul Praktikum Delphi II (1)

64

dbEdit5DataSource DataSource1Field TglKembali

dbMemo1DataSource DataSource1Field Judul

Query2

DatabaseName

Perpustakaan

SQL

Update "TranPinjam.DB" TranpinjamSet Tranpinjam.Status = 'K'WHERE (Tranpinjam.NoTransaksi = :NoTransaksi) AND (Tranpinjam.NoBuku = :NoBuku)

Params<Gambar Params Query B>

0 – NoTransaksi Datatype : ftString

1 – NoBuku Datatype : ftString

Gambar Params Query A

Gambar Params Query B

Page 65: Modul Praktikum Delphi II (1)

65

20.Tulis “Uses DataModul;” seperti tampilan berikut :

21.Tulis Program pada Tombol “Baru” :procedure TFTransPinjam.Button1Click(Sender: TObject);begin DM.Transaksi.Append; DM.Transaksi.Fields[0].AsString := 'P'+IntToStr(DM.Transaksi.RecordCount+1); DM.Transaksi.Fields[1].AsDateTime := Now(); DM.Transaksi.Fields[3].AsString := 'P'; Button1.Enabled := False; Button2.Enabled := True; Button3.Enabled := True;end;

22.Tulis Program pada Tombol “Simpan” :procedure TFTransPinjam.Button2Click(Sender: TObject);begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Post; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False;end;

23.Tulis Program pada Tombol “Batal” :procedure TFTransPinjam.Button3Click(Sender: TObject);begin If DM.Transaksi.State = dsInsert Then DM.Transaksi.Cancel; Button1.Enabled := True; Button2.Enabled := False; Button3.Enabled := False;end;

Page 66: Modul Praktikum Delphi II (1)

66

24.Tulis Program pada Form onActive :procedure TFTransKembali.FormActivate(Sender: TObject);begin DM.Transaksi.Filtered := False; DM.Transaksi.Filter := 'JenisTransaksi = '+QuotedStr('K'); DM.Transaksi.Filtered := True; DM.Transaksi.Last; Button1Click(Sender);end;

25.Tulis Program pada dbLookUpComboBox1 :procedure TFTransKembali.DBLookupComboBox1Click(Sender: TObject);begin Query1.Close; Query1.Prepare; Query1.Params[0].AsString := DBLookupComboBox1.Text; Query1.Open;end;

26.Tulis Program dengan mengklik dbControlGrid1 :procedure TFTransKembali.DBCtrlGrid1Click(Sender: TObject);begin If MessageDlg('Apakah Buku '+Query1.Fields[4].AsString+' Akan Dikembalikan ?',mtConfirmation,[mbYes,MbNo],0) = MrYes Then Begin {Update Data} Query2.Close; Query2.Prepare; Query2.Params[0].AsString := Query1NoTransaksi.Value; Query2.Params[1].AsString := Query1NoBuku.Value; Query2.ExecSQL; {Rubah status buku} If DM.Buku.FindKey([Query1NoBuku.Value]) Then Begin DM.Buku.Edit; DM.BukuStatus.Value := 'K'; DM.Buku.Post; End; End; {Tampilkan Data buku yang masih dipinjam} Query1.Close; Query1.Prepare; Query1.Params[0].AsString := DBLookupComboBox1.Text; Query1.Open;end;

27.Tulis program untuk Tombol “Tutup” :procedure TFTransKembali.Button4Click(Sender: TObject);begin Close;end;

28.Simpan dengan nama file : FTransaksiKembali.pas

Page 67: Modul Praktikum Delphi II (1)

67

29.Pilih FUtama dengan Shift+F12 kemudian pada main menu Transaksi | Pengembalian klik dan tulis program :procedure TFUtama.Pengembalian1Click(Sender: TObject);begin FTransKembali.ShowModal;end;

30.Simpan program, jadikan FLogin sebagai Form Utama dan jalankan