$criteria) { $sum = 0; // Iterasi untuk setiap nilai prioritas pada kriteria for ($i = $key; $i < $totalKriteria; $i++) { // Hitung nilai SMARTER $sum += 1 / ($i + 1); } // Hitung bobot kriteria menggunakan rumus SMARTER ROC $bobot = $sum / $totalKriteria; $bobotKriteria[$criteria->nama] = $bobot; $criteria->update(['bobot' => $bobot]); $criteria->save(); } return redirect()->route('kriteria.index')->with('success', 'Bobot Kriteria Berhasil Dihitung dan Disimpan.'); } public function calculateBobotSubKriteria() { $criterias = Criteria::all(); foreach ($criterias as $criteria) { // Ambil semua sub-kriteria untuk kriteria ini $subcriterias = SubCriteria::where('criteria_id', $criteria->id)->get(); $totalSubKriteria = $subcriterias->count(); $bobotSubKriteria = []; // Hitung bobot untuk setiap sub-kriteria foreach ($subcriterias as $key => $subcriteria) { $sum = 0; // Iterasi untuk setiap nilai prioritas pada kriteria for ($i = $key; $i < $totalSubKriteria; $i++) { // Hitung nilai SMARTER $sum += 1 / ($i + 1); } // Hitung bobot kriteria menggunakan rumus SMARTER ROC $bobot = $sum / $totalSubKriteria; $bobotSubKriteria[$subcriteria->nama] = $bobot; $subcriteria->update(['bobot' => $bobot]); $subcriteria->save(); } } 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) { // 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; } } // Simpan data transformasi nilai ke dalam session session(['transformedValues' => $transformedValues]); // Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view $criterias = Criteria::all(); $extracuricullars = Extracuricullar::all(); return view('perhitungan.transformasi-nilai', compact('criterias', 'extracuricullars', 'transformedValues')); } public function nilaiUtility(Request $request) { // Ambil data transformasi nilai dari session $transformedValues = session('transformedValues', []); // Inisialisasi variabel untuk menyimpan nilai utility $nilaiUtility = []; foreach ($transformedValues as $extracurricularId => $criteriaData) { foreach ($criteriaData as $criteriaId => $bobot) { // Temukan bobot terbesar dan terkecil dari subkriteria $maxBobot = SubCriteria::where('criteria_id', $criteriaId)->max('bobot'); $minBobot = SubCriteria::where('criteria_id', $criteriaId)->min('bobot'); // Periksa apakah penyebut bernilai nol $denominator = $maxBobot - $minBobot; if ($denominator == 0) { // Tangani jika penyebut bernilai nol $nilaiUtility[$extracurricularId][$criteriaId] = 0; // Atau nilai lainnya sesuai kebutuhan } else { // Lakukan perhitungan nilai utility $utility = (($bobot - $minBobot) / $denominator); $nilaiUtility[$extracurricularId][$criteriaId] = $utility; } } } // Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view $criterias = Criteria::all(); $extracuricullars = Extracuricullar::all(); // Tampilkan hasil perhitungan nilai utility ke dalam view return view('perhitungan.nilai-utility', compact('criterias', 'extracuricullars', 'nilaiUtility')); } public function index() { // } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { // } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }