Anda di halaman 1dari 30

MODUL PRAKTEK LAB KOMPUTER

DISUSUN OLEH: TIM PENYUSUN BORLAND DELPHI ADVANCED

AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER

JAKARTA 2010

Bab I. Pengenalan Delphi Lanjutan


I. Pengertian Delphi Delphi adalah suatu bahasa pemograman (development language) yang digunakan untk merancang suatu aplikasi program. Pada saat semester sebelumnya, sudah pernah mempelajari mata kuliah Delphi tentu tahu apa-apa saja komponen yang ada didalam nya. Pada Bab ini sebelumnya diingatkan terlebih dahulu pengertian delphi dan jendela IDE Delphi. Untuk pengertian nya sudah ada di Modul Delphi sebelumnya. a. Kegunaan Delphi 1. untuk membuat aplikasi windows 2. Untuk merancang aplikasi program berbasis grafis 3. Untuk membuat program berbasis jaringan (client/server) 4. Untuk merancang program .Net (berbasis internet)

b. Keunggulan Delphi 1. IDE (Integrated Development Environment) atau lingkungan pengembangan aplikasi

sendiri adalah satu dari beberapa keunggulan delphi, didalamnya terdapat menu-menu yang memudahkan kita untuk membuat suatu proyek program. 2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah. 3. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal, sehingga tidak diperlukan suatu penyesuaian lagi. 4. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi.

c. Sejarah Borland Delphi 1. Delphi versi 1 (berjalan pada windows 3.1 atau windows 16 bit) 2. Delphi versi 2 (Berjalan pada windows 95 atau delphi 32 bit) 3. Delphi versi 3 (berjalan pada windows 95 keatas dengan tambahan fitur internet atau web) 4. Perkembangan selanjutnya diikuti dengan Delphi versi 4, 5 dan 6.

5. Versi terkini dari delphi adalah versi 7 dengan tambahan vitur .net dengan tambahan file XML

II. IDE DELPHI IDE adalah sebuah lingkungan dimana semua tools yang dipeerlukan untuk desain, menjalankan dan mengetes sebuah aplikasi disajikan dan terhubung dengan baik sehingga memudahkan pengembangan program. langkah - langkah mengaktifkan Delphi Klik start Pilih program Files Pilih Borland Delphi Pilih dan klik Delphi 7

Jendela Utama Delphi

Gambar 1.1 Jendela Utama Delphi

III.

Rahasia Pembuatan Aplikasi Delphi Sekilas pembuatan sebuah program sederhana seolah-olah hanya terdiri atas sebuah file project dan sebuah unit/form. Tetapi kenyataanya ada beberapa file yang dibuat untuk Anda pada saat Anda bekerja dengan program Anda, didalam listing programnya pun juga banyak proses yang bisa kita buat untuk mengefisienkan listing pemrograman.

1. Procedure Pada saat pertama kali menulis program, mungkin Anda akan membuat program yang sederhana, program berjalan sequensial dari awal sampai akhir. Perhatikan contoh berikut:
Program Hallo; Begin {buat jendela} {Tulis pesan ke jendela} {Buang jendela} {buat jendela} {Tulis pesan ke jendela} {Buang jendela} {buat jendela} {Tulis pesan ke jendela} {Buang jendela} End.

Anda akan menuliskan program tersebut sebanyak tiga kali, program diatas mengulang perintah yang sama sebanyak tiga kali, dengan cara ini Anda mungkin akan mengetikan kesalahan yang sama sebanyak tiga kali Adalah kumpulan pernyataan program yang berbentuk sebuah blok diagram. Blok tersebut dapat diaktifkan dengan sebuah pemanggilan procedure. Perhatikan contoh berikut:
Procedure tulispesan; {buat jendela} {Tulis pesan ke jendela} {Buang jendela} End;

Jika Anda akan menuliskan pesan sebanyak 3 kali, anda cukup memanggil procedure diatas sebanyak tiga kali, programnya menjadi:

Program hallo; Procedure tulispesan; {buat jendela} {Tulis pesan ke jendela} {Buang jendela} End; Begin Tulispesan; Tulispesan; Tulispesan; End;

2. Function Adalah procedure yang menghasilkan sebuah nilai. Misalnya persamaan y=cos(6), fungsi cos memakai bilangan 6 sebagai operandnya, menghitung nilai cosinus dari 6 dan mengembalikan nilainya ke persamaan.

3. Event Cara pemrograman sekuensial dengan thread tunggal telah diperbaiki dengan adanya windows, windows adalah sistem dinamik yang memberikan respon pada event, misalnya ketika kita mengklik tombol start, muncul menu popup. Klik ada salah satu event, yang nantinya diproses untuk menghasilkan respon, berupa menu popup tadi.

4. Project Sebuah project Delphi terdiri dari form, unit, setting option, resource, dll. Beberapa file dibuat oleh delphi pada saat Anda membangun sebuah aplikasi. File-file berikut dibuat oleh delphi pada saat Anda merancang aplikasi: File Project (.dpr) file ini dipakai untuk menyimpan informasi mengenai form dan unit. Program inisialisasi ada disini. File Unit (.pas) file ini untuk menyimpan program. Beberapa unit berhubungan dengan form, beberapa lainnya hanya berisi procedure dan function File form (.dfrm) file ini adalah file biner yang dibuat delphi untuk menyimpan informasi mengenai form. setiap file form mempunyai sebuah file unit (.pas) File project option (.dfo) file ini berisi setting option dari project.

File resource (.res) file biner yang berisi sebuah icon yang dipakai oleh project. File ini tidak dapat dibuat atau diubah oleh user karena delphi secara terus menerus mengupdate atau membuat ulang file ini. File backup (.~dp, .~df, .~pa) file-file backup untuk project, form dan unit. File-file berikut ini dibuat oleh compiler: File Executable (.exe) File executable dari aplikasi Anda. File ini berdiri sendiri dan hanya memerlukan file librari di DLL, VBX, dll. File unit object (.dcu) file unit (.pas) versi terkompilasi dan akan di link ke dalam file executable akhir. File Dynamic Link Library (.dll) file ini dibuat jika Anda merancang DLL sendiri.

Yang terakhir, file-file windows yang dapat dipakai bersama-sama dengan Delphi: File help (.hlp) file help standard dari windows yang dapat dipakai di aplikasi delphi. File image atau grafik (.wmf, .bmp, .ico) file-file ini dipakai agar aplikasi lebih menarik. File project (.dpr) berisi program pascal yang merupakan bagian utama dari aplikasi, tetapi Anda dapat membangun aplikasi tanpa perlu melihat file ini. File ini dibuat dan diubah secara otomatis oleh Delphi.

5. Form Inti dari setiap aplikasi Delphi adalah form. Form dapat dianggap sebagai sebuah window. Defaultnya, delphi memberikan sebuah form pada sebuah project dan menampilkan sebuah form kosong pada saat anda memulai delphi. Form adalah dasar dari aplikasi windows. Form dipakai untuk menempatkan komponen, kontrol dan lain-lain. Informasi mengenai form disimpan didalam dua file, yaitu file .dfm dan .pas. File .dfm berisi informasi mengenai tampilan form, ukuran, lokasi dst. Program form adalah program untuk mengontrol form disimpan di file .pas atau disebut juga dengan unit. Setiap kali Anda menambahkan event handler atau menambahkan perintah, file ini akan diubah, dan Delphi menempatkan kursor ditempat dimana seharusnya Anda menambahkan program tsb.

Form mempunyai property, dengannya Anda dapat mengubah tampilan form, mulai dari warna, ukuran, lokasi, dll. Sebuah form bisa memiliki sejumlah event handler.

6. Unit Ada tiga jenis unit, yaitu: Unit yang berhubungan dengan form (unit yang paling umum). Unit untuk menyimpan procedure dan function. Unit untuk membangun komponen. Lihatlah struktur dibawah ini:
Unit unit1; Interface Uses Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; Type Tform1 = class (Tform) Procedure FormCreate (Sender: Tobject); Private {Private declarations} Public {Public declarations} End; Var Form1: Tform1; Implementation {$R *.DFM} Procedure Tform1.formcreate (Sender: Tobject); Begin End; End.

Nama unit ada pada baris pertama setelah kata unit. Bagian interface berisi kata-kata uses, type, dan var. Terakhir bagian implementation berisi function dan procedure untuk pengontrol (event handler), juga berisi function atau procedure yang akan Anda buat sendiri. Nama-nama setelah kata uses adalah unit-unit lain yang dipakai. Anda juga dapat menambahkan unit buatan sendiri. Bagian-bagian dari unit diatas adalah: Header unit header dinyatakan dengan kata unit dan diikuti oleh namanya yang juga merupakan nama file dengan ekstensi .pas

Interface menandai awal dari bagian interface yang dipakai untuk mendeklarasikan variable, type, procedure dan lain-lain. Bagian interface berakhir dengan diawalinya bagian implementation.

Uses klausa ini menyatakan library yang perlu dikompilasi menjadi file executable terakhir. Delphi secara otomatis akan memberikan beberapa unit untuk Anda. Jika Anda memakai unit buatan sendiri, maka harus menyatakannya disini.

Type bagian deklarasi type. Type digunakan untuk mendeklarasikan variable.

Kata-kata berikut dipakai untuk menyatakan bagaimana sebuah object dipandang dari program atau object lain: Private hanya dikenal di dalam modul yang bersangkutan. Public dapat diakses dari luar unit.

Kata published dan protected dipakai untuk membuat komponen, pada contoh diatas belum dipakai. Published property yang bersifat ini, ditampilkan di object inspector dan Anda dapat mengubahnya pada saat pembuatan aplikasi. Protected komponen, field, method dan property dengan sifat ini dapat diakses oleh descendant. Var dipakai untuk mendeklarasikan variable dan variable object. Implementation tempat menuliskan semua function dan procedure yang telah dideklarasikan dibagian interface. {$R *.DFM} untuk mengikat unit form ke .dfrm-nya.

7. Property Apa yang anda bayangkan jika mendengar kata property? Tanah, rumah atau apartemen? Properties didalam delphi berarti atribut-atribut yang dimiliki sebuah objek. Orang memiliki atribut tinggi, berat, warna kulit, dll. Pada delphi, semua form dan semua komponen (Visual Component) mempunyai properties. Form mempunyai ukuran (tinggi dan lebar), warna background, batas dan juga nama. Kita dapat mengontrol penampilan objek-objek tersebut dengan memanipulasi atribut atau property-nya.

IV.

Konstanta dan Variable Konstanta adalah nilai tetap. Misalnya kita menetapkan nilai PPn 10%, jika kita menggunakan nya sebanyak 5 kali, maka kita akan mengetikkannya sebanyak 5 kali juga. Jika sewaktu-waktu nilai PPn nya berubah, maka kita akan merubah nilainya sebanyak yang ketik dalam listing program. Untuk mempermudahnya, kita bisa mendefinisikannya dalam constanta. Jadi, ketika akan digunakan bukan lagi memanggil nilainya, tetapi yang dipanggil adalah constanta. Contoh mendefinisikan konstanta:
Const ppn = 0.1;

Artinya, nama konstanta, dalam hal ini mempunyai nilai 0,1. Jika ingin menggunakan nilai 0,1 dalam aplikasi, kita cukup menyatakan nama konstantanya. Misalnya:
besarPpn := jumbel * ppn;

Variable adalah tempat untuk menyimpan sebuah nilai. Perbedaannya dengan konstanta nilainya sudah tetap sedangkan variable nilainya dapat berubah-ubah setiap waktu. Contoh pendefinisian variable:
Var besarPpn, jumbel : single;

Tipe Data Tipe data sangat penting dalam pemrograman. Karena dia adalah pengenal dari data-data yang akan diproses dalam program aplikasi. Tipe data juga mempunyai jangkauan nilai yang berbeda-beda. Tipe-tipe data yang biasa digunakan dalam pemrograman adalah integer, real, double, string, dll. Dalam delphi semua data yang diinput didalam aplikasi program dibaca sebagai string, maka supaya data-data angka bisa dibaca sebagai numerik, harus dikonversi dari string menjadi tipe data yang diinginkan. V. Variable Global dan Variable Lokal Variable global adalah variable yang dapat dipakai diseluruh program, diprogram utama atau didalam procedure. Variable lokal hanya dapat dipakai ditempat pendefinisiannya. Misalnya jika didefinisikan didalam procedure, maka hanya procedure tersebut saja yang dapat menggunakan. Contoh dari penggunaan variable global dan lokal, bisa kita lihat dari program yang berbasis console berikut:

1. Sebelumnya, klik menu Project generate console aplication 2. Kemudian klik menu project

Option

pilih tab linker

beri tanda () pada

klik OK. view source.

3. Setelah itu, ketiklah listing program berikut:


Program contohvar; Uses Forms; {$APPTYPE CONSOLE} Var varglobal:integer; Procedure cobacoba; Var varlokal:integer; Begin Varlokal:=20; Writeln(Isi variabel global : ,varglobal); Writeln(Isi variabel lokal : ,varlokal); End; Begin Varglobal:=10; Cobacoba; Readln; End.

4. Kemudian simpan filenya, File ketik file name = contohvar

Save Project As

save as type = .pas, kemudian

Save

5. Untuk menjalankan filenya, double klik file yang berextention .exe (contohvar.exe)

VI. Visual Component Library Berisi kumpulan object yang di tulis dalam object pascal dari delphi untuk dipakai pada form delphi. Ada dua jenis, yaitu visible (tampak) dan invisible (tidak tampak). Komponen visible ditempatkan dan diprogram untuk pemakai, contohnya: editbox. Komponen invisible memberikan kontrol khusus atau sebagai antarmuka bagi pemrogram, contohnya: timer. 1. Object Inspector Didalam object inspector terdapat properties dan event handler. Properties yang dimaksud disini adalah aturan mengenai object yang Anda tempatkan didalam form.

Beberapa properties ada yang bersifat umum dan dimiliki oleh komponen-komponen, tetapi ada juga properties yang bersifat khusus. Komponen-komponen delphi juga mempunyai sejumlah event yang masing-masing mempunyai event handler. Program yang Anda masukkan ke event handler akan dijalankan pada saat event terjadi.

Bab II. Event Driven dan Exception


Apakah program yang event driven? Yaitu program yang terdiri dari blok-blok perintah yang dijalankan jika terjadi sebuah event atau aksi. Contoh program yang event adalah klik mouse, menekan tombol pada keyboard, dan memulai aplikasi. Selain itu, ada juga program yang non event driven. Sebelum kita masuk kedalam program yang event driven, terlebih dahulu kita mempelajari program yang non event driven. Untuk bisa membuatnya kita perlu menggunakan aplikasi console. Cara menggunakannya: 1. klik menu Project aplication klik OK. view source. Option pilih tab linker beri tanda () pada generate console

2. Kemudian klik menu project

3. Kemudian ketikkan listing program berikut:


Program nonevent; Uses forms; {$APPTYPE CONSOLE} Var nama:string; {$R *.res} Begin Writeln(Selamat datang di Delphi 7); Writeln(Program ini menggunakan Non Event Driven); Write(Masukkan nama Anda : );readln(nama); If (length(nama)<7) then Writeln(Nama Anda pendek) Else Writeln(Nama Anda panjang); End.

4. Simpan filenya, file

Save Project As

untuk program console, kita menggunakan

extention .pas (nonevent.pas) 5. Untuk menjalankan programnya, terlebih dahulu kita harus mengcompile filenya. Project compile nama file (nonevent) 6. Setelah itu, kita tinggal menjalankan file yang berextention .exe (nonevent.exe)

I.

Program yang Event-Driven Aplikasi yang event driven tidak akan mengerjakan apa-apa, jika tidak terjadi event. Oleh

sebab itu program yang event driven tidak mempunyai titik awal dan titik akhir yang jelas. Program hanya perlu mengetahui respon-respon yang akan diberikan pada setiap event. Sebagai contoh kita akan membuat aplikasi yang akan memberi respon pada klik tombol mouse, dan menampilkan koordinatnya. 1. Buat aplikasi baru 2. Buka tab Events dari object inspector, lihatlah event-event yang telah didefinisikan. 3. Klik ganda pada bagian kanan dari label OnMouseDown, hal ini menyatakan kita akan membuat event handler jika kita menekan tombol mouse pada saat kursor mouse ada di form. 4. Delphi sudah memberikan kerangka procedure. Tambahkan perintah yang diperlukan:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin form1.Canvas.TextOut(X,Y,'Mouse Pada '+inttostr(x)+','+inttostr(y)); end; end.

5. Jalankan aplikasi tersebut.

II.

Event yang telah Didefinisikan Untuk mengetahui lebih jelas bagaimana hubungan antara event dan komponen, kita akan

melihat event-event dari komponen umum, yaitu Button OnClick menandai jika user mengklik pada sebuah button OnDragDrop dipanggil jika sebuah object di drag ke sebuah mouse dan di-drop OnDragOver dipanggil jika sebuah object di-drag di atas button OnEndDrag dipanggil jika sebuah button sedang di-drag, dan kemudian button di-drop atau drag diakhiri tanpa drop OnEnter dipanggil jika button menerima fokus OnExit dipanggil jika button tidak lagi fokus

OnKeyPress dan OnKeyDown menyatakan ada sebuah tombol yang ditekan, termasuk tombol yang tidak dicetak misalnya Shift, Alt dan Insert. Event Handler ini dipanggil hanya jika button difokus OnKeyUp dipanggil jika tombol dilepaskan pada saat button difokus. Dan masih banyak lagi event handler lain. Anda hanya menuliskan event handler untuk event-event tertentu saja. III. Parameter dalam Event Handler Parameter mempunyai dua fungsi, yaitu: Memberi informasi ke event handler Meminta event handler menghasilkan nilai tertentu Kadang-kadang event handler diminta untuk mengirim kembali informasi, contoh:
Prcedure TForm1.Edit1KeyPress (Sender:TObject; var Key:Char);

Variable key adalah parameter var, artinya setiap perubahan dari isinya akan dikembalikan ke procedure pemanggil. Ada juga event handler yang berfungsi untuk melakukan pengontrolan yang lebih rumit. Contohnya: Anda mempunyai sebuah listbox yang berisi tulisan bola dan kotak, anda ingin menampilkan simbol untuk setiap teks tersebut. Anda harus memanipulasi list standar dengan memanfaatkan event. Langkah-langkahnya: 1. Buat sebuah aplikasi baru, pada form tambahkan sebuah listbox 2. Isi property Items dari listbox dengan kata kotak dan bola. Buat beberapa baris. 3. Ubah property style dari listbox menjadi lbOwnerDrawFixed. Hal ini menyatakan Anda akan menggambar sel sendiri dan sebuah event terjadi pada saat akan menggambar sebuah sel. 4. Klik disebelah kanan event OnDrawItem, dan isikan nama event handlernya adalah ListBox1DrawItem. Tambahkan listing program sebagai berikut:

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with listbox1.Canvas do begin if listbox1.Items[index]='bola' then ellipse(Rect.Left, rect.Top, rect.Left+(rect.Bottom-rect.Top), rect.Bottom); if listbox1.Items[index]='kotak' then Rectangle(rect.Left, rect.Top, rect.Left+(rect.Bottom-rect.Top), rect.Bottom); textout(rect.Left+(rect.Bottom-rect.Top)+10, rect.Top, listbox1.Items[index]); end; end; end.

IV. Mengenal Exception Komputer tidak pernah salah, dalam arti ia akan mengerjakan segala sesuatu yang diperintahkan padanya. Pemrogram atau pemakai sering sekali secara tidak sengaja memberikan perintah yang salah. Terjadilah exception pada saat runtime bukan pada saat kompilasi.

BAB III. Dynamic Link Library (DLL)


1. Mengenal DLL DLL (Dynamic Link Library) adalah satu jenis file executable yang dipakai untuk menyimpan procedure dan function didalam file yang terpisah dari file executable Anda. Biasanya kita harus membuat program, function, procedure, dan dilink ke dalam satu executable file, cara ini dinamakan link yang statis. Dengan DLL, kita menggunakan link secara rutin dan dinamakan link yang dinamik, karena program dilink pada saat runtime. Rutin-rutin yang bersifat umum dapat dipakai oleh beberapa aplikasi pada saat yang bersamaan dan hanya diperlukan satu copy di memori atau disk. 2. Membuat DLL Sebelum membuat function-function di dalam DLL, Anda harus membuat beberapa setup. Cara membuat DLL: a. Dari baris menu Delphi, pilih File | New. Dari kotak dialog New Items, pilih DLL. b. Buat direktori/folder khusus untuk menyimpan DLL. Simpanlah project dengan nama DLL1, menggunakan menu File | Save Project As.

c. Tambahkan Klausa Exports diatas blok begin...end. Anda dapat membuang komentar panjang setelah klausa library. Ada hal yang perlu diperhatikan, semua variable yang ada didalam DLL bersifat private, karena DLL

mempunyai data segmen sendiri. Artinya program Anda dan DLL tidak bisa memakai variable secara bersama-sama. Kita akan memasukkan program ke dalam DLL, yaitu function untuk encryption. Aplikasi yang memanggil function tersebut akan mengirimkan null-terminated string dan proses encryption adalah dengan operasi exclusive OR pada setiap karakternya dengan nilai 159. Hasilnya akan dikembalikan sebagai null-terminated string. Hal yang menarik adalah sekali kita proses sebuah string, string tersebut akan di encrypt (diubah setiap karakaternya untuk menghasilkan kode rahasia). Functionnya:
library Project2; uses SysUtils, Classes; {$R *.res} function encrypt (eptr:PChar):PChar;export; var x:integer; p:word; estr:string; ch:char; begin {mengubah null terminated string menjadi string pascal} estr:=strpas(eptr); {cari panjangnya} p:=strlen(eptr); {encrypt dengan exclusive or} for x:= 1 to p do begin ch:=estr[x]; ch:=chr(ord(ch) xor 159); estr[x]:=ch; end; {mengembalikan ke null terminated string} strpcopy(eptr,estr); {mengembalikan hasilnya ke pemanggil function} encrypt:=eptr; end; exports encrypt; begin end.

3. Menggunakan DLL Mengakses rutin didalam DLL semudah kita mengakses rutin yang dibuat dalam aplikasi. Untuk lebih jelasnya kita buat project berikut:

a. Bukalah project aplikasi yang baru, dan tambahkan object edit dan button didalam form, seperti tampilan dibawah ini:

b. Kemudian ketik scriptnya secara lengkap:


procedure TForm1.Button1Click(Sender: TObject); var kode:integer; sumber, tujuan:Pchar; strku:string; begin {alokasi tempat untuk null terminated string} sumber:=strAlloc(100); {baca teks dari kotak edit} strku:=edit1.Text; {mengubah jadi null terminated string} strPcopy(sumber,strku); {kirim null terminated string ke DLL, dan tampilkan} edit1.Text:=strpas(Encrypt(sumber)); end; procedure TForm1.Button2Click(Sender: TObject); begin application.Terminate; end; end.

c. Pada bagian implementation jangan lupa untuk menambahkan listing berikut:

Keterangan: Far menyatakan pada compiler bahwa harus memakai model pemanggilan far untuk mengakses function atau procedure. External procedure tersebut bukan bagian dari program ini. Dengan cara ini program dikompilasi tanpa mencari rutin yang bersangkutan. d. Proses yang berjalan didalam aplikasi yang dibuat, yaitu: Membaca data dari kotak edit Mengubah teks ke null-terminated string Mengirim null-terminated string ke function didalam DLL Menerima hasil dari function dan mengubah string menjadi string pascal Mengubah kotak edit dengan string baru

4. Form dalam DLL Selanjutnya kita ingin mempunyai DLL yang memakai form didalamnya. Dengan Delphi Anda dapat melakukannya dengan mudah. Dalam DLL Anda dapat membuat function atau procedure yang menampilkan atau membaca informasi melalui form, kotak dialog dan lainlain, dan semua komponen itu disimpan di DLL. Selanjutnya DLL tersebut dapat dipanggil dari Delphi, Visual Basic, C/C++ dan lain-lain. Membuat DLL yang ada form didalamnya sedikit berbeda dengan membuat DLL tanpa form. tetapi tidak sulit dan ikuti langkah-langkah berikut: a. Pilih menu File|New, lalu pilih item DLL b. Tambahkan form dengan menu File|New Form. ke dalam form tersebut tambahkan 2 bitbtn, 1 kotak edit dan satu label.

Form ini akan dipakai untuk memasukkan kunci encrypt. Jika Anda lihat contoh sebelumnya, proses encrypt dilakukan dengan operator XOR dan operand 159. DLL yang kita buat ini akan menginput kunci encrypt dari form diatas. Kita memasukkan sebuah karakter dan program akan mencari kode ASCII-nya. c. Lengkapi program seperti listing yang diberikan. Tambahkan deklarasi dari function diatas bagian implementation.

Tambahkan function BacaKunci.

d. Simpan project dengan File|Save Project As dan beri nama BacaKey.DPR dan unitnya dengan input.pas e. Pilih Project|View Source. f. Di BacaKey.DPR, tambahkan klausa Exports dibagian bawah, sebelum begin...end. 5. Mengakses form dalam DLL Mengakses form yang ada di dalam DLL tidak berbeda dengan memanggil functionfunction dalam DLL. Anda hanya perlu memanggil procedure atau function dalam DLL, mengirim parameter jika ada dan function DLL akan menampilkan formnya. Jika form sudah tidak diperlukan lagi, form akan keluar dan mengirimkan hasilnya ke program pemanggil. Kita akan membuat project yang akan memanggil DLL yang telah kita buat dan memakai form dan function yang tersimpan didalamnya. a. Buat project baru dan simpan dengan nama TestForm.DPR, sedangkan unitnya beri nama FormTest.pas. Sebenarnya Anda bisa memberi nama bebas, tetapi untuk hal ini lebih baik Anda mengikuti nama yang diberikan agar nama-nama yang dipakai di program tidak membingungkan Anda. b. Buatlah form dengan 2 button, 1 bitbtn, 3 label, dan 1 edit. Ubah property nya sehingga tampilan seperti berikut ini.

c. Kemudian lengkapi listing berikut:

d. Compile dan jalankan aplikasi diatas, ikuti langkah-langkah berikut: Tekan tombol pilih kunci encrypt dan Anda akan masuk ke form yang ada didalam DLL Isikan sebuah karakter ke dalam kotak edit dan pilih OK. Form akan menghilang dan Anda kembali ke form aplikasi. Kunci Encrypt yang Anda masukkan akan ditampilkan di label3 Isikan teks teks ke kotak edit yang ada Pilih tombol Encrypt/Decrypt. Lihat hasilnya di kotak edit. Jika Anda menekan tombol sekali, teks akan di-encrypt-kan. Jika menekan sekali lagi, teks akan kembali semula.

Kotak edit tidak bisa menampilkan semua simbol dalam table ASCII oleh sebab itu kadang-kadang ada karakter yang tidak ditampilkan, tetapi nilai di memori tetap ada. Tombol Close dipakai untuk keluar dari aplikasi.

BAB IV. Bekerja dengan Grafik

1.

Elemen Grafik pemrogram harus mengerti bagaimana menampilkan image dalam sebuah aplikasi dan bagaimana memanipulasi titik, bentuk, garis dan warna. Delphi memberikan komponenkomponen grafik dan methodnya sehingga anda dapat memakainya dengan mudah. a. Koordinat Setiap komponen visual mempunyai property top dan left. Nilai yang tersimpan didalam property ini menyatakan dimana komponen tersebut diletakkan pada form. b. Canvas Adalah property yang dimiliki oleh area gambar atau komponen-komponen grafik lainnya. Dengan property ini anda dapat memanipulasi area gambar. Canvas mempunyai property dan method. c. Pixel dan point pada dasarnya semua operasi grafik adalah mengubah warna pixel pada area gambar. Di delphi Anda dapat memanipulasi pixel secara individual. Pada awalnya pixel hanya ada on atau off, sehingga hanya dapat berwarna hitam dan putih, tetapi sekarang monitor mempunyai jutaan warna, sehingga tampilan gambar menjadi halus. d. Pallete dan True Color pallete pada grafik adalah sekumpulan warna yang dapat dipakai di layar. True color adalah warna yang dihasilkan dari kombinasi merah, hijau dan biru. Komputer dengan warna 24-bit dapat memiliki 16 juta warna. Setiap warna sama dengan sebuah bilangan, misalnya bilangan 0 menyatakan warna hitam dan bilangan terbesarnya (16.843.008) menyatakan warna putih. Warna-warna lain adalah bilangan-bilangan diantara kedua batas tersebut, warna ini dinamakan RGB (Red Green Blue). Aplikasi berikut memakai 3 scrollbar yang dipakai untuk mengubah banyaknya warna merah, hijau dan biru untuk membentuk warna latar belakang. Sebuah scrollbar lagi digunakan untuk memperlihatkan intensitas. Dengan menggerakan scrollbar terakhir akan mengubah ketiga scrollbar lainnya dengan nilai yang sama.
unit warna; interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ScrollBar1: TScrollBar; ScrollBar2: TScrollBar; ScrollBar3: TScrollBar; Merah: TLabel; Hijau: TLabel; Biru: TLabel; ScrollBar4: TScrollBar; intensitas: TLabel; procedure UpdateAll; procedure ScrollBar2Change(Sender: procedure ScrollBar1Change(Sender: procedure ScrollBar3Change(Sender: procedure ScrollBar4Change(Sender: private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.UpdateAll; begin Form1.Color:=RGB(ScrollBar1.Position, ScrollBar2.Position, ScrollBar3.Position); Merah.Caption:='Merah='+IntToStr(ScrollBar1.Position); Hijau.Caption:='Hijau='+IntToStr(ScrollBar2.Position); Biru.Caption:='Biru='+InttoStr(ScrollBar3.Position); Intensitas.Caption:='warna RGB='+InttoStr(form1.Color); end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin UpdateAll; end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin UpdateAll; end; procedure TForm1.ScrollBar3Change(Sender: TObject); begin

TObject); TObject); TObject); TObject);

UpdateAll; end; procedure TForm1.ScrollBar4Change(Sender: TObject); begin Scrollbar1.Position:=scrollbar4.Position; Scrollbar2.Position:=scrollbar4.Position; Scrollbar3.Position:=scrollbar4.Position; end; end.

e. Lebih Lanjut dengan pixel untuk mengakses sebuah pixel pada form, pakailah property canvas dari form dan property pixel dari canvas. Misalnya Canvas.Pixel[10,20] berarti warna dari pixel yang berada 10 pixel kekanan dan 20 pixel ke bawah. Untuk mengubah warna pixel, Anda dapat melakukannya dengan mengubah nilai pixel tersebut. Jika ingin mengetahui warnanya, baca nilai pixel. Contoh: kita akan memakai pixel untuk menggambar grafik sinus didalam form. Hanya ada satu komponen button pada form. Jika button di klik, grafik akan digambar. Kita akan memakai 70% dari tinggi form untuk menggambar grafik, dan lebar grafik akan dipakai semua. Berikut programnya:
unit graf; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); const pi = 3.14159;

var x,y : real; Px, Py : longint; half:longint; begin half:= form1.Height div 2; for Px := 0 to form1.Width do begin x:=Px*(2*pi/form1.Width); y:=sin(x); py:=trunc (0.7*y*half)+half; canvas.Pixels[Px,Py] := 0; end; end; end.

f. Pen setiap canvas mempunyai sebuah pen (walaupun tidak tampak) yang dipakai untuk menggambar garis atau bentuk. Ada dua cara menggerakan pen tersebut, pertama: pen menyentuh kertas dan membuat tanda. Cara kedua: pen berada diatas kertas dan jika digerakan tidak akan meninggalkan bekas. Pen juga mempunyai atribut, misalnya panjang dan lebar. Pen juga memiliki method untuk menggambar aneka bentuk seperti lingkaran, segiempat, dll. Jika kita ingin memindahkan pen, tanpa meninggalkan bekas, kita memakai Moveto. Untuk menggambar sebuah garis lurus dari posisi pen ke posisi lainnya, dipakai Lineto yang hanya membutuhkan koordinat tujuan. Contoh program berikut menggunakan Lineto untuk menggambar bentuk bersarang.
procedure TForm1.Button1Click(Sender: TObject); const pi = 3.14159; var x,y : real; px, py : longint; half, offset : longint; begin half:= form1.Height div 2; offset:=0; for offset := -10 to 10 do begin px:=0;

while px < form1.Width do begin x:=px*(2*pi/form1.Width); y:=sin(x); py:=trunc (0.7*y*half)+half+(offset*10); if(px=0) then canvas.MoveTo(px, py); canvas.LineTo(px, py); py:=trunc(0.7*y*half)+half+((offset-1)*10); canvas.LineTo(px, py); px:= px+15; end; end; end; end.

g. Atribut Brush kadang-kadang kita ingin menggambar objek yang terisi bukan hanya garis luarnya saja. Property brush dipakai untuk menentukan corak pengisian objek. Ada 3 property dari brush, yaitu color, style dan bitmap. Ada dua cara pemakaian brush, yaitu property color (style) dan property bitmap. Dengan property color (style), warna dari pengisian tergantung dari isi property color. Property style mendefinisikan corak pengisian. Anda dapat menggunakan polyline untuk menggambar kerangka objek (tidak terisi), atau dengan menggunakan method polygon untuk menggambar polygon sekaligus memberi arsir. Kita akan membuat aplikasi yang mendemonstrasikan pemakaian method polygon dengan style yang berbeda-beda sehingga corak arsir setiap bentuk berbeda.
procedure segitiga(Iterasi:integer); begin form1.Canvas.Brush.Color:=clRed; form1.Canvas.Polygon([point(Trunc((Iterasi/9)*form1.Width),50),point(trunc((Iterasi/8)*f orm1.Width),100),point (trunc(((Iterasi-1)/8)*form1.Width),100),point (trunc((Iterasi/9)*form1.Width),50)]); end; procedure TForm1.Button1Click(Sender: TObject);

begin form1.Canvas.Brush.Style:=bsSolid; segitiga(1); form1.Canvas.Brush.Style:=bsClear; segitiga(2); form1.Canvas.Brush.Style:=bsHorizontal; segitiga(3); form1.Canvas.Brush.Style:=bsVertical; segitiga(4); form1.Canvas.Brush.Style:=bsFDiagonal; segitiga(5); form1.Canvas.Brush.Style:=bsBDiagonal; segitiga(6); form1.Canvas.Brush.Style:=bsCross; segitiga(7); form1.Canvas.Brush.Style:=bsDiagCross; segitiga(8); end; end.

2.

Event OnPaint Pemograman grafik sebelumnya menggunakan satu layar penuh. Di lingkungan windows, beberapa aplikasi dapat berjalan bersama-sama. Jika salah satu jendela ditimpa jendela lain, sistem operasi membuat sebuah salinan layar itu dalam memori. Tetapi cara ini akan sulit dikerjakan jika banyak aplikasi dijalankan secara bersamaan. Cara lain yaitu, sistem operasi memberitahu aplikasi bahwa ada perubahan dan selanjutnya adalah tugas aplikasi untuk menangani hal tersebut. Pada saat terjadi perubahan, terjadilah event on paint. Delphi hanya menggambar ulang bagian dari canvas yang berubah, dan dinamakan invalidation. Jika ada bagian dari form yang tidak valid, delphi memanggil procedure yang dinyatakan didalam even handler OnPaint untuk menggambar ulang bagian yang berubah. Untuk lebih jelasnya, berikut adalah aplikasi untuk mendemonstrasikannya. Buatlah sebuah aplikasi menggunakan textbox.

3.

Komponen PaintBox

Sebelumnya kita telah membuat beberapa grafik di canvas. Kadang-kadang kiata perlu menggambar diarea tertentu, untuk itu kita memerlukan komponen paintbox. Contoh: Kita membuat suatu aplikasi dengan menambahkan komponen paintbox pada form.

BAB V. Aplikasi Delphi: Mengetahui Versi Windows


Pada bab ini kita akan membuat aplikasi menggunakan delphi, yang memiliki fungsi untuk mengetahui versi windows apa yang kita gunakan dalam komputer. Langkah-langkahnya: 1. Buat aplikasi project aplikasi baru, kemudian desain formnya dengan menambahkan memo dan button

2. Selanjutnya, ketikkan listing program berikut selengkapnya.


procedure TForm1.Button1Click(Sender: TObject); var verinfo:TOsversionInfo; begin verinfo.dwOSVersionInfoSize:=sizeof(verinfo); getversionex(verinfo); memo1.Lines.Append('Major Version: '+inttostr(verinfo.dwMajorVersion)); memo1.Lines.Append('Minor Version: '+inttostr(verinfo.dwMinorVersion)); memo1.Lines.Append('Build Number: '+inttostr(verinfo.dwBuildNumber)); case verinfo.dwPlatformId of ver_platform_win32s: memo1.Lines.Append('PlatformId: '+'win32s on windows 3.1.'); ver_platform_win32_windows: memo1.Lines.Append('PlatformId: '+'win32 on windows 95.'); ver_platform_win32_nt: memo1.Lines.Append('PlatformId: '+'win32 on windows NT.'); end; memo1.Lines.Append('CSD Version: '+verinfo.szCSDVersion); end; procedure TForm1.FormCreate(Sender: TObject); begin button1.Caption:='Lihat Versi Windows Saya'; memo1.Text:='Keterangan Versi Windows Saya'; end; end.

3. Simpan dengan nama unit:versi.pas dan nama project: Pro_versi.dpr 4. Kemudian jalankan dan uji aplikasi tersebut dengan meng-klik tombol lihat versi windows saya

Hasil aplikasi diatas menyatakan tentang major version (versi utama), minor version (versi tambahan), build number (keterangan nomor), platform (jenis windows yang digunakan), dan CSD version.

Anda mungkin juga menyukai