IMPLEMENTASI EMBEDDED FUZZY MENGGUNAKAN MIKROKONTROLER PIC18F4550 Supriadi Jurusan Teknologi Informasi, Politeknik Negeri Samarinda
[email protected]
Abstrak Penelitian ini fokus pada sistem Inferensi Fuzzy yang dibenamkan pada mikrokontroler PIC18F4550. Hasilnya ditampilkan pada virtual terminal agar bisa diamati. Keluaran inferensi pada tiap Rule dibandingkan menggunakan Matlab. Pada penelitian ini, terdapat dua buah variabel masukan dan sebuah variabel keluaran. Pengaturan nilai masukan menggunakan dua buah resistor variabel, sebagai manipulator sinyal masukan 𝑥1 dan 𝑥2 . Dengan menggunakan sistem inferensi Fuzzy Mamdani, Inferensi Fuzzy telah berhasil diimplementasikan dengan selisih 0.00004%.Tiap-tiap variabel masukan dihubungkan pada kanal masukan ADC dengan resolusi 10 bit dan keluaran ditampilkan dalam bentuk text. Jumlah aturan IF-THEN adalah 9, dan defuzzifikasi menggunakan metode centroid (Center Of Gravity). Kata kunci : Embedded Fuzzy, mikrokontroler, inferensi Fuzzy
1.
PENDAHULUAN
PIC18F4550 bisa mendukung keperluan Embedded Fuzzy, karena memiliki 13 kanal ADC dengan resolusi 10-bit, memiliki 2 keluaran PWM dengan resolusi maksimum 10-bit, kemampuan port I/O maksimum 25mA sebagai pemberi dan penerima arus listrik. Kapasitas program 32 kByte, RAM sebesar 2 kByte dan EEPROM berkapasitas 256 Byte. Sekema mikrokontroler PIC18F4550 ditunjukkan pada Gambar 1.
pada Gambar 2. Sistem Inferensi Fuzzy memetakan input menjadi output tegas. Sistem Inferensi Fuzzy berisi empat komponen: fuzzifikasi, mesin inferensi, basis aturan, dan defuzzifikasi. Basis aturan berisi aturan linguistik yang diberikan oleh para ahli. Hal ini juga memungkinkan untuk mengekstrak aturan dari data numerik. Setelah aturan telah ditetapkan, Sistem Inferensi Fuzzy dapat dilihat sebagai suatu sistem yang memetakan vektor input ke vektor output. Fuzzifikasi memetakan besaran masukan pada keanggotaan Fuzzy yang sesuai.
Gambar 2. Diagram blok Sistem Inferensi Fuzzy (Sumber : Kulkarni D. A, 2001) Gambar 1. Skema PIC18F4550 model 40-Pin PDIP (Sumber : Microchip Technology Inc, 2009)
Sistem Inferensi Fuzzy pada dasarnya adalah mendefinisikan pemetakan input berupa vector nonlinier pada keluaran sekalar, menggunakan aturan Fuzzy. Proses pemetaan memerlukan fungsi keanggotaan pada bagian input dan output, operator logika Fuzzy, aturan IF-THEN, agregasi himpunan output, dan defuzzifikasi. Sebuah sitem inferensi Fuzzy dengan beberapa output dapat terdiri dari kumpulan multiinput independen, dan sistem output tunggal. Model umum dari Sistem Inferensi Fuzzy ditunjukkan
Hal ini diperlukan untuk mengaktifkan aturan dalam bentuk variabel linguistik. Fuzzifikasi mengambil nilai input dan menentukan derajat keanggotaan masingmasing dari himpunan Fuzzy melalui fungsi keanggotaan. Mesin inferensi mendefinisikan pemetaan dari himpunan Fuzzy input menjadi himpunan Fuzzy output. Hal ini menentukan derajat kepuasan pada anteseden untuk setiap aturan. Jika anteseden dari aturan yang diberikan memiliki lebih dari satu klausa, operator Fuzzy diterapkan untuk mendapatkan satu nilai yang merupakan hasil dari anteseden untuk aturan itu.
Supriadi, IMPLEMENTASI EMBEDDED FUZZY MENGGUNAKAN MIKROKONTROLER PIC18F4550
Ada kemungkinan bahwa satu atau lebih aturan mendapatkan derajat keanggotaan pada waktu yang sama. Output untuk semua aturan tersebut kemudian diagregasi. Selama agregasi, himpunan Fuzzy yang mewakili output dari setiap aturan digabungkan menjadi himpunan Fuzzy tunggal. Aturan Fuzzy diproses secara paralel, yang merupakan salah satu aspek penting dari Sistem Inferensi Fuzzy. Dalam Sistem Inferensi Fuzzy, urutan pemrosesan aturan tidak mempengaruhi output. Defuzzifikasi memetakan himpunan Fuzzy keluaran menjadi nilai tegas. Mengingat sebuah himpunan Fuzzy yang mencakup berbagai nilai output, defuzzifikasi mengembalikan sebuah nilai, sehingga bermula dari sebuah himpunan Fuzzy menjadi nilai tegas. Beberapa metode defuzzifikasi yang digunakan dalam praktek, termasuk centroid, maximum, mean of maxima, hight, dan modified height defuzzifier. Metode defuzzifikasi yang paling populer adalah centroid, yang menghitung dan mengembalikan pusat gravitasi dari hasil agregasi himpunan Fuzzy. Sistem Inferensi Fuzzy berproses dengan cara melokalisasi daerah ruang sepanjang permukaan fungsi bukan mengisolasi titik pada permukaan. Untuk masukan yang diberikan, lebih dari satu aturan dapat berproses mendapatkan derajat keanggotaan. Dalam Sistem Inferensi Fuzzy, beberapa daerah digabungkan dalam ruang output untuk menghasilkan wilayah gabungan. Skema umum dari Sistem Inferensi Fuzzy ditunjukkan pada Gambar 3. Bermacam macam tipe fungsi keanggotaan dapat digunakan, meliputi fungsi-fungsi segitiga, trapezium, generalized bell shaped, kurva Gaussian, kurva polynomial, dan sigmoid. Persamaan (1) menunjukkan fungsi-fungsi keanggotaan segitiga, kurva segitiga bergantung pada tiga parameter a, b, dan c. Persamaan (2) menunjukkan fungsi-fungsi keanggotaan trapezoid, kurva trapezioda bergantung pada empat parameter a, b, c, dan d. Pada pada metode ini, defuzzifier menentukan pusat gravitasi atau centroid yi pada B dan menggunakan nilainya sebagai keluaran sistem logika Fuzzy. Untuk himpunan Fuzzy yang telah teragregasi dengan nilai diskrit, centroid diberikan oleh Persamaan (3). Dimana S merupakan bagian bahu dari B ( y ) [3]. Implementasi inferensi Fuzzy pada mikrokontroler telah banyak dilakukan untuk mendukung Embedded System, seperti yang telah dilakukan dan dipublikasi oleh banyak peneliti sebelumnya. Berikut ini beberapa resume beberapa hasil penelitian tentang implementasi inferensi Fuzzy pada Embedded System: Implementasi inferensi Fuzzy pada kontrol logika Fuzzy untuk perancangan sistem otomasi penerangan rumah telah berhasil dengan tingkat keberhasilan penghematan daya listrik sebesar 23,9% dan terdapat perbedaan antara keluaran system kendali dan referensi input sebesar 4,1%. Implementasi kontrol logika Fuzzy tersebut
bekerja pada mikrokontroler [1]. Pada penyelesaian kasus lain yaitu, implementasi inferensi Fuzzy pada kontrol logika Fuzzy untuk perancangan sistem pengaturan suhu telah berhasil dilakukan. Implementasi kontrol logika Fuzzy tersebut bekerja pada mikrokontroler [2]. Proses inferensi juga telah berhasil diimplementasikan pada kendali motor arus searah sebagai penggerak lintasan titik daya maksimum pada sistem Photovoltaic yang mana, proses inferensi Fuzzy juga berbasis mikrokontroler [5]. Berdasakan resume kesimpulan penelitian tersebut, maka penelitian ini dilakukan untuk mengetahui performansi Embedded Fuzzy pada mikrokontroler PIC18F4550.
Gambar 3. Diagram skema Sistem Inferensi Fuzzy (Sumber : Kulkarni D. A, 2001)
0 xa b a f ( x; a, b, c) c x c b 0
,x a ,a x b (1)
,b x c ,x c
0 xa b a f ( x; a, b, c, d ) 1 d x d c 0
,x a ,a x b ,b x c
(2)
,c x d ,d x
23
JUST TI, Volume 9 Nomor 1, Januari 2017: 22-27
n
y
y i 1 n
i 1
2.
i
B
( yi ) (3)
B
( yi )
PERANCANGAN
Gambar 4. Desain diagram blok Sistem
Metode penelitian yang digunakan adalah metode evaluasi, yaitu membandingkan inferensi Fuzzy pada PIC18F4550 dan divalidasi dengan Matlab. Obyek penelitian berupa: Simulasi sistem inferensi Fuzzy menggunakan ISIS. Jenis data yang diamati pada system inferensi adalah sinyal masukan kontinyu yang dibangkitkan dengan manipulator sinyal sebagai variabel input, dan variabel output hasil defuzzifikasi. Variabel input dan output pada sistem inferensi diasumsikan sebagai berikut: pada bagian input minimal terdapat dua variabel dengan nama 𝑥1 dan 𝑥2 , sedangkan pada output terdapat sebuah variabel 𝑦. Ketiga variabel tersebut memiliki nilai minimum 0 dan nilai maksimum 100. Kisaran nilai tersebut ditentukan karena sistem inferensi ini tidak diimplementasikan untuk mengendalikan plant, tetapi lebih fokus pada performansi Embedded-Fuzzy yang ditanamkan pada PIC18F4550, maka satuan tiap variabel dalam unit. Simulasi Embedded-Fuzzy yang tampak pada Gambar 6 mengacu pada diagram blok yang ditunjukan pada Gambar 4. Pada simulasi, pengamatan performansi ditampilka melalui virtual terminal yang tampak seperti pada Gambar 10. Ujicoba dan analisa kerja sistem dengan cara melakukan validasi menggunakan Matlab seperti Gambar 11 dan Gambar 12. Metode penelitian berproses seperti yang ditunjukkan pada Gambar 5.
24
Gambar 5. Flowchart metode penelitian
Gambar 6. Sekema simulasi Embedded-Fuzzy PIC18F4550
Pembuatan kontroler logika Fuzzy melalui tiga langkah utama: fuzzifikasi, Inferensi Fuzzy dan defuzifikasi. 2.1 Fuzzifikasi sinyal masukan 𝒙𝟏 dan 𝒙𝟐 Fuzzifikasi sinyal masusukan 𝑥1 dan 𝑥2 : Besaran siyal masukan 𝑥1 dan 𝑥2 dibagi menjadi tiga bagian dengan menggunakan fungsi keanggotaan segitiga dan trapezoid dengan label: Low, Medium dan High dengan semesta pembicaraan antara 0 hingga 100 seperti tampak pada Gambar 7 dan Gambar 8. Kisaran nilai semesta pembicaraan disamakan dengan sinyal manipulator seperti pada rangkanian Gambar 6, yaitu potensio RV1 dan RV2 masing-masing nilainya 0% hingga 100%.
Supriadi, IMPLEMENTASI EMBEDDED FUZZY MENGGUNAKAN MIKROKONTROLER PIC18F4550
3.
Gambar 7. Fungsi keanggotaan 𝒙𝟏
Gambar 8. Fungsi keanggotaan 𝒙𝟐
Fuzzifikasi siyal keluaran 𝑦: defuzzifikasi merubah fungsi keanggotaan kedalam nilai tegas. Besaran nilai sinyal keluaran dibagi kedalam tiga label Low, Medium dan High dengan semesta pembicaraan 0 hingga 100 seperti yang ditunjukkan pada Gambar 9.
Gambar 9.Fungsi keanggotaan 𝒚
2.2 Sistem Inferensi Fuzzy dan Defuzzifikasi Inferensi Fuzzy adalah bagian terpenting pada kontroler logika Fuzzy. Basis aturan IF-THEN ditunjukkan pada Tabel 1. x2
Tabel 1. Matrik basis aturan Low Medium
PENGUJIAN & PEMBAHASAN
Pengujian performansi Embedded-Fuzzy yang telah dibuat diperlihatkan pada Tabel 2. Sampel pengujian diambil dari nilai variable masukan yang mewakili tiap-tiap Rule atau aturan IF-THEN. Matrik basis aturan pada Tabel 1 menghasilkan 9 aturan IFTHEN. Nilai variabel masukan pada PIC18F4550 dapat diubah dengan cara menaikkan dan menurunkan nilai potensio RV1 dan RV2 pada Gambar 6. Sebagai contoh RULE R3, RV1 sebagai manipulator sinyal 𝑥1 nilainya dinaikkan sebesar 18% kemudian RV2 sebagai manipulator sinyal 𝑥2 nilainya dinaikkan sebesar 87%, maka keluaran inferesi Fuzzy nilainya 47.41750. Nilai masukan sinyal dan keluaran inferensi Fuzzy ini pada PIC18F4550 ditampilkan menuju virtual terminal seperti pada Gambar 10, yaitu “IF x1 is 17.99999 AND IF x2 is 86.99999 THEN defuzzify=47.4175” demikian seterusnya untuk aturan IF-THEN yang lainya. Keluaran inferensi tersebut dikomparasi dengan matlab dan hasilnya mendekati, hanya selisih 0.00002 pada saat nilai-nilai variabel masukan pada simulasi diusahan sama seperti keluaran R5. Sementara nilai keluaran untuk Rule yang lain selisihnya agak besar, hal ini disebabkan karena pengaturan potensio pada nilai yang persis sulit dilakukan. Selisih keluaran sebesar 0.00002 secara komputasi masih dapat diperkecil dan akan menambah waktu eksekusi. Tidak seperti tampilan Rule pada matlab, seperti Gambar 11 dan Gambar 12, tampilan Rule PIC18F4550 tampak pada Gambar 10, Rule 1 hingga Rule 9 masing-masing menampilkan hasil implikasinya. Hasil implikasi Matlab ditampikan secara grafis, sedangkan pada PIC18F4550 ditampilkan dalam bentuk teks. Tampilan tiga dimensi hubungan masukan dan keluaran Embedded-Fuzzy PIC18F4550 tampak pada Gambar 13. Gambar 10, Gambar 11 dan Gambar 12 mewakili dua Rule, diantaranya Rule 3 dan Rule 4 pada Tabel 2. Pada saat keluran inferensi nilainya 47.4175 seperti pada Gambar 10, maka Rule yang menghasilkan implikasi sebenarnya antara lain: R2, R3, R5 dan R6. Masing-masing Rule menghasilkan nilai implikasi: R2=7.499999e-2, R3=5.625e-1, R5=7.499999e-2 dan R6=1.999999e-1. Tabel 2. Sampel pegujian yang mewakili performa setiap Rule
High
x1 Low Medium High
High High High
High Medium Medium
Medium Low Low
25
JUST TI, Volume 9 Nomor 1, Januari 2017: 22-27
Gambar 10. Tampilan hasil Embedded-Fuzzy dengan output 𝒚=47.4175 dan 𝒚=69.76964
Gambar 12. Hasil inferensi matlab dengan 𝒚=69.4
Gambar 13. Tampilan tiga dimensi masukan dan keluaran infesensi Fuzzy Gambar 11. Hasil inferensi matlab dengan output 𝒚=47.7
4.
KESIMPULAN
Dari hasil penelitian didapatkan kesimpulan sebagai berikut: - Fuzzifikasi variabel-variabel masukan menggunakan fungsi keanggotaan segitiga dan trapezoid. - Telah berhasil dibuat implementasi Embedded Fuzzy 9 aturan IF-THEN menggunakan mikrokontroler PIC18F4550. - Proses defuzzifikasi menggunakan metode centroid.
26
Supriadi, IMPLEMENTASI EMBEDDED FUZZY MENGGUNAKAN MIKROKONTROLER PIC18F4550
REFERENSI [1] Hartoyo, A., 2012. Development of Automation System for Room Lighting Based on Fuzzy logic Controller. International Journal of Information and Electronics Engineering, Vol. 2, No. 6. [2] Isizoh A., N., 2012. Temperature Control System Using Fuzzy Logic Technique (IJARAI) International Journal of Advanced Research in Artificial Intelligence, Vol.1,No.3.
[3] Kulkarni, D., A. 2001. Computer Vision and FuzzyNeural Systems. Prentice Hall. New Jersey. [4] Microchip, 2009. PIC18F2455/2550/4455/4550 Data Sheet 28/40/44-Pin, High-Performance, Enhanced Flash, USB Microcontrollers with nanoWatt Technology, Microchip Technology Inc. U.S.A. [5] Varaprasad N. L.,2013. Microcontroller Based DC Motor Control With Fuzzy Maximum Power Point Tracking of PV System. International Journal of Current Engineering and Technology ISSN 2277 - 4106, Vol.3, No.4.
27