alert('Pilih minimal 2 gejala!'); window.location.href='diagnosis.php';"; exit; } $gejala_in = "'" . implode("','", $gejala_terpilih) . "'"; // Step 1: Ambil daftar penyakit $query_penyakit = "SELECT idpenyakit, kode_penyakit, namapenyakit FROM penyakit"; $result_penyakit = $koneksi->query($query_penyakit); if (!$result_penyakit) { die("Query penyakit gagal: " . $koneksi->error); } $penyakit_diagnosa = []; while ($row = $result_penyakit->fetch_assoc()) { $penyakit_diagnosa[$row['kode_penyakit']] = [ 'kode_penyakit' => $row['kode_penyakit'], 'nama_penyakit' => $row['namapenyakit'], 'gejala' => [], 'jumlah_gejala' => 0, 'total_bobot' => 0, 'nilai_dominan' => 0 // Akan dijumlahkan nanti ]; } // Step 2: Ambil nilai fuzzy gejala $query_fuzzy = "SELECT kode_gejala, kode_penyakit, nilai FROM penyakit_gejala WHERE kode_gejala IN ($gejala_in)"; $result_fuzzy = $koneksi->query($query_fuzzy); if (!$result_fuzzy) { die("Query fuzzy gagal: " . $koneksi->error); } while ($row = $result_fuzzy->fetch_assoc()) { $kode_penyakit = $row['kode_penyakit']; $penyakit_diagnosa[$kode_penyakit]['gejala'][] = $row['nilai']; $penyakit_diagnosa[$kode_penyakit]['jumlah_gejala']++; // Menjumlahkan nilai fuzzy dari semua gejala untuk nilai dominan $penyakit_diagnosa[$kode_penyakit]['nilai_dominan'] += $row['nilai']; } // Step 3: Hitung total bobot untuk setiap penyakit foreach ($penyakit_diagnosa as $kode_penyakit => $data) { if (!empty($data['gejala'])) { $penyakit_diagnosa[$kode_penyakit]['total_bobot'] = array_sum($data['gejala']); } } // Step 4: Tentukan penyakit dengan jumlah gejala terbanyak $penyakit_terpilih = ""; $nama_penyakit = ""; $jumlah_gejala_terbanyak = 0; $total_bobot_tertinggi = 0; $nilai_dominan_tertinggi = 0; foreach ($penyakit_diagnosa as $data) { if ( $data['jumlah_gejala'] > $jumlah_gejala_terbanyak || ($data['jumlah_gejala'] == $jumlah_gejala_terbanyak && $data['total_bobot'] > $total_bobot_tertinggi) || ($data['jumlah_gejala'] == $jumlah_gejala_terbanyak && $data['total_bobot'] == $total_bobot_tertinggi && $data['nilai_dominan'] > $nilai_dominan_tertinggi) ) { $penyakit_terpilih = $data['kode_penyakit']; $nama_penyakit = $data['nama_penyakit']; $jumlah_gejala_terbanyak = $data['jumlah_gejala']; $total_bobot_tertinggi = $data['total_bobot']; $nilai_dominan_tertinggi = $data['nilai_dominan']; } } if (empty($penyakit_terpilih)) { $penyakit_terpilih = "Penyakit tidak terdeteksi"; } } ?>

Diagnosis

Diagnosis

Form Diagnosis Tembakau

query($query_gejala); $gejala_list = $result_gejala->fetch_all(MYSQLI_ASSOC); foreach ($gejala_list as $row) { ?>
query($sql); // Simpan hasil ke dalam array $daftar_gejala = []; while ($row = $result->fetch_assoc()) { $daftar_gejala[$row['kodegejala']] = $row['gejala']; } ?>

Gejala yang dipilih:

query($query_penjelasan); if ($result_penjelasan && $row_penjelasan = $result_penjelasan->fetch_assoc()) { $penjelasan = $row_penjelasan['penjelasan']; } } ?> 0 ? ($nilai_dominan_tertinggi / $nilai_total_bobot) * 100 : 0; $presentaseFormatted = number_format($presentase, 2); ?>

Kesimpulan:

Dari gejala yang Anda pilih, sistem mendiagnosis kemungkinan besar tanaman Anda terserang - .

Tingkat Kepastian: %

= 99): ?>

Semua gejala yang Anda pilih cocok dengan gejala penyakit , sehingga kemungkinan besar tanaman Anda terkena penyakit ini.

= 70): ?>

Gejala yang Anda pilih sebagian besar cocok dengan penyakit , namun ada beberapa gejala yang juga mirip dengan penyakit lain. Sebaiknya lakukan pemeriksaan lebih lanjut.

Gejala yang Anda pilih belum sepenuhnya mengarah pada satu penyakit tertentu. Tingkat kepastian masih rendah, sehingga disarankan untuk meninjau ulang kondisi tanaman anda.

Penjelasan Penyakit: