diff --git a/app/Http/Controllers/PerhitunganController.php b/app/Http/Controllers/PerhitunganController.php index e85f397..6c56bfe 100644 --- a/app/Http/Controllers/PerhitunganController.php +++ b/app/Http/Controllers/PerhitunganController.php @@ -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() { // diff --git a/resources/views/perhitungan/nilai-akhir.blade.php b/resources/views/perhitungan/nilai-akhir.blade.php index 69a21c9..74572c0 100644 --- a/resources/views/perhitungan/nilai-akhir.blade.php +++ b/resources/views/perhitungan/nilai-akhir.blade.php @@ -35,7 +35,7 @@