diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 12abeec..9f9cdc6 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -35,7 +35,7 @@ public function login(Request $request) $userCount = User::where('username', $request->username)->count(); if ($validator->fails() || $userCount == 0) { - // Tambahkan pesan error khusus jika username tidak terdaftar + // jika username tidak terdaftar $validator->errors()->add('username', 'Akun tidak terdaftar.'); return redirect('/login') @@ -43,7 +43,7 @@ public function login(Request $request) ->withInput(); } - $remember = true; // Sesuaikan dengan kebutuhan Anda + $remember = true; if (Auth::attempt(['username' => $request->username, 'password' => $request->password], $remember)) { $user = Auth::user(); diff --git a/app/Http/Controllers/CriteriaController.php b/app/Http/Controllers/CriteriaController.php index b07bf06..8301283 100644 --- a/app/Http/Controllers/CriteriaController.php +++ b/app/Http/Controllers/CriteriaController.php @@ -12,33 +12,6 @@ class CriteriaController extends Controller * Display a listing of the resource. */ - // public function calculateBobotKriteria() - // { - // $criterias = Criteria::all(); - - // $totalKriteria = count($criterias); - - // $bobotKriteria = []; - - // foreach ($criterias as $key => $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 index(Request $request) { if ($request->has('search')) { @@ -104,11 +77,6 @@ public function edit(string $id) */ public function update(Request $request, string $id) { - // $kriteria = Criteria::findorfail($id); - // $kriteria->update($request->all()); - - // return redirect('kriteria')->with('success', 'Data Kriteria Berhasil Diperbarui!'); - $validatedData = $request->validate([ 'nama' => 'required|string', 'prioritas' => 'required|integer', diff --git a/app/Http/Controllers/DataUserController.php b/app/Http/Controllers/DataUserController.php index a50e517..9715d7e 100644 --- a/app/Http/Controllers/DataUserController.php +++ b/app/Http/Controllers/DataUserController.php @@ -109,11 +109,6 @@ public function edit(string $id) */ public function update(Request $request, string $id) { - // $user = User::findorfail($id); - // $user->update($request->all()); - - // return redirect('user')->with('success', 'Data User Berhasil Diperbarui!'); - $validatedData = $request->validate([ 'name' => 'required', 'username' => 'required', diff --git a/app/Http/Controllers/PerhitunganController.php b/app/Http/Controllers/PerhitunganController.php index 7ef69bc..73304ea 100644 --- a/app/Http/Controllers/PerhitunganController.php +++ b/app/Http/Controllers/PerhitunganController.php @@ -27,14 +27,18 @@ public function calculateBobotKriteria() $bobotKriteria = []; - foreach ($criterias as $key => $criteria) { + foreach ($criterias as $criteria) { $sum = 0; + + $prioritas = $criteria->prioritas; + $i = $prioritas - 1; // Karena indeks array dimulai dari 0, sedangkan prioritas dimulai dari 1 + // Iterasi untuk setiap nilai prioritas pada kriteria - for ($i = $key; $i < $totalKriteria; $i++) { + for (; $i < $totalKriteria; $i++) { // Hitung nilai SMARTER $sum += 1 / ($i + 1); } - // Hitung bobot kriteria menggunakan rumus SMARTER ROC + $bobot = $sum / $totalKriteria; $bobotKriteria[$criteria->nama] = $bobot; @@ -54,15 +58,18 @@ public function calculateBobotSubKriteria() // Ambil semua sub-kriteria untuk kriteria ini $subcriterias = SubCriteria::where('criteria_id', $criteria->id)->get(); - $totalSubKriteria = $subcriterias->count(); + $totalSubKriteria = count($subcriterias); $bobotSubKriteria = []; - // Hitung bobot untuk setiap sub-kriteria - foreach ($subcriterias as $key => $subcriteria) { + foreach ($subcriterias as $subcriteria) { $sum = 0; + + $prioritas = $subcriteria->prioritas; + $i = $prioritas - 1; + // Iterasi untuk setiap nilai prioritas pada kriteria - for ($i = $key; $i < $totalSubKriteria; $i++) { + for (; $i < $totalSubKriteria; $i++) { // Hitung nilai SMARTER $sum += 1 / ($i + 1); } @@ -90,7 +97,7 @@ public function penilaian() public function transformasiNilai(Request $request) { - // Ambil data nilai dari subkriteria yang dipilih dari form + // Ambil data nilai dari subkriteria yang dipilih dari form penilaian $subcriteriaData = $request->input('subcriteria'); // Inisialisasi variabel untuk menyimpan nilai hasil transformasi @@ -137,10 +144,10 @@ public function nilaiUtility(Request $request) // 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 + // Jika penyebut bernilai nol + $nilaiUtility[$extracurricularId][$criteriaId] = 0; } else { - // Lakukan perhitungan nilai utility + // Perhitungan nilai utility $utility = (($bobot - $minBobot) / $denominator); $nilaiUtility[$extracurricularId][$criteriaId] = number_format($utility, 2, '.', ''); } @@ -184,13 +191,13 @@ public function nilaiAkhir(Request $request) $totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', ''); } + // Membuat koleksi dari nilai akhir yang bersifat multidimenasi menjadi satu dimensi $totalAkhir = collect($nilaiAkhir)->flatten()->sum(); // 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', 'totalNilaiAkhir')); } @@ -231,7 +238,7 @@ public function perangkingan(Request $request) $totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', ''); // Hitung persentase total nilai akhir - $totalPersen = ($totalNilai ) * 100; // di sini 100 adalah jumlah maksimum bobot + $totalPersen = ($totalNilai ) * 100; $totalNilaiAkhirPersen[$extracurricularId] = number_format($totalPersen, 0, '.', ''); // Simpan peringkat diff --git a/app/Http/Controllers/SubCriteriaController.php b/app/Http/Controllers/SubCriteriaController.php index 16d64a6..d590760 100644 --- a/app/Http/Controllers/SubCriteriaController.php +++ b/app/Http/Controllers/SubCriteriaController.php @@ -13,40 +13,6 @@ class SubCriteriaController extends Controller * Display a listing of the resource. */ - // 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 index(Request $request) { if ($request->has('search')) { diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index dbe19bd..3a8a1fc 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -79,22 +79,20 @@ public function updateProfilePicture(Request $request) 'profile_picture' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); - // Process the uploaded file and update the user's profile picture $user = Auth::user(); - // Hapus gambar lama jika ada + // menghapus foto profil lama jika ada if ($user->profile_picture) { Storage::disk('public')->delete($user->profile_picture); } - // Store the uploaded file and update the user's profile picture + // Menyimpan file gambar yang diunggah oleh pengguna dan memperbarui gambar profil if ($request->hasFile('profile_picture')) { $imagePath = $request->file('profile_picture')->store('profile_pictures', 'public'); $user->profile_picture = $imagePath; $user->save(); } - // Redirect back or return a response return redirect()->route('user-profile')->with('success', 'Foto Profile Berhasil Diperbarui!'); } diff --git a/public/DataUser/data-user.xlsx b/public/DataUser/data-user.xlsx index 43a1168..5c5bb6b 100644 Binary files a/public/DataUser/data-user.xlsx and b/public/DataUser/data-user.xlsx differ diff --git a/resources/views/penilaian/input-nilai.blade.php b/resources/views/penilaian/input-nilai.blade.php index ba6d0d0..f6b43c3 100644 --- a/resources/views/penilaian/input-nilai.blade.php +++ b/resources/views/penilaian/input-nilai.blade.php @@ -63,8 +63,8 @@ @foreach ($criteria->subCriteria as $subCriteria) + {{ $subCriteria->nama }} + ({{ $subCriteria->deskripsi }}) @endforeach @error("subcriteria.{$extracuricullar->id}.{$criteria->id}")