Uploaded by muhammad Fajri

jbptunikompp-gdl-muhammadar-18829-2-pertemua-y

advertisement
Sistem Pengontrolan Fuzzy
Pada tahun 1990 pertama kali dibuat mesin cuci dengan logika fuzzy di Jepang
(Matshushita Electric Industrial Company). Sistem fuzzy digunakan untuk
menentukan putaran yang tepat secara otomatis berdasarkan jenis dan
banyaknya kotoran serta jumlah yang akan dicuci. Input yang digunakan
adalah seberapa kotor, jenis kotoran dan banyaknya yang dicuci. Mesin ini
menggunakan sensor optik, mengeluarkan cahaya ke air dan mengukur
bagaimana cahaya tersebut sampai ke ujung lainnya. Makin kotor, maka sinar
yang sampai makin redup. Disamping itu, sistem juga dapat menentukan jenis
kotoran (daki atau minyak).
Logika fuzzy adalah suatu cara untuk memetakan suatu ruang input ke dalam
suatu ruang output. Antara input dan output terdapat satu kotak hitam yang
harus memetakan input ke output yang sesuai.
Ada beberapa alasan mengapa orang menggunakan logika fuzzy :
1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang
mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
2. Logika fuzzy sangat fleksibel
3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat
4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinier yang sangat
kompleks
5. Logika fuzzy dapat membangun dan mengaplikasikan pengalamanpengalaman para pakar secara langsung tanpa harus melalui proses
pelatihan
6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara
konvensional
7. Logika fuzzy didasarkan pada bahasa alami
Sebelum menggunakan logika Fuzzy, biasanya komputansi menggunakan
himpunan crisp. Pada himpunan tegas (crips), nilai keanggotaan suatu item x
dalam suatu himpunan A, yang sering ditulis dengan μA[x], memiliki 2
kemungkinan, yaitu :
 satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu
himpunan, atau
 nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam
suatu himpunan.
Tetapi penggunaan himpunan crisp untuk menyatakan suatu keanggotaan
terkadang sangat tidak adil, adanya perubahan kecil saja pada suatu nilai
mengakibatkan perbedaan kategori yang cukup signifikan. Contoh jika
variabel umur dibagi menjadi 2 kategori yaitu umur < 40 tahun disebut muda
dan umur  40 disebut tua, maka bagaimana jika seseorang berua 40 tahun
kurang 1 hari ?
Himpunan fuzzy digunakan untuk mengantisipasi hal tersebut. Seberapa besar
eksistensi dalam suatu himpunan dapat dilihat pada nilai keanggotaannya.
Sistem Pengontrolan Fuzzy
Fungsi Keanggotaan Fuzzy
Fungsi keanggotaan (membership function) adalah suatu kurva yang
menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya
(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.
a. Representasi Linear
1
0
b
a
Gambar 1 – 1. Representasi fungsi keanggotaan linear
Fungsi keanggotaan :
xb
 x  
ab
( Persamaan 1.1)
b. Representasi Kurva Segitiga
Gambar 1 – 2. Representasi fungsi keanggotaan segitiga
Fungsi keanggotaan :

hc x ch x 
(Persamaan 1.2)
 x  max  min 
,
,0 
h
h

 

Sistem Pengontrolan Fuzzy
c. Representasi Kurva Trapesium
Gambar 1 – 3. Representasi fungsi keanggotaan trapesium
Fungsi keanggotaan :

 xa d  x 
,1,
,0 
ba d c 
 x  max  min 

(Persamaan 1.3)
d. Representasi kurva Gauss :
Gambar 1 – 4. Representasi fungsi keanggotaan Gauss
Fungsi keanggotaan :
 x  e

 x c 2
2s 2
(Persamaan 1.4)
e. Kurva bentuk lonceng (generalized bell)
Gambar 1 – 5. Representasi fungsi keanggotaan bentuk lonceng
Sistem Pengontrolan Fuzzy
Fungsi keanggotaan :
 x 
1
x
a
 ac
2b
(Persamaan 1.5)
1
f. Representasi kurva sigmoid
Gambar 1 – 6. Representasi fungsi keanggotaan sigmoid
Fungsi keanggotaan :
 x  
1
e
 a  x c 
(Persamaan 1.6)
1
Operator Dasar untuk Operasi Himpunan Fuzzy
Untuk mengkombinasikan atau memodifikasi himpunan fuzzy, ada beberapa
operasi yang didefinisikan, yaitu :
a. Fuzzy Complement
Salah satu operasi umum yang digunakan pada Fuzzy Complement adalah
operator NOT. Operasi ini mengurangkan nilai keanggotaan elemen pada
himpunan yang bersangkutan dari 1.
 A'  x   1   A  x 
(Persamaan 1.7)
b. Fuzzy Intersection
Salah satu operasi umum yang digunakan pada Fuzzy Intersection adalah
operator MIN atau operator AND. Operasi ini diperoleh dengan
mengambil nilai keanggotaan terkecil diantara elemen-elemen dari
himpunan yang bersangkutan.
 A B  x   min   A  x  ,  B  x  
(Persamaan 1.8)
c. Fuzzy Union
Salah satu operasi umum yang digunakan pada Fuzzy Intersection adalah
operator MAX atau operator OR. Operasi ini diperoleh dengan mengambil
nilai keanggotaan terbesar diantara elemen-elemen dari himpunan yang
bersangkutan.
 A B  x   max   A  x  ,  B  x  
(Persamaan 1.9)
Sistem Pengontrolan Fuzzy
Sistem Inferensi Fuzzy Metode Mamdani
Proses pengontrolan Fuzzy pada praktikum ini menggunakan sistem inferensi
Fuzzy metode mamdani dengan mekanisme sebagai berikut :
Gambar 1 – 7. Mekanisme Inferensi Fuzzy Model Mamdani
Gambar 1 – 7 menunjukkan inferensi Fuzzy Model Mamdani untuk dua rule.
Proses dari inferensi tersebut dapat dijelaskan sebagai berikut :
- terdapat dua masukan yaitu x dan y, masukan x akan dipetakan pada
membership function A1 dan A2 sehingga diperoleh nilai A1 dan A2,
demikian juga masukan y dipetakan pada membership function B1 dan B2.
- dilakukan operasi intersection (operasi min) pada A1 dan B1 sehingga
diperoleh nilai C’1, demikian juga pada A2 dan B2 sehingga diperoleh
nilai C’2.
- dari nilai C’1 dan C’2 akan diperoleh besarnya daerah yang terarsir dari
membership function C1 dan C2.
- kedua daerah yang diarsir tersebut lalu digabungkan menjadi kurva C’
yang kemudian akan dilakukan defuzzifikasi untuk memperoleh nilai
ZCOA.
Defuzzifikasi
Proses defuzzifikasi berfungsi untuk merubah nilai Fuzzy menjadi nilai crisp.
Pada praktikum ini, proses defuzifikasi dilakukan dengan menghitung
koordinat pusat massa dari bentuk fungsi keanggotaan C’.
Sistem Pengontrolan Fuzzy
Perancangan Pengontrol Fuzzy untuk Sistem Tangki
Ganda
Aturan yang digunakan :
1. IF (level is okay) THEN (valve is no_change)
2. IF (level is low) THEN (valve is open_fast)
3. IF (level is high) THEN (valve is close_fast)
4. IF (level is okay) AND (rate is positive) THEN (valve is close_slow)
5. IF (level is okay) AND (rate is negative) THEN (valve is open_slow)
Membership function level menggunakan Gaussian Membership Function :
Gaussian  x; c,   e
1  x c 


2  
2
Level state
Membership function
High
Okay
Low
Gaussian MF
Gaussian MF
Gaussian MF
Konstanta

30
30
30
c
-100
0
100
Membership function rate :
Rate state
Membership function
Negatif
None
Positif
Gaussian MF
Gaussian MF
Gaussian MF
Konstanta

0.02
0.105
0.035
c
-0.25
0
0.45
Membership function valve menggunakan Triangle Membership Function :
0, x  a

xa

,a  x  b
b  a
Triangle  x; a, b, c  
 c  x ,b  x  c
 c b

0, c  x

Valve state
Membership function
Close_fast
Close_low
No_change
Open_low
Open_fast
Triangle MF
Triangle MF
Triangle MF
Triangle MF
Triangle MF
a
-10
-7
-1
3
8
Konstanta
b
-9
-5
0
5
9
c
-8
-3
1
7
10
Sistem Pengontrolan Fuzzy
Pembuatan Modul Pengontrol Fuzzy
Program pengontrol Fuzzy yang dibuat terdiri dari beberapa sub-vi, yaitu :
- ”Gauss MF.vi”, program ini persamaan dari fungsi keanggotaan Gaussian
- ”Triangle deFuzz.vi”, program ini berisi perhitungan awal untuk proses
defuzzifikasi
- ”Defuzzifikasi.vi”, program ini berisi perhitungan untuk menghasilkan
nilai crisp dari kurva fuzzy.
Membangun Front Panel untuk sub-vi “Gauss MF.vi”
1. Buat file VI baru. Save as “Gauss MF.vi”
2. Aktifkan Front Panel.
3. Buat 1 buah Digital Control dengan cara pilih Numeric » Digital
Control.
4. Buat 1 buah Digital Indicator dengan cara pilih Numeric » Digital
Indicator.
5. Pilih Array & Cluster » Cluster.
6. Pilih Numeric » Digital Control. Tempatkan dalam cluster yang sudah
dibuat
Gambar 1 – 8. Cara memasukkan digital control dalam cluster
7. Tempatkan kembali satu buah Digital Indikator di dalam cluster.
Keterangan : Cluster adalah kumpulan dari beberapa elemen data yang mempunyai
tipe data baik sama maupun berbeda. Bila cluster terdiri dari kumpulan elemen data
yang mempunyai tipe yang sama maka cluster dapat diubah ke array dan sebaliknya.
Data pada cluster dapat diakses dengan fungsi Unbundle.
8. Tempatkan dan edit labelnya seperti gambar 1 – 9.
Gambar 1 – 9. Tampilan front panel dari modul sub-vi ”Gauss MF.vi”
Sistem Pengontrolan Fuzzy
Membangun VI Diagram untuk sub-vi “Gauss MF.vi”
1. Aktifkan Block Diagram
2. Dari Functions Palette, pilih Structure » Formula Node. Drag Formula
Node agar berukuran cukup panjang.
Keterangan : Formula Node adalah suatu metode perhitungan berupa kotak di mana
Anda dapat memasukkan formula perhitungan atau persamaan matematis secara text.
Formula Node akan sangat berguna apabila persamaan tersebut mempunyai variabel
yang sangat banyak sehingga menjadi kompleks
3. Klik kanan pada sisi bagian kiri Formula Node. Pilih “Add Input”. Edit
namanya menjadi “x”.
4. Dibawah input sebelumnya, klik kanan pada sisi bagian kiri Formula
Node. Pilih “Add Input”. Edit namanya menjadi “c”.
5. Dibawah input sebelumnya, klik kanan pada sisi bagian kiri Formula
Node. Pilih “Add Input”. Edit namanya menjadi “t”.
6. Klik kanan pada sisi bagian kanan Formula Node. Pilih “Add Ouput”.
Edit namanya menjadi “y”.
7. Aktifkan Edit Text Tools. Tulis persamaan berikut didalam Formula
Node :
y=exp(-0.5*(((x-c)/t)**2));
Perhatikan :
- Penamaan variabel pada persamaan harus sama dengan penamaan
variabel pada input dan output
- Berikan tanda “;” setiap diakhir suatu persamaan
8. Dari Functions Palette, pilih Cluster » Unbundle by Name. Letakkan
disebelah kanan cluster “Fuzzy”
9. Aktifkan Wiring Tools. Hubungkan terminal output cluster “Membership
Function” dengan terminal input Unbundle by Name. Setelah terhubung
pada terminal kanan akan muncul tulisan “c”
10. Drug kebawah Unbundle by Name sehingga muncul dua terminal seperti
gambar 1 – 10.
Gambar 1 – 10. Fungsi Unbundle by Name
yang telah dihubungkan dengan Cluster
11. Aktifkan Wiring Tools, lakukan wiring menjadi seperti gambar 1 – 11.
Gambar 1 – 11. Block Diagram Modul sub-vi “Gauss MF.vi”
Sistem Pengontrolan Fuzzy
Membuat Modul Gauss MF sebagai SubVI
1. Aktifkan Front Panel, lalu klik kanan pada icon di Menu Bar. Pilih “Show
Connector”. Maka akan terlihat icon seperti disamping.
2. Hubungkan setiap kotak pada connector dengan control-control berikut :
3. Klik kanan pada icon di Menu Bar lagi, pilih “Show Icon”. Kemudian
Klik kanan lagi, pilih “Edit Icon”. Maka akan tampil menu utnuk
mengedit gambar dari icon ini, Anda bisa membuat Icon sesuai kreasi
Anda, atau buatlah seperti icon pada gambar disamping.
4. Save file.
Membangun Front Panel untuk sub-vi “Triangle deFuzz.vi”
1. Buat file VI baru. Save as “Triangle deFuzz.vi”
2. Aktifkan Front Panel. Buat sebuah cluster yang berisi tiga buah digital
control. Edit labelnya menjadi “a”, “b” dan “c”.
3. Disamping cluster tersebut, buat dua buah digital indicator, edit namanya
menjadi “Luas” dan “X”, serta buat sebuah digital control, edit namanya
menjadi “Y”.
4. Buat tampilan Front Panel menjadi seperti gambar 1 – 12.
Gambar 1 – 12. Tampilan front panel dari sub-vi ”Triangle deFuzz.vi”
Membangun VI Diagram untuk sub-vi “Triangle deFuzz.vi”
1. Aktifkan Block Diagram
2. Dari Functions Palette, pilih Structure » Formula Node. Drag Formula
Node agar berukuran cukup panjang.
3. Pada bagian kiri Formula Node buat tiga buah input dengan nama
masing-masing “a”, “b” dan “Y”.
4. Pada bagian kanan Formula Node buat dua buah output dengan nama
masing-masing “L” dan “X”.
5. Aktifkan Edit Text Tools. Isikan persamaan dalam Formula Node
sebagai berikut : X=Y*(b-a)+a;
L=(X-a)*Y+(b-X)*Y*2;
Sistem Pengontrolan Fuzzy
6.
Sesuaikan hasilnya dengan gambar 1 – 13.
Gambar 1 – 13. Block Diagram Modul sub-vi “Triagle deFuzz.vi”
Membuat Modul Triagle MF sebagai SubVI
1. Aktifkan Front Panel, lalu klik kanan pada icon di Menu Bar. Pilih “Show
Connector”. Maka akan terlihat icon seperti disamping.
2. Hubungkan setiap kotak pada connector dengan control-control berikut :
3. Klik kanan pada icon di Menu Bar lagi, pilih “Show Icon”. Kemudian
Klik kanan lagi, pilih “Edit Icon”. Maka akan tampil menu untuk
mengedit gambar dari icon ini, Anda bisa membuat Icon sesuai kreasi
Anda, atau buatlah seperti icon pada gambar disamping.
4. Save file.
Membangun Front Panel untuk sub-vi
“defuzzifikasi.vi”
1. Buat file VI baru. Save as “Triangle deFuzz.vi”
2. Buatlah 10 Digital Control, edit namanya
masing-masing menjadi “L1”, “X1”, “L2”,
“X2”, “L3”, “X3”, “L4”, “X4”, “L5” dan “X5”.
3. Buatlah sebuah Digital
namanya menjadi “Output”.
Indicator,
edit
4. Buat tampilan Front Panel menjadi seperti
gambar 1 – 14 disamping.
Gambar 1 – 14. Tampilan front panel dari modul sub-vi ”defuzzifikasi.vi”
Sistem Pengontrolan Fuzzy
Membangun VI Diagram untuk sub-vi “defuzzifikasi.vi”
1. Aktifkan Block Diagram
2. Dari Functions Palette, pilih Structure » Formula Node. Drag Formula
Node agar berukuran cukup panjang.
3. Pada bagian kiri Formula Node buat sepuluh buah input dengan nama
masing-masing “L1”, “X1”, “L2”, “X2”, “L3”, “X3”, “L4”, “X4”, “L5”
dan “X5”.
4. Pada bagian kanan Formula Node buat sebuah output dengan nama “O”.
5. Aktifkan Edit Text Tools. Isikan persamaan dalam Formula Node
sebagai berikut :
O=(L1*X1+L2*X2+L3*X3+L4*X4+L5*X5)/(L1+L2+L3+L4+L5);
6. Sesuaikan hasilnya dengan gambar 1 – 15.
Gambar 1 – 15. Block Diagram Modul sub-vi “defuzzifikasi.vi”
Membuat Modul defuzzifikasi sebagai SubVI
1. Aktifkan Front Panel, lalu klik kanan pada icon di Menu Bar. Pilih “Show
Connector”. Maka akan terlihat icon seperti disamping.
2. Hubungkan setiap kotak pada connector dengan control-control berikut :
3. Klik kanan pada icon di Menu Bar lagi, pilih “Show Icon”. Kemudian
Klik kanan lagi, pilih “Edit Icon”. Maka akan tampil menu untuk
mengedit gambar dari icon ini, Anda bisa membuat Icon sesuai kreasi
Anda, atau buatlah seperti icon pada gambar disamping.
4. Save file.
Sistem Pengontrolan Fuzzy
Download