PHPackages                             reyzeal/fuzzy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. reyzeal/fuzzy

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

reyzeal/fuzzy
=============

PHP Fuzzy

364[1 issues](https://github.com/reyzeal/fuzzy/issues)PHP

Since Jul 25Pushed 6y ago2 watchersCompare

[ Source](https://github.com/reyzeal/fuzzy)[ Packagist](https://packagist.org/packages/reyzeal/fuzzy)[ RSS](/packages/reyzeal-fuzzy/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Fuzzy
=====

[](#fuzzy)

Fuzzy merupakan suatu pemetaan ruang input ke dalam ruang output yang umumnya diterapkan pada permasalahan yang mengandung unsur ketidakpastian dan ketidaktepatan (Munir, 2011).

Installation
------------

[](#installation)

### Composer

[](#composer)

```
composer require reyzeal/fuzzy
```

### Fuzzy Object

[](#fuzzy-object)

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')`.

[![](https://github.com/reyzeal/fuzzy/raw/master/img/1.gif)](https://github.com/reyzeal/fuzzy/blob/master/img/1.gif)

### Membership

[](#membership)

1. Trapesium (trapmf)
2. Segitiga (trimf)
3. Kurva Pertumbuhan (smf)
4. Kurva Penyusutan (zmf)
5. Kurva Pi (pimf)
6. (gbellmf)
7. (gaussmf)

### Input Output

[](#input-output)

#### Input

[](#input)

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. [![](https://github.com/reyzeal/fuzzy/raw/master/img/2.gif)](https://github.com/reyzeal/fuzzy/blob/master/img/2.gif)

#### Output

[](#output)

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)`.

[![](https://github.com/reyzeal/fuzzy/raw/master/img/3.gif)](https://github.com/reyzeal/fuzzy/blob/master/img/3.gif)

### Rules

[](#rules)

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)`.

[![](https://github.com/reyzeal/fuzzy/raw/master/img/4.gif)](https://github.com/reyzeal/fuzzy/blob/master/img/4.gif)

Untuk menulis rule `IF temperature IS high AND pressure IS high THEN engine IS slow` maka bentuknya menjadi:

```
$fuzzy->rules()->add('temperature_high AND pressure_high')->then('engine_slow');
```

### Calculation

[](#calculation)

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]`.

[![](https://github.com/reyzeal/fuzzy/raw/master/img/5.gif)](https://github.com/reyzeal/fuzzy/blob/master/img/5.gif)

Fuzzification
-------------

[](#fuzzification)

Rule Evaluation
---------------

[](#rule-evaluation)

Aggregation
-----------

[](#aggregation)

Fuzzy Inference System
----------------------

[](#fuzzy-inference-system)

### Mamdani

[](#mamdani)

### Tsukamoto

[](#tsukamoto)

### Sugeno

[](#sugeno)

Masalah
-------

[](#masalah)

Jika sekiranya menemukan masalah, silahkan hubungi [Rizal Ardhi Rahmadani](mailto:rizal.ardhi.rahmadani@gmail.com).

Lisensi
-------

[](#lisensi)

Fuzzy framework ini open-source dengan lisensi [MIT](https://opensource.org/licenses/MIT)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10461092?v=4)[Rizal Ardhi Rahmadani](/maintainers/reyzeal)[@reyzeal](https://github.com/reyzeal)

---

Top Contributors

[![reyzeal](https://avatars.githubusercontent.com/u/10461092?v=4)](https://github.com/reyzeal "reyzeal (7 commits)")

---

Tags

artificial-intelligencefuzzy

### Embed Badge

![Health badge](/badges/reyzeal-fuzzy/health.svg)

```
[![Health](https://phpackages.com/badges/reyzeal-fuzzy/health.svg)](https://phpackages.com/packages/reyzeal-fuzzy)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
