Selasa, 01 Januari 2013

1st Aniversarry fajardelphiscript (bonus link download delphi 7 dan delphi 2007)


Alhamdulilah wasyukurilaah kini blog ini sudah berumur satu tahun tepatnya tanggal 14-January-2010 kemarin,mudah-mudahan apa yang pernah saya tulis di blog ini sedikitnya bisa bermanfaat bagi pembacanya amin.tak ada kata lain selain ucapan terima kasih kepada semua pengunjung yang setia dan tidak setia yang ikut meramaikan blog ini,terimakasih banyak juga untuk pengunjung yang berkomentar(walaupun sedikit)baik positip ataupun negative.

Sampai saat artikel ini diposkan 71 Artikel sudah dimuat di blog ini dari berbagai kategory yang didominasi kategory Tutorial Delphi sesuai tujuan dan Title blog ini.banyak sekali suka dan duka dalam mengarungi dunia perbloggeran ini.kalo boleh jujur pernah ada sedikit rasa cemburu kepada blog lain yang menurut pribadi tidak lebih bermanfaat dari blog ini tetapi mendapat apresiasi lebih dari pembacanya (halagh malah curhat).tapi bagaimanapun juga niat saya hanya ingin berbagi dan mohon dimaafkan jika ada kesalahan penulisan atau apapun dengan tulisan-tulisan saya disini.

Harapan saya kepada blogger indonesia dan kepada diri sendiri postinglah sesuatu yang bermanfaat dan janganlah sekedar menjadikan blog sebagai ajang berburu uang di internet dan seikhlas mungkin berbagi pengetahuan kepada pembaca tanpa mengharap apa pun.Harapan bagi saya sendiri mudah2an saya lebih rajin menulis lagi minta duit eh dukungannya aja ya .

Segala Saran dan Kritik yang membangun sangat saya harapkan.

Mungkin bagi anda yang ingin belajar delphi tetapi tidak mempunyai nya dan sudah mencari kemana-mana tidak ketemu disini saya share 3 buah link download delphi yaitu Turbo delphi explorer,Delphi7 enterprise,dan code gear delphi 2007.bagi yang mendownload Turbo delphi explorer harus mendownload dan menginstall prequisite nya terlebih dahulu. silahkan bagi yang berminat:

Senin, 31 Desember 2012

Membuat *.Ini File Di Delphi


Membuat *.Ini File Di Delphi



Apakah anda Tau *.Ini atau File ini/File Configurasi??Ini File digunakan untuk menyimpan Properties-Properties dari component-Component yang terakhir kali di atur oleh User/pengguna,Contohya kita membuat aplikasi Text Editor dan User mengubah Font Arial(Default) nya misalnya menjadi Comic Sans ms...setelah user keluar dari aplikasi dan user kembali membuka aplikasi tsb maka Font nya akan tetap menjadi Font Default saat kita membuat aplikasi tsb...di Tutorial Delphi kali ini saya akan Coba Share Bagaimana cara membuat Ini File di Delphi.Pasti yang baca enggak ngerti apa yang saya omongin,he..maklum saya ga punya bakat Nulis,hi…

Oke deh biar pada ngerti langsung aja saya kasih contoh sederhana nya:



v Buka Delphi nya masing-masing

v Tambahkan Sebuah Component Edit dan satu Component Button

v Sebelumnya kita Uses IniFiles pada Klausa Uses

 procedure TForm1.FormCreate(Sender: TObject);
var
appINI : TIniFile;
LastUser : string;
LastDate : TDateTime;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
LastUser := appINI.ReadString('Pengguna','Terakhir',LastUser) ;
LastDate := appINI.ReadDate('Pengguna', 'Tanggal', Date) ; ShowMessage('Program ini terakhir dipakai oleh: ' + LastUser + ' on ' + DateToStr(LastDate));
Top := appINI.ReadInteger('Penempatan','Top', Top) ;
Left := appINI.ReadInteger('Penempatan','Left', Left);
Width := appINI.ReadInteger('Penempatan','Width', Width);
Height := appINI.ReadInteger('Penempatan','Height', Height);
finally
appINI.Free;
end;
end;

Procedure FormCreate Sangat Ideal untuk melakukan Pembacaan Properties-properties pada Aplikasi.

 Pencet F12 klik tab Event Double klik event onClose.Kode Berikut akan kita Tuliskan di Procedure FormClose untuk penulisan Ini File yang akan dibaca ketika Form di Create.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
appINI : TIniFile;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
appINI.WriteString('Pengguna','Terakhir',Edit1.Text) ;//Edit1.text sebagai variable string appINI.WriteDate('Pengguna', 'Tanggal', Date) ;
with appINI, Form1 do begin
WriteInteger('Penempatan','Top', Top) ;
WriteInteger('Penempatan','Left', Left) ;
WriteInteger('Penempatan','Width', Width) ;
WriteInteger('Penempatan','Height', Height) ;
end;
finally
appIni.Free;
end;
end;

  • Double Click Button1,ketikan Close;. 

  • Pencet F9! Jadi Deh….
Ketikan Nama anda di Component Edit lalu atur Tinggi atau lebar Form pencet Button1,Jika anda membuka kembali Aplikasi yang tadi anda buat maka tinggi,lebar dan pesan saat aplikasi dibuka akan sama seperti saat anda terakhir memakai aplikasi anda.coba anda bandingkan dengan aplikasi yang tidak memakai Ini File..

Minggu, 30 Desember 2012

Reminder_Password 3.1


Betulin Reminder_Password dengan menambahkan Form LogIn untuk masuk programnya biar ga semua orang bisa buka password-password pribadi anda dan juga ngerubah Interface nya..jadi deh Reminder_Password 3.1..Screen Shootnya disamping.

-------------------------------------------------
Catatan untuk Versi ini..jika anda ingin menjalankannya di komputer lain anda harus mencari file Midas.dll di C:\Windows\System32 dan mengcopykannya ke System directory komputer yang lain.
-------------------------------------------------
Remider_Password ini database nya pake Komponen ClienDataSet yang ringan dan powerfull,ClientDataset ini juga sangat berperan dalam pembuatan applikasi database di delphi.dengan berbagai database,Terutama Remote Database Server.
tadinya mu bikin Tutor Koneksi database ke MySQL Server karena banyak yang nanyain cara koneksi ke database server tersebut..tapi berhubung ga make MySQL tapi make Interbase server.

FreeDownload Reminder_Password 3.1.

Semoga bermanfaat ^__^

Sabtu, 29 Desember 2012

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.

Jumat, 28 Desember 2012

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.

Kamis, 27 Desember 2012

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!!!"

Rabu, 26 Desember 2012

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?.

Selasa, 25 Desember 2012

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 !^__^

Senin, 24 Desember 2012

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!!

Minggu, 23 Desember 2012

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)

Sabtu, 22 Desember 2012

Preview hade-framework development


target pembaca : Advance

Masih tetap berambisi bikin opf/orm framework sendiri cari referensi sana sini,bahkan sampai 2 kali redesign , sekarang saya sudah cukup yakin dengan designnya.
Sekarang hade-framework sudah mampu menjalankan tugas dasarnya :D mari saya contohkan penggunaannya.

- Pertama yang anda lakukan adalah membuat Bussines Objectnya yang merupakan turunan dari THadeObject

uses
   hadeobject;
Type
  TTest = class(THadeObject)
  private
   FAge: integer;
   FLName: string;
   FName: string;
  public
   function Full_Name : String;
  published
   property First_Name: string read FName write FName;
   property Last_Name: string read FLName write FLName;
   property Age: integer read FAge write FAge;
  end;


Property yang ingin di mapping harus berada pada published section, property yang berada pada published section juga tidak harus di mapping ke schema database.
semisal anda hanya ingin First_Name dan Last_Name saja yang di mapping anda tidak perlu meremove property Age.

- Langkah berikutnya adalah melakukan Register Mapping ( uses unit hademapping ).

    GHadeMappingManager.RegisterMapping(TTest, 'person', 'OID', 'oid',
      ftInteger, 0, [ptkPK, ptkReadOnly]);

    GHadeMappingManager.RegisterMapping(TTest, 'person', 'Name',
      'first_name', ftVarchar, 25);

    GHadeMappingManager.RegisterMapping(TTest, 'person', 'Age', 'age', ftInteger);

    GHadeMappingManager.RegisterMapping(TTest, 'person', 'Last_Name',
      'last_name', ftVarchar, 25);


GHadeMappingManager adalah singleton function lebih detil bisa dilihat hademappingmanager.pas
interface dari RegisterMapping adalah

procedure RegisterMapping(const AObjClass: THadeObjectClass;
      const ATable, APropName, AColName: string; const AFieldType: THadeFieldType;
      const ALength: integer = 0; const ASetPtkInfo: TSetPtkInfo = []);


- Selanjutnya Register Connection ( uses unit hadeopfmanager,hadebroker )

    GHadeOPFManager.RegisterConnection('test', 'test.s3db',
      '', '', '', SQLDB_SQLITE);
    GHadeOPFManager.OIDStrategy := oidAutoInc;

code diatas berarti "Registrasikan koneksi dengan nama 'test' , 'nama DB','Host','username','password' dengan menggunakan broker SQLLite"

anda bisa mempunyai lebih dari satu koneksi dalam satu applikasi :D .
OIDStrategy := oidAutoInc berarti anda menggunakan PK(Primary Key) dengan strategy AutoIncrement fitur yang tersedia dihampir semua R/DBMS, anda juga bisa menggunakan oidGUID sebagai OIDStrategy, oidGUID menggunakan GUID(Global Unique Identifier) sebagai primary key nya yang disimpan sebagai string.

- Create/Read/Update/Delete Bussines Object
Untuk Melakukan CRUD pada Bussines Object anda harus menggunakan session, mungkin bagi sebagian orang penggunaan session cuma bikin ribet,tetapi sebenarnya penggunaan session sangat powerfull untuk melakukan transaksi,management koneksi dll.

uses
 hadeobject,
 hadeopfmanager,
 hademapping,
 hadession;
//..some code omitted for brevity
var
 MySession : THadeSession;
 obj : TTest;//class TTest yang tadi
begin
 MySession := GHadeSessionFactory('test');//session dengan koneksi 'test'
 obj := TTest.Create(71);//mengeset OID/pk dengan nilai 71
 Try
   MySession.read(obj);//sekarang obj = record di table person dengan OID = 71
   
   //kita update
   obj.First_Name := 'Test Doank';
   obj.MarkDirty;//tandai object ini adalah dirty( kotor dalam artian tidak sama dengan database )  
   MySession.save(obj);//sekarang record dengan OID 71 sudah terupdate.
end. 
untuk melakukan Create(Insert) sangat mudah dan sama seperti operasi update/delete

  //tanpa OID karena oidAutoInc , jika oidGUID tambahkan(uses) unit hadeoid
  //tmp := GHadeOID.getOID.getGUID; dan pass variable tmp ke TTest Constructor
  obj := TTest.create();
  obj.First_Name := 'Test';
  obj.Last_Name := 'Lagi'
  obj.Age := 76;
  MySession.save(obj);//tersimpan

  //untuk Delete cukup tandai object dengan MarkDelete
  obj.MarkDelete();
  MySession.save(obj);// record terhapus

- Transaction
Katakanlah anda mempunyai 2/lebih object yang harus di save(insert/update/delete) yang mana jika salah satu objectnya gagal maka keseluruhan object tersebut harus di rollback.

begin
 MySession.StartTransaction;
 Try
   //save/read operation
 except
   MySession.Rollback;
   //raise again?
 end;
 MySession.Commit;
end.

Session tidak perlu di free secara manual karena THadeSession adalah interface.
anda juga bisa menaruh Session di constructor suatu class dan session akan hidup sepanjang object dari class tersebut hidup.

well tentunya framework ini masih jauh untuk di release saya masih berhati-hati takutnya gagal lagi :D. nanti tak kabarin lagi kalo ada major improvement.

kalo mau ngulik sourcenya bisa di checkout di http://hd-framework.googlecode.com/svn/trunk/ dengan svn client kesayangan anda :D

Thanks happy coding.

Jumat, 21 Desember 2012

FeedReader 3.14 Open Source RSS Feed Desktop



RSS Feed(Really Simple Syndication Feed) ,pada tau RSS Feed donk?yang belum tau silahkan klik link tadi.
disini saya tidak akan menjelaskan apa itu rss feed karena saya yakin anda pasti lebih tau dari saya.saya cuma mau bagi-bagi  feeed reader desktop yang free.nih situs resminya http://feedreader.com ,dengan software ini anda dapat berlangganan artikel situs/blog favorite anda dan di update setiap ada entry baru jadi anda tidak perlu membookmark situs blog/situs favorite anda di browser.cara penggunaannya pun sangat mudah ada dua cara:
1.langsung memasukan alat rss ke feedreader dengan cara menekan tombol F3 lalu masukan alamat rss nya.
2.langsung dari browser,sebuah web yang mempunyai RSS pada  navigation toolbarnya bertanda seperti yang anda lihat di navigation toolbar anda sekarang



Anda tinggal mengklik tanda itu lalu jika situs itu mempunyai 2 rss/atom klik salah satunya: atau biar lebih gampang deh,pada browser anda(Firefox ya)klik Tools-->Option-->Tab Application,perhatikan screen shoot berikut: lalu klik Ok selesai.



silahkan download feedreader nya:



Semoga bermanfaat

Kamis, 20 Desember 2012

KooMail Alternatif Mail Client



Kenalin nih KooMail sebuah software Mail Client sebagai alternatif Microsoft Office Outlook,saya sendiri sudah lama mengunakan KooMail alasannya KooMail ini lebih ringan dari pada Outlook tapi dengan fitur yang luar biasa.
Interfacenya pun good looking,bisa dipakai untuk Feed reader jga,emoticons,mudah dalam penggunaan,dan yang paling keren KooMail ini Free.KooMail ini buatan Programmer China sepertinya.. ya udah lah gak usah basa-basi silahkan bagi yang berminat download dari server softpedia:
Cetak Artikel Ini

Rabu, 19 Desember 2012

Firebird embeded server


Firebird embeded server adalah database firebird yang dapat di akses tanpa running service firebird server. firebird embed server ini sangat cocok jika kita mengembangkan aplikasi dengan database firebird yang digunakan untuk satu komputer saja, jadi user tidak perlu menginstall firebird server di komputernya. tapi tidak bisa digunakan untuk arsitektur client-server.
kita hanya perlu mendistribusikan sedikitnya 4 buah File yaitu:
  1. fbembed.dll akan di rename menjadi fbclient.dll.
  2. icuin30.dll.
  3. icudt30.dll.
  4. icuuc30.dll
File-file yang di distribusikan dapat berbeda tergantung versi firebird yang di pakai, contoh pada firebird 1.5 file-file yang diperlukan adalah fbembed.dll dan ib_util.dll . feedreader,Tips Explorer adalah beberapa software yang menggunakan firebird embed server ini.
Untuk mendapatkan fbembed.dll anda bisa mendownloadnya dari sf nya firebird.atau jika anda menggunakan firebird 2.0 anda tidak perlu repot mencarinya karena saya sudah upload fbembed.dll(udah di rename jadi fbclient.dll)+ 3 file yang lainnya.
fbembed.zp(1.20 mb)
Referensi
http://www.firebirdsql.org/manual/fbmetasecur-embedded.html http://www.firebirdsql.org/manual/ufb-cs-embedded.html

Selasa, 18 Desember 2012

Penjaringan Error secara global (Catching Exception)


Pada saat mengoperasikan windows pasti/mungkin anda pernah mengalami error yang tidak diketahui biasanya windows akan memunculkan sebuah window/jendela/dialog yang bertulisan "sory bla bla bla" lalu ada beberapa buah button kalo gak salah report to microsoft,continue,details>>>.
atau yang aplikasi berbasis web seperti pesbuk dengan kalimat khasnya "maaf terjadi kesalahan,kami akan segera memperbaikinya". dan aplikasi2 lain yang menerapkan "catching exception"  atau apalah itu namanya.
to the point aja(males nulis) berikut ada source code tentang bagaimana menjaring error yang kadang tidak  kita duga sebelumnya. silahkan pelajari source codenya.

Senin, 17 Desember 2012

File Wiper (menghapus File secara permanen dan aman)



File Wiper ini fungsinya sama seperti File shreder atau semacamnya yang tujuannya adalah untuk menghapus File secara permanen dan aman.Program ini adalah hasil modifikasi dari  WipeFile 1.0 yang ditulis oleh pak budi sukmawan tepatnya pada artikel beliau yang berjudul "Penghapusan Data Secara Permanen" makasih pak atas sharing ilmunya.

Sebenarnya enggak banyak yang saya rubah,saya hanya merubah Interface dan penambahan context menu handler nya aja.untuk Core code nya saya belum melakukan perubahan mungkin nanti nyusul,masih perlu banyak belajar sama beliau .
pada artikelnya beliau memberikan catatan seperti berikut:


 Catatan: Metoda penulisan untuk menimpa file data yang digunakan pada komponen wipe.pas tidak aman bila digunakan pada sistem Windows NT, 2000 atau XP dengan file system NTFS karena penanganan file yang berbeda, jadi hanya bisa dipakai pada Windows 9x dengan FAT16/FAT32.

jadi tentunya harus dilakukan perubahan jika di implementasikan dengan file system NTFS,tidak aman disini maksudnya bukan kata tidak aman sebagai kata ganti "merusak" tetapi  tidak aman pada metoda yang dilakukan oleh program ini.saya sudah mencobanya pada komputer saya dengan file system NTFS dan berjalan dengan baik (tested by me).

-download Wiper(exe)
-download source code wiper

Minggu, 16 Desember 2012

Mengenal Borland Delphi 7.0


Delphi adalah sebuah bahasa pemrograman visual di lingkungan windows ( under windows) yang menggunakan bahasa pascal sebagai Compiler. Keberadaan bahasa pemrograman Delphi tidak bisa dipisahkan dari bahasa Turbo pascal yang diluncurkan pada tahun 1983 oleh Borland International Incorporation. Turbo pascal memang dirancang untuk dijalankan pada operasi DOS (Disk Operating System) yang merupakan sistem operasi yang banyak digunakan pada saat ini. Seiring dengan perkembangan zaman, dimana sistem operasi mulai bergeser ke sistem operasi windows, maka borland International merilis Turbo Pascal for windows yang dijalankan dibawah sistem operasi windows 3.X.


Sejarah Borland Delphi 7.0

pada tahun 1992 muncul bahasa pemrograman baru bernama Borland Pascal 7 yang merupakan penggabungan dari Turbo Pascal dan Turbo pascal for windows.

Namun ternyata bahasa pemrograman baru tersebut ternyata masih sulit di gunakan. Trend penggunaan bahasa pemrograman visual untuk membangun sebuah aplikasi telah mendorong Borland membuat bahasa pemrograman baru pada tahun 1995 diperkenalkan kepengguna komputer sebuah bahasa pemrograman visual yang berbasis bahasa pascal. Bahasa pemrograman baru tersebut diberi nama Borland Delphi setahun kemudian versi ke dua dari delphi dilempar kepasaran.

Penggunaan delphi dapat mempersingkat waktu pemrograman, karena anda tidak perlu lagi menuliskan kode program yang rumit dan panjang untuk menggambar, meletakkan dan mengatur komponen. Selain itu anda dapat menyusun aplikasi yang lebih interaktif. Delphi menyediakan cukup banyak pilihan komponen interface aplikasi, antara lain berupa tombol menu, drop down, ataupun menu pop up, kotak text, radio button, check box, dan sebagainya. Bahkan ada berbagai mascam komponen Skin tampilan yang beragam yang disediakan oleh beberapa vendor lainnya, seperti, SUIPack, Sxskincomponents, dan lain sebagainya. Anda tinggal memilih komponen yang dibutuhkan dengan klik mouse, mengatur tampilannya kemudian menuliskan sedikit kode program, maka aplikasi anda siap dijalankan.

Delphi 7.0, versi terbaru yang dikeluarkan oleh Borland, memiliki support yang sangat tinggi terhadap data base-data base yang sudah terkenal (seperti MS Accsses, Paradox, Foxpro, Dbase, Oracce, dan lain sebagainya), dan dilengkapi dengan objek-objek yang baru sehingga memudahkan pembuatan database maupun program lainnya (Game, Utility dan lainnya).


Gambar Tampilan Borland Delphi 7.0


Kelebihan Borland Delphi 7.0

Borland delphi 7.0 merupakan pilihan bagi sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang ada pada borland delphi 7.0 berikut ini beberapa kelebihan borlan delphi 7.0 antara lain :


  • Berbasis Objek Orientid programming, seperti bagian yang ada pada program dipandang sebagai suatu objek yang mempunyai sifat-sifat yang dapat diubah dan diatur , sehingga kita dapat membuat tampilan sebuah program dengan desain kita sendiri tanpa harus membuat codding yang panjang.
  • Suatu file EXE, setelah anda merancang program pada IDE Delphi akan mengkomplikasinya pada sebuah file executable tunggal. Program yang anda buat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file lain, kecuali file yang beretensi *.exe atau Applikasi tersebut membutuhkan file lain seperti database, koneksi atau file pendukung lainnya, ini merupakan kelebihan yang sangat berarti.

  • Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux, bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua produk tersebut merupakan produk Borland.



Kebutuhan Sistem

Agar delphi versi 7.0 ini dapat dioperasikan dengan baik anda membutuhkan perangkat keras dan perangkat lunak dengan spesifikasi tertentu. Delphi memerlukan perangkat keras (Hardware) dengan ruang hard disk dan memori yang relatif besar untuk untuk pembuatannya tetapi untuk pemakaiannya / menggunakan hasil file Aplikasinya tidaklah membutuhkan spesifikasi yang besar, tergantung besar kecilnya program yang kita terapkan pada komputer tersebut, Spesifikasi minimal yang dibutuhkan antara lain :


  • Processor pentium 233 MHz atau yang lebih tinggi.
  • Sistem operasi windows XP, windows 2000 atau windows 98.
  • Memori membutuhkan RAM 64 MB untuk edisi Architect, Enterprise, dan propesional, kecuali untuk personal 32 MB disarankan 128 MB.
  • Untuk Hard disk minimal size yang kosong sebesar 500 Megabyte.
  • Mouse,Keybord.dll
referensi: Wahana Komputer. 2002. Pemrograman Borland Delphi 7.0, Andi Offset, Yogyakarta

Sabtu, 15 Desember 2012

Mendeteksi Memory Leak(Memory Leak Detection)


Sebuah Aplikasi yang baik dan kuat/robust application seminimal mungkin harus terhindar dari bug walaupun pastinya no body's perfect,dan satu hal lagi yang menjadi ukuran baiknya sebuah apllikasi adalah tidak memiliki kebocoran memory atau lebih dikenal dengan Memory Leak.saya coba mengulas sedikit apa itu memory leak.

Memory Leak adalah suatu keadaan dimana suatu blok memory yang dialokasikan tp tidak pernah di bebaskan oleh pihak yang bertanggung jawab(program),jika memory yang dialokasikan tidak dibebaskan dari memory,maka akan mengurangi ketersedian memori yang dapat digunakan oleh sistem operasi dan aplikasi lainnya, sehingga apabila terdapat dalam jumlah yang besar, dapat mempengaruhi kinerja sistem operasi dan aplikasi lainnya.
Memory leak murni merupakan kesalahan pembuat program yang ceroboh dan kurang hati – hati dalam merancang / mengembangkan programnya.

Contoh Memory Leak
Contoh Berikut kita akan membuat sebuah memory leak
hanya contoh:


Procedure TForm1.Button1Click(Sender:TObject);
var
aObject:TObject;
begin
aObject:=TObject.Create;
ShowMessage('an Object was created!'); 
end;
 kode diatas sudah benar dan berhasil dikompile dan ditutup dengan baik,program kelihatannya berjalan baik-baik saja.tetapi sebenarnya ada sebuah blok memory yang dialokasikan untuk aObject dan tidak pernah dibebaskan walaupun kita sudah menutup program nya.blok memory yang tidak terpakai ini dapat dibebaskan setelah komputer di restart atau dengan menggunakan software memory cleaner.

Bagaimana mendeteksi Memory Leak?
Untuk mendeteksi Meory leak kita bisa menggunakan tool seperti eurekaLog dll.
Sejak Delphi 2006 keatas delphi menggunakan FastMM sebagai default Memory Manager nya ,dan mempunyai fasilitas untuk melaporkan adanya memory leak yang terjadi ketika aplikasi di tutup.secara default fasilitas  ini tidak diaktifkan,kita dapat mengaktifkannya dengan satu baris kode saja pada file .dpr di project kita.
contoh pada file .dpr project :

begin
  ReportMemoryLeaksOnShutdown:=true;
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

dan compile kembali project tadi kemudian jalankan.setelah di tutup program tadi maka akan menampilkan laporan memory leak seperti berikut :


Fasilitas Laporan ini memang tidak menunjukan secara detail Unit,Procedure/Function,dan baris code dimana kesalahan tersebut terjadi.tetapi jika anda menggunakan produk komersial seperti eurekalog anda dijamin akan puas,tapi setidak nya lebih baik dari pada tidak sama sekali .
Jika anda Menggunakan Delphi 2006 kebawah anda bisa mendownload FastMM dan mengintregasikanya dengan delphi.

Semoga bermanfaat,Keep Spirit!

Jumat, 14 Desember 2012

Free Download Software Perancang Logo


AAA Logo adalah software yang berfungsi untuk merancang berbagai design logo. Tedapat sekitar 8,500 logo dan 500 templet premium logo pasti ada yang anda suka.
Dengan AAA Logo Anda dapat membuat hampir semua jenis grafis situs web atau bisnis grafis untuk pencetakan resolusi tinggi. Logo, banner, tombol, header dan ikon untuk website Anda dengan warna yang kaya, gradients, bayangan dan refleksi. Bisnis grafis seperti kartu nama, kop surat, poster dan alat tulis usaha lainnya dapat dirancang dan dicetak secara langsung dari AAA Logo atau gambar yang dibuat dapat diekspor untuk digunakan dengan aplikasi lain. 

Persyaratan Sistem:Operating System: Microsoft Windows XP/Vista/98/Me/NT/2000
CPU: Pentium processor minimum
Memory: 128Mb or more
Free hard drive space: 50Mb


Home Page - http://www.aaa-logo.com/

Kamis, 13 Desember 2012

Free Download Software untuk Menambah RAM


Mungkin pernah dengar tentang software untuk menambah RAM atau memory pada komputer yaitu eBoostr. Prinsip dari eBoostr sendiri Membuat cache kedalam flash disk yang tentunya kecepatan akses data untuk write/read lebih cepat ketimbang proses melalui hard disk. Adapun syarat² yang harus wajib kalian penuhi untuk mendapatkan hasil maksimal adalah sebagai berikut:
  1. Port USB 2.0 (kalau versi port USB kalian 1.1 bisa diatasi dengan membeli PCI to USB 2.0 card harganya murah sekitar 45-65 ribu Rupiah).
  2. Flash Disk dengan kecepatan Read/Write minimal 20MBPS, lebih cepat lebih baik tidak perlu space yang sangat besar minimal 1 giga saja sudah cukup, atau kalau kesulitan menemukan flash disk yang kecepatan read/write bagus silahkan cari flash disk dengan label “ReadyBoost“.
  3. eBoostr program. bisa diunduh disini eBoostr 
Cara instalasinya juga sangat mudah, pertama install dulu program eBoostr ini, lalu masukkan flash disk anda kedalam port USB 2.0, setelah itu kamu bisa menambahkan perangkat ini kedalam program eBoostr, build cache di flash disk ini setelah selesai rasakan perbedaanya komputer kamu pasti lebih responsif dan gesit.