dev-master
9999999-devPHP Fuzzy
MIT
The Requires
by Rizal Ardhi Rahmadani
PHP Fuzzy
Fuzzy merupakan suatu pemetaan ruang input ke dalam ruang output yang umumnya diterapkan pada permasalahan yang mengandung unsur ketidakpastian dan ketidaktepatan (Munir, 2011)., (*1)
composer require reyzeal/fuzzy
Project fuzzy ini disusun menggunakan konsep object oriented programming, sehingga penggunaannya harus melakukan pembuatan instance dari Class Reyzeal/Fuzzy
. Sedangkan untuk penentuan jenis inferensi fuzzy dapat dilakukan dengan menuliskan nama FIS pada parameter kedua. Contoh, new Fuzzy('Kelulusan','Tsukamoto')
., (*2)
, (*3)
Trapesium (trapmf), (*4)
Segitiga (trimf), (*5)
Kurva Pertumbuhan (smf), (*6)
Kurva Penyusutan (zmf), (*7)
Kurva Pi (pimf), (*8)
(gbellmf), (*9)
(gaussmf), (*10)
Penggunaan input pada Object Fuzzy dilakukan dengan memanggil metode input()
. Karena setiap input terdiri atas fungsi keanggotaan yang terhimpun dalam suatu kategori, maka gunakan metode addCategory(string $nama)
untuk menambah suatu kategori dan addMembership(string $nama,string $mf,Array $parameter)
untuk menambahkan setiap fungsi keanggotaannya.
, (*11)
Penggunaan output pada Object Fuzzy dilakukan dengan memanggil metode output()
. Hampir sama seperti input, output terdiri atas fungsi keanggotaan yang terhimpun dalam suatu kategori tertentu. Maka, untuk menambahkan suatu kategori dapat dilakukan dengan addCategory(string $nama)
. Sedangkan untuk menambahkan setiap fungsi keanggotaannya dapat dilakukan dengan menggunakan fungsi addMembership(string $nama,string $mf,Array $parameter)
., (*12)
, (*13)
Setiap kaidah yang diperlukan dalam fuzzy dikelola melalui metode rules()
. Untuk menambahkan suatu kaidah tertentu maka perlu memanggil metode add(string $rule)
untuk menambahkan kondisi dari kaidah tersebut dan metode then(string $consequency)
., (*14)
, (*15)
Untuk menulis rule IF temperature IS high AND pressure IS high THEN engine IS slow
maka bentuknya menjadi:, (*16)
$fuzzy->rules()->add('temperature_high AND pressure_high')->then('engine_slow');
Hasil kalkulasi dapat didapatkan dengan memberikan input berupa array asosiatif yang berisi nilai masing-masing kategori input. Seperti misalnya pada bagian input memiliki kategori temperature
dan pressure
. Maka nilai yang diberikan berupa ['suhu'=>90,'tekanan'=>0.2]
., (*17)
, (*18)
Jika sekiranya menemukan masalah, silahkan hubungi Rizal Ardhi Rahmadani., (*19)
Fuzzy framework ini open-source dengan lisensi MIT, (*20)
PHP Fuzzy
MIT