04 April 2009

Masalah Kegemukan pada Program Delphi

Ketik sana ketik sini, compile program, ok, dan jadilah satu program aplikasi (exe) pada Delphi. Mudah, simpel, karena semua komponen, unit, form yang kita buat dilebur jadi satu menjadi sebuah file executable. File jadi berukuran besar untuk program yang kompleks dan butuh berbagai macam komponen. Memang bagi sebagian orang tidak masalah, tapi tidak dengan aku. Ukuran file yang besarnya hingga belasan MB sulit didistribusikan ke client apalagi tempatnya berjauhan, di luar kota bahkan ada yang di luar pulau. Dikirim melalui paket baru bisa sampai besoknya belum lagi biaya yang bisa melebihi penghasilan jika kirim berulang-ulang. Istilahnya lebih besar pasak dari pada tiang, bisa-bisa bukannya mendapatkan keuntungan malah ngutang melulu.
Untuk mengatasi masalah ini, biasanya aku mengirimkan file menggunakan akses internet. Inipun juga bermasalah, soal ukuran yang relatif besar jika di upload. Apalagi dengan akses internet yang “angin-anginan” dan “pas-pasan”, bisa-bisa nggak nyampai ke tujuan sampe hari kiamat. Waduh repot juga yah, sudah jadi masalah cukup lama bagi aku.


















Untungnya hal tersebut kini bisa teratasi. Program Delphi ternyata bisa dipecah. Untuk komponen pendukung tidak jadi satu dengan file executable. Jika kita pernah mendengar istilah “package” atau Borland Package Library (BPL), bisa jadi ini adalah solusi bagi anda yang mengalami masalah sama dengan aku dulunya. Semua komponen yang kita pakai di Delphi merupakan package. Jika kita memakai komponen TForm, TEdit, dan lain sebagainya, tanpa disadari kita memakai package. Jadi package ini sama seperti DLL, tapi hanya bisa diakses dari lingkungan Delphi.
Perbedaan ukuran file sebelum dan sesudah memakai cara ini sangat signifikan. Dari ukuran yang dulunya sampai belasan MB kini tidak sampai 2 MB. Package itu sendiri merupakan file terpisah yang mempunyai ekstensi .bpl dan sudah tersedia jika kita mengistall Delphi atau jika kita menginstall komponen lain. Package dari Delphi biasanya terdapat pada direktori “$(DELPHI)\Bin”.
Prakteknya kita akan mencoba membuat aplikasi baru di Delphi. Disini kita akan coba membuat aplikasi kosong dan membandingkan ukurannya jika komponen/package dijadikan satu atau terpisah dengan file executable yang kita buat. Jika kita compile aplikasi kosong tersebut dan melihat ukuran file exe yang dihasilkan, kira-kira akan berukuran sekitar 359 KB (Delphi 7). Kemudian dari menu Project->Options dari tab Packages centang pilihan “Build with runtime packages”, tekan OK dan compile ulang. Jika kita lihat ukuran file exe yang dihasilkan akan menjadi sekitar 16,5 KB!
Proses compile pertama yang menghasilkan file exe yang besar itu dinamakan static linking, dimana semua kode-kode program yang dibutuhkan aplikasi dijadikan satu oleh proses linking menjadi satu file dan ini yang menjadi pilihan default waktu kita membuat aplikasi baru. Proses kedua yang menghasilkan file exe yang lebih kecil dinamakan dynamic linking yang mirip dengan DLL standar. Pada dynamic linking, package yang diperlukan akan diload pada saat diperlukan. Dan perlu kita ketahui proses dynamic linking tersebut dijalankan secara otomatis tanpa diperlukan tambahan kode program. Proses distribusi aplikasi dengan dynamic linking perlu menyertakan file package (*.bpl) yang diperlukan secara terpisah dan diletakkan pada suatu direktori yang terdaftar pada environment variables.

2 komentar:

  1. nice share kang. sangat bermanfaat buat saya yang pemula

    BalasHapus
  2. kalau yang delphi xe version kok gak ada “Build with runtime packages” ya?

    BalasHapus