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: