P. 1
Modul Pemrograman Visual 1 2011

Modul Pemrograman Visual 1 2011

|Views: 1,142|Likes:
Dipublikasikan oleh Hira Wati

More info:

Published by: Hira Wati on Sep 17, 2011
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/28/2013

pdf

text

original

Sections

  • ATURAN PENGERJAAN LATIHAN
  • PENILAIAN
  • DAFTAR SHORTCUT
  • IDE DELPHI
  • PROPERTY DAN EVENT
  • VARIABEL, PROCEDURE DAN FUNCTION
  • Latihan 1 : Hello World!
  • Latihan 2 : Kalkulator
  • Latihan 3 : Kalkulator Lagi!
  • Latihan 4 : Tugas 1
  • Latihan 5 : Curriculum Vitae
  • Latihan 6 : Gaji Karyawan
  • Latihan 7 : Discount!
  • Latihan 8 : Tarif Operator Telekomunikasi
  • Latihan 9 : Horoscope
  • Latihan 10 : Jangan bilang siapa-siapa!
  • Latihan 11 : Listrik Untuk Kehidupan yang Lebih Baik
  • Latihan 12 : Grafik
  • Latihan 13 : Data Pegawai
  • Latihan 14 : Music Player
  • Latihan 15 : Text Editor
  • Latihan 16 : Image Viewer
  • PROYEK SISTEM INFORMASI RENTAL VCD/DVD
  • Latihan 17 : Membuat Database Rental
  • Latihan 18 : Membuat Form Utama
  • Latihan 19 : Membuat Form Login
  • Latihan 20 : Membuat Form Setup
  • Latihan 21 : Membuat Form Member
  • Latihan 22 : Membuat QuickReport Kartu Member
  • Latihan 23 : Membuat Form Koleksi
  • Latihan 24 : Membuat Form Pemasok
  • Latihan 25 : Membuat Form Karyawan
  • Latihan 26 : Membuat Form Peminjaman
  • Latihan 27 : Membuat QuickReport Nota Peminjaman
  • Latihan 28 : Membuat Form Pengembalian
  • Latihan 29 : Membuat QuickReport Nota Pengembalian
  • Latihan 30 : Membuat Form Daftar Member
  • Latihan 31 : Membuat Form Daftar Koleksi
  • Latihan 32 : Membuat Form Statistik
  • Latihan 33 : Membuat Form Laporan Peminjaman
  • Latihan 34 : Membuat QuickReport Laporan Peminjaman
  • Latihan 35 : Membuat Form Laporan Pengembalian

MODUL KULIAH PEMROGRAMAN VISUAL 1

Disusun Oleh : RONNY FASLAH, S.KOM

LABORATORIUM KOMPUTER BISNIS POLITEKNIK NEGERI BANJARMASIN JURUSAN ADMINISTRASI BISNIS BANJARMASIN 2009
Pemrograman Visual 1 – Ronny Faslah - 2010 1

DAFTAR ISI
DAFTAR ISI ..................................................................... 2 ATURAN PENGERJAAN LATIHAN .................................................. 4 PENILAIAN ..................................................................... 4 DAFTAR SHORTCUT ................................................................ 4 IDE DELPHI ..................................................................... 5 PROPERTY DAN EVENT ............................................................ 8 VARIABEL, PROCEDURE DAN FUNCTION....................................... 15 Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan Latihan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 : : : : : : : : : : : : : : : : Hello World! .................................................... 18 Kalkulator ....................................................... 20 Kalkulator Lagi! ................................................ 23 Tugas 1 .......................................................... 24 Curriculum Vitae ............................................... 25 Gaji Karyawan .................................................. 29 Discount! ........................................................ 32 Tarif Operator Telekomunikasi .............................. 33 Horoscope ....................................................... 35 Jangan bilang siapa-siapa! ................................... 38 Listrik Untuk Kehidupan yang Lebih Baik .................. 39 Grafik ............................................................ 42 Data Pegawai ................................................... 48 Music Player .................................................... 55 Text Editor ...................................................... 65 Image Viewer ................................................... 73

PROYEK SISTEM INFORMASI RENTAL VCD/DVD ............................... 84 Latihan 17 : Membuat Database Rental .................................... 86 Latihan 18 : Membuat Form Utama ........................................ 92 Latihan 19 : Membuat Form Login .......................................... 99 Latihan 20 : Membuat Form Setup ........................................ 104 Latihan 21 : Membuat Form Member ...................................... 107 Latihan 22 : Membuat QuickReport Kartu Member ..................... 118 Latihan 23 : Membuat Form Koleksi ....................................... 122 Latihan 24 : Membuat Form Pemasok ..................................... 133 Latihan 25 : Membuat Form Karyawan.................................... 137 Latihan 26 : Membuat Form Peminjaman ................................ 142 Latihan 27 : Membuat QuickReport Nota Peminjaman ................. 155 Latihan 28 : Membuat Form Pengembalian .............................. 161 Latihan 29 : Membuat QuickReport Nota Pengembalian ............... 173 Latihan 30 : Membuat Form Daftar Member ............................. 180 Latihan 31 : Membuat Form Daftar Koleksi .............................. 187 Latihan 32 : Membuat Form Statistik ..................................... 195 Latihan 33 : Membuat Form Laporan Peminjaman ...................... 207 Latihan 34 : Membuat QuickReport Laporan Peminjaman ............. 214 Latihan 35 : Membuat Form Laporan Pengembalian .................... 219

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

2

Latihan Latihan Latihan Latihan Latihan Latihan

36 37 38 39 40 41

: : : : : :

Membuat QuickReport Laporan Pengembalian ........... 226 Membuat Form Laporan Koleksi Belum Kembali ......... 231 Membuat QuickReport Laporan Koleksi Belum Kembali. 237 Membuat Form Laporan Pendapatan ...................... 243 Membuat Form About ........................................ 250 Membuat Form Splash ........................................ 253

FREQUENTLY ASK QUESTION (FAQ)........................................... 255

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

3

ATURAN PENGERJAAN LATIHAN
1. Baca petunjuk dengan seksama. 2. Kerjakan latihan sesuai dengan urutan langkah-langkah yang tertulis. Pastikan setiap langkah tidak tertinggal atau terlewat dikerjakan. 3. Setelah mengetikkan perintah biasakan menekan Ctrl+F9 untuk mengcompile dan mengecek kesalahan penulisan perintah. 4. Simpan masing-masing latihan dalam folder yang terpisah. 5. Simpanlah pekerjaan Anda secara regular untuk mencegah kehilangan data akibat mati lampu. 6. Segera minta penjelasan kepada dosen/instruktur apabila ada yang tidak dimengerti. 7. Segera lapor kepada dosen/instruktur apabila aplikasi sudah berjalan dengan benar untuk mendapatkan penilaian hasil latihan.

PENILAIAN
Keterangan Selesai Pertamakali Selesai Kedua dst. Hadir tapi tidak selesai Izin/Sakit/Alpa 70 0 Min Max 100 85 75 65 Status Lulus Tidak Lulus Nilai 66 - 100 0 - 65

DAFTAR SHORTCUT
Shortcut Ctrl+F9 F9 Keterangan Compile atau pengecekan kesalahan Run, menjalankan aplikasi. Untuk menutup aplikasi yang sedang berjalan tekan Ctrl+F4. Ctrl+F2 Program Reset, kalau terjadi kesalahan. Ctrl+Shift+S Save All, menyimpan project dan semua unit. F11 Menampilkan Object Inspector. F12 Menampilkan Form Designer atau Unit Editor. Ctrl+F12 Menampilkan Unit Editor Shift+F12 Menampilkan Form Designer. F7 / F8 Trace, menelusuri jalannya aplikasi. F5 Watch, mengamati perubahan variable. Ctrl+Alt+F11 Menampilkan Project Manager.

Pemrograman Visual 1 – Ronny Faslah - 2010

4

IDE DELPHI
Integrated Development Environment (IDE)
Delphi merupakan aplikasi pengembangan system informasi dalam lingkungan visual yang terintegrasi. Delphi mempunyai code editor, compiler dan debugger yang terintegrasi bahkan Delphi juga mendukung berbagai platform system database.

Berikut adalah bagian-bagian dalam IDE Delphi :
1. Menu

2. Toolbar

3. Tab Komponen / Component Pallette

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

5

Object TreeView Pemrograman Visual 1 – Ronny Faslah . Form Editor 5.4. Code Editor 6.2010 06/09/2011 21:51:34 6 .

2010 06/09/2011 21:51:34 7 . Object Inspector Pemrograman Visual 1 – Ronny Faslah .7.

Style. diubah atau diisikan pada property yang bersangkutan. Pada contoh di atas Label1 dan GroupBox1 diletakkan di Form1 sedangkan Label2 dan Edit1 harus diletakkan di dalam GroupBox1. jadi pastikan komponen tersebut telah terpilih dengan benar. Kolom Tab menyatakan dimana komponen tersebut berada dalam komponen palet. Pemrograman Visual 1 – Ronny Faslah . 2.PROPERTY DAN EVENT Property 1. Dalam modul ini perubahan property komponen dituliskan dalam bentuk table seperti ini : Komponen Label1 GroupBox1 Label2 Edit1 Label1.Style. Kolom Value menunjukkan nilai yang harus dipilih. Pada contoh table di atas (baris ke lima). pada contoh di atas komponen Label terdapat dalam tab Standard. e. b.Style.Color Font. f.fsItalic menjadu True. Kolom Parent menyatakan dimana komponen tersebut harus diletakkan.fsItalic Value clBlack True Departemen Bagian True a. Kolom Komponen menyatakan komponen yang akan diubah propertynya. Apabila dalam kolom Komponen terdapat lebih dari satu komponen ditulis bersamaan.fsBold Caption Caption Text Font. pilih tab dimana komponen berada.2010 06/09/2011 21:51:34 8 . c. Untuk menambahkan komponen ke dalam suatu form. Kolom Property menunjukkan property atau subproperty apa yang harus diubah. pilih Label1 dan Label2 kemudian ubah nilai property Font. d. hal ini berarti komponen-komponen tersebut harus dipilih baru diubah nilai propertynya. Property suatu komponen ditampilkan dalam Object Inspector. Label2 Tab Standard Standard Standard Standard Parent Form1 Form1 GroupBox1 GroupBox1 Property Font.

tunggu beberapa saat untuk menampilkan nama komponen.2010 06/09/2011 21:51:34 9 . pastikan komponen tersebut sudah dipilih dengan benar.Arahkan kursor mouse di atas komponen. Untuk memilih komponen lakukan salah satu cara di bawah ini : a. c. Kemudian lakukan salah satu langkah berikut untuk menambahkan komponen ke Form : a. b. Delphi secara otomatis akan menampilkan komponen dalam ukuran default. Langsung dipilih pada form. Klik dua kali komponen yang dipilih. klik di form untuk menambahkan. Memilih melalui Object Inspector. Delphi akan menambahkan komponen tersebut pada tengah-tengah form. 3. jadi tidak perlu didrag seperti pada aplikasi Visual Basic. Memilih melalui Object TreeView. b. Klik komponen yang akan ditambahkan. Pemrograman Visual 1 – Ronny Faslah . Sebelum mengubah property suatu komponen.

2010 06/09/2011 21:51:34 10 . Komponen Form1 Tab Parent Property Position Value poDesktopCenter 5. klik tanda + untuk membuka subproperty. Komponen Label1 Tab Standard Parent Form1 Property Font. Tanda + di depan nama property menunjukkan adanya subproperty dibawahnya.Color Font. Sedapat mungkin pilih nilai property dari pilihan yang tersedia.fsBold Value clBlack True Pemrograman Visual 1 – Ronny Faslah .4.Style.

Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 11 .6. Klik tombol ellipsis untuk membuka jendela wizard. Tombol Ellipsis […] pada property menunjukkan adanya wizard atau jendela untuk pengisian nilai property.

Khusus property warna. atur level Hue. warna yang ditampilkan dalam pilihan adalah warna-warna standard ditambah dengan warna yang berlaku pada color scheme windows. klik dua kali pada nilai warna di Object Inspector untuk membuka jendela warna. Klik Add to Custom Color. Untuk membuat warna baru. Pemrograman Visual 1 – Ronny Faslah . Green dan Blue. Klik tombol Define Custom Color.7.2010 06/09/2011 21:51:34 12 . Sat dan Lum atau atur level Red. klik OK untuk melanjutkan.

misalkan event OnClick merupakan reaksi yang akan kita berikan apabila user mengklik suatu object. 2. 3. Setiap komponen mempunyai event masing-masing.Hue Sat Lum Events 1. end.2010 13 . klik dua kali di samping kanan nama event untuk membuka jendela editor.. Event terletak pada tab Event di Object Inspector. Event merupakan procedure standard yang digunakan untuk memberikan reaksi terhadap suatu tindakan user. Pemrograman Visual 1 – Ronny Faslah . ketikkan perintah diantara blok begin . klik tab Event pada Object Inspector. pilih komponen. Untuk membuat event.

Pendidikan Terakhir. Alamat. 2. Tanggal Lahir.2010 06/09/2011 21:51:34 14 . Agama.Tugas : 1. Lakukan pengujian untuk Nama. Alamat dan Kota wajib diisi. Buat program sederhana untuk memasukkan Nama. Tempat Lahir. Tanggal Lahir. dan Kota. Tugas dikumpul pada pertemuan teori berikutnya! Pemrograman Visual 1 – Ronny Faslah .

Pada blok Private. variable yang dideklarasikan pada level ini hanya akan dikenali oleh semua procedure/function yang ada pada Unit tersebut. variable I hanya bisa dipakai pada procedure tersebut.2010 06/09/2011 21:51:34 15 . Pada Local Procedure. Pemrograman Visual 1 – Ronny Faslah . PROCEDURE DAN FUNCTION Deklarasi Variabel 1. Setiap variable yang digunakan dalam aplikasi harus dideklarasikan berikut dengan type datanya. variable yang dideklarasikan pada level ini hanya dikenali pada procedure atau function ini saja.VARIABEL. 2. Pada gambar di bawah ini. Variabel dapat dideklarasikan pada berbagai level antara lain : a. variable I hanya bisa dipakai dalam procedure/function di dalam Unit2. Pada gambar berikut. b.

4. Deklarasi procedure meliputi nama procedure dan parameter yang akan digunakan. procedure atau function juga harus dideklarasikan.c. variable I bisa dipakai baik oleh Unit2 maupun Unit1. Procedure merupakan pengelompokan perintah untuk membuat program lebih mudah dibaca. dipahami atau dimodifikasi. sedangkan function meliputi nama function. variable yang dideklarasikan pada blok ini bisa dikenali oleh procedure/function yang ada di dalam Unit yang sama dan Unit lain yang menggunakan Unit tersebut.2010 06/09/2011 21:51:34 16 . Pada gambar berikut. Pemrograman Visual 1 – Ronny Faslah . sedangkan function terdapat dalam method yang dimiliki oleh suatu komponen. Event selalu dibuat dalam bentuk procedure. Pada blok Public. Seperti halnya variable. parameter dan type data yang akan dihasilkan. 3. 2. Membuat Procedure atau Function 1. Dalam Delphi. Function sama seperti procedure akan tetapi mempunyai nilai hasil (result value).

5. Untuk membuat procedure/function pada blok Private/Public. Public atau pada local procedure/function lain. Procedure dan Function dapat dideklarasikan pada blok Private. di keyboard untuk membuat blok Ketikkan perintah/statement diantara blok Begin.. ketikkan kata [procedure][function] diikuti nama procedure/function yang akan dibuat. 6.2010 06/09/2011 21:51:34 17 . Pemrograman Visual 1 – Ronny Faslah .End. Tekan tombol Ctrl+Shift+C procedure/function.

4. 2 buah Edit dan 1 buah Button dari tab Standard ke dalam FLatihan1. fsItalic] Label2 Standard FLatihan1 Edit1 Edit2 Button1 Standard Standard Standard FLatihan1 FLatihan1 FLatihan1 Submit 5. simpan Unit1 menjadi UFLatihan1.pas dan Project1 menjadi Latihan1.Color Font. klik tab Event pada Object Inspector.Latihan 1 : Hello World! Membuat aplikasi untuk menampilkan input nama dan alamat. 2.dpr. Klik Start – All Programs – Borland Delphi 6 – Delphi 6 untuk menjalankan Borland Delphi 6. Apabila tombol submit ditekan. ubah property seperti pada table di bawah ini : Komponen Form1 Tab Parent Property Caption Name Position Value Latihan 1 FLatihan1 poDesktopCenter 3. Pemrograman Visual 1 – Ronny Faslah . Pilih Button1 pada Object TreeView. klik dua kali event onClick untuk membuka jendela editor. Klik menu File – Save All untuk menyimpan project.Style Text Text Caption Value Nama clRed [fsBold. atur property seperti table di bawah ini : Komponen Label1 Tab Standard Parent FLatihan1 Property Caption Font. Langkah-langkah : 1. Tambahkan 2 buah Label. Atur layout Form1 seperti gambar di bawah ini : 6.2010 06/09/2011 21:51:34 18 . Pilih Form1 pada Object TreeView. Simpan dalam folder Latihan1. fsItalic] Alamat clBlue [fsBold.Style Caption Font. kalau nama dan alamat diisi maka tampilkan pesan ‘Terima Kasih’ jika tidak maka tampilan pesan ‘Nama dan Alamat harus diisi’.Color Font.

klik Save untuk menyimpan project tersebut. atau F9 untuk menjalankan. Komponen Button1 Event OnClick Code procedure TForm1.Pas. Ganti nama file Project1 menjadi Latihan1.dpr. Tekan Ctrl + F9 untuk compile. klik Save untuk menyimpan unit tersebut. 0). 9. Klik File – Save All. 0) Else MessageDlg('Nama dan Alamat Harus Diisi'.Text <> '') And (Edit2.2010 06/09/2011 21:51:34 19 . Pemrograman Visual 1 – Ronny Faslah . Buat folder dengan nama Latihan1. Simpan hasil pekerjaan dengan langkah sebagai berikut : a. mtError.Button1Click(Sender: TObject).7. Ganti nama file Unit1 menjadi ULatihan1. end. [mbOK]. mtInformation. begin If (Edit1.Text <> '') then MessageDlg('Terima Kasih'. Ketikkan perintah berikut pada blok procedure yang baru dibuat. [mbOK]. d. c. 8. b.

2. atur property 4. Langkah-langkah : 1. Tambahkan komponen pada form untuk membuat tampilan seperti di bawah ini : 5. Ubah property Form1 seperti table di bawah ini : Komponen Form1 Tab Parent Property Caption Name Position Value ‘Latihan 2’ FLatihan2 poDesktopCenter 3. Tambahkan 3 buah Label dan 3 buah Edit dari tab Standard. Ubah property komponen berikut ini pada saat runtime melalui event OnCreate Form1 (lihat Latihan 1 point 3) : Komponen Form1 Tab Parent Property Caption Name Position Caption Caption Caption Text Value ‘Latihan 2’ FLatihan2 poDesktopCenter ‘Bilangan 1’ ‘Bilangan 2’ ‘Hasil’ ‘0’ Label1 Label2 Label3 Edit1 Standard Standard Standard Standard Form1 Form1 Form1 Form1 Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 20 .Latihan 2 : Kalkulator Membuat aplikasi kalkulator sederhana untuk operasi pembagian. Klik File – New – Application untuk membuat aplikasi baru.

Z : Real.Edit1KeyPress(Sender: TObject. Z : Real. end. Var X.#8]) then Key := #0.Text).. begin X := strtoint(Edit1. Pemrograman Visual 1 – Ronny Faslah . Y : Integer.'9'.'. Untuk melakukan formatting bilangan real pada hasil pembagian dapat digunakan fungsi FormatFLoat(Format. Edit3.Button1Click(Sender: TObject). procedure TFLatihan2.Text := Floattostr(Z). Y : Integer. End Else ShowMessage('Bilangan 2 = 0'). Y : Integer. Apabila aplikasi dijalankan dan bilangan kedua diisi dengan 0 maka akan terjadi muncul pesan error ‘Floating Point Division by Zero’ atau error karena adanya pembagian dengan angka 0. end. 9.2010 06/09/2011 21:51:34 21 . end.Text). Untuk memperbaiki hal tersebut ubah event OnClick Button1 seperti di bawah ini : Komponen Button1 Event OnClick Code procedure TFLatihan2.Button1Click(Sender: TObject).Text := Floattostr(Z). Tekan F9 untuk menjalankan.Text). Bilangan). Var X. Edit1 Edit2 OnKeyPress 7. Y := strtoint(Edit2. Z : Real. begin if not (Key in ['0'.Button1Click(Sender: TObject).Text). Z := X / Y. begin X := strtoint(Edit1. Buat event OnClick pada Button1 : Komponen Button1 Event OnClick Code procedure TFLatihan2. If Y <> 0 then Begin Z := X / Y. Edit3. 8.'. Var X. Y := strtoint(Edit2.Edit2 Edit3 Button1 Standard Standard Standard Form1 Form1 Form1 Text Text Caption ‘0’ ‘0’ ‘Bagi’ 6. ubah event OnClick Button1 menjadi : Komponen Button1 Event OnClick Code procedure TFLatihan2. var Key: Char).

If Y <> 0 then Begin Z := X / Y.00’. end. Edit3.2010 06/09/2011 21:51:34 22 . Z). Y := strtoint(Edit2. End Else ShowMessage('Bilangan 2 = 0').dpr (lihat Latihan 1 point 6).Text).Text).Text := FormatFLoat(‘0. Simpan dalam folder Latihan 2. Pemrograman Visual 1 – Ronny Faslah .begin X := strtoint(Edit1.pas dan Project1 menjadi Latihan2. 10. ubah nama Unit1 menjadi ULatihan2.

3. Tambahkan 3 button untuk operasi Kali. Pemrograman Visual 1 – Ronny Faslah . Buat event OnClick pada masing-masing button yang baru ditambahkan (lihat Latihan 2 point 4).2010 06/09/2011 21:51:34 23 . Simpan dalam folder Latihan 3. Bandingkan jawaban Anda dengan jawaban pada bagian akhir modul ini. 2. 4. Tambah dan Kurang.Latihan 3 : Kalkulator Lagi! Melengkapi kalkulator pada latihan 2 dengan menambahkan button untuk operasi Kali. Tambah dan Kurang. Langkah-langkah : 1.

2010 06/09/2011 21:51:34 24 .Latihan 4 : Tugas 1 Pemrograman Visual 1 – Ronny Faslah .

Tambahkan komponen pada Form1. Langkah-langkah : 1.2010 06/09/2011 21:51:34 25 . Komponen Form1 Tab Parent Property Caption Name Position BorderStyle Caption Alignment Font. Buat aplikasi baru (lihat Latihan 2 point 1). ubah property masing-masing komponen seperti pada table di bawah ini.Size Caption Caption Value ‘Latihan 5’ FLatihan3 poDesktopCenter bsSingle ‘Daftar Riwayat Hidup’ taCenter ‘Trebuchet MS’ 18 ‘Nama’ ‘Tempat. 2.Latihan 5 : Curriculum Vitae Membuat aplikasi untuk memasukkan data Riwayat Hidup Karyawan. Tanggal Lahir’ Label1 Standard Form1 Label2 Label3 Standard Standard Form1 Form1 Pemrograman Visual 1 – Ronny Faslah . Buat event OnCreate pada Form1. ubah property masing-masing komponen seperti pada table di bawah ini : 3.Name Font. Listing program dapat dilihat pada table di bawahnya. perhatikan cara mengisikan items pada Combobox1 dan ListBox1.

Combobox1. Label4.Add('Katolik').Alignment := taCenter.Add('Protestan'). Label5. Label1.Add('Islam').2010 06/09/2011 21:51:34 26 .Items. Label3. RadioButton2. DateTimePicker1. Combobox1. Tanggal Lahir'.Komponen DateTimePicker1 Label4 RadioButton1 RadioButton2 Label5 Combobox1 Tab Win32 Standard Standard Standard Standard Standard Parent Form1 Form1 Form1 Form1 Form1 Form1 Property Date Caption Caption Caption Caption Items Label6 ListBox1 Standard Standard Form1 Form1 Style Caption Items Label7 Label8 Edit3 Button1 Button2 Button3 Standard Standard Standard Standard Standard Standard Form1 Form1 Form1 Form1 Form1 Form1 Sorted Caption Caption MaxLength Caption Caption Caption Value Now ‘Jenis Kelamin’ ‘Pria’ ‘Wanita’ ‘Agama’ ‘Islam’ ‘Katolik’ ‘Protestan’ ‘Hindu’ ‘Budha’ csDropDownList ‘Pekerjaan’ ‘PNS’ ‘Swasta’ ‘TNI/Polri’ ‘Petani/Nelayan’ ‘Lainnya’ True. Label1.Items.Date := Now. ‘Alamat’ ‘Kodepos’ 5 ‘Save’ ‘Reset’ ‘Close’ Komponen FLatihan3 Event OnCreate Code procedure TFLatihan3.Name := 'Trebuchet MS'.Font. Pemrograman Visual 1 – Ronny Faslah . Combobox1. BorderStyle := bsSingle. Label2.Caption := 'Agama'. Label1.Caption := 'Wanita'. Position := poDesktopCenter.Caption := 'Daftar Riwayat Hidup'.Caption := 'Nama'.Caption := 'Pria'.Items. Combobox1.Caption := 'Jenis Kelamin'.Add('Budha').Add('Hindu').FormCreate(Sender: TObject). begin Caption := 'Latihan 5'. Label1.Items. //Menampilkan tanggal sekarang.Items.Caption := 'Tempat. RadioButton1.Font.Size := 18. //Menambahkan pilihan pada Combobox1 Combobox1.

Caption := 'Pekerjaan'. begin Edit1. Ketikkan ‘procedure ResetForm.Terminate.Combobox1.Add('Swasta').Items. Button3. ListBox1. Ketikkan statement di bawah ini : Komponen FLatihan3 Procedure ResetForm Code procedure TFLatihan3. Label7. Edit3. b. //Menambahkan pilihan pada Listbox1 ListBox1. Button1. DateTimePicker1. 4.Caption := 'Close'.Text := ''. ListBox1.Button1Click(Sender: TObject).’ pada blok private/public. ListBox1.Items. Buat procedure ResetForm untuk menghapus isian form dengan langkah sebagai berikut : a.Caption := 'Reset'.Text + #13 + 'Anda telah mengisi Daftar Riwayat Hidup').Date := Now. c.Caption := 'Alamat'. ListBox1.Caption := 'Save'. end. Label8.Caption := 'Kodepos'. procedure TFLatihan3. ResetForm. Memo1. begin Application. Button2 dan Button3. End.Add('TNI/POLRI').Add('PNS'). Label6.Text := ''.Add('Lainnya').Text := ''.Button3Click(Sender: TObject).Style := csDropDownList. End. Tekan Ctrl + Shift + C untuk membuat blok procedure.Items.Add('Petani/Nelayan').2010 06/09/2011 21:51:34 27 . //Prosedur untuk mengosongkan form. Button2 OnClick Button3 OnClick Pemrograman Visual 1 – Ronny Faslah . Edit3. 5. procedure TFLatihan3. Edit2. Komponen Button1 Event OnClick Code procedure TFLatihan3.Text := ''. lihat point 4.Sorted := True. Button2. end.ResetForm.Button2Click(Sender: TObject). Buat Event On Click untuk Button1.Items. begin ShowMessage('Terima Kasih ' + Edit1. begin ResetForm end.MaxLength := 5.Items. ListBox1.

7. Simpan dalam folder Latihan 5.2010 06/09/2011 21:51:34 28 .6. Pemrograman Visual 1 – Ronny Faslah . Tekan F9 untuk menjalankan.

2010 06/09/2011 21:51:34 29 . Departemen dan Golongan menentukan Gaji Pokok karyawan seperti pada table berikut ini : Administrasi Keuangan Marketing I 750000 1000000 1250000 II 1000000 1250000 1500000 III 1250000 1500000 1750000 IV 1500000 1750000 2000000 Hanya Karyawan pria yang menikah mendapatkan Tunjangan Istri dan Tunjangan Anak. Buat aplikasi baru (lihat Latihan 2 point 1). tambahkan komponen dan atur tata letaknya seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Total Gaji adalah gabungan Gaji Pokok. II. Tunjangan Istri dan Tunjangan Anak. Nusantara Jaya mempunyai 3 Departemen yaitu Administrasi. dan IV. Tunjangan Istri sebesar 10% dari Gaji Pokok. III. Keuangan dan Marketing. Untuk jenjang karier karyawan terdapat 4 Golongan yaitu I. Tunjangan Anak dihitung berdasarkan jumlah anak dengan aturan maksimal 2 anak yang diperhitungkan sebesar 5% dari Gaji Pokok. Langkah-langkah : 1.Latihan 6 : Gaji Karyawan PT.

. 1500000.0.2010 06/09/2011 21:51:34 30 .ItemIndex. 1500000).2. TI.Button1Click(Sender: TObject). TA. 1000000. 2000000)).Style Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Items Value ‘Latihan 6’ FLatihan6 poDesktopCenter $00FF80FF ‘PERHITUNGAN GAJI KARYAWAN’ [fsBold] ‘Nama’ ‘Departemen’ ‘Golongan’ ‘Jenis Kelamin’ ‘Status’ ‘Jumlah Anak’ ‘Gaji Pokok’ ‘Tunjangan Istri’ ‘Tunjangan Anak’ ‘Total Gaji’ ‘Administrasi’ ‘Keuangan’ ‘Marketing’ csDropDownList I II III IV ‘Pria’ ‘Wanita’ ‘Menikah’ 10 ‘Hitung’ ‘Reset’ ‘Close’ Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Label10 Label11 Combobox1 Standard Standard Standard Standard Standard Standard Standard Standard Standard Standard Standard Standard ListBox1 Style Items RadioButton1 RadioButton2 CheckBox1 SpinEdit1 Button1 Button2 Button3 Standard Standard Standard Samples Standard Standard Standard Caption Caption Caption MaxValue Caption Caption Caption 3. Button3 : Komponen Button1 Event OnClick Code procedure TFLatihan6.3] of Real = ((750000. var GP. TA := 0.ListBox1. Buat event On Click untuk Button1. (1250000. 1750000. Pemrograman Visual 1 – Ronny Faslah .ItemIndex].2. 1500000. Button2. Ubah property masing-masing komponen seperti pada table di bawah ini. (1000000. 1250000.. TG : Real. TI := 0. 1750000). lakukan perubahan menggunakan metode Design Time yaitu langsung melakukan perubahan nilai property pada Object Inspector : Komponen Form1 Tab Property Caption Name Position Color Caption Font. TG := 0. begin GP := GajiPokok[Combobox1. 1250000. Const GajiPokok : Array [0.

Button2Click(Sender: TObject).Button2 OnClick Button3 OnClick If CheckBox1. Tekan F9 untuk menjalankan. Pemrograman Visual 1 – Ronny Faslah .Text) <= 2 then TA := strtoint(SpinEdit1.Text := ''.ItemIndex := -1. SpinEdit1. CheckBox1.Text := FormatFLoat('. end. Edit3. begin Edit1. TG). Edit2.Text := FormatFloat('.Text := FormatFloat('. GP).pas dan ubah Project1 menjadi Latihan6. TI).0'.0'.Checked Then Begin TI := GP * 10 /100. TG := GP + TI + TA. TA). ubah Unit1 menjadi ULatihan6.2010 06/09/2011 21:51:34 31 . Edit4.dpr.Checked := False. Edit5. Simpan dalam folder Latihan 6. If strtoint(SpinEdit1.ItemIndex := -1. begin Close.Text := '0'.0'.Text := '0'. 5.0'. End.Checked And RadioButton1.Text := FormatFLoat('. 4. Edit3.Button3Click(Sender: TObject). procedure TFLatihan6.Text := '0'. Edit5. ListBox1. procedure TFLatihan6.Text) * GP * 5/100 Else TA := 2 * GP * 5/100. Edit4. end. end.Text := '0'. Combobox1. Edit2.Text := '0'.

tambahkan komponen dan atur tata letaknya seperti contoh aplikasi. Buat aplikasi baru (lihat Latihan 2 point 1). Save All dalam folder Latihan 7 (lihat Latihan 1 point 6).2010 06/09/2011 21:51:34 32 . 2. Buat event onClick untuk Button1. 5. Buat event onCreate pada Form1 untuk inisialisasi komponen (lihat Latihan 5 point 3 atau Latihan 6 point 2). Untuk event OnClick Button1. gunakan percabangan If/Then/Else untuk menentukan harga dan discount. Button2. Button3 (lihat Latihan 6 point 3). Langkah-langkah : 1. 3.Latihan 7 : Discount! Suatu Departemen Store menetapkan harga berdasarkan jenis kelamin dan ukuran pakaian dengan tabel berikut ini : Pria Wanita ‘S’ 50000 45000 ‘M’ 55000 50000 ‘L’ 60000 55000 Selain harga. departemen store tersebut juga memberikan discount 10% untuk pelanggan yang terdaftar. Pemrograman Visual 1 – Ronny Faslah . 4. Bandingkan jawaban Anda dengan jawaban pada bagian akhir modul ini. total harga = Harga – Discount.

sedangkan Excelcomindo mempunyai produk Bebas. 2.2010 06/09/2011 21:51:34 33 . IM3 dan StarOne. Mobile 8 mempunyai produk Fren dan Hepi. 4. Masing-masing produk mempunyai sistem tarif yang berbeda untuk sesama operator dan ke operator lain seperti pada tabel berikut ini : Operator Telkomsel Produk KartuHalo Simpati AS Mentari IM3 StarOne Bebas Jempol Xplor Fren Hepi Sesama 100 150 200 150 200 250 200 250 300 250 300 Op.Latihan 8 : Tarif Operator Telekomunikasi Setiap operator selular mempunyai beberapa produk yang mempunyai sistem tarif yang berbeda. Simpati dan As. Isi Property Items Combobox1 dengan nama masing-masing Operator Telekomunikasi. Telkomsel mempunyai produk KartuHalo. Buat event onChange pada Combobox2 untuk mengisi/mengubah data Tarif ke Sesama dan Ke Operator Lain. Buat event onChange pada Combobox1 untuk mengisi/mengubah pilihan pada Combobox2. 3. Contohnya Indosat mempunyai produk Mentari. Jempol dan Xplor. bukan yang sebenarnya) Langkah-langkah : 1. tambahkan komponen dan atur tata letaknya seperti contoh aplikasi. 5. Buat aplikasi baru (lihat Latihan 2 point 1). Pemrograman Visual 1 – Ronny Faslah . Lain 200 300 400 300 400 500 400 500 600 500 600 Indosat Excelcomindo Mobile 8 (Harga hanya rekayasa. Buat event untuk OnClick untuk button1.

Pemrograman Visual 1 – Ronny Faslah . Bandingkan jawaban Anda dengan jawaban pada bagian akhir modul ini.2010 06/09/2011 21:51:34 34 .6. 7. Save All dalam folder Latihan 8 (lihat Latihan 1 point 6).

2. kemudian aplikasi akan menampilkan form baru yang berisikan nama zodiac dan ramalannya. Tanggal Lahir 21 Jan – 19 Feb 20 Feb – 21 Mar 22 Mar – 20 Apr 21 Apr – 22 Mei 23 Mei – 23 Jun 24 Jun – 23 Jul 24 Jul – 23 Agt 24 Agt – 23 Sep 24 Sep – 23 Okt 24 Okt – 22 Nop 23 Nop – 21 Des 22 Des – 20 Jan Zodiac Aquarius Pisces Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagitarius Capricorn Isi Ramalan Langkah-langkah : 1.2010 06/09/2011 21:51:34 35 . tambahkan komponen dan atur tata letaknya seperti contoh aplikasi. atur property komponen seperti pada table di bawah ini : Komponen Form1 Tab Property Caption Name Position Caption Glyph Value ‘Latihan 6’ FLatihan9 poDesktopCenter ‘Close’ ‘C:\Program Files\Common Files\Borland Shared\Images\ SpeedButton1 Additional Pemrograman Visual 1 – Ronny Faslah . Buat aplikasi baru (lihat Latihan 2 point 1). Buat event OnCreate untuk Form1.Latihan 9 : Horoscope Aplikasi ini merupakan ramalan bintang digital. input yang diperlukan adalah nama dan tanggal lahir.

4 : Case Dy Of 1. 'Selasa'. SpeedButton1. 'Cancer'. Mn. 2 : Case Dy Of 1. untuk merespon perubahan tanggal lahir baik melalui pemilihan di combobox tanggal maupun dengan input langsung. 'Isi ramalan Pisces'. begin //Mengambil nilai Tahun.. 'Isi ramalan Taurus'. Zodiac : Array [1...7] of String = ('Minggu'..Flat := True.19 : Z := 1. 'Rabu'. 21. 'Jum''at'.20 : Z := 3. 'Sagitarius'. 'Isi ramalan Leo'. 3. 'Isi ramalan Libra'.12] of String = ('Aquarius'.NumGlyphs := 2. 'Sabtu'). 'Capricorn'). Yr. 'Senin'. End. 22. Case Mn of 1 : Case Dy Of 1.31 : Z := 3.30 : Z := 4.21 : Z := 2. 'Libra'. //property yang lain atur sendiri ya! end. End.Glyph. var Yr.12] of String = ('Isi ramalan Aquarius'. Ramalan : Array [1. Const Hari : Array [1. Buat event onChange dan onUserInput pada komponen DateTimePicker1. 21. SpeedButton1. 'Aries'. 'Isi ramalan Virgo'.DateTimePicker1Change(Sender: TObject). 'Isi ramalan Sagitarius'.. Dy).Komponen Tab Property NumGlyphs Flat Value Buttons\DoorShut. Mn. 'Isi ramalan Cancer'. 'Taurus'...2010 06/09/2011 21:51:34 36 . 'Leo'.Date.LoadFromFile('C:\Program Files\Common Files\' + 'Borland Shared\Images\Buttons\' + 'Doorshut. End. End.bmp’ 2 True Komponen FLatihan9 Event OnCreate Code procedure TFLatihan9. 'Isi ramalan Gemini'. Z : Integer.29 : Z := 2.Caption := 'Close'. begin SpeedButton1.FormCreate(Sender: TObject).. 5 : Case Dy Of Pemrograman Visual 1 – Ronny Faslah . 'Kamis'. 'Isi ramalan Capricorn'). SpeedButton1.. 'Isi ramalan Aries'.20 : Z := 12.. 20.. 'Pisces'. 'Scorpio'. 3 : Case Dy Of 1. 'Virgo'. 'Isi ramalan Scorpio'.Bmp'). 'Gemini'. Dy : Word.31 : Z := 1. Bulan dan Tanggal DecodeDate(DateTimePicker1. Komponen DateTimePicker1 Event OnChange Code procedure TForm1.

6 : Case Dy Of 1.... Buat event onClick pada SpeedButton1.22 : Z := 10.Text := Hari[DayofWeek(DateTimePicker1.Komponen Event Code 1. 24. begin AllowChange := True. OnUserInput 4. 9 : Case Dy Of 1.. 24. procedure TForm1.23 : Z := 9.. End. Sempurnakan program.30 : Z := 6. 24.23 : Z := 7. 23.30 : Z := 11. Memo1.23 : Z := 6.. End.Text := Ramalan[Z].22 : Z := 4..Text := Zodiac[Z]. const UserString: String.DateTimePicker1UserInput(Sender: TObject.23 : Z := 5.23 : Z := 8. 6... jalankan..21 : Z := 11.. 22. end. End.2010 06/09/2011 21:51:34 37 . Simpan dalam folder Latihan 9. 23. Edit2. 24. 8 : Case Dy Of 1. 24.. 10 : Case Dy Of 1. End.31 : Z := 5.31 : Z := 7.. 5. End.. 11 : Case Dy Of 1. end.. Pemrograman Visual 1 – Ronny Faslah . var DateAndTime: TDateTime. 7 : Case Dy Of 1. End. 12 : Case Dy Of 1. Edit1. End. untuk menutup aplikasi.31 : Z := 8. var AllowChange: Boolean).Date)].30 : Z := 9. End.31 : Z := 10.31 : Z := 12. End..

Buat event onCreate pada Form1 untuk inisialisasi komponen. 3. puluhan dan satuan. Gunakan operator + untuk menggabungkan teks ratusan. (123 Mod 100) Mod 10 = 23 Mod 10 = 3. 123 Div 100 = 1. Yang harus dilakukan pertama kali adalah memisahkan angka menjadi angka ratusan (R).Text). (123 Mod 100) Div 10 = 23 Div 10 = 2. Buat aplikasi baru (lihat Latihan 2 point 1).2010 06/09/2011 21:51:34 38 . Gunakan statement Case … Of untuk mendefinisikan teks ratusan. R := Angka Div 100. Gunakan fungsi TrimLeft(teks) untuk membuang spasi berlebih pada awal teks. tambahkan komponen dan atur tata letaknya seperti contoh di atas. 4. puluhan dan satuan. Buat event OnChange pada Edit1 untuk mengupdate perubahan pada Memo1 (terbilang). Pemrograman Visual 1 – Ronny Faslah . 2. Angka yang dimasukkan maksimal 3 digit. S := (Angka Mod 100) Mod 10. puluhan (P) dan satuan (S). Langkah-langkah : 1. Angka := strtoint(Edit1. Simpan dalam folder Latihan 10. P := (Angka Mod 100) Div 10.Latihan 10 : Jangan bilang siapa-siapa! Buat program untuk mengubah nilai angka menjadi nilai terbilang.

2010 06/09/2011 21:51:34 39 .Latihan 11 : Listrik Untuk Kehidupan yang Lebih Baik Buat aplikasi untuk menghitung tarif pemakaian listrik pelanggan berdasarkan table berikut ini : Golongan Daya (VA) 450 Sosial 900 15000 Biaya Beban (Rp/KVa) 10000 450 11000 Rumah Tangga 900 20000 1300 450 Bisnis 900 1300 30100 23500 26500 28200 Golongan Sosial Daya (VA) 450 900 Rumah Tangga 450 900 1300 Bisnis 450 900 1300 Blok (KwH) 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 31 – 60 > 60 0 – 30 Biaya Pemakaian (Rp/Kwh) 123 265 360 200 295 360 169 360 495 275 445 495 385 445 495 254 420 470 420 465 515 470 Pemrograman Visual 1 – Ronny Faslah .

000 maka Materai = 6000.= 57.= 59.000 maka Materai = 0.513.=0 = 59.= 44.- Total Biaya Listrik Pajak Penerangan Jalan Umum (3%) Materai Total Tagihan Catatan : 1. Jika total biaya listrik + PPJU > 1.000 maka Materai = 3000. Jika total biaya listrik + PPJU antara 250. 2. Jika total biaya listrik + PPJU < 250. Pemrograman Visual 1 – Ronny Faslah .000 – 1.500.513.2010 06/09/2011 21:51:34 40 .280.31 – 60 > 60 473 523 Contoh perhitungan : Misalkan golongan Sosial dengan daya 900 Watt dan jumlah pemakaian 123 Kwh maka : Biaya Beban Biaya Pemakaian 123 = 900 / 1000 * 15000 = 123 * 360 = 13.733.780.= 1. Pajak penerangan jalan umum (PPJU) sebesar 3% dari tagihan listrik.000.000.

Buat event onClick pada Button1 untuk melakukan perhitungan tarif. Simpan dalam folder Latihan 11. Gunakan struktur data Array untuk menyimpan data Biaya Beban dan Biaya Pemakaian. 6. tambahkan komponen dan atur tata letak komponen seperti contoh. 4. Pemrograman Visual 1 – Ronny Faslah . 3. Buat aplikasi baru. 5. klik button hitung untuk melihat hasil perhitungan. Uji aplikasi. Buat event onClick pada RadioGroup1 untuk mengupdate perubahan item Daya pada RadioGroup2. pilih Golongan.Langkah-langkah : 1.2010 06/09/2011 21:51:34 41 . 2. pilih Daya dan isi jumlah pemakaian.

Untuk menampilkan grafik digunakan menubar yang menyediakan pilihan tampilan masing-masing bentuk grafik. tambahkan komponen MainMenu (ada pada tab Standard). warna latar dan style latar. Buat aplikasi baru. Grafik ditampilkan pada form terpisah dan terbagi dalam empat buah tabsheet. ketebalan garis. double klik untuk membuka Menu Designer.Latihan 12 : Grafik Membuat berbagai bentuk grafik bentuk dasar dan turunannya. style garis. buat MenuItem dan atur property komponen lain seperti dibawah ini : Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 42 . Pada aplikasi juga dapat dipilih warna garis. Langkah-langkah : 1.

Tambahkan komponen dan atur property seperti pada table di bawah ini : Komponen Form2 Tab Parent Property Caption Name Position Height Width Value ‘Standard Shape’ FGrafik poDesktopCenter 513 416 Toolbar1 Toolbar2 ColorBox1 SpinEdit1 Combobox1 Win32 Win32 Additional Sample Standard Form2 Form2 Toolbar1 Toolbar1 Toolbar1 Selected Value Items ColorBox2 Combobox2 Additional Standard Toolbar2 Toolbar2 Style Selected Items PageControl1 TabSheet1 TabSheet2 TabSheet3 TabSheet4 PaintBox1 PaintBox2 PaintBox3 Win32 System System System Form2 PageControl1 PageControl1 PageControl1 PageControl1 TabSheet1 TabSheet2 TabSheet3 Style Align Caption Caption Caption Caption Align Align Align clBlack 1 psSolid psDash psDot psDashDot psDashDotDot psClear csDropDownList clRed bsClear bsSolid bsCross bsHorizontal bsBDiagonal bsFDiagonal bsDiagCross bsVertical csDropDownList alClient ‘Rectangle’ ‘Round Rectangle’ ‘Ellipse’ ‘Polygon’ alClient alClient alClient Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 43 .File Exit Shape Rectangle … Round Rectangle … Ellipse … Polygon … Property Caption Name Position Items Value ‘Latihan 12’ FLatihan12 poDesktopCenter (Menu) Komponen Form1 Tab MainMenu1 Statusbar1 Standard Win32 2. untuk membuat form baru (Form2). Klik menu File – New – Form.

Result := PS. begin Case S Of 0 : PS := psSolid. Result := BS. 7 : BS := bsVertical. 1 : PS := psDash. 6 : BS := bsDiagCross. 5 : PS := psClear. var PS : TPenStyle. 3 : PS := psDashDot.FormCreate(Sender: TObject).BrushStyle(S: Integer): TBrushStyle.Komponen PaintBox4 Tab System Parent TabSheet4 Property Align Value alClient 3. 3 : BS := bsHorizontal. ketikkan ‘function PenStyle(S:Integer):TPenStyle. ketikkan statement berikut : Komponen FGrafik Procedure PenStyle Code function TFGrafik. 5 : BS := bsFDiagonal. End. Buat variable baru pada blok public dengan nama ‘Shape:Integer’ untuk menampung pilihan bentuk yang ingin ditampilkan.2010 06/09/2011 21:51:34 44 . Buat function PenStyle pada Form2. 4.’ di blok private. tekan Ctrl + Shift + C. 4 : PS := psDashDotDot.PenStyle(S: Integer): TPenStyle. ketikkan statement berikut : Komponen FGrafik Procedure BrushStyle Code function TFGrafik. ketikkan ‘function BrushStyle(S:Integer):TBrushStyle.’ di blok private. 5. Buat event onCreate dan onShow pada Form2. Pemrograman Visual 1 – Ronny Faslah . Buat function BrushStyle pada Form2. 1 : BS := bsSolid. ketikkan statement berikut ini : Komponen FGrafik Event oCreate Code procedure TFGrafik. begin Case S Of 0 : BS := bsClear. End. tekan Ctrl + Shift + C. 2 : PS := psDot. 4 : BS := bsBDiagonal. 2 : BS := bsCross. var BS : TBrushStyle. 6. end. End.

Width := SpinEdit1. 30. ketikkan statement berikut ini : Komponen PaintBox1 Event OnPaint Code procedure TFGrafik.ItemIndex).ItemIndex). Canvas.ActivePage := TabSheet1. Canvas.Pen. 20. End.Brush.Selected. PaintBox2. Canvas.20.Selected. Canvas.Ellipse(20. begin With PaintBox2 do Begin Canvas.20). Canvas. End.Selected.Color := ColorBox2.ActivePage := TabSheet1. PaintBox3 dan PaintBox4 di Form2. 3 : PageControl1. begin With PaintBox3 do Begin Canvas.Value.PaintBox3Paint(Sender: TObject). PaintBox3. Buat event onPaint pada komponen PaintBox1.Pen.Selected.Color := ColorBox1.PaintBox2Paint(Sender: TObject). end.ActivePage := TabSheet2.ItemIndex). procedure TFGrafik.Style := PenStyle(ComboBox1. Canvas. begin With PaintBox1 do Begin Canvas.Style := BrushStyle(Combobox2. 30).ItemIndex).Height .ActivePage := TabSheet3.Brush. Canvas.Value.Brush.20. PageControl1. 4 : PageControl1.Style := PenStyle(ComboBox1. Canvas. begin Case Shape Of 1 : PageControl1.Color := ColorBox2.Style := PenStyle(ComboBox1.Width .Width . Canvas.Style := BrushStyle(Combobox2. Canvas.Brush.Rectangle(20.Brush.Pen. end.20. PaintBox2 OnPaint PaintBox3 OnPaint Pemrograman Visual 1 – Ronny Faslah .Height . Canvas.ActivePage := TabSheet4.Style := BrushStyle(Combobox2.Pen. End. PaintBox2. procedure TFGrafik.PaintBox1Paint(Sender: TObject). Canvas. 20.Pen. PaintBox3.Selected.2010 06/09/2011 21:51:34 45 .Pen.20).ItemIndex). procedure TFGrafik. 20.FormShow(Sender: TObject).RoundRect(20.Color := ColorBox2.Width .Selected. PaintBox2.onShow begin Shape := 1.Width := SpinEdit1.20.Height . end. PaintBox1. Canvas. PaintBox1.Pen.Width := SpinEdit1.Pen. Canvas. 2 : PageControl1.Brush.Value.ItemIndex). end.Color := ColorBox1. 7.Pen. Canvas.Color := ColorBox1.

Style := PenStyle(ComboBox1. P[A].Width .Round(R * Cos(A*C+PI/2)). ColorBox2 dan Combobox2.Pen. End. For A := 0 to Count . 3 : PaintBox4Paint(Self). ColorBox1Change(Self). Canvas. With PaintBox4 do Begin Canvas. Buat event onChange untuk komponen ColorBox1.360] of TPoint.ItemIndex). 8.Selected. berikut ini : Komponen ColorBox1 Event OnChange Code procedure TForm2.Width := SpinEdit1. begin Case PageControl1.Color := ColorBox1. SpinEdit1 Combobox1 ColorBox2 Combobox2 onChange onChange onChange onChange Pemrograman Visual 1 – Ronny Faslah .Pen.Selected.2010 06/09/2011 21:51:34 46 . Canvas. End.End. Canvas.40) div 2.Color := ColorBox2. end.Value. 2 : PaintBox3Paint(Self).Height Div 2. Canvas.Style := BrushStyle(Combobox2. Ketikkan statement Combobox1. begin Count := 8.Round(R * Sin(A*C+PI/2)).1 do Begin P[A].PaintBox4Paint(Sender: TObject). CenterX. SpinEdit1. CenterY := PaintBox4. R.Y := CenterY . C := 2*PI/Count. 1 : PaintBox2Paint(Self). c : real.Width div 2. a.Brush.X := CenterX . ColorBox1Cahnge(Self).ColorBox1Change(Sender: TObject). end.ItemIndex). end. Const PI = 22/7. ColorBox1Change(Self).TabIndex of 0 : PaintBox1Paint(Self).Polygon(Slice(P.. Count)). Canvas. PaintBox4 OnPaint procedure TFGrafik. CenterX := PaintBox4. var P : Array[0. End.Pen. CenterY : Integer.Brush. R := (PaintBox4. ColorBox1Change(Self). count.

begin FGrafik.Polygon1Click(Sender: TObject).Shape := 2.2010 06/09/2011 21:51:34 47 . begin FGrafik. begin FGrafik.ShowModal.ShowModal. procedure TFLatihan12.ShowModal.Rectangle1Click(Sender: TObject). end. begin FGrafik. ketikkan statement berikut ini : Komponen Exit1 Event onClick Code procedure TFLatihan12.Shape := 3. FGrafik. Rectangle1 onClick RoundRectangle1 onClick Ellipse1 onClick Polygon1 onClick 10. Klik File – Save All untuk menyimpan semua unit dan project.Shape := 1. procedure TFLatihan12. end. FGrafik.RoundRectangle1Click(Sender: TObject).Terminate.Exit1Click(Sender: TObject). Kembali ke FLatihan12. procedure TFLatihan12. 11. FGrafik. end. end.ShowModal.9. Pemrograman Visual 1 – Ronny Faslah . FGrafik. procedure TFLatihan12. begin Application. simpan dalam folder Latihan 12.Ellipse1Click(Sender: TObject). Tekan F9 untuk menjalankan. buat event onClick pada masing-masing MenuItem.Shape := 4. end.

Style Caption Caption Text Value Data Karyawan [fsBold] NIK Nama 3. Edit2 Tab Standard Standard Standard Standard Parent Form1 Form1 Form1 Form1 Property Caption Font. Folder Button = C:\Program Files\Common Files\Borland Shared\Images\Buttons Langkah-langkah : 1. klik File – New – Application … 2. Tambahkan 3 buah Label dan 3 buah Edit dari tab Standard ke dalam GroupBox1. ubah property seperti table di bawah ini : Komponen RadioGroup1 Tab Standard Parent Form1 Property Items Value Administrasi Keuangan Kepegawaian Pemasaran Bagian 2 Penghasilan GroupBox1 Standard Form1 Caption Columns Caption 4. Buat aplikasi baru. ubah property seperti table di bawah ini : Komponen Label1 Label2 Label3 Edit1. Aplikasi menggunakan dua buah form.Latihan 13 : Data Pegawai Aplikasi ini menggunakan konsep Array dan Record untuk menyimpan data Karyawan secara temporer. Form1 untuk memasukkan data karyawan dan Form2 untuk menampilkan data dalam bentuk table pada komponen TStringGrid. Tambahkan 3 buah Label dan 2 buah Edit dari tab Standard.2010 06/09/2011 21:51:34 48 . Tambahkan RadioGroup1 dan GroupBox1 dari tab Standard. Ubah property seperti table di bawah ini : Komponen Label4 Label5 Label6 Edit3 Edit4 Edit5 Tab Standard Standard Standard Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Text Text Text Value Gaji Pokok Tunjangan Total Gaji 0 0 0 Pemrograman Visual 1 – Ronny Faslah .

Lihat gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah .bmp Close Dooropen. Atur layout Form1 seperti gambar di bawah ini : 7.bmp 6. Deklarasikan type Record KaryawanRec didalam blok type pada unit1.2010 06/09/2011 21:51:34 49 .5.bmp Reset Retry. Tambahkan 4 buah BitBtn dari tab Additional. Ubah property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 BitBtn3 BitBtn4 Tab Additional Additional Additional Additional Parent Form1 Form1 Form1 Form1 Property Caption Glyph Caption Glyph Caption Glyph Caption Glyph Value Simpan Filesave.bmp Daftar Foldrdoc.

FormCreate(Sender: TObject).9] dengan type KaryawanRec dan variable NoUrut dengan type Integer pada blok Var. Pemrograman Visual 1 – Ronny Faslah .8. Lihat gambar di bawah ini : 9. Buat event-event berikut pada masing-masing komponen : Komponen Form1 Event OnCreate Code procedure TForm1. begin NoUrut := 0..2010 06/09/2011 21:51:34 50 . end. Deklarasikan variable Array sebanyak 10 elemen [0.

end.ItemIndex.Text := ''. Klik menu File – Use Unit. 10.2010 06/09/2011 21:51:34 51 .Text := '0'.Text <> ‘’ then G := strtofloat(Edit3. mtConfirmation. Karyawan[NoUrut].BitBtn3Click(Sender: TObject). If Edit4. Edit4 Event OnChange BitBtn2 onClick BitBtn1 OnClick BitBtn3 onClick Code procedure TForm1. kemudian pilih Unit1.Text) Else T := 0. Ubah property seperti table di bawah ini : Komponen BitBtn1 StringGrid1 Tab Additional Additional Parent Form2 Form2 Property Caption Glyph ColCount RowCount Value Close Dooropen.Text <> ‘’ then T := strtofloat(Edit4. End. G + T). procedure TForm1.BitBtn2Click(Sender: TObject).ItemIndex := -1. Edit5.KodeBagian := RadioGroup1. Edit4. mbNo].Nama := Edit2.Text) Else G := 0. end. Edit5.NIK := Edit1. begin Close.0'. Begin If Edit3.Edit3Change(Sender: TObject). procedure TForm1.Text.Text := '0'.Text := ''.Text. procedure TForm1.Text). Karyawan[NoUrut]. begin If MessageDlg('Simpan Data?'.Komponen Edit3. Karyawan[NoUrut]. T : Real. Edit2. Karyawan[NoUrut]. BitBtn2Click(Self). Klik OK untuk melanjutkan.bmp 7 11 12. Tambahkan 1 buah BitBtn dan 1 buah StringGrid dari tab Additional. NoUrut := NoUrut + 1. end.Text := '0'. Var G. begin Edit1. end. Edit3. RadioGroup1.Text).Text := FormatFloat('. 11. [mbYes. Klik menu File – New – Form untuk membuat form baru (Form2).GajiPokok := strtofloat(Edit3.Tunjangan := strtofloat(Edit4.BitBtn1Click(Sender: TObject). 0) = mrYes then Begin Karyawan[NoUrut]. Pemrograman Visual 1 – Ronny Faslah .

Cells[1. Baris + 1] := FormatFloat('. Baris + 1] := FormatFloat('. Karyawan[Baris].13.0] := 'NIK'. Cells[3. Baris + 1] := FormatFloat('. Baris + 1] := Form1.0] := 'NAMA'. Cells[2. Cells[1. Cells[4. Cells[5.GajiPokok + Karyawan[Baris].GajiPokok). Baris + 1] := Karyawan[Baris].NIK.2010 06/09/2011 21:51:34 52 . Cells[6.FormShow(Sender: TObject). Cells[2. Cells[4.0'. End. Cells[6.0'.RadioGroup1.0] := 'BAGIAN'.1 do Begin With StringGrid1 do Begin Cells[0.0] := 'NO. end. Baris + 1] := Karyawan[Baris]. Karyawan[Baris].KodeBagian]. Cells[5. begin With StringGrid1 do Begin Cells[0.0] := 'GAJI POKOK'.0] := 'TUNJANGAN'.0'.Tunjangan).FormCreate(Sender: TObject). Var Baris : Integer.Items[Karyawan[Baris]. Buat event-event berikut pada masing-masing komponen : Komponen Form2 Event OnCreate Code procedure TForm2. begin For Baris := 0 to NoUrut . Baris + 1] := inttostr(Baris + 1).Tunjangan).'.0] := 'TOTAL'.Nama. Karyawan[Baris]. Cells[3. End. onShow Pemrograman Visual 1 – Ronny Faslah . procedure TForm2.

end. Klik Daftar untuk menampilkan data yang telah dimasukkan dalam bentuk tabulasi. Kembali ke Form1. pilih Bagian. 14. Klik Reset untuk mengosongkan form. procedure TForm2.Komponen Event BitBtn1 onClick Code End.ShowModal. 16.2010 06/09/2011 21:51:34 53 . Klik Simpan untuk menyimpan data karyawan. end.BitBtn4Click(Sender: TObject). begin Close. 15. Pemrograman Visual 1 – Ronny Faslah .BitBtn1Click(Sender: TObject). Buat event onClick pada komponen BitBtn4. Isi NIK dan Nama. klik menu File – Use Unit. Isi Gaji Pokok dan Tunjangan. Jalankan dan uji aplikasi. end. pilih Unit2. begin Form2. ketikkan perintah seperti table di bawah ini : Komponen BitBtn4 Event onClick Code procedure TForm1. Klik OK untuk melanjutkan (lihat point 12).

17. Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 54 . simpan dalam folder Latihan 13. Klik File – Save All untuk menyimpan semua unit dan project.

ubah property masing-masing komponen seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . *.Latihan 14 : Music Player Aplikasi berikut ini merupakan contoh pembuatan form dengan berbagai bentuk dan contoh penerapan komponen MediaPlayer untuk memainkan file music dengan ekstensi *. Buat dua buah gambar berikut menggunakan Microsoft Paint atau aplikasi lain. Contoh gambar form dan button ada pada folder ‘Materi Latihan 13. 2. Aplikasi akan terdiri dari 2 buah form yaitu form1 untuk interface mp3 player dan form2 untuk interface playlist.mid.bmp) untuk interface mp3 player dan gambar kedua (Form2.2010 06/09/2011 21:51:34 55 . Tambahkan 5 buah Label. Tambahkan Image1. ubah property Image1 seperti pada table di bawah ini : Komponen Image1 Tab Additional Parent Form1 Property Autosize Picture Value True Form1.bmp 5.bmp) untuk interface playlist (daftar lagu). klik File – New – Applications … 3. 14 dan 15’. Gambar pertama (Form1. Ubah property Form1 seperti pada table di bawah ini : Komponen Form1 Tab Parent Property AlphaBlend AlphaBlendValue Autosize BorderStyle TransparentColor TransparentColorValue Value True 250 True bsNone True clWhite 4. Langkah-langkah : 1.mp3.wav dan *. Buat aplikasi baru.

bmp 8close24.bmp 8refresh24.Komponen Label1 Tab Standard Parent Form1 Label2 Label3 Label4 Label5 Label1. Image10. Image6.bmp 8app24.bmp 8stats24.bmp 8Pause24. Label5 Standard Standard Standard Standard Form1 Form1 Form1 Form1 Property Caption AutoSize Font. Tambahkan MediaPlayer1 dari tab System. Image5.2010 06/09/2011 21:51:34 56 . Label2. Ubah property berikut : Komponen Timer1 Tab System Parent Form1 Property Enabled Value False 9. 7. Image7. Image3. Tambahkan 10 buah Image. Ubah property berikut : Komponen MediaPlayer1 Tab System Parent Form1 Property Visible Value False 8. Label4. Label3.bmp 8stop24. Atur layout masing-masing komponen seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Label4. ubah property masing-masing komponen seperti table di bawah ini : Komponen Image2.bmp 8backward24.bmp 10. Tambahkan Timer1 dari tab System.bmp 8forward24.Style Caption Caption Caption Caption Transparent Enabled Value Judul Lagu False [fsBold] Waktu Repeat Shuffle StayOnTop True False 6. Image11 Image2 Image3 Image4 Image5 Image6 Image7 Image8 Image9 Image10 Image11 Tab Additional Parent Form1 Property Autosize Cursor Transparent Picture Picture Picture Picture Picture Picture Picture Picture Picture Picture Value True crHandPoint True 8play24. Image8. Image4. Tambahkan ProgressBar1 dari tab Win32. Label5 Label3.bmp 8chat24. Image9.

11. Buat form baru (Form2), klik menu File – New – Form. 12. Ubah property pada Form2 seperti pada table di bawah ini :
Komponen Form2 Tab Parent Property AlphaBlend AlphaBlendValue Autosize BorderStyle TransparentColor TransparentColorValue Value True 250 True bsNone True clWhite

13. Tambahkan 6 buah komponen Image, ubah property masing-masing komponen seperti pada table di bawah ini :
Komponen Image1 Image2, Image3, Image4, Image5, Image6 Image2 Image3 Image4 Image5 Image6 Tab Additional Parent Form2 Property Autosize Picture Autosize Cursor Transparent Picture Picture Picture Picture Picture Value True Form2.bmp True crHandPoint True 8addfile24.bmp 8trash24.bmp 8floppy24.bmp 8foldermove24.bmp 8close24.bmp

14. Tambahkan komponen ListBox1 dari tab Standard, ubah property ListBox1 seperti pada table di bawah ini :
Komponen ListBox1 Tab Standard Parent Form2 Property Color Ctl3D Value $00C080FF False

15. Tambahkan 2 buah komponen OpenDialog dan 1 buah SaveDialog dari tab Dialog, ubah property masing-masing komponen seperti pada table di bawah ini :
Komponen OpenDialog1 Tab Dialog Parent Form2 Property DefaultExt Filter Options. ofAllowMultiSelect DefaultExt Filter DefaultExt Filter Value *.mp3 Filter Name File Musik (*.mp3, *.wav, *.mid) True *.pls Filter Name File Playlist (*.pls) *.pls Filter Name File Playlist (*.pls)

Filter *.mp3; *.wav; *.mid

OpenDialog2

Dialog

Form2

Filter *.pls Filter *.pls

SaveDialog1

Dialog

Form2

16. Atur layout Form2 seperti pada gambar di bawah ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

57

17. Buat event berikut pada masing-masing komponen seperti pada table di bawah ini :
Komponen Form2 Event onCreate Code procedure TForm2.FormCreate(Sender: TObject); begin Left := Form1.Left; Top := Form1.Top + Form1.Height; end; procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; Perform(WM_SYSCOMMAND, $F012, 0); end; procedure TForm2.Image2Click(Sender: TObject); Var NoUrut : Integer; begin If OpenDialog1.Execute then Begin NoUrut := ListBox1.Items.Count - 1; ListBox1.Items.AddStrings(OpenDialog1.Files); If ListBox1.Items.Count > 0 then ListBox1.ItemIndex := NoUrut + 1; End; end; procedure TForm2.Image3Click(Sender: TObject); begin If ListBox1.ItemIndex >= 0 then ListBox1.Items.Delete(ListBox1.ItemIndex); end;

Image1

onMouseDown

Image2

onClick

Image3

onClick

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

58

Komponen Image4

Event onClick

Image5

onClick

Image6

onClick

Code procedure TForm2.Image4Click(Sender: TObject); begin If SaveDialog1.Execute then ListBox1.Items.SaveToFile(SaveDialog1.FileName); end; procedure TForm2.Image5Click(Sender: TObject); begin If OpenDialog2.Execute then Begin ListBox1.Items.LoadFromFile(OpenDialog2.FileName); If ListBox1.Items.Count > 0 then ListBox1.ItemIndex := 0; End; end; procedure TForm2.Image6Click(Sender: TObject); begin Close; end;

18. Kembali ke Form1. Gunakan Project Manager (Ctrl+Alt+F11) atau pilih Unit1 pada Code Editor kemudian tekan F12.

19. Tambahkan variable State dengan type Integer pada blok Public, lihat gambar berikut :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

59

20. Buat procedure Play, Pause, Resume, Stop, Next dan Prev pada blok Public (lihat gambar di point 19), tekan Ctrl+Shift+C untuk membuat blok procedure dan ketikkan perintah berikut ini :
Komponen Form1 Procedure Play Code procedure TForm1.Play; begin With Form2 do Begin If ListBox1.ItemIndex <> -1 then Begin MediaPlayer1.FileName := ListBox1.Items[ListBox1.ItemIndex]; MediaPlayer1.Open; Form1.Label1.Caption := MediaPlayer1.FileName; Timer1.Enabled := True; ProgressBar1.Max := MediaPlayer1.Length; MediaPlayer1.Notify := True; State := 1; MediaPlayer1.Play; End; End; end; procedure TForm1.Pause; begin If State = 1 then Begin State := 2; Timer1.Enabled := False; MediaPlayer1.Pause; End; end; procedure TForm1.Resume; begin If State = 2 then Begin State := 1;

Form1

Pause

Form1

Resume

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

60

Komponen

Procedure

Form1

Stop

Form1

Next

Form1

Prev

Code Timer1.Enabled := True; MediaPlayer1.Resume; End; end; procedure TForm1.Stop; begin If State = 1 then Begin State := 0; Timer1.Enabled := False; MediaPlayer1.Stop; End; end; procedure TForm1.Next; begin If State in [0, 1, 2] then Begin With Form2.ListBox1 do Begin If ItemIndex = (Items.Count - 1) then Begin If Label3.Enabled then ItemIndex := 0 else ItemIndex := -1; End else ItemIndex := ItemIndex + 1; If Label4.Enabled then ItemIndex := Random(Items.Count - 1); End; Play; End; end; procedure TForm1.Prev; begin With Form2.ListBox1 do Begin If ItemIndex = 0 then ItemIndex := Items.Count - 1 else ItemIndex := ItemIndex - 1; If Label4.Enabled then ItemIndex := Random(Items.Count - 1); End; Play; end;

21. Buat function Int2TimeStr(I : Integer):String; pada blok Public (lihat gambar di point 19). Tekan Ctrl+Shift+C untuk membuat blok function, ketikkan perintah berikut ini :
Komponen Form1 Function Int2TimeStr Code function TForm1.Int2TimeStr(I: Integer): String; begin I := I Div 1000; Result := FormatFloat('00', I Div 3600) + ':' + FormatFloat('00', I Div 60) + ':' + FormatFloat('00', I Mod 60); end;

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

61

end.FormCreate(Sender: TObject).Image5Click(Sender: TObject).Image6Click(Sender: TObject). end. end. begin Prev. Randomize. procedure TForm1.Position >= MediaPlayer1. End.Caption := Int2TimeStr(MediaPlayer1.TimeFormat := tfMilliseconds. end.2010 06/09/2011 21:51:34 62 . Perform(WM_SYSCOMMAND. Button: TMouseButton. end. ProgressBar1.Position. begin Next. procedure TForm1. begin ReleaseCapture.22. end. begin Form2. Y: Integer). begin Label2. onShow Timer1 OnTimer Image1 onMouse Down Image2 onClick Image3 onClick Image4 onClick Image5 onClick Image6 onClick Pemrograman Visual 1 – Ronny Faslah .Position := MediaPlayer1. procedure TForm1.FormShow(Sender: TObject). begin Stop.Position) + ' / ' + Int2TimeStr(MediaPlayer1. end. $F012. begin Pause.Image1MouseDown(Sender: TObject. end. Shift: TShiftState. procedure TForm1.Timer1Timer(Sender: TObject).Length). procedure TForm1. Next. procedure TForm1. X. begin MediaPlayer1. procedure TForm1.Image3Click(Sender: TObject).Image4Click(Sender: TObject). 1] then Play else Resume. State := 0.Image2Click(Sender: TObject).Length) then Begin Stop. 0). procedure TForm1. Buat event berikut pada masing-masing komponen seperti pada table di bawah ini : Komponen Form1 Event OnCreate Code procedure TForm1. If (State = 1) And (MediaPlayer1. begin If State in [0.Show.

procedure TForm1.Image8Click(Sender: TObject). begin Close.Komponen Image7 Event onClick Image8 onClick Image9 onClick Image10 onClick Image11 onClick Code end. Buat event onDblClick pada ListBox1 seperti pada table di bawah ini : Komponen ListBox1 Event onDblClick Code procedure TForm2. end. 25. klik menu File – Save All.Play.ListBox1DblClick(Sender: TObject). Uji dan jalankan aplikasi.Image7Click(Sender: TObject).Image11Click(Sender: TObject).Enabled.Show. begin Form2. 24.Image10Click(Sender: TObject). end. 23. Pemrograman Visual 1 – Ronny Faslah . end.Enabled := Not Label5.Image9Click(Sender: TObject). tekan F9 (Run) untuk melanjutkan. end. procedure TForm1. If Label5. procedure TForm1. procedure TForm1.Enabled. kalau dijalankan langsung dari file execution hal ini tidak akan tampil. end.Enabled := not Label4. simpan dalam folder Latihan14.2010 06/09/2011 21:51:34 63 .Enabled := not Label3. begin Label4. end. Kembali ke Form2.Enabled then FormStyle := fsStayOnTop else FormStyle := fsNormal. CPU Windows hanya muncul pada saat desain. begin Label3.Enabled. perhatikan saat pengujian pada beberapa action tampil CPU Windows. Simpan seluruh project. begin Label5. begin Form1. 26. procedure TForm1.

Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 64 .

Latihan 15 : Text Editor Aplikasi berikut ini merupakan contoh implementasi komponen RichText.2010 06/09/2011 21:51:34 65 . Klik dua kali komponen ActionManager1. pilih New Action untuk membuat Action1. ubah property seperti table di bawah ini : Komponen ActionManager1 Tab Additional Parent Form1 Property Images Value ImageList1 6. Buka file Contoh. 2. Klik tombol Action. Pilih Action1 pada Object TreeView. copy dan paste komponen ImageList1 ke Form1. Ubah property Form1 seperti pada table di bawah ini : Komponen Form1 Tab Parent Property Caption FormStyle WindowState Value Text Editor fsMDIForm wsMaximized 3. 7. Buat aplikasi baru. 4. Tambahkan komponen ActionManager1 dari tab Additional. 5. Langkah-langkah : 1. Action Menubar dan Action Toolbar. Tambahkan StatusBar1 dari tab Win32. Action Manager. klik File – New – Application. ubah property seperti pada table di bawah ini : Komponen Action1 Property Caption Category Value New… File Pemrograman Visual 1 – Ronny Faslah . Aplikasi Text Editor ini menggunakan konsep MDI (Multi Document Interface).pas.

Drag and drop Window dari Category ke ActionMainMenuBar1. TWindowCascade. TWindowTileHorizontal. dan TWindowTileVertical (gunakan tombol Ctrl untuk multiselect). Pemrograman Visual 1 – Ronny Faslah . 9. pilih New Standard Action untuk membuka jendela Standard Action Classes. Tambahkan komponen ActionMainMenuBar1 dari tab Additional. pada section File pilih TFileOpen. TFileExit. klik tombol Action (lihat gambar point 6). Klik dua kali ActionManager1.2010 06/09/2011 21:51:34 66 . Masih di ActionManager1. Drag and drop File dari Category ke ActionMainMenuBar1.Komponen Property ImageIndex Name Value 6 FileNew1 8. 10. Klik OK untuk melanjutkan.

11. 14.Filter Value *. Drag and drop Open… dari Actions ke ActionToolBar1. Drag and drop Exit dari Actions ke ActionToolBar1.DefaultExt Dialog.txt *. 12. Klik dua kali ActionManager1. Pilih FileOpen1 pada Object TreeView. Ubah property pada FileOpen1 seperti pada table di bawah ini : Komponen FileOpen1 Property Dialog. Tambahkan komponen ActionToolBar1 dari tab Additional.* Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 67 . Drag and drop New… dari Actions ke ActionToolBar1.txt) Semua File (*. 13.txt Filter Name File Teks (*.*) Filter *.

Ubah property masing-masing komponen seperti table di bawah ini : Komponen Form2 RichEdit1 Tab Win32 Parent Form2 Property FormStyle Align ScrollBars Lines Image Value fsMDIChild alClient ssBoth ‘’ ImageList1 ActionManager1 Additional Form2 22. Tambahkan komponen RichEdit1 dari tab Win32. TRichEditBullets. Align Center. 19. Align Rigt. 24. pilih New Standard Action. Cut. 25. Bullets. Pada tahap ini seharusnya Form1 mempunyai layout seperti gambar di bawah ini : 16. Undo. 18. Align Left. TEditDelete. Klik tombol Action (lihat point 6). Tambahkan komponen ActionToolBar1 dari tab Additional. tambahkan TEditCut. ubah property seperti pada table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . 20. TRichEditBold. Bold. Tambahkan komponen StatusBar1 dari tab Win32. 26. Select Color. TRichEditItalic. Strikeout. 23. TRichEditStrikeOut.2010 06/09/2011 21:51:34 68 . Tambahkan komponen ActionManager1 dari tab Additional. Italic. Klik dua kali komponen ActionManager1. 17. TEditPaste. Delete. TRichEditUnderline. TRichEditAlignRight. TRichEditAlignLeft. Drag dan drop Actions Save As. TEditCopy. klik menu File – New – Form. 27. TColorSelect dan TFontEdit. Copy dan Paste ImageList1 dari Form1 ke Form2.Title Value Buka File 15. TFileSaveAs. Klik dua kali komponen ActionManager1. Underline.Komponen Property Dialog. Buat form baru (Form2). TEditUndo. dan Select Font dari masing-masing Category ke ActionToolBar1. TRichEditAlignCenter. Klik OK untuk melanjutkan. Pilih FileSaveAs1 pada Object TreeView. Paste. 21.

klik OK untuk melanjutkan Pemrograman Visual 1 – Ronny Faslah .txt *.txt) Semua File (*.* 28. Pada tahap ini seharusnya Form2 mempunyai layout seperti gambar di bawah ini : 29.Title Value *.*) Simpan Filter *.2010 06/09/2011 21:51:34 69 .Filter Dialog.Komponen FileSaveAs1 Property Dialog. pindahkan Form2 dari Auto-Create Forms ke Available Forms seperti pada gambar di bawah ini. Pada tab Forms.txt Filter Name File Teks (*.DefaultExt Dialog. Klik menu Project – Options untuk membuka jendela Project Options.

FileName.Name.Color.SelAttributes.SelAttributes.FontEdit1Accept(Sender: TObject).SelAttributes. buat event BeforeExecute dan onAccept.Font. procedure TForm2.Font.Color := RichEdit1.Style. begin With RichEdit1 do Begin SelAttributes. Pilih FontEdit1 pada Object TreeView.Color. begin If Caption = 'Untitled. end. buat event BeforeExecute dan onAccept.SelAttributes.Dialog.ColorSelect1BeforeExecute(Sender: TObject).Font.Style. Font.FileName). end. End. onAccept 33.Dialog.FileSaveAs1BeforeExecute(Sender: TObject). SelAttributes.Name := FontEdit1.Name.FileSaveAs1Accept(Sender: TObject).Dialog.30. buat event BeforeExecute dan onAccept. end.Dialog do Begin Font. Font.Size. Pilih FileSaveAs1 pada Object TreeView. onAccept 32.SaveToFile(FileSaveAs1. end.Name := RichEdit1.Dialog.Color := ColorSelect1.ColorSelect1Accept(Sender: TObject). ketikkan perintah seperti pada table di bawah ini : Komponen FileSaveAs1 Event BeforExecute Code procedure TForm2.SelAttributes. procedure TForm2. begin With FontEdit1. Pilih Form2 pada Object TreeView.Lines. procedure TForm2.Size := RichEdit1. SelAttributes.txt' then FileSaveAs1. ketikkan perintah seperti pada table di bawah ini : Komponen FontEdit1 Event BeforExecute Code procedure TForm2.Dialog. ketikkan perintah seperti pada table di bawah ini : Komponen ColorSelect1 Event BeforExecute Code procedure TForm2.Dialog. begin RichEdit1.Color := RichEdit1. onAccept 31.Color.Size := FontEdit1. buat event onClose onCloseQuery.FontEdit1BeforeExecute(Sender: TObject). Caption := FileSaveAs1. end. begin ColorSelect1.Size.SelAttributes. Pilih ColorSelect1 pada Object TreeView.Style := RichEdit1.2010 06/09/2011 21:51:34 70 .Color := FontEdit1. end.Dialog.Font. SelAttributes.FileName := Caption.Dialog. Font. begin RichEdit1. end. ketikkan perintah seperti pada table di bawah ini : dan Pemrograman Visual 1 – Ronny Faslah .Dialog.Style := FontEdit1.Color.

ketikkan perintah seperti pada table di bawah ini : Komponen FileNew1 Event onExecute Code procedure TForm1. end.Execute else Case MessageDlg('Simpan?'.2010 06/09/2011 21:51:34 71 .Dialog. 0) of mrYes : RichEdit1. Kembali ke Form1. begin Application.CreateForm(TForm2. Form2). 37.Caption := 'Untitled. begin Action := caFree. ketikkan perintah seperti pada table di bawah ini : Komponen FileOpen1 Event onAccept Code procedure TForm1. RichEdit1. 35. End. Form2). Klik Form1 pada Object TreeView. mrNo : CanClose := True.FileName. ketikkan perintah seperti pada table di bawah ini : Komponen Form1 Event onShow Code procedure TForm1. buat event onExecute.FileOpen1Accept(Sender: TObject). pilih Unit2. 36.Komponen Form2 Event onClose onClose Query Code procedure TForm2.FormClose(Sender: TObject. 38. begin If RichEdit1.LoadFromFile(FileOpen1. end.FormCloseQuery(Sender: TObject.txt'. 34. var Action: TCloseAction). Pilih FileOpen1 pada Object TreeView. Pilih FileNew1 pada Object TreeView. RichEdit1. var CanClose: Boolean).Lines. end.Lines. buat event onAccept. mtConfirmation.. end.Dialog.FileNew1Execute(Sender: TObject).Modified then Begin If Caption = 'Untitled. end. mbYesNoCancel. Pastikan Anda sudah berada pada Form1.CreateForm(TForm2.FileName). begin Application. With Form2 do Begin Caption := FileOpen1. begin Pemrograman Visual 1 – Ronny Faslah .. buat event onShow.txt' then FileSaveAs1.FormShow(Sender: TObject). procedure TForm2. klik OK untuk melanjutkan.Modified := False. mrCancel : CanClose := False. Form2. klik menu File – Use Unit. End.SaveToFile(Caption).

39. File akan dibuka pada jendela tersendiri. end. Simpan dalam folder Latihan 15. Pilih menu File – Open… untuk membuka file teks. Pertama kali aplikasi akan menampilkan jendela editor kosong dengan nama ‘Untitled.txt’. Jalankan dan uji aplikasi.Komponen Event Code FileNew1Execute(Self).2010 06/09/2011 21:51:34 72 . Pemrograman Visual 1 – Ronny Faslah . 40. Pilih menu Window Cascade dan Window Tile untuk mengatur susunan jendela yang dibuka.

Ubah property seperti pada table di bawah ini : Komponen Form1 Tab Parent Property Caption FormStyle WindowState Value Image Viewer fsMDIForm wsMaximized 3. Tambahkan MainMenu1 dari tab Standard. Langkah-langkah : 1. klik File – New – Application. Pilih Form1 pada Object TreeView.2010 06/09/2011 21:51:34 73 .Latihan 16 : Image Viewer Aplikasi berikut ini merupakan implementasi beberapa fungsi grafik yang ada dalam Delphi seperti penggunaan Pen dan Brush untuk menggambar bentuk-bentuk dasar. ubah property seperti pada table di bawah ini : Komponen OpenPictureDialog1 Tab Dialogs Parent Form1 Property Title Value Open Picture 6. 4. 2. Tambahkan OpenPictureDialog1 dari tab Dialogs. Tambahkan StatusBar1 dari tab Win32. Klik dua kali MainMenu1 untuk membuka menu editor. Form2 untuk menampilkan image atau menggambar bentuk-bentuk dasar dan Form3 untuk menampilkan demo Random Shape. Pada tahap ini seharusnya Form1 mempunyai layout seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Form1 dalam bentuk MDI sebagai form utama. Aplikasi terdiri dari 3 buah form. Buat aplikasi baru. Buat mainmenu dengan struktur seperti di bawah ini : Menu File SubMenu New Picture Open Picture -----------------Exit Demo Random Shapes Windows Cascade Tile Vertical Tile Horizontal Property Caption Caption ShortCut Caption Shortcut Caption Caption Caption Caption Caption Caption Caption Caption Value &File &New Picture… Ctrl+N &Open Picture… Ctrl+O E&xit &Demo &Random Shapes… &windows &Cascade Tile &Vertical… Tile &Horizontal 5.

Buat form baru (Form2).Panels[1] StatusBar1.Panels[0] StatusBar1.7. 8. pilih Add untuk menambahkan panel baru.2010 06/09/2011 21:51:34 74 . Klik dua kali StatusBar1 untuk membuka jendela Panel Editor. klik menu File – New – Form. klik kanan pada area kosong Panel Editor. Tambahkan 3 buah panel (lihat gambar berikut). ubah property seperti pada table di bawah ini : Komponen Form2 Tab Parent Property Caption FormStyle WindowState Value fsMDIChild wsMaximized 10. Ubah property masing-masing panel seperti pada table dibawah ini : Komponen StatusBar1. Tambahkan 1 buah StatusBar dari tab Win32. untuk menyimpan Project1 dan Unit1. 11. Tambahkan 3 buah Toolbar dari tab Win32. Klik menu File – Save All.Panels[2] Property Text Width Text Width Text Value Dimensi : 150 Posisi : 150 Ukuran : Pemrograman Visual 1 – Ronny Faslah . 9. Pilih Form2 pada Object TreeView.

Width 150 12. ubah property seperti pada table di bawah ini : Komponen ColorBox1 Parent ToolBar2 Property Selected Value clBlack 14. Tambahkan 5 buah SpeedButton dari tab Additional ke dalam ToolBar1.bmp RoundRect. SpeedButton2. ubah property seperti table di bawah ini : Komponen Combobox1 Parent ToolBar2 Property Items Value psSolid psDash psDot psDashColor psDashDotDot psClear psInsideFrame 0 csOwnerDrawVariable pmBlack pmWhite pmNop pmNot pmCopy pmNotCopy pmMergePenNot pmMaskPenNot pmMergeNotPen pmMaskNotPen pmMerge pmNotMerge pmMask pmNotMask Combobox2 ToolBar2 ItemIndex Style Items Pemrograman Visual 1 – Ronny Faslah . SpeedButton5 SpeedButton2 Parent ToolBar1 ToolBar1 ToolBar1 ToolBar1 ToolBar1 Property Glyph Glyph Glyph Glyph Glyph Flat Value Save.bmp Ellipse.bmp Lines. Tambahkan 2 buah Combobox dari tab Standard ke dalam ToolBar2. SpeedButton4. SpeedButton3. ubah property seperti pada table di bawah ini : Komponen SpeedButton1 SpeedButton2 SpeedButton3 SpeedButton4 SpeedButton5 SpeedButton1. SpeedButton3. SpeedButton5 SpeedButton2.2010 06/09/2011 21:51:34 75 . SpeedButton4.bmp True GroupIndex 1 Down True 13. Tambahkan ColorBox1 dari tab Additional ke dalam ToolBar2.bmp Rectangle.

Tambahkan Combobox3 dari tab Additional ke dalam ToolBar3. Tambahkan SpinEdit1 dari tab Samples ke dalam ToolBar2. ubah property seperti table di bawah ini : Komponen Combobox1 Parent ToolBar2 Property Items Value bsSolid bsClear bsHorizontal bsVertical bsBDiagonal bsCross bsDiagCross csDropDownList 0 Style ItemIndex 18. Tambahkan Image1 dari tab Additional ke dalam ScrollBox1.2010 06/09/2011 21:51:34 76 . Tambahkan ColorBox2 dari tab Additional ke dalam ToolBar3.Komponen Parent Property Style ItemIndex Value pmXOR pmNotXOR csDropDownList 4 15. ubah property seperti table di bawah ini : Komponen SavePictureDialog1 Parent Form2 Property Title Value Save Picture Pemrograman Visual 1 – Ronny Faslah . ubah property seperti table di bawah ini : Komponen Image1 Parent ScrollBox1 Property Align Value alClient 20. ubah property seperti table di bawah ini : Komponen ColorBox1 Parent ToolBar2 Property Selected Value clRed 17. Tambahkan SavePictureDialog1 dari tab Dialogs ke Form2. ubah property seperti table di bawah ini : Komponen SpinEdit1 Parent ToolBar2 Property MaxValue MinValue Value 10 1 16. ubah property seperti table di bawah ini : Komponen ScrollBox1 Parent Form2 Property Align Value alClient 19. Tambahkan ScrollBox1 dari tab Additional ke Form2.

FileName). end.Left + 1. Index: Integer.Style := TPenStyle(Index). State: TOwnerDrawState). End.ComboBox1DrawItem(Control: TWinControl. Pilih SpeedButton1 pada Object TreeView. Combobox1.Top + 1. Komponen SpeedButton1 Event onClick Code procedure TForm2. Rect: TRect.Color := ColorBox1.FileName := Caption.Top + 5).Selected.2010 06/09/2011 21:51:34 77 . If SavePictureDialog1. Pen. buat event OnClick. Pada tahap ini seharusnya Form2 mempunyai layout seperti gambar di bawah ini : 22. Pilih Combobox1 pada Object TreeView. 23.FileName. LineTo(50. begin SavePictureDialog1.Top + 5). MoveTo(Rect. end.SpeedButton1Click(Sender: TObject). buat event OnDrawItem. ketikkan perintah seperti table di bawah ini . Pemrograman Visual 1 – Ronny Faslah .21. Rect. TextOut(60.Items[Index]).Execute then Begin Image1.Canvas do Begin Pen. ketikkan perintah seperti table di bawah ini : Komponen Combobox1 Event onDrawItem Code procedure TForm2. End. Rect. Caption := SavePictureDialog1. Rect. begin With Combobox1.Picture.SaveToFile(SavePictureDialog1.

End. mrNo : CanClose := True. ketikan perintah seperti table di bawah ini : Komponen Form2 Procedure DrawShape Code procedure TForm2.Text := 'Dimensi : ' + inttostr(Image1. ketikkan perintah seperti table di bawah ini : Komponen Form2 Event OnClose Code procedure TForm2. Buat Procedure DrawShape pada blok Private (lihat gambar di atas).FormClose(Sender: TObject.DrawShape. end.Graphic is TBitmap then Case MessageDlg('Simpan?'.2010 06/09/2011 21:51:34 78 . end. buat event onClose. lihat gambar berikut : 26.Height).Panels[0].FormShow(Sender: TObject). End. Tambahkan Variabel SP dan CP dengan type data TPoint pada blok Private.FormCloseQuery(Sender: TObject. OnCloseQuery dan onShow. Pilih Form2 pada Object TreeView. mrCancel : CanClose := False.txt' then SpeedButton1Click(self) else Begin If Image1. begin If Caption = 'Untitled.Width) + ' x ' + inttostr(Image1. var CanClose: Boolean). mtConfirmation. OnCloseQuery onShow 25. 0) of mrYes : SpeedButton1Click(Self).Picture. begin StatusBar1. mbYesNoCancel. tekan Ctrl+Shift+C untuk membuat blok procedure. end. begin Action := caFree. procedure TForm2.24. begin Pemrograman Visual 1 – Ronny Faslah . var Action: TCloseAction). procedure TForm2.

CP.Width := 1.X. Pen. Y). Shift: TShiftState. begin If Image1. Y: Integer).X. CP. If SpeedButton3. procedure TForm2. LineTo(CP.Down then Ellipse(SP.Text := 'Ukuran : ' + inttostr(abs(CP.X)) + ' x ' + inttostr(abs(CP.2010 06/09/2011 21:51:34 79 .Style := psDot. Pen. End. CP.Mode := pmNotXOR.X.Image1MouseMove(Sender: TObject. SP.Down then Rectangle(SP.Style := bsClear. 30). CP := Point(X. begin If (Image1. End.Down then Begin MoveTo(SP.Y.Color := clBlack.X. Pen. CP := Point(X. DrawShape.X. Brush. OnMouseMove dan OnMouseUp. StatusBar1.Y).Y). X. DrawShape.Y . If SpeedButton4. CP. End.SP.Panels[2]. CP. end. SP.Canvas do Begin SP := Point(X.X. Pen. buat event OnMouseDown. OnMouseMove Pemrograman Visual 1 – Ronny Faslah .Canvas do Begin If SpeedButton2. End.X.Down then RoundRect(SP. Shift: TShiftState.X .Down then Begin If ssLeft in Shift then Begin DrawShape.Komponen Procedure Code With Image1. ketikkan perintah seperti table di bawah ini : Komponen Image1 Event OnMouseDown Code procedure TForm2.Picture. 27.SP.Image1MouseDown(Sender: TObject. X.Graphic is TBitmap then With Image1.Y.Y.Y).Down or SpeedButton5. end.Y).Y. SP. 30. If SpeedButton5.Down or SpeedButton3.Down or SpeedButton4. CP.Picture. Y). Y).Graphic is TBitmap) and SpeedButton2. Y: Integer). Pilih Image1 pada Object TreeView. SP.Y)). CP. Button: TMouseButton.X.

StatusBar1. untuk menyimpan Project dan seluruh Unit. ubah property seperti table di bawah ini : Komponen PaintBox1 Timer1 Parent Form3 Form3 Property Align Interval Value alClient 10 32.Style := TBrushStyle(Combobox3. Brush. Pen. 29.ItemIndex). Brush.ItemIndex). Komponen Form3 Parent Property Caption FormStyle WindowState Value Random Shapes fsMDIChild wsMaximized 31. begin If Image1.Komponen Event OnMouseUp Code End.Image1MouseUp(Sender: TObject. Pen.Color := ColorBox1. 30. Y: Integer). Button: TMouseButton.Width := SpinEdit1.Color := ColorBox2. procedure TForm2. ' + inttostr(Y). ubah property seperti table di bawah ini .Graphic is TBitmap then With Image1. end.Value. X.ItemIndex).2010 06/09/2011 21:51:34 80 . DrawShape. Y). Pada tahap ini seharusnya Form3 mempunyai layout seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Tambahkan PaintBox1 dan Timer1 dari tab System.Selected.Panels[1]. Klik menu File – Save All.Text := 'Posisi : ' + inttostr(X) + '. Klik menu File – New – Form. CP := Point(X. Shift: TShiftState.Canvas do Begin DrawShape. end. 28.Style := TPenStyle(Combobox1.Mode := TPenMode(Combobox2. Pen.Picture.Selected. Pen. End. Pilih Form3 pada Object TreeView. untuk membuat form baru (Form3).

Pilih Timer1 pada Object TreeView. Panjang. var Action: TCloseAction).Canvas do Begin Pen. buat event OnClose dan OnCreate. end.FormCreate(Sender: TObject). Pemrograman Visual 1 – Ronny Faslah . Pen. begin Randomize.FormClose(Sender: TObject.Width := Random(5).Color := RGB(Random(255). Random(255). buat event OnTimer. Pen. procedure TForm3. dan shape dengan type data Integer pada blok Private. Brush.2010 06/09/2011 21:51:34 81 .Mode := TPenMode(Random(15)). lihat gambar berikut : 34. begin With PaintBox1. Random(255). ketikkan perintah seperti table di bawah ini : Komponen Timer1 Event OnTimer Code procedure TForm3. ketikkan perintah seperti table di bawah ini : Komponen Form Event OnClose Code procedure TForm3.Color := RGB(Random(255). Pilih Form3 pada Object TreeView. Buat variable PosX.33. PosY. Random(255)). Lebar.Timer1Timer(Sender: TObject). begin Action := caFree. end. OnCreate 35.

begin Application. PosY + Lebar).Execute then With Form2 do Begin Application. PosY := Random(Height).NewPicture1Click(Sender: TObject). 37. end. procedure TForm1. 38. 1 : RoundRect(PosX. End. end. Buat event OnClick untuk tiap menuitem. Align := alNone. PosY + Lebar). ketikkan perintah seperti table di bawah ini : Komponen NewPicture1 Event OnClick Code procedure TForm1. PosX + Panjang. klik OK untuk melanjutkan. Form2). PosX + Panjang. end. 2 : Ellipse(PosX. Lebar := Random(200) + 50. procedure TForm1.Keluar1Click(Sender: TObject).CreateForm(TForm2.2010 06/09/2011 21:51:34 82 . 36. begin Cascade.FileName). Form2). PosY. procedure TForm1. Klik menu File – Save All untuk menyimpan Project dan seluruh Unit. Case Shape of 0 : Rectangle(PosX.LoadFromFile(OpenPictureDialog1. Form2. Klik menu View – Forms. End. begin Application. Caption := OpenPictureDialog1. PosX + Panjang. PosX := Random(Width). Random(30)).FileName. pilih Form1. Kembali ke Form1. PosY. OpenPicture1 OnClick Exit1 OnClick RandomShape1 OnClick Cascade1 OnClick Pemrograman Visual 1 – Ronny Faslah . 39. With Image1 do Begin Picture. klik OK untuk melanjutkan. PosY + Lebar. end.Komponen Event Code Random(255)). begin Close. pilih Unit2 dan Unit3. End.bmp'.RandomShapes1Click(Sender: TObject). Panjang := Random(200)+ 50.CreateForm(TForm2. Form3). end.OpenPicture1Click(Sender: TObject). procedure TForm1. begin If OpenPictureDialog1. Random(30). end.CreateForm(TForm3.Cascade1Click(Sender: TObject). Shape := Random(3). Klik File – Use unit. PosY.Caption := 'Untitled. End.

Tile. begin TileMode := tbVertical.Komponen TileVertical1 Event OnClick TileHorizontal1 OnClick Code procedure TForm1. 41. end. Tile. begin TileMode := tbHorizontal. procedure TForm1. Uji dan jalankan aplikasi.2010 06/09/2011 21:51:34 83 . 40.ileVertically1Click(Sender: TObject).ileHorizontally1Click(Sender: TObject). end. Klik File – Save All untuk menyimpan Project dan seluruh Unit. Pemrograman Visual 1 – Ronny Faslah .

.Pemilik/Administrator dapat melakukan manajemen data Karyawan. 3. Karyawan . View Only Tidak Tidak Tidak Tidak Karyawan Ya Ya Tidak Ya Ya Tidak Tidak Ya Ya Pemilik / Admin Ya Ya Ya Ya Ya Ya Ya Ya Ya Pemrograman Visual 1 – Ronny Faslah . . . Koleksi dan Member .Karyawan dapat melakukan manajemen data koleksi.Karyawan dapat melakukan pencarian data member. .PROYEK SISTEM INFORMASI RENTAL VCD/DVD Proyek ini merupakan tugas akhir semester 3 yang akan dijadikan salah satu komponen nilai akhir semester matakuliah Pemrograman Visual 1. Kebutuhan Fungsional : 1. .Pemilik/Administrator dapat melakukan login ke aplikasi.Karyawan dapat melakukan pencarian data koleksi .Pemilik/Administrator dapat melihat laporan pendapatan.Karyawan bisa melakukan login ke dalam aplikasi.Karyawan dapat melakukan manajemen data member. .2010 06/09/2011 21:51:34 84 . View Only Ya. Matriks Penggunaan Form Pengguna Form FUtama FLogin FSetup FMember FKoleksi FPemasok FKaryawan FPinjam FKembali Unit UFUtama UFLogin UFSetup UFMember UFKoleksi UFPemasok UFKaryawan UFPinjam UFKembali Fungsi Form Utama Login Setup Data Pelanggan Data Koleksi Data Pemasok Data Karyawan Transaksi Peminjaman Transaksi Member Ya Tidak Tidak Ya.Karyawan dapat melihat histori transaksi member. Member . . . .Member yang terdaftar dapat melihat histori transaksi yang pernah dilakukannya.Karyawan dapat memasukkan transaksi peminjaman dan pengembalian koleksi. 2.Karyawan dapat melihat laporan transaksi harian. Pemilik/Administrator .Member dapat melakukan pencarian koleksi dan membaca informasi atau melihat preview koleksi film.Pemilik/Administrator dapat melihat laporan transaksi per periode.

2010 06/09/2011 21:51:34 85 .Pengguna Form Unit Fungsi Pengembalian Daftar Pelanggan Daftar Koleksi Laporan Transaksi Peminjaman Laporan Transaksi Pengembalian Laporan Koleksi belum Kembali Laporan Pendapatan Statistik About Member Ya Ya Tidak Tidak Tidak Tidak Ya Ya Karyawan Ya Ya Ya. Terbatas Ya Tidak Ya Ya Pemilik / Admin Ya Ya Ya Ya Ya Ya Ya Ya FDMember FDKoleksi FLPinjam FLKembali FLKoleksi FLPendapatan FStatistik FAbout UFDMember UFDKoleksi UFLPinjam UFLKembali UFLKoleksi UFLPendapatan UFLStatistik UFAbout Entity Relationship Diagram (ERD) Pemrograman Visual 1 – Ronny Faslah . Terbatas Ya.

Pemrograman Visual 1 – Ronny Faslah . klik tombol Create untuk membuat database (lihat gambar berikut). Jalankan aplikasi Microsoft Access 2003. Langkah-langkah : 1. Pilih folder Rental dimana file database akan disimpan (folder yang telah dibuat pada point 1). isi File Name dengan Rental. Pinjam. 2. Koleksi. Buat folder dengan nama Rental. Karyawan.Latihan 17 : Membuat Database Rental Aplikasi yang digunakan untuk merancang database rental adalah Microsoft Access 2003. 4. Pemasok. klik menu File – New…. Kembali dan Setup. pilih Blank Database (lihat gambar di bawah ini). Database rental terdiri dari table Pelanggan.mdb. klik Start – All Programs – Microsoft Office – Microsoft Access 2003. 3.2010 06/09/2011 21:51:34 86 . DPinjam. Buat database baru.

5. klik dua kali Create Table in Design View (lihat gambar berikut). PK Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 87 . Buat table baru. pilih Datatype dan atur Field Properties seperti table di bawah ini : Field Name MemberID Nama Alamat Kota TandaPengenal Data Type AutoNumber Text Text Text Text Field Properties FieldSize FieldSize FieldSize FieldSize FieldSize Value Long Integer 30 50 30 3 Ket. 6. Isi FieldName.

Simpan table. isi Field Name. 8. Field Name KoleksiID Data Type AutoNumber Field Properties FieldSize Value Long Integer Ket. 9.2010 06/09/2011 21:51:34 88 . pilih data type dan atur Field Properties seperti table di bawah ini. klik kanan pada baris MemberID kemudian pilih Primary Key (lihat gambar di atas). pilih menu File – Save… atau tekan Ctrl+S. 7. Tentukan MemberID sebagai Primary Key. tentukan KoleksiID sebagai Primary Key dan simpan dengan nama table Koleksi (lihat point 4 s/d 7). klik OK untuk melanjutkan (lihat gambar berikut). isi Table Name dengan Member. PK Pemrograman Visual 1 – Ronny Faslah . Buat table baru (table Koleksi).Field Name NoTandaPengenal TeleponRumah Handphone TglDaftar Status Passwords Photo Data Type Text Text Text Date/Time Text Text OLE Object Field Properties FieldSize FieldSize FieldSize Format FieldSize Fieldsize Value 30 30 30 ShortDate 10 10 Ket.

Buat table baru (table Pinjam). isi Field Name. Buat table baru (table Pemasok). PK 11. pilih data type dan atur Field Properties seperti table di bawah ini.Field Name Judul PemeranUtama Kategori JenisKoleksi TglBeli HargaBeli PemasokID LamaSewa HargaSewa HargaDenda Jumlah Cover Preview KaryawanID Data Type Text Text Text Text Date/Time Currency Number Number Currency Currency Number OLE Object Text Number Field Properties FieldSize FieldSize FieldSize FieldSize Format FieldSize FieldSize Value 50 100 20 10 ShortDate Long Integer Long Integer Ket. tentukan PemasokID sebagai Primary Key dan simpan dengan nama table Pemasok (lihat point 4 s/d 7). Field Name PemasokID Nama Alamat Kota Telepon Data Type AutoNumber Text Text Text Text Field Properties FieldSize FieldSize FieldSize FieldSize FieldSize Value Long Integer 30 50 30 30 Ket. Field Name KaryawanID Nama Alamat Kota Handphone HakAkses Passwords Photo Data Type AutoNumber Text Text Text Text Number Text OLEObject Field Properties FieldSize FieldSize FieldSize FieldSize FieldSize FieldSize FieldSize Value Long Integer 30 50 30 30 Long Integer 10 Ket. isi Field Name.2010 06/09/2011 21:51:34 89 . Buat table baru (table Karyawan). pilih data type dan atur Field Properties seperti table di bawah ini. PK Pemrograman Visual 1 – Ronny Faslah . tentukan PinjamID sebagai Primary Key dan simpan dengan nama table Pinjam (lihat point 4 s/d 7). tentukan KaryawanID sebagai Primary Key dan simpan dengan nama table Karyawan (lihat point 4 s/d 7). PK 12. isi Field Name. Field Name PinjamID TglPinjam MemberID TotalSewa KaryawanID Data Type AutoNumber Date/Time Number Currency Number Field Properties FieldSize Format FieldSize FieldSize Value Long Integer ShortDate Long Integer Long Integer Ket. FieldSize FieldSize FieldSize Long Integer 200 Long Integer 10. pilih data type dan atur Field Properties seperti table di bawah ini.

Pada tahap ini seharusnya Anda telah memiliki 8 buah table seperti pada gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Buat table baru (table Kembali). isi Field Name. tentukan DPinjamID sebagai Primary Key dan simpan dengan nama table DPinjam (lihat point 4 s/d 7). PK 14.2010 06/09/2011 21:51:34 90 . PK 15. Buat table baru (table DPinjam). Buat table baru (table Rental). tentukan KembaliID sebagai Primary Key dan simpan dengan nama table Kembali (lihat point 4 s/d 7). Field Name Nama Alamat Telepon Pemilik Data Type Text Text Text Text Field Properties FieldSize FieldSize FieldSize FieldSize Value 30 50 30 30 Ket. isi Field Name. isi Field Name.13. 16. Field Name KembaliID TglKembali MemberID TotalDenda KaryawanID Data Type AutoNumber Date/Time Number Currency Number Field Properties FieldSize Format FieldSize Field Size Value Long Integer ShortDate Long Integer Long Integer Ket. pilih data type dan atur Field Properties seperti table di bawah ini. pilih data type dan atur Field Properties seperti table di bawah ini dan simpan dengan nama table Rental (lihat point 4 s/d 7). pilih data type dan atur Field Properties seperti table di bawah ini. Field Name DPinjamID PinjamID KoleksiID HargaSewa TglHarusKembali KembaliID HargaDenda Data Type AutoNumber Number Number Currency Date/Time Number Currency Field Properties FieldSize FieldSize FieldSize Format FieldSize Value Long Integer Long Integer Long Integer ShortDate Long Integer Ket.

Pemrograman Visual 1 – Ronny Faslah .17. Tutup aplikasi Microsoft Access.2010 06/09/2011 21:51:34 91 .

simpan dalam folder Rental. toolbar. Pilih Form1 pada Object TreeView.Latihan 18 : Membuat Form Utama Form utama pada aplikasi ini berfungsi untuk menampilkan menu. ubah property seperti pada table di bawah ini : Komponen Form1 Property Caption Color Name WindowState Value Aplikasi Rental v1.dpr. 2. Klik dua kali MainMenu1 untuk membuka menu editor. Simpan Unit1 menjadi UFUtama. informasi waktu sekaligus untuk mendefinisikan koneksi ke database Rental yang kita buat pada latihan terdahulu.mdb berada pada folder Rental yang telah dibuat pada Latihan 17 point 1. Buat mainmenu dengan struktur seperti di bawah ini : Menu File SubMenu Login Logout -----------------Setup Property Caption Caption ShortCut Caption Enable Caption Caption Shortcut Enable Caption Caption Caption Enable Caption Shortcut Caption Shortcut Caption Caption Shortcut Caption Caption Shortcut Caption Value &File &Login… Ctrl+L Logout False &Setup… Ctrl+S False E&xit &Data False Membe&r Ctrl+R K&oleksi… Ctrl+O Pe&masok… Ctrl+M Karya&wan Ctrl+W &Transaksi -----------------Exit Data Member Koleksi -----------------Pemasok -----------------Karyawan Transaksi Pemrograman Visual 1 – Ronny Faslah . Langkah-langkah : 1. Jalankan aplikasi Delphi.0 (beta) clWhite FUtama wsMaximized 4. 5. Pastikan file database Rental.2010 06/09/2011 21:51:34 92 . Pilih menu File – Save All untuk menyimpan project.pas dan Project1 menjadi Rental. Tambahkan MainMenu1 dari tab Standard. 3.

bmp Pengembalian Userid. SpeedButton4. SpeedButton7 Tab Win32 Win32 Win32 Win32 Win32 Win32 Win32 Parent ToolBar1 ToolBar1 ToolBar1 ToolBar1 ToolBar1 ToolBar1 ToolBar1 Property Glyph Hint Glyph Hint Glyph Hint Glyph Hint Glyph Hint Glyph Hint Glyph Hint Enable Flat Height Width ShowHint Value Adduser. SpeedButton3. Ubah property seperti table di bawah ini : Komponen ToolBar1 Tab Win32 Parent FUtama Property Autosize ButtonHeight ButtonWidth Color Value True 44 46 clBtnFace 7. SpeedButton2.bmp Peminjaman DeleteFile. Tambahkan ToolBar1 dari tab Win32.Menu SubMenu Peminjaman Pengembalian Pencarian Daftar Member Daftar Koleksi -----------------Laporan Transaksi Peminjaman Transaksi Pengembalian Koleksi belum Kembali -----------------Pendapatan Help! About Property Enable Caption Shortcut Caption Shortcut Caption Caption Caption Caption Caption Enable Caption Caption Caption Caption Caption Caption Caption Value False &Peminjaman… Ctrl+P Pengem&balian… Ctrl+B &Pencarian &Daftar Member… Daftar &Koleksi… &Laporan False Transaksi Peminjaman… Transaksi Pengembalian… Koleksi Belum Kembali … Pendapatan… &Help! &About 6. ubah property seperti table di bawah ini : Komponen SpeedButton1 SpeedButton2 SpeedButton3 SpeedButton4 SpeedButton5 SpeedButton6 SpeedButton7 SpeedButton1. SpeedButton5. SpeedButton4 SpeedButton1.bmp Daftar Member Pictures.bmp Koleksi Baru AddFile.bmp Daftar Koleksi Websearch. SpeedButton6. SpeedButton2. SpeedButton3.bmp Statistik False True 44 46 True Pemrograman Visual 1 – Ronny Faslah .bmp Member Baru FavAdd.2010 06/09/2011 21:51:34 93 . Tambahkan 7 buah SpeedButton dari tab Additional.

Panels[2] Property Text Width Text Width Text Width Value Tanggal : 150 User : 150 Aplikasi Rental 150 9. Tambahkan Timer1 dari tab System. Klik dua kali StatusBar1 untuk membuka Panel Editor. ubah property seperti pada table di bawah ini : Komponen Image1 Tab Additional Parent FUtama Property Align Center Picture Value alClient True Rental. Tambahkan ADOConnection1 dari tab ADO.Panels[1] StatusBar1. 13. 11. klik Next untuk melanjutkan. klik tombol Build untuk membuat koneksi.2010 06/09/2011 21:51:34 94 . Pilih Microsoft Jet 4.0 OLE DB Provider. Tambahkan StatusBar1 dari tab Win32.8. tambahkan 3 buah panel dan ubah property masing-masing panel seperti table di bawah ini : Komponen StatusBar1. Klik dua kali ADOConnection1 untuk membuka Connection String Editor. Tambahkan Image1 dari tab Additional. ubah property seperti table di bawah ini : Komponen ADOConnection1 Tab ADO Parent FUtama Property LoginPrompt Value False 12.Panels[0] StatusBar1. Pemrograman Visual 1 – Ronny Faslah .bmp 10.

Pemrograman Visual 1 – Ronny Faslah .mdb ada pada folder yang sama dengan program yang sedang dibuat.14. pastikan database Rental. Klik Test Connection untuk menguji koneksi.mdb pada Select or enter Database Name.2010 06/09/2011 21:51:34 95 . Ketikkan Rental.

Klik kanan pada field editor. Pada tahap ini seharusnya FUtama mempunyai layout seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 96 . klik dua kali Rental untuk membuka field editor. Tambahkan ADOTable1 dari tab ADO. Pada object Treeview. kemudian pilih Add All Fields… 17. ubah property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FUtama Property Connection Name TableName Value ADOConnection1 Rental Rental 16.15.

lihat gambar berikut : 19.Value. Pilih FUtama pada Object Tree. end.18. AlamatRental := RentalAlamat. 20. Timer1Timer(Self). StatusBar1. begin ADOConnection1.FormCreate(Sender: TObject).Connected := False. buat event onTimer.Value. AlamatRental.2010 06/09/2011 21:51:34 97 .Panels[0].Text := NamaRental + '.Panels[2].FormClose(Sender: TObject. TelpRental dengan type String pada blok Public di unit UFUtama. 'Senin'.Value. var Action: TCloseAction).FormCloseQuery(Sender: TObject.Timer1Timer(Sender: TObject). 'Selasa'.Text := 'User : ' + NamaKaryawan. 'Kamis'. end. Tambahkan variable KaryawanID dan HakAkses dengan type Integer. TelpRental := RentalTelepon. end. buat event onCreate dan onClose. begin StatusBar1.Connected := True. variable NamaKaryawan. Const Hari : Array [1. ' + AlamatRental + ' ' + TelpRental. 'Sabtu'). 'Rabu'. procedure TFUtama. Rental..Close. ' + DateToStr(Now) + ' ' + TimeToStr(Now). ketikkan perintah seperti table di bawah ini : Komponen FUtama Event onCreate Code procedure TFUtama. onClose onCloseQuery Pemrograman Visual 1 – Ronny Faslah . Rental. Pilih Timer1 pada Object TreeView.Panels[1]. var CanClose: Boolean). NamaRental. NamaRental := RentalNama. 'Jum''at'. begin ADOConnection1.7] of String = ('Minggu'. StatusBar1.Open.Text := Hari[DayofWeek(Now)] + '. ketikkan perintah seperti table di bawah ini : Komponen Timer1 Event onTimer Code procedure TFUtama. procedure TFUtama.

7 dan 18 . mtConfirmation. 0) = mrYes. mbNo]. NEW Perbaikan : 1. Lakukan perbaikan Latihan 18 (Membuat Form Utama) : Point 5. Pemrograman Visual 1 – Ronny Faslah . jalankan dan uji aplikasi.2010 06/09/2011 21:51:34 98 . 21. Lakukan perbaikan Latihan 17 (Membuat Database Rental) : Point 9. end.Komponen Event Code begin CanClose := MessageDlg('Tutup Aplikasi?'. 2. Simpan. [mbYes.

Jalankan aplikasi Delphi. 1 untuk Operator dan 2 untuk Pemilik/Administrator. Form Login akan menampilkan daftar Nama Karyawan dalam bentuk Combobox dan password. 6.Latihan 19 : Membuat Form Login Form Login digunakan untuk membatasi akses setiap user. Buat form baru. Pilih object Tables. 2.dpr. tambahkan data karyawan seperti pada gambar di bawah ini : 4. 5. Hak akses terdiri dari 0 untuk Member. kemudian klik dua kali table Karyawan untuk menambahkan data karyawan. Simpan file Rental. Langkah-langkah : 1. Buka file Rental. 7.mdb dan tutup aplikasi Microsoft Access. buka project Rental. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Login bsDialog FLogin poDesktopCenter Pemrograman Visual 1 – Ronny Faslah . Jalankan aplikasi Microsoft Access 2003.2010 06/09/2011 21:51:34 99 .mdb yang telah dibuat pada Latihan 17. klik menu File – New – Form. 3.

klik Login True GroupBox1 Standard FLogin Wordwrap Caption 12. Tambahkan Image1 dari tab Additional.bmp True 11. Tambahkan Label1 dan GroupBox1 dari tab Standard. 10. 1 buah Combobox dan 1 buah Edit dari tab Standard ke dalam GroupBox1. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox1. Klik menu File – Use Unit…. Pilih menu File – Save All untuk menyimpan project. Tambahkan ADOTable1 dari tab ADO.bmp mrCancel BitBtn2 Additional GroupBox1 14.ADOConnection1 Karyawan Karyawan Pemrograman Visual 1 – Ronny Faslah .pas dalam folder Rental. Tambahkan 2 buah Label. ubah property seperti table di bawah ini : Komponen Label1 Tab Standard Parent FLogin Property Caption Value Pilih nama karyawan dan masukkan password. ubah property seperti table di bawah ini : Komponen BitBtn1 Tab Additional Parent GroupBox1 Property Caption Glyph Modalresult Caption Glyph ModalResult Value Login Login. ubah property seperti table di bawah ini : Komponen Image1 Tab Additional Parent FLogin Property Autosize Picture Transparent Value True Key. ubah property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FLogin Property Connection Name TableName Value FUtama. ubah property seperti table di bawah ini : Komponen Label2 Label3 Combobox1 Edit1 Tab Standard Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Style PassWordChar Text Value Nama Karyawan Password csDropDownList * 13.8. klik OK untuk melanjutkan. Simpan Unit1 menjadi UFLogin.bmp mrOK Batal Batal. pilih FUtama. 9.2010 06/09/2011 21:51:34 100 .

FormShow(Sender: TObject). 0).Value. End.BitBtn1Click(Sender: TObject). var Action: TCloseAction).HakAkses := KaryawanHakAkses.15. klik dua kali Karyawan pada Object TreeView untuk membuka Field Editor. onClose 18. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFLogin.NamaKaryawan := KaryawanNama.Value.Add(KaryawanNama.Open. End Else Begin MessageDlg('Password tidak cocok!'.FormClose(Sender: TObject. procedure TFLogin.Items. FUtama.Next. Edit1. end. Combobox1.Eof do Begin Combobox1. Pada tahap ini seharusnya FLogin mempunyai layout seperti gambar di bawah ini : 17. end.Locate('Nama'. FUtama. Karyawan. Modalresult := mrNone.Close. begin Karyawan.Combobox1.KaryawanID := KaryawanKaryawanID. []) and (Edit1. Buat field persistent table Karyawan. klik kanan pada Field Editor pilih Add All Fields (lihat Latihan 18 Point 16). [mbOK]. End.Clear.Value) then Begin FUtama. While not Karyawan. 16.Clear. Pilih FLogin pada Object TreeView.Text = KaryawanPasswords.Text. buat event onClick. mtError. begin If Karyawan. begin Karyawan. Pemrograman Visual 1 – Ronny Faslah .Value).2010 06/09/2011 21:51:34 101 . buat event onShow dan onClose Komponen FLogin Event onShow Code procedure TFLogin.Value. Pilih BitBtn1 pada Object Treeview. end.

klik menu View – Forms. Setup1.Enabled := HakAkses in [1. Karyawan1. SpeedButton3.2].Enabled := HakAkses in [2]. ketikkan perintah seperti table di bawah ini : Komponen Edit1 Event onKeyPress Code procedure TFLogin. Pilih Edit1 pada Object TreeView.2]. Pilih Login1 pada Object Treeview.Enabled := HakAkses in [2]. klik OK untuk melanjutkan.EnableMenu. ketikkan perintah seperti table di bawah ini : Komponen Login1 Event onClick Code procedure TFUtama.Edit1KeyPress(Sender: TObject. Buat procedure EnableMenu pada blok private. SpeedButton1.Enabled := HakAkses in [1.2].Enabled := HakAkses in [1. Kembali ke form FUtama.Login1Click(Sender: TObject). Pemrograman Visual 1 – Ronny Faslah . SpeedButton4. pilih FUtama.Enabled := HakAkses in [1. Koleksi1. 20. end. klik OK untuk melanjutkan.2]. ransaksi1.2].Enabled := HakAkses in [1.2]. var Key: Char). Data1. begin If Key = #13 then BitBtn1Click(Self).Enabled := HakAkses in [1. begin If FLogin.ShowModal = mrOK then EnableMenu.Enabled := HakAkses in [2].19. 21. end. buat event onClick. begin Logout1. Laporan1.2]. 22. tekan Ctrl+Shift+C untuk membuat blok procedure.Enabled := HakAkses in [1. end.Enabled := HakAkses in [2]. Klik menu File – Use Unit.2010 06/09/2011 21:51:34 102 .Enabled := HakAkses in [1. SpeedButton2.2].Enabled := HakAkses in [1. 23. Member1. Pemasok1. Pendapatan1.2].2].Enabled := HakAkses in [1. buat event onKeyPress. pilih UFLogin. ketikkan perintah seperti pada table di bawah ini : Komponen FUtama Procedure EnableMenu Code procedure TFUtama.

begin If MessageDlg('Logout?'.2010 06/09/2011 21:51:34 103 . mbNo]. 25. NamaKaryawan := ''. 0) = mrYes then Begin HakAkses := 0. ketikkan perintah seperti table di bawah ini : Komponen Logout1 Event onClick Code procedure TFUtama. Pilih Logout1 pada ObjectTreeView. Pemrograman Visual 1 – Ronny Faslah .24. end. Simpan. EnableMenu. End. jalankan dan uji aplikasi. buat event onClick.Logout1Click(Sender: TObject). KaryawanID := 0. mtConfirmation. [mbYes.

klik dua kali Rental pada Object TreeView untuk membuka Field Editor. ubah property seperti table di bawah ini : Komponen Image1 Tab Additional Parent FSetup Property Autosize Picture Transparent Value True Configure. 10. kemudian drag and drop seluruh field ke dalam GroupBox1. Tambahkan Image1 dari tab Additional. Tambahkan ADOTable1 dari tab ADO. Jalankan aplikasi Delphi. 11. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Setup bsDialog FSetup poDesktopCenter 4.2010 06/09/2011 21:51:34 104 . 6. 3. klik menu File – New – Form. Pilih menu File – Save All untuk menyimpan project. Masih di Field Editor table Rental. 5. klik OK untuk melanjutkan. Langkah-langkah : 1. Klik menu File – Use Unit…. pastikan semua field telah terpilih (kalau belum terpilih. klik kanan Field Editor.bmp True 7. buka project Rental. pilih Select All). Tambahkan GroupBox1 dari tab Standard.Latihan 20 : Membuat Form Setup Form Setup digunakan untuk mengelola data yang berkaitan dengan Rental seperti Nama Rental. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent FSetup Property Caption Value 8. pilih FUtama. Buat form baru. Tambahkan 2 buah BitBtn dari tab Additional. ubah property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . telepon dan Nama Pemilik Rental. Buat field persistent table Rental. Simpan Unit1 menjadi UFSetup. ubah property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FSetup Property Connection Name TableName Value FUtama.pas dalam folder Rental.ADOConnection1 Rental Rental 9. Alamat. 2.dpr. klik kanan pada Field Editor pilih Add All Fields (lihat Latihan 18 Point 16).

end. end.Enabled := Rental. buat event onStateChange. ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFSetup.Close. end.bmp mrYes Batal Batal.Komponen BitBtn1 Tab Additional Parent GroupBox1 BitBtn2 Additional GroupBox1 Property Caption Glyph ModalResult Caption Glyph ModalResult Value Simpan Simpan.bmp mrCancel 12. procedure TFSetup. end.State in dsEditModes. buat event onClick. Atur layout form FSetup seperti gambar di bawah ini : 13. var Action: TCloseAction).FormShow(Sender: TObject).Post. ketikkan perintah seperti table di bawah ini : Komponen FSetup Event onShow Code procedure TFSetup.DataSource1StateChange(Sender: TObject). Pilih Datasource1 pada Object TreeView. Pilih FSetup pada Object TreeView. OnClose 14. begin Rental. 15. begin Rental.FormClose(Sender: TObject.BitBtn1Click(Sender: TObject). begin Rental. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFSetup. Pemrograman Visual 1 – Ronny Faslah . begin BitBtn1.Open. buat event onShow dan onClose.2010 06/09/2011 21:51:34 105 . Pilih BitBtn1 pada Object TreeView.

buat event onClick.Setup1Click(Sender: TObject). klik OK untuk melanjutkan. pilih FSetup.2010 06/09/2011 21:51:34 106 . 18. begin Rental. klik menu View – Forms…. end.ShowModal. 17. end. Klik menu File – Use Unit. Pilih Setup1 pada Object TreeView.16. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Event OnClick Code procedure TFSetup. pilih FUtama.BitBtn2Click(Sender: TObject). Pilih BitBtn2 pada Object TreeView. 19. klik OK untuk melanjutkan. jalankan dan uji aplikasi. begin FSetup. buat event OnClick. 20. Kembali ke form FUtama. Simpan. Pemrograman Visual 1 – Ronny Faslah . ketikkan perintah seperti table di bawah ini : Komponen Setup1 Event onClick Code procedure TFUtama.Cancel.

Klik menu File – Use Unit…. Langkah-langkah : 1. Tambahkan PageControl1 dari tab Win32. Buat form baru. ubah property seperti table di bawah ini : Komponen PageControl1 Tab Win32 Parent FMember Property Align Value alClient 7. Atur property seperti table di bawah ini : Komponen TabSheet1 TabSheet2 Parent PageControl1 PageControl1 Property Caption Caption Value Data Member Histori Transaksi 8. Tambahkan GroupBox1 dari tab Standard ke dalam Tabsheet1.2010 06/09/2011 21:51:34 107 .dpr telah dibuka. pilih UFUtama. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent TabSheet1 Property Align Caption Value alClient 9. klik menu File – New – Form. Pastikan project Rental. 5.pas dalam folder Rental. klik OK untuk melanjutkan. ubah property seperti table di bawah ini : Komponen ToolBar1 Tab Win32 Parent GroupBox1 Property Autosize ButtonHeight ButtonWidth Value True 44 46 Pemrograman Visual 1 – Ronny Faslah . Pilih menu File – Save All untuk menyimpan project. kemudian pilih New Page.Latihan 21 : Membuat Form Member Form Member digunakan untuk mengelola data member. Simpan Unit1 menjadi UFMember. Tambahkan Toolbar1 dari tab Win32 ke dalam GroupBox1. Tambahkan dua buah TabSheet dengan cara mengklik kanan komponen PageControl1. 3. 6. Data dan histori transaksi ditampilkan dalam tab yang terpisah. Form Member juga digunakan untuk menampilkan histori transaksi tiap member. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Member bsDialog FMember poDesktopCenter 4. 2.

Hapus DBEdit9 dari GroupBox1.bmp 2 Kartu Printer. klik dua kali Member pada Object TreeView untuk membuka Field Editor. pastikan semua field telah terpilih (kalau belum. 14. Masih di field editor table Member. klik kanan Field Editor. pilih Select All). SpeedButton3. ubah property seperti table di bawah ini : Komponen DBCombobox1 Tab Data Control Parent GroupBox1 Property DataSource DataField Items Value DataSource1 TandaPengenal KTP SIM 15.bmp 1 Hapus Hapus. gantikan dengan DBCombobox1 dari tab Data Control.10. atur property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FMember Property Connection Name TableName Value FUtama. SpeedButton4 11. gantikan dengan DateTimePicker1 dari tab Win32.2010 06/09/2011 21:51:34 108 .ADOConnection1 Member Member 12.bmp 3 Batal Batal. Tambahkan 4 buah SpeedButton dari tab Additional ke dalam ToolBar1. klik kanan pada field editor pilih Add All Fields (lihat latihan 18 point 16). kemudian lakukan drag and drop seluruh field ke dalam GroupBox1. Hapus DBEdit10 dari GroupBox1.bmp 4 blTop 46 True 44 SpeedButton2 Additional ToolBar1 SpeedButton3 Additional ToolBar1 SpeedButton4 Additional ToolBar1 SpeedButton1. ubah property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . atur property seperti table di bawah ini : Komponen SpeedButton1 Tab Additional Parent ToolBar1 Property Caption Glyph Tag Caption Glyph Tag Caption Glyph Tag Caption Glyph Tag Layout Width Flat Height Value Simpan Simpan. 13. Buat persistent field table Member. SpeedButton2. Hapus DBEdit5 dari GroupBox1. Tambahkan ADOTable1 dari tab ADO. 16. gantikan dengan DBCombobox2 dari tab Data Control.

DBCombobox2.nbPost VisibleButtons.TglPinjam. Pemrograman Visual 1 – Ronny Faslah .KoleksiID = Koleksi. Ubah property untuk komponen Data Control seperti table di bawah ini : Komponen DBEdit1.nbDelete VisibleButtons. atur property seperti table di bawah ini : Komponen BitBtn1 Tab Additional Parent GroupBox1 Property Caption Glyph Value Cari … Cari. DBEdit2. Tambahkan DBNavigator1 dari tab Data Control ke dalam GroupBox1. 19.KoleksiID) as Judul. DBEdit6. DBEdit3. Tambahkan BitBtn1 dari tab Additional ke dalam GroupBox1.Judul From Koleksi Where DPinjam.bmp 20.ADOConnection1 DataSource1 qTransaksi Select Pinjam. atur property seperti table di bawah ini : Komponen DBNavigator1 Tab Data Control Parent GroupBox1 Property Align Datasource Flat VisibleButtons.nbRefresh Value alBottom Datasource1 True False False False False False False 21. DBEdit4. DBEdit11 DBImage1 Property Enabled CharCase Value False ecUpperCase Center Stretch True True 18. DPinjam.2010 06/09/2011 21:51:34 109 .nbCancel VisibleButtons. Tambahkan ADOQuery1 dari tab ADO. DBEdit11 DBEdit1. Tambahkan OpenPictureDialog1 dari tab Dialogs.KoleksiID. atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FMember Property Connection Datasource Name SQL Value FUtama.nbInsert VisibleButtons. DBEdit7. (Select Koleksi.nbEdit VisibleButtons. DBEdit8. DBCombobox1.Komponen DBCombobox2 Tab Data Control Parent GroupBox1 Property DataSource DataField Items Value DataSource1 Status AKTIF TIDAK AKTIF 17.

PinjamID = DPinjam.KembaliID = Kembali. Tambahkan Datasource2 dari tab Data Access. coba periksa kembali property SQL pada qTransaksi. mungkin ada kesalahan penulisan script.TglKembali From Kembali Where DPinjam.2010 06/09/2011 21:51:34 110 . Atur layout form FMember seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . kemudian klik kanan pada field editor dan pilih Add All Fields. Kalau gagal.(Select Kembali. pilih MemberID (lihat gambar). DPinjam Where (Pinjam. ubah property seperti table di bawah ini : Komponen TParameters[0] Property DataType Value ftInteger 23. Pilih qTransaksi pada Object Treeview.PinjamID) and (Pinjam.TglPinjam 22.MemberID = :MemberID) Order by Pinjam. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters. 24. Buat persistent field untuk query qTransaksi. klik dua kali qTransaksi pada Object TreeView untuk membuka field editor.KembaliID) as TglKembali From Pinjam. ubah property seperti table di bawah ini : Komponen Datasource2 Tab Data Access Parent FMember Property Dataset Value qTransaksi 25.

2010 06/09/2011 21:51:34 111 . pilih Tab Order. Tambahkan variable MemberID dengan type Integer pada blok Public di unit UFMember. kemudian atur urutan tab dengan urutan seperti gambar berikut : 27. Atur urutan tab pada GroupBox1 dengan cara klik kanan GroupBox1.26. lihat gambar berikut : Pemrograman Visual 1 – Ronny Faslah .

PasswordChar := '*' else DBEdit11. procedure TFMember.PasswordChar := #0.Locate('MemberID'.Tag of 1 : Member. begin Case (Sender as TSpeedButton). If (Sender as TSpeedButton). Pilih SpeedButton1. end. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1. end.28. 4 : Member. If MemberID > 0 then Member. ketikkan perintah seperti table di bawah ini : Komponen FMember Event onCreate Code procedure TFMember.FormCreate(Sender: TObject). Pemrograman Visual 1 – Ronny Faslah . qTransaksi.Insert. SpeedButton4 Event onClick Code procedure TFMember.Tag in [2. begin MemberID := 0. End.Delete. end.Cancel.Close. buat event OnClick. procedure TFMember.FormShow(Sender: TObject). SpeedButton2. Member. var Action: TCloseAction). If FUtama.2010 06/09/2011 21:51:34 112 . SpeedButton3. PageControl1. buat event OnCreate. begin MemberID := 0.Open.Open. qTransaksi.Close. end. SpeedButton3 dan SpeedButton4 pada Object TreeView. Member.Post. Pilih FMember pada Object TreeView. 3:. OnShow dan OnClose.ActivePageIndex := 0. []) else Member. SpeedButton2.FormClose(Sender: TObject.SpeedButton1Click(Sender: TObject). onShow onClose 29. MemberID. 2 : Member.4] then Close.HakAkses = 0 then DBEdit11. begin Randomize.

MemberPasswords.2].mtConfirmation.Value := Now.2].Enabled := FUtama. DBEdit3.HakAkses in [1.DataSource1StateChange(Sender: TObject).HakAkses in [1.Enabled := FUtama. BeforeDelete BeforePost onNewRecord 31.Value := 'BANJARMASIN'.HakAkses in [1. begin If MessageDlg('Hapus data?'.Enabled := FUtama. begin SpeedButton1.2].HakAkses in [1.HakAkses in [1. end. MemberTandaPengenal.2].2]). DBEdit2. DateTimePicker1. DBCombobox2.Enabled := (Member. procedure TFMember.Enabled := FUtama.Enabled := (Member. DBEdit7. buat event AfterScroll.MemberBeforePost(DataSet: TDataSet).Enabled := FUtama.Date.Enabled := FUtama. ketikkan perintah seperti table di bawah ini : Komponen Member Event AfterScroll Code procedure TFMember. end.Value. DBCombobox1.State in dsEditModes) and (FUtama. begin MemberTglDaftar. Pemrograman Visual 1 – Ronny Faslah . SpeedButton3.MemberNewRecord(DataSet: TDataSet).Enabled := FUtama.2].State in [dsBrowse]) and (FUtama.HakAkses in [1.HakAkses in [1.HakAkses in [1.2]). DBEdit6.Value := 'AKTIF'. BeforeDelete. DBEdit4. end. MemberStatus. buat event onStateChange. SpeedButton2.HakAkses in [1. Pilih Datasource1 pada Object TreeView. Pilih Member pada Object TreeView. BeforePost dan onNewRecord. Random(9999)).30. procedure TFMember.MemberBeforeDelete(DataSet: TDataSet).2010 06/09/2011 21:51:34 113 .Date := MemberTglDaftar.2]).HakAkses in [1.Value := 'KTP'.State in [dsBrowse]) and (FUtama.Enabled := (Member.HakAkses in [1.Enabled := (FUtama. end. MemberTglDaftar. DBNavigator1. 0) = mrNo then Abort.HakAkses in [1.2]). procedure TFMember. DBEdit8. begin If DBEdit2. MemberKota.MemberAfterScroll(DataSet: TDataSet). end. ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFMember. begin DateTimePicker1.2].Enabled := FUtama.Enabled then ActiveControl := DBEdit2. BitBtn1.HakAkses in [1.Value := DateTimePicker1.HakAkses in [1.2]. mbNo]. [mbYes.2].Value := FormatFloat('0000'.Enabled := FUtama.Enabled := FUtama.2].2].

Caption Title.32.Font. end.Alignment Title.2010 06/09/2011 21:51:34 114 . End.LoadFromFile(FileName). buat event onClick.Picture.fsBold Value taCenter Tgl Pinjam True 100 taCenter #Koleksi True Pemrograman Visual 1 – Ronny Faslah .Caption Title.Style. Atur property untuk masing-masing kolom seperti table di bawah ini : Komponen DBGrid1. Klik kanan pada Column Editor. Klik dua kali DBGrid1 pada Object TreeView untuk membuka Column Editor.Font.Columns[1] Property Title.State in [dsBrowse] then Member. Pilih TabSheet2 pada Object TreeView. ubah property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent TabSheet2 Property Align Datasource Value alClient DataSource2 35. End.Columns[0] DBGrid1. begin With OpenPictureDialog1 do Begin If Execute then Begin If Member.BitBtn1Click(Sender: TObject). Tambahkan DBGrid1 dari tab Data Control ke dalam TabSheet2.Style. pilih Add All Fields (lihat gambar dibawah ini). ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFMember. DBImage1.Edit.fsBold Width Title. Pilih BitBtn1 pada Object TreeView.Alignment Title. 34. 33.

end. jalankan dan uji aplikasi. Simpan.ShowModal. pilih FMember. klik OK untuk melanjutkan.SpeedButton1Click(Sender: TObject).Caption Title. Pemrograman Visual 1 – Ronny Faslah .Font. begin FMember. 39. Pada tahap ini seharusnya FMember mempunyai tampilan seperti gambar berikut ini : 37.Font. buat event onClick. Pilih SpeedButton1 pada Object TreeView.Columns[2] DBGrid1.Style. pilih FUtama.Alignment Title.fsBold Width Value 60 taCenter Judul True 250 taCenter Tgl Kembali True 100 36. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1 Event onClick Code procedure TFUtama. 40.Member1Click(Sender: TObject).Columns[3] Property Width Title. klik menu View – Form…. 38. ketikkan perintah seperti table di bawah ini : Komponen Member1 Event onClick Code procedure TFUtama. klik OK untuk melanjutkan. buat event onClick. 41. end. Kembali ke form FUtama.fsBold Width Title.Komponen DBGrid1.Alignment Title. Klik menu File – Use Unit. Pilih Member1 pada Object TreeView.ShowModal.Caption Title.2010 06/09/2011 21:51:34 115 .Style. begin FMember.

26. 2.Tugas : 1.2010 06/09/2011 21:51:34 116 .24. Tugas akan diperiksa pada pertemuan berikutnya. 31 dan 32. 18. 29. 28. 20. Perbaikan (Khusus kelas 3E dan 3G) : NEW 1. Pemrograman Visual 1 – Ronny Faslah . Lakukan perbaikan pada Latihan 21 (Membuat Form Member) : Point 10. 19. 3. 21 . dan 21. Masukkan minimal 10 data member member lengkap dengan foto melalui form Member. Selesaikan Latihan 17. 20.

Seperti pendahulunya. 3.2010 06/09/2011 21:51:34 117 .Cara Instalasi QuickReport di Delphi 7. QuickReport juga disertakan dalam Delphi 7.bpl pada lokasi C:\Program Files\Borland\Delphi7\Bin. 4.0 QuickReport merupakan komponen yang dapat digunakan untuk membuat laporan dengan berbagai macam bentuk.0. Cari file dcltqr70. Jalankan aplikasi Delphi. Klik Open untuk membuka file tersebut. Berikut adalah langkah-langkah instalasi QuickReport pada Delphi 7. klik Add untuk menambahkan paket baru. 2.0 tetapi tidak secara otomatis terpasang pada proses instalasi Delphi 7. Klik menu Components – Install Packages. Klik OK untuk menutup Project Options. Pemrograman Visual 1 – Ronny Faslah . Pada tahap ini seharusnya komponen QuickReport sudah terpasang dengan baik.0 : 1.

2. pada tab New pilih Reports. klik OK untuk melanjutkan. Tambahkan ADOQuery1 dari tab ADO. Pilih qMember pada Object TreeView. Buat Report baru.0. ubah property seperty table di bawah ini : Komponen TParameters[0] Property DataType Value ftInteger Pemrograman Visual 1 – Ronny Faslah . klik OK untuk melanjutkan.dpr telah dibuka.ADOConnection1 qMember Select Member. Pastikan QuickReport sudah terpasang pada Delphi 7.0. Langkah-langkah : 1. Pastikan project Rental. klik menu File – New – Others.0. 4. Jika belum lihat dokumen instalasi QuickReport di Delphi 7. Klik menu File – Use Unit. karena QuickReport tidak otomatis terpasang pada instalasi Delphi 7. 3. pilih MemberID.MemberID = :MemberID) 5.* From Member Where (Member.Latihan 22 : Membuat QuickReport Kartu Member Kartu member dibuat menggunakan komponen QuickReport. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters.2010 06/09/2011 21:51:34 118 . ubah property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent QuickReport1 Property Connection Name SQL Value FUtama. pilih UFUtama.

10. ubah Units menjadi MM. klik dua kali qMember pada Object TreeView.6. Klik dua kali QRKartuMember pada Object TreeView untuk membuka jendela Report Settings. ubah property seperti table di bawah ini : Komponen QuickReport1 Property Dataset Name Value qMember QRKartuMember 8. klik Apply. Pada jendela Report Settings. Simpan Unit1 menjadi UQRKartuMember. ubah setting lainnya seperti gambar berikut ini. Pilih QuickReport1 pada Object TreeView. 9.2010 06/09/2011 21:51:34 119 . ubah property seperti table dibawah ini : Komponen QRLabel1 Tab QReports Parent TitleBand1 Property Alignment AlignToBand AutoSize Caption Font. Klik menu File – Save All untuk menyimpan project. Buat persistent field untuk qMember. pilih Add All Fields.Size Value taCenter True True KARTU MEMBER 10 Pemrograman Visual 1 – Ronny Faslah . 7. setelah selesai klik OK untuk melanjutkan : 12. Tambahkan 14 buah QRLabel dari tab QReports ke dalam TitleBand1. klik kanan di field editor.pas dalam folder Rental. Masih pada jendela Report Settings. 11.

klik OK untuk melanjutkan. QRLabel11 QRLabel12 QRLabel13 QRLabel14 Tab QReports QReports QReports QReports QReports QReports Parent TitleBand1 TitleBand1 TitleBand1 TitleBand1 TitleBand1 TitleBand1 Property Font. QRDBText2. QRLabel9. QRDBText5. ubah property seperti table di bawah ini : Komponen QRDBText1. QRDBText4. QRDBImage1 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRDBText5 QRDBImage1 Tab Parent Property Dataset Value qMember QReports QReports QReports QReports QReports QReports TitleBand1 TitleBand1 TitleBand1 TitleBand1 TitleBand1 TitleBand1 DataField DataField DataField DataField DataField DataField Stretch MembeID Nama Alamat TeleponRumah Handphone Photo True 14.Komponen QRLabel2 QRLabel3 QRLabel4 QRLabel5 QRLabel6 QRLabel7. klik menu View – Form.2010 06/09/2011 21:51:34 120 . Pemrograman Visual 1 – Ronny Faslah .fsBold Caption Caption Caption Caption Caption Caption Value True #Member Nama Member Alamat Telepon Handphone : QReports QReports QReports TitleBand1 TitleBand1 TitleBand1 Caption Caption Caption NamaRental AlamatRental TelpRental 13. Tambahkan 5 buah QRDBText dan 1 buah QRDBImage dari tab QReports ke dalam TitleBand1. Atur layout QRKartuMember seperti gambar di bawah ini : 15. QRLabel8. Kembali ke form FMember. pilih FMember. QRDBText3. QRLabel10.Style.

end. 17. 2 : Member. jalankan dan uji aplikasi. 4 : Member. Pilih SpeedButton3 pada Object TreeView. end.Delete. klik OK untuk melanjutkan. begin With QRKartuMember do Begin qMember.SpeedButton1Click(Sender: TObject).Close. Preview.4] then Close.2010 06/09/2011 21:51:34 121 .Post. QRLabel14. QRLabel13.Caption := FUtama. End. pilih UQRKartuMember. ketikkan perintah seperti pada table di bawah ini : Komponen FMember Procedure CetakKartu Code procedure TFMember. End. Klik menu File – Use Unit.CetakKartu.NamaRental.16.Caption := FUtama. 19. begin Case (Sender as TSpeedButton).Value.Value := MemberMemberID.Cancel.Parameters[0].AlamatRental. qMember. Buat procedure CetakKartu pada blok private. If (Sender as TSpeedButton). Pemrograman Visual 1 – Ronny Faslah .Open.Tag of 1 : Member.Caption := FUtama. perbarui event onClick seperti table di bawah ini : Komponen SpeedButton3 Event onClick Code procedure TFMember. qMember. tekan Ctrl+Shift+C untuk membuat blok procedure.TelpRental. 18. QRLabel12.Tag in [2. Simpan. 3 : CetakKartu.

ubah property seperti table di bawah ini : Komponen PageControl1 Tab Win32 Parent FKoleksi Property Align Value alClient 7. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Koleksi bsDialog FKoleksi poDesktopCenter 4. Tambahkan ToolBar1 dari tab Win32 ke dalam GroupBox1.pas dalam folder Rental. 2. 5. Tambahkan dua buah TabSheet dengan cara mengklik kanan komponen PageControl1. Komponen TabSheet1 TabSheet2 Parent PageControl1 PageControl1 Property Caption Caption Value Data Koleksi Histori Transaksi 8.dpr telah dibuka. harga sewa.2010 06/09/2011 21:51:34 122 . Simpan Unit1 menjadi UFKoleksi. Klik menu File – Save All untuk menyimpan project. Pastikan project Rental. 3. pilih FUtama. klik OK untuk melanjutkan. klik menu File – New – Form. Selain itu Form Koleksi juga menyajikan histori transaksi untuk tiap koleksi. 6. Atur property seperti table di bawah ini .Latihan 23 : Membuat Form Koleksi Form koleksi digunakan untuk mengelola data koleksi yang meliputi judul. Buat Form baru. Klik menu File – Use Unit. kategori. harga denda serta jumlah koleksi. jenis koleksi. kemudian pilih New Page. Tambahkan PageControl1 dari tab Win32. Tambahkan GroupBox1 dari tab Standard ke dalam TabSheet1. Form Koleksi juga menyimpan gambar cover koleksi serta dapat menampilkan preview dalam bentuk video pendek. Langkah-langkah : 1. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent TabSheet1 Property Align Caption Value alClient 9. ubah property seperti table di bawah ini : Komponen ToolBar1 Tab Win32 Parent GroupBox1 Property Autosize ButtonHeight Value True 44 Pemrograman Visual 1 – Ronny Faslah .

Tambahkan 3 buah ADOTable dari tab ADO. klik kanan pada field editor pilih Add All Fields. 13. atur property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FKoleksi Property Connection Name TableName Connection Name TableName Connection Name TableName Value FUtama.bmp 3 blTop 46 True 44 SpeedButton2 Additional ToolBar1 SpeedButton3 Additional ToolBar1 SpeedButton1. Buat persistent field untuk table Koleksi. 13.ADOConnection1 Pemasok Pemasok ADOTable2 ADO FKoleksi ADOTable3 ADO FKoleksi 12. klik dua kali Pemasok pada Object TreeView untuk membuka field editor. klik dua kali Koleksi pada Object TreeView untuk membuka field editor. Tambahkan 3 buah SpeedButton dari tab Additional ke dalam ToolBar1.Komponen Tab Parent Property ButtonWidth Value 46 10. 14.ADOConnection1 Koleksi Koleksi FUtama.ADOConnection1 Karyawan Karyawan FUtama. SpeedButton3 11.bmp 1 Hapus Hapus. Berikut hasil langkah ke 12. klik dua kali Karyawan pada Object TreeView untuk membuka field editor. dan 14 : Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 123 . atur property seperti table di bawah ini : Komponen SpeedButton1 Tab Additional Parent ToolBar1 Property Caption Glyph Tag Caption Glyph Tag Caption Glyph Tag Layout Width Flat Height Value Simpan Simpan. Buat persistent field untuk table Pemasok.bmp 2 Batal Batal. klik kanan pada field editor pilih Add All Fields. klik kanan pada field editor pilih Add All Fields. SpeedButton2. Buat persistent field untuk table Karyawan.

klik kanan pada field editor kemudian pilih New Fields. klik dua kali Koleksi pada Object TreeView untuk membuka field editor. kemudian pilih New Field untuk membuka jendela New Field. Tambahkan field baru NamaPemasok pada table Koleksi dengan cara klik dua kali Koleksi untuk membuka field editor. Lengkapi informasi pada jendela New Field seperti pada table di bawah ini (lihat langkah 15) : Pemrograman Visual 1 – Ronny Faslah . Tambahkan field baru NamaKaryawan pada table koleksi. lihat gambar berikut : Isi informasi seperti pada table di bawah ini (lihat gambar di atas) : Field NamaPemasok Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaPemasok String 30 Lookup PemasokID Pemasok PemasokID Nama Field type Lookup Definition 16.15.2010 06/09/2011 21:51:34 124 .

Tambahkan 1 buah DateTimePicker dari tab Win32 ke dalam GroupBox1. Tambahkan 3 buah Label dari tab Standard. DBCombobox2 DBCombobox1 Tab Parent Property Datasource Sorted Style Datafield Items Value Datasource1 True csDropdownlist Kategori ACTION DRAMA DRAMA MUSICAL HOROR HOROR KOMEDI KARTUN KOMEDI KOMEDI ROMANTIS LAIN-LAIN JenisKoleksi CD CD AUDIO CD MP3 DVD DataControl GroupBox1 DBCombobox2 DataControl GroupBox1 Datafield Items 20. LamaSewa. DBEdit10. lakukan drag and drop field KoleksiID. Klik dua kali Koleksi untuk membuka field editor. ubah property seperti table di bawah ini : Komponen DBCombobox1. DBLookupCombobox2 Property Enabled Value False Pemrograman Visual 1 – Ronny Faslah . Judul dan PemeranUtama ke dalam GroupBox1. 18. ubah property seperti table di bawah ini : Komponen Label3 Label4 Label5 Tab Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Value Kategori Jenis Koleksi Tgl Beli 19. NamaPemasok. Cover dan Preview secara berurutan ke dalam GroupBox1. Tambahkan 2 buah DBCombobox1 dari tab Data Control ke dalam GroupBox1. Jumlah.2010 06/09/2011 21:51:34 125 . 22. Klik dua kali Koleksi untuk membuka field editor. Ubah property untuk komponen berikut : Komponen DBEdit1. HargaSewa. KaryawanID.Field NamaKaryawan Section Field Properties Field type Lookup Definition Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaKaryawan String 30 Lookup KaryawanID Karyawan KaryawanID Nama 17. 21. PemasokID. NamaKaryawan. HargaDenda. lakukan drag and drop field HargaBeli.

Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox1. DBEdit8.nbEdit VisibleButtons. BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Caption Glyph Value Cover … Video … Cari. DBEdit6. DBCombobox2. DBCombobox1.btStep VisibleButtons. Filter *.btNext VisibleButtons. Tambahkan OpenPictureDialog1 dari tab Dialogs ke dalam GroupBox1. Tambahkan 1 buah Panel dari tab Standard ke dalam GroupBox1. *. Pemrograman Visual 1 – Ronny Faslah .nbPost VisibleButtons. 25.avi.nbRefresh Value alBottom Datasource1 True False False False False False False 27.btBack VisibleButtons. Tambahkan DBNavigator1 dari tab DataControl ke dalam GroupBox1. DBEdit3. DBEdit11 DBImage1 Property Charcase Value ecUpperCase Stretch True 23.wmv. atur property seperti table di bawah ini : Komponen MediaPlayer1 Tab System Parent GroupBox1 Property Display VisibleButtons.nbCancel VisibleButtons. DBEdit4. atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 BitBtn1.nbInsert VisibleButtons. atur property seperti table di bawah ini : Komponen DBNavigator1 Tab Data Control Parent GroupBox1 Property Align Datasource Flat VisibleButtons.Komponen DBEdit1. DBEdit2.btRecord VisibleButtons.2010 06/09/2011 21:51:34 126 .btPrev VisibleButtons. 28. DBEdit9. Tambahkan 1 buah MediaPlayer dari tab System ke dalam GroupBox1.bmp 24. Tambahkan OpenDialog1 dari tab Dialogs ke dalam GroupBox1.nbDelete VisibleButtons. DBEdit7. DBEdit5.btEject Value Panel1 False False False False False False 26.wmv. atur property seperti table di bawah ini : Komponen OpenDialog1 Tab Dialogs Parent GroupBox1 Property Filter Value Filter Name File Video (*.

Komponen

Tab

Parent

Property Title

Value *.avi, *.mpg) Cari Video

*.mpg

29. Tambahkan ADOQuery1 dari tab ADO, atur property seperti table di bawah ini :
Komponen ADOQuery1 Tab ADO Parent FMember Property Connection Datasource Name SQL Value FUtama.ADOConnection1 DataSource1 qTransaksi Select Pinjam.TglPinjam, Pinjam.MemberID, (Select Member.Nama From Member Where Pinjam.MemberID = Member.MemberID) as NamaMember, DPinjam.TglHarusKembali, (Select Kembali.TglKembali From Kembali Where DPinjam.KembaliID = Kembali.KembaliID) as TglKembali From Pinjam, DPinjam Where (Pinjam.PinjamID = DPinjam.PinjamID) and (DPinjam.KoleksiID = :KoleksiID) Order by Pinjam.TglPinjam

30. Pilih qTransaksi pada Object TreeView, klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters, pilih KoleksiID, ubah property seperti table di bawah ini :
Komponen TParameters[0] Property DataType Value ftInteger

31. Buat persistent field untuk query qTransaksi, klik dua kali qTransaksi pada Object TreeView untuk membuka field editor, kemudian klik kanan pada field editor dan pilih Add All Fields. 32. Tambahkan Datasource2 dari tab Data Access, ubah property seperti table di bawah ini :
Komponen Datasource2 Tab Data Access Parent FMember Property Dataset Value qTransaksi

33. Atur layout form FKoleksi seperti gambar di bawah ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

127

34. Tambahkan variable KoleksiID dengan type Integer pada blok Public di unit UFKoleksi, lihat gambar berikut :

35. Pilih FKoleksi pada Object TreeView, buat event onCreate, OnShow dan OnClose, ketikkan perintah seperti table di bawah ini :
Komponen FKoleksi Event onCreate Code procedure TFKoleksi.FormCreate(Sender: TObject); begin KoleksiID := 0; PageControl1.ActivePageIndex := 0; end; procedure TFKoleksi.FormShow(Sender: TObject); begin Koleksi.Open; Karyawan.Open; Pemasok.Open; qTransaksi.Open; If KoleksiID > 0 then Koleksi.Locate('KoleksiID', KoleksiID, []) else Koleksi.Insert; end;

onShow

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

128

Komponen

Event onClose

Code procedure TFKoleksi.FormClose(Sender: TObject; var Action: TCloseAction); begin KoleksiID := 0; qTransaksi.Close; Karyawan.Close; Pemasok.Close; Koleksi.Close; MediaPlayer1.Close; end;

36. Pilih SpeedButton1, SpeedButton2 dan SpeedButton3 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen SpeedButton1, SpeedButton2, SpeedButton3 Event onClick Code procedure TFKoleksi.SpeedButton1Click(Sender: TObject); begin Case (Sender as TSpeedButton).Tag of 1 : Koleksi.Post; 2 : Koleksi.Delete; 3 : Koleksi.Cancel; End; If (Sender as TSpeedButton).Tag <> 1 then Close; end;

37. Pilih Koleksi pada Object TreeView, buat event AfterScroll, BeforeDelete, BeforePost dan onNewRecord, ketikkan perintah seperti table di bawah ini :
Komponen Koleksi Event AfterScroll Code procedure TFKoleksi.KoleksiAfterScroll(DataSet: TDataSet); begin MediaPlayer1.Close; DateTimePicker1.Date := KoleksiTglBeli.Value; If FileExists(KoleksiPreview.Value) then Begin MediaPlayer1.FileName := KoleksiPreview.Value; MediaPlayer1.Open; MediaPlayer1.DisplayRect := Rect(10,10,Panel1.Width - 20, Panel1.Height - 20); End Else MediaPlayer1.FileName := ''; end; procedure TFKoleksi.KoleksiBeforeDelete(DataSet: TDataSet); begin If MessageDlg('Hapus data?',mtConfirmation, [mbYes, mbNo], 0) = mrNo then Abort; end; procedure TFKoleksi.KoleksiBeforePost(DataSet: TDataSet); begin KoleksiTglBeli.Value := DateTimePicker1.Date; end;

BeforeDelete

BeforePost

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

129

Komponen

Event onNewRecord

Code procedure TFKoleksi.KoleksiNewRecord(DataSet: TDataSet); begin If DBEdit2.Enabled then ActiveControl := DBEdit2; KoleksiTglBeli.Value := Now; DateTimePicker1.Date := KoleksiTglBeli.Value; KoleksiHargaBeli.Value := 0; KoleksiLamaSewa.Value := 2; KoleksiHargaSewa.Value := 3000; KoleksiHargaDenda.Value := 3000; KoleksiJumlah.Value := 1; KoleksiKaryawanID.Value := FUtama.KaryawanID; end;

38. Pilih Datasource1 pada Object TreeView, buat event onStateChange, ketikkan perintah seperti table di bawah ini :
Komponen DataSource1 Event onStateChange Code procedure TFKoleksi.DataSource1StateChange(Sender: TObject); begin SpeedButton1.Enabled := (Koleksi.State in dsEditModes) and (FUtama.HakAkses in [1,2]); SpeedButton2.Enabled := (Koleksi.State in [dsBrowse]) and (FUtama.HakAkses in [1,2]); DBEdit2.Enabled := FUtama.HakAkses in [1,2]; DBCombobox1.Enabled := FUtama.HakAkses in [1,2]; DBCombobox2.Enabled := FUtama.HakAkses in [1,2]; DateTimePicker1.Enabled := FUtama.HakAkses in [1,2]; DBEdit3.Enabled := FUtama.HakAkses in [1,2]; DBEdit4.Enabled := FUtama.HakAkses in [1,2]; DBLookUpCombobox1.Enabled := FUtama.HakAkses in [1,2]; DBEdit5.Enabled := FUtama.HakAkses in [1,2]; DBEdit6.Enabled := FUtama.HakAkses in [1,2]; DBEdit7.Enabled := FUtama.HakAkses in [1,2]; DBEdit8.Enabled := FUtama.HakAkses in [1,2]; DBEdit10.Enabled := FUtama.HakAkses in [1,2]; DBImage1.Enabled := FUtama.HakAkses in [1,2]; BitBtn1.Enabled := FUtama.HakAkses in [1,2]; BitBtn2.Enabled := FUtama.HakAkses in [1,2] end;

39. Pilih BitBtn1 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen BitBtn1 Event onClick Code procedure TFKoleksi.BitBtn1Click(Sender: TObject); begin With OpenPictureDialog1 do Begin If Execute then Begin If Koleksi.State in [dsBrowse] then Koleksi.Edit; DBImage1.Picture.LoadFromFile(FileName); End; End;

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

130

Komponen

Event

Code end;

40. Pilih BitBtn2 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen BitBtn2 Event onClick Code procedure TFKoleksi.BitBtn2Click(Sender: TObject); begin With OpenDialog1 do Begin If Execute then Begin If Koleksi.State in [dsBrowse] then Koleksi.Edit; KoleksiPreview.Value := FileName; MediaPlayer1.FileName := FileName; MediaPlayer1.Open; MediaPlayer1.DisplayRect := Rect(10, 10, Panel1.Width - 20, Panel1.Height - 20); End; End; end;

41. Pilih TabSheet2 pada Object TreeView. 42. Tambahkan DBGrid1 dari tab Data Control ke dalam TabSheet2, ubah property seperti table di bawah ini :
Komponen DBGrid1 Tab Data Control Parent TabSheet2 Property Align Datasource Value alClient DataSource2

43. Klik dua kali DBGrid1 pada Object TreeView untuk membuka Column Editor. Klik kanan pada Column Editor, pilih Add All Fields. Atur property masing-masing kolom seperti table di bawah ini :
Komponen DBGrid1.Columns[0] Property Title.Alignment Title.Caption Title.Font.Style.fsBold Width Title.Alignment Title.Caption Title.Font.Style.fsBold Width Title.Alignment Title.Caption Title.Font.Style.fsBold Width Title.Alignment Title.Caption Title.Font.Style.fsBold Width Title.Alignment Value taCenter Tgl Pinjam True 100 taCenter #Member True 60 taCenter Nama Member True 250 taCenter Tgl Harus Kembali True 120 taCenter

DBGrid1.Columns[1]

DBGrid1.Columns[2]

DBGrid1.Columns[3]

DBGrid1.Columns[4]

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

131

Pemrograman Visual 1 – Ronny Faslah . begin FKoleksi. pilih FKoleksi. klik OK untuk melanjutkan.Koleksi1Click(Sender: TObject). pilih FUtama. Pilih SpeedButton2 pada Object TreeView. jalankan dan uji aplikasi.ShowModal.ShowModal. end. end.Font.fsBold Width Value Tgl Kembali True 100 44. begin FKoleksi.SpeedButton2Click(Sender: TObject). Pilih Koleksi1 pada Object TreeView. Kembali ke form FUtama.Style.2010 06/09/2011 21:51:34 132 . klik menu View – Form. ketikkan perintah seperti table di bawah ini : Komponen Koleksi1 Event onClick Code procedure TFUtama. Simpan. Pada tahap ini seharusnya FKoleksi mempunyai tampilan seperti gambar di bawah ini : 45. 46. klik OK untuk melanjutkan.Komponen Property Title. buat event onClick. Klik menu File – Use Unit.Caption Title. 49. 47. 48. buat event OnClick. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton2 Event onClick Code procedure TFUtama.

3.bmp 2 Hapus Hapus. Simpan Unit1 menjadi UFPemasok. ubah property seperti table di bawah ini : Komponen ToolBar1 Tab Win32 Parent GroupBox1 Property Autosize ButtonHeight ButtonWidth Value True 44 46 8.bmp SpeedButton1 Additional ToolBar1 SpeedButton2 Additional ToolBar1 SpeedButton3 Additional ToolBar1 Pemrograman Visual 1 – Ronny Faslah . 2.pas dalam folder rental. Klik menu File – Save All untuk menyimpan project.dpr telah dibuka. kota dan no. alamat. atur property seperti table di bawah ini : Komponen SpeedButton1 Tab Additional Parent ToolBar1 Property Caption Glyph Tag Caption Glyph Tag Caption Glyph Tag Caption Glyph Value Baru Baru. klik OK untuk melanjutkan. Klik menu File – Use Unit. Langkah-langkah : 1. 5. 6.2010 06/09/2011 21:51:34 133 . Tambahkan 4 buah SpeedButton dari tab Additional ke dalam ToolBar1.bmp 3 Batal Batal. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent FPemasok Property Align Caption Value alClient 7. Tambahkan GroupBox1 dari tab Standard ke dalam FPemasok. Tambahkan ToolBar1 dari tab Win32 ke dalam GroupBox1. pilih UFUtama. Table pemasok merupakan table master yang hanya boleh dibuka dengan hak akses pemilik/administrator.bmp 1 Simpan Simpan.Latihan 24 : Membuat Form Pemasok Form pemasok digunakan untuk mengelola data pemasok yang meliputi nama. klik menu File – New – Form. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Pemasok bsDialog FPemasok poDesktopCenter 4. Pastikan project Rental. telepon. Buat form baru.

Masih di field editor table Pemasok. DBEdit4. Dari daftar kolom yang ada. pilih Add All Fields. atur property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FPemasok Property Connection Name TableName Value FUtama. Tambahkan DBGrid1 dari tab Data Control ke dalam GroupBox2. Tambahkan ADOTable1 dari tab ADO. klik kanan pada field editor. Ubah property untuk komponen Data Control seperti table di bawah ini : Komponen DBEdit1 DBEdit1. Atur property masingmasing kolom seperti table di bawah ini : Komponen Property Value Pemrograman Visual 1 – Ronny Faslah . klik kanan pada field editor. pilih semua field (jika belum.2010 06/09/2011 21:51:34 134 . Klik dua kali DBGrid1 untuk membuka Column Editor. pilih Add All Fields. SpeedButton3.SpeedButton1.dgEditing Value alClient Datasource1 False False True 15.ADOConnection1 Pemasok Pemasok 11. SpeedButton2. pilih Select All).dgAlwaysShowSelection Options. SpeedButton4 Tag Layout Width Flat Height 4 blTop 46 True 44 9. Buat persistent field untuk table Pemasok. klik kanan pada Column Editor. 12. atur property seperti table di bawah ini : Komponen GroupBox2 GroupBox3 Tab Standard Standard Parent GroupBox1 GroupBox1 Property Align Caption Align Caption Value alLeft alClient 10. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.dgRowSelect Options. DBEdit3. DBEdit5 Property Enabled CharCase Value False ecUpperCase 14. Tambahkan 2 buah GroupBox dari tab Standard ke dalam GroupBox1. klik dua kali Pemasok pada Object TreeView. hapus semua kolom kecuali PemasokID dan Nama. lakukan drag and drop seluruh field ke GroupBox3. DBEdit2. 13.

Delete. Pilih FPemasok pada Object TreeView.fsBold Width Title. Pemrograman Visual 1 – Ronny Faslah .SpeedButton2Click(Sender: TObject).Style.Open. end. 2 : Pemasok. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1. 3 : Pemasok.Font. Atur layout form FPemasok seperti gambar di bawah ini : 17.Style.FormClose(Sender: TObject. var Action: TCloseAction).Insert.fsBold Width Value taCenter PemasokID True 100 taCenter Nama Pemasok True 60 16. begin Case (Sender as TSpeedButton).Tag of 1 : Pemasok. Pilih SpeedButton1.Columns[1] Property Title. buat event onClick. SpeedButton2. procedure TFPemasok. buat event onShow dan onClose. SpeedButton3.Alignment Title. ketikkan perintah seperti table di bawah ini : Komponen FPemasok Event onShow Code procedure TFPemasok. onClose 18.Close.Caption Title. begin Pemasok. SpeedButton4 Event onClick Code procedure TFPemasok.Font.Post.Columns[0] DBGrid1. begin Pemasok.Caption Title. SpeedButton2.FormShow(Sender: TObject).2010 06/09/2011 21:51:34 135 . SpeedButton3 dan SpeedButton4 pada Object TreeView. end.Alignment Title.Komponen DBGrid1.

HakAkses in [2]).HakAkses in [2]).HakAkses in [2].Pemasok1Click(Sender: TObject). 20.PemasokNewRecord(DataSet: TDataSet). end. SpeedButton3.2010 06/09/2011 21:51:34 136 . 21.Enabled := (Pemasok.Cancel. Pemrograman Visual 1 – Ronny Faslah . DBEdit4. end.Enabled := FUtama.DataSource1StateChange(Sender: TObject). SpeedButton4. Pilih Pemasok1 pada Object TreeView.HakAkses in [2].Enabled := FUtama. 24.Enabled := (Pemasok.State in dsEditModes) and (FUtama. ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFPemasok. 19. Kembali ke form FUtama. buat event onStateChange. klik OK untuk melanjutkan.State in dsEditModes) and (FUtama.ShowModal. SpeedButton2. pilih FUtama. DBEdit3. Pilih Datasource1 pada Object TreeView. DBEdit5. end. ketikkan perintah seperti table di bawah ini : Komponen Pemasok1 Event onClick Code procedure TFUtama.HakAkses in [2]).Enabled := FUtama. 23. end.Enabled := (Pemasok. Simpan.Enabled := (Pemasok. buat event onClick.HakAkses in [2].Enabled := FUtama.HakAkses in [2]). ketikkan perintah seperti table di bawah ini : Komponen Member Event onNewRecord Code procedure TFPemasok. Klik menu File – Use Unit.Value := 'BANJARMASIN'. klik menu View – Forms.Komponen Event Code 4 : Pemasok. Pilih Pemasok pada Object TreeView. DBEdit2. pilih FPemasok.State in [dsBrowse]) and (FUtama.State in [dsBrowse]) and (FUtama. 22. jalankan dan uji aplikasi. End. begin PemasokKota. klik OK untuk melanjutkan.HakAkses in [2]. begin FPemasok. buat event onNewRecord. begin SpeedButton1.

Table karyawan merupakan table master yang hanya boleh dibuka dengan hak akses pemilik/administrator. atur property seperti table di bawah ini : Komponen GroupBox2 GroupBox3 Tab Standard Standard Parent GroupBox1 GroupBox1 Property Align Caption Align Caption Value alLeft alClient 9.Latihan 25 : Membuat Form Karyawan Form karyawan digunakan untuk mengelola data karyawan yang meliputi nama. klik OK untuk melanjutkan. klik menu File – New – Form. Tambahkan ADOTable1 dari tab ADO.dpr telah dibuka. 2. Buat form baru. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Karyawan bsDialog FKaryawan poDesktopCenter 4. Copy dan paste ToolBar1 dari form FPemasok ke dalam GroupBox1. 8. Klik menu File – Save All untuk menyimpan project. Form karyawan juga digunakan untuk mengatur hak akses dan password yang akan digunakan karyawan untuk login ke dalam aplikasi. 3. Langkah-langkah : 1. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent FKaryawan Property Align Caption Value alClient 7. 5. Simpan Unit1 menjadi UFKaryawan.2010 06/09/2011 21:51:34 137 .ADOConnection1 Karyawan Karyawan Pemrograman Visual 1 – Ronny Faslah . atur property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FKaryawan Property Connection Name TableName Value FUtama. Pastikan project Rental. telepon. 6. Tambahkan GroupBox1 dari tab Standard ke dalam FKaryawan.pas dalam folder rental. pilih UFUtama. alamat. Tambahkan 2 buah GroupBox dari tab Standard ke dalam GroupBox1. Klik menu File – Use Unit. dan no.

12.Alignment Title. Tambahkan OpenPictureDialog1 dari tab Dialogs. DBEdit2. klik kanan pada field editor.Columns[0] Property Title. DBEdit5. DBEdit6. 11.dgAlwaysShowSelection Options.Columns[1] 17. pilih Select All). Atur property masingmasing kolom seperti table di bawah ini : Komponen DBGrid1. Masih di field editor table Karyawan. klik kanan pada field editor. DBEdit7 DBImage1 Property Enabled CharCase Value False ecUpperCase Stretch True 13. klik dua kali Karyawan pada Object TreeView.Style. lakukan drag and drop seluruh field ke GroupBox3. Klik dua kali DBGrid1 untuk membuka Column Editor.Alignment Title. Tambahkan DBGrid1 dari tab Data Control ke dalam GroupBox2.10. Dari daftar kolom yang ada.fsBold Width Value taCenter KaryawanID True 100 taCenter Nama Karyawan True 60 DBGrid1. atur property seperti table di bawah ini : Komponen BitBtn1 Tab Additional Parent GroupBox3 Property Caption Glyph Value Cari … Cari.bmp 15. Ubah property untuk komponen Data Control seperti table di bawah ini : Komponen DBEdit1 DBEdit1.Font.fsBold Width Title. Buat persistent field untuk table Karyawan.Font. hapus semua kolom kecuali KaryawanID dan Nama.Style.Caption Title.2010 06/09/2011 21:51:34 138 .dgEditing Value alClient Datasource1 False False True 16. 14. Tambahkan BitBtn1 dari tab Additional ke dalam GroupBox3.dgRowSelect Options. pilih semua field (jika belum. DBEdit3. pilih Add All Fields. Atur layout form FKaryawan seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.Caption Title. DBEdit4. klik kanan pada Column Editor. pilih Add All Fields.

Delete. ketikkan perintah seperti table di bawah ini : Komponen FPemasok Event onShow Code procedure TFKaryawan. 20.Post. buat event onNewRecord. var Action: TCloseAction).2010 06/09/2011 21:51:34 139 . ketikkan perintah seperti table di bawah ini : Komponen Event Code Pemrograman Visual 1 – Ronny Faslah .18. Pilih SpeedButton1. End. SpeedButton4 Event onClick Code procedure TFKaryawan. SpeedButton2. begin Randomize. procedure TFKaryawan. Karyawan. begin Karyawan. SpeedButton2. Pilih Karyawan pada Object TreeView.Tag of 1 : Karyawan. begin Case (Sender as TSpeedButton). ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1. onClose 19.SpeedButton1Click(Sender: TObject). buat event onShow dan onClose.Open. end.Insert. end. end.FormShow(Sender: TObject). SpeedButton3 dan SpeedButton4 pada Object TreeView. 3 : Karyawan. Pilih FKaryawan pada Object TreeView. buat event onClick.FormClose(Sender: TObject. SpeedButton3. 4 : Karyawan. 2 : Karyawan.Close.Cancel.

HakAkses in [2]. pilih FPemasok. Klik menu File – Use Unit. DBEdit2.HakAkses in [2]). buat event onStateChange. klik menu View – Forms.2010 06/09/2011 21:51:34 140 .Enabled := FUtama.State in [dsBrowse]) and (FUtama. begin KaryawanKota. klik OK untuk melanjutkan. DBImage1. SpeedButton4.Picture.Enabled := FUtama.BitBtn1Click(Sender: TObject). DBEdit5. ketikkan perintah seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . 23.Enabled := (Karyawan.HakAkses in [2]). ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFKaryawan. pilih FUtama. 25. End. 24.Enabled := FUtama.HakAkses in [2].Enabled := FUtama. buat event onClick.HakAkses in [2]. KaryawanPasswords.LoadFromFile(FileName).DataSource1StateChange(Sender: TObject). End. Pilih BitBtn1 pada Object TreeView.State in dsEditModes) and (FUtama.Value := 'BANJARMASIN'. klik OK untuk melanjutkan. Pilih Karyawan1 pada Object TreeView.KaryawanNewRecord(DataSet: TDataSet).HakAkses in [2]. Pilih Datasource1 pada Object TreeView. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFKaryawan. KaryawanHakAkses.HakAkses in [2]. Random(9999)).Enabled := FUtama. end. DBEdit4.Komponen Member Event onNewRecord Code procedure TFKaryawan.Enabled := (Karyawan. SpeedButton2.Enabled := FUtama. buat event onClick.State in [dsBrowse] then Karyawan.State in [dsBrowse]) and (FUtama. end. DBEdit7.Edit.HakAkses in [2]. end.Enabled := FUtama. DBEdit3.Value := FormatFloat('0000'. 21.HakAkses in [2]).Enabled := (Karyawan. begin With OpenPictureDialog1 do Begin If Execute then Begin If Karyawan. Kembali ke form FUtama. DBImage1.HakAkses in [2]. SpeedButton3.HakAkses in [2]). DBEdit6. begin SpeedButton1.Enabled := (Karyawan.State in dsEditModes) and (FUtama. 22.Value := 1.

Masukkan minimal 15 data koleksi lengkap dengan cover dan preview video (kalau ada) melalui form Koleksi. end.Komponen Karyawan1 Event onClick Code procedure TFUtama.2010 06/09/2011 21:51:34 141 . Tolong dicatat dan disampaikan apabila ditemukan adanya kekeliruan pada modul ini.Karyawan1Click(Sender: TObject). 3. 2. 4. Sempurnakan Latihan 17. Masukkan minimal 5 data karyawan lengkap dengan foto melalui form Karyawan. 5. 7. Tugas akan diperiksa satu persatu pada pertemuan berikutnya. 26. jalankan dan uji aplikasi. Masukkan minimal 5 data pemasok melalui form Pemasok. Tugas di rumah : NEW 1. 6. 19. 18. Simpan.ShowModal. begin FKaryawan. 23. 20 dan 21. Pemrograman Visual 1 – Ronny Faslah . Selesaikan Latihan 22. 24 dan 25.

5. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position WindowState Value Peminjaman bsSingle FPinjam poDesktopCenter wsMaximized 4. klik menu File – New – Form.dpr telah dibuka.2010 06/09/2011 21:51:34 142 . Pada form ini metode input transaksi dibuat semudah mungkin.pas dalam folder Rental. 9. Simpan Unit1 menjadi UFPinjam. Langkah-langkah : 1. atur property seperti table di bawah ini : Komponen GroupBox4 Tab Standard Parent FPinjam Property Align Caption Value alClient Pencarian Koleksi Pemrograman Visual 1 – Ronny Faslah . atur kembali property seperti table di bawah ini : Komponen SpeedButton3 SpeedButton4 Tab Additional Additional Parent ToolBar1 ToolBar1 Property Caption Caption Value Nota Tutup 7. Copy dan Paste ToolBar1 dari form FMember ke dalam FPinjam. 2. klik OK untuk melanjutkan. Pastikan project Rental. Klik menu File – Save All untuk menyimpan project. Tambahkan 1 buah Splitter dari tab Additional ke dalam FPinjam. Tambahkan 1 buah GroupBox dari tab Standar ke dalam FPinjam. 6. pilih UFUtama. Buat form baru. Selain itu pada form ini disediakan fasilitas pencarian dan informasi jumlah stok koleksi yang tersedia.Latihan 26 : Membuat Form Peminjaman Form Peminjaman digunakan untuk melakukan transaksi peminjaman. atur property seperti table di bawah ini : Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FPinjam FPinjam FPinjam Property Align Caption Align Caption Align Caption Value alTop alLeft Koleksi Yang Dipinjam alBottom 8. 3. Klik menu File – Use Unit. Tambahkan 3 buah Groupbox dari tab Standard ke dalam FPinjam. Form ini menggunakan konsep master detail gabungan dari table Pinjam dan DPinjam.

Member.10.PinjamID = DPinjam.KembaliID = 0))) as stock From Koleksi Where (Koleksi.PemeranUtama.Nama qKaryawan Select Karyawan.KoleksiID.DPinjamID) From Pinjam.Judul. ADOQuery1. Tambahkan 2 buah ADOTable dan 4 buah ADOQuery.KoleksiID) and (DPinjam. ADOQuery4 ADOTable1 ADOTable2 ADOQuery1 Tab Parent Property Connection Value FUtama. DPinjam Where (Pinjam. Member.Kota.Kategori like :Kategori) Or (Koleksi. (Koleksi.LamaSewa From Koleksi Order by Koleksi.JenisKoleksi like :JenisKoleksi) Pemrograman Visual 1 – Ronny Faslah . Koleksi.MemberID.KaryawanID. Koleksi. ADOTable2.Kategori.KoleksiID = Koleksi. ADOQuery3.Alamat.Nama From Karyawan Order by Karyawan. Koleksi.JenisKoleksi. Koleksi.Nama qKoleksi Select Koleksi.HargaSewa. atur property seperti table di bawah ini : Komponen ADOTable1. Koleksi.Jumlah (Select Count(DPinjam.Judul qStock Select Koleksi.PemeranUtama like :PemeranUtama) Or (Koleksi. Karyawan.PinjamID) and (DPinjam.Nama. ADOQuery2.2010 06/09/2011 21:51:34 143 .KoleksiID. Member.Judul.Handphone From Member Order by Member. Koleksi. Koleksi.ADOConnection1 ADO ADO ADO FPinjam FPinjam FPinjam Name TableName Name TableName Name SQL ADOQuery2 ADO FPinjam Name SQL ADOQuery3 ADO FPinjam Name SQL ADOQuery4 ADO FPinjam Name SQL Pinjam Pinjam DPinjam DPinjam qMember Select Member. Member.Judul like :Judul) Or (Koleksi.

Pilih table DPinjam pada Object TreeView. pilih field TotalSewa. Klik OK untuk melanjutkan. Koleksi. klik dua kali Pinjam pada Object TreeView untuk membuka field editor. Pilih qStock pada Object TreeView. ubah property seperti table di bawah ini : Komponen DPinjam Property MasterSource Value Datasource1 18. Tambahkan 3 buah DataSource dari tab Data Access. ubah property seperti table di bawah ini : Komponen DPinjamHargaSewa Property Currency Value True 16. klik tombol ellipsis pada property MasterField untuk membuka Field Link Designer.Judul. qKaryawan. ubah property seperti table di bawah ini : Komponen TParameters[0] TParameters[1] TParameters[2] TParameters[3] Property DataType DataType DataType DataType Value ftWideString ftWideString ftWideString ftWideString 12. Pilih PinjamID pada Detail Fields dan PinjamID pada Master Fields. Pemrograman Visual 1 – Ronny Faslah .PemeranUtama 11. 13. ubah property seperti table di bawah ini : Komponen PinjamTotalSewa Property Currency Value True 15. buat persistent field table DPinjam. Klik dua kali DPinjam pada Object TreeView untuk membuka field editor. pilih field HargaSewa. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters. Buat hubungan master detail antara table Pinjam dan DPinjam.2010 06/09/2011 21:51:34 144 . ubah property seperti table di bawah ini . Buat persistent field table Pinjam.Komponen Tab Parent Property Value Order by Koleksi. 14. Klik dua kali Pinjam pada Object TreeView untuk membuka field editor. Dengan cara yang sama dengan point 12. Komponen Datasource1 DataSource2 DataSource3 Tab Data Access Data Access Data Access Parent FPinjam FPinjam FPinjam Property Dataset Dataset Dataset Value Pinjam DPinjam qStock 17. qMember. klik kanan dan pilih Add All Fields. Pilih table DPinjam pada Object TreeView. Klik Add untuk menambahkan ke dalam Joined Fields. qKoleksi dan qStock.

klik kanan dan pilih New Fields. Tambahkan field baru Kota pada table Pinjam. klik dua kali Pinjam pada Object TreeView untuk membuka field editor. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field NamaMember Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaMember String 30 Lookup MemberID qMember MemberID Nama Field type Lookup Definition 20. Tambahkan field baru Alamat pada table Pinjam.2010 06/09/2011 21:51:34 145 . lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Alamat Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value Alamat String 50 Lookup MemberID qMember MemberID Alamat Field type Lookup Definition 21. sama seperti point 19. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Kota Section Field Properties Property Name Type Size Field type Key Fields Value Kota String 30 Lookup MemberID Field type Lookup Definition Pemrograman Visual 1 – Ronny Faslah . Tambahkan field baru NamaMember pada table Pinjam.19.

Dataset Lookup Keys Result Field qMember MemberID Kota 22. Tambahkan field baru Handphone pada table Pinjam. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field HargaSewaKoleksi Section Field Properties Field type Lookup Definition Property Name Type Field type Key Fields Dataset Value HargaSewaKoleksi Currency Lookup KoleksiID qKoleksi Pemrograman Visual 1 – Ronny Faslah . tambahkan field baru JudulKoleksi pada table DPinjam. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field JudulKoleksi Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value JudulKoleksi String 100 Lookup KoleksiID qKoleksi KoleksiID Judul Field type Lookup Definition 25. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field NamaKaryawan Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaKaryawan String 30 Lookup KaryawanID qKaryawan KaryawanID Nama Field type Lookup Definition 24. Tambahkan field baru NamaKaryawan pada table Pinjam. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Handphone Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value Handphone String 30 Lookup MemberID qMember MemberID Handphone Field type Lookup Definition 23.2010 06/09/2011 21:51:34 146 . Klik dua kali DPinjam pada Object TreeView untuk membuka Field Editor. Tambahkan field baru HargaSewaKoleksi pada table DPinjam.

Columns[0].Font.Lookup Keys Result Field KoleksiID HargaSewa 26. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options. Klik dua kali Pinjam pada Object TreeView untuk membuka field Editor. ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1.Columns[2] DBGrid1.Caption Title. Kota dan Handphone.Caption FieldName Title.dgAlwaysShowSelection Value alClient DataSource2 True True 29. Tambahkan DBGrid1 dari tab Data Control ke dalam GroupBox2.dgRowSelect Options. Pilih field PinjamID. TglPinjam. DBGrid1.Columns[1]. lakukan drag dan drop field NamaKaryawan dan TotalSewa ke dalam GroupBox3.Columns[3] DBGrid1. 31. NamaMember. lakukan drag and drop ke dalam GroupBox1. Klik dua kali Pinjam pada Object TreeView untuk membuka field editor.Caption FieldName Title. DBGrid1. MemberID. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field LamaSewaKoleksi Section Field Properties Field type Lookup Definition Property Name Type Field type Key Fields Dataset Lookup Keys Result Field Value LamaSewaKoleksi Integer Lookup KoleksiID qKoleksi KoleksiID LamaSewa 27. DBGrid1. pilih Add. 28.Columns[3] Property FieldName Title. Klik dua kali DBGrid1 pada Object TreeView untuk membuka Column Editor. Tambahkan DBNavigator1 dari tab Data Control ke dalam GroupBox3. tambahkan 4 buah column dengan mengklik kanan Column Editor.fsBold Value KoleksiID ID JudulKoleksi Judul Koleksi TglHarusKembali Tgl Harus Kembali HargaSewa Harga Sewa taCenter True 30.Columns[1] DBGrid1.Columns[2]. Alamat.Style.Alignment Title.2010 06/09/2011 21:51:34 147 . Tambahkan field baru LamaSewaKoleksi pada table DPinjam.Columns[0] DBGrid1.Caption FieldName Title.

atur property seperti table di bawah ini : Komponen Edit1 Tab Standard Parent ToolBar2 Property Text Value 34.nbPost VisibleButtons. Klik dua kali DBGrid2 untuk membuka column editor.dgAlwaysShowSelection Options. klik kanan pada column editor.2010 06/09/2011 21:51:34 148 .nbRefresh Value alBottom Datasource1 True False False False False False False 32. kemudian pilih Add All Fields.Caption Title.Caption Title.Komponen DBNavigator1 Tab Data Control Parent GroupBox3 Property Align Datasource Flat VisibleButtons.nbInsert VisibleButtons.nbDelete VisibleButtons.nbEdit VisibleButtons.nbCancel VisibleButtons. Tambahkan ToolBar2 dari tab Win32 ke dalam GroupBox4. atur property seperti table di bawah ini : Komponen ToolBar2 Tab Win32 Parent GroupBox4 Property Align Value alBottom 33.Caption Value ID Judul Koleksi Stock Pemrograman Visual 1 – Ronny Faslah .Columns[2] Property Title. atur property seperti table di bawah ini : Komponen DBGrid2 Tab Data Control Parent GroupBox4 Property Align Datasource Options. atur susunan column seperti gambar di bawah ini : Ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid2.dgRowSelect Options. Tambahkan Edit1 dari tab Standard ke dalam ToolBar2. Tambahkan DBGrid2 dari tab Data Control ke dalam GroupBox4.dgEditing Value alClient DataSource3 False False True 35.Columns[1] DBGrid2.Columns[0] DBGrid2.

Columns[3] DBGrid2.Columns[4]. DBGrid2.Caption Title.Columns[2]. Tambahkan unit DateUtils pada blok Uses di unit UFPinjam. DBEdit4 Property Enabled Value False 37.Columns[1]. DBGrid2. DBGrid2. DBLookupCombobox3. lihat gambar berikut : Pemrograman Visual 1 – Ronny Faslah .Style.fsBold Value Pemeran Utama Kategori Jenis Koleksi taCenter True 36.2010 06/09/2011 21:51:34 149 . DBGrid2.Columns[5] Property Title.Columns[4] DBGrid2. DBLookUpCombobox2. DBLookUpCombobox5.Komponen DBGrid2. Atur layout form FPinjam seperti gambar di bawah ini : 38.Font.Alignment Title. DBLookupCombobox4.Columns[3].Columns[0].Columns[5] DBGrid2.Caption Title.Caption Title. DBGrid2. Atur property untuk komponen Data Control seperti table di bawah ini : Komponen DBEdit1.

DPinjam.GetBookmark. PrevRecord: TBookmark.First. '%'. '%'. 40.EOF do '%'.Parameters[0]. '%'.DisableControls.Text + qStock. Tambahkan variable PinjamID dengan type Integer pada blok Public di unit UFPinjam.Value := '%' + Edit1.Parameters[2]. tekan Ctrl+Shift+C untuk membuat blok procedure (lihat gambar di atas).Parameters[1].Text + qStock.39. qStock.Parameters[3]. Buat procedure UpdateqStock dan procedure UpdateTotalSewa pada blok Private di unit UFPinjam.Value := '%' + Edit1. begin qStock.UpdateqStock. begin PrevRecord := DPinjam.Text + qStock.Text + qStock.Close. try DPinjam.Value := '%' + Edit1. var TempTotal: Real. UpdateTotalSewa Pemrograman Visual 1 – Ronny Faslah . procedure TFPinjam. ketikkan perintah seperti table di bawah ini : Komponen FPinjam Event UpdateqStock Code procedure TFPinjam.2010 06/09/2011 21:51:34 150 .UpdateTotalSewa. end. TempTotal := 0. while not DPinjam.Value := '%' + Edit1.Open.

var Action: TCloseAction).Value := TempTotal.FormCreate(Sender: TObject).Close. []) else Pinjam.FreeBookmark(PrevRecord). end.FormClose(Sender: TObject.Value. begin Pinjam.Open.Edit. DPinjam. procedure TFPinjam. qKaryawan. PinjamID. SpeedButton2.Open. end. Pilih FPinjam pada Object TreeView. If PinjamID > 0 then Pinjam.EnableControls. end.State in dsEditModes) then Pinjam. end. Pilih SpeedButton1. qKoleksi. DPinjam. ketikkan perintah seperti table di bawah ini : Komponen FKoleksi Event onCreate onShow onClose Code procedure TFPinjam. 42.Close.Open. buat event onClick.Close.Close.FormShow(Sender: TObject). SpeedButton3 dan SpeedButton4 pada Object TreeView.2010 06/09/2011 21:51:34 151 . if PrevRecord <> nil then begin DPinjam. 41. qStock.Locate('PinjamID'. begin Pinjam. end. If not (Pinjam.GoToBookmark(PrevRecord). PinjamTotalSewa. buat event onCreate. UpdateqStock.Close. procedure TFPinjam. qKaryawan. qMember. begin PinjamID := 0.Komponen Event Code begin TempTotal := TempTotal + DPinjamHargaSewa. DPinjam. qKoleksi. end. DPinjam. ketikkan perintah seperti table di bawah ini : Komponen Event Code Pemrograman Visual 1 – Ronny Faslah . finally DPinjam. qMember. end.Next.Insert.Open. onShow dan onClose.Open.Close.

PinjamTotalSewa.Cancel.Delete. ketikkan perintah seperti table di bawah ini : Komponen DPinjam Event AfterDelete Code procedure TFPinjam.KaryawanID. procedure TFPinjam. 0) = mrNo then Abort else UpdateqStock. [mbYes. PinjamTglPinjam. Pilih Pinjam pada Object TreeView. AfterPost BeforeDelete onNewRecord Pemrograman Visual 1 – Ronny Faslah .DPinjamNewRecord(DataSet: TDataSet). begin If DBEdit3. end.SpeedButton1Click(Sender: TObject).PinjamBeforeDelete(DataSet: TDataSet).DPinjamAfterDelete(DataSet: TDataSet). begin DPinjamPinjamID. begin UpdateTotalSewa. end. mbNo]. SpeedButton3.4] then Close. 4 : Pinjam. end. AfterPost. ketikkan perintah seperti table di bawah ini : Komponen Pinjam Event BeforeDelete Code procedure TFPinjam. end. begin UpdateTotalSewa. procedure TFPinjam. buat event AfterDelete. begin If MessageDlg('Hapus data?'. SpeedButton2. procedure TFPinjam. 3:.Komponen SpeedButton1. begin Case (Sender as TSpeedButton). onNewRecord 44. procedure TFPinjam.mtConfirmation. PinjamKaryawanID. mbNo].Value.Tag in [2.Enabled then ActiveControl := DBEdit3.PinjamNewRecord(DataSet: TDataSet).Value := Today.mtConfirmation. [mbYes. buat event BeforeDelete dan onNewRecord.Value := FUtama.Post. end. End. 2 : Pinjam. If (Sender as TSpeedButton).Tag of 1 : Pinjam. 0) = mrNo then Abort. end.Value := 0.DPinjamAfterPost(DataSet: TDataSet).2010 06/09/2011 21:51:34 152 . end.DPinjamBeforeDelete(DataSet: TDataSet). begin If MessageDlg('Hapus data?'. BeforeDelete dan onNewRecord. 43. Pilih DPinjam pada Object TreeView. SpeedButton4 Event onClick Code procedure TFPinjam.Value := PinjamPinjamID.

Enabled := FUtama.HakAkses in [1.Enabled := (Pinjam.2]). ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFPinjam.Value := PinjamTglPinjam.Value = 0 then Begin MessageDlg('Silakan Pilih Member!'. begin DPinjam.Post. DPinjamKoleksiID.Post.HakAkses in [1.2]. [mbOK].2].Enabled := FUtama. UpdateqStock. Abort. Pilih Datasource1 pada Object TreeView. DBLookUpCombobox1. DBNavigator1.Value := 0.DBGrid1DblClick(Sender: TObject).2]. buat event onDblClick.DataSource1StateChange(Sender: TObject). DPinjam.DBGrid2DblClick(Sender: TObject).Enabled := FUtama. ketikkan perintah seperti table di bawah ini : Komponen DBGrid2 Event onDblClick Code procedure TFPinjam.HakAkses in [2]. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFPinjam. DPinjamHargaSewa.Delete. DPinjamTglHarusKembali. 46. 0).Value.Enabled := FUtama. Pilih DBGrid1 pada Object TreeView. begin If PinjamMemberID. DPinjam.Value.Value := DPinjamHargaSewaKoleksi.Enabled := (Pinjam.HakAkses in [1. If qStockStock.2010 06/09/2011 21:51:34 153 . begin SpeedButton1.Insert.2]. DBEdit3.HakAkses in [1.Enabled := FUtama. DBGrid2. buat event onDblClick.State in [dsBrowse]) and (FUtama.State in [dsBrowse]) and (FUtama.State in dsEditModes then Pinjam. mtInformation. SpeedButton2. End Pemrograman Visual 1 – Ronny Faslah .State in dsEditModes) and (FUtama. SpeedButton3. end.2]). Edit1.Enabled := FUtama.Value > 0 then Begin If Pinjam. DBGrid1.2].HakAkses in [1.Value := qStockKoleksiID.HakAkses in [1.45. DPinjamKembaliID. 47. buat event onStateChange. End.HakAkses in [1.Value + DPinjamLamaSewaKoleksi.2]).Enabled := (Pinjam. Pilih DBGrid2 pada Object TreeView. end.HakAkses in [1.Value.

buat event onClick. klik OK untuk melanjutkan. Simpan. klik OK untuk melanjutkan. 53. 51. Pemrograman Visual 1 – Ronny Faslah . begin FPinjam. 48. 50.Komponen Event Code Else MessageDlg('Stock koleksi kosong!'. 52. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton3 Event onClick Code procedure TFUtama. begin If Key = #13 then UpdateqStock. buat event onKeyPress. [mbOK]. Kembali ke form FUtama.ShowModal. end. mtInformation. end.ShowModal. Pilih SpeedButton3 pada Object TreeView. pilih FUtama.2010 06/09/2011 21:51:34 154 . jalankan dan uji aplikasi.Edit1KeyPress(Sender: TObject. klik View – Forms. Klik menu File – Use Unit. ketikkan perintah seperti table di bawah ini : Komponen Peminjaman1 Event onClick Code procedure TFUtama. var Key: Char). ketikkan perintah seperti table di bawah ini : Komponen Edit1 Event onKeyPress Code procedure TFPinjam. pilih FPinjam.SpeedButton3Click(Sender: TObject). Pilih Edit1 pada Object TreeView. end. Pilih Peminjaman1 pada Object TreeView.Peminjaman1Click(Sender: TObject). buat event onClick. begin FPinjam. 49. end. 0).

KoleksiID) and (Pinjam. klik kanan dan pilih Add All Fields.Handphone. 7. klik menu File – New – Others. klik OK untuk melanjutkan. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters. 3. Nota Peminjaman menggunakan kertas ukuran A5 dengan posisi Landscape. Tambahkan ADOQuery1 dari tab ADO.Alamat. Klik menu File – Use Unit.dpr telah dibuka.ADOConnection1 qPinjam Select Pinjam. Member.PinjamID) and (DPinjam.Kota.Judul.Nama as NamaKaryawan. Member.KaryawanID = Karyawan. Member. 4. pilih UFUtama. Karyawan. Member. Karyawan. Pilih QuickReport1 pada Object TreeView.KaryawanID) and (Pinjam. Member.*. Pilih qPinjam pada Object TreeView. ubah property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent QuickReport1 Property Connection Name SQL Value FUtama. ubah property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . ubah property seperty table di bawah ini : Komponen TParameters[0] Property DataType Value ftInteger 6.2010 06/09/2011 21:51:34 155 . Buat persistent field untuk qPinjam. pada tab New pilih Reports. DPinjam. Koleksi. DPinjam. klik dua kali qPinjam pada Object TreeView.JenisKoleksi From Pinjam. Pastikan project Rental.DPinjamID 5.MemberID = Member. klik OK untuk melanjutkan. Koleksi Where (Pinjam.Nama as NamaMember.MemberID) and (Pinjam. 2.KoleksiID = Koleksi.PinjamID = :PinjamID) Order by DPinjam. Koleksi.PinjamID = DPinjam. Langkah-langkah : 1.Latihan 27 : Membuat QuickReport Nota Peminjaman Nota Peminjaman adalah bukti transaksi peminjaman yang dilakukan oleh Member.*. Buat Report baru.

00 5. ubah setting lainnya seperti gambar berikut.pas dalam folder Rental. Settings Report Settings Section Other Property Units Value MM 10.00 5.2010 06/09/2011 21:51:34 156 . klik OK untuk melanjutkan. Klik dua kali QRNotaPinjam pada Object TreeView untuk membuka jendela Report Settings. Ubah Units dari Inch menjadi MM. Klik menu File – Save All untuk menyimpan project. Masih pada jendela Report Settings. 9.00 5. Settings Report Settings Section Paper size Margin Property Paper size Orientation Top Bottom Left Right Font Size PageHeader ColumnHeader DetailBand Summary Print first page header Print last page footer Value A5 148 x 210 mm Landscape 5.00 Trebuchet MS 10 True True True True True True Other Bands Pemrograman Visual 1 – Ronny Faslah . Simpan Unit1 menjadi UQRNotaPinjam. klik Apply.Komponen QuickReport1 Property Dataset Name Value qPinjam QRNotaPinjam 8.

Style.Style. Tambahkan 9 buah QDBText dari tab QReports ke PageHeaderBand1. QRLabel3 QRLabel4 Tab QReports QReports QReports Parent PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 Property Caption Caption Caption Font. Tambahkan 22 buah QRLabel dari tab QReports ke PageHeaderBand1. ubah property seperti table di bawah ini : dalam Pemrograman Visual 1 – Ronny Faslah .fsUnderline Font.Style. QRLabel2.fsBold dalam Value NamaRental AlamatRental TelpRental True QReports PageHeaderBand1 QRLabel5 QRLabel6 QRLabel7 QRLabel8 QRLabel9 QRLabel10 QRLabel11 QRLabel12 QRLabel13 QRLabel14 s/d QRLabel22 QReports QReports QReports QReports QReports QReports QReports QReports QReports QReports PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 Caption Font.2010 06/09/2011 21:51:34 157 .11.fsBold Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption NOTA PEMINJAMAN True True PinjamID Tanggal KaryawanID Nama Karyawan MemberID Nama Alamat Kota Handphone : 12. ubah property seperti table di bawah ini : Komponen QRLabel1 QRLabel2 QRLabel3 QRLabel1.

DrawBottom Frame. Pilih DetailBand1 pada Object TreeView.PinjamID TglPinjam KaryawanID NamaKaryawan MemberID NamaMember Alamat Kota Handphone 13. QRLabel24. QRDBText11. ubah property seperti table di bawah ini : Komponen ColumnHeaderBand1 Property Frame. QRLabel28 Tab QReports QReports QReports QReports QReports QReports Parent ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 Property Caption Caption Caption Caption Caption Caption Alignment dalam Value No. KoleksiID Judul Koleksi Jenis Koleksi Tgl.2010 06/09/2011 21:51:34 158 . Tambahkan 6 buah QRLabel dari tab QReports ke ColumnHeaderBand1. QRDBText13 Tab QReports QReports Parent DetailBand1 DetailBand1 Property Data Dataset Value qrsDetailNo qPinjam Pemrograman Visual 1 – Ronny Faslah . ubah property seperti table di bawah ini : Komponen QRSysData1 QRDBText10. ubah property seperti table di bawah ini : Komponen DetailBand1 Property Height Value 19 16. ubah property seperti table di bawah ini : Komponen QRLabel23 QRLabel24 QRLabel25 QRLabel26 QRLabel27 QRLabel28 QRLabel23. Pilih ColumnHeaderBand1 pada Object TreeView. 4 buah QRDBText dan 1 buah QRExpr dari tab QReports ke dalam DetailBand1.DrawTop Height Value True True 32 14. Harus Kembali Harga Sewa taRightJustify 15. QRDBText12. Tambahkan 1 buah QRSysData.Komponen QRDBText1 s/d QRDBText9 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRDBText5 QRDBText6 QRDBText7 QRDBText8 QRDBText9 Tab Parent Property Dataset Value qPinjam QReports QReports QReports QReports QReports QReports QReports QReports QReports PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 DataField DataField DataField DataField DataField DataField DataField DataField DataField Pinjam.

ubah property seperti table di bawah ini : Komponen QRLabel29 QRLabel30 QRSysData2 QRLabel31 QRExpr2 Tab QReports QReports QReports QReports QReports Parent SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 Property Caption Caption Data Caption Expression Autosize Alignment Value Dicetak : qrsDateTime Total Sewa FORMATNUMERIC('. Tambahkan 3 buah QRLabel.HargaSewa) taRightJustify Autosize False 17. qPinjam. Atur layout QRNotaPinjam seperti gambar berikut ini : Pemrograman Visual 1 – Ronny Faslah . QRDBText10.HargaSewa)) False taRightJustify 19.0'.2010 06/09/2011 21:51:34 159 .DrawTop Height Value True 40 18. 1 buah QRSysData dan 1 buah QRExpr dari tab QReports ke dalam SummaryBand1. QRExpr1 Tab Parent QReports DetailBand1 Property DataField DataField DataField DataField Expression Alignment Value KoleksiID Judul JenisKoleksi TglHarusKembali FORMATNUMERIC('. QRExpr1 QRSysData1. QRDBText10. Pilih SummaryBand1 pada Object TreeView. QRDBText11.Komponen QRDBText10 QRDBText11 QRDBText12 QRDBText13 QRExpr1 QRSysData1. QRDBtext12. ubah property seperti table di bawah ini : Komponen SummaryBand1 Property Frame.0'. SUM(qPinjam. QRDBText13.

Caption := FUtama. end.NamaRental. klik OK untuk melanjutkan. jalankan dan uji aplikasi.Delete. ketikkan perintah seperti table di bawah ini : Komponen FPinjam Procedure CetakNotaP injam Code procedure TFPinjam.4] then Close. 3 : CetakNotaPinjam. begin Case (Sender as TSpeedButton). End. klik menu View – Form. qPinjam. qPinjam.Tag of 1 : Pinjam.TelpRental. pilih FPinjam. end.Close. perbarui event onClick seperti table di bawah ini : Komponen SpeedButton3 Event onClick Code procedure TFPinjam. QRLabel2. begin With QRNotaPinjam do Begin qPinjam.Cancel.Caption := FUtama. If (Sender as TSpeedButton). 21. End.20. Buat procedure CetakNotaPinjam pada blok Private. Simpan. tekan Ctrl+Shift+C untuk membuat blok procedure.Value := PinjamPinjamID. Kembali ke form FPinjam.Open.2010 06/09/2011 21:51:34 160 . QRLabel3. 2 : Pinjam. 24. pilih UQRNotaPinjam. Preview. 22. Pilih SpeedButton3 pada Object TreeView. QRLabel1. 23. 4 : Pinjam.Tag in [2.Caption := FUtama.Parameters[0]. klik OK untuk melanjutkan. Pemrograman Visual 1 – Ronny Faslah .AlamatRental.Post. Klik menu File – Use Unit.Value.SpeedButton1Click(Sender: TObject).CetakNotaPinjam.

Simpan Unit1 menjadi UFKembali.pas dalam folder Rental. Pada form ini metode input transaksi dibuat semudah mungkin. Pada bagian kanan terdapat daftar koleksi yang belum dikembalikan oleh member bersangkutan. Tambahkan 3 buah ADOTable dan 4 buah ADOQuery atur property seperti table di bawah ini : Komponen Tab Parent Property Value Pemrograman Visual 1 – Ronny Faslah . Tambahkan 1 buah GroupBox dari tab Standard ke dalam FKembali. Pastikan project Rental.2010 06/09/2011 21:51:34 161 . pilih UFUtama. 6. Langkah-langkah : 1.Latihan 28 : Membuat Form Pengembalian Form Pengembalian digunakan untuk melakukan transaksi pengembalian. atur property seperti table di bawah ini : Komponen GroupBox4 Tab Standard Parent FPinjam Property Align Caption Value alClient Koleksi Belum Kembali 10. Klik menu File – Save All untuk menyimpan project. 7. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position WindowState Value Pengembalian bsSingle FKembali poDesktopCenter wsMaximized 4. Klik menu File – Use Unit. 3. Buat form baru. Tambahkan 1 buah Splitter dari tab Additional ke dalam FKembali.dpr telah dibuka. klik OK untuk melanjutkan. 5. atur property seperti table di bawah ini : Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FKembali FKembali FKembali Property Align Caption Align Caption Align Caption Value alTop alLeft Koleksi Yang Dikembalikan alBottom 8. klik menu File – New – Form. 2. 9. Tambahkan 3 buah GroupBox1 dari tab Standard ke dalam FKembali. Seperti Form Peminjaman. form ini juga menggunakan konsep master detail gabungan dari table Kembali dan DPinjam. Copy dan Paste ToolBar1 dari form FPinjam ke dalam FKembali.

ADOQuery2.2010 06/09/2011 21:51:34 162 . DPinjam.Kota. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters.Nama. Pinjam.DPinjamID.Nama From Karyawan Order by Karyawan. Member. DPinjam.KoleksiID = Koleksi.KoleksiID) and (DPinjam. Member. ADOTable3.MemberID. ADOQuery3.MemberID.Judul qBKembali Select Pinjam. Koleksi Where (Pinjam.Judul From Koleksi Order by Koleksi.TglHarusKembali From Pinjam. Pinjam.KoleksiID.Judul. Koleksi. ADOQuery1.Nama qKoleksi Select Koleksi. Karyawan.MemberID = :MemberID) 11.KaryawanID. DPinjam. ADOTable2. ubah property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .PinjamID) and (DPinjam.Komponen ADOTable1.HargaDenda. Koleksi. ADOQuery4 ADOTable1 ADOTable2 ADOTable3 Tab Parent Property Connection Value FUtama.Alamat.KoleksiID.ADOConnection1 ADO ADO ADO FKembali FKembali FKembali ADOQuery1 ADO FKembali Name TableName Name TableName Name CursorLocation TableName Name SQL ADOQuery2 ADO FKembali Name SQL ADOQuery3 ADO FKembali Name SQL ADOQuery4 ADO FKembali Name SQL Kembali Kembali DKembali DPinjam DPinjam clUseServer DPinjam qMember Select Member. Pilih qBKembali pada Object TreeView. DPinjam.Nama qKaryawan Select Karyawan.Handphone From Member Order by Member.PinjamID = DPinjam. Member.TglPinjam. Member.PinjamID. Koleksi.KembaliID = 0) and (Pinjam.

Dengan cara yang sama dengan point 12. klik kanan dan pilih Add All Fields. qMember. Buat persistent field table Kembali. ubah property seperti table di bawah ini : Komponen KembaliTotalDenda Property Currency Value True 15. ubah property seperti table di bawah ini : Komponen DKembaliHargaDenda Property Currency Value True 16. buat persistent field table DKembali. ubah property seperti table di bawah ini : Komponen Datasource1 DataSource2 DataSource3 Tab Data Access Data Access Data Access Parent FKembali FKembali FKembali Property Dataset Dataset Dataset Value Kembali DKembali qBKembali 17. klik tombol elipsisi pada property MasterField untuk membuka Field Link Designer. Klik OK untuk melanjutkan. qKaryawan. Klik Add untuk menambahkan ke dalam Joined Fields.2010 06/09/2011 21:51:34 163 . klik dua kali Kembali pada Object TreeView untuk membuka field editor. pilih field TotalDenda. 14.Komponen TParameters[0] Property DataType Value ftInteger 12. 13. Klik dua kali Kembali pada Object TreeView untuk membuka field editor. pilih field HargaDenda. qKoleksi dan qBKembali. Pilih table DKembali pada Object TreeView. Klik dua kali DKembali pada Object TreeView untuk membuka field editor. Tambahkan 3 buah DataSource dari tab Data Acces. Pemrograman Visual 1 – Ronny Faslah . DPinjam. Buat hubungan master detail antara table Kembali dan DKembali. ubah property seperti table di bawah ini : Komponen DKembali Property MasterSource Value Datasource1 18. Pilih KembaliID pada Detail Fields dan KembaliID pada Master Fields. pilih table DKembali pada Object TreeView.

lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Kota Section Field Properties Property Name Type Size Value Kota String 30 Pemrograman Visual 1 – Ronny Faslah . Tambahkan field baru Alamat pada table Kembali. Tambahkan field baru NamaMember pada table Kembali. klik dua kali Kembali pada Object TreeView untuk membuka Field Editor. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Alamat Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value Alamat String 50 Lookup MemberID qMember MemberID Alamat Field type Lookup Definition 21. klik kanan dan pilih New Fields.19. Tambahkan field baru Kota pada table Kembali. sama seperti point 19. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field NamaMember Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaMember String 30 Lookup MemberID qMember MemberID Nama Field type Lookup Definition 20.2010 06/09/2011 21:51:34 164 .

Klik dua kali DKembali pada Object TreeView untuk membuka Field Editor. tambahkan field baru Telat pada table qBKembali. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field NamaKaryawan Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value NamaKaryawan String 30 Lookup KaryawanID qKaryawan KaryawanID Nama Field type Lookup Definition 24. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Handphone Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value Handphone String 30 Lookup MemberID qMember MemberID Handphone Field type Lookup Definition 23. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field JudulKoleksi Section Field Properties Property Name Type Size Field type Key Fields Dataset Lookup Keys Result Field Value JudulKoleksi String 100 Lookup KoleksiID qKoleksi KoleksiID Judul Field type Lookup Definition 25. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Telat Section Field Properties Property Name Type Value Telat Integer Pemrograman Visual 1 – Ronny Faslah . Klik dua kali qBKembali pada Object TreeView untuk membuka field editor. Tambahkan field baru Handphone pada table Kembali.2010 06/09/2011 21:51:34 165 . Tambahkan field baru NamaKaryawan pada table Kembali.Field type Lookup Definition Field type Key Fields Dataset Lookup Keys Result Field Lookup MemberID qMember MemberID Kota 22. tambahkan field baru JudulKoleksi pada table DKoleksi.

Pilih field KembaliID. TglKembali.Columns[3] DBGrid1. pilih Add.Columns[0]. 29. tambahkan 4 buah dengan mengklik kanan pada Column Editor.2010 06/09/2011 21:51:34 166 .Caption FieldName Title.Caption FieldName Title.Columns[1]. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.Font.Columns[0] DBGrid1. DBGrid1. Masih pada field editor table qBKembali. NamaMember.Columns[3] Property FieldName Title.Columns[2].dgEditing Value alClient DataSource2 False False True 30. Klik dua kali Kembali pada Object TreeView untuk membuka field editor.fsBold Value KoleksiID ID JudulKoleksi Judul Koleksi TglHarusKembali Tgl Harus Kembali Denda Denda taCenter True Pemrograman Visual 1 – Ronny Faslah . DBGrid1.dgAlwaysShowSelection Options. lakukan drag and drop ke dalam GroupBox1. Tambahkan DBGrid1 dari tab Data Control ke dalam GroupBox2.Caption FieldName Title.Caption Title.Alignment Title.Columns[1] DBGrid1.Columns[2] DBGrid1.Style. MemberID. Kota dan Handphone. Ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1.Field type Field type Calculated 26. Tambahkan field baru Denda pada table qBKembali. ubah property seperti table di bawah ini : Komponen qBKembaliDenda Property Currency Value True 28. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field Denda Section Field Properties Field type Property Name Type Field type Value Denda Currency Calculated 27. DBGrid1. pilih field Denda.dgRowSelect Options. Klik dua kali DBGrid1 pada Object TreeView untuk membuka Column Editor. Alamat.

31.Caption FieldName Title. Klik dua kali DBGrid2 pada Object TreeView untuk membuka Column Editor.nbEdit VisibleButtons.Columns[3] DBGrid2. DBGrid2.Caption FieldName Title. lakukan drag and drop ke dalam GroupBox3.Columns[2] DBGrid2. tambahkan 6 buah kolom.Columns[0].Columns[5] DBGrid2.Columns[4]. atur property seperti table di bawah ini : Komponen DBNavigator1 Tab Data Control Parent GroupBox3 Property Align Datasource Flat VisibleButtons.Columns[1].Columns[0] DBGrid2. ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid2. DBGrid2.Columns[1] DBGrid2.Columns[4] DBGrid2.Alignment Title. pilih field Nama Karyawan dan TotalDenda.nbCancel VisibleButtons.dgAlwaysShowSelection Value alClient DataSource3 True True 34.nbRefresh Value alBottom Datasource1 True False False False False False False 33.dgRowSelect Options.Caption Title.Caption FieldName Title.Columns[5] Property FieldName Title.Columns[3].Columns[2]. Atur property untuk komponen Data Control seperti table di bawah ini : Komponen Property Value Pemrograman Visual 1 – Ronny Faslah .nbInsert VisibleButtons. Tambahkan DBGrid2 dari tab Data Control ke dalam GroupBox4. 32. atur property seperti table di bawah ini : Komponen DBGrid2 Tab Data Control Parent GroupBox4 Property Align Datasource Options.2010 06/09/2011 21:51:34 167 .Caption FieldName Title. DBGrid2. Klik dua kali table Kembali pada Object TreeView untuk membuka field editor.fsBold Value TglPinjam Tgl Pinjam KoleksiID ID Judul Judul Koleksi TglHarusKembali Tgl Harus Kembali Telat Telat Denda Denda taCenter True 35.Caption FieldName Title.Style.Font.nbPost VisibleButtons. Tambahkan DBNavigator1 dari tab Data Control ke dalam GroupBox3.nbDelete VisibleButtons. DBGrid2. DBGrid2.

ketikkan perintah seperti table di bawah ini : Komponen FKembali Event UpdateqBKembali Code procedure TFKembali. If DBEdit3. tekan Ctrl+Shift+C untuk membuat blok procedure tersebut (lihat Latihan 27 point 40). var TempTotal: Real. PrevRecord: TBookmark. lihat Latihan 27 point 39.Open.UpdateTotalDenda.Value := 0 else qBKembali. Buat procedure UpdateqBKembali dan Procedure UpdateTotalDenda pada blok Private di unit UFKembali. DBEdit4 Enabled False 36. DBLookUpCombobox5.Close. lihat Latihan 27 point 38.Parameters[0]. begin qBKembali. DBLookupCombobox4.Text = '' then qBKembali. Atur layout form FKembali seperti gambar di bawah ini : 37.Parameters[0]. Tambahkan variable KembaliID dengan type Integer pada blok Public di unit UFKembali. 39.2010 06/09/2011 21:51:34 168 . DBLookUpCombobox2. Tambahkan unit DateUtils pada blok Uses di unit UFKembali.UpdateqBKembali. begin UpdateTotalDenda Pemrograman Visual 1 – Ronny Faslah .Text). 38.DBEdit1. DBLookupCombobox3. qBKembali. end. procedure TFKembali.Value := strtoint(DBEdit3.

First. DKembali.Close. qKoleksi.Open.Komponen Event Code PrevRecord := DKembali. end. begin KembaliID := 0. procedure TFKembali. DKembali. DKembali.Close.FormClose(Sender: TObject. var Action: TCloseAction).Next.Value. finally DKembali. end. onShow dan onClose. UpdateqBKembali.EOF do begin TempTotal := TempTotal + DKembaliHargaDenda. []) else Kembali.Close. begin Kembali. end. try DKembali.Close. qMember.Open.Close. procedure TFKembali. end. end.2010 06/09/2011 21:51:34 169 . 40. begin Kembali.Insert. ketikkan perintah seperti table di bawah ini : Komponen FKembali Event onCreate Code procedure TFKembali. DPinjam.Close. qKaryawan. onShow onClose Pemrograman Visual 1 – Ronny Faslah . DKembali.Edit.Locate('KembaliID'. TempTotal := 0. DKembali.GetBookmark. end.Open. If not (Kembali. qKaryawan.Open.FormShow(Sender: TObject). KembaliTotalDenda.Open. qMember. If KembaliID > 0 then Kembali. KembaliID.EnableControls. buat event onCreate. DPinjam.FormCreate(Sender: TObject).Close. end. qBKembali.DisableControls. qKoleksi. if PrevRecord <> nil then begin DKembali.GoToBookmark(PrevRecord).FreeBookmark(PrevRecord).Open. Pilih FKembali pada Object TreeView. while not DKembali.State in dsEditModes) then Kembali.Value := TempTotal.

KembaliTglKembali. If (Sender as TSpeedButton).DBEdit3Change(Sender: TObject). 2 : Kembali. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1.Post.Value := Today. SpeedButton2. KembaliTotalDenda. SpeedButton3 dan SpeedButton4 pada Object TreeView. KembaliKaryawanID. 42. begin If MessageDlg('Hapus data?'. buat event onClick. Pilih DBEdit3 pada Object TreeView. buat event AfterScroll.Delete. begin If DBEdit3.KaryawanID. ketikkan perintah seperti table di bawah ini : Komponen Kembali Event AfterScroll Code procedure TFKembali. 43. end. BeforeDelete dan onNewRecord. end. 3:.KembaliNewRecord(DataSet: TDataSet).2010 06/09/2011 21:51:34 170 . SpeedButton2. BeforeDelete onNewRecord 44. 4 : Kembali. end.mtConfirmation.KembaliAfterScroll(DataSet: TDataSet).qBKembaliCalcFields(DataSet: TDataSet).KembaliBeforeDelete(DataSet: TDataSet). procedure TFKembali. buat event onCalcFields.Tag in [2.SpeedButton1Click(Sender: TObject).41. Pilih SpeedButton1. SpeedButton4 Event onClick Code procedure TFKembali. begin Case (Sender as TSpeedButton). Pilih table Kembali pada Object TreeView.4] then Close. Pilih qBKembali pada Object TreeView.Cancel. begin UpdateqBKembali.Enabled then ActiveControl := DBEdit3. ketikkan perintah seperti table di bawah ini : Komponen qBKembali Event onCalcFields Code procedure TFKembali. End.Value := FUtama. mbNo].Tag of 1 : Kembali. SpeedButton3. begin UpdateqBKembali.Value := 0. procedure TFKembali. var Pemrograman Visual 1 – Ronny Faslah . [mbYes. end. ketikkan perintah seperti table di bawah ini : Komponen DBEdit3 Event onChange Code procedure TFkembali. 0) = mrNo then Abort. end. buat event onChange.

State in dsEditModes) and (FUtama. DKembaliKembaliID. [mbYes.DBGrid1DblClick(Sender: TObject).Value := 0. qBKembaliDenda.Enabled := (Kembali. 45. begin If MessageDlg('Kembalikan?'.HakAkses in [1. begin If MessageDlg('Batalkan pengembalian?'. begin SpeedButton1.2]). SpeedButton2.HakAkses in [1. 47.Value * qBKembaliHargaDenda. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFKembali.2].Enabled := FUtama. mtConfirmation.DataSource1StateChange(Sender: TObject).Edit.State in [dsBrowse]) and (FUtama.qBKembaliTglHarusKembali.Value.2].Enabled := FUtama.Value := 0.HakAkses in [1.Value := Telat. Pemrograman Visual 1 – Ronny Faslah .2]. DBGrid1.HakAkses in [2].2010 06/09/2011 21:51:34 171 .HakAkses in [1. 0) = mrYes then Begin DKembali. end. buat event onStateChange. end. ketikkan perintah seperti table di bawah ini : Komponen DBGrid2 Event onDblClick Code procedure TFKembali. buat event onDblClick. buat event onDblClick.Value := qBKembaliTelat. SpeedButton3. mbNo].Enabled := FUtama. If Telat <= 0 then qBKembaliTelat. begin Telat := Trunc(Today . 46. end.Value).HakAkses in [1. UpdateTotalDenda.Enabled := FUtama. DBLookUpCombobox1.Enabled := (Kembali. DBNavigator1.Enabled := FUtama.HakAkses in [1. UpdateqBKembali.2]). mtConfirmation.Post. DKembaliDenda.2]. DBEdit3.Value := 0 else qBKembaliTelat.2]).DBGrid2DblClick(Sender: TObject).Enabled := (Kembali. Pilih DBGrid2 pada Object TreeView.State in [dsBrowse]) and (FUtama.Komponen Event Code Telat : Integer.HakAkses in [1. End. Pilih DataSource1 pada Object TreeView. ketikkan perintah seperti table di bawah ini : Komponen DataSource1 Event onStateChange Code procedure TFKembali. DKembali. Pilih DBGrid1 pada Object TreeView. DBGrid2.

Klik menu File – Use Unit.ShowModal. end. End. Simpan. 49. []) then Begin DPinjam.Value. buat event onClick.Post. 48. pilih FKembali. If DPinjam. klik menu View – Forms.2010 06/09/2011 21:51:34 172 . jalankan dan uji aplikasi. DPinjam. [mbOK]. UpdateqBKembali. end. 51.SpeedButton4Click(Sender: TObject).Pengembalian1Click(Sender: TObject).Value := KembaliKembaliID.Close. DKembali. klik OK untuk melanjutkan.Komponen Event Code [mbYes. End.State in dsEditModes then Kembali. DKembali. End Else MessageDlg('Member tidak cocok!'. Pilih Pengembalian1 pada Object TreeView. 0).Open. 0) = mrYes then Begin If qBKembaliMemberID.Value := qBKembaliDenda.Post. Pilih SpeedButton4 pada Object TreeView. Kembali ke form FUtama. 52. end.Text) then Begin If Kembali. buat event onClick.Value.Locate('DPinjamID'. klik OK untuk melanjutkan. begin FKembali.ShowModal. begin FKembali.Value. mbNo]. 50. DPinjamKembaliID.Edit. DPinjamDenda. mtInformation.Value = strtoint(DBEdit3. pilih FUtama. ketikkan perintah seperti table di bawah ini : Komponen Pengembalian1 Event onClick Code procedure TFUtama. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton4 Event onClick Code procedure TFUtama. UpdateTotalDenda. qBKembaliDPinjamID. Pemrograman Visual 1 – Ronny Faslah .

Klik menu File – Use Unit. 2.MemberID) and (Kembali. Karyawan. Karyawan.Nama as NamaKaryawan.ADOConnection1 qKembali Select Kembali.KembaliID) and (DPinjam.KaryawanID) and (Kembali. 3. Tambahkan ADOQuery1 dari tab ADO.Alamat. Member. Pilih qKembali pada Object TreeView. klik menu File – New – Others.Kota.KembaliID = :KembaliID) Order by DPinjam. Nota Peminjaman berisi informasi jumlah denda yang harus dibayar member apabila terjadi keterlambatan pengembalian koleksi.dpr telah dibuka.MemberID = Member.Nama as NamaMember. Koleksi.KoleksiID = Koleksi. Member. ubah property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent QuickReport1 Property Connection Name SQL Value FUtama.JenisKoleksi From Kembali. klik tombol ellipsis pada property Parameters untuk membuka jendela Edit Parameters. Koleksi. Buat Report baru.*.*. DPinjam. klik OK untuk melanjutkan. 4. klik OK untuk melanjutkan.2010 06/09/2011 21:51:34 173 .KaryawanID = Karyawan.Handphone. Langkah-langkah : 1.DPinjamID 5. Member. ubah property seperty table di bawah ini : Komponen TParameters[0] Property DataType Value ftInteger Pemrograman Visual 1 – Ronny Faslah . pada tab New pilih Reports.Judul. Pastikan project Rental.KoleksiID) and (Kembali. Nota Peminjaman menggunakan kertas ukuran A5 dengan posisi Landscape. DPinjam.KembaliID = DPinjam.Latihan 29 : Membuat QuickReport Nota Pengembalian Nota Pengembalian adalah bukti transaksi pengembalian koleksi yang dilakukan oleh Member. Member. Member. Koleksi Where (Kembali. pilih UFUtama.

Settings Report Settings Section Other Property Units Value MM 10. klik kanan dan pilih Add All Fields. 7.00 5.00 5. Simpan Unit1 menjadi UQRNotaKembali. Buat persistent field untuk qKembali.00 Trebuchet MS 10 True True True True True True Other Bands Pemrograman Visual 1 – Ronny Faslah . Klik menu File – Save All untuk menyimpan project. ubah property seperti table di bawah ini : Komponen QuickReport1 Property Dataset Name Value qKembali QRNotaKembali 8.6. Pilih QuickReport1 pada Object TreeView.00 5. klik Apply.pas dalam folder Rental. Settings Report Settings Section Paper size Margin Property Paper size Orientation Top Bottom Left Right Font Size PageHeader ColumnHeader DetailBand Summary Print first page header Print last page footer Value A5 148 x 210 mm Landscape 5. 9. Masih pada jendela Report Settings. ubah setting lainnya seperti gambar berikut. klik OK untuk melanjutkan. klik dua kali qKembali pada Object TreeView. Ubah Units dari Inch menjadi MM.2010 06/09/2011 21:51:34 174 . Klik dua kali QRNotaKembali pada Object TreeView untuk membuka jendela Report Settings.

11. Tambahkan 22 buah QRLabel dari tab QReports ke PageHeaderBand1, ubah property seperti table di bawah ini :
Komponen QRLabel1 QRLabel2 QRLabel3 QRLabel1, QRLabel2, QRLabel3 QRLabel4 Tab QReports QReports QReports Parent PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 Property Caption Caption Caption Font.Style.fsBold

dalam

Value NamaRental AlamatRental TelpRental True

QReports

PageHeaderBand1

QRLabel5 QRLabel6 QRLabel7 QRLabel8 QRLabel9 QRLabel10 QRLabel11 QRLabel12 QRLabel13 QRLabel14 s/d QRLabel22

QReports QReports QReports QReports QReports QReports QReports QReports QReports QReports

PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1

Caption Font.Style.fsUnderline Font.Style.fsBold Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption

NOTA PENGEMBALIAN True True KembaliID Tanggal KaryawanID Nama Karyawan MemberID Nama Alamat Kota Handphone :

12. Tambahkan 9 buah QDBText dari tab QReports ke PageHeaderBand1, ubah property seperti table di bawah ini :

dalam

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

175

Komponen QRDBText1 s/d QRDBText9 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRDBText5 QRDBText6 QRDBText7 QRDBText8 QRDBText9

Tab

Parent

Property Dataset

Value qKembali

QReports QReports QReports QReports QReports QReports QReports QReports QReports

PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1 PageHeaderBand1

DataField DataField DataField DataField DataField DataField DataField DataField DataField

Kembali.KembaliID TglKembali KaryawanID NamaKaryawan MemberID NamaMember Alamat Kota Handphone

13. Pilih ColumnHeaderBand1 pada Object TreeView, ubah property seperti table di bawah ini :
Komponen ColumnHeaderBand1 Property Frame.DrawBottom Frame.DrawTop Height Value True True 32

14. Tambahkan 6 buah QRLabel dari tab QReports ke ColumnHeaderBand1, ubah property seperti table di bawah ini :
Komponen QRLabel23 QRLabel24 QRLabel25 QRLabel26 QRLabel27 QRLabel28 QRLabel23, QRLabel24, QRLabel28 Tab QReports QReports QReports QReports QReports QReports Parent ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 Property Caption Caption Caption Caption Caption Caption Alignment

dalam

Value No. KoleksiID Judul Koleksi Jenis Koleksi Tgl. Harus Kembali Denda taRightJustify

15. Pilih DetailBand1 pada Object TreeView, ubah property seperti table di bawah ini :
Komponen DetailBand1 Property Height Value 19

16. Tambahkan 1 buah QRSysData, 4 buah QRDBText dan 1 buah QRExpr dari tab QReports ke dalam DetailBand1, ubah property seperti table di bawah ini :
Komponen QRSysData1 QRDBText10, QRDBText11, QRDBText12, QRDBText13 Tab QReports QReports Parent DetailBand1 DetailBand1 Property Data Dataset Value qrsDetailNo qKembali

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

176

Komponen QRDBText10 QRDBText11 QRDBText12 QRDBText13 QRExpr1 QRSysData1, QRDBText10, QRExpr1 QRSysData1, QRDBText10, QRDBText11, QRDBtext12, QRDBText13, QRExpr1

Tab

Parent

QReports

DetailBand1

Property DataField DataField DataField DataField Expression Alignment

Value KoleksiID Judul JenisKoleksi TglHarusKembali FORMATNUMERIC(',0', qKembali.Denda) taRightJustify

Autosize

False

17. Pilih SummaryBand1 pada Object TreeView, ubah property seperti table di bawah ini :
Komponen SummaryBand1 Property Frame.DrawTop Height Value True 40

18. Tambahkan 3 buah QRLabel, 1 buah QRSysData dan 1 buah QRExpr dari tab QReports ke dalam SummaryBand1, ubah property seperti table di bawah ini :
Komponen QRLabel29 QRLabel30 QRSysData2 QRLabel31 QRExpr2 Tab QReports QReports QReports QReports QReports Parent SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 Property Caption Caption Data Caption Expression Autosize Alignment Value Dicetak : qrsDateTime Total Sewa FORMATNUMERIC(',0', SUM(qKembali.Denda)) False taRightJustify

19. Atur layout QRNotaPinjam seperti gambar berikut ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

177

20. Kembali ke form FKembali, klik menu View – Form, pilih FKembali, klik OK untuk melanjutkan. 21. Klik menu File – Use Unit, pilih UQRNotaKembali, klik OK untuk melanjutkan. 22. Buat procedure CetakNotaKembali pada blok Private, tekan Ctrl+Shift+C untuk membuat blok procedure, ketikkan perintah seperti table di bawah ini :
Komponen FKembali Procedure CetakNota Kembali Code procedure TFKembali.CetakNotaKembali; begin With QRNotaKembali do Begin qKembali.Close; qKembali.Parameters[0].Value := KembaliKembaliID.Value; qKembali.Open; QRLabel1.Caption := FUtama.NamaRental; QRLabel2.Caption := FUtama.AlamatRental; QRLabel3.Caption := FUtama.TelpRental; Preview; End; end;

23. Pilih SpeedButton3 pada Object TreeView, perbarui event onClick seperti table di bawah ini :
Komponen SpeedButton3 Event onClick Code procedure TFKembali.SpeedButton1Click(Sender: TObject); begin Case (Sender as TSpeedButton).Tag of 1 : Kembali.Post; 2 : Kembali.Delete; 3 : CetakNotaKembali; 4 : Kembali.Cancel; End; If (Sender as TSpeedButton).Tag in [2,4] then Close; end;

24. Simpan, jalankan dan uji aplikasi.

NEW
Perbaikan :
1. 2. 3. 4. Lakukan perbaikan pada Latihan 24 point Lakukan perbaikan pada Latihan 25 point Lakukan perbaikan pada Latihan 26 point Lakukan perbaikan pada Latihan 28 point 14 dan 19. 15 dan 20. 34. 29.

Tugas Di Rumah :
1. Sempurnakan Latihan 17 s/d Latihan 25

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

178

2. Selesaikan Latihan 26 s/d Latihan 29. 3. Masukkan 20 transaksi peminjaman dengan minimal pinjam 2 koleksi per transaksi. 4. Masukkan 20 transaksi kembali dengan minimal pengembalian 1 koleksi per transaksi.

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

179

DPINJAMID) FROM PINJAM.PINJAMID = DPINJAM. Klik menu File – Use Unit. MEMBER. DPINJAM WHERE (PINJAM. DPINJAM WHERE (PINJAM. klik OK untuk melanjutkan. Pastikan project Rental. MEMBER. Form ini bisa digunakan untuk pencarian member berdasarkan criteria tertentu. Form ini berhubungan dengan form FMember untuk menampilkan data lengkap member beserta histori transaksinya. atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FDMember Property Connection Name SQL Value FUtama. pilih UFUtama.NAMA.PINJAMID) AND (PINJAM. (SELECT COUNT(DPINJAM. MEMBER. 5.ADOConnection1 qAwal SELECT MEMBER.dpr telah dibuka. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position WindowState Value Daftar Member bsSizeable FDMember poDesktopCenter wsMaximized 4. MEMBER. Data hasil pencarian dapat diurutkan berdasarkan kolom tertentu dengan orientasi ascending maupun descending.MEMBERID) AND (DPINJAM. (SELECT COUNT(DPINJAM. Simpan Unit1 menjadi UFDMember. klik menu File – New – Form. Langkah-langkah : 1.PINJAMID) AND (PINJAM.pas dalam folder Rental.Latihan 30 : Membuat Form Daftar Member Form Daftar Member menampilkan seluruh member yang terdaftar dalam database Rental.MEMBERID = MEMBER.2010 06/09/2011 21:51:34 180 . 2.KOTA.KEMBALIID <> 0)) AS MENGEMBALIKAN FROM MEMBER Pemrograman Visual 1 – Ronny Faslah .MEMBERID. 6. 3.DPINJAMID) FROM PINJAM.ALAMAT.PINJAMID = DPINJAM.MEMBERID)) AS MEMINJAM. Buat form baru. Tambahkan 2 buah ADOQuery dari tab ADO.MEMBERID = MEMBER. Klik menu File – Save All untuk menyimpan project.HANDPHONE.

Tambahkan 1 buah Panel dari tab Standard ke dalam FDMember. atur property Parameters seperti pada table di bawah ini : Komponen TParameters[0] TParameters[1] TParameters[2] TParameters[3] Property DataType DataType DataType DataType Value ftWideString ftWideString ftWideString ftWideString 9. Buat persistent field query qSearch. 7. ubah property seperti table di bawah ini : Komponen Panel1 Tab Standard Parent FDMember Property Align Value alTop 11.HANDPHONE LIKE :HANDPHONE) FUtama. ubah property seperti table di bawah ini : Komponen Datasource1 Tab Data Access Parent FDMember Property Dataset Value qSearch 8. Tambahkan 1 buah DataSource dari tab Data Access. cukup copy paste dari qAwal.ADOConnection1 qSearch sama dengan qAwal. Pilih qSearch pada Object TreeView.KOTA LIKE :KOTA) AND (MEMBER. klik kanan dan pilih Add All Fields.ALAMAT LIKE :ALAMAT) AND (MEMBER. 10.ADOQuery2 ADO FDMember Connection Name SQL WHERE (MEMBER. ubah property seperti table di bawah ini : Komponen GroupBox1 RadioGroup1 Tab Standard Standard Parent Panel1 Panel1 Property Align Caption Align Caption Items Value alLeft Kriteria Pencarian : alLeft Urut Berdasarkan : MemberID Nama Member Alamat Kota Handphone Pinjam Kembali alClient Orientasi : Ascending Descending RadioGroup2 Standard Panel1 Align Caption Items Pemrograman Visual 1 – Ronny Faslah . klik dua kali qSearch untuk membuka field editor.NAMA LIKE :NAMA) AND (MEMBER. Tambahkan 1 buah GroupBox dan 2 buah RadioGroup dari tab Standard ke dalam Panel1.2010 06/09/2011 21:51:34 181 .

DBGrid1.bmp 14. Tambahkan 1 buah GroupBox dari tab Standard ke dalam FDMember.Columns[2].Columns[3] DBGrid1.Caption Title.Caption Title.Columns[0]. ubah property seperti table di bawah ini : Komponen Label1 Label2 Label3 Label4 Edit1.Caption Title.12.Caption Title.2010 06/09/2011 21:51:34 182 .Columns[4] DBGrid1.Alignment Title.Columns[5] DBGrid1.dgAlwaysShowSelection Value alClient DataSource1 True True 16.Columns[0] DBGrid1. DBGrid1.fsBold Value ID Nama Member Alamat Kota Handphone Pinjam Kembali taCenter True Pemrograman Visual 1 – Ronny Faslah .Font. Property Title.Columns[6] DBGrid1. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox2. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox1.Columns[1]. Edit4 Tab Standard Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Caption Charcase Text Value Nama Member Alamat Kota Handphone ecUpperCase 13. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.Columns[1] DBGrid1.Columns[2] DBGrid1. atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Search Cari.Style. Tambahkan 4 buah Label dan 4 buah Edit dari tab Standard ke dalam GroupBox1.Caption Title. Klik dua kali DBGrid2 pada Object TreeView untuk membuka Column Editor.Caption Title. Edit3.dgRowSelect Options. klik kanan dan pilih Add All Fields. Edit2. atur property seperti table di bawah ini : Komponen GroupBox2 Tab Standard Parent FDMember Property Align Caption Value alClient Hasil Pencarian : 15.bmp Reset Reset.Caption Title. ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1.

SQL.Value qSearch.Columns[4]. := '%' := '%' := '%' := '%' + Edit1. DBGrid1.Komponen DBGrid1.Parameters[2].Columns[6] Property Value 17.SQL. End.Value qSearch.ItemIndex of 0 : qSearch.Add('ASC').SQL.Add('ORDER BY 7'). 2 : qSearch. Pemrograman Visual 1 – Ronny Faslah .Add('DESC').Add('ORDER BY 2'). 5 : qSearch. 1 : qSearch.Text + Edit3.Text + Edit4.SQL.Add('ORDER BY 1').Columns[5].Add('ORDER BY 3').Text + + + + '%'. '%'. End.Text + Edit2.Add('ORDER BY 4'). '%'.ItemIndex of 0 : qSearch.Parameters[0]. qSearch.Parameters[1]. '%'.SQL. qSearch.Value qSearch.SQL.SQL. begin qSearch. var I : Integer.Add('ORDER BY 5'). 6 : qSearch.Close. 4 : qSearch. Atur layout form FDMember seperti gambar di bawah ini : 18. Buat procedure Search dan procedure Reset pada blok Private. DBGrid1. Case RadioGroup1.SQL.SQL := qAwal. 3 : qSearch.SQL. DBGrid1.Open.Columns[3]. Case RadioGroup2.SQL. 1 : qSearch.Add('ORDER BY 6'). ketikkan perintah seperti table di bawah ini : Komponen FDMember Event Search Code procedure TFDMember.Search.2010 06/09/2011 21:51:34 183 .Value qSearch.Parameters[3].

var Key: Char).Columns[RadioGroup1. Pilih BitBtn1 pada Object TreeView.Komponen Event Code For I := 0 to DBGrid1. buat event onClick.Text := ''. 21. procedure TFDMember. ketikkan perintah seperti table di bawah ini : Komponen FDMember Event onShow Code procedure TFDMember. Pilih Edit1.Color := clWindow. RadioGroup2.ItemIndex].Edit1KeyPress(Sender: TObject. Edit2. onClose 20. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFDMember. end. Reset 19. Edit2. RadioGroup1. begin If Key = #13 then Search.Count .ItemIndex]. ketikkan perintah seperti table di bawah ini : Komponen Edit1. end.FormShow(Sender: TObject). ActiveControl := DBGrid1. begin Reset.Columns.ItemIndex := 0.Color := clSkyBlue.Color := clMoneyGreen Else DBGrid1. end. begin qSearch. Edit4 Event onKeyPress Code procedure TFDMember. Edit4. If RadioGroup2.BitBtn1Click(Sender: TObject). buat event onShow dan onClose.Text := ''. end. Edit3.Columns[I]. Pemrograman Visual 1 – Ronny Faslah . begin Search. Pilih FDMember pada Object TreeView.Columns[RadioGroup1.2010 06/09/2011 21:51:34 184 .FormClose(Sender: TObject.ItemIndex := 0.Reset.Close.1 do DBGrid1.ItemIndex = 0 then DBGrid1. end. buat event onKeyPress. end.Text := ''. var Action: TCloseAction). begin Edit1. procedure TFDMember. Edit3. Edit3 dan Edit4 pada Object TreeView. Edit2. Search.Text := ''.

ItemIndex in [5. Kembali ke form FUtama. Pilih DaftarMember1 pada Object TreeView. Pilih DBGrid1 pada Object TreeView. 29. Pilih BitBtn2 pada Object TreeView. begin Reset.ItemIndex := 0. Pilih RadioGroup2 pada Object TreeView.Enabled := False. end. pilih FDMember. end. Pilih RadioGroup1 pada Object TreeView. End. ketikkan perintah seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .22. ketikkan perintah seperti table di bawah ini : Komponen RadioGroup2 Event onClick Code procedure TFDMember. ketikkan perintah seperti table di bawah ini : Komponen RadioGroup1 Event onClick Code procedure TFDMember. 25. buat event onDblClick.RadioGroup1Click(Sender: TObject). end. klik OK untuk melanjutkan. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFDMember. RadioGroup2. buat event onClick.DBGrid1DblClick(Sender: TObject). ShowModal. buat event onClick. buat event onClick. klik menu View – Form. pilih FUtama. begin If RadioGroup1.2010 06/09/2011 21:51:34 185 . buat event onClick. End Else RadioGroup2.6] then Begin RadioGroup2. begin Search. 27. Klik menu File – Use Unit. begin With FMember do Begin MemberID := qSearchMemberID. klik OK untuk melanjutkan. end. 28. klik OK untuk melanjutkan. 23. Search. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Event onClick Code procedure TFDMember. 26.Value.BitBtn2Click(Sender: TObject). pilih FMember. Klik menu File – Use Unit.RadioGroup2Click(Sender: TObject). 24.Enabled := True.

Komponen DaftarMember1 Event onClick Code procedure TFUtama. 30.ShowModal. Simpan.DaftarMember1Click(Sender: TObject).SpeedButton5Click(Sender: TObject). end. begin FDMember.ShowModal.2010 06/09/2011 21:51:34 186 . begin FDMember. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton5 Event onClick Code procedure TFUtama. Pilih SpeedButton5 pada Object TreeView. buat event onClick. Pemrograman Visual 1 – Ronny Faslah . end. 31. jalankan dan uji aplikasi.

JUMLAH. Klik menu File – Use Unit. Data hasil pencarian dapat diurutkan berdasarkan kolom tertentu dengan orientasi ascending maupun descending. KOLEKSI.Latihan 31 : Membuat Form Daftar Koleksi Form Daftar Koleksi menampilkan seluruh koleksi yang ada dalam database Rental.PINJAMID = DPINJAM. 6. Pastikan project Rental. (KOLEKSI. Tambahkan 2 buah ADOQuery dari tab ADO.PINJAMID) AND (DPINJAM.KOLEKSIID = KOLEKSI. pilih UFUtama. 2. preview koleksi serta histori transaksi tiap koleksi. KOLEKSI. Langkah-langkah : 1. klik OK untuk melanjutkan. KOLEKSI. Form ini juga menampilkan kondisi stock masing-masing koleksi.ADOConnection1 qAwal SELECT KOLEKSI.TGLBELI. KOLEKSI. KOLEKSI. 5.JUMLAH . 3.PEMERANUTAMA. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position WindowState Value Daftar Koleksi bsSizeable FDMember poDesktopCenter wsMaximized 4. PINJAM WHERE (PINJAM.DPINJAMID) FROM DPINJAM.2010 06/09/2011 21:51:34 187 . Buat form baru.(SELECT COUNT(DPINJAM.KEMBALIID = 0))) AS STOCK.dpr telah dibuka. Form ini bisa digunakan untuk pencarian koleksi berdasarkan criteria tertentu. klik menu File – New – Form.JUDUL. Klik menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UFDKoleksi. PINJAM WHERE (PINJAM. Form Daftar Koleksi berhubungan dengan form FKoleksi untuk menampilkan data lengkap koleksi.PINJAMID = DPINJAM.pas dalam folder Rental. (SELECT COUNT(DPINJAM.KATEGORI.PINJAMID) AND (DPINJAM.KOLEKSIID.JENISKOLEKSI. atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FDKoleksi Property Connection Name SQL Value FUtama.KOLEKSIID = Pemrograman Visual 1 – Ronny Faslah . KOLEKSI.KOLEKSIID) AND (DPINJAM.DPINJAMID) FROM DPINJAM.

klik kanan dan pilih Add All Fields. 10. Tambahkan 1 buah GroupBox dan 2 buah RadioGroup dari tab Standard ke dalam Panel1.KATEGORI LIKE :KATEGORI) AND (KOLEKSI. Tambahkan 1 buah Panel dari tab Standard ke dalam FDKoleksi.KOLEKSIID)) AS TOTALDIPINJAM FROM KOLEKSI WHERE (KOLEKSI.JENISKOLEKSI LIKE :JENISKOLEKSI) FUtama. Tambahkan 1 buah DataSource dari tab Data Access. Pilih qSearch pada Object TreeView. 7. klik dua kali qSearch untuk membuka field editor.ADOConnection1 qSearch sama dengan qAwal. cukup copy paste dari qAwal.2010 06/09/2011 21:51:34 188 . ubah property seperti table di bawah ini : Komponen Datasource1 Tab Data Access Parent FDKoleksi Property Dataset Value qSearch 8. ubah property seperti table di bawah ini : Komponen Panel1 Tab Standard Parent FDKoleksi Property Align Value alTop 11. atur property Parameters seperti pada table di bawah ini : Komponen TParameters[0] TParameters[1] TParameters[2] TParameters[3] Property DataType DataType DataType DataType Value ftWideString ftWideString ftWideString ftWideString 9.ADOQuery2 ADO FDKoleksi Connection Name SQL KOLEKSI.PEMERANUTAMA LIKE :PEMERANUTAMA) AND (KOLEKSI. Buat persistent field query qSearch.JUDUL LIKE :JUDUL) AND (KOLEKSI. ubah property seperti table di bawah ini : Komponen GroupBox1 RadioGroup1 Tab Standard Standard Parent Panel1 Panel1 Property Align Caption Align Caption Items Value alLeft Kriteria Pencarian : alLeft Urut Berdasarkan : KoleksiID Judul Pemeran Utama Kategori Jenis Koleksi Tanggal Beli Pemrograman Visual 1 – Ronny Faslah .

atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Search Cari. Tambahkan 4 buah Label. ubah property seperti table di bawah ini : Komponen Label1 Label2 Label3 Label4 Combobox1 Tab Standard Standard Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Caption Items Value Judul Pemeran Utama Kategori Jenis Koleksi ACTION DRAMA DRAMA MUSICAL HOROR HOROR KOMEDI KARTUN KOMEDI KOMEDI ROMANTIS LAIN-LAIN CD CD AUDIO CD MP3 DVD ecUpperCase Combobox2 Standard GroupBox1 Items Edit1. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox1. Combobox2 Standard GroupBox1 Charcase Text 13.bmp 14. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox2.RadioGroup2 Standard Panel1 Align Caption Items Jumlah Koleksi Stock Total Dipinjam alClient Orientasi : Ascending Descending 12. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 189 . Tambahkan 1 buah GroupBox dari tab Standard ke dalam FDKoleksi. Combobox1.bmp Reset Reset. atur property seperti table di bawah ini : Komponen GroupBox2 Tab Standard Parent FDKoleksi Property Align Caption Value alClient Hasil Pencarian : 15. 2 buah Edit dan 2 buah Combobox dari tab Standard ke dalam GroupBox1. Edit2.

dgAlwaysShowSelection Value alClient DataSource1 True True 16.dgRowSelect Options. Buat procedure Search dan procedure Reset pada blok Private.2010 06/09/2011 21:51:34 190 .Columns[8] DBGrid1. Klik dua kali DBGrid2 pada Object TreeView untuk membuka Column Editor.Columns[1]. DBGrid1.Columns[1] DBGrid1.Columns[2].Font.Columns[5].Columns[3].Columns[8] Property Title.Caption Title.Columns[4].Caption Title. klik kanan dan pilih Add All Fields.Caption Title. DBGrid1.Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.Columns[5] DBGrid1.Caption Title. DBGrid1. DBGrid1. DBGrid1. DBGrid1.Style.Columns[3] DBGrid1.Columns[0].Caption Title.Columns[2] DBGrid1. ubah property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1. DBGrid1.Columns[4] DBGrid1.Caption Title.Columns[6].Caption Title.Columns[7] DBGrid1.fsBold Value ID Judul Koleksi Pemeran Utama Kategori Jenis Koleksi Tanggal Beli Jumlah Stock Total Dipinjam taCenter True 17.Alignment Title. Atur layout form FDKoleksi seperti gambar di bawah ini : 18.Columns[7].Columns[0] DBGrid1.Caption Title.Caption Title.Columns[6] DBGrid1. ketikkan perintah seperti table di bawah ini : Komponen Event Code Pemrograman Visual 1 – Ronny Faslah . DBGrid1.

ItemIndex := 0.Add('ORDER BY 2'). RadioGroup1.Add('ORDER BY 6').Columns[RadioGroup1.Value qSearch.Columns[RadioGroup1. + Edit2. RadioGroup2.Add('ORDER BY 7').Text + '%'. buat event onShow dan onClose.Komponen FDKoleksi Event Search Code procedure TFDKoleksi.Value qSearch. 5 : qSearch.Add('ORDER BY 3').Value qSearch.SQL := qAwal.Add('DESC').ItemIndex of 0 : qSearch.SQL.Search. qSearch.SQL.SQL.ItemIndex of 0 : qSearch.SQL.Add('ORDER BY 9').Close.Add('ORDER BY 8'). end.1 do DBGrid1. 6 : qSearch. 4 : qSearch.Color := clSkyBlue.ItemIndex := 0.Value qSearch. Reset 19. 7 : qSearch.Add('ORDER BY 1'). End. + Combobox1. begin Edit1. 3 : qSearch.Text + '%'.Add('ORDER BY 4').SQL. := '%' := '%' := '%' := '%' + Edit1.ItemIndex = 0 then DBGrid1.Columns[I].Count .Open.Parameters[3].SQL. End.Parameters[0].Reset.Color := clMoneyGreen Else DBGrid1.SQL.ItemIndex := -1.Columns.Parameters[2]. Pemrograman Visual 1 – Ronny Faslah . Pilih FDKoleksi pada Object TreeView.SQL. ComboBox1.Text + '%'.ItemIndex]. For I := 0 to DBGrid1.Color := clWindow. ketikkan perintah seperti table di bawah ini : Komponen FDKoleksi Event onShow Code procedure TFDKoleksi.Text := ''.ItemIndex]. 8 : qSearch. qSearch. If RadioGroup2.SQL. procedure TFDKoleksi. 2 : qSearch.2010 06/09/2011 21:51:34 191 .Parameters[1]. var I : Integer. Edit2.FormShow(Sender: TObject). Case RadioGroup1.SQL.ItemIndex := -1. 1 : qSearch. begin Reset.SQL. Case RadioGroup2.SQL.Text := ''.Text + '%'. ComboBox2.Add('ORDER BY 5'). ActiveControl := DBGrid1. end. 1 : qSearch.Add('ASC'). begin qSearch. Search. + Combobox2.

begin If Key = #13 then Search. end.8] then Begin RadioGroup2.Edit1KeyPress(Sender: TObject. 23. ketikkan perintah seperti table di bawah ini : Komponen Combobox1. procedure TFDKoleksi. dan Edit2 pada Object TreeView.ComboBox1Change(Sender: TObject). Pemrograman Visual 1 – Ronny Faslah .Komponen Event onClose Code end. end. Edit2 Event onKeyPress Code procedure TFDKoleksi. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFDKoleksi. buat event onClick. end. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Event onClick Code procedure TFDKoleksi. Pilih Edit1.BitBtn2Click(Sender: TObject).BitBtn1Click(Sender: TObject). begin Search. begin qSearch. begin Search. Pilih RadioGroup1 pada Object TreeView. buat event onClick. buat event onClick. Pilih BitBtn2 pada Object TreeView. ketikkan perintah seperti table di bawah ini : Komponen RadioGroup1 Event onClick Code procedure TFDKoleksi. buat event onKeyPress. 22.ItemIndex := 0. 21.ItemIndex in [7. end. Pilih Combobox1 dan Combobox2 pada Object TreeView.2010 06/09/2011 21:51:34 192 . var Key: Char). var Action: TCloseAction).FormClose(Sender: TObject. 24. begin Reset. buat event onChange. end. 20.Close. begin If RadioGroup1. Pilih BitBtn1 pada Object TreeView.RadioGroup1Click(Sender: TObject). ketikkan perintah seperti table di bawah ini : Komponen Edit1. Combobox2 Event onChange Code procedure TFDKoleksi.

klik OK untuk melanjutkan. 25. 27. begin With FKoleksi do Begin KoleksiID := qSearchKoleksiID.Value.Enabled := True. end. end.ShowModal. ketikkan perintah seperti table di bawah ini : Komponen RadioGroup2 Event onClick Code procedure TFDKoleksi. 32. pilih FUtama. ketikkan perintah seperti table di bawah ini : Komponen DaftarKoleksi1 Event onClick Code procedure TFUtama. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFDKoleksi. Klik menu File – Use Unit.DBGrid1DblClick(Sender: TObject). klik OK untuk melanjutkan.SpeedButton6Click(Sender: TObject). 26. end. Klik menu File – Use Unit. begin Search. 28. 31.2010 06/09/2011 21:51:34 193 . ketikkan perintah seperti table di bawah ini : Komponen SpeedButton6 Event onClick Code procedure TFUtama. pilih FDKoleksi. 29. 30.Komponen Event Code RadioGroup2. Pilih DBGrid1 pada Object TreeView. begin FDKoleksi. buat event onClick.ShowModal.RadioGroup2Click(Sender: TObject).Enabled := False. Pilih DaftarKoleksi1 pada Object TreeView. Pilih RadioGroup2 pada Object TreeView. Kembali ke form FUtama. buat event onClick. begin FDKoleksi. end. End. jalankan dan uji aplikasi. Pilih SpeedButton6 pada Object TreeView.DaftarKoleksi1Click(Sender: TObject). buat event onClick. End Else RadioGroup2. Simpan. pilih FKoleksi. end. buat event onDblClick. klik menu View – Form. ShowModal. Search. Pemrograman Visual 1 – Ronny Faslah . klik OK untuk melanjutkan.

2010 06/09/2011 21:51:34 194 .Pemrograman Visual 1 – Ronny Faslah .

Peminjaman Koleksi per Hari dan Top 10 Koleksi. Koleksi per Kategori. MONTH(MEMBER. 3.MEMBERID) AS MEMBERBARU FROM MEMBER GROUP BY YEAR(MEMBER. 6.pas dalam folder Rental. MONTH(KOLEKSI. 5.TGLBELI). Grafik ini berguna untuk member dan pihak manajemen sebagai dasar pengambilan keputusan. MONTH(MEMBER. Laporan agregat yang ditampilkan antara lain Member Baru per Bulan. Tambahkan 5 buah ADOQuery dari tab ADO. Klik menu File – Save All untuk menyimpan project.ADOConnection1 qKategori ADOQuery2 ADO FStatistik Connection Name SQL ADOQuery3 ADO FStatistik Connection Name Pemrograman Visual 1 – Ronny Faslah . Pastikan project Rental. pilih UFUtama.TGLBELI) AS BULAN.2010 06/09/2011 21:51:34 195 . atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FStatistik Property Connection Name SQL Value FUtama. Langkah-langkah : 1. MONTH(KOLEKSI.ADOConnection1 qMember SELECT YEAR(MEMBER. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Statistik bsSizeable FStatistik poDesktopCenter 4. klik OK untuk melanjutkan.ADOConnection1 qKoleksi SELECT YEAR(KOLEKSI. klik menu File – New – Form. COUNT(KOLEKSI. Klik menu File – Use Unit.TGLDAFTAR) AS BULAN.TGLDAFTAR) FUtama.dpr telah dibuka.TGLDAFTAR) AS TAHUN. Simpan Unit1 menjadi UFStatistik.KOLEKSIID) AS KOLEKSIBARU FROM KOLEKSI GROUP BY YEAR(KOLEKSI. Buat form baru. Koleksi Baru per Bulan. 2.TGLDAFTAR).TGLBELI) FUtama.TGLBELI) AS TAHUN.Latihan 32 : Membuat Form Statistik Form Statistik merupakan laporan agregat yang ditampilkan dalam berbagai bentuk grafik. COUNT(MEMBER.

KOLEKSIID. COUNT(DPINJAM. COUNT(DPINJAM. PINJAM WHERE (PINJAM.TGLPINJAM ORDER BY PINJAM.KOLEKSIID.KOLEKSIID) GROUP BY KOLEKSI.SQL ADOQuery4 ADO FStatistik Connection Name SQL ADOQuery5 ADO FStatistik Connection Name SQL SELECT KOLEKSI. Buat persistent field query qKoleksi.KOLEKSIID) AS JUMLAHKOLEKSI FROM KOLEKSI GROUP BY KOLEKSI. 10. Tambahkan calculated field baru BulanTahun pada query qMember.KATEGORI FUtama. KOLEKSI.ADOConnection1 qPinjam SELECT TOP 15 PINJAM.JUDUL ORDER BY 3 DESC 7. DPINJAM. 8. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field BulanTahun Section Field Properties Property Name Type Size Field type Value BulanTahun String 10 Calculated Field type 9.PINJAMID) GROUP BY PINJAM. Buat persistent field query qMember. DPINJAM WHERE (PINJAM. klik kanan pilih Add All Fields.PINJAMID) AND (DPINJAM.DPINJAMID) AS PEMINJAMAN FROM KOLEKSI.ADOConnection1 qTop10 SELECT TOP 10 KOLEKSI.KOLEKSIID = KOLEKSI.PINJAMID = DPINJAM. COUNT(KOLEKSI. Klik dua kali qMember pada Object TreeView untuk membuka field editor. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field BulanTahun Section Field Properties Property Name Type Size Field type Value BulanTahun String 10 Calculated Field type Pemrograman Visual 1 – Ronny Faslah .TGLPINJAM DESC FUtama.PINJAMID = DPINJAM.KATEGORI. KOLEKSI. Tambahkan calculated field baru BulanTahun pada qKoleksi.DPINJAMID) AS PEMINJAMAN FROM PINJAM.TGLPINJAM.2010 06/09/2011 21:51:34 196 .JUDUL. Klik kanan pada field editor pilih New Field.

2010 06/09/2011 21:51:34 197 . 14. Tambahkan 1 buah PageControl dari tab Win32. Tambahkan 1 buah Toolbar dari tab Win32 ke dalam FStatistik atur property seperti table di bawah ini : Komponen ToolBar1 Tab Win32 Parent FStatistik Property Autosize ButtonHeight ButtonWidth Value True 44 46 17. Tambahkan 5 buah TabSheet pada PageControl1. Atur property sepertu table di bawah ini : Komponen TabSheet1 TabSheet2 Parent PageControl1 PageControl1 Property Caption Caption Value Member Baru per Bulan Koleksi Baru per Bulan Pemrograman Visual 1 – Ronny Faslah . Tambahkan calculated field baru JudulKoleksi pada qTop10. Tambahkan calculated field baru KategoriKoleksi pada qKategori. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field JudulKoleksi Section Field Properties Property Name Type Size Field type Value JudulKoleksi String 50 Calculated Field type 16. Buat persistent field query qTop10. Buat persistent field query qPinjam. lengkapi informasi pada jendela New Field seperti table di bawah ini : Field KategoriKoleksi Section Field Properties Property Name Type Size Field type Value KategoriKoleksi String 30 Calculated Field type 13. Tambahkan 2 buah Speedbutton dari tab Additional ke dalam ToolBar1. 12. Buat persistent field query qKategori.bmp 2 SpeedButton2 Additional ToolBar1 18. 15.11. ubah property seperti table di bawah ini : Komponen PageControl1 Tab Win32 Parent FStatistik Property Align Value alClient 19.bmp 1 Tutup Batal. atur property seperti table di bawah ini : Komponen SpeedButton1 Tab Additional Parent ToolBar1 Property Caption Glyph Tag Caption Glyph Tag Value Refresh Reset.

Komponen TabSheet3 TabSheet4 TabSheet5 Parent PageControl1 PageControl1 PageControl1 Property Caption Caption Caption Value Koleksi per Kategori Peminjaman Koleksi per Hari Top 10 Koleksi 20. klik subtab Series. Klik dua kali DBChart1 pada ObjectTreeView untuk membuka jendela Editing DBChart. klik OK untuk melanjutkan. Klik Add untuk menambahkan Series baru. Tambahkan 1 buah DBChart dari tab Data Control ke dalam TabSheet1. pilih Bar. klik OK untuk melanjutkan. atur property seperti table di bawah ini : Komponen DBChart1 Tab Data Control Parent TabSheet1 Property Align Value alClient 22. Klik Title. klik tab Chart. isi dengan Member Baru. Atur layout form FStatistik seperti gambar di bawah ini : 21.2010 06/09/2011 21:51:34 198 . Pemrograman Visual 1 – Ronny Faslah .

Lihat gambar berikut : Pemrograman Visual 1 – Ronny Faslah .23. pilih subtab Title. atur font menjadi Trebuchet ukuran 12 points.2010 06/09/2011 21:51:34 199 . Masih pada jendela Editing DBChart tab Chart. ketikkan ‘MEMBER BARU PER BULAN’ pada isian Title.

Masih pada jendela Editing Chart tab Series. pilih BulanTahun pada isian Labels dan pilih MemberBaru pada isian Bar. Masih pada jendela Editing DBChart.2010 06/09/2011 21:51:34 200 . pilih qMember pada pilihan Dataset. Lihat gambar berikut ini : Pemrograman Visual 1 – Ronny Faslah . klik subtab Data Source. klik tab Series. klik Close untuk menutup jendela. pilih Dataset pada pilihan DataSource. lihat gambar berikut ini : 25.24. pada subtab Format pilih Pyramid pada pilihan Style dan beri tanda cek pada pilihan Color Each.

atur property seperti table di bawah ini : Komponen DBChart2 Tab Data Control Parent TabSheet2 Property Align Value alClient 28. Klik dua kali DBChart2 pada Object TreeView untuk membuka jendela Editing DBChart. Tambahkan 1 buah DBChart dari tab Data Control ke dalam TabSheet3.2010 06/09/2011 21:51:34 201 . Untuk variasi tampilan silakan Anda eksplorasi sendiri dengan mencoba kombinasi pengaturan pada jendela Editing DBChart. 27. Tambahkan 1 buah DBChart dari tab Data Control ke dalam TabSheet2. ubah setting pada masing-masing tab seperti table di bawah ini : Tab Chart Subtab Series Title Settings Add Title Title Font Size Style Color Each DataSource Dataset Labels Bar Value Horizontal Bar Koleksi Baru KOLEKSI BARU PER BULAN Trebuchet 12 Rectangle True Dataset qKoleksi BulanTahun KoleksiBaru Series Koleksi Baru Format Datasource 29.26. atur property seperti table di bawah ini : Komponen DBChart3 Tab Data Control Parent TabSheet3 Property Align Value alClient Pemrograman Visual 1 – Ronny Faslah .

Klik dua kali DBChart3 pada Object TreeView untuk membuka jendela Editing DBChart. ubah setting pada masing-masing tab seperti table di bawah ini : Tab Chart Subtab Series Settings Add Title Add Title Title Title Font Size Pinjam Per Hari Marks Visible Style Datasource DataSource Dataset Labels X X. atur property seperti table di bawah ini : Komponen DBChart4 Tab Data Control Parent TabSheet4 Property Align Value alClient 32.30.2010 06/09/2011 21:51:34 202 .DateTime Y Rata2 Pinjam Per Hari DataSource DataSource Function Selected Series Value Line Pinjam Per Hari Line Rata2 Pinjam Per Hari PEMINJAMAN KOLEKSI PER HARI Trebuchet 12 True Value Dataset qPinjam TglPinjam TglPinjam True Peminjaman Function Average Pinjam Per Hari Series 33. Klik dua kali DBChart4 pada Object TreeView untuk membuka jendela Editing DBChart. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Tambahkan 1 buah DBChart dari tab Data Control ke dalam TabSheet4. Tambahkan 1 buah DBChart dari tab Data Control ke dalam TabSheet5. ubah setting pada masing-masing tab seperti table di bawah ini : Tab Chart Subtab Series Settings Add Title Title Title Font Size Kategori Koleksi Format Circled Pie Marks Style Datasource DataSource Dataset Labels Pie Value Pie Kategori Koleksi KOLEKSI PER KATEGORI Trebuchet 12 True Label and Percent Dataset qKategori KategoriKoleksi JumlahKoleksi Series 31.

end.qMemberCalcFields(DataSet: TDataSet). Klik dua kali DBChart5 pada Object TreeView untuk membuka jendela Editing DBChart. Pilih qKoleksi pada Object TreeView. Buat konstanta Bulan dengan type Array [1.Value).2010 06/09/2011 21:51:34 203 .Value] + ' ' + inttostr(qMemberTahun.12] of String di atas deklarasi variable Unit FStatistik. buat event onCalcFields. begin qMemberBulanTahun. ketikkan perintah seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . ketikkan perintah seperti table di bawah ini : Komponen qMember Event onCalcFields Code procedure TFStatistik.Komponen DBChart5 Tab Data Control Parent TabSheet5 Property Align Value alClient 34. Pilih qMember pada Object TreeView.Value := Bulan[qMemberBulan.. 37. ubah setting pada masing-masing tab seperti table di bawah ini : Tab Chart Subtab Series Title Settings Add Title Title Font Size Value Pie Top 10 Koleksi TOP 10 KOLEKSI Trebuchet 12 10 Label and Value Dataset qTop10 JudulKoleksi Peminjaman Series Top 10 Koleksi Format Exploded Biggest Marks Style Datasource DataSource Dataset Labels Pie 35. buat event onCalcFields. lihat gambar berikut : 36.

UpdateChart. 38. buat event onCalcFields. end. begin qKoleksiBulanTahun. buat event onCalcFields. qTop10.qKategoriCalcFields(DataSet: TDataSet). qPinjam.Value.qTop10CalcFields(DataSet: TDataSet). begin qMember. qMember. Buat procedure UpdateChart pada blok Private. Pilih FStatistik pada Object TreeView.Value := Bulan[qKoleksiBulan. end.Close.2010 06/09/2011 21:51:34 204 . onShow dan onClose. begin onShow Pemrograman Visual 1 – Ronny Faslah .Close.AsString + '] ' + qTop10Judul.Value).Close. ketikkan perintah seperti table di bawah ini : Komponen FStatistik Event onCreate Code procedure TFStatistik.Value := '[' + qTop10KoleksiID. Pilih qTop10 pada Object TreeView.Value := qKategoriKategori. Pilih qKategori pada Object TreeView. begin qTop10JudulKoleksi.ActivePageIndex := 0. 40. qKoleksi. end.qKoleksiCalcFields(DataSet: TDataSet).Open.Close. ketikkan perintah seperti table di bawah ini : Komponen qTop10 Event onCalcFields Code procedure TFStatistik. ketikkan perintah seperti table di bawah ini : Komponen qKategori Event onCalcFields Code procedure TFStatistik. begin qKategoriKategoriKoleksi.FormCreate(Sender: TObject). end.Open. 41. 39.Close.Value. qKategori. end.Value] + ' ' + inttostr(qKoleksiTahun.Open. qKategori. qTop10. buat event onCreate. qKoleksi.Komponen qKoleksi Event onCalcFields Code procedure TFStatistik. ketikkan perintah seperti table di bawah ini : Komponen FStatistik Procedure UpdateChart Code procedure TFStatistik.Open. begin PageControl1. procedure TFStatistik.Open. qPinjam.FormShow(Sender: TObject).

Pilih SpeedButton1 dan SpeedButton2 pada Object TreeView.ShowModal.Komponen Event onClose Code UpdateChart.SHowModal. begin Case (Sender as TSpeedButton). klik menu View – Forms. 47. begin qMember. end. buat event onClick.Tag of 1 : UpdateChart. pilih UFStatistik. 2 : Close.2010 06/09/2011 21:51:34 205 . qKoleksi. end. klik OK untuk melanjutkan. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton1. Pilih Statistik1 pada Object TreeView. Selesaikan Latihan 30 s/d 32. end. 44.Close. jalankan dan uji aplikasi. buat event onClick. begin FStatistik.Close. ketikkan perintah seperti table di bawah ini : Komponen Statistik1 Event onClick Code procedure TFUtama. Sempurnakan Latihan 17 s/d 29. procedure TFStatistik.Statistika1Click(Sender: TObject). 43. 45.Close. ketikkan perintah seperti table di bawah ini : Komponen SpeedButton7 Event onClick Code procedure TFUtama.Close. Pemrograman Visual 1 – Ronny Faslah . klik OK untuk melanjutkan. Simpan. buat event onClick. qTop10. begin FStatistik. end. Pilih SpeedButton7 pada Object TreeView. qKategori.FormClose(Sender: TObject. Kembali ke form FUtama.SpeedButton7Click(Sender: TObject).SpeedButton1Click(Sender: TObject). qPinjam. SpeedButton2 Event onClick Code procedure TFStatistik. 42. 46. 2. var Action: TCloseAction).Close. end. NEW Tugas Di Rumah : 1. pilih FUtama. End. Klik menu File – Use Unit.

4.3. Masukkan 20 transaksi peminjaman dengan minimal pinjam 2 koleksi per transaksi. Masukkan 20 transaksi kembali dengan minimal pengembalian 1 koleksi per transaksi.2010 06/09/2011 21:51:34 206 . Pemrograman Visual 1 – Ronny Faslah .

PinjamID. Count(DPinjam.dpr telah dibuka. Karyawan dengan hak akses 1 hanya dapat melihat transaksi pada hari ini.MemberID = Member. DPinjam. 5.PinjamID.Nama From Pinjam.pas dalam folder Rental.ADOConnection1 qLPinjam Select Pinjam.KaryawanID) and (Pinjam. Pinjam. Pinjam. Member.TglPinjam >= :TglAwal) and (Pinjam. klik OK untuk melanjutkan. atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FLPinjam Property Connection Name SQL Value FUtama. sedangkan karyawan dengan hak akses 2 dapat melihat dan mencetak seluruh periode transaksi. 3.TglPinjam. sum(DPinjam.Nama like :NamaKaryawan) Group by Pinjam.Nama.HargaSewa) as TotalSewa. klik dua kali pada baris transaksi akan menampilkan detail transaksi tersebut. Tambahkan 2 buah ADOQuery dari tab ADO ke dalam FLPinjam. Member. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Laporan Peminjaman bsSizeable FLPinjam poDesktopCenter 4.MemberID) and (Pinjam. Buat form baru. klik menu File – New – Form. Pemrograman Visual 1 – Ronny Faslah . Karyawan. 6.TglPinjam <= :TglAkhir) and (Karyawan. Pastikan project Rental.PinjamID) and (Pinjam.2010 06/09/2011 21:51:34 207 . pilih UFUtama. Klik menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UFLPinjam. 2.Latihan 33 : Membuat Form Laporan Peminjaman Form Laporan Peminjaman merupakan laporan standard yang menampilkan transaksi peminjaman berdasarkan periode tertentu dan karyawan. Karyawan Where (Pinjam.KaryawanID = Karyawan. Form ini terhubung dengan form transaksi peminjaman.PinjamID = DPinjam. Langkah-langkah : 1. Klik menu File – Use Unit.MemberID.DPinjamID) as JumlahPinjam.

Buat persistent field query qLPinjam. atur property seperti table di bawah ini : Komponen Datasource1 Tab Data Access Parent FLPinjam Property Dataset Value qLPinjam 11. atur property seperti table di bawah ini : Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FLPinjam FLPinjam FLPinjam Property Align Caption Align Caption Align Caption Value alTop alBottom alClient 12. 14.TglPinjam. Pinjam.ADOQuery2 ADO FLPinjam Connection Name SQL Pinjam.Nama From Karyawan Order by Karyawan.ADOConnection1 qKaryawan Select Karyawan.MemberID.PinjamID FUtama. Atur property paramaters pada qLPinjam seperti table di bawah ini : Komponen TParameters[0] TParameters[1] TParameters[2] Property DataType DataType DataType Value ftDate ftDate ftWideString 8. Pilih field TotalSewa pada field editor. Tambahkan 1 buah Combobox1 dari tab Standard ke dalam GroupBox1. ubah property seperti table di bawah ini : Komponen qLPinjamTotalSewa Property Currency Value True 9.Nama 7. Tambahkan 1 buah Datasource dari tab Data Access ke dalam FLPinjam.2010 06/09/2011 21:51:34 208 . Tambahkan 3 buah Label dari tab Standard ke dalam GroupBox1.TglPinjam. Pemrograman Visual 1 – Ronny Faslah .Nama. Karyawan. Tambahkan 3 buah GroupBox dari tab Standard ke dalam FLPinjam. Buat persistent field query qKaryawan. 10. Member. atur property seperti table di bawah ini : Komponen Label1 Label2 Label3 Tab Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Value Periode s/d Karyawan 13.Nama Order by Pinjam. Pinjam. Tambahkan 2 buah DateTimePicker dari tab Win32 ke dalam GroupBox1.

Font.Columns[3].Caption Title.Columns[6] DBGrid1.Caption Title. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox3 Property Align Datasource Options.Komponen Combobox1 Tab Standard Parent GroupBox1 Property Style Text Value csDropDownList 15.Caption Title.Columns[6] Property Title.Columns[4] DBGrid1.Style. DBGrid1. Tambahkan 1 buah Bevel dari tab Additional ke dalam GroupBox1. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox3.2010 06/09/2011 21:51:34 209 .Columns[2].Columns[4].Columns[1]. DBGrid1.Columns[5] DBGrid1. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox2.bmp 17. DBGrid1.Columns[1] DBGrid1.Alignment Value #Pinjam Tgl Pinjam #Member Nama Member Pinjam Total Sewa Nama Karyawan True taCenter 19.Columns[0] DBGrid1.Caption Title. pilih Add All Fields untuk menambahkan seluruh kolom. Tambahkan 2 buah Label ke dalam GroupBox2.Caption Title. atur property seperti table di bawah ini : Komponen Tab Parent Property Value Pemrograman Visual 1 – Ronny Faslah . DBGrid1.Columns[0].dgRowSelect Options.Columns[3] DBGrid1. Atur property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1. klik kanan pada Column Editor. DBGrid1.bmp Cetak Printer. Klik dua kali DBGrid1 pada Object TreeView.dgEditing Value alClient Datasource1 True True False 18.Columns[5]. DBGrid1.Caption Title. atur property seperti table di bawah ini : Komponen Bevel1 Tab Additional Parent GroupBox1 Property Shape Value bsLeftLine 16. atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Refresh Reset.fsBold Title.dgAlwaysShowSelection Options.Caption Title.Columns[2] DBGrid1.

begin With Combobox1 do Begin Clear. End. qKaryawan.IndexOf(FUtama. var UpdateTotal Pemrograman Visual 1 – Ronny Faslah .Value). ItemIndex := Items. ketikkan perintah seperti table di bawah ini : Komponen FLPinjam Procedure UpdateKaryawan Code procedure TFLPinjam. Atur layout form FLPinjam seperti gambar di bawah ini : 22. Buat procedure UpdateKaryawan.Add('SEMUA KARYAWAN'). End.UpdateTotal. Tambahkan unit DateUtils pada blok Uses di unit UFLPinjam.Close.2010 06/09/2011 21:51:34 210 .Open.UpdateKaryawan.Next.NamaKaryawan). While not qKaryawan.Eof do Begin Items. atur property seperti table di bawah ini : Komponen Edit1.Label4 Label5 Standard Standard GroupBox2 GroupBox2 Caption Caption Total Koleksi yang Dipinjam Total Pendapatan Sewa 20. procedure TFLPinjam. Edit2 Tab Standard Parent GroupBox2 Property ReadOnly Text Value True 21.Add(qKaryawanNama. procedure UpdateTotal dan procedure UpdateqLPinjam pada blok Private. Tambahkan 2 buah Edit ke dalam GroupBox2. end. Items. qKaryawan. qKaryawan. 23.

EnableControls. PrevRecord: TBookmark.Open.Date := Today. TotalKoleksi). begin PrevRecord := qLPinjam. Edit1. qLPinjam.Close. qLPinjam.Next. while not qLPinjam. end. try qLPinjam.Date := Today.Date . begin qLPinjam.Text := FormatFloat('. Edit2. ketikkan perintah seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .DisableControls.Value := '%' else qLPinjam. qLPinjam. end. if PrevRecord <> nil then begin qLPinjam. procedure TFLPinjam. UpdateKaryawan. UpdateqLPinjam. end. TotalKoleksi := 0. qLPinjam.GoToBookmark(PrevRecord).ItemIndex = 0 then qLPinjam.UpdateqLPinjam. end.1.2010 06/09/2011 21:51:34 211 .0'. 25. qLPinjam.Value := Combobox1. TotalSewa). end.EOF do begin TotalKoleksi := TotalKoleksi + qLPinjamJumlahPinjam.Text.Value := DateTimePicker1. DateTimePicker2.Parameters[1]. If Combobox1. finally qLPinjam. Pilih DateTimePicker1. buat event onChange. TotalSewa := 0.Parameters[0].Date.FormShow(Sender: TObject). qLPinjam. Pilih FLPinjam pada Object TreeView. begin DateTimePicker1.Value := DateTimePicker2. 24. TotalSewa := TotalSewa + qLPinjamTotalSewa. ketikkan perintah seperti table di bawah ini : Komponen FLPinjam Event onShow Code procedure TFLPinjam. TotalSewa : Real. DateTimePicker2 dan Combobox1 pada Object TreeView.Value.FreeBookmark(PrevRecord). UpdateTotal.Komponen Procedure UpdateqLPinjam Code TotalKoleksi : Integer.0'.GetBookmark.First. end.Parameters[2].Text := FormatFloat('. buat event onShow.Parameters[2].Value.

klik OK untuk melanjutkan. klik OK untuk melanjutkan.Enabled := FUtama. Pilih DBGrid1 pada Object TreeView. klik OK untuk melanjutkan. Combobox1. 31. BitBtn2. DateTimePicker2. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFLPinjam. 30. Pilih ransaksiPeminjaman1 pada ObjectTreeView.HakAkses in [2]. end.2010 06/09/2011 21:51:34 212 . BitBtn1.2].HakAkses in [1.HakAkses in [2].HakAkses in [2].Komponen DateTimePicker1.Enabled := FUtama. Klik menu File – Use Unit. ketikkan perintah seperti table di bawah ini : Komponen ransaksiPeminjaman1 Event onClick Code procedure TFUtama.Enabled := FUtama.value. end. End. pilih unit UFPinjam.Enabled := False.Enabled := FUtama.DBGrid1DblClick(Sender: TObject). 27. BitBtn2.Enabled := FUtama. Combobox1 Event onChange Code procedure TFLPinjam. Pilih BitBtn1 pada Object TreeView.DateTimePicker1Change(Sender: TObject). begin DateTimePicker1. 32. buat event onDblClick. DateTimePicker2. Klik menu File – Use Unit. begin With FPinjam Do Begin PinjamID := qLPinjamPinjamID. begin UpdateqLPinjam. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFLPinjam. pilih UFLPinjam.DataSource1StateChange(Sender: TObject).HakAkses in [2]. pilih FUtama. Pilih DataSource1 pada Object TreeView. ShowModal.Enabled := FUtama.HakAkses in [2]. buat event onStateChange. Kembali ke form FUtama. ketikkan perintah seperti table di bawah ini : Komponen Datasource1 Event onStateChange Code procedure TFLPinjam. begin BitBtn2. begin Pemrograman Visual 1 – Ronny Faslah . end. 28. buat event onClick. 29.BitBtn1Click(Sender: TObject). end. 26. buat event onClick.ransaksiPeminjaman1Click(Sender: TObject). klik menu View – Forms.

jalankan dan uji aplikasi. Simpan seluruh project. Pemrograman Visual 1 – Ronny Faslah . 33.2010 06/09/2011 21:51:34 213 .ShowModal.Komponen Event Code FLPinjam. end.

Klik dua kali QRLPinjam pada Object TreeView untuk membuka jendela Report Settings. klik OK untuk melanjutkan. klik OK untuk melanjutkan. Pilih QuickReport1 pada Object TreeView.00 5.00 5. Fasilitas ini hanya bisa diakses oleh karyawan dengan hak akses 2. klik OK untuk melanjutkan. Ubah Units dari Inch menjadi MM. 7. 2.pas dalam folder Rental.Latihan 34 : Membuat QuickReport Laporan Peminjaman QuickReport Laporan Peminjaman merupakan fasilitas cetak laporan yang dimiliki oleh form Laporan Peminjaman. klik menu File – New – Others. Langkah-langkah : 1. Settings Report Settings Section Paper size Margin Property Paper size Orientation Top Bottom Left Right Font Size PageHeader Title ColumnHeader DetailBand Summary Print first page header Print last page footer Value A5 148 x 210 mm Landscape 5. Buat Report baru. Pastikan project Rental. pilih UFUtama. Klik menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UQRLPinjam. pada tab New pilih Reports. Copy dan paste qLPinjam dari form FLPinjam ke dalam QuickReport1. Settings Report Settings Section Other Property Units Value MM 8.00 5. Masih pada jendela Report Settings.2010 06/09/2011 21:51:34 214 .dpr telah dibuka. klik Apply. ubah property seperti table di bawah ini : Komponen QuickReport1 Property Dataset Name Value qLPinjam QRLPinjam 6. 3. Klik menu File – Use Unit. 4. ubah setting lainnya seperti gambar berikut. 5.00 Trebuchet MS 10 True True True True True False False Other Bands Pemrograman Visual 1 – Ronny Faslah .

ubah property seperti table di bawah ini : Komponen QRLabel1 QRSysData1 Tab QReports QReports Parent PageHeaderBand1 PageHeaderBand1 Property Caption Alignment Autosize Data Value Halaman : taRightJustify False qrsPageNumber 10.fsBold Value Halaman : taRightJustify False qrsPageNumber Nama Rental Alamat Rental Telepon Rental taCenter True LAPORAN PEMINJAMAN True True QRLabel3 QRLabel4 QRLabel5 QRLabel6 QReports QReports QReports QReports TitleBand1 TitleBand1 TitleBand1 TitleBand1 Pemrograman Visual 1 – Ronny Faslah .Style.2010 06/09/2011 21:51:34 215 . Tambahkan 7 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam TitleBand1. atur property seperti table di bawah ini : Komponen QRLabel2 QRSysData2 Tab QReports QReports Parent TitleBand1 TitklBand1 Property Caption Alignment Autosize Data Caption Caption Caption Alignment AlignToBand Caption Font.fsUnderline Font. Tambahkan 1 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam PageHeaderBand1.Style.9.

2010 06/09/2011 21:51:34 216 . Tambahkan 8 buah QRLabel dari tab QReports ke ColumnHeaderBand1. QRLabel11. Tambahkan 1 buah QRSysData. QRExpr1. Tgl Pinjam #Pinjam #Member Nama Member Pinjam Total Sewa Nama Karyawan taRightJustify 13. QRLabel12. atur property seperti table di bawah ini : Komponen QRLabel9 QRLabel10 QRLabel11 QRLabel12 QRLabel13 QRLabel14 QRLabel15 QRLabel16 QRLabel9. Pilih DetailBand1 pada Object TreeView. QRDBText2. Tab QReports Parent DetailBand1 Property Autosize Value False QReports QReports DetailBand1 DetailBand1 Data Dataset qrsDetailNo qLPinjam QReports DetailBand1 Alignment taRightJustify Pemrograman Visual 1 – Ronny Faslah . QRLabel15 Tab QReports QReports QReports QReports QReports QReports QReports QReports Parent ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 Property Autosize Caption Caption Caption Caption Caption Caption Caption Caption Alignment dalam Value False No. ubah property seperti table di bawah ini : Komponen QRSysData3. QRDBText2.DrawBottom Frame. QRDBText3. ubah property seperti table di bawah ini : Komponen ColumnHeaderBand1 Property Frame. ubah property seperti table di bawah ini : Komponen DetailBand1 Property Height Value 19 14.DrawTop Height Value True True 32 12. QRLabel14. QRDBText5 QRSysData3.Komponen QRLabel7 QRLabel8 Tab QReports QReports Parent TitleBand1 TitleBand1 Property Caption Caption Value Periode : Nama Karyawan 11. QRExpr2 QRSysData3 QRDBText1. Pilih ColumnHeaderBand1 pada Object TreeView. 5 buah QRDBText dan 2 buah QRExpr dari tab QReports ke dalam DetailBand1. QRDBText4.

SUM(qLPinjam. Pilih PageFooterBand1 pada Object TreeView. ubah property seperti table di bawah ini : Komponen SummaryBand1 Property Frame. QRExpr1. ubah property seperti table di bawah ini : Komponen PageFooterBand1 Property Frame.Komponen QRDBText3.TotalSewa) 15. ubah property seperti table di bawah ini : Komponen QRLabel17 QRLabel18 QRSysData4 QRExpr3.Nama FORMATNUMERIC('. qLPinjam.TotalSewa)) 17.0'.Nama Karyawan.JumlahKoleksi)) FORMATNUMERIC('.0'. Tambahkan 1 buah QRLabel dan 2 buah QRExpr dari tab QReports ke dalam PageFooterBand1.0'. Pilih SummaryBand1 pada Object TreeView. Tambahkan 2 buah QRLabel. qLPinjam. ubah property seperti table di bawah ini : Komponen QRLabel19 QRExpr5.JumlahPinjam) FORMATNUMERIC('. QRExpr2 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRDBText5 QRExpr1 QRExpr2 Tab Parent Property Value QReports QReports QReports QReports QReports QReports QReports DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1 DataField DataField DataField DataField DataField Expression Expression TglPinjam PinjamID MemberID Member. QRExpr4 QRExpr3 QRExpr4 Tab QReports QReports QReports QReports QReports QReports Parent SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 Property Caption Caption Alignment Data Alignment Autosize Expression Expression Value Tgl Cetak : Grand Total taRightJustify qrsDateTime taRightJustify False FORMATNUMERIC('.0'.0'.DrawTop Height Value True 45 16. QRExpr6 QRExpr3 Tab QReports QReports QReports Parent PageFooterBand1 PageFooterBand1 PageFooterBand1 Property Caption Alignment Alignment Autosize Expression Value SubTotal taRightJustify taRightJustify False FORMATNUMERIC('. Pemrograman Visual 1 – Ronny Faslah . sum(qLPinjam.2010 06/09/2011 21:51:34 217 . 1 buah QRSysData dan 2 buah QRExpr dari tab QReports ke dalam SummaryBand1.DrawTop Height Value True 32 18.

begin With QRLPinjam do Begin qLPinjam.Caption := FUtama.Caption := Combobox1. Pemrograman Visual 1 – Ronny Faslah . QRLabel7. If Combobox1. klik OK untuk melanjutkan.Date) + ' s/d ' + DatetoStr(DateTimePicker2.Parameters[0]. Atur layout QRLPinjam seperti gambar di bawah ini : 20.Text.Value := DateTimePicker2. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Procedure onClick Code procedure TFLPinjam. pilih FLPinjam. qLPinjam.BitBtn2Click(Sender: TObject). buat event onClick. qLPinjam.Close.0'.TelpRental.Text.Value := '%' else qLPinjam. pilih UQRLPinjam. QRLabel4.JumlahKoleksi)) FORMATNUMERIC('. 21. QRLabel8.Date .Open.Value := Combobox1.ItemIndex = 0 then qLPinjam.Value := DateTimePicker1.Caption := FUtama. Pilih BitBtn2 pada Object TreeView. sum(qLPinjam.2010 06/09/2011 21:51:34 218 . QRLabel3. qLPinjam. End. jalankan dan uji aplikasi.Date).TotalSewa)) 19.1. end. 22.Caption := FUtama. Preview.Date. Simpan seluruh project.Parameters[1].Komponen QRExpr4 Tab QReports Parent PageFooterBand1 Property Expression Value SUM(qLPinjam. QRLabel5.NamaRental. klik OK untuk melanjutkan. Klik menu File – Use Unit.Caption := 'Periode : ' + Datetostr(DateTimePicker1.AlamatRental.Parameters[2].Parameters[2]. klik menu View – Forms. 23. Kembali ke form FLPinjam.

dpr telah dibuka. Form ini terhubung dengan form transaksi pengembalian. Buat form baru. Pastikan project Rental.Nama. Tambahkan 2 buah ADOQuery dari tab ADO ke dalam FLKembali. Langkah-langkah : 1. Karyawan dengan hak akses 1 hanya dapat melihat transaksi pada hari bersangkutan. Simpan Unit1 menjadi UFLKembali.MemberID = Member. klik OK untuk melanjutkan. Count(DPinjam.KembaliID) and (Kembali.Denda) as TotalDenda. Member. 2.2010 06/09/2011 21:51:34 219 . 5. 6.TglKembali.pas dalam folder Rental. atur property seperti table di bawah ini : Komponen ADOQuery1 Tab ADO Parent FLKembali Property Connection Name SQL Value FUtama.Nama From Kembali.TglKembali >= :TglAwal) and (Kembali. sedangkan karyawan dengan hak akses 2 dapat melihat dan mencetak seluruh periode transaksi.Latihan 35 : Membuat Form Laporan Pengembalian Form Laporan Pengembalian merupakan laporan standard yang menampilkan transaksi pengembalian koleksi berdasarkan periode tertentu dan karyawan. DPinjam.DPinjamID) as JumlahKembali.MemberID. Karyawan. klik dua kali pada baris transaksi akan menampilkan detail transaksi tersebut. klik menu File – New – Form. Klik menu File – Use Unit. 3.ADOConnection1 qLKembali Select Kembali. Member. Karyawan Where (Kembali.KembaliID. pilih UFUtama.MemberID) and (Kembali. sum(DPinjam. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Laporan Pengembalian bsSizeable FLKembali poDesktopCenter 4. Kembali.KaryawanID) and (Kembali. Klik menu File – Save All untuk menyimpan project. Kembali.Nama like :NamaKaryawan) Pemrograman Visual 1 – Ronny Faslah .TglKembali <= :TglAkhir) and (Karyawan.KembaliID = DPinjam.KaryawanID = Karyawan.

TglKembali.TglKembali.MemberID. Karyawan.Nama. atur property seperti table di bawah ini : Komponen Datasource1 Tab Data Access Parent FLKembali Property Dataset Value qLKembali 11. Tambahkan 3 buah Label dari tab Standard ke dalam GroupBox1. Tambahkan 1 buah Datasource dari tab Data Access ke dalam FLKembali. Tambahkan 2 buah DateTimePicker dari tab Win32 ke dalam GroupBox1. Buat persistent field query qKaryawan.KembaliID FUtama. Atur property paramaters pada qLKembali seperti table di bawah ini : Komponen TParameters[0] TParameters[1] TParameters[2] Property DataType DataType DataType Value ftDate ftDate ftWideString 8.Nama 7. Kembali. ubah property seperti table di bawah ini : Komponen qLPinjamTotalDenda Property Currency Value True 9. Pemrograman Visual 1 – Ronny Faslah . Kembali.2010 06/09/2011 21:51:34 220 .KembaliID. Kembali.Komponen Tab Parent Property ADOQuery2 ADO FLKembali Connection Name SQL Value Group by Kembali. Buat persistent field query qLKembali. Member. Pilih field TotalDenda pada field editor. Tambahkan 3 buah GroupBox dari tab Standard ke dalam FLKembali.Nama Order by Kembali. atur property seperti table di bawah ini : Komponen Label1 Label2 Label3 Tab Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 Property Caption Caption Caption Value Periode s/d Karyawan 13. 10. atur property seperti table di bawah ini : Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FLKembali FLKembali FLKembali Property Align Caption Align Caption Align Caption Value alTop alBottom alClient 12.ADOConnection1 qKaryawan Select Karyawan.Nama From Karyawan Order by Karyawan.

Columns[1] DBGrid1.Caption Title.2010 06/09/2011 21:51:34 221 .Caption Title.Caption Title. pilih Add All Fields untuk menambahkan seluruh kolom.Columns[3] DBGrid1. DBGrid1. klik kanan pada Column Editor.Columns[6] Property Title. DBGrid1. DBGrid1.Columns[6] DBGrid1. DBGrid1.Font.dgEditing Value alClient Datasource1 True True False 18.Columns[5].Caption Title. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .Columns[4] DBGrid1.Columns[4].Columns[2].Columns[1].bmp Cetak Printer. DBGrid1.bmp 17. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox3 Property Align Datasource Options. Tambahkan 2 buah Label ke dalam GroupBox2.dgAlwaysShowSelection Options.Caption Title. Tambahkan 1 buah Combobox1 dari tab Standard ke dalam GroupBox1.Style.Caption Title.Columns[3].Columns[5] DBGrid1.dgRowSelect Options.Columns[2] DBGrid1. Atur property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1.Columns[0] DBGrid1.14. Komponen Combobox1 Tab Standard Parent GroupBox1 Property Style Text Value csDropDownList 15. atur property seperti table di bawah ini : Komponen Bevel1 Tab Additional Parent GroupBox1 Property Shape Value bsLeftLine 16. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox2.Caption Title. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox3. Tambahkan 1 buah Bevel dari tab Additional ke dalam GroupBox1. DBGrid1. atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Refresh Reset. Klik dua kali DBGrid1 pada Object TreeView.Alignment Value #Kembali Tgl Kembali #Member Nama Member Kembali Total Denda Nama Karyawan True taCenter 19.fsBold Title.Columns[0].

While not qKaryawan. Tambahkan unit DateUtils pada blok Uses di unit UFLKembali.UpdateKaryawan. Buat procedure UpdateKaryawan.Value). qKaryawan. End. ketikkan perintah seperti table di bawah ini : Komponen FLKembali Procedure UpdateKaryawan Code procedure TFLKembali. Edit2 Tab Standard Parent GroupBox2 Property ReadOnly Text Value True 21. end. Atur layout form FLKembali seperti gambar di bawah ini : 22.NamaKaryawan).Komponen Label4 Label5 Tab Standard Standard Parent GroupBox2 GroupBox2 Property Caption Caption Value Total Koleksi yang Dikembalikan Total Pendapatan Denda 20. End.Next.Open. atur property seperti table di bawah ini : Komponen Edit1. UpdateTotal Pemrograman Visual 1 – Ronny Faslah . Items.Eof do Begin Items. qKaryawan.2010 06/09/2011 21:51:34 222 .IndexOf(FUtama.UpdateTotal.Close. procedure TFLKembali. 23. qKaryawan. procedure UpdateTotal dan procedure UpdateqLKembali pada blok Private.Add(qKaryawanNama.Add('SEMUA KARYAWAN'). ItemIndex := Items. begin With Combobox1 do Begin Clear. Tambahkan 2 buah Edit ke dalam GroupBox2.

if PrevRecord <> nil then begin qLKembali.FormShow(Sender: TObject).Komponen Procedure UpdateqLKembali Code var TotalKoleksi : Integer. qLKembali.Date . qLKembali. end. begin DateTimePicker1.Date := Today. 24.2010 06/09/2011 21:51:34 223 .Parameters[2].UpdateqLKembali.GetBookmark. begin PrevRecord := qLKembali. TotalKoleksi := 0. end. DateTimePicker2.Close.Date := Today.Text.Value := '%' else qLKembali.Date.Value. UpdateqLKembali.DisableControls. end.Value. qLKembali. qLKembali.Value := DateTimePicker1. end.Parameters[0]. TotalDenda := TotalDenda + qLKembaliTotalDenda.Parameters[1]. TotalDenda : Real.ItemIndex = 0 then qLKembali. qLKembali.0'.Next. Edit1.Parameters[2].EOF do begin TotalKoleksi := TotalKoleksi + qLKembaliJumlahKembali. qLKembali. while not qLKembali. buat event onShow.Value := DateTimePicker2. UpdateKaryawan.1. PrevRecord: TBookmark. ketikkan perintah seperti table di bawah ini : Komponen FLKembali Event onShow Code procedure TFLKembali. end. If Combobox1.First.FreeBookmark(PrevRecord).GoToBookmark(PrevRecord).Value := Combobox1. TotalDenda := 0. end Pemrograman Visual 1 – Ronny Faslah .Text := FormatFloat('. TotalDenda).Open.Text := FormatFloat('. UpdateTotal. begin qLKembali. Pilih FLKembali pada Object TreeView. procedure TFLKembali. TotalKoleksi). try qLKembali. Edit2.EnableControls. finally qLKembali.0'.

buat event onClick. begin BitBtn2. Klik menu File – Use Unit. end. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFLKembali. Combobox1 Event onChange Code procedure TFLKembali. end. DateTimePicker2. Klik menu File – Use Unit. buat event onStateChange. BitBtn1. End.2010 06/09/2011 21:51:34 224 . 31. pilih FUtama. Pilih DBGrid1 pada Object TreeView.HakAkses in [2].HakAkses in [2]. end. begin DateTimePicker1. buat event onClick. buat event onChange.BitBtn1Click(Sender: TObject). klik OK untuk melanjutkan.HakAkses in [1.DBGrid1DblClick(Sender: TObject).Enabled := FUtama.Enabled := False.25.Enabled := FUtama. ketikkan perintah seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .2]. Combobox1. 30. pilih UFLKembali. 28. DateTimePicker2 dan Combobox1 pada Object TreeView.HakAkses in [2]. begin UpdateqLKembali.value.Enabled := FUtama. 26. ketikkan perintah seperti table di bawah ini : Komponen Datasource1 Event onStateChange Code procedure TFLKembali.HakAkses in [2].Enabled := FUtama.Enabled := FUtama. klik OK untuk melanjutkan.DateTimePicker1Change(Sender: TObject). ketikkan perintah seperti table di bawah ini : Komponen DateTimePicker1. 32. BitBtn2. end. DateTimePicker2. Pilih DateTimePicker1.Enabled := FUtama. 29. Kembali ke form FUtama.DataSource1StateChange(Sender: TObject). klik menu View – Forms. Pilih DataSource1 pada Object TreeView.HakAkses in [2]. buat event onDblClick. Pilih BitBtn1 pada Object TreeView. 27. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFLKembali. klik OK untuk melanjutkan. begin With FKembali Do Begin KembaliID := qLKembaliKembaliID. Pilih ransaksiPengembalian1 pada ObjectTreeView. pilih unit UFKembali. BitBtn2. ShowModal.

ransaksiPengembalian1Click(Sender: TObject).ShowModal. end. 33.2010 06/09/2011 21:51:34 225 . Pemrograman Visual 1 – Ronny Faslah . Simpan seluruh project. begin FLKembali.Komponen ransaksiPengembalian1 Event onClick Code procedure TFUtama. jalankan dan uji aplikasi.

klik menu File – New – Others. Pilih QuickReport1 pada Object TreeView. Copy dan paste qLKembali dari form FLKembali ke dalam QuickReport1. Pastikan project Rental. 5. 7. Settings Report Settings Section Paper size Margin Property Paper size Orientation Top Bottom Left Right Font Size PageHeader Title ColumnHeader DetailBand Summary Print first page header Print last page footer Value A5 148 x 210 mm Landscape 5.dpr telah dibuka. ubah property seperti table di bawah ini : Komponen QuickReport1 Property Dataset Name Value qLKembali QRLKembali 6. pada tab New pilih Reports. klik OK untuk melanjutkan.00 5.00 Trebuchet MS 10 True True True True True False False Other Bands Pemrograman Visual 1 – Ronny Faslah . Simpan Unit1 menjadi UQRLKembali. pilih UFUtama. Settings Report Settings Section Other Property Units Value MM 8.pas dalam folder Rental. 4. Buat Report baru.00 5. Langkah-langkah : 1. Masih pada jendela Report Settings. ubah setting lainnya seperti table berikut (lihat juga gambar di bawahnya). 2. Fasilitas ini hanya bisa diakses oleh karyawan dengan hak akses 2. Klik menu File – Use Unit. Ubah Units dari Inch menjadi MM. klik OK untuk melanjutkan.Latihan 36 : Membuat QuickReport Laporan Pengembalian QuickReport Laporan Pengembalian merupakan fasilitas cetak laporan yang dimiliki oleh form Laporan Pengembalian. 3. Klik menu File – Save All untuk menyimpan project. klik Apply. klik OK untuk melanjutkan.00 5.2010 06/09/2011 21:51:34 226 . Klik dua kali QRLKembali pada Object TreeView untuk membuka jendela Report Settings.

fsBold Caption Caption Value Halaman : taRightJustify False qrsPageNumber Nama Rental Alamat Rental Telepon Rental taCenter True LAPORAN PENGEMBALIAN True True Periode : Nama Karyawan QRLabel3 QRLabel4 QRLabel5 QRLabel6 QReports QReports QReports QReports TitleBand1 TitleBand1 TitleBand1 TitleBand1 QRLabel7 QRLabel8 QReports QReports TitleBand1 TitleBand1 Pemrograman Visual 1 – Ronny Faslah .Style.fsUnderline Font. Tambahkan 7 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam TitleBand1. Tambahkan 1 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam PageHeaderBand1. atur property seperti table di bawah ini : Komponen QRLabel2 QRSysData2 Tab QReports QReports Parent TitleBand1 TitklBand1 Property Caption Alignment Autosize Data Caption Caption Caption Alignment AlignToBand Caption Font.9. ubah property seperti table di bawah ini : Komponen QRLabel1 QRSysData1 Tab QReports QReports Parent PageHeaderBand1 PageHeaderBand1 Property Caption Alignment Autosize Data Value Halaman : taRightJustify False qrsPageNumber 10.Style.2010 06/09/2011 21:51:34 227 .

5 buah QRDBText dan 2 buah QRExpr dari tab QReports ke dalam DetailBand1. QRLabel12. ubah property seperti table di bawah ini : Komponen QRSysData3. Pilih ColumnHeaderBand1 pada Object TreeView. Tambahkan 8 buah QRLabel dari tab QReports ke ColumnHeaderBand1. ubah property seperti table di bawah ini : Komponen DetailBand1 Property Height Value 19 14. QRDBText3. QRExpr2 QRDBText1 QRDBText2 Tab QReports Parent DetailBand1 Property Autosize Value False QReports QReports DetailBand1 DetailBand1 Data Dataset qrsDetailNo qLKembali QReports DetailBand1 Alignment taRightJustify QReports QReports DetailBand1 DetailBand1 DataField DataField TglKembali KembaliID Pemrograman Visual 1 – Ronny Faslah . Tambahkan 1 buah QRSysData. Pilih DetailBand1 pada Object TreeView. QRLabel14.2010 06/09/2011 21:51:34 228 .DrawTop Height Value True True 32 12. QRLabel15 Tab QReports QReports QReports QReports QReports QReports QReports QReports Parent ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 Property Autosize Caption Caption Caption Caption Caption Caption Caption Caption Alignment dalam Value False No. QRDBText4. QRDBText5 QRSysData3. QRDBText3.DrawBottom Frame. QRDBText2. ubah property seperti table di bawah ini : Komponen ColumnHeaderBand1 Property Frame. atur property seperti table di bawah ini : Komponen QRLabel9 QRLabel10 QRLabel11 QRLabel12 QRLabel13 QRLabel14 QRLabel15 QRLabel16 QRLabel9. QRLabel11. QRExpr2 QRSysData3 QRDBText1. QRExpr1. Tgl Kembali #Kembali #Member Nama Member Kembali Total Denda Nama Karyawan taRightJustify 13.11. QRDBText2. QRExpr1.

Komponen QRDBText3 QRDBText4 QRDBText5 QRExpr1 QRExpr2

Tab QReports QReports QReports QReports QReports

Parent DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1

Property DataField DataField DataField Expression Expression

Value MemberID Member.Nama Karyawan.Nama FORMATNUMERIC(',0', qLKembali.JumlahKembali) FORMATNUMERIC(',0', qLKembali.TotalDenda)

15. Pilih SummaryBand1 pada Object TreeView, ubah property seperti table di bawah ini :
Komponen SummaryBand1 Property Frame.DrawTop Height Value True 45

16. Tambahkan 2 buah QRLabel, 1 buah QRSysData dan 2 buah QRExpr dari tab QReports ke dalam SummaryBand1, ubah property seperti table di bawah ini :
Komponen QRLabel17 QRLabel18 QRSysData4 QRExpr3, QRExpr4 QRExpr3 QRExpr4 Tab QReports QReports QReports QReports QReports QReports Parent SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 Property Caption Caption Alignment Data Alignment Autosize Expression Expression Value Tgl Cetak : Grand Total taRightJustify qrsDateTime taRightJustify False FORMATNUMERIC(',0', SUM(qLKembali.JumlahKembali)) FORMATNUMERIC(',0', sum(qLKembali.TotalDenda))

17. Pilih PageFooterBand1 pada Object TreeView, ubah property seperti table di bawah ini :
Komponen PageFooterBand1 Property Frame.DrawTop Height Value True 32

18. Tambahkan 1 buah QRLabel dan 2 buah QRExpr dari tab QReports ke dalam PageFooterBand1, ubah property seperti table di bawah ini :
Komponen QRLabel19 QRExpr5, QRExpr6 QRExpr5 QRExpr6 Tab QReports QReports QReports QReports Parent PageFooterBand1 PageFooterBand1 PageFooterBand1 PageFooterBand1 Property Caption Alignment Alignment Autosize Expression Expression Value SubTotal taRightJustify taRightJustify False FORMATNUMERIC(',0', SUM(qLKembali.JumlahKembali)) FORMATNUMERIC(',0', sum(qLKembali.TotalDenda))

19. Atur layout QRLKembali seperti gambar di bawah ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

229

20. Kembali ke form FLKembali, klik menu View – Forms, pilih FLKembali, klik OK untuk melanjutkan. 21. Klik menu File – Use Unit, pilih UQRLKembali, klik OK untuk melanjutkan. 22. Pilih BitBtn2 pada Object TreeView, buat event onClick, ketikkan perintah seperti table di bawah ini :
Komponen BitBtn2 Procedure onClick Code procedure TFLKembali.BitBtn2Click(Sender: TObject); begin With QRLKembali do Begin qLKembali.Close; qLKembali.Parameters[0].Value := DateTimePicker1.Date - 1; qLKembali.Parameters[1].Value := DateTimePicker2.Date; If Combobox1.ItemIndex = 0 then qLKembali.Parameters[2].Value := '%' else qLKembali.Parameters[2].Value := Combobox1.Text; qLKembali.Open; QRLabel3.Caption := FUtama.NamaRental; QRLabel4.Caption := FUtama.AlamatRental; QRLabel5.Caption := FUtama.TelpRental; QRLabel7.Caption := 'Periode : ' + Datetostr(DateTimePicker1.Date) + ' s/d ' + DatetoStr(DateTimePicker2.Date); QRLabel8.Caption := Combobox1.Text; Preview; End; end;

23. Simpan seluruh project, jalankan dan uji aplikasi.

NEW
Tugas Di Rumah :
1. Sempurnakan Latihan 17 s/d 32. 2. Selesaikan Latihan 33 s/d 36.

Pemrograman Visual 1 – Ronny Faslah - 2010

230

Latihan 37 : Membuat Form Laporan Koleksi Belum Kembali

Form Laporan Koleksi Belum Kembali adalah laporan yang menampilkan daftar koleksi yang belum kembali, member yang meminjamnya serta denda yang harus dibayar member tersebut. Form ini terhubung dengan form Member, klik dua kali pada baris koleksi akan menampilkan informasi lengkap member yang meminjamnya. Langkah-langkah :
1. Pastikan project Rental.dpr telah dibuka. 2. Buat form baru, klik menu File – New – Form. 3. Ubah property form yang baru dibuat seperti pada table di bawah ini :
Komponen Form1 Property Caption BorderStyle Name Position Value Laporan Koleksi Belum Kembali bsSizeable FLKBKembali poDesktopCenter

4. Klik menu File – Save All untuk menyimpan project. Simpan Unit1 menjadi UFLKBKembali.pas dalam folder Rental. 5. Klik menu File – Use Unit, pilih UFUtama, klik OK untuk melanjutkan. 6. Tambahkan 1 buah ADOQuery dari tab ADO ke dalam FLKBKembali, atur property seperti table di bawah ini :
Komponen ADOQuery1 Tab ADO Parent FLKBKembali Property Connection Name SQL Value FUtama.ADOConnection1 qLKBKembali Select DPinjam.TglHarusKembali, Pinjam.TglPinjam, Koleksi.KoleksiID, Koleksi.Judul, Pinjam.MemberID, Member.Nama, Koleksi.HargaDenda From Koleksi, Pinjam, Member, DPinjam Where (Pinjam.PinjamID = DPinjam.PinjamID) and (Pinjam.MemberID = Member.MemberID) and (DPinjam.KoleksiID = Koleksi.KoleksiID) and (DPinjam.KembaliID = 0) And (DPinjam.TglHarusKembali <= :TglHarusKembali) Order by DPinjam.TglHarusKembali, Koleksi.Judul

7. Atur property paramaters pada qLKBKembali seperti table di bawah ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

231

Komponen TParameters[0]

Property DataType

Value ftDate

8. Buat persistent field query qLKBKembali. 9. Tambahkan calculated field baru Telat pada qLKBKembali. Klik kanan pada field editor pilih New Field, lengkapi informasi pada jendela New Field seperti table di bawah ini :
Field Telat Section Field Properties Field type Property Name Type Field type Value Telat Integer Calculated

10. Tambahkan calculated field TotalDenda pada qLKBKembali, lengkapi informasi pada jendela New Field seperti table di bawah ini :
Field TotalDenda Section Field Properties Field type Property Name Type Field type Value TotalDenda Currency Calculated

11. Tambahkan 1 buah Datasource dari tab Data Access ke dalam FLKBKembali, atur property seperti table di bawah ini :
Komponen Datasource1 Tab Data Access Parent FLKBKembali Property Dataset Value qLKBKembali

12. Tambahkan 3 buah GroupBox dari tab Standard ke dalam FLKBKembali, atur property seperti table di bawah ini :
Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FLKBKembali FLKBKembali FLKBKembali Property Align Caption Align Caption Align Caption Value alTop alBottom alClient

13. Tambahkan 1 buah Label dari tab Standard ke dalam GroupBox1, atur property seperti table di bawah ini :
Komponen Label1 Tab Standard Parent GroupBox1 Property Caption Value Sampai Dengan Tanggal

14. Tambahkan 1 buah DateTimePicker dari tab Win32 ke dalam GroupBox1. 15. Tambahkan 1 buah Bevel dari tab Additional ke dalam GroupBox1, atur property seperti table di bawah ini :
Komponen Bevel1 Tab Additional Parent GroupBox1 Property Shape Value bsLeftLine

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

232

16. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox2, atur property seperti table di bawah ini :
Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Refresh Reset.bmp Cetak Printer.bmp

17. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox3, atur property seperti table di bawah ini :
Komponen DBGrid1 Tab Data Control Parent GroupBox3 Property Align Datasource Options.dgRowSelect Options.dgAlwaysShowSelection Options.dgEditing Value alClient Datasource1 True True False

18. Klik dua kali DBGrid1 pada Object TreeView, klik kanan pada Column Editor, pilih Add All Fields untuk menambahkan seluruh kolom. Atur property masing-masing kolom seperti table di bawah ini :
Komponen DBGrid1.Columns[0] DBGrid1.Columns[1] DBGrid1.Columns[2] DBGrid1.Columns[3] DBGrid1.Columns[4] DBGrid1.Columns[5] DBGrid1.Columns[6] DBGrid1.Columns[7] DBGrid1.Columns[8] DBGrid1.Columns[0], DBGrid1.Columns[1], DBGrid1.Columns[2], DBGrid1.Columns[3], DBGrid1.Columns[4], DBGrid1.Columns[5], DBGrid1.Columns[6], DBGrid1.Columns[7], DBGrid1.Columns[8] Property Title.Caption Title.Caption Title.Caption Title.Caption Title.Caption Title.Caption Title.Caption Title.Caption Title.Caption Title.Font.Style.fsBold Title.Alignment Value Harus Kembali Tgl Pinjam #Koleksi Judul Koleksi #Member Nama Member Denda/Hari Telat Total Denda True taCenter

19. Tambahkan 2 buah Label ke dalam GroupBox2, atur property seperti table di bawah ini :
Komponen Label4 Label5 Tab Standard Standard Parent GroupBox2 GroupBox2 Property Caption Caption Value Total Koleksi Belum Kembali Estimasi Pendapatan Denda

20. Tambahkan 2 buah Edit ke dalam GroupBox2, atur property seperti table di bawah ini :

Pemrograman Visual 1 – Ronny Faslah - 2010 06/09/2011 21:51:34

233

if PrevRecord <> nil then begin qLKBKembali. Edit2.Komponen Edit1.GoToBookmark(PrevRecord).FreeBookmark(PrevRecord). ketikkan perintah seperti table di bawah ini : Komponen FLKBKembali Procedure UpdateTotal Code procedure TFLKBKembali.0'.EnableControls. PrevRecord: TBookmark. end.DisableControls. Atur layout form FLKBKembali seperti gambar di bawah ini : 22.GetBookmark. begin PrevRecord := qLKBKembali.0'.Text := FormatFloat('.RecordCount).2010 06/09/2011 21:51:34 234 .Next. Edit1.UpdateqLKBKembali.UpdateTotal. Tambahkan unit DateUtils pada blok Uses di unit UFLKBKembali. try qLKBKembali. finally qLKBKembali. end. Edit2 Tab Standard Parent GroupBox2 Property ReadOnly Text Value True 21. qLKBKembali. end. UpdateqLKBKembali Pemrograman Visual 1 – Ronny Faslah .EOF do begin TotalDenda := TotalDenda + qLKBKembaliTotalDenda. procedure TFLKBKembali. Buat procedure procedure UpdateTotal dan procedure UpdateqLKBKembali pada blok Private. qLKBKembali. TotalDenda := 0. var TotalDenda : Real.Text := FormatFloat('. end. qLKBKembali. while not qLKBKembali.Value. 23. qLKBKembali.First. TotalDenda).

var Telat : Integer. ketikkan perintah seperti table di bawah ini : Komponen Datasource1 Event onStateChange Code procedure TFLKBKembali. UPdateqLKBKembali. Pilih qLKBKembali pada Object TreeView. end. end.Value := qLKBKembaliTelat. 25.DataSource1StateChange(Sender: TObject).HakAkses in [2].FormShow(Sender: TObject).Open. end. UpdateTotal. qLKBKembaliTotalDenda. begin DateTimePicker1.Enabled := False.DateTimePicker1Change(Sender: TObject).Value := Telat. end 26. ketikkan perintah seperti table di bawah ini : Komponen qLKBKembali Event onCalcFields Code procedure TFLKBKembali.Value * qLKBKembaliHargaDenda.qLKBKembaliTglHarusKembali.2]. Pilih FLKBKembali pada Object TreeView. ketikkan perintah seperti table di bawah ini : Komponen FLKBKembali Event onShow Code procedure TFLKBKembali. qLKBKembali.Komponen Procedure Code begin qLKBKembali.Value := 0 else qLKBKembaliTelat.qLKBKembaliCalcFields(DataSet: TDataSet). buat event onChange. begin Telat := Trunc(Today . Pilih DateTimePicker1 pada Object TreeView. qLKBKembali. begin DateTimePicker1.Date. begin BitBtn2.Parameters[0].Date := Today. BitBtn1.Enabled := FUtama. If Telat <= 0 then qLKBKembaliTelat.Enabled := FUtama.Value). Pemrograman Visual 1 – Ronny Faslah .Value.HakAkses in [2]. buat event onCalcFields.Close. 27.2010 06/09/2011 21:51:34 235 . end.Value := DateTimePicker1. ketikkan perintah seperti table di bawah ini : Komponen DateTimePicker1 Event onChange Code procedure TFLKBKembali. buat event onShow.HakAkses in [1. buat event onStateChange. 24. Pilih DataSource1 pada Object TreeView.Enabled := FUtama. BitBtn2.

klik OK untuk melanjutkan. end.HakAkses in [2]. Klik menu File – Use Unit. 31. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFLKBKembali. 30. Simpan seluruh project. Pemrograman Visual 1 – Ronny Faslah . pilih UFLKBKembali. 34. 29. ketikkan perintah seperti table di bawah ini : Komponen KoleksiBelumKembali1 Event onClick Code procedure TFUtama.ShowModal. buat event onClick. begin With FMember do Begin MemberID := qLKBKembaliMemberID. Pilih BitBtn1 pada Object TreeView.Enabled := FUtama. pilih unit UFMember.DBGrid1DblClick(Sender: TObject). jalankan dan uji aplikasi.KoleksiBelumKembali1Click(Sender: TObject).28. ShowModal. buat event onClick. End. begin UpdateqLKBKembali.2010 06/09/2011 21:51:34 236 . begin FLKBKembali. klik menu View – Forms.Value. buat event onDblClick. end.BitBtn1Click(Sender: TObject). klik OK untuk melanjutkan. 33. Klik menu File – Use Unit. Pilih DBGrid1 pada Object TreeView. pilih FUtama. end. Kembali ke form FUtama. 32. BitBtn2. klik OK untuk melanjutkan. ketikkan perintah seperti table di bawah ini : Komponen DBGrid1 Event onDblClick Code procedure TFLKBKembali. Pilih KoleksiBelumKembali1 pada ObjectTreeView.

ubah property seperti table di bawah ini : Komponen QuickReport1 Property Dataset Name Value qLKBKembali QRLKBKembali 6. Copy dan paste qLKBKembali dari form FLKBKembali ke dalam QuickReport1. Pastikan project Rental. klik OK untuk melanjutkan. 2.dpr telah dibuka. Klik menu File – Save All untuk menyimpan project. Langkah-langkah : 1. 7. klik OK untuk melanjutkan. 5. 4. pada tab New pilih Reports. Buat Report baru. Pilih QuickReport1 pada Object TreeView. Masih pada jendela Report Settings. Settings Report Settings Section Other Property Units Value MM 8. Ubah Units dari Inch menjadi MM. Simpan Unit1 menjadi UQRLKBKembali.00 Trebuchet MS 10 True True True True True False False Other Bands Pemrograman Visual 1 – Ronny Faslah .pas dalam folder Rental. klik Apply. Fasilitas ini hanya bisa diakses oleh karyawan dengan hak akses 2. ubah setting lainnya seperti gambar berikut. Klik menu File – Use Unit.00 5. 3. klik OK untuk melanjutkan.2010 06/09/2011 21:51:34 237 . klik menu File – New – Others.00 5.Latihan 38 : Membuat QuickReport Laporan Koleksi Belum Kembali QuickReport Laporan Koleksi Belum Kembali merupakan fasilitas cetak laporan yang dimiliki oleh form Laporan Koleksi Belum Kembali. Klik dua kali QRLKBKembali pada Object TreeView untuk membuka jendela Report Settings.00 5. pilih UFUtama. Settings Report Settings Section Paper size Margin Property Paper size Orientation Top Bottom Left Right Font Size PageHeader Title ColumnHeader DetailBand Summary Print first page header Print last page footer Value A5 148 x 210 mm Landscape 5.

fsBold Caption Value Halaman : taRightJustify False qrsPageNumber Nama Rental Alamat Rental Telepon Rental taCenter True LAPORAN PENGEMBALIAN True True Periode : QRLabel3 QRLabel4 QRLabel5 QRLabel6 QReports QReports QReports QReports TitleBand1 TitleBand1 TitleBand1 TitleBand1 QRLabel7 QReports TitleBand1 11.2010 06/09/2011 21:51:34 238 . ubah property seperti table di bawah ini : Komponen QRLabel1 QRSysData1 Tab QReports QReports Parent PageHeaderBand1 PageHeaderBand1 Property Caption Alignment Autosize Data Value Halaman : taRightJustify False qrsPageNumber 10. ubah property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Tambahkan 1 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam PageHeaderBand1. Pilih ColumnHeaderBand1 pada Object TreeView. atur property seperti table di bawah ini : Komponen QRLabel2 QRSysData2 Tab QReports QReports Parent TitleBand1 TitklBand1 Property Caption Alignment Autosize Data Caption Caption Caption Alignment AlignToBand Caption Font.Style.fsUnderline Font.9.Style. Tambahkan 6 buah QRLabel dan 1 buah QRSysData dari tab QReports ke dalam TitleBand1.

0'. QRExpr1. QRExpr3 QRSysData3 QRDBText1.0'.DrawTop Height Value True True 32 12. atur property seperti table di bawah ini : Komponen QRLabel8 QRLabel9 QRLabel10 QRLabel11 QRLabel12 QRLabel13 QRLabel14 QRLabel15 QRLabel8. QRSysData3. QRDBText4. Tambahkan 8 buah QRLabel dari tab QReports ke ColumnHeaderBand1.HargaDenda) FORMATNUMERIC('. QRExpr2. QRExpr1. QRDBText3.DrawBottom Frame. Harus Kembali Tgl Pinjam Judul Koleksi Nama Member Denda/Hr Telat Total Denda taRightJustify dalam 13. ubah property seperti table di bawah ini : Komponen DetailBand1 Property Height Value 19 14. Tambahkan 1 buah QRSysData. QRExpr3 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRExpr1 QRExpr2 Tab QReports Parent DetailBand1 Property Autosize Value False QReports QReports DetailBand1 DetailBand1 Data Dataset qrsDetailNo qLKBKembali QReports DetailBand1 Alignment taRightJustify QReports QReports QReports QReports QReports QReports DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1 DetailBand1 DataField DataField DataField DataField Expression Expression TglHarusKembali TglPinjam Judul Nama FORMATNUMERIC('. qLKBKembali. QRExpr2.Komponen ColumnHeaderBand1 Property Frame.2010 06/09/2011 21:51:34 239 . QRLabel15 Tab QReports QReports QReports QReports QReports QReports QReports QReports Parent ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 ColumnHeaderBand1 Property Autosize Caption Caption Caption Caption Caption Caption Caption Caption Alignment Value False No. QRLabel14. ubah property seperti table di bawah ini : Komponen QRSysData3. 4 buah QRDBText dan 3 buah QRExpr dari tab QReports ke dalam DetailBand1. Pilih DetailBand1 pada Object TreeView. QRDBText2. Pemrograman Visual 1 – Ronny Faslah . QRLabel13.

Atur layout QRLKBKembali seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah .TotalDenda) 15. ubah property seperti table di bawah ini : Komponen PageFooterBand1 Property Frame. Pilih SummaryBand1 pada Object TreeView. ubah property seperti table di bawah ini : Komponen QRLabel19 QRExpr5 Tab QReports QReports Parent PageFooterBand1 PageFooterBand1 Property Caption Alignment Alignment Autosize Expression Value SubTotal taRightJustify taRightJustify False FORMATNUMERIC('. Pilih PageFooterBand1 pada Object TreeView. Tambahkan 1 buah QRLabel dan 1 buah QRExpr dari tab QReports ke dalam PageFooterBand1.DrawTop Height Value True 32 18.0'. qLKBKembali.0'.DrawTop Height Value True 45 16.TotalDenda)) 17.TotalDenda)) 19. Tambahkan 2 buah QRLabel. sum(qLKBKembali. sum(qLKBKembali. 1 buah QRSysData dan 1 buah QRExpr dari tab QReports ke dalam SummaryBand1. ubah property seperti table di bawah ini : Komponen QRLabel17 QRLabel18 QRSysData4 QRExpr4 Tab QReports QReports QReports QReports Parent SummaryBand1 SummaryBand1 SummaryBand1 SummaryBand1 Property Caption Caption Alignment Data Alignment Autosize Expression Value Tgl Cetak : Grand Total taRightJustify qrsDateTime taRightJustify False FORMATNUMERIC('.0'.Komponen QRExpr3 Tab QReports Parent DetailBand1 Property Expression Value qLKBKembali.Telat) FORMATNUMERIC('. ubah property seperti table di bawah ini : Komponen SummaryBand1 Property Frame.2010 06/09/2011 21:51:34 240 .

Value * qLKBKembaliHargaDenda. 22. var Telat : Integer.TelpRental. Klik menu File – Use Unit. 21.Value). qLKBKembaliTotalDenda.Value := 0 else qLKBKembaliTelat.20. begin With QRLKBKembali do Begin qLKBKembali. buat event onClick. pilih FLKBKembali.Caption := 'Periode : s/d ' + DatetoStr(DateTimePicker1.qLKBKembaliCalcFields(DataSet: TDataSet). buat event onCalcFields.Open.Value. QRLabel3. klik OK untuk melanjutkan.Value := DateTimePicker1.Date.AlamatRental. If Telat <= 0 then qLKBKembaliTelat. Preview.Value := qLKBKembaliTelat.Parameters[0]. pilih UQRLKBKembali.Value := Telat. Kembali ke form FLKBKembali. QRLabel5.Caption := FUtama.Caption := FUtama. qLKBKembali. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Procedure onClick Code procedure TFLKBKembali. Pilih BitBtn2 pada Object TreeView. QRLabel7.NamaRental. ketikkan perintah seperti table di bawah ini (atau copy event onCalcFields milik qLKBKembali di form FLKBKembali) : Komponen qLKBKembali Procedure onCalcFields Code procedure TQRLKBKembali. end.Date).Caption := FUtama. klik OK untuk melanjutkan. End. 23.Close. klik menu View – Forms. Pemrograman Visual 1 – Ronny Faslah . Pilih qLKBKembali pada Object TreeView. begin Telat := Trunc(Today .2010 06/09/2011 21:51:34 241 . qLKBKembali. QRLabel4.qLKBKembaliTglHarusKembali.BitBtn2Click(Sender: TObject).

2010 06/09/2011 21:51:34 242 . jalankan dan uji aplikasi. Simpan seluruh project. 24.Komponen Procedure Code end. Pemrograman Visual 1 – Ronny Faslah .

Simpan dan tutup aplikasi Microsoft Access. klik menu File – New – Form. laporan ini juga menampilkan laporan dalam bentuk grafik.PinjamID) And (DateValue(Pinjam. klik dua kali Create Table in Design View. Pinjam Where (DPinjam.PinjamID = Pinjam.Tanggal.dpr telah dibuka. 2.pas dalam folder Rental.Tanggal))) AS Sewa. atur property seperti table di bawah ini : Komponen ADOTable1 Tab ADO Parent FLPendapatan Property Connection Name TableName Connection Name SQL Value FUtama.HargaSewa) From DPinjam. Klik menu File – Use Unit.ADOConnection1 qLPendapatan SELECT Kalendar. (Select sum(DPinjam. Buat table baru. 11. Pastikan project Rental. 10. simpan dengan nama Kalendar : Field Name Tanggal Data Type Date/Time Field Properties Format Value Short Date Ket.2010 06/09/2011 21:51:34 243 . Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value Laporan Pendapatan bsSizeable FLPendapatan poDesktopCenter 9. (Select sum(DPinjam.Denda) From DPinjam. 4. Buka file Rental. 7. pilih UFUtama. Buat form baru. Kembali ADOQuery1 ADO FLPendapatan Pemrograman Visual 1 – Ronny Faslah .TglPinjam) = DateValue(Kalendar. Simpan Unit1 menjadi UFLPendapatan. 3. Selain menampilkan data dalam bentuk tabulasi per tanggal transaksi.mdb yang dibuat pada Latihan 17. Kembali ke aplikasi Delphi. Klik menu File – Save All untuk menyimpan project. buat field dan atur field properties seperti table di bawah ini. Langkah-langkah : 1.Latihan 39 : Membuat Form Laporan Pendapatan Form Laporan Pendapatan merupakan laporan agregat gabungan dari pendapatan sewa dan pendapatan denda. Tambahkan 1 buah ADOTable dan 1 buah ADOQuery dari tab ADO ke dalam FLPendapatan. 8. 6. 5. Jalankan aplikasi Microsoft Access 2003.ADOConnection1 Kalendar Kalendar FUtama. klik OK untuk melanjutkan.

Where (DPinjam. Tambahkan 1 buah Datasource dari tab Data Access ke dalam FLPendapatan. atur property seperti table di bawah ini : Komponen Datasource1 Tab Data Access Parent FLPendapatan Property Dataset Value qLPendapatan 16. atur property masing-masing field seperti table di bawah ini : Field Tanggal Sewa. 18. 13. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah .2010 06/09/2011 21:51:34 244 . lengkapi informasi pada jendela New Field seperti table di bawah ini : Field SubTotal Section Field Properties Field type Property Name Type Field type Value SubTotal Currency Calculated 15. Tambahkan 1 buah Splitter dari tab Additional ke dalam FLPendapatan. Buat persistent field table Kalendar.KembaliID = Kembali. atur property seperti table di bawah ini : Komponen GroupBox4 Tab Standard Parent FLPendapatan Property Align Caption Value alClient 19.KembaliID) and (DateValue(Kembali. Tambahkan 2 buah Label dari tab Standard ke dalam GroupBox1. Buat persistent field query qLPendapatan. atur property seperti table di bawah ini : Komponen GroupBox1 GroupBox2 GroupBox3 Tab Standard Standard Standard Parent FLPendapatan FLPendapatan FLPendapatan Property Align Caption Align Caption Align Caption Value alTop alLeft alBottom 17.TglKembali) = DateValue(Kalendar.Tanggal))) AS Denda FROM Kalendar 12. Tambahkan calculated field SubTotal pada qLPendapatan. Denda. SubTotal Property DisplayFormat Currency Value dd/mm/yyyy True 14. Tambahkan 3 buah GroupBox dari tab Standard ke dalam FLPendapatan. Klik kanan pada field editor pilih New Field. Tambahkan 1 buah GroupBox dari tab Standard ke dalam FLPendapatan.

Columns[3] DBGrid1.Columns[2].Columns[0] DBGrid1. Tambahkan 2 buah DateTimePicker dari tab Win32 ke dalam GroupBox1. Tambahkan 1 buah DBGrid dari tab Data Control ke dalam GroupBox2.Caption Title.Columns[1] DBGrid1.Caption Title.Columns[1].dgEditing Value alClient Datasource1 True True False 24. klik kanan pada Column Editor. atur property seperti table di bawah ini : Komponen Label3 Label4 Label5 Tab Standard Standard Standard Parent GroupBox3 GroupBox3 GroupBox1 Property Caption Caption Caption Value Pendapatan Sewa Pendapatan Denda Total Pendapatan Pemrograman Visual 1 – Ronny Faslah .Columns[0].Caption Title.Alignment Value Tanggal Sewa Denda SubTotal True taCenter 25.bmp 23. pilih Add All Fields untuk menambahkan seluruh kolom.Font.Columns[3] Property Title. Klik dua kali DBGrid1 pada Object TreeView. DBGrid1.Komponen Label1 Label2 Tab Standard Standard Parent GroupBox1 GroupBox1 Property Caption Caption Value Periode s/d 20. atur property seperti table di bawah ini : Komponen Bevel1 Tab Additional Parent GroupBox1 Property Shape Value bsLeftLine 22. Tambahkan 2 buah BitBtn dari tab Additional ke dalam GroupBox2.Columns[2] DBGrid1.Caption Title.bmp Cetak Printer. DBGrid1.2010 06/09/2011 21:51:34 245 . 21. atur property seperti table di bawah ini : Komponen BitBtn1 BitBtn2 Tab Additional Additional Parent GroupBox1 GroupBox1 Property Caption Glyph Caption Glyph Value Refresh Reset. Tambahkan 3 buah Label ke dalam GroupBox3.Style.dgRowSelect Options. DBGrid1. Tambahkan 1 buah Bevel dari tab Additional ke dalam GroupBox1. Atur property masing-masing kolom seperti table di bawah ini : Komponen DBGrid1. atur property seperti table di bawah ini : Komponen DBGrid1 Tab Data Control Parent GroupBox2 Property Align Datasource Options.fsBold Title.dgAlwaysShowSelection Options.

Edit2. Edit3 Tab Standard Parent GroupBox3 Property ReadOnly Text Value True 27.DateTime Bar Value Bar Total Sewa Bar Total Denda GRAFIK PENDAPATAN Trebuchet 12 Rectangle Stacked False Dataset qLPendapatan Tanggal Tanggal True Sewa Rectangle Stacked False Dataset qLPendapatan Tanggal Tanggal True Denda Title Series Total Sewa Format Marks Datasource Total Denda Format Marks Datasource 29. Klik dua kali DBChart1 pada Object TreeView untuk membuka jendela Editing DBChart. atur property seperti table di bawah ini : Komponen DBChart1 Tab Data Control Parent GroupBox4 Property Align Value alClient 28. atur property seperti table di bawah ini : Komponen Edit1. Tambahkan 3 buah Edit ke dalam GroupBox3.26. ubah setting pada masing-masing tab seperti table di bawah ini : Tab Chart Subtab Series Settings Add Title Add Title Title Font Size Style Multiple Bar Visible DataSource Dataset Labels X X. Tambahkan 1 buah DBChart dari tab Data Control ke dalam GroupBox4.DateTime Bar Style Multiple Bar Visible DataSource Dataset Labels X X.2010 06/09/2011 21:51:34 246 . Atur layout form FLPendapatan seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah .

TotalDenda). try qLPendapatan. TotalSewa := 0.GetBookmark. TotalDenda := TotalDenda + qLPendapatanDenda. PrevRecord: TBookmark. begin PrevRecord := qLPendapatan. Edit1. qLPendapatan.Value. qLPendapatan.Next.EOF do begin TotalSewa := TotalSewa + qLPendapatanSewa.0'. end. Buat procedure procedure UpdateTotal.UpdateTotal.0'. ketikkan perintah seperti table di bawah ini : Komponen FLPendapatan Procedure UpdateTotal Code procedure TFLPendapatan. Pemrograman Visual 1 – Ronny Faslah .Text := FormatFloat('. procedure UpdateqLPendapatan dan function AwalBulan pada blok Private (lihat gambar). Edit2. Tambahkan unit DateUtils pada blok Uses di unit UFLPendapatan. while not qLPendapatan.First. var TotalSewa.2010 06/09/2011 21:51:34 247 . TotalSewa).DisableControls. TotalDenda := 0.Value.30.Text := FormatFloat('. 31. TotalDenda : Double.

if PrevRecord <> nil then begin qLPendapatan. qLPendapatan. finally qLPendapatan.Eof do Kalendar. begin Kalendar. ketikkan perintah seperti table di bawah ini : Komponen Event Code Pemrograman Visual 1 – Ronny Faslah . var Yr.0'.Enabled := True. BitBtn1. Pilih DateTimePicker1 dan DateTimePicker2 pada Object TreeView. end.2010 06/09/2011 21:51:34 248 .UpdateqLPendapatan. Tgl2 : TDate. function TFLPendapatan.GoToBookmark(PrevRecord).Post. BitBtn1. TotalSewa + TotalDenda). Tgl1 := DateTimePicker1. 32.Date := AwalBulan(Today). begin DecodeDate(D. BitBtn2. Mn. Kalendar. While Tgl1 <= Tgl2 do Begin Kalendar. buat event onChange. procedure TFLPendapatan. Kalendar.Date. end.Open. While not Kalendar. end.FreeBookmark(PrevRecord). end. Tgl1 := Tgl1 + 1.EnableControls. var Tgl1.Enabled := False. Tgl2 := DateTimePicker2. ketikkan perintah seperti table di bawah ini : Komponen FLKBKembali Event onShow Code procedure TFLPendapatan.Enabled := False.FormShow(Sender: TObject).Delete. 1). End. buat event onShow. end.Text := FormatFloat('. Pilih FLPendapatan pada Object TreeView.Komponen Procedure UpdateqLPendapatan AwalBulan Code Edit3. Yr.Date. Mn. qLPendapatan. DateTimePicker2. Result := EncodeDate(Yr. qLPendapatan. UpdateTotal.Insert.AwalBulan(D: TDate): TDate.Date := Today. begin DateTimePicker1.Close.Value := Tgl1. KalendarTanggal. Dy : Word.Close. end 33.Open. Mn. Dy).

DateTimePicker1Change(Sender: TObject). begin UpdateqLPendapatan.2010 06/09/2011 21:51:34 249 . end. 37. 38. ketikkan perintah seperti table di bawah ini : Komponen qLPendapatan Event onCalcFields Code procedure TFLPendapatan. pilih FUtama. Kembali ke form FUtama.Value. klik OK untuk melanjutkan. jalankan dan uji aplikasi. Pilih qLPendapatan pada Object TreeView. Simpan seluruh project.BitBtn2Click(Sender: TObject). 34. 40. Pilih BitBtn2 pada Object TreeView. begin FLPendapatan.Komponen DateTimePicker1. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFLPendapatan.Value := qLPendapatanSewa. Klik menu File – Use Unit. buat event onCalcFields. buat event onClick. 35. DateTimePicker2 Event onChange Code procedure TFLPendapatan. buat event onClick. BitBtn2.PrintLandscape. buat event onClick. begin DBChart1. ketikkan perintah seperti table di bawah ini : Komponen BitBtn2 Event onClick Code procedure TFLPendapatan. 39. Pemrograman Visual 1 – Ronny Faslah . klik menu View – Forms. Pilih Pendapatan1 pada ObjectTreeView. 36.ShowModal.Pendapatan1Click(Sender: TObject).Value + qLPendapatanDenda. Pilih BitBtn1 pada Object TreeView. begin qLPendapatanSubTotal. end. begin BitBtn2.qLPendapatanCalcFields(DataSet: TDataSet).Enabled := False. klik OK untuk melanjutkan.Enabled := True. end. pilih UFLPendapatan.BitBtn1Click(Sender: TObject). ketikkan perintah seperti table di bawah ini : Komponen Pendapatan1 Event onClick Code procedure TFUtama. end. end.

2010 06/09/2011 21:51:34 250 . ubah property seperti table di bawah ini : Komponen Image1 Tab Additional Parent GroupBox1 Property Autosize Picture Transparent Shape Value True App. klik menu File – New – Form. 2. Selain itu ditampilkan juga nama.Latihan 40 : Membuat Form About Form About digunakan untuk menampilkan judul aplikasi. 4. versi dan pembuat aplikasi. Tambahkan 1 buah GroupBox dari tab Standard.pas dalam folder Rental. klik OK untuk melanjutkan. pilih FUtama.Name Value About bsDialog FAbout poDesktopCenter Trebuchet MS 5. klik OK untuk melanjutkan. Langkah-langkah : 1. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Font. pilih tab Application.ico True ROFFA Technologies Aplikasi Rental 3. Jalankan aplikasi Delphi. Klik menu File – Use Unit. ubah property seperti table di bawah ini : Komponen GroupBox1 Tab Standard Parent FAbout Property Align Caption Value alClient 8. Buat form baru.dpr. Tambahkan 1 buah Image dan 1 buah Bevel dan dari tab Additional ke dalam GroupBox1. buka project Rental. atur property seperti table di bawah ini : Pemrograman Visual 1 – Ronny Faslah . Klik menu Project – Options. 7. Tab Application Version Info Section Application Settings Property Title Icon Include version Information in project Company Name Product Name Value Aplikasi Rental v1. Pilih menu File – Save All untuk menyimpan project.bmp True bsLeftLine Bevel1 Additional GroupBox1 9.0 App. 6. Simpan Unit1 menjadi UFAbout. Tambahkan 6 buah Label dari tab Standard ke dalam GroupBox1. alamat dan no telepon rental pengguna aplikasi. atur setting seperti table di bawah ini.

13. Label4.NamaRental. ketikkan perintah seperti table di bawah ini : Komponen FAbout Event onShow Code procedure TFAbout. Label5.2010 06/09/2011 21:51:34 251 .AlamatRental. Tambahkan 1 buah BitBtn dari tab Additional ke dalam GroupBox1. Label6 Tab Standard Standard Standard Standard Standard Standard Parent GroupBox1 GroupBox1 GroupBox1 GroupBox1 GroupBox1 GroupBox1 Property Caption Font.Caption := FUtama.bmp 11.Title.Size Caption Caption Caption Caption Caption Font. Atur layout form FAbout seperti gambar di bawah ini : 12. Pilih FAbout pada Object TreeView. Label6. begin Pemrograman Visual 1 – Ronny Faslah .Caption := FUtama.Caption := FUtama. atur property seperti table di bawah ini : Komponen BitBtn1 Tab Additional Parent GroupBox1 Property Caption Glyph Value OK Ok.TelpRental. begin Label1.Size.FormShow(Sender: TObject).Komponen Label1 Label2 Label3 Label4 Label5 Label6 Label1. Pilih BitBtn1 pada Object TreeView.fsBold Value Application Title 12 Created by Company Name Licensed to Nama Rental Alamat Telepon True 10.Caption := Application.Caption := 'Created by ROFFA Technologies'. Label2. Label4.BitBtn1Click(Sender: TObject). end. buat event onClick. buat event onShow. ketikkan perintah seperti table di bawah ini : Komponen BitBtn1 Event onClick Code procedure TFAbout. Label5.

Perbaikan dan demo ulang bisa dilakukan sampai dengan tanggal 7 Januari 2011. 2. 4. Simpan seluruh project. Uji aplikasi. Segera lakukan demo. Masukkan data dan transaksi dengan benar.Komponen Event Code Close. supaya Anda masih punya waktu untuk perbaikan dan demo ulang. Pemrograman Visual 1 – Ronny Faslah . klik OK untuk melanjutkan. pastikan anda telah memasukkan minimal 10 data member. begin FAbout. Klik menu File – Use Unit. 14. end. 5 data pemasok. 2 data karyawan. klik View – Forms. pilih unit UFAbout. pastikan Anda telah melakukan perubahan sesuai dengan modul terbaru. NEW Tugas Di Rumah : 1. 6.ShowModal. end. 3. Sempurnakan Latihan 17 s/d 40. 15.2010 06/09/2011 21:51:34 252 . ketikkan perintah seperti table di bawah ini : Komponen About1 Event onClick Code procedure TFUtama. Periode Konsultasi mulai 20 Desember 2010 s/d 31 Desember 2010 sesuai jadwal kuliah masing-masing kelas. dan 40 transaksi kembali. 15 data koleksi. buat event onClick. 5. 16. Kembali ke form FUtama. 40 transaksi pinjam. 17. pilih FUtama. perhatikan tulisan berwarna merah. Aplikasi yang sudah siap. Baca kembali modul dari awal. klik OK untuk melanjutkan.About1Click(Sender: TObject). pastikan semua form dan quickreport berfungsi dengan baik. Pilih About1 pada Object TreeView. bisa didemokan di hadapan Dosen MataKuliah mulai tanggal 27 Desember 2010 s/d 7 Januari 2011 sesuai jadwal kuliah masing-masing kelas. jalankan dan uji aplikasi.

Tambahkan 1 buah Shape dari tab Additional.pas dalam folder Rental. 5. klik menu File – New – Form. 6. ubah property seperti table di bawah ini : Komponen Label1. Pastikan project Rental. Label4. Label1 s/d Label 6 dari form FAbout ke dalam FSplash. ubah property seperti table di bawah ini : Komponen Shape Tab Additional Parent FSplash Property Align Pen. Atur layout form FSplash seperti gambar di bawah ini : Pemrograman Visual 1 – Ronny Faslah . 9.Width Value alClient clRed 2 7. Langkah-langkah : 1.2010 06/09/2011 21:51:34 253 . Klik menu File – Use Unit.Latihan 41 : Membuat Form Splash Form Splash adalah form yang akan tampil pertama kali pada saat aplikasi dijalankan. Form ini berisi informasi yang sama seperti form About. Bevel1. klik OK untuk melanjutkan. Tambahkan 1 buah Timer dari tab System ke dalam FSplash. Ubah property form yang baru dibuat seperti pada table di bawah ini : Komponen Form1 Property Caption BorderStyle Name Position Value bsNone FSplash poDesktopCenter 4. Copy dan Paste Image1. 2. 3. Label5. pilih UFUtama. Buat form baru. Label2.Color Pen. Klik menu File – Save All untuk menyimpan project.dpr telah dibuka. Label6 Property Transparent Value True 8. Label3. Simpan Unit1 menjadi UFSplash.

Timer1Timer(Sender: TObject). begin If (Now . ketikkan perintah seperti table di bawah ini : Komponen FSplash Event onShow Code procedure TFSplash. Tambahkan variabel Awal dengan type TTime pada blok private di unit UFSplash.Caption := FUtama.AlamatRental.NamaRental.TelpRental. Klik menu Project – View Source.Caption := FUtama. end. Pemrograman Visual 1 – Ronny Faslah . Label5. Label1. Simpan. 11.Title.FormShow(Sender: TObject). Pilih Timer1 pada Object TreeView. lihat gambar berikut : 14. Label6.. buat event onTimer. Label2.Awal) > encodetime(0.Caption := FUtama. sebelum perintah Application.Run tambahkan perintah FSplash. begin Awal := Now. jalankan dan uji aplikasi.10.2010 06/09/2011 21:51:34 254 .Caption := 'Created by ROFFA Technologies'. Pilih FSplash pada Object TreeView.5.0) then Close. buat event onShow. 12. 13. ketikkan perintah seperti table di bawah ini : Komponen Timer1 Event onTimer Code procedure TFSplash. Label4.Showmodal.0.Caption := Application. end.

copy dan paste perintah SQL dari Delphi ke dalam jendela Query1. Solusinya tambahkan klausa DateUtils pada blok Uses di dalam unit/form yang bersangkutan. Karena variable PinjamID dan KembaliID pada form FPinjam dan FKembali dideklarasikan di blok Private jadi variable tersebut tidak bisa diakses oleh form lain. 2. klik Close untuk menutup jendela Show Table. Pada form FPinjam. 2.FREQUENTLY ASK QUESTION (FAQ) Pertanyaan : 1. pilih object Queries.2010 06/09/2011 21:51:34 255 . Pastikan field Judul. pada saat melakukan peminjaman terjadi kesalahan dengan pesan ‘DPinjamID cannot be modified’. 3. klik menu View – SQL View. Bagaimana cara memeriksa kesalahan penulisan SQL? 5. Mengapa fungsi Today tidak dikenali? 3. Mengapa Form Laporan Koleksi tidak bisa menampilkan data samasekali? 4. apa yang harus diperbaiki? 6. Jalankan aplikasi Microsoft Access. coba cek kembali property MasterFields pada komponen DPinjam. Mengapa variabel PinjamID dan KembaliID pada form FLPinjam dan FLKembali tidak dikenali. Solusinya pindahkan variable PinjamID dan KembaliID di form FPinjam dan FKembali ke dalam blok Public. buka file Rental. apa yang harus diperbaiki? Jawaban : 1. Lihat Latihan 26 point 39 dan Latihan 28 point 38. Delphi secara otomatis mereset datatype pada property parameters. pastikan field yang dihubungkan PinjamID (lihat Latihan 26 point 18). Saat membuat atau memperbaiki perintah SQL pada suatu ADOQuery. Kategori dan JenisKoleksi pada form Koleksi sudah diisi dengan benar. 5. 4. klik dua kali Creat Query in Design View.mdb. cek lagi datatype pada property parameter. 6. Fungsi Today ada di dalam unit DateUtils. Pada saat menjalankan perintah SQL terjadi kesalahan ‘Datatype mismatch in criteria expression’. Cara paling mudah untuk memeriksa kesalahan penulisan SQL adalah dengan memanfaatkan Query pada Microsoft Access. Lihat Latihan 26 point 38. Penyebab dari kasus ini biasanya akibat dari kesalahan pada saat membuat hubungan master detail. klik menu Query – Run untuk menjalankan dan memeriksa kesalahan perintah SQL. Pemeran Utama. adalah PinjamID -+= SELESAI =+-+= Sampai Ketemu di Semester 4 =+- Pemrograman Visual 1 – Ronny Faslah .

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->