Database With Delphi II


Delphi menyediakan berbagai kemudahan bagi  programmer  untuk berkomunikasi dengan database apapun dengan berbagai metode data akses yang di sediakannya.apa lagi untuk mengakses database Oracle sehingga muncul suatu istilah “if you want talk with Oracle,Go to Delphi” .berikut adalah beberapa metode data akses standar  yang disediakan(Delphi 7):

1.BDE(Borland Database Engine)
BDE adalah teknologi awal yang ditawarkan Delphi kepada programmer/Developer pada versi awalnya dan merupakan satu-satunya teknologi database yang ditawarkan Delphi pada saat itu.saya gak asal nulis lho tapi berdasarkan Sumber yang dapat dipercaya…pada awalnya BDE ini adalah Paradox Engine untuk mengakses database Paradox yang Seterusnya dikembangkan agar dapat mengakses database local lain seperti dBase,FoxPro,Accsess,dan text File. {Untuk info aja ternyata Transtool dikembangkan dengan BDE dengan database Paradox}.
BDE juga dikembangkan agar dapat mengakses Remote Database server,Delphi menyediakan beberapa BDE Sopir eh Driver yang dikenal denagn nama SQL Links untuk mengakses RDBMS seperti: Oracle,DB2,Sybse,Informix,MS SQL server dan Interbase.BDE juga dapat mengakses database lain lewat ODBC Driver.
Walaupun begitu BDE juga banyak kelemahan..BDE adalah Engine yang besar dengan banyak File yang dibutuhkan Intalasi/Distribusi aplikasi dan membutuhkan banyak memori. Saya juga pernah baca di suatu Blog yang saya lupa lagi nama blognya,bahwa sejak tahun 2002 Borland tidak lagi mengUpdate SQL Links.SQL Links tidak akan disertakan lagi dalam Produk Delphi setelah tahun 2002.jadi Delphi Versi 7 adalah Update terakhir dari SQL Links.itulah alas an mengapa saya tidak menyukai BDE.

2.dbGo(ADO)
dbGo adalah Implementasi ADO (Activex Data Object) di Delphi yang merupakan Standar Microsoft untuk pengaksesan data.digunakan untuk mengakses database melalui OLEDB. dbGo juga dikenal dengan nama ADO yang terdapat pada Component Pallete ADO.saya menyarankan anda memakai metode  data akses ini untuk pengembangan aplikasi database stand alone dari pada menggunakan BDE.

3.dbExpress
dbExpress adalah Library penaksesan data yang bersifat Cross Platform,merupakan standar akses data baru dari Delphi untuk Platform Win32.
dbExpress adalah Library yang sangat Ringan dan cepat untuk mengakses RDBMS(Remote Database Server) seperti Oracle,DB2,Sybse,Informix,MS SQL server ,Interbase,dan MySQL Server.

4.IBExpress
IBExpress adalah teknologi khusus untuk mengakses Interbase Server.IBExpress tidak dapat digunakan untuk mengakses remote Database server lain.jika anda membuat aplikasi database hanya untuk Interbase dan tidak ingin memindahkannya ke database server lain,maka IBExpress adalah Pilihan yang paliiing tepat. kelebihan jika anda menggunakan IBExpress:
-IBExpress memberikan Kontrol/kendali data akses yang lebih luas terhadap Interbase Server disbanding mengakses Interbase server menggunakan mekanisme datakses lain. IBExpress mempunyai komponen khusus yang menangani Transaksi dan melakukan koneksi langsung ke Client Library Interbase.ini membuat aplikasi tidak membutuhkan library lain selain Client Library Interbase yaitu gds32.dll. terdapat di Component Pallete Interbase.

5.ZEOS(Third Party)
Selain metode data akses yang disebutkan di atasada sebuah komponen data akses third party yang open source yaitu Zeos,zeos banyak sekali dipakai dikalangan programmer  Delphi karena fleksibilitas nya ,kemudahan dan kecepatannya mengakses RDBMS seperti:
Oracle,DB2,Sybse,Informix,MS SQL server ,Interbase,dan MySQL Lite,Firebird.
Read more

5 Alasan Mengapa Memilih Delphi


Pada mau tahu 10 alasan kenapa memilih Delphi sebagai Development Tool dibanding Bahasa Pemrograman Visual yang lain??tentunya Versi fajardelphiscript,hi..hi..
juga pada artikel ini saya akan Share sebuah program yang bisa membunuh semua program yang bergantung pada MSVBVM60.DLL yang terletak pada System Directory Windows..apa kegunaan MSVBVM60.DLL tersebut??Penasaran,,mau tahu?klik dan terusin bacanya ya..

berikut adalah alasan-alasan mengapa harus memilih Delphi dibanding Bahasa Pemrograman Visual yang lain Versi fajardelphiscript:

1.Delphi adalah perkembangan dari bahasa Pascal,Pascal yang sejak jaman dulu digunakan untuk mengajarkan  pemrograman kepada mahasiswa jurusan  komputer,Pascal juga memiliki Syntax-syntax  yang tergolong mudah dibanding yang lain,jadi  jika anda sudah terbiasa dengan Pascal tentu   anda akan mudah memahami Delphi.

2.IDE(Integrated Development Enironment)nya User friendly Jauuuh lebih Friendly  dari   dari pada VB,he..

3.Banyak nya komponent pihak ketiga untuk  mengembangkan aplikasi dengan Delphi seperti Fast Reports yang terkenal itu dsb,bahkan  kita diijinkan untuk membuat komponent   baru!!tentu saja anda harus mengerti konsep    dasarnya dulu.

4.banyak menyediakan pilihan untuk  mengembangkan  aplikasi Database,,setidaknya   yang saya ketahui  ada 5,tapi ada yang   menyebutkan sampai 10!!!saya dapat info itu   dari blog ini{link here}.

5.Tidak membutuhkan Runtime Library tambahan  untuk menjalankan File executable,,tidak  seperti VB yang membutuhkan File MSVBVM*.DLL,
yang mana jika File tersebut tidak ada di  system directory Windows maka setiap program  yang dibuat dengan VB tidak akan bisa  berjalan.

Read more

Mengedit Data secara Lookup dari dbGrid




Okeh untuk Tips and Trick Delphi kali ini saya mau share bagaimana Mengedit Data secara Lookup dari dbGrid.ngerti gak masudnya
biar mudeng/ngerti berikut screen shootnya:


keren gak??pake skin tuh..modelnya cantiik lagi,
Form ini dalah screen shoot dari Form Data Member dari dayPerpus 2.0 ..so tunggu yah...

dengan cara ini pengeditan bisa langsung diipilih pada dbGrid..bisasanya sih orang-orang kalo mau ngedit suka nambahin Form baru..halah klo saya males,
untuk isi dari dropdown itu sendiri kita akan me retrieve dari tabel lain...pengen tau gimana caranya???
klik dan terusin bacanya...

Oke,di asumsikan anda mempunyai Tabel Member dan Tabel Kelas.untuk mengambil data dari tabel kelas dan memasukannya ke dbGrid data Member berikut adalah Penjelasannya...:

pada Properties Column di komponent dbGrid ada yang namanya properties PickList yang bertipe Strings.
prinsipnya kita akan memasukan field Kelas dari Tabel kelas ke Column 3 dari dbGrid,,sebelumnya kita buat Procedure PickList dulu pada Klausa Private (terus jar?) terus Codingnya begini nih:


procedure TForm3.Picklist;
var
i:Word;
begin

//memastikan pointer tabel kelas berada di record pertama
dm1.QKelas.First; 

//pengulangan or Looping untuk memasukan record2 dari field kelas ke dbGrid colomn ke 3
for i:=0 to dm1.QKelas.RecordCount-1 do begin
dbgrid1.Columns[3].PickList.add(dm1.QKelas.fieldbyname('Kelas').

AsString);
dm1.QKelas.Next;
end;//end looping
end;
end.


,

terima kasih..Semoga bermanfaat
"TETAP SEMANGAT NGODING YAH!!!"
Read more

Optimisasi dbGrid III


"Just Sharing Knowledge on the web"

 Melanjutkan Optimisasi dbGrid dari artikel sebelumnya,sekarang kita lanjutkan Optimisasi dbGrid nya,yaitu menampilkan data bertipe Memo dan mengedit nya secara Popup.
screenshoot nya sperti gambar di atas.
kita langsung aja deh ke codingnya.

Seperti biasa saya asumsikan anda mempunyai sebuah tabel dengan salah satu fieldnya bertipe memo.

Menampilkan data field bertipe memo
Secara default jika kita memiliki sebuah field bertipe memo maka field tersebut hanya akan bertuliskan "MEMO" di dbGrid,untuk menampilkan bukanlah hal yang sulit,kita hanya menuliskan 1 baris code pada event OnGetText pada fieldnya.untuk memperjelas berikut screen shootnya:


lalu ketikan code berikut:


procedure Tdm.QBukuDeskripsiGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
text:=copy(qbuku.fieldbyname('Deskripsi').asstring,1,30);
end;

gampangkan?hanya dengan fungsi copy sekarang field bertipe memo sudah tampil di dbGrid.
lalu bagaimana untukmengeditnya secara Popup(itu lho jendela yang muncul keluar),jawabannya adalah mudah.yang diperlukan adalah sebuah Form untuk melakukan pengeditan,tambahkan saja di dalam Form itu sebuah Memo,Panel dan button kurang lebih seperti screeen shoot di atas.jangan lupa untuk merubahnya Formnya menjadi Available Form di Project Options. pada event onDblClick di dbGrid tambahkan code berikut:

procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
if dbgrid1.SelectedField=dm.QBuku.FieldByName('Deskripsi') then
With TForm7.Create(nil) do
try
memo1.Text:=dm.QBuku.fieldbyname('Deskripsi').AsString;
Showmodal;
dm.QBuku.Edit;
dm.QBuku.FieldByName('Deskripsi').AsString:=memo1.Text;
Finally Form7.Free; end;
end;

*Form7 adalah Form yang dibuat tadi.
saya rasa tidak perlu ditambahkan commentar pada code nya karena sangat mudah dipahami ya kan?.
Read more

Sekilas ClientDataSet


Nih Ada Sedikit Contoh Penggunaan Component ClientDataSet,ClientDataSet sangat berguna untuk Aplikasi Database untuk Arsitektur Client Server atau bahkan Multitier.Client dataSet bekerja sangat cepat karena bekerja di level Client dan mengupdatekannya ke Server dengan Perintah ApplyUpdates,dan penggunaan ClientDataSet juga sangat Mudah!!...Mau tahu?terusin bacanya..

Tutor lengkapnya ada di E-Book yang lalu.
berikut Screen Shoot Contoh Sederhana Programnya



Untuk menjalankan Program ini tentu saja anda harus menginstall Interbase Server dulu,karena saya menggunakan Database Interbase Server.anda dapat menDownload nya di DropDown Menu SideBar kanan Blog ini.
Disertakan juga Source Codenya+Comentar program agar lebih jelas.



-Apply updates ClientDataSet

Semoga  bermanfaat,


-Stop Piracy!
-Stop Global warming!
-Staw Away from Drugs!

Semoga bermanfaat !^__^
Read more

Configure freepascal Fast CGI application with nginx




Berawal dari gak mau pake CGI dan Apache yg boros memory...saya cari2 web server yang ringan dan low memory dan akhirnya pilihan jatuh pada nginx web server.
configure fast cgi di nginx tidak terlalu sulit bahkan lebih mudah dari pada fast cgi di apache, oke lets do it.

Sebagai demo Kita akan memakai contoh CGI application dari lazarus yaitu \components\fpweb\demo\echo . demo ini adalah CGI application tapi dengan mudah kita akan ubah menjadi fast cgi application.
buka echo.lpr dan rubah menjadi sebagai berikut :
program echo;

{$mode objfpc}{$H+}

uses
  fpWeb,fpfCGI, wmecho; // <== ubah fpcgi menjadi fpfcgi.

begin
  Application.Initialize;
  Application.Port:=9090; //<== tambahkan Port , Fast CGI app kita akan listening di port ini.
  Application.CreateForm(TEchoModule, EchoModule);
  Application.Run;
end. 
cool bukan?
sekarang kita buka file configuration dari nginx   /conf/nginx.conf
di root http kita tambahkan directive "upstream fastcgi"
    upstream fastcgi {
      ip_hash;
      server 127.0.0.1:9090; //<== address dan port dari fast cgi application
     // kita bisa tambahkan server lain untuk load balancing eg : server
    }
lalu di dalam directive "server" :
location /pas { // <== berarti http://example.com/pas
    fastcgi_pass fastcgi; //<== lihat upstream
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}
 simpan.
fast cgi app kita harus dijalankan terlebih dahulu sebelum ada request ke nginx.
simple double klik fast cgi app td.
lalu reload nginx (nginx -s reload) .pada browser ketik "http://localhost/pas".

viola!!

Read more

dayPerpus 2.0 Sistem Informasi Perpustakaan





dayPerpus 2.0 Sistem Informasi Perpustakaan

Fitur :
1.Cetak Kartu Anggota

2.Capture Photo via Webcam dan barcode supported. Pengelola perpustakaan bisa menggunakan webcam untuk mengambil Photo Anggota sehingga anggota tidak perlu membawa foto saat mendaftar. Barcode juga bisa digunakan untuk proses peminjaman sehingga mempercepat proses peminjaman buku.

3.Menu ISBN (International Standard Book Number) digunakan sebagai panduan pencatatan buku agar pengindentikasian buku bisa sejalan dengan standar perpustakaan nasional.

4.Pengaturan DENDA yang memungkinkan pengelola perpustakaan mengatur Anggota agar anggota lebih disiplin dalam mengembalikan buku.

5.Otoritas User. Menu yang digunakan untuk proses pengaturan user yang boleh menggunakan program yang dapat diatur sesuai dengan Group atau kelompok pengguna sehingga lebih aman dari proses manipulasi data oleh user yang tidak diberi kewenangan.

6.Backup & Restore database yang mudah sehingga user tidak perlu takut kehilangan data jika terjadi kerusakan pada komputer.

7.Network Supported. dayPerpus dapat digunakan dalam jaringan sehingga bisa digunakan untuk berbagi pakai data perpustakaan dalam satu jaringan komputer.

8.User Friendly

9.dan masih banyak lagi.
Software ini menggunakan Firebird 2.5 sebagai Database nya.
jika ingin menggunakannya dalam jaringan client/server cukup install firebird di komputer servernya saja,lalu dari client tinggal diatur database ke database yang berada di server.

Download
- Manual Penggunaan (Donlot dan baca terlebih dahulu)
- Firebird 2.5
- dayPerpus Setup (Trial 15 hari)
Read more

Archive