11 Mei 2009

Delphi Portable

     Sekarang sudah banyak bermunculan aplikasi-aplikasi portable. Tidak ketinggalan juga dengan delphi. Dengan Delphi Portable, para "del-man" tidak perlu bingung lagi ketika akan berkreasi dalam membuat software. Tetapi Delphi Portable untuk sementara hanya mendukung untuk pembuatan software-software yang sederhana saja. Tetapi cukuplah untuk belajar.
     Ukuran filenya kecil, jadi bisa dibawa kemana-mana dengan flash disk. Para "del-man" langsung memakainya tanpa perlu diinstal. Aku dulu juga dapat dari download tapi maaf aku lupa linknya. Aku dapat Delphi 4 Portable. Para "del-man" bisa download disini.
     Sekian dulu untuk kali ini. Selamat mencoba para "del-man".

26 April 2009

Mematikan Monitor Komputer

     Hai para "del-man", gmn kabarnya hari ini? Smoga baik-baik aja. Para "del-man" sekalian tentunya tau tentang Win API. Nah kali ini aku akan sedikit tentang cara mematikan monitor komputer menggunakan Delphi dan WIN API.
     Buat saja sebuah form seperti dibawah ini














Untuk listing tombol OK sebagai berikut :

var Mode:integer;
begin
   if cxRadioButton1.Checked = true then
     Mode:=1
   else
     Mode:=2;
   PostMessage(Handle,WM_SYSCOMMAND,SC_MONITORPOWER,Mode)
end;

     Cukup mudah bukan para "del-man". Selamat mencobanya. Jika para "del-man" merasa kesulitan, silahkan download aplikasi lengkapnya disini.

24 April 2009

Koneksi Delphi dengan MS Access

     Kali ini aku akan membahas tentang pengkoneksian Delphi dengan MS Access. Para "del-man", aku akan membagi dalam beberapa langkah untuk mempermudah pengkoneksian. Langkah-langkahnya sebagai berikut :

Mengkoneksikan Database dengan Sistem Komputer
• Langkah Pertama

Buat sebuah database yang akan dikoneksikan dengan Delphi menggunakan Microsoft Access. Setelah selesei dibuat, simpan database tersebut.

• Langkah Kedua

Dari setting control panel pilih Perfomance and Maintenance > Administrative Tools > Data Source (ODBC). Jika computer kamu terhubung dengan jaringan, pilih System DNS. Tapi jika tidak cukup pilih User DSN saja dan klik Add.

• Langkah Ketiga

Buat koneksi dengan memilih Microsoft Access Driver (*.mdb) kemudian klik Finish.

• Langkah Keempat

Klik Select dan pilih database (yang telah dibuat) yang akan dikoneksikan dengan Delphi dan beri nama Toko_Del-Man. Nama ini yang nantinya akan dipakai pada koneksi dengan Delphi. Kemudian klik OK dan koneksi telah selesai dibuat.
















Mengkoneksikan Database dengan Delphi

     Buat sebuah form yang berisikan komponen TTable, TDataSource, TDBNavigator, TDBGrid. Kira-kira tampilannya seperti dibawah ini.



















Untuk pengaturan beberapa komponen sebagai berikut :

1. Komponen TTable
     • Name : TableKota
     • DatabaseName : Toko_Del-Man
     • TableName : Barang
     • Active : True

2. Komponen TDataSource
     • Name : DataSourceKota
     • Dataset : TableKota

3. Komponen TDBNavigator
     • Datasource : DataSourceKota

4. Komponen TDBGrid
     • DataSource : DataSourceKota

     Sekian untuk pembahasan kali ini para "del-man". Untuk download aplikasi lengkapnya disini. Silahkan para "del-man" mengembangkannya.

18 April 2009

Mendapatkan Nama dan Alamat IP

     Bingung dan lupa dengan nama dan alamat IP komputer?? Tenang saja para “del-man”, kali ini aku akan membahas tentang cara mudah mendapatkan nama dan alamat IP menggunakan Delphi. Pertama-tama buat 1 form yang berisi 2 edit text dan 1 tombol. Kurang lebih tampilannya seperti berikut :










     Langkah pertama buatlah sabuah fungsi untuk mendapatkan nama host dan alamat IP. Listingnya seperti berikut

function CariIP(var NamaHost, AlamatIP, Error: string): Boolean;
type
Name = array[0..100] of Char;
PName = ^Name;
var
HEnt: pHostEnt;
HName: PName;
WSAData: TWSAData;
i: Integer;
begin
Result := False;
if WSAStartup($0101, WSAData) <> 0 then
begin
Error := 'Tidak ada respon dari Winsock."';
Exit;
end;

AlamatIP := '';
New(HName);
if GetHostName(HName^, SizeOf(Name)) = 0 then
begin
NamaHost := StrPas(HName^);
HEnt := GetHostByName(HName^);
for i := 0 to HEnt^.h_length - 1 do
AlamatIP :=
Concat(AlamatIP,
IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
SetLength(AlamatIP, Length(AlamatIP) - 1);
Result := True;
end
else begin
case WSAGetLastError of
WSANOTINITIALISED:Error:= 'IP tidak terdeteksi';
WSAENETDOWN :Error:= 'Jaringan sedang down';
WSAEINPROGRESS :Error:= 'Dalam proses';
end;
end;
Dispose(HName);
WSACleanup;
end;

Kemudian untuk listing tombol cek IP sebagai berikut :

procedure TForm1.Button1Click(Sender: TObject);
var
Host, IP, Err: string;
begin
if CariIP(Host, IP, Err) then
begin
Edit1.Text := Host;
Edit2.Text := IP;
end
else
MessageDlg(Err, mtError, [mbOk], 0);
end;


     Ini hanyalah contoh sederhana para “del-man”, silahkan para “del-man” mengembangkannya. Untuk proyek lengkapnya silahkan dodwnload disini.

11 April 2009

Membaca file txt

Untuk para “del-man” (delphi mania), aku akan membahas tentang pembacaan file text ( file berekstensi .txt ) menggunakan Delphi. Pertama-tama buat dulu sebuah form yg berisi 1 memo dan 3 button. Kurang lebih tampilannya seperti gambar dibawah ini.


















Untuk penamaan setiap komponen, gunakan nama default dari Delphi saja. Button1 untuk Tombol Baca dari File Text, Button2 untuk Tombol Update File Text, Button3 untuk Tombol Bersihkan Hasil dan Memo1 untuk Memo Hasil Pembacaan File Text. Setelah itu simpan project dalam 1 folder dan jangan lupa buat 1 file berekstensi .txt dengan nama Del-Man.txt dan simpan 1 folder dengan project para “del-man”. Pada form tersebut terdapat :

Ø Tombol Baca dari File Text, tombol ini digunakan untuk membuka file text.

Ø Tombol Update File Text, tombol ini digunakan untuk mengupdate file text. Edit dulu pada memo, kemudian baru di update.

Ø Memo yang digunakan untuk memunculkan hasil pembacaan file.

Ø Tombol Bersihkan Hasil, tombol ini digunakan untuk membersihkan memo.


Listing dari project tersebut seperti ini para “del-man” :


procedure TForm1.Button1Click(Sender: TObject);

var f:textfile;

i,n:integer;

dt:string;

begin

try

try

AssignFile(f,'Del-Man.txt');

reset(f);

readln(f,n);

for i:=1 to n do

begin

readln(f,dt);

Memo1.Lines.Add(dt);

end;

except on EInOutError do

MessageDlg('File tidak ada',mtWarning,[mbok],0);

end;

finally closefile(f);

end;

Button2.Enabled :=true;

end;


procedure TForm1.Button2Click(Sender: TObject);

var f:textfile;

i,n:integer;

dt:string;

begin

n:=Memo1.Lines.Count;

AssignFile (f,'Del-Man.txt');

reWrite (f);

WriteLn (f,n);

for i:=0 to n do

begin

dt:=Memo1.Lines.Strings[i];

writeln (f,dt);

end;

CloseFile (f);

end;


procedure TForm1.Button3Click(Sender: TObject);

begin

Memo1.Clear;

Button2.Enabled :=false;

end;


end.


Jika para “del-man” merasa kesulitan, project ini dapat didownload disini. Project ini hanyalah contoh sederhana saja. Silahkan para “del-man” mengembangkannya sendiri.

08 Februari 2009

Sejarah Borland Delphi

· Pengenalan Borland Delphi

Delphi adalah sebuah bahasa pemrogaman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh Borland(sebelumnya dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal sebagai object pascal (pascal dengan ekstensi pemrogaman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE.

Khusus untuk pemrogaman database, Borland Delphi menyediakan fasilitas obyek yang kuat dan lengkap yang memudahkan programmer membuat program untuk aplikasi database. Format database yang dimiliki Delphi yaitu format database Paradox, dBase, MS Access, ODBC, SyBASE, Oracle dan lain-lain

· Pengembangan Delphi

Umumnya delphi lebih banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software. Ia juga yang dikenal sebagai salah satu yang membawa istilah RAD tool, kepanjangan dari Rapid Application Development, saat dirilis tahun 1995 untuk windows 16-bit. Delphi 2, dirilis setahun kemudian, mendukung lingkungan windows 32-bit, dan versi c++, C++Builder, dirilis beberapa tahun kemudian. Pada tahun 2001 sebuah versi linux yang dikenal sebagai Kylix tersedia. Dengan satu rilis baru setiap tahunnya, pada tahun 2002 dukungan untuk Linux (melalui Kylix dan CLX component library) ditambahkan dan tahun 2003 .NET mulai didukung dengan munculnya Delphi.Net (Delphi 8). Kini sudah keluar juga untuk versi .NET terbaru yaitu RAD Studio 2007 dan Turbo Delphi .NET dengan versi desktopnya yaitu Delphi 2007 for win 32 dan Turbo Delphi.

Chief Architect yang membidani Delphi, dan pendahulunya Turbo Pascal, adalah Anders Hejlsberg sampai kemudian ia pindah ke Microsoft tahun 1996 di mana ia sebagai chief designer C# dan termasuk orang kunci dalam perancangan Microsoft .Net Framework. Dukungan penuh untuk .Net ditambahkan pada Delphi 8 (dirilis pada bulan Desember 2003) dengan penampilan user interface (look and feel) mirip dengan Microsoft Visual Studio .NET.

Delphi 2005 (nama lain dari Delphi 9) mendukung code generation baik untuk win32 maupun .NET, dan seperti yang telah dikenal, fitur-fitur manipulasi data secara live dari database secara design-time. Ia juga membawa banyak pembaruan pada IDE secara signifikan.

Para penganjur delphi mengklaim dengan bahasa pemrograman Delphi, dan component library (VCL / CLX) yang disediakan oleh vendor tunggal memungkinkan satu paket yang lebih konsisten dan mudah dikenali. Produk delphi ini didistribusikan dalam beberapa rancangan: Personal, Professional, Enterprise (sebelumnya Client/Server) dan Architect.

· Hal Umum Tentang Delphi

Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX (Visual Component Library), Penekanan konektifitas database yang sangat baik, dan banyaknya komponen-komponen pihak ketiga yang mendukungnya.

Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi termasuk:

1. Penanganan object sebagai reference/pointer secara transparan

2. Properti sebagai bagian dari bahasa tersebut; benar, sebagai getter dan setter (atau accessor and mutator), yang secara transparan mengenkapsulasi akses pada field-field anggota dalam kelas tersebut.

3. Property index dan Default yang menyediakan akses pada data kolektif

4. Pendelegasian (type safe method pointer) yang digunakan untuk memproses event yang dipicu oleh component

5. Pendelegasian implementasi interface pada Field ataupun property dari class.

6. Implementasi penanganan windows message dengan cara membuat method dalam class dengan nomer/nama dari windows message yang akan dihandle.

7. bersifat sebagai interface yang independen dengan implementasi class sebagai reference counted

8. Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86 ataupun managed code pada arsitektur framework .NET.

Lingkungan pengembangan terpadu atau Integrated Development Environment (IDE) dalam program Delphi terbagi dalam 6 bagian utama, yaitu Main Window, Toolbar, Component Palette, Form Designer, Code Editor dan Object Inspector. Namun dalam pengembangan Delphi, terdapat 1 bagian IDE lagi yaitu Object Tree View. Untuk lebih jelasnya perhatikan gambar dibawah ini.

·










Keunggulan dan Kelemahan Delphi

Delphi mempunyai keunggulan – keunggulan :

1. Komunitas pengguna yang besar pada Usenet maupun web

2. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning

3. Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging)

4. Optimasi kompiler yang cukup cepat

5. Mendukung multiple platform dari source code yang sama

Kelemahan – kelemahan Delphi :

1. Partial single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas yang harus mengikutinya)

2. Terbatasnya kamampuan portabilitas antar-platform OS (sebelum ada kylix)

3. Akses pada platform dan library pihak ketiga membutuhkan file-file header yang diterjemahkan ke dalam bahasa pascal

4. Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit ditemukan dalam bahasa pascal (contoh akses COM dan Win32) .

· Beberapa Klon Delphi

Meskipun tidak bersifat subsitutif penuh terhadap keseluruhan paket delphi, ada beberapa usaha yang dilakukan untuk membuat kompatibilitas bahasa ini menjadi lebih baik atu bahkan lebih buruk dengan membuat kode delphi yang tidak bisa dicapai oleh delphi ataupun kylix sendiri.

Produk-produk berikut bisa membuat kode delphi berjalan dalam alur yang tidak mungkin dilakukan oleh Delphi (seperti dukungan terhadap sistem operasi yang berbeda, distribusi yang gratis dan penggunaan untuk kebutuhan pendidikan, dan penyertaan kode dari kompilernya sendiri) yang menjadikan vendor bisa menjadi lebih independen. Produk-produk berikut ini umumnya digunakan untuk kebutuhan edukasi dan mengusahakan agar sisi aplikasi delphi yang berjalan pada server bisa berjalan pada sistem operasi alternatif selain dari yang didukung oleh delphi/kylix, umumnya produk tersebut sudah mensupport linux sebelum kylix muncul.

o Bloodshed Dev-Pascal Salah satu IDE Win32 yang mensupport GNU Pascal maupun Free Pascal

o Free Pascal Kompiler berbasis commandline dengan dialek yang sangat dekat dengan Turbo Pascal dan Delphi. Fitur yang terdapat pada Delphi versi 4 ke atas hanya diimplementasikan pada seri versi 1.9.x (akan menjadi seri 2.0.x). Versi beta ini sudah bisa digunakan secara baik. Beroperasi umumnya pada sistem operasi berbasis x86. Mendukung Linux, Mac OS dan Mac OS X (termasuk implementasi Xcode pada keluarga PowerPC, dan Linux berbasis AMD64. SPARC and arsitektur Mesin RISC Acorn (ARM) masih sedang dikerjakan dan belum siap dideploy.

o GNU Pascal secara terpisah didistribusikan sebagai bagian dari GNU Compiler Collection dan tidak mendukung dialek pascal yang diimplementasikan borland

o InnerFuse merupakan interpreter bahasa Delphi yang dapat diintegrasikan dengan aplikasi Delphi

o Lazarus merupakan satu upaya untuk membangun sebuah RAD berbasis Free Pascal.

o OpenSibyl

o Virtual Pascal

o WDOSX

o Winsoft Pocket Studio

Referensi Materi

http://id.wikipedia.org/wiki/Borland_Delphi

Buku Pengenalan Delphi