Sistem Cerdas
Keanggotaan, Operator ,
Penalaran Monoton Fuzzy
04
Fakultas Teknik Teknik Elektro Triyanto Pangaribowo,ST,MT
Abstract Kompetensi
Pada modul ini dibahas mengenai Himpunan dan fungsi Mampu
keanggotaan serta penalaran monoton Fuzzy menjelaskan
dan
memahami
tentang
Himpunan
Fuzzy
2015 Sistem Cerdas
1 Triyanto Pangaribowo, ST, MT
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Kurva GAUSS
Jika kurva PI dan kurva BETA menggunakan 2 parameter yaitu (γ) dan (β), kurva GAUSS
juga menggunakan (γ) untuk menunjukkan nilai domain pada pusat kurva, dan (k) yang
menunjukkan lebar kurva (dibawah). Nilai kurva untuk suatu nilai domain x diberikan
sebagai:
Fungsi Keanggotaan:
g. Koordinat Keanggotaan
Himpunan fuzzy berisi urutan pasangan berurutan yang berisi nilai domain dan kebenaran
‘Skalar’ adalah suatu nilai yang digambar dari domain himpunan fuzzy, sedangkan ‘Derajat’
TINGGI
Gambar diatas merupakan contoh himpunan fuzzy yang diterapkan pada sistem asuransi yang
akan menanggung resiko seorang pengendara kendaraan bermotor berdasarkan usianya, akan
berikut:
himpunan fuzzy. Semua titik harus ada di domain, dan paling sedikit harus ada satu titik yang
memiliki nilai kebenaran sama dengan 1. Apabila titik-titik tersebut telah digambarkan, maka
digunakan interpolasi linear untuk mendapatkan permukaan fuzzy-nya seperti terlihat pada
Gambar dibawah.
Fungsi Keanggotaan
1. Trimf
Fungsi ini untuk membuat fungsi keanggotaan kurva segitiga (Gambar dibawah ). Ada 3
Fungsi keanggotaan
Fungsi ini untuk membuat fungsi keanggotaan kurva trapesium (Gambar dibawah).
Syntax
y = trapmf(x,[a b c d])
Contoh 2
x=0:0.1:16;
y=trapmf(5,[2 6 8 12]);
plot(x,y);
grid;
title('Fungsi Trapesium');
xlabel('x');
ans =
0.7500
Fungsi keanggotaan:
y = gbellmf(x,params)
Contoh 3
plot(x,y);
grid;
xlabel('x');
ylabel('mu[x]');
ans =
1.0485e004
Fungsi keanggotaan:
Parameter: [σ c]
2015 Sistem Cerdas
1 Triyanto Pangaribowo, ST, MT
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Syntax
y = gaussmf(x,[sig c])
Contoh 4
x=0:0.1:15;
y=gaussmf(x,[2 7.5]);
plot(x,y);
grid;
xlabel('x');
ylabel('mu[x]');
>> gauss
mf(5,[2 7.5])
ans=
0.4578
f(x;a,b,c,d) = smf(x;a,b)*zmf(x;c,d)
Parameter: [a b c d]
Syntax
y = pimf(x,[a b c d])
Contoh 5
x=0:0.1:15;
y=pimf(x,[2 6 8 12]);
plot(x,y);
grid;
xlabel('x');
ylabel('mu[x]');
ans =0.5000
6. Sigmf
Fungsi keanggotaan:
Parameter: [a c]
Syntax
y = sigmf(x,[a c])
2015 Sistem Cerdas
1 Triyanto Pangaribowo, ST, MT
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Contoh 6
x=0:0.1:8;
y=sigmf(x,[2 4]);
plot(x,y);
grid;
title('Kurva Sigmoid');
xlabel('x');
ylabel('mu[x]');
ans =
0.1192
Syntax
y = smf(x,[a b])
Contoh 7
x=0:0.1:12;
y=smf(x,[2 10]);
plot(x,y);
grid;
title('Kurva S');
xlabel('x')
ylabel('mu[x]');
ans
0.5000
Fungsi keanggotaan:
Parameter: [a b]
Syntax
y = zmf(x,[a b])
Contoh 8
x=0:0.1:10;
y=zmf(x,[2 8]);
plot(x,y);
grid;
title('Kurva Z');
xlabel('x');
ylabel('mu[x]');
diinstallkan terlebih dahulu TOOLBOX FUZZY. Toolbox. Fuzzy Logic Toolbox adalah
fasilitas yang tersedia dalam program matlab untuk membangun suatu sistem fuzzy logic.
Fuzzy Logic Toolbox memberikan fasilitas Graphical User Interface (GUI) untuk
menunjukkan tampilan windows untuk tiap-tiap GUI yang ada dalam Fuzzy Logic
Pada saat kita membangun sistem fuzzy dengan fuzzy logic toolbox, maka kita harus
Ada 5 GUI tools yang dapat dipergunakan untuk membangun, mengedit, dan
2 Rule Editor
3 Rule Viewer
4 Surface Viewer
Dengan memanfaatkan 3 fasilitas GUI yang pertama (FIS Editor, MF Editor dan Rule
Editor) kita dapat membaca dan memodifikasi data tentang sistem fuzzy yang akan kita
bangun. Sedangkan dengan 2 fasilitas GUI yang lainnya (Rule Viewer dan Surface
Viewer), maka kita akan bisa membaca saja tanpa dapat memodifikasi data tentang sistem
Untuk mengaktifkan FL Toolbox atau kita ingin memulai membangun sistem fuzzy
dengan memanfaatkan toolbox, maka kita cukup menuliskan fuzzy pada command line
Kemudian pada layar akan muncul GUI untuk FIS Editor seperti pada gambar 10.2.
Dengan menggunakan FIS Editor ini kita dapat memulai melakukan editing terhadap
b
d
h
f
g i
Gambar . Tampilan GUI Untuk FIS Editor
Keterangan gambar :
• Ikon variabel input. Kita dapat mengedit fungsi keanggotaan tiap-tiap variabel
• Ikon diagram sistem. Kita dapat mengedit aturan (menuju ke rule editor) dengan
• Ikon variabel output. Kita dapat mengedit fungsi keanggotaan tiap-tiap variabel
• Nama sistem fuzzy yang akan kita bangun akan ditampilkan disini. Nama ini dapat
defuzzyfikasi.
• Tombol untuk mencari tahu informasi lebih lanjut tentang kerja FIS
Editor.
Dalam program matlab, apabila kita menginginkan membuka sistem fuzzy yang telah
dibuat sebelumnya (misalnya : produksi.fis), maka kita bisa langsung mengetikkan dari
b
c
d
e i
j
f k
g
Keterangan Gambar :
fuzzy.
4. Untuk mengedit atribut suatu fungsi keanggotaan himpunan fuzzy (nama, tipe,
10. Pop-up menu untuk memilih tipe atau jenis fungsi keanggotaan himpunan
Rule editor merupakan digunakan baik untuk mengedit maupun menampilkan aturan
yang akan atau telah dibuat. Editor ini dapat dipanggil dengan cara memilih menu View
– Edit rules… atau menekan tombol Ctrl + 3 atau menekan 2 kali (double click) ikon
diagram sistem (point-c pada Gambar 10.2.). Maka akan muncul rule editor seperti
d
c
f g h i
Keterangan Gambar. :
Rule Viewer
Viewer ini berguna untuk melihat alur panalaran fuzzy pada sistem, meliputi pemetaan
input yang diberikan ke tiap-tiap variabel input, aplikasi operator dan fungsi implikasi,
komposisi (agregasi) aturan, sampai pada penentuan output tegas pada metode
defuzzifikasi.
ab
d c
e
f
g
h
Keterangan Gambar :
2. Kolom ini (kuning) menunjukkan variabel input yang digunakan dalam aturan.
3. Kolom ini (biru) menunjukkan variabel output yang digunakan dalam aturan.
7. Tombol-tombol untuk melihat aturan ke samping kiri, kanan, turun atau naik.
Seperti halnya himpunan konvensional, ada beberapa operasi yang didefinisikan secara
khusus untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai
hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau α–predikat. Ada
Operator AND
operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar
Contoh 1:
Misalkan nilai keanggotaan 27 tahun pada himpunan MUDA adalah 0,6 (μMUDA[27]=0,6); dan
adalah:
= min(0,6; 0,8)
= 0,6
Contoh 2:
Misalkan nilai keanggotaan IP 3.2 pada himpunan IPtinggi adalah 0.7 dan nilai keanggotaan 8
semester pada himpunan LulusCepat adalah 0.8 maka a-predikat untuk IPtinggi dan LulusCepat:
= min(0.7,0.8) = 0.7
Operator OR
Operator ini berhubungan dengan operasi union pada himpunan. α– predikat sebagai hasil
operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar
Contoh 1:
adalah:
= max(0,6; 0,8)
= 0,8
Contoh 2:
= max(0.7,0.8)
= 0.8
Operator NOT
Operator ini berhubungan dengan operasi komplemen pada himpunan. α– predikat sebagai
hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan
A’ = 1-A[x]
Contoh 1:
Pada contoh , dapat dihitung nilai α–predikat untuk usia TIDAK MUDA adalah:
= 1 - 0,6
= 0,4
Contoh 2:
Meskipun penalaran ini sudah jarang sekali digunakan, namun terkadang masih digunakan
untuk penskalaan fuzzy. Jika 2 daerah fuzzy direlasikan dengan implikasi sederhana sebagai
berikut :
IF x is A THEN y is B
transfer fungsi:
y = f((x,A),B)
maka sistem fuzzy dapat berjalan tanpa harus melalui komposisi dan dekomposisi fuzzy.
Nilai output dapat diestimasi secara langsung dari nilai keanggotaan yang berhubungan
dengan antesedennya.
Contoh:
Misalkan ada 2 himpunan fuzzy: TINGGI (menunjukkan tinggi badan orang Indonesia) dan
BERAT (menunjukkan berat badan orang Indonesia) seperti terlihat pada Gambar dibawah.
Relasi antara kedua himpunan diekspresikan dengan aturan tunggal sebagai berikut:
Implikasi secara monoton akan menyeleksi daerah fuzzy A dan B dengan algoritma sebagai
berikut:
Untuk suatu elemen x pada domain A, tentukan nilai keanggotannya dalam daerah
permukaan fuzzy-nya. Tarik garis lurus ke arah domain. Nilai pada sumbu domain, y,
yB = f(μA[x],DB)
Gambar dibawah menunjukkan kerja algoritma tersebut. Seseorang yang memiliki tinggi
badan 165 cm, memiliki derajat keanggotaan 0,75 pada daerah fuzzy TINGGI; diperoleh dari:
= 15/20
= 0,75
Nilai ini dipetakan ke daerah fuzzy BERAT yang akan memberikan solusi berat badan orang
Karena 0,75 > 0,5 maka letak y adalah antara 52,5 sampai 70, sehingga:
⇔ 1-2[(70-y)/(70-40)]2 = 0,75
⇔ 1-2(70-y)2/900 = 0,75
⇔ 2(70-y)2/900 = 0,25
⇔ (70-y)2 = 112,5
⇔ (70-y) = √(112,5)
⇔y = 70 10,6 ---> ambil (-) nya, karena nilainya harus < 70
⇔y = 59,4
0
Gambar Implikasi monoton: TINGGI ke BERAT.
FUNGSI IMPLIKASI
Tiap-tiap aturan (proposisi) pada basis pengetahuan fuzzy akan berhubungan dengan suatu
relasi fuzzy. Bentuk umum dari aturan yang digunakan dalam fungsi implikasi adalah:
IF x is A THEN y is B
dengan x dan y adalah skalar, dan A dan B adalah himpunan fuzzy. Proposisi yang mengikuti
IF disebut sebagi anteseden, sedangkan proposisi yang mengikuti THEN disebut sebagai
konsekuen. Proposisi ini dapat diperluas dengan menggunakan operator fuzzy, seperti:
IF (x1 is A1) • (x2 is A2) • (x3 is A3) • ...... • (xN is AN) THEN y is B
1
a. Min (minimum). Fungsi ini akan memotong output himpunan fuzzy. Gambar dibawah
b. Dot (product). Fungsi ini akan menskala output himpunan fuzzy. Gambar dibawah
2
DaftarPustaka
1. Kusumadewi; Sri. 2003. Artificial Intelligence (Teknik & Aplikasinya). Yogyakarta:
Graha Ilmu
2. Suyoto. 2004. Intelegensi Buatan (Teori dan Pemrograman). Yogyakarta : Gava
media.
3. Sutojo, T. Edy ,Mulyanto dan Suhartono,Vincent. 2010. Kecerdasan Buatan. Andi
Offset. Yogyakarta.
4. Kusumadewi; Sri. 2004. Membangun Jaringan Syaraf Tiruan dengan Matlab & Excel
Link. Yogyakarta: Graha Ilmu.
5. Kuswadi; Son. 2004. Kendali Cerdas: Teori dan Aplikasi Praktisnya. Yogyakarta :
Andi
6. Away, gunaldi, 2010, the shortcut of matlab programing, informatic bandung.
7. Kusumadewi; Sri. 2002, analisis dan disain sistem fuzzy menggunakan toolsbox
matlab, Yogyakarta: Graha Ilmu.
8. Murata, Tadao, 1989, petri net properties, analysis and application, proceding of
IEEEVol4 april 1989.
9. Jan Jantzen, (1998), Tutorial On Fuzzy Logic, Denmark, Technical University of Denmark,
Department of Automation,
10. Khaled Hammouda and Prof. Fakhreddine Karray, (1996), A Comparative Study of Data
Clustering Techniques, Canada , Department of Systems Design EngineeringUniversity of
Waterloo.