Senin, 06 Mei 2013

Fuzzy Logic


LAPORAN PRAKTIKUM SISTEM PENGATURAN

SENSOR PEMADAM KEBAKARAN MENGGUNAKAN FUZZY LOGIC



OLEH :

NAMA       : YOHANA DAMAYANTI
NIM           : 061130701312         
KELAS      : 4 TCB

KEMENTERIAN PENDIDIKAN NASIONAL
POLITEKNIK NEGERI SRIWIJAYA
TEKNIK KOMPUTER
TAHUN 2013


A. Pengertian Matlab
MATLAB adalah singkatan dari MATrix LABoratory. Pertama kali dibuat untuk mempermudah penggunaan dua koleksi subrutin pada pustaka FORTRAN yaitu: LINPACK dan EISPACK, dalam menangani komputasi matriks. Sejak itu, MATLAB berkembang menjadi sebuah sistem yang interaktif sekaligus sebagai bahasa pemrograman untuk keperluan-keperluan ilmiah, komputasi teknis, dan visualisasi. Elemen data dasar MATLAB adalah matriks. Perintah-perintah diekspresikan dalam bentuk yang sangat mirip dengan bentuk yang digunakan dalam matematika dan bidang teknik. Contoh persamaan b=Ax, dengan A, b, dan x matriks, ditulis: b=A*x. Untuk mendapat solusi x dari A dan b, tulis: x=A\b. Tidak diperlukan penulisan program khusus untuk operasi-operasi matriks seperti perkalian matriks atau invers matriks. Oleh karena itu bahasa MATLAB menyelesaikan masalah tersebut memerlukan waktu lebih cepat dibanding waktu yang dibutuhkan bahasa pemrograman tingkat tinggi lain.

Sejarah Matlab
Pada pertengahan tahun 1970, Cleve Moler dan beberapa rekan tergabung dalam suatu team pengembangan software yang dibiayai oleh The National Science Foundation untuk tujuan membuat subrutin-subrutin dalam pustaka FORTRAN yang dinamai LINPACK dan EISPACK. LINPACK berisi koleksi subrutin untuk penyelesaian persamaan linear, sementara EISPACK adalah koleksi subrutin untuk penyelesaian masalah nilai pribadi (eigenvalue). Baik LINPACK maupun EISPACK pada prinsipnya merupakan program untuk komputasi matriks.

Dipenghujung tahun 1970, Cleve ingin dapat mengajarkan kepada mahasiswa materi aljabar linear di Universitas New Mexico menggunakan LINPACK dan EISPACK tanpa harus menulis rutin-rutin program dalam bahasa FORTRAN. Berdasar keinginan tersebut, Cleve mulai menulis program untuk memberikan kemudahan akses interaktif pada LINPACK dan EISPACK. Cleve menamakan programnya dengan MATLAB yang merupakan singkatan dari MATrix LABoratory. Beberapa tahun kemudian, ketika Cleve berkunjung ke universitas lain untuk berbicara, atau sebagai Visiting Professor, Cleve meninggalkan duplikasi MATLABnya pada komputer di universitas tersebut. Hanya dalam satu atau dua tahun, MATLAB versi pertama ini telah menjadi buah bibir pembicaraan orang, terutama yang berada dalam komunitas matematika terapan.
Dari hasil kunjungan Cleve di Universitas Stanford, sekitar awal tahun 1983, John Little, seorang engineer, menampilkan MATLAB dengan memperkenalkan penerapan MATLAB yang potensial dalam bidang-bidang keteknikan. Karena itu, dalam tahun 1983, Little, Moler, dan Steve Bangert membentuk team untuk mengembangkan MATLAB generasi kedua. MATLAB versi ini dibuat menggunakan bahasa C dan terintegrasi dengan grafik. The MathWorks, Inc. didirikan tahun 1984 untuk memasarkan dan melanjutkan pengembangan MATLAB.

Penggunaan MATLAB:
Adanya toolbox yang disebut MuPAD, memungkinkan akses terhadap kemampuan aljabar komputer   
-          Komputasi teknis.
-          Komputasi matematik
-          Analisis data.
-          Simulasi dan pemodelan
-          Grafik-grafik perhitungan.
-          Manipulasi matriks
-          Pem-plot-an fungsi dan data
-          Implementasi algoritma
-          Pembuatan antarmuka pengguna / interface (visualisasi )
-          Peng-antarmuka-an dengan program dalam bahasa lainnya

Fungsi-fungsi yang digunakan MATLAB:
-          Fungsi matematika,
-          Fungsi fisika,
-          Fungsi statistic,
-          Fungsi visualisasi.

MATLAB merupakan software yang digunakan untuk:
Pada pendidikan (untuk melakukan riset dalam bentuk komputasi, pemodelan, simulasi, dan demonstrasi / visualisasi)
-          Para ilmuwan
-          Matematikawan
-          Pelajar dan mahasiswa terutama para pendidik matematika
-          Praktisi
-          Insinyur.
-          dan untuk siapa saja tanpa ada batasannya.

Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment.
Merupakan sekumpulan perangkat dan fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan Command Window, command history, sebuah editor dan debugger, dan browsers untuk melihat help, workspace,files, dan search path.
2. MATLAB Mathematical Function Library.
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar seperti: sum, sin, cos, dan complex arithmetic, sampai dengan fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language.
Merupakan suatu high-level matrix/array language dengan control flow statements, functions, data structures, input/output, dan fitur-fitur object-oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua hal baik “pemrograman dalam lingkup sederhana ” untuk mendapatkan hasil yang cepat, dan “pemrograman dalam lingkup yang lebih besar” untuk memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics.
MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan bagi anda untuk membiasakan diri untuk memunculkan grafik mulai dari benutk yang sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi MATLAB anda.
5. MATLAB Application Program Interface (API).
Merupakan suatu library yang memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB sebagai sebuah computational engine, dan untuk membaca dan menuliskan MAT-files.

B. Model Dasar Logika Fuzzy
Soft Computing merupakan inovasi baru dalam membangun sistem cerdas. Sistem cerdas ini merupakan sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Unsur-unsur pokok dalam Soft Computing adalah : Sistem fuzzy, Jaringan Saraf Tiruan,Probabilistic ReasoningEvolutionary Computing.
Sistem fuzzy secara umum terdapat 5 langkah dalam melakukan penalaran, yaitu:
1.      Memasukkan input fuzzy.
2.      Mengaplikasikan operator fuzy.
3.      Mengaplikasikan metode implikasi.
4.      Komposisi semua output.
5.      Defuzifikasi.

Logika Fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output. Untuk sistem yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu pemecahannya. Sistem tradisional dirancang untuk mengontrol keluaran tunggal yang berasal dari beberapa masukan yang tidak saling berhubungan.  Karena ketidaktergantungan ini, penambahan masukan yang baru akan memperumit proses kontrol dan membutuhkan proses perhitungan kembali dari semua fungsi . Kebalikannya, penambahan masukan baru pada sistem fuzzy, yaitu sistem yang bekerja berdasarkan prinsip-prinsip logika fuzzy, hanya membutuhkan penambahan fungsi keanggotaan yang baru dan aturan-aturan yang berhubungan dengannya.
Secara umum, sistem fuzzy sangat cocok untuk penalaran pendekatan terutama untuk sistem yang menangani masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis Misalkan, nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau kurang jelas, sehingga sulit mendefinisikan model matematikanya.
Sistem fuzzy mempunyai beberapa keuntungan bila dibandingkan dengan sistem tradisional, misalkan pada jumlah aturan yang dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai yang harus dipergunakan pengontrol untuk membuat suatu keputusan. Keuntungan lainnya adalah sistem fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan penalaran manusia. Hal ini disebabkan karena sistem fuzzy mempunyai kemampuan untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak akurat, dan ambigu.
Ada beberapa alasan penggunaan Logika Fuzzy :
1.      Logika Fuzzy sangat fleksibel.
2.      Logika Fuzzy memiliki toleransi.
3.      Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
4.      Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
5.      Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
6.      Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.
7.      Logika fuzzy didasarkan pada bahasa alami.(Sri Kusumadwi,2002:3)

Sistem fuzzy pertama kali diperkenalkan oleh Prof. L. A. Zadeh dari Barkelay pada tahun 1965. Sistem fuzzy merupakan penduga numerik yang terstruktur dan dinamis. Sistem ini mempunyai kemampuan untuk mengembangkan sistem intelijen dalam lingkungan yang tak pasti. Sistem ini menduga suatu fungsi dengan logika fuzzy. Dalam logika fuzzy terdapat beberapa proses yaitu penentuan himpunan fuzzy, penerapan aturan IF-THEN dan proses inferensi fuzzy (Marimin, 2005:10).
Ada beberapa metode untuk merepresentasikan hasil logika fuzzy yaitu metode Tsukamoto, Sugeno dan Mamdani. Pada metode Tsukamoto, setiap konsekuen direpresentasikan dengan himpunan fuzzy dengan fungsi keanggotaan monoton. Output hasil inferensi masing-masing aturan adalah z,  berupa himpunan biasa (crisp) yang ditetapkan berdasarkan -predikatnya. Hasil akhir diperoleh dengan menggunakan rata-rata terbobotnya.(Sri Kusumadewi,2002:108)
Metode Sugeno mirip dengan metode Mamdani, hanya output (konsekuen) tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan liniar. Ada dua model metode Sugeno yaitu model fuzzy sugeno orde nol dan model fuzzy sugeno orde satu. Bentuk umum model fuzzy sugeno orde nol adalah :

IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN  z = k
Bentuk umum model fuzzy Sugeno orde satu adalah :
IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN  z = p1.x1 + … pn.xn + q
Defuzzifikasi pada metode Sugeno dilakukan dengan mencari nilai rata-ratanya.

Gambar 1  Model fuzzy sugeno orde 1
Pada metode Mamdani, aplikasi fungsi implikasi menggunakan MIN, sedang komposisi aturan menggunakan metode MAX. Metode Mamdani dikenal juga dengan metode MAX-MIN.  Inferensi output yang dihasilkan berupa bilangan fuzzy maka harus ditentukan suatu nilai crisp tertentu sebagai output. Proses ini dikenal dengan defuzzifikasi. Ada beberapa tahapan untuk mendapatkan output yaitu:
1.          Pembentukan himpunan fuzzy
Pada metode Mamdani baik variabel input maupun variabel output dibagai menjadi satu atau lebih himpunan fuzzy.
2.                  Aplikasi fungsi implikasi
Pada metode Mamdani, fungsi implikasi yang digunakan adalah Min.
3.                  Komposisi Aturan
Tidak seperti penalaran monoton, apabila sistem terdiri dari beberapa aturan, maka inferensi diperoleh dari kumpulan dan korelasi antar aturan. Ada 3 metode yang digunakan dalam melakukan inferensi sistem fuzzy yaitu : Max, Additive dan Probabilistik OR
a.Metode Max (Maximum)
Pada metode ini solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy dan mengaplikasikan ke output dengan menggunakan operator OR(union). Jika semua proposisi telah dievaluasi, maka output akan beisi suatu himpunan fuzzy yang merefleksikan konstribusi dari tiap-tiap proposisi. Secara umum dapat dituliskan :
µsf[xi] ← max ( µsf[xi] , µkf[xi])
dengan :
µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i
µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i
b. Metode Additive (Sum)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sumterhadap semua output dareah fuzzy. Secara umum dituliskan:
µsf[xi] ← max ( 1, µsf[xi]  + µkf[xi] )
µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i
µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i


c. Metode Probabilistik OR
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah fuzzy. Secara umun dituliskan :
µsf[xi] ← max ( µsf[xi]  + µkf[xi] ) – (µsf[xi]  * µkf[xi] )
µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i
µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i
4.                  Penegasan /Defuzzifikasi
Input dari proses Defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output.
Ada beberapa metoda yang dipakai dalam defuzzifikasi:
a. Metode Centroid.
Pada metode ini penetapan nilai crisp dengan cara mengambil titik pusat daerah fuzzy.
b. Metode Bisektor.
Pada metode ini , solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan seperti dari jumlah total nilai keanggotaan pada daerah fuzzy.
c. Metode Means of Maximum (MOM).
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai rata-rata domain yang memiliki niali keanggotaan maksimum.
d. Metode Largest of Maximum (LOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki niali keanggotaan maksimum.
e. Metode Smallest of Maksimum (SOM).
Solusi crisp diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai keanggotaan maksimum.

C. Prinsip Kerja Sensor Pemadam Kebakaran
Hampir setiap hari terlihat pada halaman depan koran atau siaran di televisi berita tentang musibah kebakaran yang terjadi baik dalam rumah penduduk, gedung perkantoran, hotel, pertokoan atau pasar. Bencana kebakaran sangat berbahaya karena dapat memakan korban jiwa. 
Kebakaran merupakan suatu peristiwa yang tidak dikehendaki oleh setiap manusia. Kebakaran dapat mengakibatkan kerugian yang tidak sedikit, baik kerugian material maupun kerugian jiwa yang ditimbulkan. Setiap proses kebakaran selalu menimbulkan asap dan panas dan menyebabkan kenaikan temperatur pada suatu tempat atau ruangan yang terjadi kebakaran. Sedangkan hasil proses perubahan material suatu kebakaran adalah adanya asap gas yang berupa partikel - partikel kecil. Dan sebagai peringatan kebakaran digunakan buzzer (alarm). Alarm dapat dikatakan sebagai bunyi peringatan atau pesan pemberitahuan ketika sudah terjadi satu penurunan atau penyampaian sinyal komunikasi data maupun ada sesuatu alat yang masih mengalami kerusakan. Pesan yang di sampaikan bermanfaat untuk memperingatkan operator tentang adanya problem pada jaringan spesifik.
Dengan sebuah sensor, temperatur dan asap dapat dideteksi. Dengan mendeteksi kenaikkan temperatur pada sensor suhu secara elektronik maka kita dapat segera mencegah bahaya kebakaran.
D. Tutorial Logika Fuzzy menggunakan MATLAB dengan    Prinsip Kerja Sensor Pemadam Kebakaran
Berikut ini adalah tutorial membuat logika fuzzy menggunakan matlab yang didasari dengan sistem kerja sensor pemadam kebakaran.

1.      Klik icon matlab lalu akan muncul tampilan seperti di bawah ini



2.      Ketik “fuzzy” pada command window


3.      Lalu akan muncul tampilan FIS Editor seperti gambar di bawah ini


4.      Pada FIS Editor pilih Edit - Add Variable – Klik Input. Lakukan sebanyak 2 kali atau seberapa banyak input yang akan digunakan

5.      Setelah selesai menambah input, maka tampilan akan seperti di bawah ini


6.      Lalu masukkan nama masing-masing input dan output


7.      Setelah nama input dan output diganti maka tampilannya akan seperti di bawah ini



8.      Sebelum dilanjutkan, ada baiknya jika file di save dengan cara pilih File - Export – klik To File


9.      Maka nama file akan berubah seperti di bawah ini


10.  Masukkan data-data yang sebelumnya sudah ditentukan pada input dan output, seperti variabel linguistik (sedikit, sedang ,banyak), range dan params seperti ganbar di bawah ini





11.  Setelah semua input dan output diisikan data, lalu pilih Edit pada FIS Editor klik Rules



12.  Lalu akan muncul tampilan seperti di bawah ini, masukkan aturan-aturan/rules sesuai dengan logikanya dengan cara pilih logika If - And – Then , lalu pilih Add Rule



13.  Setelah selesai pilih View – Rules , untuk menampilkan proses inferensi pada FIS



14.  Berikut ini adalah tampilan Rule Viewer, proses ini dinamakan Defuzzyfication


15.  Gambar di bawah ini merupakan tampilan keluaran FIS dalam plot 3-D




  Semoga bermanfaat
  Terima Kasih :)

2 komentar:

  1. Terima kasih sharingnya, http://proaplikasi.com/?1._Source_Code_Aplikasi_Fuzzy_Sugeno

    BalasHapus
  2. bagus dan sangat membantu untuk menambah pemahaman, tks

    BalasHapus