[ "Mencari tahu tokonya apakah ada di suatu tempat yang saya ketahui" => 'K', "Tanya arah jalan kepada teman" => 'A', "Menulis petunjuk jalan" => 'R', "Menggunakan Peta atau Layanan Maps" => 'V' ], 2 => [ "Melihat diagramnya" => 'V', "Mendengarkan penjelasan orang tersebut" => 'A', "Membaca kata-kata yang tampil di video" => 'R', "Melakukan tindakan apa yang dilakukan oleh orang dalam video" => 'K' ], 3 => [ "Melihat hal-hal menarik pada tur tersebut" => 'K', "Menggunakan peta atau layanan maps dan melihat lokasi yang akan dituju" => 'V', "Membaca detail tur pada dokumen atau rencana tur" => 'R', "Berdiskusi dengan teman atau penyelenggara tur yang merencanakan tur tersebut" => 'A' ], 4 => [ "Saya akan menerapkan ilmu yang saya punya pada dunia kerja nanti" => 'K', "Saya akan bercakap dengan rekan kerja saat berdiskusi" => 'A', "Saya akan menggunakan gambar atau video untuk menunjukkan pekerjaan saya kepada rekan kerja" => 'V', "Saya akan menerapkan kata-kata yang baik saat mengirimkan pesan kepada rekan kerja" => 'R' ], 5 => [ "Saya suka berdiskusi" => 'A', "Saya suka melihat pola dari apa yang saya pelajari" => 'V', "Saya suka mencari contoh dari apa yang saya pelajari" => 'K', "Saya suka membaca buku atau artikel" => 'R' ], 6 => [ "Melakukan riset dan perbandingan langsung di lokasi" => 'K', "Membaca brosur yang berisi daftar barang yang saya cari" => 'R', "Melihat ulasan di YouTube atau Media Sosial" => 'V', "Berdiskusi dengan pakar" => 'A' ], 7 => [ "Melihat teman saya bermain catur dan memperhatikannya" => 'K', "Mendengarkan penjelasan ahli tentang bagaimana aturan permainan" => 'A', "Melihat tutorial di YouTube" => 'V', "Membaca instruksi tertulis dari permainan catur" => 'R' ], 8 => [ "Memberi saya buku atau data tentang penyakit jantung yang saya alami" => 'R', "Menggunakan alat peraga guna menjelaskan apa masalah jantung yang saya alami" => 'K', "Saya ingin dokter menjelaskan tentang penyakit saya" => 'A', "Menunjukkan grafik dan statistik dari penyakit jantung yang saya alami" => 'V' ], 9 => [ "Membaca instruksi yang muncul saat saya menjalankan aplikasi tersebut" => 'R', "Berdiskusi dengan seseorang yang paham fungsi dan kegunaan dari aplikasi tersebut" => 'A', "Saya langsung mencoba berbagai tombol pada aplikasi tersebut" => 'K', "Saya melihat gambar atau video yang menjelaskan tentang aplikasi tersebut" => 'V' ], 10 => [ "Video pendek atau video panjang" => 'K', "Interaksi pada desain yang menarik" => 'V', "Artikel atau buku digital" => 'R', "Radio atau Podcast" => 'A' ], 11 => [ "Diagram tahapan proyek" => 'V', "Laporan proyek yang sedang dikerjakan" => 'R', "Kesempatan untuk membahas proyek dengan manajer proyek" => 'A', "Contoh nyata terhadap proyek sejenis yang sukses" => 'K' ], 12 => [ "Bertanya kepada seseorang mengenai fitur dan apa yang bisa kamera tersebut lakukan" => 'A', "Membaca buku instruksi pada kotak kamera tentang bagaimana penggunaan yang benar" => 'R', "Melihat ulasan dari seseorang yang membahas mengenai kamera tersebut" => 'V', "Mengambil langsung beberapa foto dan membandingkannya untuk mendapat hasil terbaik" => 'K' ], 13 => [ "Demonstrasi, model atau praktek langsung" => 'K', "Tanya jawab dan berdiskusi" => 'A', "Buku, artikel, novel atau bahan bacaan" => 'R', "Grafik, diagram, peta atau video" => 'V' ], 14 => [ "Mencontohkan dari apa yang saya lakukan" => 'K', "Mencatat hasil yang saya peroleh" => 'R', "Seseorang yang mengatakan umpan balik langsung kepada saya" => 'A', "Menggunakan diagram atau video hasil dari apa yang saya lakukan" => 'V' ], 15 => [ "Menonton video atau rekaman ulasan dari seseorang yang mengunggahnya" => 'K', "Berdiskusi dengan pemilik langsung di lokasi" => 'A', "Membaca deskripsi mengenai fitur dan fasilitas yang diberikan" => 'R', "Menggunakan layanan maps untuk mencari lokasi" => 'V' ], 16 => [ "Video tutorial yang menunjukkan setiap tahapan perakitan" => 'V', "Saran dari seseorang yang berhasil melakukannya" => 'A', "Petunjuk tertulis yang disertakan dalam paket pembelian" => 'R', "Mencoba merakitnya langsung secara perlahan" => 'K' ] ]; $visual = 0; $auditory = 0; $readwrite = 0; $kinesthetic = 0; for ($i = 1; $i <= 16; $i++) { $answer = $request->input("soal{$i}"); if ($answer && isset($mappings[$i]) && in_array($answer, $mappings[$i])) { $category = array_search($answer, $mappings[$i]); switch ($answer) { case 'V': $visual++; break; case 'A': $auditory++; break; case 'R': $readwrite++; break; case 'K': $kinesthetic++; break; } } } $total_questions = 16; $visual_percentage = ($visual / $total_questions) * 100; $auditory_percentage = ($auditory / $total_questions) * 100; $readwrite_percentage = ($readwrite / $total_questions) * 100; $kinesthetic_percentage = ($kinesthetic / $total_questions) * 100; $percentages = [ 'Visual' => $visual_percentage, 'Auditory' => $auditory_percentage, 'Read/Write' => $readwrite_percentage, 'Kinesthetic' => $kinesthetic_percentage ]; arsort($percentages); $sorted_percentages = array_values($percentages); $result = 'Multimodal'; $id_style = 1; if ($sorted_percentages[0] - $sorted_percentages[1] > 10) { foreach ($percentages as $category => $percentage) { if ($percentage > 40) { $result = $category; switch ($category) { case 'Visual': $id_style = 2; break; case 'Auditory': $id_style = 3; break; case 'Read/Write': $id_style = 4; break; case 'Kinesthetic': $id_style = 5; break; } break; } } } // $input_data = [ // 'Visual' => $visual, // 'Auditory' => $auditory, // 'Read/Write' => $readwrite, // 'Kinesthetic' => $kinesthetic // ]; // $process = new Process([ // 'C:\Users\USER\AppData\Local\Programs\Python\Python312\python.exe', // base_path('resources\scripts\predict_xgb.py'), // json_encode($input_data) // ]); // $process->run(); // if (!$process->isSuccessful()) { // throw new ProcessFailedException($process); // } // $output = json_decode($process->getOutput(), true); // $result = $output['Result']; // Perbarui atau buat data berdasarkan email KuesionerLearningStyle::updateOrCreate( ['email' => Auth::user()->email ?? 'variousra@gmail.com'], [ 'visual' => $visual, 'auditory' => $auditory, 'readwrite' => $readwrite, 'kinesthetic' => $kinesthetic, 'id_lstyle' => $id_style, 'result' => $result, ] ); return redirect()->route('kuesioner-mai')->with('success', 'Jawaban kuesioner berhasil disimpan!'); } }