PROGRAM BANTU PENGATURAN LAMPU LALU LINTAS MENGGUNAKAN LOGIKA FUZZY ( Studi Kasus : Perempatan Ringroad UPN Yogyakarta ) TUGAS AKHIR - Program bantu pengaturan lampu lalu lintas mengunakan logika fuzzy : studi kasus perempatan ringroad UPN Yogyakarta - US
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
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
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 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 TerkasihBila 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)
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.
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.
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
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
DAFTAR ISI HALAMAN JUDUL -------------------------------------------------------------- i
HALAMAN PERSETUJUAN ------------------------------------------------- iii
HALAMAN PENGESAHAN -------------------------------------------------- ivHALAMAN PERNYATAAN -------------------------------------------------- vi
HALAMAN PERSEMBAHAN ------------------------------------------------ vii
MOTTO ---------------------------------------------------------------------------- viii
ABSTRAKSI ---------------------------------------------------------------------- ix ABSTRACT ---------------------------------------------------------------------- x KATA PENGANTAR ----------------------------------------------------------- xiDAFTAR 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.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.
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
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 Untuk Halaman Perhitungan
39 Flowchart
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
47 Himpunan
3.17 Rancangan Antar Muka Form Detail Perhitungan
48
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
DAFTAR TABEL
Tabel Keterangan Halaman
60
59
4.3 Tabel perbandingan lampu hijau
59
4.4 Tabel batas himpunan variabel jalur
60
4.5 Tabel batas himpunan variabel lampu hijau
4.6 Tabel Keluaran Program
58
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
4.2 Tabel Data Jumlah Kendaraan yang sudah dikonversikan ke dalam smp
4.1 Tabel Data Mentah Jumlah Kendaraan
2.1 Tabel Ekivalen Mobil Penumpang
36
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
3.4 Derajat Keanggotaan
43
37
3.5 α-predikat dan z
37
3.6 Nilai Z
38
3.7 Tabel BatasHimp
61
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 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 . 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.
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.
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 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.
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
2
(x) = ( (x)) µ Kon(Ã) µ Ã untuk setiap x
Є X, sedangkan istilah “agak A” dikaitkan dengan himpunan kabur
dari Ã, dengan lambang Dil(Ã) dan fungsi keanggotaan
dilasi 1/2
µ Dil(Ã) (x) = ( µ Ã (x)) 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 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).
Fungsi Keanggotaan : 0; x ≤ a
1
µ[x]
µ[x] = (x – a) / (b – a) a ≤ x ≤ b
1; x ≥ b
domain a b
Gambar 2.1 Representasi Linear NaikFungsi Keanggotaan :
1
(b – x) / (b-a) a ≤ x ≤ b
µ[x]
µ[x] = 0; x ≥ b
a domain b
Gambar 2.2 Representasi Linear Turunb. Representasi Kurva Segitiga Kurva Segitiga pada dasarnya merupakan gabungan antara garis (linear) seperti terlihat pada Gambar 2.3.
Fungsi Keanggotaan : 0; x ≤ a atau x ≥ c
1
µ[x] = (x-a)/(b-a) a ≤ x ≤ b
µ[x]
(c-x)/(c-b) b ≤ x ≤ c
a b c domain
Gambar 2.3 Representasi Kurva Segitigac. 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 Bahu2.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.
fire strength atau
α-predikat. Ada 3 operator dasar yang diciptakan oleh Zadeh, yaitu : a. Operator AND Operator ini berhubungan dengan operasi intersection pada himpunan.
α- predika t sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan. A = min ( A [x] , B [y] )
µ ∩B µ µ
b. Operator O R Operator i ni berhubungan dengan operasi union pada himpunan.
α- predika t sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan. AuB = max ( A , B ) [x] [y]
µ µ µ
c. Operator N OT Operator ini berhubungan dengan operasi komplemen pada himpunan.
α- predika t sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1. A' = 1- A [x]
µ µ
2.1.5 Aturan Jika-Maka
Aturan kabur if-then merupakan suatu keadaan yang dapat dinyatakan dengan :
IF <fuzzy proposition 1> THEN < fuzzy proposition 2> Atau
IF <FP1> THEN <FP2> Suatu fuzz y propo sitio n dapat terbentuk dari :
1. Atomic Fuzzy Proposition Adalah suatu pernyataan tu nggal Contoh : a adalah X di mana X ad alah nilai dari variable linguistic a.
2 . Compound Fuzzy Proposition Merupakan penggabungan dari atomic proposition mempergunakan penghubung “dan”, “atau”, dan “tidak” Contoh : a adalah X dan b adalah Y, X nilai dari varaibel linguistic a, dan Y adalah nilai dari variable linguistic b.
2.1.6 Fungsi Implikasi
Tiap-tiap aturan (proposisi) pada basis pengetahuan fuzzy akan berhub ungan dengan suatu relasi fuzzy. Bentuk umum dari aturan yang digunakan dalam fungsi implikasi adalah :
IF x is A THEN y is B Secara umu m ada 2 fungsi implikasi ya ng dapat digunakan, yaitu :
a. Min (minimum) Fungsi ini akan m emotong output himpunan fuzzy. b. Dot (product) Fungsi ini akan menskala output himpunan fuzzy.
2.1.7 Sistem kendali Logika Kabur
Kendali Logika Kabur (Fuzzy Logic Control) merupakan suatu piranti yang d 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 kabur1. Unit Pen gaburan Sistem kendali log ika kabur bekerja dengan kaidah dan masukan kabur.
Lan 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 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 :
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 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
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 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(Ã)}.
Є à| µ a + b Apabila M = [a,b], maka t(Ã) = Bila himpunan kabur à terdefinisi
2 didefinisikan sebagai rerata dari semua nilai dalam himpunan tegas M = {x, Є
X | µ Ã (x i )} = 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 x adalah pusat dari himpunan kabur à dan b = Tinggi (à ).
i i i 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 :
Bila x
1 adalah A i1 dan ... dan x n adalah A in , maka y adalah B i
di mana B i adalah predikat kabur yang direpresentasikan dengan himpunan kabur B dengan fungsi keanggotaan yang monoton untuk i = 1, ..., m (dengan m adalah
i
banyaknya kaidah dalam sistem itu). Maka setiap masukan x = (x i ,...,x n ) akan menghasilkan daya sulut w i yang mengimbas keluaran tegas y i untuk kaidah ke-i . kesimpulan akhir y diperoleh dengan menghitung rerata terbobot dari semua keluaran y i tersebut dengan bobot daya sulutnya, yaitu : m
wiyi ∑ i 1
=
y =
m w i
∑ i =1
di mana w i adalah daya sulut untuk kaidah ke-i. Sistem ini seringkali disebut Sistem Tsukamoto juga menyederhanakan komputasi sistem kabur Tsukamoto. 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 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.
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 PenumpangJenis kendaraan emp Kendaraan Ringan (LV) 1,0 Kendaraan Berat (HV) 1,3 Sepeda Motor (MC) 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).
- 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).
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 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 Fungsi keanggotaan pada jalur S dapat dirumuskan sebagai berikut : 1 xS ≤ 2,2µ [xS] = 8,4- xS 2,2 xS
TP
≤ ≤ 8,4 6,2 xS
≥ 8,4 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 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 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.