Perangkingan
This commit is contained in:
parent
aea065ebfe
commit
1560b87cc0
|
@ -154,45 +154,6 @@ public function nilaiUtility(Request $request)
|
||||||
return view('perhitungan.nilai-utility', compact('criterias', 'extracuricullars', 'nilaiUtility'));
|
return view('perhitungan.nilai-utility', compact('criterias', 'extracuricullars', 'nilaiUtility'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// public function nilaiAkhir(Request $request)
|
|
||||||
// {
|
|
||||||
// // Ambil data nilai utility dari session
|
|
||||||
// $nilaiUtility = session('nilaiUtility', []);
|
|
||||||
|
|
||||||
// // Inisialisasi variabel untuk menyimpan nilai akhir
|
|
||||||
// $nilaiAkhir = [];
|
|
||||||
|
|
||||||
// foreach ($nilaiUtility as $extracurricularId => $criteriaData) {
|
|
||||||
// $totalNilaiAkhir = 0; // Inisialisasi total nilai akhir untuk ekstrakurikuler saat ini
|
|
||||||
|
|
||||||
// foreach ($criteriaData as $criteriaId => $utility) {
|
|
||||||
// // Temukan bobot kriteria
|
|
||||||
// $criteria = Criteria::find($criteriaId);
|
|
||||||
// if ($criteria) {
|
|
||||||
// // Lakukan perhitungan nilai akhir
|
|
||||||
// $bobotKriteria = $criteria->bobot;
|
|
||||||
// $nilaiAkhir[$extracurricularId][$criteriaId] = number_format($utility * $bobotKriteria, 2, '.', '');
|
|
||||||
|
|
||||||
// // Tambahkan nilai akhir kriteria ke total
|
|
||||||
// $totalNilaiAkhir += $nilaiAkhir[$extracurricularId][$criteriaId];
|
|
||||||
// } else {
|
|
||||||
// // Handle jika kriteria tidak ditemukan
|
|
||||||
// $nilaiAkhir[$extracurricularId][$criteriaId] = '0';
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Simpan total nilai akhir untuk ekstrakurikuler saat ini
|
|
||||||
// $nilaiAkhir[$extracurricularId]['total'] = number_format($totalNilaiAkhir, 2, '.', '');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
|
|
||||||
// $criterias = Criteria::all();
|
|
||||||
// $extracuricullars = Extracuricullar::all();
|
|
||||||
|
|
||||||
// // Tampilkan hasil perhitungan nilai akhir ke dalam view
|
|
||||||
// return view('perhitungan.nilai-akhir', compact('criterias', 'extracuricullars', 'nilaiAkhir'));
|
|
||||||
// }
|
|
||||||
|
|
||||||
public function nilaiAkhir(Request $request)
|
public function nilaiAkhir(Request $request)
|
||||||
{
|
{
|
||||||
// Ambil data nilai utility dari session
|
// Ambil data nilai utility dari session
|
||||||
|
@ -229,6 +190,103 @@ public function nilaiAkhir(Request $request)
|
||||||
return view('perhitungan.nilai-akhir', compact('criterias', 'extracuricullars', 'nilaiAkhir', 'totalNilaiAkhir'));
|
return view('perhitungan.nilai-akhir', compact('criterias', 'extracuricullars', 'nilaiAkhir', 'totalNilaiAkhir'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function perangkingan(Request $request)
|
||||||
|
{
|
||||||
|
// Ambil data nilai utility dari session
|
||||||
|
$nilaiUtility = session('nilaiUtility', []);
|
||||||
|
|
||||||
|
$criterias = Criteria::all();
|
||||||
|
$extracuricullars = Extracuricullar::all();
|
||||||
|
|
||||||
|
// Inisialisasi variabel untuk menyimpan nilai akhir
|
||||||
|
$nilaiAkhir = [];
|
||||||
|
$totalNilaiAkhir = [];
|
||||||
|
$totalNilaiAkhirPersen = [];
|
||||||
|
$peringkat = [];
|
||||||
|
|
||||||
|
foreach ($nilaiUtility as $extracurricularId => $criteriaData) {
|
||||||
|
$totalNilai = 0; // Inisialisasi nilai total untuk setiap ekstrakurikuler
|
||||||
|
|
||||||
|
foreach ($criteriaData as $criteriaId => $utility) {
|
||||||
|
// Temukan bobot kriteria
|
||||||
|
$criteria = Criteria::find($criteriaId);
|
||||||
|
if ($criteria) {
|
||||||
|
// Lakukan perhitungan nilai akhir
|
||||||
|
$bobotKriteria = $criteria->bobot;
|
||||||
|
$nilaiAkhir[$extracurricularId][$criteriaId] = number_format($utility * $bobotKriteria, 2, '.', '');
|
||||||
|
|
||||||
|
// Tambahkan nilai akhir ke total nilai untuk ekstrakurikuler saat ini
|
||||||
|
$totalNilai += $utility * $bobotKriteria;
|
||||||
|
} else {
|
||||||
|
// Handle jika kriteria tidak ditemukan
|
||||||
|
$nilaiAkhir[$extracurricularId][$criteriaId] = '0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simpan total nilai akhir untuk setiap ekstrakurikuler
|
||||||
|
$totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', '');
|
||||||
|
|
||||||
|
// Hitung persentase total nilai akhir
|
||||||
|
$totalPersen = ($totalNilai ) * 100; // di sini 100 adalah jumlah maksimum bobot
|
||||||
|
$totalNilaiAkhirPersen[$extracurricularId] = number_format($totalPersen, 2, '.', '');
|
||||||
|
|
||||||
|
// Simpan peringkat
|
||||||
|
$peringkat[$extracurricularId] = $totalPersen;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Urutkan peringkat
|
||||||
|
arsort($peringkat);
|
||||||
|
|
||||||
|
// Tampilkan hasil perhitungan nilai akhir ke dalam view
|
||||||
|
return view('perhitungan.perangkingan', compact('criterias', 'extracuricullars', 'nilaiAkhir', 'totalNilaiAkhir', 'totalNilaiAkhirPersen', 'peringkat'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// public function perangkingan(Request $request)
|
||||||
|
// {
|
||||||
|
// // Ambil data nilai utility dari session
|
||||||
|
// $nilaiUtility = session('nilaiUtility', []);
|
||||||
|
|
||||||
|
// $criterias = Criteria::all();
|
||||||
|
// $extracuricullars = Extracuricullar::all();
|
||||||
|
|
||||||
|
// // Inisialisasi variabel untuk menyimpan nilai akhir
|
||||||
|
// $nilaiAkhir = [];
|
||||||
|
// $totalNilaiAkhir = [];
|
||||||
|
// $totalNilaiAkhirPersen = []; // Tambahkan deklarasi variabel untuk menyimpan nilai akhir dalam persen
|
||||||
|
|
||||||
|
// foreach ($nilaiUtility as $extracurricularId => $criteriaData) {
|
||||||
|
// $totalNilai = 0; // Inisialisasi nilai total untuk setiap ekstrakurikuler
|
||||||
|
|
||||||
|
// foreach ($criteriaData as $criteriaId => $utility) {
|
||||||
|
// // Temukan bobot kriteria
|
||||||
|
// $criteria = Criteria::find($criteriaId);
|
||||||
|
// if ($criteria) {
|
||||||
|
// // Lakukan perhitungan nilai akhir
|
||||||
|
// $bobotKriteria = $criteria->bobot;
|
||||||
|
// $nilaiAkhir[$extracurricularId][$criteriaId] = number_format($utility * $bobotKriteria, 2, '.', '');
|
||||||
|
|
||||||
|
// // Tambahkan nilai akhir ke total nilai untuk ekstrakurikuler saat ini
|
||||||
|
// $totalNilai += $utility * $bobotKriteria;
|
||||||
|
// } else {
|
||||||
|
// // Handle jika kriteria tidak ditemukan
|
||||||
|
// $nilaiAkhir[$extracurricularId][$criteriaId] = '0';
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Simpan total nilai akhir untuk setiap ekstrakurikuler
|
||||||
|
// $totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', '');
|
||||||
|
|
||||||
|
// // Hitung persentase total nilai akhir
|
||||||
|
// $totalPersen = ($totalNilai) * 100;
|
||||||
|
// $totalNilaiAkhirPersen[$extracurricularId] = $totalPersen;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Tampilkan hasil perhitungan nilai akhir ke dalam view
|
||||||
|
// return view('perhitungan.perangkingan', compact('criterias', 'extracuricullars', 'nilaiAkhir', 'totalNilaiAkhir', 'totalNilaiAkhirPersen'));
|
||||||
|
// }
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
<div class="pd-20">
|
<div class="pd-20">
|
||||||
<h4 class="text-blue h4 mb-0">Perhitungan Nilai Akhir</h4>
|
<h4 class="text-blue h4 mb-0">Perhitungan Nilai Akhir</h4>
|
||||||
</div>
|
</div>
|
||||||
<form method="POST" action="">
|
<form method="POST" action="{{ route('perangkingan') }}">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="pb-10">
|
<div class="pb-10">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
@extends('layout.main')
|
||||||
|
@section('body')
|
||||||
|
@php
|
||||||
|
$menu = 'Data Perhitungan';
|
||||||
|
$pageTitle = 'Hasil Perangkingan';
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@include('layout.navbar')
|
||||||
|
@include('layout.sidebar')
|
||||||
|
|
||||||
|
{{-- Main Content --}}
|
||||||
|
<div class="main-container">
|
||||||
|
<div class="pd-ltr-20 xs-pd-20-10">
|
||||||
|
<div class="min-height-200px">
|
||||||
|
<div class="page-header">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-12">
|
||||||
|
<div class="title">
|
||||||
|
<h4>{{ $menu }}</h4>
|
||||||
|
</div>
|
||||||
|
<nav aria-label="breadcrumb" role="navigation">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<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
|
||||||
|
<li class="breadcrumb-item active" aria-current="page"></li>
|
||||||
|
@endif
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-box mb-30">
|
||||||
|
<div class="pd-20">
|
||||||
|
<h4 class="text-blue h4 mb-0">Hasil Perangkingan</h4>
|
||||||
|
</div>
|
||||||
|
<form method="POST" action="">
|
||||||
|
@csrf
|
||||||
|
<div class="pb-10">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="data-table table stripe hover nowrap">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Ekstrakurikuler</th>
|
||||||
|
<th>Nilai Akhir</th>
|
||||||
|
<th>Presentase Nilai</th>
|
||||||
|
<th>Rangking</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($peringkat as $extracurricularId => $nilaiPersen)
|
||||||
|
@php
|
||||||
|
$extracuricullar = $extracuricullars->where('id', $extracurricularId)->first();
|
||||||
|
$nilaiAkhir = $totalNilaiAkhir[$extracurricularId];
|
||||||
|
$nilaiPersen = $totalNilaiAkhirPersen[$extracurricularId];
|
||||||
|
@endphp
|
||||||
|
<tr>
|
||||||
|
<td>{{ $loop->iteration }}</td>
|
||||||
|
<td>{{ $extracuricullar->nama }}</td>
|
||||||
|
<td>{{ $nilaiAkhir }}</td>
|
||||||
|
<td>{{ $nilaiPersen }}%</td>
|
||||||
|
<td>{{ $loop->iteration }}</td>
|
||||||
|
</tr>
|
||||||
|
@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">Hasil Perangkingan</button>
|
||||||
|
</div>
|
||||||
|
</div> --}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer-wrap pd-20 mb-20 card-box">
|
||||||
|
<strong>Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Metode SMARTER</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
|
@ -106,6 +106,7 @@
|
||||||
Route::post('transformasi-nilai', [PerhitunganController::class, 'transformasiNilai'])->name('transformasiNilai');
|
Route::post('transformasi-nilai', [PerhitunganController::class, 'transformasiNilai'])->name('transformasiNilai');
|
||||||
Route::post('nilai-utility', [PerhitunganController::class, 'nilaiUtility'])->name('nilaiUtility');
|
Route::post('nilai-utility', [PerhitunganController::class, 'nilaiUtility'])->name('nilaiUtility');
|
||||||
Route::post('nilai-akhir', [PerhitunganController::class, 'nilaiAkhir'])->name('nilaiAkhir');
|
Route::post('nilai-akhir', [PerhitunganController::class, 'nilaiAkhir'])->name('nilaiAkhir');
|
||||||
|
Route::post('perangkingan', [PerhitunganController::class, 'perangkingan'])->name('perangkingan');
|
||||||
|
|
||||||
// Route::resource('input-nilai', PenilaianController::class);
|
// Route::resource('input-nilai', PenilaianController::class);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue