Pengenalan Lingkungan Delphi Sesi 1 1.1 TENTANG DELPHI Borland Delphi merupakan salah satu bahasa pemrograman Windows yang sangat handal, cocok untuk pemula maupun untuk yang berpengalaman. Dengan menggunakan Delphi kita bisa membuat aplikasi Windows yang user friendly dan efisien dengan cepat dan dengan sedikit coding manual. Delphi menyediakan semua tool yang berguna untuk membangun, test dan menyebarkan aplikasi Windows, termasuk segudang komponen-komponen, baik yang disediakan Borland maupun yang disediakan produsen lain atau dari komunitas Delphi sendiri. Bahkan pada versi terakhirnya, Borland menyediakan suatu solusi cross platform yang bernama Borland Kylix (bisa dikatakan Delphi-nya Linux). Delphi berasal dari aplikasi pemrograman DOS yang bernama Borland Turbo Pascal, yang diperkenalkan pada pertengahan tahun 1980-an. Object Pascal, dukungan terhadap pemrograman object-oriented oleh Pascal, adalah yang mendasari bahasa pemrograman Delphi. Visual Component Library (VCL) merupakan suatu hierarki dari objek-objek Object Pascal yang memungkinkan untuk mendesain aplikasi. Sehingga, Delphi bisa dikatakan sebagai suatu aplikasi pemrograman visual yang berdasarkan Object Pascal. PENGENALAN ISTILAH Variabel Variabel merupakan sesuatu yang nilainya bisa berubah, namun harus memiliki tipe data tertentu. Contoh: A + B = C; Dalam kasus tersebut, A, B, dan C merupakan suatu variabel yang nilainya bisa berubah/diubah. Misal A=5 dan B=4, maka C=9. Jika A=7 dan B=6, maka C=13. Tetapi, A, B, dan C harus memiliki tipe data tertentu misalnya bilangan bulat. Jika A, B, dan C sudah dinyatakan sebagai bilangan bulat, maka A, B, dan C tidak bisa digunakan untuk menyimpan nilai desimal/pecahan seperti A=4.5 dan B=3.4 maka C=7.9 (sekali lagi hal ini tidak bisa diterapkan dalam pola pikir komputer). 1
Konstanta Sebagaimana variabel, konstanta juga harus memiliki tipe data tertentu. Namun, kebalikan dari variabel, konstanta pada umumnya nilainya tidak bisa diubah/berubah (kecuali konstanta bertipe). Contoh: Phi = 3.14; Tipe Data Bilangan Bulat Tipe bilangan bulat yang umum pada Delphi adalah Integer dan Cardinal. Disarankan sebisa mungkin menggunakan tipe data ini karena CPU dan sistem operasi akan lebih cepat memproses tipe data ini. Tabel berikut menjelaskan semua tipe data yang termasuk pada bilangan bulat. Tipe Jangkauan Format Ukuran Memori Integer 2147483648..2147483647 signed 32-bit 4 byte Cardinal 0..4294967295 unsigned 32-bit 4 byte Shortint -128..127 signed 8-bit 1 byte Smallint 32768..32767 signed 16-bit 2 byte Longint 2147483648..2147483647 signed 32-bit 4 byte Int64-2 63.. 2 63-1 signed 64-bit 8 byte Byte 0..255 unsigned 8-bit 1 byte Word 0..65535 unsigned 16-bit 2 byte Longword 0..4294967295 unsigned 32-bit 4 byte Bilangan Pecahan Tipe data pecahan yang sudah umum adalah Real. Berikut tabel yang memperlihatkan tipe-tipe data yang termasuk pecahan. Tipe Jangkauan Ketelitian Ukuran Memori Real 5.0x10 324..1.7x10 308 15-16 digit 8 byte Real48 2.9x10 39.. 1.7x10 38 11-12 digit 6 byte Single 1.5x10 45.. 3.4x10 38 7-8 digit 4 byte Double 5.0x10 324.. 1.7x10 308 15-16 digit 8 byte Extended 3.6x10 4951.. 1.1x10 4932 19-20 digit 10 byte Comp -2 63 +1.. 2 63-1 19-20 digit 8 byte Currency 922337203685477.5808.. 922337203685477.5807 19-20 digit 8 byte 2
Catatan: Real48 disediakan untuk alasan kompatibilitas terhadap versi-versi lama, karena sesungguhnya Real48 dalam Delphi adalah tipe data Real yang dipakai ketika jamannya Pascal (6-byte; tipe Real pada Delphi 8-byte). Extended memang menyediakan ketelitian lebih tinggi, namun kurang portable pada platform lain. Comp (computational) merupakan bawaan dari prosesor Intel dan merupakan tipe bilangan bulat 64-bit. Dikelompokkan sebagai bilangan pecahan, karena tidak memiliki sifat seperti tipe bilangan bulat biasa. Misalnya kita tidak bisa melakukan increment dengan prosedur Inc() dan decrement dengan prosedur Dec() pada tipe ini. Untuk amannya gunakan saja tipe data Int64. Currency merupakan fixed-point (tidak ditulis dalam format a x 10 b ) yang mempunyai sifat meminimalkan kesalahan perhitungan pembulatan. Tipe ini sangat cocok untuk penggunaan perhitungan yang melibatkan nilai mata uang. Boolean Tipe data boolean hanya memiliki nilai antara TRUE dan FALSE saja. Ada 4 tipe boolean yang didefinisikan pada Delphi, yaitu: Boolean, ByteBool, WordBool, dan LongBool. Semuanya sengaja didefinisikan untuk menjamin kompatibilitas dengan bahasa pemrograman dan Windows yang berbeda. Namun, pada modul ini kita hanya akan berurusan dengan tipe Boolean saja. Karakter Tipe karakter ( char) merupakan tipe yang hanya terdiri dari satu karakter saja. Untuk menyatakan konstanta bertipe char, suatu karakter harus diawali dan diakhiri dengan tanda petik-tunggal atau apostrof ( ). Contoh: String A Karakter huruf A 7 Karakter angka 7 ~ Karakter simbol ~ String atau literal merupakan sejumlah karakter yang bisa berjumlah nol atau lebih. Suatu konstanta string ditulis dengan diapit oleh tanda petik-tunggal ( ). Contohnya: Borland Delphi Jum at { hasilnya berupa string Jum at } { string kosong } Panjang string mengacu pada jumlah karakter yang ada pada string tersebut. Suatu string yang panjangnya 1 kompatibel dengan tipe karakter, dan string yang terdiri dari n karakter kompatibel dengan array n karakter. Operator Operator bertugas untuk mengoperasikan variabel atau konstanta yang ada. Operator terbagi menjadi beberapa bagian sesuai fungsinya: 3
Operator Aritmatika +, -, /, *, mod, div Operator Perbandingan >, >=, <, <=, <>, = Operator Logika Keyword and, or, not Keyword merupakan kata kunci yang sudah dimiliki oleh Delphi, sehingga kita tidak bisa menggunakan salah satu keyword tersebut sebagai nama variabel atau konstanta. Contohnya: case, string, if, while, repeat, until, for, integer, real, dsb. MENJALANKAN DELPHI Untuk memulai Delphi, Anda bisa melakukan double click (klik ganda) pada icon Borland Delphi 7 (versi Delphi tergantung yang Anda install) di Desktop. Atau Anda bisa juga melakukannya melalui menu Start > Program > Borland Delphi 7 > Delphi 7. Setelah berhasil menjalankan Delphi, maka akan muncul tampilan seperti gambar berikut. Gambar 1. Tampilan Delphi 4
PROJECT Project merupakan sekumpulan form dan unit yang saling berhubungan. Jika kita membuka, menyimpan, dan menjalankan (kompilasi) pro ject, Delphi akan tahu file-file mana saja yang terlibat dengan project tersebut. Dengan kata lain project adalah program yang kita buat. Ketika pertama kali membuat aplikasi baru, Delphi secara default akan menghasilkan file.dpr yang isinya kurang lebih sebagai berikut: program Project1; { nama dari project } uses { menandakan unit-unit yang digunakan project... } Forms, {...bisa yang bukan form unit... } Unit1 in 'UNIT1.PAS' {Form1}; {...maupun form unit} {$R *.RES} { file resource } begin { awal dari program utama } Application.Initialize; Application.CreateForm(TForm1, Form1); { form pertama } Application.Run; { menjalankan aplikasi } end. { akhir dari program utama } Ketika kita membuat project baru, Delphi akan secara otomatis membuat juga file-file lain diantaranya:.cfg.dof.dpr.res.pas.dfm File.~PAS,.~DFM Keterangan File konfigurasi project. File yang berisi option yang berhubungan dengan project, pengaturan compiler dan linker, direktori, dan lain-lain. File utama project. Berisi informasi versi resource dan icon yang dipakai oleh aplikasi kita. File unit yang berisi kode pascal yang kita ketik. File form dari unit yang bersangkutan. Namanya sama dengan nama file unitnya. File backup dari file-file.pas dan.dfm. FORM Form merupakan bagian yang sering terlihat pada suatu project. Form nantinya akan menjadi window pada saat program sudah jadi. Sehingga selama kita melakukan design program, kita melakukannya terhadap form. Semua pengaturan form tersimpan pada file.dfm. Kita mengatur form sesuai kebutuhkan dan melakukan pengaturan properties dan event melalui Object Inspector. 5
UNIT Setiap form pada project memiliki satu unit. Unit ini akan berisi source code yang kita program nantinya sesuai kebutuhan. Suatu unit yang berhubungan dengan suatu form sering disebut dengan form unit, tapi kita juga bisa membuat unit tersendiri yang tidak berhubungan dengan form. (contohnya bisa Anda lihat pada bagian Sound Card) Manfaat penggunaan unit dalam program aplikasi antara lain sebagai berikut: 1. Membagi program menjadi beberapa bagian sehingga akan mudah dalam melakukan perubahan-perubahan terutama pada aplikasi besar. 2. Membuat library berupa function dan procedure, sehingga dapat digunakan pada project lain. 3. Unit dapat dikompilasi terpisah dari program aplikasi, sehingga program lain yang memerlukan bisa menggunakannya tanpa harus menulis ulang source code-nya. Struktur unit adalah sebagai berikut: unit Unit1; { unit identifier } interface uses { uses clause } SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(tform) { class declaration } private { Private declarations } public { Public declarations } end; var Form1: TForm1; { instance declaration } implementation {$R *.DFM} { compiler directive to link form file } end. PROPERTY Properti, seperti halnya field, menandakan atribut dari objek. Suatu objek bisa memiliki beberapa properti, yang dapat diatur langsung dari tab Properties pada Object Inspector atau melalui kode program. Setting properti akan menentukan cara kerja objek yang bersangkutan saat program dijalankan, misalnya menentukan warna objek, ukuran objek, huruf yang dipakai, dan lain-lain. 6
Gambar 2. Tab Properties Beberapa objek bisa memiliki beberapa properti yang sama. EVENT Event merupakan peristiwa atau kejadian yang menimpa suatu objek. Misalnya klik, drag, tunjuk, dan lain-lain. Event tersebut akan memicu Delphi untuk memeriksa kode program yang didefinisikan untuk objek yang bersangkutan, jika ada maka kode program tersebut akan dijalankan. Gambar 3. Tab Events 7
Untuk membuat suatu procedure yang akan dijalankan ketika suatu event terjadi, bisa Anda lihat pada saat membuat program pertama nanti. METHOD Method merupakan prosedur atau fungsi yang ada di dalam objek. Cara pemanggilannya kurang lebih sama dengan cara mengakses properti, bedanya kita mengakses properti ketika kita ingin mengisi atau mendapatkan suatu nilai / atribut dari suatu objek, sedangkan method untuk melakukan sesuatu. VISUAL COMPONENT LIBRARY (VCL) Sebagai bahasa pemrograman berbasis objek, Delphi menyediakan objek-objek yang sangat berguna. Dengan objek yang sudah tersedia ini, kita bisa merancang program aplikasi dengan cepat. Kita sebagai pemrogram tidak perlu lagi membuat fungsi-fungsi tertentu, karena semuanya sudah ada pada objek tersebut dan kita tinggal memakainya saja. Kumpulan objek yang sudah disediakan dinamakan Visual Component Library atau disingkat menjadi VCL. Semua VCL ditampung pada tempat yang namanya Component Palette. Gambar 4. Component Palette Component Palette terdiri atas beberapa kategori yang masing-masing kategori ditampung pada suatu tab, antara lain tab Standard, Additional, Win32, System, dan lain-lain. Pada masing-masing tab terdapat beberapa komponen. Pada sesi pertama ini akan dibahas komponen form, label, button dan edit beserta propertinya yang sering digunakan. TForm Komponen form (TForm) merupakan komponen untuk tampilan standar pada suatu aplikasi. Secara default ketika membuat project baru, akan disediakan satu buah form. Setelah program jadi, form biasa disebut sebagai window oleh penggunanya. Properti yang sering diubah-ubah pada objek ini antara lan: Properti Caption Color Font Keterangan Menentukan judul dari form. Menentukan warna form. Menentukan font default yang akan dipakai oleh komponenkomponen di dalam form ini. 8
Name WindowState Menentukan nama objek. Semua objek pasti memiliki properti ini. Karena property ini nantinya akan dipakai sebagai pengenal dalam program. Menentukan bagaimana form (window) nantinya muncul di layar. Nilainya antara lain: wsnormal untuk tampilan normal. wsminimize untuk minimize. wsmaximize untuk maximize. TLabel Komponen label (TLabel) merupakan objek yang digunakan untuk menampilkan teks yang tidak bisa diubah-ubah oleh user ketika program berjalan. Biasa digunakan sebagai judul atau keterangan. Properti Alignment AutoSize Caption Color Font Keterangan Menentukan perataan teks label. Nilainya: taleftjustify untuk rata kiri tacenter untuk rata tengah tarightjustify untuk rata kanan Menentukan apakah ukuran label akan otomatis menyesuaikan dengan panjang teks pada properti Caption. Nilainya antara TRUE dan FALSE. Menentukan isi dari label atau teks yang akan ditampilkan. Menentukan warna label. Menentukan font yang dipakai label. TButton Komponen button (TButton) merupakan objek yang bilamana ditekan oleh user, akan melakukan fungsi tertentu sesuai dengan procedure yang ditetapkan pada event OnClick. Property Cancel Caption Default Keterangan Jika bernilai TRUE, maka setiap kali user menekan tombol ESC event OnClick akan berjalan. Menentukan teks yang tampil pada tombol. Jika berniai TRUE, maka setiap kali ditekan tombol ENTER akan mengakibatkan seakan-akan tombol ini ditekan. Pada satu form hanya bisa memiliki satu tombol default. 9
TEdit Komponen edit (TEdit) akan menampilkan teks yang bisa dipilih dan dimanipulasi oleh user ketika program berjalan. Komponen ini hanya menampung satu baris teks saja. Properti AutoSelect Color ReadOnly Text Keterangan Jika bernilai TRUE, maka setiap kali objek ini terfokus isi teksnya akan otomatis terseleksi (terblok). Menentukan warna objek ini. Jika bernilai TRUE, objek ini tidak dapat dipilih atau diedit. Menunjukkan isi teks dari objek ini. Contoh Program Contoh Program 1: Menampilkan Pesan Pada project baru, siapkan 1 komponen Label dan Button, dan rancang agar sesuai dengan tampilan pada gambar 5. Atur propertinya berdasarkan tabel berikut ini: Komponen Properti Nilai Form1 Caption Program Selamat Datang Label1 Caption Silahkan tekan tombol di bawah ini... Button1 Caption Tombol Button2 Caption Keluar Rancang tampilannya agar seperti gambar di bawah ini: Gambar 5. Tampilan program pertama. Untuk pengisian kode program, klik ganda pada komponen Button1, kemudian isikan kode berikut : procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Selamat datang di program pertama saya... '); end; Untuk Button2, lakukan hal yang sama (klik ganda), kemudian isikan kode berikut: procedure TForm1.Button2Click(Sender: TObject); begin 10
Application.Terminate; end; Untuk menjalankan program, tekan tombol F9 atau klik tombol Run Run. atau masuk ke menu Contoh Program 2: Input dan Output Input merupakan hal yang mendasar dalam setiap pemrograman. Pada contoh kali ini kita akan menggunakan komponen Edit. Siapkan aplikasi baru dengan 3 komponen Label, 3 komponen Edit, dan 2 komponen Button. Rancanglah agar bentuknya seperti gambar 6. Gambar 6. Rancangan program Input/Output. Kemudian ubahlah propertinya berdasarkan tabel berikut: Komponen Properti Nilai Form1 Caption Program Input/Output Edit1, Edit2, Edit3 Text Kosongkan Label1 Caption Bil 1 Label2 Caption Bil 2 Label3 Caption Hasil Button1 Caption Tambah Button2 Caption Keluar Untuk pengisian kode program, klik ganda pada komponen Button1, kemudian isikan kode berikut : procedure TForm1.Button1Click(Sender: TObject); var Bil1, Bil2: integer; begin Bil1 := StrToInt(Edit1.Text); Bil2 := StrToInt(Edit2.Text); Edit3.Text := IntToStr(Bil1 + Bil2); end; 11
Catatan: StrToInt() adalah fungsi yang akan mengkonversi nilai string menjadi bilangan integer. Pada program, Edit1.Text merupakan string yang dikonversi menjadi integer dan hasilnya di simpan di variabel Bil1. IntToStr() adalah kebalikan dari fungsi StrToInt(), mengkonversi nilai integer menjadi string. Pada program, ekspresi Bil1 + Bil2 yang bertipe integer, akan dikonversi menjadi string agar bisa ditampilkan di objek Edit3. Untuk Button2, lakukan hal yang sama (klik ganda), kemudian isikan kode berikut: procedure TForm1.Button2Click(Sender: TObject); begin Application.Terminate; end; Untuk menjalankan program, tekan tombol F9 atau klik tombol Run Run. atau masuk ke menu 12