Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
1. Dr. ACHMAD SOLICHIN
@achmatim
Universitas Budi Luhur, Jakarta
Mari mengenal…
https://web.facebook.com/groups/phpid
Jumat, 30 Juli 2021 @19.00 WIB
PHP
Indonesia
ONLINE
LEARNING
2021
KONSEP &
IMPLEMENTASINYA
2. 100 km / jam
50 km / jam
10 km / jam
Banyak permasalahan di
sekitar kita yang mengandung
ketidakpastian
Manakah yang dapat dikatakan CEPAT
3. Banyak permasalahan di
sekitar kita yang mengandung
ketidakpastian
Adi; tinggi = 170 cm
Ida; tinggi = 169 cm
Edi; tinggi = 150 cm
Jika yang dikatakan TINGGI >=
170 cm, apakah IDA dapat
dikatakan TINGGI? atau
PENDEK?
5. APA ITU LOGIKA FUZZY?
Logika Fuzzy merupakan logika yang merepresentasikan
nilai samar, ketidakpastian, kebenaran sebagian atau
“degree of truth”.
Logika fuzzy merupakan pengembangan dari Logika
Boolean yang hanya bernilai 0 dan 1. Logika Fuzzy menjadi
salah satu dasar dari pengembangan komputer modern.
6. APA ITU LOGIKA FUZZY?
Logika fuzzy pertama kali dikembangkan
oleh Prof. Lotfi Aliasker Zadeh melalui
tulisannya pada tahun 1965 tentang Teori
Himpunan Fuzzy.
Prof. Lotfi Asker Zadeh adalah seorang
ilmuwan Amerika Serikat berkebangsaan
Iran dari Universitas California di Barkeley.
7. APA ITU LOGIKA FUZZY?
Logika Boolean (logika klasik, logika crips) menyatakan bahwa
segala hal dapat direpresentasikan dengan nilai biner (0 dan 1,
benar dan salah, iya dan tidak, hitam dan putih). Tidak ada nilai
di antaranya (precise). Notasi {0, 1}
Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1
dalam bentuk linguistik, sehingga memungkinkan keberadaan
konsep tidak pasti seperti “agak”, “sedikit”, “lumayan”,
“sangat”, dll. Ada nilai antara 0 dan 1 (imprecise). Notasi [0,
1]
8. APA ITU LOGIKA FUZZY?
Logika Boolean, hanya
ada 0 dan 1 (hitam dan
putih)
Logika Fuzzy, ada nilai di
antara 0 dan 1 (nilai abu-
abu)
11. LOGIKA FUZZY DALAM PENELITIAN
Kendali Logika Fuzzy pada Sistem Electronic Control Unit (ECU) Air Conditioner
Mobil - https://jtiik.ub.ac.id/index.php/jtiik/article/view/1228
Rancang Bangun Sistem Penstabil Kamera (Gimbal) dengan Logika Fuzzy untuk
Pengambilan Gambar Foto dan Video -
https://jtiik.ub.ac.id/index.php/jtiik/article/view/785
Tempat Sampah Pintar Dengan Logika Fuzzy Berbasis NodeMCU -
http://ijcs.stmikindonesia.ac.id/index.php/ijcs/article/view/256
Perancangan Sistem Pengereman Roda Sepeda Motor Dengan Pengendali Logika
Fuzzy - https://jom.ft.budiluhur.ac.id/index.php/maestro/article/view/83
Pengembangan Aplikasi Penilaian Kinerja Guru di Sekolah Menengah Pertama (SMP)
Menggunakan Logika Fuzzy (Studi Kasus : SMP Negeri 3 Mandau) -
http://www.ejournal.pelitaindonesia.ac.id/JMApTeKsi/index.php/JOM/article/view/
391
12. TEORI DASAR LOGIKA FUZZY
Variabel Fuzzy
o Variabel yang akan dibahas dalam suatu sistem fuzzy.
o Contoh: umur, kecepatan, suhu, tinggi badan, penghasilan, dll
Himpunan Fuzzy
o Kelompok yang mewakili suatu keadaan tertentu dalam variabel fuzzy.
o Atribut himpunan fuzzy:
Linguistik, yaitu nama suatu kelompok yang mewakili keadaan tertentu dengan menggunakan
bahasa alami (natural). Contoh: suhu panas, sedang, dingin; tinggi badan pendek, sedang,
tinggi; dll
Numerik, yaitu ukuran nilai variabel dalam bentuk angka numerik, contoh: 10, 30, 50, dll
13. TEORI DASAR LOGIKA FUZZY
Semesta Pembicaraan
o Keseluruhan nilai yang diperbolehkan untuk dioperasikan dengan
variabel fuzzy
o Contoh:
Semesta pembicaraan variabel umur adalah [0, ]
Semesta pembicaraan variabel suhu adalah [0, 100]
Domain himpunan Fuzzy, yaitu seluruh nilai yang diijinkan
dalam semesta pembicaraan dan boleh dioperasikan dalam
suatu himpunan fuzzy.
14. FUNGSI KEANGGOTAAN
Fungsi keanggotaan merupakan grafik yang mewakili besar dari derajat
keanggotaan masing-masing variabel input yang berada dalam interval antara 0
dan 1.
Derajat keanggotaan sebuah variabel x dilambangkan dengan simbol (x).
Fungsi Keanggotaan:
1. Kurva Linear: Naik, Turun
2. Kurva Segitiga
3. Kurva Trapesium
4. Kurva Bahu
5. Kurva S (Sigmoid): Pertumbuhan, Penyusutan
6. Kurva Lonceng: Pi, Beta, Gaus
15. FUNGSI KEANGGOTAAN: LINEAR
a b
(x)
x
0
1
𝜇 𝑥 =
0; 𝑥 ≤ 𝑎
𝑥 − 𝑎
𝑏 − 𝑎
; 𝑎 ≤ 𝑥 ≤ 𝑏
1; 𝑥 ≥ 𝑏
20 80
(x)
x
0
1
Kurva Linear Naik
Naik
Berapa derajat keanggotaan
dengan nilai x = 42 pada
himpunan naik?
𝜇 42 =
42 − 20
80 − 20
=
22
60
= 0,36
16. FUNGSI KEANGGOTAAN: LINEAR
a b
(x)
x
0
1
𝜇 𝑥 =
0; 𝑥 ≥ 𝑏
𝑏 − 𝑥
𝑏 − 𝑎
; 𝑎 ≤ 𝑥 ≤ 𝑏
1; 𝑥 ≤ 𝑎
Kurva Linear Turun
10 40
(x)
x
0
1
turun
Berapa derajat keanggotaan
dengan nilai x = 24 pada
himpunan turun?
𝜇 24 =
40 − 24
40 − 10
=
16
30
= 0,53
17. FUNGSI KEANGGOTAAN: SEGITIGA
𝜇 𝑥 =
0; 𝑥 ≤ 𝑎 𝑜𝑟 𝑥 ≥ 𝑐
𝑥 − 𝑎
𝑏 − 𝑎
; 𝑎 ≤ 𝑥 ≤ 𝑏
𝑐 − 𝑥
𝑐 − 𝑏
; 𝑏 ≤ 𝑥 ≤ 𝑐
Kurva Segitiga
Berapa derajat keanggotaan
dengan nilai x = 24 pada
himpunan di atas?
𝜇 24 =
24 − 10
25 − 10
=
14
15
= 0,93
a c
(x)
x
0
1
b 10 40
(x)
x
0
1
25
18. FUNGSI KEANGGOTAAN:
TRAPESIUM
𝜇 𝑥 =
0; 𝑥 ≤ 𝑎 𝑜𝑟 𝑥 ≥ 𝑑
𝑥 − 𝑎
𝑏 − 𝑎
; 𝑎 ≤ 𝑥 ≤ 𝑏
1; 𝑏 ≤ 𝑥 ≤ 𝑐
𝑑 − 𝑥
𝑑 − 𝑐
; 𝑐 ≤ 𝑥 ≤ 𝑑
Kurva Trapesium
Berapa derajat keanggotaan
dengan nilai x = 24 pada
himpunan di atas?
𝜇 24 =
24 − 10
25 − 10
=
14
15
= 0,93
a d
(x)
x
0
1
b c 10 50
(x)
x
0
1
25 35
20. FUNGSI KEANGGOTAAN: LONCENG
(PI)
Kurva Lonceng (Pi)
x
x
S
x
x
S
x
G
);
,
2
/
,
;
(
1
);
,
2
/
,
;
(
)
,
,
(
21. OPERASI HIMPUNAN FUZZY
Operasi himpunan diperlukan untuk proses penalaran atau
inferensi
Operasi himpunan melibatkan operasi terhadap derajat
keanggotaan (x)
Derajat keanggotaan hasil operasi dua buah himpunan fuzzy
disebut dengan -predikat
22. OPERASI HIMPUNAN FUZZY
Operasi Gabungan (Union)
o Disebut operasi max, dengan operator OR
o Dinyatakan sebagai:
A B = A(x) B(x) = max(A(x), B(x)) dimana x X
Operasi Irisan (Intersection)
o Disebut operasi min, dengan operator AND
o Dinyatakan sebagai:
A B = A(x) B(x) = min(A(x), B(x))
dimana x X
23. OPERASI HIMPUNAN FUZZY
Operasi Komplemen (Complement)
o Disebut operasi NOT
o Dinyatakan sebagai:
𝛍𝐀𝐜 𝐱 = 𝟏 − 𝛍𝐀(𝐱) dimana x X
24. SISTEM INFERENSI FUZZY
Sistem inferensi fuzzy adalah cara memetakan ruang input
menuju ruang output menggunakan logika fuzzy
INPU
T
Fuzzifikasi Inferensi
Defuzzifikas
i
OUTPU
T
Basis Pengetahuan
27. CONTOH KASUS: MESIN CUCI
OTOMATIS
Sebuah pabrik mesin cuci akan membuat sebuah mesin cuci otomatis
berbasis fuzzy yang dapat mengatur kecepatan putar mesin
berdasarkan banyaknya pakaian dan tingkat kekotoran. Mesin cuci
telah dilengkapi dengan sensor yang dapat mendeteksi banyaknya
pakaian dan tingkat kekotoran pakaian. Spesifikasinya sebagai berikut:
Kecepatan putar mesin dalam pencucian minimal 500 rpm (lambat)
dan maksimal 1200 rpm (cepat)
Banyaknya pakaian dinyatakan dengan nilai 0-100 yang mana nilai
<= 40 termasuk sedikit dan >= 80 termasuk banyak.
Tingkat kekotoran dinyatakan dengan nilai 0-100 yang mana nilai 0-
40 adalah rendah, 50 adalah sedang, dan 60-100 adalah tinggi.
28. CONTOH KASUS: MESIN CUCI
OTOMATIS
Berdasarkan berbagai pengujian terhadap prototype mesin, diperoleh aturan
sebagai berikut:
[R1] Jika pakaian sedikit dan kekotoran rendah, maka putaran lambat
[R2] Jika pakaian sedikit dan kekotoran sedang, maka putaran lambat
[R3] Jika pakaian sedikit dan kekotoran tinggi, maka putaran cepat
[R4] Jika pakaian banyak dan kekotoran rendah, maka putaran lambat
[R5] Jika pakaian banyak dan kekotoran sedang, maka putaran cepat
[R6] Jika pakaian banyak dan kekotoran tinggi, maka putaran cepat
Berapa rpm kecepatan putar yang harus dihasilkan mesin jika pada
proses pencucian ternyata banyaknya pakaian bernilai 50 dan tingkat
kekotoran bernilai 58 ?
33. 2. INFERENSI
Aturan (rule):
[R1] Jika pakaian sedikit dan kekotoran rendah, maka putaran lambat
[R2] Jika pakaian sedikit dan kekotoran sedang, maka putaran lambat
[R3] Jika pakaian sedikit dan kekotoran tinggi, maka putaran cepat
[R4] Jika pakaian banyak dan kekotoran rendah, maka putaran lambat
[R5] Jika pakaian banyak dan kekotoran sedang, maka putaran cepat
[R6] Jika pakaian banyak dan kekotoran tinggi, maka putaran cepat
34. 2. INFERENSI
[R1] Jika pakaian sedikit dan kekotoran rendah, maka putaran lambat
o -predikat1 = SEDIKIT(x) RENDAH(x)
= min(SEDIKIT(50); RENDAH(58))
= min(0,75; 0)
= 0
o Nilai z1 = 1200
500 1200
(z)
x
0
1
LAMBAT CEPAT
𝜇𝐿𝐴𝑀𝐵𝐴𝑇 𝑧 =
0; 𝑧 ≥ 1200
1200 − 𝑧
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≤ 500
35. 2. INFERENSI
[R2] Jika pakaian sedikit dan kekotoran sedang, maka putaran lambat
o -predikat2 = SEDIKIT(x) SEDANG(x)
= min(SEDIKIT(50); SEDANG(58))
= min(0,75; 0,20)
= 0,20
o Nilai z2
500 1200
(z)
z
0
1
LAMBAT CEPAT
𝜇(𝑧) =
1200 − 𝑧2
1200 − 500
0,20 =
1200 − 𝑧2
700
𝜇𝐿𝐴𝑀𝐵𝐴𝑇 𝑧 =
0; 𝑧 ≥ 1200
1200 − 𝑧
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≤ 500
𝑧2 = 1060
36. 2. INFERENSI
[R3] Jika pakaian sedikit dan kekotoran tinggi, maka putaran cepat
o -predikat3 = SEDIKIT(x) TINGGI(x)
= min(SEDIKIT(50); TINGGI(58))
= min(0,75; 0,80)
= 0,75
o Nilai z3
500 1200
(z)
z
0
1
LAMBAT CEPAT
𝜇(𝑧) =
𝑧3 − 500
1200 − 500
0,75 =
𝑧3 − 500
700
𝑧3 = 1025 𝜇𝐶𝐸𝑃𝐴𝑇 𝑧 =
0; 𝑧 ≤ 500
𝑧 − 500
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≥ 1200
37. 2. INFERENSI
[R4] Jika pakaian banyak dan kekotoran rendah, maka putaran lambat
o -predikat4 = BANYAK(x) RENDAH(x)
= min(BANYAK(50); RENDAH(58))
= min(0,25; 0)
= 0
o Nilai z4 = 1200
500 1200
(z)
z
0
1
LAMBAT CEPAT
𝜇𝐿𝐴𝑀𝐵𝐴𝑇 𝑧 =
0; 𝑧 ≥ 1200
1200 − 𝑧
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≤ 500
38. 2. INFERENSI
[R5] Jika pakaian banyak dan kekotoran sedang, maka putaran cepat
o -predikat5 = BANYAK(x) SEDANG(x)
= min(BANYAK(50); SEDANG(58))
= min(0,25; 0,20)
= 0,20
o Nilai z5
500 1200
(z)
z
0
1
LAMBAT CEPAT
𝜇(𝑧) =
𝑧5 − 500
1200 − 500
0,20 =
𝑧5 − 500
700
𝑧5 = 640 𝜇𝐶𝐸𝑃𝐴𝑇 𝑧 =
0; 𝑧 ≤ 500
𝑧 − 500
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≥ 1200
39. 2. INFERENSI
[R6] Jika pakaian banyak dan kekotoran tinggi, maka putaran cepat
o -predikat6 = BANYAK(x) TINGGI(x)
= min(BANYAK(50); TINGGI(58))
= min(0,25; 0,80)
= 0,25
o Nilai z6
500 1200
(z)
z
0
1
LAMBAT CEPAT
𝜇(𝑧) =
𝑧6 − 500
1200 − 500
0,25 =
𝑧6 − 500
700
𝑧6 = 675 𝜇𝐶𝐸𝑃𝐴𝑇 𝑧 =
0; 𝑧 ≤ 500
𝑧 − 500
1200 − 500
; 500 ≤ 𝑧 ≤ 1200
1; 𝑧 ≥ 1200
40. 3. DEFUZZIFIKASI
Metode Average (rata-rata):
𝑍∗
=
𝑖
𝑛
𝛼𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡𝑖 ∗ 𝑧𝑖
𝑖
𝑛
𝛼𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡𝑖
𝑍∗
=
0 ∗ 1200 + 0,20 ∗ 1060 + 0,75 ∗ 1025 + 0 ∗ 1200 + 0,20 ∗ 640 + (0,25 ∗ 675)
0 + 0,20 + 0,75 + 0 + 0,20 + 0,25
𝑍∗
=
1277,5
1,4
= 𝟗𝟏𝟐, 𝟓𝟎
Kesimpulan: Jika banyaknya pakaian bernilai 50 dan
tingkat kekotoran bernilai 58, maka kecepatan
putaran mesin cuci adalah 912,50 913
41. PENJELASAN LEBIH LANJUT
SILAHKAN SIMAK VIDEO BERIKUT
INI….
https://youtu.be/6szqrV9u9k8 https://youtu.be/aAjSFo0SXhg
https://youtu.be/fKueNI4kY6A
https://youtu.be/RjyRTBNk3w8