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.
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.
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.
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.
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.
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 Reasoning, Evolutionary
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.
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 :)
Terima kasih sharingnya, http://proaplikasi.com/?1._Source_Code_Aplikasi_Fuzzy_Sugeno
BalasHapusbagus dan sangat membantu untuk menambah pemahaman, tks
BalasHapus