Wednesday, 9 March 2011

Program Delphi Sederhana

Hari gini, masih ‘bermain’ Delphi? kenapa engga, :p Ide awal dari blog ini sebenarnya tempat buat mencatat apa yang pernah ku tahu dan ku kerjakan, untuk apa lagi kalau bukan untuk mengingat jika suatu saat diperlukan lagi selain untuk sharing juga. OK kembali ke leptop Delphi, seperti yang ada pada judul postingan ini, nantinya hanya akan membahas cara membuat aplikasi sederhana menggunakn Delphi, jadi jangan berharap mendapat durian runtuh aplikasi Delphi yang rumit pada kali ini. Yup kali ini, karena nantinya akan dilanjutkan ke aplikasi lain yang lebih daripada ini, semoga.

Sudah dibuka? loh apanya? hehe.. ya program Delphi-nya, kalo belum mari dibuka melalui menu Start->Programs->Borland Delphi 7->Delphi 7 dan pilih menu Run->Run atau tekan F9 pada keyboard.

Sudah selesai, loh, iya anda baru saja selesai membuat aplikasi dengan menggunakan Delphi. Tapi, ya ngga ada tapi-tapian, namanya juga sederhana, :p hehe. OK OK mari kita bahas satu persatu, sabar.. jadi begini ceritanya, ketika anda menjalankan program tadi dengan menekan tombol F9 atau dari menu Run, anda telah membentuk file baru. Loh, enggak kok, untuk melihat barang bukti hasil perbuatan yang anda lakukan mari buka Windows Explorer dan menuju ke folder berikut: C:\Program Files\Borland\Delphi7\Projects dan disitu telah terbentuk anak file dari perbuatan ketika anda menjalankan program tadi, yaitu file Unit1.dcu dan Project1.exe

Oleh karena itu, ketika pertama kali membuka program Delphi disarankan untuk menyimpan dahulu ke sebuah direktori khusus. Dimaksudkan agar semua file yang terbentuk akan menjadi satu dalam sebuah folder dan memudahkan kita untuk mencari maupun ketika merubah file tersebut. Jika secara default, file yang terbentuk yaitu Unit1.pas selain dua file yang telah disebutkan di atas. File ini adalah file source dimana tempat menyimpan perintah-perintah aplikasi yang dijalankan sesuai dengan keinginan kita, jika aplikasi tidak sesederhana ini tentunya. Namun demikian bukan berarti file tersebut tidak ada isinya, file tersebut minimal akan berisi barisan program yang berguna untuk membentuk suatu form yang secara default telah dibentuk oleh Delphi ketika kita membuat form.

Sedangkan file Project1.exe adalah aplikasi yang dapat dijalankan tanpa kita memiliki program Delphi ter-install di komputer kita. Ya, itulah aplikasi yang nantinya dapat didistribusikan tanpa perlu kita distribusikan juga file source-nya.

Ada yang ketinggalan, masih berhubungan dengan penyimpanan file yang telah disinggung sebelumnya, bahwa untuk penamaan file dianjurkan juga menyesuaikan dengan kegunaan form atau aplikasi nantinya. Hal ini lebih dikarenakan untuk memudahkan kita ketika melakukan perubahan pada aplikasi yang kita buat. Bayangkan saja ketika aplikasi yang kita bangun tidak hanya terdiri satu file seperti yang telah kita buat tadi, bagaimana kalo ada lebih dari 100 file dan masing-masing file bisa lebih dari 1000 baris, fiuh pusing kan. Oleh karena itu tidak ada salahnya untuk membiasakan menyimpan dalam satu folder tertentu dan mungkin lebih baik juga kalau masing-masing form disimpan dalam folder tersendiri. Ngomong apa ini kok gak ngerti ya, hehe, ya nanti untuk contoh yang lebih rumit mungkin akan tahu apa kegunaanya, tapi pada dasarnya ini hanyalah saran dan semuanya tergantung anda.

Membuat pesan berjalan dengan Delphi

Beberapa kali saya menerima email yang bertanya bagaimana membuat program yang menampilkan text berjalan (pesan berjalan) seperti di program Shollu. Prinsipnya sederhana, hanya menampilkan text biasa dan setiap waktu posisinya dikurangi atau ditambah dengan nilai tertentu. Untuk mempermudah disediakan download program dan source codenya dalam Delphi

Program ini juga disertakan contoh aplikasinya, sehingga bagi anda yang tidak atau belum bisa pemrograman bisa menggunakan program ini, dan mencobanya sendiri. Selain itu program ini tidak hanya menampilkan text berjalan biasa, tetapi ditambah dengan beberapa fitur lain.


Fitur selengkapnya sebagai berikut :

* Menampilkan text berjalan diatas atau dibagian bawah window
* Dapat menampilkan text dengan warna latar (background), huruf, format Bold, Italic, Underline, dan ukuran font bisa disesuaikan
* Pesan bisa diulang sampai beberapa kali
* Kecepatan pesan bisa diatur
* Contoh pesan dan format Font bisa dilihat langsung
* Animasi ketika menampilkan dan menutup pesan

Selanjutnya jika ingin menambahkan fasilitas-fasilitas lain, silahkan melihat dan mengubah source code program ini. Program ini dibuat dengan Turbo Delphi Explorer 2006. Meskipun begitu, program ini harusnya juga bisa di compile dengan Delphi versi lainnya, misalnya Delphi 5, Delphi 6, Delphi 7 sampai Delphi 2007 atau versi terbaru.

Berikut tampilan Program “Pesan Berjalan”
pesan-berjalan-delphi

Dan ini contoh pesan berjalan yang posisinya dibawah :
pesan-berjalan-sample

Jika ada pertanyaan dan masukan lebih baik disampaikan di forum saja, karena saya tidak menjamin bisa menanggapi semua email yang masuk.
Semoga bermanfaat!!!

Belajar Delphi

Dari sekian banyak bahasa pemrograman, kenapa kok delphi yang saya pilih ya ? mungkin jawaban disini terlalu subyektif, tetapi tidak mengapa. Ada beberapa alasan mengapa kok saya banyak fokus ke pemrograman ini.

* Pada awal-awal kuliah, ada mata kuliah pemrograman dasar dan bahasa pemrograman yang dipakai adalah C++, jadi sejak itu pemrograman yang dikenal adalah C++.
* Dari segi kemudahan antarmuka, tidak diragukan lagi. Terutama awal-awal 2001-an Antarmuka (GUI)nya delphi lebih mudah daripada VB apalagi C++.
* Bahasa pemrograman yang terstruktur dan syntax yang jelas, sehingga mudah dibaca, dipelajari dan dipahami
* Kecepatan kompilasi-nya.
* Dukungan komponen tambahan yang sangat banyak di Internet, bahkan untuk kategori freeware dengan kualitas yang sama atau lebih dari komponen komersial.
* Telah menghasilkan beberapa software free maupun berbayar :)
* Dukungan komunitas di Internet yang sangat banyak.

Disamping berbagai keunggulan, setiap bahasa pemrograman pasti memiliki beberapa kekurangan. Untuk Delphi beberapa kekurangan menurut saya adalah

* Hasil kompilasi (file Exe) memiliki ukuran yang cukup besar jika dibandingkan dengan Kompiler lain. Tetapi hal ini bisa diatasi dengan komponen tambahan (lihat dibagian KOL)
* Waktu proses aplikasi sebagian besar sedikit lebih lambat jika dibandingkan dengan VC++, tetapi lebih cepat daripada VB ( Hal ini dapat dimaklumi karena Windows sendiri dari C++ ) Tetapi dapat diatasi ( paling tidak sebanding ) jika menggunakan assembler.
* Ini diluar bahasa pemrogramannya, yaitu Software populer / game 3D yang dihasilkan lebih sedikit dibandingkan dengan VC++
* Mulai beralih fokus ke platform dot NET mulai Delphi 8, yang menyebabkan banyak developer termasuk saya yang kecewa :(
* Tidak banyak perkembangan untuk platform win32 sejak Delphi 7
* Pindahnya beberapa founder delphi ke Microsoft sejak Delphi 5

Walaupun begitu sampai saat ini jika memerlukan suatu software atau sistem automatisasi saya sering menggunakan delphi, karena sudah terbiasa dan kemudahannya.:(

Sunday, 6 March 2011

Membuat Html Report di Delphi

Introduksi
Ketika anda ingin membuat Report di Delphi pasti anda akan menggunakan Quick
Report atau Rave Designer. Tetapi bagamaina jika anda ingin membuat suatu report
yang mempunyai desain yang menarik tanpa harus pusing memikirkan kode-kode yang
rumit atau komponen apa yang akan digunakan? Jawabannya mudah. Anda tinggal
membuat report dari file Html. Kenapa Html? Karena dengan html kita bisa membuat
tampilan yang ciamik “on the fly” tanpa memikirkan scriptnya. Cukup menggunakan
Html Editor dan sedikit trik, bahkan anda bisa menyisipkan flash didalamnya. Kok bisa
? anda akan temukan jawabannya setelah ini.
Catatan
Disini tidak akan dibahas mengenai dasar-dasar pemrograman delphi. Diharapkan anda
sudah tahu tentang cara pemrograman database dengan delphi dan sedikit mengenai
HTML. Untuk anda yang masih belum mengetahui sama sekali ya… mohon maaf.
Karena saya juga masih belajar dalam menulis artikel .☺ jadi masih bingung
Let’s Go…
Yang anda perlukan untuk membuat proyek ini adalah :
1. Html editor, bisa menggunakan Dreamweaver, frontpage atau sejenisnya yang
penting bisa membuat tabel. Kalo mau, anda juga bisa menulisnya sendiri
menggunakan notepad. Tapi siapa yang mau repot ya?
2. Tentu saja Program Delphi. terserah mau pake’ versi berapa, tapi disini saya
menggunakan versi 7.
3. Sedikit kreativitas dalam mendesain, itu juga kalau anda mau membuat tampilan
yang nyeleneh.. (bagus sekali)
Langkah-langkah
Anda harus membuat database dulu. Lho kok? Ya pasti lah wong Report kan ambil
datanya dari database. (sorry tadi lupa bilang he..he..). saya menggunakan Microsoft
Acces, untuk yang lain silakan dicoba sendiri. Saya membuat tabel dengan field-field
sebagai berikut :
Nama tabel : Demo
Field Type Size
No AutoNumber
Nama Charakter 30
Alamat Charakter 65
Kota Charakter 35
Setelah itu isi tabel tersebut. (ini hanya untuk demo lho, kalo yang beneran ya harus ada
program inputnya). Terus simpan pada folder yang akan kita gunakan nanti untuk
membuat project di delphi .

Kedua anda harus membuat sebuah file Html yang isinya berupa tabel dengan kolom
sama dengan tabel didatabase anda (kok mbulet? Ya pokoknya gitu maksudnya). Yang
perlu anda perhatikan disini adalah menyisipkan tagString pada kolom-kolomnya sesuai
dengan nama field-field tabel anda (tabel demo). Contoh : <#no>, <#nama>,<#alamat>.
Dan harus sesuai dengan nama fieldnya agar nanti bisa diganti dengan data yang sesuai
oleh delphi. Anda bisa menggunakan frontpage, dll. Dalam hal ini saya menggunakan
dreamweaver. Desain terserah anda, dan anda bisa memasukkan flash, java script, atau
gambar. Kalo mau bagus sih.. Buat tabelnya cukup dua baris saja. Satu untuk header
dan satu untuk tagstringnya.
Ilustrasi
Report menggunakan HTML FILE :
No Nama Alamat Kota
<#no> <#nama> <#alamat> <#kota>
Copyright 2005
Setelah itu anda masuk ke kode editornya.

<html>
<head>
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
.style2 {font-family: "Courier New", Courier, mono}
.style3 {color: #FFFFFF; font-weight: bold; font-family: "Courier
New", Courier, mono; }
.style7 {color: #0000FF}
-->
</style>
</head>
<body>
<h1>Report menggunakan HTML FILE :</h1>
<table width="743" border="1">
<tr bgcolor="#0033FF">
<td width="43"><div align="center" class="style1
style2">No</div></td>
<td width="275"><div align="center" class="style3">Nama</div></td>
<td width="172"><div align="center"
class="style3">Alamat</div></td>
<td width="225"><div align="center" class="style3">Kota</div></td>
</tr>
<tr>
<td><#no></td>
<td><#nama></td>
<td><#alamat></td>
<td><#kota></td> </tr>
</table>
<h1 class="style7">Copyright 2005 </h1>
</body>
</html>
--------------------------------------------------------*
Langkah selanjutnya adalah memecah script tersebut menjadi tiga bagian yaitu header,
isi dan footer.
Buka notepad atau teks editor lain terus copy bagian :
<html>
<head>
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
.style2 {font-family: "Courier New", Courier, mono}
.style3 {color: #FFFFFF; font-weight: bold; font-family: "Courier
New", Courier, mono; }
.style7 {color: #0000FF}
-->
</style>
</head>
<body>
<h1>Report menggunakan HTML FILE :</h1>
<table width="743" border="1">
<tr bgcolor="#0033FF">
<td width="43"><div align="center" class="style1
style2">No</div></td>
<td width="275"><div align="center" class="style3">Nama</div></td>
<td width="172"><div align="center"
class="style3">Alamat</div></td>
<td width="225"><div align="center" class="style3">Kota</div></td>
</tr>
Simpan dan beri nama header.txt pada folder yang sama dengan database.

Selanjutnya select pada bagian :
<tr>
<td><#no></td>
<td><#nama></td>
<td><#alamat></td>
<td><#kota></td> </tr>
Copy ke notepad dan simpan dengan nama isi.txt
Yang terakhir select bagian
</table>
<h1 class="style7">Copyright 2005 </h1>
</body>
</html>
Copy ke notepad dan simpan dengan nama footer.txt
Beginning
Saatnya anda masuk ke Delphi, buat form baru dengan komponen-komponen sbb :
Ado Connection : hubungkan dengan database yang telah dibuat tadi
Ado Query , set connection ke Ado Connection dan Sql String isi dengan “select * from
demo”
Data Set Page Producer pada page Internet, set dataset ke Ado Query ;
Button untuk menampilkan report tadi:
Yang perlu anda perhatikan adalah menggunakan unit shellApi pada uses di unit tadi.

Double klik pada button tampil dan tulis script berikut :
procedure TForm1.Button1Click(Sender: TObject);
var
Outfile : TextFile;
Begin
ADOQuery1.Close;
ADOQuery1.Open;
AssignFile(Outfile,'Demohtml.htm');
rewrite(Outfile);
DataSetPageProducer1.HTMLFile := 'header.txt';
write (outfile,DataSetPageProducer1.content);
DataSetPageProducer1.HTMLFile := 'isi.txt';
AdoQuery1.Prior;
while not AdoQuery1.Eof do
begin
write (outfile,DataSetPageProducer1.content);
AdoQuery1.Next;
end;
DataSetPageProducer1.HTMLFile := 'footer.txt';
write (outfile,DataSetPageProducer1.content);
closefile(Outfile);
ShellExecute(Handle,'Open',pchar('Demohtml.htm'),'
',nil,SW_SHOWMAXIMIZED);
end;
Simpan project tersebut pada folder yang sama.

Penutup
Karena kita membuat report dengan html maka kita bisa mengubah tampilannya tanpa
harus mengkompile ulang program kita, tapi cukup dengan membuatnya dengan html
editor dan memecahnya menjadi tiga bagian file untuk disisipkan ke Delphi. Anda juga
bisa menambahkan Flash, java Scipts untuk mempercantik tampilan tanpa harus
memprogram ulang lagi di Delphi.cukup mengotak-atik tiga file tadi.. caranya gimana?
Itu tergantung kreativitas anda ☺. Good Luck!
Note : untuk yang masih bingung silahkan download source kodenya. Maklum
penulisnya masih belajar bikin artikel.

Pemrograman Delphi untuk Pemula: IDE dan Struktur Pemrograman

Abstrak:
Bagi pemula seringkali bingung ketika hendak mempelajari bahasa pemrograman, apapun bahasanya.
Padahal tidak sesulit yang dibayangkan untuk mempelajari sebuah bahasa pemrograman. Pada tulisan
ini akan dibahas cara memulai belajar bahasa pemrogramanan, khususnya Delphi. Namun cara seperti
ini bisa diterapkan pula untuk belajar bahasa pemrograman yang lain, seperti keluarga xbase : dbase,
Clipper, Foxbase/foxpro, keluarga visual : Delphi, Visual Basic, Visual C dan sebagainya.
Kali ini akan dibahas tiga struktur perintah dalam pemrograman komputer yaitu :
1. Perintah berupa Sequence (diproses oleh kompiler secara berurutan)
2. Perintah berupa Pencabangan / Pemilihan kasus (diproses sesuai kasus yang terpenuhi)
3. Perintah berupa Pengulangan (diproses secara berulang sampai kondisi tertentu)
Keywords: Sequence, Pencabangan, Pengulangan, Delphi

1. PENDAHULUAN
Sebelum kita memulai Delphi, kita harus menginstalasi program Delphinya terlebih dahulu. Kita
bisa menggunakan Delphi 5 atau 6. Sebenarnya Delphi versi berapapun tidak masalah, karena
produk Borland ini selalu menjaga kompatibilitas antar versinya. Untuk menginstalasi Delphi cukup
mudah, tinggal ikuti petunjuk yang diberikan pada tampilan di layar. Sesudah Delphi terinstalasi pada
komputer, kita bisa memulai mengenal dahulu apa itu Delphi? Kelompok bahasa pemrograman apa?
Delphi adalah kompiler / penterjemah bahasa Delphi (awalnya dari Pascal) yang merupakan bahasa
tingkat tinggi sekelas dengan Basic, C. Bahasa Pemrograman di Delphi disebut bahasa prosedural
artinya bahasa/sintaknya mengikuti urutan tertentu / prosedur. Ada jenis pemrograman
non-prosedural seperti pemrograman untuk kecerdasan buatan seperti bahasa Prolog. Delphi
termasuk Keluarga Visual sekelas Visual Basic, Visual C, artinya perintah-perintah untuk membuat
objek dapat dilakukan secara visual. Pemrogram tinggal memilih objek apa yang ingin dimasukkan
kedalam Form/Window, lalu tingkah laku objek tersebut saat menerima event/aksi tinggal dibuat
programnya. Delphi merupakan bahasa berorentasi objek, artinya nama objek, properti dan
methode/procedure dikemas menjadi satu kemasan (encapsulate).
Sebelum mempelajari ketiga struktur pemrograman ada baiknya kenali dahulu tampilan IDE, yang
merupakan editor dan tools untuk membuat program Delphi. Pada IDE akan ditampilkan Form baru
yang merupakan aplikasi/program Window yang akan dibuat.
Aplikasi / program berbasis windows sering disebut dengan jendela (window). Bagaimana membuat
aplikasi berbasis windows (berbasis grafik dan bukan berbasis teks seperti pada DOS)? Caranya
dengan membuat sebuah form. Pada pemrograman berbasis windows, kita akan diperhadapkan pada
satu atau beberapa jendela yang nampak dihadapan kita. Jendela ini dalam Delphi disebut juga
dengan form. Pada pemrograman berbasis windows, kita akan diperhadapkan pada satu atau
beberapa jendela yang nampak dihadapan kita. Jendela ini dalam Delphi disebut juga dengan form.
Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat program / aplikasi
komputer berbasis windows. Delphi merupakan bahasa pemograman berbasis objek, artinya semua
komponen yang ada merupakan objek-objek. Ciri sebuah objek adalah memiliki nama, properti dan
method/procedure. Delphi disebut juga visual programming artinya komponen-komponen yang ada
tidak hanya berupa teks (yang sebenarnya program kecil) tetapi muncul berupa gambar-gambar.

1.1. Membuat Sebuah Form
Saat anda pertama kali masuk ke Delphi, anda akan diperhadapkan pada sebuah form kosong yang
akan dibuat secara otomatis. Form tersebut diberi nama Form1. Form ini merupakan tempat
bekerja untuk membuat antarmuka pengguna.

1.2. Mengganti Nama Form dan Menambahkan Judul
Biasakan sebelum menjalankan program, sebaiknya ganti nama form dan beri judul sesuai program
yang kita buat. Delphi akan secara otomatis memberi nama form1, form2, form3, dst. Nama form
tersebut kurang mengandung arti dan akan menyulitkan bila form yang dibuat cukup banyak.
Saat membuka Delphi pertama kali, nampak sebuah jendela Object Inspector. Jika tidak muncul
pilih menu View | Object Inspector atau tekan tombol F11.
Pada Object Inspector ada dua buah halaman (tab) yaitu Properties dan Events. Properties
digunakan untuk mengganti properti (kepemilikan) sebuah objek/komponen. Sedangkan Events
digunakan untuk membuat procedure yang diaktifkan (trigered) lewat sebuah event.
Semua properti diurutkan berdasarkan alpabetik, dan dapat juga diurutkan berdasarkan kategori.
Gantilah judul form dengan Hello melalui properti Caption, sedangkan nama form dengan nama
frmHello melalui properti Name. Caption digunakan untuk menyimpan keterangan yang
dimunculkan pada form, sedangkan Name digunakan sebagai Nama dari objek tersebut.
Isi dari properti Name harus diawali alpabet dan tidak menggunakan spasi atau tanda baca
Anda sekarang sudah membuat aplikasi form kosong dengan tombol standar window : Minimize,
Maximize, dan Close. Anda dapat mengubah ukuran form dengan menarik pada bingkai form
menggunakan mouse (drag=klik tombol kiri mouse, tahan tombol tersebut lalu geser ke kiri/kanan
atau atas/bawah). Anda dapat memindahkan form dengan meletakkan kursor pada form kemudian
menggesernya (drag).

1.3. Menyimpan Form
Pada Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).
1) *.dpr adalah file proyek yang dibuat berisi program kecil untuk :
• mendefinisikan Unit yang ada dalam file proyek
• menginisialisasi data
• membangun form
• menjalankan aplikasi
uses
Forms,
Unit1 in ‘Unit1.pas’ {Form1};
begin
Application.Initialize;
Application.CreateForm(Tform1, Form1);
Application.Run;
end.
2) *.pas adalah unit-unit (pascal code file), bisa terdiri satu atau banyak file
3) *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satu atau banyak file
object Form1: Tform1
Left = 200
Top = 108
Width = 696
Height = 480
Caption = ‘Form1’
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ‘MS Sans Serif’
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object Button1: Tbutton
Left = 176
Top = 116
Width = 75
Height = 25
Caption = ‘Button1’
TabOrder = 0
end
end
Catatan:
Setiap Form (.dfm) harus memiliki sebuah Unit (.pas), tetapi anda dapat memiliki Unit tanpa sebuah
Form (hanya kode saja). Jika ingin melihat kode tersebut anda dapat mengklik kanan mouse, lalu
pilih VIEW AS TEXT atau tekan tombol Alt- F12. Sebaiknya anda tidak mengubah isi code
tersebut, karena akan menyebabkan masalah serius. Tunggu saat anda sudah memahami maksud
kode tersebut. Untuk kembali ke bentuk form, pilih VIEW AS FORM atau tekan tombol Alt- F12
kembali.

Pilih submenu Save Project atau Save Project As pada menu File, dan Delphi akan menanyakan
nama file source code untuk unit (*.pas) dan nama file proyeknya (*.dpr). Beri nama file form
dengan HELLO.PAS dan project HELLO.DPR.
Sesudah disimpan, jalankan program dengan menekan tombol F9 atau pilih menu Run | Run.

1.4. Menempatkan Komponen pada Form
Karena Delphi merupakan bahasa pemrograman visual, maka komponen-komponen akan nampak
pada layar. Anda tinggal menempatkan komponen yang diinginkan pada form. Ada empat cara
menempatkan komponen pada form. Misal anda memilih komponen Button pada Components
Palette bagian Standard Page. Anda dapat memilih salah satu langkah berikut:
• Klik pada kompenen tersebut, pindahkan kursor ke form, sambil menekan tombol kiri mouse
(drag komponen dan geser pada form) atau
• Pilih komponen (klik komponen yang diinginkan) pada Components Palette kemudian klik
pada form dimana komponen itu akan diletakkan.
• Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan ditambahkan
pada form
• Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang sama yang
sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada di form, lalu pilih
menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V).

1.5. Mengatur Tataletak Komponen
Pada form ini hanya ada satu button, mungkin ada di bagian tengah form. Anda dapat mengatur letak
komponen tersebut dengan menggesernya. Bila anda ingin merapihkan pilih menu View |
Alignment Palette, maka muncul sebuah Toolbox Align dengan ikon perapihan (alignment icons).

Dengan toolbox ini anda dapat merapikan beberapa komponen sekaligus, caranya buat fokus beberapa
komponen, lalu klik icon pada toolbox yang diinginkan. Untuk mengetahui arti icon tersebut gerakan
mouse pada tombol tersebut, lalu akan muncul penjelasan singkat kegunaan icon tersebut atau lihat
Help (tekan F1). Anda bisa mempelajarinya sendiri. Cukup mudah!.
Langkah yang penting adalah mengubah nama dan keterangan kompenen button tersebut. Ikuti
bagian ini

1.6. Mengubah Nilai Properti
Ubah nilai properti Caption menjadi Katakan Hello dan nilai properti Name menjadi btnHello.
Langkah ini mirip dengan mengubah nama dan keterangan sebuah form.
Setiap komponen sebaiknya diberinama yang memiliki arti dan diawali oleh jenis komponennya. Misal nama
dari form Hello adalah “frmHello” atau nama dari button Hello adalah “btnHello”. Tujuannya adalah
mengelompokkan komponen-komponen sejenis, karena pada Object Inspector nama komponen diurutkan
berdasarkan alpabet.
Properti name adalah properti internal dan digunakan untuk memberi nama pada sebuah
komponen/objek. Nama ini adalah sebuah variabel yang mengacu pada komponen tersebut.
Beberapa aturan penamaan komponen atau variabel atau identifer sbb
• Diawali alpabet, berikutnya boleh angka, garis bawah.
• Tidak memakai spasi atau tanda-tanda baca atau operator
• Boleh huruf kapital atau kecil, tidak ada perbedaan
• Tidak menggunakan kata kunci (reserve word) yang digunakan Delphi
• Biasakan nama komponen diawali kelompok komponennya, misal btnHello, frmHello,
rgrKelas.

Sesudah anda mengubah properti anda dapat melihat kode programnya (tekan Alt-F12) sbb :
object Form1: Tform1
:
Caption = ‘Hello’
:
object btnHello: Tbutton
Caption = ‘Katakan Hello’
End
end

1.7. Membuat Method/Procedure lewat Event
Saat anda menekan tombol pada sebuah form atau komponen, Windows memberitahukan bahwa
aplikasi mengirim pesan yang dibangkitkan oleh event tertentu . Delphi akan menanggapi dengan
menerima event atau panggilan tersebut. Hal ini yang dinamakan penanganan event (event-handler
method). Delphi mendefinisikan sejumlah event pada setiap komponennya. Daftar event ini bebeda
untuk setiap komponen. Event yang paling umum pada komponen Button adalah OnClick. Artinya
jika komponen Button tersebut di Klik maka akan melakukan procedure apa.
Ada beberapa teknik yang dapat dilakukan untuk menangani event misal OnClick pada komponen
button :
• Klik ganda pada button tersebut, maka sebuah method/procedure btnHelloClick
• Pilih button, kemudian pilih Object Inspector’s combo box (called the Object Selector), pilih
Tab Events, dan klik ganda pada area putih disebelah kanan event OnClick
• Pilih button, pilih Tab Events, dan masukkan nama method yang dikehendaki, misal
btnHelloClick pada area putih di sebelah kanan event OnClick.

Bila anda ingin menghapus procedure atau penanganan event tersebut, anda dapat menghapus pada editor Unit
tersebut. Hapus blok procedure tersebut dan hapus pada bagian definisi procedure yang ada diatasnya.
Sekarang anda mengisi procedure tersebut dengan perintah untuk menampilkan pesan sbb :
procedure Tform1.BtnHelloClick(Sender: Tobject);
begin
MessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);
end;
Perintah ini sangat sederhana, yaitu untuk menampilkan pesan. Fungsi ini mempunyai empat
parameter. Untuk rincinya anda dapat melihat Bantuan (F1).
• Parameter pertama : kalimat yang akan dimunculkan (pesannya)
• Parameter kedua : tipe message box seperti mtWarning, mtError, mtInformation, atau
mtConfirmation. Coba lihat perbedaannya.
• Parameter ketiga : kumpulan tombol yang akan digunakan seperti mbYes, mbNo, mbOK,
mbCancel, atau mbHelp.
• Parameter keempat : untuk help context atau nomor halaman pada Help, beri angka nol jika
anda tidak mempunyai file help.

1.8. Kompilasi dan Jalankan Program
Tekan tombol Run atau pilih menu Run | Run, Delphi does the following:
1. Kompilasi Pascal source code file yang mendefinisikan form-form yang ada (.pas, .dfm)
2. Kompilasi project file (.dpr)
3. Buat executable (.EXE) file
4. Jalankan executable file, biasanya pada mode pencarian kesalahan (debug mode).
2. PERINTAH SEQUENCE / DIPROSES SECARA BERURUTAN
Perintah-perintah ini akan diproses oleh kompiler secara berurutan. Contoh kita memiliki 3 baris
perintah. Kompiler akan memroses mulai dari baris-1, baris-2 kemudian baris-3.
Contoh program untuk menampilkan pesan sebanyak 3 kali seperti berikut :
MessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);
MessageDlg (‘Hello, lady’, mtInformation, [mbOK], 0);
MessageDlg (‘Hello, everybody’, mtInformation, [mbOK], 0);
Mudah …khan??
Berikut latihan ke-1 untuk tiga buah aplikasi yaitu membuat tombol Hello, saat diklik tombolnya,
tombol akan beraksi dengan memunculkan pesan. Ikuti langkahnya sbb :
1. Buat form frmHello1 seperti yang sudah dijelaskan.
• Komponen yang dibutuhkan form dengan nama frmHello1 dan button dengan nama
btnHello1. Ubah properti name-nya
• Ubah properti caption masing-masing komponen menjadi Membuat program Hello1 dan
Katakan Hello
• Buat method dari komponen btnHello1 lewat event OnClick, seperti berikut
procedure TfrmHello1.btnHello1Click(Sender: Tobject);
begin
MessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);
end;
• Jalankan program lihat hasilnya
• Coba ganti parameter ke-1, ke-2 dan ke-3
• Simpan dengan nama unit uHello1.pas dan project pHello1.dpr pada direktori Latih1
2. Buat aplikasi baru (File-New-Application) dengan form baru frmHello2 mirip form frmHello1
dengan tambahan sebagai berikut. Apa yang terjadi? (properti caption dari komponen tombol diganti
saat program berjalan)
• Komponen yang dibutuhkan form dengan nama frmHello2 dan button dengan nama
btnHello2. Ubah properti name-nya

procedure TfrmHello2.btnHello2Click (Sender: Tobject);
begin
MessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);

BtnHello2.Caption := ‘Say Hello Again’;
end;
• Buat method untuk mengubah ukuran formHello2 lewat event OnResize, perhatikan apa yang
terjadi bila ukuran form diubah saat program berjalan
procedure TfrmHello2.FormResize(Sender: Tobject);
begin
BtnHello2.Top := frmHello2.ClientHeight div 2 –
BtnHello2.Height div 2;
BtnHello2.Left := frmHello2.ClientWidth div 2 –
BtnHello2.Width div 2;
end;
• Simpan dengan nama unit uHello2.pas dan project pHello2.dpr pada direktori Latih1
3. Buat aplikasi baru (File-New-Application) dengan form baru frmHello3 seperti yang sudah
dijelaskan.
Objek Properties Value of properties Method lewat event
Form1 Name FrmHello3
Button1 Name BtnHello3 Onclick (lihat dibawah)
Caption &Show Me
Label1 Name LblHello3
Font – Size 24
• Buat method dari komponen btnHello3 lewat event OnClick, seperti berikut
procedure Tform1.btnHello3Click(Sender: Tobject);
begin
if btnHello3.caption =’&Show Me’ then
begin
lblHello3.caption := ‘Selamat Datang di Delphi 5.0’;
btnHello3.caption :=’&Hide Me’;
end
else
begin
lblHello3.caption := ‘’;
btnHello3.caption :=’&Show Me’;
end;
end;
• Jalankan program lihat hasilnya
• Simpan dengan nama unit uHello3.pas dan project pHello3.dpr pada direktori Latih1

2.1. Menu dan Perintah pada Delphi
Ada empat cara untuk memberi perintah pada lingkungan Delphi (Delphi environment):
• Gunakan menu
• Gunakan Short Cut (misal F9, F12 dsb)
• Gunakan SpeedBar (atau toolbar).
• Gunakan SpeedMenu ( lokal menu yang diaktifkan dengan tombol mouse kanan).
Berikut menu utama yang ada pada Delphi (untuk mempelajarinya gunakan Help Delphi):
Menu File. Menu ini berhubungan dengan file seperti membuat, menyimpan dan mengakhiri sebuah
pekerjaan.
Menu Edit .Menu ini berhubungan dengan penyuntingan apa yang dikerjakan seperti Undo , Redo,
Cut, Copy, Paste atau dapat dengan tombol Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V.
Menu Search. Menu ini berhubungan dengan pencarian dan penggantian data.

Menu View. Menu ini berhubungan dengan penampilan atau apa yang akan ditampilkan.
Menu Project. Menu ini berhubungan dengan proyek yang sedang dibuat, misal unit yang akan
ditambahkan ke proyek ini, unit apa yang akan dihapus, dsb.
Menu Run. Menu ini berhubungan dengan menjalankan program, mencari kesalahan (debug), dsb.
Menu Component. Menu ini berhubungan dengan komponen, misal menambah komponen baru,
menghapus komponen yang ada.
Menu Database. Menu ini berhubungan dengan Database, Database Form Wizard dan Database
Explorer.
Menu Tools. Menu ini berhubungan dengan pengaturan/konfigurasi, tool-tool pembantu Delphi.
Menu Help. Menu ini berhubungan dengan informasi mengenai Delphi, Help / bantuan.

2.2. Component, Property, Method, Event
Kode yang akan dilihat, serupa dengan struktur Bahasa Pascal. Delphi adalah bahasa pemrograman
berbasis objek, artinya pendekatan pembuatan program melalui objek-objek yang ada. Misalnya
objek form, text dsb. Setiap objek akan memiliki properti (atribut) dan method yang diaktifkan /
dipicu oleh event. Mari kita lihat penjelasan berikut.
Apakah Objek (COMPONENT) itu?
Ingat sebuah komponen adalah sebuah objek pada Palette, :
• sebuah Objek, adalah sebuah komponen dalam Component Palette,
• atau sesuatu yang dibuat melalui kode-kode / bahasa pemrograman
Jadi sebuah objek adalah secara umum kelas dari kumpulan sesuatu. Komponen pasti objek namun
tidak selalu merupakan komponen, misal TstringList adalah sebuah objek (kumpulan karakter), dan
bukan sebuah komponen. Penjelasan mengenai komponen di Lampiran A.
Apakah sebuah PROPERTY itu?
Sebuah Property tidak lain adalah sebuah nama/variabel milik sebuah objek/komponen misal Caption,
Text yang dapat diubah nilai baik melalui object Inspector atau melalui program.
Beberapa istilah/ nama berikut yang mirip, dan sering digunakan:
• Procedure adalah kumpulan perintah yang melakukan suatu proses tertentu
• Function adalah sama dengan procedure, tetapi proses tersebut dapat mengembalikan suatu
hasil / nilai misal hasilnya = 1
• Method adalah procedure atau function yang tergabung pada sebuah komponen
• Subroutine adalah istilah umum dari semuanya (procedure/function/method) misal pada
bahasa Basic.
Apakah sebuah METHOD itu?
Sebuah method adalah sebuah function/fungsi yang tergabung dalam sebuah objek. Contoh ListBox
(dapat berarti sebuah array of strings) yang memiliki Method (Clear) yang membuat Listbox tersebut
menjadi kosong. CLEAR adalah sebuah Method pada ListBox tersebut.
Begin
ListBox1.Clear; // Mengosongkan isi ListBox
ListBox1.Items.LoadFromFile(‘c:\Data1.txt’);
//properti Items (bertipe string) memiliki method untuk LoadFromFile
end;
Apakah sebuah EVENT itu?
Sebuah Event adalah sebuah aksi pengguna (User Action) misal Mouse Click, KeyPressed. Setiap
Events diawali dengan kata ‘On’.
Contoh :
Nama event Nama method
OnClick .. Button1Click(Sender : Tobject)
OnKeyDown .. Button1KeyDown(Sender : Tobject)
OnMouseMove .. Button1MouseMove(Sender : Tobject)

2.3. Cara Delphi Bekerja
Saat anda menambahkan Components pada Form1 dan merubah nilai properti, Delphi akan membuat
(pseudo) code (dalam Unit1.dfm) untuk mendefinikan apa yang anda lakukan. Secara normal,
ANDA TIDAK DIHARAPKAN MENGUBAHNYA Unit1.dfm File; Anda hanya bekerja pada
Form1 secara Visual. Ini yang dinamakan bahasa pemrograman Visual (Visual Programming)

Apakah Delphi itu?
• Delphi (IDE) adalah sebuah Visual Interface antara anda (the User) dan Komputer anda
(yang berjalan diatas Windows ).
• Delphi menterjemahkan Visual Components (Buttons, Panels,..) yang ada pada
Form kedalam sebuah kode-kode komputer (pseudo in Unit1.dfm) yang mendefinisikan
bagaimana dibentuknya form dan komponennya termasuk juga propertinya.
Saat anda mengkompilasi program, apa yang terjadi?
• Delphi akan memanggil file .dpr file (file proyek anda)
• Delphi meminta program yang ada dalam proyek tersebut dan file dpr memberikan sbb :
uses
Forms,
Unit1 in ‘Unit1.pas’ {Form1};
• Delphi meminta, Apa yang dilakukan pertama kali ? .dpr file memberikan sbb :
begin
Application.Initialize; itializes stuff
Application.CreateForm(Tform1, Form1);
Application.Run;
end.

2.4. Forms, Dialog Boxes, Messages , ...
Menampilkan Form atau Window
Anda dapat bekerja dengan beberapa form pada sebuah project. Saat anda berada di Form1 untuk
menampilkan form yang lain misal Form2 sbb :
Form2.Show;
Membuka (Shows) Form2 (tetapi user diijinkan untuk dapat mengklik Form1)
Form2.ShowModal;
Membuka (Shows) Form2 (tetapi user TIDAK DIIJINKAN mengklik Form1)
Menampilkan Pesan (Message)
ShowMessage('Ini kotak pesan);
Tampilan sederhana sebuah baris/teks; User dapat menekan tombol OK untuk keluar dari kotak pesan
(message window).
MessageDlg('Msg',mtConfirmation,[mbYes],0);
Mirip ShowMessage tapi dapat lebih dari satu tombol pilihan.
if MessageDlg('Please say YES or NO',mtConfirmation,[mbYes,mbNo],0)=mrYES then
begin
Label1.Text:='Tekan tombol YES';
end;
TMsgDlgType = mtWarning, mtError, mtInformation, mtConfirmation, mtCustom
TMsgDlgBtn
= mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbHelp
Return values
= mrNone, mrYes, mrNo, mrOk, mrCancel, mrAbort, mrRetry, mrIgnore, m
rAll

Meminta Masukan (Input Box)
InputBox(...);
var
InputString: string;
begin
InputString:= InputBox('Masukkan Nama', 'Please Enter your Name','');
end;

3. PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN
Pada beberapa kasus terkadang kita menginginkan komputer melakukan suatu aksi tertentu bila suatu
kondisi terpenuhi. Keberadaan perintah bersyarat pada suatu program memberikan pencabangan
proses seperti ditunjukkan oleh Error! Not a valid link.. Bahasa Pascal menyediakan dua cara
penyajian perintah bersyarat, yaitu If…Then…Else dan Case…of.

Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian :
Pemilihan 1 pilihan/kasus. Gunakan perintah IF – THEN
Pemilihan 2 pilihan/kasus. Gunakan perintah IF – THEN – ELSE
Pemilihan N pilihan/kasus. Gunakan Case – of (Catatan sebenarnya dapat menggunakan if—then – else
bersarang)

3.1. IF … THEN : Pemilihan 1 kasus
Perintah bersyarat If – then digunakan hanya melakukan 1 aksi bila kondisi dipenuhi.
Bentuk sintaks dari perintah bersyarat ini adalah:
If <kondisi_pencabangan> then
Begin
... {aksi-1}
end;

3.2. IF … THEN … ELSE : Pemilihan 2 kasus
Perintah bersyarat If umumnya digunakan untuk melakukan pencabangan sederhana (antara 2 atau 3
cabang). Atau untuk pencabangan yang banyak, dimana kondisi yang menjadi prasyaratnya
melibatkan lebih dari satu parameter. Bentuk sintaks dari perintah bersyarat ini adalah:
If <kondisi_pencabangan> then
Begin
... {aksi-1}
end
else
Begin
... {aksi-2}
end;

3.3. IF … THEN … ELSE : Pemilihan N kasus
If <kondisi_pencabangan1> then
Begin
... {aksi-1}
end
else
If <kondisi_pencabangan2> then
Begin
... {aksi-2}
end
else
Begin
... {aksi-3}
End;

3.4. CASE … OF … : Pemilihan N kasus
Perintah bersyarat Case umumnya digunakan untuk kondisi dengan banyak pencabangan. Syarat
pencabangan pada bentuk ini hanya boleh melibatkan satu buah parameter dengan tipe data bukan
Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi samadengan (=).
Dengan demikian bila parameter bernilai tertentu maka dilakukan suatu aksi terkait, bila bernilai lain
maka dilakukan aksi yang lain juga, demikian seterusnya.
Case <Parameter> Of
<nilai_1> : <aksi_1> ;
<nilai_2> : <aksi_2> ;
...
<nilai_n> : <aksi_n> ;
Else <aksi_n+1> ;
End;
Latihan ke-2
Buat aplikasi baru dengan nama form frmWelcome, kemudian ubah nama komponen/objek sbb:
Objek Properti Nilai properti Method lewat event
Form1 Name FrmWelcome OnActivate
Caption Welcome
Button1 Name BtnQuit Onclick, isi dengan
application.terminate;
Caption &Quit
Label1 Name LblIWP
Caption Internasional Welcome Program
Font Times New Roman, Bold, Size =
18
Label2 Name LblChoose
Caption Choose a Country
Label3 Name LblCountry
Caption (kosong)
Font Times New Roman, Bold, Size =
12, Color = clTeal
Label4 Name LblComment
Caption (kosong)
Font Times New Roman, Bold-Italic,
Size = 24, Color = clTeal
ListBox1 Name LbxCountry OnClick.

• Buat method dari komponen frmWelcome lewat event OnActivate, seperti berikut
procedure TForm1.FormActivate(Sender: TObject);
begin
lbxCountry.Hint := 'Please choose...';
lbxCountry.Items[0]:='England';
lbxCountry.Items[1]:= 'Germany';
lbxCountry.Items[2]:= 'Spain';
lbxCountry.Items[3]:= 'Italy';
end;
• Buat method dari komponen lbxCountry lewat event OnClick, seperti berikut
procedure TForm1.lbxCountryClick(Sender: TObject);
begin
lblCountry.caption := lbxCountry.Items[lbxCountry.ItemIndex];
case lbxCountry.ItemIndex of
0 : lblComment.caption := 'Hello, Programmer' ;
1 : lblComment.caption := 'Hallo, Programmierer' ;
2 : lblComment.caption := 'Hola, Programador' ;
3 : lblComment.caption := 'Ciao, Programmtori' ;
end;
end;
• Simpan dengan nama unit uWelcome1.pas dan project pWelcome1.dpr pada direktori
Latih3

4. STRUKTUR PENGULANGAN
Dalam menyelesaikan masalah, terkadang kita harus melaku suatu proses yang sama lebih dari satu
kali. Untuk itu perlu dibuat suatu algoritma pengulangan. Pascal memberikan tiga alternatif
pengulangan, yaitu dengan For, While, atau Repeat. Masing-masing memiliki karakteristik, yang akan
dipelajari pada modul ini. Ada dua hal yang penting dalam melakukan merancang perintah
pengulangan, yaitu:
• Inisialisasi awal.
• Nilai akhir pengulangan atau kondisi berhenti.
4.1. FOR – TO - DO
Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan dengan menggunakan
suatu variable kendali yang nilainya dibatasi dalam suatu range tertentu. Sintaks untuk perintah ini
adalah:
For <variable_kendali> := <nilai_awal> to <nilai_akhir> do
Begin
… {aksi}
End ;
atau
For <variable_kendali> := <nilai_awal> downto <nilai_akhir> do
Begin
… {aksi}
End ;
Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to: nilai awal lebih
kecil dari nilai akhir, sedangkan pada downto nilai awal lebih besar dari nilai akhir. Perlu diingat,
bahwa variable kendali harus dideklarasikan dengan tipe data integer.
Contoh program pengulangan menggunakan For-to-do
procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
var I : integer;
begin
lbxHasil.Items.Clear;
For I := 1 to 5 do
Begin
lbxHasil.Items.Add(inttoStr(i));
End;
Hasilnya adalah : 1, 2, 3, 4, 5

Contoh program yang sama jika tapa perintah tanpa pengulangan
procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
begin
lbxHasil.Items.Clear;
lbxHasil.Items.Add(inttoStr(1));
lbxHasil.Items.Add(inttoStr(2));
lbxHasil.Items.Add(inttoStr(3));
lbxHasil.Items.Add(inttoStr(4));
lbxHasil.Items.Add(inttoStr(5));
End;
Hasilnya adalah : 1, 2, 3, 4, 5
4.2. WHILE - DO
Pada metoda pengulangan ini aksi hanya akan diproses bila kondisi pengulangan terpenuhi, bentuk
sintaks dari pengulangan ini adalah:
While <kondisi_ pengulangan> do
Begin
… {aksi}
End ;
Selama kondisi_pengulangan bernilai true maka aksi akan dilakukan, dan baru akan berhenti setelah
kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka ada
kemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.
Contoh program pengulangan menggunakan While-do
procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
var I : integer;
begin
lbxHasil.Items.Clear;
I := 1;
While I<=5 DO
Begin
lbxHasil.Items.Add(inttoStr(i));
I := I + 1;
End;
End;

4.3. REPEAT - UNTIL
Metoda pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisi pengulangan.
Hanya saja natur dari pengulangan ini adalah sistem seakan-akan memaksa untuk melakukan
pengulangan, sampai di ketahui adanya kondisi berhenti. Bentuk sintaks dari pengulangan ini adalah:
Repeat
… {aksi}
Until <kondisi_ berhenti>
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan bernilai true,
pada pengulangan Repeat, sistem akan memproses aksi selama kondisi_berhenti bernilai false. Dengan
demikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi
terus-menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true.
Contoh program pengulangan menggunakan Repeat- Until
procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);
var I : integer;
begin
lbxHasil.Items.Clear;
I := 1;
Repeat
lbxHasil.Items.Add(inttoStr(i));
I := I + 1;
Until I > 5;
End;

Membuat Program Remote Shutdown Sederhana Dengan Delphi


Dalam suatu jaringan komputer yang terdiri dari 2 atau lebih komputer yang terkoneksi satu dengan lainnya dapat di aplikasikan ke berbagai kebutuhan, seperti distribusi data, pengoperasian komputer lain di tempat yang berbeda, dan di bidang industri digunakan untuk kendali atau kontrol peralatan yang terhubung ke komputer di dalam suatu jaringan. Pada artikel kali ini akan dibuat sebuah aplikasi sederhana menggunakan Borland Delphi 6, yang berfungsi untuk mematikan atau men-shutdown komputer lain yang terhubung melalui jaringan. Aplikasi ini dibuat dengan komponen standart pada Delphi 6, yaitu ClientSocket dan ServerSocket.


Pendahuluan
Pada Delphi, khususnya Delphi 6 terdapat komponen yang berfungsi untuk komunikasi antara 2 komputer atau lebih yang terhubung melalui jaringan. Untuk program Delphi yang akan kita buat ini terdapat 2 aplikasi, yaitu aplikasi client dan aplikasi server. Kedua komponen tersebut adalah ClientSocket dan ServerSocket yang terdapat pada Component Pallete tab Internet.


Aplikasi remote shutdown ini adalah pengembangan dari aplikasi chatting client-server yang dibuat dengan Delphi juga. Banyak artikel-artikel, blog-blog maupun forum diskusi delphi yang membahas aplikasi client server tersebut. Cara kerjanya sangat sederhana sekali, dimana terdapat dua buah aplikasi yaitu aplikasi client dan aplikasi server. Aplikasi server dijalankan pada komputer yang akan di kendalikan atau komputer yang akan di remote, sedangkan aplikasi client dijalankan oleh user di sebuah komputer pengendali. Prinsip kerjanya sangat sederhana, layaknya aplikasi chatting sederhana, aplikasi client mengirimkan sebuah text, yang nantinya akan diterima oleh aplikasi server sebagai sebuah “string”, kemudian akan diolah menjadi sebuah perintah baru, yaitu men-shutdown komputer server. Sederhana sekali bukan???
Mungkin sedikit keterangan di atas dapat memberikan gambaran tentang cara kerja aplikasi yang sangat sederhana dan jauh dari sempurna ini, khususnya bagi para pemula seperti saya. Karena saya juga masih dalam tahap belajar dan sangat membutuhkan masukan dari teman-teman dan para master Delphi.


Ok, Langsung meluncur ke pembuatan programnya, persiapannya cukup seadanya saja: Komputer atau laptop yang terinstal Boland Delphi (Versinya terserah anda, saya menggunakan Borland Delphi 6), Niat dan kemauan belajar, apalagi ya?? รจ Secangkir kopi + Rokok atau snack juga boleh (opsional) hehehehe ……..

Remote Shutdown
Aplikasi ini terbagi menjadi 2, yaitu aplikasi client dan aplikasi server. Aplikasi Client adalah aplikasi pengendali atau pengontrol, sedangkan aplikasi server adalah aplikasi yang di jalankan pada komputer yang ingin di kendalikan (komputer yang ingin di shutdown)

Source Code Program Client :

unit RSClient;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, WinXP, ScktComp;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;


Edit1: TEdit;
    Button1: TButton;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    Button2: TButton;
    Button3: TButton;
    WinXP1: TWinXP;
    ClientSocket1: TClientSocket;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
  application.Terminate;  // keluar program
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.Host:=edit1.Text;  // alamat ip server
clientsocket1.Active:=true;      // mengaktifkan / membuka socket sisi client
clientsocket1.Port:=1880;        // menggunakan port 1880
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
button2.Enabled:=false;    // saat aplikasi mulai dijalankan button shutdown di disable
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);     //saat soket client error
begin
button2.Enabled:=false;   //disable button shutdown
showmessage('Error On Socket');  //menampilkan pesan error
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);   //saat sudah terhubung ke server
begin
statictext2.Caption:='Connected to Server';   //keterangan bahwa sudah terhubung ke server
button2.Enabled:=true;   // button shutdown di aktifkan
end;

procedure TForm1.Button2Click(Sender: TObject);
begin       //button shutdown
if (clientsocket1.Socket.Connected) then  //saat soket terhubung maka
 clientsocket1.Socket.SendText('shutdown'); // button 2 mengirim string ke server
end;

end.


Source Code Program Server :


unit RSServer;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp, WinXP;

type
  TForm1 = class(TForm)
    WinXP1: TWinXP;
    ServerSocket1: TServerSocket;
    StaticText1: TStaticText;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Edit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
serversocket1.Open;   //membuka soket server
serversocket1.Port:=1880; //menggunakan port 1880
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
edit1.Text:=socket.ReceiveText;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.Text='shutdown' then  //bila edit1.text berisi text shutdown maka,
begin winexec('shutdown -r -t 0 -f',sw_normal); end;  //perintah shutdown dijalankan
end;

end.




Penutup

Aplikasi ini berfungsi layaknya sebuah pisau, dapat bermanfaat dan dapat juga merugikan. Bermanfaat untuk mempermudah administrasi komputer dalam suatu jaringan, dan merugikan bila di kembangkan untuk aplikasi Trojan maupun virus komputer. Penulis menyadari bahwa tulisan ini jauh dari sempurna, seperti pepatah “Tiada gading yang tak retak” Untuk itu saran dan kritik yang membangun sangat penulis harapkan. TerimaKasih buat teman-teman semua yang telah memberikan saya semangat untuk menulis



Tampilan Theme Xp di Delphi

Introduksi
Anda mungkin sudah mengetahui bahwa Windows Xp mempunyai tampilan lebih menarik dari Windows
sebelumnya, dengan tombol-tombolnya yang bergaya eye-candy. Dan ketika saya membuat aplikasi di delphi kok
tampilannya tidak mengikuti style xp dan kayaknya kaku banget kayak windows yang kuno, meskipun berjalan
di Windows Xp. Setelah bingung ngalor ngidul cari tahu gimana caranya, ternyata sangat mudah banget untuk
mendapatkan form yang komponen-komponennya mengikuti Windows Xp tanpa membuat perubahan apapun
dalam project yang anda buat. Cukup klik sana eh ternyata jadi.. mungkin anda sudah tahu caranya jadi maaf
kalo saya ketinggalan kereta. Artikel ini cuma buat yang belum tahu kok ☺
Sebagai catatan operating sistem yang anda gunakan harus Windows xp karena form akan mengikuti theme xp
yang ada, jadi kalau anda memakai windows 9x ya percuma saja karena tidak akan terjadi perubahan apapun. ☺
Pembahasan
Dari gambar dibawah anda akan melihat tampilan form yang berbeda sebelum dan sesudah form mengikuti
theme xp.

Apa yang dibutuhkan ? ternyata mudah sekali. Anda hanya perlu meletakkan komponen XpManifest di tab
Win32 di form anda. Dan semua akan berubah! Tanpa mengubah apapun. Have fun!
Tab Win32
Letakkan komponen XpManifest di form anda.
Run project anda.

Cara kedua :
Buka notepad anda :
Copy scripts berikut :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApp"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Simpan dengan nama_project.exe.manifest misal kalo nama project anda Project1 maka nama filenya
Project1.exe.manifest. simpan satu folder dengan project anda. Jalankan project anda!

 
Design by Andhika Yuswanto | Bloggerized by Kunir - JAWA TIMUR | UNIVERSITAS JEMBER