138
i TUGAS AKHIR TUGAS AKHIR SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266 Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma ANTHONY HEATUBUN NIM: 165114045 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2020 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

i

TUGAS AKHIR

TUGAS AKHIR

SMART MODULAR TRAFFIC LIGHT BERBASIS

ESP8266

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Fakultas Sains dan Teknologi Universitas Sanata Dharma

ANTHONY HEATUBUN

NIM: 165114045

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

ii

FINAL PROJECT

FINAL PROJECT

SMART MODULAR TRAFFIC LIGHT BASED ON

ESP8266

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

ANTHONY HEATUBUN

NIM: 165114045

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

“Dan bahwasannya manusia tiada

memperoleh selain apa yang telah

diusahakannya”

- An Najm: 39 -

Skripsi ini kupersembahkan kepada

Tuhan yang Maha Esa,

Orang Tua dan Kakak,

Teman-teman seperjuangan,

Semua orang yang peduli

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

viii

INTISARI

Dewasa ini masih banyak terdapat lampu lalu lintas menggunakan kabel untuk

menghubungkan setiap lampu dari semua sisi jalan ke kontroler utamanya sehingga

membutuhkan kabel yang panjang. Pengaturan lampu lalu lintas yang dibuat memiliki

kontrol terpusat pada satu kontroler yang tetap sehingga bila terjadi kerusakan pada kontroler

utama, keseluruhan sistem akan tergganggu.

Untuk menanggulangi hal tersebut dibuat sistem lampu lalu lintas berbentuk modul

dan menggunakan komunikasi antar modul secara wireless sehingga tidak membutuhkan

kabel yang panjang. Pada penelitian ini dibuat 4 modul lampu lalu lintas yang digunakan

pada perempatan jalan. Modul yang dibuat memiliki karakteristik yang sama dan dapat

difungsikan sebagai server maupun client dan jika terjadi kerusakan pada server, modul

client dapat menggantikan server yang rusak sehingga keseluruhan sistem tidak terganggu.

Setiap modul lampu lalu lintas terdiri dari Esp8266, RTC, puss button dan switch SPDT.

Pengaturan durasi lampu dilakukan melalui web. Data yang diatur pada web dikirim ke

server. Server bertugas untuk menyediakan data pewaktuan, melakukan counting durasi

lampu dan memberikan data ketika terdapat request dari client. Client menyalakan lampu

sesuai dengan data yang diterima dari server.

Hasil penelitian ini menunjukan bahwa sistem lampu lalu lintas yang dibuat dalam

bentuk modul dapat berfungsi sebagai server maupun client. Jika terjadi kerusakan pada

server, modul client dapat menggantikan server yang rusak. Keempat modul lampu lalu

lintas dapat tersinkronisasi dengan baik. Jarak maksimum komunikasi ideal yang dapat

dijangkau pada penelitian yang dibuat adalah 41,8 meter.

Kata Kunci: Wireless, ESP8266, Server, Client, web

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

ix

ABSTRACT

Today there are still many traffic lights using cables to connect each lamp from all

sides of the road to the main controller so it requires a long cable. The traffic light settings

made have centralized control on one fixed controller so that if there is damage to the main

controller, the whole system will be disrupted.

To overcome this a traffic light system is made in the form of modules and uses

communication between modules wirelessly so that no long cables are needed. In this study,

4 traffic light modules were used at the crossroad. Modules made have the same

characteristics and can function as a server or client and if there is damage to the server, the

client module can replace the damaged server so that the entire system is not interrupted.

Each traffic light module consists of Esp8266, RTC, puss button and SPDT switch. Lamp

duration settings are done via the web. Data arranged on the web is sent to the server. The

server has the duty to provide timing data, calculate the duration of the lights and provide

data when there is a request from the client. The client turns on the lights according to the

data received from the server.

The results of this study indicate that the traffic light system created in the form of

modules can communicate wirelessly. If there is damage to the server, the client module can

replace the damaged server. The four traffic light modules can be synchronized properly.

The maximum ideal communication distance that can be reached in the research made is

41.8 meters.

Key words: Wireless, ESP8266, Server, Client, Web

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

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

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS ........................................................................................... vii

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

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

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

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

DAFTAR GAMBAR ........................................................................................................... xv

DAFTAR TABEL ............................................................................................................. xvii

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

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

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

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

1.4 Metodologi Penelitian ............................................................................................. 3

BAB II DASAR TEORI ........................................................................................................ 5

2.1 Lampu Lalu Lintas (Traffic Light) .......................................................................... 5

2.2 ESP8266[4] ............................................................................................................. 6

2.3 Software Arduino IDE ............................................................................................ 7

2.4 World Wide Web [9] ............................................................................................... 8

2.4.1 Pengertian ........................................................................................................ 8

2.4.2 Cara Kerja Web ............................................................................................... 8

2.4.3 Web Server ....................................................................................................... 9

2.4.4 HTML ............................................................................................................ 10

2.5 TCP/IP .................................................................................................................. 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xii

2.5.1 Pengertian ...................................................................................................... 10

2.5.2 TCP/IP Layer ................................................................................................. 11

2.6 Wi-Fi[12] .............................................................................................................. 13

2.6.1 Access Point (AP)[13] ................................................................................... 13

2.7 LED (Light Emitting Diode) ................................................................................. 14

2.8 Real Time Clock (RTC) DS3231 .......................................................................... 15

2.9 JSON[17] .............................................................................................................. 16

BAB III PERANCANGAN PENELITIAN ........................................................................ 18

3.1 Blok Diagram Perancangan .................................................................................. 18

3.2 Perancangan Perangkat Keras ............................................................................... 19

3.2.1 Prototype Modul Lampu Lalu Lintas ............................................................ 19

3.2.2 Rangkaian pada Modul Lampu Lalu Lintas .................................................. 20

3.3 Perancangan Tampilan Halaman Web .................................................................. 22

3.4 Perancangan Perangkat Lunak .............................................................................. 24

3.4.1 Diagram Alir Program Utama ....................................................................... 24

3.4.2 Diagram Alir Sub Rutin Pencarian Jaringan ................................................. 25

3.4.3 Diagram Alir Sub Rutin Server ..................................................................... 26

3.4.4 Diagram Alir Sub Rutin Client ...................................................................... 30

3.4.5 Diagram Alir Sub Rutin Pergantian Client .................................................... 30

3.4.6 Diagram Alir Sub Rutin Pergantian Server ................................................... 31

3.4.7 Daigram Alir Utama Web.............................................................................. 32

BAB IV HASIL DAN PEMBAHASAN ............................................................................. 34

4.1 Perubahan Perancangan ........................................................................................ 34

4.1.1 Perubahan Desain Prototype ......................................................................... 34

4.1.2 Penambahan Software untuk Menyimpan Data ke EEPROM ...................... 36

4.1.3 Perubahan dan Penambahan Tampilan Web ................................................. 36

4.1.4 Perubahan Nilai Resistor yang Digunakan .................................................... 38

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xiii

4.2 Implementasi Penelitian ........................................................................................ 38

4.2.1 Bentuk Fisik Modul ....................................................................................... 38

4.2.2 Rangkaian Elektronik Modul ........................................................................ 39

4.3 Proses Kerja Sistem .............................................................................................. 41

4.4 Cara penggunaan Modul ....................................................................................... 41

4.5 Pengujian Keberhasilan ........................................................................................ 43

4.5.1 Pengujian Kemampuan Modul sebagai Server/Client ................................... 43

4.5.2 Pengujian Pengiriman Data ........................................................................... 48

4.5.3 Pengujian Timer Lampu Lalu Lintas ............................................................. 63

4.5.4 Pengujian Sikronisasi Lampu Lalu Lintas ..................................................... 64

4.5.5 Pengujian Perubahan Client Menjadi Server ................................................. 68

4.5.6 Pengujian Pergantian Client yang Rusak ...................................................... 71

4.5.7 Pengujian Jarak Komunikasi Server dengan Client ...................................... 73

4.5.8 Pengujian Ketahanan Komunikasi Server dengan Client .............................. 74

4.6 Analisis Perangkat Lunak (Software) ................................................................... 75

4.6.1 Library yang Digunakan pada Program ........................................................ 75

4.6.2 Variabel yang Digunakan pada Program ....................................................... 76

4.6.3 Listing Program Konfigurasi Jaringan ........................................................... 77

4.6.4 Listing Program Konfigurasi I/O ................................................................... 78

4.6.5 Listing Program Scanning SSID .................................................................... 78

4.6.6 Listing Program Pengaturan Modul sebagai Server/Client ........................... 79

4.6.7 Listing Program Sub Rutin Request Data ke Server ...................................... 80

4.6.8 Listing Program Sub Rutin Konversi Data ke JSON ..................................... 82

4.6.9 Listing Program Sub Rutin Konversi Data Pengaturan Web ........................ 83

4.6.10 Listing Program Sub Rutin Pengaturan Penyalaan Lampu ........................... 84

4.6.11 Listing Program Penyimpanan Data ke EEPROM ........................................ 85

4.6.12 Listing Program Sub Rutin Monitoring ......................................................... 86

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xiv

4.6.13 Listing Program Halaman Web ..................................................................... 88

4.6.14 Listing Program Utama .................................................................................. 91

BAB V KESIMPULAN DAN SARAN .............................................................................. 94

5.1 Kesimpulan ........................................................................................................... 94

5.2 Saran ..................................................................................................................... 94

DAFTAR PUSTAKA .......................................................................................................... 95

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

Lampiran 1 ..................................................................................................................... L-2

Lampiran 2 ..................................................................................................................... L-3

Lampiran 3 ..................................................................................................................... L-4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xv

DAFTAR GAMBAR

Gambar 1.1 Perancangan Diagram Blok Sistem ............................................................... 3

Gambar 2.1 NodeMCU Esp8266[4] ................................................................................. 6

Gambar 2.2 Skematik Posisi Pin NodeMCU[5] ............................................................... 6

Gambar 2.3 Arduino IDE[8] ............................................................................................. 8

Gambar 2.4 Skema Kerja Web[9] ..................................................................................... 9

Gambar 2.5 Perbandingan OSI Layer dan TCP/IP Layer[10] ........................................ 11

Gambar 2.6 Simbol dan Bentuk Fisik LED[14] ............................................................. 14

Gambar 2.7 Rangkaian Dasar Menyalakan LED[14] ..................................................... 15

Gambar 2.8 Rangkaian Modul RTC[16] ........................................................................ 16

Gambar 2.9 JSON Object[17] ......................................................................................... 17

Gambar 2.10 JSON Array[17] ....................................................................................... 17

Gambar 3.1 Blok Diagram Perancangan Modul ............................................................ 18

Gambar 3.2 Rangkaian Lampu Lalu Lintas (a) tampak depan, (b) tampak samping, (c)

tampak atas, (d) tampak belakang ....................................................................................... 20

Gambar 3.3 Rangkaian Lampu Lalu Lintas pada Modul ............................................... 21

Gambar 3.4 Tampilan Halaman Web ............................................................................ 22

Gambar 3.5 Waktu Siklus Lampu Lalu Lintas Semua Modul ....................................... 23

Gambar 3.6 Diagram Alir Program Utama .................................................................... 25

Gambar 3.7 Diagram Alir Sub Rutin Mencari Jaringan ................................................ 26

Gambar 3.8 Diagram Alir Pengaturan Waktu ................................................................ 27

Gambar 3.9 Diagram Alir Pengiriman Data .................................................................. 29

Gambar 3.10 Diagram Alir Sub Rutin Client ................................................................ 30

Gambar 3.11 Diagram Alir Sub Rutin Pergantian Client .............................................. 31

Gambar 3.12 Diagram Alir Sub Rutin Pergantian Server .............................................. 32

Gambar 3.13 Diagram Alir Utama Web ........................................................................ 33

Gambar 4.1 Perubahan Desain Prototype (a) tampak depan, (b) tampak belakang, (c)

tampak samping, (d) tampak atas, (e) penutup casis ........................................................... 35

Gambar 4.2 Perubahan Desain Prototype (a) tampilan halaman web monitoring semua

client terhubung, (b) tampilan halaman web monitoring tidak semua client terhubung ..... 38

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xvi

Gambar 4.3 Bentuk Fisik Modul (a) tampak depan, (b) tampak samping, (c) tampak

belakang, (d) tampak atas .................................................................................................... 39

Gambar 4.4 Rangkaian Elektronik Modul ..................................................................... 39

Gambar 4.5 Rangkaian Pull-up Resistor ....................................................................... 40

Gambar 4.6 Urutan Penyalaan Warna Lampu ............................................................... 41

Gambar 4.7 Tampilan Halaman Web Pengaturan Pewaktuan ....................................... 44

Gambar 4.8 Hasil Pengujian Kemampuan Modul sebagai Server (a) tampilan SSID

jaringan, (b) tampilan halaman web pengaturan ................................................................. 45

Gambar 4.9 Hasil Pengujian Kemampuan Modul sebagai Client (a) modul 1, (b) modul

2, (c) modul 3, (d) modul 4 .................................................................................................. 47

Gambar 4.10 Data yang Diatur pada Web ..................................................................... 49

Gambar 4.11 Data yang Tampil Pada Serial Monitor .................................................... 49

Gambar 4.12 Tampilan Web Pengiriman Data “status_lampu” (a) krtika URL

‘192.168.11.1/reset’ diakses, (b) ‘192.168.11.1/lanjut’ diakses .......................................... 50

Gambar 4.13 Tampilan Serial Monitor Data “status_lampu” (a) krtika URL

‘192.168.11.1/reset’ diakses, (b) ‘192.168.11.1/lanjut’ diakses .......................................... 51

Gambar 4.14 Hasil Pengujian Pertama Pengiriman Data dari Web ke Server ............... 51

Gambar 4.15 Data yang Dikirim dari Server ke Client.................................................. 53

Gambar 4.16 Data yang Diterima Client dari Server ..................................................... 53

Gambar 4.17 Data yang Dikirim Server dan Data yang Diterima Client ...................... 53

Gambar 4.18 Hasil Uji Coba Pengiriman Data dari Server ke Web (a) kondisi modul 1

hijau, (b) kondisi modul 2 hijau, (c) kondisi modul 3 hijau, (d) kondisi modul 4 hijau ..... 62

Gambar 4.19 Hasil Uji Coba Sinkronisasi (a) kondisi modul 1 hijau, (b) kondisi modul

2 hijau, (c) kondisi modul 3 hijau, (d) kondisi modul 4 hijau ............................................. 66

Gambar 4.20 Kondisi Ketika Server Menalami Kerusakan ........................................... 68

Gambar 4.21 Kondisi Ketika Client Melakukan Reconnecting dan Restart ................. 69

Gambar 4.22 Durasi perubahan server hingga kembali ke siklus normal (a) ketika server

modul 1 rusak, (b) ketika server modul 2 rusak, (c) ketika server modul 3 rusak, (d) ketika

server modul 4 rusak ........................................................................................................... 70

Gambar 4.23 Kondisi Awal Ketika Modul Client Baru Diberi Catudaya ........................ 71

Gambar 4.24 Skema Pengujian Jarak Komunikasi Modul ............................................ 74

Gambar 4.25 Library yang Digunakan pada Program ................................................... 75

Gambar 4.26 Variabel yang digunakan pada Program .................................................. 76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xvii

Gambar 4.27 Listing Program Konfiguras jaringan ....................................................... 77

Gambar 4.28 Listing Program Konfigurasi Port I/O ...................................................... 78

Gambar 4.29 Listing Program Scanning Jaringan ......................................................... 78

Gambar 4.30 Listing Program Pengaturan Server dan Client ........................................ 79

Gambar 4.31 Listing Program Sub Rutin Request Data ke Server ................................ 81

Gambar 4.32 Listing Program Sub Rutin Konversi Data ke JSON ............................... 82

Gambar 4.33 Listing Program Sub Rutin Konversi Data Pengaturan Web ................... 84

Gambar 4.34 Listing Program Sub Rutin Pengaturan Penyalaan Lampu ...................... 85

Gambar 4.35 Listing Program Penyimpanan Data ke EEPROM (a) pengaturan ukuran

byte EEPROM, (b) menyimpan data durasi ke EEPROM server, (c) membaca data dari

EEPROM, (d) menyimpan data ‘cc[0]’ ke EEPROM ......................................................... 86

Gambar 4.36 File Header untuk Mendapat Informasi Client ........................................ 86

Gambar 4.37 Listing Program Sub Rutin Monitoring ................................................... 87

Gambar 4.38 Listing Program Halaman Web Pengaturan ............................................. 88

Gambar 4.39 Listing Program Halaman Web Monitoring ............................................. 89

Gambar 4.40 Listing Program Utama ............................................................................ 91

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

xvii

DAFTAR TABEL

Tabel 2.1 Spesifikasi Esp8266 NodeMCU V3[4]................................................................ 7

Tabel 2.2 Tegangan Kerja Setiap Warna LED[15] ............................................................ 14

Tabel 3.1 Alamat IP Modul Lampu Lalu Lintas ................................................................ 22

Tabel 3.2 Format Komunikasi Data ................................................................................... 27

Tabel 3.3 Data Status Lampu dan Pengaruhnya pada Client ............................................. 27

Tabel 3.4 Keterangan dari Data yang Dikirim dan Diterima Modul ................................. 28

Tabel 3.5 Durasi Tunda Modul Berdasarkan Alamat IP ................................................... 32

Tabel 4.1 Perubahan Tampilan Web Setting Durasi .......................................................... 37

Tabel 4.2 Perbandingan Nilai Resistor .............................................................................. 38

Tabel 4.3 Hasil Pengujian Kemampuan Modul sebagai Server ........................................ 45

Tabel 4.4 Hasil Pengujian Kemampuan Modul sebagai Client ......................................... 48

Tabel 4.5 Hasil Pengujian Pengiriman Dara dari Web ke Server ...................................... 52

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client.................................... 54

Tabel 4.7 Hasil Pengujian Pengiriman Dara dari Server ke Web ...................................... 62

Tabel 4.8 Hasil Pengujian Timer Lampu Lalu Lintas........................................................ 63

Tabel 4.9 Hasil Pengujian Sikronisasi Lampu Lalu Lintas ............................................... 66

Tabel 4.10 Hasil Pengujian Perubahan Client menjadi Server .......................................... 70

Tabel 4.11 Hasil Pengujian Pergantian Client yang Rusak ............................................... 73

Tabel 4.12 Hasil Pengujian Jarak Komunikasi Server dengan Client ............................... 74

Tabel 4.13 Fungsi Variabel yang Digunakan pada Program ............................................. 76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

1

1 BAB I

PENDAHULUAN

1.1 Latar Belakang

Traffic light atau lampu lalu lintas merupakan lampu yang digunakan untuk mengatur

kelancaran lalu lintas pada suatu persimpangan dengan cara memberi kesempatan pengguna

jalan dari masing-masing arah untuk berjalan secara bergantian[1]. Fungsi lampu lalu lintas

sangatlah penting sehingga lampu lalu lintas harus dapat dikontrol semudah dan seefisien

mungkin guna memperlancar arus lalu lintas di suatu persimpangan jalan. Saat ini sudah

banyak jenis pengaturan lampu lalu lintas yang digunakan. Namun, masih terdapat banyak

lampu lalu lintas menggunakan kabel bawah tanah untuk menghubungkan setiap lampu lalu

lintas di setiap persimpangan dengan kontroler utamanya sehingga dibutuhkan kabel yang

cukup panjang. Selain pengaturan lampu lalu lintas menggunakan kabel, terdapat juga

pengaturan lampu lalu lintas menggunakan sistem nirkabel (wireless).

Salah satu contoh sistem lampu lalu lintas wireless dibuat menggunakan

mikrokontroler Atmega 2560 sebagai master dan mikrokontroler Atmega 328 sebagai slave

dengan modul Xbee 2.4 GHz menggunakan topologi jariangan point to multipont untuk

komunikasinya. Sistem ini merupakan hasil penelitian yang sudah dibuat yaitu Pengaturan

Lampu Lalu Lintas Secara Nirkabel Bertenaga Surya[2]. Penelitian tersebut menggunakan

satu master dan beberapa slave yang sudah ditetapkan sebelumnya. Master menyediakan

data pewaktuan untuk setiap slave. Pengaturan master dan slave yang sudah ditetapkan

diawal memiliki kendala yakni bila master rusak maka semua sistem akan terganggu dan

lampu lalu lintas tidak akan berjalan sebagaimana mestinya.

Berbeda dengan sistem lampu lalu lintas yang dibuat pada penelitian di atas, sistem

yang akan dibuat pada penelitian ini adalah Smart Modular Traffic Light Berbasis Esp8266.

Smart Modular Traffic Berbasis Esp8266 adalah lampu lalu lintas yang dibuat dalam bentuk

modul. Modul memiliki komponen yang terdiri dari satu mikrokontroler Esp8266, satu RTC

DS3231, satu push button, tiga buah lampu LED yang terdiri dari satu LED merah, satu LED

kuning dan satu LED hijau serta terdapat tiga buah switch SPDT. Apabila modul hendak

digunakan pada perempatan jalan, dibutuhkan empat modul yang ditemapatkan pada setiap

sisi jalan. Setiap modul yang digunakan memiliki karakteristik yang sama berupa tampilan

fisik modul dan program yang digunakan. Kelebihan dari modul yang memiliki karakteristik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

2

yang sama adalah setiap modul dapat difungsikan sebagai server maupun client. Kelebihan

lain dari modul ini adalah jika modul server mengalami masalah saat sistem sedang bekerja,

modul client dapat berubah menjadi server sehingga keseluruhan sistem tidak tergganggu.

Hal inilah yang menyebabkan modul lampu lalu lintas yang akan dibuat adalah modul yang

‘smart’.

Komunikasi antarmodul menggunakan Wi-Fi yang telah terintegrasi dengan Esp8266.

Cara kerja dari sistem lampu lalu lintas yang akan dibuat adalah satu modul diatur sebagai

server dan modul lainnya diatur sebagai client. Modul pertama yang diaktifkan secara

default menjadi server dan modul yang diaktifkan berikutnya menjadi client. Server bertugas

menyediakan data pewaktuan lampu di setiap modul yang diatur melalui web.

1.2 Tujuan dan Manfaat

Tujuan dari penelitian ini adalah:

Membuat prototipe sistem lampu lalu lintas berbasis mikrokontroler Esp8266 dalam

bentuk modul yang memiliki karakteristik sama berupa tampilan fisik modul dan program

yang digunakan. Komunikasi antarmodul secara wireless menggunakan Wi-Fi. Modul

server berfungsi menyediakan data pewaktuan untuk setiap modul client yang terdapat pada

web server.

Manfaat dari penelitian ini adalah:

1. Untuk masyarakat: menyediakan inovasi pada sistem lampu lalu lintas dan dapat

digunakan sebagai rujukan dalam pengembangan sistem lampu lalu lintas.

2. Untuk dunia pendidikan: mengembangkan penelitian pada sistem lampu lalu lintas dan

dapat digunakan sebagai acuan untuk pengembangan penelitian sistem lampu lalu

lintas yang lebih efektif dan efisien.

3. Untuk penulis: pengembangan diri dalam bidang pengendalian secara wireless dan

menambah wawasan penulis mengenai web sebagai interface dan pengendali pada

sistem lampu lalu lintas serta sebagai syarat kelulusan.

1.3 Batasan Masalah

Adapun beberapa batasan masalah dari penelitian ini guna menghindari

pelebaran masalah yang tidak sesuai dengan rancangan antara lain:

1. Menggunakan NodeMCU Esp8266 sebagai kontroler lampu lalu lintas.

2. Komunikasi antarmodul menggunakan Wi-Fi yang terdapat pada Esp8266.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

3

3. Alamat IP yang digunakan pada setiap modul adalah statik yang diatur melalui input

3 bit pada tiga port I/O NodeMCU ESP8266.

4. Menggunakan led merah, kuning dan hijau pada setiap modul yang dibuat.

5. Sistem lampu lalu lintas yang dibuat digunakan pada perempatan.

6. Menggunakan modul RTC DS3231 sebagai penunjuk waktu real time.

7. Menggunakan satu push button sebagai tombol start.

1.4 Metodologi Penelitian

Berdasarkan tujuan yang ingin dicapai maka metode-metode yang digunakan yaitu:

1. Studi literatur yaitu mengumpulkan berbagai materi yang berkaitan dengan Esp8266,

web dan sistem komunikasi wireless menggunakan Wi-Fi serta jurnal-jurnal yang

berkaitan dengan sistem lampu lalu lintas.

2. Perancangan perangkat keras prototype modul sistem lampu lalu lintas dan

perancangan perangkat lunak seperti pembuatan web server, tampilan web dan

program pengendali lampu lalu lintas. Tahap ini bertujuan untuk mencari bentuk

optimal dari sistem yang akan dibuat dengan mempertimbangkan faktor permasalahan

dan ketersediaan komponen, seperti pada gambar 1.1.

Gambar 1.1 Perancangan Diagram Blok Sistem

3. Pembuatan Perangkat keras dan perangkat lunak. Berdasarkan gambar 1.1, perangkat

keras yang dibuat adalah empat buah modul lampu lalu lintas. Modul server berfungsi

menyediakan data pewaktuan untuk tiga modul lain yang berfungsi sebagi client.

Pembuatan perangkat lunak untuk tampilan web dan web server serta program untuk

pengendali pewaktuan pada setiap modul. Cara kerja dari perangkat lunak yaitu durasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

4

penyalaan lampu lalu lintas dilakukan melalui web. Instruksi dari web kemudian

disimpan pada web server dan dikirimkan kepada semua modul. Modul server akan

menyediakan data pewaktuan pada modul client dengan durasi penyalaan lampu sesuai

dengan yang diatur pada web.

4. Uji coba dan pengambilan data untuk menguji alat yang telah dibuat sudah sesuai

dengan yang diharapkan. Data yang diambil berupa durasi penyalaan lampu pada tiap

modul dan pengujian status modul yang dapat difungsikan sebagi server maupun client

serta komunikasi antarmodul.

5. Analisis dan penyimpulan dari hasil uji coba. Analisis data dilakukan dengan

membandingkan data durasi pada setiap modul sudah sesuai dengan yang diatur atau

tidak dan keberhasilan komunikasi antarmodul yang telah dibuat. Kesimpulan dibuat

berdasarkan tingkat keberhasilan dari alat yang dibuat. Indikator keberhasilan dari alat

yang dibuat adalah komunikasi antarmodul yang dibuat berhasil, pengaturan durasi

penyalaan lampu pada tiap modul sesuai dengan pengaturan yang ada di web dan

urutan penyalaan lampu pada tiap modul sehingga tidak ada modul yang menyalakan

lampu hijau secara bersamaan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

5

2 BAB II

DASAR TEORI

2.1 Lampu Lalu Lintas (Traffic Light)

Lampu lalu lintas menurut UU No. 22/2009 tentang lalu lintas dan angkutan jalan ialah

alat pemberi isyarat lalu lintas atau (APILL) merupakan lampu yang mengendalikan arus

lalu lintas yang terpasang di persimpangan jalan, tempat penyeberangan pejalan kaki (zebra

cross), dan tempat arus lalu lintas lainnya[3]. Pemasangan lampu lalu lintas bertujuan untuk

mengatur sirkulasi kendaraan pada persimpangan jalan agar tidak terjadi kecelakaan. Oleh

karena itu, lampu lalu lintas menjadi bagian sangat penting guna memperlancar lalu lintas di

setiap kota.

Terdapat dua jenis lampu lalu lintas yaitu lampu lalu lintas berdasarkan cakupan dan

berdasarkan pengoperasian. Berdasarkan cakupan, lampu lalu lintas terdiri dari tiga jenis,

yaitu:

1. Lampu lalu lintas terpisah, yaitu lampu lalu lintas yang pemasangannya didasarkan pada

suatu tempat persimpangan saja tanpa mempertimbangkan persimpangan lain.

2. Lampu lalu lintas terkoordinasi, yaitu lampu lalu lintas yang pemasangannya

mempertimbangakan beberapa persimpangan yang terdapat pada arah tertentu.

3. Lampu lalu lintas jaringan, yaitu lalu lintas yang pemasangannya mempertimbangkan

beberapa persimpangan yang terdapat dalam suatu jaringan yang masih dalam satu

kawasan.

Berdasarkan pengoperasian, lampu lalu lintas terdiri dari dua jenis, yaitu:

1. Fixed time traffic signal , yaitu lampu lalu lintas yang pengoperasiannya menggunakan

waktu yang tetap dan tidak mengalami perubahan.

2. Actuated traffic signal, yaitu lampu lalu lintas yang pengoperasiaannya dengan

pengaturan waktu tertentu dan mengalami perubahan dari waktu ke waktu sesuai dengan

kedatangan kendaraan dari berbagai persimpangan.

Secara umum, warna lampu yang digunakan untuk lampu lalu lintas adalah warna

merah, warna kuning dan warna hijau. Merah menandakan berhenti atau sebuah tanda

bahaya, kuning menandakan hati-hati dan hijau menandakan boleh memulai berjalan dengan

hati-hati. Biasanya, lampu warna merah mengandung beberapa corak berwarna jingga dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

6

lampu hijau mengandung beberapa warna biru. Ini dimaksudkan agar orang-orang yang buta

warna merah dan hijau dapat mengerti sinyal lampu yang menyala.

2.2 ESP8266[4]

Penelitian ini menggunakan mikrokontroler Esp8266 berjenis Lolin NodeMCU

Esp8266 dengan penjelasan sebagai berikut:

NodeMCU pada dasarnya adalah pengembangan dari Esp8266 dengan firmware

berbasis e-Lua. Pada NodeMcu dilengkapi dengan micro usb port yang berfungsi untuk

pemrograman maupun power supply. Selain itu, pada NodeMCU dilengkapi dengan dua

tombol yaitu tombol reset dan flash. NodeMCU menggunakan bahasa pemrogramanan Lua

yang merupakan package dari Esp8266. Bahasa Lua memiliki logika dan susunan

pemrograman yang sama dengan C hanya berbeda syntax. Jika menggunakan bahasa Lua

maka dapat menggunakan tool Lua loader maupun Lua uploder. Selain dengan bahasa Lua

NodeMCU juga support dengan sofware Arduino IDE dengan melakukan sedikit perubahan

board manager pada Arduino IDE. Gambar fisik NodeMCU dapat dilihat pada gambar 2.1.

Gambar 2.1 NodeMCU Esp8266[4]

Gambar 2.2 Skematik Posisi Pin NodeMCU[5]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

7

Sebelum digunakan, board NodeMCU harus di Flash terlebih dahulu agar support

terhadap tool yang akan digunakan. Jika menggunakan Arduino IDE menggunakan firmware

yang cocok yaitu firmware keluaran dari Ai-Thinker yang support AT Command. Untuk

penggunaan tool loader Firmware yang di gunakan adalah firmware NodeMCU. Spesifikasi

NodeMCU ESP8266 dapat pada tabel 2.1.

Pada board Esp8266 seperti pada gambar 2.2, pin GPIO (1, 3, 9, 10) seringkali tidak

digunakan sebagai pin I/0. Sehingga hanya terdapat 9 pin GPIO yang dapat digunakan yaitu

GPIO (0, 2, 4, 5, 12, 13, 14, 15, 16) pada NodeMCU ESP8266[6]. Ada beberapa hal yang

perlu diperhatikan ketika hendak menggunakan NodeMCU Esp8266 yaitu pin I/O

NodeMCU memiliki tegangan kerja 3.3 volt dan tidak toleran dengan tegangan 5 volt karena

akan merusak NodeCU. Arus keluaran tiap pin I/O adalah sebesar 12mA dan memiliki range

tegangan masukan untuk ADC adalah 0 volt sampai 1 volt[7].

Tabel 2.1 Spesifikasi Esp8266 NodeMCU V3[4]

2.3 Software Arduino IDE

IDE (Integrated Development Environment) adalah program komputer yang memiliki

beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tampilan software

Arduino IDE dapat dilihat pada gambar 2.3. Tujuan dari IDE adalah untuk menyediakan

semua utilitas yang diperlukan dalam membangun perangkat lunak. IDE Arduino digunakan

untuk membuat program atau source code, melakukan pengecekan kesalahan, kompilasi,

upload program dan menguji hasil kerja arduino melalui serial monitor.

Pada Adruino IDE memiliki toolbars IDE yang memberikan akses instan ke fungsi-

fungsi yang penting yaitu :

SPESIFIKASI NODEMCU V3

Mikrokontroller ESP8266

Ukuran Board 57 mm x 30 mm

Tegangan Input 3.3 ~ 5V

GPIO 13 PIN

Kanal PWM 10 Kanal

10 bit ADC Pin 1 Pin

Flash Memory 4 MB

Clock Speed 40/26/24 MHz

Wi-Fi IEEE 802.11 b/g/n

Frekuensi 2.4 GHz – 22.5 Ghz

USB Port Micro USB

Card Reader Tidak Ada

USB to Serial Converter CH340G

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

8

1. Verify, untuk mengkompilasi program yang saat ini dikerjakan.

2. Upload, untuk mengkompilasi program dan meng-upload ke papan adruino atau NodeMCU.

3. New, menciptakan lembar kerja baru.

4. Open, untuk membuka program yang ada di file sistem.

5. Save, untuk menyimpan program yang dikerjakan.

6. Stop, untuk menghentikan serial monitor yang sedang dijalankan.

Gambar 2.3 Arduino IDE[8]

2.4 World Wide Web [9]

2.4.1 Pengertian

World Wide Web (WWW) lebih dikenal dengan web merupakan salah satu layanan

yang didapat pemakai komputer yang terhubung ke internet. Pada awalnya web merupakan

ruang informasi dalam internet yang menggunakan teknologi hypertext. Pengguna web

dituntun untuk menemukan informasi dengan mengikuti link yang disediakan pada dokumen

web dan ditampilkan dalam web browser.

2.4.2 Cara Kerja Web

Web saat ini identik dengan internet karena web merupakan standar interface pada

layanan-layanan yang ada di internet mulai dari penyedia informasi, layanan komunikasi dan

melakukan transaksi bisnis (commerce). Web memiliki sistem kerja sendiri agar mampu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

9

melakukan semua layanan dapat berjalan dengan baik. Berikut merupakan cara kerja web

yaitu:

1. Informasi web disimpan dalam dokumen yang disebut halaman-halaman web (web

pages).

2. Web pages disimpan dalam komputer yang disebut server web (web server).

3. Web pages ini akan diakses oleh komputer yang disebut web client.

4. Web client menampilkan web pages menggunakan program yang disebut web browser.

Skema cara kerja web dapat dilihat pada gambar 2.4

Gambar 2.4 Skema Kerja Web[9]

2.4.3 Web Server

Web server adalah perangkat lunak (software) pada server yang berfungsi untuk

menerima permintaan (request) berupa halaman web melalui protokol HTTP atau HTTS dari

client (web browser) kemudian mengirimkan kembali (response) hasil permintaan tersebut

ke dalam bentuk halaman – halaman web yang umumnya berbentuk HTML. Sedangkan,

server adalah komputer yang digunakan untuk menyimpan dokumen-dokumen web[9].

Secara sederhana, tugas web server adalah menerima permintaan dari client dan

mengirimkan kembali berkas yang diminta oleh client. Cara kerja web server dalam

mengirimkan berkas yakni pada saat client (browser) meminta data web page pada server,

browser akan mengemas instruksi permintaan data tersebut ke dalam TCP (Transmission

Control Protocol) dan dikirim ke alamat HTTP atau HTTPS. Data yang diminta dari browser

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

10

ke web server disebut dengan HTTP request yang kemudian akan dicari oleh web server

pada komputer server. Jika data ditemukan, data tersebut dikemas oleh web server dalam

TCP dan dikirim kembali ke browser untuk ditampilkan. Data yang dikirim dari server ke

browser dikenal dengan HTTP response. Jika data yang diminta oleh browser tersebut tidak

ditemukan oleh web server maka web server akan menolak permintaan tersebut dan browser

akan menampilkan notifikasi Page Not Found atau Error 404.

2.4.4 HTML

HTML merupakan singkatan dari Hyper Text Markup Language. HTML adalah

bahasa pemrograman standar yang digunakan untuk membuat sebuah halaman web dan

dapat diakses untuk menampilkan berbagai informasi dalam sebuah web browser. HTML

berfungsi untuk mengelola serangkaian data dan informasi sehingga suatu dokumen dapat

diakses dan ditampilkan di internet melalui layanan web. HTML juga berfungsi untuk

menampilkan berbagai informasi di dalam sebuah browser, membuat link menuju halaman

web lain dengan kode tertentu.

Dokumen HTLM disusun oleh elemen-elemen. “Elemen” merupakan istilah bagi

komponen-komponen dasar pembentuk dokumen HTML. Beberapa contoh elemen yaitu

head, body, table, paragraph dan Listing. Elemen pada HTML ditandai oleh sebuah tag. Tag

HTML terdiri dari sebuah kurung sudut kiri (<), nama tag dan sebuah kurung sudut kanan

(>). Tag umumnya berpasangan dan selalu diawali dengan karakter garis miring (/). Tag

yang pertama merupakan awal elemen dan tag kedua menunjukan akhir elemen.

Elemen yang dibutuhkan untuk membuat suatu dokumen HTLM dinyatakan dengan

tag <html>, <head> dan <body> serta tag-tag pasangannya. Setiap dokumen terdiri atas tag

<head> dan <body>. Elemen head berisi informasi tentang dokumen tersebut, sedangkan

elemen body berisi teks yang tersusun dari link, grafik, paragraf dan elemen lainnya. Secara

umun dokumen web dibagi menjadi dua bagian (section), yaitu section head dan section

body.

2.5 TCP/IP

2.5.1 Pengertian

TCP/IP (Transmission Control Protocol/Internet Protocol) adalah suatu standar

komunikasi yang dapat digunakan untuk bertukar data antar komputer oleh suatu komunitas

yang tergabung melalui jaringan internet. TCP/IP merupakan salah satu networking model

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

11

yang terdiri dari sekumpulan dokumen yang berisi syarat-syarat yang agar suatu jaringan

dapat berfungsi dan juga aturan-aturan logis (protocol). Protocol adalah cara agar setiap

perangkat yang berbeda dapat saling berkomunikasi.

TCP/IP merupakan networking model komunikasi data dalam internet yang banyak

digunakan saat ini. Hal ini dikarenakan TCP/IP memiliki arsitektur yang lebih sederhana

dibandingkan dengan OSI ( Open System Interconnection). TCP/IP terdiri dari lima layer

sedangkan OSI terdiri dari 7 layer. Perbedaan kedua protokol komunikasi ini dapat dilihat

pada gambar 2.5.

Gambar 2.5 Perbandingan OSI Layer dan TCP/IP Layer[10]

2.5.2 TCP/IP Layer

2.5.2.1 Application Layer

Fungsi application layer adalah menyediakan layanan terhadap aplikasi yang berjalan

di komputer. Pada application layer terdapat salah satu application protocol yang disebut

application protocol HTTP. Contoh application protocol HTTP (Hypertext Transfer

Protocol) adalah web browser. Fungsi utama dari application layer adalah untuk

mendefinisikan bagaimana sebuah browser bisa mengambil konten dari sebuah web server

hingga akhirnya tampil di web browser.

Pada application layer, proses pertukaran data dilakukan oleh protokol HTTP. HTTP

adalah sebuah protokol meminta atau menjawab antara client dan server. Sebuah client

HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan

TCP/IP ke port tertentu (biasanya port 80)[11]. Cara kerja protokol pada HTTP dalam

mentransmisikan data adalah sebagai berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

12

1. Komputer client atau HTTP client akan membuat sambungan dan mengirimkan

permintaan dokumen pada web server,

2. HTTP server akan memproses permintaan dokumen tersebut dan HTTP client menunggu

respon dari web server,

3. Web server akan merespon permintaan melalui kode status data dan menutup sambungan

saat proses permintaan selesai.

2.5.2.2 Transport Layer

Transport layer pada TCP/IP disebut juga sebagai host-to-host. Fungsi transport layer

adalah membangun koneksi antar host. Host dapat berupa client atau server. Terdapat

beberapa protokol pada transport layer. Salah satu protokol yang dikenal adalah TCP

(Transmission Control Protocol). TCP bertugas menjamin data yang diminta dan yang

dikirim sama. Oleh karena itu, TCP memecah data-data (segments) kemudian

mengirimkannya berdasarkan Sequence Number (SEQ). Proses inilah yang disebut dengan

TCP error recovery. Proses TCP error recovery adalah sebagai berikut:

1. Server mengirim segment-segment dengan beberapa sequence number client,

2. Namun, pada sequence number tertentu, segment gagal terkirim,

3. Setelah client menerima semua data, ternyata terdapat data yang lost maka client meminta

server untuk mengirimkan kembali segment yang lost pada sequence number tertentu

tersebut.

2.5.2.3 Internet Layer

Pada internet layer terdapat salah satu protokol yang paling dikenal yaitu IP atau

Internet Protocol. Beberapa fungsi dari IP adalah sebagai berikut:

1. Addressing, yakni melengkapi setiap datagram dengan alamat internet dari tujuan. Alamat

pada protokol inilah yang dikenal dengan Internet Protocol Address ( IP Address).

Pengalamatan (addressing) pada jaringan TCP/IP berada pada level ini (software) .

2. Routing, yakni menentukan ke mana datagram akan dikirim agar mencapai tujuan yang

diinginkan. Fungsi ini merupakan fungsi terpenting dari Internet Protocol (IP). Router-

router pada jaringan TCP/IP merupakan bagian yang sangat menentukan dalam

penyampaian datagram dari pengirim ke penerima.

2.5.2.4 Data Link Layer

Data link layer mempunyai fungsi menyalurkan frame-frame data pada media fisik

yang digunakan. Lapisan ini biasanya memberikan service untuk deteksi dan koreksi

kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

13

lapisan ini adalah X.25 untuk jaringan publik, Ethernet untuk jaringan etehernet, AX.25

untuk jaringan Paket Radio.

2.5.2.5 Physical Layer

Lapisan fisik merupakan lapisan terbawah yang mendefinisikan besaran fisik seperti

media komunikasi, tegangan dan arus. Data yang dikirim pada physical layer berupa nilai

bit. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang

bersangkutan. TCP/IP bersifat fleksibel sehingga dapat mengintegralkan berbagai jaringan

dengan media fisik yang berbeda-beda.

2.6 Wi-Fi[12]

Wi-Fi atau Wireless Fidelity adalah suatu standar Wireless Networking tanpa kabel,

hanya dengan komponen yang sesuai dapat terkoneksi ke jaringan. Teknologi Wi-Fi

memiliki standar yang ditetapkan oleh institusi internasional yang bernama Institute of

Electrical and Electronic Enginners (IEEE). Secara umum, standar teknologi Wi-Fi adalah

sebagai berikut:

1. Standar IEEE 802.11a yaitu Wi-Fi dengan frekuensi 5 GHz yang memiliki kecepatan 54

Mbps dan jangkauan jaringan 300 m.

2. Standar IEEE 802.11b yaitu Wi-Fi dengan frekuensi 2,4 GHz yang memiliki kecepatan

11 Mbps dan jangkauan jaringan 100 m.

3. Standar IEEE 802.11g yaitu Wi-Fi dengan frekuensi 2,4 GHz yang memiliki kecepatan

54 Mbps dan jangkauan jaringan 300 m.

2.6.1 Access Point (AP)[13]

Access point merupakan salah satu perangkat dalam jaringan komputer yang berguna

untuk membuat jaringan nirkabel yang sifatnya lokal atau disebut dengan istilah Wireless

Local Area Network (WLAN). Pada access point terdapat antena dan transceiver,

komponen ini bertugas untuk memancarkan dan menerima sinyal dari client dan

server ataupun menuju client dan server.

Access point memiliki fungsi utama sebagai pemancar sinyal internet. Access

point juga memiliki beberapa fungsi lainnya seperti sebagai Dynamic Host Configuration

Protocol (DHCP) server sehingga mampu memberikan IP address di setiap perangkat yang

terhubung. Fungsi lainnya yakni menggantikan fungsi hub yang menghubungkan jaringan

lokal nirkabel dengan jaringan kabel. Disamping ketiga fungsi tersebut, access point dapat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

14

memberikan fitur keamanan WEP (Wired Equivalent Privacy) dan WAP (Wireless

Application Protocol) .

2.7 LED (Light Emitting Diode)

LED adalah dioda yang dapat memancarkan cahaya jika diberikan arus bias maju

(forward bias). LED dapat memancarkan cahaya karena menggunakan dopping galium,

arsenic dan phosporus. Jenis dopping yang berbeda di atas dapat menghasilkan cahaya

dengan warna yang berbeda[14]. Setiap warna LED memiliki tegangan kerja yang berbeda.

Tegangan kerja setiap warna LED dapat dilihat pada tabel 2.2. Arus bias maju puncak LED

sebesar 60 mA dengan rata-rata arus bias maju tipikal sebesar 20 mA[15]. Pada rangkaian

LED dipasang sebuah resistor sebagai pembatas arus. Simbol LED dan bentuk fisik led dapat

dilihat pada gambar 2.6.

Teknik pemasangan LED agar dapat bekerja adalah dengan memberikan tegangan bias

maju (tegangan positif) pada kaki anoda dan tegangan negatif pada kaki katoda. Pembatas

arus pada dioda dilakukan dengan memasangkan resistor secara seri pada salah satu kaki

LED. Rangkaian dasar untuk menyalakan LED dapat dilihat pada gambar 2.7.

Tabel 2.2 Tegangan Kerja Setiap Warna LED[15]

Gambar 2.6 Simbol dan Bentuk Fisik LED[14]

Warna LED Tegangan Kerja (V)

Merah 1,8

Kuning 2,1

Hijau 2,1

Putih 4,1

Orange 2,0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

15

Gambar 2.7 Rangkaian Dasar Menyalakan LED[14]

Besarnya rata-rata arus bias maju tipikal pada LED adalah 20 mA, sehingga nilai

resistor dapat ditentukan. Besarnya nilai resistor berbanding lurus dengan besarnya tegangan

sumber yang digunakan. Secara matematis besarnya nilai resistor pembatas arus LED dapat

ditentukan menggunakan persamaan berikut:

𝑅 = 𝑉−𝑉𝑎𝑏 (𝑣𝑜𝑙𝑡)

0.02 𝐴𝑚𝑝𝑒𝑟𝑒 (2.1)

Dimana:

𝑅 = resistor pembatas arus (Ohm)

𝑉 = tegangan sumber yang digunakan untuk men-supply tegangan ke LED (Volt)

𝑉𝑎𝑏 = tegangan kerja LED (Volt)

0.02 𝐴𝑚𝑝𝑒𝑟𝑒 = rata-rata arus bias maju tipikal LED (20 mA)

2.8 Real Time Clock (RTC) DS3231

Modul DS3231 RTC adalah salah satu jenis modul yang berfungsi sebagai RTC (Real

Time Clock) atau pewaktuan digital serta penambahan fitur pengukur suhu yang dikemas

kedalam satu IC. Pada modul ini juga terdapat IC EEPROM berjenis AT24C32 yang dapat

dimanfaatkan. Interface (antarmuka) untuk mengakses modul ini yaitu menggunakan I2C

atau two wire (SDA dan SCL). Modul DS3231 RTC pada umumnya sudah tersedia dengan

battery CR2032 3V yang berfungsi sebagai back up RTC apabila catu daya utama mati.

Rangkaian modul RTC DS3231 dapat dilihat pada gambar 2.8.

RTC DS3231 memiliki banyak kelebihan dibandingkan RTC DS1302, DS3231 RTC.

Sebagai contoh, untuk range tegangan input antara 2.3V sampai 5.5V dan memiliki cadangan

baterai. Berbeda dengan DS1307, pada DS3231 memiliki kristal terintegrasi (sehingga tidak

diperlukan kristal eksternal), sensor suhu, 2 alarm waktu terprogram, pin output 32.768 kHz

untuk memastikan akurasi yang lebih tinggi. Selain itu, terdapat juga EEPROM AT24C32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

16

yang bisa memberi Anda 32Kb EEPROM untuk menyimpan data, ini adalah pilihan terbaik

untuk aplikasi yang memerlukan fitur data logging, dengan presisi waktu yang lebih tinggi.

Gambar 2.8 Rangkaian Modul RTC[16]

2.9 JSON[17]

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan,

mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate)

oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript,

Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak

bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang

umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl,

Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa

pertukaran data[17]. JSON terbuat dari dua struktur berikut, yaitu:

1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai

objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash

(hash table), daftar berkunci (keyed Listing), atau associative array.

2. Daftar nilai terurutkan (an ordered Listing of values). Pada kebanyakan bahasa, hal ini

dinyatakan sebagai larik (array), vektor (vector), daftar (Listing), atau urutan

(sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua

bahasa pemprograman modern mendukung struktur data ini dalam bentuk yang sama

maupun berlainan. JSON menggunakan bentuk sebagai berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

17

1. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan ‘‘

(kurung kurawal buka) dan diakhiri dengan ‘’ (kurung kurawal tutup). Setiap nama

diikuti dengan ‘:’ (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh ‘,’ (koma).

Gambar 2.9 JSON Object[17]

2. Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan ‘[’ (kurung kotak

buka) dan diakhiri dengan ‘]’ (kurung kotak tutup). Setiap nilai dipisahkan oleh ‘,’

(koma).

Gambar 2.10 JSON Array[17]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

18

3 BAB III

PERANCANGAN PENELITIAN

Bab ini menjelaskan tentang perancangan “Smart Modular Traffic Light berbasis

ESP8266” yang terdiri dari blok diagram, perancangan hardware dan perancangan software.

Prototipe yang dibuat adalah sistem lampu lalu lintas yang terdiri dari empat modul yang

digunakan pada simpang empat. Setiap modul memiliki karakteristik yang sama berupa

tampilan fisik dan software yang digunakan. Salah satu modul berfungsi sebagai server dan

modul lainnya sebagai client. Keempat modul berkomunikasi secara wireless menggunakan

Wi-Fi. Pengaturan pewaktuan untuk setiap modul lampu lalu lintas dilakukan melalui web.

3.1 Blok Diagram Perancangan

Perancangan alat ini terdiri dari empat buah modul lampu lalu lintas. Setiap modul

lampu lintas terdiri dari satu NodeMCU Esp8266, satu led merah, satu led kuning, satu led

hijau, satu modul RTC DS3231, tiga switch SPDT dan satu puss button. Setiap modul

memiliki karakteristik yang sama sehingga setiap modul dapat difungsikan sebagai server

maupun client. Blok diagram perancangan modul lampu lalu lintas dapat dilihat pada gambar

3.1.

Gambar 3.1 Blok Diagram Perancangan Modul

Blok diagram yang ditunjukkan pada gambar 3.1 mewakili satu modul. Dalam

implementasinya terdapat empat modul yang memiliki blok diagram yang sama dengan

gambar 3.1. Keempat modul tehubung secara wireless menggunakan modul Wi-Fi yang

sudah tersedia pada NodeMCU Esp8266.

Power

Supply

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

19

3.2 Perancangan Perangkat Keras

Perangkat keras yang digunakan pada sistem ini berupa NodeMcu Esp8266, lampu

LED, Real Time Clock (RTC) dan tiga buah switch SPDT. NodeMCU Esp8266 berfungsi

sebagai mikrokontroller sekaligus sebagai modul komunikasi karena terdapat modul Wi-Fi

yang telah terintegrasi. Lampu LED digunakan sebagai lampu lalu lintas pada modul. RTC

berfungsi untuk mengatur kondisi penyalaan lampu lalu lintas pada waktu tententu. Tiga

buah switch yang berfungsi memberi nilai masukan 3 bit ke port NodeMCU ESP8266 yang

bertujuan memberikan alamat IP pada tiap modul.

3.2.1 Prototype Modul Lampu Lalu Lintas

Pembuatan desain prototype modul lampu lalu lintas menggunakan software

Coreldraw. Terdapat empat desain modul lampu lalu lintas yang dibuat. Desain modul lampu

lalu lintas dapat dilihat pada gambar 3.2. Gambar 3.2(a) menunjukkan desain modul tampak

depan. Gambar 3.2(b) menunjukkan desain modul tampak samping. Gambar 3.2(c)

menunjukkan desain modul tampak atas dan gambar 3.2(d) menunjukkan desain modul

tampak belakang.

(a) (b)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

20

(c) (d)

Gambar 3.2 Rangkaian Lampu Lalu Lintas (a) tampak depan, (b) tampak samping, (c)

tampak atas, (d) tampak belakang

Keterangan gambar 2.2 (c) dan gambar 2.2 (d):

1. Modul NodeMCU ESP8266

2. Switch (terlihat dari dalam)

3. Resistor

4. Konektor

5. Switch (terlihat dari luar)

6. Port micro USB

7. PCB

8. Lampu LED

9. Tiang penyangga

10. Alas tiang penyangga.

11. Tombol Start

3.2.2 Rangkaian pada Modul Lampu Lalu Lintas

Rangkaian lampu lalu lintas yang terdapat di dalam modul lampu lalu lintas dapat

dilihat pada gambar 3.3. Keempat modul lampu lalu lintas memiliki rangkaian dan

konfigurasi pin yang sama.

7

8

9

10

11

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

21

Gambar 3.3 Rangkaian Lampu Lalu Lintas pada Modul

NodeMCU diberi catu daya melalui port USB. Tengan keluaran port I/O modul

NodeMCU sebesar 3.3 V. Tegangan keluaran port I/O digunakan untuk menyalakan lampu

LED merah, lampu LED kuning dan lampu LED hijau. Besar arus tipikal yang digunakan

untuk menyalakan LED adalah 20mA. Oleh karena itu, terdapat resistor yang dihubungkan

seri terhadap lampu LED yang berfungsi untuk membatasi arus pada lampu LED. Besar nilai

resistor untuk membasi arus pada lampu LED dapat dihitung menggunakan Persamaan (2.1).

Namun, pada board NodeMCU, arus keluaran tiap pin GPIO sebesar 12 mA[7] sehingga:

𝑅1 = 𝑉 − 𝑉𝑎𝑏

0.012 𝐴=

3.3𝑉 − 1.8𝑉

0.012 𝐴= 125 Ω

𝑅2 = 𝑉 − 𝑉𝑎𝑏

0.012 𝐴=

3.3𝑉 − 2.1𝑉

0.012 𝐴= 100 Ω ≌ 56Ω

𝑅3 = 𝑉 − 𝑉𝑎𝑏

0.012 𝐴=

3.3𝑉 − 2.2𝑉

0.012 𝐴≈ 91 Ω ≌ 56 Ω

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

22

Modul RTC DS3231 mempunyai tegangan kerja 2,3 V hingga 5,5 V. Pada modul RTC

DS3231 terdapat soket baterai 3,3 V. Baterai berfungsi untuk mem-backup data RTC saat

kehilangan catu daya utamanya. Modul RTC DS3231 dapat diakses menggunakan

komunikasi I2C. Komunikasi I2C membutuhkan dua pin yaitu pin serial data (SDA) dan

pin serial clock (SDL). Modul NodeMCU memiliki fasilitas I2C yang terdapat pada pin D1

dan D2 yang dapat dilihat pada gambar 2.2.

Pada modul lampu lalu lintas juga terdapat tiga buah switch berjenis SPDT. Semua

switch berfungsi memberikan input 3 bit pada port NodeMCU Esp8266. Input 3 bit pada

NodeMCU Esp8266 bertujuan memberikan alamat IP statik pada modul yaitu 192.168.11.X.

‘X’ merupakan nilai input 3 bit pada NodeMCU Esp8266. Alamat IP pada modul dapat

dilihat pada tabel 3.1.

Tabel 3.1 Alamat IP Modul Lampu Lalu Lintas

3.3 Perancangan Tampilan Halaman Web

Halaman web berfungsi untuk memudahkan melakukan pengaturan pewaktuan pada

modul lampu lalu lintas. Halaman web dibuat menggunakan HTML. Terdapat dua bagian

pada halaman web yaitu untuk mengatur waktu RTC dan halaman untuk mengatur durasi

pewaktuan penyalaan lampu lalu lintas untuk semua modul. Halaman web untuk mengatur

RTC dan durasi pewaktuan penyalaan lampu dapat dilihat pada gambar 3.4.

Gambar 3.4 Tampilan Halaman Web

Nilai Input Alamat IP

SW3 SW2 SW1

0 0 0 192.168.11.2

0 0 1 192.168.11.3

0 1 0 192.168.11.4

1 0 0 192.168.11.5

1

2

3 4

5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

23

Keterangan gambar 3.4:

1. Url untuk mengakses web server

2. Kolom untuk mengisi durasi penyalaan lampu tiap modul

3. Mengatur jam RTC

4. Mengatur interval kondisi blink semua modul

5. Menyimpan pengaturan ke web server

Pada gambar 3.4 terdapat tiga kolom yang digunakan untuk mengatur durasi setiap

modul lampu lalu lintas. Kolom untuk mengatur durasi lampu hijau dapat diatur sesuai

dengan kondisi lalu lintas. Kolom untuk mengatur durasi lampu kuning diisi dengan durasi

5 detik untuk setiap modul. Sedangkan kolom untuk mengatur lampu merah hanya diisi jika

ingin menambahkan durasi lampu merah pada salah satu modul tanpa mengubah durasi pada

modul yang lain. Lamanya durasi lampu merah tergantung pada durasi lampu hijau dan

kuning tiap modul. Semua modul akan menyalakan lampu merah selama 3 detik sebelum

salah satu modul menyalakan modul lampu hijau. Waktu satu siklus lampu lalu lintas untuk

semua modul dapat dilihat pada gambar 3.5.

Gambar 3.5 Waktu Siklus Lampu Lalu Lintas Semua Modul

Berdasarkan gambar 3.5, durasi lampu merah setiap modul dapat dirumuskan dengan

persamaan sebagai berikut:

𝑀𝑀1 = 3 × 4 + 𝐻2 + 𝐾2 + 𝐻3 + 𝐾3 + 𝐻4 + 𝐾4…………………………………(3.1)

𝑀𝑀2 = 3 × 4 + 𝐻1 + 𝐾1 + 𝐻3 + 𝐾3 + 𝐻4 + 𝐾4…………………………………(3.2)

𝑀𝑀3 = 3 × 4 + 𝐻1 + 𝐾1 + 𝐻2 + 𝐾2 + 𝐻4 + 𝐾4…………………………………(3.3)

𝑀𝑀4 = 3 × 4 + 𝐻1 + 𝐾1 + 𝐻2 + 𝐾2 + 𝐻3 + 𝐾3…………………………………(3.4)

Dimana:

MM1 = Durasi lampu merah modul 1

MM2 = Durasi lampu merah modul 2

MM3 = Durasi lampu merah modul 3

MM4 = Durasi lampu merah modul 4

3 × 4 = Jumlah durasi 3 detik lampu merah menyala bersamaan untuk semua modul

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

24

H1 = Durasi lampu hijau modul 1

K1 = Durasi lampu kuning modul 1

H2 = Durasi lampu hijau modul 2

K2 = Durasi lampu kuning modul 2

H3 = Durasi lampu hijau modul 3

K3 = Durasi lampu kuning modul 3

H4 = Durasi lampu hijau modul 4

K4 = Durasi lampu kuning modul 4

3.4 Perancangan Perangkat Lunak

Perancangan perangkat lunak pada modul lampu lalu lintas mencakup fungsionalitas

kebutuhan perangkat lunak yang digunakan untuk menulis dan melakukan kompilasi

program. Pemrograman yang digunakan pada perangkat ini menggunakan Arduino IDE.

Arduino IDE dapat digunakan untuk menulis, melakukan kompilasi dan melakukan injeksi

program ke modul NodeMCU Esp8266. Ada beberapa bagian dalam perancangan perangkat

lunak, yaitu:

a. Diagram alir program utama

b. Diagram alir sub rutin pencarian jaringan

c. Diagram alir sub rutin server

d. Diagram alir sub rutin client

e. Diagram alir sub rutin pergantian client

f. Diagram alir sub rutin pergantian server

g. Diagram alir web

3.4.1 Diagram Alir Program Utama

Diagram alir program utama dapat dilihat pada gambar 3.6. Mula-mula berikan input

3 bit pada modul melalui switch yang bertujuan memberi alamat IP pada modul. Nilai input

3 bit pada modul sesuai dengan tabel 3.1. Kemudian modul diaktifkan dengan memberikan

power ke modul melalui USB. Setelah modul aktif, modul akan menginisialisasi RTC, SSID,

alamat IP, EEPROM dan push button. Setelah mengetahui alamat IP, modul akan mencari

jaringan yang sama dengan jaringan yang dimiliki modul. Proses pencarian jaringan akan

dibahas pada sub rutin pencarian jaringan yang dapat dilihat pada gambar 3.7.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

25

Mulai

Inisialisasi alamat IP, SSID,

EEPROM, RTC, push

button

Mencari jaringan

Status modul

sebagai access

point ?

Modul sebagai

server

Modul sebagai

client

Selesai

Ya

Tidak

Gambar 3.6 Diagram Alir Program Utama

Setelah melalui proses mencari jaringan, status modul akan ditentukan. Apabila modul

tidak menemukan jaringan yang sama dengan yang dimiliki modul maka modul berubah

menjadi access point. Modul yang berubah menjadi access point inilah berstatus sebagai

server, jika tidak maka modul berstatus sebagai client. Setelah mengetahui status modul,

proses selanjutnya akan dijelaskan pada diagram alir sub rutin server dan diagram alir sub

rutin client yang masing-masing dapat dilihat pada gambar 3.8, gambar 3.9 dan gambar 3.10.

3.4.2 Diagram Alir Sub Rutin Pencarian Jaringan

Diagram alir sub rutin pencarian jaringan dapat dilihat pada gambar 3.7. Setelah modul

diaktifkan, modul akan mengaktifkan Wi-Fi. Setelah Wi-Fi aktif maka pencarian jaringan

mulai dilakukan. Pencarian jaringan dilakukan dengan cara mencari SSID (Service Set

Identifier) yang terdapat di sekitar modul. Apabila terdapat SSID yang sama dengan yang

dimiliki modul maka modul akan terhubung ke jaringan sebagai client. Namun, bila tidak

terdapat SSID yang sama dengan yang dimiliki modul maka modul menjadi access point.

Modul yang berfungsi sebagai access point akan memancarkan sinyal yang akan

diterima oleh modul client dalam jaringan yang sama. Modul client akan terhubung dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

26

access point adalah modul yang memiliki SSID yang sama dengan modul access point.

Proses selanjutnya adalah kembali ke program utama.

Mulai

Aktifkan Wi-Fi

Scanning SSID

SSID sama ?Modul sebagai access

point

Return

Tidak

Ya

Gambar 3.7 Diagram Alir Sub Rutin Mencari Jaringan

3.4.3 Diagram Alir Sub Rutin Server

Diagram alir sub rutin server memiliki dua bagian yaitu diagram alir sub rutin

pengaturan durasi penyalaan lampu lalu lintas dan diagram alir sub rutin pengiriman data.

Diagram alir sub rutin pengaturan durasi waktu berfungsi untuk mengatur pewaktuan modul

sebelum modul lalu lintas dipasang di jalan raya. Sedangkan diagram alir sub rutin

pengiriman data dari server ke client dilakukan ketika modul lampu lalu lintas telah dipasang

di jalan raya dan siap digunakan.

3.4.3.1 Diagram Alir Pengaturan Waktu

Diagram alir sub rutin pengaturan waktu dapat dilihat pada gambar 3.8. Mula-mula

pada server dilakukan pengaturan durasi penyalaan lampu tiap modul dan mengatur waktu

untuk RTC pada server melalui web seperti pada gambar 3.13. Setelah pengaturan durasi

lampu dan RTC selesai, data pengaturan disimpan ke EEPROM. EEPROM berfungsi

menyimpan data pengaturan durasi lampu lalu lintas walaupun modul tidak diberi daya

sehingga data pada server tidak hilang.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

27

Mulai

Mengatur waktu

RTC dan durasi

lampu lalu lintas

tiap modul

Menyimpan data ke

EEPROM

Selesai

Gambar 3.8 Diagram Alir Pengaturan Waktu

3.4.3.2 Diagram Alir Pengiriman Data

Diagram alir pengiriman data dapat dilihat pada gambar 3.9. Mula-mula modul server

diaktifkan. Modul server kemudian membaca data pada EEPROM. Data pada EEPROM

disalin pada suatu variabel yang berfungsi menyimpan data durasi waktu lampu lalu lintas.

Kemudian tombol start ditekan. Tombol start berfungsi untuk memulai proses pengiriman

data pewaktuan antara modul server dengan modul client.

Setelah tombol mulai ditekan, server menunggu request dari client. Apabila client

melakukan request ke server, server akan memberi respon berupa data durasi waktu sesuai

alamat IP client yang melakukan request. Format komunikasi data dapat dilihat pada tabel

3.2. Pada tabel 3.2 dapat dilihat bahwa tipe data yang digunakan berbentuk array of integer.

Pada format komunikasi data terdapat data status lampu yang memiliki beberapa ketentuan

yang dapat dilihat pada tabel 3.3.

Tabel 3.2 Format Komunikasi Data

Data dari Server Tipe Data

Durasi lampu Array of integer

Status lampu Array of integer

Status Mulai Integer

Tabel 3.3 Data Status Lampu dan Pengaruhnya pada Client

Data Status Lampu Pengaruh pada Client

0 Lampu merah aktif

1 Lampu kuning aktif

2 Lampu hijau aktif

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

28

Data yang dikirim server dan diterima client berbentuk array of integer yang telah

diubah dalam format JSON adalah sebagai berikut:

"d_lampu":[[30,5,3],[30,5,3],[30,5,3],[30,5,3]],"status_lampu":[2,0,0,0],"status_mulai":

[90]

Data yang dikirim dan diterima oleh modul menggunakan format JSON. “d_lampu”,

“status_lampu” dan “status_mulai” disebut sebagai key. Value dari “d_lampu” adalah

[[30,5,3], [30,5,3], [30,5,3], [30,5,3]], value dari “status_lampu” adalah [2,0,0,0] dan value

dari “status_mulai” adalah [90]. Value dari “d_lampu” secara berurutan menunjukan durasi

lampu hijau, lampu kuning dan lampu merah (ketika menyala bersamaan) pada keempat

modul. Value dari “satus_lampu” menunjukan warna lampu yang dinyalakan keempat

modul. Angka ‘2’ berarti warna lampu yang sedang menyala adalah hijau, angka ‘1’ berarti

warna lampu yang sedang menyala adalah kuning dan angka ‘0’ berarti warna lampu yang

sedang menyala adalah merah. Value dari “status_mulai” memiliki dua angka yaitu ‘90’ dan

‘88’. Angka ‘90’ berarti tombol start belum ditekan dan modul client melakukan proses

penyimpanan data pada EEPROM. Sedangkan, angka ‘88’ berarti tombol start telah ditekan

dan sistem sedang berjalan. Keterangan tentang data yang dikirim dan diterima dapat dilihat

pada tabel 3.4.

Tabel 3.4 Keterangan dari Data yang Dikirim dan Diterima Modul

Data yang dikirim dan diterima Keterangan

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[2,0,0,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 1 menyalakan

lampu hijau selama 30 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[1,0,0,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 1 menyalakan

lampu kuning selama 5 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,2,0,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 2 menyalakan

lampu hijau selama 30 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,1,0,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 2 menyalakan

lampu kuning selama 5 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,0,2,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 3 menyalakan

lampu hijau selama 30 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,0,1,0],

"status_mulai":[88]

Sistem sedang berjalan, modul 3 menyalakan

lampu kuning selama 5 detik dan modul lainnya

menyalakan lampu merah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

29

Tabel 3.4 Keterangan dari Data yang Dikirim dan Diterima Modul (Lanjutan)

Data yang dikirim dan diterima Keterangan

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,0,0,2],

"status_mulai":[88]

Sistem sedang berjalan, modul 4 menyalakan

lampu hijau selama 30 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,0,0,1],

"status_mulai":[88]

Sistem sedang berjalan, modul 4 menyalakan

lampu kuning selama 5 detik dan modul lainnya

menyalakan lampu merah.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[0,0,0,0],

"status_mulai":[88]

Sistem sedang berjalan, semua modul

menyalakan lampu merah selama 3 detik

kemudian salah satu modul meyalakan lampu

hijau.

"d_lampu":[[30,5,3],[30,5,3],[30,5,

3],[30,5,3]],"status_lampu":[2,0,0,0],

"status_mulai":[90]

Sistem belum berjalan, modul client menyimpan

data “d_lampu” ke EEPROM.

Mulai

Baca data

EEPROM

Tekan tombol

strart

Menunggu request dari

client

Ada request ?

Kirim data ke

client

Selesai

Tidak

Ya

Gambar 3.9 Diagram Alir Pengiriman Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

30

3.4.4 Diagram Alir Sub Rutin Client

Diagram alir sub rutin client dapat dilihat pada gambar 3.10. Berdasarkan gambar 3.10,

mula-mula client melakukan request ke server. Setelah server memberi respon, client

menerima data dari server dan menyimpan data durasi waktu ke EEPROM. Kemudian client

melakukan request lagi ke server. Client kemudian menunggu respon dari server. Client

akan menunggu respon dari server maksimal 3 setik. Apabila tidak ada respon server lebih

dari 3 detik maka modul client akan berganti fungsi menjadi server. Proses perubahan fungsi

modul dari client menjadi server dapat dilihat pada gambar 3.12. Jika server memberi respon

kurang dari 3 detik, client kemudian menerima data yang dikirimkan oleh server. Setelah

data diterima oleh client, client akan meyalakan setiap lampu sesuai dengan data yang

diberikan oleh server. Proses selanjutnya pada client adalah memberikan request ke server

dan proses yang dijelaskan di atas dilakukan secara berulang.

Mulai

Request data ke

server

Terima data durasi

lampu lalu lintas dari

server

Menyimpan data ke

EEPROM

Request data ke

server

Ada respon ?

Menunggu respon

dari server

maksimal 3 detik

Menyalakan

lampu pada

modul lalu lintas

Client berubah

menjadi server

Tidak

Ya

A

AB

B

Gambar 3.10 Diagram Alir Sub Rutin Client

3.4.5 Diagram Alir Sub Rutin Pergantian Client

Diagram alir sub rutin pergantian client dapat dilihat pada gambar 3.11. Pergantian

modul client dilakukan jika modul mengalami kerusakan. Mula – mula ganti modul yang

rusak dengan modul yang baru. Alamat IP modul yang baru diatur sesuai dengan modul yang

lama. Tujuan pemberian IP yang sama dengan modul yang lama adalah agar modul dapat

langsung dikenali oleh server. Data yang diberi oleh server ke modul yang baru juga sama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

31

seperti data yang ada pada modul yang lama. Kemudian berikan daya pada modul yang baru

diganti dan tunggu beberapa saat hingga modul terhubung ke dalam jaringan. Modul akan

melakukan proses sinkroninasi seperti pada gambar 3.10.

Mulai

Atur alamat IP modul

yang baru

Aktifkan modul

Menghubungkan modul

dalam jaringan

Sinkronisasi modul baru dengan

modul alinnya

Selesai

Gambar 3.11 Diagram Alir Sub Rutin Pergantian Client

3.4.6 Diagram Alir Sub Rutin Pergantian Server

Diagram alir sub rutin pergantian server yang rusak dapat dilihat pada gambar 3.12.

Jika server tidak memberi respon kepada client lebih dari 3 detik maka client akan

melakukan fungsi tunda. Setiap modul memiliki durasi tunda yang berbeda yang dapat

dilihat pada tabel 3.5. Setelah modul melakukan fungsi tunda, modul yang memiliki durasi

tunda terkecil akan ter-reset dan berubah menjadi server, sedangkan modul yang memiliki

tunda lebih lama akan menjadi client. Modul server yang mengalami kerusakan dapat

digantikan dengan modul yang baru dengan alamat IP ayang sama dan berfungsi sebagai

client. Proses selanjutnya adalah menekan tombol start pada modul server yang baru.

Prosedur penyalaan lampu mengikuti pengaturan sebelum server mengalami masalah yang

data durasi penyalaan lampu telah disimpan pada EEPROM.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

32

Tabel 3.5 Durasi Tunda Modul Berdasarkan Alamat IP

Mulai

Mengaktifkan

fungsi delay

Mengaktifkan

fungsi reset

Mengganti modul server

yang rusak dengan

modul baru

Tekan tombol

start pada server

yang baru

Selesai

Gambar 3.12 Diagram Alir Sub Rutin Pergantian Server

3.4.7 Daigram Alir Utama Web

Diagram alir utama web dapat dilihat pada gambar 3.13. Mula-mula hubungkan

smartphone atau laptop dalam jaringan modul lampu lalu lintas dengan cara memasukkan

SSID dan password access point. Contoh SSID adalah “SMTFESP8266” dan password

adalah “@Setting20”. Setelah terhubung, buka web browser dan masukkan alamat url

(uniform resource locator) berupa alamat IP server untuk mengakses web server. Setelah

memasuki halaman web, langkah selanjutnya adalah memberi input durasi pewaktuan tiap

modul dan megatur jam RTC sesaui dengan waktu saat melakukan pengaturan durasi lampu

lalu lintas, kemudian tekan “submit” agar data pewaktuan pada web server berubah sesuai

dengan data yang dimasukkan.

Alamat IP Durasi Tunda

192.168.11.2 1 detik

192.168.11.3 2 detik

192.168.11.4 3 detik

192.168.11.5 4 detik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

33

Mulai

Buka web

browser

Masukkan URL

web server

Mengatur durasi

waktu tiap modul

dan waktu RTC

Tekan Submit

Selesai

Gambar 3.13 Diagram Alir Utama Web

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

34

4 BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil dan implementasi dari perancangan yang

telah dibuat pada bab sebelumnya, perubahan hardware, perubahan software serta analisis

dari hasil pengujian. Pengujian modul lampu lalu lintas dibutuhkan untuk mengetahui

kinerja yang dihasilkan oleh modul lampu lalu lintas yang dibuat. Data yang didapat dari

pengujian modul lampu lalu lintas digunakan dalam proses analisis. Proses analisis dapat

digunakan untuk mengembangkan modul lampu lalu lintas yang dibuat agar dapat bekerja

secara maksimal.

4.1 Perubahan Perancangan

Perubahan dalam implementasi penelitian bertujuan memperbaiki kesalahan yang

terjadi pada proses pengujian. Perubahan desaian, hardware dan software bertujuan untuk

memaksimalkan kinerja alat yang telah dibuat. Berikut ini merupakan perubahan yang

dilakukan.

4.1.1 Perubahan Desain Prototype

Perubahan pada desain prototype dilakukan karena pada saat implementasi, prototype

dari desain perancangan yang dapat dilihat pada gambar 3.2 mengalami kendala bila hendak

mengganti komponen pada modul. Pergantian komponen sulit dilakukan karena PCB sulit

dikeluarkan dari dalam modul kerena kerterbatasan ruang di dalam casis modul. Perubahan

desaian prototype dapat dilihat pada gambar 4.1. Gambar 4.1(a) merupakan desain modul

tampak depan, gambar 4.1(b) merupakan desain modul tampak belakang, gambar 4.1(c)

merupakan desain modul tampak samping dan gambar 4.1(d) merupakan komponen yang

terdapat di dalam modul.

Pada perubahan desain terdapat penutup casis yang dapat dilihat pada gambar 4.1(e).

Tujuan dibuatnya penutup casis adalah agar mudah mengakses komponen yang terdapat di

dalam casis modul. Hal ini memudahkan pergantian komponen yang ada di dalam casis

modul jika terjadi kerusakan dan hendak mengganti komponen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

35

(a) (b)

(c) (d)

(e)

Gambar 4.1 Perubahan Desain Prototype (a) tampak depan, (b) tampak belakang, (c)

tampak samping, (d) tampak atas, (e) penutup casis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

36

4.1.2 Penambahan Software untuk Menyimpan Data ke EEPROM

Penambahan pada software dilakukan dengan menambahkan data yang dikirim dan

disimpan oleh modul lampu lalu lintas. Tambahan data yang dikirim berupa data

“status_mulai: [88]” ketika tombol start ditekan. Data “status_mulai: [88]” kemudian

disimpan ke EEPROM semua modul. Tujuan menyimpan data “status_mulai: [88]” adalah

apabila terjadi kerusakan server, server yang baru akan langsung melakukan proses

pengiriman data tanpa harus menekan tombol start terlebih dalahu. Apabila modul yang

rusak telah diganti, modul server harus deberi data “status_mulai: [90]” melalui web dengan

memberi URL ‘192.168.11.1/reset’ pada web browser.

Tujuan pemberian data “status_mulai: [90]” adalah agar modul yang baru dapat

menyimpan data durasi lampu ke EEPROM. Pada proses ini, counter waktu lampu lalu lintas

berhenti pada kondisi terakhir sesaat sebelum data “status_mulai: [90]” dikirim ke server.

Counter waktu pada lampu lalu lintas akan kembali aktif ketika server diberi data

“status_mulai: [88]” dengan memasukan URL ‘192.168.11.1/lanjut’ pada web browser atau

menekan tombol start pada modul server.

4.1.3 Perubahan dan Penambahan Tampilan Web

4.1.3.1 Perubahan Tampilan Web Setting Durasi

Perbandingan rancangan dan implementasi tampilan web yang digunakan untuk

mengatur durasi lampu lalu lintas dapat dilihat pada tabel 4.1. Perubahan pada tampilan web

berupa perubahan jumlah data yang di-input pada web server. Pada perancangan, durasi

setiap warna lampu diatur melalui web sedangkan pada implementasi, setting durasi yang

dilakukan pada lampu hijau dan lampu kuning setiap modul. Durasi lampu kuning secara

default diisi 5 detik, namun dapat diubah sewaktu-waktu jika dibutuhkan. Perubahan

dilakukan guna meningkatkan efiseiensi data yang dikirim dari web ke server.

Durasi lampu merah merupakan penjumlahan dari durasi lampu hijau dan durasi lampu

kuning serta durasi lampu merah yang menyala secara bersamaan pada semua modul. Durasi

lampu merah yang menyala bersamaan telah ditetapkan yaitu 3 detik sehingga tidak diatur

melalui web. Oleh karena itu, durasi lampu merah setiap modul dapat dilihat pada persamaan

3.1, persamaan 3.2, persamaan 3.3 dan persamaan 3.4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

37

Tabel 4.1 Perubahan Tampilan Web Setting Durasi

4.1.3.2 Penambahan Halaman Web Monitoring

Penambahan tampilan web bertujuan untuk mengetahui jumlah client yang terhubung

ke server dan mengetahui warna lampu yang dinyalakan setiap modul secara real time. URL

untuk mengkases tampilan web ini adalah ‘192.168.11.1/monitor’. Tampilan web tambahan

ini dapat dilihat pada gambar 4.2(a) dan gambar 4.2(b). Ada beberapa bagian penting pada

halaman web monitoring yaitu jumlah client, alamat IP yang terhubung serta warna lampu.

Pada bagian jumlah client angka ‘4’ menunjukkan tiga modul client telah terhubung ke

server dan satu client tambahan berupa laptop atau smartphone yang menampilkan halaman

web tersebut. Pada bagian alamat IP yang terhubung menunjukkan semua alamat IP yang

terhubung serta posisi modul yang menjadi server.

Pada bagian warna lampu menunjukkan warnya lampu yang dinyalakan oleh setiap

modul secara real time. Apabila terdapat modul client yang tidak terkoneksi dengan server,

pada tampilan halaman monitoring akan memunculkan halaman seperti yang ditunjukkan

pada gambar 4.2(b). Jika terdapat modul yang tidak terhubung ke server, pada kolom alamat

IP yang terhubung berisisi ‘Disconnected’ dan kolom warna lampu menampilkan karakter

‘*****’ serta jumlah client yang terhubung kurang dari 4. Pada gambar 4.2(b), modul yang

tidak terkoneksi ke jaringan adalah modul 3 dengan alamat IP 192.168.11.4.

Perancangan Tampilan Web Implementasi Tampilan Web

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

38

(a) (b)

Gambar 4.2 Perubahan Desain Prototype (a) tampilan halaman web monitoring semua

client terhubung, (b) tampilan halaman web monitoring tidak semua client terhubung

4.1.4 Perubahan Nilai Resistor yang Digunakan

Perbandingan nilai resistor untuk membatasi arus LED yang digunakan dalam

implementasi dengan nilai resistor yang terdapat pada perancangan dapat dilihat pada tabel

4.2. Perbedaan besar nilai resistor disebabkan ketersediaan resistor yang ada di pasaran.

Tabel 4.2 Perbandingan Nilai Resistor

4.2 Implementasi Penelitian

4.2.1 Bentuk Fisik Modul

Bentuk fisik dari modul lampu lalu lintas yang dibuat terdiri dari casis modul dan

komponen pada PCB. Cacis modul lampu lalu lintas sisi depan dapat dilihat pada gambar

4.3(a). Gambar 4.3(b) menunjukan gambar casis modul sisi samping dan gambar 4.3(c)

menunjukan casis modul sisi belakang serta sisi atas ditunjuk oleh gambar 4.3(d).

(a) (b) (c)

Warna

LED

Nilai Resistor pada

Perancangan (Ω)

Nilai Resistor pada

Implementasi (Ω)

Merah 125 127

Kuning 100 100

Hijau 91 95

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

39

(d)

Gambar 4.3 Bentuk Fisik Modul (a) tampak depan, (b) tampak samping, (c) tampak

belakang, (d) tampak atas

Keterangan gambar 4.3:

1. LED sebagai lampu lalu lintas

2. Lubang - lubang untuk sirkulasi udara

3. Tombol Start

4. Posisi Port Micro USB

5. 3 buah Switch

6. Penutup casis modul

4.2.2 Rangkaian Elektronik Modul

Rangkaian elektronik modul lampu lalu lintas terdapat di dalam casis. Rangkaian

elektronik modul dapat dilihat pada gambar 4.4.

Gambar 4.4 Rangkaian Elektronik Modul

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

40

Keterangan gambar 4.4:

1. NodeMCU ESP8266

2. Port Micro USB untuk catudaya NodeMCU ESP8266

3. Resistor

4. T-Blok untuk LED merah, kuning dan hijau

5. Modul RTC DS3231

6. T-Blok untuk tombol Start

7. T-Blok untuk Switch SW1, SW2 dan SW3

8. Kabel merah, kabel hitam dan kabel hijau

Pada T-blok switch, kabel hijau terhubung dengan pin NodeMCU Esp82666 sebagai

input. Kabel merah dan hitam masing-masing terhubung pada pin 3.3V dan GND NodeMCU

Esp8266. Pada T-blok LED, kabel warna merah terhubung dengan pin output NodeMCU

dan kaki anode LED dan kabel hitam terhubung ke GND dan kaki katode LED. Pada T-

blok tombol, kabel merah terhubung ke pin 3.3V dan satu pin tombol sedangkan kabel hitam

terhubung ke GND dan satu pin tombol.

Pada rangkaian terdapat 6 buah resistor. Lima resistor digunakan untuk membatasi

arus pada LED dan satu resistor digunakan sebagai pull-up tombol. Rangkaian pull-up

resistor dapat dilihat pada gambar 4.5. Besar resistor yang digunakan untuk pull-up tombol

adalah 10 kΩ agar tidak terjadi kondisi mengambang. Jika tombol ditekan, logika yang

dihasilkan adalah high dan saat tidak ditekan logikanya low.

Gambar 4.5 Rangkaian Pull-up Resistor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

41

4.3 Proses Kerja Sistem

Proses kerja sistem merupakan gambaran umun proses kerja modul lampu lalu lintas

yang dibuat. Modul lampu lalu lintas yang dibuat diimplementasikan untuk simpang empat

jalan raya. Oleh karena itu, dibutuhkan empat modul yang masing-masing mewakili satu sisi

jalan.

Mula-mula atur alamat IP setiap modul melalui tiga buah switch dengan kombinasi

logika yang ada pada tabel 3.1. Kemudian aktifkan salah satu modul yang menjadi server.

Atur durasi lampu hijau dan kuning keempat modul melalui web. Aktifkan ketiga modul

yang lain. Tekan tombol start pada modul server agar counting durasi aktif. Modul secara

bergantian menyalakan lampu hijau. Satu siklus penyalaan lampu dimulai dari modul 1

menyalakan lampu hijau kemudian kuning dilanjutkan dengan merah hingga modul 1

menyalakan lampu hijau kembali.

Urutan penyalaan lampu hijau dimulai dari modul yang memiliki alamat IP terkecil,

kemudian diikuti dengan alamat IP yang lebih besar. Pengaturan urutan penyalaan warna

lampu pada modul dapat dilihat pada gambar 4.6.

Gambar 4.6 Urutan Penyalaan Warna Lampu

4.4 Cara penggunaan Modul

Pada simpang empat jalan, modul yang digunakan berjumlah 4 modul. Satu modul

berfungsi sebagai server dan tiga modul lainnya berfungsi sebagai client. Cara penggunaan

modul lampu lalu lintas untuk perempatan jalan adalah sebagai berikut:

1. Atur semua alamat IP modul dengan mengatur input melalui tiga buah switch yang ada

pada modul.

2. Berikan catudaya pada salah satu modul melalui port micro USB, tunggu beberapa

saat. Modul ini akan berfungsi sebagai server.

3. Lakukan log-in ke jaringan untuk mengakses web server yang dimiliki modul dengan

cara memasukan SSID dan password pada smartphone atau laptop. SSID:

ESP8266_TA dan password: g00dluck.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

42

4. Ketikan URL ‘192.168.11.1/reset’ pada web browser untuk memastikan modul tidak

melakukan counting durasi lampu lalu lintas.

5. Ketikan URL ‘192.168.11.1’ pada web browser untuk melakukan pengaturan durasi

lampu lalu lintas semua modul. Pada halaman web terdapat beberapa bagian yang

harus diisi yaitu durasi lampu hijau dan kuning setiap modul, waktu untuk RTC dan

interval waktu untuk modul menyalakan lampu kuning blink. Kemudian tekan tombol

‘SUBMIT’ pada halaman web untuk mengirimkan data yang telah diatur ke server.

6. Aktifkan modul lainnya dengan memberi catudaya melalui port micro USB pada

modul, tunggu beberapa saat agar client dapat melakukan proses penyimpanan data

yang diterima dari server.

7. Tunggu hingga semua modul meyalakan lampu. Bila semua modul telah menyakan

lampu, modul siap digunakan.

8. Tekan tombol start pada server agar proses counting durasi lampu lalu lintas pada

semua modul aktif.

Ada dua cara yang dapat dilakukan utuk memastikan semua modul bekerja dengan

baik yaitu dengan melihat secara langsung warna lampu yang dinyalakan semua modul dan

melihat warna lampu modul melalui halaman web monitoring. Apabila hendak melihat

kondisi semua warna lampu modul, smartphone atau laptop harus terhubung ke jaringan

modul lampu lalu lintas. Pada web browser, ketikan URL ‘192.168.11.1/monitor’ maka

muncul halaman web yang menampilkan warna lampu setiap modul dan jumlah client yang

terhubung dengan server seperti gambar 4.2(a) jika semua modul terhubung atau seperti

gambar 4.2(b) jika modul yang terhubung ke server kurang dari 3.

Berikut adalah beberapa cara yang dapat dilakukan ketika modul mengalami kondisi

tertentu seperti jika hendak mengganti durasi lampu lalu lintas dan jika salah satu client

mengalamai kerusakan yang meyebabkan client tidak terhubung dengan server serta bila

server mengalami kerusakan yang menyababkan server tidak mampu mengirim data ke

client.

Ketika hendak mengganti durasi lampu lalu lintas, langkah-langkah yang dapat

dilakukan adalah pertama-tama log-in ke jaringan modul kemudian ketikkan URL

‘192.168.11.1’ pada web browser. Pada halaman web pengaturan pewaktuan, ubah durasi

lampu hijau modul yang diinginkan kemudian tekan ‘SUBMIT’ maka data durasi yang baru

dikirimkan ke server. Ketika server menerima data durasi, server akan melakukan counting

pada darusi yang talah diubah. Agar semua modul memilki data durasi terbaru, ketikan URL

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

43

‘192.168.11.1/ resert’ sehingga proses penyimpanan data ke EEPROM dilakukan kemudian

akses URL ‘192.168.11.1/lanjut’ untuk melanjutkan counting durasi lampu lalu lintas.

Apabila terdapat client yang mengalami kerusakan dan tidak terhubung ke server,

modul client yang lama diganti dengan modul yang baru. Langkah-langkah yang dapat

diambil untuk menangani masalah ini adalah ganti modul yang lama dengan modul yang

baru. Kemudian atur alamat IP modul yang baru sama dengan modul yang lama. Berikan

catudaya pada modul yang baru. Kemudian log-in ke jaringan, ketikan URL

‘192.168.11.1/reset’ pada web browser untuk menghentikan proses counting durasi lampu

lalu lintas. Tunggu beberapa saat agar modul yang baru menyimpan data durasi lampu ke

EEPROM. Ketikkan URL ‘192.168.11.1/lanjut’ pada web browser atau menekan tombol

start pada modul server untuk melanjutkan proses counting durasi lampu lalu lintas.

Jika server mengalami kerusakan dan tidak mampu mengirim data kepada client, client

yang memiliki alamat IP terkecil akan berubah menjadi server dan proses counting langsung

berjalan. Modul server yang lama diganti dengan modul yang baru dan berubah menjadi

client. Proses selanjutnya sama dengan penjelasan di atas tentang pergantian client yang

mengalami kerusakan.

4.5 Pengujian Keberhasilan

Pengujian untuk mengukur tingkat keberhasilan modul lampu lalu lintas dilakukan

dengan beberapa pengujian yaitu pengujian kemampuan modul yang dapat berfungsi sebagai

server maupun client, pengujian pengiriman data dari web ke server dan dari server ke web,

pengujian pengiriman data dari server ke client, pengujian sinkronisasi keempat modul

lampu lalu lintas, pengujian perubahan server menjadi client, pengujian pergantian client,

pengujian ketepatan durasi lampu lalu lintas yang telah diatur, pengujian jarak komunikasi

antara server dan client serta pengujian ketahan komunikasi antara server dan client.

4.5.1 Pengujian Kemampuan Modul sebagai Server/Client

4.5.1.1 Pengujian Kemampuan Modul Sebagai Server

Pengujian kemampuan modul sebagai server dilakukan dengan memberi catudaya

pada modul kemudian memeriksa SSID modul yang muncul pada laptop atau smartphone

dan melakukan log-in ke jaringan dengan cara memasukan password jaringan. Pada web

browser diakses URL ‘192.168.11.1’. Apabila modul berhasil menjadi server maka akan

muncul halaman web seperti pada gambar 4.7. Hasil uji coba kemampuan server dapat

dilihat pada gambar 4.8(a) dan 4.8(b). Hasil pengujian dapat dilihat pada tabel 4.2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

44

Gambar 4.7 Tampilan Halaman Web Pengaturan Pewaktuan

(a)

SSID jaringan:

ESP8266_TA

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

45

(b)

Gambar 4.8 Hasil Pengujian Kemampuan Modul sebagai Server (a) tampilan SSID

jaringan, (b) tampilan halaman web pengaturan

Tabel 4.3 Hasil Pengujian Kemampuan Modul sebagai Server

Berdasarkan tabel 4.3, semua modul yang diuji mampu berubah menjadi access point

dengan SSID ‘ESP8266_TA’ yang muncul pada perangkat smartphone atau laptop. Setelah

melakukan log-in dan mengetikan URL ‘192.168.11.1’ pada web browser, semua modul

mampu menampilkan tampilan halaman pengaturan pewaktuan seperti pada gambar 4.7.

Modul

yang Diuji SSID

Tampilan

Halaman Web Keterangan

Modul 1 ESP8266_TA

Tampil Halaman

web Pengaturan

pewaktuan

Berhasil

sebagai server

Modul 2 ESP8266_TA

Tampil Halaman

web Pengaturan

pewaktuan

Berhasil

sebagai server

Modul 3 ESP8266_TA

Tampil Halaman

web Pengaturan

pewaktuan

Berhasil

sebagai server

Modul 4 ESP8266_TA

Tampil Halaman

web Pengaturan

pewaktuan

Berhasil

sebagai server

Halaman Web

Pengaturan Pewaktuan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

46

4.5.1.2 Pengujian Kemampuan Modul sebagai Client

Pengujian kemampuan modul sebagai client dilakukan dengan melihat tampilan serial

monitor. Modul berfungsi sebagai client jika pada serial monitor terdapat kaliamat ‘Client

sedang Aktif’ dan alamat IP modul. Tahapan pengujian adalah sebagai berikut, mula-mula

aktifkan modul server. Atur alamat IP pada modul client yang hendak diuji. Kemudian

berikan catudaya pada modul client melalui port micro USB yang terhubung ke laptop. Buka

serial monitor Arduino IDE untuk melihat tampilannya. Hasil uji coba kemampuan modul

sebagai client dapat dilihat pada gambar 4.9 (a), 4.9 (b), 4.9 (c), dan 4.9 (d). Hasil pengujian

kemampuan modul sebagai client dapat dilihat pada tabel 4.4.

(a)

(b)

Alamat IP Modul 1:

192.168.11.2

Modul 1: Client SERVER Modul 4

Alamat IP Modul 2:

192.168.11.3

Modul 2: Client SERVER Modul 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

47

(c)

(d)

Gambar 4.9 Hasil Pengujian Kemampuan Modul sebagai Client (a) modul 1, (b) modul

2, (c) modul 3, (d) modul 4

Alamat IP Modul 3:

192.168.11.4

Modul 3: Client

Modul 4: Client

Alamat IP Modul 3:

192.168.11.5

SERVER Modul 4

SERVER Modul 3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

48

Tabel 4.4 Hasil Pengujian Kemampuan Modul sebagai Client

Modul

yang

Diuji

Hasil Pengujian pada Serial

Monitor Arduino IDE Keterangan

Modul 1

Berhasil

sebagai

client

Modul 2

Berhasil

sebagai

client

Modul 3

Berhasil

sebagai

client

Modul 4

Berhasil

sebagai

client

Berdasarkan hasil pengujian pada tabel 4.4, dapat dilihat bahwa semua modul mampu

berfungsi sebagai client. Hal ini ditunjukan dengan hasil pada serial monitor yang

menampilkan IP client dan kalimat ‘Client sedang aktif’.

4.5.2 Pengujian Pengiriman Data

4.5.2.1 Pengujian Pengiriman Data dari Web ke Server

Pengujian pengiriman data dari web ke server dilakukan dengan membandingkan data

yang diatur pada web dengan data yang tampil pada serial monitor Arduino IDE. Data yang

dibandingkan adalah durasi lampu hijau, waktu RTC dan waktu interval menyalakan lampu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

49

kuning blink. Data yang diatur pada web dengan data pada serial monitor Arduino IDE

dapat dilihat pada gambar 4.10 dan gambar 4.11.

Gambar 4.10 Data yang Diatur pada Web

Gambar 4.11 Data yang Tampil Pada Serial Monitor

Berdasarkan gambar 4.8 dan 4.9 dapat dilihat bahwa data yang terdapat pada web sama

dengan data yang tampil pada serial monitor arduino IDE. Keterangan angka yang terdapat

pada gambar 4.8 dan 4.9 adalah sebagai berikut:

1. Waktu RTC

2. Waktu (jam) mulai menyalakan lampu kuning blink

3. Waktu (jam) selesai menyalakan lampu kuning blink

4. Durasi lampu hijau modul dengan alamat IP 192.168.11.2

5. Durasi lampu hijau modul dengan alamat IP 192.168.11.3

6. Durasi lampu hijau modul dengan alamat IP 192.168.11.4

3

2 1

5

4

6

7

11

10

9

8

8

9 11

10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

50

7. Durasi lampu hijau modul dengan alamat IP 192.168.11.5

8. Durasi lampu kuning modul dengan alamat IP 192.168.11.2

9. Durasi lampu kuning modul dengan alamat IP 192.168.11.3

10. Durasi lampu kuning modul dengan alamat IP 192.168.11.4

11. Durasi lampu kuning modul dengan alamat IP 192.168.11.5

Selain pengaturan durasi lampu lalu lintas dan waktu RTC, terdapat dua data lain yang

dikirim dari web ke server yaitu data “status_mulai: [90]” dan data “status_mulai: [88]”.

Data “status_mulai: [90]” bertujuan untuk menghentikan counting durasi lampu lalu lintas

dan kondisi untuk modul menyimpan data durasi lampu lalu lintas ke EEPROM. Data

“status_mulai: [88]” menandakan proses counting sedang berlangsung. Jika hendak

memberi data “status_mulai: [90]” pada server, ketikan URL ‘192.168.11.1/reset’ pada web

browser, sedangkan untuk memberi data “status_mulai: [88]” ketikan URL

‘192.168.11.1/lanjut’ pada web browser. Gambar 4.12(a) dan gambar 4.12(b) menunjukkan

perubahan data “status_mulai” di Arduino IDE ketika URL diakses pada web browser.

Gambar 4.13(a) menunjukan perubahan data ‘status_mulai: [90]’ pada serial monitor

Arduino IDE ketika URL ‘192.168.11.1/reset’ diakses dan gambar 4.13(b) menunjukan

perubahan perubahan data ‘status_mulai: [88]’ pada serial monitor Arduino IDE ketika URL

‘192.168.11.1/lanjut’ diakses.

(a) (b)

Gambar 4.12 Tampilan Web Pengiriman Data “status_lampu” (a) krtika URL

‘192.168.11.1/reset’ diakses, (b) ‘192.168.11.1/lanjut’ diakses

(a)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

51

(b)

Gambar 4.13 Tampilan Serial Monitor Data “status_lampu” (a) krtika URL

‘192.168.11.1/reset’ diakses, (b) ‘192.168.11.1/lanjut’ diakses

Untuk memastikan data yang yang dikirim dari web ke server sesuai dengan yang

diharapkan, dilakukan percobaan pengiriman data yang diulang sebanyak 10 kali. Data yang

dikirim berupa durasi lampu hijau dan pengiriman data ‘status_mulai’. Hasil uji coba

pertama pengiriman data dari web ke server dapat dilihat pada gambar 4.14. Data hasil

pengujian dapat dilihat pada tabel 4.4.

Gambar 4.14 Hasil Pengujian Pertama Pengiriman Data dari Web ke Server

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

52

Keterangan tabel 4.4:

M1 = Durasi Lampu Hijau Modul 1

M2 = Durasi Lampu Hijau Modul 2

M3 = Durasi Lampu Hijau Modul 3

M4 = Durasi Lampu Hijau Modul 4

URL1 = ‘192.168.11.1/reset’

URL2 = ‘192.168.11.1/lanjut’

X = Tidak Diakses

= Diakses

Tabel 4.5 Hasil Pengujian Pengiriman Dara dari Web ke Server

Uji

ke-

Data yang diatur pada web Data yang Tampil pada Serial Monitor

M1 M2 M3 M4 URL1 URL2 M1 M2 M3 M4 ‘status_mulai’

1 10 15 15 10 X 10 15 15 10 “status_mulai:[88]”

2 20 30 15 10 X 20 30 15 10 “status_mulai:[88]”

3 10 20 30 40 X 10 20 30 40 “status_mulai:[88]”

4 40 30 20 10 X 40 30 20 10 “status_mulai:[90]”

5 15 15 15 15 X 15 15 15 15 “status_mulai:[90]”

6 25 35 20 45 X 25 35 20 45 “status_mulai:[90]”

7 33 38 29 18 X 33 38 29 18 “status_mulai:[90]”

8 20 30 45 37 X 20 30 45 37 “status_mulai:[88]”

9 10 10 10 10 X 10 10 10 10 “status_mulai:[88]”

10 25 25 25 25 X 25 25 25 25 “status_mulai:[88]”

Berdasarkan hasil pengujian pada tabel 4.5, dapat dilihat bahwa dalam 10 kali

percobaan pengiriman data dari web ke server, semua data yang dikirim melalui web sama

dengan data yang diterima server.

4.5.2.2 Pengujian Pengiriman Data dari Server ke Client

Data yang dikirim server ke client adalah data durasi waktu, waktu RTC dan waktu

interval lampu kuning blink serta data “status_lampu”. Data durasi waktu dibagi menjadi

dua bagian yaitu data “ketetapan_lampu” dan data “d_lampu”. Data “ketetapan_lampu”

merupakan data yang disimpan pada EEPROM server dan client. Data “ketetapan_lampu”

tidak berubah pada saat counting durasi lampu lalu lintas berjalan. Data ini berubah jika data

pada web diubah sedangkan data “d_lampu” merupakan data yang digunakan sebagai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

53

counting durasi lampu lalu lintas. Data yang dikirim dari server dan data yang diterima client

dapat dilihat pada gambar 4.15 dan gambar 4.16.

Gambar 4.15 Data yang Dikirim dari Server ke Client

Gambar 4.16 Data yang Diterima Client dari Server

Pengujian pengiriman data server ke client dilakukan dengan cara membandingkan

data yang dikirim server dan diterima client serta aksi yang dilakukan oleh masing-masing

modul ketika terjadi perubahan data yang dikirimkan. Pengujian dilakukan selama satu

siklus penyalaan keempat modul lampu lalu lintas. Selama 1 siklus, keepat modul memiliki

kesempatan menyalakan lampu hijau sekali sesuai dengan durasi yang diatur. Perubahan

penyalaan lampu diatur oleh server berupa data “status_lampu” yang akan dikirim ke client.

Urutan penyalaan lampu berdasarkan alamat IP yang dimiliki modul. Modul dengan alamat

IP terkecil akan menyalakan lampu hijau terlebih dahulu dilanjutkan dengan alamat IP yang

lebih besar. Durasi lampu hijau dan lampu kuning semua modul masing-masing adalah 3

detik, 5 detik. Hasil uji coba pengiriman data dari server ke client dapat dilihat pada gambar

4.17. Data hasil pengujian pengiriman data dari server ke client dapat dilihat pada tabel 4.6.

Gambar 4.17 Data yang Dikirim Server dan Data yang Diterima Client

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

54

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

1

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

2

"d_lampu":[[2,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[2,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

3

"d_lampu":[[1,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[1,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[2,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

4

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

5

"d_lampu":[[3,4,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,4,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

6

"d_lampu":[[3,3,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,3,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

7

"d_lampu":[[3,2,3],[3,5,3],

[3,5,3][3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,2,3],[3,5,3],

[3,5,3][3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

8

"d_lampu":[[3,1,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,1,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[1,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

55

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client (Lanjutan)

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

9 "d_lampu":[[3,5,3],3,5,3],[

3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],3,5,3],[

3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

10 "d_lampu":[[3,5,2],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,2],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 1 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

11 "d_lampu":[[3,5,1],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Tidak Tampil pada serial

monitor

Modul 1 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

12 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

13 "d_lampu":[[3,5,3],[2,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[2,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

14 "d_lampu":[[3,5,3],[1,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[1,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,2,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

15 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

16 "d_lampu":[[3,5,3],[3,4,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,4,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

56

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client (Lanjutan)

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

17 "d_lampu":[[3,5,3],[3,3,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,3,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

18 "d_lampu":[[3,5,3],[3,2,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,2,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

19 "d_lampu":[[3,5,3],[3,1,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,1,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,1,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

20 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

21 "d_lampu":[[3,5,3],[3,5,2],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,2],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

22 "d_lampu":[[3,5,3],[3,5,1],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,1],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 2 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

23 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,2,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,2,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

24 "d_lampu":[[3,5,3],[3,4,3],

[2,5,3],[3,5,3]],"status_lamp

u":[0,0,2,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,4,3],

[2,5,3],[3,5,3]],"status_lamp

u":[0,0,2,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

57

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client (Lanjutan)

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

25 "d_lampu":[[3,5,3],3,5,3],

[1,5,3],[3,5,3]],"status_lamp

u":[0,0,2,0],"status_mulai":[

88],"Waktu_RTC":[13]

Tidak Tampil pada serial

monitor

Modul 3 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

26 "d_lampu":[[3,5,2],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,2],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

27 "d_lampu":[[3,5,3],[3,5,3],

[3,4,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,4,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

28 "d_lampu":[[3,5,3],[3,5,3],

[3,3,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,3,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

29 "d_lampu":[[3,5,3],[3,5,3],

[3,2,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,2,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

30 "d_lampu":[[3,5,3],[3,5,3],

[3,1,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,1,3],[3,5,3]],"status_lamp

u":[0,0,1,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

31 "d_lampu":[[3,2,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,2,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

32 "d_lampu":[[3,1,3],[3,4,3],

[3,5,2],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,1,3],[3,4,3],

[3,5,2],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

58

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client (Lanjutan)

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

33 "d_lampu":[[3,5,3],3,5,3],

[3,5,1],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],3,5,3],

[3,5,1],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 3 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

34 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

35 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[2,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[2,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

36 "d_lampu":[[3,5,3],[3,5,3],

[3,3,3],[1,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,3,3],[1,5,3]],"status_lamp

u":[0,0,0,2],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu hijau, modul

lainnya merah, proses

counting sedang

berlangsung

37 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

38 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,4,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,4,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

39 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,3,3]],"status_lamp

":[0,0,0,1],"status_mulai":[8

8],"Waktu_RTC":[13]

Tidak Tampil pada serial

monitor

Modul 4 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

40 "d_lampu":[[3,5,3],[3,4,3],

[3,5,3],[3,2,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,4,3],

[3,5,3],[3,2,3]],"status_lamp

u":[0,0,0,1],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

59

Tabel 4.6 Hasil Pengujian Pengiriman Dara dari Server ke Client (Lanjutan)

Pada tabel 4.6 dapat dilhat bahwa hasil pengujian pengiriman data dari server ke client

berlangsung secara terus-menerus. Client selalu me-request data pada server dengan interval

1 detik dan server me-response pada saat yang sama. Perubahan warna lampu diatur oleh

server dengan mengirimkan data “status_lampu: [2,0,0,0]” yang nilainya berubah seiring

perubahan counting durasi lampu lalu lintas.

Pada data “status_lampu: [2,0,0,0]” , indeks array “status_lampu” menunjukan aksi

yang dilakukan modul berkaitan dengan penyalaan lampu. Indeks 0 menunjuk pada modul

1, indeks 1 menjunjuk pada modul 2, indeks 3 menunjuk pada modul 2 dan indeks 3

menunjukan pada modul 4. Nilai indeks berubah bila counter durasi telah mencapai 0 pada

setiap durasi. Bila nilai pada indeks 0 mula-mula 2, setelah counter durasi lampu hijau pada

modul 1 mencapai 0, nilai pada indeks 0 berubah menjadi 1 yang berarti modul menyalakan

lampu kuning dan counting durasi lampu kuning dilakukan, durasi lampu hijau kembali ke

nilai awal yang merupakan nilai pada data “ketetapan_lampu”. Bila counter durasi lampu

kuning telah mencapai 0, nilai pada indeks 0 berubah menjadi 0 yang berarti modul

menyalakan lampu merah dan counter durasi lampu merah pada modul 1 aktif serta durasi

lampu kuning kembali ke nilai semula yaitu 5 detik. Apabila counting durasi lampu merah

Data

ke- Data yang Dikirim Server Data yang Diterima Client Aksi pada Modul

41 "d_lampu":[[3,5,3],3,5,3],

[3,5,3],[3,1,3]],"status_lamp

u":[0,0,1,1],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],3,5,3],

[3,5,3],[3,1,3]],"status_lamp

u":[0,0,1,1],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu kuning, modul

lainnya merah, proses

counting sedang

berlangsung

42 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,3]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

43 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,2]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,2]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

44 "d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,1]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

"d_lampu":[[3,5,3],[3,5,3],

[3,5,3],[3,5,1]],"status_lamp

u":[0,0,0,0],"status_mulai":[

88],"Waktu_RTC":[13]

Modul 4 menyalakan

lampu merah, modul

lainnya merah, proses

counting sedang

berlangsung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

60

mencapai 0, nilai indeks 0 tetap bernilai 0, durasi lampu merah modul 1 kembali ke nilai

semua yakni 3 detik yang merupakan saat semua modul menyalakan lampu merah

bersamaan. Nilai indeks 1 berubah menjadi 2, modul 2 menyalakan lampu hijau. Proses

selanjutnya sama seperti yang telah dijelaskan di atas mengenai perubahan nilai indeks pada

modul 1.

Berdasarkan hasil pengujian yang tertera pada tabel 4.6, dapat dilihat bahwa terdapat

tiga data yang dikirim server tidak dapat dapat ditampilkan oleh client pada serial monitor.

Penyebab tidak munculnya tiga data yang diterima oleh client belum diketahui dengan pasti.

Namun, semua data yang dikirim oleh server diterima oleh client karena client melakukan

perubahan warna lampu sesuai dengan data yang ada pada server.

4.5.2.3 Pengujian Pengiriman Data dari Server ke Web

Pengujian pengiriman data dari server ke web dilakukan membandingkan warna

lampu yang sedang menyala pada setiap modul dengan tampilan keterangan warna lampu

setiap modul pada halaman web monitoring yang memiliki URL ‘192.168.11.1/monitor’

selama satu siklus penyalaan keempat modul lampu lalu lintas. Data dari server dikirim ke

web secara real time ketika halaman web ini dibuka. Tampilan halaman web monitor dapat

dilihat pada gambar 4.2. Hasil uji coba pengiriman data dari server ke web dapat dilihat pada

gambar 4.18 (a), gmbar 4.18 (b), gambar 4.18 (c), gambar 4.18 (d). Hasil pengujian

pengiriman data dari server ke web dapat dilihat pada tabel 4.7.

(a)

HIJAU

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

61

(b)

(c)

HIJAU

HIJAU

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

62

(d)

Gambar 4.18 Hasil Uji Coba Pengiriman Data dari Server ke Web (a) kondisi modul 1

hijau, (b) kondisi modul 2 hijau, (c) kondisi modul 3 hijau, (d) kondisi modul 4 hijau

Tabel 4.7 Hasil Pengujian Pengiriman Dara dari Server ke Web

Warna Lampu Server Tampilan Halaman Web

Modul 1 Modul 2 Modul 3 Modul 4 Modul 1 Modul 2 Modul 3 Modul 4

Hijau Merah Merah Merah Hijau Merah Merah Merah

Kuning Merah Merah Merah Kuning Merah Merah Merah

Merah Merah Merah Merah Merah Merah Merah Merah

Merah Hijau Merah Merah Merah Hijau Merah Merah

Merah Kuning Merah Merah Merah Kuning Merah Merah

Merah Merah Merah Merah Merah Merah Merah Merah

Merah Merah Hijau Merah Merah Merah Hijau Merah

Merah Merah Kuning Merah Merah Merah Kuning Merah

Merah Merah Merah Merah Merah Merah Merah Merah

Merah Merah Merah Hijau Merah Merah Merah Hijau

Merah Merah Merah Kuning Merah Merah Merah Kuning

Merah Merah Merah Merah Merah Merah Merah Merah

Berdasarkan data hasil percobaan pada tabel 4.7, server mampu menirimkan data

warna lampu yang menyala pada setiap modul secara real time ke halaman web monitoring.

Namun, jika halaman web monitoring dibuka, proses pengiriman data dari server ke client

menjadi tertunda. Hal ini disebabkan server menjalankan ping ke semua client terlebih

dahulu, kemudian mengirim data ke client. Apabila halaman web monitoring ditutup, modul

HIJAU

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

63

lampu lalu lintas akan melakukan sinkronisasi sesaat ditandai dengan lampu kuning blink

karena server tidak lagi menjalankan ping dan kembali pada proses pengiriman data durasi

lampu lalu lintas.

4.5.3 Pengujian Timer Lampu Lalu Lintas

Pengujian timer lampu alu lintas dilakukan dengan cara membandingkan durasi

warna lampu yang menyala pada modul dengan timer pada software FreeStopWatch.

Pengujian ini bertujuan untuk mengetahui keakuratan durasi yang diatur pada web dan durasi

yang dieksekusi untuk menyalakan lampu pada modul. Pengujian dilakukan dengan

membandingkan durasi lampu hijau, kuning dan merah pada modul dengan timer

smartphone selama satu siklus penyalaan lampu lalu lintas. Durasi lampu hijau dan kuning

serta durasi lampu merah menyala bersamaan masing-masing 20 detik, 5 detik dan 3 detik

untuk semua modul. Data hasil pengujian dapat dilihat pada tabel 4.8.

Tabel 4.8 Hasil Pengujian Timer Lampu Lalu Lintas

Modul

Durasi pada Web

(detik)

Durasi pada Modul

(detik)

Selisis waktu

(detik)

Hijau Kuning Merah Hijau Kuning Merah

Modul 1 20 5 87 20 5 88 1

Modul 2 20 5 87 20 5 88 1

Modul 3 20 5 87 20 5 88 1

Modul 4 20 5 87 20 5 88 1

Durasi lampu merah dihitung dengan menjumlahkan durasi lampu hijau dan lampu

kuning modul serta durasi lampu merah menyala bersamaan. Hasil perhitungan durasi lampu

merah didasarkan pada persamaan 3.1, persamaan 3.2, persamaan 3.3 dan persamaan 3.4

yaitu sebagai berikut:

𝑀𝑀1 = 3 × 4 + 𝐻2 + 𝐾2 + 𝐻3 + 𝐾3 + 𝐻4 + 𝐾4

𝑀𝑀1 = 12 + 20 + 5 + 20 + 5 + 20 + 5 = 87 𝑑𝑒𝑡𝑖𝑘

MM1 adalah durasi lampu merah pada modul 1. Oleh karena semua modul diatur

dengan pengaturan yang sama maka durasi lampu merah pada semua modul adalah 87 detik.

Berdasarkan hasil pengujian timer pada tabel 4.11, dapat dilihat bahwa durasi lampu hiaju

dan kuning sudah sesuai dengan yang diharapkan. Namun, pada durasi lampu merah yang

dieksekusi modul terlihat 1 detik lebih lambat. Hal ini terjadi karena timer yang digunakan

pada program menggunakan fungsi ‘delay ()’ dan timer pembanding yang digunakan adalah

software FreeStopwatch sehingga terdapat selisih waktu 1 detik lampu merah pada setiap

modul.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

64

4.5.4 Pengujian Sikronisasi Lampu Lalu Lintas

Pengujian sinkrinisasi lampu lalu lintas dilakukan dengan mengamati perubahan

warna lampu lalu lintas setiap modul. Pengamatan dilakukan selama 5 siklus penyalaan

lampu lalu lintas dengan durasi lampu yang diambil dari tabel 4.8 dengan durasi lampu hijau

setiap modul 20 detik, durasi lampu kuning 5 detik dan durasi lampu merah 87 detik. Tingkat

keberhasilan pada pengujian sinkronisasi adalah tidak ada modul yang menyalakan lampu

hijau secara bersamaan. Hasil uji coba sinkronisasi lampu lalu lintas siklus pertama dapat

dilihat pada gambar 4.19 (a), gambar 4.19 (b), gambar 4.19 (c), gambar 4.19 (d). Data hasil

pengujian sinkronisasi dapat dilihat pada tabel 4.9.

(a)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

65

(b)

(c)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

66

(d)

Gambar 4.19 Hasil Uji Coba Sinkronisasi (a) kondisi modul 1 hijau, (b) kondisi modul

2 hijau, (c) kondisi modul 3 hijau, (d) kondisi modul 4 hijau

Tabel 4.9 Hasil Pengujian Sikronisasi Lampu Lalu Lintas

Siklus

ke -

Urutan

Penyalaan

lampu

Warna Lampu

Sinkron Modul 1 Modul 2 Modul 3 Modul 4

1

1 HIJAU MERAH MERAH MERAH

SINKRON

2 KUNING MERAH MERAH MERAH

3 MERAH MERAH MERAH MERAH

4 MERAH HIJAU MERAH MERAH

5 MERAH KUNING MERAH MERAH

6 MERAH MERAH MERAH MERAH

7 MERAH MERAH HIJAU MERAH

8 MERAH MERAH KUNING MERAH

9 MERAH MERAH MERAH MERAH

10 MERAH MERAH MERAH HIJAU

11 MERAH MERAH MERAH KUNING

12 MERAH MERAH MERAH MERAH

2

1 HIJAU MERAH MERAH MERAH

SINKRON

2 KUNING MERAH MERAH MERAH

3 MERAH MERAH MERAH MERAH

4 MERAH HIJAU MERAH MERAH

5 MERAH KUNING MERAH MERAH

6 MERAH MERAH MERAH MERAH

7 MERAH MERAH HIJAU MERAH

8 MERAH MERAH KUNING MERAH

9 MERAH MERAH MERAH MERAH

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

67

Tabel 4.8 Hasil Pengujian Sikronisasi Lampu Lalu Lintas (Lanjutan)

Berdasarkan hasil pengujian sinkronisasi lampu lalu lintas pada tabel 4.9, dapat dilihat

bahwa selama 5 siklus penyalaan lampu, keempat modul lampu lalu lintas sudah

Siklus

ke -

Urutan

Penyalaan

Lampu

Warna Lampu

Sinkron Modul 1 Modul 2 Modul 3 Modul 4

2

10 MERAH MERAH MERAH HIJAU

SINKRON 11 MERAH MERAH MERAH KUNING

12 MERAH MERAH MERAH MERAH

3

1 HIJAU MERAH MERAH MERAH

SINKRON

2 KUNING MERAH MERAH MERAH

3 MERAH MERAH MERAH MERAH

4 MERAH HIJAU MERAH MERAH

5 MERAH KUNING MERAH MERAH

6 MERAH MERAH MERAH MERAH

7 MERAH MERAH HIJAU MERAH

8 MERAH MERAH KUNING MERAH

9 MERAH MERAH MERAH MERAH

10 MERAH MERAH MERAH HIJAU

11 MERAH MERAH MERAH KUNING

12 MERAH MERAH MERAH MERAH

4

1 HIJAU MERAH MERAH MERAH

SINKRON

2 KUNING MERAH MERAH MERAH

3 MERAH MERAH MERAH MERAH

4 MERAH HIJAU MERAH MERAH

5 MERAH KUNING MERAH MERAH

6 MERAH MERAH MERAH MERAH

7 MERAH MERAH HIJAU MERAH

8 MERAH MERAH KUNING MERAH

9 MERAH MERAH MERAH MERAH

10 MERAH MERAH MERAH HIJAU

11 MERAH MERAH MERAH KUNING

12 MERAH MERAH MERAH MERAH

5

1 HIJAU MERAH MERAH MERAH

SINKRON

2 KUNING MERAH MERAH MERAH

3 MERAH MERAH MERAH MERAH

4 MERAH HIJAU MERAH MERAH

5 MERAH KUNING MERAH MERAH

6 MERAH MERAH MERAH MERAH

7 MERAH MERAH HIJAU MERAH

8 MERAH MERAH KUNING MERAH

9 MERAH MERAH MERAH MERAH

10 MERAH MERAH MERAH HIJAU

11 MERAH MERAH MERAH KUNING

12 MERAH MERAH MERAH MERAH

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

68

tersinkronisasi yang ditandai dengan warna lampu yang dinyalakan modul sesuai dengan

urutan. Penyebab keempat modul dapat tersinkronisasi dengan baik adalah semua proses

counter durasi lampu lalu lintas semua modul dilakukan oleh server. Modul client hanya

bertugas untuk menyalakan lampu sesuai dengan data “status_lampu” yang dikirim oleh

server sehingga dapat menghindari modul menyalakan lampu hijau secara bersamaan.

4.5.5 Pengujian Perubahan Client Menjadi Server

Pengujia perubahan client menjadi server dilakukan dengan cara menghilangkan

power modul server sehingga terjadi kondisi tidak ada server. Apabila server hilang, modul

dengan alamat IP terkecil berubah menjadi server dalam beberapa saat. Untuk mengetahui

telah terjadi perubahan server, halaman web monitoring dapat dijadikan acuan untuk melihat

keberhasilan perubahan client menjadi server. Apabila modul yang menjadi server berbeda

dari posisi sebelumnya maka perubahan client berhasil. Proses pengujian ini dilakukan

sebanyak 12 kali pengujian.

Mula-mula ketika modul server rusak (tidak diberi catudaya) seperti yang terlihat pada

gambar 4.20, modul client kemudian melakukan proses reconnecting dan melakukan proses

restart yang ditandai dengan keadaan modul tidak menyalakan lampu seperti yang tampak

pada gambar 4.21. Setelah melakukan restart, modul server yang baru akan menyalakan

lampu terlebih dahulu dan diikuti dengan modul yang lain. Hasil uji coba perubahan client

menjadi server hingga kembali ke siklus normal dapat dilihat pada gambar 4.22 (a), gambar

4.22 (b), gambar 4.22 (c) dan gambar 4.22 (d) yang masing-masing merupakan percobaan

pertama perubahan client menjadi server oleh tiap modul.

Gambar 4.20 Kondisi Ketika Server Menalami Kerusakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

69

Gambar 4.21 Kondisi Ketika Client Melakukan Reconnecting dan Restart

(a)

(b)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

70

(c)

(d)

Gambar 4.22 Durasi perubahan server hingga kembali ke siklus normal (a) ketika server

modul 1 rusak, (b) ketika server modul 2 rusak, (c) ketika server modul 3 rusak, (d) ketika

server modul 4 rusak

Tabel 4.10 Hasil Pengujian Perubahan Client menjadi Server

Pengujian

Ke-

Modul Server

Sebelum

Modul

Server

Sesudah

Durasi

Perubahan

Server ( detik )

Durasi Perubahan

Server hingga ke

Siklus Normal

(detik)

1 Modul 1 Modul 2 14,27 15,38

2 Modul 1 Modul 2 14,32 20,66

3 Modul 1 Modul 2 14,5 18,48

4 Modul 2 Modul 1 14,7 17,62

5 Modul 2 Modul 1 14,25 15,67

6 Modul 2 Modul 1 13,89 20,29

7 Modul 3 Modul 1 13,43 16,09

8 Modul 3 Modul 1 13,60 15,15

9 Modul 3 Modul 2 14,11 18,39

10 Modul 4 Modul 2 14,69 15,47

11 Modul 4 Modul 1 13,63 14,26

12 Modul 4 Modul 1 13,53 15,03

Rata-rata Durasi Perubahan Server 14,07 16,87

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

71

Berdasarkan hasil pengujian perubahan client menjadi server pada tabel 4.10, dapat

dilihat bahwa dalam 12 kali pengujian semua modul dapat berubah menjadi server dengan

rata-rata durasi perubahan dari client ke server selama 14,07 detik dan rata-rata durasi

perubahan hingga kembali ke siklus normal adalah selama 16,87 detik yang ditandai dengan

ketiga modul menyalakan lampu. Pada pengujian ke 9 dan ke 10, modul yang seharusnya

menjadi server adalah modul 1, namun pada pengujian ini terlihat bahwa modul 2 yang

berubah menjadi sever. Hal ini terjadi karena jeda antara modul 1 dan modul 2 sebelum

melakukan restart hanya 1 detik, sehingga terkadang proses restart modul 2 lebih cepat

dibanding modul 1 yang menyebabkan modul 2 menjadi server.

4.5.6 Pengujian Pergantian Client yang Rusak

Pengujian pergantian client dilakukan untuk mengetahui kemampuan modul

melakukan proses komunikasi dengan modul lainnya ketika modul mengalami kerusakan

dan harus diganti dengan modul yang baru. Proses pengujian dilakukan dengan

mengaktifkan salah satu modul saat ketiga modul lainnya sedang aktif seperti yang dapat

dilihat pada gambar 4.23. Pegujian dilakukan sebanyak 12 kali pengujian. Hasil uji coba

pergantian client yang rusak dapat dilihat pada gambar 4.24 (a), gambar 4.24 (a), gambar

4.24 (a) dan gambar 4.24 (a), yang merupakan pengujian pertama tiap modul sebagi modul

client yang hendak diganti. Data hasil pengujian pergantian client dapat dilihat pada tabel

4.11.

Gambar 4.23 Kondisi Awal Ketika Modul Client Baru Diberi Catudaya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

72

(a)

(b)

(c)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

73

(d)

Tabel 4.11 Hasil Pengujian Pergantian Client yang Rusak

Pengujian

ke-

Modul yang

Diuji

Status

Pergantian

Durasi

Sinkronisasi

(detik)

1 Modul 1 Sukses 6,19

2 Modul 1 Sukses 5,96

3 Modul 1 Sukses 6,24

4 Modul 2 Sukses 5,85

5 Modul 2 Sukses 6,64

6 Modul 2 Sukses 6,57

7 Modul 3 Sukses 5,77

8 Modul 3 Sukses 5,99

9 Modul 3 Sukses 6,1

10 Modul 4 Sukses 5,54

11 Modul 4 Sukses 6,35

12 Modul 4 Sukses 6,7

Rata-rata Durasi Sinkronisasi 6,15

Pada tabel 4.11 dapat dilihat bahwa setiap modul diuji sebanyak tiga kali dan keempat

modul mampu melakukan proses komunikasi dengan server dengan rata-rata durasi

sinkronisasi selama 6,15 detik setelah modul client yang bru diberikan catudaya.

4.5.7 Pengujian Jarak Komunikasi Server dengan Client

Pengujian jarak komunikasi antara server dengan client bertujuan untuk mengetahui

jarak maksimum yang dapat dijangkau oleh modul untuk melakukan komunikasi. Skema

proses pengujian jarak dilakukan dengan meletakan server dan client dengan jarak tertentu

seperti pada gambar 4.14. Pengujian jarak komunikasi dilakukan pada tanah lapang tanpa

adanya halangan. Hasil pengujian dapat dilihat pada tabel 4.12.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

74

Gambar 4.24 Skema Pengujian Jarak Komunikasi Modul

Dimana:

L = Jarak antara client dengan server

Tabel 4.12 Hasil Pengujian Jarak Komunikasi Server dengan Client

Modul

Server

Jarak Komunikasi

Maksimum (meter)

Modul 1 42

Modul 2 40,5

Modul 3 44

Modul 4 41

Berdasarkan hasil pengujian pada tabel 4.12, jarak maksimum rata-rata komunikasi

antara server dan client adalah 41,8 meter pada kondisi tidak ada penghalang apapun.

Apabila server melebihi jarak maksimum, komunikasi antara server dan client tidak berjalan

maksimal dengan ditandai client terus berusaha melakukan rekoneksi dengan server,

sehingga lampu yang dinyalakan tidak sesuai dengan yang diharapkan. Modul client

menyalakan lampu kuning blink sesaat sebelum melakukan proses rekoneksi ke server. Jika

client tidak menemukan server maka client akan berubah menjadi server.

Jarak maksimum rata-rata komunikasi modul yang dibuat adalah 41,8 meter, sehingga

modul hanya dapat digunakan untuk perempatan yang yang kecil yang memiliki jarak

antarsisi kurang dari 41,8 meter. Modul lampu lalu lintas yang dibuat tidak dapat digunakan

untuk perempatan jalan yang memiliki jarak antarsisi jalan lebih dari 41,8 meter.

4.5.8 Pengujian Ketahanan Komunikasi Server dengan Client

Pengujian ketahanan komunikasi antara seevr dan client bertujuan untuk mengetahui

kemampuan modul mengirim dan menerima data dalam jangka waktu tertentu. Pengujian

ketahanan modul dilakukan dengan menyalakan keempat modul selama 3 x 24 jam

menggunakan adaptor sebagai catudaya. Hasil pengujian ketahanan komunikasi antara

server dengan client selama 72 jam adalah keempat modul dapat berkomunikasi dengan baik

selama proses pengujian.

Client 1

Client 2

Client 3

Server L

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

75

4.6 Analisis Perangkat Lunak (Software)

Pada sub bab ini akan dibahas mengenai Listinging program yang digunakan pada

modul lampu lalu lintas. Listinging program Lengkap dapat dilihat pada lampiran L-2.

4.6.1 Library yang Digunakan pada Program

Library yang digunakan pada program dapat dilihat pada gambar 4.25. Library

digunakan untuk menjalankan fungsi-fungsi yang dibutuhkan pada program. Terdapat enam

library yang digunakan yaitu ‘ESP8266WiFi.h’, ‘ESP8266WebServer.h’,

‘ESP_EEPROM.h’, ‘ArduinoJson.h’, ‘RTClib.h’ dan ‘ESP8266Ping.h’. Library

‘ESP8266WiFi.h’ menyediakan fasilitas penggunaan Wi-Fi pada modul seperti pengaturan

mode station atau mode access point Esp8266 dan pengaturan alamat IP. Library

‘ESP8266WebServer.h’ berfungsi untuk membuat dan mengakses web server pada

Esp8266. Library ‘ESP_EEPROM.h’ berfungsi untuk menyimpan atau membaca data

EEPROM Esp8266. Library ‘ArduinoJson.h’ berfungsi untuk mengatur format pengiriman

data antar server dan client dalam bentuk JSON. Library ‘RTClib.h’ berfungsi untuk

mengkases dan mengatur RTC. Library ‘ESP8266Ping.h’ berfungsi untuk melakukan ping

pada modul.

Gambar 4.25 Library yang Digunakan pada Program

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

76

4.6.2 Variabel yang Digunakan pada Program

Variabel-variabel yang digunakanpada program dapat dilihat paa gambar 4.26.

Variabel pada program bertujuan agar nilai variabel dapat berubah-ubah sesuai kebutuhan

program. Keterangan penggunaan variabel dapat dilihat pada tabel 4.13.

Gambar 4.26 Variabel yang digunakan pada Program

Tabel 4.13 Fungsi Variabel yang Digunakan pada Program

Tipe Data Nama variabel Keterangan

Array

Integer

waktu-RTC Variabel data waktu pada server yang akan dikirim ke

client

durasi_lampu Variabel data counter durasi waktu yang dikirim dari

server ke client

detetapan_lampu Variabel Data durasi waktu yang dikirim dari web ke

server

lampu_apill Variabel data untuk menyalakan warna lampu pada modul

cc Variabel data ‘status_mulai’ pada modul

Array

Char

PARAM_INPUT Variabel data yang dikirim dari web ke server

warna_lampu Variabel tampilan warna lampu pada halaman web

ip_modul Variabel tampilan alamat IP modul pada halaman web

String tmpString Variabel Pengganti data dari server ke web

String Jam Variabel data jam RTC yang dikirim dari web

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

77

Tabel 4.13 Fungsi Variabel yang Digunakan pada Program (Lanjutan)

4.6.3 Listing Program Konfigurasi Jaringan

Listing program konfigurasi jaringan dapat dilihat pada gambar 4.27. Konfigurasi

jaringan meliputi pemberian nama jaringan (SSID) dan password untuk log-in ke dalam

dalam jaringan serta pengaturan alamat IP server, subnetmask, gateway dan IP client. SSID

yang digunakan adalah “ESP8266_TA” dengan password “g00dluck”. Alamat IP Server dan

gateway adalah 192.168.11.1 dengan subnetmask 255.255.255.0. Alamat IP client adalah

‘192.168.11.a’ dengan ‘a’ merupakan nilai kombinasi input dari switch yang dapat dilihat

pada gambar 4.18. “ESP8266WebServer server (80)” merupakan fasilitas untuk

menggunakan web server dengan nama “server” dengan port komunikasi HTTP adalah 80.

Gambar 4.27 Listing Program Konfiguras jaringan

Tipe Data Nama variabel Keterangan

String menit Variabel data menit RTC yang dikirim dari web

Boolean sbgClient Variabel status modul server/client

mulai Variabel kondisi modul sedang berjalan atau tidak

Integer

cursor Variabel penunjuk indeks pada variabel durasi_lampu

warna Variabel perubah data pada variabel lampu_apill

a Variabel penyimpan data input Switch

sw1,sw2,sw3,

tombol Variabel status logika input switch dan tombol

putus Variabel prioritas penyalaan modul ketika server rusak

jam1,jam2 Variabel interval lampu kuning menyalakan lampu kuning

blink

alamat_ip Variabel untuk menampilkan alamat IP yang terhubung ke

server

jam_server Variabel data waktu RTC real time

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

78

4.6.4 Listing Program Konfigurasi I/O

Listing program konfigurasi port I/O dapat dilihat pada gambar 4.28.

Gambar 4.28 Listing Program Konfigurasi Port I/O

4.6.5 Listing Program Scanning SSID

Listing program scanning SSID dapat dilihat pada gambar 4.29. Untuk melakukan

proses scanning SSID digunakan fungsi ‘WiFi.scanNetworks ()’. Fungsi ini merupakan

fungsi yang sudah terintegrasi pada NodeMCU. Pada program dilakukan proses

pengulangan untuk memeriksa SSID yang ada disekitar NodeMCU. Untuk mengetahui

SSID yang ada disekitar NodeMCU digunakan fungsi ‘WiFi.SSID ()’.

Jika terdapat SSID yang sama dengan yang dimiliki modul yaitu ‘ESP8266_TA’ maka

variabel ‘sbgClient’ diberi nilai ‘true’ sebagai tanda modul yang digunakan merupakan

client. Apabila NodeMCU tidak menemukan SSID yang sama dengan SSID miliknya maka

modul berubah menjadi access point dan menjadi server.

Gambar 4.29 Listing Program Scanning Jaringan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

79

4.6.6 Listing Program Pengaturan Modul sebagai Server/Client

Listing program konfigurasi modul sebagai server atau client merupakan Listing

program yang bertujuan mengatur mode modul sebagai access point (server) atau mode

station (client). Listing program konfigurasi modul sebagai server/client dapat dilihat pada

gambar 4.30.

Gambar 4.30 Listing Program Pengaturan Server dan Client

Jika modul sebagai client, mula-mula modul mengkatifkan fungsi ‘WiFi.begin

(ssid_ap, password_ap)’ yang bertujuan untuk mengkoneksikan client ke access point

dengan SSID yang terdapat pada variabel ‘ssid_ap’ yaitu ‘ESP8266_TA’ dengan

memasukan password yang sama dengan yang terdapat pada variabel ‘password_ap’ yaitu

‘g00dluck’. Fungsi ‘WiFi.config (ipClient, gateway, subnet, gateway)’ bertujuan untuk

memberikan alamat IP statis pada client yaitu yang ada pada variabel ‘ipClient’ dengan

variabel ‘gateway’ sebagai alamat IP server dan sebagai gateway pada jaringan sedangkan

variabel ‘subnet’ merupakan variabel subnetmask jaringan. Pada modul client juga terdapat

proses memeriksa koneksi client dengan server yaitu dengan menggunakan fungsi

‘WiFi.status ()’.

Jika modul sebagai server, mula-mula atur mode access point dengan fungsi

‘WiFi.mode (WIFI_AP)’. Konfigurasi alamat IP, submetmask dan gateway diatur

menggunakan fungsi ‘WiFi.softAPConfig (gateway, gateway, subnet)’ dengan ‘gateway’

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

80

adalah variabel alamat IP server dan gateway. Pengaturan nama SSID dan password

dilakukan dengan menggunakan fungsi ‘WiFi.softAp (ssid_ap, password)’ dengan ‘ssid-ap’

adalah ‘ESP8266_TA’ dan ‘password_ap’ adalah ‘g00dluck’. Server akan merespon request

client dengan fungsi ‘server.on (“/url_name”, function)’. Fungsi ‘server.on (“/”,

handleHome)’ berarti server akan mengeksekusi subrutin ‘handleHome’ jika pada web

browser diketikan URL “/”. Contoh pada penelitian ini yaitu jika hendak mengakses halaman

web pengaturan pewaktuan, URL yang diketik pada web browser adalah ‘192.168.11.1/’

atau ‘192.168.11.1’ sedangkan untuk melihat halaman monitoring, URL yang diketik pada

web browser adalah ‘192.168.11.1/monitor’. Untuk mengkatifkan server digunakan fungsi

‘server.begin ()’. Kata “server” pada ‘server.on ()’ atau ‘server.begin ()’ sendiri merupakan

nama yang dideklarasikan pada ‘ESP8266WebServer server (80)’ seperti pada gambar 4.17.

4.6.7 Listing Program Sub Rutin Request Data ke Server

Listing progran sub rutin request data ke server dapat dilihat pada gambar 4.31. Sub

rutin request data ke server merupakan peintah yang dilakukan oleh client untuk me-request

data ke server. Mula-mula untuk me-request, client diberi URL yaitu “/data”. Jika sub rutin

request data ke server dipanggil, program akan menjalankan perintah ke server untuk

merespon client dengan mengirimkan data yang ada pada URL “/data”. Perintah ini tampak

pada gambar 4.19 pada bagian ‘server.on (“/data”, handleData)’. ‘handleData’ merupakan

fungsi untuk membuat konversi data ke format JSON. Data dari format JSON inilah yang

diterima client sebagai respon dari server.

Terdapat format tertentu yang digunakan untuk melakukan request ke server. HTTP

request terdiri dari baris-baris yang diakhiri dengan suatu carriage return dan line feed yang

direpresentasikan dengan <CR><LF> atau ‘/r/n’. Baris pertama pertama berisi metode dan

tujuan HTTP dan baris sisanya berisi header HTTP termasuk header host yang diperlukan.

Terdapat beberapa metode HTTP salah satunya adalah metode ‘GET’[18]. Metode ‘GET’

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

81

digunakan untuk mengambil informasi dari server melalui URL yang diberikan dengan

hanya mengambil data tanpa merubah data[19].

Gambar 4.31 Listing Program Sub Rutin Request Data ke Server

Pada gambar 4.21 terdapat format pengiriman request ke server dengan metode ‘GET’

dengan tujuan ‘url’ yang berisi “/data” dengan header HTTP ‘HTTP/1.1’ yang diakhiri oleh

‘\r\n’ sebagai carriage return dan line feed. Baris berikutnya merupakan header host yaitu

‘Host: 192.168.11.1’ yang merupakan alamat IP server. Setelah melakukan request, request

HTTP ditutup dengan “Connection: close”. Setiap baris diakhiri dengan carriage return dan

line feed ‘\r\n’.

Setiap kali melakukan request, client selalu memeriksa koneksi dengan server. Untuk

memeriksa koneksi dengan server digunakan fungsi ‘WiFiClient client’ yang berisi

‘client.connect (IP_sever, HTTP_PORT)’. ‘IP-server’ merupakan alamata IP yang

digunakan yaitu 192.168.11.1 disimpan pada variabel ‘gateway’ dan ‘HTTP_PORT’ adalah

Format pengiriman

request ke server

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

82

port HTTP yaitu 80 yang disimpan pada variabel ‘httpPort’. Jika client tiba-tiba kehilangan

koneksi dengan server, client akan menyalakan lampu kuning blink sesaat sebelum

melakukan delay yang durasinya tergantung alamat IP kemudian me-restart dengan

menjalankan fungsi ‘ESP.restart ()’.

Selama client terkoneksi dengan server yang ditandai dengan fungsi ‘client.available

()’, client membaca semua infirmasi yang diterima dari server. Apabila client tidak mendapat

respone dari server lebih 5 detik, client akan menjalakan fungsi restart.

4.6.8 Listing Program Sub Rutin Konversi Data ke JSON

Format pengiriman data antara server dan client menggunakan format JSON. Listing

program sub rutin konversi format pengiriman data dapat dilihat pada gambar 4.32. Mula-

mula dibuat dokumen JSON dengan fungsi ‘DynamicJsonDocument ()’ dengan nama ‘doc’

yang memiliki ukuran data 512 bytes untuk menyimpan dokumen JSON. Pada JSON

terdapat objek yang berisi “key” dan “value”. “Key” dan “value” merupakan daya yang

dikirimkan. Oleh karena itu, perlu adanya objek pada JSON yang dibuat dengan fungsi

‘JsonObject’ untuk membaca konten yang terdapat pada dokumen JSON yang

direpresentasikan dengan ‘JsonObject obj = doc.to. <JsonObject>()’.

Untuk membuat array dibutuhkan fungsi ‘JsonArray _name’. Pada gambar 4.32,

terdapat beberapa nama dari ‘JsonArray’ yaitu ‘d_lampu’, ‘status_lampu’, ‘status_mulai’

dan ‘waktu’. Nama array tersebut dikenalkan pada dokumen JSON menggunakan fungsi

‘createNestedArray (key_name)’ yang bersisi “key” pada dokumen JSON. Data pada

dukumen JSON diisi dengan variabel yang dikenali oleh Esp8266 menggunakan fungsi

‘copyArray (Variabel_esp, Array_Json)’. Fungsi ‘coppyArray ()’ digunakan untuk menyalin

nilai pada variabel ‘durasi_lampu’, ‘lampu_apill’, ‘cc’ dan ‘waktu_RTC’ masing masing ke

JSON array. Hasil konversi format pengiriman data ke JSON dapat dilihat pada gambar 4.11.

Gambar 4.32 Listing Program Sub Rutin Konversi Data ke JSON

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

83

4.6.9 Listing Program Sub Rutin Konversi Data Pengaturan Web

Listing program konversi data pengaturan web bertujuan untuk mengubah data

pengaturan web yang berbentuk string ke integer agar dapat dieksekusi oleh program utama.

Listing program sub rutin konversi data pengaturan web dapat dilihat pada gambar 4.33.

Terdapat fungsi ‘server.arg (PARAM_INPUT [i])’ yang memiliki fungsi mengakses nama

argumen pada HTML di halaman web. Nama argumen tersebut dapat dilihat pada gambar

4.16 yaitu isi dari array ‘PARAM_INPUT [11]’, ‘warna_lampu [4]’ dan ‘ip_modul[4]’

memiliki nama yang sama dengan argumen yang ada pada Listing program halaman web

pengaturan durasi yang dapat dilihat pada gambar 4.38.

Nama argumen ini memiliki data yang berbentuk string. Untuk mengubah data dari

string ke integer digunakan fungi ‘_name.toInt ()’. “_name” merupakan nama variabel

penyimpan nama argumen pada web yang berbentuk string. Selain fungsi ‘toInt ()’, terdapat

fungsi ‘substring ()’ yang memiliki fungsi untuk mengambil bagian tertentu dari data string.

Pada Listing program yang ditunjuk pada gambar 4.23 terdapat script “jam =

dataaa.substring (0,2)” yang fungsinya untuk mengambil data jam yang diatur melalui web.

‘0’ meroakan indeks mulainya pengambilan data dan ‘2’ adalah indeks setelah data terakhir

diambil. Agar lebih memahami fungsi ‘substring ()’, berikut merupakan contoh penggunaan

fungsi ‘substring()’. “input9=20%3A30&input10=00%3A00&input11=06%3A00”

merupakan data yang dikirim dari web yang dapat dilihat pada baris pencarian web browser

setelah tombol “SUBMIT” pada halaman web ditekan. “input9”, “input10” dan “input11”

merupakan nama argumen pada HTML dengan data masing masing adalah ‘20%3A30’,

‘00%3A00’ dan ‘06%3A00’. Karakter ‘%3A’ merupakan karakter ‘:’ pada HTML sehingga

total indeks dari setiap data yang dikirim adalah 4 yaitu indeks 0 hingga indeks 3. Sehingga

untuk mengambil data ‘20’, ‘00’ dan ‘06’, parameter yang digunakan pada fungsi ‘substring

()’ adalah ‘substring (0, 2)’.

Pada sub rutin konversi pengaturan data web juga terdapat perintah untuk menyimpan

data pengaturan ke EEPROM server. Data yang disimpan ke EEPROM adalah data durasi

waktu lampu lalu lintas. Penyimpanan data ke EEPROM membutuhkan beberapa fungsi

yang berasa dari library ‘ESP_EEPROM.h’. Penjelasan lebih lengkap mengenai EEPROM

akan dibahas pada poin bahasan Listing program menyimpan data ke EEPROM.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

84

Gambar 4.33 Listing Program Sub Rutin Konversi Data Pengaturan Web

4.6.10 Listing Program Sub Rutin Pengaturan Penyalaan Lampu

Listing program pengaturan penyalaan lampu berfungsi untuk menentukan warna

lampu yang harus dinyalakan modul. Pada dasarnya isi sub rutin penyalaan lampu berisi

pengaturan nilai output pada port Esp8266. Untuk menyalakan lampu digunakan perintah

‘digitalWrite (pin_out, HIGH)’ dan untuk mematikan lampu digunakan perintah

‘digitalWrite (pin_out, LOW)’. “pin_out” menunjuk pada nama pin output yang dituju dan

“HIGH/LOW” merupakan logika yang diberikan untuk port output yang dituju. Listing

program sub rutin pengaturan penyalaaan lampu dapat dilihat pada gambar 4.34.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

85

Gambar 4.34 Listing Program Sub Rutin Pengaturan Penyalaan Lampu

4.6.11 Listing Program Penyimpanan Data ke EEPROM

Untuk mengakses EEPROM pada Esp8266 dibutuhkan library ‘ESP_EEPROM.h’

yang memiliki fungsi untuk menyimpan dan membaca data pada EEPROM. Fungsi

‘EEPROM.begin (size)’ adalah untuk memulai segala proses reading atau writing dengan

ukuran data tertentu dalam bentuk byte yang tepisah 4 byte dan 4096 byte[20]. Fungsi

‘EEPROM.put (address, data)’ adalah untuk menulis berbagai jenis tipe data dan objek pada

EEPROM pada alamat tertentu. Fungsi ‘EEPROM.get (address, data)’ adalah untuk

membaca berbagai jenis tipe data dan objek pada alamat tertentu. Terdapat juga fungsi

‘EEPROM.commit ()’ yang berfungsi untuk meyimpan perubahan data tiap kali ada

perubahan. Fungsi ‘EEPROM.commit ()’ harus dipanggil ketika proses menyimpan data

yang dilakukan fungsi EEPROM.put (address, data) selesai agar data dapat disimpan.

Listing program penyimpanan data ke EEPROM dapat dilihat pada gambar 4.35.

Gambar 4.25(a) merupakan pengaturan ukuran byte yang digunakan untuk EEPROM yaitu

128 byte. Gambar 4.25(b) merupakan proses menyimpan data durasi lampu dari dari web

yang telah diubah ke integer ke EEPROM server dan EEPROM client dan gambar 4.35(c)

merupakan proses membaca data EEPROM server. Gambar 4.35(d) menyimpan data

“status_mulai” pada EEPROM.

(a)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

86

(b)

(c)

(d)

Gambar 4.35 Listing Program Penyimpanan Data ke EEPROM (a) pengaturan

ukuran byte EEPROM, (b) menyimpan data durasi ke EEPROM server, (c) membaca data

dari EEPROM, (d) menyimpan data ‘cc[0]’ ke EEPROM

4.6.12 Listing Program Sub Rutin Monitoring

Listing program monitoring merupakan sub rutin yang berfungsi untuk mengetahui

jumlah dan alamat IP client yang terhubung ke server serta warna lampu yang sedang

dinyalakan oleh modul. Listing program sub rutin monitoring dapat dilihat pada gambar

4.27. Untuk mengetahui jumlah client yang tehubung ke access point digunakan ‘struct

station_info *stat_info’ yang terdapat pada file header yang tampak pada gambar 4.36.

Gambar 4.36 File Header untuk Mendapat Informasi Client

File header pada gambar 4.26 berfungsi untuk menampilkan informasi tentang client

berupa alamat IP Client (DHCP), mac address dan jumlah client yang terhubung pada access

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

87

point. Untuk mengetahui jumlah client yang tehubung digunkan fungsi

‘wifi_softap_get_station_num ()’. Untuk mengetahui alamat IP client yang terhubung ke

server digunakan fungsi ‘Ping.ping (IP_Address)’ yang terdapat pada library

‘ESP8266Ping.h’. Fngsi ‘Ping ()’ digunakan untuk memeriksa alamat IP client yang

terhubung ke server. Apabila proses ping berhasil, server akan mengirim data ke web berupa

alamat IP yang sudah diubah ke dalam bentuk string yang disimpan pada variabel

‘potong_ip’. Data pada alamat variabel ‘potong_ip’ merupakan nama argumen pada HTML

yaitu ‘%modul1%’, ‘%modul2%’, ‘%modul3%’ dan ‘%modul4%’.

Pengubahan alamat IP client dilakukan dengan script yang ditunjuk angka 1 pada gambar

4.37 bertujuan mengambil setiap nilai setiap byte pada alamat IP client karena ukuran alamat

IP adalah 4 byte yang setiap byte-nya dipisahkan dengan ‘,’ ( koma ). Oleh karena itu

pengambilan alamat IP dilakukan perbyte kemudian alamat IP dikirim ke web menggunakan

fungsi ‘repalce ()’. Fungsi ‘repalce ()’ juga digunakan untuk mengubah data nama argumen

pada web dengan data warna lampu yang sedang dinyalakan oleh keempat modul.

Gambar 4.37 Listing Program Sub Rutin Monitoring

1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

88

4.6.13 Listing Program Halaman Web

Listing program halaman web terdiri dari dua bagian yaitu halaman web pengaturan

durasi lampu lalu lintas dan halaman web monitoring. Listing program halaman web

pengaturan durasi dan halaman web mobitoring masing-masing dapat dilihat pada gambar

gambar 4.38 dan gambar 4.29. Halaman web dibuat menggunakan HTML.

Gambar 4.38 Listing Program Halaman Web Pengaturan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

89

Gambar 4.38 Listing Program Halaman Web Pengaturan (Lanjutan)

Gambar 4.39 Listing Program Halaman Web Monitoring

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

90

Gambar 4.39 Listing Program Halaman Web Monitoring (Lanjutan)

Pada list program halaman web terdapat beberapa bagian penting yaitu tag <form >

..</form>, <input type = “text” name= “name” > dan tag <div>..</div> . Tag <form>

berfungsi membuat sebuah form HTML untuk melakukan input melalui user. Script ‘<form

action : “/get”>’ memiliki atribut ‘action’ yang berfungsi menentukan tempat untuk

mengirim data yang dimasukan dan “/get” merupakan tempat tujuan dari data yang dikirim

setelah “submit” ditekan. “/get” menunjuk pada sub rutin program konversi data pengaturan

web dengan nama ‘void balas()’ yang dapat dilihat pada gambar 4.20 bagian ‘server.on

(“/get”, balas)’. Script ‘<input type = “text” name= “name” >’ berfungsi untuk memberikan

input pada form HTML dengan atribut ‘type’ adalah jenis input dan atribut ‘name’ berisi

nama elemen input. Pada program halaman web terdapat dua jenis atribut ‘type’ yaitu ‘text’

dan ‘time’ dan nama elemen input pada web sama dengan isi variabel “PARAM_INPUT”

yang dapat dilihat pada gambar 4.16. Tag <div>..</div> berfungsi untuk mendefinisikan

suatu id atau class yang dapat dimanipulasi. Contoh penggunaan tag <div> pada script ‘<h4>

Jumlah_Client : <div id= 'anggota'> %anggota% </h4>’, id ‘anggota’ memiliki data yang

dapat berubah sesuai perubahan argumen ‘%anggota%’ yang terdapat pada sub sutin

program monitoring.

Selain tag-tag di atas, terdapat juga tag lain yaitu tag <table> untuk membuat tabel, tag

<tr> dan tag <td> masing-masing berfungsi untuk membuat kolom dan baris tabel dan

terdapat tag <style> yang berfungsi untuk mengatur tampilan tabel. Pada program halaman

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

91

web monitoring terdapat script yang berfungsi untuk me-refresh halaman web yaitu ‘<meta

http-equiv='refresh' content='1'>’ yang melakukan refresh pada halaman web setiap 1 detik

guna meng-update data perubahan warna lampu lalu lintas dan jumlah client yang terhubung

ke server.

4.6.14 Listing Program Utama

Listing program utama dapat dilihat pada gambar 4.40. Program utama berisi program

counter durasi lampu lalu lintas dan sub rutin – sub rutin program yang sudah dijelaskan

sebelumnya.

Gambar 4.40 Listing Program Utama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

92

Gambar 4.40 Listing Program Utama (Lanjutan)

Jika modul menjadi server, mula-mula modul membaca data pada variabel ‘cc[0]’

yang disimpan pada EEPROM. Jika data ‘cc[0]’ = 90 proses counting durasi belum berjalan,

sedangkan jika ‘cc[0]’ = 88 artinya proses counting durasi sedang berjalan. Pada saat data

‘cc[o]’ = 88, server melakukan pengambilan keputusan untuk menyalakan lampu kuning

blink jika ‘jam_server’ lebih besar sama deengan variabel ‘jam1’ dan lebih kecil atau sama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

93

variabel ‘jam2 -1’ atau menjalankan proses counting durasi jika’jam_server’ berada di luar

kondisi lampu kuning blink.

Counter durasi lampu lalu lintas dibuat menggunakan fungsi delay yang diatur 1 detik

yang terdapat pada script ‘durasi_lampu [cursor] [warna] -= 1’. Setiap detik, server akan

mengurangi data durasi yang terdapat pada array ‘durasi_lampu [cursor] [warna]’ dengan 1.

Pada array ‘durasi_lampu [cursor] [warna]’, “cursor” menunjuk pada modul yang sedang

dalam proses counting dan “warna” menunjukan warna lampu yang dinyalakan modul.

Untuk mengani request client, diperlukan fungsi ‘server.handleCleint ()’. Fungsi

‘server.handleCleint ()’ diulang setiap 1 detik untuk menyessuikan dengan request client

yang juga dilakukan setiap detik.

Jika modul sebagai client, mula-mula melakukan request ke server dengan memanggil

sub rutin request data ke server. Setelah menerima dari server, client melakukan proses

memilah data yang diterima dengan fungsi ‘deserializeJson (doc, data)’ yang sebelumnya

telah digabung oleh fungsi ‘serializeJson (doc, data)’ pada sub rutin konversi data ke JSON.

Jika data ‘cc’ = 90 maka client akan menyimpan data yang diterima dari server berupa data

ketetapan lampu ke EEPROM. Jika data ‘cc’ = 88, client menyalakan lampu sesuai dengan

data ‘status_lampu; yang diterima dari server. Client melakukan request ke server setiap

detik, namun pada implementasinya request server dilakukan setiap 900 ms untuk mentoleril

waktu yang digunakan untuk komunikasi antara client dan server.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

94

5 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan perancangan, pembuatan dan pengujian pada prototype modul

lampu lalu lintas, dapat diambil kesimpulan sebagai berikut:

1. Semua modul yang dibuat dapat difungsikan sebagai server atau client,

2. Pengriman data dari web ke server, dari server ke web dan dari serve ke client berjalan

dengan baik secara wireless,

3. Keempat modul lampu lalu lintas dapat tersinkronisasi dengan baik,

4. Server yang rusak dapat digantikan dengan client yang memiliki alamat IP terkecil

5. Rata-rata durasi perubahan server menjadi client adalah 14,07 detik dan rata-rata

durasi perubahan server hingga kembali ke siklus normal adalah 16,87 detik,

6. Jarak rata-rata komunikasi ideal maksimun antara server dan client adalah 41,8 meter

7. Komunikasi antara server dengan client dapat berjalan dengan baik selama 72 jam.

5.2 Saran

Berdasarkan hasil yang diperoleh, untuk pengembangan selanjutnya terdapat

beberapa saran yaitu:

1. Agar jangkauan komunikasi antar server dan client lebih jauh dan lebih stabil, dapat

digunakan penguat sinyal berupa booster sinyal,

2. Agar modul dapat digunakan pada berbagai persimpangan jalan, pada program dapat

ditambahkan pengaturan jumlah client yang diinginkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

95

6 DAFTAR PUSTAKA

[1] M. Aria and R. Faizal, 2017, “Sistem Lalu Lintas Terpadu Embedded Traffic System,”

Telekontran, vol. 5, no. 2, pp. 83–93.

[2] N. Warihandoko, M. Rivai, and T. Tasripan, 2016, “Pengaturan Lampu Lalu Lintas

Secara Nirkabel Bertenaga Surya,” Jurnal Teknik ITS, vol. 5, no. 2, pp. 1–6.

[3] “UU No. 22 Tahun 2009.” .

[4] V. Rahmawati, 2017, “NODEMCU V3,” eprints.akakom.ac.id. .

[5] Ramdom Nerd Tutorials, 2019, “ESP8266 GPIOs,” randomnerdtutorials.com. .

[6] Electronicswings, 2020, “NodeMCU GPIO with Arduino IDE,” electronicwings.com.

.

[7] P. P, 2017, “A Beginner’s Guide to the ESP8266.” .

[8] M. H. Wicaksono, 2017, Mudah Belajar Mikrokontroler Arduino. Bandung:

Informatika.

[9] H. Sidik, Betha dan Iskandar Pohan, 2007, Pemrograman Web dengan HTML,

Kelima. Bandung: INFORMATIKA.

[10] W. Stallings, 2005, Wireless Communications & Networks, Second. New Jersey: Alan

Apt.

[11] A. A. Zabar and F. Novianto, 2015, “Keamanan Http Dan Https Berbasis Web

Menggunakan Sistem Operasi Kali Linux,” Komputa : Jurnal Ilmiah Komputer dan

Informatika, vol. 4, no. 2, pp. 69–74.

[12] T. Kuntoro Priyambodo and D. Heridiadi, 2005, Jaringan Wi-Fi, Teori &

Implementasi. Yogyakerta: ANDI.

[13] Bakti, 2018, “Fungsi Access Point dan Cara Kerjanya dalam Koneksi Internet,”

www.baktikominfo.id. .

[14] Elektronika Dasar, 2015, “LED (Light Emitting Diode),” elektronika-dasar.web.id. .

[15] L. Boylestad, Robert L. ;Nashelsky, 2009, Electronic Devices and Circuit Theory,

Tenth. New Jersey: Pearson Education,Inc.

[16] Maxim Integrated, 2015, “DS 3231 RTC General Description,” Data Sheet, p. 20.

[17] json.org, “Pengenalan JSON.” .

[18] Citrix, “Notes on the format of HTTP requests and responses.” [Online]. Available

at: https://docs.citrix.com/en-us/netscaler/12/appexpert/http-callout/http-request-

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

96

response-notes-format.html. [Accessed: 17-Jul-2020].

[19] Tutorialspoint, “HTTP - Requests.” [Online]. Available at:

https://www.tutorialspoint.com/http/http_requests.htm. [Accessed: 17-Jul-2020].

[20] ESP8266 Arduino Core, 2017, “Libraries.” [Online]. Available at: https://arduino-

esp8266.readthedocs.io/en/latest/libraries.html. [Accessed: 19-Jul-2020].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

L-1

7 LAMPIRAN

L A M P I R A N

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

L-2

Lampiran 1

Listing Program

/*

Program Smart Modular Traffic Light berbasis NodeMCUEsp8266

2020

Author: 165114045

Company: TE, USD

*//*

Inisiasi Library yang digunakan pada program*/

#include <ESP8266WiFi.h> // Library untuk mengakses Wi-Fi pada NodeMCU

#include <ESP8266WebServer.h> // Library untuk NodeMCU bisa menjadi

server

#include <ESP_EEPROM.h> // Library untuk menggunakan EEPROM pada

NodeMCU

#include <ArduinoJson.h> // Library Untuk mengkonversi data dalam

bentuk JSON

#include "RTClib.h" // Library untuk mengakses RTC

#include <ESP8266Ping.h> // Library untuk mengakses fungsi Ping

Esp8266

// #include <WiFiClient.h>

//==============================================================//

RTC_DS3231 rtc; // Mengenal RTC yang digunakan adalah DS3231

extern "C" //file header untuk mengetahui info tentang client

#include<user_interface.h>

//==============================================================//

/* * Variabel-variabel yang digunakan pada program* dan

penjelasannya*/

int waktu_RTC [1];

int durasi_lampu[4][3] = 20,5,3,20,5,3,20,5,3,20,5,3;

//Durasi lampu keepat modul (berubah sesuai counter)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

int ketetapan_lampu[4][3] =

20,5,3,20,5,3,20,5,3,20,5,3//Ketetapan durasiLampu setiap

modul (tetap, tidak terpengaruh counter) 00

int lampu_apill[4] = 2,0,0,0; //status penyalaan lampu keepat modul

'2' = Hijau, '1' = kuning, '0' = merah

int cursor = 0; // untuk menunjuk urutan penyalaan lampu pada

modul

int warna = 0; // untuk menentukan warna lampu yang sedang menyala

int a = 0; // variabel untuk nilai masukkan switch

int sw1,sw2,sw3,tombol; // Variabel untuk switches dan pushbutton

// int putus = 0;

String tmpString ;

bool sbgClient = false; // kondisi pemilihan sub rutin sebagai

client atau server

bool mulai = false; // menunjukkan status mulai pada sistem

int cc[1] = 90;

char* PARAM_INPUT[11] = "input1","input2","input3","input4",

"input5","input6","input7","input8",

"input9","input10","input11"; //variabel

untuk data yang diatur pada web

char* warna_lampu[4] = "%hijau%","%merah2%","%merah3%","%merah4%";

char* ip_modul[4] = "%modul1%","%modul2%","%modul3%","%modul4%";

String jam, menit;

int jam1=23; // variabel jam mulai blink

int jam2 =6; // variabel jam selesai blink

int alamat_ip;

int jam_server; // mengatur jam RTC

//int r = 0;

//int waktu_blink[2];

//=============================================================/

/* * PENGATURAN IP

* Pengaturan SSID dan Password

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

* Pengaturan Nilai ketetapan lampu, status, dan durasi lampu pada

modul

*/

char* ssid_ap = "ESP8266_TA"; // SSID pada modul

char* password_ap = "g00dluck"; // passwaord

IPAddress gateway(192,168,11,1); // IP Server

IPAddress subnet(255,255,255,0); // submetmask

IPAddress ipclient (192,168,11,a); // IP Client

ESP8266WebServer server(8); // mengatur port HHTP

//============================================================//

/* * KODE UNTUK MEMBUAT HALAMAN WEB**/

String index_html = R"rawliteral(

<!DOCTYPE html>

<html>

<head>

<h1>Halaman Pengaturan Pewaktuan</h1>

<style>

table, th, td

border: 1px solid black;

</style>

<script>

function startTime()

var today = new Date();

var h = today.getHours();

var m = today.getMinutes();

var s = today.getSeconds();

m = checkTime(m);

s = checkTime(s);

document.getElementById('txt').innerHTML =

h + ":" + m + ":" + s;

document.getElementById('jam').innerHTML = s ;

var t = setTimeout(startTime, 500);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

function checkTime(i)

if (i < 10) i = "0" + i;

return i;

</script>

</head>

<body style = "background-color:lightgrey"

onload="startTime()">

<h3> Waktu Saat Ini : <div id="txt" align =

"left"></div></h3>

<form action="/get">

<h3> Setting RTC</h3>

<p>Setting Waktu <input type="time" name="input9"></p>

<p> Setting Lampu Blink <input type="time" name="input10">

<input type="time" name="input11"> </p>

<h3> Setting Durasi Tiap Modul</h3>

<p>Durasi Lampu Kuning Default : 5 detik</p>

<table>

<colgroup>

<col style="background-color:honeydew">

<col style="background-color:green">

<col style="background-color:yellow">

</colgroup>

<tr>

<th>Alamat IP</th>

<th>Hijau</th>

<th>Kuning</th>

</tr>

<tr>

<td>192.168.11.2</td>

<td><input type="text" name="input1"></td>

<td><input type="text" name="input5"></td>

</tr>

<tr>

<td>192.168.11.3</td>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

<td><input type="text" name="input2"></td>

<td><input type="text" name="input6"></td>

</tr>

<tr>

<td>192.168.11.4</td>

<td><input type="text" name="input3"></td>

<td><input type="text" name="input7"></td>

</tr>

<tr>

<td>192.168.11.5</td>

<td><input type="text" name="input4"></td>

<td><input type="text" name="input8"></td>

</tr>

</table>

<p></p>

<h4></h4>

<input type="submit" value="SUBMIT">

</form>

<p></p>

</body>

</html>)rawliteral";

//=============================================================//

String ceklampu_html = R"rawliteral(

<!DOCTYPE html>

<html>

<head>

<h2> STATUS WARNA LAMPU MODUL </h2>

<h4> Jumlah_Client : <div id= 'anggota'> %anggota% </h4>

<h4> Waktu_RTC : <div id= 'jam_server'> %jam_server% </h4>

<meta name='viewport' content='width=device-width, initial-

scale=1.0'/>

<meta charset='utf-8'>

<meta http-equiv='refresh' content='1'>

<style>

table, th, td

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

border: 1px solid black;

</style>

</head>

<body style = "background-color:grey" onload="startTime()">

<table>

<colgroup>

<col style="background-color:honeydew">

<col style="background-color:honeydew">

<col style="background-color:honeydew">

<col style="background-color:honeydew">

</colgroup>

<tr>

<th>Alamat IP Terhubung</th>

<th>Warna Lampu</th>

</tr>

<tr>

<td><div id= 'modul1'> %modul1%</td>

<td> <div id= 'merah1'> %hijau%</td>

</tr>

<tr>

<td><div id= 'modul2'> %modul2%</td>

<td> <div id= 'merah2'> %merah2%</td>

</tr>

<tr>

<td><div id= 'modul3'> %modul3%</td>

<td> <div id= 'merah3'> %merah3%</td>

</tr>

<tr>

<td><div id= 'modul4'> %modul4%</td>

<td> <div id= 'merah4'> %merah4%</td>

</tr>

</table>

</body>

</head>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

</html>

)rawliteral";

//------------------------------------------------------------------//

void reset_paksa()

//memberi nilai ‘cc[0]’ = 90 ketika URL 192.168.11.1/reset diakses

EEPROM.put(100,90); EEPROM.commit();

server.send(200, "text/plain", "RESET BERHASIL");

void lanjut()

//memberi nilai ‘cc[0]’ = 88 ketika URL 192.168.11.1/lanjut diakses

EEPROM.put(100,88); EEPROM.commit();

server.send(200, "text/plain", "Counting is Running");

//=============================================================//

/* SUB RUTIN - SUB RUTIN YANAG ADA PADA PROGRAM*/

//----------------------------------------------------------------------

------//

/* * SUB RUTIN REQUEST DATA KE SERVER */

String request_data_ke_server()

String url = "/data"; // membuat URL untuk request

WiFiClient client;// Gunakan class WiFiClient untuk membuat koneksi

TCP

const int httpPort = 80; // inisiasi port HTTP

if (!client.connect(gateway, httpPort)) // jika client tidak

terkoneksi dengan server

// Serial.println("BLINKING ");

//Serial.println("connection failed");

digitalWrite(0,LOW);digitalWrite(15,LOW);

if ( a == 2)delay(1000);ESP.restart();

else if ( a == 3 ) delay(2000);ESP.restart();

else if ( a == 4 ) delay(3000);ESP.restart();

else if ( a == 5 ) delay(4000);ESP.restart();

String kk =

R"rawliteral("d_lampu":[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],"sta

tus_lampu":[4,4,4,4],"status_mulai":[88])rawliteral";

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

return kk;

// untuk mengirim request ke server

client.print(String("GET ") + url + " HTTP/1.1\r\n" +

"Host: 192.168.11.1\r\n" +

"Connection: close\r\n\r\n");

unsigned long timeout = millis();

while (client.available() == 0)

if (millis() - timeout > 5000)

Serial.println(">>> Client Timeout !");

client.stop();

// Lampu Blink Jika Lost Connection

String kk =

R"rawliteral("d_lampu":[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],

"status_lampu":[4,4,4,4],"status_mulai":[88])rawliteral";

return kk;

// Membaca semua baris balasan dari server

String line;

while(client.available())

line = client.readStringUntil('\r');

return line;

//-------------------------------------------------------------------//

/* * SUB RUTIN MENYALAN LAMPU PADA MODUL */

void menyalakan_lampu(int status)

if(status == 2)

// Menyalakan Lampu Hiaju

//Serial.println("HIJAU");

digitalWrite(0, LOW);digitalWrite(2, LOW); digitalWrite(15,

HIGH);

else if(status == 1)

// Menyalakan Lampu Kuning

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

//Serial.println("KUNING");

digitalWrite(0, LOW); digitalWrite(2, HIGH); digitalWrite(15,

LOW);

else if(status == 0)

// Menyalakan Lampu Merah

//Serial.println("MERAH");

digitalWrite(0, HIGH);digitalWrite(2, LOW); digitalWrite(15,

LOW);

else if(status == 3)

// matikan semua lampu

//Serial.println("MERAH");

digitalWrite(0, LOW);digitalWrite(2, LOW); digitalWrite(15,

LOW);

else if(status == 4)

// Lampu kuning Blinking

digitalWrite(0,LOW);

digitalWrite(15,LOW);

digitalWrite(2,HIGH);delay(500);digitalWrite(2,LOW);

//------------------------------------------------------------------//

/* * SUB RUTIN MENGUBAH DATA KE FORMAT JSON */

String konversi_ke_Json()

waktu_RTC[0] = jam_server;

//waktu_blink[0] = jam1; waktu_blink[1] = jam2;

DynamicJsonDocument doc(512); //membuat dokumen JSON

JsonObject obj = doc.to<JsonObject>(); //Membuat JSON Objek

// Membuat JSON array dan diletakan pada Json Objek

JsonArray d_lampu = doc.createNestedArray("d_lampu");

JsonArray status_lampu = doc.createNestedArray("status_lampu");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

JsonArray status_mulai = doc.createNestedArray("status_mulai");

JsonArray waktu = doc.createNestedArray("Waktu_RTC");

//JsonArray jam_blink = doc.createNestedArray("Waktu_Blinking");

// salin nilai dari variabek yang dibuat ke array JSON

copyArray(durasi_lampu, d_lampu);

copyArray(lampu_apill, status_lampu);

copyArray(cc, status_mulai);

copyArray(waktu_RTC, waktu);

//copyArray(waktu_blink, jam_blink);

char json[256];

serializeJson(doc, json); // Gabungkan Semua Json Array dalam

dokumen JSON

return json;

//-------------------------------------------------------------------//

/* * SUB RUTIN MENDETEKSI JUMLAH CLIENT YANG TERHUBUNG KE SERVER */

void client_status()

tmpString = ceklampu_html;

//tmpString.replace("%jam_server%", String(jam_server));

unsigned char number_client;

struct station_info *stat_info; // Struktur untuk mengetahui info

tentang client

//struct ip4_addr *IPaddress;

//IPAddress address;

int i=1;

number_client= wifi_softap_get_station_num(); // memberi nilai

number_client jumlah client yang terkoneksi

tmpString.replace("%anggota%", String(number_client) ); //mereplace

nama eleman anggota dengan bunber_client

bool tes[4]=0,0,0,0;

for (alamat_ip = 2; alamat_ip < 6; alamat_ip++)

String potong_ip;

IPAddress ipClient(192,168,11,alamat_ip);

potong_ip = "%modul"+String(alamat_ip-1)+"%";

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

// Kode untuk melakukan ping dan mereplace alamat IP yang terhubung

ke server ke nama elemen %modulx%

if (Ping.ping(ipClient,1))

tmpString.replace(potong_ip,(String(ipClient[0]))+"."+(String(ip

Client[1]))+ "."+(String(ipClient[2]))+"."+(String(ipClient[3]))

);

//Serial.println(ipClient);

tes[alamat_ip-2]=1;

else

if ( alamat_ip == a)

tmpString.replace(potong_ip, String("SERVER"));

tes[alamat_ip-2]=1;

else tmpString.replace(potong_ip, String("Disconnected"));

// kode untuk menampilkan warna lampu yang dinyalakan modul ke halaman

web monitoring

for ( int u = 0 ; u < 4; u++)

if(lampu_apill[u]==0 && tes[u]==1)

tmpString.replace(warna_lampu[u],String("MERAH"));

else if (lampu_apill[u] == 1 && tes[u]==1)

tmpString.replace(warna_lampu[u],String("KUNING"));

else if (lampu_apill[u] == 2&& tes[u]==1)

tmpString.replace(warna_lampu[u],String("HIJAU"));

else if (lampu_apill[u] == 4&& tes[u]==1)

tmpString.replace(warna_lampu[u],String("blink"));

else tmpString.replace(warna_lampu[u],String("*****"));

//--------------------------------------------------------------//

void balas()

for (int i = 0; i<11;i++)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

String dataaa = server.arg(PARAM_INPUT[i]);

//Serial.print("\t"+dataaa);

if (dataaa != "") // mengkonversi data ke integer dan meletakan

data pada elemen - elemen array ketetapan_lampu

if (i == 0)ketetapan_lampu[0][0]= dataaa.toInt();

else if (i == 1)ketetapan_lampu[1][0]= dataaa.toInt();

else if (i == 2)ketetapan_lampu[2][0]= dataaa.toInt();

else if (i == 3)ketetapan_lampu[3][0]= dataaa.toInt();

else if (i == 4)ketetapan_lampu[0][1]= dataaa.toInt();

else if (i == 5)ketetapan_lampu[1][1]= dataaa.toInt();

else if (i == 6)ketetapan_lampu[2][1]= dataaa.toInt();

else if (i == 7)ketetapan_lampu[3][1]= dataaa.toInt();

else if (i==8)

menit = dataaa.substring(3,5); // mengambil data menit dari

web

jam = dataaa.substring(0,2); // mengambil data jam dari web

rtc.adjust(DateTime(2014, 7, 21, jam.toInt(), menit.toInt(),

0));

else if (i==9) // data jam lampu kuning blinking

String bbb = dataaa.substring(0,2);

jam1 = bbb.toInt();

Serial.println();

Serial.print("jam Blink mulai: ");

Serial.println(jam1);

else if (i==10)

String bbb = dataaa.substring(0,2);

jam2 = bbb.toInt();

Serial.print("jam Blink selesai: ");

Serial.println(jam2);

//Menyimpan data dari server ke EEPROM

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

for (int a =0 ; a<4; a++)

for ( int b = 0; b< 2; b++)

durasi_lampu[a][b] = ketetapan_lampu[a][b];

EEPROM.put(4*b+16*a+1,ketetapan_lampu[a][b]);

EEPROM.commit();

server.send(200,"text/plain", "Data Berhasil Dikirim");

//-------------------------------------------------------------------//

/* * SUB RUTIN MENAMPILKAN HALAMAN WEB */

void handleHome()

server.send(200,"text/html", index_html);

/* * SUB RUTIN MEMANGGIL FUNGSI MENGUBAH FORMAT DATA KE JSON */

void handleData()

server.send(200,"text/plain", konversi_ke_Json() + '\r');

/* * SUB RUTIN MONITORING WARNA LAMPU */

void ceklampu ()

client_status();

server.send (200,"text/html", tmpString);

//===========================================================//

void setup()

Serial.begin(115200); // memulai komunikasi Serial

EEPROM.begin(128); //memulai EEPROM

if (! rtc.begin())

Serial.println("Couldn't find RTC");

while (1);

//konfigurasi I/O ESP8266

pinMode(12,INPUT);

pinMode(13,INPUT); // input switch

pinMode(14,INPUT);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

pinMode(16,INPUT); // input tombol

pinMode(0,OUTPUT); //merah

pinMode(2,OUTPUT); //kuning // output lampu

pinMode(15,OUTPUT);// hijau

//Baca Input Switch

sw1 = digitalRead(14);

sw2 = digitalRead(12);

sw3 = digitalRead(13);

//Pengaturan Alamat IP berdasarkan input Switches

// Serial.println("pin :");

if ((sw1 == LOW && sw2 == LOW) && (sw3 == LOW)) a = 2;

//IPAddress ipClient(192,168,11,2);

else if ((sw1 == HIGH && sw2 == LOW) && (sw3 == LOW)) a = 3;

//IPAddress ipClient(192,168,11,3);

else if ((sw1 == LOW && sw2 == HIGH) && (sw3 == LOW))a = 4;

// IPAddress ipClient(192,168,11,4);

else if ((sw1 == LOW && sw2 == LOW) && (sw3 == HIGH))a = 5;

//IPAddress ipClient(192,168,11,5);

IPAddress ipClient(192,168,11,a); // Alamat IP Client

// Pengaturan ESP Sebagai Station ( client )

WiFi.mode(WIFI_STA);

WiFi.disconnect();

// Kode Untuk Scanning Jaringan

int n = WiFi.scanNetworks();

for (int i = 0; i < n; i++)

Serial.println(WiFi.SSID(i)); //menampilkan SSID yang terdeteksi

if(WiFi.SSID(i) == ssid_ap) // bila modul mendeteksi SSID yang

sesui dengan variabel ssid_ap

Serial.println("wifi terdeteksi"); // makan modul akan otomatis

menjadi client

sbgClient = true;

if(sbgClient == true )

// mengkoneksikan client ke modul server

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

WiFi.begin(ssid_ap, password_ap);

WiFi.config(ipClient,gateway,subnet,gateway);

//mengecek status konensi antara client dan server

while (WiFi.status() != WL_CONNECTED)

yield();delay(250);Serial.print("*");

Serial.println();Serial.print("IP Client : ");

Serial.println(WiFi.localIP());

Serial.println("Client sedang aktif ");

else

//mengatur Modul Sebagi Access point dan server

WiFi.mode(WIFI_AP);

WiFi.softAPConfig(gateway,gateway,subnet);

WiFi.softAP(ssid_ap,password_ap);

//menjalankan server

server.on("/", handleHome); // tampilan di browser

server.on("/data", handleData); // Ambil data aja

server.on("/get", balas); // konversi data dari web

server.on("/monitor",ceklampu); //melihat warna lampu setiap modul

real time

server.on("/reset",reset_paksa); // mengembalikan nilai tombol saat

sebelum ditekan

server.on("/lanjut",lanjut); // mengeset nilai status Mulai = 88==>

jalankan counter

server.begin(); // memulai server

// simpan data durasi lampu merah menyala bersama ke EEPROM

for (int w = 0; w < 4 ; w++ )

durasi_lampu[w][2] = ketetapan_lampu[w][2];

EEPROM.put(8+16*w+1,ketetapan_lampu[w][2]);

EEPROM.commit();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

//==========================================================//

void loop()

// pengarutan jika modul sebagai server

DateTime now = rtc.now();

EEPROM.get(100,cc[0]);

jam_server =now.hour();

menit = now.minute();

Serial.print("Jam sekarang = ");Serial.print(jam_server);

Serial.print(" : "); Serial.println(menit);

if(sbgClient == false)

// Sub Rutin Untuk Server

tombol = digitalRead(16);

if(tombol==HIGH)mulai = 1;Serial.println("mulai");cc[0]=88;

EEPROM.put(100,cc[0]); EEPROM.commit();

if (cc[0]==88) //proses counting dimulai

// pengaturan Modul Blinking pada jam yang telah diatur

if ( jam_server >= jam1 && jam_server <= (jam2-1) )

for(int i =0 ; i<4;i++)lampu_apill[i] = 4;

int status = lampu_apill[a-2];

Serial.println(konversi_ke_Json());

for(int i=0; i <10; i++)

server.handleClient();

if (i<=5)

menyalakan_lampu(1);

elsemenyalakan_lampu(3);

yield();

delay(50);

else

// pengaturan penyalaan lampu/timer diisi di sini

durasi_lampu[cursor][warna] -= 1; //counter waktu

if(durasi_lampu[cursor][0] == 0)

warna = 1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

lampu_apill[cursor] = 1;

durasi_lampu[cursor][0] = ketetapan_lampu[cursor][0];

else if(durasi_lampu[cursor][1] == 0)

warna = 2;

lampu_apill[cursor] = 0;

durasi_lampu[cursor][1] = ketetapan_lampu[cursor][1];

else if(durasi_lampu[cursor][2] <= 0)

durasi_lampu[cursor][2] = ketetapan_lampu[cursor][2];

warna = 0;

lampu_apill[cursor] = 0 ;

cursor++;

if(cursor>=4)

cursor = 0;

lampu_apill[cursor] = 2 ;

for(int i=0; i<10; i++)

// memrespon requet dari server setiap detik

server.handleClient();

yield();

delay(100);

else

for(int i=0; i<10; i++)

// memrespon requet dari server setiap detik

server.handleClient();

delay(100);

for (int i = 0; i<4;i++)

for (int j = 0; j<3;j++)

int sementara ;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

EEPROM.get(4*j+16*i+1, sementara);

durasi_lampu[i][j]= sementara;

ketetapan_lampu[i][j]= sementara;

Serial.print("jam server sekarang : ");Serial.println(jam_server);

if ( jam_server >=jam1 && jam_server <= (jam2-1)

Serial.println("Blink Aktif :: Hati-hati");

else

int status = lampu_apill[a-2];

menyalakan_lampu(status);

Serial.println(konversi_ke_Json());

else // Jika Modul Sebagai Client

//Serial.println(" Client Aktif");

String data = request_data_ke_server(); // pangggil sub rutin request

data ke server

Serial.println(data);

DynamicJsonDocument doc(512);

deserializeJson(doc, data); // memilah data dokumen JSON

JsonArray d_lampu = doc["d_lampu"];

JsonArray status_lampu = doc["status_lampu"];

JsonArray status_mulai = doc["status_mulai"];

JsonArray waktu = doc["Waktu_RTC"];

//JsonArray jam_blink = doc["Waktu_Blinking"];

//Serial.println(a);

for (int i = 0; i<4;i++)

for (int j = 0; j<3;j++)

durasi_lampu[i][j] = d_lampu[i][j];

if (status_mulai[0] ==90) //Read EEPROM

for (int i = 0; i<4;i++)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

for (int j = 0; j<3;j++)

int sementara = d_lampu[i][j];

EEPROM.put(4*j+16*i+1,sementara);

EEPROM.commit();

//Serial.println("Data disimpan ke EEPROM");

rtc.adjust(DateTime(2020, 7, 21, waktu[0], 0, 0));

//Serial.print("Jam Sekarang : " );Serial.println(jam_server);

EEPROM.put(100,cc[0]);

EEPROM.commit();

int status = status_lampu[a-2];

menyalakan_lampu(status);

if (status <=3 )

delay(900);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

L-3

Lampiran 2

Tabel Hasil Pengujian Input Switch Setiap Modul

Modul Input Alamat IP ( pada Serial

Monitor ) SW3 SW2 SW1

Modul 1

0 0 0

0 0 1

0 1 0

1 0 0

Modul 2

0 0 0

0 0 1

0 1 0

1 0 0

Modul 3

0 0 0

0 0 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

Tabel Hasil Pengujian Input Switch Setiap Modul

Modul Input Alamat IP ( pada Serial

Monitor ) SW3 SW2 SW1

Modul 3

0 1 0

1 0 0

Modul 4

0 0 0

0 0 1

0 1 0

1 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

L-4

Lampiran 3

Tutorial Menggunakan NodeMCU ESP8266

NodeMCU merupakan sebuah board modul embedded system yang mempunyai

feature WiFi, menggunakan chip ESP8266 dengan firmware berbasis Lua. Pada NodeMcu

dilengkapi dengan port Micro USB yang berfungsi untuk pemorgaman sekaligus power

supply.

Karena banyak pihak baik individu, pelajar, engineer, developer lebih familiar dengan

bahasa C dan Arduino, maka komunitas pengguna maupun pengembang ESP8266

melakukan porting board supaya dapat berjalan dan dapat diprogram dengan menggunakan

Arduino IDE.

Untuk itu, pada artikel ini akan dibahas bagaimana cara pemrograman NodeMCU

dengan Arduino IDE.

NodeMCU V3

Spesifikasi Modul NodeMCU ESP8266

Mikrokontroller / Chip : ESP8266-12E

Tegangan Input : 3.3 ~ 5V

GPIO : 13 Pin

Kanal PWM : 10 Kanal

10 bit ADC Pin : 1 Pin

Flash Memory : 4 MB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

Clock Speed : 40/26/24 MHz

WiFi : IEEE 802.11 b/g/n

Frekuensi : 2.4 GHz – 22.5 Ghz

USB Port : Micro USB

USB Chip : CH340G

Pin Out NodeMCU

Untuk menggunakan baord NodeMCU dengan baik, kita harus mengetahui header pin

out agar tidak salah atau keliru menggunakan I/O dalam pemrograman. Berikut ini

adalah header pin out dari modul NodeMCU:

Header Pin Out GPIO NodeMCU

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

Hardware Yang Diperlukan

Adapun kebutuhan hardware yang diperlukan pada tutorial ini adalah :

Board Modul NodeMCU V3 (Lolin)

Kabel Data USB to MicroUSB / Kabel Data standart HP

Instalasi Board Modul NodeMCU ESP8266

Supaya board modul NodeMCU dapat digunakan dan diprogram dengan Arduino IDE maka

harus dinstall terlebih dahulu boardnya. Adapun langkah-langkahnya adalah sebagai berikut

:

Buka / Jalankan Arduino IDE

Buka menu File -> Preferences

Arduino IDE Preferences

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

Masukkan /

Ketik http://arduino.esp8266.com/stable/package_esp8266com_index.json pada

field Additional Board Manager URLs, lalu klik OK

Kemudian buka menu Tools -> Board -> Boards Manager

Board Manager Menu

Masukkan / Ketik : ESP8266 pada field Search Board Manager maka pilihan board

ESP8266 akan muncul pada list.

Pilih versi board ESP8266 yang terbaru kemudian klik Install.

Install Board NodeMCU

Setelah proses download dan install board nya selesai maka sudah siap untuk program

NodeMCU dengan Arduino IDE dengan ditandai tulisan : Installed pada list board

ESP8266.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

Testing Program Blink LED

Untuk memastikan semuanya berjalan dengan baik, selanjutnya kita lakukan tes program

sederhana yaitu Blink LED.

Pilih Board NodeMCU dengan klik menu Tools -> Board -> NodeMCU 1.0 (ESP-

12E Module)

Kemudian buka menu File -> Examples -> ESP8266 -> Blink atau copy sketch

program berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: SMART MODULAR TRAFFIC LIGHT BERBASIS ESP8266

/*

ESP8266 Blink by Simon Peter

Blink the blue LED on the ESP-01 module

This example code is in the public domain

The blue LED on the ESP-01 module is connected to GPIO1

(which is also the TXD pin; so we cannot use Serial.print() at the same time)

Note that this sketch uses LED_BUILTIN to find the pin with the internal LED

*/

#define LED_PIN 2

void setup()

pinMode(LED_PIN,OUTPUT); // Initialize the LED_BUILTIN pin as an output

// the loop function runs over and over again forever

void loop()

digitalWrite(LED_PIN,LOW); // Turn the LED on (Note that LOW is the voltage level

// but actually the LED is on; this is because

// it is active low on the ESP-01)

delay(1000); // Wait for a second

digitalWrite(LED_PIN,HIGH); // Turn the LED off by making the voltage HIGH

delay(1000); // Wait for a seconds (to demonstrate the active low LED)

Upload Sketch program diatas ke board NodeMCU

Segera setelah proses compile dan upload selesai, LED internal pada board NodeMCU

akan berkedip nyala dan mati dengan jeda waktu 1 detik.

Sumber: https://www.nn-digital.com/blog/2019/07/27/memulai-pemrograman-nodemcu-

esp8266-menggunakan-arduino-ide/

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI