LOGIKA FUZZY DAN APLIKASINYA DALAM KEHIDUPAN SEHARI-HARI Pendahuluan Suatu system peralatan yang dikendalikan oleh komputer, terasa lebih canggih, lebih pintar, lebih otomatis, lebih praktis, lebih efisien, lebih
aman,
lebih
teliti
dan
sebagainya
yang
menunjukkan
keuntungan-keuntungan bila dibandingkan dengan pengerjaan yang dilakukan secara manual oleh manusia. Kecerdasan buatan atau system
yang
dikendalikan
oleh
komputer
tidak
akan
berubah
sepanjang sistem komputer & program tidak mengubahnya. Untuk
menciptakan
suatu
peralatan
yang
ditangani
oleh
komputer maka kita harus mempelajari suatu ilmu yaitu kecerdasan buatan. Ilmu ini mengkaji bagaimana suatu komputer bisa melakukan pekerjaan-pekerjaan yang biasa dilakukan oleh menusia. Tujuan utama dari kecerdasan buatan, yaitu: mengetahui dan memodelkan proses-proses berfikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia tersebut. Kemampuan komputer dapat diberdayakan melalui peningkatan kemampuan unjuk kerja perangkat keras (hardware) atau pada perangkat
lunak
(software)
atau
perpaduan
dari
keduanya.
Kemampuan inilah yang menjadi syarat untuk mewujudkan Modul sistem penggajian karyawan dan sistem Peralatan Pengaturan Lampu Lalulintas Berbasis Fuzzy Logic. System penggajian karyawan dan pengaturan Lampu lalulintas sangat diperlukan dalam kehidupan sehari-hari untuk itulah dibuat berbasis fuzzy logic agar dapat mempermudah kehidupan kita. Dengan
adanya system penggajian maka karyawan akan menerima gaji yang benar-benar sesuai dengan apa yang ia kerjakan karena mesin tidak mungkin melakukan korupsi. Sedangkan untuk pengaturan lampu lalulintas, adanya system ini akan meningkatkan kelancaran lalulintas serta keamanan dalam transportasi darat. Sistem pengendalian lampu lalulintas yang baik akan secara otomatis menyesuaikan diri dengan kepadatan arus lalulintas pada jalur yang diatur. Dengan penerapan logika
fuzzy hal-hal semacam ini sangat memungkinkan untuk
dilakukan. MODEL PENGGAJIAN PADA LINGKUNGAN FUZZY Misalkan untuk mengevaluasi suatu pekerjaan, ada m faktor yang berpengaruh, tiap-tiap faktor terdiri-dari n level. Sehingga faktor ke-i level ke-j dapat ditulis sebagai xij. Diasumsikan bahwa, level yang lebih tinggi pada suatu faktor (nilai j naik) menunjukkan bahwa kompleksitas pekerjaannya lebih tinggi. Hubungan ini dapat dituliskan sebagai: xij R xij-1, i=1,2,...,m dan j=1,2,...,n. dengan R adalah relasi ‘Lebih Kompleks’ Misalkan ditetapkan ada k pekerjaan yang akan digunakan sebagai basis untuk melakukan evaluasi (bechmark), maka benchmark ke-r adalah Zr(X). Level terendah dalam faktor ke-i adalah xi1, sedangkan level tertinggi dalam suatu faktor adalah xin. Jumlah skor pada level terendah harus ditetapkan lebih dari atau sama dengan suatu nilai tertentu (ci), sedangkan jumlah skor pada level tertinggi juga harus ditetapkan kurang dari atau sama dengan suatu nilai tertentu (wi). Ini dapat ditulis sebagai: Σxi1 ≥ ci;
(13)
Σxin ≤ wi;
(14)
dengan i=1,2,...,m. Pada (13) dan (14) dihitung secara sendiri-sendiri, artinya level terendah pada setiap faktor dibawa ke satu batasan. Sehingga untuk m faktor yang ada dibutuhkan m batasan untuk (13) dan m batasan pula untuk (14). Hal ini tentu saja akan menambah beban komputasi. Sehingga dengan cara ini cukup dibutuhkan 2 batasan saja. Juga perlu diperhatikan bahwa, dalam suatu faktor, harga suatu level harus lebih tinggi dibanding dengan harga level sebelumnya. Selisih yang diperbolehkan untuk kedua level dalam faktor ke-i tersebut minimum harus sama dengan ei. xij – xij-1 ≥ ei;
(15)
dengan i=1,2,...,m; dan j=1,2,...,n. Maka akan dicari berapakah nilai optimum untuk tiap-tiap level, agar dapat dihitung nilai untuk setiap benchmark. Jika nilai setiap bechmark ini sudah diketahui, maka dengan mudah kita dapat menentukan berapa gaji yang harus diterima oleh seorang karyawan dengan spesifikasi pekerjaannya. Dari (13), (14), dan (15) dapat disusun suatu model: Tentukan: X = xij;
dengan batasan: Zr(X) ~ dr; Σxi1 ≥ ci; Σxin ≤ wi; xij – xij-1 ≥ ei; xij ≥ 0; (i=1,2,...,m; dan j=1,2,...,n.)
(16)
Dengan menunjukkan kesamaan fuzzy. Kesamaan fuzzy ini dapat direpresentasikan sebagai kombinasi antara 2 ketidaksamaan fuzzy sebagai berikut: < ~ Zr(X) dr; dan > ~ Zr(X) dr.
Misalkan
Zmin
dan
(17) (18)
Zmax
masing-masing
adalah
nilai
benchmark
minimum dan nilai benchmark maksimum, maka fungsi keanggotaan untuk kesamaan fuzzy dapat didefinisikan sebagai berikut: 1. Fungsi keanggotaan µr(Zr) adalah fungsi yang tidak pernah turun (Gambar 2). Jika diasumsikan bahwa nilai 0 akan terjadi pada daerah Zr ≤ Zmin, dan fungsi akan naik secara monoton pada Zmin < Zr ≤ dr, maka dapat ditulis: 0; jika Zr ≤ Zmin Z − Z min µ r [Zr ] = r ; jika Zmin < Zr ≤ dr dr − Zmin 1; jika Zr > dr r = 0,1,2, Λ , k
(19)
Zr
1 µr[Zr] 0
Zmin
dr
Gambar 2 Fungsi keanggotaan µr(Zr): fungsi yang tidak pernah turun.
2. Fungsi keanggotaan µr(Zr) adalah fungsi yang tidak pernah naik (Gambar 3). Jika diasumsikan bahwa nilai 0 akan terjadi pada daerah Zr ≥ Zmax, dan fungsi akan turun secara monoton pada dr < Zr ≤ Zmax, maka dapat ditulis:
1; Z − Zr µ r [Zr ] = max ; Zmax − dr 0;
jika Zr ≤ dr jika dr < Zr ≤ Zmax
(20)
jika Zr > Zmax
r = 0,1,2, Λ , k
1
Zr
µr[Zr] 0
dr
Zmax
Gambar 3 Fungsi keanggotaan µr(Zr): fungsi yang tidak pernah naik.
Dengan menggunakan operator min (λ) dan fungsi keanggotaan pada (19) dan (20), maka (17) dan (18) dapat ditulis sebagai: Zr ≥ (dr – Zmin)λ + Zmin; Zr ≤ -(Zmax - dr)λ + Zmax;
(21) (22)
Dengan menggunakan (21) dan (22), model fuzzy (16) dapat diturunkan menjadi bentuk linear programming yang lebih sederhana, yaitu: Max
λ
(23)
dengan batasan: Zr - (dr – Zmin)λ ≥ Zmin; Zr + (Zmax - dr)λ ≤ Zmax; Σxi1 ≥ ci; Σxin ≤ wi; xij – xij-1 ≥ ei; xij ≥ 0;
(i=1,2,...,m; j=1,2,...,n; wi>ci) CONTOH KASUS Misalkan ada 3 faktor yang mempengaruhi evaluasi pekerjaan: x1 x2 x3
kompleksitas pekerjaan; kebutuhan akan pengawasan; ketahanan fisik
Tiap-tiap faktor terbagi menjadi 4 level (Tabel 1) Tabel 1: Level-level dalam tiap faktor. Level Ke-
Variabel
Keterangan
FAKTOR 1: Kompleksitas pekerjaan 1
x11
Rendah
2
x12
Menengah
3
x13
Cukup Tinggi
4
x14
Tinggi
FAKTOR 2: Kebutuhan pengawasan 1
x21
Sangat butuh
2
x22
Butuh
3
x23
Sedikit butuh
4
x24
Tidak butuh
FAKTOR 3: Ketahanan fisik 1
x31
Tidak perlu
2
x32
Sedikit perlu
3
x33
Perlu
4
x34
Sangat perlu
Ada 5 benchmark yang ditetapkan, yaitu: Z1(X) Z2(X) Z3(X) Z4(X) Z5(X)
dengan
= = = = =
x14 x14 x13 x12 x12
Z1(X)
+ + + + +
x24 x23 x23 x22 x21
+ + + + +
x34 x33 x32 x31 x32
merupakan
~ 100 ~ 90 ~ 80 ~ 70 ~ 60 peringkat
pekerjaan
tertinggi
dalam
organisasi. Toleransi yang ditetapkan untuk setiap benchmark seperti terlihat pada Tabel 2. Tabel 2: Toleransi yang ditetapkan untuk setiap benchmark. Benchmark ke-
Nilai tegas
(r)
(dr)
Toleransi
Batas
atas
bawah
atas
bawah
(Zmax - dr)
(dr – Zmin)
(Zmax)
(Zmin)
1
100
30
10
130
90
2
90
10
20
100
70
3
80
15
10
95
70
4
70
10
10
80
60
5
60
5
10
65
50
Level terendah dan tertinggi memiliki batasan sebagai berikut: Σxi1 ≥ 30; Σxi4 ≤ 150;
dengan i=1,2,3. Antara satu level dengan level sebelumnya dalam setiap faktor memiliki selisih nilai minimum 2: xij – xij-1 ≥ 4;
dengan i=1,2,3 dan j=1,2,3.
Solusi: Max
λ, dengan batasan: x14 + x24 + x34 + 30 λ ≤
130
x14 + x24 + x34 - 10 λ ≥
90
x14 + x23 + x33 + 10 λ ≤
100
x14 + x23 + x33 - 20 λ ≥
70
x13 + x23 + x32 + 15 λ ≤
95
x13 + x23 + x32 - 10 λ ≥
70
x12 + x22 + x31 + 10 λ ≤
80
x12 + x22 + x31 - 10 λ ≥
60
x12 + x21 + x32 + 5 λ ≤
65
x12 + x21 + x32 - 10 λ ≥
50
x11 + x21 + x31 ≥
30
x14 + x24 + x34 ≤ 150 x12 - x11 ≥ 4 x13 - x12 ≥ 4 x14 - x13 ≥ 4 x22 - x21 ≥ 4 x23 - x22 ≥ 4 x24 - x23 ≥ 4 x32 - x31 ≥ 4 x33 - x32 ≥ 4
x34 - x33 ≥ 4 xij ≥ 0 (i=1,2,...,m; j=1,2,...,n)
Bentuk di atas dapat diselesaikan dengan linear programming biasa. Hasil yang diperoleh, nilai λ = 0,92. Tabel 3 menunjukkan hasil yang dicapai untuk setiap level pada setiap faktor. Tabel 3: Nilai level setiap faktor. Level
Faktor 1
2
3
4
1
52,4
56,4
60,4
66
2
0
12,8
16,8
21,6
3
0
4
8
12
Dari hasil skor yang diperoleh untuk setiap level pada setiap faktor ini, akhirnya dapat ditentukan nilai untuk tiap-tiap benchmark seperti terangkum dalam tabel 4. Tabel 4: Skor baru untuk tiap benchmark.
Sehingga,
Benchmark ke-
Skor
1
99,6
2
90,8
3
79,2
4
69,2
5
56,4
apabila
gaji
karyawan
yang
bekerja
dengan
benchmark tertinggi ditetapkan sebesar Rp 100.000,-/hari, maka dapat ditetapkan gaji karyawan yang memiliki spesifikasi tertentu. Misalkan seorang karyawan yang pekerjaannya memiliki kompleksitas menengah (x12), tidak butuh pengawasan (x24), dan perlu ketahanan fisik (x33), akan dapat dihitung: Total skor:
x12 + x24 + x33 = 56,4 + 21,6 + 8 = 86
Gaji yang diperoleh per hari: 86 x Rp 100.000,− = Rp 86.345,− 99,6
Logika Fuzzy untuk Sistem Pengaturan Lampu Lalulintas Logika fuzzy dalam pengaturan lampu lalulintas amat diperlukan untuk memperlancar arus lalulintas. Dengan adanya system yang bekerja
secara
otomatis
diharapkan
angka
kecelakaan
yang
disebabkan oleh masalah lampu lalulintas dapat berkurang. Selain itu dengan adanya lampu lalulintas yang otomatis tentu saja akan mengurangi tugas polisi lalulintas, sehingga mereka bisa mengerjakan hal-hal lain yang belum teratasi. Permasalahan
utama
dalam
perancangan
dan
pembuatan
modell sistem peralatan pengaturan lampu lalulintas berbasis Fuzzy Logic ini, adalah perangkat keras tambahan yang terdiri dari : sensor, OpAmp, ADC 0809, Interfacing PPI 8255, Driver, Relay dan Lampu lalulintas (LL). Sedangkan sebagai dasar pengendalian dari sistem yang dijalankan, digunakan algoritma logika fuzzy. Untuk
memudahkan
pengendalian
lampu
lalulintas,
ada
beberapa istilah yang digunakan dalam pengendaliannya antara lain, untuk kepadatan jumlah kendaraan adalah : Tidak Padat (TP), Kurang Padat (KP), Cukup Padat (CP), Padat (P) dan Sangat Padat (SP). Sedangkan untuk lama nyala lampu LL adalah : Cepat (C), Agak Cepat (AC), Sedang (S), Agak Lama (AL) dan Lama (L). Jelas istilah-istilah tersebut
dapat
menimbulkan
makna
ganda
(ambiguity)
dalam
pengertiannya. Logika Fuzzy dapat mengubah makna ganda tersebut ke dalam model matematis sehingga dapat diproses lebih lanjut untuk dapat diterapkan dalam sistem kendali.
Menggunakan
teori
himpunan
Fuzzy,
logika
bahasa
dapat
diwakili oleh sebuah daerah yang mempunyai jangkauan tertentu yang menunjukkan derajat keanggotaannya (fungsi keanggotaan). Untuk kasus disini, sebut saja derajat keanggotaan itu adalah u(x) untuk x adalah jumlah kendaraan. Derajat keanggotaan tersebut mempunyaii nilai yang bergradasi sehingga mengurangi lonjakan pada system ini. Sistem pengendalian fuzzy yang dirancang untuk pengaturan lampu laulintas ini mempunyai dua masukan dan satu keluaran. Masukan adalah jumlah kendaraan pada suatu jalur yang sedang diatur dan jumlah kendaraan pada jalur lain, sedangkan keluaran berupa lama nyala lampu hijau pada jalur yang diatur. Penggunaan dua masukan dimaksudkan supaya sistem tidak hanya memperhatikan sebaran kendaraan pada jalur yang sedang diatur saja, tetapi juga memperhitungkan kondisi jalur yang sedang menunggu. Pencuplikan dilakukan pada setiap putaran (lewat 8 sensor yang dipasang pada semua jalur). Satu putaran akan dianggap selesai apabila semua jalur secara bergilir telah mendapat pelayanan lampu. Masukan berupa himpunan kepadatan kendaraan oleh logika fuzzy diubah menjadi fungsi keanggotaan masukan
dan fungsi
keanggotaan keluaran (lama lampu hijau). Bentuk fungsi keanggotaan dapat diatur sesuai dengan distribusi data kendaraan. Menerapkan logika
fuzzy
dalam
sistem
membutuhkan tiga langkah, yaitu :
Fusifikasi (Fuzzyfication)
Evaluasi kaidah
Defusifikasi (Defuzzyfication)
pengendalian
lampu
lalulintas,
Fusifikasi adalah proses mengubah masukan eksak berupa jumlah
kendaraan
menjadi
masukan
fuzzy
berupa
derajat
keanggotaan u(x). Evaluasi kaidah yaitu mengevaluasi Kaidah-kaidah yang akan digunakan untuk mengatur lalulintas ditulis secara subyektif dalam FAM,
yang
memuat
hubungan
antara
kedua
masukan
yang
menghasilkan keluaran tertentu. Kaidah-kaidah ini dikonsultasikan kepada pihak-pihak yang berpengalaman dalam bidang pengendalian lampu lalulintas, seperti Polisi Lalulintas dan DLLAJR. Di sini dipakai kaidah hubungan sebab akibat dengan dua masukan yang digabung menggunakan operator DAN yaitu : Jika (masukan 1) DAN (masukan 2), maka (keluaran), dan ditabelkan dalam Tabel FAM. Sebagai contoh, jika TP(0,25) dan KP(0,75), maka AC(0,25). Di sini keluaran fuzzy adalah Agak Cepat yaitu AC(0,25).
Masukan-1 Masukan-2 TP KP CP P SP
TP
KP
CP
P
SP
C C C C C
AC AC AC AC AC
S S S S AC
AL AL AL S S
L L AL AL S
1.1Tabel FAM (Fuzzy Associate Memory) untuk kepadatan Lalulintas
Keterangan :
Masukan-1 adalah jumlah kendaraan pada jalur yang diatur Masukan-2 adalah jumlah kendaraan pada jalur lain
Setelah
diperoleh
keluaran
fuzzy,
proses
diteruskan
pada
defusifikasi. Defusifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, dimana output yang dihasilkan merupakan suatu bilangan pada domain fuzzy tersebut. Proses defusifikasi ini bertujuan untuk mengubah keluaran fuzzy menjadi
keluaran eksak (lama nyala lampu hijau). Karena keluaran fuzzy biasanya tidak satu untuk selang waktu tertentu, maka untuk dihasilkan keluaran eksaknya dipilih keluaran dengan harga yang terbesar. Bila terdapat dua buah derajat keanggotaan berbeda pada akibat yang sama, diambil harga yang terbesar. Sistem
pengatur
mempertimbangkan
lalulintas
masukan
yang
interupsi
dirancang
sebagai
ini,
prioritas
juga utama,
sehingga pengaturan lalulintas yang sedang berjalan akan dihentikan sementara untuk melayani jalur yang menyela. Fasilitas ini digunakan untuk keadaan darurat atau mendesak, misalnya seperti pelayanan mobil pemadam kebakaran atau mobil ambulance. Pendeteksian interupsi dilakukan secara terus menerus (residen). Jika lebih dari satu jalur memberi interupsi, maka jalur yang akan
dilayani lebih dulu
adalah yang pertama menekan tombol interupsi. Perancangan dan Pembuatan Sistem Peralatan •
Desain Hardware
•
Desain Software Perangkat lunak (software) yang dibuat dibagi menjadi beberapa
bagian besar antara lain meliputi algoritma pengambilan dan masukan, pengiriman data keluaran, pengolahan data secara fuzzy, dan proses kendalinya. Perangkat lunak ini direalisasikan menggunakan Turbo Pascal. Algoritma program utama mengikuti proses sebagai berikut : mula-mula PPI diinialisasi dengan mengirimkan control word ke register kendali PPI. Dengan mengirimkan nilai 90h ke register kendali PPI, maka port A akan berfungsi sebagai masukan dan port B serta port C akan berfungsi sebagai keluaran.
Selanjutnya akan dikirimkan pulsa reset ke semua input ADC, pada saat awal seluruh jalur akan diberi lampu merah. Setelah proses ini, program melakukan proses yang berulang-ulang, yaitu proses pengambilan data pada tiap sensor, pengolahan data dan proses pengaturan fuzzy menggunakan prinsip-prinsip yang telah dibahas di atas dan menjalankan pengaturan sesuai dengan tabel kendali yang telah dibuat.
Kesimpulan Logika fuzzy terbukti dapat digunakan untuk memenuhi tujuan system penggajian karyawan dan pengaturan lalulintas secara optimal. ☺
System penggajian karyawan berbasis fuzzy logic.
model penggajian dengan menggunakan logika fuzzy ini dapat diterapkan
di
perusahaan-perusahaan
yang
memiliki
karyawan
honorer (tidak tetap) dimana untuk menetapkan berapa besar gaji yang diterima tidak bisa ditentukan secara tegas. Kelemahan sistem ini, pihak perusahaan membutuhkan ahli yang mampu menetapkan b benchmark awal dengan baik, karena nilai benchmark awal (dr) ini sangat berpengaruh pada penghitungan akhir tiap level. ☺
sistem pengendalian lampu lalulintas berbasis fuzzy logic
system ini terdiri dari tiga langkah yaitu fusifikasi, evaluasi kaidah, dan defusifikasi. Sistem yang dihasilkan relatif sederhana dan mempunyai fleksibilitas tinggi. Sistem ini dapat diterapkan di kondisi jalan yang berbeda, yaitu lewat penyesuaian ranah (domain) himpunan fungsi keanggotaan masukan dan keluaran dan kaidah-kaidah kendali pada Fuzzy Associative Memory (Tabel FAM).
Miniatur Sistem Pengaturan Lampu Lalulintas ini dapat diperluas, misalnya : 1. Komputer
dibuat
terpusat
dengan
tugas
mengkoordinasi
beberapa persimpangan, terutama yang berdekatan, dengan tujuan
supaya
sistem-sistem
saling
membantu
dan
memperlancar sebaran kendaraan pada suatu daerah. 2. Dikembangkan ke arah sistem yang adaptif, yaitu bila kondisi kepadatan berubah, maka sistem akan melakukan perubahan bentuk fungsi keanggotaan masukan dan keluaran, serta tabel FAM secara otomatis. 3. Digunakan sistem minimum yang salah satunya bisa berupa aplikasi
Microcontroler
8031
sehingga
sistem
tidak
lagii
tergantung pada penyediaan komputer sebagai otak sistem pengendali.
Daftar Pustaka 1. B. Kosko, Neural Network and Fuzzy System, chapter 8, Prentice Hall, 1992 2. E. Cox, Fuzzy Fundamentals, spectrum IEEE, October 1992 3. K. Sri, Artificial Intelegence, Graha Ilmu, Jogjakarta, 2003 4. Gupta, Sandipan dan M. Chakraborty. Job Evaluation in Fuzzy Environment. Journal in Fuzzy Set & Systems 100 (71-76). 1998 5. S. Marsh et al., Fuzzy Logic Education Program, Center of Emerging Computer Technologies, Motorola Inc., 1992
TUGAS INDIVIDU MATA KULIAH KECERDASAN BUATAN
LOGIKA FUZZY DAN APLIKASINYA DALAM KEHIDUPAN SEHARISEHARI-HARI
OLEH :
TIARA SAVITRI G1A005016
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS BENGKULU 2006