Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 11 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Komponen Terbilang Dengan Borland Delphi (4911)

»

Tips SQL Server: Memeriksa Permission untuk Setiap Tabel, View dan Stored Procedure (1315)

»

Mengenal Repeater, Bridge, Router dan Gateway (12399)

»

Mengamankan Mesin Linux Anda - Bagian I (2038)

»

Foxit Reader: Software PDF Reader Alternatif yang Gratis dan Cepat (3488)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Membuat Class Sederhana (Object Oriented Programming) pada Borland Delphi

Author: Ratih Kusumawati
Published: June 01, 2005
Visits: 3825 - Category:
Borland Delphi
 
     
 

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.




 Recommended articles
 

»

E-Book: Cepat Mahir ASP - Bab I Sampai Bab II (3850)

»

Tips JavaScript: Membuat Fungsi Open Window Pop-Up agar Tampil di Layar pada Posisi Center (3579)

»

Tips MySQL: Mengganti Nama Tabel pada MySQL (3194)

»

Fungsi Terbilang pada Borland Delphi (4944)

»

Uraian Singkat: Perbedaan Mailing List, News Group dengan Blog (2148)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com