Delphi juga menggunakan konsep yang berorientasi objek ( OOP ) , maksudnya pemrograman dengan membantu sebuah aplikasi yang mendekati keadaan dunia yang sesungguhnya . Hal itu bisa dilakukan dengan cara mendesign objek untuk menyelesaikan masalah . OOP ini memiliki beberapa unsur yaitu ; Encapsulation ( pemodelan ) , Inheritance ( Penurunan ) , Polymorphism ( Polimorfisme ) .
Awalnya bahasa pemrograman delphi hanya dapat digunakan di Microsoft Windows, namun saat ini telah dikembangkan sehingga dapat digunakan juga di Linux dan di Microsoft .NET . Dengan menggunakan free pascal yang merupakan proyek OpenSource, bahasa pemrograman ini dapat membuat program di sistem operasi Mac OS X dan Windows CE .
Umumnya delphi hanya digunakan untuk pengembangan aplikasi dekstop, enterprise berbasis database dan program - program kecil . Namun karena pengembangan delphi yang semakin pesat dan bersifat general purpose bahasa pemrograman ini mampu digunakan untuk berbagai jenis pengembangan software . Dan Delphi juga disebut sebagai pelopor perkembangan RadTool ( Rapid Apllication Development ) tahun 1995 . Sehinnga banyak orang yang mulai mengenal dan menyukai bahasa pemrograman yang bersifat VCL ( Visual Component Library ) ini .
sumber
http://belajar-pemrograman2.blogspot.com/2010/08/pengertian-delphi.html
Delphi – Simulasi Lampu Lalu Lintas
 Assalamualaikum Temen Temen Semua, Salam Senyum Di Pagi hari ini /(^o^”) udah lama banget gak update di catatanku yang satu ini #ya ampunnnnn.
Assalamualaikum Temen Temen Semua, Salam Senyum Di Pagi hari ini /(^o^”) udah lama banget gak update di catatanku yang satu ini #ya ampunnnnn.
Nah Kesempatan Di Pagi Hari ini saya kembali berbagi Materi Delphi nich, ada temen Delphier yang request untuk membuat satu aplikasi Simulasi Lampu Lalu lintas nich *hehehehe namanya juga saya masih belajar jadi sekalian memperlancar materi yang saya buatkan. Judul Hari ini ialah kita akan membuat Simulasi Lampu Lalu Lintas pada program Delphi yang berguna sebagai Simulaasi Cara Kerja Lampu Lalu lintas r. Hmmm Sulit Dijelaskan dalam bentuk kata kata, Lah Monggo Langsung Simak saja Ya Temen Temen.

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);beginif(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;  endelse 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;  endelse 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;  endelse  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^”)/ :

Isikan Setting Detik untuk Tiap Ruas Jalan, jika masih kosong ada konfirmasi saat button aktif di klik

Saat
 Diaktifkan, Awal berjalan dari Jalan Atas dimana ia akan melihat lampu 
di seberang jalannya yang saling berserbrangan, jalan arus searah jarum 
jam saat detik sudah mencapat nilai 0 akan berpindah.
Nah Selesailah Materi Delphi kita di hari ini untuk membuat Simulasi Lampu Lalu Lintas dengan Delphi, Gampang Banget kan – Tentunya Dunk. Untuk Temen Temen yang mau download source aplikasinya langsung monggo di cek di link dibawah ini ya :
Nah Tetep Simak terus Catatan Eko Personal Blog ya Temen Temen Semua, Kita akan kembali dengan materi materi pembelajaran selanjutnya yang gak kalah menarik d(^o^). Sampai Jumpa Di Hari Esok Temen Temen Semua, Salam Semangat untuk Pagi Hari ini.
Thanks & Regards
Eko
_______________________________________________________________________________
Simak Juga Materi Materi Menarik Lainnya nich d(^o^)  :
sumber



0 komentar:
Post a Comment