Tips Kecepatan Optimal

Kecepatan yang saya maksudkan di sini adalah kecepatan aplikasi (*.exe) yang akan di-’nikmati’ oleh user/pengguna aplikasi. Bukan kecepatan seorang programmer untuk menghasilkan sebuah form seperti halnya rapid application development (RAD) yang akan dinikmati oleh programmer. Kecepatan ini berfungsi akan terasa jika teman-teman mengikuti lomba usb sistem informasi Gunadarma.
Beberapa Tips Untuk Mendapatkan Kecepatan Optimal
Berikut beberapa catatan singkat yang sempat terekam saat membangun aplikasi.

1. Pilihlah jenis koneksi database yang tepat

Sebelum terlalu jauh digunakan, cobalah beberapa alternatif koneksi yang memungkinkan. Bandingkan dan pilih dengan kecepatan yang paling optimal. Biasanya, koneksi langsung (direct connection) ke database jauh lebih cepat daripada harus melewati lapisan lagi semacam ODBC. Dalam kasus yang saya temui, saya menemukan bahwa koneksi ke PostgreSQL sangat jauh lebih cepat dengan Zeos daripada PsqlODBC.

2. Gunakan DLL untuk membuat program lebih moduler

DLL’s tersebut bisa kita gunakan menimpan prosedur2 yang sering di gunakan. Ini akan membuat file exe jadi lebih kecil ukurannya. DLL bisa dipanggil hanya ketika di perlukan.

3. Open dataset pada saat yang tepat dan memang di butuhkan

Jangan pasang semua dataset pada sebuah form dan di open semua saat form onShow. Open untuk dataset yang dibutuhkan . Jika ada dataset yang mungkin tidak mesti digunakan, open saat akan dibutuhkan saja. Misal dengan :

With Table1 do
if not Active then Open;

4. Gunakan query base daripada table base untuk form transaksi yang memerlukan banyak dataset

Query bisa kita atur untuk mengambil sebagian data saja, meskipun bisa juga dengan mennggunakan TTable dan di filter. Tapi itu akan jauh lebih lambat.

Akan lebih cepat Anda melakukan query dengan :

Insert into customer (nik,...) values ('0001' ... ...)

daripada:

Table1.Append;
Table.FieldByName(’nik’).AsString := ‘0001′;

Dengan query maka client tidak perlu meminta seluruh data (seperti pada table). Performance program akan terjaga. Jika menggunakan cara kedua (TTable), setiap bertambah record itu sama artinya menurunkan performance, semakin lama semakin lambat.

5. Load data sesuai yang diinginkan

Jika form hanyalah untuk input, maka gunakan komponen non DataAware, maksudnya komponen yang tidak berhubungan langsung dengan koneksi database missal TEdit (TDBEdit). Jadi begitu input langsung masukkan pada property SQL.Text := 'insert into ... bla... bla...'

Pilihlah Memory Table daripada TQuery yang dipasangkan dengan TUpdateSQL untuk menqoperasikan sebagian hasil query untuk di edit. Jangan pake Table yang di filter! Ini sama artinya meminta aplikasi load all data kemudian di pilihi.

7. Bijaksanalah menggunakan CalculatedField

Pilihlah query yang cukup kompleks untuk ambil dari beberapa table daripada Anda open satu dataset kemudian menggunakan event onCalculated, yang akan mengisikan field Calculated. Karena onCalculated akan terus di eksekusi sebanyak record yang harus di load. Jika query maka server hanya sekali menerima perintah, di proses dan kirim lagi. Ini juga akan mengurangi beban jaringan daripada cara CalculatedField.

(Studi Kasus: Sistem Informasi dengan Delphi 5 dan database PostgreSQL)
(by: Agus Widodo, S.Kom)

3 comments: