Skip to main content

Fuzzy Logic - 2

Fuzzy Logic

Holaaaa stupenss!! Yuhuuuu kita kembali lagi belajar fuzzy logic nih. Nah, kalau kemarin kita belajar mengenai konsep dasar, himpunan fuzzy, dan contoh sederhana implementasi fuzzy sekarang kita akan belajar mengenai keuntungan dan kekurangan fuzzy serta implenetasi kasus dengan konsep fuzzy..
Yuhuuu.. check it out!!
Kekurangan dan Kelebihan Logika Fuzzy
Logika fuzzy adalah cabang dari logika matematika yang memungkinkan pemodelan ketidakpastian dan ambiguitas dalam pengambilan keputusan. Berbeda dengan logika klasik yang menggunakan nilai biner (benar atau salah), logika fuzzy memperkenalkan konsep variabel fuzzy dan himpunan fuzzy yang menggambarkan tingkat keanggotaan dalam suatu himpunan. Hal ini memungkinkan penggunaan konsep linguistik dan pemrosesan data yang tidak eksak. Nah, logika fuzzy memiliki kekurangan dan juga kelebihan yang bermanfaat nih, berikut uraiannya :
Kekurangan Logika Fuzzy
1. Kompleksitas Perhitungan: Operasi logika fuzzy membutuhkan perhitungan yang lebih kompleks dan waktu komputasi yang lebih lama dibandingkan dengan logika klasik. Ini dapat menjadi kendala dalam pemrosesan data yang besar atau real-time.
2. Kesulitan dalam Menentukan Himpunan dan Fungsi Keanggotaan: Menentukan himpunan fuzzy yang tepat dan fungsi keanggotaan yang sesuai untuk variabel dapat menjadi tantangan. Keputusan ini bersifat subjektif dan tergantung pada pemahaman dan interpretasi pengguna.
3. Tantangan dalam Interpretasi: Hasil dari logika fuzzy dapat sulit untuk diinterpretasikan karena melibatkan tingkat keanggotaan yang kontinu. Pengguna harus dapat menginterpretasikan hasil ini dengan bijak dan mengambil keputusan yang tepat.
Kelebihan Logika Fuzzy
1.

Mengatasi Ketidakpastian: Logika fuzzy memungkinkan pemodelan dan pengambilan keputusan dalam situasi ketidakpastian dan ambiguitas. Variabel fuzzy dan himpunan fuzzy memungkinkan penggambaran tingkat keanggotaan yang lebih fleksibel daripada logika klasik.

2. Fleksibilitas dalam Representasi Linguistik: Logika fuzzy memungkinkan representasi variabel dan hubungan antara variabel dalam bentuk linguistik. Ini memungkinkan pemrosesan data yang lebih intuitif dan manusiawi.

3. Aplikabilitas yang Luas: Logika fuzzy dapat diterapkan dalam berbagai bidang, termasuk sistem kendali cerdas, pengenalan pola, pengambilan keputusan, optimisasi, dan pemodelan prediksi. Kelebihan ini menjadikannya alat yang berguna dalam memecahkan masalah yang kompleks.

Penerapan Algoritma Logika Fuzzy dengan Metode yang Sesuai

I. Metode Mamdani

Metode Mamdani adalah salah satu metode umum dalam penerapan logika fuzzy. Algoritma ini menggunakan aturan fuzzy (IF-THEN) untuk menggabungkan kriteria dan memberikan bobot relatif. Metode ini cocok untuk masalah pengambilan keputusan yang melibatkan banyak variabel masukan dan keluaran yang berhubungan dengan himpunan fuzzy.Berikut adalah langkah-langkah dalam menggunakan metode Mamdani:

•  Fuzzifikasi: Mengubah variabel input crisp menjadi variabel fuzzy dengan menggunakan fungsi keanggotaan yang tepat. Misalnya, jika variabel input adalah "kecepatan" dengan himpunan fuzzy "lambat", "sedang", dan "cepat", maka nilai kecepatan crisp akan diubah menjadi nilai keanggotaan dalam himpunan fuzzy tersebut.

•  Rule Evaluation: Menerapkan aturan fuzzy (IF-THEN) untuk menggabungkan kriteria dan memberikan bobot relatif. Setiap aturan memiliki kondisi IF yang berhubungan dengan variabel input dan konklusi THEN yang memberikan hasil dalam variabel output. Misalnya, "IF kecepatan adalah lambat DAN jarak adalah dekat, THEN aksi adalah berhenti".

•  Agregasi: Menggabungkan hasil dari setiap aturan menjadi satu himpunan fuzzy yang menggambarkan tingkat kecocokan dengan setiap variabel output.

•  Defuzzifikasi: Mengubah himpunan fuzzy hasil agregasi menjadi nilai crisp yang dapat dipahami. Ini melibatkan proses menghitung titik pusat atau menggunakan metode tertentu, seperti metode centroid atau metode weighted average.

2. Metode Sugeno

sebagai sistem fuzzy berbasis model, menggunakan fungsi lineer untuk menggabungkan kriteria dan memberikan bobot relatif. Algoritma İni sering digunakan dalam sistem kendali cerdas dan pengambilan keputusan yang melibatkan hubungan linier antara variabel maşukan dan keluaran. Berikut adalah langkah-langkah dalam menggunakan metode Sugeno:

•  Fuzzifikasi: Seperti pada metode Mamdani, variabel input crisp diubah menjadi variabel fuzzy dengan menggunakan fungsi keanggotaan yang tepat.

•  Rule Evaluation: Aturan fuzzy (IF-THEN) diterapkan seperti pada metode Mamdani. Namun, konklusi THEN dalam metode Sugeno bukan himpunan fuzzy, melainkan fungsi linear dari variabel input. Misalnya, "İF suhu adalah tinggi DAN kelembaban adalah rendah, THEN aksi adalah 0.7 * suhu + 0.3 * kelembaban".

•  Agregasi: Hasil darİ setiap aturan dievaluasi menggunakan fungsİ linear, dan hasil-hasil İni dijumlahkan atau digabungkan untuk menghasilkan nilai keluaran yang akhir.

•  Defuzzifıkasi: Seperti pada metode Mamdani, himpunan fuzzy hasil agregasi diubah menjadi nilai crisp menggunakan metode defuzzifıkasi yang sesuai.

Penerapan algoritma logika fuzzy dengan metode yang sesuai bergantung pada karakteristik dan kebutuhan deri kasus yang dihadapi. Metode Mamdani lebih cocok untuk masalah yang kompleks dengan banyak variabel maşukan dan keluaran yang berhubungan dengan himpunan fuzzy. Di sisi lain, metode Sugeno lebih cocok untuk masalah yang melibatkan hubungan linier antara variabel input dan output.

Implementasi Algoritma dan Model Logika Fuzzy

1. Metode Mamdani

Contoh Kasus: Sistem Kendali Air Conditioner

Kita akan menggunakan contoh kasus sederhana tentang sistem kendali air conditioner berdasarkan suhu dan kelembaban ruangan. Tujuan kita adalah mengatur tingkat kekuatan air conditioner berdasarkan kondisi şuhu dan kelembaban yang diberikan.

Variabel Input:

I . şuhu: Dingin, Normal, Panas

2. Kelembaban: Rendah, Normal, Tİnggİ

Variabel Output:

1. Kekuatan Air Conditioner: Rendah, Sedang, Tinggi

Dengan menggunakan metode mamdani dan aturan fuzzy didapatkan aturan berikut

1 . Jika suhu adalah Dingin atau Kelembaban adalah Rendah, maka kekuatan Air Conditioner adalah Rendah.

2. Jika şuhu adalah Normal, maka kekuatan Air Conditioner adalah Sedang.

3. Jika şuhu adalah Panas atau Kelembaban adalah Tinggi, maka kekuatan Air Conditioner adalah Tinggi.

Fungsi keanggotaan yang digunakan •

•  Şuhu: Dingin (0, 10, 20), Normal (15, 25, 35), Panas (30, 40, 40)

•  Kelembaban: Rendah (0, 20, 40), Normal (30, 50, 70), Tinggi (60, 80, 100)

•  Kekuatan Air Conditioner: Rendah (0, 30, 60), Sedang (40, 70, 100), Tinggi (70, 100, 100)

Contoh Perhitungan: Misalkan şuhu z 25 dan kelembaban 70. Kita akan menggunakan metode Mamdani untuk menghitung tingkat kekuatan air conditioner.

Fuzzifikasi:

•  şuhu: Normal 0.5

•  Kelembaban: Tinggi 0.3

2. Rule Evaluation.

•  İF şuhu adalah Normal, THEN kekuatan Air Conditioner adalah Sedang (0,5)

•  İF şuhu adalah Panas atau Kelembaban adalah Tinggi, THEN kekuatan Air Conditioner adalah Tinggi (0,3)

3. Agregasi:

• Kombinasi nilai keanggotaan yang didapat: (Sedang 0.5), (Tinggi 0.3)

4. Defuzzifikasi:

•  Menggunakan metode centroid, kita akan menghitung nilai crisp kekuatan Air Conditioner.

•  Area Sedang   * (70 - 40) * (0.7) 10 5

•  Area Tinggi - 0.3 * (100 -70) * (0.7) - 6 3

• Total Area 10.5 + 6.3 - 16.8

• Nilai crisp kekuatan Air Conditioner = Total Area / Total Tinggi = 16.8 / 0.7 = 24

Berikut ini adalah contoh implementasi program Python menggunakan library scikit-fuzzy untuk memodelkan dan menghitung tingkat kekuatan air conditioner berdasarkan kasus di atas.



Dalam program di atas, kita mendefinisikan variabel input (suhu dan kelembaban) dan variabel output (kekuatan). Kemudian, kita menentukan fungsi keanggotaan untuk setiap variabel. Selanjutnya, kita mendefinisikan aturan fuzzy menggunakan Objek ctrl. Rule. Setelah itu, kita membuat sistem kendali fuzzy menggunakan ctrl. controlSystem , dan ctrl. controlSystemSimu1ation untuk menghitung output berdasarkan input yang diberikan. Akhirnya, kita mengambil output menggunakan output[ ' kekuatan ] .

Program di atas akan memberikan output tingkat kekuatan air conditioner yang dapat digunakan untuk mengatur suhu dan kelembaban ruangan secara otomatis.

2. Metode Sugeno

Kita akan menggunakan contoh kasus pengambilan keputusan investasi berdasarkan faktor keuntungan dan risiko. Tujuan kita adalah menghitung tingkat keputusan investasi berdasarkan nilai keuntungan dan risiko yang diberikan.

Variabel Input:

1. Keuntungan: Rendah, Sedang, Tinggi

2. Risiko: Rendah, Sedang, Tinggi

Variabel Output:

1. Tingkat Keputusan: Rendah, Sedang, Tinggi

Kita akan menggunakan metode Sugeno untuk memodelkan sistem pengambilan keputusan investasi ini. Aturan fuzzy yang dapat diterapkan adalah sebagai berikut :

1 . IF keuntungan adalah Rendah dan risiko adalah Rendah, THEN tingkat keputusan adalah 0.5 * keuntungan + 0.5 * risiko.

2. IF keuntungan adalah Tinggi atau risiko adalah Tinggi, THEN tingkat keputusan adalah keuntungan - risiko.

3. IF keuntungan adalah Sedang atau risiko adalah Sedang, THEN tingkat keputusan adalah 0.8 * keuntungan + 0.2 * risiko.

Contoh Perhitungan: Misalkan keuntungan = 0.8 dan risiko = 0.6. Kita akan menggunakan metode Sugeno untuk menghitung tingkat keputusan investasi.

1. Fuzzifikasi:

•  Keuntungan: Sedang = 0 8

•  Risiko: Sedang = 0.6

2. Rule Evaluation:

•  IF keuntungan adalah Rendah dan risiko adalah Rendah, THEN tingkat keputusan adalah 0.5 * keuntungan + 0.5 * risiko = 0.5 * 0.8 + 0.5 *

0.6 = 0.7.

•  IF keuntungan adalah Tinggi atau risiko adalah Tinggi, THEN tingkat keputusan adalah keuntungan - risiko = 0.8 - 0.6 = 0.2.

•  IF keuntungan adalah Sedang atau risiko adalah Sedang, THEN tingkat keputusan adalah 0.8 * keuntungan + 0.2 * risiko 0.8 * 0.8 + 0.2 *

0.6 = 0.74.

3. Agregasi:

• Menggabungkan hasil dari aturan fuzzy: (0.7, 0.2, 0.74).

4. Defuzzifikasi:

•  Menggunakan metode weighted average, kita akan menghitung nilai crisp tingkat keputusan investasi.

•  Nilai crisp tingkat keputusan = (0.7 * 0.5 + 0.2* 1 + 0.74*0.8) / (0.7 + 0.2 + 0.74) = 0.62.

Berikut ini adalah contoh implementasi program Python menggunakan library scikit-fuzzy untuk memodelkan dan menghitung tingkat keputusan investasi berdasarkan kasus di atas.



Pada program tersebut, kita mendefinisikan variabel input (keuntungan dan risiko) dan variabel output (tingkat_keputusan). Kemudian, kita menentukan fungsi keanggotaan untuk setiap variabel. Selanjutnya, kita mendefinisikan aturan fuzzy menggunakan Objek ctrl. Rule . Setelah itu, kita membuat sistem kendali fuzzy menggunakan ctrl. ControlSystem , dan ctrl. ControlSystemSimu1ation untuk menghitung output berdasarkan input yang diberikan. Akhirnya, kita mengambil output menggunakan kendali_investasi. output[ 'tingkat_keputusan'] .

Program di atas akan memberikan output tingkat keputusan investasi yang dapat digunakan untuk mengambil keputusan investasi berdasarkan nilai keuntungan dan risiko Yang diberikan.

Yuhuuu.. kita telah selesai nih belajar logika fuzzy!! Nah selanjutnya jangan lupa kerjain Quiz dan Studi Kasusnyaa !! See youuu!!

STUDI KASUS

Seorang petani ingin mengautomatisasi sistem irigasi di kebunnya berdasarkan tingkat kelembapan tanah dan curah hujan. Jika tingkat kelembapan tanah rendah dan curah hujan tinggi, maka sistem irigasi harus menyala. Jika tingkat kelembapan tanah sedang dan curah hujan sedang, maka sistem irigasi harus tetap aktif. Jika tingkat kelembapan tanah tinggi dan curah hujan rendah, maka sistem irigasi harus dimatikan. Tentukan output berupa nilai aktivasi sistem irigasi menggunakan metode Mamdani atau Sugeno.

3. Metode Mamdani

1. Variabel Input:

•  Kelembapan Tanah: Rendah (O - 50), Sedang (10 - 60), Tinggi (40 - 100)

•  Curah Hujan: Rendah (O - 50), Sedang (10 - 60), Tinggi (40 - 100)

2. Variabel Output:

• Aktivasi Sistem Irigasi: Mati (0- 1), Aktif (O - 1), Hidup (0- 1)

3. Fungsi Keanggotaan:

•  Kelembapan Tanah Rendah: [0, 0, 30]

•  Kelembapan Tanah Sedang: [1 0, 30, 50]

•  Kelembapan Tanah Tinggi: [30, 60, 601

•  Curah Hujan Rendah: [O, O, 301

•  Curah Hujan Sedang: [1 0, 30, 50]

•  Curah Hujan Tinggi: [30, 60, 60]

•  Aktivasi Sistem Irigasi Mati: [O, O, 0.5]

•  Aktivasi Sistem Irigasi Aktif: [O, 0.5, I l

•  Aktivasi Sistem Irigasi Hidup: [0.5, 1, 1]

4. Aturan:

•  Jika Kelembapan Tanah Rendah dan Curah Hujan Tinggi, maka Aktivasi Sistem Irigasi Mati.

•  Jika Kelembapan Tanah Sedang dan Curah Hujan Sedang, maka Aktivasi Sistem Irigasi Aktif.

•  Jika Kelembapan Tanah Tinggi dan Curah Hujan Rendah, maka Aktivasi Sistem Irigasi Hidup.

5. Implementasi Program Python menggunakan metode Mamdani:



Referensi
1. Tutorialspoint - Fuzzy Logic: https:/www.tutorialspoint.com/fuzzy_logic/index.htm
2. Al Shack - Fuzzy Logic Tutorial: http://aishack.in/tutorials/fuzzy-logic/
3. All About Circuits - Fuzzy Logic Systems: https://www.allaboutcircuits.com/technical-articles/fuzzy-logic-systems/
4. Matlab Documentation - Fuzzy Logic Toolbox: https:/www.mathworks.com/help/fuzzy/fuzzy-logic.html
5. Fuzzy Logic World: http:/fuzzy-logic.com/

Last modified: Wednesday, 11 October 2023, 11:14 AM