update: tambah biodata & simpan hasil diagnosis

This commit is contained in:
WahyuTegarP 2026-04-03 21:08:57 +07:00
parent 57cddbdc92
commit 243bb7cb49
11 changed files with 129 additions and 9 deletions

View File

@ -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'] ?? [],
];
$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');
}
}

21
app/Models/Biodata.php Normal file
View File

@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Biodata extends Model
{
protected $table = 'biodata';
protected $fillable = [
'nama_pemilik',
'nama_kucing',
'umur_kucing',
'jenis_kelamin',
'berat_badan',
'ras_kucing',
'alamat',
'no_telepon'
];
}

View File

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('biodata', function (Blueprint $table) {
$table->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');
}
};

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up()
{
Schema::table('biodata', function (Blueprint $table) {
$table->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']);
});
}
};

Binary file not shown.

View File

@ -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

View File

@ -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"]
["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"]

Binary file not shown.

Binary file not shown.

View File

@ -325,7 +325,7 @@
<!-- FORM CARD -->
<div class="form-card">
<form action="#" method="POST" id="biodataForm">
<form action="{{ route('biodata.simpan') }}" method="POST">
@csrf
<!-- Nama Pemilik -->
@ -464,8 +464,6 @@
</div>
<script>
document.getElementById('biodataForm').addEventListener('submit', function(e) {
e.preventDefault();
// Validasi sederhana
const namaPemilik = document.getElementById('nama_pemilik').value.trim();

View File

@ -36,3 +36,5 @@
Route::post('/admin/login', [AdminController::class, 'authenticate'])->name('admin.authenticate');
Route::post('/admin/logout', [AdminController::class, 'logout'])->name('admin.logout');
Route::get('/admin/dashboard', [AdminController::class, 'dashboard'])->name('admin.dashboard')->middleware('auth');
Route::post('/biodata/simpan', [DiagnosisController::class, 'simpanBiodata'])->name('biodata.simpan');