## SISTEM PENGENDALI LAMPU LALULINTAS BERBASIS LOGIKA FUZZY

## Emmanuel Agung Nugroho
Prodi Teknik Mekatronika Politeknik Enjinering Indorama Email: lekagung@yahoo.com

## ABSTRAK
Fuzzy Logic Control sebagai salah satu aplikasi kecerdasan buatan telah mampu memberikan kontribusi untuk menyelesaikan masalah traffic system di jalan raya.  Salah satu implementasi sistem fuzzy logic control adalah untuk mengendalikan lampu indikator lalulintas. System lampu lalulintas yang dikendalikan dengan menggunakan fuzzy logic control sangat efektif untuk menguraikan permasalahan kemacetan yang terlalu lama karena menunggu waktu lampu hijau menyala. Untuk merealisasikan fuzzy logic control pada sistem pengendalian lampu lalu lintas maka memerlukan tools yaitu sensor photoelectric pada setiap ruas persimpangan dan mikrokontroller Arduino Mega 2560 untuk mengimplementasikan sistem fuzzy kedalam bahasa program yang bisa diterima oleh hardware yaitu lampu lalulintas. Pada penelitian ini menggunakan simulasi 4 buah persilangan jalan sebagai model dengan jumlah kendaraan yang dimodelkan terbanyak adalah 25 kendaraan dengan waktu paling lama 60 detik. Pada hasil pengujian telah dapat membuktikan perubahan jumlah kendaraan pada setiap persimpangan menentukan lama waktu lampu hijau menyala pada persimpangan terpadat kendaraan tersebut.
Kata kunci: fuzzy logic control, sensor photoelectric, arduino mega 2560.

## ABSTRACT
Fuzzy Logic Control as one of the applications of artificial intelligence has been able to contribute to solve the problem of traffic on the highway system. One implementation of fuzzy logic control system is to control the traffic indicator light. System traffic lights are controlled by using fuzzy logic control is very effective to describe the problems of congestion which is too long wait time for the green light. To realize the fuzzy logic control on to traffic light control system requires tools that photoelectric sensors on each road junction and Arduino Mega 2560 microcontroller to implement a fuzzy system into the language program that can be received by the traffic lights hardware. In this study using 4 pieces cross of the road simulation as a model with the largest number of vehicles being modeled are 25 vehicles with maximum time are 60 seconds. In the test results have been able to prove changes the number ofvehiclesat each intersection are determines the length of time for the green light at the densestintersection of the vehicle.
Keywords : fuzzy logic control, photoelectric sensore, arduino mega 2560.

## 1. PENDAHULUAN
Sistem pengaturan lampu lalu lintas (traffict light) yang secara umum digunakan di Indonesia selama ini adalah dengan pengaturan berbasis waktu tetap. Dengan menggunakan pengaturan berbasis waktu tetap seperti sekarang ini maka banyak atau sedikit-nya jumlah kendaraan yang berada pada jalur- jalur persimpangan tidak mempengaruhi kinerja lampu lalulintas. Kondisi ini sering menjadi tidak efektif terutama ketika dari semua jalur persimpangan sepi sehingga seorang pengendara masih harus menunggu lampu hijau hingga waktu yang cukup lama. Demikian juga ketika pada kondisi dan waktu tertentu kendaraan dari salah satu jalur sangat padat sedangkan pada jalur lain sepi maka akan terjadi antrian kendaraan yang sangat panjang dengan pemanfaatan waktu lampu lalu lintas yang tetap sesuai waktu setting awal, hal-hal demikian tentu menyebabkan trafict light tidak efektif dalam membantu kelancaran lalulintas. Dengan berkembangnya teknologi kecerdasan buatan (artificial intelegent) maka sistem lampu lalulintas dapat diatur berdasarkan tingkat kepadatan kendaraan pada jalur persimpangan dengan tetap tidak mengabaikan kebutuhan bagi jalu-jalur yang lain. Kecerdasan buatan adalah suatu pengembangan ilmu pengetahuan dengan sedapat mungkin mendekati kemampuan kecerdasan yang dimiliki oleh manusia.
Pengendalian lampu lalulintas dengan menggunakan kecerdasan buatan bisa diimplementasikan dengan sistem pengendalian fuzzy logic control yang memanfaatkan informasi data dari sensor untuk membaca kepadatan jumlah kendaraan dan program fuzzy diimplementasikan dengan arduino Mega .

## 1.1 Sensor
Jenis sensor yang digunakan adalah jenis photoelectric sensor yang menggunakan metode directreflection . Sensor ini juga biasa digunakan dalam aplikasi pencucian mobil otomatis, sehingga tepat jika digunakan dalam aplikasi ini (Gambar 1).
Gambar 1. Sensor Photoelectric Direct Reflection

## 1.2 Fuzzy Logic Control
Fuzzy logic control adalah suatu sistem pengendalian yang memanfaatkan logika fuzzy. Logika fuzzy sendiri dipahami sebagai suatu proses pengambilan keputusan berbasis aturan yang bertujuan untuk memecahka nmasalah, dimana system tersebut sulit untuk dimodelkan atau terdapat ambiguitas dan ketidakjelasan. Itu sebabnya Logika Fuzzy juga disebut sebagai logika kabur atau samar karena logika fuzzy menangkap informasi-informasi yang tidak pasti menjadi nilai-nilai logika yang harus diperhitungkan. Logika Fuzzy ditentukan oleh persamaan logika bukan dari persamaan diferensial komplek dan berasal dari pemikiran yang mengidentifikasisertamengambil keuntungandari grayness antaraduaekstrem.Sistemlogika fuzzy terdiridarihimpunan fuzzy danaturan fuzzy [1].
Dengan demikian suatu sistem yang dikendalikan dengan logika fuzzy harus dikategorikan ke dalam keanggotaan fuzzy terlebih dahulu. Agar bisa dikategorikan kedalam keanggotaan fuzzy maka suatu sistem yang dikendalikan harus memenuhi kriteria komponen dasar logika fuzzy yaitu :
a. Variable linguistik
Pada tahap ini suatu objek yang akan dikendalikan harus dapat dikategorikan kedalam variable apa yang akan dikendalikan. Sebagai contohnya dalam penelitian ini yang akan dikendalikan adalah variable jumlah kendaraan.
b. Nilai Lingustik
Nilai linguistik atau dalam istilah Fuzzy Logic Control disebut dengan terma adalah nilai dari variable linguistik sebagai contoh dalam penelitian ini jumlah kendaraan harus diberi nilai sedikit, sedang, banyak dan sangat banyak.
c. Derajat keanggotaan
Disebut juga sebagai nilai kuantitatif adalah nilai eksak yang digunakan sebagai pembatasan kategori atau keanggotaan nilai linguistik. Sebagai contoh dalam penelitian ini kategori sedikit jika jumlah kendaraan dibawah 10 buah, sedang jika jumlah kendaraan antara 7 hingga 15 buah, banyak jika jumlah kendaraan antara 12 hingga 20 dan sangat banyak jika jumlah kendaraan diatas 20 buah. Dari contoh-contoh jumlah kendaraan ini maka akan dapat ditentukan derajat keanggotaan setiap nilai eksak dari jumlah kendaraan yang ada dengan menggunakan persamaan grafik fungsi keanggotaan. Dalam penelitian ini fungsi keanggotaan dinyatakan dengan representasi grafik linear naik, linear turun dan representasi grafik segitiga.
d. Operator Fuzzy
Operator fuzzy berfungsi untuk menyatakan derajat keanggotaan menjadi nilai crisp atau tegas melalui hubungan yang dibangun oleh teoari himpunan union (OR), irisan /intersection (AND), komplemen, perkalian kartesian / Cartesian product dan selisih.
e. Rule dan Implikasi
Adalah suatu tahap dalam logika fuzzy untuk menyatakan hubungan sebab akibat dari satu, dua atau beberapa input yang disebut antesenden agar menghasilkan menghasilkan satu, dua atau beberapa output yang disebut konsekuen. Biasanya disebut juga dengan IF-THEN rule [2][3].

## 1.3 Arduino Mega 2560
Arduino adalah pengendali mikro single-board yang bersifat open-source , diturunkan dari wiring platform , dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Perangkat
kerasnya memiliki prosesor Atmel AVR dan perangkat lunaknya memiliki bahasa pemrograman sendiri.Arduino mega 2560 adalah papan mikro kontrolerAtmega 2560 berdasarkan (datasheet) memiliki 54 digital pin input atau output (dimana 15 pin dapatdigunakansebagai output PWM atau Pulse Width Modulation), 16 analog input, 4 UART (Universal Asynchronous Receiver/Transmitter), osilatorkristal 16 MHz,koneksi USB, jack listrik, In-Circuit Serial Programing (ICSP) header , dantombol resetseperti ditunjukkan pada (Gambar 2). Untuk mendukung antar muka ke komputermenggunakan kabel USB dandisuply dengan catudaya DC (Direct Current) ataubaterai [4].
Gambar 2. Board Arduino Mega 2560 [4]
Arduino mega 2560 memiliki fitur-fitur baru sebagai berikut:
a. 1,0 pinout tambah SDA (Serial Data) dan SCL (Serial Clock ) pin yang dekat dengan pin AREF (ADC Reference ) dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, yang memungkinkan shield untuk beradaptasi dengan tegangan yang disediakan dari board arduino.
b. Sirkuit reset lebihkuat.
c. Atmega 16U2 menggantikan 8U2

## 2. METODE PENELITIAN
Implementasi sistem pengendali lampu lalulintas dengan metode fuzzy logic control ini dirancang untuk empat persimpangan. Untuk itu pada setiap ruas persimpangan ditempatkan setidaknya dua sensor photoelectric dengan jarak tertentu untuk membaca kendaraan yang masuk dan melewati area yang diperhitungkan sebagai area antrian lampu lalulintas. Data dari sensor ini dihitung untuk menentukan nilai linguistik pada fuzzy logic control.
Gambar 3 menunjukkan simulasi suatu persimpangan yang menggunakan empat unit lampu lalulintas yang akan dikendalikan fuzzy logic control dengan berbasis kepadatan arus kendaraan.
S A S B S A S B S B S A S B S A L1 L2 L3 L4 U T
Gambar 3. Simulasi Penempatan Sensor Dan Lampu Lalulintas Pada Empat Persimpangan
Dari simulasi sistem traffic light pada Gambar 3 dapat dijelaskan traffic rule pada persimpangan tersebut adalah sebagai berikut :
1) Lampu yang dikendalikan dengan menngunakan proses fuzzifikasi adalah lampu hijau dari setiap traffic light , sehingga lampu merah pada tiap-tiap indikator traffic akan menyesuaikan lampu hijau yang aktif pada indikator traffic yang lain.
2) Lama lampu hijau menyala dari suatu indikator traffic akan dibatasi dengan nilai waktu maksimal tertentu dan minimal tertentu, sehingga meskipun tingkat kepadatannya sangat tinggi sekali tetap akan mendapat giliran berhenti karena lampu merah dan memberi kesempatan pada jalur lain untuk melintas.
SA adalah sensor yang menghitung jumlah kedaraan yang masuk sedangkan SB adalah sensor yang menghitung jumlah kendaraan yang keluar. Pemilihan Arduino Mega 2560 didasarkan pada pertimbangan jumlah IO yang digunakan untuk proses ini input yang digunakan sebanyak 8 pin dan output yang digunakan sebanyak 12 pin.
Blok diagram yang menyatakan rangkaian kerja hardware dari sistem ini ditunjukkan pada Gambar 4.

## Gambar 4. Blok Diagram Rangkaian Pengendalian Lampu Lalu Lintas
Dengan blok diagram rangakian hardware seperti pada Gambar 4 maka pemrograman fuzzy logic dapat dilakukan pada diagram proses. Implementasi fuzzy logic control pada proses ini ditunjukkan pada Gambar 5 berikut.
Pre Processing fuzzifikasi Rule Base Inference Engine Defuzzifikasi Post Processing Fuzzy controller Diagram
Gambar 5. Blok Diagram Proses Fuzzy Logic Control [5]
1) Fuzzifikasi
Proses ini berfungsi untuk merubah suatu besaran analog menjadi fuzzy input dengan proses sebagai berikut: suatu besaran analog berupa jumlah kendaraan yang dibaca oleh photoelectric dimasukkan sebagai input ( crisp input ), lalu data input tersebut dimasukkan pada batas scope / domain sehingga input jumlah kendaraan tersebut dapat dinyatakan dengan label (Sedikit, sedang, banyak dan sangat banyak) dari membership function input. Dalam penelitian ini terdapat empat membership function input. Dari membership function kita bias mengetahui berapa degree of membership function-nya [5].
2) Rule Base
Fuzzy rule base berisi pernyataan – pernyataan logika fuzzy (fuzzy statement), yang berbentuk pernyataan IF-THEN. Proses ini menghitung derajat kebenaran dari sekumpulan predikat fuzzy dengan konektor berupa AND, OR, atau NOT [2][3]. Bentuk umum pernyataan fuzzy pada penelitian ini menyesuaikan jumlah kendaraan yang melintas pada sensor masuk dan jumlah kendaraan yang melintas pada sensor keluar dari suatu arah persimpangan.
3) Fuzzy inference engine Fuzzy inference engine menerjemahkan pernyataan-pernyataan fuzzy dalalm rule base menjadi perhitungan matematika ( fuzzy combinational ). Terdapat beberapa metode inference engine, yaitu:
a. Implikasi.
Yaitu proses untuk mendapatkan hasil atau nilai (linguistic maupun kuantitatif) predikat konsekuen dari antesenden yang diberikan. Metode yang digunakan pada makalah ini adalah metode Mamdani.
b. Agregasi.
Sering terjadi kasus dimana terdiri lebih dari satu rule. Artinya hasil dari Implikasi bernilai lebih dari satu. Oleh karena itu perlu mengkombinasikan semua nilai hasil tersebut menjadi satu fuzzy set yang tunggal. Metode agregasi yang digunakan disini adalah metode max atau OR.
4) Defuzziffikasi
Defuzziffikasi mengembalikan hasil perhitungan fuzzy (himpunan fuzzy) menjadi variable sesuai rentangnya di dunia nyata.Sama dengan fuzzifier, defuzzifier juga menggunakan membership function untuk memetakan nilai himpunan fuzzy menjadi variable nyata. Proses ini untuk memberikan informasi tegas /crisp dari suatu proses fuzzifikasi sehingga dapat dieksekusi oleh program [5]. Metode yang digunakan disini adalah metode centroid atau titik pusat dari luas.

## 3. PEMBAHASAN DAN HASIL PENELITIAN
Untuk merealisasi sistem ini dengan menggunakan fuzzy logic control maka harus dibuat pemetaan linguistic variable berupa variable input dan variable output. Variable Input berupa jumlah mobil yang dibaca oleh kombinasi sensor SA dan SB pada suatu ruas persimpaangan. Karena sistem ini diaplikasikan pada empat persimpangan amaka ada empat variable input . Variable output berupa lama waktu lampu hijau pada setiap persimpangan. Dalam Fuzzy inference system dibuat sebuat variable output yang dalam implementasinya diterjemahkan kedalam empat buah lampu yang mengendalikan lama waktu masing- masing persimpangan. Membership funtion dari sistem ini ditunjukkan pada Tabel 1 berikut.
Tabel 1. Membership funtion pada fuzzy inference system
S1 S2 S3 S4 OUTPUT SEDIKIT SEDIKIT SEDIKIT SEDIKIT CEPAT
SEDANG SEDANG SEDANG SEDANG SEDANG BANYAK BANYAK BANYAK BANYAK  LAMA SANGAT BANYAK SANGAT BANYAK SANGAT BANYAK SANGAT BANYAK SANGAT LAMA
Dengan empat variable input dan sebuah variable output seperti pada Tabel 1 maka dapat dibuat IF- THEN rule berdasar kombinasi empat variable input tersebut. Kombinasi keempat variable input mempengaruhi lama waktu lampu hijau menyala pada setiap persimpangan. Tahap berikutnya adalah menetapkan kategori jumlah sedikit, sedang, banyak dan sangat banyak dari variable input tersebut untuk membuat derajat keanggotaan dari jumlah kendaraan secara riil. Derajat keanggotaan jumlah kendaraan dinyatakan pada Tabel 2 berikut.
Tabel 2. Variabel lingustik dan nilai lingustik
Variable Lingustik Nilai Liguistik Nilai Puncak SEDIKIT < 10 5 SEDANG 5 - 15 10 BANYAK 10 - 20 15 SANGAT BANYAK > 15 20
Dengan menggunakan metode pengendalian fuzzy logic maka setidaknya ada 4 langkah yang harus dilakukan pada proses Fuzzy Inference System . Yaitu FIS Editor untuk menyatakan variable input dan output , membership Function Editor untuk menyatakan derajat keanggotaan variable linguistik, Rule editor untuk menyatakan aturan antesenden dan konsekuen dan rule viewer untuk menyatakan defuzzyfikasi.
Untuk merealisasi membershipfuntion kedalam sistem fuzzy inferencesystem maka dibuat FIS editor dengan menggunakan program fuzzy MatLAB seperti pada Gambar 6.
Gambar 6 . Fuzzy Inference System trafficlight
Gambar 6 menjelaskan empat variable input pada sistem Fuzzy pada program trafficlight dengan menggunakan metode Mamdani untuk menghasilkan sebuah variable output berupa lampu indikator. Untuk menyatakan fungsi keanggotaan dari nilai lingustik sebagaimana dinyatakan pada Tabel 2 maka dibuat dalam pendekatan dengan menggunakan grafik linier naik dan linier turun yang dinyatakan dengan persamaan 1:
(1)
Persamaan 1 digunakan untuk menghitung derajat keanggotaan nilai lingustik pada grafik linier naik, dimana a merupakan nilai awal dari nilai linguistik tersebut, x merupakan nilai linguistik yang dimaksud dan b merupakan nilai puncak dari nilai linguistik pada grafik yang menunjukkan arah naik. Pada grafik linier turun dinyatakan dengan persamaan 2 :
(2)
Dimana a merupakan nilai puncak dari suatu nilai linguistik pada grafik yang menunjukkan arah turun, b adalah nilai linguistik tertingi pada grafik linier turun [6].
Dengan implementasi fuzzy logic control maka persamaan linier naik dan linier turun disederhanakan kedalam membership function editor. Fuzzy membership function editor mengolah nilai linguistik didalam variable linguistik sesuai dengan batasan angka (params) seperti ditunjukkan pada Tabel 2.
Pada FIS variable output nilai linguistik yang dimasukkan adalah 60 dalam satuan detik. Hal ini menyatakan bahwa waktu “sangat lama” yang dinyatakan dalam variable liguistik adalah 60 detik. Pada FIS variable output derajat keanggotaan yang digunakan adalah dengan metode linier naik dan linier turun sebagaimana pada FIS variable input . Untuk menyatakan fuzzy membership fuction yang menyatakan FIS variable input dan FIS variable output dinyatakan pada Gambar 7.
Gambar 7. Membership Function Editor Input Dan Output
Tahap ketiga pada proses fuzzyfikasi adalah membuat rule editor untuk menyatakan hubungan sebab akibat atau hubungan antara input (antesenden) dan dan output (konsekuen) . Dalam implementasi ini terdapat 16 variable linguistik input dari 4 buah current variable linguistik input. Jika melihat 16 variable linguistik input ini maka secara maksimal dapat dibuat 120 rule yang memungkinkan mempengaruhi nilai linguistik outputnya, namun dalam aplikasi ini untuk menyederhanakan sistem dibuat dalam 12 rule saja. Connection system untuk menyatakan hubungan antar input menggunakan pernyataan implikasi (and) . Rule Editor pada sistem trafficlight dengan menggunakan FIS ditunjukkan seperti pada Gambar 8 berikut.

## Gambar 8. Rule Editor Pada Sistem Trafficlight Dengan Fuzzy Logic Control
Gambar 8 menyatakan hubungan empat variable input sebagai antesenden dengan implikasi hubungan “ and ” dan sebuah output sebagai konsekuen-nya.  Dari kombinasi input dan output ini maka akan menghasilkan defuzzyfikasi yang bisa ditentukan nilai tegas ( crisp) nya. Untuk melihat defuzzyfikasi maka dilakukan dengan menampilkan Rule Viewer seperti ditunjukkan pada Gambar 9 berikut.

## Gambar 9. Rule Viewer Untuk Menyatakan Defuzzyfikasi System
Pada proses defuzzyfikasi dengan menggunakan ruleviewer seperti pada Gambar 9 maka dapat diatur nilai tegas dari masing-masing varibleinput dengan menuliskan nilai lingustik input pada GUI input, atau dengan menggeser garis merah pada setiap variable input. Maka pada lampu indikator akan menyatakan nilai tegas berupa waktu dalam detik. Data-data pengujian dengan 10 sample ditunjukkan pada Tabel 3 berikut:
Tabel 3. Data pengujian jumlah kendaraan dan lama waktu lampu indikator
NO SIMPANG 1 (Unit) SIMPANG 2 (Unit) SIMPANG 3 (Unit) SIMPANG 4 (Unit) LAMA LAMPU (Detik) 1 4 4 4 4 7,55 2 6 4 4 4 14,5 3 8 4 4 4 18,2 4 10 10 6 4 20 5 12 10 8 6 28,4 6 12 4 4 4 28,9 7 14 10 8 10 35,2 8 16 8 4 4 40,6 9 18 10 8 10 43,7 10 20 8 6 4 48,4

## 4. KESIMPULAN
1) Dengan menggunakan Fuzzy logic control pengaturan lampu lalu lintas menjadi lebih efektif dari pada pengaturan berbasis waktu.  Karena pengaturan lampu lalulintas berbasis Fuzzy Logic Control mempertimbangkan faktor tingkat kepadatan lalulintas dan mampu memberikan prioritas kepada jalur-jalur yang lebih padat kendaraan.
2) Pengaturan lampu lalulintas dengan menggunakan pengendalian fuzzy Logic ini tetap mempertimbangkan kepentingan pemakai jalur lalulintas lain dengan memberikan waktu minimal dan waktu maksimal sebagai pembatasan sistem kerja fuzzy Logic Control.
3) Implementasi fuzzy Logic Control kedalam Arduino dapat dilakukan dengan dua metode yaitu dengan pengalamatan rule editor kedalam program arduino atau dapat dilakukan dengan metode look up table dengan menggunakan data rule viewer secara lebih lengkap kedalam program arduino.

## DAFTAR PUSTAKA
[1] Fahmi Zal, Fuzzy Logic and Fuzzy Control Systems, online posting 25 Februari 2016 https://fahmizaleeits.wordpress.com/2011/02/25/paper-fuzzy-logic-and-fuzzy-logic-sun-tracking- control/ .
[2] Simanjunatak, Novan Parmonangan, Aplikasi Fuzzy Logic Controller pada Pengontrolan Lampu Lalu Lintas,  Makalah IF4058, Topik Khusus Informatika I - Sem II, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, 2012.
[3] Optimalisasi Lampu Lalu Lintas dengan Fuzzy Logic, Adhitya Yoga Yudanto, Marvin Apriyadi, Kevin Sanjaya, ULTIMATICS, Vol. V, No. 2, ISSN 2085-4552,Jurnal Elektronik Universitas Multimedia Nusantara, Tangerang, Desember 2013
[4] Feri Juandi, Pengenalan Arduino, www.tokobuku.com, Juli 2011.
[5] Tim IE &IgitPurwahyudi (UniversitasWidya Mandala), DT-51 Application Note AN16 - How 2 Use DT-51 PetraFuz.
[6] Agus Naba, Belajar cepat Fuzzy Logic Menggunakan Matlab, Deli Publishing, Andi Yogyakarta, 2009.