#{{ $index + 1 }}
{{ $q->kode_pertanyaan }}
{{ $q->kategori }}
@php
$savedVal = $jawabanSaved[$q->id_kuesioner] ?? null;
$savedOpsi = $jawabanOpsiSaved[$q->id_kuesioner] ?? null;
@endphp
{{-- 1. TIPE: RADIO --}}
@if ($q->tipe_jawaban == 'radio')
@if ($q->opsiJawaban->isNotEmpty())
@foreach ($q->opsiJawaban->sortBy('urutan') as $opt)
@php
$isChecked = ($savedOpsi == $opt->id_opsi) || ($savedVal == $opt->id_opsi) || ($savedVal == $opt->teks_opsi);
@endphp
@endforeach
@else
{{-- Fallback jika opsi belum ada di DB --}}
is_wajib ? 'required' : '' }} placeholder="Pilihan jawaban Anda..." class="w-full px-4 py-3 rounded-xl bg-slate-900 border border-slate-800 text-white placeholder-slate-500 focus:outline-none focus:border-indigo-500 text-sm transition-all">
@endif
{{-- 2. TIPE: CHECKBOX (MULTI-SELECT / PILIHAN BANYAK) --}}
@elseif ($q->tipe_jawaban == 'checkbox')
Pilihan Banyak (Anda dapat memilih lebih dari satu jawaban yang sesuai)
@php
$savedCheckbox = [];
if (!empty($savedVal)) {
if (is_array($savedVal)) {
$savedCheckbox = $savedVal;
} elseif (str_starts_with(trim($savedVal), '[') && str_ends_with(trim($savedVal), ']')) {
$decoded = json_decode($savedVal, true);
$savedCheckbox = is_array($decoded) ? $decoded : [$savedVal];
} else {
$savedCheckbox = array_map('trim', explode(',', $savedVal));
}
}
// Ambil opsi dari database atau gunakan daftar standar jika kosong
$checkboxOptions = [];
if ($q->opsiJawaban->isNotEmpty()) {
foreach ($q->opsiJawaban->sortBy('urutan') as $opt) {
$checkboxOptions[] = [
'id' => $opt->id_opsi,
'text' => $opt->teks_opsi
];
}
} elseif ($q->kode_pertanyaan == 'METBEL_09' || str_contains(strtolower($q->teks_pertanyaan), 'mencari pekerjaan')) {
$checkboxOptions = [
['id' => '1', 'text' => 'Melalui iklan di koran/majalah, brosur'],
['id' => '2', 'text' => 'Melamar ke perusahaan/instansi secara langsung tanpa mengetahui lowongan'],
['id' => '3', 'text' => 'Pergi ke bursa kerja / Job Fair'],
['id' => '4', 'text' => 'Mencari lewat internet / portal lowongan online / media sosial (LinkedIn, Jobstreet, dll.)'],
['id' => '5', 'text' => 'Dihubungi langsung oleh perusahaan / pemberi kerja'],
['id' => '6', 'text' => 'Menghubungi Kemenakertrans / Disnaker'],
['id' => '7', 'text' => 'Menghubungi agen tenaga kerja komersial/swasta'],
['id' => '8', 'text' => 'Mendapatkan informasi dari Pusat Karir / Tracer Study Universitas Cenderawasih'],
['id' => '9', 'text' => 'Menghubungi ikatan alumni / sesama alumni'],
['id' => '10', 'text' => 'Membangun jejaring (networking) sejak masih kuliah'],
['id' => '11', 'text' => 'Melalui relasi (misalnya orang tua, kawan, dosen, dll.)'],
['id' => '12', 'text' => 'Membangun bisnis / usaha mandiri'],
['id' => '13', 'text' => 'Melalui penempatan kerja atau program magang'],
['id' => '14', 'text' => 'Bekerja di tempat yang sama dengan tempat kerja semasa kuliah'],
];
} elseif ($q->kode_pertanyaan == 'METBEL_14' || str_contains(strtolower($q->teks_pertanyaan), 'tidak sesuai') || str_contains(strtolower($q->teks_pertanyaan), 'mengapa anda mengambil')) {
$checkboxOptions = [
['id' => '1', 'text' => 'Pertanyaan tidak sesuai; pekerjaan saya saat ini sudah sesuai dengan bidang pendidikan'],
['id' => '2', 'text' => 'Saya belum mendapatkan pekerjaan yang lebih sesuai dengan bidang ilmu'],
['id' => '3', 'text' => 'Di pekerjaan ini saya memperoleh pendapatan / gaji yang lebih tinggi'],
['id' => '4', 'text' => 'Di pekerjaan ini lebih menjamin prospek karir dan jenjang promosi yang baik'],
['id' => '5', 'text' => 'Saya lebih menyukai / berminat bekerja di bidang ini'],
['id' => '6', 'text' => 'Lokasi tempat kerja lebih dekat dengan tempat tinggal / keluarga'],
['id' => '7', 'text' => 'Fleksibilitas waktu kerja yang lebih baik'],
['id' => '8', 'text' => 'Pekerjaan ini lebih aman, stabil, dan terjamin'],
['id' => '9', 'text' => 'Saya dipromosikan ke posisi ini'],
['id' => '10', 'text' => 'Mendapat tawaran kerja langsung dari perusahaan / instansi'],
];
}
@endphp
@if (!empty($checkboxOptions))
@foreach ($checkboxOptions as $opt)
@php
$optId = $opt['id'];
$optText = $opt['text'];
$isCbChecked = in_array((string)$optId, array_map('strval', $savedCheckbox))
|| in_array($optText, $savedCheckbox)
|| in_array((string)$loop->iteration, array_map('strval', $savedCheckbox));
if (!$isCbChecked && !empty($savedVal) && is_string($savedVal)) {
$isCbChecked = str_contains($savedVal, $optText);
}
@endphp
@endforeach
{{-- Input Tambahan Lainnya --}}
Lainnya:
@else
is_wajib ? 'required' : '' }} placeholder="Tuliskan jawaban-jawaban Anda (pisahkan dengan koma jika lebih dari satu)..." class="w-full px-4 py-3 rounded-xl bg-slate-900 border border-slate-800 text-white placeholder-slate-500 focus:outline-none focus:border-indigo-500 text-sm transition-all">
@endif
{{-- 3. TIPE: SKALA 1 - 5 --}}
@elseif ($q->tipe_jawaban == 'skala_1_5')
@if ($q->opsiJawaban->isNotEmpty())
@foreach ($q->opsiJawaban->sortBy('urutan') as $opt)
@php
$scaleVal = $opt->nilai_angka ?? $opt->id_opsi;
$isScaleChecked = ($savedOpsi == $opt->id_opsi) || ($savedVal == $scaleVal) || ($savedVal == $opt->teks_opsi);
@endphp
@endforeach
@else
@php
$scaleLabels = [
'1' => 'Sangat Rendah',
'2' => 'Rendah',
'3' => 'Cukup',
'4' => 'Tinggi',
'5' => 'Sangat Tinggi'
];
@endphp
@foreach ($scaleLabels as $skalaVal => $skalaLabel)
@php
$isScaleChecked = ($savedVal == $skalaVal) || ($savedVal == $skalaLabel);
@endphp
@endforeach
@endif
{{-- 4. TIPE: NUMBER --}}
@elseif ($q->tipe_jawaban == 'number')
is_wajib ? 'required' : '' }} placeholder="Masukkan angka (Contoh: 3, 4000000)..." class="w-full px-4 py-3 rounded-xl bg-slate-900 border border-slate-800 text-white placeholder-slate-500 focus:outline-none focus:border-indigo-500 text-sm font-mono transition-all">
{{-- 5. TIPE: TEXT / TEXTAREA --}}
@elseif ($q->tipe_jawaban == 'text')
@if (str_contains(strtolower($q->kode_pertanyaan), 'saran') || str_contains(strtolower($q->kode_pertanyaan), 'krisar') || str_contains(strtolower($q->teks_pertanyaan), 'saran') || str_contains(strtolower($q->teks_pertanyaan), 'kritik') || strlen($q->teks_pertanyaan) > 60)
@else
is_wajib ? 'required' : '' }} placeholder="Masukkan jawaban Anda..." class="w-full px-4 py-3 rounded-xl bg-slate-900 border border-slate-800 text-white placeholder-slate-500 focus:outline-none focus:border-indigo-500 text-sm transition-all">
@endif
{{-- FALLBACK LAINNYA --}}
@else
is_wajib ? 'required' : '' }} placeholder="Masukkan jawaban..." class="w-full px-4 py-3 rounded-xl bg-slate-900 border border-slate-800 text-white placeholder-slate-500 focus:outline-none focus:border-indigo-500 text-sm transition-all">
@endif
Belum ada pertanyaan kuesioner tracer study yang aktif.