Transformasi Nilai

This commit is contained in:
Zakiaass 2024-03-15 22:34:48 +07:00
parent 4064acc1c5
commit 4d24eabe7a
6 changed files with 79 additions and 112 deletions

View File

@ -86,11 +86,31 @@ public function penilaian()
public function transformasiNilai(Request $request) public function transformasiNilai(Request $request)
{ {
// Ambil data nilai dari subkriteria yang dipilih dari form
$subcriteriaData = $request->input('subcriteria');
// Inisialisasi variabel untuk menyimpan nilai hasil transformasi
$transformedValues = [];
// Lakukan transformasi nilai berdasarkan bobot subkriteria
foreach ($subcriteriaData as $extracurricularId => $criteriaData) {
foreach ($criteriaData as $criteriaId => $subcriteriaId) {
// Ambil data sub-kriteria berdasarkan ID yang dipilih dari form
$subcriteria = SubCriteria::findOrFail($subcriteriaId);
// Ambil bobot dari subkriteria yang dipilih
$bobot = $subcriteria->bobot;
// Simpan hasil transformasi nilai ke dalam array
$transformedValues[$extracurricularId][$criteriaId] = $bobot;
}
}
// Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
$criterias = Criteria::all(); $criterias = Criteria::all();
$subcriterias = SubCriteria::all();
$extracuricullars = Extracuricullar::all(); $extracuricullars = Extracuricullar::all();
return view('perhitungan.transformasi-nilai'); return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues'));
} }
public function index() public function index()

View File

@ -1,23 +0,0 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class WakilKepalaController extends Controller
{
public function dashboard()
{
return view('wakil_kepala.dashboard');
}
public function kriteria()
{
return view('wakil_kepala.kriteria');
}
public function subkriteria()
{
return view('wakil_kepala.subkriteria');
}
}

View File

@ -47,10 +47,10 @@
<span class="micon bi bi-table"></span><span class="mtext">Perhitungan</span> <span class="micon bi bi-table"></span><span class="mtext">Perhitungan</span>
</a> </a>
<ul class="submenu"> <ul class="submenu">
<li><a href="{{ route('transformasi-nilai.index') }}">Transformasi Nilai</a></li> <li><a href="{{ route('transformasiNilai') }}">Transformasi Nilai</a></li>
<li><a href="{{ route('transformasi-nilai.index') }}">Nilai utility</a></li> <li><a href="">Nilai utility</a></li>
<li><a href="{{ route('transformasi-nilai.index') }}">Nilai Akhir</a></li> <li><a href="">Nilai Akhir</a></li>
<li><a href="{{ route('transformasi-nilai.index') }}">Hasil Perangkingan</a></li> <li><a href="">Hasil Perangkingan</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>

View File

@ -35,6 +35,8 @@
<div class="pd-20"> <div class="pd-20">
<h4 class="text-blue h4 mb-0">Data Penilaian</h4> <h4 class="text-blue h4 mb-0">Data Penilaian</h4>
</div> </div>
<form method="POST" action="{{ route('transformasiNilai') }}">
@csrf
<div class="pb-10"> <div class="pb-10">
<div class="table-responsive"> <div class="table-responsive">
<table class="data-table table stripe hover nowrap"> <table class="data-table table stripe hover nowrap">
@ -71,11 +73,12 @@
</table> </table>
<div class="col-sm-12"> <div class="col-sm-12">
<div class="input-group mb-3 mx-auto"> <div class="input-group mb-3 mx-auto">
<button id="transformButton" class="btn btn-primary btn-lg btn-block">Transformasi Nilai</button> <button type="submit" class="btn btn-primary btn-lg btn-block">Transformasi Nilai</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form>
</div> </div>
</div> </div>
<div class="footer-wrap pd-20 mb-20 card-box"> <div class="footer-wrap pd-20 mb-20 card-box">
@ -83,43 +86,9 @@
</div> </div>
</div> </div>
</div> </div>
{{-- <script> @if(session('success'))
$(document).ready(function(){
$('select[name^="subcriteria"]').on('change', function(){
var selectedSubCriterias = {};
$('select[name^="subcriteria"]').each(function(){
var extracurricularId = $(this).data('extracurricular-id');
var criteriaId = $(this).data('criteria-id');
var subcriteriaId = $(this).val();
if (subcriteriaId) {
if (!selectedSubCriterias.hasOwnProperty(extracurricularId)) {
selectedSubCriterias[extracurricularId] = {};
}
selectedSubCriterias[extracurricularId][criteriaId] = subcriteriaId;
}
});
$('button#transformButton').data('selected-sub-criterias', JSON.stringify(selectedSubCriterias));
});
});
</script>
<script> <script>
$('#transformButton').on('click', function(){ alert('{{ session('success') }}');
var selectedSubCriterias = $(this).data('selected-sub-criterias'); </script>
$.ajax({ @endif
type: 'POST',
url: '{{ route('perhitungan.transformasiNilai') }}',
data: {
_token: '{{ csrf_token() }}',
subcriteria: selectedSubCriterias
},
success: function(response){
// Tampilkan data bobot sub kriteria yang telah dihitung
$('#bobotSubKriteria').html(response);
},
error: function(xhr, status, error){
console.error(xhr.responseText);
}
});
});
</script> --}}
@endsection @endsection

View File

@ -2,7 +2,7 @@
@section('body') @section('body')
@php @php
$menu = 'Data Perhitungan'; $menu = 'Data Perhitungan';
$pageTitle = 'Data Hasil Transformasi Nilai'; $pageTitle = 'Hasil Transformasi Nilai';
@endphp @endphp
@include('layout.navbar') @include('layout.navbar')
@ -20,7 +20,7 @@
</div> </div>
<nav aria-label="breadcrumb" role="navigation"> <nav aria-label="breadcrumb" role="navigation">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ route('dashboard.index') }}">Dashboard</a></li> <li class="breadcrumb-item"><a href="{{ route('penilaian.input-nilai') }}">Input Penilaian</a></li>
@if (isset($pageTitle)) @if (isset($pageTitle))
<li class="breadcrumb-item active" aria-current="page">{{ $pageTitle }}</li> <li class="breadcrumb-item active" aria-current="page">{{ $pageTitle }}</li>
@else @else
@ -33,8 +33,10 @@
</div> </div>
<div class="card-box mb-30"> <div class="card-box mb-30">
<div class="pd-20"> <div class="pd-20">
<h4 class="text-blue h4 mb-0">Data Penilaian</h4> <h4 class="text-blue h4 mb-0">Hasil Transformasi Nilai</h4>
</div> </div>
<form method="POST" action="">
@csrf
<div class="pb-10"> <div class="pb-10">
<div class="table-responsive"> <div class="table-responsive">
<table class="data-table table stripe hover nowrap"> <table class="data-table table stripe hover nowrap">
@ -54,12 +56,10 @@
<td>{{ $extracuricullar->nama }}</td> <td>{{ $extracuricullar->nama }}</td>
@foreach ($criterias as $criteria) @foreach ($criterias as $criteria)
<td> <td>
{{-- <select class="form-control" name="subcriteria[{{ $extracuricullar->id }}][{{ $criteria->id }}]"> @php
<option value="" selected disabled>Pilih Sub Kriteria</option> $bobot = $transformedValues[$extracuricullar->id][$criteria->id] ?? null;
@foreach ($criteria->subCriteria as $subCriteria) @endphp
<option value="{{ $subCriteria->id }}">{{ $subCriteria->nama }}</option> {{ $bobot }}
@endforeach
</select> --}}
</td> </td>
@endforeach @endforeach
@empty @empty
@ -71,11 +71,12 @@
</table> </table>
<div class="col-sm-12"> <div class="col-sm-12">
<div class="input-group mb-3 mx-auto"> <div class="input-group mb-3 mx-auto">
<button class="btn btn-primary btn-lg btn-block" type="submit">Hitung Nilai Utility</button> <button type="submit" class="btn btn-primary btn-lg btn-block">Hitung Nilai Utility</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form>
</div> </div>
</div> </div>
<div class="footer-wrap pd-20 mb-20 card-box"> <div class="footer-wrap pd-20 mb-20 card-box">

View File

@ -103,11 +103,11 @@
Route::post('/kriteria/calculate', [PerhitunganController::class, 'calculateBobotKriteria'])->name('kriteria.calculate'); Route::post('/kriteria/calculate', [PerhitunganController::class, 'calculateBobotKriteria'])->name('kriteria.calculate');
Route::post('/subkriteria/calculate', [PerhitunganController::class, 'calculateBobotSubKriteria'])->name('subkriteria.calculate'); Route::post('/subkriteria/calculate', [PerhitunganController::class, 'calculateBobotSubKriteria'])->name('subkriteria.calculate');
Route::get('input-nilai', [PerhitunganController::class, 'penilaian'])->name(('penilaian.input-nilai')); Route::get('input-nilai', [PerhitunganController::class, 'penilaian'])->name(('penilaian.input-nilai'));
Route::post('perhitungan/transformasi-nilai', [PerhitunganController::class, 'transformasiNilai'])->name('perhitungan.transformasiNilai'); Route::post('transformasi-nilai', [PerhitunganController::class, 'transformasiNilai'])->name('transformasiNilai');
// Route::resource('input-nilai', PenilaianController::class); // Route::resource('input-nilai', PenilaianController::class);
Route::resource('transformasi-nilai', TransformasiNilaiController::class); // Route::resource('transformasi-nilai', TransformasiNilaiController::class);
Route::get('/logout', [AuthController::class, 'logout'])->name('logout'); Route::get('/logout', [AuthController::class, 'logout'])->name('logout');
Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); Route::post('/logout', [AuthController::class, 'logout'])->name('logout');