1. Sejarah Perkembangan Delphi
Ide munculnya Delphi sebenarnya berasal dari bahasa pemrograman yang cukup terkenal, yaitu turbo pascal. Bahasa pascal sendiri telah diciptakan pada tahun 1971 oleh Ilmuwan dari Swiss, yaitu Niklaus Wirth. Nama pascal diambil dari ahli matematika dan filsafat Prancis, yaitu Blaise Pascal (1623-1662).
Sejak saat itu muncul beberapa versi pascal diantaranya turbo pascal yang dirilis oleh Borland Internasional Incorporotion tahun 1973. Turbo Pascal ini memiliki sedikit perbedaan dengan pascal standar, antara lain dalam hal pengolahan string, penambahan beberapa prosedur dan fungsi.
Turbo pascal yang muncul pertama kali hanya dapat dijalankan di system operasi DOS. Namun dalam perkembangan selanjutnya, Borlan Internasional juga merilis Turbo Pascal yang berjalan di Windows 3.0, yaitu Turbo Pascal For Windows.
Pada tahun 1992, Borland Internasioanl menggabungkan Turbo Pascal For DOS dan Tirbo Pascal For Windows menjadi satu paket bahasa pemrograman dengan nama Borland Delphi Versi 7. Karena pemrograman Windows dengan Borland Pascal masih dirasa sulit, sejak tahun1973 Borland Internasional mengembangkan bahasa Pascal yang bersifat visual. Hasil dari pengembangan ini adalah dirilisnya Delphi 1 pada tahun1995.
Perkembangan Delphi tidak berhenti sampai disitu. Satu tahun, pada tahun 1996, Borland Internasional merilis Delphi 2 yang sudah bersifat 32 bit. Dengan kata lain Delphi 2 hanya dapat dijalankan pada Windowd 95 dan Windows NT.
Pada tahun 1997, 1998, 1999, Borland Internasional yang berganti nama menjadi Inprisi Corporation berturut-turut kembali merilis penyempurnaan pada Delphi, yaitu Delphi 3, 4 dan 5, 6 dan 7.
Delphi merupakan alat perkembangan aplikasi yang sangat terkenal di lingkungan Windows. Dengan menggunakn perangkat lunak ini anda dapat membangun berbagai aplikasi Windows (permainan, multimedia, databae dan lain-lain) dengan cepat dan mudah. Dengan pendekatan visual, anda dapat menciptakan aplikasi yang canggih tanpa banyak menuliskan kode.
2. IDE (Integrated Development Environment)
IDE merupakan sebuah lingkunagan yang berisi tool-tool yang diperlukan untuk desain,menjalankan dan menguji sebuah aplikasi, disediakan secara terpadu untuk memudahkan perkembangan program dan terhubung dengan baik sehingga mempermudah pengguna program(user). IDE atau perkembangan terpadu Delphi dibagi menjadi beberapa bagian yaitu :
1. Menu, merupakan sekumpulan perintah di dalam menubar yang terletak di bagian atas windows utama. Dari sini kita bisa memanggil atau menyimpan program, menjalankan dan melacak bagian program dan sebagainya.. Menu tersebut terdiri atas file, edit,view,project,run,component,database,tool,dan help.
3. Jenis (Type) Data Pada Borland Delphi
Borland Delphi mendukung beberapa type data yang bisa digunakan dalam pemogramannya. Type data yang terdapat pada Borland Delphi diantaranya:
1. Tipe Integer, yaitu tipe yang terkait dengan bilangan bulat (integer). Penggolangan data integer dapat dilihat pada table di bawah ini:
Tipe | Jangkauan Nilai | Ukuran Memori |
Byte | 0 s/d 255 | 1 byte |
Word | 0 s/d 65536 | 2 byte |
SortInt | -128 s/d 127 | 1 byte |
SmallInt | -32768 s/d 32768 | 2 byte |
Integer | -2147483648 s/d 2147483647 | 4 byte |
Cardinal | 0 s/d 2147483647 | 4 byte |
Longint | -2147483648 s/d 2147483647 | 4 byte |
2. Tipe Karakter, yaitu tipe yang terkait dengan karakter ( misalnya A, angka 9, symbol *). Ada beberapa macam, yaitu:
Type | Ukuran Memori | Karakter Yang Dapat Disimpan |
ANSIChar | 1 byte | Satu karakter ANSI |
WideChar | 2 byte | Satu karakter UniCode |
Char | 1 byte | Identik dengan ANSIChar |
3. Tipe Boolean, yaitu tipe data yang terkait dengan nilai logika True (benar) dan False (salah). Macam-macam tipe data Boolean dapat dilihat pada table di bawah ini:
Type | Jangkauan | Ukuran Memori |
Boolean | Boolean berukuran satu byte | 1 byte |
ByteBoll | Boolean berukuran byte | 1 byte |
Bool | Boolean berukuran word | 2 byte |
WordBol | Boolean berukuran word | 2 byte |
LongBool | Boolean berukuran double | 4 byte |
4. Type Real, yaitu tipe yang terkait dengan bilangan real. Terdapat beberapa tipe data seperti di bawah ini:
Type | Jangkauan Nilai | Ukuran Memori |
Real | ± 2,9×10-39 s/d ± 1,7×1038 | 6 byte |
Single | + 1,5×10-45 s/d 1,7×1038 | 4 byte |
Double | ± 5,0×10-324 s/d 1,7×10308 | 8 byte |
Extended | ± 3,6×10 s/d 1,1×10 | 10 byte |
Comp | -2+1 s/d 2-1 | 64 bit integer |
Currency | -922337203684477.5808 s/d 922337203685477.5807 | 64 bit integer |
5. Type String, tipe string sebenarnya tidak termasuk sebagai tipe data sederhana. Tipe ini merupakan pengembangan dari tipe char. Suatu string dapat berupa sederetan karakter. Delphi menyediakan 4 macam tipe data string sebaagaimana tercantum pada table ini :
Tipe | Panjang String Terbesar | Elemen Yang Disimpan |
Short string | 255 karakter | ANSIChar |
Ansi stirng | ~231 karakter (3 Gb) | ANSIChar |
Wide string | ~230 karakter | ANSIChar |
String | 255 karakter ( 3 Gb) | ANSIChar |
6. Type Array, array adalah variable tunggal yang dapat dipakai untuk menyimpan sekumpulan data sejenis. Untuk membedakan tempat penyimpanan satu data dengan data yang lainnya. Array menggunakan nomor elemen disebelah kanan nama array.
7. Type Record, type record dipakai untuk menyatakan sekumpulan data yang mungkin berbeda tipe, tetapi saling berhubungan. Contoh penggunaan tipe data record untuk menampung criminal yang berisi item kode perkara, nama perkara dan lain-lain.
4. Jenis Operator
Operator adalah simbol atau kata yang digunakan untuk melakukan suatu operasi, seperti penjumlahan, perkalian, pembagian, penugasan dan perbandingan. Operator melibatkan satu atau dua operand, tergantung dari jenis operatornya. Operator dan operand membentuk suatu ekspresi atau ungkapan.
Jenis-jenis operator adalah sebagai berikut:
a. Operator Pemberian Nilai Ke Variabel.
Suatu variable dapat diisi dengan nilai konstanta, variable, hasil pemanggilan fungsi atau hasil dari suatu ekspresi (seperti 15+60). Pemberian nilai ke variable dilakukan dengan meggunakan pernyataan penugasan. Bentuknya adalah sebagai berikut:
Penugasan | Keterangan |
Harga barang:=8000; | Harga barang diisi dengan 800 |
Jumlah:=5+3; | Jumlah diisi dengan penjumlahan 5 dengan 3 |
Jumlah:=Jumlah + 1 | Nilai junlah dinaikan sebesar 1. Misalnya semula jumlah berisi 5 maka isi jumlah menjadi 6 |
b. Operator Aritmatika
Operator aritmatika dapat dibagi menjadi dua kelompok. Pertama operator yang melibatkan dua buah operand. Kedua adalah operator yang melibatkan sebuah opertand, seperti table di bawah ini:
Operator | Arti | Prioritas | Contoh |
* | Kali | 1 | 2*3 6 |
/ | Bagi | 1 | 7/2 3.5 |
Div | Bagi (integer) | 1 | 7 Div 3 |
Mod | Sisa pembagian | 1 | 7 Mod 2 |
+ | Jumlah | 2 | 2+3 = 1 |
- | Kurang | 2 | 6-4 = 2 |
c. Operator Logika
Operator logika adalah yang digunakan untuk dilakukan operasi terhadap bilangan bulat pada level bit. Ada 6 operator yang tergolong sebagai operator logika. Keseluruhan operator ini dapat dilihat pada table di bawah ini:
Operator | Keterangan |
Not | Operasi negasi pada level bit |
And | Operasi dan pada level |
Or | Operasi atau pada level |
Xor | Operasi eksklusiv pada level |
Shl | Operasi penggeseran bit-bit ke kiri |
Shr | Operasi penggeseran bit-bit ke kanan |
d. Operator Boolean
Operator Boolean adalah operator yang dikenakan pada tipe Boolean dan menghasilkan nilai yang bertype Boolean pula. Keseluruhan dapat dilihat pada tabel di bawah ini:
Operator | Keterangan |
Not | Operasi Negasi |
And | Operasi dan |
Or | Operasi atau |
Xor | Operasi atau eksklusif |
e. Operator Rasional
Operator Rasional adalah operator yang digunakan untuk membandingkan dua buah nilai dan menghasilkan nilai berupa True (benar) atau False (salah) seperti table di bawah ini:
Operator | Keterangan |
> | Lebih dari |
< | Kurang dari |
>= | Lebih dari satu atau sama dengan |
<= | Kurang dari satu atau sama dengan |
<> | Tidak sama dengan |
= | Sama dengan |
f. Operator String
Seluruh operator yang tercantum pada table operator rasional dapar digunakan pada string. Untuk melihat operasi yang menggunakan operator relasional pada string.
5. Aplikasi Delphi
Form aplikasi Delphi merupakan form yang digunakan oleh pemakai untuk berinteraksi dengan computer sehingga computer dapat mengerjakan pekerjaan yang dikehendaki oleh penggunanya.
Delphi merupakan salah satu bahasa pemograman yang bekerja didalam System Operasi Windows. Di dalam Delphi terdapat berbagai fasilitas-fasilatas dalam pembuatan aplikasi program misalnya, Visual Basic. Dengan Borland Delphi kita dapat membuat berbagai aplikasi berbasis Windows yang memiliki beberapa keunggulan. Kelebihan Delphi dibanding dengan program aplikasi lain yaitu dari segi produktivitas dan pengembangan suatu bahasa pemograman dilihat dari beberapa hal yaitu:
- Pada produktivitasnya
- Kualitasnya, Delphi berada dalam lingkungan pengembangan visual karena merupakan salah satu bahasa pemograman yang berbasis objek(objek oriented programming)
- Pengembangan perangkat lunak
- Kecepatan dalam mengcompiler program, Delphi memiliki kemampuan compiler disbanding dengan kompleksitasnya.
- Pola desain yang mudah dibuat dengan bentuk yang menarik
- Fleksibilitas dan pemakaian yang diwujudkan oleh frameworknya
- Dan dengan bahasa pemograman yang terstruktur yaitu bahasa pemograman Pascal
6. DBISAM: Solusi atas Kebutuhan Desktop Database Engine yang Handal
Sejak Delphi pertama kali diperkenalkan, Borland menawarkan BDE sebagai all-in-one solution bagi developer untuk menjawab kebutuhan akan library manajemen database yang handal. Sayangnya kelemahan-kelemahan yang terdapat pada BDE dan perkembangan teknologi yang bergulir cepat ternyata sulit ditutupi dan diikuti oleh BDE membuat teknologi yang ditawarkannya menjadi obsolete. Hal ini disebabkan karena faktor-faktor yang justru jadi kelemahan BDE dalam banyak hal berawal dari arsitektur yang dibawa oleh BDE sendiri.
DBISAM sebagai produk andalan Elevate Software merupakan solusi yang lahir dan ditujukan sebagai BDE Replacement untuk menjawab kebutuhan developer terhadap tuntutan teknologi data access yang ada saat ini. Hal-hal yang ditawarkan DBISAM:
a. Integrasi Secara Penuh Dengan Aplikasi
Aplikasi yang deibangun dengan menggunakan DBISAM tidak memerlukan keberadaan .dll apapun yang seringkali membuat sulit untuk menjaga kompatibilitas karena versi yang berbeda-beda. Hal ini menjawab mimpi buruk developer yang kerap terjadi karena user menginstall aplikasi lain yang juga menggunakan BDE.
b. Fast, Rock, and Solid Database Engine
Pengalaman DBISAM selama bertahun-tahun dan telah banyak dibuktikan oleh developer sebagai database engine yang solid meskipun digunakan dalam lingkungan operasi data yang sangat sibuk. Keluhan terhadap database yang corrupt sangat langka terjadi pada aplikasi yang menggunakan DBISAM sebagai backend databasenya.
c. Kemudahan Manajemen
Sekali anda menggunakan DBISAM, anda akan menyukai fungsi-fungsi administratif yang tersedia secara lengkap dan terintegrasi penuh dalam library database enginenya, memungkinkan anda untuk membangun aplikasi yang bahkan tidak memerlukan campur tangan user dalam melakukan fungsi-fungsi administratif manajemen data dengan demikian aplikasi tersebut dapat digunakan bahkan pada lingkungan user yang memiliki pengetahuan sangat awam tentang komputer.
d. Read Only Database
DBISAM mendukung penggunaan read only database yang membuatnya sangat cocok digunakan sebagai backend database pada aplikasi yang mengakses data hanya pada media read-only (CDROM).
e. Skalabilitas
Sebuah aplikasi yang baik tentunya harus tetap dapat digunakan mengikuti perkembangan bisnis perusahaan. DBISAM mampu digunakan dalam scope implementasi aplikasi database terkecil (single user desktop database application), dan tetap solid digunakan dalam lingkungan multi user shared database. Pun DBISAM tetap mampu menjawab tuntutan developer terhadap sebuah true client/server database application dengan menggunakan DBISAM C/S Database Server.
f. Full Source Code
DBISAM dibangun dengan menggunakan bahasa Object Pascal secara penuh dan didistribusikan bersama source code-nya dengan tujuan memberikan rasa aman bagi developer terhadap investasi yang ditanamkan pada aplikasi yang dibangun dengan menggunakan DBISAM. Source code yang ada juga memberikan kesempatan bagi developer untuk ikut menganalisis kode dan teknik yang digunakan DBISAM sehinga memungkinkan developer untuk lebih memaksimalkan pemanfaatan DBISAM pada aplikasi yang dibangunnya.
Dengan keuntungan-keuntungan tersebut, DBISAM akan sangat cocok digunakan sebagai backend database engine pada jenis-jenis aplikasi berikut:
- Point-Of-Sales pada perusahaan yang menjalankan bisnis ritel, baik dalam skala kecil, maupun menengah ke atas.
- Aplikasi akunting dalam sebuah single user application ataupun multi user application pada small business seperti apotik, toko, maupun perusahaan konsultan.
* Elevate Software
* Why not just use DataSnap / DBExpress / BDE ?
* BDE Alternatives Guide
Beberapa pendapat dari berbagai sumber tentang Delphi yaitu:
- Posted by jaimy at 07:15 AM | Go Top | TrackBack (0) Comments “Klo aku sih tetep masih suka www.codebase.com sepertinya kecepatannya juga masih wus wus wus, seperti jamannya clipper dulu. DBF 100% compatible dengan clipper termasuk NTXnya. Karena tidak ada komponen, resikonya Anda akan dibilang programmer primitif, apa sudah siap?”
- Posted by: jaimy at May 28, 2004 04:18 PM “Bung Jaimy, saya akui DBISAM emang feature-nya sangat OK, tetapi saya pernah buat aplikasi apotik dan acounting dengan item yang tidak terlalu banyak (sekitar ~100 an ribu) tetapi para customer banyak yang mengeluhkan masalah performa. Aplikasi yang saya bangun tersebut bukan C/S jada saya gak manfaatin DBISAM server tapi dalam coding kebanyakan pake SQL statement. Data corrupt juga pernah saya alami karena listrik padam”.
- Posted by: Anang Afandi at July 27, 2004 10:35 AM “Kemungkinannya sih karena sql yang dieksekusi tersebut tidak menggunakan indeks yang tepat. Dalam hal ini manual DBISAM sudah menjelaskannya pada topik Filter Optimisation, barangkali bisa dicek di sana”.
- Posted by: Primitif at May 25, 2004 12:12 PM “Ada koq, meskipun itu yang buat bukan sequiter, tapi vendor lain. Coba deh kunjungi situsnya sequiter, di sana ada koq link URL vendor codebase component for Delphi.
btw, codebase masih memerlukan keberadaan dll (karena murni menggunakan c/c++), dan tidak mendukung sql” Salam,-jaimy
Modul manajemen user security sebenarnya adalah hal yang penting dan kritikal dalam membangun sebuah aplikasi yang bersifat multi-user. Namun membuat modul yang benar-benar fleksibel baik dari sisi end-user yang menggunakan aplikasi, administrator sistem, dan fleksibilitas bagi kita sebagai developernya adalah pekerjaan yang menantang. Sebelumnya saya berpikir jalan yang termudah adalah mengintegrasikan manajemen user security ini dengan fitur yang sudah built-in pada database server yang digunakan, secara otomatis dalam hal ini kita sebagai developernya hanya tinggal menambahkan fitur-fitur yang diperlukan untuk membuatnya semakin mudah diimplementasikan.Selama ini saya menggunakan Firebird/Interbase sebagai basis RDBMS dalam 75% aplikasi-aplikasi yang pernah saya bangun. Dan selama ini pula RDBMS tersebut bersifat dedicated dan hanya digunakan oleh aplikasi yang saya bangun, dalam arti tidak disharing penggunaannya bersama database yang digunakan pada aplikasi lainnya.
Resiko mulai bermunculan saat kita mulai mengatur grant-list, dan kewenangan dalam mengakses database, di satu sisi mungkin ini adalah sebuah fleksibiltas. Dengan user yang sama, seseorang bisa menggunakan aplikasi lainnya, sehingga administrator hanya perlu mengubah role ataupun grantlist terhadap tabel-tabel yang berhak diakses oleh user tersebut. Masalah dan resiko security hole muncul ketika user, mengakses database dengan menggunakan administration tool. Kendati probabilitasnya hingga saat ini sebenarnya cukup kecil, namun adanya celah seperti ini suatu saat bisa berbahaya dan rentan, apalagi jika aplikasi yang dibuat bersifat kritis dan mengolah data yang bersifat confidential. Maka mau ndak mau harus membongkar ulang modul security management tersebut.
Hingga saat ini saya masih mengevaluasi beberapa komponen komersial yang ada, beberapa di antaranya adalah TMS-Security System, TUser Security dari Tools&Comp, dan beberapa komponen freeware lain. Sejauh ini saya masih mempelajari cara kerjanya dan masih belum juga menemukan konsep manajemen user security yang benar-benar pas, sesuai dengan kebutuhan pada aplikasi yang saya bangun.
Sayangnya saya belum menemukan adanya review atas komponen-komponen tersebut sehingga cukup sulit menentukan mana yang terbaik dan bisa diadaptasikan dengan sistem yang sudah ada saat ini.
b. VISUAL BASIC
1. Sejarah Visual Basic
Sejarah tentang visual basic diawali dari pengembangan bahasa BASIC (Beginner All Purpose Symbolic Instruction Code) di Dartmount College, Amerika Serikat pada awal tahun 1960. Sejak semula basic dirancang untuk mudah dipelajari. Pada awal tahun 1975 muncul komputer pribadi (Personal Computer/PC) pertama, bermerk MITS Altair. Namun karena hanya memiliki RAM 4 KB, satu-satunya bahasa yang bisa digunakan untuk pemrograman adalah Assembly, bahasa ini sangat sulit untuk dipahami karena perintahnya mendekati bahasa mesin. Tentu hal ini sangat menghambat perkembangan komputer pribadi dimasa depan.
Pada tahun 1982 IBM/PC diperkenalkan kepada masyarakat, Microsoft pun memebuat system operasi MS-DOS untuk komputer ini dimana didalamnya disertakan pula bahasa basic yang dikenal sebagai Quick Basic (QBASIC).
Pada tahun 1990 era DOS berlaku dan digantikan oleh era windows yang sangat bagus dan lebih interaktif mengubah pemrograman dari pekerjaan yang memusingkan kepala menjadi seuah pekerjaan yang sangat menyenangkan.
Dari perkembangan ini akhirnya Microsoft membuat versi windows. Bahasa pemrograman Basic ini dikenal dengan nama Visual Basic. Versi terakhirnya adalah Microsoft Visual Basic 6.0 for windows 98.
2.Tipe-tipe data
Visual basic mendukung beberapa macam tipe data yang bisa digunakan dalam pemrogramannya.tipe data yang terdapat pada visual basic diantaranya :
- Integer
- Byte
- Decimal
- Boolean
- String
- Single
- Double
- Date
- Currency
- Long
- Object
- Variant
3.Beberapa Komponen Visual Basic
Pada sub bab ini akan dibahas mengenai komponen-komponen yang terdapat pada Visual Basic yaitu :
- Form
- Toollbox
- Properties
Gambar 3 Tampilan Properties
- Project
Gambar 4 Project
- Menu Bar
Gambar 5 Menu Bar
- Toolbar
Gambar 6 Toolbar
4.Struktur Program Visual Basic
Agar dapat membuat program dengan baik dan terarah, pengguna Visual Basic dianjurkan terlebih dahulu mengetahui dan memahami struktur program Visual Basic. Secara umum struktur program Visual basic terdiri dari dua bagian yaitu bagian deklarasi dan bagian pernyataan program.
Bagian Deklarasi Program
Bagian ini merupakan bagian peletakan semua deklarasi data yang akan digunakan. Secara umum perintah yang ada untuk pendeklarasian data pada Visual Basic adalah Dim, Public, Private, Static, Const, Type.
- Deklarasi Dim
- Deklarasi Public
- Deklarasi Private
- Deklarasi Static
- Deklarasi Const
- Deklarasi Type
Bagian Pernyataan Modul
Program pada bagian ini ditulis pada jendela kode, jendela kode model maupun jendela sub program. Program pada bagian ini dapat memuat semua pemrograman pengendali saat (even driven programming) yang merupakan salah satu kelebihan pada visual basic.
Pada Visual Basic terdapat perintah-perintah pengulangan seperti :
a) Pengulangan Do…Loop
Untuk pengulangan suatu blok pernyataan selama (while) suatu kondisi (syarat) bernilai true atau sampai (until) suatu kondisi menjadi true.
Penulisannya adalah sebagai berikut :
Do [{while | until}<kondisi>]
[satu atau lebih pernyataan program]
[Exit Do]
[Satu atau lebih pernyataan program]
Loop
Bentuk penulisan yang lain :
Do [ {While | until }<kondisi>]
[satu atau lebih pernyataan program ]
[Exit Do]
[Satu atau lebih pernyataan program]
Until [{While | until }<kondisi>]
b) For … Next
Untuk melakukan pengulangan (iterasi) suatu blok program beberapa kali yang ditentukan oleh nilai awal dan nilai akhir. Penulisannya adalah sebagai berikut :
For <counter> = <awal> To <akhir>[step<step>]
[Satu atau lebih pernyataan program ]
[Exit Do ]
[Satu atau lebih pernyataan program]
Next [ <counter> ]
c) Percabangan bersyarat If… Then … Else
Digunakan untuk menjalankan suatu blok perintah, tergantung pada nilai yang diuji. Penulisannya adalah sebagai berikut :
If <kondisi> Then
[Satu atau lebih pernyataan program]
[Else if <kondisi lain> Then
[Satu atau lebih pernyataan program]
[Else]
[Satu atau lebih pernyataan program]
[End if]
d) Percabangan bersyarat select … Case
Digunakan untuk menjalankan suatu blok perintah, tergantung dari nilai yang diuji. Jadi fungsinya sama dengan struktur If … Then … Else, tetapi biasanya dipakai untuk percabangan lebih dari satu pilihan. Penulisannya adalah sebagai berikut :
Select Case <Ekspresi yang diuju>
Case <ekspresi-1>
[Satu atau lebih pernyataan program]
Case <Ekspresi-2>
[Satu atau lebih pernyataan program]
…..
….
Case <Ekspresi –n>
[Satu atau lebih pernyataan program]
[Case Else
[Case <Ekspresi-1>
[Satu atau lebih pernyataan program]
End Select
Akankah Delphi win32 juga bernasib sama spt VB?
Seiring dengan putusan Microsoft untuk menghentikan dukungannya terhadap VB6 ternyata membuat keresahan yang tidak hanya terdengar pada komunitas developer Visual Basic, namun beberapa diantaranya juga menjadi spot-spot pesimisme bagi sekelompok kecil developer yang aktif menggunakan Delphi.
Sebenarnya akan lebih baik jika permasalahan tersebut ditelaah secara lebih dalam. Permasalahan yang dialami oleh developer VB secara relatif lebih kompleks dari apa yang sebelumnya pernah dihadapi oleh developer Delphi terhadap kehadiran platform .NET. Memang diakui Microsoft .NET framework dalam prediksi ke depannya akan secara perlahan-lahan menggantikan platform Win32 seiring dengan microsoft mengintegrasikan framework .NET ke dalam sistem operasi, sehingga sudah tidak lagi terpisah seperti halnya saat ini. Dalam 4-5 tahun kedepan hal ini sangat mungkin seiring dengan adaptasi komputer-komputer yang digunakan secara umum secara rasionya juga sudah lebih memungkinkan untuk mengimplementasikan .NET dibandingkan saat ini yang barangkali hanya untuk medium-to-high end system saja.
Sementara dalam konteks permasalahan yang saat ini dialami oleh komunitas VB dapat dikatakan lebih kompleks, dalam arti beberapa diantaranya:
a. Perombakan besar dari sisi bahasa (language enhancement)
Secara bahasa fitur yang dimiliki Visual Basic sendiri bisa dikatakan sudah obsolete, sementara bahasa yang lain sudah mengimplementasikan konsep-konsep yang lebih baik seperti OOP, dan lain-lain, Visual Basic masih bertahan dengan metodologi procedural-nya. OOP pun diimplementasikan microsoft secara ogah-ogahan, Visual Basic mengenal OOP lewat form, control, dan object-object lainnya, namun tidak menyediakan user definable object. Daftar list pembenahan yang harus dilakukan microsoft terhadap Visual Basic secara bahasa semakin bertambah dari tahun ke tahun sementara di sisi lain semakin banyak aplikasi yang dibangun dengan menggunakan Visual Basic sebagai basisnya. Ketika microsoft secara rapelan menyelesaikan pembenahan-pembenahan tersebut, banyak orang yang menjadi shock, kenapa begini, kenapa begitu, padahal andaikata microsoft sudah mengerjakannya secara bertahap, histeria-nya tidak akan seperti sekarang ini.
b.Hanya bisa digunakan untuk mengembangkan aplikasi .NET
Setelah perombakan besar-besaran dari sisi bahasa, sangat disayangkan jika ternyata microsoft membuat visual basic hanya bisa digunakan untuk mengembangkan aplikasi berbasis platform .NET dan tidak lagi mensupport nativecode untuk platform Win32. Hal ini tentunya menambah kompleksitas permasalahan, di satu sisi developer harus beradaptasi dengan visual basic yang baru secara bahasa (language feature), ditambah lagi lagi kompleksitas pengembangan aplikasi .NET yang memiliki tatacara-nya sendiri yang berbeda dari tatacara pada platform Win32.
c. Microsoft berusaha men-drive developer untuk sesegera mungkin meninggalkan Platform native code di Win32.
Belum lagi gonjang-ganjing soal masalah porting kode yang dibuat menggunakan visual basic reda, sudah ditambah lagi dengan putusan microsoft yang hendak menghentikan dukungan terhadap visual basic 6. Hal ini tentunya membuat investasi, effort, dan waktu yang dikorbankan untuk membangun aplikasi yang sudah ada dan sebenarnya masih sangat laik pakai menjadi seperti layaknya terbuang begitu saja.
Barangkali jika ini hanyalah aplikasi-aplikasi kecil yang hanya membutuhkan waktu 2-3 bulan untk mengembangkanya masalah yang dihadapi tidak begitu besar, tapi bagaimana dengan program yang sifatnya jauh lebih kompleks, yang merupakan hasil dari pengembangan dari hulu ke hilir secara terus menerus dan berkelanjutan. Menulis ulang/memportingnya aplikasi seperti itu bukan hal yang mudah, membutuhkan investasi yang tidak sedikit. Sementara di satu sisi infrastruktur hardware yang umum digunakan bisa dikatakan masih sangat feasible untuk menjalankan aplikasi tersebut, namun tidak demikian halnya jika hendak mengimplementasikan .NET.
Implementasi .NET untuk saat ini tidak hanya membutuhkan investasi dari sisi developmentnya saja, melainkan pula dari sisi infrastruktur hardware yang dimiliki. Permasalahannya perusahaan mana yang bersedia mendepresiasikan inventaris jauh lebih cepat dari yang seharusnya dengan mempensiunkan komputer yang saat ini masih sangat layak pakai hanya karena .NET?
Sementara dengan Delphi, komunitas developer delphi dikatakan lebih beruntung dibandingkan mereka yang menggunakan visual basic. Platform .NET saat ini telah disupport oleh Borland Delphi tanpa ada perubahan yang begitu besar dari sisi fitur bahasa yang bisa membuat developer seperti belajar bahasa baru. Dan dengan disupportnya dual platform (Win32 dan .NET) di Delphi2005 saat ini, bisa dikatakan developer bisa memiliki waktu yang lebih longgar untuk bisa tetap memelihara aplikasi yang sudah berjalan saat ini secara lebih tenang. Sementara di sisi lain waktu yang lebih longgar ini bisa dimanfaatkan secara bertahap untuk mulai mengerjakan porting aplikasi-aplikasi itu ke platform .NET. Dengan demikian saat .NET nanti sudah mulai secara luas diterima publik, aplikasi yang dibuat juga bisa lebih adaptatif.
d. Delphi Simple Mailer Library
Benar, secara default delphi sudah menyediakan Indy ataupun NetMaster FASTNet yang bisa digunakan untuk mengirimkan e-mail secara mudah. Namun bila memang tujuannya hanyalah untuk mengirimkan e-mail yang sifatnya sederhana, seperti user-feedback, bug-report, dsb. menggunakan Indy ataupun NetMaster harus pula menyertakan unit-unit pendukung lain yang pada akhirnya membuat ukuran executable jadi semakin bengkak. Berikut ini adalah sekedar contoh bagaimana membuat sebuah komponen SMTPClient berbasis TWinSocket standar delphi secara sederhana, dan tidak membuat ukuran aplikasi anda gendut secara berlebihan. Komponen ini masih tidak menyertakan packagenya, namun dengan sedikit tambahan kode, anda bisa membuat package untuk komponen ini supaya bisa ditampilkan pada pallete delphi.
e. Delphi sebagai Bahasa Terbaik dalam Aspek Readability
Nick Hodges menulis sebuah artikel yang menarik tentang opininya yang membuatnya mengklaim Delphi sebagai bahasa terbaik dalam aspek readability, mungkin saja isi dari artikel ini subjektif karena ditulis oleh seorang delphian juga, namun dari artikel beserta komentar-komentar yang menyertainya mungkin bisa memberikan satu wawasan yang baru menggunakan delphi sebagai bahasa pemrograman dalam membangun aplikasi.
f. Database Alias Manager For IBX
Interbase/Firebird is a sophisticated RDBMS that rich feature and easy to maintain. However, the connection string used to connect to the database is always explicit and perhaps sometimes this information could be a potential security risk. IB7 and FB 1.5 has provide serverside aliasing, however this feature could not be accessed remotely, SYSDBA should login to the server and change those aliases, moreover we could not assign users who are granted to access the database.
Inspired with aliasing scheme used by MySQL, I try to implement it in Interbase by enhancing IBDatabase capability with database alias manager. end-user should not know where the database physically located, and database alias used as a replacement of it. That is, IBX Alias Manager is an extended IBDatabase component (TExIBDatabase) with Database Aliasing capability.
g. Membangun Search Engine dengan Delphi
Sebagai developer, mungkin anda pernah mengalami bagaimana sulitnya untuk mencari data yang sesuai dari sekumpulan text data yang besar. Secara sederhana delphi sebenarnya menyediakan function Pos(Substr: string; S: string): Integer; untuk mencari substring dalam dalam sebuah variabel string, tapi masalahnya bila itu terdiri atas sekian banyak text file maka menggunakan fungsi ini secara iteratif sangat tidak efisien, dan memakan waktu dalam setiap proses pencariannya. Solusinya adalah dengan membangun sebuah search engine. tentu saja ada banyak ragam konsep yang bisa dipelajari.
Contoh yang saya angkat kali ini adalah bagaimana impelentasinya dalam kasus yang lebih sederhana, membuat search engine untuk mencari kata dalam sekumpulan file teks dengan menggunakan Delphi dan bagaimana implementasi pencarian menurut logic AND dan OR. Konsep yang digunakan merupakan penyederhanaan dan adaptasi dari implementasi yang pernah saya lakukan untuk membangun search engine atas database yang jauh lebih besar.
Tahapan yang dibutuhkan adalah membangun word database atas setiap file yang akan dicari, memecah text dari setiap file ke dalam kata per kata dan mebuat relasi atas kata tersebut atas file tersebut. dengan demikian pada proses searching tidak perlu lagi melakukan scanning terhadap setiap file yang dicari.
sebagai contoh jika content file FILE_A.TXT:
dua ratus tiga puluh lima ribu rupiah
dan content file FILE_B.TXT:
seratus lima puluh dua ribu rupiah
maka akan diparsing sebagai:
DUA <-> FILE_A.TXT
LIMA <-> FILE_A.TXT
PULUH <-> FILE_A.TXT
PULUH <-> FILE_B.TXT
RATUS <-> FILE_A.TXT
RIBU <-> FILE_A.TXT
RIBU <-> FILE_B.TXT
RUPIAH <-> FILE_A.TXT
RUPIAH <-> FILE_B.TXT
SERATUS <-> FILE_B.TXT
TIGA <-> FILE_A.TXT
tentu saja karena isi dari word database ini bisa menjadi sangat besar, maka kita bisa menghilangkan kata yang terduplikat dan membuat relasi many-to-many atas kata dan file yang terkait. sehingga:
WORD ID
============
DUA (1)
LIMA (2)
PULUH (3)
RATUS (4)
RIBU (5)
RUPIAH (6)
SERATUS (7)
TIGA (8)
FILE ID
===============
FILE_A.TXT (1)
FILE_B.TXT (2)
WORD-ID FILE-ID
===================
1 1
2 1
3 1
3 2
4 1
4 2
…dst
h. Tunda dulu Install .NET Framework 1.1 SP 1
Jika anda adalah pengguna Delphi 8, anda harus bersiap-siap menghadapi masalah jika anda menginstall service pack terbaru .NET Framework 1.1. Service Pack tersebut akan menyebabkan Delphi 8 tidak berjalan semestinya, bahkan tidak bisa mengkompilasi baik aplikasi yang bangun diatas winform ataupun VCL.NET. Jika sebelumnya menurut Allen Bauer masalah ini bisa diatasi dengan melakukan reinstall Delphi 8, berita terbaru menyebutkan masalah tersebut tidak terselesaikan meski sudah melakukan install ulang Delphi 8. Untuk itu, hingga solusi atas masalah ini ditemukan, sebaiknya pengguna Delphi 8 menunda terlebih dulu instalasi service pack tersebut.
i. Perombakan besar dari sisi bahasa (language enhancement)
Secara bahasa fitur yang dimiliki Visual Basic sendiri bisa dikatakan sudah obsolete, sementara bahasa yang lain sudah mengimplementasikan konsep-konsep yang lebih baik seperti OOP, dan lain-lain, Visual Basic masih bertahan dengan metodologi procedural-nya. OOP pun diimplementasikan microsoft secara ogah-ogahan, Visual Basic mengenal OOP lewat form, control, dan object-object lainnya, namun tidak menyediakan user definable object. Daftar list pembenahan yang harus dilakukan microsoft terhadap Visual Basic secara bahasa semakin bertambah dari tahun ke tahun sementara di sisi lain semakin banyak aplikasi yang dibangun dengan menggunakan Visual Basic sebagai basisnya. Ketika microsoft secara rapelan menyelesaikan pembenahan-pembenahan tersebut, banyak orang yang menjadi shock, kenapa begini, kenapa begitu, padahal andaikata microsoft sudah mengerjakannya secara bertahap, histeria-nya tidak akan seperti sekarang ini.
j. Hanya bisa digunakan untuk mengembangkan aplikasi .NET.
Setelah perombakan besar-besaran dari sisi bahasa, sangat disayangkan jika ternyata microsoft membuat visual basic hanya bisa digunakan untuk mengembangkan aplikasi berbasis platform .NET dan tidak lagi mensupport nativecode untuk platform Win32. Hal ini tentunya menambah kompleksitas permasalahan, di satu sisi developer harus beradaptasi dengan visual basic yang baru secara bahasa (language feature), ditambah lagi lagi kompleksitas pengembangan aplikasi .NET yang memiliki tatacara-nya sendiri yang berbeda dari tatacara pada platform Win32. Microsoft berusaha men-drive developer untuk sesegera mungkin meninggalkan Platform native code di Win32.
Belum lagi gonjang-ganjing soal masalah porting kode yang dibuat menggunakan visual basic reda, sudah ditambah lagi dengan putusan microsoft yang hendak menghentikan dukungan terhadap visual basic 6. Hal ini tentunya membuat investasi, effort, dan waktu yang dikorbankan untuk membangun aplikasi yang sudah ada dan sebenarnya masih sangat laik pakai menjadi seperti layaknya terbuang begitu saja.
Barangkali jika ini hanyalah aplikasi-aplikasi kecil yang hanya membutuhkan waktu 2-3 bulan untk mengembangkanya masalah yang dihadapi tidak begitu besar, tapi bagaimana dengan program yang sifatnya jauh lebih kompleks, yang merupakan hasil dari pengembangan dari hulu ke hilir secara terus menerus dan berkelanjutan. Menulis ulang/memportingnya aplikasi seperti itu bukan hal yang mudah, membutuhkan investasi yang tidak sedikit. Sementara di satu sisi infrastruktur hardware yang umum digunakan bisa dikatakan masih sangat feasible untuk menjalankan aplikasi tersebut, namun tidak demikian halnya jika hendak mengimplementasikan .NET.
Implementasi .NET untuk saat ini tidak hanya membutuhkan investasi dari sisi developmentnya saja, melainkan pula dari sisi infrastruktur hardware yang dimiliki. Permasalahannya perusahaan mana yang bersedia mendepresiasikan inventaris jauh lebih cepat dari yang seharusnya dengan mempensiunkan komputer yang saat ini masih sangat layak pakai hanya karena .NET?
Sementara dengan Delphi, komunitas developer delphi dikatakan lebih beruntung dibandingkan mereka yang menggunakan visual basic. Platform .NET saat ini telah disupport oleh Borland Delphi tanpa ada perubahan yang begitu besar dari sisi fitur bahasa yang bisa membuat developer seperti belajar bahasa baru. Dan dengan disupportnya dual platform (Win32 dan .NET) di Delphi2005 saat ini, bisa dikatakan developer bisa memiliki waktu yang lebih longgar untuk bisa tetap memelihara aplikasi yang sudah berjalan saat ini secara lebih tenang. Sementara di sisi lain waktu yang lebih longgar ini bisa dimanfaatkan secara bertahap untuk mulai mengerjakan porting aplikasi-aplikasi itu ke platform .NET. Dengan demikian saat .NET nanti sudah mulai secara luas diterima publik, aplikasi yang dibuat juga bisa lebih adaptatif.
Bedanya yg satu buatan borland, yg satu buatan M$, andai namanya M$ delphi bukan borland delphi, pastilah semua orang pake Delphi. Saya lebih suka karena delphi powerfull disegala bidang. Aplikasi terkenal seperti FruityLoops, Araneae (webeditor), AvantBrowser dibangun dari Delphi. Lepas dari itu, user interface dalam programmingnya lebih beres daripada VB sulit juga nentuinnya tapi berdaasarkan pengalaman gue pake vb & delphi , gue simpulin begini [ masih pendapat pribadi ]
Beberapa Pendapat Tentang Visual Basic.
- Di vb kalo mo bikin aplikasi database sedikit lebih rumit mengapa? karena ga ada component yang native ke database kayak di delphi (ttable, dbgrid, dkk) jadi mo ga mo harus bikin classnya dulu untuk handle hal2 kayak gini
- Di vb GA BISA untuk bikin thread !! <ini yg paling nyebelin> untuk bikin aplikasi realtime jadinya tidak realiable komponen socketnya jg pas2san, lagi2 di delphi dah disediain.
- masalah OOP kayaknya di vb belum total OOP masih banyak batasan2nya kecuali kalo udah dot net. tapi semuanya kembali lagi kemasalah tujuan pembuatan aplikasi & skalanya
- lagi2 dari pengalaman gue vb bolehlah buat bikin aplikasi2 kecil yg tidak perlu realtime & database delphi lebih tinggi dari ituh bisa realtime+database untuk sekala menengah karena kalo databasenya udah gedeee bangeeet aga2 bolot juga neh delphi dibanding oracle form atau powerbuilder yg emang khusus buat aplikasi database. sulit juga nentuinnya tapi berdaasarkan pengalaman gue pake vb & delphi , gue simpulin begini [ masih pendapat pribadi ]
- Vb bolehlah buat bikin aplikasi2 kecil yg tidak perlu realtime & database delphi lebih tinggi dari ituh bisa realtime+database untuk sekala menengah karena kalo databasenya udah gedeee bangeeet aga2 bolot juga neh delphi dibanding oracle form atau powerbuilder yg emang khusus buat aplikasi database.
- Menggunakan platform pembuatan program yang diberi nama developer studio, yang memiliki tampilan dan saranna yang sama dengan visual c++ dan visual j++ kita dapat imigrasi atau belajar bahasa pemograman lainnya dengan mudah dan cepat tanpa harus belajar dari nol lagi.
- Memiliki compiler handal yang dapat menghasilkan filr executable yang lebih cepat dan lebih efisien.
- Memiliki beberapa tampilan sarana wizard yang baru, wizard adalah sarana yang mempermudah pembuatan aplikasi dengan mengotomatisasi tugas-tugas tertentu.
- Tambahan control-kontrol baru yang lebih canggih serta peningkatan kaidah struktur bahasa visual basic
- Kemampuan membuat active X dan fasilitas internet yang lebih banyak
- Sarana akses data yang lebih cepat dan handal untuk membuat aplikasi database yang berkemampuan tinggi
- VB memiliki beberapa versi atau edisi yang disesuaikan dengan kebutuhan pemakai
- Untuk membuat program aplikasi beebasis windows
- Untuk membuat objek pembantu program seperti control active X, file help, aplikasi internet dsb.
- Menguji program (debugging) dan menghasilkan program akhir berakhiran exe yang bersifat excutable atau dapat langsung dijalankan.
0 comments:
Posting Komentar