PEMROGRAMAN VISUAL - · PDF file11 TUTORIAL PEMBUATAN APLIKASI RENTAL VCD.....11-1 11.1...
-
Upload
vuongnguyet -
Category
Documents
-
view
253 -
download
3
Transcript of PEMROGRAMAN VISUAL - · PDF file11 TUTORIAL PEMBUATAN APLIKASI RENTAL VCD.....11-1 11.1...
Politeknik Telkom Pemrograman Visual
i
PEMROGRAMAN VISUAL
POLITEKNIK TELKOM
BANDUNG
2009
Politeknik Telkom Pemrograman Visual
ii
PENULIS:
SURYATININGSIH, S.T.
LUTCE RUSTYANA, S.T.
RITA RISMALA
YOGI ARJAN
Dilarang menerbitkan kembali, menyebarluaskan, atau menyimpan baik
sebagian maupun seluruh isi buku dalam bentuk dan dengan cara apapun
tanpa izin tertulis dari Politeknik Telkom
Hak cipta dilindungi undang-undang @ Politeknik Telkom 2008
No part of this document may be copied, reproduced, printed, distributed, modified,
removed and amended in any form by any means without prior written
authorization of Telkom Polytechnic.
Copyright @ 2009 Telkom Polytechnic. All rights reserved
Politeknik Telkom Pemrograman Visual
iii
KATA PENGANTAR
Assalamu‟alaikum Wr. Wb
Segala puji bagi Allah SWT karena dengan karunia-Nya courseware ini dapat
diselesaikan.
Atas nama Politeknik Telkom, kami sangat menghargai dan ingin
menyampaikan terima kasih kepada penulis, penerjemah dan penyunting yang
telah memberikan tenaga, pikiran, dan waktu sehingga courseware ini dapat
tersusun.
Tak ada gading yang tak retak, di dunia ini tidak ada yang sempurna, oleh
karena itu kami harapkan para pengguna buku ini dapat memberikan masukan
perbaikan demi pengembangan selanjutnya.
Semoga courseware ini dapat memberikan manfaat dan membantu seluruh
Sivitas Akademika Politeknik Telkom dalam memahami dan mengikuti materi
perkuliahan di Politeknik Telkom.
Amin.
Wassalamu‟alaikum Wr. Wb.
Bandung, Desember 2007
Christanto Triwibisono
Wakil Direktur I
Bidang Akademik & Pengembangan
Politeknik Telkom Pemrograman Visual
iv
DAFTAR ISI
KATA PENGANTAR ............................................................................................... iii
DAFTAR ISI ................................................................................................................ iv
DAFTAR GAMBAR ................................................................................................. vii
1 PEMROGRAMAN VISUAL ...................................................................... 1-1
1.1 Visual Programming ................................................................................... 1-2
1.2 Integrated Development Environment .................................................. 1-2
1.3 Rapid Application Development ............................................................. 1-4
2 PENGENALAN IDE BORLAND DELPHI ............................................ 2-1
2.1 Instalasi Borland Delphi ............................................................................ 2-2
2.2 Pengenalan IDE Borland Delphi .............................................................. 2-5
2.2.1 Main Menu ................................................................................................... 2-5
2.2.2 Code Editor ................................................................................................. 2-6
2.2.3 Component Palette ................................................................................... 2-6
2.2.4 Form View ................................................................................................... 2-7
2.2.5 Object Inspector ........................................................................................ 2-7 2.3 File Project, Unit dan Form Borland Delphi ........................................ 2-8
2.3.1 Project File ................................................................................................... 2-8
2.3.2 Unit File ........................................................................................................ 2-9
2.3.3 Form File ...................................................................................................... 2-9
2.4 Event Driven Programming ...................................................................... 2-9
2.5 Properties .................................................................................................... 2-9
2.6 Event ........................................................................................................... 2-10
2.7 Container ................................................................................................... 2-11
3 PENGENALAN FORM SDI DAN MDI ................................................ 3-1
3.1 MDI dan SDI ................................................................................................ 3-2
3.2 Struktur Aplikasi MDI ............................................................................... 3-3
3.3 Aplikasi MDI di Delphi .............................................................................. 3-3
3.4 Implementasi aplikasi MDI ........................................................................ 3-4
4 TIPE DATA, STRUKTUR PROGRAM, FUNGSI DAN PROSEDUR
........................................................................................................................ 4-1
4.1 Tipe Data ..................................................................................................... 4-2
4.1.1 Integer........................................................................................................... 4-2
4.1.2 Real ........................................................................................................... 4-2
4.1.3 Boolean......................................................................................................... 4-3
4.1.4 Character ..................................................................................................... 4-3
4.1.5 String ........................................................................................................... 4-3
4.1.6 Array ........................................................................................................... 4-4
Politeknik Telkom Pemrograman Visual
v
4.1.7 Record .......................................................................................................... 4-4
4.2 Tipe Terenumerasi dan Subrange ........................................................... 4-4
4.2.1 Ordinal ......................................................................................................... 4-5
4.3 Konstanta ..................................................................................................... 4-5
4.4 Variabel ......................................................................................................... 4-6
4.4.1 Variabel Global ........................................................................................... 4-6
4.4.2 Variabel Lokal.............................................................................................. 4-6
4.5 Operator ...................................................................................................... 4-6
4.5.1 Operator Penugasan .................................................................................. 4-6
4.5.2 Operator Aritmatika ................................................................................. 4-6
4.5.3 Operator Relasi .......................................................................................... 4-7
4.5.4 Operator Logika ......................................................................................... 4-7
4.6 Kontrol Program ........................................................................................ 4-8
4.6.1 Pencabangan ................................................................................................ 4-8
4.6.2 Perulangan .................................................................................................... 4-9
4.7 Function dan Procedure ........................................................................... 4-9
4.8 Studi Kasus ................................................................................................ 4-10
4.8.1 Apikasi Stopwatch .................................................................................... 4-10
4.8.2 Aplikasi Notepad ...................................................................................... 4-14
5 KONVERSI TIPE DATA ........................................................................... 5-1
5.1 Konversi Tipe Data.................................................................................... 5-2
5.1.1 Studi Kasus : Aplikasi Currency Converter ......................................... 5-3
6 MICROSOFT ACCESS ............................................................................. 6-1
6.1 Relational Database ................................................................................... 6-2
6.1.1 Membuat Relational Database dengan Microsoft Access .................. 6-2
6.1.2 Membuat Relational Database dengan Microsoft Access 2003 ....... 6-4
6.2.1. Membuat Relational Database dengan................................................. 6-11
7 PENGANTAR APLIKASI DATABASE MENGGUNAKAN DELPHI
........................................................................................................................ 7-1
7.1 Aplikasi Database ....................................................................................... 7-2
7.2 Mekanisme Akses Data Dengan Delphi ................................................ 7-2
7.3 Arsitektur Dasar Aplikasi Database dalam Delphi ............................. 7-3
7.4 User Interface (UI) ..................................................................................... 7-4
7.4.1 DataSource .................................................................................................. 7-4 7.4.2 DataSet ......................................................................................................... 7-4
7.4.3 Connection .................................................................................................. 7-4
7.4.4 DataModule ................................................................................................. 7-5
7.5 Menggunakan Database Desktop............................................................ 7-5
7.5.1 Membuat file Database Desktop ............................................................ 7-6
Politeknik Telkom Pemrograman Visual
vi
7.6 Mengolah Database MS Access ............................................................... 7-9
7.7 Menghubungkan Database ke dalam Form ........................................... 7-9
8 PEMAKAIAN KOMPONEN DATA CONTROL DAN
IMPLEMENTASI SINTAKS QUERY PADA DELPHI .......................... 8-1
8.1 Insert Data ................................................................................................... 8-2
8.2 Select Data................................................................................................... 8-2
8.3 Update Data ................................................................................................ 8-4
8.4 Delete Data ................................................................................................. 8-4
8.5 Karakter Spesial .......................................................................................... 8-5
8.6 ADOConnection ........................................................................................ 8-6
8.7 Aplikasi Insert, Update, Delete Anggota ............................................... 8-6
8.8 Aplikasi Insert, Update, Delete dengan menggunakan DBNavigator ...
...................................................................................................................... 8-17
8.9 Aplikasi Searching ..................................................................................... 8-21
9 APLIKASI DATABASE MASTER DETAIL ........................................... 9-1
9.1 Aplikasi Database Master Detail ............................................................. 9-2
10 DELPHI REPORTING MENGGUNAKAN QUICK REPORT ....... 10-1
10.1 Installasi Quick Report............................................................................ 10-2
10.2 Komponen Quick Report ...................................................................... 10-4
10.3 Membuat Laporan dengan Quick Report ........................................... 10-5
10.3.1 Membuat Form Aplikasi Laporan ......................................................... 10-5
10.3.2 Mendesain Laporan ............................................................................... 10-10
10.3.3 Menulis Kode Program Laporan ........................................................ 10-13
11 TUTORIAL PEMBUATAN APLIKASI RENTAL VCD ..................... 11-1
11.1 Pengantar Aplikasi Rental VCD ............................................................ 11-2
11.2 Perancangan dan Pembuatan Database Rental VCD ........................ 11-2
11.3 Merancang dan Membuat Form menggunakan Borland Delphi .. 11-12
11.4 Menulis Kode Program VCD Rental ................................................. 11-37
11.5 Menjalankan Program VCD Rental ................................................... 11-63
DAFTAR PUSTAKA ................................................................................................ xii
Politeknik Telkom Pemrograman Visual
vii
DAFTAR GAMBAR
Gambar 1-1 - Flowcode IDE .................................................................................... 1-3
Gambar 1-2 - Anjuta IDE – C / C++ Editor ......................................................... 1-4
Gambar 1-3 – Impelementasi KonsepRAD dengan Codegear Delphi IDE ... 1-5
Gambar 2-1 - Menu Installer Borland .................................................................... 2-3
Gambar 2-2 – Welcome Screen ............................................................................. 2-3
Gambar 2-3 - Verifikasi Serial Number ................................................................. 2-4
Gambar 2-4 - Pilihan Opsi Instalasi ........................................................................ 2-4
Gambar 2-5 - Proses Installasi ................................................................................. 2-5
Gambar 2-6 - Main Menu (Component Palette, Context Menu, Main
Toolbar) ........................................................................................................................ 2-5
Gambar 2-7 - Code Editor ....................................................................................... 2-6
Gambar 2-8 - Main Component Palette ................................................................ 2-6
Gambar 2-9 - Form View dengan satu komponen button dan satu label ...... 2-7
Gambar 2-10 - Object Inspector digunakan untuk melakukan perubahan
atribut dari komponen. ............................................................................................. 2-8 Gambar 2-11 - Pengaturan properties sebuah komponen melalui Object
Insector. ...................................................................................................................... 2-10
Gambar 2-12 - Pembuatan sebuah event dengan mengakses event dalam
object inspector ........................................................................................................ 2-11
Gambar 2-13 - Kerangka yang di generate secara otomatis ketika event
oncreate di Object Inspector Form1 di klik-ganda ........................................... 2-11
Gambar 3-1 - Tampilan Form Utama..................................................................... 3-5
Gambar 3-2 - Dialog MainMenu .............................................................................. 3-5
Gambar 3-3 - Menu dan Submenu .......................................................................... 3-7
Gambar 3-4 - Form Utama dengan Menu ............................................................. 3-8
Gambar 3-5 - Project Option .................................................................................. 3-9
Gambar 3-6 - Running Program ............................................................................ 3-11
Gambar 4-1 - Gambar Tampilan Stop Watch .................................................... 4-10
Gambar 4-2 - System Tab – Component Palette .............................................. 4-11
Gambar 4-3 - Delphi Notepad .............................................................................. 4-15
Gambar 5-1 - gambaran umum fungsi konversi dengan studi kasus converter
mata uang ..................................................................................................................... 5-2
Gambar 5-2 - Rancangan Form Currency Converter ........................................ 5-4
Gambar 5-3 - Tampilan konversi US Dollar ke Rupiah atau sebaliknya ....... 5-10
Gambar 5-4 - Tampilan konversi EURO ke Rupiah atau sebaliknya ............. 5-10
Gambar 5-5 - Tampilan konversi Yen Jepang ke Rupiah atau sebaliknya ..... 5-11
Gambar 6-1 - Microsoft Access 2007 .................................................................... 6-4
Politeknik Telkom Pemrograman Visual
viii
Gambar 6-2 - Microsoft Access – New File Dialog ............................................ 6-5
Gambar 6-3 - Microsoft Access – Create Table ................................................. 6-6
Gambar 6-4 - Microsoft Access - Table Designer .............................................. 6-6
Gambar 6-5 - Microsoft Access – Save Table Dialog ......................................... 6-7
Gambar 6-6 - Microsoft Access – Console .......................................................... 6-8
Gambar 6-7 - Microsoft Access – Show Table .................................................... 6-9
Gambar 6-8 - Microsoft Access – Relationship Dialog ...................................... 6-9
Gambar 6-9 - Edit Relationship ............................................................................. 6-10
Gambar 6-10 - Microsoft Access – Relationship ............................................... 6-11
Gambar 6-11 - Microsoft Access 2007 ............................................................... 6-12
Gambar 6-12 - Microsoft Access – New Database Pane ................................ 6-12
Gambar 6-13 - Microsoft Access 2007 – New File Dialog ............................. 6-13
Gambar 6-14 - Microsoft Access 2007 – Database console .......................... 6-14
Gambar 6-15 - Microsoft Access 2007 – Table Save Dialog .......................... 6-15
Gambar 6-16 - Microsoft Access 2007 – Console ........................................... 6-15
Gambar 6-17 - Microsoft Access 2007 – Show Table Dialog ........................ 6-16
Gambar 6-18 - Microsoft Access 2007 – Relationship .................................... 6-17
Gambar 6-19 - Microsoft Access 2007 – Edit Relationship Dialog ............... 6-17
Gambar 6-20 - Access 2007 – Relationship ....................................................... 6-18
Gambar 7-1- Arsitektur Aplikasi Database pada Delphi ................................... 7-4
Gambar 7-2 - Database Desktop ............................................................................ 7-5
Gambar 7-3 - Format database ............................................................................... 7-6
Gambar 7-4 - struktur table database ................................................................... 7-7
Gambar 7-5 - pengisian Nama Field pada table ................................................... 7-8
Gambar 7-6 - menyimpan table ............................................................................... 7-8
Gambar 7-7 - Form View – TAdoTable Component ...................................... 7-10
Gambar 7-8 - Form View – ConnectionString Properties .............................. 7-10
Gambar 7-9 - Form View – Data Link Dialog .................................................... 7-11
Gambar 7-10 – Form View – Connection Success........................................... 7-12
Gambar 7-11 - Form View – TDataSource ........................................................ 7-13
Gambar 7-12 – Form View – TDBGrid .............................................................. 7-14
Gambar 7-13 – DbGrid Properties ...................................................................... 7-14
Gambar 8-1- Tampilan Form Anggota ................................................................... 8-7
Gambar 8-2 - Data Module ...................................................................................... 8-9 Gambar 8-3 - Connection String ............................................................................ 8-9
Gambar 8-4 - Data Link Properties Provider .................................................... 8-10
Gambar 8-5 - Data Link Properties Connection............................................... 8-11
Gambar 8-6 - SQL String List Editor ................................................................... 8-11
Gambar 8-7 - Tampilan Form Anggota Lengkap ............................................... 8-12
Politeknik Telkom Pemrograman Visual
ix
Gambar 8-8 - Setting Column DBGrid................................................................ 8-13
Gambar 8-9 - Tampilan Form Anggota................................................................ 8-18
Gambar 8-10 - Data Module .................................................................................. 8-19
Gambar 8-11 - Setting column DBGrid............................................................... 8-20
Gambar 8-12 - Running PrjDBAnggotaVCD ...................................................... 8-21
Gambar 8-13 - Gbr 10.18 Form Search .............................................................. 8-21
Gambar 8-14 - String List Editor........................................................................... 8-23
Gambar 8-15 - Running Program Search ............................................................ 8-25
Gambar 9-1 - Form Master-Detail Anggota ......................................................... 9-2
Gambar 9-2 - Data Module ...................................................................................... 9-3
Gambar 9-3 - Field Link Designer .......................................................................... 9-5
Gambar 9-4 - Aplikasi Running ................................................................................ 9-5
Gambar 10-1 - Project Options ............................................................................ 10-2
Gambar 10-2 - Browse - pencarian library quickreport .................................. 10-3
Gambar 10-3 - Component Pallete QReport .................................................... 10-3
Gambar 10-4 - Component Pallete QReport - Detail ..................................... 10-4
Gambar 10-5 - Form Navigasi Laporan .............................................................. 10-6
Gambar 10-6 – Lembar Kerja Laporan ............................................................... 10-9
Gambar 10-7 - Design Laporan .......................................................................... 10-10
Gambar 10-8 - Report Setting ............................................................................ 10-13
Gambar 10-9 - Form Navigasi Laporan Running ........................................... 10-16
Gambar 10-10 - Display Report ......................................................................... 10-17
Gambar 11-1 – Tampilan Awal MS Access 2007 .............................................. 11-2
Gambar 11-2 – Membuat Database Baru ........................................................... 11-3
Gambar 11-3 – Membuat Database Baru ........................................................... 11-3
Gambar 11-4 – Memilih Format Access 2003 dan memasukkan nama........ 11-3
Gambar 11-5 – Create new table ......................................................................... 11-5
Gambar 11-6– Memberi nama pada table baru ................................................. 11-5
Gambar 11-7 – Detil Table Anggota .................................................................... 11-6
Gambar 11-8– Detil Tabel VCD ........................................................................... 11-6
Gambar 11-9– Detil Tabel PenyewaanDetil ....................................................... 11-6
Gambar 11-10 - Detil Tabel PenyewaanDetil .................................................... 11-7
Gambar 11-11 – Membuat Relationship.............................................................. 11-7
Gambar 11-12 – Memilih table yang akan digunakan di relationship ............ 11-8 Gambar 11-13 - Relationship Anggota - PenyewaanMaster ........................... 11-8
Gambar 11-14 – Relationship PenyewaanDetil - PenyewaanMaster ............ 11-9
Gambar 11-15 - Relationship VCD - PenyewaanDetil ..................................... 11-9
Gambar 11-16 - Menghubungkan dua field dalam sebuah relasi ................. 11-10
Gambar 11-17 - Relationship Complete .......................................................... 11-10
Politeknik Telkom Pemrograman Visual
x
Gambar 11-18 - Database yang saling terhubung dan detil .......................... 11-11
Gambar 11-19 - Membuat aplikasi baru ........................................................... 11-12
Gambar 11-20 - Menambahkan beberapa form baru .................................... 11-12
Gambar 11-21 - Form Utama ............................................................................. 11-13
Gambar 11-22 - Edit Main Menu ........................................................................ 11-14
Gambar 11-23 - Properties Windows Form Utama ..................................... 11-16
Gambar 11-24 - Form VCD ................................................................................ 11-17
Gambar 1-25 - Form Anggota ............................................................................ 11-19
Gambar 11-26 - Properties Windows Form Anggota .................................. 11-21
Gambar 11-27 – Form Transaksi Penyewaan ................................................. 11-22
Gambar 11-28 – Form Laporan Transaksi Peminjaman ............................... 11-24
Gambar 11-29 – Install Quickreport ................................................................ 11-26
Gambar 11-30 – Menambah Package dari file bpl (Borland Package Library)
................................................................................................................................... 11-26
Gambar 11-31 – Memilih file dclqrt70.bpl ....................................................... 11-27
Gambar 11-32 – Menu Use Unit untuk menggunakan Unit pada form utama
................................................................................................................................... 11-28
Gambar 11-33 – Daftar Unit yang akan digunakan ........................................ 11-28
Gambar 11-34 – Representasi Sintaksis Uses pada Unit .............................. 11-29
Gambar 11-35 – Click Project – Options untuk menambahkan form child
MDI sehingga ditampilkan hanya ketika di akses melalui form utama ........ 11-29
Gambar 11-36 – Daftar Form-Form yang Tersedia dalam Project ............ 11-30
Gambar 11-37 – Daftar Form-Form yang telah dipilih ................................. 11-30
Gambar 11-38 – Menu create new Data Module .......................................... 11-31
Gambar 11-39 – Data Access component: ADOConnection, ADOQuery,
dan ADODataSet .................................................................................................. 11-31
Gambar 11-40 – Properties Window ADOConnRentalVCD .................... 11-34
Gambar 11-41 – ConnectionString Dialog ...................................................... 11-35
Gambar 11-42 – Data Link Properties - ConnectionString Builder Dialog ........
................................................................................................................................... 11-35
Gambar 11-43 – Data Link Properties – Test Connection Success .......... 11-36
Gambar 11-44 – Memasukkan string SQL pada property SQL
ADOQueryLaporanPeminjaman ........................................................................ 11-36
Gambar 11-45 – Cara 1 – Mengakses object untuk memasukkan code ... 11-37 Gambar 11-46 – Cara 2 – Men-generate procedure baru dengan
menggunakan event OnClick pada properties ................................................ 11-37
Gambar 11-47 – Membuat procedure baru dengan meng-klik ganda pada
button....................................................................................................................... 11-38
Gambar 11-48 - Aplikasi Rental VCD Running - Form Utama ................... 11-64
Politeknik Telkom Pemrograman Visual
xi
Gambar 11-49 – - Aplikasi Rental VCD Running - Form Anggota ............. 11-65
Gambar 11-50 - - Aplikasi Rental VCD Running - Form VCD Gambar 11-51
- Aplikasi Rental VCD Running – Penyewaan Running ................................. 11-66
Gambar 11-52 - Aplikasi Rental VCD Running – Nama dan No Anggota 11-68
Gambar 11-53 – Error Message – ID Peminjam ............................................ 11-68
Gambar 11-54 Aplikasi Rental VCD Running – Judul VCD ......................... 11-69
Gambar 11-55 – Aplikasi Rental VCD Running – Harga sewa otomatis .. 11-70
Gambar 11-56 – Error Message – Judul VCD ................................................ 11-70
Gambar 11-57 – Aplikasi Rental VCD Running – Data Peminjaman Sukses
disimpan ................................................................................................................... 11-71
Gambar 11-58 - Aplikasi Rental VCD Running – Tampilan Report ........... 11-72
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-1
1 PEMROGRAMAN VISUAL
Overview
Bab ini akan menjelaskan tentang konsep pemrograman visual secara umum.
Memperkenalkan konsep Rapid Application Development dan Integrated
Development Environment, dan memperenalkan beberapa aplikasi pegembangan
visual.
Tujuan
1. Mahasiswa mengetahui konsep pemrograman visual
2. Mahasiswa mengerti Integrated Development Environment
3. Mahasiswa mengenal konsep RAD (Rapid Application Development)
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-2
Pada awal diperkenalkannya pemrograman menggunakan komputer,
representasi sintaksis perintah-perintah program (command syntax) adalah
berupa rangkaian karakter atau tekstual.
Interaksi pengguna dengan komputer juga terbatas pada inptut
keyboard dan representasi tombol, table dan garis yang merupakan gabungan
dan manipulasi dari karakter ASCII.
Seiring dengan perkembangan pada teknologi hardware/perangkat
keras komputer, visualisasi antarmuka pengguna (user interface) komputer
yang pada awalnya berupa text-based mengalami kemajuan dan berkembang
menjadi graphical-based. Hal ini juga memicu perkembangan pengembangan
aplikasi-aplikasi komputer yang lebih menuntut tampilan dan menu yang
interaktif dan bersahabat (user friendly) seperti aplikasi pengolah kata,
pengolah angka, aplikasi permainan (game), aplikasi pemutar musik/video
(multimedia) dan lain sebagainya.
1.1 Visual Programming
Perkembangan pada antarmuka pengguna komputer berupa graphical-
based juga berdampak pada aplikasi pengembangan yang digunakan, saat ini
dikenal istilah VPL (Visual Programming Language) dimana artinya adalah bahasa
pemrograman yang dibantu atau lebih menggantungkan pada aplikasi
pengembangan bersifat visual dibanding secara textual.
Pengembangan aplikasi secara visual ini menggunakan penggabungan
antara form, icon, notasi simbolik (symbolic notation) dan sintaksis program
yang merupakan notasi sekunder dari sebuah lingkungan aplikasi
pengembangan visual atau bisa kita sebut kode (Code).
1.2 Integrated Development Environment
Aplikasi pengembangan visual menitikberatkan pada penggunaan alat-
alat visual untuk pengembangan aplikasinya seperti tombol, kotat text, kotak
dialog, label, table, bar, selain itu juga berbagai opsi untuk pengaturan atribut
dari komponen visual, kustomisasi kode dan lain sebagainya. Hal ini menuntut
sebuah lingkungan pengembangan yang terpadu dan terintegrasi atau dikenal
dengan IDE (Integrated Development Environment).
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-3
Saat ini banyak sekali digunakan berbagai macam IDE dari berbagai
pengembang aplikasi yang berbeda baik komersil maupun opensource. Yang
terkenal dan banyak digunakan pada saat ini diantaranya adalah:
1. Microsoft Visual Studio .Net IDE
2. Borland RAD IDE – Delphi, C++ Builder, dan Builder series lainnya
3. Eclipse IDE
4. Netbeans IDE, dan sebagainya.
Gambar 1-1 - Flowcode IDE
Dengan adanya konsep IDE ini memungkinkan aktifitas
pengembangan aplikasi lebih mudah dan lebih bersifat drag-drop untuk
pengaturan kebanyakan opsi dan atribut visual.
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-4
Gambar 1-2 - Anjuta IDE – C / C++ Editor
1.3 Rapid Application Development
RAD (Rapid Application Development) atau pengembangan aplikasi
secara cepat, adalah sebuah tipe SDLC (Software Development Liffe Cycle) yang
memungkinkan pengembangan aplikasi dengan menggunakan prototipe. RAD
banyak diusung oleh aplikasi pengembangan visual yang memungkinkan
pengembangan dari mulai perancangan fungsi, implementasi, dan pengujian
secara cepat (rapid). Konsep RAD ini dimungkinkan dengan penggunaan IDE
dalam aplikasi pengembangan visual.
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-5
Gambar 1-3 – Impelementasi KonsepRAD dengan Codegear Delphi
IDE
Politeknik Telkom Pemrograman Visual
Pemrograman Visual 1-6
Rangkuman
1. Aplikasi pengembangan visual merupakan aplikasi pengembangan
yang dibantu dan menitikberatkan penggunaan notasi visual
dibandingkan tekstual.
2. IDE adalah lingkungan pengembangan aplikasi visual yang terpadu dan
terintegrasi.
3. RAD memungkinkan pengembangan dari mulai perangcangan fungsi,
implementasi, dan testing secara cepat (rapid)
Kuis Benar Salah
1. Pemrograman yang menitikberatkan pengembangannya pada alat
bantu tekstual disebut pemrograman visual
2. Rapid Application Development memperlambat pengembangan
aplikasi secara signifikan
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-1
2 PENGENALAN IDE BORLAND DELPHI
Overview
Bab ini memperkenalkan Borland Delphi sebagai alat pengembangan aplikasi
visual termasuk petunjuk instalasi, pengenalan lingkungan dan pengantar
pembuatan aplikasi menggunakan IDE Delphi.
Tujuan
1 Mahasiswa mengenal Borland Delphi sebagai aplikasi pengembangan
visual
2 Mahasiswa mengerti cara instalasi borland delphi
3 Mahasiswa mengenal ligkungan kerja IDE delphi yang terintegrasi
4 Mehasiswa mengerti struktur file Borland Delphi
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-2
Delphi adalah sebuah aplikasi pengembangan visual produksi Borland
dan sekarang telah berganti nama menjadi Codegear Delphi setelah divisi
software Borland di akuisisi oleh Codegear pada pertengahan tahun 2004.
Sebagai aplikasi pengembagan visual, Delphi memakai notasi sintaksis
sekunder berupa Object Pascal, dimana object pascal ini merupakan
pengembangan dari bahasa pemrograman Pascal yang merupakan bahasa
pemrograman yang bersifat prosedural.
Dengan penggunaan pascal sebagai programming language atau notasi
sekunder, membuat Borland Delphi lebih mudah dipelajari untuk programmer
yang telah terbiasa memakai bahasa pascal atau programmer yang awam
sekalipun dengan bantuan dan petunjuk dari fitur help (dokumentasi) nya yang
terintegrasi dan mudah di akses. IDE Delphi pun lebih mudah digunakan dan
memungkinkan adaptasi yang lebih cepat secara visual karena di lengkapi
dengan penggunaan alat bantu visual berupa tombol-tombol dan icon yang
mudah di akses dan di ingat.
Saat ini Borland Delphi telah mengalami beberapa perubahan versi,
yang terakhir adalah Codegear Delphi 2009 yang mendukung teknologi .Net
3.5 dari Microsoft dan komponen-komponen grafis yang mendukung trend
antarmuka pengguna (user interface). Pada courseware ini digunakan Borland
Delphi versi 7 yang cukup lengkap dan masih cukup banyak pemakaiannya di
industri-industri pengembang aplikasi perangkat lunak.
2.1 Instalasi Borland Delphi
Instalasi Borland Delphi 7 cukup mudah dan jelas, dengan panduan
grafis berupa wizard yang memandu pengguna langkah demi langkah. Instalasi
dimulai dengan menu dari Borland yang berisi beberapa opsi yaitu Delphi 7
itu sendiri, lalu Interbase, ModelMaker dan juga InstallShield Express yang
mana merupakan aplikasi untuk membuat sebuah paket instalasi buatan kita
sendiri.
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-3
Gambar 2-1 - Menu Installer Borland
Gambar 2-2 – Welcome Screen
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-4
Gambar 2-3 - Verifikasi Serial Number
Gambar 2-4 - Pilihan Opsi Instalasi
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-5
Gambar 2-5 - Proses Installasi
2.2 Pengenalan IDE Borland Delphi
Borland Delphi merupakan aplikasi pengembangan visual dengan
lingkungan pengembangan yang terintegrasi (IDE – Intergrated Development
Environment). IDE Borland Delphi terdiri dari beberapa bagian sebagai berikut:
2.2.1 Main Menu
Pada main menu terdapat main toolbar, component palette, dan context
menu. Toolbar berfungsi untuk mengatur semua fungsi pengembangan aplikasi.
Component palette berfungsi untuk menyimpan semua komponen-komponen
yang bisa digunakan oleh sebuah program yang sedang dikembangkan.
Gambar 2-6 - Main Menu (Component Palette, Context Menu, Main
Toolbar)
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-6
2.2.2 Code Editor
Code Editor berfungsi untuk menambahkan notasi sintaksis sekunder
berupa teks kode program, pascal. Code Editor ini dilengkapi dengan fitur code
completion yaitu sebuah fitur dimana kita bisa menyisipkan deklarasi kelas,
object, properties, tipe data, dan lain sebagainya dalam bentuk teks.
Gambar 2-7 - Code Editor
2.2.3 Component Palette
Component Palette menampung berbagai macam notasi simbolis
berupa icon-icon yang mewakili fungsi-fungsi tertentu sebuah komponen.
Gambar 2-8 - Main Component Palette
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-7
2.2.4 Form View
Form view merupakan area kerja visual anda. Anda dapat
menambahkan berbagai macam fungsi dengan penambahan komponen-
komponen yang tersedia di component palette seperti label, button, text edit,
memo, dan lain-lain.
Gambar 2-9 - Form View dengan satu komponen button dan satu label
2.2.5 Object Inspector
Setiap komponen yang mempunyai representasi visual seperti button,
label, edit, numedit dan lain-lain memiliki atribut-atribut seperti warna, ukuran,
tipe font dan lain sebagainya yang bisa di ubah sesuai dengan kebutuhan di
Object Inspector.
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-8
Gambar 2-10 - Object Inspector digunakan untuk melakukan perubahan
atribut dari komponen.
2.3 File Project, Unit dan Form Borland Delphi
Dalam sebuah project yang kita buat dalam Borland Delphi, secara
default terdapat file-file yang diciptakan pada saat project tersebut di buat.
2.3.1 Project File
File .dpr adalah file pusat atau utama dari sebuah project Delphi (satu
file .dpr per project). File berekstensi *.dpr ini sebenarnya merupakan file
sumber berisi kode bahasa pascal. File ini berfungsi sebagai pintu masuk untuk
Delphi kedalam sebuah project. Meskipun file .dpr bisa di edit secara manual,
tetapi tidak dianjurkan untuk mengubah isi dari file ini.
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-9
2.3.2 Unit File
File berekstensi .pas ini berisi source code program dalam bahasa
Object Pascal. File source ini merupakan impelementasi fungsi dari event yang
ada di form atau sebuah file source yang digunakan untuk unit lain.
2.3.3 Form File
File berekstensi .frm ini berisi seluruh informasi mengenai form, baik
itu ukuran, caption, warna, event dan bahkan informasi komponen-komponen
child yang berada di dalam form tersebut.
2.4 Event Driven Programming
Event driven programming adalah tipe pemrograman yang hampir
semua prosesnya dimulai/dipicu dari sebuah event yang terjadi di lingkungan
atau siklus aktifnya sebuah aplikasi dalam memori.
2.5 Properties
Setiap komponen di dalam delphi diperlakukan sebagai objek, objek
tentunya memiliki atribut, dan method (metoda2) yang bisa dijalankan pada
dirinya. Setiap atribut yang bisa diubah oleh programmer disebut properties,
contoh properties untuk sebuah form adalah caption (nama di title bar), ukuran
(width x height), anchor (jangkar), cursor, warna latar (color), visibility (tampak
atau tidak), dan lain-lain. Properties ini pun bisa di akses secara tekstual atau
kode dari code editor, tentunya dengan event tertentu.
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-10
Gambar 2-11 - Pengaturan properties sebuah komponen melalui Object
Insector.
2.6 Event
Event adalah sebuah kejadian atau yang lebih tepat adalah sebuah aksi
yang dilakukan ketika aplikasi menemui sebuah kondisi tertentu, misal ketika
sebuah form pertama kali ditampilkan maka sebuah event bernama onCreate
milik form tersebut dieksekusi, nah event onCreate memiliki notasi tekstual
berupa prosedur di code editor nah sebagai contoh jika anda ingin
mengeksekusi sebuah program pada event on create, anda bisa mengaktifkan
nya dengan cara klik ganda di bagian event onCreate yang teradapat di Object
Inspector, dan Delphi akan secara otomatis menyediakan kerangka untuk
prosedur tersebut di dalam unit yang terdapat di code editor.
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-11
Gambar 2-12 - Pembuatan sebuah event dengan mengakses event dalam
object inspector
Gambar 2-13 - Kerangka yang di generate secara otomatis ketika event
oncreate di Object Inspector Form1 di klik-ganda
2.7 Container
Bayangkan sebuah "truk container", isinya bermacam-macam bukan?
Begitu juga analoginya dengan pemrograman visual dengan Delphi. Sebuah
component, bisa menjadi container atau wadah untuk component lainnya.
container yang paling utama di dalam sebuah aplikasi di delphi adalah Form,
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-12
setiap kali anda membuat sebuah program baru di delphi atau ketika anda
membuka delphi untuk pertama kalinya, maka akan dibuatkan sebuah form
dengan nama Form1, nah di dalam container berupa Form1 ini lah anda dapat
memasukkan berbagai macam komponen lainnya yang mana sifat dari
komponen tersebut disebut child (anak) dan Form1 disebut sebagai parent
(orangtua).
Gambar 2.12 – Contoh Implementasi Container dengan satu panel dan
satu button
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-13
Rangkuman
1. Borland Delphi merupakan aplikasi pengembangan software visual
yang memiliki lingkungan IDE yang terintegrasi dan mudah digunakan
2. Event adalah sebuah kejadian atau yang lebih tepat adalah sebuah aksi
yang dilakukan ketika aplikasi menemui sebuah kondisi tertentu
3. Dalam Delphi, Container merupakan komponen yang menjadi parent
atau tempat bagi komponen yang lainnya.
4. Setiap atribut yang bisa dirubah oleh programmer disebut properties
5. File .dpr adalah file utama dari sebuah project Delphi (satu file .dpr
per project). Yang berisi kode pascal.
6. File Unit yang berekstensi .pas ini berisi source ccode program dalam
bahasa Object Pascal. File source ini merupakan impelementasi fungsi
dari event yang ada di form, atau sebuah file source yang digunakan
untuk unit lain.
7. Form File memuat semua atribut baik form itu sendiri maupun
komponen-komponen yang diperlukan dalam sebuah aplikasi
Politeknik Telkom Pemrograman Visual
Pengenalan IDE Borland Delphi 2-14
Kuis Benar Salah
1. Komponen Child adalah komponen yang menjadi tempat untuk
komponen lainnya.
2. Event dalam Delphi hanya bisa digunakan melalui komponen visual
3. IDE Borland Delphi memiliki fitur code completion untuk
mempermudah pengembang aplikasi dalam menuliskan kode
program
Pilihan Ganda
1 Fitur dalam code editor yang menampilkan snippet (contoh kode)
adalah
a. Code master
b. Code syntax
c. Syntax Assistant
d. Code Assist
e. Code Completion
2 Fitur dalam code editor yang menampilkan snippet (contoh kode)
adalah
a. Code master
b. Code syntax
c. Syntax Assistant
d. Code Assist
e. Code Completion
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-1
3 PENGENALAN FORM SDI DAN MDI
Overview
Bab ini akan menjelaskan tentang aplikasi berupa form MDI dan SDI, dan juga
akan dijelaskan cara pembuatan form MDI dan SDI beserta contoh
implementasinya.
Tujuan
1. Mengetahui perbedaan form SDI dan MDI
2. Mengetahui cara pembuatan aplikasi SDI
3. Mengetahui cara pembuatan form MDI
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-2
3.1 MDI dan SDI
MDI merupakan kepanjangan dari Multiple Document Interface. Di
dalam suatu aplikasi MDI terdapat lebih dari satu dokumen atau child window,
dimana child window ini dapat dibuka pada satu form induk (parent window).
Penggunaan MDI banyak terdapat pada aplikasi seperti spreadsheet.
Jadi secara keseluruhan MDI terdiri dari dua bagian yaitu sebuah
form induk atau MDI Container atau MDI Parent dan satu atau lebih form anak
atau disebut sebagai child forms. Child forms dibuka di MDI Container.
Aplikasi yang mengimplementasikan MDI biasanya terdiri dari tiga komponen
dasar yaitu :
1. Satu (dan hanya satu) form MDI Container atau form induk
2. Satu atau lebih form MDI Child
3. Menu utama MDI
Aplikasi MDI biasanya dibuat untuk aplikasi yang menggunakan
banyak file tetapi untuk memberi kemudahan akses, semua file itu ingin
ditampilkan dalam sebuah form.
SDI merupakan kepanjangan dari Single Document Interface. Di dalam
suatu aplikasi SDI hanya terdapat sebuah form untuk sebuah file. Contoh
aplikasi SDI adalah Notepad, dimana jika kita membuka notepad maka akan
muncul sebuah form dan apabila kita akan membuat file notepad baru, maka
akan muncul form yang kedua. Setiap kita membuat file baru maka akan
muncul form (jendela) notepad yang baru.
Contoh aplikasi MDI adalah Microsoft Word, dimana ketika kita
membuka MS Word untuk pertama kalinya, maka akan muncul sebuah form
(jendela) yang terdapat menu-menu dan sebuah form (jendela) tempat kita
menulis. Jika kita ingin membuat file baru maka akan muncul form baru untuk
menulis, tetapi form menu tetap satu. MS Word menggunakan MDI
Application, dimana form yang terdapat menu-menu tersebut merupakan MDI
Container (form induk) sedangkan form tempat kita menulis adalah Form MDI
Child.
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-3
3.2 Struktur Aplikasi MDI
Suatu aplikasi MDI mempunyai suatu struktur, yaitu :
1. Form utama aplikasi asalah sebuah frame atau sebuah container
2. Form khusus yang dinamakan MDI client, meliputi seluruh area client dari
frame yang dilengkapi dengan kemampuan-kemampuan khusus. Misalnya
MDI Client menangani sejumlah form anak.
3. Sejumlah form anak yang tipenya sama atau berbeda. Form anak tersebut
tidak langsung ditempatkan di frame tetapi di definisikan sebagai anak
dari form MDI Client, dimana MDI Client berada di dalam frame.
Untuk menampilkan form anak jumlahnya lebih dari satu, maka
diperlukan struktur penyusunan form, terdapat dua cara penyusunan form
yaitu :
1. Cascade
Form child akan diatur mulai dari ujung kiri atas frame dan bergerak ke
ujung kanan bawah. Jendela akan saling tumpang tindih.
2. Tile
Form child akan diatur seperti susunan ubin, sehingga tidak saling
tumpang tindih. Area Form utama akan dibagi sama rata untuk semua
form child.
3.3 Aplikasi MDI di Delphi
Aplikasi MDI di Delphi dapat dilakukan dengan dua cara, cara yang
pertama adalah dengan membuat beberapa form, sebuah form akan disetting
menjadi form induk (MDI Container) dan form yang lain akan disetting menjadi
form child (MDI Child). Membuat form menjadi MDI Container atau MDI Child
dapat dilakukan dari properties FormStyle pada komponen Form, pada properties
ini akan terdapat pilihan fsMDIForm untuk membuat form menjadi MDI
Container dan fsMDIChild untuk membuat form menjadi MDI Child.
Sedangkan cara yang kedua, kita dapat menggunakan aplikasi MDI
dengan menggunakan wizard yang terdapat pada File > New > Other
kemudian pilih tab Projects dan pilih MDI Application.
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-4
Pada studi kasus pada bab ini akan dicontohkan penggunaan cara yang
pertama.
3.4 Implementasi aplikasi MDI
Untuk membuat aplikasi MDI lakukan langkah-langkah berikut :
1. Siapkan sebuah folder untuk menyimpan aplikasi dengan nama
ProjectMDI1
2. Membuat Form Parent atau MDI Container
a. Buat aplikasi baru dengan memilih menu File > New >
Application, sehingga akan muncul Form1
b. Ubah properties Form1 sebagai berikut :
Tabel 3-1 Properties Form1
Komponen Properties Nilai Properties
Form Name FormMain
Caption Form Utama
FormStyle fsMDIForm
Align alCustom
BorderStyle bsSizeToolWindow
Height 500
Width 600
Position poDesktopCenter
c. Simpan file unit dengan nama UnitMain.pas dan file project
dengan nama PrjMDIApplication.dpr
FormStyle fsMDIForm merupakan setting untuk form yang akan berperan
sebagai MDI Parent atau MDI Container, dan hanya sebuah form yang
mempunyai style fsMDIForm.
3. MDI Parent biasanya berisi menu-menu untuk memproses MDI Child.
Masukkan komponen berikut ke dalam FormMain
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-5
Gambar 3-1 - Tampilan Form Utama
Tabel 3-2 Komponen pada FormMain
Komponen Properties Nilai Properties
MainMenu Name MainMenu1
Label1 Caption SISTEM INFORMASI
Label2 Caption RENTAL VCD
MERIAH
Untuk memasukkan komponen MainMenu, klik tanda pada tool pallete
Standard. Kemudian klik pada komponen MainMenu1, klik tanda pada
properties Items sehingga akan keluar dialog seperti berikut :
Gambar 3-2 - Dialog MainMenu
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-6
Klik pada bagian yg berwarna kuning, kemudian ubah isi properties
Caption menjadi Persewaan. Klik menu Persewaan sehingga akan
muncul submenu dan seterusnya. Untuk selengkapnya struktur menu
dapat dilihat dalam tabel berikut :
Tabel 3-3 Struktur Menu
Menu Submenu
Persewaan Data Sewa
Data Anggota
Data VCD
Search
Laporan Sewa
Anggota
VCD
Help About
Exit
Maka hasilnya akan seperti gambar berikut ini
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-7
Gambar 3-3 - Menu dan Submenu
Tutup dialog Main Menu dan di dalam Form Main akan muncul Menu
seperti gambar berikut :
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-8
Gambar 3-4 - Form Utama dengan Menu
4. Membuat MDI Children
Setiap MDI Container mempunyai paling tidak sebuah MDI Child. MDI
Child hanya boleh tampil di dalam form MDI Container, dan jika di
minimize maka icon MDI Child berada di dalam MDI Mother. Untuk
membuat MDI Child adalah :
a. Pilih menu File > New > Form, maka akan muncul Form1
b. Ubah properties Form1 sebagai berikut
Tabel 3-4 Pengubahan Properties Form1
Komponen Properties Nilai Properties
Form Name FormAnggota
Caption Data Anggota
FormStyle fsMDIChild
Align alCustom
BorderStyle bsSizeable
Height 440
Width 580
Position poMainFormCenter
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-9
c. Simpan file unit dengan nama UnitAnggota.pas di dalam folder yang
sama dengan file UnitMain.pas dan PrjMDIApplication.dpr.
FormStyle fsMDIChild merupakan setting untuk form yang akan
berperan sebagai MDI Child, dan dapat terdiri dari satu atau lebih
form.
5. Secara default FormAnggota akan langsung ditampilkan di Form Utama
setelah di-Create ketika program dijalankan, seharusnya form ini akan
tampil hanya ketika dipilih menu Persewaan > Data Anggota, oleh
karena itu FormAnggota harus masuk ke Available Form. Cara membuat
suatu form menjadi Available form adalah dengan memilih menu
Project > Option sehingga akan muncul dialog sebagai berikut :
Gambar 3-5 - Project Option
Pilih FormAnggota pada Auto-create Forms kemudian klik tanda
sehingga FormAnggota akan masuk ke Available Forms.
6. Simpan perubahan dengan memilih menu File > Save All
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-10
7. Hubungkan FormMain dengan FormAnggota. Pindah ke FormMain
kemudian pilih menu File > Use Unit, pilih UnitAnggota.
8. Ketika form menjadi Available form maka untuk menampilkannya form
tersebut harus di-Create terlebih dahulu, yaitu dengan cara : Pindah ke
FormMain, klik pada menu Persewaan > Data Anggota yang
terdapat di dalam FormMain, sehingga akan muncul procedure
TFormMain.DataAnggota.Click. Lengkapilah kode didalamnya
sebagai berikut :
procedure TFormMain.DataAnggotaClick(Sender: TObject);
begin
Application.CreateForm(TFormAnggota,FormAnggota);
end;
Kode diatas menyebabkan form Anggota hanya muncul ketika user
memilih menu Persewaan > Data Anggota
9. Jika Form Anggota ditutup maka form tersebut tidak tertutup tetapi
menjadi minimize dan akan tampil di bagian bawah Form Parent. Hal ini
terjadi karena aksi default yang ditimbulkan ketika form Child di close
adalah menyembunyikan (hide). Untuk menutup form MDI harus
dilakukan membebaskan dan melepaskan memori yang berkaitan dengan
form tersebut. Caranya adalah : Pindah ke Form Anggota, klik bagian
kosong pada form Anggota, kemudian pilih event OnClose sehingga
akan muncul prosedur TFormAnggota.FormClose, lengkapi kode
didalamnya sebagai berikut :
procedure TFormAnggota.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
10. Buatlah form baru dengan memilih menu File > New > Form,
kemudian lakukan langkah 3 – 8 untuk Menu yang lain. Dengan
penamaan Form dan file sebagai berikut :
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-11
Tabel 3-5 Penamaan Form dan File baru
Komponen Properties Nilai Properties
Form1 (Menu Data Sewa) Name FormSewa
Save : UnitSewa.pas Caption Data Sewa
Form2(Menu Data VCD) Name FormVCD
Save : UnitVCD.pas Caption Data VCD
Form3 (Menu Search) Name FormSearch
Save : UnitSearch.pas Caption Search Data
Form4 (Menu Laporan Sewa) Name FormLapSewa
Save : UnitLapSewa.pas Caption Laporan Sewa
Form5 (Menu Laporan
Anggota)
Name FormLapAnggota
Save : UnitLapAnggota.pas Caption Laporan Anggota
Form6 (Menu Laporan VCD) Name FormLapVCD
Save : UnitLapVCD.pas Caption Laporan VCD
Form7 (Menu About) Name FormAbout
Save : UnitAbout.pas Caption Laporan About
11. Hasil running adalah sebagai berikut :
Gambar 3-6 - Running Program
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-12
Rangkuman
1. MDI merupakan kepanjangan dari Multiple Document Interface
2. MDI Application terdiri dari dua bagian yaitu sebuah form induk
atau MDI Parent dan satu atau lebih form anak atau disebut
sebagai child forms.
3. SDI merupakan kepanjangan dari Single Document Interface.
4. Di dalam suatu aplikasi SDI hanya terdapat sebuah form untuk
sebuah file.
5. Membuat form menjadi MDI Container atau MDI Child dapat
dilakukan dari properties FormStyle pada komponen Form.
6. Nilai propertis FormStyle fsMDIForm digunakan untuk membuat
form menjadi MDI Container dan fsMDIChild untuk membuat form
menjadi MDI Child.
7. Penutupan (close) form MDI dilakukan dengan membebaskan dan
melepaskan memory yang berkaitan dengan form tersebut
Kuis Benar Salah
1. Aplikasi MDI dipergunakan untuk menampilkan banyak file dalam
satu form
2. Pada Aplikasi MDI jumlah form child tidak boleh lebih dari satu form
3. Pada Aplikasi SDI jumlah form child harus lebih dari satu form
4. Jumlah MDI Container pada suatu aplikasi MDI hanya satu sedangkan
jumlah MDI Parent boleh lebih dari satu.
5. Untuk membuat suatu form menjadi MDI Parent, maka nilai pada
properties FormStyle diubah menjadi fsMDIForm
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-13
Latihan
Setelah mengerjakan file MDI di bab ini, lengkapi program anda sesuai dengan
menu yang telah dibuat. Implementasikan hal-hal yang sudah anda pelajari di
bab sebelumnya. Spesifikasi dari program Persewaan VCD adalah sebagai
berikut :
1. Menu Persewaan
a. Menu Persewaan > Anggota akan menampilkan form untuk
memanipulasi Data Anggota yaitu Insert, Update, dan Delete data
Anggota
b. Menu Persewaan > Sewa akan menampilkan form untuk
memanipulasi Data Sewa yaitu Insert, Update, dan Delete data
Sewa
c. Menu Persewaan > VCD akan menampilkan form
2. Menu Search
a. Menu Search akan menampilkan sebuah form untuk searching. Di
dalam form ini digunakan untuk searching ke tiga table yaitu Table
Anggota, Table Sewa, dan Table VCD. Untuk setiap pilihan Table
sediakan pilihan pencarian dengan nilai tertentu. Misal dipilih
searching Data Anggota dengan kata kunci pencarian pada Nama
Anggota.
3. Menu Laporan
a. Menu Laporan > Sewa akan menampilkan form Laporan untuk data
sewa
b. Menu Laporan > Anggota akan menampilkan form Laporan untuk
data anggota
c. Menu Laporan > VCD akan menampilkan form Laporan untuk data
VCD
Politeknik Telkom Pemrograman Visual
Pengenalan Form SDI dan MDI 3-14
4. Menu Help
a. Menu Help akan menampilkan sebuah form yang berisi tentang
pembuat program
5. Menu Exit
a. Menu Exit akan membuat program tertutup
Untuk referensi tampilan dan fungsi, silahkan melihat file Persewaan.exe yang
diberikan.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-1
4 TIPE DATA, STRUKTUR PROGRAM,
FUNGSI DAN PROSEDUR
Overview
Bab ini akan menjelaskan tentang tipe data yang disediakan oleh Delphi. Juga
akan dijelaskan tentang struktur program dalam Delphi, Fungsi dan
Prosedur. Di dalam bab ini akan diberikan implementasi dari penggunaan
tipe data, struktur program dan fungsi built in dengan membuat aplikasi Stop
Watch. Juga mengajarkan pengolahan string mengunakan Delphi dan
pemakaian komponen Dialog untuk mengimplementasikan pemrosesan File
dan stream text menggunakan Delphi.
Tujuan
1 Mengetahui tipe data di Delphi
2 Mengetahui struktur program yang didukung oleh Delphi
3 Mengetahui cara pendeklarasian struktur perulangan dan pencabangan
4 Mengetahui tujuan penggunaan fungsi dan prosedur
5 Mengetahui beberapa fungsi built in dan tujuan penggunaannya
6 Mengetahui cara penggunaan tipe data, struktur pencabangan dan fungsi
built ini dengan studi kasus aplikasi Stop Watch
7 Mengerti pemakaian berbagai macam komponen dialog
8 Mengerti pemrosesan File IO menggunakan File Dialog Delphi
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-2
4.1 Tipe Data
Delphi menyediakan tipe data yang cukup banyak sehingga akan
memberi keleluasaan pada pemrogram dalam membuat program sesuai
permintaan. Penggunaan tipe data seharusnya disesuaikan dengan kebutuhan
dan dibisaakan untuk menggunakan tipe data yang tepat sesuai dengan
program sehingga tidak muncul permasalahan memori.
Tipe data yang disediakan oleh Delphi adalah :
4.1.1 Integer
Digunakan untuk menyatakan bilangan yang tidak mempunyai angka
desimal.
Tabel 4-1 Tipe Data Integer
Tipe Rentang Nilai Byte
Byte 0…255 1
Word 0…65535 2
Longword 0…4294967295 4
ShortInt -128…127 1
LongInt -2147483648…2147483647 4
Integer -2147483648…2147483647 4
Cardinal 0…4294967295 4
Int64 -226…263-1 8
4.1.2 Real
Digunakan untuk menyatakan bilangan yang mempunyai angka desimal.
Tabel 4-2 Tipe Data Real
Tipe Rentang Nilai Byte
Real48 … 6
Single …
4
Double … 8
Real … 8
Extended … 10
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-3
Comp … 8
Currency …
8
4.1.3 Boolean
Digunakan untuk menyatakan data logika, yaitu True (benar) dan False
(salah).
Tabel 4-3 Tipe Data Boolean
Tipe Byte
Boolean 1
ByteBool 1
WorldBool 2
LongBool 4
4.1.4 Character
Digunakan untuk menyatakan data berupa sebuah karakter.
Tabel 4-4 Tipe Data Character
Tipe Isi Byte
Char 1 karakter ANSI 1
AnsiChar 1 karakter ANSI 1
WideChar 1 karakter Unicode 2
4.1.5 String
Digunakan untuk menyatakan sederetan karakter yang membentuk
satu kesatuan. Tipe string ini dapat digunakan untuk menyimpan karakter
kosong dan juga sebuah karakter.
Tabel 4-5 Tipe Data String
Tipe Byte Isi Maksimum
ShortString 2 sampai dengan 256 256 karakter
AnsiString 4 sampai dengan 2 GB 231 karakter
WideString 4 sampai dengan 2 GB 230 karakter
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-4
4.1.6 Array
Digunakan untuk menyatakan sebuah variabel tunggal yang dapat
menyimpan sekumpulan data yang sejenis. Pendeklarasian array pada Delphi :
Nilai : array [1..10] of integer;
Pendeklarasian diatas akan membuat sebuah variabel bernama Nilai
yang dapat digunakan untuk menyimpan 10 data bertipe integer. Sedangkan
untuk pemberian nilai pada array Nilai harus diikuti dengan nomor elemen
yang akan diakses.
Nilai[1] := 80;
4.1.7 Record
Digunakan untuk menyimpan sekumpulan data yang mungkin
berbeda tipe tetapi saling berhubungan. Misal tipe data record untuk
menyimpan data pribadi mahasiswa yang berisi Nama, Nim, dan Umur. Cara
pendeklarasian tipe data record adalah sebagai berikut :
type
RecMhs = record
NIM : AnsiString[10];
Nama : AnsiString[30];
Umur : integer;
end;
var
Mahasiswa : RecMhs;
4.2 Tipe Terenumerasi dan Subrange
Tipe data terenumerasi dan subrange digunakan untuk menyatakan
data berurutan yang mempunyai tipe data yang sama.
Contoh deklarasi tipe terenumerasi :
type
warna = (Merah, Biru, Hijau, Kuning, Orange, Hitam, Putih);
var
WarnaCrayon : warna;
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-5
Contoh deklarasi tipe subrange
Type
Huruf = „A‟ .. „Z‟;
Angka = 1 .. 100;
var
Nilai : Angka;
HurufBesar : Huruf;
4.2.1 Ordinal
Tipe data ini terdiri dari tipe integer, character, Boolean,
enumerated, dan subrange. Data bertipe ordinal dioperasikan dengan
beberapa fungsi yang dirancang pada tipe ordinal. Misal argumen n adalah
suatu bilangan integer.
Tabel 4-6 Tipe Data Ordinal
Function Hasil Keterangan
Ord(n) n Misal n=3, hasil = 3
Pred(n) n-1 Misal n=3, hasil = 2
Succ(n) n+1 Misal n=3, hasil = 4
High(n) Nilai tertinggi tipe data n Misal n adalah integer,
maka hasil = 2147483647
Low(n) Nilai terendah tipe data n Misal n adalah integer,
maka hasil = -2147483648
4.3 Konstanta
Konstanta merupakan suatu nilai yang bersifat tetap dan digunakan
untuk mendeklarasikan suatu ketetapan. Konstanta tidak dapat diubah nilainya
di dalam program, jika ingin mengubah nilainya maka harus melalui
pendeklarasiannya.
const
phi = 3.14;
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-6
4.4 Variabel
Variabel merupakan suatu tempat penyimpanan yang dialokasikan ke
dalam memori, variabel diberi nama untuk pengenal dan digunakan untuk
menyimpan sebuah data dengan nilai tertentu. Setiap variabel pasti
mempunyai nama, penulisan nama variabel pada Delphi tidak memperhatikan
besar kecilnya huruf. Aturan penulisan nama variabel :
1. Dimulai dengan karakter Alphabet
2. Harus unik pada lingkungan variabel yang sama
4.4.1 Variabel Global
Variabel global adalah variabel yang mempunyai ruang lingkup luas
yaitu variabel yang dideklarasikan di dalam ruang lingkup unit atau program.
4.4.2 Variabel Lokal
Variabel Lokal adalah variabel yang mempunyai ruang lingkup kecil
yaitu variabel yang di deklarasikan di dalam ruang lingkup function atau
procedure.
4.5 Operator
Operator digunakan untuk memanipulasi dan mengolah data. Delphi
menyediakan bermacam-macam operator.
4.5.1 Operator Penugasan
Berfungsi untuk memasukkan suatu data ke dalam suatu variabel.
<nama_variabel> := <nilai>
Judul := „Pemrograman Visual‟;
Nilai1 := 50;
4.5.2 Operator Aritmatika
Digunakan untuk melakukan operasi Aritmatika.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-7
Tabel 4-7 Operator Aritmatika
Operator Operasi
* Perkalian
/ Pembagian
Div Pembagian bulat
Mod Sisa pembagian
+ Penambahan
- Pengurangan
4.5.3 Operator Relasi
Digunakan untuk membandingkan suatu nilai dengan nilai yang lain.
Hasil dari penggunaan operator ini berupa Boolean TRUE atau FALSE.
Tabel 4-8 Operator Relasi
Operator Keterangan
= Sama dengan
<> Tidak sama dengan
< Lebih Kecil
> Lebih besar
<= Lebih kecil sama dengan
>= Lebih besar sama dengan
4.5.4 Operator Logika
Digunakan untuk mengekspresikan satu atau lebih data dan
menghasilkan data Boolean yang baru.
Tabel 4-9 Operator Logika
Operator Keterangan
Not Tidak
And Dan
Or Atau
Xor Exclusive Or
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-8
4.6 Kontrol Program
Kontrol program digunakan untuk mengatur jalannya program.
Dengan adanya kontrol program maka dapat diatur apakah suatu pernyataan
perlu dijalankan atau tidak. Jenis kontrol program yang disediakan oleh Delphi
adalah :
4.6.1 Pencabangan
4.6.1.1 If … then … else
If <kondisi> then <pernyataan 1> else <pernyataan 2>
If pertama akan menguji kondisi jika bernilai true maka akan
menjalankan pernyataan 1, jika bernilai false maka akan menjalankan
pernyataan 2. Selain bentuk if then else, juga terdapat bentuk nested if jika
kondisi yang akan diuji lebih dari satu.
4.6.1.2 Case … of
Digunakan untuk mencabangkan ke pilihan tertentu berdasar
pengujian suatu nilai. Pencabangan case ..of digunakan sebagai alternatif jika
pencabangan cukup banyak.
Case <ekspresi pilihan> of
<daftar 1> : <pernyataan 1>
<daftar 2> : <pernyataan 2>
. . .
<daftar n> : <pernyataan n>
end;
4.6.1.3 Go To
Pernyataan GoTo dipakai untuk melakukan pencabangan tak
bersyarat ke suatu label. Label dapat dibuat dengan kata kunci label dan
diikuti nama labelnya. Contoh :
Begin
Label Awal;
A:=A*2;
If (A<100) then Goto Awal;
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-9
4.6.2 Perulangan
4.6.2.1 For
Digunakan untuk melakukan pengulangan (iterasi) satu blok
pernyataan selama beberapa kali yang ditentukan nilai awal dan nilai akhir.
Terdapat dua bentuk yaitu For ..To..dan For ..DownTo
For <pencacah> :=<awal> to <akhir> do <pernyataan>, awal <=akhir
Atau
For <pencacah>:=<awal> downto <akhir> do <pernyataan>, awal>=akhir
4.6.2.2 While Do
Digunakan untuk melakukan pengulangan satu blok pernyataan
selama suatu kondisi bernilai True. Perulangan akan berhenti jika kondisi
bernilai False.
While <kondisi> do <pernyataan>
4.6.2.3 Repeat Until
Pengulangan ini hampir sama dengan While…do. Perulangan Repeat
Until melakukan pengecekan kondisi pada bagian setelah pernyataan, sehingga
pernyataan akan dijalankan minimal satu kali.
Repeat
<pernyataan 1>;
<pernyataan 2>;
…
<pernyataan n>;
until<kondisi>;
4.7 Function dan Procedure
Function (fungsi) dan Procedure (prosedur) merupakan suatu susunan
kode yang biasanya digunakan sebagai alat untuk melakukan tugas tertentu
atau mendapatkan nilai tertentu. Pembuatan function dan procedure sama
halnya seperti pembuatan function dan procedure di dalam Pascal.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-10
Ketika membuat program di Delphi, jika ingin melakukan suatu event pada
komponen maka akan secara otomatis terbuat deklarasi procedure yang
berkaitan dengan event tersebut, pemrogram dapat mendefinisikan isi dari
procedure tersebut.
Delphi juga menyediakan function dan procedure built in, artinya bisa
langsung digunakan.
4.8 Studi Kasus
4.8.1 Apikasi Stopwatch
Pada latihan kali ini akan digunakan komponen Timer, Edit, Label,
dan Button.
Studi kasus kali ini akan mempelajari cara pembuatan suatu aplikasi
stop watch, dengan tampilan seperti gambar di bawah :
Gambar 4-1 - Gambar Tampilan Stop Watch
Langkah-langkah untuk membuat aplikasi tersebut adalah sebagai berikut :
1. Buat aplikasi baru File > New Application.
2. Pilih object Form1, kemudian ubah properties Caption menjadi
Stop Watch.
3. Masukkan 3 TLabel ke Form1 yaitu Label1, Label2, Label3.
Atur tata letaknya. Ubah properties Caption pada Label1 menjadi
Mulai, Label2 menjadi Selesai, dan Label3 menjadi Lama.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-11
4. Masukkan 3 objek TEdit ke Form1 yaitu Edit1, Edit2, Edit3.
Atur tata letaknya sehingga Edit1 di samping label Mulai, Edit2
disamping label Selesai dan Edit3 disamping label Lama. Kosongkan
properties Text nya.
5. Masukkan 1 object TButton ke Form1, kemudian udabh
properties Caption menjadi Start. Dan atur tata letaknya seperti
gambar diatas.
6. Untuk memasukkan object Timer, klik kategori System pada tool
palette.
Gambar 4-2 - System Tab – Component Palette
Pilih TTimer kemudian masukkan ke Form1, TTimer boleh
diletakkan dimana saja dalam Form1, karena TTimer tidak akan
tampil pada saat aplikasi dijalankan.
7. Tampilkan source editor unit1 untuk menuliskan kode program.
8. Pada deklarasi variabel ketikkan kode sebagai berikut :
var
Form1: TForm1;
awal, akhir : TDateTime;
lama : real;
9. Pindah ke form kemudian klik ganda di daerah manapun pada form
atau dengan memilih Form1 kemudian pada Object Inspector Event
pilih OnCreate, maka akan muncul sebuah prosedur
TForm1.FormCreate, kemudian lengkapi prosedur tersebut
seperti di bawah :
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-12
proedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=1;
end;
10. Pindah ke form kemudian klik ganda pada object Timer1 maka akan
muncul procedure TForm1.Timer1Timer kemudian lengkapilah
program di dalamnya seperti berikut :
procedure TForm1.Timer1Timer(Sender: TObject);
var
Slama : string;
begin
if Button1.Caption='Stop' then
begin
akhir := Time;
Edit2.Text:=TimeToStr(akhir);
lama := (akhir-awal)*100000;
Str(lama:12:2,Slama);
Edit3.Text:=Slama;
end
end;
11. Pindah ke form kemudian klik ganda pada object Button1 maka akan
muncul procedure TForm1.Button1Click kemudian lengkapilah
program di dalamnya seperti berikut :
procedure TForm1.Button1Click(Sender: TObject);
begin
if Button1.Caption='Start' then
begin
awal := Time;
Edit1.Text:=TimeToStr(Time);
Button1.Caption:='Stop';
end
else
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-13
if Button1.Caption='Stop' then
begin
Button1.Caption:='Selesai'
end
else
Application.Terminate;
end;
12. Simpan program dengan Save All. Beri nama file untuk untuk .pas file
dengan UStopWatch.pas, dan utnuk .prj file dengan
PrjStopWatch.prj
13. Jalankan program dengan klik icon Run
4.8.1.1 CARA KERJA APLIKASI STOP WATCH
Sistem kerja stop watch menggunakan timer untuk mengambil waktu
atau jam pada komputer. Ketika program dijalankan pada akan tampil sebuah
form yang masih kosong pada bagian object Edit, pada waktu ini procedure
TForm1.FormCreate sudah dijalankan yaitu memberikan interval Timer
menjadi 1 milidetik.
Ketika user klik tombol Start maka procedure TForm1.Button1Click
akan dijalankan, procedure ini akan melakukan pengambilan waktu mulai
kemudian ditampilkan pada Edit1 dan tombol start akan diubah caption nya
menjadi stop.
Selama user belum mengklik tombol stop, maka caption pada
Button1 akan menjadi Stop sehingga procedure TForm1.Timer1Timer
dijalankan, sebenarnya procedure ini sudah berjalan ketika program di run,
tetapi terdapat pengkondisian didalamnya dimana kode hanya akan dijalankan
ketika caption pada Button1 adalah Stop. Karena procedure
TForm.Timer1Timer sudah menemui kondisi yang benar maka pada Edit2
akan ditampilkan waktu yang terus bergerak dan pada Edit3 akan ditampilkan
lama penggunaan stop watch.
Jika user klik tombol Stop maka caption pada Button1 akan berubah
menjadi Selesai, karena Caption pada Button1 sudah tidak Stop lagi maka
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-14
procedure TForm1.Timer1Timer tidak menemukan kondisi benar, maka
tidak dilakukan penampilan nilai timer ke Edit2, sehingga seakan-akan
perhitungan waktu telah berhenti.
Jika user klik tombol Selesai maka program akan di terminasi.
4.8.2 Aplikasi Notepad
Untuk dapat lebih memahami penggunaan delphi IDE dan
hubungannya dengan penjelasan fungsi dan prosedur di atas maka dalam studi
kasus yang kedua ini kita akan membuat sebuah aplikasi notepad. Aplikasi
notepad yang dibuat memiliki fungsi sedekat mungkin dengan notepad bawaan
Windows dimana aplikasi tersebut memiliki fitur-fitur diantaranya:
Dapat mengubah type font dari text yang diketikkan
Dapat membuka file text menggunakan open file dialog
Dapat melakukan pencetakan
Dapat melakukan manipulasi text cut, copy, paste dan select all
Dapat melakukan saving (penyimpanan) file yang di edit
Adapun komponen-komponen yang digunakan diantaranya:
Komponen dialog control: Open File Dialog, Save Dialog, Font
Dialog.
Main Menu
Status Bar
Memo
Komponen dialog adalah sebuah komponen yang digunakan dimiliki
Delphi untuk mempermudah pemrogram membangun aplikasi yang
membutuhkan inputan paramater dari user.
Buatlah tampilan seperti berikut, dengan menggunakan beberapa
komponen yang telah disebutkan di atas :
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-15
Gambar 4-3 - Delphi Notepad
Adapun properties dan event yang harus di buat untuk masing-
masing komponen adalah sebagai berikut:
PrintDialog
Name PrintDialog1
OpenFileDialog
Name OpenDialog1
DefaultExt *.txt
Filter Text Files|*.txt|All Files|*.*
InitialDir C:\MyDocuments
Title Open File...
FontDialog
Name FontDialog1
SaveDialog
Name SaveDialog1
InitialDir C:\
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-16
Filter Text Files|*.txt|All Files|*.*
DefaultExt *.txt
ofOverwritePrompt True
Memo
Name Memo1
Scrollbars ssBoth
Align alClient
WordWrap True
StatusBar
Name StatusBar1
SimplePanel True
SimpleText Ready
MainMenu
Name MainMenu1
Tabel 4-10 Struktur Main Menu
Menu Sub
Menu Properties
Nama Procedure
(Event on Click)
File
New Enabled: True
Name: FileNew
FileNewClick
Open Enabled: True
Name: FileOpen
FileOpenClick
Save Enabled: True
Name: FileSave
FileSaveClick
SaveAs Enabled: True
Name:
FileSaveAs
FileSaveAsClick
Print Enabled: True
Name: FilePrint
FilePrintClick
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-17
Edit
Undo Enabled: False
Name: Undo
UndoClick
Cut Enabled: False
Name: Cut
CutClick
Copy Enabled: False
Name: Copy
CopyClick
Paste Enabled: True
Name: Paste
PasteClick
Select
All
Enabled: True
Name: SelectAll
SelectAllClick
Format
Word
Wrap
Enabled: True
Name:
WordWrap
WordWrapClick
Font Enabled: True
Name: Font
FontClick
Untuk setiap menu yang ada berikan masing-masing kode seperti
tabel berikut :
Tabel 4-11 Kode Program untuk setiap Menu
Nama Procedure (Event on Click) Fungsi
Sintaks Program
FileNewClick Membuat file baru
procedure TForm1.FileNewClick(Sender: TObject);
begin
if not (Memo1.Modified) then
begin
Memo1.Clear;
Form1.Caption := 'UnNamed - Delphi Notepad';
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-18
OpenDialog1.FileName := '';
SaveDialog1.FileName := '';
end
else if (Memo1.Modified) then
begin
ModalResult := MessageDlg('Save Changes?', mtConfirmation,
[mbYes, mbNo,
mbCancel], 0);
if (ModalResult = mrYes) and (SaveChanges) then
begin
Memo1.Clear;
Form1.Caption := 'UnNamed - Delphi Notepad';
Memo1.Modified := False;
OpenDialog1.FileName := '';
SaveDialog1.FileName := '';
end
else if ModalResult = mrNo then
begin
Memo1.Clear;
Form1.Caption := 'UnNamed - Delphi Notepad';
OpenDialog1.FileName := '';
SaveDialog1.FileName := '';
Memo1.Modified := False;
end;
end;
end;
FileOpenClick Membuka File
procedure TForm1.FileOpenClick(Sender: TObject);
begin
//jika tidak ada modifikasi pada Memo1 maka paggil prosedur
OpenTheFile
if not (Memo1.Modified) then
//untuk bisa melihat detil dari sebuah prosedur maka klik kanan
pada nama prosedur tersebut
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-19
OpenTheFile
else if (Memo1.Modified) then
begin
//untuk mendapatkan nilai button yang di pilih maka bisa di
tampung di variable ModalResult
ModalResult := MessageDlg('Save Changes?', mtConfirmation,
[mbYes, mbNo, mbCancel], 0);
if ((ModalResult = mrYes) and (SaveChanges)) or (ModalResult =
mrNo) then
begin
OpenTheFile;
Memo1.Modified := False;
end;
end;
end;
procedure TForm1.FileSaveClick(Sender: TObject);
begin
if SaveChanges then
Memo1.Modified := False;
end;
FileSaveClick Menyimpan File
procedure TForm1.FileSaveClick(Sender: TObject);
begin
if SaveChanges then
Memo1.Modified := False;
end;
FileSaveAsClick Menyimpan File denga nama lain
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
Form1.Caption := SaveDialog1.FileName + ' - Delphi Notepad';
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-20
Memo1.Clear;
Memo1.Lines.LoadFromFile(SaveDialog1.FileName);
end;
end;
FilePrintClick Mencetak Halaman
procedure TForm1.FilePrintClick(Sender: TObject);
begin
if PrintDialog1.Execute then
else
PrinterSetupDialog1.Execute;
end;
UndoClick Mengembalikan kondisi
procedure TForm1.UndoClick(Sender: TObject);
begin
if (Memo1.Modified) and (Memo1.CanUndo) then
Memo1.Undo;
end;
CutClick Memotong text dan menyimpannya di
memory
procedure TForm1.CutClick(Sender: TObject);
begin
Memo1.CutToClipboard;
end;
CopyClick Menduplikasi text dan menyimpannya
di memory
procedure TForm1.CopyClick(Sender: TObject);
begin
Memo1.CopyToClipboard;
end;
PasteClick Menyalin text hasil cut/copy pada posisi
cursor yang diinginkan
procedure TForm1.PasteClick(Sender: TObject);
begin
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-21
Memo1.PasteFromClipboard;
end;
SelectAllClick Memilih semua text yang ada di lembar
kerja
procedure TForm1.SelectAllClick(Sender: TObject);
begin
Memo1.SelectAll;
end;
WordWrapClick Mengatur agar semua text berada di
dalam batas kiri-dan kanan dari sebuah
memo edit
procedure TForm1.WordWrapClick(Sender: TObject);
begin
if WordWrap.Checked then
begin
Memo1.WordWrap := True;
Memo1.ScrollBars := ssVertical;
end
else
begin
Memo1.WordWrap := False;
Memo1.ScrollBars := ssBoth;
end;
end;
FontClick Membuka kotak dialog untuk pengaturan
font text yang sedang di edit
procedure TForm1.FontClick(Sender: TObject);
begin
if FontDialog1.Execute then
begin
Memo1.Font := FontDialog1.Font;
Memo1.Font.Color := FontDialog1.Font.Color;
end;
end;
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-22
Rangkuman
1. Delphi menyediakan cukup banyak tipe data yaitu : Tipe integer, real,
boolean, character, string, array, record, terenumerasi, subrange dan
ordinal.
2. Variabel merupakan tempat penyimpanan yang digunakan untuk
menyimpan sebuah data dengan nilai tertentu.
3. Konstanta digunakan untuk menyimpan suatu nilai yang bersifat
tetap, nilai tersebut tidak dapat diubah di dalam program.
4. Operator digunakan untuk memanipulasi dan mengolah data.
Operator yang disediakan Delphi antara lain adalah operator
penugasan, aritmetika, relasi dan logika.
5. Struktur pencabangan dapat menggunakan struktur If…then…else
atau case…of
6. Struktur perulangan dapat menggunakan struktur for .. do, while …
do, atau repeat … until.
7. Function (fungsi) dan Procedure (prosedur) merupakan suatu
susunan kode yang bisaanya digunakan sebagai alat untuk melakukan
tugas tertentu atau mendapatkan nilai tertentu.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-23
Kuis Benar Salah
1 Pada aplikasi Stop Watch, procedure TForm1.Timer1Timer
dijalankan ketika button1 di klik
2 Konstanta merupakan suatu penyimpanan yang digunakan untuk
menyimpan nilai yang bersifat tetap dan dapat diubah di dalam
program
3 Fungsi StrToDate digunakan untuk mendapatkan nilai berupa data
bertipe TDateTime dari suatu data string dan untuk mendapatkan
nilai bertope String dari data bertipe TDateTime maka digunakan
fungsi DateToStr
4 Variabel global adalah variabel yang mempunyai ruang lingkup luas
yaitu variabel yang dideklarasikan di dalam ruang lingkup unit atau
program
5 Digunakan untuk menyatakan sebuah variabel tunggal yang dapat
menyimpan sekumpulan data yang berbeda.
Politeknik Telkom Pemrograman Visual
Tipe Data Struktur Program Fungsi dan Prosedur 4-24
Pilihan Ganda
1 Di bawah ini yang bukan merupakan tipe data integer adalah
a. Longword
b. Cardinal
c. Extended
d. Int64
2 Perhatikan syntax berikut
if Button1.Caption='Stop' then
Sintaks diatas menggunakan operator
a. penugasan
b. aritmetika
c. logika
d. relasi
3 Manakah struktur pencabangan berikut yang merupakan struktur
pencabangan tak bersyarat
a. If .. else
b. Go to
c. Case of
d. If .. then … else
4 Fungsi built in yang digunakan untuk mendapatkan nilai berupa data
bertipe extended dari suatu string
a. StrToInt
b. StrToFloat
c. IntToStr
d. FloatToStr
5 Procedure yang dijalankan ketika program mulai dijalankan adalah
a. TForm1.Button1Click
b. TForm.Timer1Timer
c. TForm1.Edit1Click
d. TForm1.FormActivate
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-1
5 KONVERSI TIPE DATA
Overview
Bab ini akan menjelaskan macam-macam konversi tipe data yang didukung
oleh Delphi. Dengan studi kasus currency converter (Konversi mata uang).
Juga mengajarkan pengolahan string mengunakan Delphi dan pemakaian
komponen Dialog untuk mengimplementasikan pemrosesan File dan stream
text menggunakan Delphi.
Tujuan
1 Mahasiswa mengerti berbagai macam konversi tipe data
2 Mahasiswa dapat mengimplementasikan konversi tipe data dengan
Borland Delphi
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-2
5.1 Konversi Tipe Data
Konversi tipe data digunakan untuk mengubah satu tipe data menjadi
tipe data lain. Kasus yang paling sering terjadi dimana konversi ini sangat
diperlukan adalah ketika membuat suatu aplikasi yang melakukan operasi
matematis berdasarkan data yang di-input user kemudian hasil operasi
tersebut di-output-kan lagi kepada user. Delphi menerima input dan meng-
output-kan data berupa string, sedangkan untuk melakukan operasi matematis
diperlukan data numerik baik integer maupun real sehingga dari input string
yang diterima harus dikonversi menjadi data numerik untuk dilakukan operasi
matematis, kemudian hasil operasi yang berupa data numerik tersebut
dikonversi kembali menjadi string untuk di-output-kan. Seperti pada aplikasi
Currency Converter yang akan dibuat pada studi kasus modul ini.
Gambaran umum dari kasus tersebut adalah sebagai berikut:
Input
(String)
Operasi matematis
(Numerik)
Output
(String)
Fungsi
konversi
Fungsi
konversi
Gambar 5-1 - gambaran umum fungsi konversi dengan studi kasus
converter mata uang
Secara umum fungsi untuk melakukan konversi tipe data adalah:
tipe_data_yang_akan_diubah to tipe_data_yang_diinginkan
(data_yang_tipenya_akan_diubah)
Beberapa fungsi konversi tipe data yang terdapat pada Delphi
diantaranya:
1. StrToInt(data_string)
Untuk mengubah data bertipe string menjadi data bertipe integer.
2. StrToFloat(data_string)
Untuk mengubah data bertipe string menjadi data bertipe real/ floating
point.
3. IntToStr(data_integer)
Untuk mengubah data bertipe integer menjadi data bertipe string.
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-3
4. FloatToStr(data_float)
Untuk mengubah data bertipe real/ floating point menjadi data bertipe
string.
5. Round(data_float)
Merupakan fungsi pembulatan untuk mengubah data bertipe real menjadi
data bertipe integer.
Selain fungsi konversi di atas, masih banyak lagi fungsi-fungsi konversi tipe
data yang lain.
5.1.1 Studi Kasus : Aplikasi Currency Converter
Aplikasi Currency Converter merupakan suatu aplikasi untuk
mengkonversi satu nilai mata uang ke mata uang lain berdasarkan nilai
tukarnya.
Pada aplikasi Currency Converter yang akan kita buat, terdiri dari
empat bagian utama yaitu :
1. Change Currency
Pada bagian ini user bisa memilih mata uang yang akan dikonversi dengan
memilih salah satu item pada RadioGroupChangeCurrency.
USD – IDR untuk mengkonversi US Dollar ke Rupiah atau
sebaliknya.
EUR – IDR untuk mengkonversi EURO ke Rupiah atau sebaliknya.
JPY – IDR mengkonversi Yen Jepang ke Rupiah atau sebaliknya.
2. Change Currency Rate
Pada bagian ini user dapat mendefinisikan nilai tukar mata uang yang akan
dikonversi dengan menginputnya pada EditChangeCurrencyRate. Pada
saat ButtonChange diklik, nilai yang diinput pada
EditChangeCurrencyRate akan diambil, disimpan pada variabel
currency_rate kemudian dioutputkan pada LabelCurrencyRate4 di bagian
Currency Rate.
3. Currency Rate
Bagian ini untuk menampilkan nilai tukar mata uang yang sebelumnya
didefinisikan pada Change Currency Rate.
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-4
4. Currency Converter
Bagian ini untuk mengkonversi nilai mata uang sesuai dengan pilihan mata
uang pada Change Currency dan nilai tukar mata uang pada Currency
Rate. Untuk melakukan konversi, disediakan dua buah Edit yang nilainya
bisa diinput sendiri oleh user yaitu EditCurrencyConverter1 dan
EditCurrencyConverter2. Jika nilai di EditCurrencyConverter1 berubah
maka nilai di EditCurrencyConverter2 juga akan berubah sesuai dengan
hasil konversi, begitu juga sebaliknya.
Tampilan aplikasi Currency Converter yang akan kita buat adalah seperti pada
gambar di bawah ini : PanelChange
RadioGroupChangeCurrency
GroupBoxChangeCurrencyRateLabelChangeCurrencyRate1
LabelChangeCurrencyRate2
LabelChangeCurrencyRate3
EditChangeCurrencyRate
ButtonChange
PanelConverter
GroupBoxCurrencyRate
LabelCurrencyRate1
LabelCurrencyRate2
LabelCurrencyRate3
LabelCurrencyRate4
GroupBoxCurrencyConverter
EditCurrencyConverter1
EditCurrencyConverter2
LabelCurrencyConverter1LabelCurrencyConverter2
FormConverter
Gambar 5-2 - Rancangan Form Currency Converter
Selain properties Caption dan Name seperti ditunjukkan pada
gambar, beberapa objek ada yang memiliki properties tambahan dan event.
Berikut objek-objek tersebut :
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-5
Tabel 5-1 Properties Tambahan pada Beberapa Objek
No Object Name Properties Event
1 FormConverter BorderIcons >
biMaximize : False
2 RadioGroupChangeCurrency Items :
USD - IDR
EUR - IDR
JPY - IDR
OnClick
3 ButtonChange OnClick
4 EditCurrencyConverter1 OnChange
5 EditCurrencyConverter2 OnChange
Adapun langkah – langkah untuk pembuatan aplikasi Currency Converter ini
adalah:
1. Buat sebuah project baru yang terdiri dari satu form. Pada form tersebut,
tambahkan objek-objek dengan tampilan seperti pada gambar. Sesuaikan
properties dari objek-objek tersebut seperti pada gambar dan tabel.
2. Pada kode program tambahkan sebuah variabel global bertipe real
dengan nama currency_rate. Variabel tersebut digunakan untuk
menampung nilai tukar mata uang yang diinput dari
EditChangeCurrencyRate.
Var
FormConverter: TFormConverter;
currency_rate: real;
3. Buat sebuah fungsi IsNumber untuk mengecek apakah input nilai pada
EditChangeCurrencyRate, EditCurrencyConverter1, atau
EditCurrencyConverter2 berupa angka atau bukan. Fungsi ini diperlukan
untuk menjamin bahwa nilai yang diinput benar-benar berupa angka
karena Edit menerima semua input string baik berupa angka atau bukan,
sedangkan aplikasi ini hanya menerima input berupa angka. Input tersebut
akan dikonversi menjadi nilai numerik yang digunakan dalam operasi
perhitungan matematis untuk konversi nilai mata uang.
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-6
function IsNumber(number:String):Boolean;
var
i,sum:byte;
result_IsNumber:boolean;
begin
result_IsNumber:=false;
sum:=0;
for i:=1 to length(number) do
begin
case number[i] of
'0'..'9':result_IsNumber:=true;
'.':sum:=sum+1;
else
result_IsNumber:=false;
break;
end;
end;
if sum>1 then
result_IsNumber:=false;
IsNumber:=result_IsNumber;
end;
4. Beri event OnClick pada RadioGroupChangeCurrency dan ketikan kode
program berikut :
//memilih mata uang yang akan dikonversi
procedure TFormConverter.RadioGroupChangeCurrencyClick(Sender:
TObject);
begin
//memilih item USD-IDR
if RadioGroupChangeCurrency.ItemIndex=0 then
begin
LabelChangeCurrencyRate1.Caption:='USD';
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-7
LabelCurrencyRate1.Caption:='USD';
LabelCurrencyConverter1.Caption:='USD';
end
else
//memilih item EUR-IDR
if RadioGroupChangeCurrency.ItemIndex=1 then
begin
LabelChangeCurrencyRate1.Caption:='EUR';
LabelCurrencyRate1.Caption:='EUR';
LabelCurrencyConverter1.Caption:='EUR';
end
else
//memilih item JPY-IDR
if RadioGroupChangeCurrency.ItemIndex=2 then
begin
LabelChangeCurrencyRate1.Caption:='JPY';
LabelCurrencyRate1.Caption:='JPY';
LabelCurrencyConverter1.Caption:='JPY';
end;
//inisialisasi
EditChangeCurrencyRate.Text:='0';
LabelCurrencyRate4.Caption:='0';
EditCurrencyConverter1.Text:='0';
EditCurrencyConverter2.Text:='0';
end;
5. Beri event OnClick pada ButtonChange dan ketikan kode program
berikut :
//mendefinisikan nilai tukar mata uang
procedure TFormConverter.ButtonChangeClick(Sender: TObject);
begin
if (EditChangeCurrencyRate.Text<>'') and
(IsNumber(EditChangeCurrencyRate.Text)) then
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-8
begin
//konversi string menjadi real
currency_rate:=StrToFloat(EditChangeCurrencyRate.Text);
//konversi real menjadi string
LabelCurrencyRate4.Caption:=FloatToStr(currency_rate);
end
else
begin
currency_rate:=0;
LabelCurrencyRate4.Caption:='0';
end;
end;
6. Beri event OnChange pada EditCurrencyConverter1 dan ketikan kode
program berikut :
//mengkonversi nilai mata uang lain ke Rupiah
procedure TFormConverter.EditCurrencyConverter1Change(Sender:
TObject);
var
convert_value, result : real;
begin
if (EditCurrencyConverter1.Text<>'') and
(IsNumber(EditCurrencyConverter1.Text)) then
begin
//konversi string menjadi real
convert_value:=StrToFloat(EditCurrencyConverter1.Text);
result := convert_value * currency_rate;
//konversi real menjadi string
EditCurrencyConverter2.Text:=FloatToStr(result);
end
else
EditCurrencyConverter2.Text:='0';
end;
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-9
7. Beri event OnChange pada EditCurrencyConverter2 dan ketikan kode
program berikut :
//mengkonversi nilai Rupiah ke mata uang lain}
procedure TFormConverter.EditCurrencyConverter2Change(Sender:
TObject);
var
convert_value, result : real;
begin
if (EditCurrencyConverter2.Text<>'') and
(IsNumber(EditCurrencyConverter2.Text)) then
begin
//konversi string menjadi real
convert_value:=StrToFloat(EditCurrencyConverter2.Text);
result := convert_value * (1/currency_rate);
//konversi real menjadi string
EditCurrencyConverter1.Text:=FloatToStr(result);
end
else
EditCurrencyConverter1.Text:='0';
end;
8. Simpan dan jalankan aplikasi.
Berikut gambar dari tampilan aplikasi Currency Converter saat dijalankan :
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-10
Gambar 5-3 - Tampilan konversi US Dollar ke Rupiah atau sebaliknya
Gambar 5-4 - Tampilan konversi EURO ke Rupiah atau sebaliknya
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-11
Gambar 5-5 - Tampilan konversi Yen Jepang ke Rupiah atau sebaliknya
Rangkuman
Pada Delphi terdapat berbagai macam tipe data. Agar dapat
menggunakan data dengan benar diperlukan pemilihan tipe data yang
tepat. Satu tipe data bisa dikonversi menjadi tipe data yang lain dengan
menggunakan fungsi konversi tipe data.
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-12
Pilihan Ganda
1. Fungsi untuk mengkonversi tipe data Currency menjadi tipe data String
adalah ….
A. CurrencyToString (data_currency)
B. CurrencyToStr (data_currency)
C. CurrToString (data_currency)
D. CurrToStr (data_currency)
E. StringToCurrency (data_currency)
2. Perhatikan form dan source code berikut :
procedure TForm1.Button1Click(Sender: TObject);
var
bil, kuadrat : integer;
begin
bil := StrToInt(Edit_bilangan.Text);
kuadrat := bil * bil;
Edit_kuadrat.Text := IntToStr(kuadrat);
end;
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-13
Saat button Hitung di klik, hasil kuadrat yang akan ditampilkan adalah
….
A. 36
B. 6
C. Error
D. kuadrat
E. 6*6
3. Perhatikan form dan source code berikut :
Procedure TForm1.Button1Click(Sender: TObject);
var
a, b : integer;
a_per_b : real;
begin
a := StrToInt(Edit_a.Text);
b := StrToInt(Edit_b.Text);
a_per_b := a/b;
Edit_a_per_b.Text := FloatToStr(a_per_b);
end;
Saat button Hitung di klik, hasil a/b yang akan ditampilkan adalah ….
A. 1
B. 8
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-14
C. 0.125
D. Error
E. 1/8
4. Rentang dan ukuran tipe data Double berturut-turut adalah ….
A. 1.5 x 10-45 .. 3.4 x 1038 dan 4 Byte
B. -263..263-1 dan 64-bit
C. 5.0 x 10-324 .. 1.7 x 10308 dan 8 Byte
D. -263+1 .. 263 -1 dan 8 Byte
E. 3.6 x 10-4951 .. 1.1 x 104932 dan 10 Byte
5. Perhatikan form dan source code berikut :
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit_a_tambah_b.Text:=Edit_a.Text+Edit_b.Text;
end;
Saat button Hitung di klik, hasil a+b yang akan ditampilkan adalah ….
A. 77
B. 1067
C. Error
D. 67
E. 10
Politeknik Telkom Pemrograman Visual
Konversi Tipe Data 5-15
Kuis Benar Salah
1. Suatu data tanggal bertipe String bisa diubah menjadi data tanggal
bertipe DateTime dengan fungsi konversi
StrToDate(string_tanggal).
B S
2. Jika X bertipe Integer dan Y bertipe Real, maka X + Y bertipe
Integer.
B S
3. Integer merupakan salah satu tipe data pada Delphi dengan
ukuran 16-bit dan rentang nilai -32768..32767
B S
4. Tipe data String hanya bisa dikonversi menjadi tipe data Integer
atau Real.
B S
5. DoubleToComp(nilai_double) merupakan fungsi konversi untuk
mengubah nilai bertipe Double menjadi bertipe Comp.
B S
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-1
6 MICROSOFT ACCESS
Overview
Bab ini akan memperkenalkan pemakaian Microsoft Access untuk pembuatan
database relasional.
Tujuan
1 Mahasiswa mampu membuat database relational dengan Microsoft
Access.
2 Mahasiswa dapat mengimplementasikan konsep database relational
menggunakan Delphi.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-2
6.1 Relational Database
Database(basis data) merupakan suatu tempat untuk menyimpan data.
Pada sebuah database bisa terdapat satu atau lebih tabel yang saling berelasi.
Database seperti ini disebut relational database. Relational database mengatur
informasi dalam tabel yang berisi baris-baris (record) dan kolom-kolom (field).
Tabel-tabel yang dimiliki suatu database dapat direlasikan atau dihubungkan
berdasarkan suatu field kunci tertentu. Field yang dapat digunakan sebagai
kunci adalah field yang sama yang dimiliki oleh tabel-tabel yang akan
direlasikan. Delphi mendukung penggunaan aplikasi relational database
tersebut.
6.1.1 Membuat Relational Database dengan Microsoft
Access
Pada modul ini akan diberikan sebuah contoh kasus sederhana dalam
membuat relational database yaitu membuat database untuk Penyewaan VCD
dengan menggunakan Microsoft Access 2003 dan Microsoft Access 2007.
Berikut rincian database Penyewaan VCD yang akan dibuat:
Nama database: dbSewaVCD.mdb
Tabel 6-1 Deskripsi Tabel Anggota
1 Nama Tabel : Anggota
FieldName FieldType Field Properties Ket
NoAnggota Text Field Size = 6 Primary
Key
NamaAnggota Text Field Size = 50
AlamatAnggota Text Field Size = 50
TelpAnggota Text Field Size = 20
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-3
Tabel 6-2 Deskripsi Tabel VCD
2 Nama Tabel : VCD
FieldName FieldType Field Properties Ket
KodeVCD Text Field Size = 6 Primary Key
JudulVCD Text Field Size = 50
KategoriVCD Text Field Size = 20
TahunVCD Text Field Size = 4
BesarSewaVCD Currency
BatasSewaVCD Number Field Size = Byte
BesarDendaVCD Currency
Tabel 6-3 Deskripsi Tabel Sewa
3 Nama Tabel : Sewa
FieldName FieldType Field Properties Ket
KodeSewa Text Field Size = 6 PrimaryKey
NoAnggota Text Field Size = 6 Foreign Key dari
Tabel Anggota
KodeVCD Text Field Size = 6 Foreign Key dari
Tabel VCD
TglSewa Date/Time Format = Medium
Date
TglKembali Date/Time Format = Medium
Date
Tanggal
seharusnya VCD
dikembalikan
TglPengembalian Date/Time Format = Medium
Date
Tanggal VCD
dikembalikan
penyewa
LamaSewa Number Field Size = Byte
BesarSewa Currency
DendaSewa Currency
TotalSewa Currency
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-4
6.1.2 Membuat Relational Database dengan Microsoft
Access 2003
6.1.2.1 Membuat Database
Hal pertama yang dilakukan untuk membuat relational database
adalah membuat sebuah database. Untuk membuat sebuah database baru pada
Microsoft Access 2003 lakukan langkah-langkah sebagai berikut :
1. Dari Windows jalankan program Microsoft Access 2003. Setelah
program Microsoft Access dijalankan, akan keluar kotak dialog Microsoft
Access 2003.
Gambar 6-1 - Microsoft Access 2007
2. Klik menu BlankDatabase pada bagian New, akan muncul kotak dialog
File New Database.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-5
Gambar 6-2 - Microsoft Access – New File Dialog
3. Pada kotak dialog File New Database, pilih folder untuk menyimpan file
database dan isi nama database pada field File name. Pada contoh kasus
ini database yang dibuat diberi nama dbSewaVCD.
Tips : Untuk mempermudah pembangunan aplikasi database Delphi,
pastikan file database dan file project Delphi berada dalam folder yang
sama.
4. Klik tombol Create, akan muncul editor Microsoft Access 2003.
5. Database dbSewaVCD.mdb telah dibuat.
6.1.2.2 Membuat Tabel
Setelah dbSewaVCD.mdb dibuat, langkah selanjutnya adalah
membuat tabel Anggota, VCD, dan Sewa berdasarkan rincian database
Penyewaan VCD. Untuk membuat tabel Anggota pada Microsoft Access
2003, dapat dilakukan dengan cara sebagai berikut :
1. Buka database yang telah dibuat, pada kasus ini buka database
dbSewaVCD.mdb, akan muncul kotak dialog Database.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-6
Gambar 6-3 - Microsoft Access – Create Table
2. Klik ganda pada Create table in Design View, akan muncul kotak
dialog Table untuk membuat sebuah tabel.
Gambar 6-4 - Microsoft Access - Table Designer
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-7
3. Isi Field Name dengan nama field untuk record-record dari tabel
Anggota, Data Type dengan tipe data record dan Description untuk
menuliskan keterangan jika diperlukan.
4. Untuk membuat Primary Key, pilih field yang akan dibuat menjadi Primary
Key, pilih icon
5. Simpan tabel yang telah dibuat dengan memilih icon atau memilih
menu File >> Save, akan muncul kotak dialog Save As.
Gambar 6-5 - Microsoft Access – Save Table Dialog
Isi Table Name dengan nama tabel Anggota. Klik OK.
6. Tabel Anggota berhasil dibuat.
Untuk membuat tabel VCD dan Sewa, lakukan cara yang sama dengan
pembuatan tabel Anggota.
Jika tabel Anggota, VCD, dan Sewa berhasil dibuat, pada kotak dialog
Database dbSewaVCD.mdb akan muncul nama-nama tabel tersebut.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-8
Gambar 6-6 - Microsoft Access – Console
6.1.2.3 Membuat Relasi Antar Tabel
Setelah tabel Anggota, VCD, dan Sewa berhasil dibuat, langkah
selanjutnya adalah membuat relasi antar tabel. Berdasarkan rincian database
Penyewaan VCD, terdapat relasi antara tabel Sewa dengan tabel Anggota
dan tabel VCD. Hal ini terlihat dari adanya field yang sama antara tabel Sewa
dengan tabel Anggota dan tabel VCD yaitu pada tabel Sewa terdapat field
NoAnggota yang berasal dari tabel Anggota dan KodeVCD yang berasal dari
tabel VCD. Dengan adanya relasi tersebut, NoAnggota yang pada tabel
Sewa harus terdaftar di tabel Anggota, begitu juga KodeVCD pada tabel
Sewa harus terdaftar di tabel VCD.
Untuk membuat relasi antara tabel-tabel tersebut, langkah-langkahnya adalah
sebagai berikut :
1. Pilih menu Tools >> Relationships, akan muncul kotak dialog Show
Table.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-9
Gambar 6-7 - Microsoft Access – Show Table
2. Pilih tabel-tabel yang akan diberi relasi, lalu klik button Add. Jika sudah
selesai memilih tabel, tutup kotak dialog. Akan muncul kotak dialog
Relationships.
Gambar 6-8 - Microsoft Access – Relationship Dialog
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-10
3. Klik dan drag NoAnggota pada tabel Anggota menuju NoAnggota pada
tabel Sewa, akan muncul kotak dialog Edit Relationship. Centang
Enforce Referential Integrity.
Gambar 6-9 - Edit Relationship
4. Klik button Create.
5. Simpan relasi yang telah dibuat dengan memilih icon atau memilih
menu File >> Save.
6. Relasi antara tabel Sewa dan Anggota telah dibuat.
Lakukan langkah yang sama untuk membuat relasi antara tabel Sewa dan
VCD.
Jika relasi antara tabel Sewa dengan tabel Anggota dan tabel VCD
berhasil dibuat, pada kotak dialog Relationships akan muncul relasi antar tabel
tersebut.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-11
Gambar 6-10 - Microsoft Access – Relationship
6.2.1. Membuat Relational Database dengan Microsoft
Access 2007
Pada dasarnya untuk membuat relationship database dengan Microsoft
Access 2007, langkah-langkahnya sama dengan membuat relationship database
dengan Microsoft Access 2003 pada subbab sebelumnya. Yang membedakan
hanya tampilannya saja, tapi mungkin tampilan itulah yang kadang membuat
bingung, sehingga disini perlu dijelaskan lagi mengenai pembuatan relationship
database dengan Microsoft Access 2007.
6.2.2.1 Membuat Database dalam Microsoft Access 2007
Untuk membuat sebuah database baru pada Microsoft Access 2007
lakukan langkah-langkah sebagai berikut:
1. Dari Windows jalankan program Microsoft Access 2007. Setelah
program Microsoft Access dijalankan, akan keluar kotak dialog Microsoft
Access 2007.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-12
Gambar 6-11 - Microsoft Access 2007
2. Klik Blank Database pada bagian New Blank Database. Di sebelah
kanan kotak dialog akan muncul Jendela Task Pane - Blank Database.
Gambar 6-12 - Microsoft Access – New Database Pane
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-13
3. Isi File Name dengan nama database yang ingin dibuat. Pada contoh
kasus ini database yang dibuat diberi nama dbSewaVCD. Secara default
database tersebut akan disimpan di My Documents. Untuk mengubah
lokasi penyimpanan database dan mengubah tipe file database klik ikon
, akan muncul kotak dialog File New Database. Karena Delphi 7
belum mendukung penggunaan file Microsoft Office Access 2007
Databases (berekstensi .accdb), maka pada Save as type, ubah menjadi
Microsoft Office Access Databases (2002-2003 format) (berekstensi
.mdb).
Gambar 6-13 - Microsoft Access 2007 – New File Dialog
4. Klik button OK. Maka kita akan kembali ke kotak dialog sebelumnya.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-14
5. Klik button Create, akan muncul editor Microsoft Access 2007.
Gambar 6-14 - Microsoft Access 2007 – Database console
Database dbSewaVCD.mdb telah dibuat.
6.1.2.4 Membuat Tabel
Setelah dbSewaVCD.mdb dibuat, langkah selanjutnya adalah
membuat tabel Anggota, VCD, dan Sewa. Untuk membuat tabel Anggota
pada Microsoft Access 2007, dapat dilakukan dengan cara sebagai berikut :
1. Pada editor Microsoft Access 2007, pilih tab Create >> Table
.
2. Pada bagian All Tables , pilih tabel yang
akan didesain. Misal Table1 : Table.
3. Pilih Tabs Datasheet >> View >> Design View
. Akan muncul kotak dialog Save As.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-15
Gambar 6-15 - Microsoft Access 2007 – Table Save Dialog
4. Isi Table Name dengan nama tabel Anggota. Klik OK. Akan
muncul kotak dialog untuk mendesain tabel.
Gambar 6-16 - Microsoft Access 2007 – Console
Isi Field Name dengan nama field untuk record-record dari tabel Anggota,
Data Type dengan tipe data record dan Description untuk menuliskan
keterangan jika diperlukan.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-16
5. Untuk membuat Primary Key, pilih field yang akan dibuat menjadi Primary
Key, pilih icon .
6. Simpan tabel yang telah dibuat dengan memilih icon .
7. Tabel Anggota berhasil dibuat.
Untuk membuat tabel VCD dan Sewa, lakukan cara yang sama dengan
pembuatan tabel Anggota.
Jika tabel Anggota, VCD, dan Sewa berhasil dibuat, pada bagian All
Tables akan muncul nama-nama tabel tersebut.
6.1.2.5 Membuat Relasi
Untuk membuat relasi antar tabel pada Microsoft Access 2007,
langkah-langkahnya sama seperti membuat relasi pada Microsoft Access 2003
yaitu :
1. Pilih tab Database Tools >> Relationships , akan muncul
kotak dialog Show Table.
Gambar 6-17 - Microsoft Access 2007 – Show Table Dialog
2. Pilih tabel-tabel yang akan diberi relasi, lalu klik button Add. Jika sudah
selesai memilih tabel, tutup kotak dialog. Akan muncul kotak dialog
Relationships.
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-17
Gambar 6-18 - Microsoft Access 2007 – Relationship
3. Klik dan drag NoAnggota pada tabel Anggota menuju NoAnggota pada
tabel Sewa, akan muncul kotak dalog Edit Relationship. Centang
Enforce Referential Integrity.
Gambar 6-19 - Microsoft Access 2007 – Edit Relationship Dialog
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-18
4. Klik button Create.
5. Simpan relasi yang telah dibuat dengan memilih icon .
6. Relasi antara tabel Sewa dan Anggota telah dibuat.
Lakukan-langkah yang sama untuk membuat relasi antara tabel Sewa dan
VCD.
Jika relasi antara tabel Sewa dengan tabel Anggota dan tabel VCD
berhasil dibuat, pada kotak dialog Relationships akan muncul relasi antar tabel
tersebut.
Gambar 6-20 - Access 2007 – Relationship
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-19
Rangkuman
1. Database yang terdiri dari satu atau lebih tabel yang saling berelasi
disebut relational database.
2. Untuk membuat relational database pada Microsoft Access, langkah-
langkah yang harus dilakukan adalah :
1) membuat database
2) membuat tabel
3) membuat relasi.
Pilihan Ganda
1. Format tipe data Date/Time untuk membuat penulisan tanggal berikut
“Wednesday, April 29, 2009” adalah ….
A. General Date
B. Long Date
C. Medium Date
D. Short Date
E. Long Time
2. Perhatikan record pada tabel Partai dan tabel Caleg serta kotak dialog
Edit Relationship berikut :
Partai
NoPartai NamaPartai
1 Partai A
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-20
Caleg
NoCaleg NoPartai NamaCaleg
2 1 BBB
Jika dibuat relasi antara tabel Partai dan tabel Caleg dengan mencentang
Cascade Update Related Fields pada kotak dialog Edit Relationship, apa
yang akan terjadi pada tabel Caleg jika record pada tabel Partai
diubah menjadi :
Partai
NoPartai NamaPartai
2 Partai A
A. Record dengan NoPartai 1 tidak berubah
B. Error
C. Record dengan NoPartai 1 ikut berubah menjadi NoPartai 2
D. Record yang mengandung NoPartai 1 akan dihapus
E. Record yang mengandung NoPartai 2 akan dihapus
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-21
3. Berikut Field Size yang terdapat pada tipe data Number, kecuali ….
A. Byte
B. Integer
C. Long Integer
D. Single
E. Real
4. Atribut kunci yang menjamin keunikan sebuah tabel disebut ….
A. Primary Key
B. Foreign Key
C. Super Key
D. Unique Key
E. Candidate Key
5. Berikut Input Mask yang dapat digunakan untuk tipe data Text, kecuali
….
A. Phone Number
B. Zip Code
C. Extension
D. Password
E. Postal Code
Politeknik Telkom Pemrograman Visual
Microsoft Access 6-22
Kuis Benar Salah
1.
Tipe data AutoNumber dapat berupa angka increment atau
random yang diberikan oleh Microsoft Access dan nilainya
tidak dapat diubah.
B S
2. Satu tabel boleh memiliki lebih dari satu Primary Key.
B S
3. Untuk membuat sebuah relasi antar tabel maka diperlukan satu
field kunci dengan nama dan tipe data yang sama. B S
4. Sebuah objek gambar JPEG dapat diletakkan pada tabel
Microsoft Access dengan menggunakan tipe data OLE Object. B S
5. Ukuran maksimum tipe data Text adalah 255.
B S
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-1
7 PENGANTAR APLIKASI DATABASE
MENGGUNAKAN DELPHI
Overview
Bab ini akan menjelaskan penggunaan database pada Delphi yaitu tentang
Database Desktop dan cara pembuatan database desktop. Untuk
menggunakan database melalui aplikasi Delphi maka akan dijelaskan cara
menghubungkan aplikasi Delphi dengan aplikasi database, dimana database
yang digunakan adalah database Ms. Access yang telah dibahas di bab
sebelumnya.
Dalam menghubungkan database, Delphi menyediakan komponen-komponen
pendukung yang akan dijelaskan pada bab ini beserta contoh penggunaannya
melalui latihan implementasi menghubungkan aplikasi delphi dengan database
dbSewaVCD.mdb.
Tujuan
1 Mengetahui aplikasi database yang didukung oleh Delphi
2 Mengetahui mekanisme akses data dengan menggunakan Delphi
3 Mengetahui cara pembuatan database desktop.
4 Mengetahui komponen-komponen yang dibutuhkan untuk
mengkoneksikan aplikasi Delphi dengan database
5 Mengetahui cara menghubungkan aplikasi Delphi dengan database Ms.
Access
6 Mampu menampilkan database ke aplikasi Delphi
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-2
7.1 Aplikasi Database
Aplikasi database memungkinkan user berinteraksi dengan informasi
yang tersimpan didalam suatu database. Delphi menyediakan dukungan
terhadap dua jenis server database relasional:
1. Remote Database Server (RDS) dimana DBMS memiliki sistem yang
terpisah dari aplikasinya, bisa dalam satu mesin atau beda mesin dengan
aplikasi interfacenya. Remote Database Server menyediakan interface yang
seragam bagi user untuk mengakses informasi yang tersimpan di
dalamnya yaitu Structured Query Language (SQL). Contoh RDS yang ada
saat ini : FireBird, Oracle, MS SQL Server, InterBase, Sybase, Informix,
PostgreSQL, dan lain-lain.
2. Database Local dimana DBMS yang berada pada sistem yang sama dengan
aplikasinya. Biasanya memiliki proprietary API untuk mengakses data dan
hanya optimal untuk single user. Contoh database local : Paradox, dBase,
FoxPro, MS Access, dan lain-lain.
Delphi menyediakan fasilitas yang lengkap untuk mengolah database.
Berbagai format database dapat diolah dengan Delphi, baik database local atau
database server.
7.2 Mekanisme Akses Data Dengan Delphi
Untuk mengakses database, Delphi menyediakan banyak pilihan
mekanisme mengakses data. Di antaranya adalah:
1. BDE (Borland Database Engine)
BDE merupakan teknologi database standar yang diperkenalkan pada
versi awal Delphi dan pada saat itu merupakan satu-satunya teknologi
akses database yang ditawarkan oleh Delphi. BDE awalnya merupakan
Paradox Engine untuk mengakses database Paradox yang kemudian
dikembangkan agar dapat mengakses database lokal yang lain seperti
dBase, Foxpro, Access, dan teks file.
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-3
BDE mempunyai kelemahan dimana BDE merupakan engine yang
besar dengan banyak file yang dibutuhkan ketika instalasi dan
membutuhkan banyak memori.
2. IBExpress
IBExpress merupakan teknologi khusus untuk mengakses InterBase
Server. IBExpress tidak dapat digunakan untuk mengakses Remote
Database Server lain.
3. dbGO
dbGO adalah implementasi ADO (ActiveX Data Objects) di Delphi
yang merupakan standard Microsoft untuk akses data, digunakan untuk
mengakses database melalui OLEDB.
4. dbExpress
dbExpress adalah library pengaksesan database yang bersifat cross
platform, merupakan standard pengaksesan data terbaru dari Delphi
untuk platform Win32. dbExpress merupakan library yang sangat ringan
dan cepat untuk mengakses SQL Server.
7.3 Arsitektur Dasar Aplikasi Database dalam Delphi
Delphi menyediakan berbagai macam komponen dataset untuk
mengakses data. Dataset merupakan representasi data dalam aplikasi yang
kita buat. Ketika akan mengakses suatu data dari sebuah sumber data maka
kita membutuhkan komponen dataset agar dapat berinteraksi dengan data
tersebut.
Untuk menampilkan data di dataset pada User Interface aplikasi yang
kita buat, maka dibutuhkan komponen-komponen yang disebut sebagai Data
Control. Dataset tidak dapat berhubungan secara langsung dengan Data
Control, keduanya dihubungkan oleh suatu komponen yaitu DataSource.
Dataset dapat memperoleh data dari sumber data dengan berbagai cara.
Arsitektur aplikasi database pada Delphi digambarkan sebagai berikut:
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-4
Gambar 7-1- Arsitektur Aplikasi Database pada Delphi
7.4 User Interface (UI)
User Interface berisi berbagai data control yang menampilkan data dari
database yang direpresentasikan oleh dataset.
7.4.1 DataSource
DataSource adalah penghubung antara user interface dengan
komponen dataset. Beberapa komponen data control pada sebuah form
dapat berbagi sebuah data source
7.4.2 DataSet
Inti dari aplikasi database adalah dataset. Dataset merupakan
representasi data yang ada di dalam database, data dapat berupa record-record
dari suatu database.
7.4.3 Connection
Dataset menghubungkan diri ke database dengan berbagai macam
cara tergantung dari tipe dataset yang digunakan.
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-5
7.4.4 DataModule
Data Module merupakan container tempat semua komponen data
akses diletakkan.
7.5 Menggunakan Database Desktop
Biasanya jika kita ingin membuat suatu program aplikasi untuk
manajemen database, akan diperlukan suatu file database yang akan diproses.
Database desktop adalah suatu program “Add Ins” yaitu program terpisah
yang ditempelkan dalam Delphi sehingga bisa dipakai sebagai bagian dari
program Delphi. Database Desktop akan dipelajari secara terbatas pada
membuat dan mengedit struktur database.
Cara memanggil database desktop adalah melalui menu Tool >
Database Desktop
Gambar 7-2 - Database Desktop
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-6
7.5.1 Membuat file Database Desktop
Dalam format Paradox, satu file database hanya berisi satu tabel, jadi
agak berbeda dengan format MS Access yang memungkinkan kita untuk
membuat beberapa tabel dalam satu file database. Untuk membuat database
dengan format database Paradox, lakukan langkah berikut :
1. Pilih menu File > New > Table sehingga tampilan seperti gambar 7.3
muncul
Gambar 7-3 - Format database
2. Pilih tipe atau format table yang diinginkan, misalkan Paradox 7, lalu klik
OK sehingga tampilan pada gambar 7.4 muncul
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-7
Gambar 7-4 - struktur table database
3. Pada kolom field name, tentukan nama field yang diinginkan. Nama field
akan menjadi header atau pengenal kolom.
4. Tentukan tipe tiap field sesuai dengan data yang nanti akan dimasukkan
ke dalam field tersebut dengan cara klik kanan pada kolom type.
5. Tentukan lebar field pada kolom Size (jika diperlukan)
6. Pada kolom Key, dapat diberikan tanda * dengan menekan sembarang
tombol. Field yang diberi tanda key harus merupakan urutan field yang
paling atas. Field yang diberik tanda key akan digunakan sebagai kunci
pengurutan index primer.
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-8
Gambar 7-5 - pengisian Nama Field pada table
7. Klik tombol Save As, hingga muncul dialog Save Table As. Pilih lokasi
tempat penyimpanan database, dan beri nama pada database tersebut.
Misal disimpan di C:\LatDelphi dengan nama Karyawan.
8. Klik tombol Save
Gambar 7-6 - menyimpan table
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-9
Untuk keluar dari database desktop dengan memilih menu File > Exit.
7.6 Mengolah Database MS Access
Pada kuliah ini akan digunakan pengolahan database dengan
menggunakan database MS.Access yang telah dipelajari pada Bab sebelumnya.
Database yang akan digunakan adalah database dbSewaVCD.mdb
Kumpulan object untuk mengolah file database tersebut terdapat pada
kategori Data Control dalam Tool Pallete. Sebelum mengolah suatu file
databse menggunakan object yang terdapat dalam Data Control, maka
terlebih dahulu harus menghubungkan database ke dalam form. Ada beberapa
cara yang dapat digunakan untuk mengaitkan file database ke dalam form
antara lain menggunakan object-object yang ada dalam kategori Data Access,
ADO, InterBase, BDE (Borland Database Engine), dan lain lain tergantung
dari system database yang dirancang.
Untuk mengakses database Access maka akan digunakan fasilitas
pengolahan file database menggunakan Data Access, Data Control, dan ADO.
7.7 Menghubungkan Database ke dalam Form
1. Buat aplikasi baru dengan memilih menu File > New Application
2. Masukkan object TADOTable yang berada pada tab ADO
di dalam Tool Pallete
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-10
Gambar 7-7 - Form View – TAdoTable Component
Ubah property name TADOTable1 menjadi ADOTSewaVCD
3. Klik tanda pada property ConnectionString maka akan
muncul dialog AdoTable1.ConnectionString
Gambar 7-8 - Form View – ConnectionString Properties
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-11
4. Pilih pada option Use Connection String
5. Klik tombol Build
6. Klik ganda pada opsi Microsoft Jet 4.0 OLE DB Provider maka
akan muncul Dialog Data Link Properties
Gambar 7-9 - Form View – Data Link Dialog
7. Pada Select or Enter a database name klik pada tanda
8. Kemudian pilih database yang akan digunakan pada aplikasi, misal
database Global Inc yang berada pada D:\Delphi\
dbSewaVCD.mdb
9. Pada Enter information to log on to the database, kosongkan
UserName, dan pilih opsi Blank Password
10. Kemudian klik Test Connection jika telah terhubung dengan
database maka akan muncul Test Connection Succeeded.
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-12
Gambar 7-10 – Form View – Connection Success
11. Klik Ok pada Data Link Properties
12. Klik Ok pada Connection String
13. Klik drop down menu pada properties TableName, pilih salah satu
table yang akan ditampilkan, misal Anggota
14. Ubah properties Active menjadi True
15. Masukkan TDataSource pada DataAccess Tool Pallete ke
dalam form
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-13
Gambar 7-11 - Form View – TDataSource
Ubah properties Name pada TDataSource1 menjadi DSsewaVCD
16. Klik drop down pada properties DataSet, pilih ADOTSewaVCD.
Hal ini untuk menyambungkan DataSource ke ADO table yg telah di
buat.
17. Sampai disini koneksi database ke form telah selesai, database
dbSewaVCD telah terhubung ke form
18. Save aplikasi dengan nama UKoneksiDB.pas dan
PrjKoneksiDB.dpr
Menampilkan Data dalam Bentuk Tabel
Ada banyak cara untuk menampilkan isi database ke form. Salah satunya
TDBGrid yang tampilannya akan berbentuk table. Tampilan dalam bentuk
table akan sangat bermanfaat karena dapat menampilkan beberapa record
sekaligus.
1. Buka project PrjKoneksiDB lewat menu File > Open Project
2. Masukkan TDBGrid pada DataControls Tool Pallete,
kemudian atur tata letaknya.
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-14
Gambar 7-12 – Form View – TDBGrid
Ubah property name nya menjadi DBGridAnggota
3. Klik drop down pada properties DataSource pilih DSsewaVCD
4. Maka pada DBGrid akan menampilkan data pada table Anggota
5. Untuk mengatur tampilan kolom maka klik tanda pada
properties Columns, akan muncul dialog seperti gambar berikut
Gambar 7-13 – DbGrid Properties
Untuk mengatur lebar kolom, maka terlebih dahulu kita masukkan field-field
dari table, dengan cara klik tanda maka field- field dalam table akan
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-15
muncul. Klik pada salah satu field, maka pada Object Inspector akan muncul
properties untuk field tersebut. Ubah ukuran lebar kolom pada properties
width
6. Untuk menghilangkan field tertentu pada tampilan DBGrid maka pilih
field yang akan dihilangkan, kemudian klik tanda
7. Untuk menambahkan sebuah field kosong pada tampilan DBGrid,
maka klik tanda
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-16
Rangkuman
1. Delphi menyediakan dukungan terhadap dua jenis server database
yaitu Remote Database Server dan Database Lokal
2. Delphi menyediakan banyak pilihan mekanis mengakses data antara
lain yaitu BDE, IBExpress, dbGO (ADO), dan dbExpress
3. Arsitektur dasar aplikasi database terdiri dari
a. User Interface (UI) untuk menampilkan data dari
database yang direpresentasikan oleh dataset.
b. DataSource sebagai penghubung antara user interface
dengan komponen dataset.
c. DataSet merupakan representasi data yang ada di dalam
database, data dapat berupa record-record dari suatu
database
d. Connection untuk mengkoneksikan diri ke database
dengan berbagai macam cara tergantung dari tipe dataset
yang digunakan
4. Database desktop adalah suatu program “Add Ins” yaitu program
terpisah yang ditempelkan dalam Delphi sehingga bisa dipakai
sebagai bagian dari program Delphi
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-17
Kuis Benar Salah
1. Paradox merupakan salah satu aplikasi database lokal
2. Jenis koneksikan tergantung dari tipe datasource yang digunakan
dalam aplikasi
3. Dataset tidak dapat berhubungan secara langsung dengan
DataControl, keduanya dihubungkan oleh suatu komponen yaitu
Module
4. Untuk menentukan bahwa suatu field merupakan key maka pada
database desktop field tersebut akan diberi tanda
5. Komponen TDBGrid dapat ditemukan di dalam tool pallete
Data Control
Pilihan Ganda
1. Aplikasi akses data yang merupakan implementasi ADO
(ActiveX Data Objects) dan merupakan standard Microsoft
untuk akses data adalah
a. BDE
b. dbGo
c. IBExpress
d. dbExpress
2. Perhatikan gambar di bawah ini, pada bagian bertanda B
merupakan bagian..
Politeknik Telkom Pemrograman Visual
Pengantar Aplikasi Database Menggunakan Delphi 7-18
a. Database Server
b. Data Source
c. DataSet
d. Connection
3. Komponen yang digunakan sebagai penghubung antara user
interface dengan komponen dataset adalah
a. Database Server
b. Data Source
c. DataSet
d. Connection
4. Komponen TDataSource terdapat pada tool pallete bagian
a. Data Access
b. Data Control
c. ADO
d. Standard
5. Jumlah table pada Database Desktop yang dapat dibuat dalam 1
database adalah
a. 1
b. 64
c. <=255
d. tak terhingga
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-1
8 PEMAKAIAN KOMPONEN DATA
CONTROL DAN IMPLEMENTASI
SINTAKS QUERY PADA DELPHI
Overview
Bab ini akan menjelaskan pembuatan aplikasi database yang lebih lengkap,
dimana aplikasi database yang akan dipraktekkan akan digunakan untuk
menampilkan, mengubah, dan menghapus data pada suatu tabel. Selain itu juga
akan diperkenalkan pencarian (searching) data pada suatu table. Aplikasi yang
akan dibuat akan menggunakan komponen yang terdapat pada Data Control
seperti yang telah dijelaskan pada bab sebelumnya.
Tujuan
1. Mengetahui cara pembuatan aplikasi untuk insert, update, dan delete
data
2. Mengetahui cara pembuatan aplikasi untuk searching
3. Mengetahui cara penggunaan ADOConnection
4. Mengetahui cara penggunaan DBNavigator
5. Mengetahui lebih lanjut cara pengimplementasian komponen Data
Control
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-2
Selain untuk menampilkan data, aplikasi database pada Delphi juga
dapat digunakan untuk memasukkan data (insert), mengubah data (update),
mengapus data (delete), dan mencari data (searching). Hal ini akan
mempermudah pengguna (user) yang tidak paham tentang database, karena
dengan adanya aplikasi Delphi maka dapat dibuat tampilan yang lebih mudah
untuk dimengerti. Untuk membuat fungsi diatas akan digunakan syntax sql
yang sederhana.
8.1 Insert Data
Insert data digunakan untuk memasukkan data baru ke suatu table
pada database. Pemasukan data dilakukan satu persatu. Aplikasi Delphi
digunakan untuk membuat tampilan yang akan memberikan keterangan
lengkap sehingga penggguna tidak salah dalam memasukkan data dan akan
mengirimkannya ke database. Pembuatan syntax insert dapat dilakukan
melalui klik button atau dengan menggunakan DBNavigator.
Sintax sql untuk insert adalah sebagai berikut
insert into <nama_table> values(<nilai1>,<nilai2>,… ,<nilai_n>)
contoh akan dimasukkan nilai pada table Anggota pada database dbSewaVCD
insert into Anggota values(„A00022‟,„Michael‟,‟Bandung‟,‟0227561234‟)
Sintax diatas akan memasukkan A00022 pada field NoAnggota, Michael pada
field NamaAnggota, Bandung pada field AlamatAnggota, dan 0227561234
pada field TelpAnggota. Tanda „ „ digunakan jika field yang akan diisi bertipe
Text. Pemasukan nilai harus sesuai dengan field pada tabelnya.
8.2 Select Data
Syntax update dan delete digunakan untuk data yang telah disimpan
sebelumnya, oleh karena itu data yang akan di update maupun di delete akan
dicari terlebih dahulu untuk mempermudah proses update dan delete. Setelah
nilai ditemukan maka dapat dilakukan langkah update atau delete.
Proses pencarian ini lebih tepatnya adalah menampilkan data
berdasarkan nilai tertentu. Sintax untuk menampilkan data adalah Select
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-3
tetapi syntax ini akan diberi tambahan kriteria sehingga akan menghasilkan
data yang lebih spesifik.
Sintax sql untuk select adalah sebagai berikut :
Select <field1>, <field2>, …, <field n> from <nama_table>
Contoh akan ditampilkan keseluruhan isi table Anggota :
Select * from Anggota
Tanda * menunjukkan akan menampilkan data yang berada di keseluruhan
field yaitu NoAnggota, NamaAnggota, AlamatAnggota, dan TelpAnggota.
Jika ingin menampilkan n field, misal hanya NamaAnggota dan TelpAnggota
maka :
Select NamaAnggota, TelpAnggota from Anggota
Sedangkan jika ingin menampilkan data berdasarkan nilai tertentu maka
digunakan syntax WHERE.
Select <field 1>, <field 2>, …, <field n> from <nama_table>
where <field m> = <kriteria>
Misal akan ditampilkan NamaAnggota dan AlamatAnggota yang
NoAnggotanya = A00022, maka sintaxnya :
Select NamaAnggota, AlamatAnggota from Anggota
where NoAnggota= „A00022‟
Jika criteria lebih dari satu maka menggunakan syntax AND jika
diharapkan nilai yang dihasilkan harus memenuhi semua criteria, dan syntax
OR jika diharapkan nilai yang dihasilkan memenuhi salah satu dari criteria.
Select NamaAnggota, AlamatAnggota from Anggota
where NoAnggota= „A00022‟ AND AlamatAnggota=‟Bandung‟
Maka hasil pencarian akan menampilkan NamaAnggota dan AlamatAnggota
yang bernomor A00022 dan tinggal di Bandung.
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-4
Select NamaAnggota, AlamatAnggota from Anggota
where NoAnggota= „A00022‟ OR AlamatAnggota=‟Bandung‟
Maka hasil pencarian akan menampilkan NamaAnggota dan AlamatAnggota
yang bernomor A00022 atau yang tinggal di Bandung.
8.3 Update Data
Update data digunakan untuk mengubah nilai data yang sudah disimpan
sebelumnya. Karena update dilakukan untuk data yang telah ada maka terlebih
dahulu akan dilakukan pencarian data yang akan diubah tersebut. Pencarian
dapat menggunakan field manapun. Setelah data ditemukan maka pengguna
dapat mengubah nilai-nilainya. Pengubahan nilai dapat dilakukan pada 1 atau
banyak field pada satu record. Sintax update adalah sebagai berikut
update <nama_table>
set <field 1>=<nilai>,<field 2>=<nilai>,… , <field n>=<nilai>
where <field acuan> = <nilai>
Field acuan merupakan field yang tidak akan mengalami perubahan seperti
field primary key.
Contoh : Akan diubah nilai NamaAnggota : Michael menjadi Michelle, dimana
NamaAnggota : Michael mempunyai NoAnggota : A00022, maka sintaksnya :
Update Anggota set NamaAnggota=‟Michelle‟ where NoAnggota=‟A00022‟
8.4 Delete Data
Delete data digunakan untuk menghapus suatu record yang telah
disimpan sebelumnya. Delete dilakukan terhadap data yang sudah ada maka
terlebih dahulu akan dilakukan pencarian data sehingga akan menampilkan
data yang lebih spesifik. Setelah record ditemukan maka dapat dilakukan
penghapusan data. Delete dapat dilakukan per record atau beberapa record
sekaligus dengan menggunakan criteria.
Sintaks delete adalah sebagai berikut :
delete from <nama_table> where <field criteria>=<nilai>
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-5
Field criteria merupakan field yang akan digunakan acuan data yang akan
dihapus. Misal akan dilakukan penghapusan data terhadap Anggota yang
mempunyai NoAnggota :A00022, maka sintaksnya adalah :
delete from Anggota where NoAnggota = „A00022‟
Jika ingin dilakukan penghapusan beberapa data, misal ingin menghapus semua
Anggota yang beralamat di Bandung dan bernama Budi maka sintaksnya :
Delete from Anggota
where NamaAnggota = „Budi‟ AND AlamatAnggota =‟Bandung‟
8.5 Karakter Spesial
Dalam pencarian data atau pemberian criteria, kemungkinan hanya
diketahui sebagian dari nilai. Misal ingin mencari seseorang yang mempunyai
nama yang berawalan huruf M. Jika menggunakan sintaks :
Select * from Anggota where NamaAnggota=‟M‟
Maka sintaks diatas akan menampilkan anggota yang mempunyai nama : M,
padahal yang dinginkan adalah menampilkan semua nama yang berawalan M.
Hal ini dapat dilakukan dengan bantuan karakter spesial, karakter special
tersebut adalah
Tabel 8-1 Karakter Special
Karakter Fungsi
% Mewakili 0 atau banyak karakter, untuk karakter angka
[0..9] atau huruf [a..z][A..Z]
Penggunaan karakter spesial harus diawali dengan klausa Like. Maka sintaks
untuk menampilkan anggota yang mempunyai nama berawalan M adalah :
Select * from Anggota where NamaAnggota like ‟M%‟
Tanda „M%‟ menandakan bahwa dibelakang huruf M terdapat 1 atau banyak
karakter.
Contoh penggunaan selengkapnya adalah sebagai berikut :
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-6
Tabel 8-2 Contoh Penggunaan Karakter Special
Pola Cocok (pola yang benar) Tidak Cocok (pola yang
salah)
a%a aa, aBa, aCCCCCa aBC
%Z% Z, aaabbbZ, aZbbxaaa, abZ aba
%a Aaaavvvvz, z, az aza
A% Abbbcccc, A, Ab bA
8.6 ADOConnection
Pada bab ini akan mengimplementasikan penggunaan ADOConnection.
Dalam pembuatan aplikasi ADOConnection tidak selalu harus digunakan,
tetapi ADOConnection akan membuat program lebih efisien. Komponen
ADOConnection terdapat pada Tool Pallete ADO.
Jika akan menampilkan beberapa table dalam satu database dengan
menggunakan ADOTable maka setiap kita menambahkan komponen
ADOTable, terlebih dahulu harus mensetting ConnectionString, padahal isi
dari ConnectionString pada tiap komponen ADOTable sama. Maka agar lebih
efisien digunakan ADOConnection dimana didalam ADOConnection ini
dilakukan setting ConectionString sehingga komponen ADOTable atau
ADOQuery hanya perlu terhubung dengan ADOConnection dan tidak perlu
setting ConnectionString lagi.
8.7 Aplikasi Insert, Update, Delete Anggota
Pada aplikasi ini akan digunakan database dbSewaVCD.mdb. Table yang
akan digunakan adalah table Anggota.
1. Buat aplikasi baru dengan memilih menu File > New >
Application
2. Rancang tampilan form seperti gambar berikut dengan memasukkan
komponen sebagai berikut dan ubah properties seperti table di
bawah
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-7
Gambar 8-1- Tampilan Form Anggota
Tabel 8-3 Properties FormDBAnggota
Komponen Properties Nilai Properties
Form Name FormDBAnggota
Caption Form Anggota
GroupBox1 Name GBInputBarang
Caption Input Barang
GroupBox2 Name GBTampilanBarang
Caption Tampilan Barang
Label1 Name LblNoAnggota
Caption No Anggota
Label2 Name LblNamaAnggota
Caption Nama Anggota
Label3 Name LblAlamatAnggota
Caption Alamat Anggota
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-8
Label4 Name LblTelpAnggota
Caption Telp Anggota
Edit1 Name ENoAnggota
Text
Edit2 Name EnamaAnggota
Text
Edit3 Name EalamatAnggota
Text
Edit4 Name EtelpAnggota
Text
Button1 Name BtnSimpan
Caption Simpan
Button2 Name BtnUbah
Caption Ubah
Button3 Name BtnHapus
Caption Hapus
Button4 Name BtnKeluar
Caption Keluar
DBGrid Name DBGridAnggota
3. Komponen Label dan Edit diletakkan di dalam GroupBox1,
sedangkan DBGrid diletakkan di dalam GroupBox2.
4. Simpan file dengan nama unit UnitDBAnggota.pas dan project
dengan nama PrjDBAnggota.dpr.
5. Masukkan komponen yang dibutuhkan untuk koneksi ke database
MS. Access yaitu ADOConnection, dan komponen untuk mengolah
databse yaitu ADOQuery dan DataSource kedalam DataModule
6. Untuk membuat data module pilih File > New > Data Module,
ubah properties Name menjadi DataModuleVCD.
7. Kemudian masukkan komponen kedalam DataModuleVCD seperti
gambar berikut :
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-9
Gambar 8-2 - Data Module
Tabel 8-4 Properties ADOConnVCD
Komponen Properties Nilai Properties
ADOConnection Name ADOConnVCD
ConnectionString dbSewaVCD.mdb
ADOQuery Name ADOQueryVCD
Connection ADOConnVCD
DataSource Name DSAnggotaVCD
Dataset ADOQueryVCD
19. Untuk setting properties ADOConnVCD,
a. Pada properties Connection String klik tanda sehingga akan
muncul tampilan sebagai berikut
Gambar 8-3 - Connection String
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-10
b. Klik tombol build sehingga akan muncul pilihan OLE DB Provider,
pilih yg Microsoft Jet 4.0 OLE DB Provider
Gambar 8-4 - Data Link Properties Provider
c. Kemudian klik tombol Next, sehingga muncul tampilan sebagai
berikut
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-11
Gambar 8-5 - Data Link Properties Connection
d. Pada option Select or enter a database name, klik tanda
kemudian cari dbSewaVCD.mdb
e. Cek koneksi dengan menekan tombol Test Connection
20. Untuk setting properties ADOQueryVCD
a. Pada properties Connection klik menu drop down kemudian pilih
ADOConnVCD
b. Pada properties SQL klik tanda sehingga akan muncul
tampilan sebagai berikut :
Gambar 8-6 - SQL String List Editor
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-12
Tuliskan sintaks berikut di dalamnya
Select * from Anggota
21. Untuk setting properties DSAnggotaVCD
a. Pada properties DataSet klik menu drop down kemudian pilih
ADOQueryVCD
22. Simpan DataModuleVCD dengan nama UnitDataModuleVCD.pas
Agar komponen yang ada pada DataModuleVCD dapat diakses dan
digunakan oleh form utama yaitu FormDBAnggota, maka anda harus
me-use unit UnitDataModule dengan cara, aktifkan FormDBAnggota,
lalu pilih File > Use Unit (Alt + F11), lalu pilih
UnitDataModuleVCD.
23. Ubah properties DataSource pada DBGridAnggota yang terdapat pada
FormDBAnggota dengan klik drop down kemudian pilih
DataModuleVCD.DSAnggotaVCD.
24. Pada DBGridAnggota kita setting tampilan kolom seperti gambar di
bawah
Gambar 8-7 - Tampilan Form Anggota Lengkap
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-13
a. Klik DBGridAnggota kemudian pilih properties Columns,
sehingga akan muncul dialog seperti dibawah
Gambar 8-8 - Setting Column DBGrid
b. Klik gambar sebanyak 4 kali, sehingga akan muncul tulisan 0-
TColumn, 1-TColumn, 2-TColumn, 3-TColumn.
c. Klik pada tulisan tersebut sehingga akan muncul properties pada
ObjectInspector. Ubah properties sebagai berikut
Tabel 8-5 Properties Komponen ObjectInspector
Komponen Properties Nilai properties
0-TColumn Title > Caption No Anggota
FieldName NoAnggota
Width 60
1-TColumn Title > Caption Nama Anggota
FieldName NamaAnggota
Width 100
2-TColumn Title > Caption Alamat Anggota
FieldName AlamatAnggota
Width 125
3-TColumn Title > Caption No Telp
FieldName TelpAnggota
Width 60
25. Buat Prosedure Clear, prosedur ini berguna untuk mengosongkan Text
pada komponen Edit. Caranya adalah :
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-14
a. Pindah ke UnitDBAnggota, masukkan kode berikut didalam bagian
interface > public
public { Public declarations }
procedure Clear();
b. Kemudian tuliskan kode berikut di dalam bagian implementation
procedure TFormDBAnggota.Clear();
begin
ENoAnggota.Enabled:= true;
ENoAnggota.Clear;
ENamaAnggota.Clear;
EAlamatAnggota.Clear;
ETelpAnggota.Clear;
end;
26. Buat Procedure Refresh, prosedur ini untuk menampilkan isi table
Anggota yang baru setelah dilakukan suatu prose‟s baik Insert, Update,
maupun Delete. Caranya adalah :
a. Pindah ke UnitDBAnggota, tambahkan kode berikut didalam bagian
interface > public, sehingga kodenya akan menjadi seperti
berikut :
public { Public declarations }
procedure Clear();
procedure Refresh();
b. Kemudian tambahkan kode berikut di dalam bagian implementation
procedure TFormDBAnggota.Refresh();
begin
with DataModuleVCD.ADOQueryVCD do
begin
Close;
SQL.Clear;
SQL.Text:= 'Select * from Anggota';
Open;
end;
end;
27. Pindah ke FormDBAnggota kemudian klik di daerah manapun pada form
atau dengan memilih FormDBAnggota pada Object Inspector, kemudian
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-15
pada Object Inspector Event klik ganda pada Event OnShow, maka
akan muncul sebuah prosedur TFormDBAnggota.FormShow,
kemudian lengkapi prosedur tersebut seperti di bawah
procedure TFormDBAnggota.FormShow(Sender: TObject);
begin
DataModuleVCD.ADOQueryVCD.Active:=True;
DataModuleVCD.ADOQueryVCD.Refresh;
BtnSimpan.Enabled:= True;
BtnUbah.Enabled := False;
BtnHapus.Enabled :=False;
end;
28. Pindah ke FormDBAnggota, klik ganda pada Button Simpan sehingga
akan memunculkan procedure
TFormDBAnggota.BtnSimpanClick, kemudian lengkapilah
programnya seperti berikut
procedure TFormDBAnggota.BtnSimpanClick(Sender: TObject);
begin
with DataModuleVCD.ADOQueryVCD do
begin
Close;
SQL.Text:='Insert into Anggota
values('+QuotedStr(ENoAnggota.Text)+','+QuotedStr(ENamaAnggota.Text)+','
+QuotedStr(EAlamatAnggota.Text)+','+QuotedStr(ETelpAnggota.Text)+')';
ExecSQL;
end;
Clear(); {memanggil procedure Clear}
Refresh(); {memanggil procedure Refresh}
end;
29. Pindah ke FormDBAnggota, klik ganda pada Button Ubah sehingga
akan memunculkan procedure TFormDBAnggota.BtnUbahClick,
kemudian lengkapilah programnya seperti berikut
procedure TFormDBAnggota.BtnUbahClick(Sender: TObject);
begin
with DataModuleVCD.ADOQueryVCD do
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-16
begin
Close;
SQL.Text:='Update Anggota set
NamaAnggota='+QuotedStr(ENamaAnggota.Text)+',AlamatAnggota='
+QuotedStr(EAlamatAnggota.Text)+',TelpAnggota='+
QuotedStr(ETelpAnggota.Text)+'where NoAnggota='+QuotedStr(ENoAnggota.Text);
ExecSQL;
end;
Refresh();
Clear();
BtnSimpan.Enabled:=True;
BtnUbah.Enabled:=False;
BtnHapus.Enabled:=False;
end;
30. Pindah ke FormDBAnggota, klik ganda pada Button Hapus sehingga
akan memunculkan procedure TFormDBAnggota.BtnHapusClick,
kemudian lengkapilah programnya seperti berikut
procedure TFormDBAnggota.BtnHapusClick(Sender: TObject);
begin
with DataModuleVCD.ADOQueryVCD do
begin
Close;
SQL.Text:='Delete from Anggota where
NoAnggota='+QuotedStr(ENoAnggota.Text);
ExecSQL;
end;
Refresh();
Clear();
BtnSimpan.Enabled:=True;
BtnUbah.Enabled:=False;
BtnHapus.Enabled:=False;
end;
31. Pindah ke FormDBAnggota, klik pada DBGridAnggota atau pilih
DBGridAnggota pada ObjectInspector kemudian pada Object Inspector
Event klik ganda pada Event OnCellClick, maka akan muncul sebuah
prosedur TFormDBAnggota.DBGridAnggotaCellClick, kemudian
lengkapi prosedur tersebut seperti di bawah
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-17
procedure TFormDBAnggota.DBGridAnggotaCellClick(Column: TColumn);
begin
BtnSimpan.Enabled:= false;
BtnUbah.Enabled:= true;
BtnHapus.Enabled:= true;
ENoAnggota.Text:=
DataModuleVCD.ADOQueryVCD.fieldByName('NoAnggota').AsString;
ENoAnggota.Enabled:= false;
ENamaAnggota.Text:=
DataModuleVCD.ADOQueryVCD.fieldByName('NamaAnggota').AsString;
EAlamatAnggota.Text:=
DataModuleVCD.ADOQueryVCD.fieldByName('AlamatAnggota').AsString;ETelpA
nggota.Text:=
DataModuleVCD.ADOQueryVCD.fieldByName('TelpAnggota').AsString;
end;
32. Pindah ke FormDBAnggota, klik ganda pada Button Keluar sehingga
akan memunculkan procedure TFormDBAnggota.BtnKeluarClick,
kemudian lengkapilah programnya seperti berikut
procedure TFormDBAnggota.BtnKeluarClick(Sender: TObject);
begin
Application.Terminate;
end;
33. Pilih File > Save All, untuk menyimpan semua perubahan
34. Jika ingin menghilangkan Dialog Login maka klik pada ADOConnVCD
kemudian ubah properties LoginPrompt menjadi False.
8.8 Aplikasi Insert, Update, Delete dengan menggunakan
DBNavigator
Aplikasi yang akan dibuat akan mengimplementasikan penggunaan
DBNavigator untuk melakukan Insert, Update, dan Delete. Komponen
DBNavigator terdapat pada Tool Pallete Data Controls, klik tanda .
1. Buat aplikasi baru dengan memilih menu File > New > Application
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-18
2. Rancang tampilan form seperti gambar berikut dengan memasukkan
komponen sebagai berikut dan ubah properties seperti table di bawah:
Gambar 8-9 - Tampilan Form Anggota
Tabel 8-6 Properties FormDBAnggota
Komponen Properties Nilai Properties
Form Name FormDBAnggota
Caption Form Anggota
GroupBox1 Name GroupBoxAnggota
Caption Data Anggota
DBGrid Name DBGridAnggota
DBNavigator Name DBNavAnggota
3. Simpan file dengan nama unit UnitDBAnggotaVCD.pas dan nama
project PrjDBAnggotaVCD.dpr
4. Masukkan komponen yang dibutuhkan untuk koneksi ke database
MS.Access yaitu ADOConnection, dan komponen untuk mengolah
databse yaitu ADOTable dan DataSource kedalam DataModule
5. Untuk membuat data module pilih File > New > Data Module, ubah
properties Name menjadi DataModuleVCD.
6. Kemudian masukkan komponen kedalam DataModuleVCD seperti
gambar berikut :
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-19
Gambar 8-10 - Data Module
Tabel 8-7 Properties ADOConnVCD
Komponen Properties Nilai Properties
ADOConnection Name ADOConnVCD
ConnectionString dbSewaVCD.mdb
ADOTable Name ADOTableAnggota
Connection ADOConnVCD
TableName Anggota
Active True
DataSource Name DSAnggotaVCD
Dataset ADOTableAnggota
7. Simpan DataModuleVCD dengan nama UnitDataModule.pas
8. Agar komponen yang ada pada DataModuleVCD dapat diakses dan
digunakan oleh form utama yaitu FormDBAnggota, maka anda harus
me-use unit UnitDataModule dengan cara, aktifkan FormDBAnggota,
lalu pilih File > Use Unit (Alt + F11), lalu pilih UnitDataModule.
9. Ubah properties DataSource pada DBGridAnggota yang terdapat pada
FormDBAnggota dengan klik drop down kemudian pilih
DataModuleVCD.DSAnggotaVCD.
10. Ubah properties DataSource pada DBNavAnggota yang terdapat pada
FormDBAnggota dengan klik drop down kemudian pilih
DataModuleVCD.DSAnggotaVCD.
11. Pada DBGridAnggota kita setting tampilan kolom seperti gambar di
bawah
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-20
a. Klik DBGridAnggota, kemudian pilih properties Column, maka
akan muncul tampilan seperti berikut
Gambar 8-11 - Setting column DBGrid
b. Klik gambar sebanyak 4 kali, sehingga akan muncul tulisan 0-
TColumn, 1-TColumn, 2-TColumn, 3-TColumn.
c. Klik pada tulisan tersebut sehingga akan muncul properties pada
ObjectInspector. Ubah properties sebagai berikut :
Tabel 8-8 Properties Komponen ObjectInspector pada DBNavigator
Komponen Properties Nilai properties
0-TColumn Title > Caption No Anggota
FieldName NoAnggota
Width 60
1-TColumn Title > Caption Nama Anggota
FieldName NamaAnggota
Width 100
2-TColumn Title > Caption Alamat Anggota
FieldName AlamatAnggota
Width 125
3-TColumn Title > Caption No Telp
FieldName TelpAnggota
Width 100
12. Klik File > Save All, untuk menyimpan perubahan
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-21
13. Run program, sehingga akan muncul tampilan sebagai berikut :
Gambar 8-12 - Running PrjDBAnggotaVCD
8.9 Aplikasi Searching
Pada bab ini akan diberikan contoh pembuatan program untuk searching data.
1. Buatlah aplikasi baru dengan cara memilih menu File > New
>Application
2. Masukkan komponen seperti gambar di bawah
Gambar 8-13 - Gbr 10.18 Form Search
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-22
Tabel 8-9 Properties FormSearch Komponen Properties Nilai Properties
Form Name FormSearch
Caption Search Anggota
GroupBox1 Name GroupBox1
Caption Search Anggota
GroupBox2 Name GroupBox2
Caption Data Anggota
Label1 Name Label1
Caption Search By
Label2 Name Label2
Caption Data
ComboBox Name ComboBox1
Text
Edit Name Edit1
Text
ADOQuery Name ADOQuery1
ConnectionString dbSewaVCD.mdb
SQL Select * from Anggota
Active True
DataSource Name DataSource1
DataSet ADOQuery1
DBGrid Name DBGRid1
DataSource DataSource1
3. Klik pada ComboBox1, pilih properties Items kemudian klik tanda
sehingga akan muncul dialog sebagai berikut
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-23
Gambar 8-14 - String List Editor
4. Kemudian tuliskan Item seperti diatas yaitu : No Anggota, Nama
Anggota, Alamat Anggota, kemudian klik OK
5. Klik properties ItemIndex dan ubah isinya menjadi 0
6. Simpan Aplikasi dengan nama file unit USearchAnggota.pas dan
file project dengan nama PrjSearchAnggota.dpr
7. Untuk dapat menjalankan fungsi search maka tambahkan kode
berikut ke dalam Unit USearchAnggota
8. Tambahkan kode berikut di dalam bagian deklarasi variabel global
var
FormSearch: TFormSearch;
selection : string;
pil : integer;
9. Klik pada bagian kosong di FormSearch atau pilih FormSearch pada
object Inspector kemudian pilih event OnActivate sehingga akan
muncul procedure TFormSearch.FormActivate, kemudian
tambahkan kode berikut
procedure TFormSearch.FormActivate(Sender: TObject);
begin
pil :=0;
end;
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-24
10. Klik pada komponen ComboBox1, kemudian pilih Event
OnChange sehingga muncul procedure
TFormSearch.ComboBox1Change, tambahkan kode berikut
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
pil:= ComboBox1.ItemIndex;
end;
11. Klik pada Edit1, kemudian pilih Event OnChange sehingga muncul
procedure TFormSearch.Edit1Change, tambahkan kode berikut
procedure TForm1.Edit1Change(Sender: TObject);
var
dataquery : string;
begin
dataquery := QuotedStr('%'+Edit1.Text+'%');
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:= 'Select * from Anggota where';
if (pil = 0 )then
sql.Add('NoAnggota like'+dataquery)
else
if (pil = 1) then
sql.Add('NamaAnggota like'+dataquery)
else
sql.Add('AlamatAnggota like'+dataquery);
ExecSQL;
Open;
end;
end;
12. Simpan perubahan aplikasi dengan pilih File > SaveAll
13. Jika dirunning maka hasilnya adalah sebagai berikut
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-25
Gambar 8-15 - Running Program Search
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-26
Rangkuman
1. Insert data digunakan untuk memasukkan data baru ke suatu table
2. Sintax sql untuk insert adalah sebagai berikut
insert into <nama_table> values(<nilai1>,<nilai2>,… ,<nilai_n>)
3. Select data digunakan menampilkan data berdasarkan nilai tertentu
4. Sintax sql untuk select dari suatu table adalah sebagai berikut
Select <field1>, <field2>, …, <field n> from <nama_table>
5. Sintax sql untuk select dari suatu table dengan syarat nilai tertentu
adalah sebagai berikut
Select <field 1>, <field 2>, …, <field n> from <nama_table> where <field m> = <kriteria>
6. Update data digunakan untuk mengubah nilai data yang sudah disimpan
sebelumnya
7. Sintax sql untuk update adalah sebagai berikut
update <nama_table> set <field 1>=<nilai>,<field 2>=<nilai>,… , <field
n>=<nilai> where <field acuan> = <nilai>
8. Delete data digunakan untuk menghapus suatu record yang telah
disimpan sebelumnya
9. Sintax sql untuk delete adalah sebagai berikut
delete from <nama_table> where <field criteria>=<nilai>
Kuis Benar Salah
1. Tanda * menunjukkan bahwa hasil query akan menampilkan data yang
berada di keseluruhan field pada suatu table.
2. Sintaks yang digunakan untuk menampilkan data Anggota yang
mempunyai nama berawalan M adalah
Select * from Anggota where NamaAnggota = ‟M%‟
3. Untuk mengimplementasikan Query maka dapat digunakan komponen
ADOQuery dan sintaks SQL ditulis pada properties SQL.
4. Tanda pada DBNavigator digunakan untuk mengupdate data
Politeknik Telkom Pemrograman Visual
Pemakaian Komponen Data Control 8-27
5. Sintaks delete * from Anggota akan menghapus semua record yang
terdapat pada table Anggota
Pilihan Ganda
1. Tanda yang harus diakses pada DBNavigator untuk menghapus
record adalah
a.
b.
c.
d.
2. Komponen dataset yang dapat digunakan untuk
mengimplementasikan sintaks sql adalah
a. ADOConnection
b. ADOTable
c. ADOQuery
d. ADOSQL
3. Sintaks select NamaAnggota from Anggota where NamaAnggota like „%m%i‟, akan
menampilkan hasil sebagai berikut, kecuali
a. Michael
b. Remi
c. Merci
d. Miami
4. Sintaks SQL.Clear digunakan untuk
a. Mengosongkan isi DBGrid
b. Menghapus data pada Table
c. Menghapus isi property SQL
d. Mengosongkan text pada komponen Edit
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-1
9 APLIKASI DATABASE
MASTER DETAIL
Overview
Dalam bab ini juga akan dijelaskan pembuatan master detail dimana data yang
diperlukan akan ditampilkan secara lengkap.
Tujuan
1. Mengetahui cara pembuatan Master Detail
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-2
9.1 Aplikasi Database Master Detail
Aplikasi Database Master Detail merupakan aplikasi yang menampilkan
relasi master-detail (parent-child) di antara data yang terdapat di sebuah table
Master dan di table Detail dalam database relasional. Dalam aplikasi ini
terdapat dua buah blok data yang keduanya direlasikan dalam hubungan
Master dan Detail. Aplikasi Master Detail digunakan untuk menampilkan
keterhubungan one to many dari dua tabel artinya pada database secara fisik,
satu record tunggal dalam tabel Master memiliki referensi satu atau lebih
record yang ada di dalam tabel Detail. Dengan membuat aplikasi Master
Detail maka kita dapat melihat rincian data yang berhubungan dengan suatu
tabel.
Pada studi kasus ini akan dibuat aplikasi master detail antara data
Anggota dengan data VCD yang sedang disewa oleh Anggota tersebut. Data
Anggota terdapat pada tabel Anggota dan data VCD yang disewa terdapat
pada tabel Sewa. Langkah untuk membuat aplikasi Master Detail adalah
sebagai berikut :
1. Buat aplikasi baru dengan memilih menu File > New> Application
2. Rancang tampilan form seperti gambar berikut dengan memasukkan komponen
dan properties seperti tabel di bawah:
Gambar 9-1 - Form Master-Detail Anggota
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-3
Tabel 9-1 Properties FormMasterDetail
Komponen Properties Nilai Properties
Form Name FormMasterDetail
Caption Master Detail Anggota
GroupBox1 Name GroupBoxMaster
Caption Data Anggota
GroupBox2 Name GroupBoxDetail
Caption Data Sewa
DBGrid1 Name DBGridAnggota
DBGrid2 Name DBGridSewa
3. Simpan file unit dengan nama UnitMasterDetail.pas dan file project dengan
nama PrjMasterDetail.dpr.
4. Tambahkan sebuah data module dengan cara pilih File > New > Data
Module, ubah properties Name menjadi DataModuleMasterDetail.
5. Masukkan komponen kedalam DataModuleMasterDetail seperti gambar berikut
:
Gambar 9-2 - Data Module
Tabel 9-2 Properties ADOConnVCD
Komponen Properties Nilai Properties
ADOConnection Name ADOConnVCD
ConnectionString dbSewaVCD.mdb
ADOTable1 Name ADOTableAnggota
Connection ADOConnVCD
TableName Anggota
Active True
ADOTable2 Name ADOTableSewa
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-4
Connection ADOConnVCD
TableName Sewa
Active True
DataSource1 Name DSAnggotaVCD
Dataset ADOTableAnggota
DataSource2 Name DSSewaVCD
Dataset ADOTableSewa
ADOTableAnggota dan DSAnggotaVCD digunakan untuk menghubungkan
DBGridAnggota ke tabel Anggota yang berperan sebagai Master Table.
ADOTableSewa dan DSSewaVCD digunakan untuk menghubungkan
DBGridSewa ke tabel Sewa yang berperan sebagai Detail Table.
6. Simpan DataModuleMasterDetail dengan nama UnitDataModule.pas
7. Kembali ke FormMasterDetail.
8. Agar komponen yang ada pada DataModuleMasterDetail dapat diakses dan
digunakan oleh form utama yaitu FormMasterDetail, maka harus use unit
UnitDataModule dengan cara: aktifkan FormMasterDetail, pilih File > Use
Unit (Alt + F11), lalu pilih UnitDataModule.
9. Ubah properties DataSource pada DBGridAnggota dengan klik drop down
kemudian pilih DataModuleMasterDetail.DSAnggotaVCD.
10. Ubah properties DataSource pada DBGridSewa yang dengan klik drop
down kemudian pilih DataModuleMasterDetail.DSSewaVCD.
11. Sampai disini kita baru menampilkan data per tabel, untuk mengimplementasikan
Master Detail maka tabel Anggota harus dihubungkan dengan tabel Sewa,
langkah menghubungkan kedua tabel tersebut adalah sebagai berikut :
12. Kembali ke DataModuleMasterDetail.
13. Klik pada ADOTableSewa.
a. Ubah properties MasterSource menjadi DSAnggotaVCD.
b. Ubah properties IndexFieldName menjadi NoAnggota.
c. Ubah properties MasterFields dengan cara klik tanda sehingga akan
muncul kotak dialog Field Link Designer seperti berikut :
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-5
Gambar 9-3 - Field Link Designer
d. Klik NoAnggota pada Master Fields.
e. Klik NoAnggota pada Detail Fields.
f. Klik tombol Add, sehingga pada kotak dialog Field Link Designer akan
muncul tampilan sebagai berikut, kemudian klik button OK.
14. Simpan perubahan pada aplikasi dengan memilih File > Save All
15. Run aplikasi. Jika pada field anggota diklik maka pada detail akan menampilkan
data sewa yang berkaitan dengan anggota tersebut.
Contoh tampilan saat aplikasi master detail dijalankan :
Gambar 9-4 - Aplikasi Running
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-6
Kesimpulan
Dengan membuat aplikasi Master Detail maka dari satu record dalam tabel
Master dapat ditampilkan satu atau lebih record dari tabel Detail yang
berhubungan dengan record tabel Master tersebut.
Rangkuman
1. Aplikasi Master Detail digunakan untuk menampilkan keterhubungan
one to many dari dua table
2. Satu record tunggal dalam table Master memiliki referensi satu atau
lebih record yang ada di dalam table Detail
Kuis Benar Salah
1. Untuk menghubungkan data antara table Master dan Detail maka
properties yang harus disetting adalah properties DetailFields pada
DataSet
Pilihan Ganda
1. Untuk menghubungkan table Master dengan table Detail maka
properties yang harus disetting pada komponen ADOTable adalah
a. MasterSource
b. MasterFields
c. ConnectionString
d. IndexFieldName
Politeknik Telkom Pemrograman Visual
Aplikasi Database Master Detail 9-7
Latihan
Buatlah sebuah aplikasi master detail dimana jika pada field VCD diklik maka
pada detail akan menampilkan data sewa yang berkaitan dengan VCD
tersebut.
Contoh tampilan aplikasi master detail pada saat dijalankan adalah seperti
pada gambar berikut:
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-1
10 DELPHI REPORTING MENGGUNAKAN
QUICK REPORT
Overview
Dalam Bab ini akan dijelaskan pemakaian quick report untuk membuat dan
menampilkan laporan dari Borland Delphi menggunakan Quick Report yang
sudah tersedia sebagai komponen Delphi.
Tujuan
1. Mengetahui cara instalasi dan konfigurasi quick report pada Delphi
2. Mengetahui cara mendesign laporan dengan quickreport
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-2
10.1 Installasi Quick Report
Borland Delphi 7 sebagai versi terbaru memang telah menyertakan
Rave Report sebagai pengganti dari Quick Report dalam proses pembuatan
laporan. Sehingga pada Component Palette Delphi 7 tidak terdapat tab untuk
fasilitas Quick Report. Namun demikian, Quick Report masih tetap bisa
digunakan untuk membuat sebuah report/ laporan dengan menambahkan
komponennya terlebih dahulu pada Component Palette.
Langkah-langkah untuk menambahkan komponen Quick Report pada
Component Palette adalah:
1. Pilih menu Component >> Install Packages… sehingga muncul
kotak dialog Project Options.
Gambar 10-1 - Project Options
2. Klik button Add… sehingga akan tampil kotak dialog Add Design
Package.
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-3
Gambar 10-2 - Browse - pencarian library quickreport
3. Pilih file bernama dclqrt70.bpl yang terdapat pada direktori
C:\Program Files\Borland\Delphi7\Bin.
4. Klik button Open untuk mengaktifkannya, maka akan kembali ke kotak
dialog sebelumnya.
5. Klik button OK. Komponen QReport akan ditambahkan pada
Component Palette seperti pada gambar berikut :
Gambar 10-3 - Component Pallete QReport
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-4
10.2 Komponen Quick Report
QuickRep
QRSubDetail
QRStringBand
QRBand
QRChildBand
QRGroup
QRLabel
QRDBText
QRExpr
QRSysData
QRMemo
QRExprMemo
QRRichText
QRDBRichText
QRShape
QRImage
QRDBImage
QRCompositeReport
QRPreview
QRTextFilter
QRCSVFilter
QRHTMLFilter
Gambar 10-4 - Component Pallete QReport - Detail
Berikut penjelasan mengenai beberapa komponen yang terdapat pada Quick
Report :
Tabel 10-1 Komponen pada Quick Report
No Nama
Komponen Keterangan
1 QuickRep Area untuk menempatkan komponen-
komponen laporan.
2 QRBand Membagi area besar pada QuickRep menjadi
beberapa area yang lebih kecil.
3 QRLabel Untuk menampilkan teks statis yang tidak akan
berubah pada saat laporan dijalankan.
4 QRDBText QRDBText terhubung ke database untuk
menampilkan data yang ada pada tabel.
5 QRExpr Untuk menangani operasi kalkulasi.
6 QRSysData
Untuk menampilkan data yang berasal dari
sistem komputer seperti nomor halaman atau
tanggal.
7 QRMemo
Sebuah komponen yang memungkinkan satu
komponen untuk memiliki banyak baris teks
pada form laporan.
8 QRRichText Mirip dengan QRMemo tapi memungkinkan teks
untuk diformat.
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-5
9 QRDBRichText Untuk menangani field memo dalam database.
10 QRShape Untuk membuat bentuk geometri garis atau
bentuk geometri lainnya.
11 QRImage Untuk menambahkan suatu image bitmap atau
image grafis lainnya pada laporan, seperti logo.
12 QRDBImage Versi Dataware dari QRImage dan digunakan
untuk menampilkan image grafis dari file.
10.3 Membuat Laporan dengan Quick Report
10.3.1 Membuat Form Aplikasi Laporan
Komponen-komponen dalam QReport dapat digunakan untuk
membangun sebuah laporan yang datanya diambil dari database. Berikut
sebuah contoh kasus sederhana untuk membuat laporan dari tabel-tabel yang
terdapat pada database Penyewaan VCD yang telah dibuat pada modul
sebelumnya. Tapi sebelum memulai pembuatan laporan, isilah tabel-tabel pada
database tersebut dengan beberapa data.
Langkah-langkah yang harus dilakukan untuk membuat laporan dengan Quick
Report :
1. Buat aplikasi baru.
2. Desain form untuk menampilkan dan mencetak laporan seperti pada
gambar berikut:
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-6
Gambar 10-5 - Form Navigasi Laporan
Tabel 10-2 Properties FormLaporan
Komponen Properti Nilai
Form Caption
Name
.: Form Laporan
FormLaporan
Label1 Caption Laporan Anggota
Label2 Caption Laporan VCD
Label3 Caption Laporan Penyewaan
Button1 Caption
Name
Tampil
ButtonTampilAnggota
Button2 Caption
Name
Cetak
ButtonCetakAnggota
Button3 Caption
Name
Tampil
ButtonTampilVCD
Button4 Caption
Name
Cetak
ButtonCetakVCD
Button5 Caption
Name
Tampil
ButtonTampilSewa
Button6 Caption
Name
Cetak
ButtonCetakSewa
3. Simpan unit form dengan nama UnitLaporan.pas dan project dengan
nama ProjectLaporan.dpr.
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-7
4. Buat sebuah form baru dan simpan dengan nama
UnitLaporanAnggota.pas.
5. Atur properti form baru dengan ketentuan sebagai berikut :
Name diisi dengan “FormLapAnggota”
Caption diisi dengan “.: Form Laporan Anggota”
6. Tambahkan komponen ADOQuery dan QuickRep pada
FormLapAnggota.
7. Pilih komponen ADOQuery, atur propertinya dengan ketentuan sebagai
berikut :
Tabel 10-3 Properties ADOQueryLapAnggota
Properti Keterangan
Name ADOQueryLapAnggota
Connection
String
Koneksikan form dengan database dbSewaVCD.mdb
SQL
Klik tombol builder (…) sehingga akan muncul kotak dialog
String List Editor, isi dengan sintaks SQL select * from
anggota; untuk menampilkan semua data di tabel anggota
dan klik button OK.
Active True
8. Pilih komponen QuickRep, atur propertinya dengan ketentuan sebagai
berikut :
Tabel 10-4 Properties QuickRepLapAnggota
Properti Keterangan
Name QuickRepLapAnggota
DataSet ADOQueryLapAnggota
Untuk mengkoneksikan QuickRepLapAnggota dengan database
melalui ADOQueryLapAnggota.
Bands Klik tanda + untuk menampilkan pilihan pengaturan band.
HasTitle = True
HasDetail = True
HasSummary = True
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-8
9. Pilih komponen TitleBand pada QuickRepLapAnggota, atur propertinya
dengan ketentuan sebagai berikut :
Tabel 10-5 Properties TitleBandLapAnggota
Properti Keterangan
Name TitleBandLapAnggota
ForceNewPage True
Untuk mencetak bagian judul laporan hanya pada halaman
pertama.
HasChild True
Untuk menampilkan band Child (anak) dan
menghubungkannya dengan band tersebut.
10. Pilih komponen DetailBand pada QuickRepLapAnggota, atur propertinya
dengan ketentuan sebagai berikut :
Tabel 10-6 Properties DetailBandLapAnggota
Properti Keterangan
Name DetailBandLapAnggota
11. Pilih komponen SummaryBand pada QuickRepLapAnggota, atur
propertinya dengan ketentuan sebagai berikut :
Tabel 10-7 Properties SummaryBandLapAnggota
Properti Keterangan
Name SummaryBandLapAnggota
ForceNewPage True
HasChild True
Frame Klik tanda +, isi properti DrawTop = True untuk
menampilkan garis pada bagian atas dan DrawBottom =
True untuk garis bagian bawah. Gunakan properti lain
untuk mengatur format garis-garis bingkai.
12. Pilih komponen ChildBand di bawah TitleBand, atur propertinya dengan
ketentuan sebagai berikut :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-9
Tabel 10-8 Properties ChildBandLapAnggota
Properti Keterangan
Name ChildBandLapAnggota
Frame DrawTop = True
DrawBottom = True
LinkBand TitleBandLapAnggota
Agar band TitleBandLapAnggota dan ChildBandLapAnggota selalu
dicetak bersama-sama.
13. Pilih komponen ChildBand di bawah SummaryBand, atur propertinya
dengan ketentuan sebagai berikut :
Tabel 10-9 Properties ChildBandLapAnggota2
Properti Keterangan
Name ChildBandLapAnggota2
LinkBand SummaryBandLapAnggota
Gambar 10-6 – Lembar Kerja Laporan
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-10
10.3.2 Mendesain Laporan
Setelah semua komponen yang dibutuhkan dalam pembuatan laporan
dimasukkan ke dalam form, langkah selanjutnya adalah mendesain laporan
sesuai dengan kebutuhan. Sebagi contoh kasus, buat desain untuk laporan
anggota rental VCD “ABCD” seperti pada gambar berikut :
Gambar 10-7 - Design Laporan
1. Pilih TitleBand dan isi dengan beberapa komponen dengan properti
berikut :
Tabel 10-10 Properties TitleBand
Komponen Properti Nilai
QRLabel Caption LAPORAN ANGGOTA
QRLabel Caption RENTAL VCD "ABCD"
QRLabel Caption Tanggal :
QRSysData Data qrsDate (menampilkan tanggal
pencetakan laporan)
2. Pilih ChildBand di bawah TitleBand, isi dengan beberapa komponen
dengan properti berikut :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-11
Tabel 10-11 Properties ChildBand
Komponen Properti Nilai
QRLabel Caption No Anggota
QRLabel Caption Nama Anggota
QRLabel Caption Alamat
QRLabel Caption Telepon
Bila perlu ubah nilai properti WordWrap menjadi True dan properti
AutoSize menjadi False pada masing-masing komponen di atas untuk
mengaktifkan fungsi pelipatan teks.
3. Pilih DetailBand dan isi dengan beberapa komponen dengan properti
berikut :
Tabel 10-12 Properties DetailBand
Komponen Properti Nilai
QRDBText DataSet
DataField
ADOQueryLapAnggota
NoAnggota
QRDBText DataSet
DataField
ADOQueryLapAnggota
NamaAnggota
QRDBText DataSet
DataField
ADOQueryLapAnggota
AlamatAnggota
QRDBText DataSet
DataField
ADOQueryLapAnggota
TelpAnggota
4. Pilih SummaryBand dan isi dengan beberapa komponen dengan properti
berikut :
Tabel 10-13 Properties SummaryBand
Komponen Properti Nilai
QRLabel Caption Jumlah Anggota
QRLabel Name QRLabelJumlahAnggota
5. Pilih ChildBand di bawah SummaryBand, isi dengan beberapa komponen
dengan properti berikut :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-12
Tabel 10-14 Properties ChildBand di bawah SummaryBand
Komponen Properti Nilai
QRLabel Caption Halaman :
QRSysData Data qrsPageNumber (menampilkan nomor
halaman)
Langkah selanjutnya adalah menata komponen-komponen tersebut
sehingga tampak lebih rapi dan menarik. Jika ingin mengubah ukuran kertas
dan batas-batas pencetakan, maka double klik komponen
QuickRepLapAnggota pada daerah kosong sehingga tampil kotak dialog
Report Setting seperti berikut ini :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-13
Gambar 10-8 - Report Setting
10.3.3 Menulis Kode Program Laporan
Setelah desain laporan terbentuk, langkah berikutnya adalah
menuliskan kode program.
10.3.3.1 Kode Program pada FormLapAnggota
1. Pilih objek QuickRepLapAnggota, pilih event BeforePrint dan tuliskan
kode program berikut :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-14
procedure TFormLaporanSewa.QuickRepSewaBeforePrint(Sender:
TCustomQuickRep;
var PrintReport: Boolean);
begin
halaman:=0;
jumlahAnggota:=0;
end;
Kode progam di atas berfungsi untuk inisialisasi awal variabel sebelum
memulai pencetakan laporan. Kedua variabel tersebut bersifat global,
oleh karena itu variabel tersebut harus dideklarasikan terlebih dulu pada
bagian Var :
var
FormLaporanSewa: TFormLaporanSewa;
Halaman, jumlahAnggota : integer;
2. Pilih objek DetailBandLapAnggota, pilih event BeforePrint dan tuliskan
kode program berikut :
procedure TFormLapAnggota.DetailBandLapAnggotaBeforePrint(
Sender: TQRCustomBand; var PrintBand: Boolean);
begin
jumlahAnggota:=jumlahAnggota+1;
end;
Kode progam jumlahAnggota:=jumlahAnggota+1; menyatakan proses
menghitung jumlah anggota melalui penambahan nilai pada variabel
jumlahAnggota dengan 1 sebelum mencetak laporan.
3. Pilih objek SummaryBandLapAnggota, pilih event BeforePrint dan tuliskan
kode program berikut:
procedure TFormLapAnggota.SummaryBandLapAnggotaBeforePrint(
Sender: TQRCustomBand; var PrintBand: Boolean);
begin
QRLabelJumlahAnggota.Caption:=IntToStr(jumlahAnggota);
end;
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-15
Kode program QRLabelJumlahAnggota.Caption:=IntToStr(jumlahAnggota);
menyatakan pengisian nilai pada komponen QRLabelJumlahAnggota dengan
nilai dari variabel jumlahAnggota.
10.3.3.2 Kode Program pada FormLaporan
1. Pilih menu File >> Use Unit… lalu pilih UnitLaporanAnggota sehingga
muncul kode program seperti di bawah ini :
implementation
uses UnitLaporanAnggota;
Kode program di atas berfungsi untuk menghubungkan UnitLaporan
dengan UnitLaporanAnggota.
2. Pilih objek ButtonTampilAnggota, pilih event OnClick dan tuliskan kode
program berikut :
procedure TFormLaporan.ButtonTampilAnggotaClick(Sender:
TObject);
begin
FormLapAnggota.ADOQueryLapAnggota.SQL.Clear;
FormLapAnggota.ADOQueryLapAnggota.SQL.Add('select * from
anggota');
FormLapAnggota.ADOQueryLapAnggota.Prepared:=true;
FormLapAnggota.ADOQueryLapAnggota.Open;
FormLapAnggota.QuickRepLapAnggota.Preview;
end;
Berikut penjelasan mengenai kode program di atas :
FormLaporanSewa.ADOQueryLapAnggota.SQL.Clear;
Untuk mengosongkan sintaks SQL yang terdapat pada
ADOQueryLapAnggota sebelumnya.
FormLapAnggota.ADOQueryLapAnggota.SQL.Add('select * from
anggota');
Menulis sintaks SQL baru pada ADOQueryLapAnggota untuk
menampilkan semua data di tabel anggota.
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-16
FormLaporanSewa.ADOQueryLapAnggota.Prepared:=true;
FormLaporanSewa.ADOQueryLapAnggota.Open;
Mempersiapkan dan membuka query ADOQueryLapAnggota.
FormLaporanSewa.QuickRepSewa.Preview;
Menampilkan hasil laporan
3. Pilih objek ButtonCetakAnggota, pilih event OnClick dan tuliskan kode
program berikut :
procedure TFormLaporan.ButtonCetakAnggotaClick(Sender: TObject);
begin
FormLapAnggota.QuickRepLapAnggota.Print;
end;
Kode program FormLapAnggota.QuickRepLapAnggota.Print; berfungsi
untuk mencetak laporan.
Lakukan langkah yang sama untuk membuat laporan dari tabel VCD dan
Sewa.
Simpan project laporan yang telah dibuat dan jalankan.
Tampilan saat aplikasi dijalankan :
Gambar 10-9 - Form Navigasi Laporan Running
Contoh tampilan laporan anggota ketika button Tampil diklik :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-17
Gambar 10-10 - Display Report
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-18
Rangkuman
1. Untuk membuat sebuah laporan dengan Quick Report, maka terlebih
dahulu harus menambahkan komponennya pada Component Palette.
2. Langkah-langkah yang dapat dilakukan untuk membuat laporan dengan
Quick Report adalah membuat form aplikasi, mendesain laporan, dan
menuliskan kode program.
Latihan
Buatlah sebuah aplikasi untuk menampilkan laporan seperti pada gambar
berikut :
a. Jika button Tampil diklik maka akan menampilkan laporan penyewaan
VCD.
Contoh tampilan laporan penyewaan VCD seperti pada gambar berikut :
Politeknik Telkom Pemrograman Visual
Delphi Reporting menggunakan Quick Report 10-19
b. Jika button Cetak diklik maka secara otomatis laporan akan di-print.
c. Jika button Tutup diklik maka akan keluar dari aplikasi.
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-1
11 TUTORIAL PEMBUATAN APLIKASI
RENTAL VCD
Overview
Dalam Bab ini akan dijelaskan langkah demi langkah pembuatan sebuah
aplikasi system informasi Rental VCD dari mulai perancangan database
mengunakan Access, perancangan form, perancangan report menggunakan
Quick Report, dan implementasi object Pascal melalui kode-kode program di
dalam Dephi.
Tujuan
1. Mahasiswa mampu mempraktekan pembuatan aplikasi yang lengkap
menggunakan Delphi.
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-2
11.1 Pengantar Aplikasi Rental VCD
Aplikasi rental VCD ini memiliki fitur-fitur sebagai berikut:
a. Memiliki Form Manajemen Anggota
b. Memiliki Form Manajemen VCD
c. Memiliki Form Transaksi Peminjaman
d. Report Transaksi Peminjaman
Pembuatan aplikasi ini akan diberikan dalam langkah demi langkah tutorial
yang dimulai dengan perancangan dan pembuatan database rental vcd dengan
menggunakan MS Access. Dilanjutkan dengan perancangan dan pembuatan
Form di Delphi dan terkahir perancangan dan pembuatan report di Delphi.
11.2 Perancangan dan Pembuatan Database Rental VCD
Gambar 11-1 – Tampilan Awal MS Access 2007
Langkah-langkah pembuatan database:
1. Buatlah sebuah database menggunakan MS Access 2007
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-3
Gambar 11-2 – Membuat Database Baru
2. Klik tanda orb (start) lalu klik New
3. Pada bagian Blank Database sebelah klik tombol folder di sebelah
kanan
Gambar 11-3 – Membuat Database Baru
4. Beri nama database tersebut DBRentalVCD.mdb
Gambar 11-4 – Memilih Format Access 2003 dan memasukkan
nama
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-4
5. Pilih format Microsoft Access 2003 pada dialog box tersebut.
6. Tambahkan 4 table yaitu Anggota, VCD, PenyewaanDetil, dan
PenyewaanMaster
7. Tambahkan Field-field ke dalam field tersebut
Tabel 11-1 Deskripsi Tabel Anggota
Tabel Anggota Type Data
ID AutoNumber
Nama Text
Alamat Text
Telepon Text
NoKTP Text
Tabel 11-2 Deskripsi Tabel VCD
Tabel VCD Type Data
ID AutoNumber
Judul Text
Tahun Date/Time
Kategori Text
Sewa Currency
BatasSewa Number
Denda Currency
Tabel 11-3 Deskripsi Tabel Penyewaan Master
Tabel Penyewaan Master Type Data
ID AutoNumber
TanggalPenyewaan Date/Time
IDAnggota Number
TotalSewa Currency
TotalDenda Currency
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-5
Tabel 11-4 Deskripsi Tabel PenyewaanDetil
Tabel PenyewaanDetil Type Data
ID AutoNumber
TransaksiID Number
IDVCD Number
TanggalPengembalian Date/Time
Gambar 11-5 – Create new table
Gambar 11-6– Memberi nama pada table baru
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-6
Gambar 11-7 – Detil Table Anggota
Gambar 11-8– Detil Tabel VCD
Gambar 11-9– Detil Tabel PenyewaanDetil
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-7
Gambar 11-10 - Detil Tabel PenyewaanDetil
8. Buatlah relationship untuk semua table tersebut
Gambar 11-11 – Membuat Relationship
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-8
Gambar 11-12 – Memilih table yang akan digunakan di relationship
Gambar 11-13 - Relationship Anggota - PenyewaanMaster
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-9
Gambar 11-14 – Relationship PenyewaanDetil - PenyewaanMaster
Gambar 11-15 - Relationship VCD - PenyewaanDetil
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-10
Gambar 11-16 - Menghubungkan dua field dalam sebuah relasi
Gambar 11-17 - Relationship Complete
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-11
Gambar 11-18 - Database yang saling terhubung dan detil
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-12
11.3 Merancang dan Membuat Form menggunakan Borland
Delphi
Gambar 11-19 - Membuat aplikasi baru
Gambar 11-20 - Menambahkan beberapa form baru
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-13
Gambar 11-21 - Form Utama
Tabel 11-5 Komponen frmUtama
Komponen Properti Nilai
Form Caption
Name
FormStyle
.: Form Utama
frmUtama
fsMDIForm
Label1 Caption RENTAL VCD MERAH
MainMenu1 Name MainMenu1
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-14
Gambar 11-22 - Edit Main Menu
Tabel 11-6 Properties MainMenu1
Komponen
Menu
Properti Nilai
MainMenu1 Name MainMenu1
TMenuItem Caption
Name
Parent
Program
Program1
MainMenu1
TMenuItem Caption
Name
Parent
Exit
Exit1
Program1
TMenuItem Caption
Name
Parent
Master
Master1
MainMenu1
TMenuItem Caption
Name
Parent
ShortCut
VCD
VCD1
Master1
F3
TMenuItem Caption
Name
Anggota
Anggota1
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-15
Parent
ShortCut
Master1
F4
TMenuItem Caption
Name
Parent
Transaksi
Transaksi1
MainMenu1
TMenuItem Caption
Name
Parent
ShortCut
Peminjaman
Peminjaman1
Transaksi1
F5
TMenuItem Caption
Name
Parent
ShortCut
Laporan
Laporan1
MainMenu1
F6
TMenuItem Caption
Name
Parent
PeminjamanVCD
PeminjamanVCD1
Laporan1
TMenuItem Caption
Name
Parent
Bantuan
Bantuan1
MainMenu1
TMenuItem Caption
Name
Parent
Tentang
Tentang1
MainMenu1
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-16
Gambar 11-23 - Properties Windows Form Utama
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-17
Gambar 11-24 - Form VCD
Tabel 11-7 Properties frmVCD
Komponen Properti Nilai
TForm Caption
Name
FormStyle
Form VCD
frmVCD
fsMDIChild
TLabel Caption Judul
TLabel Caption ID VCD
TLabel Caption
Name
lblIDVCD
TLabel Caption Kategori
TLabel Caption Tahun
TLabel Caption Sewa Rp
TLabel Caption Batas Sewa
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-18
TLabel Caption Denda Rp
TEdit Name EditJudulVCD
TEdit Name EditTahunVCD
TEdit Name EditSewa
TEdit Name EditBatasSewa
TEdit Name EditDenda
TComboBox Name
Items [list]
cmbKategori
[ Action
Animasi
Drama
Fiksi
Horor
Komedi
Thriller ]
TButton Caption
Name
Tambah
btnTambah
TButton Caption
Name
Edit
btnEdit
TButton Caption
Name
Hapus
btnHapus
TButton Caption
Name
Simpan
btnSimpan
TButton Caption
Name
Batal
btnBatal
TDBGrid Name DBGrid1
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-19
Gambar 11-25 - Form Anggota
Tabel 11-8 Properties Form Anggota
Komponen
Properti Nilai
TForm Caption
Name
FormStyle
Form VCD
frmVCD
fsMDIChild
TLabel Caption NoAnggota
TLabel Caption Nama
TLabel Caption Alamat
TLabel Caption Telepon
TLabel Caption KTP
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-20
TEdit Name EditNamaAnggota
TEdit Name EditAlamatAnggota
TEdit Name EditTelepon
TEdit Name EditKTP
TButton Caption
Name
Tambah
btnTambah
TButton Caption
Name
Edit
btnEdit
TButton Caption
Name
Hapus
btnHapus
TButton Caption
Name
Simpan
btnSimpan
TButton Caption
Name
Batal
btnBatal
TDBGrid Name DBGrid1
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-21
Gambar 11-26 - Properties Windows Form Anggota
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-22
Gambar 11-27 – Form Transaksi Penyewaan
Tabel 11-9 Properties Form Penyewaan Komponen Properti Nilai
TForm Caption
Name
FormStyle
Form VCD
frmVCD
fsMDIChild
TGroupBox Caption Data Peminjam
TGroupBox Caption Data VCD
TLabel Caption Tanggal Sewa
TLabel Caption Kembali Tanggal
TLabel Caption Cari Anggota
TLabel Caption Filter VCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-23
TLabel Caption Harga Sewa Rp.
TLabel Caption Transaksi Penyewaan
TLabel Caption
Name
00/00/00
lblTanggalSewa
TLabel Caption
Name
00/00/00
lblTanggalSewa
TLabel Caption
Name
-
lblIDAnggota
TLabel Caption
Name
-
lblNamaAnggota
TLabel Caption
Name
0
lblHargaSewa
TRadioButton Caption
Name
ID
rbNoAnggota
TRadioButton Caption
Name
Nama
rbNamaAnggota
TRadioButton Caption
Name
KTP
rbKTPAnggota
TRadioButton Caption
Name
ID
rbIDVCD
TRadioButton Caption
Name
Judul
rbJudul
TRadioButton Caption
Name
Kategori
rbKategori
TDBGrid Name DBGridDaftarVCD
TListBox Name ListBoxPinjam
TEdit Name EditAlamatAnggota
TEdit Name EditTelepon
TEdit Name EditKTP
TButton Caption
Name
btnPilih
btnHapus
TButton Caption
Name
Simpan
btnSimpan
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-24
TButton Caption
Name
Batal
btnBatal
TDBGrid Name DBGrid1
Gambar 11-28 – Form Laporan Transaksi Peminjaman
Tabel 11-10 Properties Form Laporan Transaksi Peminjaman Komponen Properti Nilai
TForm Caption
Name
FormStyle
Form Laporan Peminjaman
frmLaporanPeminjaman
fsMDIChild
TQuickReport Name
HasDetail
HasTitle
QRPeminjaman
True
True
QRLabel Caption Tanggal
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-25
QRLabel Caption LAPORAN DETIL TRANSAKSI
PEMINJAMAN
QRLabel Caption RENTAL VCD MERIAH
QRLabel Caption ID Transaksi
QRLabel Caption ID Anggota
QRLabel Caption Nama Anggota
QRLabel Caption Judul Film
QRLabel Caption Harga Sewa
QRLabel Caption Tanggal Kembali
QRLabel Caption Denda
QRLabel Caption Rp.
QRLabel Caption Rp.
QRLabel Caption Total Pendapatan Sewa Rp.
TQRSysData Data qrsDateTime
TQRDBText Name
DataSet
Data Field
QRDBIDTransaksi
DM.ADOQueryLaporanPeminjaman
ID Transaksi
TQRDBText Name
DataSet
Data Field
QRDBAnggota
DM.ADOQueryLaporanPeminjaman
ID Anggota
TQRDBText Name
DataSet
Data Field
QRDBNamaAnggota
DM.ADOQueryLaporanPeminjaman
Nama Anggota
TQRDBText Name
DataSet
Data Field
QRDBJudulFilm
DM.ADOQueryLaporanPeminjaman
ID Judul Film
TQRDBText Name
DataSet
Data Field
QRDBHargaSewa
DM.ADOQueryLaporanPeminjaman
Harga Sewa
TQRDBText Name
DataSet
Data Field
QRDBTanggalKembali
DM.ADOQueryLaporanPeminjaman
Tanggal Kembali
TQRDBText Name QRDBDenda
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-26
DataSet
Data Field
DM.ADOQueryLaporanPeminjaman
Denda
Gambar 11-29 – Install Quickreport
Gambar 11-30 – Menambah Package dari file bpl (Borland Package
Library)
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-27
Gambar 11-31 – Memilih file dclqrt70.bpl
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-28
Gambar 11-32 – Menu Use Unit untuk menggunakan Unit pada
form utama
Gambar 11-33 – Daftar Unit yang akan digunakan
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-29
Gambar 11-34 – Representasi Sintaksis Uses pada Unit
Gambar 11-35 – Click Project – Options untuk menambahkan form
child MDI sehingga ditampilkan hanya ketika di akses melalui form
utama
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-30
Gambar 11-36 – Daftar Form-Form yang Tersedia dalam Project
Gambar 11-37 – Daftar Form-Form yang telah dipilih
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-31
Gambar 11-38 – Menu create new Data Module
Gambar 11-39 – Data Access component: ADOConnection,
ADOQuery, dan ADODataSet
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-32
Tabel 11-11 Properties ADOConnRentalVCD
Properti Keterangan
Name ADOConnRentalVCD
ConnectionString Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data
Source=C:\DBRentalVCD.mdb;Mode=Share Deny
None;Extended Properties="";Jet OLEDB:System
database="";Jet OLEDB:Registry Path="";Jet
OLEDB:Database Password="";Jet OLEDB:Engine
Type=5;Jet OLEDB:Database Locking Mode=1;Jet
OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global
Bulk Transactions=1;Jet OLEDB:New Database
Password="";Jet OLEDB:Create System
Database=False;Jet OLEDB:Encrypt Database=False;Jet
OLEDB:Don't Copy Locale on Compact=False;Jet
OLEDB:Compact Without Replica Repair=False;Jet
OLEDB:SFP=False
Connected True
LoginPrompt False
Mode cmShareDenyNone
Provider Microsoft.Jet.OLEDB.4.0
Tabel 11-12 Properties ADOQueryVCD
Properti Keterangan
Name ADOQueryVCD
Connection ADOConnRentalVCD
CursorType ctStatic
Active True
SQL select * from vcd
Tabel 11-13 Properties DSVCD
Properti Keterangan
Name DSVCD
Dataset ADOQueryVCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-33
Tabel 11-14 Properties DSAnggota
Properti Keterangan
Name DSAnggota
Dataset ADOQueryAnggota
Tabel 11-15 Properties DSPenyewaan
Properti Keterangan
Name DSPenyewaan
Dataset ADOQueryPenyewaan
Tabel 11-16 Properties ADOQueryAnggota
Properti Keterangan
Name ADOQueryAnggota
Connection ADOConnRentalVCD
CursorType ctStatic
Active True
SQL select * from anggota
Tabel 11-17 Properties ADOQueryPenyewaan
Properti Keterangan
Name ADOQueryPenyewaan
Connection ADOConnRentalVCD
CursorType ctStatic
Active True
SQL select * from penyewaanmaster
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-34
Gambar 11-40 – Properties Window ADOConnRentalVCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-35
Gambar 11-41 – ConnectionString Dialog
Gambar 11-42 – Data Link Properties - ConnectionString Builder
Dialog
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-36
Gambar 11-43 – Data Link Properties – Test Connection Success
Gambar 11-44 – Memasukkan string SQL pada property SQL
ADOQueryLaporanPeminjaman
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-37
11.4 Menulis Kode Program VCD Rental
Gambar 11-45 – Cara 1 – Mengakses object untuk memasukkan
code
Gambar 11-46 – Cara 2 – Men-generate procedure baru dengan
menggunakan event OnClick pada properties
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-38
Gambar 11-47 – Membuat procedure baru dengan meng-klik ganda
pada button
11.4.1.1 Kode Program pada Form Utama
unit UnitUtama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TfrmUtama = class(TForm)
MainMenu1: TMainMenu;
Program1: TMenuItem;
Keluar1: TMenuItem;
Master1: TMenuItem;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-39
Anggota1: TMenuItem;
VCD1: TMenuItem;
ransaksi1: TMenuItem;
Penyewaan1: TMenuItem;
Laporan1: TMenuItem;
LaporanPeminjamanVCD1: TMenuItem;
LaporanPengembalianVCD: TMenuItem;
Bantuan1: TMenuItem;
About: TMenuItem;
LaporanPendapatan: TMenuItem;
Label1: TLabel;
procedure Keluar1Click(Sender: TObject);
procedure Anggota1Click(Sender: TObject);
procedure VCD1Click(Sender: TObject);
procedure Penyewaan1Click(Sender: TObject);
procedure LaporanPeminjamanVCD1Click(Sender: TObject);
procedure LaporanPendapatanClick(Sender: TObject);
procedure LaporanPengembalianVCDClick(Sender: TObject);
procedure AboutClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmUtama: TfrmUtama;
implementation
uses DataModule, UnitAnggota, UnitTransaksi, UnitVCD,
UnitAbout, UnitLaporanPeminjaman, UnitLaporanPendapatan,
UnitLaporanPengembalian, Math, UnitKategori;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-40
{$R *.dfm}
procedure TfrmUtama.Keluar1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmUtama.Anggota1Click(Sender: TObject);
begin
Application.CreateForm(TfrmAnggota,frmAnggota);
Anggota1.Enabled := false;
end;
procedure TfrmUtama.VCD1Click(Sender: TObject);
begin
Application.CreateForm(TfrmVCD,frmVCD);
VCD1.Enabled := false;
end;
procedure TfrmUtama.Penyewaan1Click(Sender: TObject);
begin
Application.CreateForm(TfrmTransaksi,frmTransaksi);
Penyewaan1.Enabled := false;
end;
procedure TfrmUtama.LaporanPeminjamanVCD1Click(Sender: TObject);
begin
frmLaporanPeminjaman.QRPeminjaman.Prepare;
frmLaporanPeminjaman.QuickRep1.Preview;
LaporanPeminjamanVCD1.Enabled := false;
end;
procedure TfrmUtama.LaporanPendapatanClick(Sender: TObject);
begin
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-41
Application.CreateForm(TfrmLaporanPendapatan,frmLaporanPendapatan);
LaporanPendapatan.Enabled := false;
end;
procedure TfrmUtama.LaporanPengembalianVCDClick(Sender: TObject);
begin
Application.CreateForm(TfrmLaporanPengembalian,frmLaporanPengembalian
);
LaporanPengembalianVCD.Enabled := false;
end;
procedure TfrmUtama.AboutClick(Sender: TObject);
begin
Application.CreateForm(TAboutBox,AboutBox);
About.Enabled := false;
end;
end.
11.4.1.2 Kode Program pada Form Anggota
unit UnitAnggota;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids;
type
TfrmAnggota = class(TForm)
DBGrid1: TDBGrid;
btnTambah: TButton;
btnEdit: TButton;
btnHapus: TButton;
btnSimpan: TButton;
EditNamaAnggota: TEdit;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-42
EditAlamatAnggota: TEdit;
EditTeleponAnggota: TEdit;
Label1: TLabel;
Nama: TLabel; EditKTPAnggota: TEdit;
Alamat: TLabel;
Label4: TLabel;
Label5: TLabel;
lblNoAnggota: TLabel;
btnBatal: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure btnTambahClick(Sender: TObject);
procedure btnEditClick(Sender: TObject);
procedure btnBatalClick(Sender: TObject);
procedure btnSimpanClick(Sender: TObject);
procedure btnHapusClick(Sender: TObject);
private
{ Private declarations }
sqlstring : string;
db_manipulation_mode : string;
public
{ Public declarations }
procedure refresh_table_anggota();
procedure tampil_data_anggota();
procedure clear_all();
end;
var
frmAnggota: TfrmAnggota;
implementation
uses UnitUtama, DataModule, ADODB, DB;
{$R *.dfm}
procedure TfrmAnggota.refresh_table_anggota();
begin
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-43
sqlstring := 'select * from anggota';
with DM.ADOQueryAnggota do
begin
Close; SQL.Clear;
SQL.Add(sqlstring);
Open;
end;
end;
procedure TfrmAnggota.tampil_data_anggota();
begin
refresh_table_anggota;
with DM.ADOQueryAnggota do
begin
if (IsEmpty = True) then
begin
ShowMessage('Belum ada anggota yang terdaftar dalam system');
end
else
begin
lblNoAnggota.Caption := FieldByName('ID').AsString;
EditNamaAnggota.Text := FieldByName('nama').AsString;
EditAlamatAnggota.Text := FieldByName('alamat').AsString;
EditTeleponAnggota.Text := FieldByName('telepon').AsString;
EditKTPAnggota.Text := FieldByName('noktp').AsString;
end;
end;
end;
procedure TfrmAnggota.clear_all();
begin
lblNoAnggota.Caption := '';
EditNamaAnggota.Clear;
EditAlamatAnggota.Clear;
EditTeleponAnggota.Clear;
EditKTPAnggota.Clear;
end;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-44
procedure TfrmAnggota.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
Action := caFree; frmUtama.Anggota1.Enabled := True;
end;
procedure TfrmAnggota.FormShow(Sender: TObject);
begin
tampil_data_anggota;
end;
procedure TfrmAnggota.DBGrid1CellClick(Column: TColumn);
begin
tampil_data_anggota;
end;
procedure TfrmAnggota.btnTambahClick(Sender: TObject);
begin
clear_all;
btnEdit.Enabled := false;
btnHapus.Enabled := false;
btnTambah.Enabled := false;
EditNamaAnggota.SetFocus;
db_manipulation_mode := 'insert';
end;
procedure TfrmAnggota.btnEditClick(Sender: TObject);
begin
if (DM.ADOQueryAnggota.IsEmpty = False) and (lblNoAnggota.Caption <>
'') then
begin
btnTambah.Enabled := false;
btnHapus.Enabled := false;
btnEdit.Enabled := false;
EditNamaAnggota.SetFocus;
db_manipulation_mode := 'update';
end
else
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-45
begin
ShowMessage('Tidak ada data yang diedit!');
end;
end;
procedure TfrmAnggota.btnBatalClick(Sender: TObject);
begin
clear_all;
btnTambah.Enabled := true;
btnEdit.Enabled := true;
btnHapus.Enabled := true;
refresh_table_anggota;
end;
procedure TfrmAnggota.btnSimpanClick(Sender: TObject);
begin
if (db_manipulation_mode = 'insert') then
begin
sqlstring := 'insert into anggota(nama, alamat, telepon, noktp)' +
' values( '+QuotedStr(EditNamaAnggota.Text)+',
'+QuotedStr(EditAlamatAnggota.Text)+',
'+QuotedStr(EditTeleponAnggota.Text)+',
'+QuotedStr(EditKTPAnggota.Text)+')';
end
else if (db_manipulation_mode = 'update') then
begin
sqlstring := 'update anggota set nama = '+
QuotedStr(EditNamaAnggota.Text)+', '+
' alamat = '+ QuotedStr(EditAlamatAnggota.Text)+', '+
' telepon = '+ QuotedStr(EditTeleponAnggota.Text)+', '+
' noktp '+ QuotedStr(EditKTPAnggota.Text) + ' where ID =
'+QuotedStr(lblNoAnggota.Caption);
end;
with DM.ADOQueryAnggota do
begin
Close;
SQL.Clear;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-46
SQL.Add(sqlstring);
ExecSQL;
end;
refresh_table_anggota; end;
procedure TfrmAnggota.btnHapusClick(Sender: TObject);
begin
if (lblNoAnggota.Caption <> '') then
begin
if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation,
mbOKCancel, 0) = mrOk) then
begin
with (DM.ADOQueryAnggota) do
begin
sqlstring := 'delete from anggota where ID = '+lblNoAnggota.Caption;
Close;
SQL.Clear;
SQL.Add(sqlstring);
ExecSQL;
end;
refresh_table_anggota;
end;
end;
end;
end.
11.4.1.3 Kode Program pada Form VCD
unit UnitVCD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids;
type
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-47
TfrmVCD = class(TForm)
EditJudulVCD: TEdit;
editTahunVCD: TEdit;
Label1: TLabel;
Nama: TLabel;
editSewa: TEdit;
Alamat: TLabel;
Label4: TLabel;
Label5: TLabel;
lblIDVCD: TLabel;
DBGrid1: TDBGrid;
btnTambah: TButton;
btnEdit: TButton;
btnHapus: TButton;
btnSimpan: TButton;
btnBatal: TButton;
cmbKategori: TComboBox;
Label2: TLabel;
editBatasSewa: TEdit;
Label3: TLabel;
editDenda: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnBatalClick(Sender: TObject);
procedure btnSimpanClick(Sender: TObject);
procedure btnHapusClick(Sender: TObject);
procedure btnEditClick(Sender: TObject);
procedure btnTambahClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormShow(Sender: TObject);
procedure editTahunVCDKeyPress(Sender: TObject; var Key: Char);
procedure editSewaKeyPress(Sender: TObject; var Key: Char);
procedure editBatasSewaKeyPress(Sender: TObject; var Key: Char);
procedure editDendaKeyPress(Sender: TObject; var Key: Char);
private
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-48
{ Private declarations }
sqlstring : string;
db_manipulation_mode : string;
public
{ Public declarations }
procedure refresh_table_vcd();
procedure tampil_data_vcd();
procedure clear_all();
end;
var
frmVCD: TfrmVCD;
implementation
uses UnitUtama, DataModule;
{$R *.dfm}
procedure TfrmVCD.refresh_table_vcd();
begin
sqlstring := 'select * from vcd';
with DM.ADOQueryVCD do
begin
Close;
SQL.Clear;
SQL.Add(sqlstring);
Open;
end;
end;
procedure TfrmVCD.tampil_data_vcd();
begin
refresh_table_vcd;
with DM.ADOQueryVCD do
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-49
begin
if (IsEmpty = True) then
begin
ShowMessage('Belum ada VCD yang terdaftar dalam system');
end
else
begin
lblIDVCD.Caption := FieldByName('ID').AsString;
EditJudulVCD.Text := FieldByName('judul').AsString;
cmbKategori.Text := FieldByName('kategori').AsString;
EditTahunVCD.Text := FieldByName('tahun').AsString;
EditSewa.Text := FieldByName('sewa').AsString;
EditBatasSewa.Text := FieldByName('batassewa').AsString;
EditDenda.Text := FieldByName('denda').AsString;
end;
end;
end;
procedure TfrmVCD.clear_all();
begin
lblIDVCD.Caption := '';
EditJudulVCD.Clear;
EditTahunVCD.Clear;
EditSewa.Clear;
EditBatasSewa.Clear;
EditDenda.Clear;
end;
procedure TfrmVCD.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
Action := caFree;
frmUtama.VCD1.Enabled := True;
end;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-50
procedure TfrmVCD.btnBatalClick(Sender: TObject);
begin
clear_all;
btnTambah.Enabled := true;
btnEdit.Enabled := true;
btnHapus.Enabled := true;
refresh_table_VCD;
end;
procedure TfrmVCD.btnSimpanClick(Sender: TObject);
begin
if (db_manipulation_mode = 'insert') then
begin
sqlstring := 'insert into VCD(judul, Kategori, tahun, sewa, batassewa,
denda)' +
' values( '+QuotedStr(EditJudulVCD.Text)+' ,'+
QuotedStr(cmbKategori.Text)+' ,'+
EditTahunVCD.Text+' ,'+
EditSewa.Text+' ,'+
EditBatasSewa.Text+' ,'+
EditDenda.Text+' )';
end
else if (db_manipulation_mode = 'update') then
begin
sqlstring := 'update VCD set judul = '+ QuotedStr(EditJudulVCD.Text)+', '+
' Kategori = '+ QuotedStr(cmbKategori.Text)+' ,'+
' tahun = '+ EditTahunVCD.Text+', '+
' sewa = '+ EditSewa.Text+', '+
' batassewa = '+ EditBatasSewa.Text+', '+
' denda = '+ EditDenda.Text+', '+
' where ID = '+QuotedStr(lblIDVCD.Caption);
end;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-51
with DM.ADOQueryVCD do
begin
Close;
SQL.Clear;
SQL.Add(sqlstring);
ExecSQL;
end;
refresh_table_VCD;
end;
procedure TfrmVCD.btnHapusClick(Sender: TObject);
begin
if (lblIDVCD.Caption <> '') then
begin
if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation,
mbOKCancel, 0) = mrOk) then
begin
with (DM.ADOQueryVCD) do
begin
sqlstring := 'delete from VCD where ID = '+lblIDVCD.Caption;
Close;
SQL.Clear;
SQL.Add(sqlstring);
ExecSQL;
end;
refresh_table_VCD;
end;
end;
end;
procedure TfrmVCD.btnEditClick(Sender: TObject);
begin
if (DM.ADOQueryVCD.IsEmpty = False) and (lblIDVCD.Caption <> '') then
begin
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-52
btnTambah.Enabled := false;
btnHapus.Enabled := false;
btnEdit.Enabled := false;
EditJudulVCD.SetFocus;
db_manipulation_mode := 'update';
end
else
begin
ShowMessage('Tidak ada data yang diedit!');
end;
end;
procedure TfrmVCD.btnTambahClick(Sender: TObject);
begin
clear_all;
btnEdit.Enabled := false;
btnHapus.Enabled := false;
btnTambah.Enabled := false;
EditJudulVCD.SetFocus;
db_manipulation_mode := 'insert';
end;
procedure TfrmVCD.DBGrid1CellClick(Column: TColumn);
begin
tampil_data_vcd;
end;
procedure TfrmVCD.FormShow(Sender: TObject);
begin
tampil_data_vcd;
end;
procedure TfrmVCD.editTahunVCDKeyPress(Sender: TObject; var Key:
Char);
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-53
begin
if (key <> #8) then
if (key < '0' ) or (key > '9') then
key := #0;
end;
procedure TfrmVCD.editSewaKeyPress(Sender: TObject; var Key: Char);
begin
if (key <> #8) then
if (key < '0' ) or (key > '9') then
key := #0;
end;
procedure TfrmVCD.editBatasSewaKeyPress(Sender: TObject; var Key:
Char);
begin
if (key <> #8) then
if (key < '0' ) or (key > '9') then
key := #0;
end;
procedure TfrmVCD.editDendaKeyPress(Sender: TObject; var Key: Char);
begin
if (key <> #8) then
if (key < '0' ) or (key > '9') then
key := #0;
end;
end.
11.4.1.4 Kode Program pada Form Transaksi
unit UnitTransaksi;
interface
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-54
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DBCtrls;
type
TfrmTransaksi = class(TForm)
Tambah: TButton;
Label1: TLabel;
lblTanggalSewa: TLabel;
Label2: TLabel;
lblTanggalKembali: TLabel;
GroupPerminjam: TGroupBox;
Label4: TLabel;
EditCariAnggota: TEdit;
rbNoAnggota: TRadioButton;
rbNamaAnggota: TRadioButton;
rbKTPAnggota: TRadioButton;
GroupBox2: TGroupBox;
Label6: TLabel;
EditCariVCD: TEdit;
rbIDVCD: TRadioButton;
rbJudul: TRadioButton;
rbKategori: TRadioButton;
btnBatal: TButton;
lblNamaAnggota: TLabel;
btnPilih: TButton;
DBGridDaftarVCD: TDBGrid;
ListBoxPinjam: TListBox;
Label3: TLabel;
lblIDAnggota: TLabel;
Label5: TLabel;
lblHargaSewa: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-55
procedure btnPilihClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EditCariAnggotaChange(Sender: TObject);
procedure EditCariVCDChange(Sender: TObject);
procedure TambahClick(Sender: TObject);
procedure btnBatalClick(Sender: TObject);
private
{ Private declarations }
sqlstring : string;
harga_sewa : integer;
ListPinjamVCD : array[1..2,1..10] of String;
public
{ Public declarations }
procedure hitung_harga_sewa();
end;
var
frmTransaksi: TfrmTransaksi;
implementation
uses UnitUtama, DataModule, DB, ADODB;
{$R *.dfm}
procedure TfrmTransaksi.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
frmUtama.Penyewaan1.Enabled := True;
end;
procedure TfrmTransaksi.btnPilihClick(Sender: TObject);
var
i : integer;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-56
idvcd : string;
begin
i := 1;
idvcd :=
DBGridDaftarVCD.SelectedField.DataSet.FieldByName('ID').AsString;
while i <= 10 do
begin
if (ListPinjamVCD[1,i] = idvcd) then
Begin
ShowMessage('Judul sudah ada!');
Exit;
End
else
if (ListPinjamVCD[1,i] = '') or (ListPinjamVCD[1,i] = ' ') then
begin
ListPinjamVCD[1,i] :=
DBGridDaftarVCD.SelectedField.DataSet.FieldByName('ID').AsString;
ListPinjamVCD[2,i] :=
DBGridDaftarVCD.SelectedField.DataSet.FieldByName('Judul').AsString;
ListBoxPinjam.Items.Add(ListPinjamVCD[2,i]);
with (DM.ADOQueryPenyewaan) do
begin
Close;
SQL.Clear;
SQL.Add('select * from vcd where ID = '+ string(ListPinjamVCD[1,i]));
Open;
harga_sewa := harga_sewa + FieldByName('sewa').AsVariant;
lblHargaSewa.Caption := IntToStr(harga_sewa);
end;
Exit;
end
else
i := i + 1;
end;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-57
end;
procedure TfrmTransaksi.FormShow(Sender: TObject);
begin
lblTanggalSewa.Caption := DateToStr(Now);
lblTanggalKembali.Caption := DateToStr(Now+3);
end;
procedure TfrmTransaksi.hitung_harga_sewa();
var
i : integer;
id_vcd : string;
hargasewa : integer;
begin
for i := 1 to ListBoxPinjam.Count do
begin
id_vcd := string(ListPinjamVCD[1,i]);
with (DM.ADOQueryPenyewaan) do
begin
Close;
SQL.Clear;
SQL.Add('select * from vcd where ID = '+ id_vcd);
Open;
hargasewa := hargasewa + FieldByName('sewa').AsInteger;
end;
end;
end;
procedure TfrmTransaksi.EditCariAnggotaChange(Sender: TObject);
var
sqlparam : string;
begin
with DM.ADOQueryPenyewaan do
begin
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-58
Close;
SQL.Clear;
if (rbNoAnggota.Checked) then
sqlparam := ' NoAnggota like '+
QuotedStr('%'+EditCariAnggota.Text+'%')
else
if (rbNamaAnggota.Checked) then
sqlparam := ' Nama like '+ QuotedStr('%'+EditCariAnggota.Text+'%')
else
if (rbKTPAnggota.Checked) then
sqlparam := ' noKTP like '+ QuotedStr('%'+EditCariAnggota.Text+'%');
sqlstring := 'Select top 1 * from anggota where '+sqlparam;
SQL.Add(sqlstring);
Open;
if (not IsEmpty) then
begin
lblNamaAnggota.Caption := FieldByName('Nama').AsString;
lblIDAnggota.Caption := FieldByName('ID').AsString;
end
else
begin
lblNamaAnggota.Caption := 'Tidak ditemukan!';
lblIDAnggota.Caption := '-';
end;
end;
end;
procedure TfrmTransaksi.EditCariVCDChange(Sender: TObject);
var
sqlparam : string;
begin
with DM.ADOQueryVCD do
begin
Close;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-59
SQL.Clear;
if (rbIDVCD.Checked) then
sqlparam := ' ID like '+ QuotedStr('%'+ EditCariVCD.Text +'%')
else
if (rbJudul.Checked) then
sqlparam := ' Judul like '+ QuotedStr('%'+ EditCariVCD.Text +'%')
else
if (rbKategori.Checked) then
sqlparam := ' kategori like '+ QuotedStr('%'+ EditCariVCD.Text +'%');
sqlstring := 'Select * from vcd where '+sqlparam;
SQL.Add(sqlstring);
Open;
Refresh;
end;
end;
procedure TfrmTransaksi.TambahClick(Sender: TObject);
var
i : integer;
last_id : string;
BatasSewa : integer;
begin
if (lblIDAnggota.Caption = '-') then
ShowMessage('ID Peminjam tidak ditemukan!')
else
begin
if (ListBoxPinjam.Count = 0) then
ShowMessage('Tidak ada Judul yang dipilih!')
else
begin
hitung_harga_sewa;
with (DM.ADOQueryPenyewaan) do
begin
//insert master transaksi
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-60
try
sqlstring := 'insert into penyewaanmaster(TanggalPenyewaan,
IDAnggota, TotalSewa) values('+
QuotedStr(lblTanggalSewa.Caption)+', '+
QuotedStr(lblIDAnggota.Caption)+', '+
lblHargaSewa.Caption+')';
Close;
SQL.Clear;
sql.Add(sqlstring);
ExecSQL;
SQL.Clear;
SQL.Add('select @@identity as last_id from penyewaanmaster');
Open;
last_id := DM.ADOQueryPenyewaan.FieldByName('last_id').AsString;
//insert detil transaksi
for i := 1 to ListBoxPinjam.Count do
begin
DM.ADOQueryVCD.Close;
DM.ADOQueryVCD.SQL.Clear;
DM.ADOQueryVCD.SQL.Add('Select top 1 * from vcd where ID
='+ String(ListPinjamVCD[1,i]));
DM.ADOQueryVCD.Open;
if (not DM.ADOQueryVCD.IsEmpty) then
BatasSewa :=
DM.ADOQueryVCD.FieldByName('BatasSewa').AsInteger;
sqlstring := 'insert into penyewaandetil(TransaksiID, IDVCD,
TanggalPengembalian) values('+
last_id+', '+
String(ListPinjamVCD[1,i])+', '+
QuotedStr(DateToStr(Now + BatasSewa))+')';
Close;
SQL.Clear;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-61
sql.Add(sqlstring);
ExecSQL;
end;
except
ShowMessage('Ada Kesalahan dalam input data detil, transaksi di
batalkan');
end;
end;
ShowMessage('Data Peminjaman VCD berhasil disimpan');
Close;
end;
end;
end;
procedure TfrmTransaksi.btnBatalClick(Sender: TObject);
begin
Close;
end;
end.
11.4.1.5 Kode Program pada Form Laporan Peminjaman
unit UnitLaporanPeminjaman;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, QuickRpt, QRCtrls;
type
TfrmLaporanPeminjaman = class(TForm)
QRPeminjaman: TQuickRep;
TitleBand1: TQRBand;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-62
QRLabel12: TQRLabel;
QRSysData1: TQRSysData;
DetailBand1: TQRBand;
QRDBText1: TQRDBText; QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
SummaryBand1: TQRBand;
QRLabel13: TQRLabel;
ChildBand1: TQRChildBand;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QuickRep1: TQuickRep;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure QRPeminjamanBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
procedure SummaryBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
private
{ Private declarations }
public
{ Public declarations }
totalsewa : integer;
end;
var
frmLaporanPeminjaman: TfrmLaporanPeminjaman;
implementation
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-63
uses UnitUtama, DataModule;
{$R *.dfm}
procedure TfrmLaporanPeminjaman.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
frmUtama.LaporanPeminjamanVCD1.Enabled := True;
end;
procedure TfrmLaporanPeminjaman.QRPeminjamanBeforePrint(
Sender: TCustomQuickRep; var PrintReport: Boolean);
begin
with (DM.ADOQueryLaporanPeminjaman) do
begin
totalsewa := totalsewa + (FieldByName('Harga Sewa').AsInteger);
end;
end;
procedure TfrmLaporanPeminjaman.SummaryBand1BeforePrint(
Sender: TQRCustomBand; var PrintBand: Boolean);
begin
QRLabel14.Caption := IntToStr(totalsewa);
end;
end.
11.5 Menjalankan Program VCD Rental
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-64
Gambar 11-48 - Aplikasi Rental VCD Running - Form Utama
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-65
Gambar 11-49 – - Aplikasi Rental VCD Running - Form Anggota
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-66
Gambar 11-50 - - Aplikasi Rental VCD Running - Form VCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-67
Gambar 11-51 - Aplikasi Rental VCD Running – Penyewaan
Running
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-68
Gambar 11-52 - Aplikasi Rental VCD Running – Nama dan No
Anggota
Gambar 11-53 – Error Message – ID Peminjam
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-69
Gambar 11-54 Aplikasi Rental VCD Running – Judul VCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-70
Gambar 11-55 – Aplikasi Rental VCD Running – Harga sewa
otomatis
Gambar 11-56 – Error Message – Judul VCD
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-71
Gambar 11-57 – Aplikasi Rental VCD Running – Data Peminjaman
Sukses disimpan
Politeknik Telkom Pemrograman Visual
Tutorial Pembuatan Aplikasi Rental VCD 11-72
Gambar 11-58 - Aplikasi Rental VCD Running – Tampilan Report
Politeknik Telkom Pemrograman Visual
Daftar Pustaka xii
DAFTAR PUSTAKA
1. Cantù, Marco., Mastering Delphi 7, Sybex, New York, 2003
2. Gajic, Zarko., Delphi Programming, About.com,1998
3. Madcoms, Pemrograman Borland Delphi 7, Penerbit Andi, Yogyakarta, 2003
4. Marcus, Teddy, Delphi Developer dan SQL Server 2000, Penerbit
Informatika, Bandung, 2004
5. Saiful, Kusnassriyanto, et.al., Pemrograman Delphi, Penerbit Informatika,
Jakarta, 2005