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'));
|
||||
}
|
||||
|
||||
// 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)
|
||||
{
|
||||
// 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'));
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
//
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<div class="pd-20">
|
||||
<h4 class="text-blue h4 mb-0">Perhitungan Nilai Akhir</h4>
|
||||
</div>
|
||||
<form method="POST" action="">
|
||||
<form method="POST" action="{{ route('perangkingan') }}">
|
||||
@csrf
|
||||
<div class="pb-10">
|
||||
<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('nilai-utility', [PerhitunganController::class, 'nilaiUtility'])->name('nilaiUtility');
|
||||
Route::post('nilai-akhir', [PerhitunganController::class, 'nilaiAkhir'])->name('nilaiAkhir');
|
||||
Route::post('perangkingan', [PerhitunganController::class, 'perangkingan'])->name('perangkingan');
|
||||
|
||||
// Route::resource('input-nilai', PenilaianController::class);
|
||||
|
||||
|
|
Loading…
Reference in New Issue