• Tidak ada hasil yang ditemukan

Membuat Aplikasi Database menggunakan Delphi. Bagian I Koneksi Database

N/A
N/A
Protected

Academic year: 2021

Membagikan "Membuat Aplikasi Database menggunakan Delphi. Bagian I Koneksi Database"

Copied!
12
0
0

Teks penuh

(1)

Membuat Aplikasi Database Menggunakan Delphi 1/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

Membuat Aplikasi Database

menggunakan

Delphi

Bagian I – Koneksi Database

Pengantar

Tulisan ini dibuat sebagai pengantar bagi anda untuk mempelajari pembuatan aplikasi database menggunakan program Delphi. Sebelum mempelajari tulisan ini, saya berasumsi bahwa anda sudah :

mengenal lingkungan kerja delphi, dari mulai komponen, events, membuka, menyimpan, menjalankan program dst

mengenal tipe data yang bisa digunakan dalam delphi

mengenal konsep database dan dapat membuat file database, dalam hal ini menggunakan Ms. Access memahami/mengenal perintah-perintah SQL (Structured Query Language)

Contoh program dalam tulisan ini menggunakan Delphi Enterprise Versi 7, database Microsoft Access versi 2002 dan untuk laporan menggunakan Quick Report.

Bahasan pada tulisan ini mungkin pernah dibahas sebelumnya oleh penulis lain, akan tetapi saya kira tidak ada salahnya untuk sedikit dibahas kembali. Salah satu kendala yang menyebabkan bangsa kita tertinggal dalam bidang teknologi informasi menurut pendapat saya adalah kurangnya pemahaman/ penguasaan terhadap Bahasa I nggris, dikarenakan sebagian besar dokumentasi tentang teknologi informasi ditulis dalam Bahasa Inggris termasuk bahasa pemograman itu sendiri.

Tulisan yang akan dibuat akan saya penggal menjadi beberapa bagian, dan untuk bagian pertama ini, bahasan yang akan disuguhkan antara lain:

Mengenal arsitektur database dalam aplikasi berbasis Delphi Koneksi data menggunakan ADO, disertai contoh program

Untuk bagian selanjutnya akan dibahas berdasarkan contoh program, karena biasanya pemahaman melalui praktek lebih cepat dari pada pemahaman melalui teori.

Semoga bermanfaat !

(2)

Membuat Aplikasi Database Menggunakan Delphi 2/ 12 Bagian I – Koneksi Database

Aplikasi database menyediakan fasilitas bagi pengguna (user) untuk berinteraksi dengan informasi yang tersimpan dalam database. Database menyediakan struktur informasi yang dapat dipakai bersama oleh berbagai aplikasi (program).

Delphi mendukung pembuatan aplikasi menggunakan relational database. Relational database ini menyimpan informasi berupa tabel-tabel, yang berisi beberapa baris (records) dan kolom (fields), kemudian tabel-tabel ini dimanipulasi menggunakan operasi sederhana yang dikenal dengan relational calculus.

Ketika anda mendesain aplikasi database, anda harus mengerti betul bagaimana data tersebut diatur dan disimpan dalam database. Berdasarkan pengaturan tadi anda dapat mendesain tampilan pengguna (user interface) untuk menampilkan data ke pengguna dan menyediakan fasilitas untuk memasukan informasi baru atau memodifikasi data yang sudah ada, yang dikenal dengan entry data.

Konsep database yang lebih rinci dan bagaimana pengaturan informasi dalam database tidak akan dibahas dalam tulisan ini.

Arsitektur Database

Aplikasi database dibangun berdasarkan beberapa elemen tampilan (user interface elements), yaitu komponen-komponen yang mewakili informasi database (datasets), dan komponen-komponen-komponen-komponen yang terhubung satu sama lain dan yang terhubung ke sumber informasi database. Bagaimana cara anda mengatur komponen-komponen tersebut, itulah arsitektur dari aplikasi database yang anda buat.

Dari sekian banyak cara untuk mengatur komponen-komponen dalam aplikasi database, yang paling umum dipakai menggunakan aturan (skema) sebagai berikut :

The user interface form (Form tampilan pengguna)

Disarankan untuk memisahkan form tampilan pengguna dengan komponen-komponen database agar desain aplikasi menjadi lebih fleksibel, antara lain : perubahan pada informasi database, tidak selalu harus juga mengubah tampilan pengguna (UI), begitupun sebaliknya.

Data module

Jika anda sudah memisahkan form tampilan pengguna kedalam form tersendiri, maka anda dapat menggunakan data module untuk menyimpan komponen-komponen database (datasets), dan komponen yang terhubung ke datasets ini untuk digunakan bagian lain pada aplikasi anda.

Data source

Datasource menjembatani antara form tampilan pengguna dengan komponen datasets yang mewakili informasi dari database. Beberapa komponen data kontrol (data-aware controls) dalam sebuah form dapat menggunakan 1 datasource saja, sehingga pada saat pengguna berpindah baris (record), maka nilai informasi baris aktual akan ikut berubah pada masing-masing komponen data kontrol tersebut.

Dataset

Jantungnya aplikasi database anda adalah dataset. Komponen ini merepresentasikan kumpulan baris (records) dari database. Kumpulan baris ini dapat berupa data dari satu tabel database, kumpulan kolom (fields) atau baris (records) dari sebuah tabel, atau informasi yang berasal dari satu tabel atau lebih yang terhubung menjadi sebuah view.

(3)

Membuat Aplikasi Database Menggunakan Delphi 3/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

Data connection

Beberapa dataset yang berbeda menggunakan mekanisme yang berbeda dalam hal koneksi ke informasi database. Perbedaan mekanisme ini membuat perbedaan besar dalam arsitektur aplikasi yang dapat anda buat. Terdapat 4 mekanisme dasar untuk koneksi data, yaitu:

Koneksi langsung ke sebuah server database Menggunakan sebuah file terdedikasi

Koneksi ke dataset lain

Mengambil data dari objek RDS DataSpace.

(4)

Membuat Aplikasi Database Menggunakan Delphi 4/ 12 Bagian I – Koneksi Database

Koneksi langsung ke server database

Arsitekur database yang paling umum adalah menggunakan sebuah komponen penghubung (connection component) untuk membuat koneksi ke sebuah server database. Kemudian dataset mengambil data secara langsung dari server dan perubahan langsung disimpan ke server (posts edits). I lustrasinya dapat digambarkan sebagai berikut :

Koneksi ke database

Hampir semua komponen dataset dapat koneksi ke server database secara langsung. Sekali terhubung, dataset dapat berkomunikasi dengan server secara langsung. Ketika dataset di buka, dataset tersebut mengumpulkan data dari server, dan ketika menyimpan perubahan (post records), data tersebut di kirim kembali ke server untuk kemudian disimpan dalam database. Sebuah komponen koneksi dapat digunakan beberapa dataset, atau setiap dataset dapat menggunakan properti koneksinya masing-masing.

Setiap dataset yang terhubung ke server database menggunakan jenis komponen koneksinya masing-masing, yang di desain untuk bekerja pada sebuah mekanisme akses data (single data access mechanism). Berikut ini daftar beberapa mekanisme akses data beserta komponen koneksinya :

Database connection components

Data access mechanism Connection component Borland Database Engine (BDE) TDatabase

ActiveX Data Objects (ADO) TADOConnection

dbExpress TSQLConnection

InterBase Express TIBDatabase Untuk lebih jelasnya, dapat diuraikan sebagai berikut :

Jika dataset yang digunakan adalah BDE, seperti TTable, TQuery atau TStoredProc, maka komponen koneksi yang digunakan adalah TDatabase. Untuk menghubungkan dataset ke database cukup dengan mengubah properti Database-nya. Sebenarnya anda tidak harus selalu menggunakan komponen database (TDatabase) ketika menggunakan komponen dataset BDE. Jika anda mengubah properti DatabaseName pada dataset, maka sebuah komponen database tercipta otomatis pada saat aplikasi dijalankan.

Jika dataset yang digunakan adalah ADO, seperti TADODataSet, TADOTable, TADOQuery atau TADOStoredProc, maka komponen koneksi yang digunakan adalah TADOConnection. Untuk menghubungkan dataset ke koneksi ADO cukup dengan mengubah properti Connection-nya. Sama

(5)

Membuat Aplikasi Database Menggunakan Delphi 5/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

halnya dengan dataset BDE, anda tidak harus selalu menggunakan komponen koneksi (TADOConnection), yaitu dengan cara mengubah properti ConnectionString pada dataset-nya.

Jika dataset yang digunakan adalah dbExpress, seperti TSQLDataSet, TSQLTable, TSQLQuery atau TSQLStoredProc, maka komponen koneksi yang digunakan adalah TSQLConnection. Untuk menghubungkan dataset ke TSQLConnection cukup dengan mengubah properti SQLConnection-nya. Ketika menggunakan dataset dbExpress anda harus selalu menggunakan komponen koneksinya (TSQLConnection). Perbedaan lainnya dibandingkan dataset yang lain adalah dbExpress selalu read-only dan unidirectional, dalam artian anda hanya bisa mengakses baris (records) secara berurutan, dan anda tidak dapat menggunakan komponen dataset yang mendukung pengeditan.

Jika dataset yang digunakan adalah I nterBase Express, seperti TI BDataSet, TI BTable, TIBQuery atau TIBStoredProc, maka komponen koneksi yang digunakan adalah TI BDatabase. Untuk menghubungkan dataset ke komponen database I B, cukup dengan mengubah properti Database-nya. Sama seperti dataset dbExpress, anda harus selalu menggunakan komponen koneksinya (TIBDatabase).

Sebagai tambahan selain komponen diatas, anda dapat menggunakan dataset client khusus (specialized client dataset) seperti TBDEClientDataSet, TSimpleDataSet atau TI BClientDataSet dan komponen koneksi databasenya.

Meskipun setiap tipe dataset menggunakan komponen koneksi yang berbeda, hampir semua mengerjakan pekerjaan yang sama dan mempunyai beberapa properties, methods dan events yang hampir sama.

(6)

Membuat Aplikasi Database Menggunakan Delphi 6/ 12 Bagian I – Koneksi Database

Koneksi data menggunakan ADO

Untuk memperjelas pemahaman tentang koneksi database, maka berikut ini contoh latihan koneksi yang akan dibuat menggunakan ADO.

Fokus Bahasan :

- TADOConnection, TADOTable Berikut ini langkah-langkahnya :

1) Buka Ms. Accsess, kemudian buat sebuah database bernama DataGudang menggunakan Ms. Access yang berisi tabel supplier, dengan kolom-kolom sebagai berikut:

SUPPLIER

Field Name Data Type Field Size Keys Default Value

MSP_ID Number Long Integer Primary Key

MSP_KODE Text 10 MSP_SUPPLIER Text 30 MSP_CONTACT Text 30 MSP_ALAMAT Text 50 MSP_TELP Text 30 MSP_KETERANGAN Text 50

MSP_AKTIF Text 1 "Y"

2) Buka Delphi, buat aplikasi baru, dan tempatkan komponen-komponen : 1 buah ADOConnection, 1 buah ADOTable, 1 buah Datasource, 1 buah DbNavigator dan 1 buah DbGrid. Kemudian atur propertinya sbb :

Components Properties Value

ConnectionString * (Lihat penjelasan di bawah)

Connected True

ADOConnection1

Login Prompt False

Connection ADOConnection1

TableName SUPPLIER

ADOTable1

Active True

DataSource1 Dataset ADOTable1

Datasource DataSource1 DBNavigator1

ShowHint True

DBGrid1 Datasource DataSource1

Tampilan Form1 setelah diubah propertinya :

(7)

Membuat Aplikasi Database Menggunakan Delphi 7/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

(1) Klik tanda elipsis (…), maka akan muncul dialog :

(2) Pilih Use Connection String, laku klik Build…, akan muncul dialog :

(8)

Membuat Aplikasi Database Menggunakan Delphi 8/ 12 Bagian I – Koneksi Database

Kemudian isi kolom Select or enter a database name: dengan nilai sesuai dengan alamat folder dan nama dari database yang akan diakses, dalam hal ini DataGudang.mdb (terletak pada folder E:\ Latihan\ 01\ ), dengan cara mengklik tombol elipsis (…) disampingnya. Contoh kolom yang telah terisi :

(4) Lakukan tes koneksi, dengan menekan tombol Test Connection, jika koneksi berhasil akan muncul dialog :

(9)

Membuat Aplikasi Database Menggunakan Delphi 9/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

(5) Kemudian kilik OK beberapa kali, sehingga ConnectionString akan terisi dengan nilai :

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Latihan\01\DataGudang.mdb;Persist Security Info=False

Jika anda mengubah properti Connected menjadi True, maka akan muncul dialog :

Karena database anda tidak mempunyai password maka kosongkan lalu pilih OK. Dialog ini akan selalu muncul setiap kali anda melakukan koneksi ke database. Untuk menghilangkan dialog ini, ubah properti LoginPrompt menjadi False.

3) Simpan program (Save All) dengan nama unit Ulat01.pas dan project Latih01.dpr. Jalankan program (Run), maka program latihan pertama database anda telah selesai.

Kalau anda perhatikan bahwa kunci untuk menghubungkan aplikasi dengan database, terletak pada komponen ADOConnection1 pada properti ConnectionString. Seperti pada contoh diatas, database terletak pada folder :

E:\Latihan\01\. Berbagai pertanyaan mungkin akan muncul, diantaranya :

Bagaimana kalau aplikasi tidak selalu pada folder tersebut ?

Atau demi keamanan data, database yang digunakan menggunakan password, bagaimana cara mengaksesnya ?

Pada dbgrid nama kolom saya rasa kurang user friendly, karena ada kode-kode tertentu seperti MSP_ID, MSP_KODE. Bagaimana mengubahnya atau saya mau tidak semua kolom ditampilkan ?

(10)

Membuat Aplikasi Database Menggunakan Delphi 10/ 12 Bagian I – Koneksi Database

Sentuhan akhir program

Semua pertanyaan di atas akan terjawab pada bagian ini.

Jika folder database tidak selalu berada pada folder yang sama anda dapat mengubahnya pada saat runtime (aplikasi dijalankan).

Dan untuk mengakses database yang terproteksi dengan password, maka pada properti ConnectionString pada komponen TADOConnetion tambahkan keyword :

Jet OLEDB:Database Password=""

diantara tanda petik diisi password database anda. Berikut langkah-langkahnya :

1) Membuat password database pada Ms. Access.

Untuk membuat password database pada Ms. Access, maka database tersebut harus dibuka secara eksklusif. Jika anda masih bekerja pada delphi dan file latihan diatas terbuka, maka anda harus memutuskan koneksinya, dengan cara mengubah properti Connected pada komponen ADOConnection1 menjadi False.

Jalankan Ms. Access, kemudian pada menu pilih Open, tentukan database yang dimaksud (DataGudang.mdb, cukup di klik saja), pada tombol Open pilih Open Exclusive. Setelah database terbuka, pada menu Tools|Security pilih Set Database Password, maka dialog sbb akan muncul :

I si kolom password dan verify dengan nilai yang sama, sebagai contoh masukkan kata ‘Huhuy’, tanpa tanda petik tentunya. Kemudian pilih OK, maka database anda sudah terproteksi.

2) Untuk mengubah ConnectionString pada saat runtime, misalnya pada saat form diciptakan (FormCreate), tambahkan kode program dibawah ini, dengan cara memilih komponen Form1 kemudian pada Object I nspector klik Events kemudian klik ganda OnCreate (atau anda juga bisa langsung kilik ganda pada Form1) :

procedure TForm1.FormCreate(Sender: TObject);

var

FileDB: string;

begin

// Tentukan letak file database anda

// Dalam hal ini database selalu berada pada folder yang sama dengan aplikasi

FileDB:= ExtractFilePath(Application.ExeName) + 'DataGudang.mdb';

// Ubah Connection string

ADOConnection1.Connected:= False;

ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Data Source=' + FileDB + ';Persist Security Info=False;' +

'Jet OLEDB:Database Password="Huhuy"'; ADOConnection1.Connected:= True;

// Buka tabel supplier

ADOTable1.Open;

end;

(11)

Membuat Aplikasi Database Menggunakan Delphi 11/ 12 Bagian I – Koneksi Database

© 2008 Bara Project Delphi- Resource

Untuk mengubah nama kolom pada DbGrid, klik kanan di atas DbGrid lalu pilih menu Columns Editor… (atau anda juga bisa kilik ganda pada DBGrid), akan muncul dialog :

Anda bisa mengambil kolom dari tabel menggunakan tombol Add New, tetapi agar lebih praktis anda bisa mengambil semua kolom dari tabel dengan menggunakan tombol Add All Fields (tombol ketiga). Untuk mengaktifkan tombol Add All Fields, maka anda harus membuka dahulu dataset yang terhubung ke DbGrid tersebut, dalam hal ini ADOTable1 property Active ubah menjadi True. Setelah di klik tombol Add All Fields, maka dialog akan berubah menjadi :

Setiap kolom mempunyai properti-nya masing-masing, dan untuk mengubah judul kolom terletak pada properti Title.Caption, sedangkan untuk menyembunyikan kolom tertentu terletak pada properti Visible.

Lakukan perubahan pada kolom-kolom sesuai yang anda kehendaki. Berikut ini contoh aplikasi setelah dilakukan beberapa penyesuaian :

(12)

Membuat Aplikasi Database Menggunakan Delphi 12/ 12 Bagian I – Koneksi Database

Tips :

Sebaiknya komponen koneksi dan komponen dataset dihubungkan ke database saat runtime dan hanya dataset yang diperlukan saja yang dibuka, sebagai contoh TADOConnection property Connected-nya di set True dan TADOTable property Active di set True saat runtime. Hal ini akan menghemat waktu saat loading aplikasi.

Jika data dalam tabel pada database anda berjumlah banyak, sebaiknya anda menghindari penggunaan TADOTable, dikarenakan sifat dari TADOTable yang akan mengambil semua baris data (records) pada tabel tersebut pada saat TADOTable tersebut dibuka. Anda bisa menggunakan TADODaset atau TADOQuery yang bisa memilih record yang diperlukan saja.

Usahakan tidak menyimpan data gambar (BLOB/ OLE Object) pada database, selain proses pengambilannya memakan waktu, ukuran database anda akan berkembang dengan cepat.

Catatan :

Konsep koneksi database diatas berlaku pada hampir semua jenis DBMS (Database Management System), antara lain : Ms. SQL Server dan Oracle, anda hanya perlu melakukan beberapa penyesuaian saja. Jadi anda tidak perlu khawatir jika suatu saat database yang digunakan bukan Ms. Access. Penggunaan Ms. Access pada aplikasi ditujukan untuk alasan kepraktisan saja. Dan dengan berjalannya waktu dan bertambahnya kemampuan anda, anda akan dapat menentukan komponen koneksi apa saja paling cocok dengan database tertentu.

Sumber :

Delphi 7.0 – Help File

DevGuide: Developing Database Applications Database architecture

Connecting directly to a database server

© 2008 Bara Project Contact Me : Bambang Rahmanto

mbambang@gmail.com

Referensi

Dokumen terkait