Tutorial Delphi by Suryati
Tutorial Delphi by Suryati
IDE DELPHI
A. DASAR TEORI
1.1 Mengenal Konsep Pemrograman Visual
Delphi merupakan perangkat pengembangan aplikasi yang sangat terkenal di lingkungan Windows.
Dengan Delphi, Anda dapat membangun berbagai aplikasi Windows (game, multimedia, database,
dll) dengan cepat dan mudah karena menggunakan pendekatan visual yaitu tanpa banyak
menuliskan kode. Delphi menggunakan bahasa object Pascal sebagai bahasa dasar. Jika Anda telah
menguasai Pascal, Anda akan dengan mudah memahami program Delphi.
Object inspector
Toolbar / Speedbar
Toolbar adalah sekumpulan tombol yang tidak lain adalah penganti beberapa item
menu yang sering digunakan. Biasanya yang tersedia pada toolbar adalah perintah-
perintah (item menu) yang sering digunakan dalam proses pembuatan program
aplikasi.
Component Palette
Component palette adalah tool yang berupa kumpulan tab (page control), dimana
setiap tab (page control) memuat berbagai tombol komponen (VCL / Visual
Component Library) yang dapat diletakkan pada form dan sebagai interface program
aplikasi. Tab tersebut diantaranya adalah Standard, Additional, Win32, dan lain-lain.
Form Designer
Form designer merupakan tempat untuk merancang program aplikasi. Perancangan
form dilakukan dengan meletakkan komponen-komponen yang diambil dari
component palette.
Object Inspector
Object inspector digunakan untuk mengubah properti atau karakteristik dari suatu
komponen. Terdiri dari 2 tab yaitu :
- Properties
Digunakan untuk menentukan seting suatu objek. Satu objek memiliki beberapa
properti yang dapat diatur langsung dari object inspector maupun melalui kode
program. Seting ini mempengaruhi cara kerja objek tersebut saat aplikasi
dijalankan.
- Event
Merupakan bagian yang dapat diisi dengan kode program tertentu yang berfungsi
untuk menangani event-event (berupa sebuah procedure) yang dapat direspon
oleh sebuah komponen. Event adalah peristiwa atau kejadian yang diterima oleh
suatu objek, misal : klik, drag, dan lain-lain. Event yang diterima objek akan
memicu Delphi menjalankan kode program yang ada didalamnya. Misalnya ingin
sesuatu dikerjakan pada saat form ditutup, maka untuk menyatakan tindakan
tersebut (berupa sebuah procedure) menggunakan OnClose.
Code Editor
Code editor merupakan tempat untuk menuliskan kode program menggunakan
bahasa object Pascal. Disini tidak perlu dituliskan seluruh kode sumber karena Delphi
telah menyediakan kerangka penulisan sebuah program.
Code Explorer
Digunakan untuk memudahkan berpindah antar file unit di dalam jendela code editor.
Code explorer berisi daftar yang menampilkan semua tipe,class, properti , method,
variabel global, rutin global yang telah didefinisikan di dalam unit. Saat memilih
sebuah item dalam code explorer, kursor akan berpindah menuju implementasi dari
item yang dipilih di dalam code editor.
Ingat : Jangan menghapus salah satu dari file-file tersebut, karena Delphi
memerlukan file-file tersebut untuk menjalankan program aplikasi Anda.
5. Menjalankan program dengan klik ikon atau tekan tombol F9 atau pilih menu Run >>
Run.
Ketika Anda run program, Delphi akan membentuk file berekstensi .dcu dan file
.exe (file executable) yang merupakan hasil kompilasi dari file .pas
Nama file .dcu sama dengan nama unit, sedangkan nama file .exe memiliki
nama yang sama dengan nama project.
6. Mengakhiri program dengan klik atau pilih menu Run >> Program
Reset.
8. Bila Anda ingin mengecek apakah program Anda sudah tersimpan atau
ingin menampilkan program Anda kembali ke layar, maka pilih File >> Open
Project
l
a
b
e
l
k
o
m
p
o
n
e
n
b
u
t
t
o
n
Bila project tersebut dijalankan maka tampil suatu aplikasi dengan tombol
Merah diklik maka form berubah warna menjadi merah, bila tombol Biru diklik
maka form berwarna biru.
3. Pengaturan Komponen
Pengaturan properties :
Komponen/Object Properties Pengaturan
By : Suryati, S.Si., M.Kom
Halaman : 7
TForm1 Caption Form Berwarna
Name Form1
TLabel Caption Halo ...
Name Label1
Font Size 12
TLabel Caption Aku yakin,
Name Label2
Font Name Gungsuh
Font Size 12
Font Style fsBold True
TLabel Caption Aku pasti bisa !
Name Label3
Font Size 12
Font Style fsBold True
Font Style fsItalic True
TButton Caption Merah
Name Tombol1
TButton Caption Biru
Name Tombol2
Pengaturan event :
Komponen Name Event Pengaturan
TButton Tombol1 OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan Tombol1Click
pada event dan
procedure TForm1.Tombol1Click pada code editor.
Pada procedure TForm1.Tombol1Click, dibawah begin ketik :
form1.Color := clred;
TButton Tombol2 OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan Tombol2Click
pada event dan
procedure TForm1.Tombol2Click pada code editor.
Pada procedure TForm1.Tombol1Click, dibawah begin ketik :
form1.Color := clblue;
4. Simpan pada folder Latih 2 dengan nama unit: UFormwarna dan nama
project : Formwarna
5. Jalankan program aplikasi Anda.
C. TUGAS
Modifikasi project Formwarna dengan menambahkan :
- Tombol Ganti Huruf. Bila tombol tersebut diklik, maka huruf pada
Label3 berubah, baik jenis hurufnya,ukuran, warna, dan stylenya (misal bergaris
bawah).
- Tombol Selesai . Bila tombol Selesai diklik, maka keluar dari program
tersebut.
By : Suryati, S.Si., M.Kom
Halaman : 8
BAB II
TIPE DATA,VARIABEL, DAN KONSTANTA PADA DELPHI
A. DASAR TEORI
2.1 Tipe Data pada Delphi
Pada umumnya semua bahasa pemrograman mengenal tipe data. Beberapa jenis
tipe data telah disediakan oleh bahasa pemrogramaan dan ada juga tipe data yang
dapat dibuat sendiri (type constructor). Gagasan adanya type-constructor ini
diperkenalkan oleh bahasa pemrograman Pascal secara formal. Selain itu masih ada
beberapa bahasa pemrograman, termasuk Delphi, juga mendukung mekanisme untuk
mendefinisikan tipe baru.
Tipe (Type) pada dasarnya adalah nama jenis data. Ketika variabel didefinisikan,
tipe data yang menentukan kumpulan nilai-nilai variabel yang dapat disimpan dan
juga operasi di dalamnya, harus ditentukan juga. Aturan ini dipakai di dalam Delphi.
Delphi adalah bahasa strongly-typed, artinya Delphi membedakan berbagai tipe data
dan tidak selalu mengizinkan sebuah tipe disubsitusikan ke tipe yang lainnya.
Beberapa jenis tipe sederhana (simple-type) yang dikenal di Delphi antara lain:
- Ordinal : Integer, Character, Boolean, Enumerasi, Subrange
- Real
Tipe Ordinal (Ordinal Type) berdasarkan pada konsep order atau urutan. Tipe ordinal
meliputi Integer, Character, Boolean, Enumerasi, Subrange. Masing-masing tipe data
tersebut mempunyai jangkauan yang disesuaikan dengan tipe datanya. Integer,
Character, Boolean merupakan tipe data yang sudah disediakan di Delphi, sedangkan
Enumerasi dan Subrange merupakan tipe data yang didefinisikan sendiri.
Tipe Real mewakili bilangan floating-point dalam berbagai format. Pada tipe ini ada
bentuk Single, Double, Extended yang mempunyai tingkat kepresisian yang berbeda.
Standar dalam bilangan real ini menggunakan IEEE (Institute of Electrical and
Electronics Engineers)
Komponen Edit
Bila project tersebut dijalankan maka tampil suatu aplikasi dengan memasukkan
sembarang angka pada bilangan pertama dan bilangan kedua. Bila tombol Tukar
diklik maka terjadi pertukaran nilai pada bilangan pertama dan kedua. Tombol Clear
untuk membersihkan tampilan dari angka/perhitungan sebelumnya, tombol Close
diklik maka keluar dari program.
3. Pengaturan Komponen
Pengaturan properties :
Komponen/Object Properties Pengaturan
TForm1 Caption Tukar Angka
Name Form1
TLabel Caption Bilangan Pertama
Name Label1
Font Size 12
TLabel Caption Bilangan Kedua
Name Label2
Font Size 12
TLabel Caption Bilangan Pertama
Name Label3
Font Size 12
TLabel Caption Bilangan Kedua
Name Label4
Font Size 12
TEdit Name Edit1
Text
Font Size 12
TEdit Name Edit2
Text
Font Size 12
TEdit Name Edit3
Text
Font Size 12
TEdit Name Edit4
Text
Font Size 12
TButton Caption &HITUNG
Name TombolTukar
TButton Caption CLEA&R
Name TombolClear
TButton Caption &CLOSE
Name TombolClose
Pendeklarasian variabel
dan konstanta : Pada code
editor, dibawah tulisan
berikut var
Form1: TForm1;
Ketik
tulis
an
beri
kut :
a,b,
c:
inte
ger;
Pengaturan event :
Komponen Name Event Pengaturan
TButton TombolTukar OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolTukarClick pada event dan
procedure TForm1.TombolTukarClick pada code editor.
Pada procedure TForm1.TukarClick, dibawah begin ketik :
a := strtoint(edit1.text);
b := strtoint(edit2.text);
c := a;
a := b;
b := c;
edit3.text := inttostr(a);
edit4.text := inttostr(b);
application.MessageBox('Proses tukar berhasil','Informasi',mb_ok or
mb_iconexclamation);
TButton TombolClear OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolClearClick pada event dan
procedure TForm1.TombolClearClick pada code editor.
Pada procedure TForm1.TombolClearClick, dibawah begin ketik:
edit1.Text := '';
edit2.Text := '';
edit3.Text := '';
edit4.Text := '';
edit1.SetFocus;
3. Pengaturan Komponen
Pengaturan properties :
Komponen/Object Properties Pengaturan
TForm1 Caption Lingkaran
Name Form1
TLabel Caption Jari-jari
Name Label1
Font Size 12
TLabel Caption Luas
Name Label2
Font Size 12
TLabel Caption Keliling
Name Label3
Font Size 12
TButton Caption &HITUNG
Name TombolHitung
TButton Caption CLEA&R
Name TombolClear
TButton Caption &CLOSE
Name TombolClose
Pendeklarasian variabel
dan konstanta : Pada code
editor, dibawah tulisan
berikut var
Form1: TForm1;
Ketik
tulis
an
berik
ut : r
:
inte
ger;
luas,
kelil
ing :
real;
const
pi = 3.14;
Pengaturan event :
Komponen Name Event Pengaturan
Tbutton TombolHitung OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolHitungClick pada event dan
procedure TForm1.TombolHitungClick pada code editor.
Pada procedure TForm1.TombolHitungClick, dibawah begin ketik :
r := strtoint(form1.edit1.Text);
luas := pi * r * r;
edit2.text := floattostr(luas);
keliling := 2 * pi * r;
edit3.text := floattostr(keliling);
application.MessageBox('Proses berhasil','Informasi',mb_ok or
mb_iconexclamation);
Tbutton TombolClear OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolClearClick pada event dan
procedure TForm1.TombolClearClick pada code editor.
Pada procedure TForm1.TombolClearClick, dibawah begin ketik:
edit1.Text := '';
edit2.Text := '';
edit3.Text := '';
edit1.SetFocus;
Pengaturan event
Komponen Name Event Pengaturan
Tbutton TombolKonversi OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolKonversiClick pada event dan
procedure TForm1.TombolKonversiClick pada code editor.
Pada procedure TForm1.TombolKonversiClick, dibawah begin ketik :
totdet := strtoint(edit1.text);
jam := totdet div 3600;
sisa := totdet mod 3600;
menit := sisa div 60;
detik := sisa mod 60;
edit2.text := inttostr(jam);
edit3.text := inttostr(menit);
edit4.text := inttostr(detik);
application.MessageBox('Proses berhasil','Informasi',mb_ok or
mb_iconexclamation);
4. Simpan pada folder Latih 5 dengan nama unit: UKonversi dan nama project :
Konversi
C. TUGAS
1. Cari tipe/jenis data pada Delphi beserta range nilainya. Anda bisa mencari
melalui literatur/buku-buku tentang Delphi.
Diketik dan kirim ke email kuliah@idhaclassroom.com
2. Buat project dengan tampilan seperti berikut :
Setiap kali tombol Up diklik maka angka tersebut nilainya bertambah 1. Bila
tombol Down diklik maka angka tersebut nilainya berkurang 1.
Anda boleh modifikasi dengan menambahkan tombol Clear
Simpan pada folder Latih 6 dengan nama unit: UCounter dan nama project :
Counter
A. DASAR TEORI
Operator berperilaku seperti fungsi terdefinisi (predefined function) yang menjadi bagian
dari Delphi. Operator mengatur operasi pada tipe data dengan menggunakan simbol-
simbol yang sudah ditentukan dalam syntax delphi. Contoh Expresi (X + Y) dibangun
dari variabel X dan Y yang disebut operand, dengan operator '+'.
Operator menurut jenis operand-nya dibagi dua yaitu unary operator dan binary operator.
Unary operator adalah operator yang operand-nya hanya satu seperti contoh +6, -B.
Tanda bilangan negatif (-) dan positif (+) pada angka 6 dan variabel B menunjukkan
operator unary. Operator Binary merupakan operator yang mempunyai dua operand.
Hampir semua operator di Delphi bersifat binary. Contoh operator ini pada operasi
penjumlahan A + B, tanda positif (+) menunjukkan operator penjumlahan.
Selain operasi binary, operator + dan - digunakan sebagai tanda bilangan untuk tipe
data integer dan real.
Operator Operasi
not negasi
and logika dan
or logika atau
xor logika xor
Operator Operasi
not negasi
and logika dan
or logika atau
xor logika xor
shl Menggeser bit ke kiri
shr Menggeser bit ke kanan
3.4 Operator Relational
Operator relational digunakan untuk membandingkan dua operand. Jenis-jenis
operator relational sebagai berikut :
Operator Operasi
= Persamaan
<> Pertidaksamaan
< Lebih kecil dari
> Lebih besar dari
<= Lebih kecil atau sama
>= Lebih besar atau sama
B. LANGKAH KERJA
3.5 Program Kalkulator Sederhana
1. Buat folder Latih 9 didalam folder utama Anda.
2. Buat project dengan form seperti berikut :
Komponen
Radiogroup
3. Pengaturan Komponen
Pengaturan properties :
Komponen/Object Properties Pengaturan
TForm1 Caption Kalkulator Sederhana
Name Form1
TLabel Caption Operand1
Name Label1
Font Size 12
TLabel Caption Operand2
Name Label2
Font Size 12
TLabel Caption Hasil
Name Label3
Font Size 12
TEdit Name Operand1
Text
Font Size 12
TEdit Name Operand2
Text
Font Size 12
TEdit Name Hasil
Text
Font Size 12
TRadioGroup Caption Pilihan
Name Rgpilihan
Font Size 12
ItemIndex 0
Items Anda klik sehingga tampil String List Editor, kemudian ketik Penjumlahan > Enter >
Pengurangan > Enter > Perkalian dst > OK
TButton Caption &HITUNG
Name TombolHitung
TButton Caption &KELUAR
Name TombolKeluar
Pendeklarasian variabel dan konstanta : Pada code editor, dibawah tulisan berikut
var
Form1: TForm1;
Ketik tulisan
berikut :
a,b,inthasi
l :
integer;
realhasil :
real;
Pengaturan event :
Komponen Name Event Pengaturan
Tbutton TombolHitung OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolHitungClick pada event dan
procedure TForm1.TombolHitungClick pada code editor.
Pada procedure TForm1.TombolHitungClick, dibawah begin ketik :
inthasil := 0;
realhasil := 0;
a := strtoint(Operand1.Text);
b := strtoint(Operand2.Text);
if rgpilihan.ItemIndex = 0 then
Begin
inthasil := a + b;
End
else if rgpilihan.ItemIndex = 1 then
Begin
inthasil := a - b;
End
else if rgpilihan.ItemIndex = 2 then
Begin
inthasil := a * b;
End
else if rgpilihan.ItemIndex = 3 then
Begin
realhasil := a / b;
End
else if rgpilihan.ItemIndex = 4 then
Begin
inthasil := a div b;
End
Else
Begin
inthasil := a mod b;
end;
4. Simpan pada folder Latih 9 dengan nama unit: UKalkulator dan nama
project : Kalkulator.
3. Simpan pada folder Latih 10 dengan nama unit: URelasional dan nama project :
Relasional
C. TUGAS
1. Berapakah nilai C yang didapatkan dari ekspresi berikut, jika A = True, B = False
a. C = not A
b. C = A and B
c. C = A or B
d. C = A xor B
Buatlah projectnya, simpan pada folder Latih 12 dengan nama unit:
ULogika dan nama project : Logika.
A. DASAR TEORI
Sebuah bahasa pemrograman pada umumnya dilengkapi dengan syntax-syntax yang
digunakan untuk mengontrol program. Setiap bahasa pemrograman bisa saja berbeda
dalam hal syntax untuk menggunakannya, tetapi pada dasarnya hasil yang diperoleh akan
sama. Delphi mengenal beberapa kontrol program, diantaranya adalah perulangan dan
percabangan. Percabangan digunakan untuk membuat sebuah program lebih cerdas dalam
memutuskan sesuatu dengan kondisi yang sudah ditentukan. Sedangkan perulangan
digunakan untuk menulis program yang efisien. Pemrogram tidak perlu menulis
pernyataan yang sama berulang-ulang dengan menggunakan syntax perulangan ini.
4.1 Percabangan
Percabangan di Delphi dinyatakanbentuk pernyataan kondisi (conditonal statement),
dalam digunakan untuk mengeksekusi dan pernyataan yang dikandungnya ataupun tanpa
salah satu darinya, tergantung satupun dua pernyataan kondisi dasar, yaitu
beberapa pengujian. Ada pernyataan pernyataan if dan
case.
if (kondisi) then
<pernyataan1>
else
<pernyataan2>
if (kondisi1> then
if
(
k
o
n
d
i
s
i
2
)
t
h
e
n
<
p
e
r
n
y
a
t
a
a
n
1
>
else
<
p
e
r
n
y
a
t
a
a
n
2
>
else
<pernyataan3>
4.2. Perulangan
Perulangan mengizinkan program untuk mengeksekusi deret pernyataan secara berulang-
ulang, menggunakan suatu kondisi atau variabel kontrol untuk menentukan kapan
eksekusi akan berhenti. Ada tiga buah kontrol perulangan, yaitu for, while, dan repeat.
Untuk menghentikan atau mengendalikan sebuah perulangan dapat digunakan pernyataan
break dan continue. Break menghentikan pernyataan dimana ia berada, sementara
continue untuk mengabaikan pernyataan di bawahnya dan mulai iterasi berikutnya.
WHILE … DO …
• while (kondisi) do
<pernyataa
n>
Contoh
Va
r
u,k
:
int
eg
er;
Be
gin
u
:
=
0
;
:
=
0
;
w
hi
le
(k
<
1
0)
d
o
b
e
gi
n
inc(k) ;
u
:
=
+
k
;
e
n
d
;
End;
REPEAT … UNTIL ….
repeat
<
pernyat
aan>
until
(kondis
i)
Contoh
Va
r
u,k
:
int
eg
er;
Be
gin
u
:
=
0
;
:
=
0
;
r
e
p
e
a
t
inc(k) ;
u
:
=
k
;
u
n
t
i
l
>
9
;
B. LANGKAH KERJA
4.3 Program Discount
1. Buat folder Latih 14 didalam folder utama Anda.
2. Buat project dengan form seperti berikut :
k
o
m
p
o
n
e
n
c
h
e
c
k
b
o
x
3. P
engatur
an
Kompo
nen
Pengatu
ran
properti
es :
Pendeklarasian variabel
dan konstanta : Pada code
editor, dibawah tulisan
berikut var
Form1: TForm1;
Ketik tulisan
berikut :
hargatotal,
diskon :
real;
Pengaturan event :
Komponen Name Event Pengaturan
Tbutton TombolHitung OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolHitungClick pada event dan
procedure TForm1.TombolHitungClick pada code editor.
Pada procedure TForm1.TombolHitungClick, dibawah begin ketik :
hargatotal := 0;
diskon := 0;
if cbdiscount.Checked then
case rgpilihan.ItemIndex of
0: diskon := 5/100 * (strtofloat(edit1.text) +
strtofloat(edit2.Text));
1: diskon := 10/100 * (strtofloat(edit1.text) +
strtofloat(edit2.Text));
2: diskon := 15/100 * (strtofloat(edit1.text) +
strtofloat(edit2.Text));
end;
4. Simpan pada folder Latih 14 dengan nama unit: UDiscount dan nama
project : Discount.
3. Simpan pada folder Latih 15 dengan nama unit: UNilaiHuruf dan nama
project : NilaiHuruf.
k
o
m
p
o
n
e
n
l
i
s
t
b
o
x
3. Pengaturan Komponen
Pengaturan properties :
Pendeklarasian variabel
dan konstanta : Pada code
editor, dibawah tulisan
berikut var
Form1: TForm1;
Ketik
tuli
san
beri
kut
:
cou
nt :
inte
ger
;
Pengaturan event :
5. Simpan pada folder Latih 16 dengan nama unit: ULoop dan nama project : Loop
C. TUGAS
1. Buatlah project dengan form seperti berikut :
Banyak data menyatakan banyaknya data yang akan dihitung. Tombol Generate
akan membangkitkan nilai-nilai acak, menghitung total nilai dari data yang ada,
dan membuat nilai rerata yang bertipe real. Nilai data dibangkitkan secara random
bertipe integer.
Simpan pada folder Latih 17 dengan nama unit: URerata dan nama project :
Rerata
BAB V
PROCEDURE DAN FUNGSI
A. DASAR TEORI
Konsep rutin yang dapat dipanggil kembali merupakan gagasan penting yang ditekankan
dalam pemrograman, demikian juga Delphi. Sebuah rutin yang diberi nama unik dapat
diaktifkan berkali-kali dengan menggunakan namanya. Metode ini menghindari
pengulangan pernyataan yang sama yang akan membingungkan jika terjadi proses
modifikasi pada program. Rutin dengan nama unik tersebut dapat dikelompokkan dalam
dua jenis yaitu prosedur dan fungsi.
2.1. Prosedur
Prosedur adalah rutin yang melakukan operasi tertentu dan dipanggil menurut namanya
yang unik. Sebuah prosedur hanya melakukan tugas tertentu tanpa ada nilai balik yang
diterima oleh prosedur tersebut. Hal ini yang membedakan prosedur dan fungsi.
Sebuah event komponen di dalam Delphi merupakan contoh prosedur. Prosedur ini sudah
didefinisikan dan merupakan bagian dalam kelas komponen tersebut. Selain tersebut ada
prosedur yang didefinisikan sendiri. Syntax penggunaan prosedur seperti berikut ini:
Procedure namaProcedur(par1 : tipedata; par2 :
tipedata;…); {deklarasi lokal}
Beg
i
n
<
p
e
r
n
y
a
t
a
a
n
>
;
End;
Penggunaaan deklarasi lokal (nama variabel) maupun parameter bersifat pilihan. Artinya
bagian ini bisa ada maupun tidak dalam sebuah prosedur. Contoh penggunaan prosedur
untuk menampilkan pesan Hello World seperti berikut:
Procedure Halo;
Begin
ShowMessage(‘Hello World’);
End;
Prosedur dengan nama Halo tersebut dapat dipanggil dalam bagian program yang lain
dengan menggunakan namanya. Sebuah prosedur dapat dipanggil berkali-kali sesuai
dengan kebutuhan.
2.2. Fungsi
Penggunaan fungsi melengkapi adanya prosedur. Fungsi merupakan rutin yang
melakukan sebuah operasi dan dapat dipanggil sewaktu-waktu sesuai dengan namanya
dan memberikan nilai balik dari proses fungsi tersebut.
Pada fungsi ada nilai balik yang dihasilkan (return value) yang merupakan hasil dari
proses fungsi tersebut. Nilai tersebut dapat diberikan pada sebuah variabel maupun
properti sebuah objek menggunakan operator penugasan ketika fungsi tersebut dipanggil.
Syntax fungsi sebagai berikut:
Function namaFungsi(par1 : tipedata; par2 : tipedata)
: tipedata; {deklarasi lokal}
Be
g
i
n
<
p
e
r
n
y
a
t
a
a
n
>
End;
Contoh penggunaan fungsi seperti berikut:
Function LPersegiPanj(panjang,lebar : real) : real;
Begin
Result := panjang * lebar;
End;
Fungsi pada contoh tersebut digunakan untuk mencari luas persegi panjang. Pada fungsi
terdapat dua parameter (panjang dan lebar) yang merupakan operand-operand untuk
mencari luas. Hasil dari fungsi tersebut diletakkan pada Result yang merupakan nilai
balik untuk luas dari persegi panjang. Penggunaan Result sebagai tempat nilai balik di
Delphi akan membuat kode menjadi lebih mudah dibaca.
Dengan menggunakan deklarasi, penulisan kode program rutin akan lebih bebas
posisinya. Rutin dapat dipanggil dari bagian manapun dalam unit rutin tersebut.
Sedangkan penulisan tanpa deklarasi pemanggilan rutin hanya diizinkan oleh kode dalam
unit yang berada di bawah rutin tersebut.
2.4. Parameter
Parameter dalam fungsi maupun prosedur dapat dideklarasikan dalam berbagai bentuk.
Penggolongan parameter ini akan berpengaruh pada cara kerja prosedur maupun fungsi
tersebut. Untuk melewatkan parameter tersebut ada 2 cara yaitu
1. Passing By Value (pelewatan berdasarkan nilai)
Pelewatan parameter dengan cara ini merupakan bentuk default pada Delphi.
Parameter tanpa diberi nilai apapun akan berbentuk ini. Contoh:
Function DoubleByValue(X : Integer) : Integer;
Pada pelewatan berdasarkan nilai, parameter rutin akan dibentuk seperti lokal variabel,
saat rutin dipanggil terbentuk copy dari identifier asalnya. Perubahan pada parameter
copy tidak berpengaruh pada nilai asalnya. Setelah rutin selesai parameter copy ini akan
hilang.
2. Passing By Reference (pelewatan berdasarkan referensi)
Dengan cara ini pelewatan parameter didefinisikan dalam bentuk seperti contoh
.
3.
Pengatur
an
kompon
en :
Pengatur
an
propertie
s:
Komponen/Object Properties Pengaturan
TForm1 Caption Program Pengganda
Name Form1
TLabel Caption Bilangan
Name Label1
Font Size 12
TEdit Name EBilangan
Text
Font Size 12
TButton Caption &Pengganda
Name TombolPengganda
TButton Caption &Keluar
Name TombolKeluar
Pendeklarasian fungsi :
Pada code editor, dibawah
tulisan berikut var
Form1: TForm1;
Ketik tulisan berikut :
Function Pengganda(a : integer) : Integer;
Pengaturan event :
Komponen Name Event Pengaturan
Tbutton TombolPengganda OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolPenggandaClick pada event dan
procedure TForm1. TombolPenggandaClick pada code editor.
Pada procedure TForm1. TombolPenggandaClick, dibawah begin ketik :
EBilangan.Text := inttostr(Pengganda(strtoint( EBilangan.text)));
Pada code editor setelah bagian procedure TForm1. TombolPenggandaClick ketik tulisan
berikut :
Function Pengganda(a : integer) : Integer;
Begin
Result := a * 2;
End;
4. Simpan pada folder Latih 18 dengan nama unit: UPengganda dan nama
project : Pengganda
5. Jalankan program dan amati hasilnya.
6. Hapus deklarasi pada bagian interface, jalankan program, apa yang
terjadi?
7. Ubah posisi badan fungsi ke bagian awal program, jalankan program, apa
yang terjadi?
3.2. Program Faktorial
1. Buat folder Latih 19 didalam folder utama Anda.
2. Buat project dengan form seperti berikut :
Aturan program:
Input bilangan faktorial yang akan dihitung dimasukkan pada bagian
bilangan
Proses menggunakan sebuah fungsi yang menghitung nilai faktorial
Output program diletakkan pada bagian hasil
Program akan menghitung faktorial jika terjadi event click() pada button
hitung
Program akan keluar jka ada event click() pada button keluar
3. Simpan pada folder Latih 19 dengan nama unit: UFaktorial dan nama
project : Faktorial
3. Pengaturan Komponen
Pengaturan properties :
Komponen/Object Properties Pengaturan
TForm1 Caption Program Penukar Bilangan
Name Form1
TLabel Caption Bilangan 1
Name Label1
Font Size 12
TLabel Caption Bilangan 2
Name Label2
Font Size 12
TEdit Name Edit1
Text
Font Size 12
TEdit Name Edit2
Text
Font Size 12
TRadioGroup Caption Pelewatan Parameter
Name rgpilihan
Font Size 12
ItemIndex 0
Items Anda klik sehingga tampil String List Editor, kemudian ketik Berdasarkan Nilai >
Enter > Berdasarkan Referensi > OK
TButton Caption &TUKARKAN
Name TombolTukar
TButton Caption &KELUAR
Name TombolKeluar
Pengaturan event :
Komponen Name Event Pengaturan
Tbutton TombolPengganda OnClick Pada OnClick, klik 2 kali sehingga muncul tulisan TombolTukarClick pada event dan
procedure TForm1. TombolTukarClick pada code editor.
Pada procedure TForm1. TombolTukarClick, ketik :
var x,y : Integer;
begin
x := strtoint(edit1.Text);
y := strtoint(edit2.Text);
if rgpilihan.ItemIndex = 0 then
begin
TukarByValue(x,y);
end
else
begin
TukarByReference(x,y);
end;
edit1.Text := inttostr(x);
edit2.Text := inttostr(y);
end;
Pada code editor, sebelum bagian procedure TForm1. TombolTukarClick ketik tulisan
berikut :
Procedure TukarByReference(var a,b : Integer);
var temp : integer;
Begin
temp := a;
a := b;
b := temp
End;
8. Simpan pada folder Latih 20 dengan nama unit: UPTukar dan nama
project : PTukar
9. Jalankan program dan amati hasilnya.
10. Ubah posisi badan Procedure TukarByReference dan Procedure TukarByValue ke bagian setelah
procedure TForm1. TombolTukarClick, jalankan program, apa yang terjadi?
Aturan program:
Program menerima input 5
bilangan secara acak. Proses
pengurutan dilakukan
dengan menggunakan
prosedur, dengan posisi dari
paling kecil ke paling besar
(ascending).
Output program diletakkan
pada listbox dan posisi
bilangan sudah berurut.
Program akan mulai
mengurutkan jika terjadi
event click() pada button
Urutkan.
3. Simpan pada folder Latih 21 dengan nama unit: UUrut dan nama project : PUrut
IV. TUGAS
1. Jelaskan perbedaan Prosedur dengan Fungsi!
2. Apakah gunanya deklarasi prosedur dan fungsi pada bagian interface?
3. Jelaskan mengapa pada program langkah kerja 3.3, dengan pelewatan parameter
yang berdasarkan referensi program dapat bekerja dengan baik, sedangkan
pelewatan berdasarkan nilai tidak!
4. Buatlah contoh prosedur atau fungsi yang menggunakan parameter
a. pelewatan berdasarkan referensi
Beberapa komponen tambahan yang disediakan oleh Delphi dan umum terdapat di dalam
suatu aplikasi Windows antara lain:
Tool Bar
Tool Bar adalah komponen yang biasanya digunakan untuk meletakkan tombol. Tool Bar
biasanya terletak pada bagian atas form. Contoh aplikasi yang menggunakan Tool Bar
antara lain MS Word, Excel.
Image List
Komponen ini digunakan untuk menyimpan daftar gambar. Contoh untuk menyimpan
daftar gambar tombol-tombol pada Toolbar.
Progress Bar
Progress Bar biasanya digunakan untuk melihat proses yang sedang berlangsung. Contoh
pada saat pengambilan data pada database.
Status Bar
Komponen yang digunakan untuk memberikan keterangan tambahan pada form,
misalnya tanggal. Komponen ini biasanya terletak di bawah form.
Date Time Picker
Komponen untuk menampilkan kalender.
Page Control
Digunakan untuk meletakkan beberapa kelompok informasi pada satu form. Dengan Page
Control beberapa kelompok informasi dapat diletakkan dalam sebuah form tetapi secara
terpisah.
2.1. Properti
Properti pada komponen mewakili atribut yang dimiliki oleh komponen tersebut. Properti
berlaku seperti identifier variabel yang dapat dibaca maupun ditulis dengan tipe data
tertentu. Manipulasi properti dapat dilakukan pada design time maupun pada saat run
time.
Untuk memakai properti yang perlu diperhatikan adalah komponen yang memiliki
properti tersebut. Manipulasi properti selalu didahului dengan nama komponen dan
operator titik (.). Contoh
Edit1.text := ‘Hello World’
Text merupakan properti dari komponen Edit Box. Pada contoh tersebut properti text
dengan nama komponen Edit1 diberi nilai String ‘Hello World’.
2.2. Event
Event mewakili suatu kejadian. Kejadian ini bisa karena interaksi dengan pengguna
seperti saat mouse diklik (onClick), keyboard ditekan(OnKeyPress), atau saat komponen
dibuat (event OnCreate pada komponen form).
Sebuah kode program pada event merupakan suatu prosedur yang menjadi bagian dalam
komponen tersebut dan dieksekusi berdasarkan kejadian tersebut. Delphi merupakan
pemrograman Event-Driven artinya kode program Delphi dieksekusi berdasarkan suatu
kejadian. Contoh event sebagai berikut
Procedure Tform1.Button1Click(sender : Tobject)
Begin
Form1.close;
End;
Event Button1Click merupakan kejadian yang dibangkitkan jika Button1 diklik dengan
mouse kiri. Pada saat kejadian, kode program di dalam event akan dieksekusi. Kode
Form1.close berfungsi untuk menutup form, sehingga pada saat tombol mouse kiri diklik
pada tombol button1 maka program akan bereaksi dengan menutup form.
Untuk properti lainnya sesuaikan dengan kode program. Isikan event-event berikut :
procedure TfrmKomStandar.cbMerahClick(Sender:
TObject); begin
if cbMerah.Checked
then begin
lbMerah.Visible :=
true;
scbMerah.Visible :=
true;
en
d
el
se
be
gi
n
lbMerah.Visible :=
false;
scbMerah.Visible :=
false;
end;
end;
procedure TfrmKomStandar.cbHijauClick(Sender:
TObject); begin
if cbhijau.Checked
then begin
lbhijau.Visible :=
true;
scbhijau.Visible :=
true;
en
d
el
se
be
gi
n
lbhijau.Visible :=
false;
scbhijau.Visible :=
false;
end;
end;
procedure TfrmKomStandar.cbBiruClick(Sender:
TObject); begin
if cbbiru.Checked
then begin
lbbiru.Visible :=
true;
scbbiru.Visible :=
true;
e
n
d
e
l
s
e
begin
lbbiru.Visible
:= false;
scbbiru.Visibl
e := false;
end;
end;
procedure
TfrmKomStandar.scbMerahChange(Sender:
TObject); begin
panel1.Color :=
rgb(scbMerah.Position,scbHijau.Position,scbBiru.Position); end;
procedure
TfrmKomStandar.scbHijauChange(Sender:
TObject); begin
panel1.Color :=
rgb(scbMerah.Position,scbHijau.Position,scbBiru.Position); end;
procedure
TfrmKomStandar.scbBiruChange(Sender:
TObject); begin
panel1.Color :=
rgb(scbMerah.Position,scbHijau.Position,scbBiru.Position); end;
procedure
TfrmKomStandar.scbPanelChange(Sender:
TObject); begin
Panel1.Top := 24 +
scbPanel.Position;
ListBox1.Top := 24 +
scbPanel.Position; end;
procedure
TfrmKomStandar.Edit1Change(Sender:
TObject); begin
edit2.Text :=
edit1.Text; end;
procedure
TfrmKomStandar.FormCreate(Sender:
TObject); begin
cbWarna.Items.Append('Merah');
cbWarna.Items.Append('Hijau');
cbWarna.Items.Append('biru');
end;
procedure
TfrmKomStandar.Edit2Change(Sender:
TObject); begin
if edit2.Text =
'merah' then
listbox1.Color
:= clred
else if edit2.Text =
'hijau' then
listbox1.Color :=
clgreen
else if edit2.Text =
'biru' then
listbox1.Color :=
clblue;
end;
procedure
TfrmKomStandar.btnKeluarClick(Sender:
TObject); begin
frmKomStandar.Close;
end;
procedure
TfrmKomStandar.cbWarnaClick(Sender:
TObject); begin
memo1.Lines.Add(cbWarna.text);
end;
procedure
TfrmKomStandar.Button2Click(Sender: TObject);
begin
if rbPindah.Checked
then
listbox1.Items :=
Memo1.Lines
e
l
s
e
B
e
g
i
n
memo1.Clear;
listBox1.Clear;
end;
end;
procedure
TfrmKomStandar.rgAktifClick(Sender:
TObject); begin
case rgAktif.ItemIndex of
0: btnKeluar.Enabled := true;
1: btnKeluar.Enabl
ed := false; end;
end;
Page Control
Status Bar
3. Pengaturan Komponen
y Masukkan komponen berikut ke dalam form designer: 1 buah ToolBar, 1
buah Page
Control, 1 buah StatusBar dan 1 buah ImageList dan 1 buah button
y Pada komponen ImageList, klik 2 kali, Add 2 gambar ikon pada
komponen tersebut
y Pada komponen ToolBar, klik kanan, klik item new button. Ulangi lagi
hingga muncul 2 button, hubungkan properti images pada toolbar dengan
komponen Image List
y Pada Komponen PageControl, klik kanan, Klik item new page, hingga
pada komponen ada 2 page
y Pada page 1 letakkan komponen berikut: 2 buah label, 1 buah
DateTimePicker, 1 buah Edit Box dan 1 buah Button
Date Time Picker
y Pada page 2 letakkan komponen berikut: 2 buah label, 1 buah combo box,
1 buah List Box, 2 buah Button dan 1 buah Progress Bar
y Pada komponen Status Bar, Tambahkan 2 panel dengan cara klik kanan status bar
>>
Panels Editor >> klik Add New
y Buatlah event-event berikut :
procedure TfrmKomLanjut.btnBerikutClick(Sender:
TObject); begin
pgcHal.ActivePage :=
pgcHal2; end;
procedure TfrmKomLanjut.btnKembaliClick(Sender:
TObject); begin
pgcHal.ActivePage :=
pgcHal1; end;
procedure TfrmKomLanjut.btnKeluarClick(Sender:
TObject); begin
frmKomLanjut.Close;
end;
procedure TfrmKomLanjut.btnProsesClick(Sender:
TObject); var i : integer;
begin
pbProses.Position :=
pbProses.Min; cbAngka.Clear;
pbProses.Visible :=
true; for i := 1 to
pbProses.Max do Begin
cbAngka.Items.Append(inttostr(
i)); pbProses.Position := i;
End;
pbProses.Visible :=
false; end;
procedure TfrmKomLanjut.ToolButton1Click(Sender:
TObject); begin
pgcHal.ActivePage :=
pgcHal1;
sbform.Panels[1].Text := '';
sbForm.Panels[0].Text :=
'Hal1';
end;
procedure TfrmKomLanjut.ToolButton2Click(Sender:
TObject); begin
pgcHal.ActivePage :=
pgcHal2;
sbform.Panels[0].Text := '';
sbForm.Panels[1].Text :=
'Hal2';
end;
procedure TfrmKomLanjut.cbAngkaClick(Sender:
TObject); begin
lbAngka.Items.Append(cbAngka.text);
end;
procedure TfrmKomLanjut.dtpTglChange(Sender:
TObject); begin
edInpTgl.Text :=
datetostr(dtpTgl.Date); end;
4. Simpan pada folder Latih 23 dengan nama unit: UKomlanjut dan nama
project : Komlanjut
5. Jalankan program dan amati hasilnya.
IV. TUGAS
1. Jelaskan perbedaan komponen Edit Box dengan komponen Memo?
2. Jelaskan perbedaan komponen Check Box dengan komponen Radiobutton?
3. Menurut Anda, kapan sebaiknya kita menggunakan komponen ComboBox?