diff --git a/app/Http/Controllers/DiagnosisController.php b/app/Http/Controllers/DiagnosisController.php index 97dfd29..3b28509 100644 --- a/app/Http/Controllers/DiagnosisController.php +++ b/app/Http/Controllers/DiagnosisController.php @@ -4,7 +4,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; - +use App\Models\Biodata; class DiagnosisController extends Controller { public function prosesDiagnosis(Request $request) @@ -54,9 +54,18 @@ public function prosesDiagnosis(Request $request) 'pencegahan' => $data['pencegahan'] ?? [], ]; - return redirect()->route('hasil-diagnosis') - ->with('diagnosis', $diagnosis) - ->with('gejala', $inputNama); +$biodataId = session('biodata_id'); +if ($biodataId) { + \App\Models\Biodata::where('id', $biodataId)->update([ + 'hasil_diagnosis' => $diagnosis['nama'], + 'jenis' => $diagnosis['kategori'] + ]); +} + +return redirect()->route('hasil-diagnosis') +->with('diagnosis', $diagnosis) +->with('gejala', $inputNama); +$biodataId = session('biodata_id'); } // 🔥 halaman hasil @@ -64,4 +73,30 @@ public function hasil() { return view('hasil-diagnosis'); } + + public function simpanBiodata(Request $request) + { + $request->validate([ + 'nama_pemilik' => 'required', + 'nama_kucing' => 'required', + 'umur_kucing' => 'required|numeric', + 'jenis_kelamin' => 'required', + 'berat_badan' => 'required|numeric', + ]); + + $data = \App\Models\Biodata::create([ + 'nama_pemilik' => $request->nama_pemilik, + 'nama_kucing' => $request->nama_kucing, + 'umur_kucing' => $request->umur_kucing, + 'jenis_kelamin' => $request->jenis_kelamin, + 'berat_badan' => $request->berat_badan, + 'ras_kucing' => $request->ras_kucing, + 'alamat' => $request->alamat, + 'no_telepon' => $request->no_telepon, + ]); + + session(['biodata_id' => $data->id]); + + return redirect()->route('gejala'); + } } \ No newline at end of file diff --git a/app/Models/Biodata.php b/app/Models/Biodata.php new file mode 100644 index 0000000..ab65b11 --- /dev/null +++ b/app/Models/Biodata.php @@ -0,0 +1,21 @@ +id(); + $table->string('nama_pemilik'); + $table->string('nama_kucing'); + $table->integer('umur_kucing'); + $table->string('jenis_kelamin'); + $table->float('berat_badan'); + $table->string('ras_kucing')->nullable(); + $table->text('alamat')->nullable(); + $table->string('no_telepon')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('biodata'); + } +}; diff --git a/database/migrations/2026_04_03_135222_add_hasil_to_biodata_table.php b/database/migrations/2026_04_03_135222_add_hasil_to_biodata_table.php new file mode 100644 index 0000000..2a3eee9 --- /dev/null +++ b/database/migrations/2026_04_03_135222_add_hasil_to_biodata_table.php @@ -0,0 +1,29 @@ +string('hasil_diagnosis')->nullable(); + $table->string('jenis')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('biodata', function (Blueprint $table) { + $table->dropColumn(['hasil_diagnosis', 'jenis']); + }); + } +}; diff --git a/public/data/Bissmilah lagi.xlsx b/public/data/Bissmilah lagi.xlsx index 13884dc..0eade38 100644 Binary files a/public/data/Bissmilah lagi.xlsx and b/public/data/Bissmilah lagi.xlsx differ diff --git a/python_api/app.py b/python_api/app.py index 948f2a3..1d60595 100644 --- a/python_api/app.py +++ b/python_api/app.py @@ -8,7 +8,7 @@ app = Flask(__name__) # ========================= # LOAD MODEL # ========================= -model = joblib.load("../python_artifacts/model.joblib") +model = joblib.load("../python_artifacts/modell.joblib") # ========================= # LOAD FEATURE diff --git a/python_artifacts/feature_cols.json b/python_artifacts/feature_cols.json index a361402..c89eb9c 100644 --- a/python_artifacts/feature_cols.json +++ b/python_artifacts/feature_cols.json @@ -1 +1 @@ -["Demam Tinggi", "Muntah", "Nafsu Makan Turun", "Kelemahan", "Dehidrasi", "Pincang", "Luka pada Mulut", "Gangguan Mata", "Flu / Pilek (Gangguan Hidung)", "Sesak Napas", "Batuk", "Selaput Lendir Kuning (Jaundice)", "Perut Membesar/Buncit", "Anemia", "Diare", "Diare Berdarah", "Luka Garukan / Gatal", "Kebotakan / Rontok", "Infeksi Kulit", "Kutu / Pinjal Terlihat", "Overgrooming (Menjilat Berlebihan)", "Sulit Kencing / Sering Berjongkok Lama di Kotak Pasir", "Perut Bawah Keras", "Sakit Perut / Nyeri Abdomen", "Penurunan Berat Badan Cepat"] \ No newline at end of file +["Demam Tinggi", "Muntah", "Nafsu Makan Turun", "Kelemahan", "Radang Telinga / Otitis", "Pincang", "Luka pada Mulut", "Gangguan Mata", "Flu / Pilek (Gangguan Hidung)", "Sesak Napas", "Batuk", "Selaput Lendir Kuning (Jaundice)", "Perut Membesar/Buncit", "Anemia", "Diare", "Diare Berdarah", "Luka Garukan / Gatal", "Kebotakan / Rontok", "Infeksi Kulit", "Kutu / Pinjal Terlihat", "Overgrooming (Menjilat Berlebihan)", "Sulit Kencing / Sering Berjongkok Lama di Kotak Pasir", "Perut Bawah Keras", "Sakit Perut / Nyeri Abdomen", "Penurunan Berat Badan Cepat"] \ No newline at end of file diff --git a/python_artifacts/model.joblib b/python_artifacts/model.joblib index 41e71e2..44bbaa0 100644 Binary files a/python_artifacts/model.joblib and b/python_artifacts/model.joblib differ diff --git a/python_artifacts/modell.joblib b/python_artifacts/modell.joblib index 7735b92..790c68c 100644 Binary files a/python_artifacts/modell.joblib and b/python_artifacts/modell.joblib differ diff --git a/resources/views/biodata.blade.php b/resources/views/biodata.blade.php index 0ea5395..a3c61a8 100644 --- a/resources/views/biodata.blade.php +++ b/resources/views/biodata.blade.php @@ -325,7 +325,7 @@