Transformasi Nilai
This commit is contained in:
parent
4064acc1c5
commit
4d24eabe7a
|
@ -73,24 +73,44 @@ public function calculateBobotSubKriteria()
|
|||
}
|
||||
|
||||
return redirect()->route('subkriteria.index')->with('success', 'Bobot Sub Kriteria Berhasil Dihitung dan Disimpan.');
|
||||
}
|
||||
}
|
||||
|
||||
public function penilaian()
|
||||
{
|
||||
{
|
||||
$criterias = Criteria::all();
|
||||
$extracuricullars = Extracuricullar ::all();
|
||||
$subcriterias = Subcriteria::all();
|
||||
|
||||
return view('penilaian.input-nilai', compact('criterias','extracuricullars','subcriterias'));
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
$subcriterias = SubCriteria::all();
|
||||
$extracuricullars = Extracuricullar::all();
|
||||
|
||||
return view('perhitungan.transformasi-nilai');
|
||||
return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues'));
|
||||
}
|
||||
|
||||
public function index()
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
|
@ -47,10 +47,10 @@
|
|||
<span class="micon bi bi-table"></span><span class="mtext">Perhitungan</span>
|
||||
</a>
|
||||
<ul class="submenu">
|
||||
<li><a href="{{ route('transformasi-nilai.index') }}">Transformasi Nilai</a></li>
|
||||
<li><a href="{{ route('transformasi-nilai.index') }}">Nilai utility</a></li>
|
||||
<li><a href="{{ route('transformasi-nilai.index') }}">Nilai Akhir</a></li>
|
||||
<li><a href="{{ route('transformasi-nilai.index') }}">Hasil Perangkingan</a></li>
|
||||
<li><a href="{{ route('transformasiNilai') }}">Transformasi Nilai</a></li>
|
||||
<li><a href="">Nilai utility</a></li>
|
||||
<li><a href="">Nilai Akhir</a></li>
|
||||
<li><a href="">Hasil Perangkingan</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
<div class="pd-20">
|
||||
<h4 class="text-blue h4 mb-0">Data Penilaian</h4>
|
||||
</div>
|
||||
<form method="POST" action="{{ route('transformasiNilai') }}">
|
||||
@csrf
|
||||
<div class="pb-10">
|
||||
<div class="table-responsive">
|
||||
<table class="data-table table stripe hover nowrap">
|
||||
|
@ -71,11 +73,12 @@
|
|||
</table>
|
||||
<div class="col-sm-12">
|
||||
<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>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-wrap pd-20 mb-20 card-box">
|
||||
|
@ -83,43 +86,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{-- <script>
|
||||
$(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>
|
||||
$('#transformButton').on('click', function(){
|
||||
var selectedSubCriterias = $(this).data('selected-sub-criterias');
|
||||
$.ajax({
|
||||
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> --}}
|
||||
@if(session('success'))
|
||||
<script>
|
||||
alert('{{ session('success') }}');
|
||||
</script>
|
||||
@endif
|
||||
@endsection
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
@section('body')
|
||||
@php
|
||||
$menu = 'Data Perhitungan';
|
||||
$pageTitle = 'Data Hasil Transformasi Nilai';
|
||||
$pageTitle = 'Hasil Transformasi Nilai';
|
||||
@endphp
|
||||
|
||||
@include('layout.navbar')
|
||||
|
@ -20,7 +20,7 @@
|
|||
</div>
|
||||
<nav aria-label="breadcrumb" role="navigation">
|
||||
<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))
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ $pageTitle }}</li>
|
||||
@else
|
||||
|
@ -33,49 +33,50 @@
|
|||
</div>
|
||||
<div class="card-box mb-30">
|
||||
<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 class="pb-10">
|
||||
<div class="table-responsive">
|
||||
<table class="data-table table stripe hover nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>Ekstrakurikuler</th>
|
||||
@foreach ($criterias as $criteria)
|
||||
<th>{{ $criteria->nama }}</th>
|
||||
@endforeach
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($extracuricullars as $extracuricullar)
|
||||
<form method="POST" action="">
|
||||
@csrf
|
||||
<div class="pb-10">
|
||||
<div class="table-responsive">
|
||||
<table class="data-table table stripe hover nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $extracuricullar->nama }}</td>
|
||||
<th>No</th>
|
||||
<th>Ekstrakurikuler</th>
|
||||
@foreach ($criterias as $criteria)
|
||||
<td>
|
||||
{{-- <select class="form-control" name="subcriteria[{{ $extracuricullar->id }}][{{ $criteria->id }}]">
|
||||
<option value="" selected disabled>Pilih Sub Kriteria</option>
|
||||
@foreach ($criteria->subCriteria as $subCriteria)
|
||||
<option value="{{ $subCriteria->id }}">{{ $subCriteria->nama }}</option>
|
||||
@endforeach
|
||||
</select> --}}
|
||||
</td>
|
||||
<th>{{ $criteria->nama }}</th>
|
||||
@endforeach
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center">Tidak ada data.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group mb-3 mx-auto">
|
||||
<button class="btn btn-primary btn-lg btn-block" type="submit">Hitung Nilai Utility</button>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($extracuricullars as $extracuricullar)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $extracuricullar->nama }}</td>
|
||||
@foreach ($criterias as $criteria)
|
||||
<td>
|
||||
@php
|
||||
$bobot = $transformedValues[$extracuricullar->id][$criteria->id] ?? null;
|
||||
@endphp
|
||||
{{ $bobot }}
|
||||
</td>
|
||||
@endforeach
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="5" class="text-center">Tidak ada data.</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="col-sm-12">
|
||||
<div class="input-group mb-3 mx-auto">
|
||||
<button type="submit" class="btn btn-primary btn-lg btn-block">Hitung Nilai Utility</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-wrap pd-20 mb-20 card-box">
|
||||
|
|
|
@ -103,11 +103,11 @@
|
|||
Route::post('/kriteria/calculate', [PerhitunganController::class, 'calculateBobotKriteria'])->name('kriteria.calculate');
|
||||
Route::post('/subkriteria/calculate', [PerhitunganController::class, 'calculateBobotSubKriteria'])->name('subkriteria.calculate');
|
||||
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('transformasi-nilai', TransformasiNilaiController::class);
|
||||
// Route::resource('transformasi-nilai', TransformasiNilaiController::class);
|
||||
|
||||
Route::get('/logout', [AuthController::class, 'logout'])->name('logout');
|
||||
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
|
||||
|
|
Loading…
Reference in New Issue