15
Bahan Kuliah Teori : Pemrograman Delphi CopyRight@200 3 Herianto

Database Delphi

Embed Size (px)

Citation preview

Page 1: Database Delphi

Bahan Kuliah Teori :

Pemrograman Delphi

CopyRight@2003

Herianto

Page 2: Database Delphi

Aplikasi database pada DelphiAplikasi database pada Delphi• Apa itu aplikasi database ?……………………………………………

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

• Operasi-operasi database :o Membuat file databaseo Memberi indexo Meng-entri datao Meng-edit datao Meng-delete datao Men-sortir datao Men-cari datao Mem-filter datao Me-relasi-kan tabelo Membuat report

• Jenis aplikasi database : • Stand Alone,• Client/server• Distributed

• Jenis file database :Dbf, Paradox(db), Access (mdb), Interbase, MySQL, SQL Server,Sybase,

Oracle,…

• 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?

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

DatabaseAPI function

Drivers

Drivers

Drivers

ODBC

Aplikasi window

File database dengan jenis yang berbeda

Page 3: Database Delphi

Arsitektur Aplikasi Arsitektur Aplikasi Database pada DelphiDatabase pada Delphi

1 – tier :

Page 4: Database Delphi

2 - Tier

Page 5: Database Delphi

Multi – tier :

Page 6: Database Delphi

Komponen Aplikasi database DELPHIKomponen 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 :

BDEDataSetDataSourceForm/

DataControl

Interface Aplikasi

Data AccessKontrol dan penyajian data DataBase

Page 7: Database Delphi

Komponen Database

1. Komponen Data Control, untuk menampilkan data dan mengubah data.

DBGrid untuk menampilkan dan mengedit data dalam bentuk tabular

DBEdit untuk menampilkan dan mengedit nilai field record

DBNavigator untuk navigasi data dalam menambah dan mengedit

dll.

2. Komponen Data Access, untuk mengakses informasi dalam database.

DataSource

ClientDataSet

DataSetProvider

dll. 

3. Komponen BDE, dbExpress, ADO, InterBase; untuk koneksi dan mengakses ke database.

Page 8: Database Delphi

Komponen untuk koneksi

BDE ODBC 32 Bit

DatabaseMS Access, MS Excel,

MS SQL Server, Fox Pro, InterBase

DatabaseParadox, dBase

ADO ProviderOLE DB

DatabaseHampir semua database

dbExpress

Database ServerDB2, InterBase, Informix,

MS SQL Server,My SQL, Oracle

InterBase Database ServerInterbase

Data Control Data AccessBDE, dbExpress,ADO, Interbase

Database

Page 9: Database Delphi

Pengaturan komponen databasePengaturan komponen databaseContoh : 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 :

BDE

Mahasiswa.db

Tabel, property yang diatur :DatabaseName :{NamaAlias} TableNama : Mahasiswa.DBName : TblMahasiswa

DataSource, property yang diatur :

DataSet : TblMahasiswaName : DSMahasiswa

DBGrid, property yang diatur :

DataSource :DSMahasiswa

DBEdit, property yang diatur :

DataSource :DSMahasiswa

DataField : {namafield}

TabelDataSourceDBGrid

Boleh juga : C:\99001234\Tabel

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

Page 10: Database Delphi

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 :

Page 11: Database Delphi

Mengakses field melalui kode programMengakses 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’).valueTable.fieldvalue[‘nama_field’]Table.fields[i].AsType

Contoh :TblMhs1[‘nim’]TblMhs1.fieldbyname(‘nim’).valueTblMhs1.fieldvalue[‘nim’]TblMhs1.fields[0].AsString

• Selain cara di atas field juga bisa diakses dengan beberapa cara berikut :TblmhsNim.valueTblmhsNim.AsStringTblmhsNim.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]),…

Page 12: Database Delphi

SQL pada DelphiSQL 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’);

Page 13: Database Delphi

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 …

Page 14: Database Delphi

ReportReport• Report merupakan output dari

aplikasi database• Oleh karena database adalah data,

maka report –lah yang merupakan informasi

Aplikasi databas

edatabase report

• Bagian-bagian dari report :

Page Header Band

Title Band

Column Header Band

Detail Band

Footer Band

Summary Band

• Komponen untuk membuat Report terletak pada tab Qreport :

• 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

Page 15: Database Delphi

Delphi tingkat lanjutDelphi 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