Senin, 30 Mei 2011

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;   (16)
dengan batasan:
Zr(X)    dr;
Σxi1 ≥ ci;
Σxin ≤ wi;
xij – xij-1 ≥ ei;
xij ≥ 0;
(i=1,2,...,m; dan j=1,2,...,n.)

~  Dengan  menunjukkan kesamaan fuzzy.
Kesamaan fuzzy ini dapat direpresentasikan sebagai kombinasi antara
2 ketidaksamaan fuzzy sebagai berikut:

 Zr(X)    dr; dan  (17)
 Zr(X)    dr.  (18)

Misalkan Zmin dan 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:

k r
d Z jika
d Z Z jika
Z d
Z Z
Z Z jika
Z
r r
r r
r
r
r
r r
, ,2,1,0
;1
;
; 0
] [ min
min
min
min
Λ =



 


>
≤ <



= µ  (19)





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:
<
~
>
~
dr     
1

µr[Zr]


0
Zr
Zmin k r
Z Z jika
Z Z d jika
d Z
Z Z
d Z jika
Z
r
r r
r
r
r r
r r
, ,2,1,0
; 0
;
;1
] [
max
max
max
max
Λ =



 


>
≤ <



= µ  (20)








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;  (21)
Zr ≤ -(Zmax - dr)λ +  Zmax;  (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 kompleksitas pekerjaan;
 x2 kebutuhan akan pengawasan;
 x3 ketahanan fisik
  dr     
1

µr[Zr]


0
Zr
Zmax 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) = x14 + x24 + x34  100
Z2(X) = x14 + x23 + x33  90
Z3(X) = x13 + x23 + x32  80
Z4(X) = x12 + x22 + x31  70
Z5(X) = x12 + x21 + x32  60

dengan Z1(X) merupakan peringkat pekerjaan tertinggi dalam
organisasi. Toleransi yang ditetapkan untuk setiap benchmark seperti
terlihat pada Tabel 2.
Tabel 2: Toleransi yang ditetapkan untuk setiap benchmark.
Toleransi Batas
Benchmark ke-
(r)
Nilai tegas
(dr)
atas
(Zmax - dr)
bawah
(dr – Zmin)
atas
(Zmax)
bawah
(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.
Benchmark ke- Skor
1 99,6
2 90,8
3 79,2
4 69,2
5 56,4
Sehingga, 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:
   − = − , 345 . 86 , 000 . 100
6, 99
86 Rp Rp x

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 pengendalian lampu lalulintas,
membutuhkan tiga langkah, yaitu :
  Fusifikasi (Fuzzyfication)
  Evaluasi kaidah
  Defusifikasi (Defuzzyfication)  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 TP KP CP P SP
Masukan-2    
TP C AC S AL L
KP C AC S AL L
CP C AC S AL AL
P C AC S S AL
SP C AC AC S 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 lalulintas yang dirancang ini, juga
mempertimbangkan masukan interupsi sebagai prioritas 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

Tidak ada komentar:

Poskan Komentar