delphi modul

250
Politeknik Telkom Pemrograman Visual i PEMROGRAMAN VISUAL POLITEKNIK TELKOM BANDUNG 2009

Upload: cecep-mustika-malik

Post on 05-Dec-2014

188 views

Category:

Documents


21 download

TRANSCRIPT

Page 1: Delphi Modul

Politeknik Telkom Pemrograman Visual

i

PEMROGRAMAN VISUAL

POLITEKNIK TELKOM

BANDUNG

2009

Page 2: Delphi Modul

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

Page 3: Delphi Modul

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

Page 4: Delphi Modul

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

Page 5: Delphi Modul

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

Page 6: Delphi Modul

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

Page 7: Delphi Modul

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

Page 8: Delphi Modul

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

Page 9: Delphi Modul

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

Page 10: Delphi Modul

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

Page 11: Delphi Modul

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

Page 12: Delphi Modul

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)

Page 13: Delphi Modul

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).

Page 14: Delphi Modul

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.

Page 15: Delphi Modul

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.

Page 16: Delphi Modul

Politeknik Telkom Pemrograman Visual

Pemrograman Visual 1-5

Gambar 1-3 – Impelementasi KonsepRAD dengan Codegear Delphi

IDE

Page 17: Delphi Modul

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

Page 18: Delphi Modul

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

Page 19: Delphi Modul

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.

Page 20: Delphi Modul

Politeknik Telkom Pemrograman Visual

Pengenalan IDE Borland Delphi 2-3

Gambar 2-1 - Menu Installer Borland

Gambar 2-2 – Welcome Screen

Page 21: Delphi Modul

Politeknik Telkom Pemrograman Visual

Pengenalan IDE Borland Delphi 2-4

Gambar 2-3 - Verifikasi Serial Number

Gambar 2-4 - Pilihan Opsi Instalasi

Page 22: Delphi Modul

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)

Page 23: Delphi Modul

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

Page 24: Delphi Modul

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.

Page 25: Delphi Modul

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.

Page 26: Delphi Modul

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.

Page 27: Delphi Modul

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.

Page 28: Delphi Modul

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,

Page 29: Delphi Modul

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

Page 30: Delphi Modul

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

Page 31: Delphi Modul

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

Page 32: Delphi Modul

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

Page 33: Delphi Modul

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.

Page 34: Delphi Modul

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.

Page 35: Delphi Modul

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

Page 36: Delphi Modul

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

Page 37: Delphi Modul

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

Page 38: Delphi Modul

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 :

Page 39: Delphi Modul

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

Page 40: Delphi Modul

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

Page 41: Delphi Modul

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 :

Page 42: Delphi Modul

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

Page 43: Delphi Modul

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

Page 44: Delphi Modul

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

Page 45: Delphi Modul

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.

Page 46: Delphi Modul

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

Page 47: Delphi Modul

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

Page 48: Delphi Modul

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

Page 49: Delphi Modul

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;

Page 50: Delphi Modul

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;

Page 51: Delphi Modul

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.

Page 52: Delphi Modul

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

Page 53: Delphi Modul

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;

Page 54: Delphi Modul

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.

Page 55: Delphi Modul

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.

Page 56: Delphi Modul

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 :

Page 57: Delphi Modul

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

Page 58: Delphi Modul

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

Page 59: Delphi Modul

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 :

Page 60: Delphi Modul

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:\

Page 61: Delphi Modul

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

Page 62: Delphi Modul

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';

Page 63: Delphi Modul

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

Page 64: Delphi Modul

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';

Page 65: Delphi Modul

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

Print

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

Page 66: Delphi Modul

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;

Page 67: Delphi Modul

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.

Page 68: Delphi Modul

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.

Page 69: Delphi Modul

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

Page 70: Delphi Modul

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

Page 71: Delphi Modul

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.

Page 72: Delphi Modul

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.

Page 73: Delphi Modul

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 :

Page 74: Delphi Modul

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.

Page 75: Delphi Modul

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';

Page 76: Delphi Modul

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

Page 77: Delphi Modul

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;

Page 78: Delphi Modul

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 :

Page 79: Delphi Modul

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

Page 80: Delphi Modul

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.

Page 81: Delphi Modul

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;

Page 82: Delphi Modul

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

Page 83: Delphi Modul

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

Page 84: Delphi Modul

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

Page 85: Delphi Modul

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.

Page 86: Delphi Modul

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

Page 87: Delphi Modul

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

Page 88: Delphi Modul

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.

Page 89: Delphi Modul

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.

Page 90: Delphi Modul

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

Page 91: Delphi Modul

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.

Page 92: Delphi Modul

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.

Page 93: Delphi Modul

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

Page 94: Delphi Modul

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.

Page 95: Delphi Modul

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.

Page 96: Delphi Modul

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

Page 97: Delphi Modul

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.

Page 98: Delphi Modul

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.

Page 99: Delphi Modul

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.

Page 100: Delphi Modul

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.

Page 101: Delphi Modul

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

Page 102: Delphi Modul

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

Page 103: Delphi Modul

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

Page 104: Delphi Modul

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

Page 105: Delphi Modul

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

Page 106: Delphi Modul

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

Page 107: Delphi Modul

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

Page 108: Delphi Modul

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.

Page 109: Delphi Modul

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:

Page 110: Delphi Modul

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.

Page 111: Delphi Modul

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

Page 112: Delphi Modul

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

Page 113: Delphi Modul

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.

Page 114: Delphi Modul

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

Page 115: Delphi Modul

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

Page 116: Delphi Modul

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

Page 117: Delphi Modul

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.

Page 118: Delphi Modul

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

Page 119: Delphi Modul

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.

Page 120: Delphi Modul

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

Page 121: Delphi Modul

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

Page 122: Delphi Modul

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

Page 123: Delphi Modul

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..

Page 124: Delphi Modul

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

Page 125: Delphi Modul

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

Page 126: Delphi Modul

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

Page 127: Delphi Modul

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.

Page 128: Delphi Modul

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>

Page 129: Delphi Modul

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 :

Page 130: Delphi Modul

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

Page 131: Delphi Modul

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

Page 132: Delphi Modul

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 :

Page 133: Delphi Modul

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

Page 134: Delphi Modul

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

Page 135: Delphi Modul

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

Page 136: Delphi Modul

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

Page 137: Delphi Modul

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 :

Page 138: Delphi Modul

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

Page 139: Delphi Modul

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

Page 140: Delphi Modul

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

Page 141: Delphi Modul

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

Page 142: Delphi Modul

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 :

Page 143: Delphi Modul

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

Page 144: Delphi Modul

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

Page 145: Delphi Modul

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

Page 146: Delphi Modul

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

Page 147: Delphi Modul

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;

Page 148: Delphi Modul

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

Page 149: Delphi Modul

Politeknik Telkom Pemrograman Visual

Pemakaian Komponen Data Control 8-25

Gambar 8-15 - Running Program Search

Page 150: Delphi Modul

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

Page 151: Delphi Modul

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

Page 152: Delphi Modul

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

Page 153: Delphi Modul

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

Page 154: Delphi Modul

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

Page 155: Delphi Modul

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 :

Page 156: Delphi Modul

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

Page 157: Delphi Modul

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

Page 158: Delphi Modul

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:

Page 159: Delphi Modul

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

Page 160: Delphi Modul

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.

Page 161: Delphi Modul

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

Page 162: Delphi Modul

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.

Page 163: Delphi Modul

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:

Page 164: Delphi Modul

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.

Page 165: Delphi Modul

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

Page 166: Delphi Modul

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 :

Page 167: Delphi Modul

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

Page 168: Delphi Modul

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 :

Page 169: Delphi Modul

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 :

Page 170: Delphi Modul

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 :

Page 171: Delphi Modul

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 :

Page 172: Delphi Modul

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;

Page 173: Delphi Modul

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.

Page 174: Delphi Modul

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 :

Page 175: Delphi Modul

Politeknik Telkom Pemrograman Visual

Delphi Reporting menggunakan Quick Report 10-17

Gambar 10-10 - Display Report

Page 176: Delphi Modul

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 :

Page 177: Delphi Modul

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.

Page 178: Delphi Modul

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.

Page 179: Delphi Modul

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

Page 180: Delphi Modul

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

Page 181: Delphi Modul

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

Page 182: Delphi Modul

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

Page 183: Delphi Modul

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

Page 184: Delphi Modul

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

Page 185: Delphi Modul

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

Page 186: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-9

Gambar 11-14 – Relationship PenyewaanDetil - PenyewaanMaster

Gambar 11-15 - Relationship VCD - PenyewaanDetil

Page 187: Delphi Modul

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

Page 188: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-11

Gambar 11-18 - Database yang saling terhubung dan detil

Page 189: Delphi Modul

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

Page 190: Delphi Modul

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

Page 191: Delphi Modul

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

Page 192: Delphi Modul

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

Page 193: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-16

Gambar 11-23 - Properties Windows Form Utama

Page 194: Delphi Modul

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

Page 195: Delphi Modul

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

Page 196: Delphi Modul

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

Page 197: Delphi Modul

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

Page 198: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-21

Gambar 11-26 - Properties Windows Form Anggota

Page 199: Delphi Modul

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

Page 200: Delphi Modul

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

Page 201: Delphi Modul

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

Page 202: Delphi Modul

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

Page 203: Delphi Modul

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)

Page 204: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-27

Gambar 11-31 – Memilih file dclqrt70.bpl

Page 205: Delphi Modul

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

Page 206: Delphi Modul

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

Page 207: Delphi Modul

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

Page 208: Delphi Modul

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

Page 209: Delphi Modul

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

Page 210: Delphi Modul

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

Page 211: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-34

Gambar 11-40 – Properties Window ADOConnRentalVCD

Page 212: Delphi Modul

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

Page 213: Delphi Modul

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

Page 214: Delphi Modul

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

Page 215: Delphi Modul

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;

Page 216: Delphi Modul

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;

Page 217: Delphi Modul

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

Page 218: Delphi Modul

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;

Page 219: Delphi Modul

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

Page 220: Delphi Modul

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;

Page 221: Delphi Modul

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

Page 222: Delphi Modul

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;

Page 223: Delphi Modul

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

Page 224: Delphi Modul

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

Page 225: Delphi Modul

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

Page 226: Delphi Modul

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;

Page 227: Delphi Modul

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;

Page 228: Delphi Modul

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

Page 229: Delphi Modul

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);

Page 230: Delphi Modul

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

Page 231: Delphi Modul

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);

Page 232: Delphi Modul

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;

Page 233: Delphi Modul

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;

Page 234: Delphi Modul

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

Page 235: Delphi Modul

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;

Page 236: Delphi Modul

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

Page 237: Delphi Modul

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;

Page 238: Delphi Modul

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;

Page 239: Delphi Modul

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

Page 240: Delphi Modul

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

Page 241: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-64

Gambar 11-48 - Aplikasi Rental VCD Running - Form Utama

Page 242: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-65

Gambar 11-49 – - Aplikasi Rental VCD Running - Form Anggota

Page 243: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-66

Gambar 11-50 - - Aplikasi Rental VCD Running - Form VCD

Page 244: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-67

Gambar 11-51 - Aplikasi Rental VCD Running – Penyewaan

Running

Page 245: Delphi Modul

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

Page 246: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-69

Gambar 11-54 Aplikasi Rental VCD Running – Judul VCD

Page 247: Delphi Modul

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

Page 248: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-71

Gambar 11-57 – Aplikasi Rental VCD Running – Data Peminjaman

Sukses disimpan

Page 249: Delphi Modul

Politeknik Telkom Pemrograman Visual

Tutorial Pembuatan Aplikasi Rental VCD 11-72

Gambar 11-58 - Aplikasi Rental VCD Running – Tampilan Report

Page 250: Delphi Modul

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