PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5....

86
PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS MENGGUNAKAN LOGIKA FUZZY ( Studi Kasus : Perempatan Ringroad UPN Yogyakarta ) TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Oleh: Verania Puspitaning Tyas Cipta Putri NIM : 045314043 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009

Transcript of PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5....

Page 1: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS

MENGGUNAKAN LOGIKA FUZZY

( Studi Kasus : Perempatan Ringroad UPN Yogyakarta )

TUGAS AKHIR

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Oleh:

Verania Puspitaning Tyas Cipta Putri

NIM : 045314043

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2009

Page 2: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

THE ASSISTANCE PROGRAM OF TRAFFIC LIGHTS

SYSTEM USING FUZZY LOGIC

( Case Study : Ringroad Intersection of UPN Yogyakarta )

FINAL PROJECT

Presented as Partial Fulfillment of The Requirements

To Obtain Bachelor Degree

in Informatics Engineering

By:

Verania Puspitaning Tyas Cipta Putri

NIM : 045314043

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2009

ii

Page 3: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

iii

Page 4: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

iv

Page 5: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

v

Page 6: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

PERNYATAAN KEASLIAN NASKAH Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini

tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan

dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, ………………………

Penulis

Verania Puspitaning Tyas Cipta Putri

vi

Page 7: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

Karya kecil ini kupersembahkan untuk :

Tuhan Yesus Kristus yang Maha Pengasih

Bunda Maria atas keajaiban yang diberikan

Bapak , Ibu dan Mbah ‘Ti atas segala doa dan pengorbanannya

Mbak Tia dan ade’ku Sita Tersayang

Lolik Terkasih

vii

Page 8: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

Bila engkau tidak bisa menjadi pohon cemara di bukit,

jadilah belukar yang indah di tepi parit

Bila engkau tidak bisa menjadi belukar,

jadilah rumput yang membuat jalan-jalan semarak.

Bila engkau tidak bisa menjadi gurami,

jadilah teri yang terindah di tambak.

Bila engkau tidak bisa menjadi komandan,

jadilah prajurit yang tangguh.

Bukan kebesaran yang menentukan menang atau kalah,

yang penting jadilah wajar, apa adamu dan menjadi dewasa.

( Douglas Malloch)

viii

Page 9: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

ABSTRAKSI

Pengaturan lampu lalu lintas pada perempatan ringroad UPN Yogyakarta

pada saat ini masih menggunakan sistem pewaktuan yang tetap dan tidak

memperhitungkan kepadatan pada tiap jalurnya. Salah satu faktor yang

mempengaruhi pengaturan lampu lalu lintas adalah besarnya volume kendaraan

atau kepadatan pada perempatan tersebut. Kepadatan lalu lintas yang bersifat tidak

tegas (kabur) mengakibatkan asumsi yang berbeda-beda. Menanggapi hal

tersebut, maka dibuat program bantu pengaturan lampu lalu lintas dengan

menggunakan logika fuzzy.

Pada program bantu ini, user diminta untuk menginputkan jumlah kendaraan

untuk masing-masing jalurnya. Selain memperhatikan kepadatan lalu lintas pada

jalur yang diatur, program ini juga memperhatikan kepadatan lalu lintas pada jalur

yang menunggu. Nilai batas-batas himpunan diambil dari hasil pengamatan di

perempatan ringroad UPN Yogyakarta. Pengambilan data dilakukan pada tanggal

31 Maret 2008 sampai 6 April 2008 dengan waktu yang berbeda-beda. Program

bantu ini dibangun dengan menggunakan bahasa pemrograman Java dan database

MySQL untuk menyimpan batas-batas himpunannya.

Hasil yang diberikan dari program berupa waktu lampu hijau menyala untuk

setiap jalurnya sehingga diharapkan kepadatan pada perempatan ringroad UPN

Yogyakarta dapat berkurang atau bahkan dapat melintas seluruhnya. Keluaran

program juga dipengaruhi oleh batas-batas himpunan.

ix

Page 10: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

ABSTRACT

In the recent time, traffic lights system at ringroad intersection of UPN

Yogyakarta using constant timing system and counting system is not measured by

the density for each traffic lanes. One of influenced factors of traffic lights system

is the volume of unit of vehicles or the density of the intersection. The

characteristic of traffic density is not distinctive (vague) arising the different

assumptions. Responding on this problem, invented the assistance program of

traffic lights system using fuzzy logic.

By the assistance program, user ask for inputting the volume unit vehicles

for each traffic lanes. Additionally, concerning on the traffic density for well

organized traffic lane, the program also concerns on the traffic density for waiting

traffic lane. The gathering of limitation values taken from observation result at

ringroad intersection of UPN Yogyakarta. Data gathering was held during March

31 2008 until April 6 2008 with different time frame. The assistance program is

built with java programming language and MySQL database for storing the

limitation of gathering.

The result of the program showed when the green light for each traffic lanes,

so it could be expected that the traffic density at ringroad intersection of UPN

Yogyakarta could be decreased, moreover could be fully crossed. The output of

the program is also influenced by the limitation of gathering.

x

Page 11: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang maha Esa yang telah

melimpahkan berkat dan rahmat-Nya sehingga dapat terselesaikannya penulisan

tugas akhir dengan judul PROGRAM BANTU PENGATURAN LAMPU LALU

LINTAS MENGGUNAKAN LOGIKA FUZZY.

Selesainya tugas akhir ini juga tidak luput dari peran serta berbagai pihak yang

dengan caranya tersendiri memberikan dukungan dan bantuan. Oleh karena itu

penulis ingin mengucapkan terima kasih kepada :

1. Bapak Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc selaku Dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma.

2. Bapak Drs. Jong Jek Siang, M.Sc. yang telah meluangkan waktu, tenaga dan

pikiran untuk membimbing penulis dari awal sampai terselesaikannya

penulisan tugas akhir ini.

3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan teknik

Informatika sekaligus dosen penguji yang telah memberikan banyak kritik dan

saran yang membangun demi sempurnanya tugas akhir ini.

4. Bapak St. Eko Hari Parmadi, S.Si, M.Kom. selaku dosen penguji yang telah

memberikan banyak kritik dan saran yang membangun demi sempurnanya

tugas akhir ini.

5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik

Informatika Universitas Sanata Dharma Yogyakarta.

6. Bapak dan ibu yang telah mencurahkan kasih sayang serta doa-doa yang tak

pernah berhenti mengiringi setiap langkah-langkah kami. Dan untuk

pengorbanan bapak dan ibu yang tidak akan pernah tergantikan dengan

apapun.

7. Mbah Ti Dwijo Susanto yang turut membesarkan dan merawatku.

8. Mbak Tia dan ade’ku Sita yang selalu bersedia mendengar keluh kesahku dan

selalu memberi semangat. Mas seno untuk terjemahannya.

xi

Page 12: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

9. Seluruh keluarga besar, yang telah memberikan semangat, nasehat, doa, dan

dorongan dalam menjalani hidup ini.

10. “Lolik” terimakasih untuk kasih sayang, perhatian, doa, semangat dan

dukungannya selama ini.

11. Ina, Vera Sala, Lusi dan Teman-teman TI’04, terimakasih atas bantuan,

dukungan dan kebersamaan kalian selama ini.

12. Temanku suci, terimakasih sudah menjadi sahabatku.

13. Semua pihak yang telah membantu penulis dalam penyelesaian Tugas Akhir,

terima kasih.

Dengan rendah hati penulis menyadari bahwa karya ilmiah ini masih sangat

jauh dari sempurna. Oleh karena itu kritik dan saran sangat penulis harapkan

untuk perbaikan tugas akhir ini. Akhir kata, semoga tugas akhir ini bermanfaat

bagi semua pihak. Terima kasih.

Penulis

xii

Page 13: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

DAFTAR ISI

HALAMAN JUDUL -------------------------------------------------------------- i

HALAMAN PERSETUJUAN ------------------------------------------------- iii

HALAMAN PENGESAHAN -------------------------------------------------- iv

HALAMAN PERNYATAAN -------------------------------------------------- vi

HALAMAN PERSEMBAHAN ------------------------------------------------ vii

MOTTO ---------------------------------------------------------------------------- viii

ABSTRAKSI ---------------------------------------------------------------------- ix

ABSTRACT ---------------------------------------------------------------------- x

KATA PENGANTAR ----------------------------------------------------------- xi

DAFTAR ISI ---------------------------------------------------------------------- xiii

DAFTAR GAMBAR-------------------------------------------------------------- xvi

DAFTAR TABEL ----------------------------------------------------------------- xviii

BAB I. PENDAHULUAN

1.1. Latar Belakang Masalah ------------------------------------------------- 1

1.2. Rumusan Masalah -------------------------------------------------------- 2

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

1.4. Tujuan Penyusunan Skripsi---------------------------------------------- 3

1.5. Metode Penelitian--------------------------------------------------------- 3

1.6. Sistematika Penulisan ---------------------------------------------------- 3

BAB II. LANDASAN TEORI

2.1. Logika Fuzzy

2.1.1. Pengenalan Logika Fuzzy ---------------------------------------- 5

2.1.2. Variabel Linguistik dan Pengubah Linguistik ---------------- 5

2.1.3. Fungsi Keanggotaan ---------------------------------------------- 7

2.1.4. Operator Dasar Zadeh Untuk Operasi Himpunan Fuzzy ----- 9

xiii

Page 14: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

2.1.5. Aturan Jika-Maka ------------------------------------------------- 11

2.1.6. Fungsi Implikasi -------------------------------------------------- 11

2.1.7. Sistem Kendali Logika Kabur ----------------------------------- 12

2.1.8 Variasi Sistem Kendali Kabur Tsukamoto -------------------- 18

2.2. Java ------------------------------------------------------------------------ 19

2.3. Arus Lalu Lintas ---------------------------------------------------------- 21

BAB III. ANALISIS DAN PERANCANGAN

3.1. Pembentukan Variabel Linguistik

3.1.1. Variabel Jalur S --------------------------------------------------- 24

3.1.2. Variabel Jalur B -------------------------------------------------- 25

3.1.3. Variabel Jalur U--------------------------------------------------- 27

3.1.4. Variabel Jalur T -------------------------------------------------- 28

3.1.5. Variabel LampuHijau S ------------------------------------------ 29

3.1.6. Variabel LampuHijau B ----------------------------------------- 31

3.1.7. Variabel LampuHijau U ----------------------------------------- 32

3.1.8. Variabel LampuHijau T ----------------------------------------- 34

3.2. Aturan Logika Fuzzy ---------------------------------------------------- 35

3.3. Contoh Penerapan Logika Fuzzy --------------------------------------- 36

3.4. Perancangan Sistem ----------------------------------------------------- 38

3.5. Analisis Sistem

3.5.1. Use Case Diagram ----------------------------------------------- 40

3.5.2. Context Diagram ------------------------------------------------- 41

3.5.3. Decompotition Diagram ---------------------------------------- 41

3.5.4. Data Flow Diagram --------------------------------------------- 42

3.6. Perancangan Struktur Data ---------------------------------------------- 43

3.7. Rancangan Antar Muka

3.7.1. Form Utama ------------------------------------------------------- 43

3.7.2. Form Perhitungan------------------------------------------------- 44

3.7.3. Form Maintenance Batas Himpunan--------------------------- 46

3.7.4. Form Detail Perhitungan --------------------------------------- 47

xiv

Page 15: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB IV. IMPLEMENTASI DAN ANALISA HASIL

4.1. Implementasi

4.1.1. Implementasi Fungsi Keanggotaan----------------------------- 49

4.1.2. Implementasi Aturan Kabur ------------------------------------- 51

4.1.3. Implementasi Hitung Rata-Rata Terbobot--------------------- 52

4.2 Hasil Implementasi

4.2.1. Form Utama ------------------------------------------------------ 53

4.2.2. Form Perhitungan ------------------------------------------------ 54

4.2.3. Form Maintenance Batas Himpunan -------------------------- 56

4.2.4. Form Detail Perhitungan --------------------------------------- 57

4.3 Analisa Hasil -------------------------------------------------------------- 58

BAB V. PENUTUP

5.1 Kesimpulan ---------------------------------------------------------------- 63

5.2 Saran ---------------------------------------------------------------------- 64

DAFTAR PUSTAKA

LAMPIRAN

xv

Page 16: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Representasi Linear Naik 8

2.2 Representasi Linear Turun 8

2.3 Representasi Kurva Segitiga 9

2.4 Representasi Kurva Bentuk Bahu 9

2.5 Struktur dasar suatu sistem kendali kabur 12

2.6 Contoh Fungsi Keanggotaan Segitiga 14

2.7 Fungsi Pengaburan Gauss 14

3.1 Fungsi keanggotaan pada Variabel jalur S 24

3.2 Fungsi keanggotaan pada Variabel jalur B 26

3.3 Fungsi keanggotaan pada Variabel jalur U 27

3.4 Fungsi keanggotaan pada Variabel jalur T 28

3.5 Fungsi keanggotaan pada Variabel LampuHijau S 30

3.6 Fungsi keanggotaan pada Variabel LampuHijau B 31

3.7 Fungsi keanggotaan pada Variabel LampuHijau U 33

3.8 Fungsi keanggotaan pada Variabel LampuHijau T 34

3.9 Flowchart Untuk Halaman Perhitungan 39

3.10 Use Case Diagram 40

3.11 Context Diagram 41

3.12 Decompotition Diagram 41

3.13 Data Flow Diagram 42

3.14 Rancangan Antar Muka Form Utama 44

3.15 Rancangan Antar Muka Form Perhitungan 46

3.16 Rancangan Antar Muka Form Maintenance Batas

Himpunan

47

3.17 Rancangan Antar Muka Form Detail Perhitungan 48

xvi

Page 17: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

4.1 Form Utama 53

4.2 Form Perhitungan 55

4.3 Form Maintenance Batas Himpunan untuk Variabel Jalur 56

4.4 Form Maintenance Batas Himpunan untuk Variabel

Lampu Hijau

56

4.5 Form Detail Perhitungan 57

xvii

Page 18: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

DAFTAR TABEL

Tabel Keterangan Halaman

2.1 Tabel Ekivalen Mobil Penumpang 21

3.1 Tabel aturan jika-maka 36

3.2 Tabel Data Mentah Jumlah Kendaraan 36

3.3 Tabel Data Jumlah Kendaraan yang sudah

dikonfersikan ke dalam smp

36

3.4 Derajat Keanggotaan 37

3.5 α-predikat dan z 37

3.6 Nilai Z 38

3.7 Tabel BatasHimp 43

4.1 Tabel Data Mentah Jumlah Kendaraan 58

4.2 Tabel Data Jumlah Kendaraan

yang sudah dikonversikan ke dalam smp

59

4.3 Tabel perbandingan lampu hijau 59

4.4 Tabel batas himpunan variabel jalur 60

4.5 Tabel batas himpunan variabel lampu hijau 60

4.6 Tabel Keluaran Program 60

4.7 Tabel batas himpunan variabel jalur yang

diubah

61

4.8 Tabel batas himpunan variabel lampu hijau

yang diubah

61

4.9 Tabel Keluaran Program 61

xviii

Page 19: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Kelancaran lalu lintas sangat diperlukan di kota-kota besar seperti di

Yogyakarta. Untuk mendukung hal tersebut maka di setiap persimpangan jalan

dipasang lampu lalu lintas. Lampu lalu lintas memegang peranan penting dalam

menentukan kelancaran sebaran kendaraan di jalan-jalan di sekitar persimpangan

tersebut.

Pengaturan lampu lalu lintas yang baik, sebaiknya dapat menyesuaikan diri

dengan kepadatan lalu lintas pada tiap-tiap jalur. Namun pengaturan lampu lalu

lintas pada perempatan ringroad UPN Yogyakarta yang ada saat ini masih

menggunakan sistem pewaktuan yang tetap atau tidak berubah-ubah dalam satu

siklusnya dan tidak memperhitungkan kepadatan pada tiap jalurnya, hal ini dapat

menyebabkan antrian kendaraan yang panjang.

Salah satu faktor yang mempengaruhi kelancaran lalu lintas adalah kepadatan

lalu lintas. Jumlah kepadatan lalu lintas bersifat tidak tegas ( kabur ), oleh karena

itu Logika Fuzzy cocok diterapkan dalam pengaturan lampu lalu lintas. Logika

Fuzzy dapat mengubah sifat tidak tegas tersebut ke dalam model matematis yang

mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti sehingga dapat

diproses lebih lanjut untuk dapat diterapkan dalam sistem pengaturan lampu lalu

lintas. Dengan menggunakan Logika Fuzzy, dapat di prediksi waktu lampu hijau

menyala sesuai dengan kepadatan pada tiap-tiap jalur sehingga antrian dapat

1

Page 20: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

2

diminimalkan. Kepadatan lalu lintas dihitung menggunakan satuan mobil

penumpang (SMP), yaitu koefisien dari berbagai jenis kendaraan yang beragam

kedalam satu satuan tertentu untuk mempermudah dalam perhitungan arus lalu

lintas.

1.2 Rumusan Masalah

Dari latar belakang masalah di atas dapat dirumuskan menjadi beberapa

masalah sebagai berikut:

a. Bagaimana mengimplementasikan logika fuzzy dalam pengaturan lampu lalu

lintas ?

b. Bagaimana mengatur waktu lampu hijau menyala sehingga antrian kendaraan

dapat berkurang atau bahkan dapat melintas seluruhnya?

1.3 Batasan Masalah

Adapun masalah yang akan diselesaikan dibatasi oleh hal-hal sebagai berikut:

a. Model persimpangan jalan yang di pakai adalah simpang empat atau

perempatan. Studi lapangan dilakukan di perempatan Ringroad UPN

Yogyakarta.

b. Kepadatan lalu lintas dihitung berdasarkan SMP (Satuan Mobil Penumpang).

c. Fasilitas ke kiri jalan terus, tidak masuk ke dalam perhitungan.

d. Pengaturan lampu lalu lintas diberikan searah jarum jam.

e. Metode yang digunakan untuk sistem penalaran kabur adalah metode

Tsukamoto.

Page 21: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

3

f. Bahasa pemrograman yang digunakan adalah Java.

1.4 Tujuan Penyusunan Skripsi

Menerapkan logika fuzzy untuk membantu pengaturan lampu lalu lintas yang

akan memprediksi waktu lampu hijau menyala sehingga dapat meminimalkan

antrian atau kepadatan lalu lintas.

1.5 Metode Penelitian

Metode yang digunakan dalam penelitian meliputi:

a. Studi pustaka

Dengan mempelajari buku referensi yang berkaitan dengan logika fuzzy.

b. Observasi lapangan

Dengan melakukan pengamatan lapangan di perempatan ringroad UPN.

c. Perancangan

Tahap ini digunakan untuk mengubah model matematika menjadi sebuah

representasi perangkat lunak.

d. Implementasi program.

Hasil dari tahap perancangan diterjemahkan ke dalam program.

1.6 Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini berisi latar belakang masalah, rumusan masalah, batasan

masalah, tujuan, metodologi penelitian dan sistematika penulisan.

Page 22: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

4

BAB II : LANDASAN TEORI

Bab ini berisi tentang penjelasan dasar teori Logika Fuzzy, Java

dan Satuan Mobil Penumpang (SMP).

BAB III : ANALISIS DAN PERANCANGAN

Bab ini berisi tentang analisa sistem, gambaran umum

perancangan program, pembentukan himpunan fuzzy, dan

rancangan antar muka yang digunakan dalam pembuatan

program bantu, dan contoh penerapan logika fuzzy.

BAB IV : IMPLEMENTASI DAN ANALISA HASIL

Bab ini berisi tentang pengimplementasian dari analisis dan

desain sistem pada bab sebelumnya serta analisa hasil

implemantasi.

BAB V : PENUTUP

Bab ini berisi kesimpulan dan saran-saran yang dapat

dipertimbangkan agar program bantu dapat digunakan secara

maksimal.

Page 23: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB II

LANDASAN TEORI

2.1 Logika Fuzzy (Logika Kabur)

2.1.1 Pengenalan Logika Fuzzy

Teori himpunan logika fuzzy dikembangkan oleh Prof Lofti Zadeh pada

tahun 1965. Tidak seperti logika boolean, logika fuzzy mempunyai nilai yang

kontinu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari

kebenaraan (Trivita, 2006).

Kalau pada himpunan tegas, nilai keanggotaan hanya ada 2 kemungkinan,

yaitu 0 atau 1, pada himpunan fuzzy nilai keanggotaan terletak pada rentang 0

sampai 1. Bila x memiliki nilai keanggotaan fuzzy µA[x]=0 berarti x tidak menjadi

anggota himpunan A, demikian pula bila x memiliki nilai keanggotaan fuzzy

µA[x]=1 berarti menjadi anggota penuh pada himpunan A.

2.1.2 Variabel Linguistik dan Pengubah Linguistik (Linguistic Hedge)

Suatu variabel adalah suatu lambang atau kata yang menunjuk kepada

sesuatu yang tidak tertentu dalam semesta wacananya. Misalnya dalam kalimat :

“Mahasiswa itu lulus dengan pujian”, kata “mahasiswa” adalah suatu variabel

karena menunjuk kepada orang yang tidak tertentu dalam semesta wacananya

yaitu himpunan manusia. Suatu variabel dapat diganti oleh unsur-unsur dalam

semesta wacananya, misalnya variabel “ mahasiswa” dapat diganti dengan

“Anton”. Kata “Anton” menunjuk pada unsur yang tertentu pada masing-masing

5

Page 24: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

6

semesta wacananya, dan disebut konstanta. Kalau semesta wacananya adalah

himpunan bilangan-bilangan, maka variabelnya disebut variabel numeris,

sedangkan kalau semesta wacananya adalah himpunan kata-kata atau istilah-

istilah dari bahasa sehari-hari (misalnya:tinggi, cepat, muda), maka variabelnya

disebut variabel linguistik (Susilo, F, 2006). Secara formal variabel linguistik

didefinisikan sebagai berikut.

Suatu variabel linguistik adalah suatu rangkap-5 (x, T, X, G, M) di mana :

− x adalah lambang variabelnya.

− T adalah himpunan nilai-nilai linguistik yang dapat menggantikan x.

− X adalah semesta wacana (numeris) dari nilai-nilai linguistik dalam T (jadi

juga dari variabel x).

− G adalah himpunan aturan-aturan sintaksis yang mengatur pembentukan

istilah-istilah anggota T.

− M adalah himpunan aturan-aturan semantik yang mengaitkan setiap istilah

dalam T dengan suatu himpunan kabur dalam semesta X.

Contoh : Bila variabel linguistiknya adalah “umur”, maka sebagai himpunan nilai-

nilai linguistik dapat diambil himpunan istilah-istilah T={muda,sangat muda, agak

muda, tidak muda, tidak sangat muda, tidak muda dan tidak tua, agak tua, tua,

tidak sangat tua}, dengan semesta X = [0,100], aturan sintaksis yang mengatur

pembentukan istilah-istilah dalam T, dan aturan semantik yang mengaitkan setiap

istilah dalam T dengan suatu himpunan kabur dalam semesta X.

Page 25: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

7

Pengubah linguistik (linguistic hedge/modifier) adalah suatu kata yang

dipergunakan untuk mengubah suatu kata/istilah menjadi kata/istilah yang baru

dengan makna yang baru pula. Dua pengubah linguistik yang paling sering

dipakai adalah “sangat” dan “agak”.

Jika suatu istilah A dikaitkan dengan himpunan kabur à dalam semesta X,

maka istilah “sangat A” dikaitkan dengan himpunan kabur konsentrasi dari Ã,

dengan lambang Kon(Ã) dan fungsi keanggotaan

µ Kon(Ã)(x) = (µÃ(x))2

untuk setiap x Є X, sedangkan istilah “agak A” dikaitkan dengan himpunan kabur

dilasi dari Ã, dengan lambang Dil(Ã) dan fungsi keanggotaan

µ Dil(Ã)(x) = (µÃ(x))1/2

untuk setiap x Є X.

2.1.3 Fungsi Keanggotaan

Fungsi keanggotan (membership function) adalah suatu kurva yang

menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotanya (sering

juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai

1. salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan

adalah dengan melalui pendekatan fungsi (Kusumadewi & Purnomo, 2004). Ada

beberapa fungsi yang bisa digunakan, yaitu :

a. Representasi Linear

Pada representasi linear, pemetaan input ke derajat keanggotaanya

digambarkan sebagai suatu garis lurus. Ada 2 keadaaan himpunan fuzzy yang

Page 26: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

8

linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki

derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang

memiliki derajat keanggotaan lebih tinggi (Gambar 2.1). Kedua, merupakan

kebalikan yang pertama. Garis lurus di mulai dari nilai domain dengan derajat

keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai yang

memiliki derajat keanggotaan lebih rendah (Gambar 2.2).

Gambar 2.1 Representasi Linear Naik

Gambar 2.2 Representasi Linear Turun

Fungsi Keanggotaan : 0; x ≤ a µ[x] = (x – a) / (b – a) a ≤ x ≤ b 1; x ≥ b

Fungsi Keanggotaan : (b – x) / (b-a) a ≤ x ≤ b µ[x] = 0; x ≥ b

1

µ[x]

0 domain a b

1

b. Representasi Kurva Segitiga

Kurva Segitiga pada dasarnya merupakan gabungan antara garis (linear)

seperti terlihat pada Gambar 2.3.

domain b

µ[x]

0 a

Page 27: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

9

Fungsi Keanggotaan : 0; x ≤ a atau x ≥ c µ[x] = (x-a)/(b-a) a ≤ x ≤ b (c-x)/(c-b) b ≤ x ≤ c

Gambar 2.3 Representasi Kurva Segitiga

1

c. Representasi Kurva Bentuk Bahu

Daerah yang terletak di tengah – tengah suatu variabel yang

direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik

dan turun. Himpunan fuzzy ‘bahu’, bukan segitiga, digunakan untuk mengakhiri

variable suatu daerah fuzzy. Bahu kiri bergerak dari benar ke salah, demikian juga

bahu kanan bergerak dari salah ke benar.

Gambar 2.4 Representasi Kurva Bentuk Bahu

2.1.4 Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy

Seperti halnya himpunan konvensional, ada beberapa operasi yang

didefinisikan secara khusus untuk kombinasi dan memodifikasi himpunan fuzzy.

Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan

domain

c a

µ[x]

0 b

Page 28: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

10

fire strength atau α-predikat. Ada 3 operator dasar yang diciptakan oleh Zadeh,

yaitu :

a. Operator AND

berhubungan dengan operasi intersection pada himpunan. α-

predika

µA∩B = min (µA[x], µB[y])

b. Operator O

ni berhubungan dengan operasi union pada himpunan. α-

predika

µAuB = max (µA[x], µB[y])

c. Operator N

berhubungan dengan operasi komplemen pada himpunan. α-

predika

µA' = 1- µA[x]

Operator ini

t sebagai hasil operasi dengan operator AND diperoleh dengan mengambil

nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang

bersangkutan.

R

Operator i

t sebagai hasil operasi dengan operator OR diperoleh dengan mengambil

nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang

bersangkutan.

OT

Operator ini

t sebagai hasil operasi dengan operator NOT diperoleh dengan

mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari

1.

Page 29: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

11

2.1.5 Aturan Jika-Maka

merupakan suatu keadaan yang dapat dinyatakan

dengan

IF <fuzzy proposition 1> THEN < fuzzy proposition 2>

Suatu fuzz sitio

nggal

alah nilai dari variable linguistic a.

.

dari atomic proposition mempergunakan

nilai dari varaibel linguistic a, dan Y

2.1.6 Fungsi Implikasi

(proposisi) pada basis pengetahuan fuzzy akan

berhub

is B

Secara umu ng dapat digunakan, yaitu :

emotong output himpunan fuzzy.

Aturan kabur if-then

:

Atau IF <FP1> THEN <FP2>

y propo n dapat terbentuk dari :

1. Atomic Fuzzy Proposition

Adalah suatu pernyataan tu

Contoh : a adalah X di mana X ad

2 Compound Fuzzy Proposition

Merupakan penggabungan

penghubung “dan”, “atau”, dan “tidak”

Contoh : a adalah X dan b adalah Y, X

adalah nilai dari variable linguistic b.

Tiap-tiap aturan

ungan dengan suatu relasi fuzzy. Bentuk umum dari aturan yang digunakan

dalam fungsi implikasi adalah :

IF x is A THEN y

m ada 2 fungsi implikasi ya

a. Min (minimum)

Fungsi ini akan m

Page 30: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

12

b.

menskala output himpunan fuzzy.

2.1.7 Sistem kendali Logika Kabur

Kendali Logika Kabur (Fuzzy Logic Control) merupakan suatu piranti

yang d

Dot (product)

Fungsi ini akan

ipergunakan untuk mengendalikan suatu proses tertentu berdasarkan aturan

penarikan kesimpulan hampiran (Susilo, 2003). Struktru dasar suatu sistem

kendali kabur (Susilo, 2003) adalah :

Gambar 2.5. Struktur dasar suatu sistem kendali kabur

1. Unit Pen

ika kabur bekerja dengan kaidah dan masukan kabur.

Lan

gaburan

Sistem kendali log

gkah pertama adalah mengubah masukan tegas yang diterima menjadi

masukan kabur. Untuk setiap variabel masukan ditentukan suatu fungsi

pengaburan yang akan mengubah nilai variabel masukan yang tegas menjadi nilai

Page 31: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

13

pendekatan yang kabur. Fungsi pengaburan itu biasanya ditentukan berdasarkan

beberapa kriteria :

a. Fungsi pengaburan diharapkan mengubah suatu nilai tegas, misalnya a Є , ke

suatu himpunan kabur à dengan µA(a) = 1, atau sekurang-kurangnya a

mempunyai derajat keanggotaan yang tinggi.

b. Bila nilai masukannya cacat karena derau, diharapkan fungsi pengaburan

dapat menekan sejauh mungkin derau itu.

c. Fungsi pengaburan diharapakan dapat membantu menyederhanakan

komputasi yang harus dilakukan oleh sistem tersebut dalam proses

inferensinya.

Contoh fungsi pengaburan :

Fungsi Pengaburan Segitiga memetakan suatu nilai a Є ke himpuan

kabur à dengan fungsi keanggotaan segitiga. Suatu fungsi keanggotaan

himpunan kabur disebut fungsi keanggotaan segitiga jika mempunyai tiga

buah parameter, yaitu a, b, c Є dengan a, b, c, dan dinyatakan dengan

Segitiga (x; a, b, c) dengan aturan :

Page 32: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

14

Gambar 2.6 Contoh fungsi Keanggotaan Segitiga (x;5,7,9)

Fungsi Pengaburan Gauss memetakan a Є ke himpunan kabur à dengan

fungsi keanggotaan Gauss, yaitu

Di mana b adalah suatu parameter berupa bilangan positif.

Gambar 2.7 Fungsi Pengaburan Gauss

µÃ(x) = Gauss(x;a,b) =

2. Basis Pengetahuan

Basis pengetahuan dari suatu sistem kendali logika kabur terdiri dari basis

data dan basis kaidah. Basis data adalah himpunan fungsi-fungsi keanggotaan dari

Page 33: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

15

himpunan-himpunan kabur yang terkait dengan nilai-nilai linguistik dari variabel-

variabel yang terlibat dalam sistem itu.

Misalkan dalam suatu sistem kendali logika kabur, variabel kecepatan x

dengan semesta selang tertutup [0,140] mempunyai tiga nilai linguistik sebagai

berikut : Lambat, yang dikaitkan dengan himpunan kabur L

Sedang, yang dikaitkan dengan himpunan kabur S

Cepat, yang dikaitkan dengan himpunan kabur C

Maka basis data dari sistem itu memuat fungsi keanggotaan dari himpunan-

himpunan kabur yang terkait itu.

Basis kaidah adalah himpunan implikasi-implikasi kabur yang berlaku sebagai

kaidah dalam sistem itu.

Contoh kaidah dalam suatu sistem kendali kabur :

Jika jumlah kendaraan yang akan melintas SANGAT BANYAK dan

jumlah kendaraan pada arah lain yang mengantri SEDIKIT, maka lama

waktu nyala lampu hijau LAMA.

Jika jumlah kendaraan yang akan melintas SEDANG dan jumlah

kendaraan yang mengantri SEDANG, maka lama waktu nyala lampu hijau

menjadi SEDANG.

3. Unit Penalaran Kabur

Masukan kabur hasil pengolahan unit pengaburan diterima oleh unit penalaran

untuk disimpulkan berdasarkan kaidah-kaidah yang tersedia dalam basis

pengetahuan. Penarikan kesimpulan itu dilaksanakan berdasarkan aturan modus

Page 34: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

16

ponens rampat multikondisonal. Secara umum, bentuk modus ponens pada logika

klasik adalah :

Premis 1 (aturan) : Jika x adalah A, maka y adalah B

Premis 2 (fakta) : x adalah A

Kesimpulan : y adalah B

Aturan penarikan kesimpulan ini dapat digeneralisasi menjadi aturan

penarikan kesimpulan yang diberlakukan untuk premis-premis yang berpredikat

kabur. Secara umum, bentuk modus ponens rampat adalah :

Premis 1 (aturan) : jika x adalah A, maka y adalah B

(merupakan relasi/implikasi kabur → di X x Y)

Premis 2 (fakta) : x adalah A′

(dapat dinyatakan dengan himpunan kabur Ã′ dalam X)

Kesimpulan : y adalah B′

Diperoleh dengan menetukan himpunan kabur

4. Unit Penegasan

Kesimpulan/keluaran dari sistem kendali kabur adalah suatu himpunan kabur.

Karena suatu sistem hanya dapat mengeksekusikan nilai yang tegas, maka

diperlukan suatu mekanisme untuk mengubah nilai kabur keluaran itu menjadi

nilai yang tegas. Itulah peranan unit penegasan yang memuat fungsi-fungsi

Page 35: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

17

penegasan dalam sistem itu. Pemilihan fungsi penegasan biasanya ditentukan oleh

beberapa kriteria :

a. Masuk akal, artinya secara intuitif bilangan tegas t(Ã) dapat diterima sebagai

bilangan yang mewakili himpunan kabur Ã, misalnya t(Ã) kuran lebih berada

di tengah-tengah pendukung dari Ã, atau t(Ã) mempunyai derajat keanggotaan

yang tinggi dalam himpunan kabur Ã. Pendukung dari suatu himpunan kabur

Ã, yang dilambangkan dengan Pend (Ã), adalah himpunan tegas yang memuat

semua unsur dari semesta yang mempunyai derajat keanggotaan taknol dalam

Ã.

b. Kemudahan komputasi , yaitu diharapkan fungsi penegasan itu cukup mudah

dan sederhana dalam proses komputasinya untuk menghasilkan bilangan tegas

keluarannya.

c. Kontiyu, artinya perubahan kecil pada à tidak akan mengakibatkan perubahan

besar pada t(Ã).

Dalam literatur dikenal beberapa fungsi penegasan, di antaranya adalah :

Purata Maksimum (Mean of Maximum) : Himpunan kabur à dalam semesta

diubah menjadi bilangan tegas t(Ã) yang merupakan purta dari semua nilai

yang mencapai nilai maksimum dalam µÃ, yaitu

Di mana M = { x Є | µÃ(x) = Tinggi(Ã)}.

Apabila M = [a,b], maka t(Ã) = Bila himpunan kabur à terdefinisi

pada semesta berhingga X = {x1,x2,...,xn}, maka bilangan tegas t(Ã)

a + b 2

Page 36: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

18

didefinisikan sebagai rerata dari semua nilai dalam himpunan tegas M = {x, Є

X | µÃ(xi)} = Tinggi (Ã)}, yaitu

di mana | M | menyatakan banyaknya anggota dari himpunan tegas M.

Rerata Pusat (Center Average) : Kalau himpunan kabur à dalam semesta

merupakan gabungan dari m buah himpunan kabur, yaitu

maka à diubah menjadi bilangan tegas t(Ã) yang merupakan rerata terbobot

dari pusat-pusat m buah himpunan kabur tersebut, dengan tinggi masing-

masing himpunan kabur itu sebagai bobotnya. Jadi

di mana xi adalah pusat dari himpunan kabur Ãi dan bi = Tinggi (Ãi).

2.1.8 Variasi Sistem Kendali Kabur Tsukamoto

Tsukamoto (1979) mengembangkan variasi sistem kendali himpunan

kabur yang dipakai untuk menyatakan predikat kabur pada bagian konsekuen dari

kaidah-kaidah sistemnya mempunyai fungsi keanggotaan yang monoton (naik

atau turun), misalnya fungsi keanggotaan sigmoid. Akibatnya, masing-masing

kaidah akan menghasilkan keluaran berupa nilai tegas yang diimbas oleh daya

sulut pada kaidah yang bersangkutan. Bentuk umum kaidah ke-i sistem tersebut

adalah sebagai berikut :

Page 37: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

19

Bila x1 adalah Ai1 dan ... dan xn adalah Ain, maka y adalah Bi

di mana Bi adalah predikat kabur yang direpresentasikan dengan himpunan kabur

Bi dengan fungsi keanggotaan yang monoton untuk i = 1, ..., m (dengan m adalah

banyaknya kaidah dalam sistem itu). Maka setiap masukan x = (xi,...,xn) akan

menghasilkan daya sulut wi yang mengimbas keluaran tegas yi untuk kaidah ke-i .

kesimpulan akhir y diperoleh dengan menghitung rerata terbobot dari semua

keluaran yi tersebut dengan bobot daya sulutnya, yaitu :

∑=

m

iwiyi

1

y =

iwm

i∑=1

di mana wi adalah daya sulut untuk kaidah ke-i. Sistem ini seringkali disebut

sistem kabur Tsukamoto. Sistem Tsukamoto juga menyederhanakan komputasi

karena tidak memerlukan fungsi penegasan (Susilo, 2006).

2.2 Java

Java adalah bahasa pemrograman serbaguna (Abdul Kadir, 2004). Java

mendukung sumber daya Internet yang saat ini populer, yaitu World Wide Web.

Java juga mendukung aplikasi klien/server, baik dalam jaringan lokal (LAN)

maupun jaringan berskala luas (WAN). Java dikembangkan oleh Sun Microsistem

pada Agustus 1991, dengan nama semula Oak.

Program java bersifat tidak bergantung pada platform, artinya, Java dapat

dijalankan pada sembarang komputer dan bahkan pada sembarang sistem operasi.

Ketidakbergantungan terhadap platform sering dinyatakan dengan istilah

Page 38: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

20

portabilitas. Yang menarik, tingkat portabilitas Java tidak hanya sebatas pada

program sumber (source code), melainkan juga pada tingkat kode biner yang

disebut bytecode.

Kode yang disebut bytecode dapat dijalankan pada berbagai sistem operasi

karena kode ini berbeda dengan kode mesin. Kode mesin sangat bergantung pada

platform, sedangkan bytecode dapat dimengerti oleh semua platform yang telah

dilengkapi dengan interpreter Java.

Java juga merupakan bahasa pemrograman berorientasi objek, Java

menggunakan kelas untuk membentuk suatu objek. Pewarisan adalah salah satu

sifat yang ada pada bahasa pemrograman berorientasi objek, yang memungkinkan

sifat-sifat suatu objek diturunkan dengan mudah ke objek lain.

Program Java dapat dibedakan menjadi dua jenis, yaitu applet dan aplikasi.

• Applet adalah program yang dibuat dengan Java, dapat diletakkan pada

Web server dan diakses melalui Web browser. Browser yang digunakan

adalah yang memiliki kemampuan Java (misalnya Netscape Navigator,

Internet Explorer, dan HotJava).

• Aplikasi adalah program yang dibuat dengan Java yang bersifat umum.

Aplikasi dapat dijalankan secara langsung, tidak perlu perangkat lunak

browser untuk menjalankannya.

Page 39: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

21

2.3 Arus Lalu Lintas

Perhitungan dilakukan per satuan jam untuk satu atau lebih periode,

misalnya didasarkan pada kondisi arus lalu lintas rencan jam puncak pagi, siang,

dan sore (MKJI, 1997).

Arus lalu lintas untuk setiap gerakan dikonversi dari kendaraan per jam

menjadi menjadi satuan mobil penumpang perjam dengan menggunakan ekivalen

kendaraan penumpang.

Satuan mobil penumpang adalah satuan arus lalu lintas dari berbagai tipe

kendaraan yang diubah menjadi kendaraan ringan (termasuk mobil penumpang)

dengan menggunakan faktor emp. Ekivalen mobil penumpang (emp) adalah faktor

dari berbagai tipe kendaraan sehubungan dengan keperluan waktu lampu hijau

untuk keluar dari antrian apabila dibandingkan dengan sebuah kendaraan ringan.

Tabel 2.1. Tabel Ekivalen Mobil Penumpang

Jenis kendaraan emp

Kendaraan Ringan (LV)

Kendaraan Berat (HV)

Sepeda Motor (MC)

1,0

1,3

0,2

Keterangan :

• LV ( Kendaraan Ringan )

Kendaraan bermotor dua as beroda 4 dengan jarak as 2,0 - 3,0 m

(termasuk mobil penumpang, opelet, mikrobis, pick-up dan truk kecil

sesuai sistem klasifikasi Bina Marga).

Page 40: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

22

• HV ( Kendaraan Berat )

Kendaraan bermotor dengan jarak as lebih dari 3,50 m, biasanya beroda

lebih dari 4 (termasuk bis, truk 2 as, truk 3 as dan truk kombinasi sesuai

sistem klasifikasi Bina Marga).

• MC ( Sepeda Motor )

Kendaraan bermotor beroda dua atau tiga (termasuk sepeda motor dan

kendaraan beroda 3 sesuai sistem klasifikasi Bina Marga).

Page 41: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB III

ANALISIS DAN PERANCANGAN

3.1 Pembentukan Variabel Lingusitik

Dalam Program Pengaturan Lampu Lalu Lintas ini ada 3 variabel linguistik

yaitu 2 variabel input dan 1 variabel output. Variabel input yaitu variabel jumlah

kepadatan / kendaraan dalam satuan smp/antrian, ada 2 variabel input yaitu

variabel jalur yang diatur dan variabel jalur yang menunggu. Untuk variabel input

dibagi menjadi 4 variabel sesuai dengan jalurnya. Masing-masing variabel terbagi

atas 4 himpunan yaitu TIDAK PADAT (TP), CUKUP PADAT (CP), PADAT (P),

dan SANGAT PADAT (SP) dalam semesta pembicaraan (nilai yang

diperbolehkan untuk dioperasikan dalam suatu variabel) yaitu [0,80].

Sedangkan variabel output yaitu variabel keluaran waktu lampu hijau

menyala pada jalur yang diatur dalam satuan detik. Variabel waktu lampu hijau

menyala dibagi menjadi 4 variabel sesuai dengan jalurnya. Variabel output terbagi

atas 4 himpunan yaitu CEPAT (C), AGAK CEPAT (AC), AGAK LAMA (AL),

dan LAMA (L) dalam semesta pembicaraan [0,60].

Nilai batas-batas himpunan untuk masing-masing variabel di dapat dari data

hasil pengamatan lapangan yang sudah diolah. Pengamatan lapangan dilakukan

pada tanggal 31 Maret 2008 sampai 6 April 2008, dengan waktu pengambilan

data yang berbeda-beda. Untuk menentukan nilai batas himpunan variabel jalur

yaitu dari data hasil pengamatan lapangan dikonfersikan terlebih dahulu ke dalam

satuan smp/antrian menurut jenis-jenis kendaraan. Lalu di dapat data jumlah

23

Page 42: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

24

kendaraan terkecil dan terbesar. Data jumlah kendaraan terkecil dijadikan batas

himpunan TIDAK PADAT (TP) sedangkan data jumlah kendaraan terbesar

dijadikan batas himpunan SANGAT PADAT (SP). Setelah itu data terbesar tadi

dikurangi data terkecil, lalu hasilnya dibagi 3. Hasil pembagiannya ditambahkan

dengan batas TIDAK PADAT (TP) dan akan diperoleh batas himpunan CUKUP

PADAT (CP), selanjutnya batas CP ditambahkan dengan hasil pembagiannya tadi

dan akan diperoleh batas himpunan PADAT (P).

3.1.1 Variabel Jalur S (xS)

Yang dimaksud jalur S di sini adalah jumlah kendaraan pada jalur selatan.

Variabel jalur S dibagi menjadi 4 himpunan Fuzzy yaitu TIDAK PADAT (TP),

CUKUP PADAT (CP), PADAT (P), SANGAT PADAT (SP). Untuk himpunan

TIDAK PADAT (TP) dan SANGAT PADAT (SP) menggunakan pendekatan

fungsi keanggotaan berbentuk bahu, sedangkan himpunan CUKUP PADAT (CP)

dan PADAT (P) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.1 Fungsi keanggotaan pada Variabel jalur S

Page 43: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

25

Fungsi keanggotaan pada jalur S dapat dirumuskan sebagai berikut :

1 xS ≤ 2,2 µTP[xS] = 8,4- xS 2,2 ≤ xS ≤ 8,4 6,2

0 xS ≥ 8,4

0 xS ≤ 2,2 atau xS ≥ 14,6 µCP[xS] = xS – 2,2 2,2 ≤ xS ≤ 8,4

6,2 14,6 - xS 8,4 ≤ xS ≤ 14,6 6,2 0 xS ≤ 8,4 atau xS ≥ 20,8 µP[xS] = xS – 5,3 8,4 ≤ xS ≤ 14,6

6,2 20,8 - xS 14,6 ≤ xS ≤ 20,8 6,2 0 xS ≤ 14,6 µSP[xS] = xS-14,6 14,6 ≤ xS ≤ 20,8

6,2

1 xS ≥ 20,8

3.1.2 Variabel Jalur B (xB)

Yang dimaksud jalur B di sini adalah jumlah kendaraan pada jalur barat.

Variabel jalur B dibagi menjadi 4 himpunan Fuzzy yaitu TIDAK PADAT (TP),

CUKUP PADAT (CP), PADAT (P), SANGAT PADAT (SP). Untuk himpunan

TIDAK PADAT (TP) dan SANGAT PADAT (SP) menggunakan pendekatan

fungsi keanggotaan berbentuk bahu, sedangkan himpunan CUKUP PADAT (CP)

Page 44: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

26

dan PADAT (P) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.2 Fungsi keanggotaan pada Variabel jalur B

Fungsi keanggotaan pada jalur B dapat dirumuskan sebagai berikut :

1 xB ≤ 13,4 µTP[xB] = 29,7 - xB 13,4 ≤ xB ≤ 29,7 16,3 0 xB≥ 29,7 0 xB ≤ 13,4 atau xB ≥ 46 µCP[xB] = xB – 13,4 13,4≤ xB ≤ 29,7

16,3 46– xB 29,7 ≤ xB ≤ 46 16,3

0 xB ≤ 29,7 atau xB ≥ 62,4 µP[xB] = xB– 29,7 29,7 ≤ xB ≤ 46

16,3 62,4– xB 46 ≤ xB ≤ 62,4 16,3

0 xB ≤ 46 µSP[xB] = xB – 46 46 ≤ xB ≤ 62,4

16,3

1 xB ≥ 62,4

Page 45: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

27

3.1.3 Variabel Jalur U (xU)

Yang dimaksud jalur U di sini adalah jumlah kendaraan pada jalur utara.

Variabel jalur U dibagi menjadi 4 himpunan Fuzzy yaitu TIDAK PADAT (TP),

CUKUP PADAT (CP), PADAT (P), SANGAT PADAT (SP). Untuk himpunan

TIDAK PADAT (TP) dan SANGAT PADAT (SP) menggunakan pendekatan

fungsi keanggotaan berbentuk bahu, sedangkan himpunan CUKUP PADAT (CP)

dan PADAT (P) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.3 Fungsi keanggotaan pada Variabel jalur U

Fungsi keanggotaan pada jalur U dapat dirumuskan sebagai berikut :

1 xU≤ 3 µTP[xU] = 7,2 - xU 3 ≤ xU ≤ 7,2

4,2 0 xU ≥ 7,2 0 xU ≤ 3 atau xU ≥ 11,4 µCP[xU] = xU – 3 3 ≤ xU ≤ 7,2

4,2 11,4 – xU 7,2 ≤ xU ≤ 11,4 4,2

Page 46: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

28

0 xU ≤ 7,2 atau xU ≥ 15,6 µP[xU] = xU – 7,2 7,2 ≤ xU ≤ 11,4

4,2 15,6 – xU 11,4 ≤ xU ≤ 15,6 4,2 0 xU ≤ 11,4 µSP[xU] = xU – 11,4 11,4 ≤ xU ≤ 15,6

4,2

1 xU ≥ 15,6

3.1.4 Variabel Jalur T (xT)

Yang dimaksud jalur T di sini adalah jumlah kendaraan pada jalur timur.

Variabel jalur T dibagi menjadi 4 himpunan Fuzzy yaitu TIDAK PADAT (TP),

CUKUP PADAT (CP), PADAT (P), SANGAT PADAT (SP). Untuk himpunan

TIDAK PADAT (TP) dan SANGAT PADAT (SP) menggunakan pendekatan

fungsi keanggotaan berbentuk bahu, sedangkan himpunan CUKUP PADAT (CP)

dan PADAT (P) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.4 Fungsi keanggotaan pada Variabel jalur T

Page 47: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

29

Fungsi keanggotaan pada jalur T dapat dirumuskan sebagai berikut :

1 xT ≤ 9,9 µTP[xT] = 19,1- xT 9,9 ≤ xT ≤ 19,1

9,2 0 xT ≥ 14,5 0 xT ≤ 9,9 atau xT ≥ 28,3 µCP[xT] = xT – 9,9 9,9 ≤ xT ≤ 19,1

9,2 28,3 – xT 19,1≤ xT ≤ 28,3 9,2

0 xB ≤ 19,1 atau xT ≥ 37,5 µP[xT] = xT – 19,1 19,1 ≤ xT ≤ 28,3

9,2 37,5– xT 28,3 ≤ xT ≤ 37,5 9.2 0 xT ≤ 28,3 µSP[xT] = xT – 28,3 28,3 ≤ xT ≤ 37,5

9,2

1 xT ≥ 37,5

3.1.5 Variabel LampuHijau S (zS)

Yang dimaksud LampuHijau S disini adalah waktu lampu hijau menyala

pada jalur selatan. Variabel LampuHijau S dibagi menjadi 4 himpunan Fuzzy

yaitu CEPAT (C), AGAK CEPAT (AC), AGAK LAMA (AL) dan LAMA (L).

Untuk himpunan CEPAT (C) dan LAMA (L) menggunakan pendekatan fungsi

keanggotaan berbentuk bahu, sedangkan himpunan AGAK CEPAT (AC) dan

Page 48: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

30

AGAK LAMA (AL) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.5 Fungsi keanggotaan pada Variabel LampuHijau S

Fungsi keanggotaan pada Variabel LampuHijau S dapat dirumuskan sebagai

berikut :

1 zS ≤ 11 µC[zS] = 15 - zS 11 ≤ zS ≤ 15

4

0 zS ≥ 15

0 zS ≤ 11 atau zS ≥ 19 µAC [zS] = zS – 11 11 ≤ zS ≤ 15

4 19 – zS 15 ≤ zS ≤ 19 4

0 zS ≤ 15 atau zS ≥ 23 µAL[zS] = zS – 15 15 ≤ zS ≤ 19

4 23 – zS 19 ≤ zS ≤ 23 4

Page 49: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

31

0 zS ≤ 19 µL[zS] = zS – 19 19≤ zS ≤ 23

4 1 zS ≥ 23

3.1.6 Variabel LampuHijau B (zB)

Yang dimaksud LampuHijau B di sini adalah waktu lampu hijau menyala

pada jalur barat. Variabel LampuHijau B dibagi menjadi 4 himpunan Fuzzy yaitu

CEPAT (C), AGAK CEPAT (AC), AGAK LAMA (AL) dan LAMA (L). Untuk

himpunan CEPAT (C) dan LAMA (L) menggunakan pendekatan fungsi

keanggotaan berbentuk bahu, sedangkan himpunan AGAK CEPAT (AC) dan

AGAK LAMA (AL) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.6 Fungsi keanggotaan pada Variabel LampuHijau B

Fungsi keanggotaan pada Variabel LampuHijau B dapat dirumuskan sebagai

berikut :

1 zB ≤ 32 µC[zB] = 36 - zB 32 ≤ zB≤ 36

4 0 zB ≥ 36

Page 50: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

32

0 zB ≤ 32 atau zB ≥ 40 µAC[zB] = zB – 32 32 ≤ zB ≤ 36

4 40 – zB 36≤ zB ≤ 40 4 0 zB ≤ 36 atau zB ≥ 44 µAL[zB] = zB – 36 36 ≤ zB ≤ 40

4 44 – zB 40 ≤ zB ≤ 44 4 0 zB ≤ 40 µL[zB] = zB – 40 40 ≤ zB ≤ 44

4 1 zB ≥ 44

3.1.7 Variabel LampuHijau U (zU)

Yang dimaksud LampuHijau U di sini adalah waktu lampu hijau menyala

pada jalur utara. Variabel LampuHijau U dibagi menjadi 4 himpunan Fuzzy yaitu

CEPAT (C), AGAK CEPAT (AC), AGAK LAMA (AL) dan LAMA (L). Untuk

himpunan CEPAT (C) dan LAMA (L) menggunakan pendekatan fungsi

keanggotaan berbentuk bahu, sedangkan himpunan AGAK CEPAT (AC) dan

AGAK LAMA (AL) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Page 51: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

33

Gambar 3.7 Fungsi keanggotaan pada Variabel LampuHijau U

Fungsi keanggotaan pada Variabel LampuHijau U dapat dirumuskan sebagai

berikut

1 zU ≤ 14

µC[zU] = 18 - zU 14 ≤ zU ≤ 18

4 0 zU ≥ 18

0 zU≤ 14 atau zU ≥ 22 µAC[zU] = zU – 14 14 ≤ zU ≤ 18

4 22 – zU 18 ≤ zU ≤ 22 4

0 zU ≤ 18 atau zU ≥ 26 µAL[zU] = zU – 18 18 ≤ zU ≤ 22

4 26 – zU 22 ≤ zU ≤ 26 4

0 zU ≤ 22 µL[zU] = zU – 22 22 ≤ zU ≤ 26

4

1 zU ≥ 26

Page 52: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

34

3.1.8 Variabel LampuHijau T (zT)

Yang dimaksud LampuHijau T di sini adalah waktu lampu hijau menyala

pada jalur timur. Variabel LampuHijau T dibagi menjadi 4 himpunan Fuzzy yaitu

CEPAT (C), AGAK CEPAT (AC), AGAK LAMA (AL) dan LAMA (L). Untuk

himpunan CEPAT (C) dan LAMA (L) menggunakan pendekatan fungsi

keanggotaan berbentuk bahu, sedangkan himpunan AGAK CEPAT (AC) dan

AGAK LAMA (AL) menggunakan pendekatan fungsi keanggotaan berbentuk

segitiga.

Gambar 3.8 Fungsi keanggotaan pada Variabel LampuHijau T

Fungsi keanggotaan pada Variabel LampuHijau T dapat dirumuskan sebagai

berikut :

1 zT ≤ 22 µC[zT] = 26 - zT 22 ≤ zT ≤ 26

4 0 zT ≥ 26 0 zT ≤ 22 atau zT ≥ 30 µAC [zT] = zT – 24 22 ≤ zT ≤ 26

4 30 – zT 26 ≤ zT ≤ 30 4

Page 53: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

35

0 zT ≤ 26 atau zT ≥ 34 µAL[zT] = zT – 26 26 ≤ zT ≤ 30

4 34 – zT 30 ≤ zT ≤ 34 4 0 zT ≤ 30 µL[zT] = zT – 30 30 ≤ zT ≤ 34

4

1 zT ≥ 34

3.2 Aturan Logika Fuzzy

Dalam program ini terdapat 16 aturan setiap jalurnya. Jalur yang

mempengaruhi waktu lampu hijau menyala pada tiap jalur adalah jalur yang

menunggu yaitu jalur sebelah kirinya. Jalur selatan dipengaruhi jalur barat, jalur

barat dipengaruhi jalur utara, jalur utara dipengaruhi jalur timur, dan jalur timur

dipengaruhi jalur selatan. Aturan-aturan tersebut diterjemahkan ke dalam aturan

JIKA – MAKA. Contoh pembacaan tabel aturan logika Fuzzy :

R1 : JIKA jumlah kendaraan pada jalur yang diatur TIDAK PADAT dan

jumlah kendaraan pada jalur yang menunggu TIDAK PADAT MAKA

waktu lampu hijau menyala pada jalur yang diatur CEPAT .

Page 54: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

36

Aturan-aturan yang di pakai dapat di lihat dalam tabel di bawah.

Tabel 3.1 Tabel aturan jika-maka

Jalur yang diatur TP CP P SP Jalur yang menunggu

TP C 1 AC 5 AL 9 L 13

CP C 2 AC 6 AL 10 L 14

P C 3 C 7 AC 11 AL 15

SP C 4 C 8 AC 12 AL 16

3.3 Contoh Penerapan Logika Fuzzy

Dimisalkan data inputan diambil dari pengambilan data jumlah kendaraan

pada hari senin tanggal 31 Maret 2008 ( data dapat dilihat pada lampiran ) .

Tabel 3.2 Tabel Data Mentah Jumlah Kendaraan

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur I II III IV I II III IV I II III IV I II III IVLV 5 5 5 4 15 12 16 17 4 4 2 2 13 9 5 6 HV 1 0 1 0 5 3 8 6 0 0 1 3 5 2 5 4 MC 25 29 25 31 79 74 72 54 26 28 36 17 64 50 51 58

Tabel 3.3 Tabel Data Jumlah Kendaraan yang sudah dikonfersikan ke dalam smp

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur I II III IV I II III IV I II III IV I II III IV LV 5 5 5 4 15 12 16 17 4 4 2 2 13 9 5 6

HV 1,3 0 1,3 0 6,5 3,9 10,4 7,8 0 0 1,3 3,9 6,5 2,6 6,5 5,2

MC 5 5,8 5 6,2 15,8 14,8 14,4 10,8 5,2 5,6 7,2 3,4 12,8 10 10,2 11,6

11,3 10,8 11,3 10,2 37,3 30,7 40,8 35,6 9,2 9,6 10,5 9,3 32,3 21,6 21,7 22,8

Rata2 10,9 36,1 9,7 24,6

Dari hasil rata-rata tiap jalur tersebut selanjutnya ditentukan derajat

keanggotaan untuk variabel jalur S, jalur B, jalur U, dan jalur T.

Page 55: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

37

Tabel 3.4 Derajat Keanggotaan

Jalur S Jalur B Jalur U Jalur T

µ[TP] 0 0 0 0

µ[CP] 0,59 0,61 0,42 0,40 µ[ P] 0,40 0,39 0.58 0,59 µ[SP] 0 0 0 0

Setelah masing-masing mendapatkan derajat keanggotaanya, kemudian

dicari nilai α-predikat (fire strength) melalui operasi AND yaitu dengan

mengambil derajat keanggotaan terkecil untuk setiap aturan.

µA∩B = min (µA[x], µB[y])

Selanjutnya nilai α-predikat (fire strength) digunakan untuk menentukan

nilai z untuk setiap aturan. Untuk lebih jelasnya terlihat dalam Tabel 3.6.

Tabel 3.5 α-predikat dan z

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur

Aturan α-predikat z α-

predikat z α-predikat z α-

predikat z

R1 0 15 0 36 0 18 0 26

R2 0 15 0 36 0 18 0 26

R3 0 15 0 36 0 18 0 26

R4 0 15 0 36 0 18 0 26

R5 0 11 0 32 0 14 0 22

R6 0,59 12,19 0,42 33,25 0,40 15,20 0,40 22,80

R7 0,39 14,21 0,58 34,25 0,42 16,75 0,40 25,19

R8 0 15 0 36 0 18 0 26

R9 0 15 0 36 0 18 0 26

R10 0,40 16,61 0,39 37,57 0,40 19,60 0,40 28,38

R11 0,39 17,42 0,39 38,42 0,58 19,66 0,40 28,38

R12 0 19 0 40 0 22 0 24

Page 56: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

38

R13 0 19 0 40 0 22 0 30

R14 0 19 0 40 0 22 0 30

R15 0 23 0 44 0 26 0 34

R16 0 23 0 44 0 26 0 34

Setelah masing-masing variabel mendapatkan nilai α-predikat dan z untuk

setiap aturan, maka Z untuk setiap jalur dapat dicari dengan cara sebagai berikut :

∑=

=

−16

1)(*

n

ipredikatizi α

Z =

∑=

=

−16

1

n

ipredikatiα

Maka diperoleh nilai Z untuk setiap jalur, terlihat dalam Tabel 3.7

Tabel 3.6 Nilai Z

Jalur S

Jalur B

Jalur U

Jalur T

Z 14,79 35,67 17,99 26,43

Output waktu lampu hijau menyala yang diperoleh kemudian dibulatkan

yaitu untuk jalur selatan = 15 detik, jalur barat = 36 detik, jalur utara =18 detik,

dan jalur timur = 26 detik.

3.4 Perancangan Sistem

Program bantu pengaturan lampu lalu lintas ini mengambil studi kasus

pada perempatan jalan. Inputan dari program ini adalah jumlah kepadatan tiap-

tiap jalur pada perempatan. Secara umum setiap jalur pada perempatan jalan

Page 57: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

39

mempunyai jumlah kepadatan yang berbeda-beda. Jumlah kepadatan saling

mempengaruhi waktu lampu hijau menyala pada jalur lain. Setelah semua inputan

dimasukkan lalu inputan akan dikonfersikan berdasarkan satuan mobil

penumpang. Setelah itu dihitung derajat keanggotaan dan fire-strenght untuk

masing-masing jalur. Keluaran dari program ini adalah waktu lampu hijau

menyala dalam satuan detik pada tiap-tiap jalur agar antriannya dapat

diminimalkan. Gambar 3.9 berisi tentang flowchart yang digunakan untuk

memahami jalannya program.

Gambar 3.9 Flowchart Jalannya Program

Page 58: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

40

3.5 Analisis Sistem

Analisis sistem adalah suatu teknik penyelesaian masalah yang membagi

sistem ke dalam bagian-bagian komponen kecil dengan tujuan agar bagian-bagian

dari komponen tersebut dapat bekerja dan berinteraksi dengan baik untuk

melengkapi tujuannya. Tujuan dari analisis sistem adalah membuat pemetaan

awal mengenai perilaku yang diisyaratkan dalam sistem aplikasi ke dalam

elemen-elemen pemodelan.

3.5.1 Use Case Diagram

Gambar 3.10 Use Case Diagram

Gambar 3.10 merupakan Use Case Diagram dari Program Bantu

Pengaturan Lampu Lalu Lintas. Penggunan use case ditujukan untuk

menggambarkan secara keseluruhan mengenai peran user yang terlibat dalam

program dan proses apa saja yang terjadi dalam program. Pada program ini

Page 59: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

41

terdapat 1 aktor saja yaitu user. User dapat melakukan semua proses yaitu input

data, lihat data, ubah data, hitung lampu hijau, lihat detail perhitungan, dan ubah

batas himpunan. Proses lihat data, ubah data, hitung lampu hijau, lihat detail

perhitungan dapat dijalankan apabila proses input data sudah selesai dijalankan.

3.5.2 Context Diagram

Gambar 3.11 Context Diagram

Diagram konteks sistem terlihat pada gambar 3.11. Terdapat 1 entitas luar

yaitu user. Program mendapat inputan dari user berupa data-data jumlah

kendaraan untuk masing-masing jalur dan batas himpunan. Dan keluaran dari

program berupa informasi detail batas himpunan dan waktu lampu hijau menyala

untuk masing-masing jalurnya.

3.5.3 Decompotition Diagram

Gambar 3.12 Decompotition Diagram

Page 60: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

42

Program Bantu Pengaturan Lalu Lintas terbagi menjadi 6 proses yang

semuanya terdapat pada level 1 yaitu input data, lihat data, ubah data, hitung

lampu hijau, lihat detail perhitungan, dan ubah batas himpunan.

3.5.4 Data Flow Diagram

Gambar 3.13 Data Flow Diagram

Pada Data Flow Diagram (DFD) pada gambar 3.13 terdapat 4 proses yaitu

proses input data, ubah data, hitung lampu hijau dan ubah batas himpunan. Pada

proses input data, user menginputkan jumlah kendaraan yang nantinya akan

dikonfersikan dalam satuan mobil penumpang (smp). Proses ubah data inputan

berfungsi untuk mengubah data yang sudah di inputkan. Pada proses ubah batas

himpunan, user menginputkan nilai batas himpunan untuk setiap variabelnya,

data-data batas himpunan tersebut disimpan dalam database BatasHimp. Proses

hitung waktu lampu hijau, masukan berupa data jumlah kendaraan yang sudah

Page 61: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

43

dikonfersikan ke dalam satuan mobil penumpang (smp) dan data batas himpunan

yang diambil dari database BatasHimp. Pada proses hitung lampu hijau ini akan

di hitung derajat keanggotaan dan fire strength, dan hasil akhirnya di dapat waktu

lampu hijau menyala untuk masing-masing jalur.

3.6 Perancangan Struktur Data

Tabel yang diperlukan dalam Program Bantu Pengaturan Lampu Lalu

Lintas yaitu tabel BatasHimp. Tabel BatasHimp digunakan untuk menyimpan

batas himpunan masing-masing variabel.

Tabel 3.7. Tabel BatasHimp

Nama Field Type Keterangan

NamaVar Varchar(15) Nama Variabel

Batas1 Double Nilai batas 1

Batas2 Double Nilai batas 2

Batas3 Double Nilai batas 3

Batas4 Double Nilai batas 4

3.7 Rancangan Antar Muka

3.7.1 Form Utama

Pertama kali user masuk, akan ditampilkan form utama. Dalam form utama

terdapat tombol masuk yang digunakan untuk masuk ke dalam halaman

perhitungan.

Page 62: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

44

MASUK

PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS

MENGGUNAKAN LOGIKA FUZZY

gambar

Gambar 3.14 Rancangan Antar Muka Form Utama

3.7.2 Form Perhitungan

Dalam form perhitungan terdapat 2 menu utama yaitu File dan Help. Menu

File mempunyai sub menu yaitu sub menu Aturan Logika Fuzzy berfungsi untuk

menuju form Aturan Logika Fuzzy yang menampilkan aturan-aturan fuzzy yang di

pakai dalam perhitungan program. Dan sub menu keluar berfungsi untuk keluar

dari program. Menu Help mempunyai sub menu yaitu Petunjuk dan About. Sub

menu petunjuk berfungsi untuk menuju ke form petunjuk yang menampilkan

petunjuk penggunaan program. Sub menu About untuk menampilkan profile

penulis. Di form ini, user diminta memasukkan inputan yaitu jumlah kendaraan

berdasarkan jenisnya yaitu LV, HV, dan MC. Sebelum memasukkan inputan

jumlah kendaraan, user di minta untuk memilih jumlah inputan (jumlah putaran

lampu merah) terlebih dahulu. Tombol input berfungsi untuk memasukkan

inputan data. Kotakan output untuk menampilkan hasil perhitungan yaitu waktu

lampu hijau menyala setiap jalurnya. Setelah semua data dimasukkan, tombol

lihat data inputan akan aktif, tombol ini berfungsi untuk menampilkan data-data

Page 63: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

45

yang telah di inputkan. Tombol ubah berfungsi untuk megubah data inputan.

Tombol (<) dan (>) berfungsi untuk bergeser ke data sebelumnya dan sesudahnya.

Tombol proses untuk melakukan perhitungan dan menampilkan output. Tombol

proses akan aktif apabila data inputan sudah dimasukkan semua. Tombol detail

perhitungan untuk menampilkan derajat keanggotaan dan α-predikat (fire

strength) setiap jalur. Tombol detail perhitungan akan aktif apabila tombol proses

sudah ditekan. Tombol ubah batas himpunan digunakan untuk menuju ke form

maintenance batas himpunan. Tombol refresh untuk menampilkan halaman

perhitungan yang baru. Dan tombol keluar berfungsi untuk keluar dari program.

Page 64: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

46

File Help PERHITUNGAN WAKTU LAMPU HIJAU MENYALA

LV : Kendaraan ( mobil penumpang ) HV : Kendaraan Berat (Bis, Truk, dll) MC : Sepeda Motor

Waktu Lampu Hijau Menyala : JALUR SELATAN detik JALUR BARAT detik JALUR UTARA detik JALUR TIMUR detik

KELUAR

OUTPUT

LIHAT DATA INPUTAN

DETAIL PERHITUNGAN

PROSES

Jumlah Inputan JALUR SELATAN LV HV MC JALUR BARAT LV HV MC JALUR UTARA LV HV MC JALUR TIMUR LV HV MC

>

1

< UBAH INPUT

INPUTAN

UBAH BATAS HIMPUNAN

REFRESH

Gambar 3.15 Rancangan Antar Muka Form Perhitungan

3.7.3 Form Maintenance Batas Himpunan

Form ini berfungsi untuk mengubah batas-batas himpunan untuk masing-

masing variabel. Dalam form Maintenance Batas Himpunan terdapat 2

Page 65: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

47

tabbedPane yaitu tab variabel jalur dan tab variabel lampu hijau. Dalam setiap tab

terdapat combobox untuk memilih variabel-variabel dan textfield untuk

mengisikan inputan batas himpunan masing-masing variabel. Tombol Ubah untuk

mengaktifkan textfield dan meng-edit data batas-batas himpunan. Tombol Simpan

untuk menyimpan hasil perubahan ke dalam database dan menampilkan

perubahan pada tabel yang terdapat pada form Maintenance Batas Himpunan.

Nama Variabel

Batas TP

Batas CP

Batas P

Batas SP

Tabel Batas Himpunan

UBAH SIMPAN

Nama Variabel Batas TP Batas CP Batas P Batas SP

Smp/ antrian

Smp/ antrian

Smp/ antrian

Smp/ antrian

KEMBALI

Jalur S

Variabel Lampu HijauVariabel Jalur

Gambar 3.16 Rancangan Antar Muka Form Maintenance Batas Himpunan

3.7.4 Form Detail Perhitungan

Form detail perhitungan berfungsi untuk menampilkan data inputan, derajat

keanggotaan, α-predikat (fire strength) dan nilai z untuk setiap jalur.

Page 66: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

48

... ... R16 … ... … ... … … … …

R2 … ... … ... … … … …

R1 … ... … ... … … … …

Aturan predikat z predikat z predikat z predikat z

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur

Alfa Predikat

Nilai Z ... ... ... ...

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur

Nilai Z

miu_SangatPadat … … … ...

miu_Padat … … … …

miu_CukupPadat … … … …

miu_TidakPadat ... … … …

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur

Derajat Keanggotaan

DETAIL PERHITUNGAN

Jalur Timur : … smp/jam

Jalur Utara : … smp/jam

Jalur Barat : … smp/jam

Jalur Selatan : … smp/jam

Data Inputan

Gambar 3.17 Rancangan Antar Muka Form Detail Perhitungan

Page 67: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB IV

IMPLEMENTASI DAN ANALISA HASIL

4.1 Implementasi

Perancangan sistem yang sudah dilakukan selanjutnya diimplementasikan

ke dalam program. Program dibuat dengan menggunakan bahasa pemrograman

Java.

4.1.1 Implementasi Fungsi Keanggotaan

Implementasi fungsi keanggotaan setiap variabel digunakan untuk

menyatakan daerah fungsi keanggotaan yang berada dalam suatu interval tertentu.

Sebagai contoh untuk variabel Jalur Selatan, pencarian derajat keanggotaan untuk

masing-masing fungsi keanggotaannya dapat dilihat pada potongan program di

bawah ini :

class Jalur_S { public double jml_S = rata_akhir_S; public double S_1 = BatasHimp.JalurS_Batas1(); public double S_2 = BatasHimp.JalurS_Batas2(); public double S_3 = BatasHimp.JalurS_Batas3(); public double S_4 = BatasHimp.JalurS_Batas4(); public double hsl_S; public double TP() { if ((jml_S <= S_1)) { return 1; } else if ((jml_S >= S_1) && (jml_S <= S_2)) { hsl_S=(S_2 - jml_S) / (S_2 – S_1); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else { return 0; } } public double CP() { if ((jml_S <= S_1) && (jml_S >= S_3)) { return 0;

49

Page 68: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

50

} else if ((jml_S >= S_1) && (jml_S <= S_2)) { hsl_S = (jml_S - S_1) / (S_2 – S_1); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else if ((jml_S >= S_2) && (jml_S <= S_3)) { hsl_S = (S_3 - jml_S) / (S_3 – S_2); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else { return 0; } } public double P() { if ((jml_S <= S_2) && (jml_S >= S_4)) { return 0; } else if ((jml_S >= S_2) && (jml_S <= S_3)) { hsl_S = (jml_S - S_2) / (S_3 – S_2); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else if ((jml_S >= S_3) && (jml_S <= S_4)) { hsl_S = (S_4 - jml_S) / (S_4 – S_3); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else { return 0; } } public double SP() { if ((jml_S <= S_3)) { return 0; } else if ((jml_S >= S_3) && (jml_S <= S_4)) { hsl_S = (jml_S - S_3) / (S_4 – S_3); if(hsl_S>1){ return 1; } else{ return hsl_S; } } else if ((jml_S >= S_4)) { return 1; } else { return 0; } } }

Page 69: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

51

Listing program di atas digunakan untuk mencari derajat keanggotaan

untuk setiap fungsi keanggotaan dari suatu masukan jml_S. Variabel S_1, S_2,

S_3, S_4 merupakan variabel-variabel batas himpunan untuk jalur selatan yang

diambil dari database.

4.1.2 Implementasi Aturan Kabur

Implementasi aturan kabur setiap variabel untuk menghitung nilai z untuk

setiap aturan dengan menggunakan fungsi MIN pada aplikasi fungsi implikasinya.

Untuk aturan jalur selatan di pengaruhi oleh jalur sebelah kirinya yaitu jalur barat.

Sebagai contoh aturan untuk jalur selatan dapat dilihat pada potongan program di

bawah ini :

double LampuS_1 = BatasHimp.LampuHijauS_Batas1(); double LampuS_2 = BatasHimp.LampuHijauS_Batas2(); double LampuS_3 = BatasHimp.LampuHijauS_Batas3(); double LampuS_4 = BatasHimp.LampuHijauS_Batas4(); output_rule_s = new double[16]; u_output_s = new double[16]; // R1 output_rule_s[0] = Find_Min(u_jalur_s_tp, u_jalur_b_tp); u_output_s[0] = LampuS_2 - (2 * output_rule_s[0]); // R2 output_rule_s[1] = Find_Min(u_jalur_s_tp, u_jalur_b_cp); u_output_s[1] = LampuS_2 - (2 * output_rule_s[1]); // R3 output_rule_s[2] = Find_Min(u_jalur_s_tp, u_jalur_b_p); u_output_s[2] = LampuS_2 - (2 * output_rule_s[2]); // R4 output_rule_s[3] = Find_Min(u_jalur_s_tp, u_jalur_b_sp); u_output_s[3] = LampuS_2 - (2 * output_rule_s[3]); // R5 output_rule_s[4] = Find_Min(u_jalur_s_cp, u_jalur_b_tp); u_output_s[4] = LampuS_1 + (2 * output_rule_s[4]); // R6 output_rule_s[5] = Find_Min(u_jalur_s_cp, u_jalur_b_cp); u_output_s[5] = LampuS_1 + (2 * output_rule_s[5]); // R7

Page 70: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

52

output_rule_s[6] = Find_Min(u_jalur_s_cp, u_jalur_b_p); u_output_s[6] = LampuS_2 - (2 * output_rule_s[6]); // R8 output_rule_s[7] = Find_Min(u_jalur_s_cp, u_jalur_b_sp); u_output_s[7] = LampuS_2 - (2 * output_rule_s[7]); // R9 output_rule_s[8] = Find_Min(u_jalur_s_p, u_jalur_b_tp); u_output_s[8] = LampuS_2 + (4 * output_rule_s[8]); // R10 output_rule_s[9] = Find_Min(u_jalur_s_p, u_jalur_b_cp); u_output_s[9] = LampuS_2 + (4 * output_rule_s[9]); // R11 output_rule_s[10] = Find_Min(u_jalur_s_p, u_jalur_b_p); u_output_s[10] = LampuS_3 - (4 * output_rule_s[10]); // R12 output_rule_s[11] = Find_Min(u_jalur_s_p, u_jalur_b_sp); u_output_s[11] = LampuS_3 - (4 * output_rule_s[11]); // R13 output_rule_s[12] = Find_Min(u_jalur_s_sp, u_jalur_b_tp); u_output_s[12] = LampuS_3 + (3 * output_rule_s[12]); // R14 output_rule_s[13] = Find_Min(u_jalur_s_sp, u_jalur_b_cp); u_output_s[13] = LampuS_3 + (3 * output_rule_s[13]); // R15 output_rule_s[14] = Find_Min(u_jalur_s_sp, u_jalur_b_p); u_output_s[14] = LampuS_4 - (3 * output_rule_s[14]); // R16 output_rule_s[15] = Find_Min(u_jalur_s_sp, u_jalur_b_sp); u_output_s[15] = LampuS_4 - (3 * output_rule_s[15]);

Pada listing program di atas, variabel LampuS_1, LampuS_2, LampuS_3,

LampuS_4 merupakan variabel-variabel batas himpunan untuk LampuHijauS

yang diambil dari database.

4.1.3 Implementasi Hitung Rata-Rata Terbobot

Setelah masing-masing variabel mendapatkan nilai α-predikat dan z untuk

setiap aturan maka Z untuk setiap jalur dapat dicari dengan cara menghitung rata-

rata terbobot sebagai berikut :

Page 71: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

53

∑=

=

−16

1)(*

n

ipredikatizi α

Z =

∑=

=

−16

1

n

ipredikatiα

Sebagai contoh implementasi hitung rata-rata terbobot untuk jalur selatan dapat

dilihat pada potongan program di bawah ini :

double s = 0; double temp_s1 = 0; double temp_s2 = 0; for(int i=0;i<16;i++){ temp_s1 += output_rule_s[i] * u_output_s[i]; temp_s2 += output_rule_s[i]; } s = temp_s1 / temp_s2;

Waktu lampu hijau menyala yang ditampilkan pada program merupakan hasil

pembulatan.

4.2 Hasil Implementasi

4.2.1 Form Utama

Gambar 4.1 Form Utama

Page 72: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

54

Pertama kali user masuk program, akan ditampilkan form utama. Pada

form Utama terdapat tombol Masuk yang berfungsi untuk menuju ke form

Perhitungan.

4.2.2 Form Perhitungan

Form Perhitungan merupakan tampilan yang berfungsi untuk menginputkan

data jumlah kendaraan, memprosesnya dan menampilkan output waktu lampu

hijau menyala. Pada form perhitungan terdapat 2 menu yaitu menu File dan menu

Help. Menu File terdiri dari 2 sub menu yaitu Aturan Logika Fuzzy yang

berfungsi untuk menuju ke form aturan logika fuzzy yang menampilkan aturan-

aturan logika fuzzy yang dipakai dalam program serta cara pembacaan aturan

tersebut. Serta sub menu keluar yang berfungsi untuk keluar dari program. Menu

Help terdiri dari 2 sub menu yaitu sub menu petunjuk berfungsi untuk menuju ke

form petunjuk yang menampilkan petunjuk penggunaan program. Sub menu

About untuk menampilkan profile penulis. Di form ini, user diminta memasukkan

inputan yaitu jumlah kendaraan berdasarkan jenisnya yaitu LV, HV, dan MC.

Sebelum memasukkan inputan jumlah kendaraan, user di minta untuk memilih

jumlah inputan (jumlah putaran lampu merah) terlebih dahulu. Tombol input

berfungsi untuk memasukkan inputan data. Kotakan output untuk menampilkan

hasil perhitungan yaitu waktu lampu hijau menyala setiap jalurnya dalam satuan

detik. Setelah semua data dimasukkan, tombol lihat data inputan akan aktif,

tombol ini berfungsi untuk menampilkan data-data yang telah di inputkan.

Tombol ubah berfungsi untuk megubah data inputan. Tombol (<) dan (>)

Page 73: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

55

berfungsi untuk bergeser ke data sebelumnya dan sesudahnya. Tombol proses

untuk melakukan perhitungan dan menampilkan output. Tombol proses akan aktif

apabila data inputan sudah dimasukkan semua. Tombol detail perhitungan untuk

menampilkan derajat keanggotaan dan α-predikat (fire strength) setiap jalur.

Tombol detail perhitungan akan aktif apabila tombol proses sudah ditekan.

Tombol ubah batas himpunan digunakan untuk menuju ke form maintenance batas

himpunan. Tombol refresh untuk menampilkan halaman perhitungan yang baru.

Dan tombol keluar berfungsi untuk keluar dari program.

Gambar 4.2 Form Perhitungan

Page 74: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

56

4.2.3 Form Maintenance Batas Himpunan

Form Maintenance Batas Himpunan digunakan untuk menset-up nilai

batas himpunan untuk masing-masing variabel yang nantinya digunakan untuk

menghitung nilai derajat keanggotaan. Pada Form Maintenance Batas Himpunan

terdapat 2 TabbedPane yaitu TabbedPane Variabel Jalur untuk menampilkan dan

menset-up batas himpunan untuk variabel jalur dan TabbedPane Variabel Lampu

Hijau menampilkan dan menset-up batas himpunan untuk variabel lampu hijau.

Tombol Ubah berfungsi untuk mengubah textfield menjadi editable sehingga data

dalam textfield dapat diubah dengan data yang baru. Tombol Simpan berfungsi

untuk menyimpan perubahan data ke dalam tabel batas himpunan. Tombol simpan

akan aktif apabila tombol ubah sudah di tekan. Tombol kembali berfungsi untuk

menuju ke form perhitungan.

Gambar 4.3 Form Maintenance Batas Himpunan untuk Variabel Jalur

Page 75: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

57

Gambar 4.4 Form Maintenance Batas Himpunan untuk Variabel Lampu Hijau

4.2.4 Form Detail Perhitungan

Gambar 4.5 Form Detail Perhitungan

Page 76: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

58

Form detail perhitungan berfungsi untuk menampilkan detail

perhitungan dari program. Form ini menampilkan data inputan, derajat

keanggotaan ,α-predikat (fire strength) dan nilai Z untuk setiap jalur.

4.3 Analisa Hasil

Pengaturan lampu lalu lintas yang baik, sebaiknya dapat menyesuaikan diri

dengan kepadatan lalu lintas pada tiap jalurnya. Jumlah kepadatan lalu lintas

bersifat tidak tegas ( kabur ) mengakibatkan munculnya asumsi-asumsi yang

berbeda-beda, oleh karena itu Logika Fuzzy cocok diterapkan dalam pengaturan

lampu lalu lintas. Logika Fuzzy dapat mengubah sifat tidak tegas tersebut ke

dalam model matematis. Dengan menggunakan Logika Fuzzy, dapat di prediksi

waktu lampu hijau menyala sesuai dengan kepadatan pada tiap-tiap jalur sehingga

kepadatan atau antrian dapat diminimalkan. Hal ini dapat terlihat pada contoh

perbandingan berikut :

Misalkan data jumlah kendaraan di ambil dari pengambilan data pada hari

senin tanggal 31 Maret 2008 ( data dapat dilihat pada lampiran ) :

Tabel 4.1 Tabel Data Mentah Jumlah Kendaraan

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur I II III IV I II III IV I II III IV I II III IVLV 5 5 5 4 15 12 16 17 4 4 2 2 13 9 5 6 HV 1 0 1 0 5 3 8 6 0 0 1 3 5 2 5 4 MC 25 29 25 31 79 74 72 54 26 28 36 17 64 50 51 58

Page 77: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

59

Tabel 4.2 Tabel Data Jumlah Kendaraan yang sudah dikonfersikan ke dalam smp

Jalur Selatan Jalur Barat Jalur Utara Jalur Timur I II III IV I II III IV I II III IV I II III IV LV 5 5 5 4 15 12 16 17 4 4 2 2 13 9 5 6

HV 1,3 0 1,3 0 6,5 3,9 10,4 7,8 0 0 1,3 3,9 6,5 2,6 6,5 5,2

MC 5 5,8 5 6,2 15,8 14,8 14,4 10,8 5,2 5,6 7,2 3,4 12,8 10 10,2 11,6

11,3 10,8 11,3 10,2 37,3 34,6 36,9 31,7 9,2 9,6 10,5 9,3 32,3 21,6 21,7 22,8

Rata2 10,9 35,1 9,7 24,6

Dari rata-rata kepadatan tiap-tiap jalur di atas, maka dapat dilihat

perbandingan lampu hijau yang sebenarnya dengan lampu hijau hasil perhitungan

dari program, dapat dilihat pada tabel 4.3 berikut :

Tabel 4.3 Tabel perbandingan lampu hijau

Jalur Lampu Hijau Sebenarnya

Lampu Hijau Hasil Perhitungan

Program S 22 15 B 40 36 U 19 18 T 30 26

Dari tabel perbandingan lampu hijau di atas, dapat dilihat perbedaan waktu

lampu hijau menyala yang dihasilkan oleh program lebih cepat dibandingkan

dengan lampu hijau sebenarnya. Lampu hijau hasil perhitungan program dihitung

sesuai dengan jumlah kendaraan / kepadatan tiap-tiap jalur. Selain itu program

juga memperhatikan jumlah kendaraan/ kepadatan pada jalur yang menunggu

(jalur sebelah kirinya). Sehingga antrian pada perempatan UPN Yogyakarta dapat

berkurang atau bahkan dapat melintas seluruhnya. Untuk melihat antrian dapat

Page 78: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

60

berkurang atau bahkan dapat melintas seluruhnya harus dilakukan pengujian

terlebih dahulu pada perempatan UPN Yogyakarta.

Keluaran yang dihasilkan program juga dipengaruhi oleh pendefinisian

fungsi keanggotaan masukan, pendefinisian aturan fuzzy yang sudah ditetapkan

dan pendefinisian fungsi keanggotaan keluaran.

Tabel 4.4 Tabel batas himpunan variabel jalur

Nama Variabel

Batas Himpunan TP

Batas Himpunan CP

Batas Himpunan P

Batas Himpunan SP

Jalur S 2,2 8,4 14,6 20,8 Jalur T 9,9 19,1 28,3 37,5 Jalur U 3 7,2 11,4 15,6 Jalur B 13,4 29,7 46 62,3

Tabel 4.5 Tabel batas himpunan variabel lampu hijau

Nama Variabel Batas Himpunan C

Batas Himpunan AC

Batas Himpunan AL

Batas Himpunan L

LampuHijau S 11 15 19 23 LampuHijau T 22 26 30 34 LampuHijau U 14 18 22 26 LampuHijau B 32 36 40 44

Apabila batas-batas himpunan di-set seperti pada tabel 4.4 dan tabel 4.5 di

atas dan dengan data inputan jumlah kendaraan pada tabel 4.1, maka keluaran

program dapat dilihat pada tabel 4.6 berikut :

Tabel 4.6 Tabel Keluaran program

Jalur Lampu Hijau

Hasil Perhitungan Program

S 15 B 36 U 18 T 26

Page 79: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

61

Dan apabila batas-batas himpunan diubah seperti terlihat di bawah ini :

Tabel 4.7 Tabel batas himpunan variabel jalur yang diubah

Nama Variabel

Batas Himpunan TP

Batas Himpunan CP

Batas Himpunan P

Batas Himpunan SP

Jalur S 4,2 9,3 18,6 24,8 Jalur T 13,9 18,5 32,3 41,5 Jalur U 7 11,2 17,5 19,6 Jalur B 17,4 33,7 58,2 66,4

Tabel 4.8 Tabel batas himpunan variabel lampu hijau yang diubah

Nama Variabel Batas Himpunan C

Batas Himpunan AC

Batas Himpunan AL

Batas Himpunan L

LampuHijau S 15 17 21 24 LampuHijau T 26 28 32 35 LampuHijau U 17 20 24 26 LampuHijau B 35 38 42 44

Batas-batas himpunan di-set seperti pada tabel 4.7 dan tabel 4.8 di atas dan

dengan data inputan jumlah kendaraan pada tabel 4.1, maka keluaran program

dapat dilihat pada tabel 4.9 berikut :

Tabel 4.9 Tabel Keluaran program

Jalur Lampu Hijau

Hasil Perhitungan Program

S 17 B 37 U 18 T 29

Dari contoh perbandingan tabel 4.4 sampai dengan tabel 4.9 di atas, dapat

dilihat bahwa batas-batas himpunan fungsi keanggotaan mempengaruhi keluaran

program. Apabila nilai dari batas-batas himpunan fungsi keanggotaan ditambah

Page 80: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

62

maka keluaran program berupa waktu lampu hijau menyala juga akan bertambah.

Dan sebaliknya, apabila nilai batas-batas himpunan fungsi keanggotaan dikurangi

maka waktu lampu hijau menyala juga akan berkurang.

Apabila program ini benar-benar diterapkan pada keadaan nyata, maka

permasalahan utamanya adalah perangkat keras tambahan yang terdiri dari :

sensor, lampu lalu lintas, dan lain-lain. Sensor digunakan untuk mengambil data

jumlah kendaraan. Selain permasalahan perangkat keras, sebaiknya program

terlebih dahulu dikonsultasikan kepada yang berpengalaman dalam bidang

pengaturan lalu lintas, yatu polisi lalu lintas dan DLLAJR.

Page 81: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

BAB V

PENUTUP

5.1 Kesimpulan

Dari Program Bantu Pengaturan Lampu Lalu Lintas Menggunakan Logika

Fuzzy maka dapat ditarik kesimpulan yaitu :

1. Logika Fuzzy membantu mengatasi kondisi ketidaktegasan (kabur) jumlah

kepadatan lalu lintas akibat pemahaman yang berbeda-beda.

2. Dengan menggunakan Logika Fuzzy, keluaran waktu lampu hijau menyala

sesuai dengan jumlah kepadatan pada tiap-tiap jalur dengan

memperhatikan juga jalur yang menunggu sehingga antrian kendaraan pada

perempatan UPN Yogyakarta dapat berkurang atau bahkan dapat melintas

seluruhnya. Keluaran program juga dipengaruhi oleh pendefinisian fungsi

keanggotaan masukan, pendefinisian aturan fuzzy dan pendefinisian fungsi

keanggotaan keluaran.

5.2 Saran

Beberapa saran untuk mendapatkan Program Bantu Pengaturan Lampu Lalu

Lintas yang lebih baik dan bermanfaat, yaitu :

1. Program diharapkan dapat dikembangkan dengan metode-metode fuzzy

yang lain sehingga dapat dihasilkan output yang lebih optimal.

2. Program diharapkan dapat dikembangkan untuk persimpangan-

persimpangan lain seperti pertigaan.

63

Page 82: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

64

3. Program dapat di tambah dengan simulasi untuk memperjelas tujuan dari

program.

Page 83: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

DAFTAR PUSTAKA

Kadir,Abdul. (2004). Dasar Pemrograman Java 2. Yogyakarta: Andi Offset. Kuswijayanti, Trivita. (2006). Penerapan Logika Fuzzy Dalam Sistem Pendukung

Keputusan Pembelian Ponsel. Skripsi, F. Teknik USD. Yogyakarta. Manual Kapasitas Jalan Indonesia (MKJI). (1997). Yogyakarta : Direktorat

Jenderal Bina Marga. Oktriono, Kristianus. (2004). Simulasi Kendali Lampu Lalu Lintas Berbasis

Logika Kabur. Skripsi, F. Matematika dan Ilmu Pengetahuan Alam USD. Yogyakarta.

Sri Kusumadewi & Hari Purnomo. (2004). Aplikasi Logika Fuzzy untuk

Pendukung Keputusan. Yogyakarta: Graha Ilmu. Susilo, Frans. (2003). Pengantar Himpunan dan Logika Kabur serta Aplikasinya.

Yogyakarta : Penerbit Universitas Sanata Dharma. (2006). Himpunan dan Logika Kabur serta Aplikasinya.

Yogyakarta: Graha Ilmu.

Page 84: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

LAMPIRAN

Page 85: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

Data Jumlah Kendaraan Hasil Studi Lapangan ( data mentah )

Pengamatan lapangan dilakukan pada tanggal 31 Maret 2008 sampai 6 April 2008, dengan

waktu pengambilan data yang berbeda-beda. Pengambilan data dilakukan dengan cara menghitung

jumlah kendaraan untuk setiap jenisnya yaitu LV, HV, dan MC pada saat lampu merah menyala.

Keterangan : I, II, III, IV = satu putaran/ lampu merah

JALUR SELATAN

31 Maret 2008 1 April 2008 2 April 2008 4 April 2008 I II III IV I II III IV I II III IV I II III IV LV 5 5 5 4 9 8 10 7 4 2 3 2 7 7 6 6 HV 1 0 1 0 1 0 2 2 0 0 0 0 1 1 1 1 MC 25 29 25 31 39 45 41 40 32 22 28 38 41 37 30 38

5 April 2008 6 April 2008(pagi) 6 April 2008 (siang) I II III IV I II III IV I II III IV LV 5 3 7 6 1 3 2 2 7 2 8 5 HV 0 0 0 0 0 0 0 0 0 0 0 0 MC 25 19 26 24 6 7 7 13 24 20 18 29

JALUR BARAT

31 Maret 2008 1 April 2008 2 April 2008 4 April 2008 I II III IV I II III IV I II III IV I II III IV LV 15 12 16 17 42 35 39 40 6 9 17 21 14 10 22 7 HV 5 3 8 6 6 5 7 8 3 1 3 4 8 6 8 5 MC 79 74 72 54 59 63 65 60 46 36 48 38 53 50 58 45

5 April 2008 6 April 2008(pagi) 6 April 2008(siang) I II III IV I II III IV I II III IV LV 19 18 20 16 9 10 20 15 20 27 19 29 HV 3 2 4 2 0 0 4 1 4 5 3 5 MC 70 52 65 68 22 30 46 40 40 38 49 50

Page 86: PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS …repository.usd.ac.id/32343/2/045314043_Full.pdf · 5. Seluruh Dosen, Laboran, Staf Sekretariat, dan karyawan Jurusan Teknik Informatika

JALUR UTARA

31 Maret 2008 1 April 2008 2 April 2008 4 April 2008 I II III IV I II III IV I II III IV I II III IV LV 4 4 2 2 8 7 5 3 1 4 4 1 6 4 3 3 HV 0 0 1 3 0 0 1 2 1 0 1 0 0 0 1 0 MC 26 28 36 17 33 42 29 26 15 14 11 15 23 24 20 17

5 April 2008 6 April 2008(pagi) 6 April 2008(siang) I II III IV I II III IV I II III IV LV 3 2 4 7 3 2 1 2 3 5 2 1 HV 0 0 0 0 0 0 0 0 0 0 0 0 MC 15 21 18 17 6 6 10 14 6 11 7 14

JALUR TIMUR

31 Maret 2008 1 April 2008 2 April 2008 4 April 2008 I II III IV I II III IV I II III IV I II III IV LV 13 9 5 6 8 12 16 11 9 7 9 13 14 7 14 14 HV 5 2 5 4 5 9 2 3 1 1 6 0 6 8 9 6 MC 64 50 51 58 40 38 39 40 22 30 25 29 42 36 38 34

5 April 2008 6 April 2008(pagi) 6 April 2008 (siang) I II III IV I II III IV I II III IV LV 16 17 13 12 6 4 8 6 13 18 10 12 HV 9 5 7 8 0 1 2 2 1 2 3 2 MC 49 56 57 60 27 23 16 20 20 35 31 38