Assalamualaykum Wr. Wb.
wahaaa..
uda lamaa banget ga update blog uy..
buat pengunjung setia blog saya, saya minta maaf kalo uda 2 bulan lebih blog ini ga terupdate..
Dua bulan terakhir sibuk terus uy..
mulai dari ikutan INAICTA 2011, KP (Kerja Praktek), nyiapin robot buat IRO (International Robot Olympiad) 2011, bikin alat untuk dana hibah dari kampus, dll..

Nah pada post kali ini saya akan sedikit menulis sedikit tentang Fuzzy Logic (Logika Samar) yang dikombinasikan dengan PD (Proportional – Derivative) Controller.
nah kebetulan ada beberapa project saya yang memakai metode kontrol dengan algoritma ini, mulai dari robot Line Follower sampai prototype pengkondisi suhu dan kelembaban pada miniatur rumah jamur tiram (alat untuk dana hibah dari kampus).

Apa itu Fuzzy Logic??

Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran.

Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti “sedikit”, “lumayan”, dan “sangat”. Dia berhubungan dengan set fuzzy dan teori kemungkinan. Dia diperkenalkan oleh Dr. Lotfi Zadeh dari Universitas California, Berkeley pada 1965.
(http://id.wikipedia.org/wiki/Logika_fuzzy)

Fuzzy Logic Sederhana

Dari ilustrasi gambar diatas, tentu temen – temen sudah mendapatkan gambaran tentang apa itu yang dinamakan Fuzzy Logic kan??
secara sederhana, Fuzzy Logic adalah suatu logika yang memperhitungkan nilai diantara “0″ dan “1″, “ya” dan “tidak”..
jadi kemungkinan yang akan muncul tidak akan berjumlah 2 lagi (hanya YA dan TIDAK), tetapi menjadi lebih banyak..
Misal : Tidak, Sangat Mendekati Tidak, Hampir Mendekati Tidak, Hampir Mendekati Ya, Sangat Mendekati Ya, dan Ya

Okee.. Cukup untuk pengenalan singkat tentang Fuzzy Logic nya..
Yang akan saya bahas lebih lanjut adalah penggunaan Fuzzy Logic + PD Controller pada sistem pengkondisi kelembaban udara pada miniatur rumah jamur tiram..

Gambar alatnya :

Miniatur Rumah Jamur Tiram

Sensor yang saya gunakan adalah sensor suhu dan kelembaban SHT11..
Gambar :

SHT11

Kemudian alat yang saya pakai untuk menaikkan kelembaban udara adalah “Ultrasonic Mist Maker”..
Gambar :

Ultrasonic Mist Maker

Berikut adalah 3 langkah mudah untuk memulai menggunakan Algoritma Fuzzy Logic Sederhana :

  1. Tentukan Parameter yang akan di fuzzy-fikasi
  2. Buat Tabel Linguistik (kelas data berdasarkan range nilai) dari parameter tersebut
  3. Bikin response eksekusi dari masing2 kelas data (de-fuzzy-fikasi) dari parameter tersebut

Nah, sekarang kita mulai mengaplikasikan Fuzzy Logic Sederhana tersebut dengan mengikuti langkah – langkah di atas..

  1. Parameter yang akan kita olah dengan Fuzzy Logic dalam kasus ini adalah Tingkat Kelembaban (Rh) dan Kecepatan Putar Kipas (PWM)
    Di sini Parameter Kelembaban adalah Parameter Input dan Parameter PWM adalah Parameter Output 
  2. Sekarang kita buat tabel linguistik dari dua parameter diatas. Misalnya seperti di bawah ini :

    Tabel Linguistik Rh

    Tabel Linguistik PWM

  3. Setelah Tabel Linguistik nya jadi, langkah selanjutnya adalah membuat response (Defuzzyfication) dari masing – masing kategori Parameter Input (Rh). Secara sederhana, proses defuzzyfication nya bisa dituliskan seperti di bawah ini :
    • Jika Rh = “Sangat Rendah”, maka PWM = “Sangat Pelan”
    • Jika Rh = “Rendah”, maka PWM = “Pelan”
    • Jika Rh = “Ideal”, maka PWM = “Normal”
    • Jika Rh = “Tinggi”, maka PWM = “Cepat”
    • Jika Rh = “Sangat Tinggi”, maka PWM = “Sangat Cepat”
    Nah, proses defuzzyfication seperti diatas masih memiliki kekurangan.
    Ya..
    Pada masing – masing kategori tersebut masih memiliki range nilai, sehingga kita akan banyak menuliskan tabel defuzzyfication untuk masing – masing nilai pada masing – masing kategori sehingga program menjadi kurang efisien terlebih lagi jika kita mengkehendaki kelembaban harus dipertahankan sesuai dengan yang kita inginkan..
    Untuk mengatasi hal tersebut, kita membutuhkan suatu algoritma kontroller yang berfungsi untuk menangani masalah seperti di atas.
    Kontroller yang biasa saya pakai adalah PD Controller (Proportional – Derivative Controller) sederhana.
    PD Controller adalah sistem kontrol dengan menggunakan konstanta KP dan KD untuk menangani error yang timbul dari suatu sistem. Error yang dimaksud di sini adalah selisih nilai pembacaan sensor terhadap nilai yang diharapkan.
    Misalkan kita mengharapkan kelembaban udara di dalam miniatur rumah jamur adalah 85%, sedangkan nilai kelembaban yang terbaca oleh sensor SHT11 adalah 82%, maka :
    Error = Nilai yang Diharapkan – Nilai yang Terbaca 
    Error = (85 – 82)%
    Error = 3%
    Jika kita menginginkan suatu sistem pengkondisi kelembaban udara dengan menggunakan PD Controller, maka tabel linguistik dari proses Fuzzy-fikasi parameter kelembaban dan nilai PWM akan sedikit bergeser, dimana kelembaban dan PWM yang dianggap sebagai kategori normal adalah nilai kelembaban dan PWM yang kita harapkan (sesuai setting yang di inputkan) ± 5% ..
    Kemudian akan muncul satu tabel linguistik baru, yaitu tabel linguistik nilai Error, dimana nilai error inilah yang akan diolah oleh PD Controller untuk menjaga nilai kelembaban udara relatif di dalam miniatur rumah jamur tsb.
    Tabel Linguistik Nilai Error :

    Tabel Linguistik Nilai Error

    Okee.. Selanjutnya kita masuk ke bagian PD Controller nya..
    Langsung saja, berikut adalah persamaan sederhana yang saya pake buat PD Controller nya :


    Do
    Error = Nilai_Referensi - Nilai_Terbaca
    Delta_Error = Error - Error_Sebelumnya
    Proportional = KP * Error
    Derivative = KD * Delta_Error

    Pwm_Rh = Pwm_Rh + Proportional
    Pwm_Rh = Pwm_Rh + Derivative
    If Pwm_Rh >= 255 then Pwm_Rh = 255
    if Pwm_Rh <= 0 then Pwm_Rh = 0

    If Nilai_Terbaca >= Nilai_Referensi then
    Reset Mist_Maker '(Matikan Mist Maker)
    Else
    Set Mist_Maker '(Nyalakan Mist Maker)
    End if

    Error_Sebelumnya = Error
    Loop

     

    Nilai Konstanta KP dan KD pada persamaan diatas didapatkan dengan memasukkan nilai konstanta tersebut pada settingan.
    Sistem kerja dari kipas yang dipakai adalah dengan meniupkan udara keluar dari miniatur rumah jamur, jadi ketika kelembaban di dalam sistem meningkat dan melebihi nilai referensi, maka Mist Maker dimatikan dan kecepatan putar kipas dalam membuang kelembaban udara keluar sistem akan semakin tinggi.Begitulah kira – kira tentang apa yang saya pahami sedikit tentang Fuzzy Logic dan PD Controller sederhana..
    Apabila terjadi miskonsep dan kerancuan saya mohon maaf dan mohon dikoreksi..
    Terima Kasih.. :DSemoga Bermanfaat.. :D

    Regards,

    joe4cva