ANALISIS DAN PERANCANGAN
PENGATURAN LAMPU LLULINTAS PARAMETER
Controller Manual Otomatis Interupsi Kepadatan Jalur Jalur 1 Kend/menit Jalur 2 Kend/menit Waktu Jalur Jalur 1 Detik Jalur 2 Detik Sensor Count Jalur 1 Jalur 2
Pada proses set timer secara manual, maka operator akan mengisi waktu dalam satuan detik pada jalur satu dan jalur dua, setelah lama waktu menyala untuk lampu lalulintas akan menyala sesuai dengan waktu yang sudah di masukan.
Pada proses interupsi, operator dapat memilih jalur yang akan di interupsi, maka jika jalur satu yang di interupsi maka jalur dua akan menerima nyala lampu lalulintas berwarna merah selama interupsi itu terjadi, begitu juga sebaliknya.
BAB IV
IMPLEMENTASI
Seperti yang sudah dijelaskan pada bab sebelumnya bahwa pada bab IV ini akan dijlelaskan mengenai rancangan awal dari aplikasi pengaturan lampu lalulintas berdasarkan logika fuzzy menggunakan delphi 7.0 sampai dengan pengujian simulasi.
4.1 Implementasi
Simulasi pengaturan lampu lalulintas adalah program yang digunakan untuk melakukan pengaturan lampu lalulintas berdasarkan masukan jumlah kendaraan yang lewat pada jalur satu dan jalur dua. Program ini memerlukan alat berupa miniatur perempatan jalan yang di hubungkan ke aplikasi pengaturan lampu lalulintas menggunakan port paralel untuk menjalankannya.miniatur perempatan jalan dapat di lihat di bawah ini.
Pada aplikasi ini terdapat 2 antarmuka yaitu :
4.2 Antarmuka login
Dapat kita lihat pada gambar dibawah.antarmuka pertama dari 2
antarmuka yang ada.fungsi dari antarmuka ini adalah tampilan awal dari aplikasi pengaturan lampu lalulintas.antarmuka ini akan meminta operator untuk login dengan memasukan password agar dapat mengakses program pengaturan lampu lalulintas.jika password yang dimasukan sesuai maka operator dapat mengaksesprogram pengaturan lampu lalulintas, jika password yang dimasukan tidak sesuai maka akan keluar pesan ’password anda salah, anda tidak diperkenankan mengakses sistem ini’.
Gambar 4.2 Antarmuka Login
Pada form ini terdapat dua even yaitu even run dan clear, dengan kode program seperti dibawah ini.
Kode 4.1 Form Login
if (tombolButton.click) {
if (input_password == password) {
formLogin = sembunyi; formLogin = nonaktif; buka.formControl() formControl(); }
Pada kode program diatas, jika edit.text1 di isi dengan password yang sesuai maka form simulasi akan tampil dan jika password tidak sesuai, maka akan tampil pesan” wrong password!!!!!!!!!”.
Untuk kode program berikutnya adalah untuk kembali mengisi password, jika password yang dimasukan tidak sesuai.
4.3 Antarmuka simulasi
Antarmuka simulasi adalah antarmuka yang terdiri dari tiga proses pengaturan lampu lalulintas yang dapat di lakukan oleh operator, dalam antarmuka ini ada tiga pilihan proses yang harus dipilih oleh operator.pertama, proses pengaturan lampu lalulintas secara otomatis, yang pengaturannya berdasarkan jumlah kendaraan yang lewat pada jalur satu dan jalur dua dari masukan sensor, sehingga operator tidak lagi menentukan lama waktu lampu lalulintas untuk menyala pada jalur satu dan jalur dua.pada proses ini, kepadatan jalur dan waktu jalan akan ditampilkan pada kotak parameter.peletakan sensor terdapat pada jalur satu dan jalur duayang menuju lampu lalulintas.proses kedua adalah proses pengaturan lampu lalulintas secara manual yang pengaturannya dengan menentukan lama waktu lampu lalulintas untuk menyela pada jalur satu dan jalur dua.proses ketiga adalah proses interupsi, proses yang dapat dilakukan dengan cara memilih jalur mana yang akan di interupsi.proses ini digunakan untuk
keadaan darurat atau mendesak, misalnya seperti pelayanan mobil pemadam kebakaran atau mobil ambulance.jika lebih dari satu jalur memberi interupsi, maka yang dilayani dulu adalah yang pertama menekan tombol interupsi itu.jalur yang mendapat interupsi akan menerima nyala lampu berwarna hijau dan jalur yang lainnya akan menerima nyala lampu berwarna merah sampai proses interupsi berakhir.dapat di lihat dibawah ini.
Gambar 4.3 Antarmuka Simulasi
Untuk menjalankan form diatas di butuhkan koneksi antara program dengan miniatur perempatan lampu lalulintas (alat) dengan menggunakan port paralel untuk menghubungkannya.
Kode 4.2 koneksi dengan alat if (fYellow1)
{
WarnaLampuKuningJalur1 = Kuning; fYellow1 = false;
SetPortBit(888,4); // out 1 ke address 0x378 bit ke 4 }
{
WarnaLampuKuningJalur1 = hitam; fYellow1 = true;
ClrPortBit(888,4); // out 0 ke address 0x378 bit ke 4 }
}
Prosedur di atas berfungsi untuk memanggil alamat pada port parallel (LPT1) yaitu data, control, dan status.
Kode 4.3 koneksi dengan sensor
if (buffIn & 64 == 64 && fSensor1 == false) fSensor1 = true;
else if (buffIn & 64 == 0 && fSensor1 == true) {
count1 = count1 + 1; fSensor1 = false; }
if (buffIn & 32 == 32 && fSensor2 == false) fSensor2 = true
else if (buffIn & 32 == 0 && fSensor2 == true) {
count2 = count2 + 1; fSensor2 = false;
Kode program di atas merupakan masukan dari alat ke program, jika status di AND kan dengan 40 hexadesimal sama dengan 40 hexadesimal maka s1 (sensor1) berwarna merah (aktif), jika tidak s1 berwarna putih (tidak aktif).untuk s2 (sensor2) jika status di AND kan dengan 80 hexadesimal sama dengan 00
hexadesimal, maka s2 (sensor2) berwarna merah (aktif), jika tidak s2 berwarna putih (tidakaktif).
Untuk kode program pengaturan secara otomatis terdapat kode program untuk identifikasi kepadatan jalur, identifikasi kondisi jalan, dan indikator nilai kepadatan jalur.
Kode 4.4 identifikasi kepadatan jalur satu dan jalur dua if (fLampu == false)
kepadatan1 = 60/waktu_jalur1 *count1; fuzzyfikasi(kepadatan1,persen1,kondisi1); fuzzyfikasi(kepadatan2,persen2,kondisi2); total_persen = (persen1 + persen2) / 2;
Program di atas untuk mengidentifikasi kepadatan jalur satu dan jalur dua dengan menggunakan sensor, jika h1 berwarna hijau, maka s1 berwarna merah, maka sj1 (sensor jalur1) sama dengan 1, jika sj1 sama dengan 1 berwarna putih, maka j1 (jalur1) sama dengan j1+1. begitu juga untuk kode program jalur dua. Kode 4.5 identifikasi kondisi jalan jalur satu
Program di atas untuk mengidentifikasi kondisi jalan pada jalur satu, jika man1 (counter) sama dengan 0, maka autoyellow (lampu kuning) aktif, maka man1 sama dengan man1 minus 1, h1 berwarna hijau, m2 berwarna merah, koj1 (kondisi jalur1) jalan, koj2 (kondisi jalur 2) berhenti.
Kode 4.6 identifikasi kondisi jalan jalur dua
Kode program di atas untuk mengidentifikasi kondisi jalan jalur dua, jika man2 (counter) sama dengan 0 maka autoyellow (lampu kuning) aktif, maka
man2 sama dengan man2 minus 1, h2 berwarna hijau, m1 berwarna merah, koj2 (kondisi jalur2) jalan, koj1 (kondisi jalur1) berhenti.
Kode 4.7 indikator nilai kepadatan jalur
Program di atas untuk menghitung kepadatan jalur, dengan rumus output1 = 60 string menjadi float adalah wj1 (waktu jalan1) kj1 (kondisi jalur1) sama dengan (output *j1/2), untuk mengkategorikan jumlah kendaraan apakah sangat padat, padat, cukup padat, kurang padat, tidak padat.
Kode 4.8 pengaturan secara manual pada jalur satu if (buttonOk.click)
temp_waktu1 := strtoint(editjalur1.Text);
Program di atas untuk pengaturan manual, jika man1 (counter) sama dengan 0 maka autoyellow (lampu kuning) aktif, maka man1 sama dengan man1 minus1, h1 berwarna hijau, m2 berwarna merah, koj1 (kondisi jalur1) jalan, koj2 (kondisi jalur2) berhenti.Untuk pengaturan jalur dua, maka man2 sama dengan man2 minus 2, h2 berwarna hijau, m1 berwarna merah, koj2 (kondisi jalur2) jalan, koj1 (kondisi jalur1) berhenti.
Kode 4.9 indikator lampu kuning if (fLampu == false) { timerYellow1 = nonaktif; warnaLampuKuningJalur1 = hitam; ClrPortBit(888,4); timerYellow2 = aktif; WarnaAngkaJalur2 = kuning;
nyala_lampu1(false); if (fManual == false) {
Kode program di atas untuk indicator lampu kuning, pada saat lampu hijau ke lampu merah ataupun sebaliknya maka lampu kuning akan menyala.
Kode 4.10 interupsi pada jalur satu if (buttonOk.click) { if (panelJalur1 == terpilih) { warnaLampuMerahJalur1 = merah; warnaLampuKuningJalur1 = hitam; warnaLampuHijauJalur1 = hitam; warnaLampuMerahJalur2 = hitam; warnaLampuKuningJalur2 = hitam; warnaLampuHijauJalur2 = hijau fInterupsi = false; }
Kode program di atas untuk melakukan interupsi pada jalur satu, h1 berwarna hijau, m2 berwarna merah berarti lampu hijau untuk jalur satu, lampu lalulintas jalur dua berwarna merah.untuk interupsi pada jalur dua, h2 berwarna hijau, m1 berwarna merah berarti lampu hijau untuk jalur dua, maka lampu lalulintas jalur satu berwarna merah.