Delphi – Simulasi Lampu Lalu Lintas
Untuk Materi kali ini sungguh simple temen temen dimana kita hanya akan membuat Shape Warna yang
akan hilang dan timbul di kondisi kondisi tertentu dan diulang terus
sesuai dengan urutan urutannya yang sudah ditentukan. Hanya dengan
menggunakan beberapa Code kita sudah bisa membuat Simulasi Lampu Lalu lintas menggunakan Delphi ini, Langsung aja kita bahas nich.
- Pertama Tama Temen Temen bisa buat design Form Sebagai Berikut : cukup gunakan 3 button.
- Atur Properties Namenya Seperti Gambar di bawah ini.
Nah berikut ini adalah alur Programnya :
- Form Setting Di Sebelah kanan atas untuk mensetting detik berjalannya lampu untuk jalanan Atas, Kanan, Bawah dan Kiri.
- Jika Button Aktifkan di Klik namun belum ada isi detik berjalan makan akan ada peringatan Data Setting Belum Terisi.
- Jika Semua sudah di Masukkan dan Button Aktifkan Di Klik maka akan
berjalan sesuai dengan urutan arah jam dari Atas dulu yang boleh jalan,
kemudian ke kanan, bawah dan kiri.
- Lampu Hijau dan merah diarahkan berseberangan karena nanti yang mereka lihat adalah yang ada di seberang mereka sesuai dengan setting waktu untuk tiap ruas jalan.
- Jika button Stop Di klik makan akan berhenti, dan jika button keluar di klik akan keluar dari program
_______________________________________________________________________________
Berikut ini adalah Source Codenya :
1
2
3
4
| procedure Tform_materi16.button_informasiClick(Sender: TObject); var Form1: TForm1; kiri,bawah,atas,kanan,jatas,jkanan,jkiri,jbawah:integer; |
Pertama-tama Buat Variable Integer dulu untuk Inisialisasi Waktu perdetik.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| procedure TForm1.btnaktifClick(Sender: TObject); begin if(editsetatas.Text='') then begin application.Messagebox ('Maaf Setting Time Atas Masih ada yang kosong','Konfirmasi'); editsetatas.SetFocus; end else if(editsetbawah.Text='')then begin application.Messagebox ('Maaf Setting Time Bawah Masih ada yang kosong','Konfirmasi'); editsetbawah.SetFocus; end else if(editsetkanan.Text='')then begin application.Messagebox ('Maaf Setting Time Kanan Masih ada yang kosong','Konfirmasi'); editsetkanan.SetFocus; end else if(editsetkiri.Text='')then begin application.Messagebox ('Maaf Setting Time Kiri Masih ada yang kosong','Konfirmasi'); editsetkiri.SetFocus; end else begin kiri:=strtoint(editsetkiri.Text); kanan:=strtoint(editsetkanan.Text); atas:=strtoint(editsetatas.Text); bawah:=strtoint(editsetbawah.Text); editatas.Text:=inttostr(atas); lamp.Enabled:=true; editstatus.Text:='atas'; hijaubawah.Visible:=true; hijauatas.Visible:=false; hijaukiri.Visible:=false; hijaukanan.Visible:=false; merahbawah.Visible:=false; merahatas.Visible:=true; merahkiri.Visible:=true; merahkanan.Visible:=true; end; end; |
Prosedur Button Aktif di klik masukkan code
seperti diatas dmana setting pertama akan kita lakukan di jalanan atas
dan menjalankan fungsi timer yang akan berfungsi sebagai detik yang
menggerakkan settingan lampu lalu lintas yang sudah kita buat.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| procedure TForm1.lampTimer(Sender: TObject); begin if(editstatus.Text='atas')then begin jatas:=strtoint(editatas.Text); if(jatas<>0)then begin jatas:=jatas-1; editatas.Text:=inttostr(jatas); end else begin editstatus.Text:='kanan'; editkanan.Text:=editsetkanan.Text; jkanan:=strtoint(editkanan.Text); hijaubawah.Visible:=false; hijauatas.Visible:=false; hijaukiri.Visible:=true; hijaukanan.Visible:=false; merahbawah.Visible:=true; merahatas.Visible:=true; merahkiri.Visible:=false; merahkanan.Visible:=true; end; end else if(editstatus.Text='kanan')then begin jkanan:=strtoint(editkanan.Text); if(jkanan<>0)then begin jkanan:=jkanan-1; editkanan.Text:=inttostr(jkanan); end else begin editstatus.Text:='bawah'; editbawah.Text:=editsetbawah.Text; jkanan:=strtoint(editkanan.Text); hijaubawah.Visible:=false; hijauatas.Visible:=true; hijaukiri.Visible:=false; hijaukanan.Visible:=false; merahbawah.Visible:=true; merahatas.Visible:=false; merahkiri.Visible:=true; merahkanan.Visible:=true; end; end else if(editstatus.Text='bawah')then begin jbawah:=strtoint(editbawah.Text); if(jbawah<>0)then begin jbawah:=jbawah-1; editbawah.Text:=inttostr(jbawah); end else begin editstatus.Text:='kiri'; editkiri.Text:=editsetkiri.Text; jkiri:=strtoint(editkiri.Text); hijaubawah.Visible:=false; hijauatas.Visible:=false; hijaukiri.Visible:=false; hijaukanan.Visible:=true; merahbawah.Visible:=true; merahatas.Visible:=true; merahkiri.Visible:=true; merahkanan.Visible:=false; end; end else begin if(jkiri<>0)then begin jkiri:=jkiri-1; editkiri.Text:=inttostr(jkiri); end else begin editstatus.Text:='atas'; editatas.Text:=editsetatas.Text; jatas:=strtoint(editatas.Text); hijaubawah.Visible:=true; hijauatas.Visible:=false; hijaukiri.Visible:=false; hijaukanan.Visible:=false; merahbawah.Visible:=false; merahatas.Visible:=true; merahkiri.Visible:=true; merahkanan.Visible:=true; end; end; end; |
Jika Timer diaktifkan
maka fungsi inilah yang akan berjalan perdetiknya. dimana jika edit
setatus bertuliskan atas maka fungsi atas yang akan berjalan sesuai
dengan detik yang sudah di setting. jika detik atas sudah habis maka
otomatis memindahkan ke status kanan, dan code kanan akan berjalan
hingga detik terakhir dan begitu seterusnya sampai kembali lagi keatas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| procedure TForm1.Button1Click(Sender: TObject); begin lamp.Enabled:=false; editatas.Text:=''; editbawah.Text:=''; editkiri.Text:=''; editkanan.Text:=''; editsetatas.Text:=''; editsetbawah.Text:=''; editsetkiri.Text:=''; editsetkanan.Text:=''; editstatus.Text:=''; hijaubawah.Visible:=false; hijauatas.Visible:=false; hijaukiri.Visible:=false; hijaukanan.Visible:=false; merahbawah.Visible:=false; merahatas.Visible:=false; merahkiri.Visible:=false; merahkanan.Visible:=false; end; |
Jika Button Stop Di klik maka kita akan
mematikan fungsi timer dan mebersihkan semua fielt teks dan
menghilangkan lampu yang menyala.
1
2
3
4
| procedure TForm1.Button2Click(Sender: TObject); begin close; end; |
JIka button keluar di klik maka akan keluar dari program.
_______________________________________________________________________________
Nah Berikut ini adalah Hasil Program Saat Dijalankan \(^o^”)/ :
Nah Selesailah Materi Delphi kita di hari ini untuk membuat Simulasi Lampu Lalu Lintas dengan Delphi, Gampang Banget kan – Tentunya Dunk. klik disini
Tidak ada komentar:
Posting Komentar