MEMBUAT UNIT

Bagian 1 MEMBUAT UNIT

A. Objek dan Kelas

Kelas pada object pascal tidak lain adalah suatu jenis tipe data terstruktur. Kelas mendefinisikan suatu struktur yang tersiri atas field, metode dan properti

a) Field Variabel yang merupakan bagian dari kelas, mirip field pada struktur

record

b) Metode Subrutin (dapat berupa fungsi atau prosedur)

c) Properti Field yang memiliki penentu akses (berupa read dan write)

Suatu kelas dideklarasikan dengan bentuk sebagai berikut:

Type

Namakelas=class(kelasOrangtua) Daftar Anggota

TStatdasar = Class

Rata2 :real; Varians :real;

End;

B. Menambah Metode

Field-field yang berada pada suatu kelas umumnya diakses melalui metode. Meode pada objek biasanya berupa fungsi dan prosedur atau konstruktor. Konstruktor sendiri adalah metode khusu yang menciptakan dan memberi nilai

awal objek. Konstruktor diciptakan denga perintah:

Constructor Create; Constructor Create(parameter);

Latihan 1

Buatlah sebuah unit dalam program dibuat dengan cara memilih File > New > Unit. Save lah unit yang sudah dibuat dengan nama Statdasar lalu tuliskan kode berikut ini:

unit Stats;

interface type

TStats = class function KV(S:real;X:real):real;

end;

implementation implementation

KV:=S/X*100; end; end.

Setelah suatu kelas dideklarasikan, kelas dapat digunakan untuk mendeklarasikan variabel pada bagian Var contoh:

Var

hasil:TStats;

Pada contoh di atas, hasil merupakan variabel yang menunjuk ke objek yang berkelas TStatdasar. Pendeklarasian di atas tidak menciptakan objek, untuk menciptakan objek, di pergunakan perintah sebagai berikut:

Variabel:=Namakelas.NamaKonstruktur (Parameter);

Contoh

hasil:=TStats.create(rata,varians);

Latihan 2

Pada latihan berikut kita akan membuat program untuk menghitung rata-rata, varians dan kompenen variasi (KV) menggunakan OOP. Untuk itu buatlah sebuah form dengan tampilan sebagai berikut:

Kemudian atur propertiesnya sebagai berikut

Pada bagian awal program tambahkan dalam uses unit Stats.

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,StdCtrls, Stats;

Ketikan Statdasar untuk memberitahu bahwa program yang dibuat menggunakan

unit Stats

Klik dua kali pada button1 dan isikan kode sebagai berikut: procedure TForm1.Button1Click(Sender: TObject);

Var hasil:TStatdasar; rata,varians:real;

begin rata:=strtofloat(edit1.Text); varians:=strtofloat(edit2.Text); hasil:=TStats.create; edit3.Text:=floattostr(hasil.KV(rata,varians));

end; end.

C. Destruktor

Destruktor adalah metode khusu pada kelas yang berguna untuk melakukan pembebasan memori (bila objek tidak dipakai lagi). Bentuk metode ini pada

prinsipnya serupa dengan konstruktor, dengan kata destructor.

Destructor Destroy

Contoh:

Hasil.destroy;

D. Visibilitas

Setiap anggota kelas memiliki visibilitas. Visibilitas menentukan bisa tidaknya suatu anggota kelas diakses di unit lain atau dalam suatu program. Contohnya

Hasil.Rata2 :=2; Hasil.Varians :=1;

Hal diatas menunjukkan bahwa visibilitas kedua field tersebut berdifat public (dapat diakses dari mana saja). Visibilitas anggota kelas (field maupun metode ditentukan melalui salah satu diantara lima kata tercadang sebagai berikut:

a) Private Anggota kelas tidak bisa diakses di luar unit tempat anggota

dideklarasikan.

b) Protected Anggota kelas dapat diakses pada modul tempat kelas dideklarasikan serta

pada kelas turunannya.

c) Public Anggota kelas dapat diakses dari mana saja.

Latihan 3

Ubahlah kode pada Latihan 1 menjadi sebagai berikut: unit Stats;

interface type

TStats = class protected function KV(S:real;X:real):real;

end; implementation function TStats.KV(S:Real;X:Real):real; begin

KV:=S/X*100; end; end.

Apakah program masih dapat berjalan ?

E. Pewarisan

Pewarisan menunjukkan suatu kelas menurunkan karakteristik yang dimiliki ke kelas lain. Berkaitan dengan hal ini terdapat istilah kelas descendant dan kelas ancestor.

• Kelas ancestor adalah kelas yang mewariskan karakteristik ke kelas lain. • Kelas descendant adalah kelas yang mewariskan karakteristik ke kelas

lain.

Latihan 4

Tambahkanlah kode dibawah implementation pada unit stats sebagai berikut:

type TMyStats=class(TStats) //membuat klas turunan end;

F. Soal-soal

1. Buatlah sebuah fungsi pada unit Stats untuk menghitung koefisien kemiringan dengan rumus sebagai berikut:

X  −Mo

Koefisien Kemiringan =

Dengan  X =Rata-rata Mo = Modus S = Standar Deviasi

2. Buatlah sebuah kelas dengan nama TMyStat yang merupakan turunan dari kelas TStats dan memiliki fungsi menghitung rata-rata ukur dari tiga buah

bilangan sebut saja bilangan tersebut X 1 ,X 2 dan X 3 ?

3. Buatlah suatu fungsi pada TMyStat untuk menghitung rata-rata hitung dari

data pengamatan X 1 ,X 2 ,..., X n ?

4. Buatlah sebuah program dengan algoritma (Flow chart) untuk mengurutkan data dengan cara bubble sort sebagai berikut: