|
Tulisan kali ini membahas mengenai bagaimana membuat class pada
pemrograman sederhana berorientasi obyek (OOP (Object Oriented
Programming)). OOP menjadi sangat diminati karena pemrograman ini
memberikan kemudahan mengambil suatu kode untuk dijalankan pada
sejumlah program. Class merupakan wadah dari sebuah objek, di dalam
class ini terdiri dari data dan metode dimana akan selalu dapat
diakses jika dilakukan pemanggilan terhadap class tersebut. Untuk
pendeklarasian class dapat dilihat berikut ini.
type
{Class Name}=class({Base Class})
private
{untuk pendefinisian anggota Class yang tidak dapat diakses
di luar unit}
protected
{untuk pendefinisian anggota Class yang dapat diakses pada
modul atau kelas turunan}
public
{untuk mendefinisikan anggota Class yang dapat diakses dari
mana saja}
published
{untuk mendefinisikan nama property pada Class ini yang dapat
digunakan}
end;
Setelah pendeklarasian tipe dari class selanjutnya adalah membuat
metode yang berupa fungsi atau prosedur. Pemberian nilai awal pada
class dilakukan oleh Constructor dengan sintaks seperti berikut ini.
constructor
{Class Name}.create ({Parameter/Nilai Awal});
begin
{Statement}
end;
Pada kesempatan ini penulis akan memberikan contoh sederhana dari
pemrograman berorientasi obyek. Contoh program yang akan dibuat
penulis adalah program menghitung nilai luas, diagonal dan keliling
dari suatu persegi panjang. Nilai panjang dan lebar dimasukkan
melalui TEdit. Form terdiri dari 2 TEdit (Epanjang dan Elebar), 1
TButton (BtnHitung) dan 3 TLabel (LblLuas, LblKeliling,
LblDiagonal).
Contoh program untuk unit class dengan nama unit PersegiPanjang:
unit
PersegiPanjang;
interface
uses sysutils,math;
type
TPersegiPanjang=class(TObject)
private
luas:double;
diagonal:double;
keliling:double;
protected
public
constructor Create (panj:double;leb:double);
function fungsikel:double;
procedure ProcPP;
published
property luasprop:double // properti yang dibuat adalah
‘luasprop’
read luas; // yang nilainya diambil dari luas
property diagprop:double
read diagonal;
property kelprop:double
read keliling;
end;
var
panjang,lebar:double;
implementation
constructor TPersegiPanjang.create(panj:double;leb:double);
begin
panjang := panj;
lebar := leb;
ProcPP;
end;
procedure TPersegiPanjang.ProcPP;
begin
luas := panjang * lebar;
diagonal := sqrt((panjang * panjang) + (lebar * lebar));
keliling := 2 * (fungsikel);
end;
function TPersegiPanjang.fungsikel:double;
begin
fungsikel := panjang+lebar;
end;
end.
Untuk unit form dengan nama unit FormPersegiPanjang adalah
sebagai berikut.
unit
FormPersegiPanjang;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, persegipanjang;
type
TForm1 = class(TForm)
EPanjang: TEdit;
ELebar: TEdit;
LblLuas: TLabel;
LblKeliling: TLabel;
LblDiagonal: TLabel;
BtnHitung: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure BtnHitungClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Hitung: TPersegiPanjang; // pendeklarasian variabel Hitung yang
// menggunakan obyek yang berkelas TPersegiPanjang
Implementation
{$R *.dfm}
procedure TForm1.BtnHitungClick(Sender: TObject);
var p,l :double;
begin
p := strtofloat(EPanjang.Text);
l := strtofloat(Elebar.Text);
Hitung := TPersegiPanjang.Create(p,l);
//memanggil property 'luasprop'
lblluas.Caption := floattostr(hitung.luasprop);
lbldiagonal.Caption := floattostr(hitung.diagprop);
lblkeliling.Caption := floattostr(hitung.kelprop);
end;
end.
Adapun screen shot dari aplikasi ini adalah sebagai berikut.

Jika pada class Anda menginginkan membuat 2 constructor dengan
parameter yang berbeda maka anda dapat menambahkan
overload;
pada akhir pendefinisian Constructor.
Contohnya adalah sebagai berikut.
public
constructor Create (panj:double;leb:double);overload;
constructor Create (sisi:double);overload;
Demikian tulisan sederhana tentang pemahaman class pada Borland
Delphi. Semoga bermanfaat bagi Anda semuanya. Untuk kritik dan saran
dapat dikirimkan melalui e-mail ke alamat
ratih@sony-ak.com. Untuk membaca tulisan menarik lainnya silakan
menuju ke situs Sony AK Knowledge Center dengan alamat di
www.sony-ak.com. Contoh program di atas dapat Anda download pada
bagian akhir dari tulisan ini.
 |
Silakan download source code lengkap dari
project di atas |
Terimakasih.
| Send
your comments or suggestions |
|
|
|