laporan traffic light algoritma
DESCRIPTION
algoritam. traffic lightTRANSCRIPT
BAB I
TUJUAN
Adapun tujuan dari praktek laboratorium aplikasi pemograman computer ini adalah
sebagai berikut :
1. Mampu membuat program untuk menampilkan objek lingkaran merah, hijau dan
kuning secara bergantian.
2. Mampu mengatur waktu aktif yang berbeda pada ketiga objek tersebut.
3. Mampu membuat program untuk menampilkan angka hitungan waktu mundur.
M. ABDUL LATIF 1201033041
BAB II
TEORI DASAR
TIMER
Timer merupakan komponen pengatur waktu yang ada pada tab sytem dengan icon
gunakan komponen pengatur waktu ini untuk mencetuskan (mentrigger) satu peristiwa
(event), untuk satu waktu atau pun berulang-ulang, setelah melalui suatu interval yang
ditentukan. Hal ini dilakukan dengan menetapkan jumlah hitungan waktu (interval) pada
komponen waktu tersebut.
Tugas dari timer adalah untuk menetapkan suatu hitungan waktu yang mesti dilalui
sebelum event timer di trigger mengunakan porperti interval. Untuk menghentikan event
yang dikerjakan oleh timer adalah dengan memberikan nilai false pada properti enabled
dari komponen timer. Pengaturan interval waktu melalui program dilakukan dengan
instruksi : Timer1.Interval:= 1000 untuk interval 1 detik.
M. ABDUL LATIF 1201033041
BAB III
LANGKAH KERJA
A. Membangun aplikasi simulasi Traffic Light.
a. Buatlah sebuah form yang berisi :
i. 2 komponen button (start dan stop)
ii. 1 komponen bkclose
iii. 3 komponen shape lingkaran dengan waran merah, kuning dan hijau
iv. 1 komponen timer
b. Set property interval pada timer dengan nilai 1000 (1 detik) dan property
enabled false.
c. Double click pada button start (button1) dan lengkapi program berikut :
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
timer1.enabled:=true; // meng-aktifkan timer
Shape1.visible:=true; // merah nyala
Shape1.visible:=false; // kuning padam
Shape1.visible:=false; // hijau padam
end;
M. ABDUL LATIF 1201033041
d. Double click pada button stop (button2) dan lengkapi program berikut :
procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.enabled:=false; // me-nonaktifkan timer
end;
e. Double click pada icon timer dan lengkapi program berikut:
implementation
{$R *.DFM}
Procedure TForm1.timer1timer(sender:TObject);
Begin
If shape1.visible=true then
Begin
Shape1.visible:=false; // merah padam
Shape2.visible:=false; // kuning padam
Shape3.visible:=true; // hijau nyala
End
Else
If shape3.visible=true then
Begin
Shape1.visible:=false; // merah padam
Shape2.visible:=true; // kuning nyala
M. ABDUL LATIF 1201033041
Shape3.visible:=false; // hijau padam
End
Else
Begin
Shape1.visible:=true; // merah nyala
Shape2.visible:=false; // kuning padam
Shape3.visible:=false; // hijau padam
End;
End.
f. Jalankan program dan lakukan pengamatan, catat bagaimana jalan programnya
B. Melengkapi aplikasi dengan pengaturan interval waktu yang nyala berbeda
a. Lengkapi instruksi pada aplikasi A dengan instruksi berikut pada tempat yang
diperlukan.
Timer1.interval:=30000; // untuk interval 30 detik
b. Gunakan interval waktu dengan nilai yang lain pada penyalaan yang lainnya.
C. Melengkapi aplikasi dengan tampilan waktu hitung mundur
M. ABDUL LATIF 1201033041
a. Tambahkan sebuah timer lagi dan sebuah label pada aplikasi untuk
menampilkan angka waktu hitung mundur dengan set interval = 1000 dan
enabled = false
b. Lengkapi instruksi pada aplikasi B dengan instruksi berikut:
Implementation
{$R*.DFM}
Var
Waktu:integer;
Procedure Tform1.Timer2Timer(sender:Tobject);
Begin
Label1.caption:=waktu;
Waktu:=waktu-1;
End;
Procedure TForm1.ButtonStartClick(sender:TObject);
Begin
Timer1.enabled:=true; // meng-aktifkan timer1
M. ABDUL LATIF 1201033041
Timer2.enabled:=true; // meng-aktifkan timer2
Shape1.visible:=true; // merah nyala
Shape2.visible:=false; // kuning padam
Shape3.visible:=false; // hijau padam
End
Procedure TForm1.Timer1Timer(Sender:TObject);
Begin
If shape1.visible=true then
Begin
Shape1.visible:=false; // merah padam
Shape2.visible:=false; // kuning padam
Shape3.visible:=true; // hijau nyala
Waktu:=40; // hitung mundur mulai 40
Timer1.interval:=40000
End
Else
If shape3.visible=true then
M. ABDUL LATIF 1201033041
Begin
Shape1.visible:=false; // merah padam
Shape2.visible:=true; // kuning nyala
Shape3.visible:=false; // hijau padam
Waktu:=5; // hitung mundur mulai 5
Timer1.interval:=5000;
End
Else
Begin
Shape1.visible:=true; // merah nyala
Shape2.visible:=false; // kuning padam
Shape3.visible:=false; // hijau padam
Waktu:=20; // hitung mundur mulai 20
Timer1.interval:=20000;
End;
End.
M. ABDUL LATIF 1201033041
c. Ganti masing-masing interval waktu dengan nilai yang lain. Jalankan program.
Buatkan tabel pengamatan dan catat hasilnya
BAB IV
ANALISA
M. ABDUL LATIF 1201033041
Pada kali ini praktikan mempraktekkan tentang pemograman “TRAFFIC LIGHT”.
Pertama sekali langkah yang praktikan lakukan adalah dengan membuat rancangan
gambar pada DELPHI 3 seperti gambar berikut :
Langkah selanjutnya adalah mengisikan programnya. Programnya sedikit berbeda
dengan yang ada di langkah kerja, dikarenakan pada langkah kerja hanya mengontrol 1
buah traffic light sedangkan pada saat praktek dengan 2 buah traffic light.
Pada timer, kita membuat simulasinya dengan menggunakan 2 buah komponen
timer. Untuk menggatur interval waktu terdapat pada properties timer dengan menset
waktu 1000 ms atau 1 detik. Pada Kondisi FALSE.
List programnya adalah sebagai berikut :
Unit Unit 1;
Interface
M. ABDUL LATIF 1201033041
Uses
Windows, Message, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls;
Type
TForm1 = class (TForm)
Panel1: TPanel ;
Panel2: TPanel ;
Panel3 TPanel ;
Panel4: TPanel ;
Panel5: TPanel ;
Merah1: TShape;
Kuning1: TShape;
Hijau1: TShape;
Merah2: TShape;
Kuning2: TShape;
Hijau2: TShape;
M. ABDUL LATIF 1201033041
Button1: TButton;
Button2: TButton
BitBtn1 : TBitBtn;
Label1: TLabel;
Timer1: TTimer;
Procedure Button1Click (sender: TObject);
Procedure Button2Click (sender: TObject);
Procedure Timer1Timer (sender: TObject);
Procedure FormActivate (sender: TObject);
Private
{private declarations}
Public
{Public declaration}
Procedure matisemua;
M. ABDUL LATIF 1201033041
End;
Var
Form1: TForm1;
Implementation
{$R *.dfm}
Procedure TForm1.matisemua;
Begin
Merah1.visible:=false;
Merah2.visible:=false;
Hijau1.visible:=false;
Hijau2..visible:=false;
Kuning1.visible:=false;
Kuning2.visible:=false;
M. ABDUL LATIF 1201033041
End;
Var simpang : byte;
Procedure TForm1.Button1Click(Sender TObject);
Begin
Timer1.Enabled:=true;
End;
Procedure TForm1.Button2Click(Sender TObject);
Begin
Timer1.Enabled:=false;
End;
Procedure TForm1.Timer1Timer(Sender TObject);
Begin
If simpang= 1 then //merah pada simpang 1,
M. ABDUL LATIF 1201033041
Begin
If hijau2.visible= true then
Begin
Matisemua;
Merah1.visible:=True;
Kuning1.visible:=True;
End,
Else
If kuning2.visible:=True then
Begin
Matisemua;
Hijau1.visible:=True;
Merah2.visible:=True;
Simpang := 2
End;
End //simpang=1
M. ABDUL LATIF 1201033041
Else
If simpang = 2 then //merah pada simpang 2,
Begin
If hijau1.visible= true then
Begin
Mati semua;
Merah2.visible:=True;
Kuning1.visible:=True;
End,
Else
If kuning1.visible:=True then
Begin
Matisemua;
Hijau2.visible:=True;
Merah1.visible:=True;
Simpang := 1;
M. ABDUL LATIF 1201033041
End;
End;
End;
Procedure TForm1.FormActivate (Sender: TObject);
Begin
Simpang:= 1;
End;
End.
Maka pada saat di RUNNING, hasilnya adalah sebagai berikut :
M. ABDUL LATIF 1201033041
M. ABDUL LATIF 1201033041
M. ABDUL LATIF 1201033041
BAB V
Tabel Program
No Lampu Waktu
1. Merah 1 detik
2. Kuning 1 detik
3. hijau 1 detik
M. ABDUL LATIF 1201033041
BAB VI
KESIMPULAN
Setelah melakukan pratikum, praktikan dapat menarik kesimpulan :
1. Timer digunakan untuk mengatur waktu yang kita butuhkan, dapat disesuaikan dengan
kebutuhan.
2. Timer merupakan komponen pengatur waktu yang ada pada tab sytem dengan icon
gunakan komponen pengatur waktu ini untuk mencetuskan (mentrigger) satu
peristiwa.
M. ABDUL LATIF 1201033041