@php
// Ambil parameter
// Prioritaskan variabel yang dikirim, kemudian request, lalu default
$program = $program ?? request('program', 'sarjana');
$kdprodi = $kdprodi ?? request('kdprodi', '');
// Tentukan nama route untuk redirect
$routeName = ($program == 'sarjana') ? 'program-sarjana' : 'program-diploma-tiga';
// Tangani filter dan reset
if (request()->has('filter')) {
$url = route($routeName, [
'program' => $program,
'kdprodi' => request('filterprogram')
]);
header("Location: " . $url);
exit();
} elseif (request()->has('reset')) {
$url = route($routeName, [
'program' => $program
]);
header("Location: " . $url);
exit();
}
// Bangun kondisi query
$kdprodiCondition = $kdprodi ? "KodeProdi = '$kdprodi' and " : "";
// Ambil label tahun
$ts2 = date('Y') - 2;
$ts3 = date('Y') - 3;
$ts4 = date('Y') - 4;
$labelts_a = 'TS-2 (' . ($ts2 - 1) . '-' . $ts2 . ')';
$labelts_b = 'TS-3 (' . ($ts3 - 1) . '-' . $ts3 . ')';
$labelts_c = 'TS-4 (' . ($ts4 - 1) . '-' . $ts4 . ')';
// Query data untuk setiap tahun
// Disesuaikan untuk skema Laravel: tabel 'students' digabung (join) dengan 'job_searches'
// Nilai2 = Total Lulusan (Jumlah mahasiswa)
// Untuk logika waktu tunggu:
// Diploma (D3): <3 bulan, 3-6 bulan, >6 bulan
// Sarjana (S1): <6 bulan, 6-18 bulan, >18 bulan
if ($program == 'sarjana') {
// Logika Sarjana
// Nilai4: < 6 bulan
// Nilai5: 6 <= x <= 18 bulan
// Nilai6: > 18 bulan
$caseNilai4 = "WHEN js.bulan_sebelum_lulus > 0 OR (js.bulan_setelah_lulus IS NOT NULL AND js.bulan_setelah_lulus < 6) THEN 1";
$caseNilai5 = "WHEN js.bulan_setelah_lulus >= 6 AND js.bulan_setelah_lulus <= 18 THEN 1";
$caseNilai6 = "WHEN js.bulan_setelah_lulus > 18 THEN 1";
} else {
// Logika Diploma (Default)
// Nilai4: < 3 bulan
// Nilai5: 3 <= x <= 6 bulan
// Nilai6: > 6 bulan
$caseNilai4 = "WHEN js.bulan_sebelum_lulus > 0 OR (js.bulan_setelah_lulus IS NOT NULL AND js.bulan_setelah_lulus < 3) THEN 1";
$caseNilai5 = "WHEN js.bulan_setelah_lulus >= 3 AND js.bulan_setelah_lulus <= 6 THEN 1";
$caseNilai6 = "WHEN js.bulan_setelah_lulus > 6 THEN 1";
}
$queryTemplate = "
SELECT
COUNT(s.id) as Nilai2,
COALESCE(SUM(CASE
$caseNilai4
ELSE 0
END), 0) as Nilai4,
COALESCE(SUM(CASE
$caseNilai5
ELSE 0
END), 0) as Nilai5,
COALESCE(SUM(CASE
$caseNilai6
ELSE 0
END), 0) as Nilai6
FROM students s
LEFT JOIN job_searches js ON s.id = js.student_id
WHERE %s s.tahun_lulus = ?
";
$prodiSql = $kdprodi ? "s.kode_prodi = '$kdprodi' AND " : "";
try {
$nilaits2 = DB::selectOne(sprintf($queryTemplate, $prodiSql), [$ts2]);
$nilaits3 = DB::selectOne(sprintf($queryTemplate, $prodiSql), [$ts3]);
$nilaits4 = DB::selectOne(sprintf($queryTemplate, $prodiSql), [$ts4]);
} catch (\Exception $e) {
// Fallback
$nilaits2 = (object) ['Nilai2' => 0, 'Nilai3' => 0, 'Nilai4' => 0, 'Nilai5' => 0, 'Nilai6' => 0];
$nilaits3 = (object) ['Nilai2' => 0, 'Nilai3' => 0, 'Nilai4' => 0, 'Nilai5' => 0, 'Nilai6' => 0];
$nilaits4 = (object) ['Nilai2' => 0, 'Nilai3' => 0, 'Nilai4' => 0, 'Nilai5' => 0, 'Nilai6' => 0];
}
// Logika filter program
if ($program == 'sarjana') {
$filterprod = "and KodeID not in ('57401','14201','93402')";
$header_wt1 = "WT < 6 bulan";
$header_wt2 = "6 <= WT <= 18 bulan";
$header_wt3 = "WT > 18 bulan";
} else {
$filterprod = "and KodeID in ('57401','14201','93402')";
$header_wt1 = "WT < 3 bulan";
$header_wt2 = "3 <= WT <= 6 bulan";
$header_wt3 = "WT > 6 bulan";
}
@endphp
Data Waktu Tunggu Kerja Lulusan - Tracer Study UNMUH JEMBER
@include('partials.navbar')
Data Jumlah Lulusan Terlacak yang Bekerja berdasarkan Tingkat/Ukuran Waktu
Tunggu
Kerja/Berwirausaha
Lulusan Terlacak berdasarkan Waktu Tunggu Kerja Lulusan
Statistik waktu tunggu kerja lulusan Universitas Muhammadiyah Jember
|
Tahun Lulus
|
Jumlah Lulusan
|
Jumlah Lulusan yang Terlacak
|
Jumlah Lulusan Terlacak dengan Waktu Tunggu Kerja Mendapatkan
Pekerjaan
|
|
{{ $header_wt1 }}
|
{{ $header_wt2 }}
|
{{ $header_wt3 }}
|
|
1 |
2 |
3 |
4 |
5 |
6 |
|
{{ $labelts_c }}
|
{{ $nilaits4->Nilai2 == 0 ? 0 : $nilaits4->Nilai2 }}
|
{{ ($nilaits4->Nilai4 + $nilaits4->Nilai5 + $nilaits4->Nilai6) == 0 ? 0 : ($nilaits4->Nilai4 + $nilaits4->Nilai5 + $nilaits4->Nilai6) }}
|
{{ $nilaits4->Nilai4 == 0 ? 0 : $nilaits4->Nilai4 }}
|
{{ $nilaits4->Nilai5 == 0 ? 0 : $nilaits4->Nilai5 }}
|
{{ $nilaits4->Nilai6 == 0 ? 0 : $nilaits4->Nilai6 }}
|
|
{{ $labelts_b }}
|
{{ $nilaits3->Nilai2 == 0 ? 0 : $nilaits3->Nilai2 }}
|
{{ ($nilaits3->Nilai4 + $nilaits3->Nilai5 + $nilaits3->Nilai6) == 0 ? 0 : ($nilaits3->Nilai4 + $nilaits3->Nilai5 + $nilaits3->Nilai6) }}
|
{{ $nilaits3->Nilai4 == 0 ? 0 : $nilaits3->Nilai4 }}
|
{{ $nilaits3->Nilai5 == 0 ? 0 : $nilaits3->Nilai5 }}
|
{{ $nilaits3->Nilai6 == 0 ? 0 : $nilaits3->Nilai6 }}
|
|
{{ $labelts_a }}
|
{{ $nilaits2->Nilai2 == 0 ? 0 : $nilaits2->Nilai2 }}
|
{{ ($nilaits2->Nilai4 + $nilaits2->Nilai5 + $nilaits2->Nilai6) == 0 ? 0 : ($nilaits2->Nilai4 + $nilaits2->Nilai5 + $nilaits2->Nilai6) }}
|
{{ $nilaits2->Nilai4 == 0 ? 0 : $nilaits2->Nilai4 }}
|
{{ $nilaits2->Nilai5 == 0 ? 0 : $nilaits2->Nilai5 }}
|
{{ $nilaits2->Nilai6 == 0 ? 0 : $nilaits2->Nilai6 }}
|
@include('partials.footer')