PENGANTAR PEMROGRAMAN
BORLAND DELPHI
Oleh :
Wahid Sugiman, Drs. MT
2019
Borland Delphi 7 adalah bahasa pemrograman yang dirancang untuk bekerja pada
lingkungan sistem operasi MS-Windows. Borland Delphi 7 menggunakan bahasa
Object Pascal yang sangat terkenal dan mendukung pemrograman berorientasi
obyek yang dikenal sebagai bahasa OOP (Object Oriented Programming).
Melalui pembahasan dalam modul ini peserta diklat belum akan menjadi ahli
pemrograman Borland Delphi 7, tetapi diharapkan mengerti dan mengetahui apa
sebenarnya metodologi dan kaidah pemrograman Borland Delphi 7, notasi yang
digunakan, konsep dan domain peubah dan konstanta, fungsi dan prosedur.
arithmatika.
1.1. Pengantar
Delphi menggunakan bahasa Object Pascal sebagai bahasa dasar. Jika Anda telah
menguasai Pascal, maka akan dengan mudah memahami pemrograman Delphi.
Walaupun begitu, Anda tidak perlu merasa khawatir seandainya Anda belum
mengenal Pascal, karena Anda juga akan dikenalkan dengan bahasa ini.
Pada bagian ini dan seterusnya akan dibahas pengantar kepada pembangunan
sistem aplikasi yang sesungguhnya, dengan memanfaatkan fasilitas yang tersedia
dalam sistem bahasa pemrograman Delphi.
Dalam pembuatan sebuah aplikasi dengan Delphi, secara umum, paling tidak akan
melibatkan sebuah komponen form (window atau jendela). Namun tentu saja
sebuah aplikasi juga bisa melibatkan banyak form. Ketika dijalankan, form akan
berupa suatu jendela. Oleh karena itu istilah form dan jendela sering kali
dipertukarkan.
Didalam sebuah form umumnya terdapat banyak komponen lain, seperti Label,
kotak Edit, kotak Combo, kotak Check, tombol Radio dan sebagainya, yang terlihat
secara visual. Namun perlu diketahui bahwa tidak semua komponen akan terlihat
secara visual (ada juga non-visual component). Komponen yang terlihat secara
visual biasa juga di sebut kontrol.
Sebuah aplikasi akan diletakkan (diwadahi) dalam sebuah project dan tentu saja
sebuah project dapat memiliki sejumlah form.
Secara default Delphi menampilkan project baru (bernama Project1.dpr) dan pada
project ini terdapat form bernama Form1, dengan unit bernama Unit1.pas.
Object
TreeView
Jendela atau Form suatu aplikasi, pada hakekatnya merupakan kumpulan dari
objek atau komponen yang dapat berupa Tombol, Label, Kotak Edit, dsb. Setiap
objek atau komponen tersebut mempunyai sejumlah karakteristik atau sifat seperti:
tinggi, lebar, dan judul. Sifat-sifat ini disebut dengan istilah Properti. Tentu saja
masing-masing komponen memiliki properti tersendiri.
Pada saat perancangan sistem (on design), properti suatu komponen dapat dilihat
dan diubah melalui Object Inspector, dengan cara mengganti “nilai” atau “data”
dari properties tersebut.
Nama Properti
Nilai Properti
Nama Events
Aksi yang
harus dilakukan
Dua tahapan pertama - dalam prakteknya - bisa saja berulang. Sebagai contoh, kita
membuat suatu tampilan form dan kemudian baru menuliskan listing kode
programnya. Namun, pada langkah selanjutnya bisa saja kita menambahkan suatu
komponen baru dan kemudian menuliskan kode programnya lagi.
Sistem aplikasi (program) yang dibangun dengan Delphi, akan memiliki ekstensi
file .exe yang oleh explorer MS Windows XP dikenal sebagai file Application. File
ini merupakan file bahasa mesin yang hanya bisa dibaca oleh Sistem Operasi
Windows XP.
File Aplikasi yang dibuat oleh Delphi 7, berasal dari beberapa file hasil perancangan
sistem (baik dibuat secara khusus oleh programmer maupun yang di-generate
secara otomatis oleh Delphi), yaitu:
1. Delphi Project (*.dpr) - hanya satu file dan akan menjadi nama file Application
(.exe);
2. Delphi Unit (*.dcu) - minimal satu file;
3. File program unit Pascal(.pas) - minimal satu file;
4. File form (*.dfm) - minimal satu file;
5. File Project Configuration (*.cfg) - hanya satu file;
6. File Option (*.dof) ) - hanya satu file;
7. File Resource Icon (*.res) - hanya satu file;
8. File Database (*.db, *.dbf, *.mdb, *.px, dsb)– minimal satu file.
Pada contoh ini, Anda tinggal mengklik Display untuk melihat informasi tentang
TApplication.Terrninate. Berikut adalah jendela yang berisi keterangan tentang
TApplication.Terminate.
Anda juga bisa meminta bantuan dengan memilih menu Help. Kemudian pilihlah
Delphi Help. Delphi akan menampilkan jendela Help:
Ketikkan kata Terminate. Anda akan melihat sejumlah daftar yang terkait dengan
Terminate. Pilihlah yang sesuai dan kemudian klik tombol Display.
Spesifikasi Program:
Nama Project : Tugas1.dpr
Nama Unit : UnitTugas1.pas
Nama Form : FormTugas1
f. Run program anda. Hasil eksekusi program, seperti gambar di bawah ini:
g. Setelah diisi kotak Nama dengan Wahid Sugiman dan kotak Perguruan Tinggi
dengan PEM Akamigas, kemudian diklik tombol View, maka akan muncul
tampilan berikut ini.
Menampilkan
Hari, Tanggal dan
Jam saat ini
Catatan: Ada cara lain untuk mengubah gambar tombol Close, misalnya
h. Menguji Program
[1]. Untuk sementara, klik tombol Save All.
[2]. Jalankan (Run atau F9) program.
[3]. Isikan angka pada kotak Panjang dan Lebar
[4]. Klik tombol Hitung Luas
[5]. Apa yang terjadi? Mengapa kotak Luas tidak berubah angkanya?
Keterangan:
if not (Key in ['0'..'9', #8, #44]) then
Key := #0; // Null
digunakan untuk memeriksa karakter yang diketik pemakai sekiranya
karakter tersebut (diwakili oleh parameter Key) tidak berupa angka (0
sampai dengan 9) atau tombol Backspace (#8) atau karakter koma (#44).
Penggantian dilakukan dengan mengubah karakter yang diketik (yang ada
pada parameter Key) dengan karakter Null (#0). Efek yang terjadi dengan
kode ini, hanya angka 0 sampai dengan 9 yang hanya bisa dimasukkan.
[6]. Setelah kode di atas Anda ketik, tentu saja listing kode di atas juga
harus berlaku bagi kotak Edit2 (kotak Lebar). Salah satu cara yang
efisien, adalah:
Klik pada kotak edit Edit2.
Aktifkan Object Inspector.
Klik pada tab Events.
Klik satu kali pada sel yang terletak di kanan OnKeyPress.
Pilih dan klik Edit1KeyPress
[7]. Sekerang uji kembali program Anda. Bagaimana hasilnya.
a. Spesifikasi
[1]. Nama Project : Operator.dpr
[2]. Nama Unit : UnitOperator.pas
[3]. Nama Form: FormOperator
b. Desain Properties
FormOperator
Label
GroupBox
Button
BitBtn
unit UnitOperator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFormOperator = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
GroupBox1: TGroupBox;
BtTambah: TButton;
BtKurang: TButton;
BtBagi: TButton;
BtKali: TButton;
GroupBox2: TGroupBox;
BtAnd: TButton;
BtOr: TButton;
BtXor: TButton;
end;
implementation
{$R *.dfm}
//
if (Messagedlg('Tutup Aplikasi ?',mtConfirmation,
[mbYes,mbNo],0)=mrYes) then
Application.Terminate;
//
end;
//
Edit1.Text :='';
Edit2.Text :='';
Edit3.Text :='';
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
Hasil := Nilai1+Nilai2;
Edit3.Text := FloatToStr(Hasil);
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
Hasil := Nilai1-Nilai2;
Edit3.Text := FloatToStr(Hasil);
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
Hasil := Nilai1/Nilai2;
Edit3.Text := FloatToStr(Hasil);
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
Hasil := Nilai1*Nilai2;
Edit3.Text := FloatToStr(Hasil);
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
if Nilai1 < Nilai2 then
Edit3.Text := 'Ya'
else
Edit3.Text := 'Tidak';
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
if Nilai1 = Nilai2 then
Edit3.Text := 'Ya'
else
Edit3.Text := 'Tidak';
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
if (Nilai1 > Nilai2) AND (Nilai1 > 5) then
Edit3.Text := 'Ya'
else
Edit3.Text := 'Tidak';
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
Nilai2 := StrToFloat(edit2.text);
if (Nilai1 > Nilai2) OR (Nilai1 > 5) then
Edit3.Text := 'Ya'
else
Edit3.Text := 'Tidak';
//
end;
//
Nilai1 := StrToFloat(Edit1.text);
end;
begin
//
Nilai1 := StrToInt(Edit1.text);
Nilai2 := StrToInt(Edit2.text);
Hasil := Nilai1 Div Nilai2;
Edit3.Text := IntToStr(Hasil);
//
end;
//
Var
Nilai1, Nilai2, Hasil : Integer;
// Variabel bersifat local, hanya bisa dikenali di procedure ini
begin
//
Nilai1 := StrToInt(Edit1.text);
Nilai2 := StrToInt(Edit2.text);
Hasil := Nilai1 Mod Nilai2;
Edit3.Text := IntToStr(Hasil);
//
end.
3.3. Tugas 4
a. Percabangan IF
Merupakan operator percabangan yang digunakan untuk menetukan pilihan
atas beberapa kondisi yang merupakan syarat terhadap pilihan yang sudah
ditentukan. Ada dua model percabangan IF, yaitu:
Bentuk Umum:
If <Kondisi> then
Hasil ;
Contoh
If Nilai > 80 then
Keterangan := ’Lulus’;
Bentuk Umum
If <Kondisi1> then
Hasil1
Else If <Kondisi2> then
Hasil2
…………
Else If <Kondisi_m> then
Hasil_m
Else
Hasil_x ; // Titik Koma berada di Statement terakhir
Contoh :
If nilai > 80 then
Grade := ‘A’
Else if nilai > 70 then
Grade := ’B’
Else
Grade := ‘C’ ;
If <kondisi1> then
If <kondisi2> then statemen1
Else if <kondisi3> then
If <kondisi4> then statemen2
Else
Statemen3; // Statement terakhir mengandung titik koma ( ; )
Contoh :
If ComboBox1.Text := ’D1′ then
If Edit3.Text := ’Training’ then
Edit4.Text:=’1500000′
Else If Edit3.Text := ’Kontrak’ Then
Edit4.Text := ’2750000′
Else
Edit4.Text := ’3500000′ ;
b. Percabangan CASE OF
Case Of adalah merupakan metode lain dari sebuah percabangan, berfungsi
sama seperti fungsi if yaitu untuk melakukan seleksi atas beberapa pilihan
dengan kondisi sebagai syarat yang harus terpenuhi. Secara fungsi Case dan If
tidak ada perbedaan tetapi untuk penulisan fungsi Case lebih mudah diterapkan
untuk pilihan atau kondisi lebih dari satu.
Case <Variabel> Of
<pilihan ke 1> : hasil1 ;
<pilihan ke 2> : hasil2 ;
<pilihan ke 3> : hasil3 ;
………………….........
Else
hasil_n ;
End;
Dalam hal ini Variabel harus bertipe Subrange atau Ordinal (urutan besaran).
Tipe seperti Real atau String tidak diperkenankan.
a. Spesifikasi Program
Ketentuan Konversi Nilai:
Nilai Akhir Ujian Nilai Huruf Bobot Nilai Kategori
100 - 85 A 4,0
Sangat Baik
84 - 78 AB 3,5
77 - 70 B 3,,0
Baik
69 - 65 BC 2,5
64 - 60 C 2,0
Cukup
59 - 55 CD 1,5
54 - 50 D 1,0 Kurang
49 - 0 E 0 Sangat Kurang
b. Design Form
RadioGroup1
ComboBox1
LabelNH
RadioGroup2
LabelBN ComboBox2
ComboBox3
LabelK RadioGroup3
d. Listing Program
//
Nilai := StrToInt(Edit1.text);
If Nilai <= 100 then
Begin
LabelNH.Font.Color := clBlue;
LabelBN.Font.Color := clBlue;
LabelK.Font.Color := clBlue;
If Nilai >= 85 Then
begin
LabelNH.Caption := 'A';
LabelBN.Caption := '4.0';
LabelK.Caption := 'Sangat Baik';
ComboBox1.ItemIndex := 0;
end;
//
Nilai := StrToInt(Edit1.text);
If Nilai <= 100 then
Begin
LabelNH.Font.Color := clBlue;
LabelBN.Font.Color := clBlue;
LabelK.Font.Color := clBlue;
Case Nilai of
0 .. 49 : begin
LabelNH.Font.Color := clRed;
LabelBN.Font.Color := clRed;
LabelK.Font.Color := clRed;
LabelNH.Caption := 'E';
LabelBN.Caption := '0';
LabelK.Caption := 'Sangat Kurang';
ComboBox1.ItemIndex := 7;
ComboBox2.ItemIndex := 7;
ComboBox3.ItemIndex := 4;
RadioGroup1.ItemIndex := 7;
RadioGroup2.ItemIndex := 7;
RadioGroup3.ItemIndex := 4;
end;
50 .. 54 : begin
LabelNH.Caption := 'D';
LabelNH.Font.Color := clRed;
LabelBN.Font.Color := clRed;
LabelK.Font.Color := clRed;
LabelBN.Caption := '1,0';
LabelNH.Caption := 'D';
LabelK.Caption := 'Kurang';
ComboBox1.ItemIndex := 6;
ComboBox2.ItemIndex := 6;
ComboBox3.ItemIndex := 3;
RadioGroup1.ItemIndex := 6;
RadioGroup2.ItemIndex := 6;
RadioGroup3.ItemIndex := 3;
end;
55 .. 59 : begin
LabelNH.Font.Color := clRed;
LabelBN.Font.Color := clRed;
LabelNH.Caption := 'CD';
LabelBN.Caption := '1,5';
end;
//
if (MessageDlg('Tutup Aplikasi ?',
mtConfirmation, [mbYes,mbNo],0)=mrYes) then
Close;
//
end;
//
if not (Key in ['0'..'9', #8]) then
begin
Key := #0;
beep;
end
else
BitBtnIf.Default := True;
//
end;
Di SMU anda tentu masih ingat akar-akar persaman kuadrat AX2 + BX + C = 0, dapat
dihitung dengan Rumus ABC, yaitu
− B + B 2 − 4 AC − B − B 2 − 4 AC
X1 = dan X 2 =
2A 2A
Jenis akar bergantung pada nilai B2 - 4AC (yang disebut diskriminan atau D) :
- Jika B2 - 4AC < 0, maka akar-akarnya imaginer
- jika B2 - 4AC > 0, maka akar-akarnya riil dan berbeda, X1 X2
- jika B2 - 4AC = 0, maka akar-akarnya riil dan kembar, X1 = X2
Buatlah program Delphi untuk membaca nilai koefisien A, B dan C kemudian menghitung
dan menampilkan akar-akar persamaan kuadrat.
• pernyataan For,
• pernyataan Repeat, dan
• pernyataan While.
• For ... To .. Do
• For ... DownTo … Do
Kalau pada For...To pencacahan dimulai dari nilai kecil menuju nilai yang
besar, pada For ... DownTo pencacahan dilakukan dari nilai yang besar menuju
ke nilai yang kecil. Oleh karena itu agar pernyataan dijalankan secara berulang
maka nilalAwal harus lebih besar daripada nilaiAkhir.
c. Latihan 1
1) Buatlah Program dengan design Form seperti di bawah ini
Memo1 Memo2
Button1 Button2
2) Spesifikasi:
Nama Form : FormForNamaSendiri
Nama Unit : UnitForNamaSendiri
Nama Project: ForNamaSendiri
public
{ Public declarations }
Awal, Akhir : Integer;
end;
6) Lakukan Run dan perhatikan hasil Eksekusi Ketika Button1 dan Button2 di
klik
Repeat
(pernyataan_1);
(pernyataan_2);
…
(Pernyataan n);
Until (ungkapan)
b. Latihan 2
1) Buatlah Program dengan design Form seperti di bawah ini
Memo1 Memo2
Button1 Button2
1) Spesifikasi:
Nama Form : FormRepeatNamaSendiri
Nama Unit : UnitRepeatNamaSendiri
Nama Project: RepeatNamaSendiri
public
{ Public declarations }
Awal, Akhir : Integer;
end;
5) Lakukan Run dan perhatikan hasil Eksekusi Ketika Button1 dan Button2 di
klik
Dalam hal ini pernyataan akan dijalankan selama ungkapan bernilai True.
b. Latihan 3
1) Buatlah Program dengan design Form seperti di bawah ini
Memo1 Memo2
Button1 Button2
2) Spesifikasi:
Nama Form : FormWhileNamaSendiri
Nama Unit : UnitWhileNamaSendiri
Nama Project: WhileNamaSendiri
public
6) Lakukan Run dan perhatikan hasil Eksekusi Ketika Button1 dan Button2
di klik
2010
ASCII stands for American Standard Code for Information Interchange. Computers can only understand numbers, so an ASCII code is the nume
representation of a character such as 'a' or '@' or an action of some sort. ASCII was developed a long time ago and now the non-printing characters ar
used for their original purpose. Below is the ASCII character table and this includes descriptions of the first 32 non-printing characters. ASCII was a
designed for use with teletypes and so the descriptions are somewhat obscure. If someone says they want your CV however in ASCII format, all thi
is they want 'plain' text with no formatting such as tabs, bold or underscoring - the raw format that any computer can understand. This is usually so
easily import the file into their own applications without issues. Notepad.exe creates ASCII text, or in MS Word you can save a file as 'text onl