Anda di halaman 1dari 34

Bahan Kuliah Teori :

Pemrograman Delphi

Herianto

CopyRight@2003

Pemrograman Visual dengan

Delphi

Pengantar
Pengantar

Apa itu pemrograman visual ?

………………………………………….

Alternatif tool pemrograman visual :

• Visual Basic

• Visual Foxpro

• Visual C

• Visual Dbase

• Power Builder
• …
• …

Delphi

Kenapa mesti Delphi ?

Tool-nya lengkap dan terintegrasi

Interface-nya user friendly (more friendly

then VB ?)

Aplikasi hasil compilasi-nya teruji cepat

(VB < Delphi < C Builder/Visual)

Kode pemrogramannya lebih ringan dibanding peng-kode-an pada C, sebab Delphi menggunakan kode object pascal

(Pascal < C)

Tersedia Online Help yang cerdas

Fasilitas untuk aplikasi database-nya lengkap dan mudah digunakan

Dapat terhubung ke beragam jenis database

Mendukung pengembangan aplikasi modern (Jaringan/Distributed , Internet/WEB,…)

Tersedia juga untuk sistem yang berbeda

(non Microsoft oriented), seperti di Linux,…

 

Langkah Bekerja

1. Siapkan Form kosong

2. Ambil beberapa komponen dan atur tata letak-nya

3. Beri kode (event-handler) ke komponen yang membutuhkan

4. Compile dan eksekusi (MAKE atau RUN) program

membutuhkan 4. Compile dan eksekusi (MAKE atau RUN) program Filosofis Object Oriented Programming (OOP) Oleh karena

Filosofis Object Oriented Programming (OOP)

Oleh karena pemrograman Visual (Delphi) merupakan implikasi dari teknik pemrograman berorientasi object, maka beberapa ide dari OOP mempengaruhi pembuatan programnya seperti :

- Komponen secara visual, adalah object secara kode pemrograman

- Property pada komponen, adalah data member (elemen) dari object

- Method merupakan member dari object dalam bentuk prosedur

- Event-handler merupakan prosedur milik komponen/object yang hanya akan bekerja saat kejadian khusus terjadi atau diberikan ke komponen tersebut

- Untuk mengkases member dari object digunakan notasi :

<Nama_object.member>, contoh : label.caption, form.close

Memahami komponen-komponen Delphi

• Delphi memiliki banyak sekali komponen yang digunakan untuk membangun interface aplikasi yang dibuat.

• Dari sekian banyak komponen tersebut maka FORM adalah komponen utama/induk, dari aplikasi sebab semua komponen lain umumnya diletakkan di atas Form

• Delphi meletakkan komponen-komponen-nya pada satu tempat yang disebut :

Componen Palette :

pada satu tempat yang disebut : Componen Palette : Delphi mengelompokkan komponen-komponen tersebut dalam

Delphi mengelompokkan komponen-komponen tersebut dalam tab-tab sesuai dengan fungsi dan penggunaannyapada satu tempat yang disebut : Componen Palette : • Jika anda terbiasa dengan pemrograman DOS

• Jika anda terbiasa dengan pemrograman DOS yang mengenal perintah-perintah input dan output, maka komponen Delphi juga ada yang berperan sebagai input (untuk menerima data) dan ada juga yang berperan sebagai output (untuk menampung dan menampilkan data

sebagai input (untuk menerima data) dan ada juga yang berperan sebagai output (untuk menampung dan menampilkan

Pengelompokan Komponen

Untuk memudahkan pemahaman, kita dapat mengelompokkan komponen Delphi seperti berikut :

Komponen Input, yatu : ……

Komponen output, yatu : ……

Komponen tombol, yatu : ……

Komponen Peng-group, yatu : ……

Komponen penghubung data, yatu : ……

Komponen menu, yatu : ……

Komponen image, yatu : ……

-

……

Contoh pengelompokan komponen Delphi dan perbandingannya dengan VB :

komponen Delphi dan perbandingannya dengan VB :  Komponen input : Edit (TextBox), CheckBox,

Komponen input : Edit (TextBox), CheckBox, RadioButton(OptionButton), ComboBox, ScrollBar, …

Komponen output : Label, Memo, DBGrid…

Komponen tombol : Button (Command),Bitbtn, …

Komponen Peng-group : GroupBox(Frame) , Panel,TabControl(SSTab,TabStrip), Frame, …

Komponen penghubung data : Table (Data,Adodc), Query,DataSource …

Komponen menu : MainMenu, PopupMenu,

: Table (Data,Adodc), Query,DataSource …  Komponen menu : MainMenu, PopupMenu,  Komponen image : Image

Komponen image : Image, …

Menyimpan Aplikasi

• Menyimpan kode aplikasi delphi berbeda dengan menyimpan kode program lain seperti kode program DOS misalnya

• Satu program DOS umumnya memiliki satu file saja, walaupun bisa juga lebih (misalnya overlay di pascal atau membuat library header di C), tetapi file tersebut sengaja dibuat oleh programmer-nya

• Sedangkan pada Delphi, satu program Delphi menghasilkan banyak file, dan sebagian besar file itu ada tanpa disengaja oleh programmernya

• Oleh karena itu menyimpan aplikasi Delphi perlu diatur dalam folder khusus untuk mengumpulkan file-file yang dihasilkan oleh satu aplikasi

• Satu aplikasi Delphi setidak-nya akan menghasilkan file-file :

*.dpr , yaitu : … *.pas , yaitu : … *.dfm , yaitu : … *.cfg , yaitu : … *.dof , yaitu : … *.res , yaitu : …

• Setelah di-compile akan bertambah 2 jenis file lagi yaitu :

*.dcu , yaitu : … *.exe , yaitu : …

• Jika aplikasi di-Edit (ada yang diubah) kemudian disimpan lagi, akan bertambah file dengan ekstension :

*.~pas

*.~.dfm , yaitu : …

, yaitu : …

File-file aplikasi Delphi 1 Form
File-file aplikasi Delphi 1 Form

File :Projet1.res File :Projet1.cfg File :Projet1.dof

File :Projet1.dpr

File :Projet1.exe File : Unit1.dcu
File :Projet1.exe
File : Unit1.dcu
File : Unit1.dfm Form1 File :Unit1.pas Kode program
File : Unit1.dfm
Form1
File :Unit1.pas
Kode
program
File : Unit1.dfm Form1 File :Unit1.pas Kode program COMPILE + LINK Re- EDIT + Save File

COMPILE

+

LINK

Re-EDIT

+

Save

File : Unit1.~pas

File : Unit1.~dfm

: Unit1.dfm Form1 File :Unit1.pas Kode program COMPILE + LINK Re- EDIT + Save File :
File-file aplikasi Delphi MultiForm
File-file aplikasi Delphi MultiForm

File :Projet1.res File :Projet1.cfg File :Projet1.dof

File :Projet1.dpr

File : Unit1.dfm File : Unit2.dfm File : Unit3.dfm Form1 Form2 Form3 File : Unit1.pas
File : Unit1.dfm
File : Unit2.dfm
File : Unit3.dfm
Form1
Form2
Form3
File : Unit1.pas
File : Unit2.pas
File : Unit3.pas
Kode program
Kode Program
Kode Program
COMPILE + LINK Re-EDIT + SAVE
COMPILE
+
LINK
Re-EDIT
+
SAVE

File :Projet1.exe

File : Unit1.dcu File : Unit2.dcu File : Unit3.dcu

File : Unit1.dcu File : Unit2.dcu File : Unit3.dcu File : Unit1.~pas File : Unit2.~pas File

File : Unit1.~pas File : Unit2.~pas File : Unit3.~pas

File : Unit1.~dfm File : Unit2.~dfm File : Unit3.~dfm

Memahami pembuatan kode program

• Kode program yang di diketikkan umumnya berguna untuk memberikan reaksi atas event tertentu dari suatu komponen.

Contoh :

Kode program di Event OnClick pada komponen Button1 akan dilaksanakan hanya saat tombol Button1 di-click.

• Untuk memilih event apa yang akan diberi kode program pada sebuah komponen dapat

dipilih dari Object Inspector

• Untuk itu perlu dipahami bagaimana cara menentukan kode program tersebut.

Perintah yang sering digunakan :

Application terminate;

Form1.show;

Form1.showmodal;

Form1.close;

Inttostr()

Strtoint()

floattostr()

Strtofloaty()

Floattostr()

Showmessage(pesan);

Messagedlg(pesan,typepesan,typebutton,integer)

Kode program yang melibatkan komponen

Bentuk umum :

<Nama_komponen.nama_property>

Contoh :

Label.caption

Bentuk lain :

<Nama_komponen.nama_method>

Contoh :

Form.show

Memberikan nilai ke property komponen :

Contoh :

Label1.caption := ‘Penjumlahan’;

Label1.font.color := clblack;

• Struktur dan syntax dasar pemrograman Delphi sama dengan di pascal seperti :

Deklarasi var, type, Operator, kontrol if-then, if-then-else, case of, pengulangan for-do, while-do, repeat-until, procedure, function, begin-end, … dan seterusnya

Bagaimana kode program Delphi dijalankan
Bagaimana kode program Delphi
dijalankan

Unit1.pas

Unit unit1;

Interface

Implementation

{$R *.DFM}

End.

Unit1.dfm

Implementation {$R *.DFM} … End. Unit1.dfm Project1.dpr Program project1 … Begin … …
Implementation {$R *.DFM} … End. Unit1.dfm Project1.dpr Program project1 … Begin … …
Implementation {$R *.DFM} … End. Unit1.dfm Project1.dpr Program project1 … Begin … …

Project1.dpr

Program project1

Begin

End.

Unit2.pas

Unit unit2;

Interface

Implementation

{$R *.DFM}

End.

End. Unit2.pas Unit unit2; … Interface … Implementation {$R *.DFM} … End. Unit2.dfm

Unit2.dfm

End. Unit2.pas Unit unit2; … Interface … Implementation {$R *.DFM} … End. Unit2.dfm
End. Unit2.pas Unit unit2; … Interface … Implementation {$R *.DFM} … End. Unit2.dfm

Contoh kode program lengkap

unit Unit1;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Button2: TButton; Label5: TLabel; Label6: TLabel; RadioGroup1: TRadioGroup; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations }

end;

var Form1: TForm1;

Implementation

Uses unit2;

{$R *.DFM}

function jumlah(A,B:integer):integer; var c:integer; begin c:=A+B; jumlah :=c; end;

procedure TForm1.Button1Click(Sender: TObject); begin application.terminate; end;

procedure TForm1.Button2Click(Sender: TObject); var A,B :integer;

C

: real;

begin

A:=strtoint(Edit1.text);

B:=strtoint(Edit2.text);

Case RadioGroup1.ItemIndex of 0: C:=jumlah(A,B); 1: C:=A-B; 2: C:=A*B; 3: C:=A/B; end;

Label6.Caption:=floattostr(C);

end;

end.

Aplikasi database pada Delphi
Aplikasi database pada Delphi

• Apa itu aplikasi database ? ……………………………………………

• Apa itu database ? Kelebihannya ? ………………………………………………………

• Delphi memiliki sistem khusus untuk meng-akses

database, yaitu : BDE {akan dibahas di depan}

• Tetapi Delphi juga dapat memanfaatkan kelebihan ODBC yang ada pada OS window.

• Manfaat ODBC dalam membangun aplikasi database?

• Operasi-operasi database :

o

Membuat file database

o

Memberi index

o

Meng-entri data

o

Meng-edit data

o

Meng-delete data

o

Men-sortir data

o

Men-cari data

o

Mem-filter data

o

Me-relasi-kan tabel

o

Membuat report

• Jenis aplikasi database :

• Stand Alone,

• Client/server

• Distributed

• Jenis file database :

Dbf, Paradox(db), Access (mdb), Interbase, MySQL, SQL Server,Sybase, Oracle,…

…………………………………………………………………………

Aplikasi window

ODBC
ODBC
Drivers Drivers Drivers
Drivers
Drivers
Drivers

Database

API function

Aplikasi window ODBC Drivers Drivers Drivers Database API function File database dengan jenis yang berbeda
Aplikasi window ODBC Drivers Drivers Drivers Database API function File database dengan jenis yang berbeda
Aplikasi window ODBC Drivers Drivers Drivers Database API function File database dengan jenis yang berbeda
Aplikasi window ODBC Drivers Drivers Drivers Database API function File database dengan jenis yang berbeda

File database dengan jenis yang berbeda

Arsitektur Aplikasi Database pada Delphi
Arsitektur Aplikasi Database
pada Delphi

1 – tier :

Arsitektur Aplikasi Database pada Delphi 1 – tier :

2 - Tier

2 - Tier

Multi – tier :

Multi – tier :
Komponen Aplikasi database DELPHI
Komponen Aplikasi database DELPHI

• Delphi memiliki sistem (Engine) sendiri untuk mengelola sistem Database yaitu : BDE (Borland DataBase Engine), sehingga setiap komputer yang menjalankan aplikasi database Delphi umumnya membutuhkan keberadaan BDE pada sistemnya. Tetapi Delphi tetap memberi kesempatan jika kita ingin membuat aplikasi database tanpa melibatkan BDE.

• Selain BDE, Delphi juga memiliki beberapa komponen khusus yang harus digunakan untuk membuat aplikasi database Delphi. Komponen database tersebut ada yang berfungsi sebagai pengait file database ke aplikasi (Data bound) dan ada yang berfungsi untuk meng-akses dan menyajikan data tersebut

• Yang termasuk sebagai pengait data (Data bound) yaitu : Table, Query, DataSource,…

• Yang termasuk sebagai pengakses dan penyaji data yaitu : DBGrid, DBEdit, DBLabel, DBComboBox,DBRadioGroup,DBImage, DBNavigator, …

• Komponen-komponen database Delphi umumnya terletak di tab DataAccess dan Data Controls pada Componen Palette

• Hubungan antara : file database, BDE, komponen dan Form dapat diamati melalui bagan berikut :

BDE
BDE

Interface Aplikasi

Form/

DataControl

bagan berikut : BDE Interface Aplikasi Form/ DataControl DataSource DataSet Kontrol dan penyajian data DataBound

DataSource

DataSet
DataSet
berikut : BDE Interface Aplikasi Form/ DataControl DataSource DataSet Kontrol dan penyajian data DataBound DataBase
berikut : BDE Interface Aplikasi Form/ DataControl DataSource DataSet Kontrol dan penyajian data DataBound DataBase

Kontrol dan penyajian data

DataBound

DataBase

Pengaturan komponen database
Pengaturan komponen database

Contoh : aplikasi akan meng-akses data di file database C:\99001234\Tabel\Mahasiswa.db sehingga datanya tampil di Form melalui DBGrid dan DBEdit :

Maka langkah membuatnya adalah :

Ambil : Tabel, DataSource, DBGrid dan DBEdit, atur propertynya seperti berikut :

Tabel DataSource DBGrid
Tabel
DataSource
DBGrid
BDE
BDE

Mahasiswa.db

DBGrid, property yang diatur :

DataSource : DSMahasiswa

DBEdit, property yang diatur :

DataSource : DSMahasiswa

DataField : {namafield}

DataSource, property yang diatur :

DataSet

:

TblMahasiswa

Name

:

DSMahasiswa

Tabel, property yang diatur :

DatabaseName : {NamaAlias} TableNama : Mahasiswa.DB Name : TblMahasiswa

: {NamaAlias} TableNama : Mahasiswa.DB Name : TblMahasiswa Boleh juga : C:\99001234\Tabel Tabel boleh digantri dengan

Boleh juga : C:\99001234\Tabel

Name : TblMahasiswa Boleh juga : C:\99001234\Tabel Tabel boleh digantri dengan Query Query , property yang
Name : TblMahasiswa Boleh juga : C:\99001234\Tabel Tabel boleh digantri dengan Query Query , property yang

Tabel boleh digantri dengan Query

Query, property yang diatur :

DatabaseName : {NamaAlias} SQL : Select * from mahasiswa

Alias atau DatabaseName pada delphi yaitu sebuah nama yang mewakili direktor lengkap dimana file

database berada, dengan demikian Alias dapat digantikan dengan nama direktori lengkap tempat database berada

Menggunakan DataModul

• Data Modul yaitu Form khusus yang dapat digunakan untuk meletakkan komponen-komponen non visual Delphi, termasuk untuk meletakkan komponen DataAccess Delphi.

• Data modul akan terasa gunanya pada aplikasi database yang melibatkan banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul

Contoh sebuah DataModul :

banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul Contoh sebuah DataModul
banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul Contoh sebuah DataModul
banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul Contoh sebuah DataModul
banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul Contoh sebuah DataModul
banyak Form, yang dengan adanya DataModul semua Form hanya perlu berhubungan dengan DataModul Contoh sebuah DataModul
Mengakses field melalui kode program
Mengakses field melalui kode program

• Secara kode pemrograman data di file database diakses melalui komponen dataset (table, query,…)

• Kemampuan mengakses data melalui kode program ini, menjadikan program lebih fleksibel dan dinamis.

• Beberapa Cara mengakses data di field :

Format :

Table[‘nama_field’]

Table.fieldbyname(‘nama_field’).value

Table.fieldvalue[‘nama_field’]

Table.fields[i].AsType

Contoh :

TblMhs1[‘nim’]

TblMhs1.fieldbyname(‘nim’).value

TblMhs1.fieldvalue[‘nim’]

TblMhs1.fields[0].AsString

• Selain cara di atas field juga bisa diakses dengan beberapa cara berikut :

TblmhsNim.value

TblmhsNim.AsString

TblmhsNim.AsVariant

• Method yang sering digunakan pada dataset (table,query,…) :

Table1.open, Table1.close, Table1.append, Table1.delete, Table1.edit, Table1.post, Table1.post,

Table1.refresh,table1.first,table1.next,table1.prior,table1.last,

table1.setRange([nilai1],[nilai2]),table1.findkey([nilai]),…

SQL pada Delphi
SQL pada Delphi

• Query merupakan DataSet lain disamping Table

• Fungsi Query mirip dengan fungsi Table. Perbedaannya adalah : data yang ada pada Query merupakan hasil dari pernyataan SQL.

• Menggunakan Query sebagai sumber data (dibandingkan Table) sangat ampuh karena :

Dapat mengakses data dari beberapa tabel sekaligus

Dapat membatasi data yang diakses baik secara horizontal (yakni membatasi pengaksesan pada field-field tertentu saja) maupun secara vertikal (yakni membatasi pengaksesan sejumlah record saja dengan kriteria tertentu)

Dapat digunakan untuk mengakses data dari berbagai macam sumber seperti :

- Local tables (Paradox, InterBase, dBASE, Access, dan FoxPro)

- ODBC-compliant databases.

- Remote database servers (Sybase, SQL Server, Oracle, Informix, DB2, dan InterBase)

• Pemberian pernyataan SQL pada Query dapat dilakukan secara statis dan dapat secara dinamis

• Secara statis yaitu pernyataan SQL langsung ditulis pada property SQL melalui object inspector

• Secara dinamis yaitu pernyataan SQL dituliskan di kode program, dengan format :

<query.sql.add(‘string pernyataan sql’)>

Contoh :

query.sql.add(‘select * from mahasiswa’);

SQL dinamis

• SQL dinamis sangat ampuh dalam membuat aplikasi database yang berkualitas dengan Delphi

• Pernyataan SQL ditulis dalam kode program, dan operasi query dapat berbeda selama program berjalan berdasarkan logika program yang dibuat

• Contoh program sql dinamis lengkap :

QueryBarang.Close; QueryBarang.sql.clear; QueryBarang.sql.add('select * from FakBeli'); QueryBarang.open;

• Contoh lain dengan parameter :

QueryFakBeli.Close; QueryFakBeli.sql.clear; QueryFakBeli.sql.add('select * from FakBeli'); QueryFakBeli.sql.add('where NoFakBeli= :VFakBeli'); QueryFakBeli.parambyname(‘Vfakbeli’).AsString :=edit1.text + ‘%’; QueryFakBeli.open;

• Pengembangan :

Query untuk membangun Master-Detail

Query untuk Incremental-search

Query untuk Report

:  Query untuk membangun Master-Detail  Query untuk Incremental-search  Query untuk Report  …

Report

• Report merupakan output dari aplikasi database

• Oleh karena database adalah data, maka report –lah yang merupakan informasi

adalah data, maka report –lah yang merupakan informasi Aplikasi database database report • Bagian-bagian dari

Aplikasi

database

Aplikasi database
Aplikasi database
report –lah yang merupakan informasi Aplikasi database database report • Bagian-bagian dari report : Page Header

database

report

• Bagian-bagian dari report :

Page Header Band

Title Band

Column Header Band

Detail Band

Footer Band

Summary Band

• Data pada report mungkin berasal dari satu table tetapi mungkin juga berasal dari dua atau lebih tabel

• Lebih baik mengkases data menggunakan Query ketimbang tabel untuk Report

• Report yang relasi antar dua tabelnya membentuk relasi 1 to many atau many to many disebut report Master-Detail

• Memulai membuat Report :

Report dapat dimulai dari :

File New Report , atau

Ambil komponen : QuickRep pada tab QReport dan letakkan di Form untuk Report

• Komponen untuk membuat Report terletak pada tab Qreport :

pada tab QReport dan letakkan di Form untuk Report • Komponen untuk membuat Report terletak pada

Delphi tingkat lanjut

Lebih jauh pemrograman Delphi dapat dilakukan untuk membuat aplikasi-aplikasi seperti berikut :

Pemrograman database Client/Server dan Terdistribusi dengan database : Interbase, Sybase, MySQL, Oracle, …

Pemrograman Internet

WebServer

……

Perkembangan Delphi :

Delphi 6

Delphi 7

Oracle, …  Pemrograman Internet  WebServer  ……  Perkembangan Delphi :  Delphi 6