150
TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN DENGAN ALGORITMA FUZZY LOGIC Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma REGINA CHELINIA ERIANDA PUTRI NIM: 145114006 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2018 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

  • Upload
    phamnga

  • View
    259

  • Download
    4

Embed Size (px)

Citation preview

Page 1: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

TUGAS AKHIR

REKAYASA PENGATURAN NYALA LAMPU LALU

LINTAS BERDASARKAN JUMLAH KENDARAAN

DENGAN ALGORITMA FUZZY LOGIC

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Fakultas Sains dan Teknologi Universitas Sanata Dharma

REGINA CHELINIA ERIANDA PUTRI

NIM: 145114006

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2018

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

ii

FINAL PROJECT

ENGINEERING SETTING ON TRAFFIC LIGHTS

BASED ON NUMBER OF VEHICLES WITH FUZZY

LOGIC ALGORITHM

In a partial fulfillment of the requirement

For the degree of Sarjana Teknik

Department of Electrical Engineering

Faculty of Science and Technology Sanata Dharma University

REGINA CHELINIA ERIANDA PUTRI

NIM: 145114006

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2018

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

“YOU‟LL NEVER LEARN,

IF YOU DON‟T MAKE MISTAKES”

-Anonim-

Skripsi ini kupersembahkan kepada,

Tuhan Yesus Kristus dan Bunda Maria

Orang tua dan Kakak-kakaku

Sahabat dan Teman-teman Seperjuangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

viii

INTISARI

Pada persimpangan jalan sering terjadi antrian kendaraan yang tidak merata ditiap

cabang, namun lama lampu lalu lintas pada semua cabang memiliki lama lampu hijau yang

tetap (tidak adaptif). Jika kondisi ini tidak diatasi maka dapat menimbulkan kemacetan

dipersimpangan.

Menanggulangi hal tersebut dibuat prototype sistem yang mengatur lama dari nyala

lampu hijau berdasarkan jumlah kendaraan. Kendaraan masuk dan keluar dari daerah

pengamatan akan dideteksi oleh sensor inframerah. Jumlah kendaraan yang diterima Slave

tiap cabang akan dikirim dengan komunikasi serial I2C ke Master. Pada mikrokontroler

master jumlah ditiap cabang akan diolah menjadi lama lampu hijau dengan bantuan

algoritma fuzzy logic. Perhitungan algoritma Fuzzy Logic diawali dengan tahap fuzzifikasi

yakni jumlah kendaraan dikelompokan dalam suatu kategori berdasarkan derajat

keanggotaan, pada penelitian ini menggunakan 4 kategori yaitu Sedikit, Sedang1, Sedang 2

dan Banyak. Selanjutnya diarahkan ke tahap defuzzifikasi dengan bantuan basis aturan.

Pada tahap deffuzifikasi terdapat 4 kategori yakni Cepat, Agak_Lama1, Agak_Lama2 dan

Lama yang merupakan kategori lama lampu hijau. Pada tahap defuzifikasi ini akan

menghasilkan lama lampu hijau menyala. Lama lampu hijau akan ditunjukan oleh aktuator

berupa lampu pilot 12V, yang akan menyala sesuai dengan lama lampu hijau dari proses

algoritma Fuzzy.

Hasil dari penelitian ini menunjukkan bahwa algoritma Fuzzy Logic dapat mengatur

lama lampu hijau pada tiap cabang sesuai dengan banyaknya kendaraan. Jika suatu cabang

memiliki jumlah kendaraan lebih banyak dibandingkan cabang lainnya maka lama waktu

dari lampu hijau pada cabang tersebut akan lebih lama dibanding cabang lainnya.

Persentase error pengujian dengan perhitungan teoritis adalah 0.05% dan persentase

keberhasilan alat adalah 99.95%.

Kata kunci: Fuzzy logic, mikrokontroler AVR, Pengaturan Lampu Lalu Lintas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

ix

ABSTRACT

At road intersections there is often a queue of vehicles that is not evenly

distributed in each branch, but for a long time the traffic lights on all branches have a fixed

green light (not adaptive). If this condition is not overcome, it can cause congestion at an

intersection.

Overcoming this was made a system prototype that regulates the duration of the

green light based on the number of vehicles. Vehicles entering and exiting the observation

area will be detected by an infrared sensor. The number of vehicles received by each

branch Slave will be sent with I2C serial communication to the Master. In the master

microcontroller the number of each branch will be processed into a long green light with

the help of fuzzy logic algorithms. The calculation of Fuzzy Logic algorithm begins with

the fuzzification stage, namely the number of vehicles grouped in a category based on the

degree of membership, in this study using 4 categories, namely Sedikit, Sedang1, Sedang 2

and Banyak. Then directed to the defuzzification stage with the help of a rule base. In the

deffuzification stage there are 4 categories, Cepat, Agak_Lama1, Agak_Lama2 and Lama,

which is the old category of green light. In the defuzification stage this will produce a long

green light. The duration of the green light will be shown by the actuator in the form of a

12V pilot lamp, which will light up according to the long green light from the Fuzzy

algorithm process.

The results of this final project indicate that the Fuzzy Logic algorithm can set the

length of the green light at each branch according to the number of vehicles. If a branch has

more vehicles than other branches, the length of time from the green light on the branch

will be longer than the other branches. The percentage of error testing with theoretical

calculations is 0.05% and the percentage of success of the tool is 99.95%.

Key Words: Fuzzy logic, mikrokontroler AVR, Pengaturan Lampu Lalu Lintas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xi

DAFTAR ISI

TUGAS AKHIR .................................................................................................................... i

FINAL PROJECT ............................................................................................................... ii

LEMBAR PERSETUJUAN............................................................................................... iii

LEMBAR PENGESAHAN ................................................................................................ iv

PERNYATAAN KEASLIAN KARYA .............................................................................. v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ................................................. vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI.......................................... vii

INTISARI .......................................................................................................................... viii

ABSTRACT ........................................................................................................................ ix

KATA PENGANTAR ......................................................................................................... x

DAFTAR ISI ....................................................................................................................... xi

DAFTAR GAMBAR ........................................................................................................ xvi

DAFTAR TABEL ............................................................................................................. xix

BAB I PENDAHULUAN ................................................................................................... 1

1.1. Latar Belakang ........................................................................................................ 1

1.2. Tujuan dan Manfaat ................................................................................................ 2

1.3. Batasan Masalah ..................................................................................................... 2

1.4. Metodologi Penelitian ............................................................................................. 2

BAB II DASAR TEORI ..................................................................................................... 4

2.1. LED Inframerah ...................................................................................................... 4

2.2. Photodioda .............................................................................................................. 5

2.3. Transistor [3] ........................................................................................................... 7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xii

2.4. LCD (Liquid Chrystal Display) .............................................................................. 8

2.4.1. Material LCD ................................................................................................... 9

2.4.2. Pengendali LCD .............................................................................................. 9

2.5. Komparator LM339 .............................................................................................. 10

2.6. Relay ..................................................................................................................... 11

2.7. Mikrokontroler ATmega32 [7] ............................................................................. 12

2.7.1. Arsiektur AVR ATmega32 ............................................................................ 12

2.7.2. Konfigurasi Pin Mikrokontroler ATmega32 ................................................. 12

2.7.3. Organisasi Memori AVR ATmega32 ............................................................ 13

2.7.3.1. Memori Program .................................................................................... 13

2.7.3.2. Memori Data .......................................................................................... 13

2.7.4. Timer / Counter ............................................................................................. 14

2.7.5. Timer/Counter Control Register 0 ................................................................. 14

2.7.6. Timer/Counter 1 ............................................................................................ 15

2.7.7. Register TIMSK (Timer/Counter Interrupt Mask Register) .......................... 15

2.7.8. Register TIFR ................................................................................................ 16

2.7.9. Komunikasi I2C [8] ....................................................................................... 16

2.8. Mikrokontroler Atmega 8 ..................................................................................... 18

2.8.1. Arsitektur ATmega8 [9] ................................................................................ 18

2.8.2. Konfigurasi Pin Mikrokontroler ATmega 8 .................................................. 18

2.8.3. Organisasi Memori AVR ATmega8 .............................................................. 20

2.8.4. Interrupt ......................................................................................................... 21

2.8.4.1. MCUCR (MCU Control Register) ......................................................... 21

2.8.4.2. Register GICR ........................................................................................ 22

2.9. Fuzzy Logic ........................................................................................................... 22

2.9.1. Perbedaan Logika Fuzzy dan Logika Tegas .................................................. 22

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xiii

2.9.2. Himpunan ...................................................................................................... 23

2.9.3. Dasar Logika Fuzzy ....................................................................................... 23

2.9.3.1. Fungsi Keanggotaan ............................................................................... 23

2.9.4. Cara Kerja Logika Fuzzy ............................................................................... 26

2.9.4.1. Fuzzifikasi .............................................................................................. 26

2.9.4.2. Aturan Dasar Logika Fuzzy ................................................................... 26

2.9.4.3. Mesin Penalaran Kontrol Logika Fuzzy (Inference Engine) ................. 26

2.9.4.4. Defuzzifikasi .......................................................................................... 27

BAB III PERANCANGAN .............................................................................................. 29

3.1. Proses Kerja Sistem .............................................................................................. 29

3.2. Perancangan Prototype ......................................................................................... 31

3.3. Perancangan Perangkat Keras ............................................................................... 33

3.3.1. Minimum System pada ATmega32 ............................................................... 33

3.3.2. Rangkaian pada Mikrokontroler .................................................................... 34

3.3.2.1. Rangkaian pada Master .......................................................................... 34

3.3.2.2. Rangkaian ATmega8 pada Slave A,B,C ................................................ 35

3.3.3. Rangkaian LCD ............................................................................................. 36

3.3.3.1. Rangkaian LCD pada Master ................................................................. 36

3.3.3.2. Rangkaian LCD pada Slave .................................................................... 37

3.3.4. Rangkaian Komparator .................................................................................. 38

3.3.5. Rangkaian Sensor Infra merah ...................................................................... 39

3.3.6. Rangkaian Relay ............................................................................................ 40

3.4. Perancangan Perangkat Lunak .............................................................................. 41

3.4.1. Diagram Alir Utama ...................................................................................... 41

3.4.2. Diagram Alir Anak Cabang ........................................................................... 45

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xiv

3.4.3. Diagram Alir Sub Rutin Pengiriman Data dari Slave .................................... 46

3.4.4. Diagram Alir Sub Rutin Fuzzy Logic ............................................................ 47

3.5. Alogaritma Fuzzy Logic ........................................................................................ 48

3.5.1 Framework Input dan Output ........................................................................ 48

3.5.1.1. Framework Input X ................................................................................ 48

3.5.1.2. Framework Output I ............................................................................... 48

3.5.2. Kondisi Rule .................................................................................................. 49

3.5.3. Alogaritma Fuzzy Logic pada Mikrokontroler Master .................................. 50

3.5.3.1. Fuzzifikasi .............................................................................................. 50

3.5.3.2. Basis Aturan ........................................................................................... 51

3.5.3.3. Proses Defuzzifikasi ............................................................................... 51

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN ............................................. 53

4.1. Bentuk Fisik Alat .................................................................................................. 53

4.2. Sistem Kerja Alat .................................................................................................. 55

4.3. Rangkaian Keseluruhan Sistem ............................................................................ 57

4.3.1. Rangkaian Master .......................................................................................... 57

4.3.2. Rangkaian Slave ............................................................................................ 58

4.3.3. Perubahan Perancangan ................................................................................. 59

4.4. Analisis Algoritma Fuzzy Logic............................................................................ 59

4.4.1. Perhitungan Fuzzifikasi ................................................................................. 59

4.4.2. Pemilihan Basis Aturan ................................................................................. 60

4.4.3. Perhitungan Defuzzifikasi ............................................................................. 61

4.5. Hasil Data Pengujian dan Pembahasan ................................................................. 62

4.5.1. Pengujian Hardware ..................................................................................... 62

4.5.1.1. Pengujian Sensor Inframerah dan Komparator ...................................... 62

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xv

4.5.1.2. Pengujian Hardware dan Software ........................................................ 63

4.6. Analisa dan Pembahasan Perangkat Lunak .......................................................... 71

4.6.1. Aplikasi CodeVision AVR pada Slave .......................................................... 71

4.6.1.1. Sensor Pendeteksi Kendaraan ................................................................ 71

4.6.1.2. Pengendali Komunikasi I2C................................................................... 74

4.6.2. Aplikasi CodeVision AVR pada Master ....................................................... 75

4.6.2.1. Penerimaan Data I2C ............................................................................. 76

4.6.2.2. Subrutin Nyala Lampu Awal .................................................................. 78

4.6.2.3. Subrutin Proses Algoritma Fuzzy ........................................................... 79

4.6.2.3.1. Fuzzifikasi ........................................................................................... 80

4.6.2.3.2. Basis Aturan (Rule) ............................................................................. 83

4.6.2.3.3. Defuzzifikasi ........................................................................................ 84

4.6.2.4. Subrutin Nyala Adaptif .......................................................................... 85

4.6.2.5. Program Utama ...................................................................................... 87

BAB V KESIMPULAN DAN SARAN............................................................................. 88

5.1. Kesimpulan ........................................................................................................... 88

5.2. Saran ..................................................................................................................... 88

DAFTAR PUSTAKA ........................................................................................................ 89

LAMPIRAN ..................................................................................................................... L-1

Lampiran 1 Listing Program Slave A ............................................................................ L-2

Lampiran 2 Listing Program Slave B ............................................................................ L-5

Lampiran 3 Listing Program Slave C ............................................................................ L-8

Lampiran 4 Listing Program Master ........................................................................... L-11

Lampiran 5 Perhitungan Teoritis Algoritma Fuzzy Logic ......................................... L-40

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xvi

DAFTAR GAMBAR

Gambar 2.1 LED Infra merah ................................................................................................ 4

Gambar 2.2 Rangkaian Transmitter ....................................................................................... 5

Gambar 2.3 Penampang Photodioda LED ............................................................................. 5

Gambar 2.4 Prinsip Kerja Photodioda ................................................................................... 6

Gambar 2.5 Operasi reverse-bias menggunakan simbol standar ........................................... 6

Gambar 2.6. (a) Struktur PNP Transistor (b) Simbol PNP Transistor .................................. 7

Gambar 2.7. (a) Struktur NPN Transistor (b) Simbol NPN Transistor ................................. 7

Gambar 2.8. Contoh rangkaian transistor sederhana ............................................................. 8

Gambar 2.9. Kaki-kaki Pada LCD....................................................................................... 10

Gambar 2.10 Komparator LM339 ....................................................................................... 10

Gambar 2.11 Jenis Relay berdasarkan Pole dan Throw ...................................................... 11

Gambar 2.12. Konfigurasi Pin ATmega32 .......................................................................... 12

Gambar 2.13 Register TCCR0 ............................................................................................. 14

Gambar 2.14 Register TCCR1B ......................................................................................... 15

Gambar 2.15 Register TIMSK............................................................................................. 15

Gambar 2.16 Register TIFR ................................................................................................ 16

Gambar 2.17 Ilustrasi I2C ................................................................................................... 16

Gambar 2.18 Kondisi sinyal start dan stop .......................................................................... 17

Gambar 2.19 Sinyal ACK dan NACK................................................................................. 17

Gambar 2.20 Transfer Bit pada I2C bus .............................................................................. 17

Gambar 2.21 Konfigurasi Pin ATmega8 ............................................................................. 18

Gambar 2.22 Register MCU Control ................................................................................... 22

Gambar 2.23 Register GICR ............................................................................................... 22

Gambar 2.24 Perbedaan (a) logika Tegas dan (b) logika Fuzzy ........................................ 23

Gambar 2.25 Representasi Linear Naik ............................................................................... 24

Gambar 2.26 Representasi Linear Turun ............................................................................. 24

Gambar 2.27 Representasi Kurva Segitiga .......................................................................... 25

Gambar 2.28. Representasi Kurva Trapesium ..................................................................... 25

Gambar 3.1 Detail Blok Diagram ........................................................................................ 30

Gambar 3.2. Skema 2D secara keseluruhan ........................................................................ 31

Gambar 3.3. Rancangan prototype (3D). (a) prototype tampak dari atas persimpangan. ... 32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xvii

Gambar 3.4. (a) sensor kendaraan keluar. (b) sensor kendaraan yang masuk ..................... 32

Gambar 3.5 Contoh penampil Jumlah kendaraan pada Sisi C ............................................ 33

Gambar 3.6. Rangkaian Osilator ......................................................................................... 34

Gambar 3.7. Rangkaian Reset ............................................................................................. 34

Gambar 3.8 Penggunaan port pada ATMEGA32 sebagai Master ...................................... 35

Gambar 3.9 ATmega8 pada Slave ....................................................................................... 36

Gambar 3.10 Skematik LCD 20x4 ...................................................................................... 37

Gambar 3.11 Tampilan LCD pada Master .......................................................................... 37

Gambar 3.12 Rangkaian LCD pada Slave ........................................................................... 38

Gambar 3.13 Tampilan LCD pada Slave ............................................................................. 38

Gambar 3.14 Rangkaian Komparator .................................................................................. 39

Gambar 3.15. Relay Pengaktif Lampu 12VDC ................................................................... 40

Gambar 3.16 Diagram Alir Utama ...................................................................................... 42

Gambar 3.17 Flowchart Mode Nyala Lampu Awal ............................................................ 43

Gambar 3.18. Diagram Alir Anak Cabang X ...................................................................... 45

Gambar 3.19 Diagram Pengiriman Data dari Slave ............................................................ 46

Gambar 3.20 Diagram Alir Sub Rutin Fuzzy Logic ............................................................ 47

Gambar 3.21 Framework Input dan Output ....................................................................... 48

Gambar 3.22 Framework Input X ....................................................................................... 48

Gambar 3.23 Framework Output X ..................................................................................... 49

Gambar 4.1 (a) Prototype Tampak Atas. (b) Prototype keseluruhan salah satu sis ........... 53

Gambar 4.2. (a) Sensor Kendaraan Keluar. (b) Sensor Kendaraan Masuk. (c) Lampu Lalu

Lintas. .................................................................................................................................. 54

Gambar 4.3 (a) Board Relay Lampu Lalu Lintas (b) Board Komparator .......................... 54

Gambar 4.4. (a) Board pada Slave (b) Board pada Master ............................................... 55

Gambar 4.5. Tampilan LCD 16x2 Slave A ......................................................................... 56

Gambar 4.6 Penampil CD 20x4 pada Master ...................................................................... 56

Gambar 4.7 Rangkaian Master ............................................................................................ 57

Gambar 4.8 Rangkaian Aktuator pada Master .................................................................... 58

Gambar 4.9 Rangkaian Keseluruhan Slave ......................................................................... 58

Gambar 4.10. Inisialisasi dan pendeklarasian program pada Slave A ................................. 71

Gambar 4.11. Setting Awal untuk mengaktifkan fungsi Interupsi ...................................... 72

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xviii

Gambar 4.12 Listing Program untuk fungsi Interupsi ......................................................... 72

Gambar 4.13 listing program pada void main() slave ......................................................... 73

Gambar 4.14. (a)Setting Port SDA dan SCL I2C Slave. (b) Setting alamat dari Slave ....... 74

Gambar 4.15. Listing Program I2C pada Slave A ............................................................... 74

Gambar 4.16. Void main komunikasi I2C ........................................................................... 75

Gambar 4.17. Inisialisasi dan deklarasi program pada Master ............................................ 76

Gambar 4.18. (a) pengaktifan fungsi I2C (b) inisialisasi port SDA dan SCL Master......... 76

Gambar 4.19. Listing Program I2C ..................................................................................... 77

Gambar 4.20. Penampil jumlah kendaraan tiap cabang ...................................................... 78

Gambar 4.21. Tampilan saat nyala lampu awal ................................................................... 79

Gambar 4.22. Listing program nyala lampu awal ............................................................... 79

Gambar 4.23. Listing program “fuzzifikasi()” ..................................................................... 80

Gambar 4.24. Frame pada pemrograman ............................................................................ 80

Gambar 4.25. Inisialisasi global untuk fungsi “pemilihan()” ............................................. 81

Gambar 4.26 Contoh data yang masuk dalam 2 kategori .................................................... 81

Gambar 4.27. Listing program fungsi “pemilihan()” sisi A ............................................... 82

Gambar 4.28. Listing program "basis_aturan()" ................................................................. 83

Gambar 4.29 Contoh penegasan MOM (a) fungsi turun (b) fungsi naik dan turun ........... 84

Gambar 4.30. Listing program fungsi "defuzzifikasi ()" ...................................................... 84

Gambar 4.31. Fungsi "fuzzy()" ............................................................................................ 85

Gambar 4.32. Listing program nyala lampu adaptif cabang A ............................................ 85

Gambar 4.33. Fungsi "penampil_waktu()" .......................................................................... 86

Gambar 4.34. Listing fungsi "semua_merah()" dan "nyala_adaptif_a()" ........................... 87

Gambar 4.35. Keseluruhan fungsi yang digunakan "cabang_a()" ...................................... 87

Gambar 4.36. Void main program pada Master .................................................................. 87

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

xix

DAFTAR TABEL

Tabel 2.1 Penggunaan CS02, CS01, dan CS00 pada TCCR0 ............................................. 14

Tabel 2.2 Penggunaan CS02, CS01, dan CS00 pada TCCR1B .......................................... 15

Tabel 2.3. Port B pada ATmega8 ........................................................................................ 18

Tabel 2.4 Port C ATmega8 .................................................................................................. 19

Tabel 2.5 Port D pada ATmega8 ......................................................................................... 19

Tabel 2.6 Setting kondisi pada INTx ................................................................................... 22

Tabel 3.1. Ukuran Real di Lapangan ................................................................................... 32

Tabel 3.2 Keterangan Penggunaan Pin Master ................................................................... 35

Tabel 3.3 Penggunaan Pin Slave 1 ...................................................................................... 36

Tabel 3.4 Penggunaan Pin LCD ATmega32 ....................................................................... 37

Tabel 3.5 Penamaan Pin LCD pada Slave ........................................................................... 38

Tabel 3.6 Penamaan sensor infra merah .............................................................................. 41

Tabel 3.7 Rincian Mode Awal ............................................................................................. 44

Tabel 3.8 Pewaktuan lampu pada mode nyala lampu awal ................................................. 45

Tabel 3.9 Kondisi Rules ...................................................................................................... 49

Tabel 3.10 Derajat Keanggotaan Framework Input ............................................................ 50

Tabel 4.1 Data dengan kategori terpilih .............................................................................. 60

Tabel 4.2 Defuzzifikasi Penegasan MOM ........................................................................... 61

Tabel 4.3 Data Tegangan Sensor dan Komparator .............................................................. 63

Tabel 4.4 Data Pengujian cabang A ................................................................................... 64

Tabel 4.5 Data Pengujian cabang B ..................................................................................... 66

Tabel 4.6 Data Pengujian cabang C ..................................................................................... 68

Tabel 4.7 Output "basis_aturan()" ...................................................................................... 83

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

1

1. BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan transportasi pada zaman ini sangat pesat, hal ini menyebabkan daya

tarik peminat kendaraan menjadi semakin banyak. Pertambahan jumlah kendaraaan

menyebabkan lalu lintas menjadi padat. Di kota-kota besar sering terjadi kemacetan pada

persimpangan jalan, ditambah dengan tingkat urbaninasi baik untuk bekerja maupun

aktivitas masyarakat yang tidak menentu sering menimbulkan kesenjangan jumlah

kendaraan pada masing-masing cabang persimpangan jalan. Kesenjangan jumlah

kendaraan ini dapat terurai, namun membutuhkan waktu yang lebih lama jika hanya

dengan sistem pewaktuan lampu lalu lintas biasa (tidak adaptif). Oleh karena itu

dibutuhkan perangkat pengatur timer lampu lalu lintas berdasarkan jumlah kendaraan yang

bertujuan untuk mengontrol lama nyala lampu lalu lintas.

Sudah ada solusi yang ditawarkan dengan judul “Perangkat Pengatur Timer Lampu

Lalu Lintas Berdasarkan Antrian Kendaraan” [1]. Kelebihan dari alat ini adalah

menggunakan 1 mikrokontroler dan area yang diamati ada 2 cabang.

Dalam Tugas Akhir ini akan dibuat sistem pengatur lampu lalu lintas berdasarkan

jumlah kendaraan dengan ATmega32 sebagai pemroses data, dan ATmega8 pada setiap

cabang. Jumlah kendaraan yang akan mengantri pada tiap sisi akan dideteksi oleh sensor

infra merah yang ada di ATmega8.

Prinsip kerja sistem ini adalah input berupa jumlah kendaraan tiap cabang. Tahap

pertama proses pengambilan data pada mikrokontroler slave adalah dengan terdeteksinya

prototype kendaraan oleh sensor infra merah. Pemasangan sensor adalah pada setiap

persimpangan akan diberi 2 sensor infra merah, yang mana sensor infra merah-1 akan

bekerja sebagai sensor kendaraan input dan sensor infra merah-2 akan bekerja sebagai

sensor output. Kedua sensor infra merah itu akan menjadi masukan dari masing-masing

mikrokontroler slave. mikrokontroler master akan bekerja sebagai prosessor untuk

mengontrol lama waktu dari nyala lampu lalu lintas, sehingga dapat meningkatkan efisiensi

waktu dari pengguna jalan saat melewati persimpangan. Data yang telah dibaca dari

mikrokontroler master dan slave akan ditampilkan pada LCD 20x4 sebagai pemberi

informasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

2

1.2. Tujuan dan Manfaat

Tujuan dari penulisan tugas akhir ini adalah membuat hardware (prototype) dan

software untuk rekayasa pengaturan lampu lalu lintas berdasarkan jumlah kendaraan.

Manfaat dari pembuatan alat ini adalah menjadi salah satu solusi untuk mengurai

kesenjangan jumlah kendaraan yang terjadi di persimpangan (pertigaan).

1.3. Batasan Masalah

Agar Tugas Akhir ini mengarah pada tujuan dan menghindari terlalu kompleks

permasalahan yang muncul, maka perlu adanya batasan-batasan masalah yang sesuai

dengan judul tugas akhir ini. Adapun batasan masalahnya antara lain:

a. Mikrokontroler yang digunakan adalah ATmega32.

b. Model persimpangan jalan yang dipakai adalah simpang tiga (pertigaan).

c. Ukuran prototype 220x120cm, panjang jalur 100cm, lebar jalur 14cm.

d. Kapasitas dari setiap jalur adalah 10 unit mobil mainan dengan rasio 1:60 dimana

tiap skala 1 mewakili 7cm.

e. Prototipe kendaraan yang digunakan adalah mobil mainan tanpa baterai.

f. Sensor infra merah digunakan sebagai sensor pendeteksi kendaraan.

g. Sensor infra merah yang digunakan adalah yang berbentuk LED, yang dipasang

dengan jarak antar masing-masing sensor sejauh 90cm.

h. Pemrograman menggunakan perangkat lunak CVAVR.

i. Aktuator berupa lampu lalu lintas merah, kuning, hijau 12V DC.

j. Penampil waktu dan jumlah kendaraan ditampilkan dengan LCD 20x4.

k. Data yang ditampilkan berupa jumlah unit mobil pada tiap cabang (LCD Slave)

dan lama waktu lampu merah,kuning,hijau menyala pada LCD master.

l. Algoritma yang digunakan dengan Fuzzy Logic

1.4. Metodologi Penelitian

1. Studi Literatur, yaitu dengan cara membaca buku-buku, jurnal-jurnal dan sumber

internet yang terpercaya yang berkaitan dengan permasalahan yang dibahas dalam

tugas akhir ini.

2. Perancangan subsistem hardware. Pada tahap ini, penulis mencari bentuk pemodelan

yang optimal dari keseluruhan sistem dan mempertimbangkan bermacam-macam

faktor permasalahan dan kebutuhan yang ditentukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

3

3. Pembuatan subsistem hardware. Pada tahap ini penulis membuat hardware dari alat

agar pada perancangan software dapat langsung diaplikasikan. Masukan pertama

berupa sensor infra merah-in yang akan mendeteksi adanya kendaraan yang masuk

ke area penelitian dan sensor infra merah-out yang akan mendeteksi adanya

kendaraan yang keluar.

4. Pembuatan subsistem software. Meliputi programming, pada tahap ini penulis

menggunakan mikrokontroler ATmega32 sebagai kontroler dan pengambil

keputusan yang dimasukan dengan bahasa pemrograman C menggunakan software

Codevision AVR.

5. Eksperimen, yaitu dengan melakukan praktek uji coba berupa pengujian terhadap

hardware dan software dari pembuatan alat dalam tugas akhir.

6. Proses pengambilan data. Pada tahap ini proses pengambilan data dilakukan dengan

cara mengamati data dibaca oleh sensor infra merah pada masing-masing

mikrokontroler slave yang akan tertampil di LCD 20x4 pada mikrokontroler Master.

Mobil mainan akan merepresentasikan kendaraan yang ada di persimpangan jalan.

Lalu nyala lampu akan berubah menyesuaikan dari jumlah kendaraan setiap sisinya.

Semakin banyak jumlah kendaraan akan diatasi dengan memperpanjang waktu

lampu hijau menyala.

7. Analisis dan penyimpulan hasil percobaan. Analisis dilakukan dengan cara

membandingkan data yang dibaca dari jumlah kendaraan dengan lama waktu nyala

lampu dari ketiga sisi. Pengecekan dilakukan dengan membaca data tertampil pada

LCD.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

4

2. BAB II

DASAR TEORI

2.1. LED Inframerah

Sensor Infra merah yang digunakan adalah LED infra merah. LED infra merah

adalah sebuah penghasil cahaya, yang menghasilkan spectrum infra merah. LED infra

merah menghasilkan panjang gelombang yang sama dengan yang dapat diterima oleh

photodetektor silikon, sehingga LED infra merah dapat dipasangkan dengan Photodioda.

LED inframerah digunakan untuk menghasilkan radiasi inframerah, yang merupakan

P-N junction dimana pada saat LED infra merah dihubungkan secara pra-tegangan (bias

forward), apabila pada anoda diberi tegangan yang lebih positif dari pada katoda pada

LED, arus akan mengalir. Reaksi pada semikonduktor adalah terjadinya perpindahan

elektron dari tipe N menuju tipe P serta perpindahan hole dari tipe P ke tipe N pada pita

valensinya. Akibatnya terjadi rekombinasi antara elektron dan hole maka akan melepaskan

energi yang berupa pancaran cahaya. Dengan berkurangnya arus input dan naiknya suhu,

maka efisiensi pancaran cahaya akan berkurang. Penampang dari LED infra merah

ditunjukan pada Gambar 2.1. [2]

Gambar 2.1 LED Infra merah

Pada LED infra merah memancarkan cahaya yang tidak dapat dilihat oleh mata. LED

akan memancarkan gelombang cahaya pada sebuah panjang gelombang tunggal, atau dapat

dikatakan pada frekuensi tunggal. Namun sesungguhnya LED akan memancarkan

gelombang cahaya dengan satu daerah panjang gelombang. Daerah ini disebut sebagai

panjang gelombang. Pada umumnya LED mempunyai panjang gelombang sebesar 20 –

100 nm. Rangkaian Transmitter yang digunakan adalah dengan seri antara resistor dengan

LED infra merah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

5

Gambar 2.2 Rangkaian Transmitter

Transmitter dirangkai seperti pada Gambar 2.2, rumus yang digunakan untuk

menentukan tahanan (resistor) pada transmitter inframerah adalah:

RT =

(2.1)

2.2. Photodioda

Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran

cahaya menjadi besaran listrik. Photodioda adalah dioda yang aktif berdasarkan dari

intensitas cahaya, dengan sambungan P-N yang cara kerjanya dipengaruhi oleh cahaya.

Penampang pada photodioda ditunjukan dengan Gambar 2.3.

Gambar 2.3 Penampang Photodioda LED

Prinsip kerjanya sama dengan dioda pada umumnya. Jika photodioda terkena cahaya

maka photodioda akan bekerja seperti resistor. Photodioda akan memberikan resistansi

yang besar agar arus yang mengalir semakin mengecil atau sebaliknya. Cahaya yang dapat

dideteksi oleh photodioda adalah sinar infra merah, ultraviolet hingga sinar X. Cara kerja

photodioda ditunjukan dengan Gambar 2.4, cahaya yang masuk ke photodioda akan

menghasilkan elektron-elektron dan masuk ke pita konduksi dan mengalir kearah positif

dari sumber tegangan, sedangkan hole yang dihasilkan mengalir ke arah negative sumber

tegangan. Besarnya pasangan elektron ataupun hole tergantung dari intensitas cahaya yang

I

VTx

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

6

diserap oleh photodioda dalam hal ini besarnya yang dihasilkan bergantung dari besar

kecilnya radiasi yang dipancarkan oleh inframerah.

Gambar 2.4 Prinsip Kerja Photodioda

Photodioda adalah perangkat yang beroperasi dalam bias terbalik, seperti yang

ditunjukkan pada Gambar 2.5, di mana I adalah reverse light current. Photodioda memiliki

jendela transparan kecil yang memberikan cahaya untuk menyinari pn junction.

Gambar 2.5 Operasi reverse-bias menggunakan simbol standar

Photodioda berbeda dari dioda penyearah dimana ketika pn juntion terpapar cahaya,

arus balik meningkat dengan intensitas cahaya. Ketika tidak ada cahaya, arus balik hampir

dapat diabaikan dan disebut dark current. arus balik untuk partikel ini kira-kira 1.4 uA

pada tegangan reverse bias 10 V dengan irradiance 0,5mW/cm². Karena itu, hambatan

dari perangkat ini adalah:

(2.2)

Pada 20mW/cm², arus kira-kira 55uA pada VR = 10 V. Perhitungan ini menunjukkan

bahwa photodioda dapat digunakan sebagai perangkat variable-resistance yang dapat

dikontrol oleh intensitas cahaya. [3]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

7

2.3. Transistor [3]

Transistor adalah perangkat yang terdiri dari tiga lapis N-P-N atau P-N-P seperti

ditunjukkan pada Gambar 2.6.(a)(b) dan Gambar 2.7.(a)(b)

3.

„(a) (b)

Gambar 2.6. (a) Struktur PNP Transistor (b) Simbol PNP Transistor

„(a) „(b)

Gambar 2.7. (a) Struktur NPN Transistor (b) Simbol NPN Transistor

Perubahan pada arus basis akan mengakibatkan perubahan yang telah dikuatkan

pada arus kolektor pada tegangan kolektor-emitor yang dikenakan padanya. Simbol

yang sesuai dengan Gambar 2.6 (b). Tegangan dadal akan dicapai bila tegangan yang

ditambahkan mencapai suatu batas. Tegangan balik kolektor-emitor yang dapat

menyebabkan dadal pada sambungan basis-emitor. Pada Gambar 2.6 (a) dan (b),

ditunjukkan transistor P-N-P yang mempunyai karakteristik yang menyerupai transistor

N-P-N, tapi arus dan tegangannya dalam arah kebalikannya. Pada kondisi saturasi (jenuh)

dan keadaan cut-off (mati) maka transistor dapat dijadikan saklar dengan pemutus

dan penyambung (tegangan pada basisnya).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

8

Gambar 2.8. Contoh rangkaian transistor sederhana

Pada Gambar 2.8. merupakan contoh rangkaian transistor, dimana kondisi cut off,

transistor berada di wilayah cut off ketika persimpangan basis-emitor tidak forward-bias.

Mengabaikan arus bocor, semua arus nol, dan VCE sama dengan VCC.

VCE (cutoff) = VCC (2.3)

Pada kondisi Saturasi, ketika persimpangan basis-emitor berada forward-bias dan ada

arus basis yang cukup untuk menghasilkan arus kolektor maksimum, maka transistor

saturasi. Rumus untuk arus saturasi kolektor adalah:

(2.4)

Karena VCE (sat) sangat kecil dibandingkan dengan VCC, sehingga dapat diabaikan.

Nilai minimum dari arus basis yang dibutuhkan untuk menghasilkan kejenuhan adalah:

(2.5)

Biasanya, IB harus secara signifikan lebih besar dari IB(min) untuk memastikan

bahwa transistor sudah jenuh. Tegangan yang melewati RB adalah:

VRB = VIN – VBE (2.6)

Kemudian nilai hambatan RB dapat diketahui menggunakan Hukum Ohm seperti :

(2.7)

2.4. LCD (Liquid Chrystal Display)

LCD (Liquid Chrystal Display) adalah suatu jenis media yang berfungsi untuk

menampilkan suatu data berupa karakter menggunakan kristal cair. LCD terdiri dari

lapisan cair diantara dua pelat kaca. Film transparan diletakan dibelakang kaca dapat

menghantarkan listrik atau back plane.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

9

2.4.1. Material LCD

LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan

elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan

elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik

(tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan

elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan

polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang

dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan

segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin

ditampilkan.

2.4.2. Pengendali LCD

Pada LCD terdapat mikrokontroler yang berfungsi sebagai pengendali tampilan

karakter LCD. Pada tiap mikrokontroler dilengkapi dengan memori dan register sebagai

berikut [4].

DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter

yang akan ditampilkan berada.

CGRAM (Character Generator Random Access Memory) merupakan memori untuk

menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah

sesuai dengan keinginan.

CGROM (Character Generator Read Only Memory) merupakan memori yang

menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar

yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal

Display) tersebut sehingga pengguna tinggal mengambilnya sesuai alamat memorinya

dan tidak dapat merubah karakter dasar yang ada dalam CGROM

Register control yang terdapat dalam suatu LCD adalah sebagai berikut:

Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke

panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status

dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.

Register data yaitu register untuk menuliskan atau membaca data dari atau ke

DDRAM. Penulisan data pada register akan menempatkan data tersebut ke DDRAM

sesuai dengan alamat yang telah diatur sebelumnya.

Fungsi dari kaki-kaki pada pin LCD ditunjukan pada Gambar 2.9.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

10

Gambar 2.9. Kaki-kaki Pada LCD

Pin data (D0-D7) adalah jalur untuk memberikan data karakter yang ingin ditampilkan

menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari

rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data

yang masuk, apakah data atau perintah. Logika Low menunjukan yang masuk adalah

perintah, sedangkan Logika High menunjukan data.

Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data,

sedangkan High baca data.

Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

Pin VO (Contrast) berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini

dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground,

sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

2.5. Komparator LM339

Komparator berfungsi untuk membandingkan input yang diterima. Komparator

konvensional umumnya merupkan sebuah penguat opearasional (op-amp). ditunjukan pada

Gambar 2.10

Gambar 2.10 Komparator LM339

Komparator terdiri atas 2 input, Vin (masukan dari sensor) dan Vref (tegangan

referensi). Jika tegangan Vin lebih besar dari tegangan Vref, maka Vo akan mengeluarkan

logika 1 yang berarti 5V atau setara dengan VCC. Sebaliknya Vin lebih kecil dari tegangan

Vref, maka Vo akan mengeluarkan logika 0 yang berarti 0V [5].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

11

2.6. Relay

Relay adalah komponen yang terdiri dari sebuah kumparan berinti besi yang akan

menghasilkan elektromagnet ketika kumparannya dialiri oleh arus listrik. Elektromagnet

ini kemudian menarik mekanisme kontak yang akan menghubungkan kontak Normally-

Open (NO) dan membuka kontak Normally-Closed (NC). Normally disini berarti relay

dalam keadaan non-aktif atau non-energized, atau kumparan relay tidak dialiri arus. Jadi

kontak Normally-Open (NO) adalah kondisi awal sebelum diaktifkan akan selalu berada

di posisi OPEN (terbuka), dan kontak Normally-Closed (NC) adalah kondisi awal sebelum

diaktifkan akan selalu berada di posisi CLOSE (tertutup). [6]

Berdasarkan penggolongan jumlah Pole dan Throw-nya sebuah relay, maka relay

dapat digolongkan seperti ditunjukan pada Gambar 2.11 :

Single Pole Single Throw (SPST) : Relay golongan ini memiliki 4 Terminal, 2

Terminal untuk Saklar dan 2 Terminalnya lagi untuk Coil.

Single Pole Double Throw (SPDT) : Relay golongan ini memiliki 5 Terminal, 3

Terminal untuk Saklar dan 2 Terminalnya lagi untuk Coil.

Double Pole Single Throw (DPST) : Relay golongan ini memiliki 6 Terminal,

diantaranya 4 Terminal yang terdiri dari 2 Pasang Terminal Saklar sedangkan 2

Terminal lainnya untuk Coil. Relay DPST dapat dijadikan 2 Saklar yang

dikendalikan oleh 1 Coil.

Double Pole Double Throw (DPDT) : Relay golongan ini memiliki Terminal

sebanyak 8 Terminal, diantaranya 6 Terminal yang merupakan 2 pasang Relay

SPDT yang dikendalikan oleh 1 (single) Coil. Sedangkan 2 Terminal lainnya untuk

Coil.

Gambar 2.11 Jenis Relay berdasarkan Pole dan Throw

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

12

2.7. Mikrokontroler ATmega32 [7]

AVR (Alf and Vegard’s Risc Processor) merupakan seri mikrokontroler CMOS 8-

bit yang diproduksi oleh Atmel.

2.7.1. Arsiektur AVR ATmega32

Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut: Saluran IO

sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.

a. ADC 10 bit sebanyak 8 Channel.

b. Tiga buah Timer/Counter yaitu Timer 0, Timer 1, dan Timer 2.

c. Watchdog Timer dengan osilator internal.

d. SRAM sebanyak 512 byte.

e. Memori Flash sebesar 32kb.

f. Sumber Interupsi internal dan eksternal.

g. Port SPI (Serial Pheriperal Interface).

h. EEPROM on board sebanyak 512 byte.

i. Komparator analog.

j. Port USART (Universal Synchronus Asynchronus Receiver Transmitter )

2.7.2. Konfigurasi Pin Mikrokontroler ATmega32

Gambar 2.12. Konfigurasi Pin ATmega32

Konfigurasi pin mikrokontroler ATmega32 memiliki 40-pin DIP (Dual On-Line

Package) ATmega32 memiliki konfigurasi pada Gambar 2.12. sebagai berikut:

a. VCC , sebagai power supply

b. GND , sebagai ground

c. Port A (PA7...PA0), berfungsi sebagai input analog pada ADC (Analog Digital

Converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

13

d. Port B (PB7...PB0), adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-

up (yang dipilih untuk beberapa bit)

e. Port C (PC7...PC0), adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-

up (yang dipilih untuk beberapa bit)

f. Port D (PD7...PD0), adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-

up (yang dipilih untuk beberapa bit)

g. RESET , sebagai reset input.

h. XTAL1 , sebagai input oscillator.

i. XTAL2 , sebagai output oscillator.

j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.

k. AREF adalah pin referensi analog untuk ADC.

Port A berfungsi sebagai input analog pada A/D Konverter dan port I/O 8-bit dua

arah. Port B, Port C, Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal

pull-up (yang dipilih untuk beberapa bit)

2.7.3. Organisasi Memori AVR ATmega32

Mikrokontroler ATmega32 memiliki 3 jenis memori yaitu memori program,

memori data dan EEPROM. Masing-masing memiliki ruang sendiri dan terpisah, sebagai

berikut:

2.7.3.1. Memori Program

Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang

tidak akan hilang datanya meskipun catu daya dimatikan. Dalam ATmega32 terdapat 32

Kbyte On-Chips di dalam sistem Memory Flash Reprogrammable untuk menyimpan

programa. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian,

yaitu boot program dan bagian aplikasi program.

2.7.3.2. Memori Data

Memori daya adalah memori RAM (Random Access Memory) yang digunakan

untuk keperluan program. Memori data terdiri dari 32 General Purpose Register (GPR)

yang merupakan register khusus yang bertugas khusus untuk membantu eksekusi program

oleh Arithmetic Logic Unit (ALU) dan I/O Register dan additional I/O yang difungsikan

khusus untuk mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin,

port, Timer/Counter, USART. ATmega32 memiliki kapasitas memori data sebesar 608

Byte yang terbagi menjadi 3 bagian yaitu register I/O dan SRAM.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

14

2.7.4. Timer / Counter

Timer/Counter adalah fitur dalam mikrokontroler yang memiliki fungsi sebagi

pewaktu (timer) atau sebagai pencacah (counter) suatu nilai cacahan. Pada mikrokontroler

AVR ATMEGA32, fitur Timer/Counter juga dapat difungsikan sebagai pembangkit sinyal

gelombang pulse width modulation (PWM) yang dapat digunakan pada peranti-peranti

yang membutuhkan sinyal gelombang PWM dalam operasinya. ATmega32 mempunyai 3

buah Timer/Counter yakni Timer /Counter 0 (8bit), Timer /Counter 1 (16bit), Timer /

Counter 2 (8bit).

Pada fungsi timer isi register ditambah satu setiap siklus mesin. Pada fungsi

counter, penambahan isi register diatur oleh user secara software. Apabila periode waktu

tertentu telah dilampaui, Timer/Counter segera menginterupsi mikrokontroler untuk

memberitahukan bahwa perhitungan peritode waktu telah selesai dilaksanakan.

2.7.5. Timer/Counter Control Register 0

Timer/Counter 0 merupakan 8 bit Timer/Counter, pengaturan Timer/Counter 0

diatur oleh TCCR0 (Timer/Counter control register 0) yang ditunjukan oleh Gambar 2.13.

Gambar 2.13 Register TCCR0

Bit 3-7 memiliki fungsi untuk melakukan setting pada PWM

Bit 2, 1, 0 (CS02, CS01, CS00)

Clock Select. Ketiga bit tersebut memilih sumber clock yang akan digunakan oleh

Timer/Counter. Dengan konfigurasi yang ditunjukan oleh Tabel 2.1.

Tabel 2.1 Penggunaan CS02, CS01, dan CS00 pada TCCR0

CS02 CS01 CS00 Deskripsi

0 0 0 Tidak ada sumber clock (Timer/Counter berhenti)

0 0 1 ClkI/O/tidak ada prescaling

0 1 0 ClkI/O/8 (dari prescaling)

0 1 1 ClkI/O/64

1 0 0 ClkI/O/256(dari prescaling)

1 0 1 ClkI/O/1024 (dari prescaling)

1 1 0 Sumber Clock eksternal pada pin T0. Clock pada Falling edge

1 1 1 Sumber Clock eksternal pada pin T0. Clock pada Rising edge

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

15

2.7.6. Timer/Counter 1

Timer/Counter 1 memiliki perbedaan dengan timer yang lain yakni menggunakan 16

bit Timer Counter yang ditunjukan oleh Gambar 2.14.

Gambar 2.14 Register TCCR1B

Bit 2,1,0 (CS11, CS12, CS10)

Clock Select. Ketiga bit tersebut (CS2/CS1/CS0) mengatur sumber clock yang

digunakan untuk Timer/Counter1, dengan konfigurasi ditunjukan oleh Tabel 2.2.

Tabel 2.2 Penggunaan CS02, CS01, dan CS00 pada TCCR1B

CS02 CS01 CS00 Deskripsi

0 0 0 Tidak ada sumber clock (Timer/Counter berhenti)

0 0 1 ClkI/O/tidak ada prescaling

0 1 0 ClkI/O/8 (dari prescaling)

0 1 1 ClkI/O/64

1 0 0 ClkI/O/256(dari prescaling)

1 0 1 ClkI/O/1024 (dari prescaling)

1 1 0 Sumber Clock eksternal pada pin T1. Clock pada Falling edge

1 1 1 Sumber Clock eksternal pada pin T1. Clock pada Rising edge

2.7.7. Register TIMSK (Timer/Counter Interrupt Mask Register)

Bit pada register TIMSK ditunjukan oleh Gambar 2.15.

Gambar 2.15 Register TIMSK

Bit2: TOIE 1/0 (Timer Overflow Interrupt Enable)

Berfungsi untuk mengaktifkan interupsi Overflow TCNT1 ketika bit ini di set (1).

Bit 3-4: OCIE1 B/A (Output Compare Match Interrupt Enable)

Berfungsi untuk mengaktifkan Interupsi Output Compare B Match ketika bit ini

diaktifkan (1).

Bit 5 TCIE1: Timer/Counter 1, Input Capture Interrupt Enable

Berfungsi untuk mengaktifkan input capture ketika bit ini di aktifkan (bernilai 1).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

16

2.7.8. Register TIFR

Bit pada register TIFR yang ditunjukan oleh Gambar 2.16.

Gambar 2.16 Register TIFR

Bit 2: TOV1

Bit TOV1 adalah flag/indicator terjadinya timer overflow

Bit 3: OCF1B

Bit OCF1 adalah flag/indicator terjadinya timer1 compare B match

Bit 4: OCF1A

Bit OCF1 adalah flag/indicator terjadinya timer1 compare A match

Bit 5: ICF1

Bit ICF1 adalah flag indicator terjadinya input capture pada pin ICP1 (PortB.0)

2.7.9. Komunikasi I2C [8]

I2C (Inter-Integrated Circuit) umumnya disebut sebagai “two-wire interface”.

Konfigurasi I2C ditunjukan pada Gambar 2.17

Gambar 2.17 Ilustrasi I2C

Pada komunikasi Inter Integrated Circuit atau sering disebut I2C adalah standar

komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk

mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan

SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.

Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan

sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C Bus

dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop,

dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master.

Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan

sebagai perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

17

Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai

perubahan tegangan SDA dari “0” menjadi “1” pada saat SCL “1”. Kondisi

sinyal Start dan sinyal Stop ditunjukan pada Gambar 2.18.

Gambar 2.18 Kondisi sinyal start dan stop

Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan

dengan ACK Setelah transfer data oleh master berhasil diterima slave, slave akan

menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi

“0” selama siklus clock ke 9. Ini menunjukkan bahwa Slave telah menerima 8 bit data

dari Master. Kondisi sinyal acknowledge seperti tampak pada Gambar 2.19

Gambar 2.19 Sinyal ACK dan NACK

Dalam melakukan transfer data pada I2C Bus, kita harus mengikuti tata cara yang

telah ditetapkan yaitu:

Transfer data hanya dapat dilakukan ketikan Bus tidak dalam keadaan sibuk.

Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL

dalam keadan tinggi. Keadaan perubahan “1” atau “0” pada SDA hanya dapat

dilakukan selama SCL dalam keadaan rendah. Jika terjadi perubahan keadaan SDA

pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai

sinyal Start atau sinyal Stop. ditunjukan pada Gambar 2.20.

Gambar 2.20 Transfer Bit pada I2C bus

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

18

2.8. Mikrokontroler Atmega 8

2.8.1. Arsitektur ATmega8 [9]

ATmega8 adalah mikrokontroller CMOS 8-bit berarsitektur AVRRISC yang

memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi

daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS

pada frekuensi 16MHz. Untuk ATmega8 dapat bekerja pada tegangan antara 4.5-5.5 V.

2.8.2. Konfigurasi Pin Mikrokontroler ATmega 8

Gambar 2.21 Konfigurasi Pin ATmega8

Gambar 2.21 menunjukan konfigurasi dari setiap pin dari ATmega8 yang memiliki

28 Pin, masing-masing pin memiliki fungsi yang berbeda-beda baik sebagai port maupun

fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8 :

a. VCC , merupakan supply tegangan digital.

b. GND, merupakan ground untuk semua komponen yang membutuhkan grounding

c. Port B (PB0…PB7) , Port B yang merupakan sebuah 7-bit bi-directional I/O port yang

di dalam masing-masing pin terdapat pull-up resistor. Fungsi pada port B ditunjukan

pada Tabel 2.3.

Tabel 2.3. Port B pada ATmega8

Pin Port Fungsi Alternatif

PB7 XTAL2 (Chip Clock Oscillator pin2)

TOSC2 (Timer Oscillator pin 2)

PB6 XTAL1 (Chip Clock Oscillator pin 1 atau Input Clock Eksternal)

TOSC1 (Timer Oscillator pin 1)

PB5 SCK (Clock Input Bus Master SPI)

PB4 MISO (Bus Master Master Input/Output Slave)

PB3 MOSI (Bus Master Master Output/ Input Slave)

OC2 (Timer/Counter2 Output Compare Match Output)

PB2 SS (Bus Master SPI selector)

OC1B (Timer/Counter 1 Output Compare Match B Output)

PB1 OC1A (Timer/Counter 1 Output Compare Match A Output)

PB0 ICP1 (Timer/Counter1 Input Capture Pin)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

19

d. Port C (PC5…PC0), Port C yang merupakan sebuah 7-bit bi-directional I/O port yang

di dalam masing-masing pin terdapat pull-up resistor. Fungsi pada port C ditunjukan

pada Tabel 2.4.

Tabel 2.4 Port C ATmega8

Port Pin Fungsi Alternatif

PC6 RESET (Reset Pin)

PC5 ADC5 (ADC input Channel 5)

SCL (Jalur Clock Serial Bus Two-wire )

PC4 ADC4 (ADC input Channel 4)

SDA (Jalur Clock Serial Bus Data Input/Output Two-wire )

PC3 ADC3 (ADC input Channel 3)

PC2 ADC2 (ADC input Channel 2)

PC1 ADC1 (ADC input Channel 1)

PC0 ADC0 (ADC input Channel 0)

e. RESET/PC6 , Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai

pin I/O. Pin ini memiliki karakteristik yang berbeda dengan setiap pin yang terdapat

pada port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini

akan berfungsi sebagai input reset. Jika level tegangan yang masuk ke pin ini rendah

dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan

suatu kondisi reset meskipun clock-nya tidak bekerja.

f. Port D (PD7…PD0). Port D merupakan 8-bit bi-directional I/O dengan internal pull-

up resistor. Fungsi dari port ini sama dengan setiap port yang lain. Hanya saja pada

port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi

sebagai masukan dan keluaran atau biasa disebut dengan I/O. Fungsi pada port D

ditunjukan pada Tabel 2.5.

Tabel 2.5 Port D pada ATmega8

Port Pin Fungsi Alternatif

PC7 AIN1 (Analog Komparator Input Negatif)

PC6 AIN0 (Analog Komparator Input Positif)

PC5 T1 (Timer/Counter 1 Eksternal Counter Input)

PC4 XCK (USART Eksternal Clock Input/Output)

T0 (Timer/Counter 0 Eksternal Clock Input)

PC3 INT1 (Input Eksternal Interrupt 1)

PC2 INT0 (Input Eksternal Interrupt 0)

PC1 TXD (Output Pin USART)

PC0 RXD (Input Pin USART)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

20

g. AVCC, Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus

dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja.

Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk

menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka

AVCC harus dihubungkan ke VCC melalui low pass filter.

h. AREF, merupakan pin referensi jika menggunakan ADC.

2.8.3. Organisasi Memori AVR ATmega8

Memori ATmega yang terbagi menjadi tiga yaitu :

1. Memori Flash

Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash

menunjukan jenis ROM yang dapat ditulis dan dihapus secara elektrik. Memori flash

terbagi menjadi dua bagian, yaitu bagian aplikasi dan bagian boot. Bagian

aplikasi adalah bagian kode-kode program apikasi berada. Bagian boot adalah

bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk

menulis bagian aplikasi tanpa melalui 18 programmer/downloader, misalnya

melalui USART.

2. Memori Data

Memori data adalah memori RAM yang digunakan untuk keperluan program.

Memori data terbagi menjadi empat bagian, yaitu 32 GPR (General Purphose

Register) adalah register khusus yang bertugas untuk membantu eksekusi program

oleh ALU (Arithmetic Logic Unit), dalam instruksi assembler setiap instruksi harus

melibatkan GPR. Dalam bahasa C biasanya digunakan untuk variabel global

atau nilai balik fungsi dan nilai-nilai yang dapat memperingan kerja ALU. Dalam

istilah processor computer sehari-hari GPR dikenal sebagai “chace memory”. I/O

register dan aditional I/O register adalah register yang difungsikan khusus untuk

mengendalikan berbagai pheripheral dalam mikrokontroller seperti pin port,

Timer/Counter, usart dan lain-lain. Register ini dalam keluarga mikrokontroller

MCS51 dikenal sebagi SFR (Special Function Register).

3. EEPROM

EEPROM adalah memori yang dapat mengendap ketika chip mati (off), digunakan

untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya.

4. Timer/Counter 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

21

Timer/Counter 0 adalah sebuah Timer/Counter yang dapat mencacah sumber

pulsa/clock baik dari dalam chip (timer)ataupun dari luar chip (counter) dengan

kapasitas 8-bit atau 256 cacahan. Timer/Counter dapat digunakan untuk :

a) Timer/Counter biasa

b) Clear Timer on Compare Match (selain ATmega8)

c) Generator frekuensi (selain ATmega8)

d) Counter pulsa eksternal

5. Komunikasi Serial Pada ATmega8

Mikrokontroller AVR ATmega8 memiliki port USART pada pin 2 dan pin 3

untuk melakukan komunikasi data antara mikrokontroller dengan mikrokontroller

ataupun mikrokontroller dengan komputer. USART dapat difungsikan sebagai

transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara

transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmitter

dan receiver mempunyai sumber clock sendiri-sendiri. USART terdiri dalam tiga

blok yaitu clock generator, transmiter, dan receiver.

2.8.4. Interrupt

Interupt adalah kondisi yang membuat CPU berhenti dari rutinitas yang sedang

dikerjakan dan mengerjakan rutin lain (rutin interupsi). ATmega8 memiliki 2 interupsi,

yaitu INT0 dan INT1. Low Level akan memicu kapan pun pin merasakan sinyal LOW

(GND). Setiap pemicu Perubahan Logika saat ini pin berubah dari HIGH (VCC) menjadi

LOW (GND) atau dari LOW (GND) menjadi HIGH (VCC). Pada Falling Edge akan

memicu interupsi saat pin mulai dari HIGH (VCC) sampai LOW (GND). Di Rising Edge

akan memicu interupsi saat pin tersebut beralih dari LOW (GND) ke HIGH (VCC).

Interupsi dapat dikonfigurasi tiap INTx secara mandiri dengan register sebagai berikut:

2.8.4.1. MCUCR (MCU Control Register)

Bit pada register MCUCR ditunjukan dengan Gambar 2.22.

Bit ISC11 dan ISC10

adalah kondisi yang menentukan adanya interupsi eksternal pada pin INT1.

Bit ISC01 dan ISC00

bersama-sama menentukan kodisi yang dapat menyebakan interupsi eksternal pada

pin INT0. keadaan selengkapnya terlihat pada Tabel 2.6.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

22

Gambar 2.22 Register MCU Control

Tabel 2.6 Setting kondisi pada INTx

ISCx1 ISCx0 Deskripsi

0 0 Logika Rendah pada INTx menghasilkan permintaan interupsi

0 1 Adanya perubahan logika pada INTx menghasilkan permintaan

interupsi

1 0 Falling edge pada INTx menghasilkan permintaan interupsi

1 1 Rising edge pada INTx menghasilkan permintaan interupsi

2.8.4.2. Register GICR

Pemilihan pengaktifan interupsi eksternal diatur oleh register GICR ( General

Interrupt Control Register) ditunjukan dengan Gambar 2.23

Gambar 2.23 Register GICR

Bit 7: INT1 adalah bit untuk mengaktifkan interupsi eksternal 1. Apabila bit tersebut

diberi logika 1 dan bit I pada SREG (status register) juga satu , maka interupsi

eksternal 1 akan aktif.

Bit 6: INT0 adalah bit untuk mengaktifkan interupsi eksternal 0. Apabila bit tersebut

diberi logika 1 dan bit I pada SREG (status register) juga satu , maka interupsi

eksternal 0 akan aktif. [10]

2.9. Fuzzy Logic

Logika fuzzy merupakan suatu teori himpunan logika yang terdapat diantara

kebenaran (true) dan kesalahan (false). Dengan menggunakan Fuzzy Logic nilai yang

dihasilkan bukan hanya ya (1) atau tidak (0) tetapi seluruh kemungkinan diantara 0 dan 1.

2.9.1. Perbedaan Logika Fuzzy dan Logika Tegas

Perbedaan antara kedua jenis logika ini adalah logika fuzzy memiliki nilai 0

hingga 1, sedangkan logika tegas 0 dan 1. Secara grafik perbedaan logika fuzzy dan

logika tegas ditunjukan pada Gambar 2.24.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

23

„(a) (b)

Gambar 2.24 Perbedaan (a) logika Tegas dan (b) logika Fuzzy

Pada gambar 2.24 (a) apabila x lebih dari atau sama dengan 10 , maka nilai x

dapat dikatakan benar atau y=1, sebaliknya nilai x kurang dari 10 maka dikatakan salah

atau y=0. Sehingga jika x adalah 9, 8, dan 7 dan seterusnya x dikatakan salah atau y=0.

Berbeda dengan gambar 2.24 (b) nilai x= 9, 8, atau 7 atau nilai antara 0 – 10, jika nilai x

semakin dekat dengan 10 maka nilai x memiliki derajat keanggotaan yang lebih besar.

Sehingga angka 9 memiliki derajat keanggotaan yang lebih tinggi dibandingkan angka

[12].

2.9.2. Himpunan

Himpunan Tegas (crisp set) merupakan sekumpulan obyek yang mempunyai

kesamaan sifat tertentu, terdefinisi secara tegas sehingga setiap obyek dapat dengan tegas

apakah merupakan anggota himpunan atau bukan.

Himpunan Kabur (fuzzy set) merupakan pengelompokan sesuatu berdasarkan

variable bahasa (lingustik variabel), yang dinyatakan dalam fungsi keanggotaan. Fuzzy set

dapat dipahami sebagai sekumpulan obyek yang mempunyai kesamaan himpunan atau

bukan. Himpunan kabur (fuzzy set) dapat dipahami sebagai sekumpulan obyek yang

mempunyai kesamaan sifat tertentu, tetapi tidak dapat didefinisikan secara tegas apakah

merupakan anggota himpunan atau bukan. Masalah ini oleh Zadeh di atasi dengan suatu

fungsi yang menyatakan derajat sesuai dengan syarat keanggotaan himpunan tersebut.

Fungsinya disebut fungsi keanggotaan

Nilai fungsi disebut derajat keanggotaan

2.9.3. Dasar Logika Fuzzy

2.9.3.1. Fungsi Keanggotaan

Fungsi keanggotaan merupakan suatu kurva yang menunjukkan pemetaan titik-

titik input data kedalam nilai keanggotaanya (disebut juga dengan derajat keanggotaan)

yang memiliki interval antara 0 sampai 1. Untuk mendapatkan nilai keanggotaan dapat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

24

menggunakan cara pendekatan fungsi. Ada beberapa fungsi keanggotaan yang

digunakan dalam teori himpunan fuzzy adalah :

Representasi Linier

Pada representasi linear, pemetaan input ke derajat keanggotaannya

digambarkan sebagai suatu garis lurus. Ada 2 keadaan himpunan fuzzy yang linear.

Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat

keanggotaan nol bergerak ke kanan menuju kenilai domain yang memiliki derajat

keanggotaan lebih tinggi seperti ditunjukan pada Gambar 2.25.

Gambar 2.25 Representasi Linear Naik

Kedua, merupakan kebalikan yang pertama. Garis lurus dimulai dari nilai domain

dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke

nilai domain yang memiliki derajat keanggotaan lebih rendah seperti pada Gambar 2.26.

Gambar 2.26 Representasi Linear Turun

Fungsi keanggotaan linear naik: (2.8)

Fungsi keanggotaan linear turun: (2.9)

Keterangan:

= nilai output dititik derajat keanggotaan tertinggi

= nilai output dititik derajat keanggotaan terendah

= nilai output dititik derajat keanggotaan yang diinginkan

= nilai derajat keanggotaan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

25

Representasi Kurva Segitiga

Pada dasarnya merupakan gabungan antara 2 garis (linear) seperti terlihat pada

Gambar 2.27

Gambar 2.27 Representasi Kurva Segitiga

Fungsi keanggotaan kurva segitiga: (2.10)

Keterangan:

= nilai output dititik derajat keanggotaan tertinggi

= nilai output dititik tengah

= nilai output dititik derajat keanggotaan terendah

= nilai output dititik derajat keanggotaan yang diinginkan

= nilai derajat keanggotaan

Representasi Kurva Trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa

titik yang memiliki nilai keanggotaan 1 seperti pada Gambar 2.28.

Gambar 2.28. Representasi Kurva Trapesium

Fungsi keanggotaan kurva trapesium: (2.11)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

26

Keterangan:

= nilai output dititik derajat keanggotaan tertinggi

= nilai output dititik tengah1

= nilai output dititik tengah2

= nilai output dititik derajat keanggotaan terendah

= nilai output dititik derajat keanggotaan yang diinginkan

= nilai derajat keanggotaan

2.9.4. Cara Kerja Logika Fuzzy

Dalam sistem kontrol logika fuzzy terdapat beberapa tahapan operasional

meliputi:

a. Fuzzifikasi.

b. Mesin penalaran atau inference engine.

c. Aturan dasar (fuzzy rule).

d. Defuzzifikasi.

2.9.4.1. Fuzzifikasi

Fuzzifikasi yaitu suatu proses untuk mengubah suatu masukan dari bentuk tegas

menjadi fuzzy (variabel linguistik) yang biasanya disajikan dalam bentuk himpunan-

himpunan fuzzy dengan suatu fungsi kenggotaannya masing-masing. Output dari

proses fuzzification ini adalah sebuah nilai input fuzzy atau yang biasanya dinamakan

fuzzy input.

2.9.4.2. Aturan Dasar Logika Fuzzy

Aturan dasar atau rule base pada kontrol logika fuzzy merupakan suatu

bentuk aturan relasi/implikasi “Jika-Maka” atau “If-Then” seperti pada pernyataan

berikut:

“JIKA” X=A dan “JIKA” Y=B “MAKA” Z=C

2.9.4.3. Mesin Penalaran Kontrol Logika Fuzzy (Inference Engine)

Mesin penalaran (Inference Engine) adalah proses implikasi dalam menalar

nilai masukan guna menentukan nilai keluar sebagai bentuk pengambil keputusan.

Salah satu model penalaran adalah max-min. Dalam penalaran max-min proses

pertama yang dilakukan adalah melakukan operasi operasi min sinyal keluaran lapisan

fuzzifikasi, yang diteruskan dengan operasi max untuk mencari nilai keluaran yang

selanjutnya akan difuzzifikasikan sebagai bentuk keluaran pengontrol.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

27

2.9.4.4. Defuzzifikasi

Defuzzifikasi merupakan proses pemetaan himpunan fuzzy kemampuan tegas,

proses ini kebalikan dari proses fuzzifikasi. Metode dalam defuzzifikasi antara lain:

a. Rerata Pusat (Center Of Average)

Kalau himpuna kabur A dalams semesta R merupakan dari m buah himpunan

kabur, yaitu A= ⋃ , maka A diubah menjadi bilangan tegas t(A) yang merupakan

rerata terbobok dari pusat-pusat m buah himpunan kebur tersebut, dengan tinggi masing-

masing himpunan kabur tersebut sebagai bobotnya. Jadi:

(2.11)

Dengan, = pusat himpunan kabur , = Tinggi )

b. COG (Central of Gravity)

Himpunan kabur A dalam semesta R diubah menjadi bilangan tegas t(A) yang

merupakan absis dari pusat gravitasi daerah dibawah grafik fungsi keanggotaan himpunan

kabur A. Jadi:

(2.12)

Bila himpunan kabur A terdefinisi pada semesta berhingga X, maka:

(2.13)

Nilai t(A) dapat dipandang sebagai nilai harapan dari variable x. Fungsi penegasan

Pusat Grafitasi memenehui kriteria masuk akan tetapi proses komputasinya tidak mudah.

c. Purata Maksimum (Mean of Maximum)

Himpunan kabur A dalam semesta R diubah menjadi bilangan tegas t(A) yang

merupakan purata dari semua nilai yang mencapai nilai maksimum dalam yaitu:

(2.14)

Dengan M= | . Apabila M=[a,b], maka:

(2.15)

Apabia himpunan kabur A terdefinisi pada semesta berhingga X maka bilangan tegas

t(A) didefinisikan sebagai rerata dari semua nilai dalam himpunan tegas

M= | , yaitu:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

28

| | (2.16)

Dengan | | = banyaknya anggoa himpunan tegas M.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

29

3. BAB III

PERANCANGAN

Dalam bab III ini akan membahas mengenai perancangan perangkat keras dan

perancangan perangkat lunak, pembahasan meliputi:

a. Proses kerja dan mekanisme prototype

b. Perancangan mekanik prototype

c. Perancangan perangkat keras (hardware)

d. Perancangan program (software)

3.1. Proses Kerja Sistem

Pengaturan nyala lampu lalu lintas berdasarkan jumlah kendaraan dirancang untuk

menentukan pewaktuan dari nyala lampu lalu lintas. Proses dari kerja dari prototype ini

memiliki inputan data dari sensor yang berada dimasing-masing slave yang dikirman ke

master atau ditunjukan dengan Gambar 3.1.

Pada proses awal dari sistem dimulai dari sensor masing-masing slave, mobil

mainan sebagai kendaraan yang akan masuk ke area pengamatan akan terdeteksi oleh

sensor infra merah pertama (mA, mB dan mC). Sedangkan kendaraan keluar area

pengamatan akan terdeteksi oleh sensor infra merah kedua (kA, kB dan kC). Jumlah

kendaraan dapat diketahui dari kalkulasi antara 2 sensor infra merah yang mana sensor

infra merah ke-2 berada sebelum lampu lalu lintas. Jumlah dari kendaraan dapat diketahui

dari selisih antara sensor infra merah-1 (sensor-in) sebagai sensor yang mendeteksi

kendaraan masuk (mA, mB, mC) dan sensor infra merah-2 (sensor-out) sebagai sensor

yang mendeteksi kendaraan keluar (kA, kB, kC) dari area pengamatan. Jumlah kendaraan

menjadi masukan untuk diproses oleh mikrokontroler. Pada mikrokontroler akan

membandingkan jumlah kendaraan dari ketiga cabang dipersimpangan, cabang yang

memiliki jumlah kendaraan yang lebih banyak maka akan mendapatkan waktu penyalaan

lampu hijau yang lebih lama. Jumlah client dapat dilihat pada LCD penampil 16x4 pada

slave, sedangkan lama waktu menyala dapat dilihat pada LCD 20x4 pada master.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

30

Gambar 3.1 Detail Blok Diagram

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

31

3.2. Perancangan Prototype

Perancangan prototype dari sistem menggunakan desain simpang 3 (pertigaan),

sebagai alas dari prototype menggunakan triplek dengan panjang 220cm dan lebar 120cm,

masing-masing jalur memiliki lebar 14cm. Desain 2D seperti pada Gambar 3.2,

Gambar 3.2. Skema 2D secara keseluruhan

Sedangkan dan 3D prototype mengunakan SketchUp. Ditunjukan dengan gambar

3.3, 3.4 (a) dan (b). Pada setiap lajur dapat menampung 10 client, sehingga prototype ini

dapat menampung total 30 client pada saat jalur padat.

Pada keadaan real, prototype jalan dan kendaraan memiliki rasio 1:60 sehingga

ukuran pada keadaan real adalah ditunjukan pada Tabel 3.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

32

Tabel 3.1. Ukuran Real di Lapangan

Prototype Real

7 cm 4.2 m

90 cm 54 m

100 cm 60 m

114 cm 86.4 m

214cm 128.4 m

Gambar 3.3. Rancangan prototype (3D). (a) prototype tampak dari atas persimpangan.

(a) (b)

Gambar 3.4. (a) sensor kendaraan keluar. (b) sensor kendaraan yang masuk

Keterangan Gambar 3.3 dan Gambar 3.4 (a):

1. Lampu Lalu Lintas

2. Pembatas Jalan

3. Sensor Infra merah Transmitter

4. Sensor Infra merah Receiver dan Led Indikator

1

2

4

3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

33

Penampil jumlah kendaraan pada masing-masing cabang maka dipasang LCD 16x2

seperti ditunjukan Gambar 3.5.

Gambar 3.5 Contoh penampil Jumlah kendaraan pada Sisi C

3.3. Perancangan Perangkat Keras

Rancangan ini memiliki beberapa bagian utama dalam subsistem hardware

prototype, yang mengacu pada Gambar 3.1. yaitu:

a. Minimum system dan ATmega32

b. Sensor Infra merah

c. Relay

d. Komparator

e. Optimasi lampu lalu lintas dengan Fuzzy Logic

3.3.1. Minimum System pada ATmega32

Minimum sistem adalah sebuah rangkaian agar mikrokontroler dapat beroperasi

dan diprogram. Minimum sistem berfungsi sebagai I/O dari prototype untuk dapat

memproses masukan dari sensor-sensor, ke mikrokontroler ATmega32 telah diprogram.

Selain power supply mikrokontroler membutuhkan 2 elemen agar dapat berfungsi yaitu

kristal osilator dan rangkaian reset.

Pada kristal osilator menggunakan crystal dengan frekuensi 11.0592 MHz dan

menggunakan dua buah kapasitor 22 pf yang dirangkai pada kaki XTAL1 (input clock

internal) dan XTAL2 (output clock osilator). Mikrokontroler sendiri sudah memiliki

osilator internal sebesar 8MHz tetapi jika membutuhkan kinerja mikrokontroler yang lebih

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

34

cepat dibutuhkan crystal lebih dari 8MHz. Rangkaian osilator ini berfungsi sebagai

pembangkit frekuensi bagi mikrokontroler. Rangkaian osilator ditunjukan Gambar 3.6.

Gambar 3.6. Rangkaian Osilator

Fungsi dari rangkaian reset adalah untuk memaksa mikrokontroler memulai lagi

program dari awal, hal ini bisa disebabkan saat mikrokontroler mengalami gangguan. Saat

tombol reset di tekan maka mikrokontroler mendapat input logika rendah. Gambar 3.7.

adalah rangkaian reset ATmega32

Gambar 3.7. Rangkaian Reset

Komponen pada rangkaian reset ini adalah berupa resistor, kapasitor dan

pushbutton. Pada gambar terdapat resistor dengan resistansi 10k yang digunakan sebagai

pull-up, tujuannya untuk agar pin reset tidak berlogika 0 secara tidak sengaja. kapasitor

22pf digunakan untuk mengurangi noise.

3.3.2. Rangkaian pada Mikrokontroler

3.3.2.1. Rangkaian pada Master

Pada Gambar 3.8 menunjukan penggunaan pin dari mikrokontroler master dengan

konfigurasi pin yang ditunjukan pada Tabel 3.2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

35

Gambar 3.8 Penggunaan port pada ATMEGA32 sebagai Master

Tabel 3.2 Keterangan Penggunaan Pin Master

Port

ATmega32 Nama Pin Penggunaan Pin

RESET RST Sebagai Reset pada Master

XTAL1 X1 Input kristal eksternal

XTAL2 X2 Output kristal eksternal

PORTA.0 A-MERAH Untuk menyalakan lampu pilot 12 VDC merah cabang A

PORTA.1 A-KUNING Untuk menyalakan lampu pilot 12VDC kuning cabang A

PORTA.2 A-HIJAU Untuk menyalakan lampu pilot 12VDC hijau cabang A

PORTB.0 B-MERAH Untuk menyalakan lampu pilot 12VDC merah cabang B

PORTB.1 B-KUNING Untuk menyalakan lampu pilot 12VDC kuning cabang B

PORTB.2 B-HIJAU Untuk menyalakan lampu pilot 12VDC hijau cabang B

PORTB.6 MOSI

Jalur Downloader PORTB.7 MISO

PORTB.8 SCK

PORTC.2 C-HIJAU Untuk menyalakan lampu pilot 12VDC hijau cabang C

PORTC.6 SCL Komunikasi TWI dan I2C

PORTC.7 SDA

PORTD.0 RW

Pin untuk LCD 20x4

PORTD.1 RS

PORTD.2 E

PORTD.3 D4

PORTD.4 D5

PORTD.5 D6

PORTD.6 D7

3.3.2.2. Rangkaian ATmega8 pada Slave A,B,C

4. Pada Gambar 3.9 menunjukan penggunaan pin dari mikrokontroler slave A,B,C

dengan konfigurasi pin yang ditunjukan pada Tabel 3.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

36

Gambar 3.9 ATmega8 pada Slave

Tabel 3.3 Penggunaan Pin Slave 1

Port ATmega8 Nama Pin Penggunaan Pin

PORTB.0 RSx Port RS pada LCD, x adalah Slave A,B,C

PORTB.1 RWx Port RW pada LCD, x adalah Slave A,B,C

PORTB.2 Ex Port E pada LCD, x adalah Slave A,B,C

PORTB.3 D4x Port D4 pada LCD, x adalah Slave A,B,C

PORTB.4 D5x Port D5 pada LCD, x adalah Slave A,B,C

PORTB.5 D6x Port D6 pada LCD, x adalah Slave A,B,C

PORTC.0 D7x Port D7 pada LCD, x adalah Slave A,B,C

PORTC.4 SDA Jalur komunikasi dengan Master

PORTC.5 SCL

PORTD.2 masuk_X Sensor kendaraan masuk dicabang A,B,C

PORTD.3 keluar_X Sensor kendaraan keluar dicabang A,B,C

3.3.3. Rangkaian LCD

3.3.3.1. Rangkaian LCD pada Master

4. Pada Gambar 3.10 menunjukan penggunaan pin LCD dari mikrokontroler master

dengan konfigurasi pin yang ditunjukan pada Tabel 3.4. Sedangkan untuk tampilan dari

LCD master ditunjukan pada Gambar 3.11.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

37

Gambar 3.10 Skematik LCD 20x4

Tabel 3.4 Penggunaan Pin LCD ATmega32

Port ATmega32 Penamaan Pin

PORTD.0 RS

PORTD.1 RW

PORTD.2 E

PORTD.3 D4

PORTD.4 D5

PORTD.5 D6

PORTD.6 D7

Tampilan LCD pada Master akan dirancang seperti gambar 3.11

Gambar 3.11 Tampilan LCD pada Master

3.3.3.2. Rangkaian LCD pada Slave

5. Pada Gambar 3.12 menunjukan penggunaan pin LCD dari mikrokontroler slave

dengan konfigurasi pin yang ditunjukan pada Tabel 3.5. Sedangkan untuk tampilan dari

LCD slave ditunjukan pada Gambar 3.13.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

38

Gambar 3.12 Rangkaian LCD pada Slave

Tabel 3.5 Penamaan Pin LCD pada Slave

Pin ATmega8 Penamaan Pin

PORTB.0 RSX

PORTB.1 RWX

PORTB.2 EX

PORTB.3 D4X

PORTB.4 D5X

PORTB.5 D6X

PORTC.0 D7X

Sedangkan pada Slave tampilan LCD nya adalah seperti Gambar 3.13 dimana X

adalah nama Slave (A,B,C)

Gambar 3.13 Tampilan LCD pada Slave

3.3.4. Rangkaian Komparator

Input untuk mikrokontroler agar dapat terbaca sebagai logika 1 maka harus memiliki

tegangan 2,5V sehingga digunakan rangkaian komparator seperti ditunjukan Gambar 3.15.

Dengan rangkaian yang ditunjukan dengan Gambar 3.14 maka tegangan input pada kaki

non-inverting dari rangkaian dapat dicari dengan rumus:

Vin =

(3.1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

39

4.

Gambar 3.14 Rangkaian Komparator

3.3.5. Rangkaian Sensor Infra merah

Sensor yang digunakan untuk mendeteksi adanya kendaraan yang melintas

diletakan di samping lajur kendaraan. Cara kerjanya adalah jika sensor infra merah

terhalang oleh mobil, maka lampu indikator receiver yang berada di komparator akan mati

sebagai tanda adanya perubahan kondisi.

Rangkaian transmitter yang dirancang adalah seperti pada Gambar 2.2. Nilai

resistansi didapatkan dari arus yang untuk transmitter sebesar 20 mA [12] dan tegangan

minimum transmitter dapat bekerja adalah sebesar 1.2 Volt (Vd) [12] maka resistansi

transmitter (Rt) yang digunakan dapat dicari dengan Persamaan (2.1) maka,

Rangkaian receiver ditunjukan dengan Gambar 3.14, pada rangkaian ini

menggunakan LM339 sebagai pembanding antara tegangan dari photodioda yang masuk

ke pin non-inverting dan tegangan referensi pada pin inverting. Pin output dari rangkaian

Receiver akan menjadi masukan dari mikrokontroler.

Dengan tegangan reverensi dari VR, maka output dari komparator dapat diatur

"pada intensitas cahaya berapa output dari regulator akan bernilai nol". Untuk

mendapatkan nilai R2 dapat dicari dengan mengetahui dengan persamaan 2.2

Diketahui:

Reverse Light Current = 36 µA

Reverse Dark Current ( ) = 30 nA

Dengan tegangan sumber (Vs) = 5 V

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

40

Sedangkan untuk hambatan saat gelap adalah,

Sebagai inputan ke komparator untuk mendapatkan setengah dari masukan maka

dapat dicari dengan 3.1 Jika tegangan input (Vin) yang diharapkan masuk ke komparator =

2.5V maka,

Vin =

Vin *( ) =

2.5 ( +138.8kΩ) =

2.5 + 347.000 =

347.000 =

= , sehingga R2 adalah 138.800 Ω

3.3.6. Rangkaian Relay

Setelah mikrokontroler menentukan keputusan lama waktu lampu menyala maka

saat kondisi port high akan mengaktifkan relay. Saat relay aktif maka supply +12V akan

mengalirkan arus untuk menyalakan lampu lalu lintas sesuai dengan waktu yang

ditentukan oleh mikrokontroler. Rangkaian ditunjukan dengan Gambar 3.15.

Gambar 3.15. Relay Pengaktif Lampu 12VDC

Diketahui :

Tegangan pin mikrokontroler logika1 adalah Vs = 5 Volt

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

41

Nilai VBE (typ) dari transistor BC547 adalah 700mV [13]

Nilai hfe atau (minimum) transistor BC547 = 110

Resistansi dari koil pada relay adalah RC= 320 Ω [13]

Arus yang dibutuhkan agar relay ON (pada datasheet), untuk menghantarkan

tegangan 12 VDC adalah Ic = 37,5mA [13] yang didapat dari Persamaan 2.4

Ic

= 0.0375 A= 37.5mA

Untuk mencari Ib menggunakan Persamaan 2.5 [13]

Ibsat

= 340

Untuk memastikan bahwa transistor sudah saturasi, maka Ib harus lebih besar dari Ib

(min.) sehingga:

Ib 1.3636 mA

Ketika transistor dalam keadaan ON, VBE ≈ 0,7 V tegangan yang melewati RB diperoleh

menggunakan sehingga digunakan persamaan 2.7.

Rb= –

= 3,153 k

3.4. Perancangan Perangkat Lunak

3.4.1. Diagram Alir Utama

Penamaan pada sensor inframerah ditunjukan pada Tabel 3.6.

Tabel 3.6 Penamaan sensor infra merah

Nama Piranti Port Slave

mA Sebagai pendeteksi kendaraaan masuk pada sisi A PORTD.2 A

mB Sebagai pendeteksi kendaraaan masuk pada sisi B PORTD.2 B

mC Sebagai pendeteksi kendaraaan masuk pada sisi C PORTD.2 C

kA Sebagai pendeteksi kendaraaan keluar pada sisi A PORTD.3 A

kB Sebagai pendeteksi kendaraaan keluar pada sisi B PORTD.3 B

kC Sebagai pendeteksi kendaraaan keluar pada sisi C PORTD.3 C

A-merah

Aktuator berupa Lampu 12VDC

PORTA.7

Master

A-kuning PORTB.0

A-hijau PORTB.1

B-merah PORTB.2

B-kuning PORTB.3

B-hijau PORTB.4

C-merah PORTB.5

C-kuning PORTB.6

C-hijau PORTB.7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

42

Gambar 3.16 Diagram Alir Utama

Pada diagram alir utama ditunjukan oleh Gambar 3.16. Pertama-tama proses

diawali dengan menekan tombol power, setelah itu sistem akan menginisialisasi pada

ATmega sebagai Master. Inisialisasi bertujuan untuk mengenali seluruh sistem berupa

LCD, relay, dan sistem komunikasi.

Setelah inisialisasi, layar LCD akan menampikan jumlah kendaraan yang ada pada

setiap cabang. Diawal proses prototype akan menjalanan Mode Nyala Awal, mode ini

dijalankan sementara agar sensor pada masing-masing slave dapat menghitung jumlah

kendaraan yang telah tertampung. Setelah mendapatkan jumlah ditiap cabang (masing-

masing slave), data akan dikirimkan ke Master untuk diproses oleh dengan logika Fuzzy.

Pada proses oleh Logika Fuzzy, master akan menyalakan lampu hijau sesuai dengan lama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

43

waktu yang ditentukan. Saat lampu dinyalakan akan kembali dilakukan pengambilan data

dari anak cabang untuk diproses di Logika Fuzzy yakni saat semua lampu lalu lintas

menyala merah (kondisi all red). Pada flowchart sensor masuk maupun keluar memiliki

nama tersendiri. Diagram Alir Sub Rutin Mode Nyala Lampu Awal ditunjukan

Gambar3.17

Gambar 3.17 Flowchart Mode Nyala Lampu Awal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

44

Dengan rincian waktu sebagai yang ditunjukan pada Tabel 3.7.

Tabel 3.7 Rincian Mode Awal

Detik Cabang A Cabang B Cabang C

0 Merah Merah Merah

3 Hijau Merah Merah

18 Kuning Merah Merah

21 Merah Merah Merah

24 Merah Hijau Merah

39 Merah Kuning Merah

42 Merah Merah Merah

45 Merah Merah Hijau

60 Merah Merah Kuning

63 Merah Merah Merah

Gambar 3.17 menunjukan pada awal proses saat detik =0 maka semua lampu cabang

menyala merah. Pada saat detik=3 maka lampu pada cabang A akan menyala hijau

sedangkan B dan C menyala merah. Jika detik ≠ 3 maka lampu pada cabang A akan tetap

berwarna hijau.

Saat detik=21 maka semua lampu pada cabang menyala merah, pada saat itu master

mengirimkan perintah untuk mengirim data yang didapat pada cabang A karena pada

cabang A sudah melewati fase lampu hijau. Jika detik ≠ 24 maka slave akan tetap

mengirimkan data terkini dari slave, saat detik=24 maka lampu pada cabang A dan C akan

menyala merah sedangkan pada cabang B menyala hijau. Pada saat detik =39 maka lampu

pada cabang A, dan C akan menyala merah dan cabang B menyala kuning.

Saat detik=42 maka semua lampu pada cabang menyala merah, pada saat itu master

mengirimkan perintah untuk mengirim data yang didapat pada cabang B karena pada

cabang B sudah melewati fase lampu hijau. Jika detik ≠ 45 maka slave akan tetap

mengirimkan data terkini dari slave, saat detik=45 maka lampu pada cabang A dan B akan

menyala merah sedangkan pada cabang C menyala hijau. Pada saat detik =60 maka lampu

pada cabang A, dan B akan menyala merah dan cabang C menyala kuning.

Saat detik=63 maka semua lampu pada cabang menyala merah, pada saat itu master

mengirimkan perintah untuk mengirim data yang didapat pada cabang C karena pada

cabang C sudah melewati fase lampu hijau. Jika detik ≠ 63 maka slave akan tetap

mengirimkan data terkini dari slave sampai detik=66. Setelah itu data dikirimkan ke Fuzzy

untuk diolah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

45

Pada mode nyala lampu awal ditentukan nyala lampu hijau, kuning dan kondisi all

red sehingga didapat masing masing lampu merah menyala 42 detik. Sehingga total waktu

yang digunakan untuk 1 siklus adalah 66 detik hanya pada waktu prototype dinyalakan

untuk pertama kali. Rincian pewaktuan lampu ditunjukan oleh Tabel 3.8.

Tabel 3.8 Pewaktuan lampu pada mode nyala lampu awal

Lampu Lama menyala

Hijau 15 detik

Kuning 3 detik

All Red 3 detik

3.4.2. Diagram Alir Anak Cabang

Gambar 3.18. Diagram Alir Anak Cabang X

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

46

Diagram alir anak cabang X (X adalah cabang A,B dan C) ditunjukan dengan

Gambar 3.18. Sistem pada anak cabang X dimulai pada saat Mode Nyala awal dimulai.

Saat sensor tidak mendeteksi adanya kendaraan lewat maka proses akan langsung keluar

dari sistem cabang X. Jika sensor mX mendeteksi adanya kendaraan maka data mX akan

bertambah 1 dan data disimpan pada variable mdX. Proses berlanjut ke proses deteksi

kendaraan keluar. Jika sensor kX tidak mendeteksi adanya kendaraan maka akan langsung

menuju ke perhitungan akhir data. Namun jika sensor kX mendeteksi adanya kendaraan

yang lewat (keluar dari area pengamatan), maka akan data kX akan bertambah 1 dan data

disimpan pada variable kdX. Setelah itu menuju perhitungan data akhir yakni dengan

mengurangi jumlah kendaraan yang masuk dengan jumlah kendaraan yang keluar

(dataX=mX-kX). Setelah itu proses dicabang ini akan berulang terus sampai lampu pada

semua cabang X menyala merah (kondisi All Red), pada kondisi itu slave akan mengirim

data ke Master untuk diolah oleh Logika Fuzzy untuk menentukan lama lampu hijau

berikutnya.

3.4.3. Diagram Alir Sub Rutin Pengiriman Data dari Slave

Gambar 3.19 Diagram Pengiriman Data dari Slave

Diagram Pengiriman Data dari Slave ditunjukan dengan Gambar 3.19. Data

dikirimkan dengan menggunakan komunikasi serial I2C. Program melakukan inisialisasi

pada port slave maupun master. Ketika pemrosesan data parameter pada slave selesai maka

data tersebut dikirim ke master.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

47

3.4.4. Diagram Alir Sub Rutin Fuzzy Logic

Gambar 3.20 Diagram Alir Sub Rutin Fuzzy Logic

Diagram Alir Sub Rutin Fuzzy Logic ditunjukan dengan Gambar 3.20. Proses sub

rutin diawali dengan inputan dari slave A, B dan C. Nilai input dipetakan ke titik-titik input

data kedalam nilai keanggotaannya (interval 0 sampai 1) pada framework input. Hasil dari

pemetaan input data yang memiliki derajat keanggotaan tertinggi akan diproses dan

disesuaikan dengan kondisi rules yang sudah ditentukan sehingga menghasilkan suatu

himpunan fuzzy baru. Keluaran himpunan fuzzy baru tersebut akan dikonversikan kembali

kedalam bentuk bilangan dengan menggunakan fungsi keanggotaan yang telah digunakan

sebelumnya, dengan hasil berupa lama waktu lampu hijau pada sisi X.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

48

3.5. Alogaritma Fuzzy Logic

3.5.1 Framework Input dan Output

Gambar 3.21 Framework Input dan Output

Gambar 3.21 merupakan ilustrasi input dan output dari Fuzzy Protipe ini

menggunakan 3 input dan 1 output, dimana output akan disesuaikan dengan urutan lampu

hijau menyala.

3.5.1.1. Framework Input X

Gambar 3.22 merupakan implementasi fungsi Framework Input 1 dengan

spesifikasi sebagai berikut,

x : Cabang X

T : Sedikit_X, Sedang_X, Tinggi_X

X : [0 10]

M : Sedikit_X = L (x: 0 5)

Sedang_X = ˄ (x: 1 5 9)

Banyak_X = L (x: 5 10)

Gambar 3.22 Framework Input X

3.5.1.2. Framework Output I

Gambar 3.23 merupakan implementasi fungsi Framework Output 1 dengan

spesifikasi sebagai berikut,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

49

x : Lampu Hijau X

T : Cepat_X, Agak Lama_X, Lama_X

X : [4 24]

M : Cepat_X = L (x: 4 14)

Agak Lama_X = ˄ (x: 6 14 22)

Lama_X = L (x: 14 24)

Gambar 3.23 Framework Output X

3.5.2. Kondisi Rule

Pada pemilihan rule, sebelumnya ditentukan kondisi-kondisi seperti ditunjukan

pada Tabel 3.9. Saat cabang A, cabang B dan cabang C memiliki nilai maka output akan

menyesuaikan lampu mana yang mendapat giliran untuk menyala.

Tabel 3.9 Kondisi Rules

No Input A Input B Input C Output A Output B Output C

1. Sedikit Sedikit Sedikit Cepat Cepat Cepat

2 Sedikit Sedikit Sedang Cepat Cepat Agak Lama

3 Sedikit Sedikit Banyak Cepat Cepat Lama

4 Sedikit Sedang Sedikit Cepat Agak Lama Cepat

5 Sedikit Banyak Sedikit Cepat Lama Cepat

6 Sedikit Sedang Sedang Cepat Agak Lama Agak Lama

7 Sedikit Sedang Banyak Cepat Agak Lama Lama

8 Sedikit Banyak Sedang Cepat Lama Agak Lama

9 Sedikit Banyak Banyak Cepat Lama Lama

10 Sedang Sedikit Sedikit Agak Lama Cepat Cepat

11 Sedang Sedikit Sedang Agak Lama Cepat Agak Lama

12 Sedang Sedikit Banyak Agak Lama Cepat Lama

13 Sedang Sedang Sedikit Agak Lama Agak Lama Cepat

14 Sedang Banyak Sedikit Agak Lama Lama Cepat

15 Sedang Sedang Sedang Agak Lama Agak Lama Agak Lama

16 Sedang Sedang Banyak Agak Lama Agak Lama Lama

17 Sedang Banyak Sedang Agak Lama Lama Agak Lama

18 Sedang Banyak Banyak Agak Lama Lama Lama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

50

(Lanjutan) Tabel 3.9 Kondisi Rules

19 Banyak Sedikit Sedikit Lama Cepat Cepat

20 Banyak Sedang Sedikit Lama Agak Lama Cepat

21 Banyak Sedikit Banyak Lama Cepat Lama

22 Banyak Sedikit Sedang Lama Cepat Agak Lama

23 Banyak Banyak Sedikit Lama Lama Cepat

24 Banyak Sedang Sedang Lama Agak Lama Agak Lama

25 Banyak Sedang Banyak Lama Agak Lama Lama

26 Banyak Banyak Sedang Lama Lama Agak Lama

27 Banyak Banyak Banyak Lama Lama Lama

3.5.3. Alogaritma Fuzzy Logic pada Mikrokontroler Master

Input dari Fuzzy Logic berupa data dari slave yang akan disimpan dalam variable

dataA, dataB, dataC.

3.5.3.1. Fuzzifikasi

Setiap input dari slave masing-masing akan memiliki derajat keanggotaan, range dari

derajat keanggotaan adalah [0 1]. Nilai derajat keanggotaan input, akan bernilai sama

dengan derajat keanggotaan output. Sebagai contoh pada Gambar 3.22 yakni Framework

Sedikit_X, memiliki fungsi linear turun maka untuk menentukan nilai derajat keanggotaan

input menggunakan persamaan 2.9, dan pada fungsi linear naik yang ditunjukan dengan

Gambar 2.22 pada kurva Tinggi_X menggunakan persamaan 2.8. Sehingga rincian derajat

keanggotaan ditunjukan dengan Tabel 3.10 sebagai berikut,

Tabel 3.10 Derajat Keanggotaan Framework Input

Keanggotaan Derajat keanggotaan Keterangan

( )

0

( )

( )

0

1

( )

0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

51

Nilai dari derajat keanggotaan yang digunakan, dipilih dengan membandingkan derajat

keanggotaan yang berasal dari ketiga input. Pemilihan derajat keanggotaan yang paling

rendah dilakukan dengan fungsi CVAVR sebagai berikut:

3.5.3.2. Basis Aturan

Kondisi pada masukan terlebih dahulu disesuaikan dengan basis aturan sehingga

masing-masing kondisi merujuk pada salah satu rule seperti pada Tabel 3.9. Basis aturan

yang akan menentukan rule mana yang akan digunakan untuk menghasilkan kondisi

Framework output lama lampu hijau.

3.5.3.3. Proses Defuzzifikasi

Proses defuzzifikasi yang digunakan adalah MOM (Mean of Maximum) yakni

dengan menggunakan persamaan 2.15.

(3.2)

Bagian pembilang (a+b) dapat di cari dengan melihat fungsi segitiga yang

digunakan, pada fungsi linear turun yang ditunjukan dengan Gambar 2.20 pada kurva

Cepat_X menggunakan persamaan 2.9. Sehingga untuk mencari nilai output berdasarkan

kondisi dan nilai derajat keanggotaan menjadi,

(3.3)

Jika disubtitusi dengan Framework Cepat_X yang digunakan maka rumus nilai output

akan menjadi,

(3.4)

(3.5)

Untuk mencari nilai output pada fungsi linear naik pada Framework Lama_X

berdasarkan nilai derajat keanggotaan menjadi,

( ) (3.6)

( ) (3.7)

(3.8)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

52

Dan pada fungsi segitiga yang ditunjukan dengan Gambar 2.22 pada kurva

Sedang_X menggunakan persamaan 2.8. yakni penjumlahan antara fungsi linear naik dan

fungsi linear turun sehingga untuk mencari nilai output berdasarkan Framework

Agak_Lama_X berdasarkan nilai derajat keanggotaan menjadi,

( ( )) (( ) ) (3.9)

( ( )) (( ) ) (3.10)

(3.11)

Setelah mendapat nilai t(A) untuk memenuhi persyaratan MOM disetiap rulenya.

Nilai dari defuzzifikasi merupakan output yang real dari lamanya lampu hijau.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

53

4. BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil pengamatan dari prototype sistem rekayasa

pengaturan lampu lalu lintas. Hasil pengamatan berupa pengujian sensor inframerah yang

mendeteksi kendaraan yang masuk dan keluar dari area pengamatan. LCD 20x4 berfungsi

sebagai penampil data yang diterima Master dari tiap slave dan lama lampu lalu lintas yang

sudah menggunakan algoritma Fuzzy Logic, dan pembahasan perangkat lunak.

4.1. Bentuk Fisik Alat

Perangkat keras dari prototype rekayasa pengaturan lampu lalu lintas terdiri atas

minimum sistem ATmega8, ATmega32. Bentuk dari fisik prototype rekayasa pengaturan

lampu lalu lintas seperti ditunjukan pada Gambar 4.1.(a) dan (b). Sensor kendaraan

ditunjukan pada Gambar 4.2 (a) dan (b), serta lampu lalu lintas ditunjukan pada Gambar

4.2 (c).

5. „ (a) (b)

Gambar 4.1 (a) Prototype Tampak Atas. (b) Prototype keseluruhan salah satu sis

Sisi C

Sisi A

Sisi B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

54

6.

(a) (b) (c)

Gambar 4.2. (a) Sensor Kendaraan Keluar. (b) Sensor Kendaraan Masuk. (c) Lampu Lalu

Lintas.

Keterangan Gambar 4.2:

1. Sensor Transmitter (Pemancar sinar inframerah)

2. Receiver dari sensor keluar (Sensor 2)

3. Sensor Transmitter

4. Receiver dari sensor masuk (Sensor 1)

7. (a) (b)

8. Gambar 4.3 (a) Board Relay Lampu Lalu Lintas (b) Board Komparator

Gambar 4.3.(a) merupakan tampilan board relay yang mengaktifkan lampu lalu lintas.

Pada board komparator seperti ditunjukan Gambar 4.3 (b) pin Out1, V Ref 1 dan VPhd 1

merupakan titik pengambilan data tegangan untuk Sensor 2 (keluar). Sedangkan Out2, V

Ref 2 dan Vphd 2 merupakan titik pengambilan data tegangan untuk Sensor 1 (masuk).

3 1

2 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

55

9. „(a) (b)

10. Gambar 4.4. (a) Board pada Slave (b) Board pada Master

Keterangan Gambar 4.4:

1. LCD 16x2 pada Board Slave

2. Mikrokontroler Atmega8

3. LCD 20x4 pada Board Master

4. Mikrokontroler Atmega32

Board Relay yang menyalakan lampu ditunjukan pada Gambar 4.3(a), Board

Komparator ditujukan pada Gambar 4.3.(b). Sedangkan Gambar 4.4(a) menunjukan board

dari minimum sistem ATmega8 yang berfungsi menerima data dari setiap sensor pada tiap

cabang. Gambar 4.4 (b) menunjukan board dari minimum sistem ATmega32 sebagai

Master yang bertugas memproses data yang diterima dari slave serta mengaktifkan lampu

lalu lintas.

4.2. Sistem Kerja Alat

Sistem kerja pada prototype rekayasa pengaturan lampu lalu lintas adalah jumlah

kendaraan dari masing-masing cabang akan mempengaruhi lama lampu hijau menyala

setiap cabangnya, sesuai dengan perintah yang telah diprogram pada Master. LCD 16x2

pada masing-masing slave akan memberikan informasi kepada pengamat jumlah

kendaraan yang terdapat pada tiap cabang. Penampil LCD pada slave A ditunjukan seperti

pada Gambar 4.5.

1

2

3

4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

56

Gambar 4.5. Tampilan LCD 16x2 Slave A

Keterangan Gambar 4.5:

1. Jumlah kendaraan masuk

2. Jumlah kendaraan keluar

3. Jumlah kendaraan diarea pengamatan

4. Informasi milik Slave A

Masing-masing slave mendapatkan data jumlah kendaraan dari kondisi yang

dideteksi oleh sensor inframerah tiap cabang. Data dari jumlah kendaraan dikirimkan

kepada Master secara serial melalui komunikasi I2C, dengan mengirimkan data berupa

karakter. Master akan menerima karakter tersebut yang berisi data jumlah kendaraan pada

tiap cabang, informasi tersebut dapat diketahui oleh pengamat melalui penampil LCD

20x4.

Pada awal sistem dinyalakan Master akan menjalankan lampu awal terlebih dahulu,.

Setelah Master akan menjalankan program nyala lampu adaptif dengan bantuan algoritma

Fuzzy Logic. Master akan mengolah data dari tiap slave dengan cara membandingkan

cabang A dengan cabang lain. Setelah data diolah dengan logika fuzzy, maka didapatkan

lama lampu hijau untuk semua cabang. Nyala adaptif lama lampu hijau akan dimulai dari

cabang A. Kemudian Master akan menyalakan lampu hijau pada cabang A sesuai dengan

output dari Fuzzy Logic untu lampu hijau cabang A. Sedangkan lampu merah pada cabang

B dan cabang C akan menyala sampai pada urutan nyala lampu. Proses akan berulang

kembali untuk cabang lainnya secara bergantian. Penampil LCD 20x4 Master ditunjukan

pada Gambar 4.6.

Gambar 4.6 Penampil CD 20x4 pada Master

1

2

3

4

1

2 4

3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

57

Keterangan Gambar 4.6:

1. Banyaknya Kendaraan di Sisi C

2. Kondisi atau case yang digunakan untuk defuzzifikasi

3. Lama lampu hijau sisi C

4. Hitung mundur lama lampu hijau sisi B

4.3. Rangkaian Keseluruhan Sistem

4.3.1. Rangkaian Master

Gambar 4.7 merupakan rangkaian keseluruhan dari Rangkaian Master, yang terdiri

dari rangkaian reset, rangkaian komunikasi I2C, rangkaian pin downloader, dan

konfigurasi pin pada mikrokontroler Atmega32. Sedangkan Gambar 4.8 merupakan

rangkaian dari aktuator berupa relay dan lampu pilot merah, kuning dan hijau yang

dikendalikan oleh mikrokontroler master.

Gambar 4.7 Rangkaian Master

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

58

Gambar 4.8 Rangkaian Aktuator pada Master

4.3.2. Rangkaian Slave

Pada Gambar 4.9 menunjukan rangkaian keseluruhan pada sub sistem slave yang

terdiri atas rangkaian sensor dan komparator, rangkian reset, rangkaian power, rangkaian

downloader, rangkaian komunikasi I2C dan konfigurasi pin dari ATmega8.

Gambar 4.9 Rangkaian Keseluruhan Slave

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

59

4.3.3. Perubahan Perancangan

Pada perancangan komparator pada rencana awal menggunakan IC LM339. Salah

satu faktor yang menyebabkan perubahan IC yang dipakai yaitu output komparator yang

dikeluarkan tidak sesuai yang diharapkan yakni sekitar (0,13V - 0,20V). Analisa awal

adalah disebabkan karena tegangan untuk IC LM339 hanya 5V sehingga output

komparator tidak akan mencapai tegangan 5V untuk pembacaan oleh mikrokontroler

ATmega8. Sudah dilakukan percobaan dengan menaikan tegangan VCC menjadi 12V dan

penambahan dioda zener 5V ke ground pada output komparator yang bertujuan membatasi

jika ada kelebihan tegangan lebih dari 5V, namun keluaran masih belun sesuai. Selanjutnya

dioda zener diganti dengan rangkaian pull-up pada output, keluaran yang dihasilkan sesuai

namun pada saat pembacaan sensor tidak sesuai dengan program yang menggunakan

interupsi falling edge.

Maka dilakukan penggantian IC komparator dengan IC LF353 dengan perancangan

komparator yang sama

4.4. Analisis Algoritma Fuzzy Logic

Pada sub bab ini akan dijelaskan mengenai proses mendapatkan lama lampu secara

teoritis dengan Algoritma Fuzzy metode Mamdani (Max-Min) dengan metode deffuzifikasi

MOM (Mean of Maximum).

4.4.1. Perhitungan Fuzzifikasi

Pada proses fuzzifikasi merupakan proses untuk memberikan nilai derajat

keanggotaan dari suatu jumlah kendaraan. Misalnya pada percobaan 11 pada Tabel 4.5

terdapat 1 kendaraan untuk sisi A, 4 kendaraan untuk sisi B, dan 9 kendaraan pada sisi C.

Perhitungan setiap tahapan secara teoritis, diawali pada tahap fuzzifikasi seperti

ditunjukan Tabel 4.1 untuk menentukan nilai derajat keanggotaan disetiap cabangnya.

Setiap data yang masuk ke master adalah jumlah kendaraan dari tiap slave, masing-masing

data dari tiap slave akan memiliki kategori terpilih yang didapat dari perbandingan semua

nilai derajat keanggotaan ditiap kategori. Secara teoritis suatu data dapat termasuk dalam 2

kategori sekaligus, sehingga untuk menentukan hanya ada 1 kategori terpilih adalah

dengan cara membandingkan kedua kategori tersebut. Kategori yang memiliki nilai derajat

keanggotaan tertinggi akan dijadikan sebagai kategori terpilih dari data itu. Pemilihan

kategori pada tahap ini merupakan tahap MAX dari metode Mamdani.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

60

Tabel 4.1 Data dengan kategori terpilih

Data Perhitungan Fuzzifikasi

Kategori terpilih Sedikit Sedang 1 Sedang 2 Banyak

0

Sedikit (SK)

1

Sedikit (SK)

2

Sedikit (SK)

3

Sedang 1 (SD1)

4

Sedang 1 (SD1)

5

Sedang 2 (SD2)

6

Sedang 2 (SD2)

7

Sedang 2 (SD2)

8

Banyak (BY)

9

Banyak (BY)

10

Banyak (BY)

Sehingga untuk kategori terpilih untuk kasus 1 kendaraan untuk sisi A, 4 kendaraan

untuk sisi B, dan 9 kendaraan pada sisi C adalah Sedikit pada cabang A dengan nilai

derajat keanggotaan 0,8 (secara teoritis) dan 80 (pada program), Sedang 1 pada cabang B

dengan nilai derajat keanggotaan 0,75 (secara teoritis) dan 75 (pada program) dan Banyak

untuk cabang C dengan nilai derajat keanggotaan 0,8 (secara teoritis) dan 80 (pada

program). Pada tahap fuzzifikasi input datanya adalah jumlah kendaraan setiap cabang dan

keluarannya adalah nilai derajat keanggotaan.

4.4.2. Pemilihan Basis Aturan

Setelah didapatkan kategori terpilih dari setiap cabang maka selanjutnya akan

diarahkan pada perhitungan deffuzifikasi dengan bantuan dari Basis Aturan. Setiap

kategori terpilih akan mengarahkan ke perhitungan defuzzifikasi seperti ditunjukan pada

Tabel 3.9.

Pada kasus tersebut memiliki kategori yang Sedikit, Sedang1 dan Banyak akan

mengarah pada Tabel 3.9 nomor 7. Keluaran lama lampu hijau cabang A berada di kategori

Cepat, cabang B berada di kategori Agak Lama sedangkan cabang C berada di kategori

Lama. Sehingga masukan dari proses basis aturan adalah kategori yang dimiliki setiap

cabang dan keluarannya adalah kategori output terpilih untuk proses defuzzifikasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

61

4.4.3. Perhitungan Defuzzifikasi

Pada proses akhir algoritma Fuzzy Logic adalah tahap defuzzifikasi, tahap ini akan

menggembalikan data menjadi lama lampu hijau. Tahap defuzzifikasi adalah tahap dimana

input nilai derajat keanggotaan dari jumlah kendaraan setiap cabang dan keluarannya

adalah lama lampu hijau.

Pada tahap defuzzifikasi ini nilai derajat keanggotaan yang digunakan adalah

derajat keanggotaan yang paling minimum. Tahap ini merupakan tahapan MIN dari metode

Mamdani. Kemudian untuk proses penegasan pada proses defuzzifikasi adalah dengan

metoe MOM (Mean of Maximum).

Pada tahap defuzzifikasi ini menggunakan fungsi linear naik dan turun. Dengan

adalah nilai derajat keanggotaan terendah dari ketiga cabang. Proses defuzzifikasi

dengan penegasan MOM seperti ditunjukan pada Tabel 4.2.

Tabel 4.2 Defuzzifikasi Penegasan MOM

No Kategori Rumus

1. Cepat

2. Agak Lama 1 ( )

3. Agak Lama 2 ( )

4. Lama

Pada kasus tersebut derajat terendah dari ketiga slave adalah 0,75 dan hasil dari

basis aturan untuk kasus tersebut pada output cabang A adalah cepat. Sehingga

menggukanan rumus penegasan MOM pada Tabel 4.2.

Sehingga lama lampu hijau untuk cabang A yang berisi 1 kendaraan adalah 5,25,

namun pada pemrograman dibulatkan 1 angka dibelakang koma menjadi 5,2 detik. Pada

output cabang B adalah Agak Lama. Sehingga menggukanan rumus penegasan MOM

menjadi,

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

62

Sehingga lama lampu hijau untuk cabang B yang berisi 4 kendaraan adalah 14

detik. Pada output cabang C adalah Lama. Sehingga menggukanan rumus penegasan

MOM menjadi,

Sehingga lama lampu hijau untuk cabang C yang berisi 9 kendaraan adalah 22,75

detik. Namun pada pemrograman dibulatkan 1 angka dibelakang koma menjadi 22,7 detik

4.5. Hasil Data Pengujian dan Pembahasan

Pada sub bab ini dilakukan pengujian dan pembahasan terhadap perangkat keras dan

pengujian program dari prototype rekayasa pengaturan lampu lalu lintas. Pengujian

perangkat keras dilakukan dengan pengujian sensor inframerah, pengujian komparator, dan

pengujian transistor. Pengujian pada program dilakukan dengan pengujian apakah Master

dapat menerima data serial sudah sesuai dengan data yang ada pada tiap slave dan apakah

lama lampu hijau sesuai dengan jumlah kendaraan pada tiap slave.

4.5.1. Pengujian Hardware

Pengujian Hardware dilakukan pada perangkat elektronik yaitu sensor inframerah,

photodioda dan komparator dilakukan dengan pengukuran tegangan, pengukuran tegangan

referensi pada tiap cabang.

4.5.1.1. Pengujian Sensor Inframerah dan Komparator

Pengujian sensor inframerah dilakukan dengan pengambilan nilai tegangan keluaran

sensor inframerah, tegangan photodioda, tegangan referensi dan tegangan output dari

komparator. Data diambil ada tiap sensor dan komparator dari tiap cabang yang ada pada

prototype.

Pada Tabel 4.3. menunjukan nilai tegangan pada sensor infrared, output photodida,

tegangan referensi dan output komparator. Saat sinar inframerah tidak sampai ke

photodioda atau terhalang kendaraan yang menyebabkan resistansi semakin kecil maka

tegangan mendekati VCC. Tegangan dari photodioda akan masuk ke komparator, jika

tegangan photodioda lebih besar dari tegangan referensi sebagai nilai batas, maka outputan

dari komparator akan mendekati dari VCC.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

63

Tabel 4.3 Data Tegangan Sensor dan Komparator

Slave

Tegangan Tegangan Photodioda

(volt) Tegangan

Output Komparator

(volt)

Infrared

(volt)

Ada

Mobil

Tidak Ada

Mobil

referensi

(volt)

Ada

Mobil

Tidak Ada

Mobil

A Sen. 1

1,15 4,47 0,14 1,60 3,70 -0,06

Sen. 2 4,48 0,15 1,59 3,70 -0,06

B Sen. 1

1,15 4,35 0,21 1,50 3,59 -0,01

Sen. 2 4,35 0,19 1,51 3,59 -0,01

C Sen. 1

1,15 4,49 0,18 1,52 3,67 -0.02

Sen. 2 4,49 0,19 1,54 3,67 -0,01

Dari Tabel 4.3 tegangan output dari komparator >2,5V sehingga mikrokontroler

dapat membaca sebagai logika 1, dan saat tidak ada kendaraan maka outputan dari

komparator akan mendekati ground sehingga terbaca oleh mikrokontroler sebagai logika 0.

Nilai tegangan ini sesuai untuk pembacaan mikrokontroler saat mendeteksi ada atau tidak

adanya kendaraan.

4.5.1.2. Pengujian Hardware dan Software

Pengujian software dan hardware pada prototype dilakukan untuk menguji

penggabungan sistem menjadi satu kesatuan dilakukan dengan melihat informasi yang

ditunjukan LCD 20x4 sebagai penampil Master. Pengujian dilakukan sebanyak 65 kali

percobaan yang bertujuan untuk mengetahui lama lampu hijau dengan berbagai kondisi

jumlah kendaraan. Pada pengaturan lama lampu hijau diambil secara berurutan diawali

dengan nyala lampu adaptif, setelah proses selesai maka akan dilanjutkan dengan nyala

lampu adaptif untuk cabang A sesuai dengan proses algoritma Fuzzy Logic. Seperti

ditunjukan Tabel 4.4.

Keterangan Tabel 4.4, Tabel 4.5 dan Tabel 4.6:

Perc. = Percobaan

Perhit. = Perhitungan teoritis

err (%) = Error

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

64

Tabel 4.4 Data Pengujian cabang A P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang A

Jumlah Jumlah Jumlah A B C Waktu

1 0 0 0 0 0 0 4 4 0.00

2 2 0 3 2 0 3 6.5 6.5 0.00

3 1 2 6 1 2 6 6 6 0.00

4 1 0 8 1 0 8 6 6 0.00

5 2 4 0 2 4 0 6 6 0.00

6 2 5 1 2 5 1 6 6 0.00

7 2 4 4 2 4 4 6 6 0.00

8 0 3 7 0 3 7 6.5 6.5 0.00

9 0 6 3 0 6 3 6.5 6.5 0.00

10 1 5 7 1 5 7 6.5 6.5 0.00

11 1 4 9 1 4 9 5.2 5.25 0.95

12 2 6 10 2 6 10 6 6 0.00

13 0 8 1 0 8 1 6 6 0.00

14 1 9 4 1 9 4 5.2 5.25 0.95

15 0 8 7 0 8 7 6.5 6.5 0.00

16 2 10 10 2 10 10 6 6 0.00

17 3 2 0 3 2 0 14 14 0.00

18 6 0 0 6 0 0 14 14 0.00

19 3 2 4 3 2 4 14 14 0.00

20 3 1 5 3 1 5 14 14 0.00

21 6 1 4 6 1 4 14 14 0.00

22 5 1 7 5 1 7 14 14 0.00

23 4 2 8 4 2 8 14 14 0.00

24 6 0 9 6 0 9 14 14 0.00

25 4 3 1 4 3 1 14 14 0.00

26 3 7 1 3 7 1 14 14 0.00

27 5 3 0 5 3 0 14 14 0.00

28 6 7 0 6 7 0 14 14 0.00

29 3 4 3 3 4 3 14 14 0.00

30 3 3 6 3 3 6 14 14 0.00

31 4 5 4 4 5 4 14 14 0.00

32 4 6 6 4 6 6 14 14 0.00

33 6 3 4 6 3 4 14 14 0.00

34 7 3 5 7 3 5 14 14 0.00

35 6 7 3 6 7 3 14 14 0.00

36 5 7 5 5 7 5 14 14 0.00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

65

(Lanjutan) Tabel 4.4. Data Pengujian cabang A P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang A

Jumlah Jumlah Jumlah A B C Waktu

37 4 4 8 4 4 8 14 14 0.00

38 3 6 9 3 6 9 14 14 0.00

39 5 3 9 5 3 9 14 14 0.00

40 7 7 9 7 7 9 14 14 0.00

41 4 10 2 4 10 2 14 14 0.00

42 6 10 1 6 10 1 14 14 0.00

43 4 8 3 4 8 3 14 14 0.00

44 4 9 7 4 9 7 14 14 0.00

45 5 9 3 5 9 3 14 14 0.00

46 7 8 5 7 8 5 14 14 0.00

47 4 10 8 4 10 8 14 14 0.00

48 7 8 9 7 8 9 14 14 0.00

49 10 1 2 10 1 2 22 22 0.00

50 9 2 3 9 2 3 21.5 21.5 0.00

51 8 0 5 8 0 5 22 22 0.00

52 10 2 8 10 2 8 22 22 0.00

53 9 4 0 9 4 0 22.7 22.75 0.22

54 9 6 1 9 6 1 22.7 22.75 0.22

55 8 3 4 8 3 4 21.5 21.5 0.00

56 10 3 7 10 3 7 21.5 21.5 0.00

57 9 7 4 9 7 4 21.5 21.5 0.00

58 8 5 5 8 5 5 22 22 0.00

59 10 4 8 10 4 8 22 22 0.00

60 9 7 9 9 7 9 21.5 21.5 0.00

61 10 10 2 10 10 2 22 22 0.00

62 8 9 3 8 9 3 21.5 21.5 0.00

63 9 9 6 9 9 6 22.7 22.75 0.22

64 10 10 9 10 10 9 23 23 0.00

65 10 10 10 10 10 10 24 24 0.00

Persentase Error Cabang A 0.04

Saat lampu hijau pada cabang A menyala, kondisi lampu pada cabang B dan C

adalah lampu merah menyala. Setelah nyala lampu hijau dari cabang A selesai maka akan

dilanjutkan dengan menyalakan semua lampu merah atau kondisi (allred) selama 3 detik.

Kemudian dilanjutkan dengan perhitungan kembali Algoritma Fuzzy Logic oleh

mikrokontroler untuk menentukan nyala lampu hijau pada cabang B. Data pengujian nyala

lampu hijau untuk cabang B ditunjukan pada Tabel 4.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

66

Tabel 4.5 Data Pengujian cabang B P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang B

Jumlah Jumlah Jumlah A B C Waktu

1 0 0 0 0 1 0 4 4 0.00

2 2 0 3 2 0 3 6.5 6.5 0.00

3 1 2 6 1 2 6 6 6 0.00

4 1 0 8 1 0 8 6 6 0.00

5 2 4 0 2 4 0 14 14 0.00

6 2 5 1 2 5 1 14 14 0.00

7 2 4 4 2 4 4 14 14 0.00

8 0 3 7 0 3 7 14 14 0.00

9 0 6 3 0 6 3 14 14 0.00

10 1 5 7 1 5 7 14 14 0.00

11 1 4 9 1 4 9 14 14 0.00

12 2 6 10 2 6 10 14 14 0.00

13 0 8 1 0 8 1 22 22 0.00

14 1 9 4 1 9 4 22.7 22.75 0.22

15 0 8 7 0 8 7 21.5 21.5 0.00

16 2 10 10 2 10 10 22 22 0.00

17 3 2 0 3 2 0 6.5 6.5 0.00

18 6 0 0 6 0 0 5.2 5.25 0.95

19 3 2 4 3 2 4 6.5 6.5 0.00

20 3 1 5 3 1 5 6.5 6.5 0.00

21 6 1 4 6 1 4 5.2 5.25 0.95

22 5 1 7 5 1 7 6.5 6.5 0.00

23 4 2 8 4 2 8 6 6 0.00

24 6 0 9 6 0 9 5.2 5.25 0.95

25 4 3 1 4 3 1 14 14 0.00

26 3 7 1 3 7 1 14 14 0.00

27 5 3 0 5 3 0 14 14 0.00

28 6 7 0 6 7 0 14 14 0.00

29 3 4 3 3 4 3 14 14 0.00

30 3 3 6 3 3 6 14 14 0.00

31 4 5 4 4 5 4 14 14 0.00

32 4 6 6 4 6 6 14 14 0.00

33 6 3 4 6 3 4 14 14 0.00

34 7 3 5 7 3 5 14 14 0.00

35 6 7 3 6 7 3 14 14 0.00

36 5 7 5 5 7 5 14 14 0.00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

67

(Lanjutan) Tabel 4.5. Data Pengujian cabang B P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang B

Jumlah Jumlah Jumlah A B C Waktu

37 4 4 8 4 4 8 14 14 0.00

38 3 6 9 3 6 9 14 14 0.00

39 5 3 9 5 3 9 14 14 0.00

40 7 7 9 7 7 9 14 14 0.00

41 4 10 2 4 10 2 22 22 0.00

42 6 10 1 6 10 1 22.7 22.75 0.22

43 4 8 3 4 8 3 21.5 21.5 0.00

44 4 9 7 4 9 7 21.5 21.5 0.00

45 5 9 3 5 9 3 21.5 21.5 0.00

46 7 8 5 7 8 5 21.5 21.5 0.00

47 4 10 8 4 10 8 22 22 0.00

48 7 8 9 7 8 9 21.5 21.5 0.00

49 10 1 2 10 1 2 6 6 0.00

50 9 2 3 9 2 3 6.5 6.5 0.00

51 8 0 5 8 0 5 6 6 0.00

52 10 2 8 10 2 8 6 6 0.00

53 9 4 0 9 4 0 14 14 0.00

54 9 6 1 9 6 1 14 14 0.00

55 8 3 4 8 3 4 14 14 0.00

56 10 3 7 10 3 7 14 14 0.00

57 9 7 4 9 7 4 14 14 0.00

58 8 5 5 8 5 5 14 14 0.00

59 10 4 8 10 4 8 14 14 0.00

60 9 7 9 9 7 9 14 14 0.00

61 10 10 2 10 10 2 22 22 0.00

62 8 9 3 8 9 3 21.5 21.5 0.00

63 9 9 6 9 9 6 22.7 22.75 0.22

64 10 10 9 10 10 9 23 23 0.00

65 10 10 10 10 10 10 24 24 0.00

Persentase Error Cabang B 0.05

Saat lampu hijau pada cabang B menyala, kondisi lampu pada cabang A dan C

adalah lampu merah menyala. Setelah nyala lampu hijau dari cabang B selesai maka akan

dilanjutkan dengan menyalakan semua lampu merah atau kondisi (allred) selama 3 detik.

Kemudian dilanjutkan dengan perhitungan kembali Algoritma Fuzzy Logic oleh

mikrokontroler untuk menentukan nyala lampu hijau pada cabang C. Data pengujian nyala

lampu hijau untuk cabang C ditunjukan pada Tabel 4.6.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

68

Tabel 4.6 Data Pengujian cabang C P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang C

Jumlah Jumlah Jumlah A B C Waktu

1 0 0 0 0 0 0 4 4 0.00

2 2 0 3 2 0 3 14 14 0.00

3 1 2 6 1 2 6 14 14 0.00

4 1 0 8 1 0 8 22 22 0.00

5 2 4 0 2 4 0 6 6 0.00

6 2 5 1 2 5 1 6 6 0.00

7 2 4 4 2 4 4 14 14 0.00

8 0 3 7 0 3 7 14 14 0.00

9 0 6 3 0 6 3 14 14 0.00

10 1 5 7 1 5 7 14 14 0.00

11 1 4 9 1 4 9 22.7 22.75 0.22

12 2 6 10 2 6 10 22 22 0.00

13 0 8 1 0 8 1 6 6 0.00

14 1 9 4 1 9 4 14 14 0.00

15 0 8 7 0 8 7 14 14 0.00

16 2 10 10 2 10 10 22 22 0.00

17 3 2 0 3 2 0 6.5 6.5 0.00

18 6 0 0 6 0 0 5.2 5.25 0.95

19 3 2 4 3 2 4 14 14 0.00

20 3 1 5 3 1 5 14 14 0.00

21 6 1 4 6 1 4 14 14 0.00

22 5 1 7 5 1 7 14 14 0.00

23 4 2 8 4 2 8 22 22 0.00

24 6 0 9 6 0 9 22.7 22.75 0.22

25 4 3 1 4 3 1 6.5 6.5 0.00

26 3 7 1 3 7 1 6.5 6.5 0.00

27 5 3 0 5 3 0 6.5 6.5 0.00

28 6 7 0 6 7 0 6.5 6.5 0.00

29 3 4 3 3 4 3 14 14 0.00

30 3 3 6 3 3 6 14 14 0.00

31 4 5 4 4 5 4 14 14 0.00

32 4 6 6 4 6 6 14 14 0.00

33 6 3 4 6 3 4 14 14 0.00

34 7 3 5 7 3 5 14 14 0.00

35 6 7 3 6 7 3 14 14 0.00

36 5 7 5 5 7 5 14 14 0.00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

69

(Lanjutan) Tabel 4.6. Data Pengujian cabang C P

erc.

SLAVE MASTER

Per

hit

.

err.

(%

)

A B C Data Master Cabang C

Jumlah Jumlah Jumlah A B C Waktu

37 4 4 8 4 4 8 22 22 0.00

38 3 6 9 3 6 9 21.5 21.5 0.00

39 5 3 9 5 3 9 21.5 21.5 0.00

40 7 7 9 7 7 9 21.5 21.5 0.00

41 4 10 2 4 10 2 6 6 0.00

42 6 10 1 6 10 1 5.2 5.25 0.95

43 4 8 3 4 8 3 14 14 0.00

44 4 9 7 4 9 7 14 14 0.00

45 5 9 3 5 9 3 14 14 0.00

46 7 8 5 7 8 5 14 14 0.00

47 4 10 8 4 10 8 22 22 0.00

48 7 8 9 7 8 9 21.5 21.5 0.00

49 10 1 2 10 1 2 6 6 0.00

50 9 2 3 9 2 3 14 14 0.00

51 8 0 5 8 0 5 14 14 0.00

52 10 2 8 10 2 8 22 22 0.00

53 9 4 0 9 4 0 5.2 5.25 0.95

54 9 6 1 9 6 1 5.2 5.25 0.95

55 8 3 4 8 3 4 14 14 0.00

56 10 3 7 10 3 7 14 14 0.00

57 9 7 4 9 7 4 14 14 0.00

58 8 5 5 8 5 5 14 14 0.00

59 10 4 8 10 4 8 22 22 0.00

60 9 7 9 9 7 9 21.5 21.5 0.00

61 10 10 2 10 10 2 6 6 0.00

62 8 9 3 8 9 3 14 14 0.00

63 9 9 6 9 9 6 14 14 0.00

64 10 10 9 10 10 9 23 23 0.00

65 10 10 10 10 10 10 24 24 0.00

Persentase Error Cabang C 0.07

Saat lampu hijau pada cabang C menyala, kondisi lampu yang menyala pada

cabang A dan B adalah lampu merah. Setelah nyala lampu hijau dari cabang C selesai

maka akan dilanjutkan dengan menyalakan semua lampu merah atau menyalakan kondisi

(allred) selama 3 detik. Kemudian dilanjutkan dengan perhitungan kembali Algoritma

Fuzzy Logic oleh mikrokontroler untuk menentukan nyala lampu hijau pada cabang A,

begitu seterusnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

70

Pada Tabel 4.4 untuk percobaan 11 kolom “Slave” menunjukan jumlah kendaraan

yang dideteksi cabang A,B,C adalah 1,4,9. Pada kolom “Data Master” menunjukan data

yang diterima oleh master dari komunikasi I2C dari slave A,B dan C adalah 1,4 dan 9.

Kolom “Cabang X” nilai 5,2 menunjukan hasil dari algoritma fuzzy logic cabang A yakni

lama lampu hijau yang akan menyala. Kolom “Perhit.” nilai 5.25 merupakan hasil

perhitungan secara teoritis cabang A. Sedangkan kolom “error” memiliki nilai

0.952380952% yang merupakan persentase error dari pengujian dengan perhitungan

algoritma Fuzzy Logic dari percobaan 11.

Dari pengujian data yang telah dilakukan dapat dikatakan berhasil. Komunikasi I2C

dapat mengirimkan data dari slave ke master, hal ini dapat dilihat di Tabel 4.5, Tabel 4.6

dan Tabel 4.7, pada kolom “Data Master” memiliki nilai yang sama dengan “Jumlah”

pada tiap cabang. Jumlah kendaraan dari masing-masing cabang akan mempengaruhi lama

dari nyala lampu hijau. Semakin banyak kendaraan maka akan semakin lama nyala lampu

hijau, sedangkan semakin sedikit kendaraan maka akan semakin cepat nyala lampu hijau

cabang tersebut.

Terdapat perbedaan dari lama lampu hijau antara perhitungan teoritis dengan

pengujian alat (Tabel 4.4, Tabel 4.5, Tabel 4.6.) karena pada programing yang ditampilkan

hanya 1 angka dibelakang koma.

Persentase error pada perbandingan pengujian dan perhitungan secara teoritis

adalah dengan menggunakan rumus Persamaan 4.1

(4.1)

Persentase keberhasilan alat didapatkan dengan menggunakan rumus Persamaan 4.2

(4.2)

Sehingga persentase keberhasilan alat dengan algoritma Fuzzy Logic adalah 99.95%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

71

Dari pengujian prototype dapat dikatakan berhasil, sensor inframerah dan

photodioda pada masing-masing slave dapat bekerja dengan mendeteksi kendaraan yang

masuk dan keluar. Kemudian data jumlah kendaraan dikirimkan ke Master dengan

komunikasi serial I2C dan diolah oleh mikrokontroler ATmega32. Lampu lalu lintas juga

dapat bekerja dengan baik yaitu dengan menyala sesuai dengan lama lampu hijau yang

ditentukan oleh program Fuzzy Logic.

Pada proses pengujian prototype pendeteksian oleh sensor slave dapat berjalan

dengan baik. Namun terdapat kondisi saat 1 kendaraan yang terbaca oleh slave sebagai 2

kendaraan. Hal ini terjadi karena posisi sensor pendeteksi masih terlalu tinggi terhadap

mobil-mobil rendah yang menyebabkan 1 kendaraan terbaca sebagai 2 kendaraan, karena

pada mobil-mobilan rendah terdapat celah sehingga slave membaca kondisi Falling Edge

2x. Posisi dari led infrared dan led photodioda juga harus diperhatikan agar dapat

mendeteksi kendaraan yang melintas.

4.6. Analisa dan Pembahasan Perangkat Lunak

Pada sub bab ini akan dibahas mengenai analisis dan listing program pada slave dan

Master menggunakan CodeVision AVR.

4.6.1. Aplikasi CodeVision AVR pada Slave

Pada sub bab ini akan dibahas masing-masing fungsi pada listing program Slave

menggunakan software CodeVision AVR diantaranya program pendeteksi kendaraan

(sensor inframerah), dan program komunikasi serial menggunakan komunikasi I2C.

4.6.1.1. Sensor Pendeteksi Kendaraan

Pada pembacaan sensor pendeteksi kendaraan yakni led inframerah sebagai

transmitter, proses pembacaan photodioda dan komunikasi I2C menggunakan

mikrokontroler ATmega8.

Gambar 4.10. Inisialisasi dan pendeklarasian program pada Slave A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

72

Gambar 4.10. menunjukan inisialisasi dan deklarasi fungsi yang akan digunakan

dalam pemrograman slave. Variabel “masukA” digunakan untuk menyimpan jumlah data

dari sensor 1 (sensor masuk) yang ada dicabang A. Variabel “keluarA” digunakan untuk

menyimpan jumlah data dari sensor 2 (sensor keluar) yang ada dicabang A. Variabel

“data_A” digunakan untuk menyimpan data keseluruhan dari cabang A. Penggunaan

variabel“buff” adalah sebagai array untuk wilayah pertukaran data jumlah kendaraan.

Pendeteksian kendaraan menggunakan sensor inframerah dan photodioda, saat

photodioda terkena pancaran sinar inframerah maka tegangan yang dikeluarkan photodioda

dibawah 1V sedangkan saat tidak terkena pancaran sinar inframerah akan memiliki

teganagan diatas 2,5V. Sehingga saat photodioda tidak terkena pancaran sinar inframerah

mikrokontroler dapat terbaca logika 1, maka dibutuhkan special port Interupsi yang

dimiliki ATmega8. Penggunaan instruksi interupsi maka harus mengaktifkan port interupsi

terlebih dahulu. Interupsi yang digunakan adalah dengan menggunakan mode Falling Edge

yang bertujuan akan membaca data saat adanya perubahan dari logika 1 ke 0. Seperti

ditunjukan dengan Gambar 4.11. dan listing program yang ditunjukan Gambar 4.12.

Gambar 4.11. Setting Awal untuk mengaktifkan fungsi Interupsi

Gambar 4.12 Listing Program untuk fungsi Interupsi

Instruksi “masukA++” berfungsi sebagai operator penjumlah, yang akan

menambah nilai 1 pada variabel “masukA“ jika kondisi interupsi terpenuhi, begitu juga

pada variabel “keluarA. Seperti ditunjukan Gambar 4.12. adalah program interupsi cabang

A yang digunakan untuk sensor masuk dan sensor keluar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

73

Pengaturan interrupt juga bisa di cek pada nilai MCUCR pada void main().Seperti

ditunjukan Gambar 4.13. Register MCUCR berfungsi untuk mengatur pemicu interupsi.

Pada program slave MCUCR meniliki nilai 0x0A atau pada fungsi biner 0000 1010 yang

memiliki arti bahwa fungsi interup 1 dan 2 menggunakan transisi turun atau Falling Edge.

pada line 71 menunjukan pada program ini mengaktifkan LCD dengan 16 karakter

sedangkan line 72 menunjukan pada program ini mengaktifkan interupsi. Variabel

“data_A” merupakan hasil dari operasi pengurangan antara data pada variabel “masukA”

dan “keluarA”, dimana “data_A” adalah variabel yang berisi data dari jumlah kendaraan

pada cabang A.

Gambar 4.13 listing program pada void main() slave

Fungsi dari instruksi lcd_gotoxy(8,0) adalah sebagai koordinat dari karakter yang

ditampilkan, (0,1 ) berarti karakter pertama akan diletakan pada kursor ke 0 pada koordinat

sumbu x dan 1 berarti pada baris ke 2 pada koordinat sumbu y. Fungsi dari sprintf adalah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

74

menuliskan string “masukA” di dalam flash ke LCD. Sedangkan fungsi lcd_puts()

menuliskan string buff di dalam SRAM ke LCD,

4.6.1.2. Pengendali Komunikasi I2C

Pada masing-masing slave memiliki alamat tersendiri yakni pada pengaturan pada

saat mengkonfigurasi awal. Pada pengaturan penggunaan komunikasi I2C ditunjukan

dengan Gambar 4.14 (a) dan (b).

„(a) (b)

Gambar 4.14. (a)Setting Port SDA dan SCL I2C Slave. (b) Setting alamat dari Slave

Listing program komunkasi 12C ditunjukan Gambar 4.15 dan 4.16. Pengaturan

alamat 0x02 memiliki arti bahwa slave A dikenal sebagai slave dengan nomor 1, sedangan

slave B akan memiliki alamat 0x04 (slave nomor 2) dan slave C memiliki alamat 0x06

(slave nomor 3). Pada register TWAR (TWI Address Register) bit7-bit1 merupakan bit

untuk menyimpan alamat sebagai slave, sedangkan bit 0 (register TWGCE) digunakan

untuk mengaktifkan respon sebagai slave.

Gambar 4.15. Listing Program I2C pada Slave A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

75

Gambar 4.16. Void main komunikasi I2C

Sedangkan komunikasi I2C pada slave merupakan sebuah fungsi interupsi yakni jika

fungsi I2C dipanggil maka akan menjalanan program yang ada didalamnya, fungsi masing-

masing adalah sebagai berikut:

a. if (TWSR==0xA8) TWDR=data_A>>8; (line 39, 40)

Kondisi ini berarti jika register TWSR bernilai 0xA8 maka data jumlah kendaraan

akan mengisi register TWDR, dengan menggeser bit satu per satu. TWSR bernilai

0x48 adalah berupa isyarat yang diberikan oleh Master sebagai tanda start untuk

komunikasi I2C, dan sebagai tanda bahwa register TWDR sedang dalam proses

penulisan data.

b. if (TWSR==0xB8) TWDR=data_A; (line 42, 43)

Kondisi ini berarti jika TWSR bernilai 0xB maka komunikasi telah di stop oleh

Master,dan data sudah tersimpan dalam register TWDR.

c. TWCR|=0x80; (line 53)

Kondisi ini berarti menandakan bahwa komunikasi I2C telah selesai dan langsung

mereset interupsi I2C kembali.

4.6.2. Aplikasi CodeVision AVR pada Master

Mikrokontroler pengendali pada Master dan komunikasi I2C menggunakan

mikrokontroler ATmega32. Pada Gambar 4.17 menunjukan deklarasi program.

Seperti ditunjukan line 10-16 merupakan fungsi-fungsi library yang akan gunakan

dikeseluruhan program dengan instruksi “#include”. Selanjutnya fungsi dari “#define”

seperti ditunjukan line 18-37 bertujuan mendefinisikan sebuah variabel untuk

menginisialisasikan port atau nilai secara global dalam suatu program.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

76

Gambar 4.17. Inisialisasi dan deklarasi program pada Master

4.6.2.1. Penerimaan Data I2C

„(a) (b)

Gambar 4.18. (a) pengaktifan fungsi I2C (b) inisialisasi port SDA dan SCL Master

Komunikasi yang digunakan untuk menerima data adalah dengan komunikasi I2C.

pada setting awal pengaktifan komunikasi I2C seperti ditunjukan pada Gambar 4.18 (a).

Sedangkan ada Gambar 4.18 (b) menunjukan pengaturan port yang digunakan untuk

komunikasi I2C ada pada PORT C, sedangkan pin 7 digunakan untuk port SDA dan pin 6

digunakan untuk port SCL. Bit rate yang digunakan adalah 100kHz.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

77

Gambar 4.19. Listing Program I2C

Pada gambar 4.19. deklarasi int pada program berfungsi sebagai penetapan a, b, c,

data_A, data_B dan data_C sebagai variabel int. begitu juga dengan “buff”, “buff1”,

“buff2”, “buff3” yang ditetapkan sebagai variabel char. Sedangkan komunikasi I2C pada

Master memiliki fungsi masing-masing sebagai berikut:

a. i2c_start(); (line 47)

berfungsi untuk memulai sebagai sinyal START untuk memulai komunikasi transfer

data pada I2C Bus.

b. i2c_write((add_slaveA<<1)|read); (line 48)

Setelah sinyal start diterima kemudian diikuti oleh address byte (7 bit address+ 1 bit

pengarah data). Alamat dari slave A disimpan pada variabel “add_slaveA” sebagai

alamat I2C untuk komunikasi dengan Master. Alamat pada slave A dikenali Master

dengan alamat 0x01. Dilanjutkan dengan pengiriman data untuk mode pengalamatan

8bit, dengan pengisian format bit MSB ke LSB dimana bit alamat tersebut

mengandung informasi bit read yang berarti memberi perintah untuk membaca data

pada slave A.

c. a=i2c_read(1)<<8; (line 49)

Berfungsi membaca data data dan menyimpannya pada variabel a. Penggunaan <<8

digunakan karena data yang dikirim bernilai 10bit, jika tidak digeser (<<) maka data

ang dikirimkan tidak utuh.

d. a|=i2c_read(0); (line 50)

Dilakukan tahap pembacaan data yang selanjutnya disimpan pada variabel a yang

berarti data berasal dari Slave A.

e. i2c_stop(); (line 51)

Master mengirim sinyal stop.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

78

Setelah proses komunikasi I2C selesai dilanjutkan dengan proses menampilkan

data yang diterima, agar dapat dipastikan data sudah diterima oleh Master dengan

menampilkan data dengan fungsi “tampil_data()”.

Pada line 77, 82, 87 merupakan pemanggilan kembali fungsi I2C untuk penerimaan

data dari slave. Kemudian data disimpan pada karakter a untuk slave A, karakter c untuk

slave B dan karakter c untuk slave C, yang disimpan pada array sisA,sisB, dan sisC.

Sedangkan pada line 78-80 berfungsi untuk menampilkan karakter pada LCD, pengamat

akan mendapatkan informasi tentang banyaknya kendaraan pada masing-masing sisi.

Karakter “%d” pada line 79,84, dan 89 berfungsi untuk menampilkan data desimal dengan

kapasitas 2 karakter.

Setelah data diterima oleh Master, kemudian data akan di tampilkan pada LCD

20x4 seperti ditunjukan dengan listing program pada Gambar 4.20.

Gambar 4.20. Penampil jumlah kendaraan tiap cabang

4.6.2.2. Subrutin Nyala Lampu Awal

Sebelum proses pengiriman data dan perhitungan nyala lampu adaptif, master

akan menjalankan prosedur nyala lampu awal terlebih dahulu. Tujuannya adalah untuk

memberikan waktu agar slave mendapatkan data jumlah kendaraan dalam jangka waktu

tertentu disetiap cabangnya. Lama lampu merah, kuning dan hijau sudah dideklarasikan

dilokal memori pada fungsi “nyala_lampu_awal()”. Fungsi “nyala_lampu_awal()” hanya

dieksekusi satu kali yakni saat pertama kali sistem dinyalakan. Pada proses ini Master

sudah dapat menerima data dari komunikasi I2C. Saat fungsi “nyala_lampu_awal()”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

79

berjalan, LCD akan tertampil seperti ditunjukan pada Gambar 4.21, sedangkan listing

program “nyala_lampu_awal()” ditunjukan Gambar 4.22.

Gambar 4.21. Tampilan saat nyala lampu awal

Gambar 4.22. Listing program nyala lampu awal

4.6.2.3. Subrutin Proses Algoritma Fuzzy

Algoritma Fuzzy Logic menggunakan metode Mamdani. Pada metode Mamdani,

komposisi aturan menggunakan metode MAX, sedangkan aplikasi fungsi implikasi

menggunakan MIN. Metode Mamdani dikenal juga dengan metode MAX-MIN. Fungsi

penegasan defuzzifikasi menggunakan MOM (Mean of Maximum).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

80

4.6.2.3.1. Fuzzifikasi

Tahap fuzzifikasi adalah tahapan untuk menentukan besar derajat keanggotaan

yang dimiliki suatu data, dimana data yang masuk akan ditentukan kategorinya. Awal

proses dari Algoritma Fuzzy seperti ditunjukan Gambar 4.23, setiap data yang diterima dari

proses komunikasi I2C masing-masing data akan memiliki variabel baru (line 168-170).

Macam-macam kategori yang digunakan untuk proses fuzzifikasi ada 3 bagian yakni

sedikit, sedang dan banyak, sesuai dengan Framework pada Gambar 3.23. Namun secara

programming kategori dibagi menjadi 4 bagian yakni sedikit, sedang1, sedang2 dan

banyak. Karena pada fungsi linear pada fuzzifikasi yang digunakan adalah fungsi linear

turun untuk bagian sedikit, fungsi linear naik untuk bagian sedang 1, fungsi linear turun

untuk bagian sedang 2 dan fungsi linear naik untuk bagian banyak, seperti ditunjukan

Gambar 4.24.

Gambar 4.23. Listing program “fuzzifikasi()”

Gambar 4.24. Frame pada pemrograman

Rumus penentuan nilai derajat keanggotaan menggunakan Tabel 3.10. Secara

teoritis derajat keanggotaan memiliki nilai minimal 0 dan maksimal 1, tetapi programing

untuk mencari hasil minimum pada fungsi CVAVR “min (int a, int b)” menggunakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

81

nilai yang merupakan bilangan bulat (integer). Sehingga pada program untuk mencari nilai

derajat digunakan pengali 20, maka nilai derajat keanggotaan minimal 0 dan maksimal

menjadi 100. Pada line 172-179 adalah proses pemberian nilai derajat keanggotaan dari

data yang masuk dan setiap data akan memiliki derajat keanggotaan pada setiap kategori.

Gambar 4.25. Inisialisasi global untuk fungsi “pemilihan()”

Pada Gambar 4.25. merupakan inisialisasi secara global. Proses selanjutnya adalah

pengkategorian dengan memilah data sesuai dengan jumlah kendaraan yang masuk, secara

teoritis setiap data berupa jumlah kendaraan dapat masuk kedalam suatu kategori dengan

membandingkan derajat keanggotaan ditiap kategori. Kategori yang memiliki derajat

keanggotaan tertinggi akan menjadi kategori terpilih dari suatu data.

Secara programing pada fungsi “pemilihan()” terdapat pemanggilan fungsi

“fuzzifikasi()” (line 211), karena data yang digunakan pada fungsi “pemilihan()” berasal

dari fungsi “fuzzifikasi()”. Fungsi “pemilihan()” dilakukan sebab setiap data tertentu

memiliki kemungkinan termasuk dalam 2 kategori sekaligus Pemilahan dilakukan dengan

menyeleksi data menggunakan fungsi if (line 221, 224, 233, 241) sesuai dengan banyaknya

data yang dimiliki. Setelah data dipilah berdasarkan jumlahnya, kemudian data dipilah

kembali berdasarkan derajat keanggotaan dari kategori yang memiliki potensi

bersinggungan. Gambar 4.26. adalah listing program fungsi “pemilihan()” dan kondisi 1

data yang memiliki 2 kategori ditunjukan pada Gambar 4.27.

Gambar 4.26 Contoh data yang masuk dalam 2 kategori

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

82

Gambar 4.27. Listing program fungsi “pemilihan()” sisi A

Nilai derajat keanggotaan tertinggi akan menjadi kategori terpilih untuk data,

disinilah proses MAX pada metode MAX-MIN. Pada fungsi “pemilihan()” disediakan

beberapa array yang berfungsi menyimpan derajat keanggotaan tertinggi sesuai dengan

kategorinya. Setiap pada fungsi ini terdapat array dan variabel baru diberi nilai awal = 0

(line 212-218), yang bertujuan mereset array (sisiA[0], sisiA[1], sisiA[2], sisiB[0],

sisiB[1], sisiB[2], sisiC[0], sisiC[1], sisiC[2]) dan variabel (volumeA1a, volumeA1b,

volumeA2a, volumeAb2, volumeB1a, volumeB1b, volumeB2a, volumeB2b, volumeC1a,

volumeC1b, volumeC2a, volumeC2b) sebelum dimasukan data baru. Pada tahap ini

kategori sedang dibagi menjadi 2 yakni “sedang_x1” dan “sedang_x2”, karena pada

framework kategori sedang membutuhkan 2 fungsi keanggotaan himpunan kabur yakni

fungsi naik dan fungsi turun.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

83

4.6.2.3.2. Basis Aturan (Rule)

Gambar 4.28. Listing program "basis_aturan()"

Setelah fungsi “pemilihan()” dilanjutkan dengan fungsi “basis_aturan()”. Pada

fungsi “basis_aturan()” terjadi proses impilkasi (jika-maka) yang menggunakan metode

MIN. Pada fungsi “basis_aturan()” adalah tahap mencari derajat keanggotaan minimum

tiga data dari slave berbeda. Secara program proses pencarian derajat keanggotaan

terendah masing-masing slave dengan cara membandingan 2 kondisi terlebih dahulu

dengan menggunakan fungsi CVAVR “min(int a, intb)”, kemudian hasil minimum itu di

bandingkan kembali dengan data selanjutnya agar didapat derajat keanggotaan terendah

(line 284, 287, 290, 293). Derajat keanggotaan terendah dari ketiga slave akan menjadi

data input untuk proses defuzzifikasi (penegasan) atau pengubahan menjadi output lama

nyala lampu pada logika fuzzy. Dalam array r[x] bertujuan menentukan rumus

defuzzifikasi yang dipilih sesuai dengan kondisi yang telah ditentukan seperti pada Tabel

3.9.. Secara programing outputan sesuai metode penegasan MOM (Mean of Maximum)

adalah seperti ditunjukan Gambar 4.28.

Tabel 4.7 Output "basis_aturan()"

No Persamaan MOM Kondisi Output

1 (14 - (0.1 * x)) + 4 Rendah

2 (22 - (0.08 * x)) + ((0.08*x)+6) Sedang

3 ((0.1 * x ) + 4) + 24 Tinggi

Terdapat berbedaan pada Tabel 4.4 dengan Persamaan 3.1, 3.2, dan 3.3 karena pada

dimana terdapat pengembalian nilai dari derajat keanggotaan dengan mengalikan nilai

yang dikalikan dengan derajat keanggotaan (r[x]) dengan 0,01. Karena nilai derajat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

84

keanggotaan awal dijadikan 100 seperti ditunjukan pada Tabel 4.8, namun proses

defuzzifikasi dengan penegasan MOM belum selesai pada tahap ini.

4.6.2.3.3. Defuzzifikasi

Setelah data masuk pada fungsi “basis_aturan()” maka tahap selanjutnya adalah

proses defuzzifikasi. Pada defuzzifikasi dengan metode penegasan MOM secara teoritis

menggunakan Persamaan (2.14), yakni data dari derajat keang gotaan tertinggi kategori

output dijumlahkan dan dibagi 2 untuk mendapat nilai tengah tertinggi. Contohnya

ditunjukan pada Gambar 4.29 (a) dan (b).

„(a) (b)

Gambar 4.29 Contoh penegasan MOM (a) fungsi turun (b) fungsi naik dan turun

Sehingga rumus defuzzifikasi penegasan MOM untuk Gambar 4.29 (a) adalah

,

dan untuk Gambar 4.29 (b)

dimana fungsi naik adalah b1 dan fungsi turun adalah b2

Gambar 4.30. Listing program fungsi "defuzzifikasi ()"

Pada Gambar 4.30 menunjukan listing program fungsi “defuzzifikasi()” yang

mengarahkan kondisi-kondisi yang didapat pada fungsi “pemilihan()”, untuk memilih

kondisi yang akan dipilih pada rule sebagai output. Kondisi ini akan mengarah kembali

kepada salah satu kondisi pada “basis_aturan()” dengan bantuan fungsi “fuzzy()”

1 2 30

a1 a2

1 2 3 4 5

b1 b2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

85

Gambar 4.31. Fungsi "fuzzy()"

Seperti ditunjukan Gambar 4.31 fungsi “fuzzy()” ini sebagai penyempurnaan dari

penegasan MOM, yakni pada hasil akhir perhitungan output dari “basis_aturan()” akan

dibagi 2. Penentuan kondisi dari berbagai kategori ke hasil akhir didapatkan dari melihat

kondisi yang terpenuhi pada Tabel 3.9, dengan memasukan data yang nilai derajat

keanggotaan tertinggi sesuai dengan kategori. Setelah itu kondisi yang digunakan akan

ditampilkan pada LCD 20x4 (line 444). Pada akhir line menggunakan fungsi “break();”

yang bertujuan jika kondisi terpenuhi maka proses akan langsung keluar dari fungsi, dan

lanjut ke fungsi berikutnya.

4.6.2.4. Subrutin Nyala Adaptif

Setelah didapatkan lama nyala lampu, program akan menyalakan lampu hijau

sesuai cabang yang diaktifkan. Listing program hitung mundur salah satu cabang

ditunjukan Gambar 4.32.

Gambar 4.32. Listing program nyala lampu adaptif cabang A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

86

Pada fungsi “hitung_mundur_A()” akan menampilkan lama hitung mundur lampu

hijau (line 520-522). Pemberian variabel “kali” (line 512) bertujuan untuk memberikan

jeda waktu 1 detik untuk setiap hitung mundur.

Kemudian untuk listing program menampilkan lama waktu lampu hijau menyala

hasil dari perhitungan logika fuzzy tanpa adanya hitung mundur ditunjukan pada Gambar

4.33.

Gambar 4.33. Fungsi "penampil_waktu()"

Selanjutnya adalah listing program urutan nyala lampu menyala. Pada setiap lampu

lalu lintas memiliki kondisi dimana semua lampu merah akan menyala atau kondisi allred

(fungsi “semua_merah()”). Pada kondisi allred ditentukan waktu lama kondisi ini selama

3 detik dan lama lampu kuning selama 3 detik (line 572).

Pada lama lampu hijau dengan keluaran dari logika fuzzy terdapat waktu outputan

yang memiliki nilai pecahan atau terdapat koma. Namun pada penampil lama lampu hijau

menyala akan menghitung mundur dengan nilai bulat karena pada proses hitung mundur

umumnya menggunakan bilangan bulat.

Saat giliran kondisi nyala lampu hijau pada cabang A aktif, maka pada cabang B

dan C akan menyala, lampu merah pada cabang A akan mati (line 584-587) dan akan

mengaktifkan lampu hijau A dengan fungsi ”hitung_mundur_A()” (line 588). Setelah

hitung mundur selesai maka lampu hijau akan mati (line 590), lalu lampu kuning akan

menyala selama waktu yang sudah ditentukan (line 591-593). Setelah kondisi kuning

kemudian dilanjutkan dengan pemanggilan fungsi “semua_merah()”. Listing program

ditunjukan pada Gambar 4.34.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

87

Gambar 4.34. Listing fungsi "semua_merah()" dan "nyala_adaptif_a()"

4.6.2.5. Program Utama

Keseluruhan fungsi data yang digunakan dan ditampilkan disatukan pada fungsi

“cabang_a()” begitu juga untuk cabang B dan C. seperti ditunjukan Gambar 4.35. Pada

void mainnya hanya menampilkan “tampil_data()” lalu “nyala_lampu_awal()”, kemudian

looping fungsi “cabang_a()”, fungsi “cabang_b()”, fungsi “cabang_c()”. Seperti

ditunjukan Gambar 4.36.

Gambar 4.35. Keseluruhan fungsi yang digunakan "cabang_a()"

Gambar 4.36. Void main program pada Master

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

88

5. BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah melakukan perancangan, pembuatan dan pengujian pada prototype

rekayasa pengaturan lampu lalu lintas. Dapat diambil kesimpulan sebagai berikut:

1. Dari hasil pengujian, algoritma Fuzzy Logic dapat digunakan untuk mengatur nyala

lampu hijau pada lampu lalu lintas berdasarkan jumlah kendaraan.

2. Dari hasil pengujian, prototype rekayasa lampu lalu lintas dapat berjalan dengan baik

persentase error pengujian dengan perhitungan teoritis adalah 0.05% dan persentase

keberhasilan alat dengan Algoritma Fuzzy Logic adalah 99.95%.

3. Dari hasil pengujian, pengiriman data dari slave ke master dapat dikirimkan secara

baik dengan komunikasi I2C

4. Dari hasil pengujian, untuk pengujian alat dengan perhitungan secara teoritis sudah

sesuai.

5. Sensor infrared dan photodioda dapat digunakan untuk mendeteksi kendaraan.

5.2. Saran

Berdasarkan hasil yang diperoleh, untuk pengembangan selanjutnya terdapat

beberapa saran:

1. Agar nyala lampu hijau akan lebih bervariasi maka lebih baik jika kondisi framework

input dan outputnya diperbanyak.

2. Alat ini bisa dikembangkan lagi menggunakan wifi atau bluetooth untuk komunikasi

antar mikrokontroler.

3. Prototype jalan raya diperlebar sehingga dapat menampung lebih banyak kendaraan.

4. Peletakan pendeteksi kendaraan yang dibuat secara vertikal dan lebih dari 1 buah,

sehingga tidak terjadi pendeteksian ganda dari 1 kendaaraan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

89

6. DAFTAR PUSTAKA

[1] Manto. --. Perangkat Pengatur Timer Lampu Lalu Lintas Berdasarkan Antrian

Kendaraan. Depok: Jurnal

[2] POLBAN.--.Otomatisasi Pengisian Minuman Pada Kemasan Berbasis

Mikrokontroler Atmega 8535. ---: Dasar Teori

[3] Floyd, Thomas L.2012. Electronic Device 9th

edition.--.--

[4] ---. LCD (Liquid Cristal Display). http://elektronika-dasar.web.id/lcd-liquid-cristal-

display/ Diakses tanggal 27 Desember 2017

[5] Suparno,Lek dan Lek Satrio Suseno. (2012). Perancangan Robot Pemadam Api

Menggunakan Line Follower Berbasis Mikrokontroler ATMEGA16. Yogyakarta:

Jurnal

[6] ---. Teori Relay Elektro Mekanik. http://elektronika-dasar.web.id/teori-Relay-elektro-

mekanik/ Diakses Tanggal 13 Februari 2018

[7] Nariswari,Yacinta L.M (2016). Aplikasi Penampil Menggunakan Visual Basic Untuk

Optimasi Ketersediaan Tempat Parkir Mobil. Yogyakarta: Tugas Akhir

[8] Surya,Frans. 2007. I2C Protokol. ---. Artikel

[9] Chrismaratika,Chandra. 2013. Simulasi Sistem Antrian Loket Berbasis

Mikrokontroler Atmega8535 dan ATmega8.Yogyakarta: Tugas Akhir

[10] Musbikhin. Interupsi Pada AVR. http://www.musbikhin.com/interupsi-pada-avr

diakses tanggal 18 Februari 2018

[11] Anonim. 2016. Logika Fuzzy.Yogyakarta. Modul

[12] ---.2013.Datasheet infrared IR333.Everlight

[13] ---.---. Datasheet Songle Relay. Songle Relay

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-1

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-2

Lampiran 1

Listing Program Slave A

/*****************************************************

Chip type : ATmega8

Program type : Application

AVR Core Clock frequency: 16.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

#include <delay.h>

#include <alcd.h>

#include <stdio.h>

#include <stdlib.h>

int masukA,keluarA,data_A;

unsigned char buff[30], buff1[30];

interrupt [EXT_INT0] void ext_int0_isr(void)

masukA++;

interrupt [EXT_INT1] void ext_int1_isr(void)

keluarA++;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-3

interrupt [TWI] void twi_isr(void)

if (TWSR==0xA8)

TWDR=data_A>>8;

if (TWSR==0xB8)

TWDR=data_A;

TWCR|=0x80;

void main(void)

TWBR=0x48;

TWAR=0x02; // Alamat diMaster 0x01

TWCR=0x45;

TWSR=0x00;

GICR|=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

lcd_init(16);

#asm("sei")

while (1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-4

data_A=masukA-keluarA;

lcd_gotoxy(0,0);

sprintf(buff,"In =%2d",masukA);

lcd_puts(buff);

lcd_gotoxy(0,1);

sprintf(buff,"Out=%2d",keluarA);

lcd_puts(buff);

lcd_gotoxy(8,0);

sprintf(buff,"Data=%2d",data_A);

lcd_puts(buff);

lcd_gotoxy(8,1);

lcd_putsf("Slave-A");

lcd_puts(buff1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-5

Lampiran 2

Listing Program Slave B

/*****************************************************

Chip type : ATmega8

Program type : Application

AVR Core Clock frequency: 16.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

#include <delay.h>

#include <alcd.h>

#include <stdio.h>

#include <stdlib.h>

int masukB,keluarB,data_B;

unsigned char buff[30],buff1[30];

interrupt [EXT_INT0] void ext_int0_isr(void)

masukB++;

interrupt [EXT_INT1] void ext_int1_isr(void)

keluarB++;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-6

interrupt [TWI] void twi_isr(void)

if ((TWSR&0xF8)==0xA8)

TWDR=data_B>>8;

if (TWSR==0xB8)

TWDR=data_B;

TWCR|=0x80;

void main(void)

TWBR=0x48;

TWAR=0x04; // Alamat Master 0x02

TWCR=0x45;

TWSR=0x00;

GICR|=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

lcd_init(16);

#asm("sei")

while (1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-7

data_B=masukB-keluarB;

lcd_gotoxy(0,0);

sprintf(buff,"In =%2d",masukB);

lcd_puts(buff);

lcd_gotoxy(0,1);

sprintf(buff,"Out=%2d",keluarB);

lcd_puts(buff);

lcd_gotoxy(8,0);

sprintf(buff,"Data=%2d",data_B);

lcd_puts(buff);

lcd_gotoxy(8,1);

lcd_putsf("Slave-B");

lcd_puts(buff1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-8

Lampiran 3

Listing Program Slave C

/*****************************************************

Chip type : ATmega8

Program type : Application

AVR Core Clock frequency: 16.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

#include <delay.h>

#include <alcd.h>

#include <stdio.h>

#include <stdlib.h>

int masukC,keluarC,data_C;

unsigned char buff[30],buff1[30];

interrupt [EXT_INT0] void ext_int0_isr(void)

masukC++;

interrupt [EXT_INT1] void ext_int1_isr(void)

keluarC++;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-9

interrupt [TWI] void twi_isr(void)

if ((TWSR&0xF8)==0xA8)

TWDR=data_C>>8;

if (TWSR==0xB8)

TWDR=data_C;

TWCR|=0x80;

void main(void)

TWBR=0x48;

TWAR=0x06; // Alamat Master 0x03

TWCR=0x45;

TWSR=0x00;

GICR|=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

lcd_init(16);

#asm("sei")

while (1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-10

data_C=masukC-keluarC;

lcd_gotoxy(0,0);

sprintf(buff,"In =%2d",masukC);

lcd_puts(buff);

lcd_gotoxy(0,1);

sprintf(buff,"Out=%2d",keluarC);

lcd_puts(buff);

lcd_gotoxy(8,0);

sprintf(buff,"Data=%2d",data_C);

lcd_puts(buff);

lcd_gotoxy(8,1);

lcd_putsf("Slave-C");

lcd_puts(buff1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-11

Lampiran 4

Listing Program Master

/*****************************************************

Chip type : ATmega32

Program type : Application

AVR Core Clock frequency: 16.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 512

*****************************************************/

#include <mega32.h>

#include <delay.h>

#include <stdlib.h>

#include <stdio.h>

#include <i2c.h>

#include <alcd.h>

#include <math.h>

#define write 0

#define read 1

#define mati 0

#define hidup 1

#define add_slaveA 0x01

#define add_slaveB 0x02

#define add_slaveC 0x03

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-12

#define lampuA_merah PORTA.0

#define lampuA_kuning PORTA.1

#define lampuA_hijau PORTA.2

#define lampuB_merah PORTB.0

#define lampuB_kuning PORTB.2

#define lampuB_hijau PORTB.3

#define lampuC_merah PORTC.0

#define lampuC_kuning PORTC.1

#define lampuC_hijau PORTC.2

//================================Penerima

Data================================\\

int a,b,c;

int data_A, data_B, data_C;

char buff[30], buff1[30], buff2[30], buff3[30];

void dataA (void)

i2c_start();

i2c_write((add_slaveA<<1)|read);

a= i2c_read(1)<<8;

a|= i2c_read(0);

i2c_stop();

void dataB (void)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-13

i2c_start();

i2c_write((add_slaveB<<1)|read);

b=i2c_read(1)<<8;

b|=i2c_read(0);

i2c_stop();

void dataC (void)

i2c_start();

i2c_write((add_slaveC<<1)|read);

c=i2c_read(1)<<8;

c|=i2c_read(0);

i2c_stop();

//================================Penampil Data

Slave================================\\

char sisA[30], sisB[30], sisC[30];

void tampil_data (void)

dataA();

lcd_gotoxy(0,0);

sprintf(sisA,"S_A=%2d ",a);

lcd_puts(sisA);

dataB();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-14

lcd_gotoxy(7,0);

sprintf(sisB,"S_B=%2d" ,b);

lcd_puts(sisB);

dataC();

lcd_gotoxy(14,0);

sprintf(sisC,"S_C=%2d" ,c);

lcd_puts(sisC);

//================================Nyala Lampu

Awal================================\\

void nyala_lampu_awal (void)

int delay_allred=3000, delay_hijau=3000, delay_kuning=3000;

lcd_gotoxy(0,1);

lcd_putsf("Kondisi= Nyala Awal");

lcd_puts(buff3);

//**LAMPU LALIN SISI A**\\

delay_ms(100);

lampuA_merah = hidup;

lampuB_merah = hidup;

lampuC_merah = hidup;

delay_ms(delay_allred); // ALL RED (detik 0-3)

lampuA_merah = mati;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-15

lampuA_hijau = hidup;

delay_ms(delay_hijau); // haruse detik (3-18) A-HIJAU

lampuA_hijau = mati;

lampuA_kuning = hidup;

delay_ms(delay_kuning); // haruse detik 18-21 A-KUNING

lampuA_kuning = mati;

lampuA_merah = hidup;

//**LAMPU LALIN SISI B**\\

delay_ms(delay_allred); // haruse detik 21-24 (ALL RED)

lampuB_merah = mati;

lampuB_hijau = hidup;

delay_ms(delay_hijau); // haruse detik 24-39 B-HIJAU

lampuB_hijau = mati;

lampuB_kuning = hidup;

delay_ms(delay_kuning); // haruse detik 39-42 B-KUNING

lampuB_kuning = mati;

lampuB_merah = hidup;

//**LAMPU LALIN SISI C**\\

delay_ms(delay_allred); // detik 42-45 (ALLRED)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-16

lampuC_merah = mati;

lampuC_hijau = hidup;

delay_ms(delay_hijau); // detik 45-60 C-HIJUAU

lampuC_hijau = mati;

lampuC_kuning = hidup;

delay_ms(delay_kuning); // detik 60-63 C-KUNIng

lampuC_kuning = mati;

lampuA_merah = hidup;

lampuB_merah = hidup;

lampuC_merah = hidup;

delay_ms(delay_allred); // detik 63-66 (ALL RED)

lcd_gotoxy(9,1);

lcd_putsf(" ");

lcd_puts(buff3);

//================================Algoritma

Fuzzy================================\\

int sedikit_a, sedang_a0,sedang_a1, banyak_a;

int sedikit_b, sedang_b0, sedang_b1, banyak_b;

int sedikit_c, sedang_c0,sedang_c1, banyak_c;

void fuzzifikasi()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-17

data_A=a;

data_B=b;

data_C=c;

sedikit_a=0;

if(data_A>=0 && data_A<5) sedikit_a=(int)((5-data_A)*20); //

(1)harusnya kan ((5-data_A)/5) tapi gak bisa, jadi disederhanakan menjadi (5-data_A)*0.2

sedang_a0=0;

sedang_a1=0;

if(data_A>=1 && data_A<5) sedang_a0=(int)((data_A-1)*(25)); //

(2)dikalikan 100 karena untuk fungsi min harus integer

if(data_A>=5 && data_A<=9) sedang_a1=(int)((9-data_A)*25);

banyak_a=0;

if(data_A>5 && data_A<=10) banyak_a=(int)((data_A-5)*20);

////////////************************************************////////////

sedikit_b=0;

if(data_B>=0 && data_B<5) sedikit_b=(int)((5-data_B)*20);

sedang_b0=0;

sedang_b1=0;

if(data_B>=1 && data_B<5) sedang_b0=(int)((data_B-1)*25);

if(data_B>=5 && data_B<=9) sedang_b1=(int)((9-data_B)*25);

banyak_b=0;

if(data_B>5 && data_B<=10) banyak_b=(int)((data_B-5)*20);;

////////////************************************************////////////

sedikit_c=0;

if(data_C>=0 && data_C<5) sedikit_c=(int)((5-data_C)*20);

sedang_c0=0;

sedang_c1=0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-18

if(data_C>=1 && data_C<5) sedang_c0=(int)((data_C-1)*25);

if(data_C>=5 && data_C<=9) sedang_c1=(int)((9-data_C)*25);

banyak_c=0;

if(data_C>5 && data_C<=10) banyak_c=(int)((data_C-5)*20);

int volume_A1a,volume_A1b,volume_A2a,volume_A2b;

int volume_B1a,volume_B1b,volume_B2a,volume_B2b;

int volume_C1a,volume_C1b,volume_C2a,volume_C2b;

int pilih_A,pilih_B,pilih_C,sisiA[30], sisiB[30], sisiC[30];

float waktuA, waktuB, waktuC, sA[30], sB[30], sC[30], r[30], rule[30];

char kondisi;

void pemilihan()

fuzzifikasi();

sisiA[0]=0, sisiA[1]=0, sisiA[2]=0;

sisiB[0]=0, sisiB[1]=0, sisiB[2]=0;

sisiC[0]=0, sisiC[1]=0, sisiC[2]=0;

volume_A1a=0,volume_A1b=0,volume_A2a=0,volume_A2b=0;

volume_B1a=0,volume_B1b=0,volume_B2a=0,volume_B2b=0;

volume_C1a=0,volume_C1b=0,volume_C2a=0,volume_C2b=0;

//------Pemilihan A------\\

if(data_A<0)

volume_A1a=(data_A<0); sisiA[0]=100;

if(data_A>=0&&data_A<5)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-19

pilih_A=max(sedikit_a,sedang_a0); //pemilihan derajat keanggotaan yang paling

besar (MEAN OF MAX) dari input yang mengenai 2 keadaan

if(pilih_A==sedikit_a) volume_A1a=(data_A>=0&&data_A<5);

sisiA[0]=sedikit_a; //lcd_gotoxy(0,3); lcd_putsf("sd_a0"); lcd_puts(buff1);

else if(pilih_A==sedang_a0) volume_A1b=(data_A>=1&&data_A<5);

sisiA[1]=sedang_a0; //lcd_gotoxy(0,3); lcd_putsf("dg_a0"); lcd_puts(buff1);

if(data_A>=5&&data_A<=10)

pilih_A=max(sedang_a1,banyak_a);

if(pilih_A==sedang_a1) volume_A2a=(data_A>=5&&data_A<=9);

sisiA[1]=sedang_a1; //lcd_gotoxy(0,3); lcd_putsf("dg_a1"); lcd_puts(buff1);

else if(pilih_A==banyak_a) volume_A2b=(data_A>5&&data_A<=10);

sisiA[2]=banyak_a; //lcd_gotoxy(0,3); lcd_putsf("yk_a0"); lcd_puts(buff1);

if (data_A>10)

volume_A2b=(data_A>10); sisiA[2]=100;

//------Pemilihan B------\\

if(data_B<0)

volume_B1a=(data_B<0); sisiB[0]=100;

if(data_B>=0&&data_B<5)

pilih_B=max(sedikit_b,sedang_b0);

if(pilih_B==sedikit_b) volume_B1a=(data_B>=0&&data_B<5);

sisiB[0]=sedikit_b; //lcd_gotoxy(7,3); lcd_putsf("sd_b0"); lcd_puts(buff1);

else if(pilih_B==sedang_b0) volume_B1b=(data_B>=1&&data_B<5);

sisiB[1]=sedang_b0; //lcd_gotoxy(7,3); lcd_putsf("dg_b0"); lcd_puts(buff1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-20

if(data_B>=5&&data_B<=10)

pilih_B=max(sedang_b1,banyak_b);

if(pilih_B==sedang_b1) volume_B2a=(data_B>=5&&data_B<=9);

sisiB[1]=sedang_b1; //lcd_gotoxy(7,3); lcd_putsf("dg_b1"); lcd_puts(buff1);

else if(pilih_B==banyak_b) volume_B2b=(data_B>5&&data_B<=10);

sisiB[2]=banyak_b; //lcd_gotoxy(7,3); lcd_putsf("yk_b0"); lcd_puts(buff1);

if (data_B>10)

volume_B2b=(data_B>10); sisiB[2]=100;

//------Pemilihan C------\\

if(data_C<0)

volume_C1a=(data_C<0); sisiC[0]=100;

if(data_C>=0&&data_C<5)

pilih_C=max(sedikit_c,sedang_c0);

if(pilih_C==sedikit_c) volume_C1a=(data_C>=0&&data_C<5);

sisiC[0]=sedikit_c; //lcd_gotoxy(14,3); lcd_putsf("sd_c0"); lcd_puts(buff1);

else if(pilih_C==sedang_c0) volume_C1b=(data_C>=1&&data_C<5);

sisiC[1]=sedang_c0; //lcd_gotoxy(14,3); lcd_putsf("dg_c0"); lcd_puts(buff1);

if(data_C>=5&&data_C<=10)

pilih_C=max(sedang_c1,banyak_c);

if(pilih_C==sedang_c1) volume_C2a=(data_C>=5&&data_C<=9);

sisiC[1]=sedang_c1; //lcd_gotoxy(14,3); lcd_putsf("dk_c1"); lcd_puts(buff1);

else if(pilih_C==banyak_c) volume_C2b=(data_C>5&&data_C<=10);

sisiC[2]=banyak_c; //lcd_gotoxy(14,3); lcd_putsf("yk_c0"); lcd_puts(buff1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-21

if (data_C>10)

volume_C2b=(data_C>10); sisiC[2]=100;

void basis_aturan()

pemilihan();

rule[1]=min(sisiA[0],sisiB[0]); r[1]=min(rule[1],sisiC[0]); //

karena min hanya bisanya integer maka data dari fuzzifikasi di kalikan 100, dan

defuzzisikasi di bagi 100 pada pengali derajat keanggotaan

sA[1]=sB[1]=sC[1]=(14-(0.1*r[1]))+4; //sedikit,

sedikit, sedikit

rule[2]=min(sisiA[0],sisiB[0]); r[2]=min(rule[2],sisiC[1]);

//sedikit, sedikit, sedang

sA[2]=sB[2]=(14-(0.1*r[2]))+4; sC[2]=((22-(0.08*r[2]))+((0.08*r[2])+6));

rule[3]=min(sisiA[0],sisiB[0]); r[3]=min(rule[3],sisiC[2]);

//sedikit, sedikit, banyak

sA[3]=sB[3]=(14-(0.1*r[3]))+4; sC[3]=((0.1*r[3])+14)+24;

rule[4]=min(sisiA[0],sisiB[1]); r[4]=min(rule[4],sisiC[0]);

//sedikit, sedang, sedikit

sA[4]=sC[4]=(14-(0.1*r[4]))+4; sB[4]=((22-(0.08*r[4]))+((0.08*r[4])+6));

rule[5]=min(sisiA[0],sisiB[1]); r[5]=min(rule[5],sisiC[1]);

//sedikit, sedang, sedang

sA[5]=(14-(0.1*r[5]))+4; sB[5]=sC[5]=((22-(0.08*r[5]))+((0.08*r[5])+6));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-22

rule[6]=min(sisiA[0],sisiB[1]); r[6]=min(rule[6],sisiC[2]);

//sedikit, sedang, banyak

sA[6]=(14-(0.1*r[6]))+4; sB[6]=((22-(0.08*r[6]))+((0.08*r[6])+6));

sC[6]=((0.1*r[6])+14)+24;

rule[7]=min(sisiA[0],sisiB[2]); r[7]=min(rule[7],sisiC[0]);

//sedikit, banyak, sedikit

sA[7]=sC[7]=(14-(0.1*r[7]))+4; sB[7]=((0.1*r[7])+14)+24;

rule[8]=min(sisiA[0],sisiB[2]); r[8]=min(rule[8],sisiC[1]);

//sedikit, banyak, sedang

sA[8]=(14-(0.1*r[8]))+4; sB[8]=((0.1*r[8])+14)+24; sC[8]=((22-

(0.08*r[8]))+((0.08*r[8])+6));

rule[9]=min(sisiA[0],sisiB[2]); r[9]=min(rule[9],sisiC[2]);

//sedikit, banyak, banyak

sA[9]=(14-(0.1*r[9]))+4; sB[9]=sC[9]=((0.1*r[9])+14)+24;

rule[10]=min(sisiA[1],sisiB[0]); r[10]=min(rule[10],sisiC[0]);

//sedang, sedikit, sedikit

sA[10]=((22-(0.08*r[10]))+((0.08*r[10])+6)); sB[10]=sC[10]=(14-(0.1*r[10]))+4;

rule[11]=min(sisiA[1],sisiB[0]); r[11]=min(rule[11],sisiC[1]);

//sedang, sedikit, sedang

sA[11]=sC[11]=((22-(0.08*r[11]))+((0.08*r[11])+6)); sB[11]=(14-(0.1*r[11]))+4;

rule[12]=min(sisiA[1],sisiB[0]); r[12]=min(rule[12],sisiC[2]);

//sedang, sedikit, banyak

sA[12]=((22-(0.08*r[12]))+((0.08*r[12])+6)); sB[12]=(14-(0.1*r[12]))+4;

sC[12]=((0.1*r[12])+14)+24;

rule[13]=min(sisiA[1],sisiB[1]); r[13]=min(rule[13],sisiC[0]);

//sedang, sedang, sedikit

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-23

sA[13]=sB[13]=((22-(0.08*r[13]))+((0.08*r[13])+6)); sC[13]=(14-(0.1*r[13]))+4;

rule[14]=min(sisiA[1],sisiB[1]); r[14]=min(rule[14],sisiC[1]);

//sedang, sedang, sedang

sA[14]=sB[14]=sC[14]=((22-(0.08*r[14]))+((0.08*r[14])+6));

rule[15]=min(sisiA[1],sisiB[1]); r[15]=min(rule[15],sisiC[2]);

//sedang, sedang, banyak

sA[15]=sB[15]=((22-(0.08*r[15]))+((0.08*r[15])+6)); sC[15]=((0.1*r[15])+14)+24;

rule[16]=min(sisiA[1],sisiB[2]); r[16]=min(rule[16],sisiC[0]);

//sedang, banyak, sedikit

sA[16]=((22-(0.08*r[16]))+((0.08*r[16])+6)); sB[16]=((0.1*r[16])+14)+24;

sC[16]=(14-(0.1*r[16]))+4;

rule[17]=min(sisiA[1],sisiB[2]); r[17]=min(rule[17],sisiC[1]);

//sedang, banyak, sedang

sA[17]=sC[17]=((22-(0.08*r[17]))+((0.08*r[17])+6)); sB[17]=((0.1*r[17])+14)+24;

rule[18]=min(sisiA[1],sisiB[2]); r[18]=min(rule[18],sisiC[2]);

//sedang, banyak, banyak

sA[18]=((22-(0.08*r[18]))+((0.08*r[18])+6)); sB[18]=sC[18]=((0.1*r[18])+14)+24;

rule[19]=min(sisiA[2],sisiB[0]); r[19]=min(rule[19],sisiC[0]);

//banyak, sedikit, sedikit

sA[19]=((0.1*r[19])+14)+24; sB[19]=sC[19]=(14-(0.1*r[19]))+4;

rule[20]=min(sisiA[2],sisiB[0]); r[20]=min(rule[20],sisiC[1]);

//banyak, sedikit, sedang

sA[20]=((0.1*r[20])+14)+24; sB[20]=(14-(0.1*r[20]))+4; sC[20]=((22-

(0.08*r[20]))+((0.08*r[20])+6));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-24

rule[21]=min(sisiA[2],sisiB[0]); r[21]=min(rule[21],sisiC[2]);

//banyak, sedikit, banyak

sA[21]=sC[21]=((0.1*r[21])+14)+24; sB[21]=(14-(0.1*r[21]))+4;

rule[22]=min(sisiA[2],sisiB[1]); r[22]=min(rule[22],sisiC[0]);

//banyak, sedang, sedikit

sA[22]=((0.1*r[22])+14)+24; sB[22]=((22-(0.08*r[22]))+((0.08*r[22])+6));

sC[22]=(14-(0.1*r[22]))+4;

rule[23]=min(sisiA[2],sisiB[1]); r[23]=min(rule[23],sisiC[1]);

//banyak, sedang, sedang

sA[23]=((0.1*r[23])+14)+24; sB[23]=sC[23]=((22-(0.08*r[23]))+((0.08*r[23])+6));

rule[24]=min(sisiA[2],sisiB[1]); r[24]=min(rule[24],sisiC[2]);

//banyak, sedang, banyak

sA[24]=sC[24]=((0.1*r[24])+14)+24; sB[24]=((22-(0.08*r[24]))+((0.08*r[24])+6));

rule[25]=min(sisiA[2],sisiB[2]); r[25]=min(rule[25],sisiC[0]);

//banyak, banyak, sedikit

sA[25]=sB[25]=((0.1*r[25])+14)+24; sC[25]=(14-(0.1*r[25]))+4;

rule[26]=min(sisiA[2],sisiB[2]); r[26]=min(rule[26],sisiC[1]);

//banyak, banyak, sedang

sA[26]=sB[26]=((0.1*r[26])+14)+24; sC[26]=((22-(0.08*r[26]))+((0.08*r[26])+6));

rule[27]=min(sisiA[2],sisiB[2]); r[27]=min(rule[27],sisiC[2]);

//banyak, banyak banyak

sA[27]=sB[27]=sC[27]=((0.1*r[27])+14)+24;

void defuzzifikasi()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-25

basis_aturan();

if((volume_A1a) &&(volume_B1a) &&(volume_C1a)) kondisi=1;

//sedikit, sedikit, sedikit

else if((volume_A1a) &&(volume_B1a) &&(volume_C1b)) kondisi=2;

//sedikit, sedikit, sedang1

else if((volume_A1a) &&(volume_B1a) &&(volume_C2a)) kondisi=3;

//sedikit, sedikit, sedang2

else if((volume_A1a) &&(volume_B1a) &&(volume_C2b)) kondisi=4;

//sedikit, sedikit, banyak

else if((volume_A1a) &&(volume_B1b) &&(volume_C1a)) kondisi=5;

//sedikit, sedang1, sedikit

else if((volume_A1a) &&(volume_B2a) &&(volume_C1a)) kondisi=6;

//sedikit, sedang2, sedikit

else if((volume_A1a) &&(volume_B1b) &&(volume_C1b)) kondisi=7;

//sedikit, sedang1, sedang1

else if((volume_A1a) &&(volume_B1b) &&(volume_C2a)) kondisi=8;

//sedikit, sedang1, sedang2

else if((volume_A1a) &&(volume_B2a) &&(volume_C1b)) kondisi=9;

//sedikit, sedang2, sedang1

else if((volume_A1a) &&(volume_B2a) &&(volume_C2a)) kondisi=10;

//sedikit, sedang2, sedang2

else if((volume_A1a) &&(volume_B1b) &&(volume_C2b)) kondisi=11;

//sedikit, sedang1, banyak

else if((volume_A1a) &&(volume_B2a) &&(volume_C2b)) kondisi=12;

//sedikit, sedang2, banyak

else if((volume_A1a) &&(volume_B2b) &&(volume_C1a)) kondisi=13;

//sedikit, banyak, sedikit

else if((volume_A1a) &&(volume_B2b) &&(volume_C1b)) kondisi=14;

//sedikit, banyak, sedang1

else if((volume_A1a) &&(volume_B2b) &&(volume_C2a)) kondisi=15;

//sedikit, banyak, sedang2

else if((volume_A1a) &&(volume_B2b) &&(volume_C2b)) kondisi=16;

//sedikit, banyak, banyak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-26

else if((volume_A1b) &&(volume_B1a) &&(volume_C1a)) kondisi=17;

//sedang1, sedikit, sedikit

else if((volume_A2a) &&(volume_B1a) &&(volume_C1a)) kondisi=18;

//sedang2, sedikit, sedikit

else if((volume_A1b) &&(volume_B1a) &&(volume_C1b)) kondisi=19;

//sedang1, sedikit, sedang1

else if((volume_A1b) &&(volume_B1a) &&(volume_C2a)) kondisi=20;

//sedang1, sedikit, sedang2

else if((volume_A2a) &&(volume_B1a) &&(volume_C1b)) kondisi=21;

//sedang2, sedikit, sedang1

else if((volume_A2a) &&(volume_B1a) &&(volume_C2a)) kondisi=22;

//sedang2, sedikit, sedang2

else if((volume_A1b) &&(volume_B1a) &&(volume_C2b)) kondisi=23;

//sedang1, sedikit, banyak

else if((volume_A2a) &&(volume_B1a) &&(volume_C2b)) kondisi=24;

//sedang2, sedikit, banyak

else if((volume_A1b) &&(volume_B1b) &&(volume_C1a)) kondisi=25;

//sedang1, sedang1, sedikit

else if((volume_A1b) &&(volume_B2a) &&(volume_C1a)) kondisi=26;

//sedang1, sedang2, sedikit

else if((volume_A2a) &&(volume_B1b) &&(volume_C1a)) kondisi=27;

//sedang2, sedang1, sedikit

else if((volume_A2a) &&(volume_B2a) &&(volume_C1a)) kondisi=28;

//sedang2, sedang2, sedikit

else if((volume_A1b) &&(volume_B1b) &&(volume_C1b)) kondisi=29;

//sedang1, sedang1, sedang1

else if((volume_A1b) &&(volume_B1b) &&(volume_C2a)) kondisi=30;

//sedang1, sedang1, sedang2

else if((volume_A1b) &&(volume_B2a) &&(volume_C1b)) kondisi=31;

//sedang1, sedang2, sedang1

else if((volume_A1b) &&(volume_B2a) &&(volume_C2a)) kondisi=32;

//sedang1, sedang2, sedang2

else if((volume_A2a) &&(volume_B1b) &&(volume_C1b)) kondisi=33;

//sedang2, sedang1, sedang1

else if((volume_A2a) &&(volume_B1b) &&(volume_C2a)) kondisi=34;

//sedang2, sedang1, sedang2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-27

else if((volume_A2a) &&(volume_B2a) &&(volume_C1b)) kondisi=35;

//sedang2, sedang2, sedang1

else if((volume_A2a) &&(volume_B2a) &&(volume_C2a)) kondisi=36;

//sedang2, sedang2, sedang2

else if((volume_A1b) &&(volume_B1b) &&(volume_C2b)) kondisi=37;

//sedang1, sedang1, banyak

else if((volume_A1b) &&(volume_B2a) &&(volume_C2b)) kondisi=38;

//sedang1, sedang2, banyak

else if((volume_A2a) &&(volume_B1b) &&(volume_C2b)) kondisi=39;

//sedang2, sedang1, banyak

else if((volume_A2a) &&(volume_B2a) &&(volume_C2b)) kondisi=40;

//sedang2, sedang2, banyak

else if((volume_A1b) &&(volume_B2b) &&(volume_C1a)) kondisi=41;

//sedang1, banyak, sedikit

else if((volume_A2a) &&(volume_B2b) &&(volume_C1a)) kondisi=42;

//sedang2, banyak, sedikit

else if((volume_A1b) &&(volume_B2b) &&(volume_C1b)) kondisi=43;

//sedang1, banyak, sedang1

else if((volume_A1b) &&(volume_B2b) &&(volume_C2a)) kondisi=44;

//sedang1, banyak, sedang2

else if((volume_A2a) &&(volume_B2b) &&(volume_C1b)) kondisi=45;

//sedang2, banyak, sedang1

else if((volume_A2a) &&(volume_B2b) &&(volume_C2a)) kondisi=46;

//sedang2, banyak, sedang2

else if((volume_A1b) &&(volume_B2b) &&(volume_C2b)) kondisi=47;

//sedang1, banyak, banyak

else if((volume_A2a) &&(volume_B2b) &&(volume_C2b)) kondisi=48;

//sedang2, banyak, banyak

else if((volume_A2b) &&(volume_B1a) &&(volume_C1a)) kondisi=49;

//banyak, sedikit sedikit

else if((volume_A2b) &&(volume_B1a) &&(volume_C1b)) kondisi=50;

//banyak, sedikit, sedang1

else if((volume_A2b) &&(volume_B1a) &&(volume_C2a)) kondisi=51;

//banyak, sedikit, sedang2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-28

else if((volume_A2b) &&(volume_B1a) &&(volume_C2b)) kondisi=52;

//banyak, sedikit, banyak

else if((volume_A2b) &&(volume_B1b) &&(volume_C1a)) kondisi=53;

//banyak, sedang1, sedikit

else if((volume_A2b) &&(volume_B2a) &&(volume_C1a)) kondisi=54;

//banyak, sedang2, sedikit

else if((volume_A2b) &&(volume_B1b) &&(volume_C1b)) kondisi=55;

//banyak, sedang1, sedang1

else if((volume_A2b) &&(volume_B1b) &&(volume_C2a)) kondisi=56;

//banyak, sedang1, sedang2

else if((volume_A2b) &&(volume_B2a) &&(volume_C1b)) kondisi=57;

//banyak, sedang2, sedang1

else if((volume_A2b) &&(volume_B2a) &&(volume_C2a)) kondisi=58;

//banyak, sedang2, sedang2

else if((volume_A2b) &&(volume_B1b) &&(volume_C2b)) kondisi=59;

//banyak, sedang1, banyak

else if((volume_A2b) &&(volume_B2a) &&(volume_C2b)) kondisi=60;

//banyak, sedang2, banyak

else if((volume_A2b) &&(volume_B2b) &&(volume_C1a)) kondisi=61;

//banyak, banyak, sedikit

else if((volume_A2b) &&(volume_B2b) &&(volume_C1b)) kondisi=62;

//banyak, banyak, sedang1

else if((volume_A2b) &&(volume_B2b) &&(volume_C2a)) kondisi=63;

//banyak, banyak, sedang2

else if((volume_A2b) &&(volume_B2b) &&(volume_C2b)) kondisi=64;

//banyak, banyak banyak

void fuzzy(void)

defuzzifikasi();

switch (kondisi)

case 1: waktuA=sA[1]/2; waktuB=sB[1]/2; waktuC=sC[1]/2; lcd_gotoxy(9,1);

lcd_putsf("C1 "); lcd_puts(buff); break;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-29

case 2: waktuA=sA[2]/2; waktuB=sB[2]/2; waktuC=sC[2]/2; lcd_gotoxy(9,1);

lcd_putsf("C2 "); lcd_puts(buff); break;

case 3: waktuA=sA[2]/2; waktuB=sB[2]/2; waktuC=sC[2]/2; lcd_gotoxy(9,1);

lcd_putsf("C3 "); lcd_puts(buff); break;

case 4: waktuA=sA[3]/2; waktuB=sB[3]/2; waktuC=sC[3]/2; lcd_gotoxy(9,1);

lcd_putsf("C4 "); lcd_puts(buff); break;

case 5: waktuA=sA[4]/2; waktuB=sB[4]/2; waktuC=sC[4]/2; lcd_gotoxy(9,1);

lcd_putsf("C5 "); lcd_puts(buff); break;

case 6: waktuA=sA[4]/2; waktuB=sB[4]/2; waktuC=sC[4]/2; lcd_gotoxy(9,1);

lcd_putsf("C6 "); lcd_puts(buff); break;

case 7: waktuA=sA[5]/2; waktuB=sB[5]/2; waktuC=sC[5]/2; lcd_gotoxy(9,1);

lcd_putsf("C7 "); lcd_puts(buff); break;

case 8: waktuA=sA[5]/2; waktuB=sB[5]/2; waktuC=sC[5]/2; lcd_gotoxy(9,1);

lcd_putsf("C8C"); lcd_puts(buff); break;

case 9: waktuA=sA[5]/2; waktuB=sB[5]/2; waktuC=sC[5]/2; lcd_gotoxy(9,1);

lcd_putsf("C9B"); lcd_puts(buff); break;

case 10: waktuA=sA[5]/2; waktuB=sB[5]/2; waktuC=sC[5]/2; lcd_gotoxy(9,1);

lcd_putsf("C10"); lcd_puts(buff); break;

case 11: waktuA=sA[6]/2; waktuB=sB[6]/2; waktuC=sC[6]/2; lcd_gotoxy(9,1);

lcd_putsf("C11"); lcd_puts(buff); break;

case 12: waktuA=sA[6]/2; waktuB=sB[6]/2; waktuC=sC[6]/2; lcd_gotoxy(9,1);

lcd_putsf("C12"); lcd_puts(buff); break;

case 13: waktuA=sA[7]/2; waktuB=sB[7]/2; waktuC=sC[7]/2; lcd_gotoxy(9,1);

lcd_putsf("C13"); lcd_puts(buff); break;

case 14: waktuA=sA[8]/2; waktuB=sB[8]/2; waktuC=sC[8]/2; lcd_gotoxy(9,1);

lcd_putsf("C14"); lcd_puts(buff); break;

case 15: waktuA=sA[8]/2; waktuB=sB[8]/2; waktuC=sC[8]/2; lcd_gotoxy(9,1);

lcd_putsf("C15"); lcd_puts(buff); break;

case 16: waktuA=sA[9]/2; waktuB=sB[9]/2; waktuC=sC[9]/2; lcd_gotoxy(9,1);

lcd_putsf("C16"); lcd_puts(buff); break;

case 17: waktuA=sA[10]/2; waktuB=sB[10]/2; waktuC=sC[10]/2;

lcd_gotoxy(9,1); lcd_putsf("C17"); lcd_puts(buff); break;

case 18: waktuA=sA[10]/2; waktuB=sB[10]/2; waktuC=sC[10]/2;

lcd_gotoxy(9,1); lcd_putsf("C18"); lcd_puts(buff); break;

case 19: waktuA=sA[11]/2; waktuB=sB[11]/2; waktuC=sC[11]/2;

lcd_gotoxy(9,1); lcd_putsf("C19"); lcd_puts(buff); break;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-30

case 20: waktuA=sA[11]/2; waktuB=sB[11]/2; waktuC=sC[11]/2;

lcd_gotoxy(9,1); lcd_putsf("C20"); lcd_puts(buff); break;

case 21: waktuA=sA[11]/2; waktuB=sB[11]/2; waktuC=sC[11]/2;

lcd_gotoxy(9,1); lcd_putsf("C21"); lcd_puts(buff); break;

case 22: waktuA=sA[11]/2; waktuB=sB[11]/2; waktuC=sC[11]/2;

lcd_gotoxy(9,1); lcd_putsf("C22"); lcd_puts(buff); break;

case 23: waktuA=sA[12]/2; waktuB=sB[12]/2; waktuC=sC[12]/2;

lcd_gotoxy(9,1); lcd_putsf("C23"); lcd_puts(buff); break;

case 24: waktuA=sA[12]/2; waktuB=sB[12]/2; waktuC=sC[12]/2;

lcd_gotoxy(9,1); lcd_putsf("C24"); lcd_puts(buff); break;

case 25: waktuA=sA[13]/2; waktuB=sB[13]/2; waktuC=sC[13]/2;

lcd_gotoxy(9,1); lcd_putsf("C25"); lcd_puts(buff); break;

case 26: waktuA=sA[13]/2; waktuB=sB[13]/2; waktuC=sC[13]/2;

lcd_gotoxy(9,1); lcd_putsf("C26"); lcd_puts(buff); break;

case 27: waktuA=sA[13]/2; waktuB=sB[13]/2; waktuC=sC[13]/2;

lcd_gotoxy(9,1); lcd_putsf("C27"); lcd_puts(buff); break;

case 28: waktuA=sA[13]/2; waktuB=sB[13]/2; waktuC=sC[13]/2;

lcd_gotoxy(9,1); lcd_putsf("C28"); lcd_puts(buff); break;

case 29: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C29"); lcd_puts(buff); break;

case 30: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C30"); lcd_puts(buff); break;

case 31: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C31"); lcd_puts(buff); break;

case 32: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C32"); lcd_puts(buff); break;

case 33: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C33"); lcd_puts(buff); break;

case 34: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C34"); lcd_puts(buff); break;

case 35: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C35"); lcd_puts(buff); break;

case 36: waktuA=sA[14]/2; waktuB=sB[14]/2; waktuC=sC[14]/2;

lcd_gotoxy(9,1); lcd_putsf("C36"); lcd_puts(buff); break;

case 37: waktuA=sA[15]/2; waktuB=sB[15]/2; waktuC=sC[15]/2;

lcd_gotoxy(9,1); lcd_putsf("C37"); lcd_puts(buff); break;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-31

case 38: waktuA=sA[15]/2; waktuB=sB[15]/2; waktuC=sC[15]/2;

lcd_gotoxy(9,1); lcd_putsf("C38"); lcd_puts(buff); break;

case 39: waktuA=sA[15]/2; waktuB=sB[15]/2; waktuC=sC[15]/2;

lcd_gotoxy(9,1); lcd_putsf("C39"); lcd_puts(buff); break;

case 40: waktuA=sA[15]/2; waktuB=sB[15]/2; waktuC=sC[15]/2;

lcd_gotoxy(9,1); lcd_putsf("C40"); lcd_puts(buff); break;

case 41: waktuA=sA[16]/2; waktuB=sB[16]/2; waktuC=sC[16]/2;

lcd_gotoxy(9,1); lcd_putsf("C41"); lcd_puts(buff); break;

case 42: waktuA=sA[16]/2; waktuB=sB[16]/2; waktuC=sC[16]/2;

lcd_gotoxy(9,1); lcd_putsf("C42"); lcd_puts(buff); break;

case 43: waktuA=sA[17]/2; waktuB=sB[17]/2; waktuC=sC[17]/2;

lcd_gotoxy(9,1); lcd_putsf("C43"); lcd_puts(buff); break;

case 44: waktuA=sA[17]/2; waktuB=sB[17]/2; waktuC=sC[17]/2;

lcd_gotoxy(9,1); lcd_putsf("C44"); lcd_puts(buff); break;

case 45: waktuA=sA[17]/2; waktuB=sB[17]/2; waktuC=sC[17]/2;

lcd_gotoxy(9,1); lcd_putsf("C45"); lcd_puts(buff); break;

case 46: waktuA=sA[17]/2; waktuB=sB[17]/2; waktuC=sC[17]/2;

lcd_gotoxy(9,1); lcd_putsf("C46"); lcd_puts(buff); break;

case 47: waktuA=sA[18]/2; waktuB=sB[18]/2; waktuC=sC[18]/2;

lcd_gotoxy(9,1); lcd_putsf("C47"); lcd_puts(buff); break;

case 48: waktuA=sA[18]/2; waktuB=sB[18]/2; waktuC=sC[18]/2;

lcd_gotoxy(9,1); lcd_putsf("C48"); lcd_puts(buff); break;

case 49: waktuA=sA[19]/2; waktuB=sB[19]/2; waktuC=sC[19]/2;

lcd_gotoxy(9,1); lcd_putsf("C49"); lcd_puts(buff); break;

case 50: waktuA=sA[20]/2; waktuB=sB[20]/2; waktuC=sC[20]/2;

lcd_gotoxy(9,1); lcd_putsf("C50"); lcd_puts(buff); break;

case 51: waktuA=sA[20]/2; waktuB=sB[20]/2; waktuC=sC[20]/2;

lcd_gotoxy(9,1); lcd_putsf("C51"); lcd_puts(buff); break;

case 52: waktuA=sA[21]/2; waktuB=sB[21]/2; waktuC=sC[21]/2;

lcd_gotoxy(9,1); lcd_putsf("C52"); lcd_puts(buff); break;

case 53: waktuA=sA[22]/2; waktuB=sB[22]/2; waktuC=sC[22]/2;

lcd_gotoxy(9,1); lcd_putsf("C53"); lcd_puts(buff); break;

case 54: waktuA=sA[22]/2; waktuB=sB[22]/2; waktuC=sC[22]/2;

lcd_gotoxy(9,1); lcd_putsf("C54"); lcd_puts(buff); break;

case 55: waktuA=sA[23]/2; waktuB=sB[23]/2; waktuC=sC[23]/2;

lcd_gotoxy(9,1); lcd_putsf("C55"); lcd_puts(buff); break;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-32

case 56: waktuA=sA[23]/2; waktuB=sB[23]/2; waktuC=sC[23]/2;

lcd_gotoxy(9,1); lcd_putsf("C56"); lcd_puts(buff); break;

case 57: waktuA=sA[23]/2; waktuB=sB[23]/2; waktuC=sC[23]/2;

lcd_gotoxy(9,1); lcd_putsf("C57"); lcd_puts(buff); break;

case 58: waktuA=sA[23]/2; waktuB=sB[23]/2; waktuC=sC[23]/2;

lcd_gotoxy(9,1); lcd_putsf("C58"); lcd_puts(buff); break;

case 59: waktuA=sA[24]/2; waktuB=sB[24]/2; waktuC=sC[24]/2;

lcd_gotoxy(9,1); lcd_putsf("C59"); lcd_puts(buff); break;

case 60: waktuA=sA[24]/2; waktuB=sB[24]/2; waktuC=sC[24]/2;

lcd_gotoxy(9,1); lcd_putsf("C60"); lcd_puts(buff); break;

case 61: waktuA=sA[25]/2; waktuB=sB[25]/2; waktuC=sC[25]/2;

lcd_gotoxy(9,1); lcd_putsf("C61"); lcd_puts(buff); break;

case 62: waktuA=sA[26]/2; waktuB=sB[26]/2; waktuC=sC[26]/2;

lcd_gotoxy(9,1); lcd_putsf("C62"); lcd_puts(buff); break;

case 63: waktuA=sA[26]/2; waktuB=sB[26]/2; waktuC=sC[26]/2;

lcd_gotoxy(9,1); lcd_putsf("C63"); lcd_puts(buff); break;

case 64: waktuA=sA[27]/2; waktuB=sB[27]/2; waktuC=sC[27]/2;

lcd_gotoxy(9,1); lcd_putsf("C64"); lcd_puts(buff); break;

//================================Hitung

Mundur================================\\

int kali=1000;

int hit_mun_A,hit_mun_B,hit_mun_C;

void hitung_mundur_A()

for(hit_mun_A=waktuA; hit_mun_A<=waktuA;hit_mun_A--)

delay_ms(kali);

lcd_gotoxy(0,3);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-33

sprintf(buff1,"H=%2d",hit_mun_A);

lcd_puts(buff1);

if(hit_mun_A==0)

break;

void hitung_mundur_B()

for(hit_mun_B=waktuB; hit_mun_B<=waktuB;hit_mun_B--)

delay_ms(kali);

lcd_gotoxy(7,3);

sprintf(buff1,"H=%2d",hit_mun_B);

lcd_puts(buff1);

if(hit_mun_B==0)

break;

void hitung_mundur_C()

for(hit_mun_C=waktuC; hit_mun_C<=waktuC;hit_mun_C--)

delay_ms(kali);

lcd_gotoxy(14,3);

sprintf(buff1,"H=%2d",hit_mun_C);

lcd_puts(buff1);

if(hit_mun_C==0)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-34

break;

//================================Penampil=========================

=======\\

void penampil_waktu()

lcd_gotoxy(0,2);

sprintf(buff2,"H=%0.1f ",waktuA);

lcd_puts(buff2);

lcd_gotoxy(7,2);

sprintf(buff2,"H=%0.1f ",waktuB);

lcd_puts(buff2);

lcd_gotoxy(14,2);

sprintf(buff2,"H=%0.1f ",waktuC);

lcd_puts(buff2);

//================================Nyala

Adaptif================================\\

int kuning=3000,allred=3000;

void semua_merah()

lampuA_merah=hidup;

lampuC_merah=hidup;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-35

lampuB_merah=hidup;

delay_ms(allred);

void nyala_adaptif_a()

lampuA_merah=mati;

lampuC_merah=hidup;

lampuB_merah=hidup;

lampuA_hijau=hidup;

hitung_mundur_A();

lampuA_hijau=mati;

lampuA_kuning=hidup;

delay_ms(kuning);

lampuA_kuning=mati;

semua_merah();

void nyala_adaptif_b()

lampuB_merah=mati;

lampuC_merah=hidup;

lampuA_merah=hidup;

lampuB_hijau=hidup;

hitung_mundur_B();

lampuB_hijau=mati;

lampuB_kuning=hidup;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-36

delay_ms(kuning);

lampuB_kuning=mati;

semua_merah();

void nyala_adaptif_c()

lampuC_merah=mati;

lampuA_merah=hidup;

lampuB_merah=hidup;

lampuC_hijau=hidup;

hitung_mundur_C();

lampuC_hijau=mati;

lampuC_kuning=hidup;

delay_ms(kuning);

delay_ms(allred);

lampuC_kuning=mati;

semua_merah();

void cabang_a()

tampil_data();

fuzzy();

penampil_waktu();

nyala_adaptif_a();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 145: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-37

void cabang_b()

tampil_data();

fuzzy();

penampil_waktu();

nyala_adaptif_b();

void cabang_c()

tampil_data();

fuzzy();

penampil_waktu();

nyala_adaptif_c();

//================================Void

Main================================\\

void main(void)

PORTA=0x00;

DDRA=0b00000111;

PORTB=0x00;

DDRB=0b00001101;

PORTC=0x00;

DDRC=0b00000111;

PORTD=0x00;

DDRD=0x00;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 146: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-38

TCCR0=0x00;

TCNT0=0x8A;

OCR0=0x00;

MCUCR=0x00;

MCUCSR=0x00;

TIMSK=0x01;

UCSRB=0x00;

ACSR=0x80;

SFIOR=0x00;

ADCSRA=0x00;

SPCR=0x00;

TWCR=0x00;

// I2C Bus initialization

// I2C Port: PORTC

// I2C SDA bit: 7

// I2C SCL bit: 6

// Bit Rate: 100 kHz

// Note: I2C settings are specified in the

// Project|Configure|C Compiler|Libraries|I2C menu.

i2c_init();

lcd_init(20);

#asm("sei")

nyala_lampu_awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 147: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-39

tampil_data();

while (1)

cabang_a();

cabang_b();

cabang_c();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 148: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-4

0

Lam

pir

an

5 P

erh

itu

ngan

Teo

riti

s A

lgori

tma F

uzz

y L

ogic

Per

cobaa

n

Fuzz

ifik

asi

µ

min

D

efuzz

ifik

asi

Jum

. K

at.

µA

Ju

m.

Kat

. µ

B

Jum

. K

at.

µC

C

ab A

K

at.

Cab

B

Kat

. C

ab C

K

at.

1

0

SK

1

0

SK

1

0

SK

1

1

4.0

C

P

4.0

C

P

4.0

C

P

2

2

SK

0.6

0

0

SK

1

3

SD

1

0.5

0

0.5

0

6.5

0

CP

6.5

0

CP

14.0

A

GL

3

1

SK

0.8

0

2

SK

0.6

0

6

SD

2

0.7

5

0.6

0

6.0

C

P

6.0

C

P

14.0

A

GL

4

1

SK

0.8

0

0

SK

1

8

BY

0.6

0

0.6

0

6.0

C

P

6.0

C

P

22.0

L

M

5

2

SK

0.6

0

4

SK

0.7

5

0

SK

1.0

0

0.6

0

6.0

C

P

14.0

A

GL

6.0

C

P

6

2

SK

0.6

0

5

SK

1

1

SK

0.8

0

0.6

0

6.0

C

P

14.0

A

GL

6.0

C

P

7

2

SK

0.6

0

4

SK

0.7

5

4

SD

1

0.7

5

0.6

0

6.0

C

P

14.0

A

GL

14.0

A

GL

8

0

SK

1

3

SK

0.5

0

7

SD

2

0.5

0

0.5

0

6.5

0

CP

14.0

A

GL

14.0

A

GL

9

0

SK

1

6

SK

0.7

5

3

SD

1

0.5

0

0.5

0

6.5

0

CP

14.0

A

GL

14.0

A

GL

10

1

SK

0.8

0

5

SK

1

7

SD

2

0.5

0

0.5

0

6.5

0

CP

14.0

A

GL

14.0

A

GL

11

1

SK

0.8

0

4

SK

0.7

5

9

BY

0.8

0

0.7

5

5.2

5

CP

14.0

A

GL

22.7

5

LM

12

2

SK

0.6

0

6

SK

0.7

5

10

BY

1

0.6

0

6.0

C

P

14.0

A

GL

22.0

L

M

13

0

SK

1

8

SK

0.6

0

1

SK

0.8

0

0.6

0

6.0

C

P

22.0

L

M

6.0

C

P

14

1

SK

0.8

0

9

SK

0.8

0

4

SD

1

0.7

5

0.7

5

5.2

5

CP

22.7

5

LM

14.0

A

GL

15

0

SK

1

8

SK

0.6

0

7

SD

2

0.5

0

0.5

0

6.5

0

CP

21.5

0

LM

14.0

A

GL

16

2

SK

0.6

0

10

SK

1

10

BY

1.0

0

0.6

0

6.0

C

P

22.0

L

M

22.0

L

M

17

3

SD

1

0.5

0

2

SD

1

0.6

0

0

SK

1

0.5

0

14.0

A

GL

6.5

0

CP

6.5

0

CP

18

6

SD

2

0.7

5

0

SD

2

1

0

SK

1

0.7

5

14.0

A

GL

5.2

5

CP

5.2

5

CP

19

3

SD

1

0.5

0

2

SD

1

0.6

0

4

SD

1

0.7

5

0.5

0

14.0

A

GL

6.5

0

CP

14.0

A

GL

20

3

SD

1

0.5

0

1

SD

1

0.8

0

5

SD

2

1

0.5

0

14.0

A

GL

6.5

0

CP

14.0

A

GL

21

6

SD

2

0.7

5

1

SD

2

0.8

0

4

SD

1

0.7

5

0.7

5

14.0

A

GL

5.2

5

CP

14.0

A

GL

22

5

SD

2

1

1

SD

2

0.8

0

7

SD

2

0.4

0

0.4

0

14.0

A

GL

6.5

0

CP

14.0

A

GL

L-40

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 149: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-4

1

Lan

juta

n L

ampir

an L

-40

Per

cobaa

n

Fuzz

ifik

asi

µ

min

D

efuzz

ifik

asi

Jum

. K

at.

µA

Ju

m.

Kat

. µ

B

Jum

. K

at.

µC

C

ab A

K

at.

Cab

B

Kat

. C

ab C

K

at.

23

4

SD

1

0.7

5

2

SD

1

0.6

0

8

BY

0.6

0

0.6

0

14.0

A

GL

6.0

0

CP

22.0

L

M

24

6

SD

2

0.7

5

0

SD

2

1

9

BY

0.8

0

0.7

5

14.0

A

GL

5.2

5

CP

22.7

5

LM

25

4

SD

1

0.7

5

3

SD

1

0.5

0

1

SK

0.8

0

0.5

0

14.0

A

GL

14.0

A

GL

6.5

0

CP

26

3

SD

1

0.5

0

7

SD

1

0.5

0

1

SK

0.8

0

0.5

0

14.0

A

GL

14.0

A

GL

6.5

0

CP

27

5

SD

2

1

3

SD

2

0.5

0

0

SK

1

0.5

0

14.0

A

GL

14.0

A

GL

6.5

0

CP

28

6

SD

2

0.7

5

7

SD

2

0.5

0

0

SK

1

0.5

0

14.0

A

GL

14.0

A

GL

6.5

0

CP

29

3

SD

1

0.5

0

4

SD

1

0.7

5

3

SD

1

0.5

0

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

30

3

SD

1

0.5

0

3

SD

1

0.5

0

6

SD

2

0.7

5

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

31

4

SD

1

0.7

5

5

SD

1

1

4

SD

1

0.7

5

0.7

5

14.0

A

GL

14.0

A

GL

14.0

A

GL

32

4

SD

1

0.7

5

6

SD

1

0.7

5

6

SD

2

0.7

5

0.7

5

14.0

A

GL

14.0

A

GL

14.0

A

GL

33

6

SD

2

0.7

5

3

SD

2

0.5

0

4

SD

1

0.7

5

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

34

7

SD

2

0.5

0

3

SD

2

0.5

0

5

SD

2

1

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

35

6

SD

2

0.7

5

7

SD

2

0.5

0

3

SD

1

0.5

0

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

36

5

SD

2

1

7

SD

2

0.5

0

5

SD

2

1

0.5

0

14.0

A

GL

14.0

A

GL

14.0

A

GL

37

4

SD

1

0.7

5

4

SD

1

0.7

5

8

BY

0.6

0

0.6

0

14.0

A

GL

14.0

A

GL

22.0

L

M

38

3

SD

1

0.5

0

6

SD

2

0.7

5

9

BY

0.8

0

0.5

0

14.0

A

GL

14.0

A

GL

21.5

0

LM

39

5

SD

2

1

3

SD

1

0.5

0

9

BY

0.8

0

0.5

0

14.0

A

GL

14.0

A

GL

21.5

0

LM

40

7

SD

2

0.5

0

7

SD

2

0.5

0

9

BY

0.8

0

0.5

0

14.0

A

GL

14.0

A

GL

21.5

0

LM

41

4

SD

1

0.7

5

10

BY

1

2

SK

0.6

0

0.6

0

14.0

A

GL

22.0

L

M

6.0

C

P

42

6

SD

2

0.7

5

10

BY

1

1

SK

0.8

0

0.7

5

14.0

A

GL

22.7

5

LM

5.2

5

CP

43

4

SD

1

0.7

5

8

BY

0.6

0

3

SD

1

0.5

0

0.5

0

14.0

A

GL

21.5

0

LM

14.0

A

GL

L-41

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 150: REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS … · TUGAS AKHIR REKAYASA PENGATURAN NYALA LAMPU LALU LINTAS BERDASARKAN JUMLAH KENDARAAN ... Pada persimpangan jalan sering terjadi

L-4

2

Lan

juta

n L

ampir

an L

-41

Per

cobaa

n

Fuzz

ifik

asi

µ

min

D

efuzz

ifik

asi

Jum

. K

at.

µA

Ju

m.

Kat

. µ

B

Jum

. K

at.

µC

Cab

A

Kat

. C

ab B

K

at.

Cab

C

Kat

.

44

4

SD

1

0.7

5

9

BY

0.8

0

7

SD

2

0.5

0

0.5

0

14.0

A

GL

21.5

0

LM

14.0

A

GL

45

5

SD

2

1

9

BY

0.8

0

3

SD

1

0.5

0

0.5

0

14.0

A

GL

21.5

0

LM

14.0

A

GL

46

7

SD

2

0.5

0

8

BY

0.6

0

5

SD

2

1

0.5

0

14.0

A

GL

21.5

0

LM

14.0

A

GL

47

4

SD

1

0.7

5

10

B

Y

1

8

BY

0.6

0

0.6

0

14.0

A

GL

22.0

L

M

22.0

L

M

48

7

SD

2

0.5

0

8

BY

0.6

0

9

BY

0.8

0

0.5

0

14.0

A

GL

21.5

0

LM

21.5

0

LM

49

10

BY

1

1

SK

0.8

0

2

SK

0.6

0

0.6

0

22.0

L

M

6.0

C

P

6.0

C

P

50

9

BY

0.8

0

2

SK

0.6

0

3

SD

1

0.5

0

0.5

0

21.5

0

LM

6.5

0

CP

14.0

A

GL

51

8

BY

0.6

0

0

SK

1

5

SD

2

1

0.6

0

22.0

L

M

6.0

C

P

14.0

A

GL

52

10

BY

1

2

SK

0.6

0

8

BY

0.6

0

0.6

0

22.0

L

M

6.0

C

P

22.0

L

M

53

9

BY

0.8

0

4

SD

1

0.7

5

0

SK

1

0.7

5

22.7

5

LM

14.0

A

GL

5.2

5

CP

54

9

BY

0.8

0

6

SD

2

0.7

5

1

SK

0.8

0

0.7

5

22.7

5

LM

14.0

A

GL

5.2

5

CP

55

8

BY

0.6

0

3

SD

1

0.5

0

4

SD

1

0.7

5

0.5

0

21.5

0

LM

14.0

A

GL

14.0

A

GL

56

10

BY

1

3

SD

1

0.5

0

7

SD

2

0.5

0

0.5

0

21.5

0

LM

14.0

A

GL

14.0

A

GL

57

9

BY

0.8

0

7

SD

2

0.5

0

4

SD

1

0.7

5

0.5

0

21.5

0

LM

14.0

A

GL

14.0

A

GL

58

8

BY

0.6

0

5

SD

2

1

5

SD

2

1

0.6

0

22.0

L

M

14.0

A

GL

14.0

A

GL

59

10

BY

1

4

SD

1

0.7

5

8

BY

0.6

0

0.6

0

22.0

L

M

14.0

A

GL

22.0

L

M

60

9

BY

0.8

0

7

SD

2

0.5

0

9

BY

0.8

0

0.5

0

21.5

0

LM

14.0

A

GL

21.5

0

LM

61

10

BY

1

10

B

Y

1

2

SK

0.6

0

1

22.0

L

M

22.0

L

M

6.0

C

P

62

8

BY

0.6

0

9

BY

0.8

0

3

SD

1

0.5

0

0.5

0

21.5

0

LM

21.5

0

LM

14.0

A

GL

63

9

BY

0.8

0

9

BY

0.8

0

6

SD

2

0.7

5

0.7

5

22.7

5

LM

22.7

5

LM

14.0

A

GL

64

10

BY

1

10

B

Y

1

9

BY

0.8

0

0.8

0

23.0

L

M

23.0

L

M

23.0

L

M

65

10

BY

1

10

B

Y

1

10

BY

1

1

24.0

L

M

24.0

L

M

24.0

L

M L-42

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI