PEMANFAATAN METODE MAMDANI PADA MATLAB Yudya Rahman(50405773) Program Studi Teknik Informatika Universitas Gunadarma Abstraksi Metode mamdani atau dikenal sebagai metode min-max, diperkenalkan pertama kali oleh John von Neumann pada tahun 1944 yang menguraikan sebuah algoritma search pada game, kemudian dikenal dengan Minimax, yang memaksimalkan posisi pemain dan meminimalkan posisi lawan. Minimax adalah sebuah procedure pencarian yang melihat kedepan, memperhatikan apa yang akan terjadi kemudian digunakan untuk memilih langkah berikutnya. Singkatnya pemain pertama memberikan langkah penyelesaian yang bernilai + infinity (positif tak terbatas) terhadap permainan pemain ke 2, dan sebaliknya, pemain ke 2 memberikan langkah penyelesaian bernilai – infinity (negatif tak terbatas). Pemikiran inilah yang mendasari asal-usul penamaan algoritma minimax, dimana pemain yang satu berjuang untuk mendapatkan nilai max, sedangkan lawannya berjuang untuk mendapatkan nilai min. Pendekatan algoritma atau metode tersebut yang digunakan oleh penulis dalam penulisalan paper ini, yaitu menggunakan pendekatan metode mamdani untuk menyelesaikan sebuah contoh kasus dalam pemrograman matlab. Untuk mendapatkan output atau hasil pada pemrograman matlab diperlukan 4 tahapan yaitu : 1. pembentukan himpunan-himpunan Fuzzy, 2. aplikasi fungsi implikasi, 3. komposisi aturan, 4. Penegasan (Defuzzy). Agar dapat menggunakan fungsi-fungsi logika fuzzy yang ada pada Matlab, maka harus diinstallkan terlebih dahulu toolbox fuzzy. Fuzzy logic toolbox memberikan fasilitas Graphical User Interface(GUI) untuk mempermudah dalam membangun suatu system fuzzy. Ada 5 GUI tools yang dapat digunakan untuk membangun, mengedit dan mengobservasi system penalaran fuzzy yaitu : 1. Fuzzy Inference System (FIS) Editor, 2. Membership Function Editor,. 3. Rule Editor, 4. Rule Viewer, dan 5. Surface Viewer. Hasil atau output pada contoh kasus akan memberikan informasi yang berharga pada pembaca dalam mengimplementasikan metode mamdani untuk berbagai kasus atau persoalan yang lain khususnya pada contoh kasus dengan menggunakan matlab pada paper ini.
Kata Kunci : metode mamdani, minimax, matlab
1. PENDAHULUAN Metode mamdani atau dikenal sebagai metode min-max, diperkenalkan pertama kali oleh John von Neumann pada tahun 1944 yang menguraikan sebuah algoritma search pada game, kemudian dikenal dengan Minimax, yang memaksimalkan posisi pemain dan meminimalkan posisi lawan. Minimax adalah sebuah procedure pencarian yang melihat kedepan, memperhatikan apa yang akan terjadi kemudian digunakan untuk memilih langkah berikutnya. Singkatnya pemain pertama memberikan langkah penyelesaian yang bernilai +
infinity (positif tak terbatas) terhadap permainan pemain ke 2, dan sebaliknya, pemain ke 2 memberikan langkah penyelesaian bernilai – infinity (negatif tak terbatas). Pemikiran inilah yang mendasari asal-usul penamaan algoritma minimax, dimana pemain yang satu berjuang untuk mendapatkan nilai max, sedangkan lawannya berjuang untuk mendapatkan nilai min. Pendekatan algoritma atau metode tersebut yang digunakan oleh penulis dalam penulisalan paper ini, yaitu menggunakan pendekatan metode
mamdani untuk menyelesaikan sebuah contoh kasus dalam pemrograman matlab. Contoh kasusnya adalah sebagai berikut: Suatu perusahaan softdrink akan memproduksi minuman jenis soda pada 3 bulan terakhir, dengan biaya produksi untuk minuman jenis tersebut rata-rata sekitar Rp.500,- perkemasan, dan maksimum mencapai Rp 1000 ,perkemasan. Banyaknya permintaan perhari rata-rata mencapai 30000 kemasan dan maksimum hingga mencapai 60000 kemasan. Sampai saat ini, perusahaan baru mampu memproduksi barang maksimum 100000 kemasan perhari. Apabila proses produksi perusahaan tersebut menggunakan tiga aturan fuzzy sbb: R1 if biaya produksi Rendah and permintaan Naik then produksi barang bertambah; R2 if biaya produksi sesuai standar then produksi barang normal R3 if biaya produksi tinggi and permintaan turun then produksi barang berkurang;
(Defuzzy input dari proses defuzzy adalah suatu himpunan yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Ada beberapa metode defuzzy yang biasa dipakai pada komposisi aturan Mamdani antara lain; metode centroid, metode bisector, metode Mean Of maximum (MOM), metode largest of maximum(LOM), dan metode smallest maximum(SOM)). Agar dapat menggunakan fungsi-fungsi logika fuzzy yang ada pada Matlab, maka harus diinstallkan terlebih dahulu toolbox fuzzy. Fuzzy logic toolbox memberikan fasilitas Graphical User Interface(GUI) untuk mempermudah dalam membangun suatu system fuzzy. Ada 5 GUI tools yang dapat digunakan untuk membangun, mengedit dan mengobservasi system penalaran fuzzy yaitu : 1. Fuzzy Inference System (FIS) Editor, 2. Membership Function Editor,. 3. Rule Editor, 4. Rule Viewer, dan 5. Surface Viewer.
Berapa jumlah minuman jenis X yang harus diproduksi jika biaya utuk memproduksi jenis minuman tersebut diperkirakan sejumlah Rp.800 perkemasan, dan permintaan diperkirakan mencapai 25000 kemasan perhari.? 2. PENDEKATAN Untuk mendapatkan output atau hasil pada pemrograman matlab umumnya diperlukan 4 tahapan yaitu : 1. pembentukan himpunan-himpunan Fuzzy yaitu variable Input dan output dan biasanya dibagi menjadi satu atau lebih himpunan fuzzy, 2. aplikasi fungsi implikasi pada metode mamdani fungsi implikasi yang digunakan adalah Min, 3. komposisi aturan ada 3 metode yang digunakan dalam melakukan inferensi system fuzzy,yaitu max,additive sum da probabilistic OR (probor), 4.Penegasan
Gambar 1 Fuzzy Inference System
3. SOLUSI Dalam menemukan solusi pada contoh kasus diatas melalui beberapa tahapan. Tahapan pertama membuat himpunan dan input fuzzy. Ada tiga variabel yang akan dimodelkan yaitu: a. Biaya Produksi, terdiri atas tiga himpunan fuzzy yaitu Rendah, Standar
danTinggi b.Permintaan Barang terdiri atas 3 himpunan fuzzy yaitu Turun, Biasa dan Naik c. Produksi Barang,terdiri atas 3 himpunan fuzzy, yaitu Berkurang, Normal, dan Bertambah. Tahapan selanjutnya adalah Memasukkan Variabel input dan output yaitu dengan menekan sekali input yang berwarna kuning disisi kiri yang berlabel input1, kotak tersebut kemudian menjadi berbingkai merah. Pada kolom edit yang berwarna putih disisi kanan ubah kata input1 dengan BiayaProduksi, kemudian tekan enter untuk menambah jumlah variabel input maka pada menu-bar pilih edit-Add Variable. Ubah nama input2 menjadi dengan Permintaan kemudian tekan enter. Untuk memasukkan variabel output,tekan sekali kotak berwarna kuning disisi kanan yang berlabel output1,kotak tersebut kemudian akan berubah menjadi berbingkai merah. Pada kolom edit yang berwarna putih disisi kanan ubah kata output1 dengan ProduksiBarang.
Tahapan keempat adalah mengubah fumetode agregasi (komposisi). Metode agregasi dapat dipilih melalui combobox(l). pilihan yang ada(max,sum,probor,custom). Pilih max. Tahapan kelima adalah mengubah fungsi defuzzy. Fungsi defuzzy dapat dipilih melalui combobox(m). Pilihan yang ada (centroid,bisector,mom,lom,som,custom ). Pilih centroid.
Gambar 3 FIS Editor Untuk kasus 1
Tahapan keenam adalah membuat himpunan fuzzy dan fungsi keanggotaannya. Double klik(a) pada gambar diatas. Kemudian akan muncul Membership Function Editor seperti gambar dibawah ini
Gambar 2 FIS Editor
Tahapan kedua adalah Mengubah Operator. Operator-operator yang digunakan untuk And Method dan Or Method dapat dipilih pada combobov(f) dan (j). Pilihan untuk And Method adalah (min,prod,custom),pilih min. sedangkan untuk Or method adalah (max,Probor,custom) pilih max. Tahapan ketiga adalah mengubah fungsi implikasi. Fungsi implikasi dapat dipilih melalui combobox(k) pilihan yang ada (mn,prod,custom). Pilih min.
Gambar 4 Membership Funtion Editor
Fungsi Keanggotaan untuk variabel Biaya Produksi: Isikan (i) dengan [0 1000]. Pilih Add MFs... pada menu Edit (a), akan muncul Gambar dibawah ini Tekan OK.
pada
gambar
dibawah
ini
Gambar 5 Membership function
Gambar 7 Hasil Membership Function variabel BiayaProduksi
Fungsi Keanggotaan untuk variabel Permintaan: Perhatikan Gambar 4.7 Klik (c) variabel Permintaan, hingga bingkaianya berwarna merah.
Gambar 6 Membership Function variabel BiayaProduksi
Selanjutnya mengubah nama berikut parameter-paremeternya ke semua membership function dengan cara Klik mf1 (j) hingga garisnya berwarna merah. Ganti mf1 pada (f) dengan nama RENDAH pilih fungsi keanggotaan pada (g) dengan zmf. Ubah params pada (h) dengan[0 500]. Pada mf2 ubah namanya menjadi standar pilih fungsi keanggotaan pada (g) dengan pimf. Ubah params pada (h) dengan [0 500 500 1000]. Pada mf3 ubah namanya menjadi Tinggi pilih fungsi keanggotaan pada (g) dengan smf ubah params pada (h) dengan [500 1000]. Sampai dengan langkah ini akan terlihat hasil seperti
Gambar 8 Membership Function variabel Permintaan
Isikan (i) dengan [0 60] Klik mf1 (j) hingga garisnya berwarna merah. Ganti mf1 pada (f) dengan nama TURUN.Pilih fungsi keanggotaan pada (g) dengan trapmf. Ubah params pada (h) dengan [0 0 10 30]. Untuk mf2 ganti name dengan BIASA pilih fungsi keanggotaan pada (g) dengan trimf. Ubah params pada (h) dengan [10 30 50]. Selanjutnya ubah mf3 dengan NAIK pilih fungsi keanggotaan pada (g) dengan trapmf. Lalu ubah params pada (h) dengan [30 50 60 60]. Akan terlihat hasil seperti pada gambar berikut ini
editor Double klik kotak aturan (c) atau pilih Edit rules… pada menu View. Akan muncul rule editor .
Gambar 9 Hasil Membership Function variabel BiayaProduksi
Fungsi Keanggotaan untuk variabel Produksi Barang: Isikan (i) dengan [0 100]. Klik mf1 (j) hingga garisnya berwarna merah. Ganti mf1 pada (f) dengan nama BERKURANG. Pilih fungsi keanggotaan pada (g) dengan trapmf. Ubah params pada (h) dengan [0 0 10 50]. Ubah pula mf2 dengan NORMAL Pilih fungsi keanggotaan pada (g) dengan trimf. Ubah params pada (h) dengan [30 50 70]. Untuk mf3 ubah name dengan Bertambah pilih fungsi keanggotaan pada (g) dengan trapmf ubah params pada (h) dengan [50 90 100 100]. Akan terlihat hasilnya seperti gambar dibawah ini
Gambar 10 Hasil dari Membership Function variabel BiayaProduksi
Tahapan ketujuh adalah membuat aturan. Lihat kembali Gambar 2 FIS
Gambar 11Rule Viewer
Untuk membuat aturan ke-1: pilih (dengan cara meng-klik satu kali) RENDAH pada listbox BiayaProduksi (a), NAIK pada listbox Permintaan (b), dan BERTAMBAH pada listbox ProduksiBarang (c). Tekan Add rule (d).Selanjutnya untuk membuat aturan ke-2: pilih STANDAR pada listbox BiayaProduksi (a), none pada listbox Permintaan (b), dan NORMAL pada listbox ProduksiBarang (c). Tekan Add rule (d).Lalu untuk membuat aturan ke3: pilih TINGGI pada listbox BiayaProduksi (a), TURUN pada listbox Permintaan (b), dan BERKURANG pada listbox ProduksiBarang (c). Tekan Add rule (d). Hasilnya dapat dilihat dari rule viewer. Pilih View rules….pada menu View. Akan muncul rule editor
Gambar 12 View Rules
3.DAFTAR PUSTAKA [1] Eiben, A.E., Smith, J.E., Introduction to Evolutionary Computing, New York, Springer, 2003. [2] Jang, J.S.R., Sun, C.T., dan Mizutani, E.,Neuro-Fuzzy and Soft Computing. London,Prentice Hall, 1997.