Files
Randa Firman Putra 700a153b86 again n again
2025-12-04 22:15:37 +07:00

73 lines
3.6 KiB
TypeScript

'use client';
import { useState } from "react";
import MKBelumDiambilChart from "@/components/chartsDashboard/MKBelumDiambilChart";
import FilterTahunAngkatan from "@/components/FilterTahunAngkatan";
import TabelMKBelumDiambil from "@/components/chartstable/tabelmkbelumdiambil";
export default function MKBelumDiambilDetailPage() {
const [selectedYear, setSelectedYear] = useState<string>("all");
const [selectedJenisMK, setSelectedJenisMK] = useState<string>("all");
return (
<div className="min-h-screen bg-gray-50 dark:bg-[var(--background)] p-4">
<div className="container mx-auto max-w-7xl space-y-2">
{/* Filter Section */}
<FilterTahunAngkatan
selectedYear={selectedYear}
onYearChange={setSelectedYear}
/>
{/* Chart Section */}
<div className="grid grid-cols-1 lg:grid-cols-1 gap-6">
<MKBelumDiambilChart
selectedYear={selectedYear}
height="h-[400px] sm:h-[400px] lg:h-[400px]"
showDetailButton={false}
/>
</div>
{/* Tabel Section */}
<TabelMKBelumDiambil
selectedYear={selectedYear}
selectedJenisMK={selectedJenisMK}
onJenisMKChange={setSelectedJenisMK}
/>
{/* Information Section */}
<div className="bg-white dark:bg-slate-900 rounded-lg shadow-sm p-6">
<h2 className="text-xl font-semibold text-gray-900 dark:text-white mb-4">
Informasi Visualisasi
</h2>
<div className="grid md:grid-cols-1 gap-6">
<div>
<h3 className="font-medium text-gray-900 dark:text-white mb-2">
Grafik dan Tabel Mata Kuliah Belum Diambil
</h3>
<ul className="text-sm text-gray-600 dark:text-gray-300 space-y-1">
<li> Menampilkan data mahasiswa yang masih memiliki mata kuliah yang belum diambil atau belum lulus</li>
<li> Grafik stacked bar horizontal menunjukkan jumlah MK belum diambil per jenis MK per tahun angkatan</li>
<li> Mata kuliah dikategorikan menjadi tiga jenis:</li>
<li className="ml-4">- <strong className="text-blue-600 dark:text-blue-400">Wajib</strong>: Mata kuliah yang wajib diambil oleh semua mahasiswa</li>
<li className="ml-4">- <strong className="text-green-600 dark:text-green-400">Pilihan Wajib</strong>: Mata kuliah pilihan yang wajib diambil minimal satu dari kelompoknya</li>
<li className="ml-4">- <strong className="text-amber-600 dark:text-amber-400">Pilihan</strong>: Mata kuliah pilihan bebas</li>
<li> Mata kuliah dianggap <strong>belum diambil</strong> jika:</li>
<li className="ml-4">- Mahasiswa belum pernah mengambil MK tersebut, ATAU</li>
<li className="ml-4">- Mahasiswa mendapat nilai E (gagal/tidak lulus)</li>
<li> Tabel detail menampilkan daftar mahasiswa dengan:</li>
<li className="ml-4">- Informasi dasar mahasiswa (NIM, nama, angkatan)</li>
<li className="ml-4">- Total SKS yang sudah lulus (nilai != E)</li>
<li className="ml-4">- Jumlah MK yang belum diambil</li>
<li className="ml-4">- Dropdown detail MK belum diambil (kode MK, nama MK, jenis MK, SKS, semester)</li>
<li> Filter tersedia untuk tahun angkatan dan jenis MK untuk analisis lebih spesifik</li>
<li> Data dapat digunakan untuk monitoring progres akademik dan identifikasi mahasiswa yang perlu bimbingan</li>
</ul>
</div>
</div>
</div>
</div>
</div>
);
}