• 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

 Misalkan kita ingin membuat 255 jaringan kecil dari nomor jaringan yang sudah ditentukan.  Dengan teknik ini kita bisa mengalokasikan IP address kelas B menjadi sekian

Atau Anda ingin membuat pertanyaan dengan skala likert 5-poin seperti yang biasa ditemukan pada kuesioner Skripsi atau Tesis, Anda dapat menggunakan jenis

Jika Anda tidak ingin menjawab pertanyaan utama, Anda harus mengambil opsi dengan cara mengetiknya, agar prompt yang muncul langsung berpindah ke opsi yang Anda pilih.. Misalkan

Misalkan pada Gambar 2, jika Anda ingin bepergian dari stasiun Okayama menuju stasiun Kurashiki, maka Anda harus menaiki kereta dengan line hijau (keterangan mengenai jenis

Pada Materi ini kita akan belajar bagaimana membuat Menu Program Untuk menjalankan Fungsi atau prosedur yang kita inginkan2. Misalnya kita akan membuat menu

Sama seperti saat ketika membuat detail paruh, Anda juga dapat memanfaatkan tool Dodge dan tool Burn untuk membuat bagian-bagian yang lebih detail atau menggunakan

Disini kita akan membuat sebuah profile baru, jadi kita pilih new VPN connection, lalu kita pilih New profile misalkan kita tulis VolBase, Jika kita ingin merubah kembali

Kita harus membuat pembelajaran bermakna agar semua peserta didik ingin bersekolah, termotivasi untuk belajar, dan tahu bahwa yang dipelajari sesuai bagi mereka. Anda