From 6769afb4493db4b5f2d0985dfc9ef82be2b2957f Mon Sep 17 00:00:00 2001 From: Zakiaass <117088186+zakiaass@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:42:39 +0700 Subject: [PATCH] Update Bobot Kriteria --- app/Http/Controllers/CriteriaController.php | 42 +- ...23_12_26_053623_create_criterias_table.php | 4 +- resources/views/kriteria/kriteria.blade.php | 52 +- resources/views/layouts/siswa.blade.php | 369 -------------- .../views/layouts/wakil_kepala.blade.php | 362 -------------- resources/views/siswa/dashboard.blade.php | 21 - .../views/subkriteria/subkriteria.blade.php | 6 +- .../views/wakil_kepala/dashboard.blade.php | 42 -- .../wakil_kepala/kriteria/create.blade.php | 0 .../wakil_kepala/kriteria/edit.blade.php | 0 .../wakil_kepala/kriteria/index.blade.php | 464 ------------------ .../views/wakil_kepala/subkriteria.blade.php | 460 ----------------- routes/web.php | 1 + 13 files changed, 89 insertions(+), 1734 deletions(-) delete mode 100644 resources/views/layouts/siswa.blade.php delete mode 100644 resources/views/layouts/wakil_kepala.blade.php delete mode 100644 resources/views/siswa/dashboard.blade.php delete mode 100644 resources/views/wakil_kepala/dashboard.blade.php delete mode 100644 resources/views/wakil_kepala/kriteria/create.blade.php delete mode 100644 resources/views/wakil_kepala/kriteria/edit.blade.php delete mode 100644 resources/views/wakil_kepala/kriteria/index.blade.php delete mode 100644 resources/views/wakil_kepala/subkriteria.blade.php diff --git a/app/Http/Controllers/CriteriaController.php b/app/Http/Controllers/CriteriaController.php index 84d29db..397779f 100644 --- a/app/Http/Controllers/CriteriaController.php +++ b/app/Http/Controllers/CriteriaController.php @@ -11,6 +11,34 @@ class CriteriaController extends Controller /** * Display a listing of the resource. */ + + public function calculateBobotKriteria() + { + $criterias = Criteria::all(); + + $totalKriteria = count($criterias); + + $bobotKriteria = []; + + foreach ($criterias as $key => $criteria) { + $sum = 0; + // Iterasi untuk setiap nilai prioritas pada kriteria + for ($i = $key; $i < $totalKriteria; $i++) { + // Hitung nilai SMARTER + $sum += 1 / ($i + 1); + } + // Hitung bobot kriteria menggunakan rumus SMARTER ROC + $bobot = $sum / $totalKriteria; + + $bobotKriteria[$criteria->nama] = $bobot; + + $criteria->update(['bobot' => $bobot]); + $criteria->save(); + } + + return redirect()->route('kriteria.index')->with('success', 'Bobot kriteria berhasil dihitung dan disimpan.'); + } + public function index() { $criterias = Criteria::all(); @@ -30,9 +58,10 @@ public function create() */ public function store(Request $request) { - $validator = Validator::make($request->only('nama', 'prioritas'), [ - 'nama' => 'required', - 'prioritas' => 'required', + $validator = Validator::make($request->only('nama', 'prioritas', 'bobot'), [ + 'nama' => 'required|string', + 'prioritas' => 'required|integer', + 'bobot' => 'nullable|numeric', ]); if ($validator->fails()) { @@ -42,6 +71,7 @@ public function store(Request $request) Criteria::create([ 'nama' => $request->nama, 'prioritas' => $request->prioritas, + 'bobot' => $request->bobot, ]); return redirect()->route('kriteria.index')->with('success', 'Data Kriteria Berhasil Ditambah!'); @@ -75,8 +105,9 @@ public function update(Request $request, string $id) // return redirect('kriteria')->with('success', 'Data Kriteria Berhasil Diperbarui!'); $validatedData = $request->validate([ - 'nama' => 'required', - 'prioritas' => 'required', + 'nama' => 'required|string', + 'prioritas' => 'required|integer', + 'bobot' => 'nullable|numeric', ]); $kriteria = Criteria::findOrFail($id); @@ -95,4 +126,5 @@ public function destroy(string $id) return back()->with('info', 'Data Kriteria Berhasil Dihapus!'); } + } diff --git a/database/migrations/2023_12_26_053623_create_criterias_table.php b/database/migrations/2023_12_26_053623_create_criterias_table.php index 2479ebc..248f9d7 100644 --- a/database/migrations/2023_12_26_053623_create_criterias_table.php +++ b/database/migrations/2023_12_26_053623_create_criterias_table.php @@ -14,8 +14,8 @@ public function up(): void Schema::create('criterias', function (Blueprint $table) { $table->id(); $table->string('nama'); - $table->string('prioritas'); - $table->string('bobot')->nullable(); + $table->unsignedInteger('prioritas'); + $table->float('bobot')->nullable(); $table->timestamps(); }); } diff --git a/resources/views/kriteria/kriteria.blade.php b/resources/views/kriteria/kriteria.blade.php index 8f2eddf..e4858bd 100644 --- a/resources/views/kriteria/kriteria.blade.php +++ b/resources/views/kriteria/kriteria.blade.php @@ -39,8 +39,13 @@ - + {{-- --}} + +
@@ -70,7 +75,20 @@ {{ $loop->iteration }} {{ $criteria->nama }} {{ $criteria->prioritas }} - {{ $criteria->bobot }} + + @if ($criteria->bobot) + {{ $criteria->bobot }} + @else + Belum dihitung + @endif + + {{-- + @if (isset($bobotKriteria[$criteria->nama])) + {{ $bobotKriteria[$criteria->nama] }} + @else + Belum dihitung + @endif + --}} --}} + data-target="#delete-criteria-{{ $criteria->id }}" title="Delete"> @@ -218,7 +236,7 @@ class="badge btn-danger" data-toggle="modal"
-
-