Anda di halaman 1dari 5

MODUL

BAHASA PEMROGRAMAN

Adaptive Neuro-Fuzzy Inference System (ANFIS)

Di susun oleh :

Kelompok IV

Yulia nengsi (D0119023)

A. sofhy M. logawali (D0119301)

Irfan puang langi (D0119327)

Muh.Ali ajis munandar (D0119518)

Muh.ilham (

UNIVERSITAS SULAWESI BARAT

2019/2020
BAB I

Adaptive Neuro-Fuzzy Inference system (ANFIS)

A. Pendahuluan

Sesuai dengan namanya ANFIS menggabungkan antara Fuzzy dengan Jaringan Syaraf Tiruan (JST).
Fungsi rule pada Fuzzy di identikkan dengan Neuron pada JST. Perbedaan Neuron Fuzzy dengan JST
adalah pada ANFIS berupa logika Fuzzy sedangkan pada JST berupa bobot. Sedangkan perbedaannya
dengan FIS pada proses penyusunan rule dimana ANFIS membentuk rule dengan proses
pembelajaran (learning) yang mirip JST. Model pembelajaran pada ANFIS mirip dengan JST yang
menghubungkan antara keluaran dengan masukan pada sistem. Teknik yang digunakan dapat berupa
propagasi balik saja atau digabung dengan metode kuadrat terkecil (least square). Fungsi keanggotaan
pada ANFIS tidak berbeda dengan fungsi keanggotaan pada FIS. Pada Matlab, seperti FIS, ANFIS
dapat dibuat baik dengan command window maupun dengan Toolbox GUI.

B. Editor ANFIS pada Matlab

Cara termudah membuat ANFIS dengan Matlab adalah lewat Toolbox yang sudah berbasis GUI.
Membuka Editor ANFIS pada Matlab dengan cara mengetik “anfisedit” pada command window.

Keterangan :

1. Grafik Output : akan menampilkan hasil pembelajaran (target dan hasil learning)
2. Input data : data yang diambil untuk proses pembelajaran berupa file (berekstensi Dat) dan
workspace (dari comman window). File berekstensi Dat dapat dibuat dengan Notepad atau
teks editor lainnya dengan menyimpan dalam format ekstensi Dat, misalnya
train.dat,learning.dat dan lain-lain.
3. Structure : akan menampilkan gambar ANFIS dengan neuron-neuron pembentuknya.
4. Generate FIS : akan membentuk FIS yang akan dilatih, dengan jenis-jenis fungsi keanggotaan
yang menyertainya.
5. Train FIS : menentukan toleransi kesalahan dan jumlah Epoch serta metode pembelajaran
yang dipakai.

Jenis ANFIS pada Matlab yang diperkenankan hanya tipe sugena. Tipe Mamdani hanya dibuat untuk
FIS proses pembelajaran.

C. Data ANFIS

Berbeda dengan FIS, pada ANFIS keberhasilan sistem ditentukan oleh data yang menjadi sumber
pembelajaran. Data terdiri dari masukan dan target pembelajaran. Sesuaikan kolom matriks data
dengan masukan pada ANFIS yang kita rencanakan. Data yang dimasukkan ke editor ANFIS berupa
matriks masukan dan target sekaligus.

Misal kita merancang ANFIS dengan dua masukan dengan satu keluaran. Jadi data yang dimasukkan
ke editor ANFIS harus berupa matriks dengan tiga kolom. Kolom pertama merupakan data-data
masukan pertama, kolom kedua data-data masukan kedua dan kolom ketiga target. Jumlah baris
menyatakan jumlah data yang akan dilatih, makin banyak dan lengkap makin baik.
a1 b1 c1
a2 b2 c2
a3 b3 c3
. .
[ . . ]

D. Studi kasus

Buatlah rancangan ANFIS untuk kasus penentuan bonus pegawai restoran berdasarkan pelayanan dan
masakan yang akan di sajikan. Gunakan rule yang akan dibentuk dengan proses learning.

Penyelesaian :

1. Langkah pertama adalah buka matlab anda. Arahkan Current Drectory pada posisi folder yang
tepat.

2. Berikutnya kita akan membuat proses learning pada ANFIS. Kembali ke command window, ketik
“anfisiedit”.

3. yang perlu diketahui adalah kita diminta untuk me-load data. Data yang akan dijadikan sarana
training ANFIS adalah gabungan antara masukan dengan keluaran. Dari kombinasi-kombinasi yang
mungkin dapat kita bentukmenjadi matriks dengan jumlahkolom sebanyak tiga kolomyang
menggambarkan dua masukan dan satu keluaran. Matriks tersebut terdiri dari komposisi beberapa
kemungkinan, misalnya jika pelayanan nol dan masakan nol harapannya bonusnya juga nol. Buat
matriks pada comman window sebagai berikut (sekedar ilustrasi):

train_data =
0 0 0
1 0 1
0 1 1
2 1 3
2 2 4
1 2 3
3 0 3
3 1 4
3 2 5
4 1 5
1 4 5
5 1 6
5 2 7
5 3 8
5 4 9
5 5 10

Anda dapat membentuk training data ini selengkap mungkin. Kembali ke ANFIS editor, pada isian
load data, klik tombol radio worksp, yang artinya kita akan mengambil data dari workspace
command window. Klik load data, maka kita akan diminta mengisikan variabelnya,ketik :
train_data, lalu OK.

Jika data anda berhasil dari Microsoft Excel, tentu saja akan membuang waktu jika datanya banyak
dan harus diketikan diworkspace. Bagian load data, anda dapat me-load data dari file lain yang
berformat DAT. Caranya adalah dengan mengopi file excel dan paste pada file aplikasi NOTEPAD
yang kemudian disimpan dengan ekstensi DAT.

4. pada isian generate FIS, pilih tombol radio load from file, karena kita akan memanggil FIS hasil
Kreasi kita sebelumnya. Klik load, dan arahkan ke file bonus, FIS, epoch secukupnya, misalnya 10.

5. kemudian kita akan membuat FIS secara otomatis, pada isian Generate FIS, pilih Grid partition,
dilanjutkan dengan mengetik Generate FIS maka akan muncul jendela baru yang meminta kita
memilih jumlah fungsi keanggotaanya tiap masukan beserta jenis fungsinya.

6. akan muncul jendela isian tentang tipe fungsi keanggotaanya, pilih misalnya gbeltmf dengan
masing-masing 3 fungsi yang pada isian number of MFs berisi 3 3. Klik OK. Pada ANFIS info jika
kita klik structure, maka akan muncul informasi neuron pada ANFIS yang baru kita generate tadi.

Catatan : sebagai contoh, jika kita memiliki tiga masukan dengan masukan pertama tiga MFs,
masukan kedua dua MFs dan masukan ketiga lima MFs, maka kita isi : 3 2 5 dengan jeda satu spasi
diantara angka tersebut.

7. Selamat, anda telah berhasil membuat satu engine FIS dengan cara Training ANFIS. Untuk
menyimpan dapat kita lakukan dengan mengklik : file – export. Ada dua pilihan yang tersedia, yaitu
to workspace dan to file. Bila kita pilih to workspace maka hanya akan muncul pada matlab saat aktif
sekarang saja. Bila di-shutdown, data akan hilang.sebaiknya kita pilih to file agar lebih permanen.
Setelah di klik to file, beri nama misalnya bonus. File fuzzy akan tersimpan ekstensi “fis”.

8. untuk memperjelas FIS hasil training ANFIS, buka FIStersebut dengan mengetik pada command
window dengan ekstensi (file).

9. ganti nama input1 menjadi pelayanan, input2 menjadi masakan dan output menjadi bonus, pada isin
name di Current Variable.

10. dobel klik pada pelayanan, maka akan memunculkan membership function editor, ganti nama
yang sesuai.

11. setelah kita edit nama input beserta fungsi keanggotaanya,maka secara otomatis, rule akan
berubah mengikuti nama tersebut. dobel klik pada bagian rule.

12. berikutnya kita akan mengikuti fuzzy yang telah kita buat. Kembali ke command window, ketik :
fis=readfist (‘bonus’)

Fis =

Name : ‘bonus’

Type : ‘sugeno’

andMethod : ‘prod’

orMethod : ‘probor’

defuzzMethod : ‘wtaver’

impMethod : ‘prod’
aggMethod : ‘sum’

input : [1 x 2 struct]

output : [1 x1 struct]

rule : [1 x 9 struct]

13. berikutnya kita uji misalnya pelayanan buruk, yaitu 1 sedangkan masakannya pun tidak enak.
Instruksi yang di perlukan adalah evalfis.

>>out = evalfis ([1 1],fis)

Out =

1.6195

Hasil defuzzifikasi, dengan variabel out, adalah 1.6195 yang jika dibandingkan dengan skala 10 masih
dibilang buruk.

>> out = evalfis ([5 5],fis)

Out =

9.9075

Engine FIS hasil training ANFIS yang telah kita bentu ini dapat kita aplikasikan dengan GUI yang
tersedia pada Matlab agar interaksi dengan user lebih baik.

Anda mungkin juga menyukai