From 7df43538757c905b002be278a93185e1a5780d55 Mon Sep 17 00:00:00 2001 From: Zakiaass <117088186+zakiaass@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:01:59 +0700 Subject: [PATCH] Bismillah Fix --- app/Http/Controllers/AuthController.php | 4 +-- app/Http/Controllers/CriteriaController.php | 32 ----------------- app/Http/Controllers/DataUserController.php | 5 --- .../Controllers/PerhitunganController.php | 33 ++++++++++------- .../Controllers/SubCriteriaController.php | 34 ------------------ app/Http/Controllers/UserController.php | 6 ++-- public/DataUser/data-user.xlsx | Bin 8524 -> 8573 bytes .../views/penilaian/input-nilai.blade.php | 4 +-- 8 files changed, 26 insertions(+), 92 deletions(-) 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 43a1168f01d36f095d6a125ec386b137a09315eb..5c5bb6b5ff9f2e0538e9e637adf3312de2a7c77e 100644 GIT binary patch delta 1694 zcmV;P24VTkLj6Lp$_5ET$(LUp0{{TOlhXzzf83^N6Op3cqD2CPpuh_fGKt$*IC0i? zXc6MycbqgW(ABC7QESH@`}oYv8Rz(9opbA%O2tGGA$;T_ix!DUS+R`J%{;aT$WodV zDdD1^5qhBtoeY2eI9>_)^eDuW1ptMLP^NVmI*v**niF*-N?L$rA!JT84CT^MrKBWP ze;K7Z=T66UeJ3ZZKn+4D55W+N1xx5uBvnoe-GE5Si3a*AW2I`*^5hV>oXDrDv=fn+ z0P)B;(=RnBvhpN6T^2%;M-FbUanD*y`1$b1E;OC?BrxqAm9s<&B^LS!pq+;Fp8wc& zF#ZsN^?nQvL-HI+pP9+wmX-9s$jaYhfB8Ew?0y>!gS2X`gb=(hqV=}iI%s&jV4U7I z(zQrgUXa{miX)2?rDrMAG>uRnhGIo`6CSc;RgNph!P@C}I|Jklw{pIe7O0;#So4gj zyN%AxBGAN$Ybpz(=|mJ7B)Df6S^R zkI*E%zfs`%{V2)E{Zy<9E}*pT-)WNU7r=k0k|f4o2OMrlHSeFD2W~QKm3OJ71@EWR zGl>2*d4^m-#?wuyouYPDLN7_Mk@tJX0Fb%*8{d79!nhwaXU@WiMax_V)Nf89=iEV!W) z8dsc8zyNH`9=g_NO4mK;jREIzZ!mVdLC5xD9NQiaTzfqBJ-auJyS+Z1PG(KQ%(oz1 zn==+)Eb)O;@1{goPy+&`204SNyYJQGsP z11g4_XM$#)J|dg}vwIH22?`9;w_x1>0027ylSvpGe~(W~1ThT7?}FbU^zL>P6p>Ds zMctbs{y{v3X=fUorel*)_uD&yf~?11-b-GdTYu&e-eVOi+?wN6V<2)@0`btAr^oHl zxdBn+fMemfL}A%wX-!g{F07R<#f-8lQ{+YIOUrbD{YY>{Q-PN` z6xalUyM5dBFzl2NwwUUYD*x_m>T5!Vggps7Qy^q5_0J=ADeu1klaT`y1Vht~NV6yz zF9Cn@4+Qrz^>EsNuoWaJvTA?=c90@FmK@uRC6XW~RrL3zC|k9PF1jLS?wx~qaCQ69 zHslxhpsiWcVv$nzB&zygdN3jQ1=J{vV0tzKiumPC4iAYaKB`2hN z_e}yQ$)JH23qN`FHvHybo zc>1(29*p7r=Nm|@Q+f)bAY%nu9~pl~ zV>?40#yI)T+Hi>@^quu8M8YhJ2n9iU?J(YVb|e<%y4Y-Dvnx^ zO)m~Rjb112U(VQh+UVFNC=z$X$Bmwqm+Il`_L0_QUM{n|%8F`REO~j&tDDzhh*|xx zvoX=0+W8M+nQ!wYFRpq1<$`zy)aehK3WUA&{kR-Ck7i%E{tc6n0~C`8Ar7+z96JLE zL&=w49RmOWzmrKHP5}m!m>(@03Z?+aaRLAULInT-7ytkO00000000000023Y;2%W+ z;FBgGKmml4XCNRO4AZw@-2eapI{^Ry6aWAK00000000000020Xq97+5L(`5(oB;p; o4+8)I5dZ)H0000000000002jmwHaub(WIC0i? zXc6Mycbv3^($%U9QESH@`}oYv8RzJDS#s-{O2tH#Abj8=i&mM)S@oEpyW7<6BTH#g z<%ElhCg_DKbUgU^<7gq|(@cmb3jivWphD|9b{v%zv?S_4)U*Q2T*#7W7|KUS)sm82 ze-)JKk~^O3_MDQi3Uvsv+y_I<=PaXRku@c)bO$0SCmQIhg4Jq`R%ZLal|()@wVjEw z28bEsOuw|C$SSk=?6DG(%s9Bc#G$p6@aw@JyU=*+lfbldRLL?al$h%SfOb04JN{$W z!FVeK%iS34hZH!HJ~NZU4J+CEBCFm8f2;QnhTU(YVUSj z@&t|I>74@4rzcrKrem?FxPa1{e$XV@Er9<}CCQAx4mjMA>fS#)58PzDR^FAC7QCO0 z&msCZ$37>w}f z4V;m^I1{AN#VXAPIza*CbjNf-f0kuJOxmYB~#zw|3+rvd`oUmLM;A9kdu%w&&McHEkjIryxM*h+>%o4Q4XxuSM;jvA# z#mMT9W)EHJbEVrJG{=DRFzgRqKl1D##iuG0iu(|4ImRy4-2iGlIFV!c!3s0>8R5~?jMu(4SNP=o<1U60JDM) z#0d%^@6#5u0002>0FzJ{8-I??io!q;gzpQ!!_aq~D2vE4GaiIJ?#1;1nxr*@nVy*L z`1kZiP!K(SUsXZ5| z!5dcvsoE00e|`r z1otu}D=i$tR?w!%ssRevMuO}Za%{7fNP?VH(chP%Y{d$)$cmV`cMj&k<;`nTlYiiY zwq`|(SxyNUX_Yqn72R&`vIQjpg;Aom23E9#KyRwAUzXBwX+8Y$)`3S2fkcuCT)GuK zAUe)ikOyc)m_>();?DX;U=019Ie#IKVh?Pd=igZaD3n0KdSK>8B0V9M9FgwD*9o8` zgBltz7+5hY*qax@H{rvAq+B=~jh%}#o!Y%*D>;ax`!(p%*tYGgEmIq@|AIZ<|6Zq2 zGi~}^NubqINsbz8sJ14(imaUnp~3+Gmu!@KV|aP~3lgi89)l>zSb^3@#(&Y+){xsF zPQJ6&U*ZT|YrP7QFo_~UL6BZMjQ1V*lSFjaBH(>I_)dfR*;PMGe{Aw3j#`j)Ck{J} zUMKE5XY4#}bm$Tki96!MM$gJadHZW~N2_^0zsmA5E6PoA#pmC6xp?Y_nAG<>8xqZ_ zozD=jH$} z0ezF0ARrqd@6#5u0002>0000K00000000000000005Ox(ASVRL;FaZ*{vZ|s7Lyer SJ_6|*lT{%i2DTmm0002pX#fcT 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}")