TINJAUAN PUSTAKA
2.4. Fuzzy Inference System 1. Metode mamdani
Metode Mamdani sering juga dikenal dengan nama Metode Max-Min. Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan:
1. Pembentukan himpunan fuzzy 2. Aplikasi fungsi implikasi (aturan) 3. Komposisi aturan
4. Penegasan (deffuzy) 1. Pembentukan himpunan Fuzzy
Pada Metode Mamdani, baik variabel input maupun variabel output dibagi 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 (probor).
a. Metode Max (Maximum)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikannya ke output dengan menggunakan operator OR (union). Jika semua proposisi telah dievaluasi, maka output akan berisi suatu himpunan fuzzy yang merefleksikan konstribusi dari tiap-tiap proposisi. Secara umum dapat dituliskan:
µsf[xi]←max(µsf[xi], µkf[xi]) (2.7)
dengan:
µsf[xi] = nilai keanggotaan solusi fuzzy sampai aturan ke-i;
µkf[xi] = nilai keanggotaan konsekuen fuzzy aturan ke-i;
Misalkan ada 3 aturan (proposisi) sebagai berikut:
[R1] IF Biaya Produksi RENDAH And Permintaan NAIK THEN Produksi Barang BERTAMBAH;
{R2] IF Biaya Produksi STANDAR THEN Produksi Barang NORMAL;
[R3] IF Biaya Produksi TINGGI And Permintaan TURUN THEN Produksi Barang BERKURANG;
b. Metode Additive (Sum)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sum terhadap semua output daerah fuzzy. Secara umum dituliskan:
µsf[xi]←min(1, µsf[xi]+ µkf[xi]) (2.8)
c. Metode Probabilistik OR (probor)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah fuzzy. Secara umum dituliskan:
µsf[xi]← µsf[xi]+ µkf[xi]) - (µsf[xi] * µkf[xi]) (2.9) dengan:
µsf[xi] = nilai keanggotaan solusi fuzzy sampai aturan ke-i;
µkf[xi] = nilai keanggotaan konsekuen fuzzy aturan ke-i;
1. Penegasan (defuzzy)
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 crsip tertentu sebagai output.
Ada beberapa metode defuzzifikasi pada komposisi aturan MAMDANI, antara lain:
a. Metode Centroid (Composite Moment)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil titik pusat (z*) daerah fuzzy.
b. Metode Bisektor
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan separo dari jumlah total nilai keanggotaan pada daerah fuzzy.
c. Metode Mean of Maximum (MOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai rata-rata domain yang memiliki nilai keanggotaan maksimum.
d. Metode Largest of Maximum (LOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki nilai keanggotaan maksimum.
e. Metode Smallest of Maximum (SOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai keanggotaan maksimum.
2.4.2. Metode Sugeno
Meimaharani (2014) Metode Sugeno sering dikenal dengan nama metode Max-Min dimana metode ini mempunyai output (konsekuen) sistem tidak berupa himpunan fuzzy melainkan berupa konstanta atau persamaan linier.
1. Model Fuzzy Sugeno Orde Nol
IF (X1 is A1) - (X2 is A2) - (X3 is A3 ) - …. - (XNis AN) THEN z = k (2.10) Dimana :
- Ai adalah himpunan fuzzy ke-i sebagai anteseden - k adalah konstanta (tegas) sebagai konsekuen 2. Model Fuzzy Sugeno Orde Satu
IF (X1 is A1) - …. - (XNis AN ) THEN z = p1 * x1 + …+ pN* XN + q (2.11) Dimana :
- Ai adalah himpunan fuzzy ke-i sebagai anteseden - pi adalah suatu konstanta ke-i
- q merupakan konstanta dalam konsekuen.
2.5. PSO
2.5.1. Dasar Algoritma PSO
Particle Swarm Optimization (PSO) adalah teknik optimasi stokastik berbasis populasi yang dikembangkan oleh Dr. Eberhart dan Dr. Kennedy pada tahun 1995.
PSO terinspirasi dari tingkah laku sosial kawanan burung atau ikan (Guo & He, 2013). PSO dapat digunakan untuk pencarian solusi yang optimal di dalam ruang pencarian yang luas (Tsai & Shih, 2012). Di dalam PSO, setiap solusi dapat dianggap sebagai patikel atau seekor burung. Burung akan menemukan makanannya melalui usahanya sendiri dan kerja sama sosial dengan burung-burung lain di sekitarnya (Guo
& He, 2013). Suatu kawanan burung mencari makanan secara acak di sebuah area.
Hanya ada satu potong makanan di area pencarian tersebut. Semua burung tidak mengetahui di mana makanan tersebut berada, tetapi mereka mengetahui seberapa
Setiap anggota di dalam kawanan mengadaptasi pola pencariannya dengan belajar dari pengalamannya sendiri dan pengalaman anggota yang lain. Burung direpresentasikan sebagai partikel dalam algoritma. Setiap partikel merepresentasikan sebuah solusi potensial yang merupakan sebuah titik di dalam ruang pencarian. Jika burung telah menemukan makanan, maka pada saat tersebut global optimum dianggap sebagai lokasi dari makanan (Guo & He, 2013).
Semua partikel mempunyai nilai fitness yang dievaluasi oleh sebuah fungsi evaluasi (Tsai & Shih, 2012). Nilai fitness dan kecepatan digunakan untuk mengatur arah terbang sesuai dengan pengalaman terbaik kawanan untuk mencari global optimum (gbest) di dalam ruang pencarian. Partikel-partikel tersebut terbang melewati ruang pencarian solusi dengan belajar dari pengalaman-pengalaman terbaik semua partikel. Oleh karena itu, partikel-partikel tersebut mempunyai sebuah kecenderungan untuk terbang menuju area pencarian yang lebih baik pada serangkaian pembelajarannya di dalam proses pencarian tersebut (Guo & He, 2013 ).
Setiap partikel menyimpan jejak koordinatnya dalam ruang pencarian yang dengan solusi terbaik yang telah dicapai sejauh ini. Koordinat terbaik yang dicapai sebuah partikel saat tercapainya nilai fitness terbaik pada saat itu disebut sebagai pbest. Sedangkan koordinat terbaik yang dicapai partikel mana pun dalam suatu wilayah tetangga di dalam populasi (subset of the swarm) partikel disebut local best (lbest).
Pada saat sebuah partikel mengambil semua populasi sebagai tetangga topologikalnya, maka koordinat terbaiknya disebut global best (gbest). Di dalam PSO setiap langkah waktu (iterasi/generasi), partikel mengubah atau mengakselerasi kecepatan atau menuju lokasi pbest dan lbest-nya. Akselerasi dipengaruhi syarat yang acak dengan dibangkitkannya sejumlah angka acak secara terpisah untuk akselerasi menuju lokasi ( pbest dan lbest). Setelah menemukan kedua nilai terbaik tersebut (pbest dan gbest), partikel kembali lagi memperbarui kecepatan (v) dan posisinya (x) (Tsai & Shih, 2012).
Pembaharuan partikel diselesaikan dengan persamaan (2.12) dan (2.13).
Persamaan (2.12) digunakan untuk menghitung kecepatan baru tiap partikel dan persamaan (2.13) digunakan untuk memperbarui posisi tiap partikel pada ruang solusi (Guo & He, 2013 ).
= + * rand * ( - ) + * rand * ( - ) (2.12)
= + (2.13)
Pada persamaan (2.12) dan (2.13) di atas, adalah kecepatan partikel saat ini dan adalah posisi partikel saat ini. Posisi dari setiap partikel diperbarui setiap generasi atau iterasi dengan cara menambahkan vektor kecepatan ke vektor posisi sebagaimana persamaan (2.13) di atas. Sedangkan rand adalah bilangan acak antar nol (0) dan satu (1). C1dan C2adalah faktor pembelajaran atau learning factor yang secara berturut turut merepresentasikan sebuah komponen kognitif dan sebuah komponen sosial, Biasanya C1 = C2 = 2. w adalah bobot inersia yang digunakan untuk menyeimbangkan antara kemampuan pencarian global dan pencarian lokal. Biasanya, berat inersia yang bagus adalah kurang sedikit dari satu (Tsai & Shih, 2012).
2.5.2. Prosedur Algoritma PSO
Menurut Tsai & Shih (2012), proses algoritma PSO dapat dijelaskan dalam langkah- langkah sebagai berikut :
1) Inisialisasi sekumpulan partikel secara acak.
(2.14) 2) Inisialisasi posisi dan kecepatan dari setiap partikel.
(2.15) 3) Hitung nilai fitness dari setiap partikel (fi) berdasarkan formula dan model
yang telah ditentukan sesuai dengan masalah optimasinya.
4) Untuk setiap partikel, bandingkan nilai fluktuasi fidengan nilai terbaiknya yang telah dicapai pid(local best), jika fi< Pid, maka pid diganti dengan fi.
6) Kecepatan (vi) dan posisi dari partikel (xi) diubah dengan persamaan (2.12) dan (2.13).
7) Jika telah mencapai kondisi akhir (mencapai nilai iterasi maksimum atau perulangan telah mencapai nilai optimum) maka perulangan berhenti dan nilai optimumnya didapatkan namun jika belum maka diulangi pada nomor 3.
2.5.3. Parameter Algoritma PSO
Jordehi & Jasni (2013) menyatakan bahwa pada proses optimasi dengan PSO, parameter yang dibutuhkan adalah :
a) Jumlah partikel
Umumnya range jumlah partikel adalah 20 - 40. sedangkan untuk kasus yang rumit dapat diterapkan jumlah partikel 100 sampai 200.
b) Dimensi dari partikel
Ini ditentukan dari masalah yang akan dioptimasi.
c) Range dari partikel
Ini juga ditentukan dari masalah yang akan dioptimasi.
Dapat menspesifikasikan range yang berbeda untuk dimensi yang berbeda dari partikel.
d) C1 (learning factor untuk partikel), C2 (learning factor untuk swarm) dan biasanya bernilai sama yaitu 2.
e) Vmax adalah perubahan maksimum partikel selama iterasi berlangsung.
Range Vmaxbiasanya adalah -10 sampai 10.
f) Kondisi berhenti
Mencapai nilai iterasi maksimum, perulangan telah mencapai nilai optimum atau minimum error yang diinginkan.
g) Inertia weight (w)
Pada algoritma PSO keseimbangan antara kemampuan eksplorasi global dan local secara utama di kontrol oleh inertia weight dan merupakan parameter penurunan kecepatan untuk menghindari stagnasi particle di lokal optimum.
2.5.4. Pseudo Code Algoritma PSO
Gambar 2.9 Pseudo Code PSO Sumber : Mishra et al. (2013)
2.5.5 Diagram Alir PSO
Lebih lanjut, Mishra et al. (2013) menyatakan bahwa selain dalam bentuk pseudo code, algoritma PSO dapat dijelaskan dalam bentuk diagram alir pada gambar 2.10.
for (setiap partikel)
inisialisasi partikel menggunakan persamaan (2.14) dan (2.15) end repeat
for (setiap partikel) hitung nilai fitness
if (nilai fitness baru lebih baik dari nilai fitness lama) update nilai fitnes dari partikel tersebut
end end
Pilih partikel dengan nilai fitness terbaik diantara semua partikel tetangganya dan simpan nilai fitness terbaik tersebut
for (setiap partikel)
Hitung velocity partikel menggunakan persamaan (2.12) Update posisi partikel menggunakan persamaan (2.13) End Until (KriteriaBerhenti = true)
Tidak
Ya
Gambar 2.10 Flow chart PSO Sumber : Mishra. at al. (2012) Menentukan Parameter PSO
Inisialisasi Partikel dan Swarm dan Sorting Partikel
Evaluasi inisial partikel untuk mendapatkan pBest dan gBest Update kecepatan partikel
Update posisi partikel
Evaluasi partikel baru untuk menemukan pBest baru dan gBest baru
Update parameter fuzzy untuk membentuk Fungsi Keanggotaan
Kriteria berhenti terpenuhi ?
Diperoleh nilai fungsi keanggotaan Fuzzy yang optimal
Selesai