Bismillah Fix

This commit is contained in:
Zakiaass 2024-03-21 19:01:59 +07:00
parent 28bea58fe7
commit 7df4353875
8 changed files with 26 additions and 92 deletions

View File

@ -35,7 +35,7 @@ public function login(Request $request)
$userCount = User::where('username', $request->username)->count(); $userCount = User::where('username', $request->username)->count();
if ($validator->fails() || $userCount == 0) { if ($validator->fails() || $userCount == 0) {
// Tambahkan pesan error khusus jika username tidak terdaftar // jika username tidak terdaftar
$validator->errors()->add('username', 'Akun tidak terdaftar.'); $validator->errors()->add('username', 'Akun tidak terdaftar.');
return redirect('/login') return redirect('/login')
@ -43,7 +43,7 @@ public function login(Request $request)
->withInput(); ->withInput();
} }
$remember = true; // Sesuaikan dengan kebutuhan Anda $remember = true;
if (Auth::attempt(['username' => $request->username, 'password' => $request->password], $remember)) { if (Auth::attempt(['username' => $request->username, 'password' => $request->password], $remember)) {
$user = Auth::user(); $user = Auth::user();

View File

@ -12,33 +12,6 @@ class CriteriaController extends Controller
* Display a listing of the resource. * 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) public function index(Request $request)
{ {
if ($request->has('search')) { if ($request->has('search')) {
@ -104,11 +77,6 @@ public function edit(string $id)
*/ */
public function update(Request $request, 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([ $validatedData = $request->validate([
'nama' => 'required|string', 'nama' => 'required|string',
'prioritas' => 'required|integer', 'prioritas' => 'required|integer',

View File

@ -109,11 +109,6 @@ public function edit(string $id)
*/ */
public function update(Request $request, 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([ $validatedData = $request->validate([
'name' => 'required', 'name' => 'required',
'username' => 'required', 'username' => 'required',

View File

@ -27,14 +27,18 @@ public function calculateBobotKriteria()
$bobotKriteria = []; $bobotKriteria = [];
foreach ($criterias as $key => $criteria) { foreach ($criterias as $criteria) {
$sum = 0; $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 // Iterasi untuk setiap nilai prioritas pada kriteria
for ($i = $key; $i < $totalKriteria; $i++) { for (; $i < $totalKriteria; $i++) {
// Hitung nilai SMARTER // Hitung nilai SMARTER
$sum += 1 / ($i + 1); $sum += 1 / ($i + 1);
} }
// Hitung bobot kriteria menggunakan rumus SMARTER ROC
$bobot = $sum / $totalKriteria; $bobot = $sum / $totalKriteria;
$bobotKriteria[$criteria->nama] = $bobot; $bobotKriteria[$criteria->nama] = $bobot;
@ -54,15 +58,18 @@ public function calculateBobotSubKriteria()
// Ambil semua sub-kriteria untuk kriteria ini // Ambil semua sub-kriteria untuk kriteria ini
$subcriterias = SubCriteria::where('criteria_id', $criteria->id)->get(); $subcriterias = SubCriteria::where('criteria_id', $criteria->id)->get();
$totalSubKriteria = $subcriterias->count(); $totalSubKriteria = count($subcriterias);
$bobotSubKriteria = []; $bobotSubKriteria = [];
// Hitung bobot untuk setiap sub-kriteria foreach ($subcriterias as $subcriteria) {
foreach ($subcriterias as $key => $subcriteria) {
$sum = 0; $sum = 0;
$prioritas = $subcriteria->prioritas;
$i = $prioritas - 1;
// Iterasi untuk setiap nilai prioritas pada kriteria // Iterasi untuk setiap nilai prioritas pada kriteria
for ($i = $key; $i < $totalSubKriteria; $i++) { for (; $i < $totalSubKriteria; $i++) {
// Hitung nilai SMARTER // Hitung nilai SMARTER
$sum += 1 / ($i + 1); $sum += 1 / ($i + 1);
} }
@ -90,7 +97,7 @@ public function penilaian()
public function transformasiNilai(Request $request) 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'); $subcriteriaData = $request->input('subcriteria');
// Inisialisasi variabel untuk menyimpan nilai hasil transformasi // Inisialisasi variabel untuk menyimpan nilai hasil transformasi
@ -137,10 +144,10 @@ public function nilaiUtility(Request $request)
// Periksa apakah penyebut bernilai nol // Periksa apakah penyebut bernilai nol
$denominator = $maxBobot - $minBobot; $denominator = $maxBobot - $minBobot;
if ($denominator == 0) { if ($denominator == 0) {
// Tangani jika penyebut bernilai nol // Jika penyebut bernilai nol
$nilaiUtility[$extracurricularId][$criteriaId] = 0; // Atau nilai lainnya sesuai kebutuhan $nilaiUtility[$extracurricularId][$criteriaId] = 0;
} else { } else {
// Lakukan perhitungan nilai utility // Perhitungan nilai utility
$utility = (($bobot - $minBobot) / $denominator); $utility = (($bobot - $minBobot) / $denominator);
$nilaiUtility[$extracurricularId][$criteriaId] = number_format($utility, 2, '.', ''); $nilaiUtility[$extracurricularId][$criteriaId] = number_format($utility, 2, '.', '');
} }
@ -184,13 +191,13 @@ public function nilaiAkhir(Request $request)
$totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', ''); $totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', '');
} }
// Membuat koleksi dari nilai akhir yang bersifat multidimenasi menjadi satu dimensi
$totalAkhir = collect($nilaiAkhir)->flatten()->sum(); $totalAkhir = collect($nilaiAkhir)->flatten()->sum();
// Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view // Ambil semua kriteria dan ekstrakurikuler untuk ditampilkan di view
$criterias = Criteria::all(); $criterias = Criteria::all();
$extracuricullars = Extracuricullar::all(); $extracuricullars = Extracuricullar::all();
// Tampilkan hasil perhitungan nilai akhir ke dalam view
return view('perhitungan.nilai-akhir', compact('criterias', 'extracuricullars', 'nilaiAkhir', 'totalNilaiAkhir')); 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, '.', ''); $totalNilaiAkhir[$extracurricularId] = number_format($totalNilai, 2, '.', '');
// Hitung persentase total nilai akhir // Hitung persentase total nilai akhir
$totalPersen = ($totalNilai ) * 100; // di sini 100 adalah jumlah maksimum bobot $totalPersen = ($totalNilai ) * 100;
$totalNilaiAkhirPersen[$extracurricularId] = number_format($totalPersen, 0, '.', ''); $totalNilaiAkhirPersen[$extracurricularId] = number_format($totalPersen, 0, '.', '');
// Simpan peringkat // Simpan peringkat

View File

@ -13,40 +13,6 @@ class SubCriteriaController extends Controller
* Display a listing of the resource. * 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) public function index(Request $request)
{ {
if ($request->has('search')) { if ($request->has('search')) {

View File

@ -79,22 +79,20 @@ public function updateProfilePicture(Request $request)
'profile_picture' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', '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(); $user = Auth::user();
// Hapus gambar lama jika ada // menghapus foto profil lama jika ada
if ($user->profile_picture) { if ($user->profile_picture) {
Storage::disk('public')->delete($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')) { if ($request->hasFile('profile_picture')) {
$imagePath = $request->file('profile_picture')->store('profile_pictures', 'public'); $imagePath = $request->file('profile_picture')->store('profile_pictures', 'public');
$user->profile_picture = $imagePath; $user->profile_picture = $imagePath;
$user->save(); $user->save();
} }
// Redirect back or return a response
return redirect()->route('user-profile')->with('success', 'Foto Profile Berhasil Diperbarui!'); return redirect()->route('user-profile')->with('success', 'Foto Profile Berhasil Diperbarui!');
} }

Binary file not shown.

View File

@ -63,8 +63,8 @@
</option> </option>
@foreach ($criteria->subCriteria as $subCriteria) @foreach ($criteria->subCriteria as $subCriteria)
<option value="{{ $subCriteria->id }}"> <option value="{{ $subCriteria->id }}">
{{ $subCriteria->prioritas }} {{ $subCriteria->nama }}
({{ $subCriteria->nama }})</option> ({{ $subCriteria->deskripsi }})</option>
@endforeach @endforeach
</select> </select>
@error("subcriteria.{$extracuricullar->id}.{$criteria->id}") @error("subcriteria.{$extracuricullar->id}.{$criteria->id}")