4.6 KiB
4.6 KiB
Decision Tree — Sistem Pakar Diagnosis Jamur Tiram
Struktur Pohon Keputusan
Pohon keputusan ini digunakan oleh sistem untuk menelusuri jalur diagnosis berdasarkan gejala utama (primary symptoms). Saat ini pohon memiliki 2 level depth dengan 8 branch.
root: Diagnosis Jamur Tiram
│
├── G11 (Tubuh Buah Pucat) ─────┬── G18 (Ada Lendir) → P01 (Trichoderma spp)
│ └── G23 (Bau Menyengat) → P04 (Penicilium spp)
│
├── G12 (Umbi Membusuk) ─────────└── G06 (Substrat Basah) → P02 (Neurospora spp)
│
├── G10 (Kepala Susu Coklat) ────└── G06 (Substrat Basah) → P03 (Mucor spp)
│
├── G01 (Jamur Putih/Kepala) ────┬── G10 (Busuk Pangkal) → P05 (Pseudomonas tolaasii)
│ └── G02 (Berbau Asam) → P09 (Lalat)
│
├── G23 (Bau Menyengat) ─────────└── G09 (Berlendir) → P06 (Chaetomium spp)
│
├── G15 (Kepala Susu Kerdil) ────└── G24 (Warna Tidak Seragam) → P07 (Coprinus spp)
│
├── G09 (Berlendir) ─────────────└── G20 (Miselium Tidak) → P08 (Tikus)
│
└── G05 (Pertumbuhan Terganggu) ─└── G19 (Kontaminan) → P10 (Tunggu/Gurem)
Flowchart Decision Tree
flowchart TB
Akar(["Akar: Diagnosis Jamur Tiram"]) --> G11{"G11"}
G11 -- Y --> G18{"G18"}
G18 -- Y --> P01["P01 - Trichoderma spp"]
G18 -- T --> G23_1{"G23"}
G23_1 -- Y --> P04["P04 - Penicilium spp"]
G12{"G12"} -- Y --> G06_12{"G06"}
G06_12 -- Y --> P02["P02 - Neurospora spp"]
G06_12 -- T --> TD2a["Tidak Terdiagnosis"]
G10{"G10"} -- Y --> G06_10{"G06"}
G06_10 -- Y --> P03["P03 - Mucor spp"]
G06_10 -- T --> TD3a["Tidak Terdiagnosis"]
G01{"G01"} -- Y --> G10_01{"G10"}
G01 -- T --> G02{"G02"}
G02 -- Y --> P09["P09 - Lalat"]
G02 -- T --> TD4b["Tidak Terdiagnosis"]
G10_01 -- Y --> P05["P05 - Pseudomonas tolaasii"]
G23_2{"G23"} -- Y --> G09_23{"G09"}
G09_23 -- Y --> P06["P06 - Chaetomium spp"]
G15{"G15"} -- Y --> G24_15{"G24"}
G15 -- T --> TD6["Tidak Terdiagnosis"]
G24_15 -- Y --> P07["P07 - Coprinus spp"]
G24_15 -- T --> TD6a["Tidak Terdiagnosis"]
G09_2{"G09"} -- Y --> G20{"G20"}
G09_2 -- T --> TD7["Tidak Terdiagnosis"]
G20 -- Y --> P08["P08 - Tikus"]
G20 -- T --> TD7a["Tidak Terdiagnosis"]
G05{"G05"} -- Y --> G19{"G19"}
G05 -- T --> TD8["Tidak Terdiagnosis"]
G19 -- Y --> P10["P10 - Tunggu/Gurem"]
G19 -- T --> TD8a["Tidak Terdiagnosis"]
G11 -- T --> G12
G12 -- T --> G10
G23_1 -- T --> G01
G10 -- T --> G23_2
G10_01 -- T --> G15
G09_23 -- T --> G09_2
G23_2 -- T --> G05
Mapping Leaf ke Penyakit
| Leaf Node | Gejala Utama | Gejala Pendukung | Rule | Penyakit |
|---|---|---|---|---|
| Branch 1a | G11 | G18 | R1 | P01 — Trichoderma spp |
| Branch 1b | G11 | G23 | R4 | P04 — Penicilium spp |
| Branch 2 | G12 | G06 | R2 | P02 — Neurospora spp |
| Branch 3 | G10 | G06 | R3 | P03 — Mucor spp |
| Branch 4a | G01 | G10 | R5 | P05 — Pseudomonas tolaasii |
| Branch 4b | G01 | G02 | R9 | P09 — Lalat |
| Branch 5 | G23 | G09 | R6 | P06 — Chaetomium spp |
| Branch 6 | G15 | G24 | R7 | P07 — Coprinus spp |
| Branch 7 | G09 | G20 | R8 | P08 — Tikus |
| Branch 8 | G05 | G19 | R10 | P10 — Tunggu/Gurem |
Primary Symptoms
Gejala utama yang digunakan untuk initial split dalam decision tree:
| ID Gejala | Kode | Nama Gejala |
|---|---|---|
| 1 | G01 | Jamur tiram terlihat membusuk |
| 5 | G06 | Pertumbuhan jamur tiram lambat |
| 8 | G09 | Baglog/media jamur tiram rusak |
| 11 | G12 | Bintik-bintik noda hijau pada baglog |
| 12 | G13 | Tepung warna orange pada baglog |
| 14 | G15 | Warna biru pada ujung jamur tiram |
Cara Kerja Traversal
- Sistem mengambil semua branch level-1 dari
root.branches - Untuk setiap branch, dicek apakah
symptom_idbranch termasuk dalam gejala yang dipilih user - Jika ya, branch dicatat sebagai
matcheddan sistem menelusurichildren - Sistem mengumpulkan semua
possible_penyakit_idsdari branch dan children yang cocok - Hasil traversal digunakan sebagai reasoning path untuk transparansi diagnosis
Catatan
- Decision tree saat ini hardcoded di
app/Services/ForwardChainingService.php - Struktur tree bersifat statis (2 level, 8 branch)
- Traversal hanya memeriksa kecocokan symptom_id, tidak memvalidasi jumlah gejala
- Hasil traversal bersifat informasional untuk menampilkan jalur diagnosis