Pertemuan 9 · Fuzzy Logic
Ketika batas tidak harus tegas
Hari ini kita membuat komputer bernalar dengan kata “agak”, “cukup”, dan “sangat”, lalu memakainya untuk menilai risiko diabetes pada data nyata.
Tahap 1 · Konsep
Panas atau tidak?
Siang ini suhu di Palangka Raya 29 °C. Panas atau tidak? Bagaimana kalau 30 °C?
Kebanyakan orang menjawab “agak panas”. Komputer biasa tidak mengenal kata “agak”. Ia memakai batas tegas, misalnya “panas jika suhu ≥ 30 °C”, sehingga 29,9 °C dianggap sama tidak panasnya dengan 15 °C.
Analogi: saklar dan dimmer
Saklar hanya punya dua posisi, mati atau nyala. Itulah Crisp Logic. Dimmer bisa diputar sedikit demi sedikit dari redup sampai terang. Itulah Fuzzy Logic.
Tahap 2 · Teori
Gambaran besar dulu
Apa
Fuzzy Logic adalah cara membuat komputer bernalar dengan kata seperti agak, cukup, dan sangat, bukan hanya ya atau tidak.
Siapa
Diperkenalkan Lotfi A. Zadeh pada 1965 lewat makalah tentang fuzzy set. Dipakai perancang sistem kendali, pembuat peralatan rumah tangga, sampai sistem pendukung keputusan.
Mengapa
Banyak pengetahuan manusia diungkapkan dengan kata yang samar. Fuzzy Logic menerjemahkan pengetahuan itu menjadi hitungan.
Hari ini cukup tiga gagasan. Masing-masing dimulai dari bahasa sehari-hari, baru kemudian istilah akademisnya.
Satu nilai glukosa bisa menjadi anggota beberapa fuzzy set sekaligus, misalnya sedang dan tinggi, masing-masing dengan derajatnya sendiri. Kurva yang memetakan nilai menjadi derajat disebut membership function.
Di 140 mg/dL, glukosa termasuk “sedang” 0,33 sekaligus “tinggi” 0,25. Derajatnya tidak harus berjumlah 1. Batas set ini contoh pembelajaran, bukan kriteria medis.
| Rule | IF | THEN risiko |
|---|---|---|
| R1 | glukosa tinggi AND BMI tinggi | tinggi |
| R2 | glukosa tinggi AND usia tua | tinggi |
| R3 | glukosa sedang AND BMI sedang | sedang |
| R4 | glukosa sedang AND usia paruh baya | sedang |
| R5 | glukosa rendah | rendah |
| R6 | BMI rendah AND usia muda | rendah |
Mengapa minimum?
Pengetahuan pakar ditulis sebagai rule. Rule dengan AND hanya sekuat syarat yang paling lemah, jadi kekuatannya adalah nilai minimum dari derajat syarat-syaratnya.
Contoh
Glukosa 140 (tinggi 0,25) dan BMI 32 (tinggi 0,40).
R1 = min(0,25; 0,40) = 0,25
Potong
Setiap rule memotong output set miliknya setinggi kekuatan rule itu.
Gabungkan
Potongan-potongan digabung menjadi satu bentuk. Langkah ini disebut aggregation.
Cari titik berat
Skor akhirnya adalah centroid bentuk itu, seperti titik tempat papan tak beraturan bisa seimbang di atas jari.
z* = Σ μ(z) · z / Σ μ(z) artinya: rata-rata posisi skor, ditimbang oleh tinggi bentuknya
Ketiga gagasan ini bekerja bersama di Lab pada layar berikutnya.
Tahap 3 · Eksplorasi
Lab: Mamdani Inference
Garis putus-putus adalah output set risiko rendah, sedang, dan tinggi. Bentuk biru adalah gabungan potongannya. Pin hitam adalah centroid, yaitu skor risiko.
Tahap 3 · Eksplorasi · jika waktu cukup
Control surface
Permukaan ini adalah skor risiko untuk setiap kombinasi glukosa dan BMI pada usia yang dipilih. Bola oranye adalah pasien Anda. Bagian datar abu-abu adalah celah, tempat tidak ada rule yang aktif.
Di mana celah itu muncul, dan rule apa yang perlu ditambahkan?
Pengayaan · jika waktu cukup
Satu rule base, tiga metode inferensi
Selain Mamdani, ada dua metode lain. Rule-nya sama persis, yang berbeda hanya cara mengubah hasil rule menjadi satu angka. Cukup dikenali dulu, tidak perlu dihafal.
Mamdani
64Hasil rule berupa bentuk. Bentuk digabung, lalu dicari titik beratnya.
Kita praktikkan hari ini. Paling mudah dibayangkan.
Sugeno
0Hasil rule langsung berupa angka (rendah 20, sedang 50, tinggi 85), lalu dirata-rata.
Ringan dihitung, populer di sistem kendali.
Tsukamoto
0Setiap rule menghasilkan angkanya sendiri dari bentuk yang selalu naik atau selalu turun, lalu dirata-rata.
Sangat populer di skripsi Indonesia.
Rule-nya sama, mengapa angkanya berbeda? Metode mana yang paling masuk akal untuk kasus ini?
Final project yang memakai Sugeno atau Tsukamoto, lengkap dengan alasan dan perbandingannya terhadap Mamdani, mendapat nilai tambah.
Tahap 3 · Contoh positif dan negatif
Fuzzy atau bukan?
Fuzzy Logic cocok untuk besaran yang bertingkat dan batasnya samar. Untuk keputusan yang memang tegas, logika biasa lebih tepat. Tentukan setiap kasus di bawah ini.
0 dari 0 tepat
Tahap 4 · Praktik di Kaggle
Sekarang kita tulis sendiri
Kita lengkapi tiga bagian inti bersama-sama: fuzzification, rule base, dan centroid. Bagian lain sudah disiapkan, tinggal dijalankan.
File data di notebook: /kaggle/input/diabetes/diabetes.csv. Jika belum muncul di panel Input, klik Add Input lalu cari salihacur diabetes.
Urutan hari ini
| Menit | Kegiatan |
|---|---|
| 0-5 | Pembukaan dan daftar kelas |
| 5-35 | Konsep sampai Lab |
| 35-80 | Live coding, 3 bagian inti |
| 80-105 | Tantangan mandiri |
| 105-120 | Exit ticket dan penutup |
Tantangan mandiri · 25 menit
Buat sistem fuzzy Anda lebih cocok
- Coba dua perubahan: geser batas satu membership function, atau ubah ambang skor 50.
- Catat hasilnya: naik atau turun kesesuaiannya dengan kolom Outcome?
- Tulis satu kalimat: perubahan mana yang lebih berpengaruh, dan mengapa.
Bonus: tambahkan satu rule untuk pasien yang belum tertangkap rule mana pun.
Exit ticket
- Apa beda crisp set dan fuzzy set? Beri satu contoh dari kehidupan sehari-hari.
- Mengapa sistem Fuzzy Logic membutuhkan langkah defuzzification?