Membuat Unit Sendiri Dalam Pemrograman Delphi

D2 TEKNIK KOMPUTER (BSI PROGRAMMER)



Membuat Unit Sendiri Dalam Pemrograman Delphi



   Kita akan mendefinisikan dua buah variabel bertipe TDateTime yang bernama WaktuAwal dan WaktuStartProgram. Kedua variabel ini diletakkan di tempat yang berbeda sehingga punya sifat yang berbeda pula.

Unit UWaktu;

Interface 
Uses Sysutils;

Var WaktuAwal : TDateTime;

Implementation


Var WaktuStartProgram : TDateTime;


Initialization

WaktuStartProgram : = Now;

Finalization

End.


   Variabel WaktuAwal bersifat public, karena berada di bagian interface. ini berarti variabel ini bisa diakses dari unit lain asal melakukan uses ke unit ini. variabel WaktuStartProgram bersifat private dan hanya bisa digunakan oleh kode program didalam unit ini karena di defenisikan di bagian implementation.

   Dibawah kata kunci interface, kita melakukan uses ke Sysutils sehingga dalam unit ini kita bisa menggunakan defenisi yang terdapat di Sysutils. Dibagian paling bawah ada bagian initialization dan finalization. Perintah yang didefenisikan di bagian initialization akan dijalankan ketika unit di-load ke memory. Perintah di bagian finalization akan dijalankan ketika unit akan dibuang dari memory.


Mendefenisikan Function dalam unit


   Kita akan memerlukan dua function. pertama untuk menghitung selisih dari variabel WaktuAwal dengan waktu saat ini. Kedua, kita perlu menghitung selisih waktu dari variabel WaktuStartProgram dengan waktu sekarang. Nah, karena kedua function ini sangat mirip, kita akan buat function ketiga yang bernama SelisihDetik untuk menghitung waku antara dua nilai TDateTime. Nanti function pertama dan kedua hanya tinggal memanggil function SelisihDetik ini.

3 Function :
 
Function SelisihDetik(vT1, vT2:TDateTime) : Ineteger;
var vSelisih:TDateTime;
Begin
vSelisih:=vT2-vT1;
result:=Round(vSelisih*24*60*60);
End;

Function WaktuProses: Integer;
Begin
Result:=SelisihDetik(WaktuAwal, Now);
End;

Function LamaProgramHidup : Integer;
Begin
Result:=SelisihDetik(WaktuStartProgram, now);
End;

//------------------------------------------------------------//
Jadi di deklarasikan dalam unit
//------------------------------------------------------------//


Unit UWaktu;

Interface 
Uses Sysutils;

Var WaktuAwal : TDateTime;

Function WaktuProses:Integer;
Function LamaProgramHidup:Integer;

//---------------------------------------------------------------//

Membuat Program Utama

Var vAngka1 , vAngka2,
vHasil, vJawab : Integer;
vSalah : Boolean;
Begin
Randomize;
vSalah:=False;
while not vSalah begin
vAngka1 :=Random(10);
vAngka2 :=Random(10);
vHasil := vAngka1*vAngka2;
WaktuAwal:=Now;
Write(vAngka1, 'X' , vAngka2, '=');
ReadLn(vJawab);
If vJawab <> vHasil Then Begin
vSalah :=True;
WriteLn('Jawaban Salah! Lama berpikir :', WaktuProses(), 'deik');
End Else Begin
WriteLn('Jawaban Benar. Lama berpikir :', WaktuProses, 'detik');
End;
End;
WriteLn('Lama Program :', LamaProgramHidup(), 'detik');
ReadLn;
End.


   Kemudian jalankan program tersebut...!! Sekian dan Terima Kasih....???



Posting Komentar

Please Select Embedded Mode To Show The Comment System.*

Lebih baru Lebih lama