route('login')->with('error', 'Silakan login terlebih dahulu.'); } $user = User::where('email', Auth::user()->email)->first(); Log::info('Input dari Form', $request->all()); $answers = []; for ($i = 1; $i <= 52; $i++) { $answers["soal{$i}"] = $request->input("soal{$i}", 0); } Log::info('Answers Array', $answers); $indicator_scores = [ // Pengetahuan Kognitif (Knowledge of Cognition) 'declarative_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal5', 'soal10', 'soal12', 'soal16', 'soal17', 'soal20', 'soal32', 'soal46']))), 'procedural_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal3', 'soal14', 'soal27', 'soal33']))), 'conditional_knowledge' => array_sum(array_intersect_key($answers, array_flip(['soal15', 'soal18', 'soal26', 'soal29', 'soal35']))), // Pengendalian Kognitif (Regulation of Cognition) 'planning' => array_sum(array_intersect_key($answers, array_flip(['soal4', 'soal6', 'soal8', 'soal22', 'soal23', 'soal42', 'soal45']))), 'information_management' => array_sum(array_intersect_key($answers, array_flip(['soal9', 'soal13', 'soal30', 'soal31', 'soal37', 'soal39', 'soal41', 'soal43', 'soal47', 'soal48']))), 'monitoring' => array_sum(array_intersect_key($answers, array_flip(['soal1', 'soal2', 'soal11', 'soal21', 'soal28', 'soal34', 'soal49']))), 'debugging' => array_sum(array_intersect_key($answers, array_flip(['soal25', 'soal40', 'soal44', 'soal51', 'soal52']))), 'evaluation' => array_sum(array_intersect_key($answers, array_flip(['soal7', 'soal19', 'soal24', 'soal36', 'soal38', 'soal50']))), ]; Log::info('Indicator Scores', $indicator_scores); $km_total = $indicator_scores['declarative_knowledge'] + $indicator_scores['procedural_knowledge'] + $indicator_scores['conditional_knowledge']; $rm_total = $indicator_scores['planning'] + $indicator_scores['information_management'] + $indicator_scores['monitoring'] + $indicator_scores['debugging'] + $indicator_scores['evaluation']; $km_class = ($km_total >= 63) ? 'high' : (($km_total >= 42) ? 'med' : 'low'); $rm_class = ($rm_total >= 132) ? 'high' : (($rm_total >= 88) ? 'med' : 'low'); $lv_meta = (($rm_class == 'high' && ($km_class == 'high' || $km_class == 'med')) || ($rm_class == 'med' && ($km_class == 'high' || $km_class == 'med'))) ? 2 : 1; $category = 4; // Default switch (true) { case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'low'): $category = 1; break; case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'med'): $category = 2; break; case ($lv_meta == 1 && $km_class == 'low' && $rm_class == 'high'): $category = 3; break; case ($lv_meta == 1 && $km_class == 'mid' && $rm_class == 'low'): $category = 4; break; case ($lv_meta == 2 && $km_class == 'mid' && $rm_class == 'mid'): $category = 5; break; case ($lv_meta == 2 && $km_class == 'mid' && $rm_class == 'high'): $category = 6; break; case ($lv_meta == 2 && $km_class == 'high' && $rm_class == 'mid'): $category = 7; break; case ($lv_meta == 2 && $km_class == 'high' && $rm_class == 'high'): $category = 8; break; } if ($user) { $user->update(['category_meta' => $category]); } $kuesionerls = KuesionerLearningStyle::where('email', Auth::user()->email)->first(); $kuesionermeta = KuesionerMetakognitif::where('category', $user->category_meta)->first(); Log::info('Hasil Kuesioner MAI', [ 'km_total' => $km_total, 'rm_total' => $rm_total, 'km_class' => $km_class, 'rm_class' => $rm_class, 'lv_meta' => $lv_meta, 'category' => $category, ]); return view('main.page.kuesioner.kuesioner_hasil', compact('kuesionerls', 'kuesionermeta')); } }