Anda di halaman 1dari 17

Achmad Zaki Rahman

1206180286

1. PENDAHULUAN
ANFIS (Adaptive Neural Fuzzy Inferece System) adalah salah satu metoda artificial intelegent
(AI) yang menggabungkan antara logika Fuzzy dan Neural Network. Karenanya untuk
memahaminya maka perlu mengetahui sekilas mengenai Fuzzy dan Neural Network.

Gambar 1.1. Sejarah pemrograman artificial intelegent (AI).[1]

1.1.

Fuzzy Logic (FL)

Konsep Fuzzy Logic (FL) ini disusun oleh Lotfi Zadeh, seorang profesor di University of
California di Berkley, tahun 1965 dalam sebuah paper. Secara bahasa, Fuzzy didefinisikan

sebagai blured (kabur atau remang-remang), indistinct (tidak jelas), confused


(membingungkan), vague (tidak jelas). Sistem fuzzy adalah sebuah sistem yang dibangun
dengan definisi, cara kerja, dan deskripsi yang jelas berdasarkan pada teori fuzzy logic. Fuzzy
logic adalah sebuah metodologi berhitung dengan variabel kata-kata (linguistic variable),
sebagai pengganti berhitung dengan bilangan. Kata-kata yang digunakan dalam fuzzy logic
memang tidak sepresisi bilangan, namun kata-kata jauh lebih dekat dengan intuisi
manusia.[2]

Gambar 1.2. Sebuah logika sistem fuzzy yang menggunakan data yang tidak presisi dan
ungkapan yang samar sebagai input, seperti perlahan, sedang, dan tinggi.[2]
Contoh:
1. Seseorang mengatakan pada operator seberapa sejuk ruangan yang diinginkan,
operator akan mengatur putaran kipas yang ada pada ruangan ini.
2. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang
diinginkan, sopir taksi akan mengatur pijakan gas taksinya.

Gambar 1.3. Ketelitian (precision) dan makna penting (signifacance).[3]


Tetapi, FL juga mempunyai kelemahan dalam menyelesaikan persoalan proses pengaturan.
Kelemahan tersebut antara lain :
1. Model peraturan if then dalam FL sukar untuk dianalisa secara kuantitatif(Chan et
al. 1997).
Kaedah parameter bentuk tabel seperti model Takagi-Sugeno yang menyediakan
peraturan kualitatif serta menyediakan alat berkemampuan tinggi untuk analisa FL

dan desain, tetapi tidak menyediakan rangka secara langsung dan alami untuk
menggabungkan peraturan Fuzzy yang dihasilkan oleh pakar(Chan et al. 1997).
2. Kestabilan juga diantara persoalan penting dalam FL terutama jika menyangkut
parameter yang tidak pasti (Lam, Leung & Tam 1997). Perbedaan hasil dari sifat tidak
linier dan atau perubahan waktu proses pengambilankeputusan adalah sulit untuk
diduga dan dikendalikan dan karenanya kinerja FL menjadi buruk(Dumitrache&
Buiu1997).
3. Jumlah peraturan kabur tergantung pada jumlah masukan pengaturan dan hal
demikian akan menyebabkan proses pengambilan keputusan memerlukan waktu
yang panjang dan berlebihan (Ghazali& Virk1997).[4]

3.1.

Artificial Neral Networks (ANN)

Definisi termudah dari neural network, atau yang lebih tepat disebut 'artificial' neural
network (ANN), adalah seperti yang pernah disampaikan oleh penemu neurocomputers, Dr.
Robert Hecht-Nielsen:
"...a computing system made up of a number of simple, highly interconnected processing
elements, which process information by their dynamic state response to external inputs.
(sebuah sistematika komputasi terdiri dari proses sejumlah elemen-elemen sederhana yang
saling berhubungan, untuk memproses informasi dari eksternal input secara
dinamis).."Neural Network Primer: Part I" oleh Maureen Caudill, AI Expert, Feb. 1989.[5]
Studi mengenai Neural Network diawali dan dipublikasikan pada tahun 1943 Mc Culloch dan
Pitts. ANN merupakan suatu jaringan saraf tiruan yang dibangun untuk meniru cara kerja
otak manusia. Dengan jaringan saraf tiruan maka kita dapat memberikan semacam
kecerdasan pada sistem, dimana sistem tersebut akan diberikan waktu untuk belajar dan
kemudian diharapkan dari proses belajarnya, sistem bisa memberikan solusi dari suatu
kasus.

Gambar 1.4. ilustrasi sederhana syaraf manusia dan artifisial neuron.[3]

Analoginya seperti mengajarkan seorang anak kecil untuk mengetahui bentuk kursi, kita
akan menunjukan pada anak tersebut berbagai macam bentuk kursi dan bukan kursi. Kita
akan memperlihatkan mana saja yang termasuk kursi dan mana yang bukan, proses ini
disebut proses training. Setelah proses training selesai, maka tiba waktunya untuk
melakukan test terhadap anak tersebut dengan menunjukan suatu bentuk kursi dan
menanyakan apakah itu termasuk kursi atau bukan. Hal yang menarik adalah pada saat kita
menunjukan suatu bentuk kursi yang belum pernah diajarkan pada anak tersebut dan
apabila itu memang variasi dari kursi (dengan ciri misalnya: kakinya ada 4, ada pegangan
tangannya, bentuknya seperti angka 4, dan seterusnya) maka dia dapat mengambil
kesimpulan bahwa benda tersebut adalah kursi, apabila jawaban si anak salah maka kita
kembali melatihnya (proses training) dengan memasukan bentuk kursi yang baru tadi
kedalam data latih, sehingga si anak dapat mengambil kesimpulan bahwa benda tersebut
(dan yang mirip benda tersebut dimasa yang akan datang) adalah kursi.
NN biasanya diselenggarakan dalam lapisan atau layer yang terdiri dari sejumlah 'node' yang
saling berhubungan dan mengandung 'fungsi aktivasi'. Pola dimasukan ke dalam network
(jaringan) melalui input layer (layer masukan), yang berkomunikasi dengan satu atau lebih
hidden layer (lapisan tersembunyi) di mana proses yang sebenarnya dilakukan melalui
sistem weighted connection (koneksi berbobot). Kemudian hidden layers (lapisan
tersembunyi) akan bersambung output layer 'lapisan keluaran' seperti pada gambar 1.4.

Gambar 1.5. ilustrasi sederhana cara kerja sistem NN.[5]


Kebanyakan ANN mengandung beberapa bentuk learning rule 'aturan pembelajaran' yang
memodifikasi bobotnya sesuai dengan pola masukan. Meskipun ada banyak jenis aturan
pembelajaran yang digunakan oleh jaringan saraf, rule yang paling umum adalah aturan
delta atau yang biasa disebut backpropagation (propagasi balik). Backpropagation adalah
aturan yang mempelajari error kesalahan secara berulang pada setiap proses pembelajaran,
sehingga didapat sebuah pembobotan dalam proses logikanya.
Sebagaimana Logika Fuzzy, ANN juga memiliki kekurangan, yaitu perhitungan yang ada di
dalamnya merupakan blackbox yang tidak diketahui prosesnya. Penggunanya hanya
memberikan input dan menunggu hasilnya. Sehingga dapat dikatakan "you almost don't know
what you're doing". [5]

2. ADAPTIVE NEWRAL FUZZY INFERENCE SISTEMS (ANFIS)


2.1.

Konsep

Adaptive Neuro-Fuzzy Inference System (ANFIS) adalah penggabungan mekanisme fuzzy


inference system yang digambarkan dalam arsitektur jaringan syaraf. Sistem inferensi fuzzy
yang digunakan adalah sistem inferensi fuzzy model Tagaki-Sugeno-Kang (TSK) orde satu
dengan pertimbangan kesederhanaan dan kemudahan komputasi.
salah satu contoh ilustrasi mekanisme inferensi fuzzy TSK orde satu dengan dua masukan x
dan y (Gambar 1). Basis aturan dengan dua aturan fuzzy if-then seperti dibawah ini :
Rule 1 :
if x is A1 and y is B1 then f1 = p1x + q1y + r1
Rule 2 :
if x is A2 and y is B2 then f2 = p2x + q2y + r2
Input : x dan y

Gambar 2.1. Model Fuzzy-Sugeno dua input first-order dengan dua aturan. [1]
Struktur ANFIS yang menggambarkan sistem fuzzy TSK seperti yang digambarkan di Gambar
2.1 diatas bisa digambarin dalam diagram blok atau disebut arsitektur jaringan syaraf
feedforward seperti ini:

Gambar 2.2. Struktur ANFIS dengan 2 input. [1]


Pada gambar 2.2 terlihat struktur ANFIS seperti jaringan syaraf (neural-network). Jaringan
sistem neuro-fuzzy tersebut terdiri atas lima lapisan dengan fungsi yang berbeda untuk tiap
lapisannya. Tiap lapisan terdiri atas beberapa simpul yang dilambangkan dengan kotak atau
lingkaran. Lambang kotak menyatakan simpul adaptif artinya nilai parameternya bisa
berubah dengan pembelajaran dan lambang lingkaran menyatakan simpul nonadaptif yang
nilainya tetap.
Lapisan 1.
Semua simpul pada lapisan ini adalah simpul adaptif (parameter dapat berubah) dengan
fungsi simpul :
,

( )

untuk i = 1,2, atau

( ) untuk i = 3,4 ................................................................................................(1)

dengan x dan y adalah masukan pada simpul i, Ai (atau Bi-2) adalah fungsi keanggotaan
masing-masing simpul. Simpul O1,i berfungsi untuk menyatakan derajat keanggotaan tiap
masukan terhadap himpunan fuzzy A dan B. Fungsi keanggotaan yang dipakai adalah jenis
generalized bell (gbell). Parameter a, b, c, pada fungsi keanggotaan gbell dinamakan
parameter premis yang adaptif.
Lapisan 2.
Semua simpul pada lapisan ini adalah nonadaptif (parameter tetap). Fungsi simpul ini adalah
mengalikan setiap sinyal masukan yang datang. Fungsi simpul :
,

( )

( ), = 1,2 ...............................................................................(2)

Tiap keluaran simpul menyatakan derajat pengaktifan (firing strength) tiap aturan fuzzy.
Fungsi ini dapat diperluas apabila bagian premis memiliki lebih dari dua himpunan fuzzy.
Banyaknya simpul pada lapisan ini menunjukkan banyaknya aturan yang dibentuk. Fungsi

perkalian yang digunakan adalah interpretasi kata hubung and dengan menggunakan
operator t-norm.
Lapisan 3
Setiap simpul pada lapisan ini adalah simpul nonadaptif yang menampilkan fungsi derajat
pengaktifan ternomalisasi (normalized firing strength) yaitu rasio keluaran simpul ke-i pada
lapisan sebelumnya terhadap seluruh keluaran lapisan sebelumnya, dengan bentuk fungsi
simpul:
,

, = 1,2 .............................................................................................(3)

Apabila dibentuk lebih dari dua aturan, fungsi dapat diperluas dengan membagi wi dengan
jumlah total w untuk semua aturan.
Lapisan 4.
Setiap simpul pada lapisan ini adalah simpul adaptif dengan fungsi simpul :
,

+ ) ..........................................................................................(4)

dengan adalah derajat perngaktifan ternormalisasi dari lapisan 3 dan parameter p, q, r


menyatakan parameter konsekuen yang adaptif.
Lapisan 5.
Pada lapisan ini hanya ada satu simpul tetap yang fungsinya untuk menjumlahkan semua
masukan. Fungsi simpul :
Overall output =

..............................................................................(5)

Jaringan adaptif dengan lima lapisan tersebut ekivalen dengan sistem inferensi fuzzy TSK.

2.2.

Proses Pembelajaran pada ANFIS

Pada struktur ANFIS (gambar 2.2), simpul adaptif terdapat pada lapisan pertama dan
keempat. Simpul pada lapisan pertama mengandung parameter premis yang nonlinier
sedangkan pada lapisan keempat mengandung parameter konsekuen yang linier. Untuk
memperbaharui parameter-parameter terebut atau dalam kata lain agar jaringan saraf itu
belajar, maka perlu metoda atau algoritma untuk itu. Metoda pembelajaran jaringan syaraf
tiruan banyak macamnya, dan masing-masing punya kelebihan dan kekurangan.
Selanjutnya dijelaskan pembelajaran hibrid untuk ANFIS (gambar 2.3). Artinya penggunaan/
penyatuan dua metoda pembelajaran pada ANFIS. Pembelajaran hibrid terdiri atas dua
bagian yaitu arah maju (forward pass) dan arah mundur (backward pass).

Pada arah maju, parameter premis dibuat tetap. Dengan menggunakan metode Recursive
Least Square Estimator (RLSE), parameter konsekuen diperbaiki berdasarkan pasangan data
masukan-keluaran. Metode RLSE dapat diterapkan karena parameter konsekuen yang
diperbaiki adalah parameter linier. Metode RLSE akan mempercepat proses belajar hibrid.
Kemudian setelah parameter konsekuen didapatkan, data masukan dilewatkan jaringan
adaptif kembali dan hasil keluaran jaringan adaptif ini dibandingkan dengan keluaran yang
sebenarnya.

Gambar 2.3. Diagram Alir Tahap Pembelajaran Metode ANFIS.[8]

Pada arah mundur, parameter konsekuen dibuat tetap. Kesalahan yang terjadi antara
keluaran jaringan adaptif dan keluaran sebenarnya dipropagasikan balik dengan
menggunakan gradient descent untuk memperbaiki parameter premis. Pembelajaran ini
dikenal sebagai Algoritma Error Back Propagation (EBP).

Satu tahap arah pembelajaran maju-mundur dinamakan satu epoch. Tabel 1. menerangkan
proses pembelajaran hibrid ANFIS.
Tabel 1. Proses pembelajaran hibrid ANFIS
Arah maju
Parameter premis
Tetap
Paeameter konsekuen
RSLE
Sinyal
Keluaran simpul

Arah mundur
Gradient descent
Tetap
Laju kesalahan

3. APLIKASI
Perkiraan respon pengereman (detik) pada kendaraan dengan input jarak (meter) dan
kecepatan (m/det) dengan metode ANFIS pada MATLAB.[9]
RAW DATA

TRAINING DATA
Data di simpan pada notepad dengan nama file data.txt yang kemudian di import dari tab
Workspace sehingga akan di dapat matiks data sebagai berikut:

Kemudian mengetik perintah berikut pada command window MATLAB:


>> trainData=data
Untuk me-load ANFIS editor, ketik anfisedit pada command window MATLAB. Kemudian
pada kolom Load Data pilih type Training, dan ambil dari workspace. Klik Load Data,
kemudian pada window kecil yang muncul ketikkan nama file training data yang kita buat
tadi (trainData). Hasil plot trainData akan tampak seperti gambar berikut.

GENERATE ANFIS
Untuk menentukan parameter-parameter fungsi keanggotaan dalam ANFIS, pada kolom
generate ANFIS pilih GridPartition. Kemudian pada kolom input MF ubah angka menjadi 5 5
dengan INPUT MF type, sedangkan type MF ouput kita pilih constant.

Untuk melihat struktur model ANFIS yang telah dibuat, pada bagian ANFIS info klik
Structure. Hasil ANFIS yang kita buat akan tampak seperti berikut.

Pada gambar diatas tampak bahwa ANFIS terdiri dari dua input, dengan masing-masing
terdiri dari 5 Membership Function. Terdapat rule sebanyak 25 buah, dengan operator and.
ANFIS terdiri dari satu output dengan output MF yang terbentuk sebanyak 25 buah. Garisgaris yang menghubungkan antar node menunjukkan sebuah rule yang bersesuaian.
TRAINING ANFIS
Untuk pelatihan FIS, ANFIS menyediakan dua metode optimasi parameter fungsi
keanggotaan yaitu Backpropagation dan Hybrid (gabungan backpropagation dan least
square). Untuk menghentikan proses training, ANFIS menggunakan nilai error tolerance,
sehingga jika setelah training data error memasuki daerah error tolerance ini maka training
akan berhenti. Dipilih error tolerance sebesar 0 (default). Kemudian banyaknya epoch
(iterasi) proses training ditentukan sebanyak 40.
Untuk memulai proses training, klik train now. Hasilnya akan seperti gambar berikut.

Dari hasil training, error grafiknya semakin menurun dan mencapai titik erorr tetap pada
angka 0,0075814 pada saat epoch mencapai 25. Artinya bahwa proses training
menghasilkan error minimum pada nilai 0,0075814 yaitu selisih 0,0024186 dari toleransi
error yang telah didefinisikan (tidak pernah mencapai nilai 0), untuk itu proses training
dibatasi dengan banyaknya iterasi (epoch), yaitu 40 kali.

PENGUJIAN PASCA TRAINING ANFIS


Untuk mengetahui performance ANFIS yang telah ditraining dengan data awal (trainData),
dapat lakukan test dengan melakukan ploting data trainData dan ANFIS dengan nilai input
yang sama. Pada kolom Test FIS di ANFIS editor klik Test Now dengan sebelumnya memilih
training data.
Jika diperhatikan pada gambar di bawah tampak bahwa hasil ploting trainData (o) dan ANFIS
output (*) pada beberapa nilai berhimpitan. Artinya ANFIS yang sudah ditraining telah dapat
memetakan masukan terhadap keluaran dengan baik. Pada saat tertentu hasil ploting FIS
output tampak bergeser dari trainData, ini menunjukkan ada error yang relatif besar ketika
ANFIS diberi masukan pada masukan sekitar nilai tersebut.

FUZZY
Untuk melihat model dalam bentuk fuzzy, export hasil training dari Anfis Editor ke
Workspace, lalu beri nama tes01.
Kemudian pada Workspace ketik
>> fuzzy
Maka akan tampil default fis editor seperti ini:

Kemudian import file tes01 dari Workspace, maka tampilannya akan seperti ini:

Tampilan Rule Editor: tes01

Tampilan Rule Viewer: tes01

Tampilan Surface ANFIS:

4. REFERENSI
[1] Jang,J., Sun,C., Mizutani,Eiji. Neuro-fuzzy and Soft Computing. Prentice Hall, 1997.
[2] Sivanandam, S.N., Sumathi,S., Deepa, S.N. Introduction to Fuzzy Logic using MATLAB,
Springer 2007.
[3] Alavala, Chennakesava R. Fuzzy Logic and Neural Network Basic Concept &
Applications, New Age International Publisher, India.
[4] Priyono, Agus. Optimasi Fuzzy Logic Menggunakan Algoritma Genetik dan Sistem Clonal
untuk Radioaktif Waste Treatment- Materi presentasi: tidak diterbitkan.
www.batan.go.id. Diakses pada tanggal 29 Maret 2014, pukul 8.40.
[5]

, A Basic Introduction To Neural Networks. http://pages.cs.wisc.edu/, diakses


pada tanggal 29 Maret 2014, pukul 07:47.

[6]

, Chapter 10 Neural Networks. http://www.cs.ru.nl/ . Diakses pada tanggal 29


Maret 2014, pukul 10.00.

[7] Kuncahyo,B.T., Ginardi, R.V., Arieshanti,I. 2012. Penerapan Metode Adaptive NeoroFuzzy Inference System untuk Memprediksi Nilai Post Test Mahasiswa pada Jurusan
Teknik Informatika FTIF ITS. Makalah Seminar Tugas Akhir,FTIF-ITS: tidak diterbitkan.
[8] Arimbawa, I.B.K.P., Jayanegara, K., Kencana, I.P.E.N. 2013. Komparasi Metoda ANFIS dan
Fuzzy Time Series Kasus Peramalan Jumlah Wisatawan Australia ke Bali. E-Jurnal
MatematikaVol. 2, No.2, Mei 2013, 18-26. ISSN: 2303-1751.
[9]

, Membuat Adaptive Neuro Fuzzy Inference System (ANFIS) di MATLAB.


http://networkedblogs.com, Diakses pada tanggal 29 Maret 2014, pukul 16.50.

Anda mungkin juga menyukai