• Tidak ada hasil yang ditemukan

Materi 2 Jam Digital

N/A
N/A
Protected

Academic year: 2017

Membagikan "Materi 2 Jam Digital"

Copied!
6
0
0

Teks penuh

(1)

MODUL V

APLIKASI JAM DIGITAL DAN ANALOG

A. DESAIN FORM

Dengan menggunakan komponen MainMenu, StaticText serta Timer dan PaintBox, buatlah desain form seperti dibawah ini:

Gambar 5.1. Desain Form Jam.

Susunan menu sebagai berikut :

Tampilan Set Help

Nama Komponen Propert Nilai

Form1 Caption Jam Jaman...

MainMenu1.Analog1 Caption &Analog MainMenu1.Digital1 Caption

Checked &DigitalTrue MainMenu1.Jalan1 Caption

Checked &JalanTrue MainMenu1.Berhenti1 Caption &Berhenti MainMenu1.Tentang1 Caption &Tentang StaticText1 Name

Font.Size Font.Name

lblJAM 72 Garamond

Timer1 Interval 100

PaintBox1

B. SOURCE CODE

(2)

xjam,yjam,xmen,ymen,xdet,ydet : integer; procedure JamAnalog(Sender : TObject); procedure JamDigital(Sender : TObject); procedure BingkaiJam;

Kemudian anda ketik isi prosedur tersebut dibagian implementation:

procedure TForm1.JamAnalog(Sender : TObject);

Var AmpJam,AmpMen,AmpDet,Jam,Men,Det,Det100 : word; Begin

// Gambar Jam:

SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);

SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2, PaintBox1.Height div 2, nil);

If (PaintBox1.Height<PaintBox1.Width) Then AmpDet := PaintBox1.Height div 2 -10 Else

AmpDet := PaintBox1.Width div 2 -10; // Set Panjang Jarum Jam,Menit, dan Detk AmpDet := AmpDet*3 div 2;

AmpMen := AmpDet-20; AmpJam := AmpMen-30;

DecodeTime(Time,Jam,Men,Det,Det100); // catat waktu ini With PaintBox1.Canvas DO

Begin

Pen.Color := clBtnFace;

MoveTo(0,0); LineTo(xdet,ydet); MoveTo(0,0); LineTo(xmen,ymen); MoveTo(0,0); LineTo(xjam,yjam);

xdet := Round(AmpDet*cos(DegToRad(90-det*6))); ydet := Round(AmpDet*sin(DegToRad(90-det*6))); xmen := Round(AmpMen*cos(DegToRad(90-men*6))); ymen := Round(AmpMen*sin(DegToRad(90-men*6))); xJam := Round(AmpJam*cos(DegToRad(90-jam*30))); yJam := Round(AmpJam*sin(DegToRad(90-jam*30))); // Gambar Jarum Detk:

lblJam.Capton := TIMEtoSTR(Time); End;

procedure TForm1.BingkaiJam; Var Amp,Amp1,i :integer; Begin

// Gambar Jam:

(3)

SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2, PaintBox1.Height div 2, nil);

If (PaintBox1.Height<PaintBox1.Width) Then Amp := PaintBox1.Height div 2 -10

Else

Amp := PaintBox1.Width div 2 -10; // Set Panjang Jarum Jam,Menit,Detk: Amp := Amp*3 div 2;

Amp1 := Amp - 10; For i:=0 to 60 Do Begin

If (i mod 5 )=0 Then PaintBox1.Canvas.Pen.Color := clRed Else PaintBox1.Canvas.Pen.Color := clBlack;

PaintBox1.Canvas.MoveTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi))); PaintBox1.Canvas.LineTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi))); End;

End;

Sehingga kode lengkapnya terlihat sebagai berikut:

unit Ujam;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, Math;

type

TForm1 = class(TForm) MainMenu1: TMainMenu; Tampilan1: TMenuItem; Analog1: TMenuItem; Berhenti1: TMenuItem; Tentang1: TMenuItem; Timer1: TTimer; PaintBox1: TPaintBox; lblJAM: TStaticText;

procedure Analog1Click(Sender: TObject); procedure Digital1Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Selesai1Click(Sender: TObject); procedure Jalan1Click(Sender: TObject); procedure Berhenti1Click(Sender: TObject); procedure Tentang1Click(Sender: TObject); private

{ Private declarations }

(4)

public

procedure TForm1.JamAnalog(Sender : TObject);

Var AmpJam,AmpMen,AmpDet,Jam,Men,Det,Det100 : word; Begin

// Gambar Jam:

SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);

SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2, PaintBox1.Height div 2, nil);

If (PaintBox1.Height<PaintBox1.Width) Then AmpDet := PaintBox1.Height div 2 -10 Else

AmpDet := PaintBox1.Width div 2 -10; // Set Panjang Jarum Jam,Menit, dan Detk AmpDet := AmpDet*3 div 2;

AmpMen := AmpDet-20; AmpJam := AmpMen-30;

DecodeTime(Time,Jam,Men,Det,Det100); // catat waktu ini With PaintBox1.Canvas DO

Begin

Pen.Color := clBtnFace;

MoveTo(0,0); LineTo(xdet,ydet); MoveTo(0,0); LineTo(xmen,ymen); MoveTo(0,0); LineTo(xjam,yjam);

xdet := Round(AmpDet*cos(DegToRad(90-det*6))); ydet := Round(AmpDet*sin(DegToRad(90-det*6))); xmen := Round(AmpMen*cos(DegToRad(90-men*6))); ymen := Round(AmpMen*sin(DegToRad(90-men*6))); xJam := Round(AmpJam*cos(DegToRad(90-jam*30))); yJam := Round(AmpJam*sin(DegToRad(90-jam*30))); // Gambar Jarum Detk:

lblJam.Capton := TIMEtoSTR(Time); End;

(5)

Var Amp,Amp1,i :integer; Begin

// Gambar Jam:

SetMapMode(paintbox1.Canvas.Handle, MM_LOMETRIC);

SetViewPortOrgEx(PaintBox1.Canvas.Handle, PaintBox1.Width div 2, PaintBox1.Height div 2, nil);

If (PaintBox1.Height<PaintBox1.Width) Then Amp := PaintBox1.Height div 2 -10

Else

Amp := PaintBox1.Width div 2 -10; // Set Panjang Jarum Jam,Menit,Detk: Amp := Amp*3 div 2;

Amp1 := Amp - 10; For i:=0 to 60 Do Begin

If (i mod 5 )=0 Then PaintBox1.Canvas.Pen.Color := clRed Else PaintBox1.Canvas.Pen.Color := clBlack;

PaintBox1.Canvas.MoveTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi))); PaintBox1.Canvas.LineTo(Round(Amp*cos(i/30*pi)),Round(Amp*sin(i/30*pi))); End;

End;

procedure TForm1.Analog1Click(Sender: TObject); begin

Analog1.Checked := True; Digital1.Checked := False; lbljam.visible := false; Capton := 'Jam Analog'; PaintBox1.Visible := True; Applicaton.ProcessMessages; BingkaiJam;

Timer1.OnTimer := JamAnalog;

end;

procedure TForm1.Digital1Click(Sender: TObject); begin

Digital1.Checked := True; Analog1.Checked := False; lbljam.visible := True; Capton := 'Jam Digital'; PaintBox1.Visible := False; Timer1.OnTimer := JamDigital;

end;

procedure TForm1.FormActivate(Sender: TObject); begin

Timer1.OnTimer := JamDigital;

end;

procedure TForm1.Selesai1Click(Sender: TObject); begin

Close;

(6)

procedure TForm1.Jalan1Click(Sender: TObject); begin

Jalan1.Checked := True; Berhent1.Checked := False; Timer1.Enabled := True;

end;

procedure TForm1.Berhenti1Click(Sender: TObject); begin

Jalan1.Checked := False; Berhent1.Checked := True; Timer1.Enabled := False;

end;

procedure TForm1.Tentang1Click(Sender: TObject); begin

Applicaton.MessageBox('Buatan Orang Muslim !','Jam...',64);

end;

Gambar

Gambar 5.1. Desain Form Jam.

Referensi

Dokumen terkait

Sahabat dalam menentukan harga pokok produksi dengan menggunakan metode harga pokok pesanan, pembebanan biaya bahan baku dan biaya tenaga kerja langsung didasarkan pada

Jual beli yang dilakukan antara C.V Sumber Jati dan Tiga Putra Weleri merupakan jual beli pesanan, dalam hukum Islam disebut juga dengan jual beli istishna’, dimana Tiga

Paduan Al, baja tahan karat adalah paduan logam yang mendukung komponen reaktor riset atau daya dalam bentuk tangki bertekanan, pipa, kanal pendingin, pipa /

Konsep rumah tangga pertanian adalah rumah tangga yang salah satu atau lebih anggota rumah tangganya melakukan dan bertanggungjawab dalam kegiatan pembudidayaan,

Pengertian pengadaaan tanah menurut Pasal 1 angka 3 Peraturan Presiden Nomor 36 Tahun 2005 tentang Pengadaan Tanh Bagi Pembangunan Untuk Kepentingan Umum adalah setiap kegiatan

Secara default security setting pada server LDAP memperbolehkan setiap orang melihat atau melakukan pencarian pada setiap entri yang ada di Directory LDAP, tetapi yang bisa

Untuk dalem Yudaning- ratan yang tadinya sebagai bagian dari tiga buah dalem yang memanjang dari barat ke timur, hanya mempunyai satu seketeng yang memisahkan area publik dengan

Berdasarkan pembahasan, kesimpulan penelitian adalah bahwa job insecurity berpengaruh positif dan signifikan terhadap turnover intention karyawan pada Hotel Asana