• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN

3.2 Perancangan Perangkat Lunak

3.2.1 Program Pengendali Kendali Lampu Lalu Lintas . 18

3.2.1.2 Program Utama Penyalaan Lampu Lalu -

Adanya informasi dari hasil deteksi sensor ini menyebabkan lampu lalu-lintas menyala tidak sesuai dengan siklusnya pada status normal, tetapi akan menyala sesuai informasi ( perintah ) yang ada. Seperti yang ditunjukkan pada Gambar 3.5. Penyalaan lampu lalu-lintas untuk status ter-interupsi sebelumnya dilakukan pengecekan informasi interupsi terlebih dahulu. Pengecekan interupsi dilakukan secara otomatis setiap 1 detik dengan meletakkan intruksi pengecekan setelah rutin tunda 1 detik. Pengecekan ini dilakukan berurutan sesuai dengan urutan prioritas informasi. Adapun prioritas input (masukan) tersebut adalah :

1. Prioritas informasi kereta api

2. Prioritas informasi kendaraan ber-sirine 3. Prioritas informasi antrian panjang kendaraan

Setelah melakukan pengecekan dan prioritasan informasi maka program mikrokontroler akan menjalankan informasi tersebut. Pelaksanaan infromasi dilakukan langsung tanpa harus menunggu intruksi selanjutnya pada program status normal. Sebelum menjalankan informasi mikrokontroler akan menyimpan data dari penyalaan lampu lalu-lintas untuk status normal terlebih dahulu. Hal ini dilakukan agar setelah menjalankan informasi lampu lalu-lintas dapat menyala kembali dalam keadaan terakhir status normal yang telah disimpan. Penyalaan lampu lalu-lintas dilakukan berdasarkan informasi yang didapat. Pelaksanaan informasi penyalaan lampu lalu-lintas adalah sebagai berikut :

1. Pelaksanaan prioritas informasi kereta api

Seperti ditunjukkan pada Gambar 3.6. Apabila P2.0 bernilai 1 maka mikrokontroler akan menyimpan keadaan LL terakhir untuk status normal dan

kemudian mengirim data ke pin-pin lampu merah sehingga semua persimpangan lampu lalu-lintas akan menyala merah. Setelah P.2.0 bernilai 0 maka mikrokontroler akan membaca data keadaan LL terakhir yang disimpan tadi sehingga lampu lalu-lintas akan kembali menyala pada status normal. Untuk diagram alir program dapat dilihat pada Gambar 3.7a dan 3.7b.

Ada KA?

Utara merah persimpangan berfungsi tiga arah Simpan keadaan LL terakhir status normal

Ada KA?

Baca keadaan LL terakhir status normal yang disimpan dan persimpangan kembali seperti semula

Gambar 3.6 Diagram blok pengecekan informasi kereta api Start ya tidak tidak ya Ret Ret

Start

Hidupkan lampu indicator

Sensor KA1 = 1? Sensor KA2 = 1? Sensor kendaraan = 1? Hidupkan alarm

Kirim 1 ke mikro pusat

Turunkan palang

Matikan motor palang

Kereta sudah lewat?

Matikan alarm Kirim 0 ke mikro pusat

Buka palang A

Matikan motor palang B B ya ya ya ya tidak tidak tidak tidak

2. Pelaksanaan prioritas informasi kendaraan bersirine

Seperti yang ditunjukkan oleh Gambar 3.8 dan Tabel 3.4a hingga Tabel 3.4d. Apabila pada P3 terdapat masukan (informasi), maka program akan menyimpan keadaan LL terakhir pada status normal dan kemudian menyalakan lampu hijau sesuai informasi yang diterima. Misalkan informasi yang didapat berasal dari arah persimpangan utara, maka mikrokontroler mengirim data ke port lampu hijau yang ada di persimpangan utara agar menyala. Setelah kendaraan bersirine melewati persimpangan lainnya selain utara, maka mikrokontroler menghapus kembali data yang ada pada port

Sensor KA2 = 1? Sensor KA1 = 1? Sensor kendaraan = 1? Hidupkan alarm

Kirim 1 ke mikro pusat

Turunkan palang

Matikan motor palang

Kereta sudah lewat?

Matikan alarm Kirim 0 ke mikro pusat

Buka palang A

Matikan motor palang B B ya ya ya ya tidak tidak tidak tidak

lampu hijau di utara sehingga lampu mati dan lampu lalu-lintas akan menyala pada status normal kembali. Untuk diagram alir program dapat dilihat pada Gambar 3.9

Sirine sudah lewat jalur lain?

Jalur yang dilewati sirine pertama kali menyala lampu hijau Ada sirine?

Baca keadaan LL terakhir status normal yang disimpan dan persimpangan kembali seperti semula

Gambar 3.8 Diagram pengecekan informasi kendaraan sirine Start ya tidak tidak ya Ret

Simpan keadaan LL terakhir status normal

Jalur yang dilewati sirine pertama kali menyala lampu merah Ret

Start

Gambar 3.9 Diagram alir program pengecekan informasi kendaraaan bersirine Ada Sirine? Isi alamat deteksi sensor = 1? Inc alamat deteksi sensor Isi alamat deteksi sensor = 1? Jml simpang = 1? Inc alamat deteksi sensor Dec jml simpang Sensor = 0 Sensor = 1 Inc alamat deteksi sensor

Pengecekan informasi lain

Sudah simpan keadaan LL

terakhir? Simpan keadaan LL terakhir status normal

LL semua menyala merah Nyalakan LL hijau pada simpang

LL semua menyala merah Baca simpan keadaan LL terakhir

status normal Tunda waktu

Sudah menyala LL hijau pada simpang ini? Set sirine, sensor, alamat deteksi sensor, jml simpang = 4

Tabel 3.4.a Input/output prioritas informasi kendaraan sirine untuk simpang utara Simpang Sensor Lampu Keterangan

Hijau Kuning Merah Utara Mendeteksi Hidup Mati Mati

Kendaraan sirine datang ke arah utara, maka lampu utara menyala hijau.

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Hidup Mati

Kendaraan sirine telah melewati arah utara, maka lampu utara menyala kuning

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup K Kendaraan sirine telah melewati simpang lainnya setelah utara, keadaan kembali ke status normal

Timur Mendeteksi Mati Mati Hidup

Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah utara, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Mendeteksi Mati Mati Hidup

Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah utara, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup

Tabel 3.4.b Input/output prioritas informasi kendaraan sirine untuk simpang timur Simpang Sensor Lampu Keterangan

Hijau Kuning Merah Utara Tidak

mendeteksi Mati Mati Hidup

Kendaraan sirine datang ke arah timur, maka lampu timur menyala hijau.

Timur Mendeteksi Hidup Mati Mati Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Mati

Kendaraan sirine telah melewati arah timur, maka lampu timur menyala kuning

Timur Tidak

mendeteksi Mati Hidup Mati Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup

Utara Mendeteksi Mati Mati Hidup

Kendaraan sirine telah melewati simpang lainnya setelah timur, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Hidup Mati Mati Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah timur, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Mendeteksi Hidup Mati Mati

Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah timur, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Hidup Mati Mati

Tabel 3.4.c Input/output prioritas informasi kendaraan sirine untuk simpang selatan Simpang Sensor Lampu Keterangan

Hijau Kuning Merah Utara Tidak

mendeteksi Mati Mati Hidup

Kendaraan sirine datang ke arah selatan, maka lampu selatan menyala hijau.

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Mendeteksi Hidup Mati Mati

Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Mati Mati Hidup

Kendaraan sirine telah melewati arah selatan, maka lampu selatan menyala kuning.

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Hidup Mati Barat Tidak

mendeteksi Mati Mati Hidup

Utara Mendeteksi Mati Mati Hidup

Kendaraan sirine telah melewati simpang lainnya setelah selatan, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Hidup Mati Mati Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah selatan, keadaan kembali ke status normal

Timur Mendeteksi Mati Mati Hidup

Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Hidup Mati Mati Utara Tidak

mendeteksi Mati Mati Hidup Kendaraan sirine telah melewati simpang lainnya setelah selatan, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Mendeteksi Hidup Mati Mati

Tabel 3.4.d Input/output prioritas informasi kendaraan sirine untuk simpang barat Lampu

Hijau Kuning Merah Utara Tidak

mendeteksi Mati Mati Hidup

Kendaraan sirine datang ke arah barat, maka lampu barat menyala hijau.

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Mendeteksi Hidup Mati Mati Utara Tidak

mendeteksi Mati Mati Hidup

Kendaraan sirine telah melewati arah barat, maka lampu barat menyala kuning.

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Hidup Mati Utara Mendeteksi Hidup Mati Mati

Kendaraan sirine telah melewati simpang lainnya setelah barat, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Hidup Mati Mati Kendaraan sirine telah melewati simpang lainnya setelah barat, keadaan kembali ke status normal

Timur Mendeteksi Mati Mati Hidup

Selatan Tidak

mendeteksi Mati Mati Hidup Barat Tidak

mendeteksi Mati Mati Hidup Utara Tidak

mendeteksi Hidup Mati Mati Kendaraan sirine telah melewati simpang lainnya setelah barat, keadaan kembali ke status normal

Timur Tidak

mendeteksi Mati Mati Hidup Selatan Mendeteksi Mati Mati Hidup

Barat Tidak

3. Pelaksanaan prioritas informasi antrian kendaraan

Seperti yang ditunjukkan pada Gambar 3.10 dan Tabel 3.5. Apabila pada P1 terdapat masukan (infomasi), maka program akan memberi waktu tambahan untuk lampu hijau sesuai informasi yang diterima. Misalkan pada persimpangan jalan bagian selatan antrian kendaraan lebih panjang dari persimpangan lainnya maka persimpangan jalan dari arah selatan yang lebih diprioritaskan untuk menyala lampu hijau. Selain itu lampu hijau yang menyala bisa mendapatkan waktu tunda yang lebih lama dibandingkan waktu tunda dari status normal. Waktu tunda tambahan ini terjadi jika seiring dengan pendeteksian antrian kendaraan pada persimpangan tersebut. Untuk diagram alir program dapat dilihat pada gambar 3.11.

Sensor1?

Gambar 3.10 Diagram pengecekan informasi antrian kendaraan Start

ya

tidak

Ret

Tunda waktu 5 detik

Sensor2?

Sensor3? ya

ya

tidak Tunda waktu 5 detik

tidak Tunda waktu 10detik

Sensor3? ya

tidak

Tunda waktu 15 detik

Tunda waktu 20 detik

Ret Ret Ret Ret

Ada Antrian? Start Isi alamat simpang =1?

Simpan keadaan LL terakhir LL semua menyala merah Nyalakan LL hijau pada simpang

Isi alamat tambah waktu = 1?

Inc alamat tambah waktu Inc alamat simpang

Isi alamat tambah waktu = 1? Inc alamat tambah waktu

Isi alamat tambah waktu = 1? + tunda waktu 5 detik + tunda waktu 10 detik + tunda waktu 15 detik + tunda waktu 20 detik

Set antrian, alamat simpang, alamat tambah waktu

ya

Pengecekan informasi lain tidak tidak tidak tidak tidak ya ya ya ya

Gambar 3.11 Diagram alir program informasi antrian kendaraan End

Tabel 3.5 Input/output prioritas informasi antrian kendaraan

Simpang

Sensor

(ya = mendeteksi, tidak = tidak mendeteksi)

Keterangan penyalaan waktu tunda lampu hijau

1 2 3 4

Utara

Tidak Tidak Tidak Tidak 5 detik

Ya Tidak Tidak Tidak 5 detik

Ya Ya Tidak Tidak 10 detik

Ya Ya Ya Tidak 15 detik

Ya Ya Ya Ya 20 detik

Timur

Tidak Tidak Tidak Tidak 5 detik

Ya Tidak Tidak Tidak 5 detik

Ya Ya Tidak Tidak 10 detik

Ya Ya Ya Tidak 15 detik

Ya Ya Ya Ya 20 detik

Selatan

Tidak Tidak Tidak Tidak 5 detik

Ya Tidak Tidak Tidak 5 detik

Ya Ya Tidak Tidak 10 detik

Ya Ya Ya Tidak 15 detik

Ya Ya Ya Ya 20 detik

Barat

Tidak Tidak Tidak Tidak 5 detik

Ya Tidak Tidak Tidak 5 detik

Ya Ya Tidak Tidak 10 detik

Ya Ya Ya Tidak 15 detik

Ya Ya Ya Ya 20 detik

Sewaktu sedang menjalankan prioritas informasi apabila ada prioritas informasi yang lebih tinggi maka program akan menghentikan prioritas informasi yang lebih rendah dan menjalankan prioritas informasi yang lebih tinggi. Setelah menjalankan prioritas informasi program akan mengambil data penyalaan lampu status normal yang disimpan sebelum melakukan prioritas informasi tadi untuk dijalankan kembali seperti keadaan terakhir dari penyalaan lampu pada status normal tersebut.

Dokumen terkait