From 68338dc58c3144e8a5c5cce96fa34a9849cab1a7 Mon Sep 17 00:00:00 2001 From: ninikyuniarsih Date: Sun, 24 May 2026 13:17:19 +0700 Subject: [PATCH] Commit Pertama --- .gitignore | 17 + DEPLOY_EXE.md | 60 + README.md | 0 USER_INSTALL.md | 36 + build_exe.bat | 97 + build_run.log | 197 + config.py | 76 + convert_logo.py | 87 + data/dataset_distribution_comparison.png | Bin 0 -> 71031 bytes data/dataset_dummy.csv | 121 + data/dataset_scatter_comparison.png | Bin 0 -> 254583 bytes data/dataset_siswa.csv | 121 + data/dataset_smakom.csv | 301 ++ data/dataset_smakom_final.csv | 301 ++ data/dataset_smakom_final_test.csv | 61 + data/dataset_smakom_final_train.csv | 241 ++ data/paket_info.json | 0 data/student_name_catalog.json | 309 ++ db/database.py | 303 ++ db/schema.sql | 59 + gui/custom_notifications.py | 1366 +++++++ gui/login_dialog.py | 309 ++ gui/main_window.py | 4507 ++++++++++++++++++++++ gui/register_dialog.py | 392 ++ img/Logo_skripsi.ico | Bin 0 -> 46383 bytes img/Logo_skripsi.png | Bin 0 -> 75258 bytes img/logo_sekolah.ico | Bin 0 -> 80865 bytes img/logo_sekolah.png | Bin 0 -> 384788 bytes img/logo_sekolah_preview_32.png | Bin 0 -> 37249 bytes img/logo_sma.png | Bin 0 -> 350497 bytes main.py | 69 + models/data_processor.py | 104 + models/knn_classifier.py | 445 +++ models/knn_model.pkl | Bin 0 -> 55778 bytes models/trained_model.pkl | Bin 0 -> 54418 bytes redistribute_smakom_dataset.py | 283 ++ requirements.txt | 10 + scripts/plot_dataset_distribution.py | 83 + setup_db.bat | 51 + utils/helpers.py | 0 40 files changed, 10006 insertions(+) create mode 100644 .gitignore create mode 100644 DEPLOY_EXE.md create mode 100644 README.md create mode 100644 USER_INSTALL.md create mode 100644 build_exe.bat create mode 100644 build_run.log create mode 100644 config.py create mode 100644 convert_logo.py create mode 100644 data/dataset_distribution_comparison.png create mode 100644 data/dataset_dummy.csv create mode 100644 data/dataset_scatter_comparison.png create mode 100644 data/dataset_siswa.csv create mode 100644 data/dataset_smakom.csv create mode 100644 data/dataset_smakom_final.csv create mode 100644 data/dataset_smakom_final_test.csv create mode 100644 data/dataset_smakom_final_train.csv create mode 100644 data/paket_info.json create mode 100644 data/student_name_catalog.json create mode 100644 db/database.py create mode 100644 db/schema.sql create mode 100644 gui/custom_notifications.py create mode 100644 gui/login_dialog.py create mode 100644 gui/main_window.py create mode 100644 gui/register_dialog.py create mode 100644 img/Logo_skripsi.ico create mode 100644 img/Logo_skripsi.png create mode 100644 img/logo_sekolah.ico create mode 100644 img/logo_sekolah.png create mode 100644 img/logo_sekolah_preview_32.png create mode 100644 img/logo_sma.png create mode 100644 main.py create mode 100644 models/data_processor.py create mode 100644 models/knn_classifier.py create mode 100644 models/knn_model.pkl create mode 100644 models/trained_model.pkl create mode 100644 redistribute_smakom_dataset.py create mode 100644 requirements.txt create mode 100644 scripts/plot_dataset_distribution.py create mode 100644 setup_db.bat create mode 100644 utils/helpers.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..19be822 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Build files +dist/ +build/ + +# Python cache +__pycache__/ +*.pyc + +# Virtual environment +venv/ +env/ + +# VS Code +.vscode/ + +# PyInstaller +*.spec \ No newline at end of file diff --git a/DEPLOY_EXE.md b/DEPLOY_EXE.md new file mode 100644 index 0000000..5050cd7 --- /dev/null +++ b/DEPLOY_EXE.md @@ -0,0 +1,60 @@ +# Deploy ke EXE (Windows) + +## 1) Prasyarat +- Python 3.9+ terpasang +- PostgreSQL aktif dan database `db_klasifikasi` tersedia +- Dependensi bisa di-install via internet (minimal saat build pertama) + +## 2) Build EXE +Dari root project, jalankan: + +```bat +build_exe.bat +``` + +Script akan otomatis: +- install/update dependency dari `requirements.txt` +- install `pyinstaller` +- build aplikasi menjadi EXE +- menyertakan folder `data`, `models`, dan `img` + +## 3) Hasil Build +Output ada di: + +```text +dist/jurusify/ +``` + +File utama yang dijalankan: + +```text +dist/jurusify/jurusify.exe +``` + +## 4) Catatan penting +- Aplikasi ini memakai PostgreSQL (`db/database.py`). +- Saat dipindah ke komputer lain, pastikan: + - PostgreSQL terinstall + - database, user, password sesuai konfigurasi di `db/database.py` + - port/host database bisa diakses + +## 5) Build ulang +Jika ada perubahan kode, jalankan lagi `build_exe.bat`. + +## 6) Paket yang dibagikan ke user +Untuk user akhir, kirimkan: + +1. Folder aplikasi EXE: +- `dist/jurusify/` + +2. File setup database: +- `setup_db.bat` +- `db/schema.sql` + +3. Panduan user: +- `USER_INSTALL.md` + +Dengan ini user cukup: +1. Install PostgreSQL +2. Jalankan `setup_db.bat` +3. Jalankan `jurusify.exe` diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/USER_INSTALL.md b/USER_INSTALL.md new file mode 100644 index 0000000..4ed6b75 --- /dev/null +++ b/USER_INSTALL.md @@ -0,0 +1,36 @@ +# Panduan User (PostgreSQL + EXE) + +## Yang harus diberikan ke user +1. Folder hasil build EXE: +- `dist/jurusify/` + +2. File setup database: +- `setup_db.bat` +- `db/schema.sql` + +## Langkah instalasi di komputer user +1. Install PostgreSQL (versi 13+ disarankan). +2. Buka Command Prompt sebagai user biasa. +3. Masuk ke folder aplikasi, lalu jalankan: + +```bat +setup_db.bat +``` + +Catatan: +- Jika user PostgreSQL bukan `postgres`, jalankan: + +```bat +setup_db.bat nama_user_postgres +``` + +4. Setelah database selesai dibuat, jalankan: + +```text +dist/jurusify/jurusify.exe +``` + +## Penting +- Pastikan service PostgreSQL dalam keadaan running. +- Kredensial koneksi database aplikasi ada di `db/database.py`. +- Jika host/user/password berbeda, sesuaikan dulu `DB_CONFIG` di `db/database.py`, lalu build ulang EXE. diff --git a/build_exe.bat b/build_exe.bat new file mode 100644 index 0000000..aadfcc1 --- /dev/null +++ b/build_exe.bat @@ -0,0 +1,97 @@ +@echo off +setlocal + +cd /d "%~dp0" + +echo ================================================ +echo Build EXE - Sistem Klasifikasi Jurusan Siswa +echo ================================================ + +python --version >nul 2>&1 +if errorlevel 1 ( + echo [ERROR] Python tidak ditemukan di PATH. + pause + exit /b 1 +) + +python -m pip install --upgrade pip +if errorlevel 1 ( + echo [ERROR] Gagal update pip. + pause + exit /b 1 +) + +python -m pip install -r requirements.txt +if errorlevel 1 ( + echo [ERROR] Gagal install dependency dari requirements.txt. + pause + exit /b 1 +) + +python -m pip install pyinstaller +if errorlevel 1 ( + echo [ERROR] Gagal install pyinstaller. + pause + exit /b 1 +) + +echo Menutup proses jurusify.exe jika masih berjalan... +taskkill /F /IM jurusify.exe >nul 2>&1 + +echo Menyiapkan ikon logo_sekolah.ico... +python convert_logo.py + +if not exist "img\logo_sekolah.png" ( + echo [ERROR] Ikon wajib tidak ditemukan: img\logo_sekolah.png + echo [ERROR] Build dibatalkan agar EXE tidak memakai ikon default. + pause + exit /b 1 +) + +if exist build ( + rmdir /s /q build + if exist build ( + echo [ERROR] Folder build tidak bisa dihapus. Tutup aplikasi/Explorer yang sedang membuka file build lalu coba lagi. + pause + exit /b 1 + ) +) + +if exist dist ( + rmdir /s /q dist + if exist dist ( + echo [ERROR] Folder dist tidak bisa dihapus. Pastikan jurusify.exe sudah ditutup lalu coba lagi. + pause + exit /b 1 + ) +) + +if exist "SistemKlasifikasiJurusan.spec" del /q "SistemKlasifikasiJurusan.spec" +if exist "jurusify.spec" del /q "jurusify.spec" + +pyinstaller ^ + --noconfirm ^ + --clean ^ + --windowed ^ + --name "jurusify" ^ + --icon "%CD%\img\logo_sekolah.png" ^ + --add-data "data;data" ^ + --add-data "models;models" ^ + --add-data "img;img" ^ + main.py + +if errorlevel 1 ( + echo [ERROR] Build gagal. + pause + exit /b 1 +) + +echo. +echo [OK] Build selesai. +echo Hasil ada di: dist\jurusify\ +echo Jalankan: dist\jurusify\jurusify.exe +echo. +echo [PENTING] Jangan jalankan file EXE dari folder build\ +echo [PENTING] Jalankan EXE hanya dari folder dist\jurusify\ +echo. +pause diff --git a/build_run.log b/build_run.log new file mode 100644 index 0000000..315b313 --- /dev/null +++ b/build_run.log @@ -0,0 +1,197 @@ +================================================ +Build EXE - Sistem Klasifikasi Jurusan Siswa +================================================ +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +Requirement already satisfied: pip in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (26.0.1) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +Requirement already satisfied: PyQt5==5.15.10 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 1)) (5.15.10) +Requirement already satisfied: pandas==2.1.4 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 2)) (2.1.4) +Requirement already satisfied: numpy==1.24.3 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 3)) (1.24.3) +Requirement already satisfied: scikit-learn==1.3.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 4)) (1.3.2) +Requirement already satisfied: matplotlib==3.7.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 5)) (3.7.2) +Requirement already satisfied: seaborn==0.12.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 6)) (0.12.2) +Requirement already satisfied: psycopg2-binary==2.9.9 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 7)) (2.9.9) +Requirement already satisfied: joblib==1.3.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 8)) (1.3.2) +Requirement already satisfied: xlsxwriter==3.1.9 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 9)) (3.1.9) +Requirement already satisfied: openpyxl==3.1.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 10)) (3.1.2) +Requirement already satisfied: Pillow==10.4.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from -r requirements.txt (line 11)) (10.4.0) +Requirement already satisfied: PyQt5-sip<13,>=12.13 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from PyQt5==5.15.10->-r requirements.txt (line 1)) (12.17.2) +Requirement already satisfied: PyQt5-Qt5>=5.15.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from PyQt5==5.15.10->-r requirements.txt (line 1)) (5.15.2) +Requirement already satisfied: python-dateutil>=2.8.2 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pandas==2.1.4->-r requirements.txt (line 2)) (2.9.0.post0) +Requirement already satisfied: pytz>=2020.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pandas==2.1.4->-r requirements.txt (line 2)) (2025.2) +Requirement already satisfied: tzdata>=2022.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pandas==2.1.4->-r requirements.txt (line 2)) (2025.3) +Requirement already satisfied: scipy>=1.5.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from scikit-learn==1.3.2->-r requirements.txt (line 4)) (1.15.3) +Requirement already satisfied: threadpoolctl>=2.0.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from scikit-learn==1.3.2->-r requirements.txt (line 4)) (3.6.0) +Requirement already satisfied: contourpy>=1.0.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (1.3.2) +Requirement already satisfied: cycler>=0.10 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (0.12.1) +Requirement already satisfied: fonttools>=4.22.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (4.61.1) +Requirement already satisfied: kiwisolver>=1.0.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (1.4.9) +Requirement already satisfied: packaging>=20.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (25.0) +Requirement already satisfied: pyparsing<3.1,>=2.3.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from matplotlib==3.7.2->-r requirements.txt (line 5)) (3.0.9) +Requirement already satisfied: et-xmlfile in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from openpyxl==3.1.2->-r requirements.txt (line 10)) (2.0.0) +Requirement already satisfied: six>=1.5 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from python-dateutil>=2.8.2->pandas==2.1.4->-r requirements.txt (line 2)) (1.17.0) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +Requirement already satisfied: pyinstaller in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (6.19.0) +Requirement already satisfied: altgraph in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (0.17.5) +Requirement already satisfied: packaging>=22.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (25.0) +Requirement already satisfied: pefile>=2022.5.30 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (2024.8.26) +Requirement already satisfied: pyinstaller-hooks-contrib>=2026.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (2026.4) +Requirement already satisfied: pywin32-ctypes>=0.2.1 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (0.2.3) +Requirement already satisfied: setuptools>=42.0.0 in C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages (from pyinstaller) (65.5.0) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +WARNING: Ignoring invalid distribution ~cikit-learn (C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages) +Menutup proses jurusify.exe jika masih berjalan... +Menyiapkan ikon logo_sekolah.ico... +[OK] Berhasil convert: img\logo_sekolah.png -> img\logo_sekolah.ico +234 INFO: PyInstaller: 6.19.0, contrib hooks: 2026.4 +234 INFO: Python: 3.11.9 +253 INFO: Platform: Windows-10-10.0.26200-SP0 +253 INFO: Python environment: C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311 +253 INFO: wrote D:\klasifikasi_jurusan_siswa\jurusify.spec +257 INFO: Removing temporary files and cleaning cache in C:\Users\Ninik Yuniarsih\AppData\Local\pyinstaller +257 INFO: Module search paths (PYTHONPATH): +['C:\\Users\\Ninik ' + 'Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\pyinstaller.exe', + 'C:\\Users\\Ninik ' + 'Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\python311.zip', + 'C:\\Users\\Ninik ' + 'Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\DLLs', + 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib', + 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311', + 'C:\\Users\\Ninik ' + 'Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages', + 'D:\\klasifikasi_jurusan_siswa'] +663 INFO: Appending 'datas' from .spec +663 INFO: checking Analysis +663 INFO: Building Analysis because Analysis-00.toc is non existent +663 INFO: Looking for Python shared library... +663 INFO: Using Python shared library: C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\python311.dll +663 INFO: Running Analysis Analysis-00.toc +663 INFO: Target bytecode optimization level: 0 +663 INFO: Initializing module dependency graph... +663 INFO: Initializing module graph hook caches... +746 INFO: Analyzing modules for base_library.zip ... +1530 INFO: Processing standard module hook 'hook-encodings.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +1946 INFO: Processing standard module hook 'hook-heapq.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +3230 INFO: Processing standard module hook 'hook-pickle.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +4742 INFO: Caching module dependency graph... +4787 INFO: Analyzing D:\klasifikasi_jurusan_siswa\main.py +4792 INFO: Processing standard module hook 'hook-PyQt5.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +5661 INFO: Processing standard module hook 'hook-PyQt5.QtWidgets.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +8879 INFO: Processing standard module hook 'hook-PyQt5.QtCore.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +11833 INFO: Processing standard module hook 'hook-PyQt5.QtGui.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +28945 INFO: Processing standard module hook 'hook-psycopg2.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +29060 INFO: Processing standard module hook 'hook-platform.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +29095 INFO: Processing standard module hook 'hook-pandas.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +31211 INFO: Processing standard module hook 'hook-sysconfig.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +31228 INFO: Processing standard module hook 'hook-numpy.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +31811 INFO: Processing standard module hook 'hook-difflib.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +31978 INFO: Processing standard module hook 'hook-multiprocessing.util.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +32161 INFO: Processing standard module hook 'hook-xml.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +32415 INFO: Processing standard module hook 'hook-_ctypes.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +34542 INFO: Processing standard module hook 'hook-pytz.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +35042 INFO: Processing standard module hook 'hook-scipy.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +35659 INFO: Processing standard module hook 'hook-scipy.linalg.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +35778 INFO: Processing standard module hook 'hook-scipy.special._ufuncs.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +35944 INFO: Processing standard module hook 'hook-scipy.special._ellip_harm_2.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +36311 INFO: Processing standard module hook 'hook-scipy.spatial._ckdtree.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +36323 INFO: Processing pre-safe-import-module hook 'hook-typing_extensions.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module' +36325 INFO: SetuptoolsInfo: initializing cached setuptools info... +37127 INFO: Processing standard module hook 'hook-matplotlib.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +37594 INFO: Processing pre-safe-import-module hook 'hook-packaging.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module' +37677 INFO: Processing pre-safe-import-module hook 'hook-gi.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module' +37760 INFO: Processing standard module hook 'hook-PIL.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +37910 INFO: Processing standard module hook 'hook-PIL.Image.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +38649 INFO: Processing standard module hook 'hook-PIL.ImageFilter.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +39508 INFO: Processing standard module hook 'hook-matplotlib.pyplot.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +40008 INFO: Processing standard module hook 'hook-matplotlib.backend_bases.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +40744 INFO: Processing standard module hook 'hook-dateutil.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +40810 INFO: Processing pre-safe-import-module hook 'hook-six.moves.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module' +41911 INFO: Processing standard module hook 'hook-matplotlib.backends.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +42193 INFO: Processing pre-safe-import-module hook 'hook-importlib_resources.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_safe_import_module' +43455 INFO: Processing standard module hook 'hook-scipy.sparse.csgraph.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +43811 INFO: Processing standard module hook 'hook-scipy.spatial.transform.rotation.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +44801 INFO: Processing standard module hook 'hook-scipy.stats._stats.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +46970 INFO: Processing standard module hook 'hook-pandas.io.formats.style.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +49431 INFO: Processing standard module hook 'hook-pandas.plotting.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +50104 INFO: Processing standard module hook 'hook-openpyxl.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +50501 INFO: Processing standard module hook 'hook-xml.etree.cElementTree.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +52187 INFO: Processing standard module hook 'hook-sqlite3.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +52450 INFO: Processing standard module hook 'hook-pandas.io.clipboard.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +52835 INFO: Processing standard module hook 'hook-xml.dom.domreg.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +53398 INFO: Processing standard module hook 'hook-sklearn.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +54244 INFO: Processing standard module hook 'hook-sklearn.utils.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +55049 INFO: Processing standard module hook 'hook-sklearn.metrics.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +57735 INFO: Processing standard module hook 'hook-sklearn.metrics.cluster.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +57927 INFO: Processing standard module hook 'hook-sklearn.cluster.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +57987 INFO: Processing standard module hook 'hook-sklearn.metrics.pairwise.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +58380 INFO: Processing standard module hook 'hook-sklearn.neighbors.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +58455 INFO: Processing standard module hook 'hook-sklearn.linear_model.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +59578 INFO: Processing pre-safe-import-module hook 'hook-win32com.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\pre_safe_import_module' +60305 INFO: Processing standard module hook 'hook-matplotlib.backends.backend_qtagg.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +60325 INFO: Processing standard module hook 'hook-matplotlib.backends.qt_compat.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +60327 INFO: hook-matplotlib.backends.qt_compat: selected 'PyQt5' as Qt bindings because hook for 'PyQt5' has been run before. +60394 INFO: Processing module hooks (post-graph stage)... +60395 WARNING: Hidden import "mx.DateTime" not found! +60397 INFO: Processing standard module hook 'hook-sklearn.tree.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\stdhooks' +60444 INFO: Processing standard module hook 'hook-matplotlib.backends.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +60445 INFO: Matplotlib backend selection method: automatic discovery of used backends +60905 INFO: Trying determine the default backend as first importable candidate from the list: ['QtAgg', 'Qt5Agg', 'Gtk4Agg', 'Gtk3Agg', 'TkAgg', 'WxAgg'] +61555 INFO: Selected matplotlib backends: ['QtAgg'] +61998 INFO: Processing standard module hook 'hook-PIL.SpiderImagePlugin.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +62071 WARNING: Hidden import "scipy.special._cdflib" not found! +62090 INFO: Performing binary vs. data reclassification (1072 entries) +62631 INFO: Looking for ctypes DLLs +62820 INFO: Analyzing run-time hooks ... +62834 INFO: Including run-time hook 'pyi_rth_inspect.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks' +62834 INFO: Including run-time hook 'pyi_rth_pkgutil.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks' +62834 INFO: Including run-time hook 'pyi_rth_multiprocessing.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks' +62842 INFO: Including run-time hook 'pyi_rth_pyqt5.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks' +62842 INFO: Processing pre-find-module-path hook 'hook-_pyi_rth_utils.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path' +62842 INFO: Processing standard module hook 'hook-_pyi_rth_utils.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks' +62850 INFO: Including run-time hook 'pyi_rth_mplconfig.py' from 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks' +62898 INFO: Creating base_library.zip... +62930 INFO: Looking for dynamic libraries +C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages\PyInstaller\building\build_main.py:227: UserWarning: The numpy.array_api submodule is still experimental. See NEP 47. + __import__(package) +65679 INFO: Extra DLL search directories (AddDllDirectory): ['C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyQt5\\Qt5\\bin', 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pandas.libs', 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\numpy\\.libs', 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\scipy.libs', 'C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\matplotlib.libs'] +65679 INFO: Extra DLL search directories (PATH): ['C:\\Users\\Ninik Yuniarsih\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\PyQt5\\Qt5\\bin'] +68486 INFO: Warnings written to D:\klasifikasi_jurusan_siswa\build\jurusify\warn-jurusify.txt +68648 INFO: Graph cross-reference written to D:\klasifikasi_jurusan_siswa\build\jurusify\xref-jurusify.html +68736 INFO: checking PYZ +68736 INFO: Building PYZ because PYZ-00.toc is non existent +68736 INFO: Building PYZ (ZlibArchive) D:\klasifikasi_jurusan_siswa\build\jurusify\PYZ-00.pyz +70311 INFO: Building PYZ (ZlibArchive) D:\klasifikasi_jurusan_siswa\build\jurusify\PYZ-00.pyz completed successfully. +70346 INFO: checking PKG +70346 INFO: Building PKG because PKG-00.toc is non existent +70346 INFO: Building PKG (CArchive) jurusify.pkg +70378 INFO: Building PKG (CArchive) jurusify.pkg completed successfully. +70378 INFO: Bootloader C:\Users\Ninik Yuniarsih\AppData\Local\Programs\Python\Python311\Lib\site-packages\PyInstaller\bootloader\Windows-64bit-intel\runw.exe +70378 INFO: checking EXE +70378 INFO: Building EXE because EXE-00.toc is non existent +70378 INFO: Building EXE from EXE-00.toc +70378 INFO: Copying bootloader EXE to D:\klasifikasi_jurusan_siswa\build\jurusify\jurusify.exe +70637 INFO: Copying icon to EXE +70699 INFO: Copying 0 resources to EXE +70699 INFO: Embedding manifest in EXE +70731 INFO: Appending PKG archive to EXE +70932 INFO: Fixing EXE headers +72100 INFO: Building EXE from EXE-00.toc completed successfully. +72115 INFO: checking COLLECT +72115 INFO: Building COLLECT because COLLECT-00.toc is non existent +72115 INFO: Building COLLECT COLLECT-00.toc +74874 INFO: Building COLLECT COLLECT-00.toc completed successfully. +74902 INFO: Build complete! The results are available in: D:\klasifikasi_jurusan_siswa\dist + +[OK] Build selesai. +Hasil ada di: dist\jurusify\ +Jalankan: dist\jurusify\jurusify.exe + +[PENTING] Jangan jalankan file EXE dari folder build\ +[PENTING] Jalankan EXE hanya dari folder dist\jurusify\ + +Press any key to continue . . . diff --git a/config.py b/config.py new file mode 100644 index 0000000..95adfc6 --- /dev/null +++ b/config.py @@ -0,0 +1,76 @@ +# Konfigurasi untuk Sistem Klasifikasi Jurusan +import os +import sys + + +def _resource_base_dir(): + """Direktori dasar untuk sumber daya read-only yang dibundel.""" + if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): + return sys._MEIPASS + return os.path.dirname(os.path.abspath(__file__)) + + +def _writable_base_dir(): + """Direktori dasar untuk file runtime yang dapat ditulis (mis. model terlatih).""" + if getattr(sys, 'frozen', False): + return os.path.dirname(sys.executable) + return os.path.dirname(os.path.abspath(__file__)) + + +RESOURCE_BASE_DIR = _resource_base_dir() +WRITABLE_BASE_DIR = _writable_base_dir() + + +def get_resource_path(relative_path): + return os.path.join(RESOURCE_BASE_DIR, relative_path) + + +def get_writable_path(relative_path): + return os.path.join(WRITABLE_BASE_DIR, relative_path) + + +def get_app_icon_path(): + """Tentukan path ikon terbaik untuk aplikasi/jendela jika tersedia.""" + candidates = [ + get_resource_path(os.path.join('img', 'logo_sekolah.ico')), + get_writable_path(os.path.join('img', 'logo_sekolah.ico')), + get_resource_path(os.path.join('img', 'Logo_skripsi.ico')), + get_writable_path(os.path.join('img', 'Logo_skripsi.ico')), + get_writable_path(os.path.join('img', 'logo_sekolah.png')), + get_resource_path(os.path.join('img', 'logo_sekolah.png')), + get_writable_path(os.path.join('img', 'Logo_skripsi.png')), + get_resource_path(os.path.join('img', 'Logo_skripsi.png')), + get_writable_path(os.path.join('img', 'logo_sma.ico')), + get_resource_path(os.path.join('img', 'logo_sma.ico')), + get_writable_path(os.path.join('img', 'logo_sma.png')), + get_resource_path(os.path.join('img', 'logo_sma.png')), + ] + for path in candidates: + if os.path.exists(path): + return path + return '' + + +# Konfigurasi dataset +TRAIN_DATASET_PATH = get_resource_path(os.path.join('data', 'dataset_smakom_final_train.csv')) +TEST_DATASET_PATH = get_resource_path(os.path.join('data', 'dataset_smakom_final_test.csv')) +DATASET_PATH = TRAIN_DATASET_PATH + +# Path model: dapat ditulis untuk retraining, sebagai fallback saat pertama kali dimuat +MODEL_PATH = get_writable_path(os.path.join('models', 'trained_model.pkl')) +BUNDLED_MODEL_PATH = get_resource_path(os.path.join('models', 'trained_model.pkl')) + +# Konfigurasi pelatihan +TEST_SIZE = 0.2 # 20% untuk testing, 80% untuk training (300 data: 240 training, 60 testing) +RANDOM_STATE = 42 # nomor acak tetap agar hasil random sama + +# Konfigurasi KNN +DEFAULT_K_NEIGHBORS = 27 +KNN_WEIGHTS = 'distance' +KNN_METRIC = 'euclidean' +OPTIMIZE_K = True +K_RANGE = range(3, 52, 2) # Kandidat k untuk GridSearchCV pada data ini: 3,5,7,...,51 + +# Konfigurasi basis data (sudah ada di db/database.py) +# Konfigurasi performa +CROSS_VALIDATION_FOLDS = 5 \ No newline at end of file diff --git a/convert_logo.py b/convert_logo.py new file mode 100644 index 0000000..aa82e51 --- /dev/null +++ b/convert_logo.py @@ -0,0 +1,87 @@ +"""Convert logo_sekolah.png ke logo_sekolah.ico multi-size untuk PyInstaller.""" +import os +import numpy as np +from PIL import Image, ImageEnhance, ImageFilter + + +def _trim_content(image, tolerance=18): + """Crop area kosong/warna latar agar simbol utama lebih dominan saat jadi ikon kecil.""" + rgba = image.convert("RGBA") + arr = np.array(rgba) + + alpha = arr[:, :, 3] + rgb = arr[:, :, :3].astype(np.int16) + + corners = np.array([ + rgb[0, 0], + rgb[0, -1], + rgb[-1, 0], + rgb[-1, -1], + ], dtype=np.int16) + bg = np.median(corners, axis=0) + + dist = np.max(np.abs(rgb - bg), axis=2) + mask = (alpha > 10) & (dist > tolerance) + + if not np.any(mask): + mask = alpha > 10 + if not np.any(mask): + return rgba + + ys, xs = np.where(mask) + left, right = int(xs.min()), int(xs.max()) + 1 + top, bottom = int(ys.min()), int(ys.max()) + 1 + return rgba.crop((left, top, right, bottom)) + + +def _prepare_square_icon(image): + """Trim margin lalu pasang ke canvas persegi tanpa mengubah warna/detail logo asli.""" + image = _trim_content(image) + image = image.convert("RGBA") + + # Penajaman ringan agar tetap asli namun lebih jelas di ukuran kecil. + alpha = image.split()[-1] + rgb = image.convert("RGB") + rgb = rgb.filter(ImageFilter.UnsharpMask(radius=1.2, percent=115, threshold=2)) + rgb = ImageEnhance.Contrast(rgb).enhance(1.06) + image = rgb.convert("RGBA") + image.putalpha(alpha) + + canvas_size = 1024 + canvas = Image.new("RGBA", (canvas_size, canvas_size), (0, 0, 0, 0)) + + max_dim = int(canvas_size * 0.985) + image.thumbnail((max_dim, max_dim), Image.Resampling.LANCZOS) + + x = (canvas_size - image.width) // 2 + y = (canvas_size - image.height) // 2 + canvas.paste(image, (x, y), image) + return canvas + + +def main(): + img_dir = "img" + png_file = os.path.join(img_dir, "logo_sekolah.png") + ico_file = os.path.join(img_dir, "logo_sekolah.ico") + + if not os.path.exists(png_file): + print(f"[INFO] File tidak ditemukan: {png_file}. Konversi dilewati.") + return 0 + + try: + img = Image.open(png_file) + square_img = _prepare_square_icon(img) + sizes = [ + (16, 16), (20, 20), (24, 24), (32, 32), (40, 40), + (48, 48), (64, 64), (72, 72), (96, 96), (128, 128), (256, 256), + ] + square_img.save(ico_file, format="ICO", sizes=sizes) + print(f"[OK] Berhasil convert: {png_file} -> {ico_file}") + return 0 + except Exception as exc: + print(f"[ERROR] Gagal convert logo: {exc}") + return 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/data/dataset_distribution_comparison.png b/data/dataset_distribution_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..36f590d425fcb43c1a1207d44efe3eeb7a31730c GIT binary patch literal 71031 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

K@q7S~m}9vvy{e;}9M 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�te1F^o1V0+k@Wzo~qbIIv41wRi`VJ7a_yZZt(B_m%{n;Zmb zW|A|saN!drt|3zxW~xU1kQ<)~|J6<0DDc;$kUek@(up~+uC5um^^ae?Jc`^@H&_h+ z=h-@aH%)`Gibnss3j~1X2~7aD;LsW;0|Q$f1oAbb0kI!b`Ob&Xu;$_uIx$7nn$6Cp z_7aS5=)B0*BL@mwX!MS;J2&9e=dEqi0V z)kHzXY@RC;5Nd(sX31%jZ7d5i}$W zN7qw}5u9HW#4W5hdz-Jk%YnC$ZBMSi*X89%TRUpyWO5I|NFn zlGt)96;x)v+}fH_W_-DzSpoFHe#BC=hwXEU z)&W)qpp`Sr&u|^iGTC4o5xd@Z`II6;xf#%B6hH=~3UUL9X(>EgaRkU=k*P8_2QG`5EA;TzoDPgHOWald;k@O@4}lT48ELSw*!qq!TAG9<2_bz>(PL&`w?PGC5jkT5NU}CKzKDIrDx*#Pxj(K!AJ6vjb@Hx-}kxODJBB{+&`@cQOaW9hWux_(IhsZg7^ z%q;)G^jGh?nD>RK@o zY*I(ak9HEbJRcq>(Uatz!vgDgV^wpJ{!c_qoAb*_@^C2@gLE_zT#vNZ-eh833%gU0 zC#_8)dvz2^Aq3-%=v6Jyxry#DDq9`L&tVT;qO<&V9 z3#)>VTyn~UWze>k#=I2P4}W+|#0B=7>jig&Pkvx7!9NVX)5aGyHj1MbKeLYdsdB!BM@!IT_G zXP_PNmL$CCx1aeJL=*4+{cjRmfB205FlF}VC;zY6#{ciBlg!Oe7fn2s^-rW-#M)x~ KRpzDx-~AU}Q(S-m literal 0 HcmV?d00001 diff --git a/data/dataset_dummy.csv b/data/dataset_dummy.csv new file mode 100644 index 0000000..2110bbd --- /dev/null +++ b/data/dataset_dummy.csv @@ -0,0 +1,121 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Siswa_1,85,79,99,97,90,69,84,70,96,72,2 +Siswa_2,82,84,88,93,69,94,99,72,99,66,1 +Siswa_3,72,77,87,88,97,79,88,88,64,92,2 +Siswa_4,83,84,94,74,87,84,62,69,75,79,2 +Siswa_5,63,65,84,89,93,77,97,63,100,97,6 +Siswa_6,71,64,70,82,89,93,87,66,97,96,6 +Siswa_7,89,83,90,82,87,77,81,77,61,74,2 +Siswa_8,93,87,96,63,78,92,89,98,77,77,4 +Siswa_9,70,68,71,73,90,72,89,100,80,93,4 +Siswa_10,85,62,73,81,92,80,93,98,96,84,5 +Siswa_11,96,66,67,71,92,99,77,61,91,77,3 +Siswa_12,64,98,85,95,60,63,70,79,85,76,1 +Siswa_13,71,88,61,73,71,97,69,91,68,84,4 +Siswa_14,90,75,81,80,90,64,61,100,65,81,2 +Siswa_15,85,64,93,82,86,61,87,75,70,71,2 +Siswa_16,80,96,81,98,80,70,75,63,79,97,1 +Siswa_17,74,74,88,71,73,68,72,76,78,61,1 +Siswa_18,72,95,71,95,80,67,71,98,66,98,1 +Siswa_19,91,64,88,83,76,71,74,98,60,61,2 +Siswa_20,91,83,63,60,76,87,100,99,80,68,4 +Siswa_21,78,96,96,89,78,64,76,75,99,73,1 +Siswa_22,90,85,78,83,78,62,85,64,99,60,1 +Siswa_23,66,79,80,77,77,68,94,77,77,68,3 +Siswa_24,86,98,68,77,94,93,86,71,70,87,3 +Siswa_25,81,96,100,94,85,76,75,63,74,70,1 +Siswa_26,92,92,66,66,91,84,91,68,69,69,3 +Siswa_27,92,62,87,87,97,63,66,87,79,100,2 +Siswa_28,74,89,85,74,71,92,61,80,79,69,5 +Siswa_29,83,99,92,98,66,62,62,64,82,94,1 +Siswa_30,77,78,63,91,81,64,92,78,93,93,6 +Siswa_31,67,86,62,96,65,99,93,87,89,98,6 +Siswa_32,70,75,94,64,62,71,90,99,66,66,4 +Siswa_33,89,86,68,92,66,68,67,91,65,87,1 +Siswa_34,65,97,72,70,76,95,83,65,70,66,3 +Siswa_35,71,78,89,60,99,69,72,61,100,61,2 +Siswa_36,88,97,79,75,85,85,94,78,63,86,3 +Siswa_37,92,92,97,87,95,61,83,79,74,73,2 +Siswa_38,98,84,83,85,94,60,60,74,67,86,2 +Siswa_39,80,84,84,74,81,63,65,77,62,73,1 +Siswa_40,98,100,98,97,62,91,91,93,80,72,1 +Siswa_41,100,78,77,83,88,84,84,97,65,71,4 +Siswa_42,72,85,85,63,99,93,67,72,98,86,6 +Siswa_43,81,99,86,74,89,70,81,60,60,66,1 +Siswa_44,83,68,82,76,93,83,99,78,100,72,3 +Siswa_45,70,86,99,62,71,94,66,64,83,60,1 +Siswa_46,74,75,73,89,91,87,74,79,93,63,5 +Siswa_47,71,80,72,88,92,87,63,98,92,80,5 +Siswa_48,61,90,65,90,89,83,95,85,66,93,3 +Siswa_49,84,95,72,88,93,86,71,86,72,98,6 +Siswa_50,92,85,61,100,67,66,79,64,79,73,1 +Siswa_51,89,85,89,91,86,98,68,88,72,94,2 +Siswa_52,70,95,72,100,92,95,67,97,100,81,5 +Siswa_53,81,85,62,72,74,80,98,98,67,87,4 +Siswa_54,88,61,84,82,68,68,63,97,78,95,5 +Siswa_55,88,63,79,73,62,60,80,100,84,83,5 +Siswa_56,78,84,62,94,76,90,68,63,74,66,1 +Siswa_57,67,67,64,77,99,67,68,82,80,97,6 +Siswa_58,86,61,96,95,95,64,77,61,96,93,2 +Siswa_59,97,64,77,98,79,85,73,83,85,83,2 +Siswa_60,97,99,64,64,78,71,85,74,64,63,3 +Siswa_61,83,65,76,83,95,91,66,99,91,69,5 +Siswa_62,63,61,87,76,100,89,87,64,61,85,3 +Siswa_63,71,77,81,87,78,78,82,66,60,97,2 +Siswa_64,84,86,67,77,82,64,70,93,97,93,5 +Siswa_65,94,72,73,97,94,63,90,60,88,66,2 +Siswa_66,83,65,84,94,100,62,79,95,100,76,2 +Siswa_67,67,95,100,67,75,62,87,89,83,72,1 +Siswa_68,84,67,62,95,87,98,95,83,88,77,3 +Siswa_69,94,99,99,70,67,83,94,63,85,72,1 +Siswa_70,93,100,86,72,91,88,100,82,86,92,3 +Siswa_71,79,80,85,90,64,62,87,60,92,81,1 +Siswa_72,83,70,90,88,85,67,98,63,74,67,2 +Siswa_73,98,60,98,60,89,75,71,66,76,98,6 +Siswa_74,83,66,70,87,67,65,94,94,89,69,4 +Siswa_75,63,90,60,96,89,74,67,66,86,98,6 +Siswa_76,98,72,85,70,75,75,81,97,87,89,5 +Siswa_77,69,88,100,98,71,76,70,97,67,94,1 +Siswa_78,84,71,85,82,80,91,62,64,76,82,6 +Siswa_79,60,88,84,77,69,73,79,74,60,71,1 +Siswa_80,79,85,62,100,63,91,66,85,65,93,6 +Siswa_81,100,80,82,63,70,69,65,84,88,66,5 +Siswa_82,84,72,91,91,99,63,76,82,81,94,2 +Siswa_83,77,76,67,84,83,69,73,76,65,95,2 +Siswa_84,64,61,86,62,70,66,68,64,72,78,2 +Siswa_85,86,65,72,66,82,72,86,78,66,96,3 +Siswa_86,64,68,78,91,75,98,97,85,83,93,4 +Siswa_87,89,63,64,76,91,82,97,67,88,94,3 +Siswa_88,79,89,62,74,100,80,68,97,99,80,5 +Siswa_89,96,70,91,92,86,94,91,68,76,85,3 +Siswa_90,64,76,70,99,95,83,81,64,90,65,2 +Siswa_91,72,78,83,85,71,70,90,81,100,91,6 +Siswa_92,68,73,65,72,80,73,80,71,73,88,6 +Siswa_93,74,100,74,98,88,74,99,93,89,83,1 +Siswa_94,69,96,67,92,95,86,93,85,76,98,3 +Siswa_95,67,68,60,87,98,95,90,95,65,76,3 +Siswa_96,73,90,93,93,66,78,73,78,75,90,1 +Siswa_97,74,91,76,62,100,83,80,90,60,68,3 +Siswa_98,80,62,61,78,63,74,79,68,71,81,6 +Siswa_99,77,83,68,97,71,75,66,92,78,83,1 +Siswa_100,64,74,82,63,78,89,93,65,82,70,3 +Siswa_101,87,95,63,81,62,62,92,82,69,79,1 +Siswa_102,86,91,68,66,96,86,71,67,66,66,3 +Siswa_103,71,64,78,72,88,78,85,73,73,96,3 +Siswa_104,98,78,60,99,86,80,72,66,90,87,6 +Siswa_105,86,84,82,74,79,74,67,99,67,74,1 +Siswa_106,66,90,81,81,88,62,97,97,78,80,4 +Siswa_107,86,99,62,85,60,90,66,94,68,81,5 +Siswa_108,92,86,92,74,97,68,63,62,65,81,2 +Siswa_109,83,93,91,83,60,70,73,87,99,74,1 +Siswa_110,87,67,66,67,80,65,76,77,100,70,5 +Siswa_111,98,76,91,77,72,89,87,74,93,89,6 +Siswa_112,60,79,87,96,82,85,63,93,84,60,2 +Siswa_113,92,74,89,85,79,68,82,64,97,64,2 +Siswa_114,60,85,63,73,63,91,95,82,68,68,4 +Siswa_115,69,83,65,86,89,86,81,78,68,67,3 +Siswa_116,82,70,66,65,80,61,86,83,74,66,4 +Siswa_117,82,79,92,63,65,68,96,63,85,76,1 +Siswa_118,86,94,96,96,90,66,95,71,78,66,1 +Siswa_119,81,82,85,61,98,82,90,83,95,75,3 +Siswa_120,68,62,84,63,96,91,66,70,65,97,3 diff --git a/data/dataset_scatter_comparison.png b/data/dataset_scatter_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c693fbc6e9be35cb4e7a1e65cee027a3dab82a GIT binary patch literal 254583 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 -ITQ%LN~7nB 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 zΠ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 literal 0 HcmV?d00001 diff --git a/data/dataset_siswa.csv b/data/dataset_siswa.csv new file mode 100644 index 0000000..f89eafe --- /dev/null +++ b/data/dataset_siswa.csv @@ -0,0 +1,121 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Siswa_1,67,69,62,89,100,68,62,99,93,82,5 +Siswa_2,60,85,88,92,60,88,93,80,65,65,1 +Siswa_3,74,62,74,75,78,95,66,88,99,72,5 +Siswa_4,72,80,100,82,78,97,79,78,67,96,1 +Siswa_5,91,81,92,99,89,64,85,66,60,82,2 +Siswa_6,62,95,76,93,100,72,71,82,87,87,2 +Siswa_7,73,89,83,61,65,82,88,78,94,64,5 +Siswa_8,82,72,68,100,80,82,65,79,66,91,2 +Siswa_9,71,77,76,79,96,67,74,73,70,97,2 +Siswa_10,73,77,62,63,80,98,95,61,89,81,3 +Siswa_11,74,76,72,95,94,94,89,62,82,60,3 +Siswa_12,77,99,68,86,86,64,96,69,63,90,1 +Siswa_13,96,67,71,76,77,75,76,92,69,81,4 +Siswa_14,74,83,90,84,79,68,77,79,92,70,1 +Siswa_15,96,86,91,100,65,86,79,93,86,65,1 +Siswa_16,96,83,83,63,91,74,60,95,61,61,2 +Siswa_17,87,93,62,75,76,62,87,100,60,64,4 +Siswa_18,67,60,61,82,88,71,82,91,85,74,5 +Siswa_19,98,95,78,62,80,74,94,85,97,82,5 +Siswa_20,74,94,64,89,99,95,67,70,100,73,6 +Siswa_21,96,76,77,63,84,77,61,82,64,64,2 +Siswa_22,77,85,84,78,87,73,80,83,71,70,2 +Siswa_23,83,72,69,85,60,70,66,80,70,93,6 +Siswa_24,65,92,88,61,90,100,77,65,84,91,6 +Siswa_25,92,70,61,97,61,66,71,60,95,74,6 +Siswa_26,72,73,85,60,79,93,84,98,79,92,4 +Siswa_27,75,69,79,95,72,81,96,62,73,91,3 +Siswa_28,80,73,81,100,77,87,71,78,64,62,2 +Siswa_29,87,97,92,68,90,100,94,86,61,77,3 +Siswa_30,90,73,82,73,95,68,82,64,60,90,2 +Siswa_31,67,73,83,64,60,100,88,75,63,89,4 +Siswa_32,99,82,77,85,84,68,63,84,65,60,2 +Siswa_33,88,93,94,86,70,74,66,98,66,80,1 +Siswa_34,90,76,67,98,85,96,74,68,94,100,6 +Siswa_35,77,86,68,80,67,98,96,85,64,72,4 +Siswa_36,99,86,95,85,73,60,63,69,96,71,1 +Siswa_37,69,62,68,77,76,93,68,75,91,93,6 +Siswa_38,86,96,96,69,88,68,60,99,100,72,5 +Siswa_39,85,90,72,69,85,62,79,64,76,64,1 +Siswa_40,90,85,86,81,66,89,64,85,94,64,5 +Siswa_41,89,77,82,72,94,96,93,88,100,63,5 +Siswa_42,100,73,93,91,69,71,67,62,68,98,1 +Siswa_43,90,64,71,85,88,95,93,90,63,69,4 +Siswa_44,94,62,91,85,77,78,90,91,74,66,4 +Siswa_45,94,76,78,80,78,99,93,60,73,67,3 +Siswa_46,78,93,61,100,77,86,96,71,78,78,3 +Siswa_47,77,69,79,99,63,65,63,64,76,71,1 +Siswa_48,98,78,75,88,76,86,76,98,75,78,4 +Siswa_49,72,85,96,89,81,91,95,95,60,68,4 +Siswa_50,81,67,80,67,79,96,67,100,81,64,5 +Siswa_51,68,97,89,87,63,96,92,92,85,83,4 +Siswa_52,71,66,72,89,80,64,67,74,80,75,2 +Siswa_53,61,73,91,91,73,74,94,65,67,65,1 +Siswa_54,93,66,97,60,85,99,61,61,78,93,6 +Siswa_55,63,81,87,94,73,79,98,74,83,76,1 +Siswa_56,90,90,82,74,77,76,93,70,69,72,1 +Siswa_57,69,100,79,63,62,65,100,67,84,61,1 +Siswa_58,89,65,66,88,60,69,82,85,90,83,5 +Siswa_59,60,81,75,98,72,97,88,78,100,98,6 +Siswa_60,78,69,72,95,80,63,92,80,66,82,2 +Siswa_61,64,68,77,89,64,60,73,88,83,100,6 +Siswa_62,97,73,79,64,87,73,75,63,88,93,6 +Siswa_63,74,92,77,81,68,81,71,92,92,80,5 +Siswa_64,77,93,81,61,64,68,94,72,100,74,6 +Siswa_65,89,94,94,80,83,89,68,98,76,96,1 +Siswa_66,92,81,64,73,90,86,62,84,89,75,5 +Siswa_67,93,93,64,64,97,97,82,65,89,97,6 +Siswa_68,94,82,67,73,63,62,69,78,87,63,5 +Siswa_69,86,90,64,93,81,78,81,98,97,93,5 +Siswa_70,79,72,88,61,74,60,94,78,86,97,6 +Siswa_71,99,66,90,96,80,78,84,74,77,67,2 +Siswa_72,96,78,68,95,100,63,100,87,96,95,2 +Siswa_73,89,97,60,100,81,91,64,62,89,65,1 +Siswa_74,77,88,99,73,64,83,94,69,69,68,1 +Siswa_75,88,83,72,66,61,76,84,63,100,94,6 +Siswa_76,73,69,64,77,93,87,65,72,69,68,3 +Siswa_77,89,67,69,92,69,88,60,74,62,82,6 +Siswa_78,88,97,92,60,88,60,80,95,100,83,5 +Siswa_79,74,92,81,64,75,94,83,80,64,65,4 +Siswa_80,81,74,84,92,91,98,75,91,73,75,2 +Siswa_81,100,89,100,98,83,76,78,81,90,80,1 +Siswa_82,94,81,96,81,80,90,99,79,82,61,3 +Siswa_83,96,66,94,98,94,79,90,99,68,100,2 +Siswa_84,61,64,80,67,71,91,95,98,78,100,4 +Siswa_85,97,93,63,60,67,94,91,87,82,94,4 +Siswa_86,72,79,77,69,63,99,78,95,89,96,6 +Siswa_87,65,87,76,88,65,64,88,91,76,62,1 +Siswa_88,90,75,69,81,77,66,77,61,73,99,6 +Siswa_89,79,80,68,63,98,80,94,77,67,67,3 +Siswa_90,87,100,82,82,81,74,67,80,74,75,1 +Siswa_91,70,66,99,97,84,79,69,64,62,82,2 +Siswa_92,100,93,90,90,67,68,82,81,97,90,1 +Siswa_93,68,93,68,60,71,63,93,69,69,78,3 +Siswa_94,82,99,89,63,60,74,67,97,82,98,6 +Siswa_95,74,82,96,79,93,86,78,69,62,62,2 +Siswa_96,92,99,99,78,68,98,87,74,77,81,1 +Siswa_97,75,82,99,82,88,85,85,79,88,91,2 +Siswa_98,68,90,86,98,63,65,68,78,74,83,1 +Siswa_99,83,96,60,83,64,85,79,76,76,90,6 +Siswa_100,75,74,70,78,70,68,71,72,72,77,1 +Siswa_101,91,67,95,89,94,66,92,71,78,75,2 +Siswa_102,66,64,64,92,78,79,88,70,79,88,6 +Siswa_103,68,68,60,80,88,64,73,74,66,80,2 +Siswa_104,98,60,78,60,95,97,80,81,60,84,3 +Siswa_105,65,86,66,75,74,63,95,91,60,66,4 +Siswa_106,100,88,87,90,78,70,83,86,91,90,1 +Siswa_107,61,67,64,66,83,77,89,84,88,71,4 +Siswa_108,85,93,65,83,64,97,86,97,95,96,5 +Siswa_109,70,79,68,62,75,68,98,67,65,84,3 +Siswa_110,95,68,91,79,62,81,77,67,96,62,5 +Siswa_111,74,85,68,81,97,78,76,65,90,86,6 +Siswa_112,65,98,87,65,86,87,84,98,66,88,4 +Siswa_113,96,78,91,82,98,71,85,70,92,92,2 +Siswa_114,60,89,60,83,62,83,89,82,61,97,4 +Siswa_115,83,70,60,99,82,61,78,95,66,96,2 +Siswa_116,78,69,70,72,63,98,92,70,64,83,4 +Siswa_117,100,100,87,95,97,83,95,75,99,84,1 +Siswa_118,78,62,80,84,84,85,64,98,65,81,2 +Siswa_119,67,68,82,97,73,98,86,67,93,70,6 +Siswa_120,90,92,99,84,70,90,80,62,98,61,1 diff --git a/data/dataset_smakom.csv b/data/dataset_smakom.csv new file mode 100644 index 0000000..0c69100 --- /dev/null +++ b/data/dataset_smakom.csv @@ -0,0 +1,301 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Ahmad_Adib_Almuiz,80.5,76.0,75.5,72.5,78.5,83.0,71.5,79.0,78.5,79.5,4 +Amin_Ridho_Sholikin,83.5,82.5,81.5,78.5,81.0,82.5,82.0,86.5,81.5,86.0,1 +Arik_Wisnu_Pramuditiya,86.0,81.0,82.0,81.0,82.5,83.0,81.5,86.0,82.5,89.0,1 +Brian_Agung_Pamungkas,90.0,82.5,83.0,84.5,85.0,88.0,85.5,89.5,84.0,90.0,1 +Chesylya_Adinnata_Maylani,79.5,76.0,79.5,79.5,81.0,81.0,75.5,82.0,80.5,83.5,4 +Dewi_Marisah_Manggar_Retno,89.0,80.5,78.5,81.5,81.0,83.0,84.0,85.5,83.0,85.5,3 +Dwi_Andika,81.0,76.5,76.5,78.0,81.0,83.5,73.5,78.5,78.5,79.0,4 +Dyah_Ayu_Pratiwi,74.5,76.5,77.5,76.5,80.5,78.5,73.5,77.0,80.0,79.5,1 +Ermita_Trisya_Sari,81.0,83.0,81.5,82.0,83.0,87.5,86.5,87.5,80.0,89.0,4 +Fika_Nur_Rohmah,82.0,78.0,78.0,79.0,80.5,83.0,79.0,79.0,80.5,80.5,4 +Fino_Andreyan_Pratama,84.0,79.0,79.0,80.0,80.0,81.5,75.0,81.5,80.5,81.5,3 +Fitri_Yulita_Sari,88.5,79.5,78.0,82.5,82.5,84.5,78.0,84.5,82.0,85.0,4 +Frisa_Agiel_Kirania,81.0,78.0,78.0,78.0,80.5,83.0,78.0,79.0,80.0,80.5,4 +Handoko_Dimas_Wahyu_Nugroho,79.0,76.0,78.5,77.0,82.5,80.5,74.5,78.5,75.5,78.5,4 +Keyla_Chantika_Devy_Julieta,76.5,79.5,80.0,74.5,80.5,81.0,76.0,80.0,79.5,82.0,5 +Latifatul_Isma,83.0,82.0,77.0,80.5,81.0,85.0,86.5,86.0,79.0,86.5,4 +M._Faris_Ardiyanto,75.0,76.0,76.0,76.0,78.5,84.5,73.5,77.5,77.5,76.0,4 +Meriyas_Eka_Anjani,85.5,77.0,78.0,81.0,83.0,81.0,74.0,82.5,83.0,85.5,6 +Mitzy_Aurora_Azzahra,85.0,79.0,80.0,80.0,83.0,83.5,80.5,84.0,81.0,84.5,3 +Moch._Galih_Nur_Hidayatullah,77.0,77.0,77.0,77.0,80.5,78.5,74.0,78.0,79.5,78.5,4 +Mohammad_Trio_Subekti,77.5,76.5,76.5,76.0,79.5,82.0,73.0,77.5,79.5,78.0,4 +Muhamad_Rangga_Aji_Pratama,86.0,77.5,77.5,79.5,83.5,86.0,74.5,83.0,82.5,81.0,4 +Nidda'ul_Fijriah,82.5,78.5,78.5,79.5,80.0,79.5,74.0,82.5,82.5,86.0,3 +Novita_Eka_Ramandani,78.5,78.0,78.0,79.5,82.0,82.5,79.0,80.0,81.0,84.0,4 +Putri_Rahayu_Ningsih,79.5,79.5,79.5,79.5,84.0,80.0,79.5,80.0,80.0,85.5,2 +Quennata_Gladis_Bilbina,86.0,78.5,78.0,80.5,82.5,86.0,79.5,79.5,82.0,81.5,3 +Rizki_Andi_Pratama,85.5,79.5,80.5,81.0,81.5,83.0,84.5,86.0,82.0,86.0,1 +Rizqi_Pangestu_Arsyadipura,84.5,84.0,81.5,82.0,81.0,79.5,83.5,88.0,81.5,87.0,1 +Rohmatul_Fitria_Dewi,87.5,78.0,78.0,83.0,81.0,84.5,80.5,80.5,82.0,81.5,3 +Satrio_Damar_Anggono,77.5,78.5,77.0,76.5,80.5,80.0,73.5,83.5,80.0,85.5,1 +Shofiyyatul_El_Husna,87.5,78.5,79.0,80.5,79.0,77.5,82.0,83.5,81.5,83.5,1 +Tegar_Krido_Wibowo,79.5,77.0,79.5,77.5,80.0,77.5,77.0,78.5,79.5,80.0,1 +Tegar_Reka_Wijaya,82.0,79.5,79.5,81.0,82.5,83.5,81.5,84.0,82.0,86.5,1 +Vania_Ika_Melinda,80.5,79.5,79.5,80.5,81.0,80.5,82.0,84.0,79.0,83.5,2 +Zaraya_Jelita_Putri_Ardina,84.0,82.5,81.5,81.5,81.0,83.5,82.0,84.0,81.0,86.0,1 +Ahmad_Maulana_Rizky_Aditya_Wijaya,85.5,78.5,77.5,79.5,83.0,79.5,74.0,82.0,80.5,84.0,4 +Alhasby_Bachtiar,79.5,79.5,78.5,81.5,80.0,79.5,76.0,84.0,81.5,85.0,2 +Aprilia_Martalita_Wibowo,78.5,77.0,78.0,80.0,80.5,81.5,78.5,85.0,78.0,84.5,4 +Arshinta_Marthalie_Gunawan,77.0,77.0,79.0,80.5,80.0,79.5,80.0,78.5,79.0,80.0,1 +Atadea_Lie_Intan_Karina,86.5,80.5,78.0,81.0,81.0,78.0,76.5,84.0,77.5,81.0,3 +Azzahra_Dewi_Natria,83.5,79.5,80.0,82.5,82.5,84.5,81.5,89.0,81.5,86.5,4 +Bagus_Rohman_Maulana,81.5,82.5,80.5,79.5,80.0,81.5,81.5,83.5,81.5,86.0,6 +Binti_Yisha_Zahra_Futri,85.0,83.0,78.5,83.5,82.5,81.0,85.5,88.5,82.0,90.0,1 +Chalista_Ayunda_Sukmaningtyas,84.0,79.0,78.0,82.5,80.5,81.5,82.0,87.0,78.5,85.0,2 +Clara_Balqis_Putri_Febrianti,82.0,83.0,82.5,84.5,85.0,84.5,84.5,88.5,82.5,88.5,2 +Davin_Yudha_Pratama,82.5,78.0,78.5,81.5,83.0,81.0,73.5,84.0,79.5,82.5,3 +Dian_Noviyanti,87.5,77.5,79.0,79.5,79.5,85.5,77.5,81.0,81.0,83.5,6 +Dwi_Kevfri_Kenata,81.0,80.5,82.0,80.5,82.5,81.5,78.5,84.5,82.5,86.0,1 +Fahril_Rahmad_Tri_Setyawan,79.5,77.0,78.0,77.0,80.0,86.0,77.5,81.0,79.5,81.0,4 +Firstian_Vidya_Permana,79.5,77.5,79.0,78.0,80.5,83.0,77.5,78.0,78.5,78.5,4 +Galang_Aldiyansah_Putra,82.5,78.5,77.0,77.5,78.5,82.0,73.5,83.0,78.5,81.0,4 +Ghania_Hardiyanti,86.0,83.5,82.5,82.5,83.0,85.5,86.5,87.5,82.0,87.0,1 +Hamida_Ulviana_Dewi,79.5,79.5,78.5,81.0,79.5,85.5,75.0,83.0,77.5,83.0,6 +Hengky_Prasetyo,85.0,77.0,77.0,75.5,80.5,80.0,73.5,79.0,76.5,78.5,4 +Kellvi_Tiaska_Putri,78.0,77.5,77.5,79.5,80.0,83.0,76.5,81.0,80.5,80.5,4 +Kurniawan_Dyo_Tri_Warsono,75.0,76.5,77.0,74.5,79.5,80.0,74.5,79.5,78.5,76.5,4 +Mochamad_Ardiansyah_Saputra,85.5,77.0,77.0,78.5,79.0,83.0,73.5,77.5,81.0,80.5,4 +Mochammad_Yuda_Aditia,87.0,76.5,76.0,80.0,81.0,81.0,73.5,78.5,81.5,81.0,3 +Mohammad_Raihan_Nur_Fajri,81.0,77.0,76.0,80.0,81.0,82.5,73.5,81.0,80.5,81.0,4 +Muhammad_Tegar_Prayuda,81.5,78.5,77.0,80.5,82.0,80.0,76.5,82.5,80.5,85.5,1 +Muhammad_Zainal_Asrofi,78.0,76.5,78.0,80.0,80.0,81.0,74.5,79.5,78.5,78.0,4 +Nur_Aleeya_Afrina_Suwandi,83.5,79.5,80.5,83.5,83.0,84.0,84.0,89.0,81.5,87.0,4 +Prima_Dyah_Novanda,85.0,80.5,81.5,81.0,83.0,82.0,83.5,86.5,77.5,85.5,3 +Rika_Nur_Fauziah,80.5,79.5,79.5,81.0,83.5,85.0,80.5,81.0,79.5,85.5,2 +Satryo_Gito_Pratomo,87.0,79.5,81.5,82.0,81.5,83.0,84.5,90.0,82.5,89.0,2 +Septian_Daniarti_Fitri_Astutik,79.0,78.5,78.0,81.0,83.0,82.0,76.0,84.0,77.0,82.5,3 +Suci_Rahayu_Saputri,81.5,78.0,77.0,80.0,80.5,80.0,75.5,77.5,79.5,80.0,4 +Sujiati_Fitrianingsih,83.5,77.5,78.0,79.5,80.0,83.0,76.5,84.0,80.5,80.5,6 +Tata_Agata_Afga_Pratama,81.5,78.0,77.5,74.5,80.5,78.5,75.0,78.5,81.0,79.5,4 +Yahya_Handika_Aditia,87.0,78.0,78.0,75.5,81.0,82.0,74.0,79.0,80.5,80.5,4 +Yulia_Nur_Lismarita,80.5,77.5,78.0,80.5,81.0,80.0,80.5,83.0,77.5,83.0,4 +Aditya_Rizky_Romadhon,81.0,77.5,76.5,79.5,80.0,81.0,76.5,82.0,80.5,80.5,2 +Aisyah_Fidinna_Rahmatika,83.5,76.5,77.5,80.5,81.0,86.5,79.0,82.5,83.0,80.5,5 +Aldo_Widodo,81.5,76.5,77.0,75.0,77.5,76.5,71.5,77.0,76.0,77.0,5 +Alvino_Surya_Pratama,78.0,77.5,77.5,75.5,78.0,80.0,80.0,81.5,82.5,80.5,4 +Alvinza_Brian_Saputra,76.5,76.5,76.5,74.5,79.0,77.5,71.5,75.0,77.5,76.5,4 +Dhimas_Pandu_Wijaya,88.0,77.5,77.5,80.0,76.0,81.5,72.0,81.0,83.0,82.0,1 +Fauziah_Elsa_Putri_Purnomo,81.0,82.5,84.0,82.5,83.0,87.0,85.5,85.0,82.0,88.5,1 +Feisal_Wisnu_Raditya,78.0,77.0,77.5,75.0,78.5,81.0,74.5,79.0,78.5,79.5,4 +Fitriani_Nurul_Norhayati,79.0,77.5,80.0,77.0,80.5,82.0,76.5,79.0,76.5,82.5,6 +Fivi_Widyo_Wati,79.5,79.5,80.0,78.5,80.5,79.0,83.0,84.0,79.0,84.5,1 +Gloria_Fransisca,81.0,79.0,80.5,80.5,83.0,80.5,79.5,84.5,80.0,85.0,3 +Herlin_Faradila_Stifiana,78.5,78.5,79.0,80.0,81.5,81.0,80.5,83.0,80.0,82.5,1 +Karisma_Hardiyati_P._R.,80.5,79.5,78.0,78.5,80.5,81.0,78.0,78.5,79.5,79.5,4 +Kirana_Putri_Agustina,81.0,79.0,79.0,79.0,81.0,81.0,79.0,83.5,80.5,83.5,3 +Lala_Putri_Meilita,77.5,78.0,78.5,79.0,82.0,84.5,81.5,82.5,80.0,85.5,6 +M.fahcri_Affan_Ramadhani,80.5,80.5,80.0,77.0,82.5,86.0,74.0,84.5,80.5,82.5,1 +Mey_Lika_Hanaya_Putri,87.0,78.0,80.0,81.0,82.5,86.5,82.0,84.5,83.0,84.5,6 +Moch.afga_Afreza_Alfiansyah,81.0,79.5,80.5,80.0,83.0,85.0,79.5,86.0,81.0,85.0,4 +Mochammad_Fahri_Nur_Rizky,82.5,79.5,83.0,81.5,80.5,82.5,85.5,86.0,82.0,87.0,1 +Muhammad_Asril_Daffa_Saputra,77.5,77.5,78.0,78.5,80.5,81.5,72.0,78.0,79.5,79.5,4 +Nadya_Anandiva_Silvyani,81.0,82.5,81.0,81.0,81.5,85.5,80.0,87.5,82.5,85.5,6 +Nendra_Nur_Febrian,82.5,77.5,77.5,78.0,79.0,79.0,72.0,76.5,80.5,83.0,4 +Putri_Adelia_Sari,81.0,77.5,78.0,80.0,80.5,84.5,80.0,85.5,82.5,82.0,4 +Ramadhani_Silfi_Damaiyanti,80.0,77.5,78.0,78.5,80.5,86.5,78.0,82.0,81.5,81.0,5 +Rangga_Galuh_Octa_Pradana,79.0,77.0,78.0,77.5,80.0,80.0,72.5,81.0,81.5,79.5,2 +Rehan_Septa_Adi_Ramadhani,83.5,78.0,78.0,79.0,82.0,86.5,75.5,82.0,80.5,80.5,3 +Salsa_Laurintiya,81.0,78.5,79.0,78.0,81.0,78.5,77.0,82.0,79.0,80.5,5 +Salva_Andika,81.0,79.0,79.0,78.0,80.5,84.0,79.5,84.5,81.5,80.5,5 +Sandy_Dwi_Meilano,81.5,82.5,81.0,80.5,81.0,83.5,83.0,85.5,82.0,87.5,1 +Sera_Natalia,80.0,77.5,79.5,80.5,82.5,81.5,80.5,81.0,80.0,84.0,1 +Tasya_Dwi_Oktavia,77.5,77.5,78.0,80.5,82.5,82.5,79.5,79.0,81.5,82.0,5 +Varisha_Anastasya,86.5,80.5,81.5,81.5,80.5,85.0,84.0,85.5,82.5,87.0,1 +Vrananda_Ricky_Saputra,77.5,77.0,79.0,78.0,80.5,78.5,72.0,79.0,81.5,78.5,4 +Widya_Dwi_Astuti,79.5,77.5,79.0,80.5,80.5,81.5,76.0,79.0,80.5,80.5,5 +Agha_Hisyam_Al-haliim,78.5,78.0,77.5,77.5,80.5,78.0,77.5,80.0,75.5,82.0,1 +Ahmad_Rofi`an_Saputra,84.5,80.5,79.0,81.0,82.5,79.0,78.5,80.0,80.0,82.0,1 +Aldo_Dwi_Julianto,83.5,81.0,79.0,77.5,80.5,79.5,81.0,81.0,80.5,85.0,6 +Alvi_Sani,77.0,78.0,78.0,74.0,80.5,77.5,77.5,76.5,76.5,76.0,5 +Aprilia_Wahyuning_Agustin,80.0,77.5,78.5,80.5,82.0,78.0,78.5,82.0,79.5,81.0,3 +Arfian_Setya_Yusinda,77.5,78.0,78.5,78.5,82.5,79.5,77.5,81.0,77.5,81.0,4 +Arga_Wahyu_Prasetyo,79.5,79.5,79.0,80.5,83.0,80.0,78.5,82.5,78.5,82.0,6 +Athaya_Angel_Widodo,81.5,79.5,80.0,83.0,85.0,81.0,79.5,85.0,80.5,85.5,3 +Bambang_Dwi_Sri_Hatmoko,83.0,77.5,78.0,79.5,81.0,79.5,77.5,80.5,80.5,79.5,4 +Bilqiz_Namsya_Prasesta,80.0,77.5,78.0,79.0,81.0,77.5,77.5,80.5,76.5,80.0,5 +Bunga_Damir_Kalolong_Sulai_Manan,79.5,81.0,82.0,79.5,82.5,81.0,78.5,81.5,78.5,83.5,1 +Chalisha_Alqathrunnada_Winsputri,86.5,77.5,79.0,81.0,82.0,82.5,80.5,85.0,78.5,86.5,5 +Decha_Navita_Sari,78.0,77.5,78.0,80.0,80.5,79.0,77.5,81.0,79.5,83.5,6 +Dina_Aulia_Salsabila_Putri,83.5,79.5,78.5,79.0,81.0,80.0,77.5,84.0,81.0,84.0,2 +Dyah_Vivianti,83.0,81.0,79.5,79.5,82.5,84.0,79.5,85.5,80.0,87.5,2 +Endang_Rahayu_Ningsih,83.5,78.0,79.5,80.0,82.5,82.5,78.5,84.5,79.5,85.0,5 +Hildan_Tri_Agustino,77.0,77.5,78.0,77.0,79.5,80.5,77.5,78.0,76.0,79.5,5 +Juliani_Wati,76.5,77.5,78.0,77.0,80.0,78.5,77.5,79.0,77.0,79.5,5 +Kaiyla_Fera_Ayu_Moza,87.0,78.5,78.5,84.0,85.0,87.5,78.5,85.0,79.5,86.5,5 +Mexel_Farel_Erlangga,77.0,76.0,78.0,72.5,79.0,78.0,77.5,75.5,77.0,76.0,4 +Muhamad_Fauzan_Saputra,76.5,78.0,78.0,80.0,83.0,78.0,77.5,80.0,74.5,80.5,4 +Muhammad_Rangga_Saputra,76.0,78.5,78.0,78.5,80.5,81.0,78.5,78.0,79.5,78.5,4 +Muhammad_Rizky_Putra_Aditya,81.0,80.5,77.5,78.5,80.5,81.0,77.5,79.5,73.0,80.5,2 +Nayaka_Sutomo,82.5,84.0,84.0,80.5,84.5,82.5,83.5,87.5,80.0,86.0,1 +Naysilla_Dwi_Anggraini,88.0,78.0,78.0,80.0,81.5,79.5,79.5,83.5,81.0,84.5,3 +Nimas_Yayank_Putri_Prabowo,80.5,78.5,78.0,75.0,83.0,77.0,77.5,84.5,79.5,85.0,2 +Puja_Micky_Harianto,80.0,78.5,78.5,81.5,81.0,81.0,77.5,82.0,79.5,84.0,4 +Reva_Aidilla_Melani,85.0,84.0,83.0,83.5,82.0,81.5,82.5,88.5,80.5,88.5,2 +Rivaldi_Desta_Akbar_Pratama,79.5,80.5,79.0,79.0,80.5,85.0,78.5,80.0,79.5,83.0,4 +Roszhiana_Ramadhani,77.5,77.5,78.0,79.5,83.0,78.0,80.0,79.0,79.0,79.5,5 +Santy_Nurahma_Agustya_Rani_Putri,78.0,78.0,78.0,78.5,83.0,77.5,77.5,78.0,76.5,80.5,4 +Sindy_Aulia_Lestari,78.0,78.0,78.0,78.5,81.0,76.5,77.0,80.0,78.5,80.5,4 +Singgih_Ferdy_Ananda,87.5,79.5,82.5,79.0,84.5,83.5,81.5,89.0,81.5,89.5,1 +Susan_Amiliya_Khoirunisa,81.5,79.5,79.0,82.0,84.0,79.5,79.5,84.0,79.5,87.5,4 +Trisa_Adelia_Parera,83.5,78.0,78.5,79.5,82.5,84.0,77.5,84.0,80.5,84.0,5 +Yohan_Arinugraha,86.5,83.5,83.5,84.0,85.0,81.0,81.0,90.0,84.0,90.0,1 +Ana_Ainus_Sifa,81.0,77.5,79.0,76.0,80.0,81.5,78.5,82.0,79.0,80.5,6 +Andini_Rahmawati,78.5,79.5,79.0,75.5,81.0,83.0,79.5,83.0,77.0,82.0,6 +Angga_Jalu_Arizona,78.5,76.0,76.0,75.0,78.5,77.0,77.0,78.5,74.0,79.0,4 +Anggun_Kartika_Okta_Novita,81.5,76.5,78.0,76.0,80.5,83.5,78.5,84.0,79.5,85.0,6 +Aprian_Mahardika,82.0,79.5,78.0,75.5,79.0,79.5,78.5,78.5,79.5,79.5,1 +Arga_Reyhandika_Pratama,85.5,77.5,80.0,82.0,85.0,77.5,81.5,85.5,83.0,83.5,2 +Awwalun_Firdausi,82.5,84.0,84.0,82.0,81.5,86.0,82.0,89.0,83.0,89.0,6 +Della_Dwi_Pratiwi,80.0,78.5,79.0,80.0,79.5,80.0,78.5,81.0,77.0,82.0,4 +Dhafa_Brillyan_Gustafianto,77.0,76.5,77.0,75.5,78.5,81.0,77.0,79.0,78.5,81.0,4 +Dinda_Windy_Oktaviona,84.0,79.5,81.0,81.5,81.5,83.5,80.5,88.0,83.5,86.0,2 +Erlang_Danendra_Ari_Putra,84.5,76.5,78.0,78.0,78.5,82.5,77.0,79.0,79.5,79.0,1 +Gabriel_Desja_Alexsyata,79.0,76.5,77.0,75.0,79.0,79.5,77.5,77.5,77.0,79.5,4 +Ghea_Anzani_Siswanto,83.5,78.5,78.0,82.0,80.5,81.5,79.5,80.5,81.0,84.0,2 +Hera_Junia_Purnamasari,80.0,82.0,79.5,77.0,80.0,87.5,78.0,86.0,81.5,86.5,2 +Isna_Maulidiyah,83.5,76.5,77.5,77.0,78.5,80.5,77.5,80.0,74.5,79.5,5 +Johan_Satrio_Wicaksono,82.5,77.5,78.0,76.0,78.0,81.0,77.5,78.5,81.5,79.5,5 +Juliana_Wita,80.0,76.5,78.0,76.0,78.5,77.0,78.5,78.0,76.5,80.5,1 +Lucky_Fabrio_Saputra,81.0,84.0,80.5,78.0,79.5,81.0,80.0,82.0,79.5,84.0,1 +Lukman_Khakim_Noah,80.5,76.5,78.0,75.5,78.5,80.0,77.0,79.0,78.5,76.0,4 +Meirakha_Fernanda_Siswardhani,82.5,77.5,80.0,81.0,79.5,83.5,79.0,83.0,80.0,82.0,1 +Mohamad_Rifa'i_Wijayanto,80.5,77.5,78.0,75.5,78.5,81.5,78.5,78.5,79.0,79.5,6 +Mohammad_Iqbal_Hafidh_Amiruddin,82.5,76.5,78.0,75.5,78.5,80.5,77.5,77.5,76.0,81.0,4 +Muhammad_Nur_Rahman_Sya'abibah,85.5,76.5,78.0,81.0,78.5,82.5,77.0,82.0,79.0,78.5,6 +Nashwa_Mentari_Yuwana_Putri,83.5,81.5,81.5,83.5,82.0,85.5,83.0,86.0,82.0,85.5,6 +Nezza_Maura_Putri_Agung,83.5,79.5,81.0,75.5,79.5,78.5,80.0,81.0,79.0,83.0,2 +Revinda_Wisca_Natalie,86.0,81.5,81.0,85.0,80.5,87.0,80.0,85.5,82.5,85.5,3 +Sahal_Ahmad,82.0,84.0,82.5,80.0,79.0,80.0,80.0,81.0,82.0,84.5,4 +Salfa_Aulia_Putri,81.0,76.5,77.0,82.0,80.5,81.5,77.5,79.0,79.5,79.5,6 +Selly_Novtiana_Waty,84.0,76.5,77.5,75.0,79.0,79.5,77.5,79.5,79.5,81.0,1 +Septia_Ayu_Muliasih,77.5,76.5,77.5,74.5,79.5,80.5,77.5,77.0,76.0,79.5,5 +Shafa_Ayunda_Putri,85.5,76.5,80.0,80.0,80.5,80.5,79.5,82.0,81.5,83.0,4 +Shifa_Khayyuna_Qisthi,85.5,78.5,79.5,82.0,81.5,81.0,78.5,84.0,82.0,84.5,3 +Siti_Apriliani_Khairunnisa,80.5,80.5,79.5,78.0,80.5,84.0,79.5,82.0,80.5,82.0,4 +Siti_Aulia_Nur_Latifah,79.0,82.5,84.0,81.0,84.5,82.0,82.0,87.5,82.5,89.0,2 +Tio_Ainun_Romadhoni,81.5,76.5,76.5,79.0,78.5,81.5,77.0,80.0,79.5,80.0,4 +Yuma_Erlangga,79.5,76.0,76.0,77.0,77.5,76.5,77.0,76.5,74.5,79.0,4 +Abid_Fadlih_Hafiyyah_Faza,85.0,78.0,78.0,78.0,79.5,80.0,78.0,79.0,81.5,81.5,4 +Adinda_Dhea_Ochtavyana,86.0,81.5,80.5,81.0,81.0,82.5,80.0,85.0,81.0,83.5,3 +Ahmad_Risky_Maskur,84.5,77.0,77.0,79.0,79.5,80.0,77.5,79.0,80.0,81.5,4 +Ahmad_Rizal_Hanafi,86.5,80.5,80.5,79.0,78.5,81.0,80.5,81.0,79.5,82.0,3 +Ahmad_Rizky_Wijaya,79.0,80.5,81.0,80.0,83.5,79.0,81.0,85.5,81.0,85.0,1 +Alfiani_Mayasari,86.0,78.5,79.0,82.0,80.0,85.0,78.5,85.5,82.0,85.5,2 +Ardan_Pradipta,76.5,79.5,78.0,75.5,82.0,81.0,78.0,81.5,80.0,82.0,4 +Arya_Erlangga_Tino_Putra,80.0,77.0,77.5,80.5,79.0,81.0,78.0,82.5,79.5,80.5,4 +Azka_Febita_Zalfianty,84.5,82.5,83.5,85.0,81.5,81.0,82.5,89.0,82.0,89.0,1 +Bunga_Alikasari,81.0,79.5,80.5,81.0,84.5,81.0,79.5,89.0,83.0,89.0,2 +Cantika_Oktavia_Nurfitri_Mardiani,79.0,78.5,79.0,81.0,81.0,86.0,78.5,85.0,82.5,85.0,3 +Chiko_Bonanza_Cavan_Putra,80.0,78.5,77.5,77.0,79.5,78.5,78.0,79.0,79.0,80.0,1 +Dhea_Ayu_Permatasari,81.5,82.0,79.0,81.0,82.0,88.5,78.5,87.0,82.0,86.5,1 +Galang_Aldi_Ananta_Putra,83.5,80.5,79.5,77.0,79.0,86.5,78.5,85.5,79.5,85.5,3 +Jefana_Dwi_Jayanti,81.5,84.5,84.0,85.0,85.0,90.5,84.0,90.0,81.5,90.0,1 +Jhovani_Vina_Maharani,84.5,79.5,78.0,83.0,79.0,83.5,78.0,80.0,79.0,80.5,2 +Keiza_Olivia_Witari,83.5,83.0,83.0,83.0,83.0,80.5,82.5,88.5,83.0,87.0,1 +Kevin_Arfian_Vidyanata,80.5,77.0,77.5,75.0,78.5,81.5,78.0,80.0,77.0,79.5,4 +M._Alfin_Nur_Rahmad,80.0,84.0,78.5,85.0,78.5,83.0,79.5,86.0,81.5,81.0,1 +Marsha_Syifa'_Setiawati,80.5,77.5,79.0,75.5,79.5,81.5,78.5,82.0,77.5,82.0,6 +Mochammad_Rifky_Febri_Nur_Rohman,76.5,77.0,77.5,72.5,78.5,77.5,78.0,78.0,78.5,77.0,4 +Mohamad_Rizal_Permana_Putra,82.0,77.0,78.0,74.0,79.0,79.0,78.0,83.0,78.5,81.5,4 +Muhammad_Gara_Imam_Arifin,81.5,78.5,79.0,83.5,79.0,81.0,78.0,86.0,81.0,83.5,2 +Muhammad_Khafid_Nuriyanto,89.5,80.5,81.0,81.5,78.5,82.5,81.5,86.0,81.0,87.5,2 +Muhammad_Zennuri,79.5,77.0,79.0,74.5,78.5,83.5,78.5,77.5,78.0,78.0,4 +Rahma_Goespiaputri_Ramadhani,84.5,77.0,78.0,81.5,80.0,82.5,80.0,84.0,80.0,83.5,3 +Rayhan_Aditya,81.5,80.5,81.0,81.5,80.0,81.5,80.5,88.0,81.0,88.0,2 +Rehan_Dwi_Ferdiansyah,76.5,77.0,78.0,73.0,79.0,81.0,78.0,76.5,79.0,77.0,4 +Rima_Dwi_Oktavia,79.5,77.5,78.0,76.0,80.0,79.5,78.0,80.0,80.0,81.0,4 +Riska_Adelia_Dulrahman,80.5,73.0,71.5,71.5,77.0,79.5,77.5,71.0,77.0,72.5,4 +Syakela_Arifah_Azzahra,83.0,77.0,79.0,77.5,79.5,85.0,78.5,80.0,79.0,80.0,5 +Titin_Karunia_Putri,83.0,79.5,78.0,81.0,82.5,85.0,79.0,85.0,81.5,85.0,2 +Vandi_Aulia_Kadhafi,83.5,77.0,79.0,76.0,79.5,79.5,78.5,79.5,78.0,79.0,4 +Yuli_Evita_Wati,83.0,77.5,79.5,80.0,80.5,86.0,79.5,84.5,81.0,83.5,3 +Zulia_Ulifatul_Mahmadah,81.5,78.5,79.0,75.0,79.5,81.0,78.5,81.0,80.0,82.0,6 +Ameliya_Putri_Mentari,86.0,76.5,78.5,79.0,82.5,89.0,79.5,86.0,78.0,84.5,4 +Andika_Bayu_Abriansyah,81.0,72.5,77.5,75.0,79.0,81.0,77.5,78.5,78.5,81.5,4 +Azmi_Halim,84.5,74.5,80.0,81.0,85.0,81.5,79.5,83.0,79.5,83.5,1 +Bambang_Adi_Pramana,83.5,74.5,79.0,78.5,81.0,82.0,79.5,78.5,79.5,79.0,3 +Bryan_Maulana_Wibiantoro,86.0,77.0,82.5,79.0,84.5,84.5,81.0,86.5,80.5,86.5,1 +Dharisman_Bagus_Prastowo,84.0,75.0,79.0,81.5,82.0,82.0,78.5,84.5,82.0,82.5,3 +Ella_Syahra_Agustin,82.0,74.0,80.0,76.5,83.0,82.5,79.5,83.5,81.5,81.5,3 +Febian_Dwi_Andika,82.0,74.5,78.0,74.5,80.0,81.0,77.5,78.5,79.0,78.5,4 +Hawa_Aurelia_Firdaus,81.0,75.5,78.0,80.0,83.0,83.5,77.5,85.0,79.5,82.5,1 +Indri_Julia_Dwi_Dianitami,81.0,76.5,80.0,77.0,81.0,83.0,79.5,83.5,82.5,86.0,1 +Kusuma_Faridatulliya,85.5,75.0,80.0,78.0,83.0,84.5,78.5,81.0,81.5,84.0,6 +Laudia_Vera_Agustin,81.0,75.0,78.5,81.0,83.5,81.5,79.5,83.5,81.0,87.0,3 +M.deno_Bayu_Putra_Hardiansah,80.0,75.0,78.0,76.0,81.0,83.0,78.5,83.0,78.5,80.0,4 +Moch._Febri_Nur_Hidayatullah,78.5,74.0,77.5,72.0,80.0,81.0,77.5,78.0,77.0,76.0,5 +Mochamat_Agil_Desulton,81.5,74.0,77.5,77.0,81.0,81.0,78.5,79.0,78.0,78.5,5 +Moh._Rendi_Saputra,81.0,73.5,78.0,75.5,81.0,81.5,77.5,80.0,79.0,80.0,4 +Mohamad_Bagus_Hermawan,78.0,73.5,77.0,74.0,80.0,81.0,77.5,73.5,79.0,79.0,4 +Muchamad_Jaohar_Firdaus,82.5,74.5,77.0,81.0,82.0,82.0,78.0,79.5,79.5,81.0,3 +Muhamad_Rif'an_Mauludi,88.0,75.5,78.5,82.0,81.5,84.0,77.5,81.0,81.5,82.0,3 +Muhammad_Safi',82.0,77.0,78.0,79.0,80.0,81.5,77.5,79.5,81.5,79.5,4 +Rendi_Prastyo_Aditama,79.5,73.5,77.5,74.5,81.0,78.0,77.5,77.5,79.0,79.0,5 +Renno_Ilham_Revaldo,85.5,73.5,77.5,79.0,81.0,82.5,77.5,83.5,79.5,82.0,2 +Risma_Indira_Fernanda,89.0,77.0,78.5,83.5,83.0,84.0,81.5,84.5,76.5,85.5,3 +Safina_Ismafatul_Roida,78.5,73.5,79.0,80.0,82.0,80.5,79.0,84.0,80.0,81.0,4 +Silvia_Novitasari,88.5,77.0,78.0,77.0,82.0,81.0,77.5,83.0,82.5,81.5,3 +Sonya_Aulia_Dewi,84.5,75.5,82.5,79.0,82.0,82.0,82.0,83.0,81.0,85.0,1 +Talita_Bella_Safira,84.0,75.5,80.0,78.0,82.0,82.5,79.5,79.5,80.5,81.5,1 +Thalyta_Chelse_Olivia_Leovanny,86.5,74.5,80.0,80.0,84.0,82.0,79.5,84.5,83.0,83.5,3 +Ulfa_Kusuma_Dewi,84.5,75.0,78.5,78.0,82.0,81.0,77.5,80.0,81.5,82.0,6 +Wahyu_Subastyan,79.5,73.5,79.0,74.0,80.0,81.5,78.5,74.0,76.0,78.5,4 +Yanuarycha_Putri_Rifda,82.0,73.5,79.0,77.0,81.5,80.0,78.5,80.5,82.0,82.5,4 +Zulfatul_Ilmi_Sa'adah,80.0,73.5,79.5,77.0,84.5,84.0,79.5,82.0,81.5,82.0,4 +Abel_Senja_Agma_Subroto,82.0,77.0,80.0,79.0,80.5,86.0,79.5,83.0,81.5,85.5,2 +Ahmad_Fauzan_Maulana_Ibrahim,82.0,76.0,78.0,77.0,84.0,82.5,77.5,80.5,81.5,82.5,4 +Amin_Ridho_Shobirin,80.5,76.0,82.5,76.0,82.5,84.5,79.5,81.5,80.0,83.0,5 +Andika_Nugrahatama,81.5,72.5,79.0,76.0,79.5,82.0,78.5,82.5,78.5,82.0,4 +Aprilliana_Cahaya_Puspita,82.5,72.5,78.5,79.0,79.5,83.0,77.5,79.0,80.5,83.0,6 +Aulia_Dwi_Suci_Cahyani,82.5,72.5,79.0,80.0,83.0,83.0,78.5,81.0,80.5,82.0,1 +Bilqis_Syafiah_Ahmad,82.0,77.5,79.0,79.0,82.5,86.0,79.0,84.5,82.0,86.5,5 +Danendra_Zahran_Qurunul_Bahri,79.0,72.5,76.5,72.0,83.5,77.5,77.5,81.5,78.0,77.5,4 +Dania_Ismatul_Maula,82.5,77.0,80.5,80.0,84.5,84.0,81.0,86.0,81.0,85.0,1 +Diva_Maulidiya,81.0,77.5,79.0,74.0,81.0,85.0,78.5,80.0,78.0,84.0,6 +Gufroni_Ahmadin_Naja,80.5,74.0,78.0,72.5,80.5,81.5,77.5,80.0,78.0,80.5,4 +Handy_Miftakhul_Ullum,82.0,77.5,78.5,82.0,82.0,86.0,78.5,88.5,82.5,85.5,2 +Kharizma_Putri_Prilia,82.5,79.0,82.0,80.0,81.5,85.0,82.0,83.5,82.5,88.0,1 +Laela_Indriani,80.0,72.5,78.5,72.0,79.5,77.0,78.5,75.5,77.0,77.0,4 +M._Zeka_Azfar_Pahlawan,82.5,71.0,79.5,78.0,85.0,84.0,79.0,79.0,81.0,80.0,3 +Maysa_Purwadinata,81.0,72.5,79.5,76.0,81.5,81.5,79.5,79.5,80.5,80.0,1 +Medina_Putri_Febiani,81.0,77.5,79.5,81.0,84.5,84.5,79.0,85.0,82.5,83.5,4 +Moh._Raditya_Haria_Nugraha,81.0,72.5,77.5,78.0,82.5,83.5,77.5,84.0,79.0,83.5,1 +Mohammad_Reno_Zainul_Pratama,81.5,72.5,77.5,75.0,79.0,84.0,77.5,73.5,81.5,81.0,4 +Muhamad_Kafil_Lubawi,81.5,72.5,79.0,76.5,80.5,84.0,78.5,80.5,79.5,82.5,4 +Nafatria_Kirana,80.0,72.5,78.5,73.5,79.0,78.0,78.5,77.5,74.5,76.5,4 +Nanang_Mariyanto,79.5,73.5,77.5,79.0,79.0,82.0,77.5,80.0,80.0,78.5,6 +Quinnsha_Launada_Wibowo,82.0,77.0,79.0,78.0,82.0,83.5,79.0,84.0,79.0,82.0,1 +Rahardyan_Felix_Kurniawan_(kr),81.5,77.0,81.0,80.0,83.0,87.0,78.5,85.5,80.0,85.0,1 +Rangga_Risqi_Bintang_S.,82.0,76.0,79.0,79.0,80.5,85.0,78.5,82.0,80.0,85.0,1 +Saputra_Seftian_Rahmatdhani,80.5,76.0,79.0,76.5,82.5,87.0,79.5,84.5,81.0,88.0,6 +Siti_Dian_Rahmadani,79.5,72.5,78.5,74.5,79.5,83.0,78.5,75.0,77.5,82.0,5 +Surya_Mahadika,81.5,76.0,79.0,76.5,80.5,83.5,79.0,84.5,80.0,85.5,1 +Tribuana_Reza_Fanani,82.0,76.0,80.0,80.0,80.5,82.5,79.0,84.5,76.0,82.5,2 +Triyah_Bhuana,81.5,77.0,80.0,76.0,79.5,82.0,77.5,83.0,79.0,80.5,4 +Viasya_Aqnia_Zela,82.0,77.0,79.5,78.0,83.5,83.5,79.5,86.0,79.5,83.0,1 +Wahyu_Febrianti,83.0,77.0,80.5,83.5,84.5,88.5,79.5,86.5,83.5,89.5,4 +Wildan_Yongga_Jodyatmika,82.5,72.5,78.5,78.0,79.0,81.5,77.5,77.0,82.0,81.0,1 +Wisnu_Tirta_Kusuma,81.5,73.5,78.5,79.0,79.5,81.0,77.5,80.0,80.5,81.0,4 +Zaneta_Ayu_Nur_Harsya,82.5,72.5,79.0,78.0,82.0,80.5,78.5,80.5,81.5,84.5,5 +Ahmad_Dodik_Pratama,79.5,73.5,79.5,78.0,83.0,86.0,80.0,79.0,79.0,85.5,1 +Ahmad_Pramuja,81.5,76.5,79.0,83.5,84.0,84.0,80.5,84.0,79.5,84.5,3 +Aprita_Nur_Aini,79.5,77.0,78.5,78.0,84.5,85.5,82.0,85.0,80.5,83.0,6 +Ardian_Rama_Budi_Kusuma,78.5,73.5,78.0,79.0,82.0,84.0,78.5,78.5,76.0,79.5,5 +Arrasha_Raditya_Andani,81.0,75.0,80.5,78.0,82.5,85.5,82.0,81.5,81.5,84.0,2 +Bayu_Ananta_Julian_Wicaksono,79.5,74.0,78.5,79.0,84.0,80.5,78.5,76.5,71.5,75.5,5 +Cahya_Sasadara,80.5,75.0,78.0,78.0,82.5,85.5,82.5,82.5,72.5,81.5,5 +Dimas_Ragil_Saputra,80.0,73.5,77.5,74.5,79.0,79.5,80.5,75.5,75.0,77.0,4 +Dwi_Ka_Fauzian_Maulana_Ikhsan,80.5,75.0,77.5,77.0,79.5,83.5,81.5,79.5,80.5,81.0,4 +Dwi_Nurida_Syifa,80.0,75.0,82.0,74.5,82.5,86.0,80.0,76.0,82.5,87.5,1 +Fibriana_Fira_Rahmawati,80.5,77.0,78.5,77.0,83.0,85.5,81.0,84.5,81.5,83.0,6 +Helsabrina_Faj'ri_Mahmuna,80.5,76.5,79.0,78.0,80.5,85.0,82.0,82.0,82.0,82.0,4 +Hesnanda_Azeema_Naswa_Krisnasekha,79.5,77.0,78.5,79.0,84.5,87.5,84.0,86.5,80.5,85.5,6 +Irma_Rahayu,80.5,77.5,80.5,76.0,82.5,86.0,78.5,86.0,82.0,84.5,1 +Jimi_Pranata,79.5,74.0,77.5,75.5,79.5,80.0,82.0,76.5,72.5,81.0,1 +Kevin_Saputra,79.5,74.0,76.5,78.0,80.5,82.0,79.5,82.5,78.5,83.0,5 +Keylla_Aulia_Renata,80.0,77.5,81.0,76.5,83.5,85.5,81.0,86.0,83.0,85.5,2 +Lia_Puspitasari,79.5,75.5,78.0,77.0,79.5,83.5,81.0,82.0,79.0,84.0,6 +Luna_Aurelia_Romadhona_Putri,80.5,76.5,81.0,83.5,84.0,89.0,81.0,84.5,82.0,88.0,1 +Moch._Rangga_Ardiyansah,81.0,76.5,78.5,79.0,82.5,86.0,85.0,86.5,80.5,84.0,1 +Moh._Krisna_Hendra_Gunawan,80.5,75.5,78.0,74.5,82.5,80.5,82.5,75.5,75.5,79.5,4 diff --git a/data/dataset_smakom_final.csv b/data/dataset_smakom_final.csv new file mode 100644 index 0000000..d1c5805 --- /dev/null +++ b/data/dataset_smakom_final.csv @@ -0,0 +1,301 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Ahmad_Adib_Almuiz,80.5,76.0,75.5,72.5,78.5,83.0,71.5,79.0,78.5,79.5,1 +Amin_Ridho_Sholikin,83.5,82.5,81.5,78.5,81.0,82.5,82.0,86.5,81.5,86.0,6 +Arik_Wisnu_Pramuditiya,86.0,81.0,82.0,81.0,82.5,83.0,81.5,86.0,82.5,89.0,6 +Brian_Agung_Pamungkas,90.0,82.5,83.0,84.5,85.0,88.0,85.5,89.5,84.0,90.0,6 +Chesylya_Adinnata_Maylani,79.5,76.0,79.5,79.5,81.0,81.0,75.5,82.0,80.5,83.5,3 +Dewi_Marisah_Manggar_Retno,89.0,80.5,78.5,81.5,81.0,83.0,84.0,85.5,83.0,85.5,6 +Dwi_Andika,81.0,76.5,76.5,78.0,81.0,83.5,73.5,78.5,78.5,79.0,2 +Dyah_Ayu_Pratiwi,74.5,76.5,77.5,76.5,80.5,78.5,73.5,77.0,80.0,79.5,1 +Ermita_Trisya_Sari,81.0,83.0,81.5,82.0,83.0,87.5,86.5,87.5,80.0,89.0,6 +Fika_Nur_Rohmah,82.0,78.0,78.0,79.0,80.5,83.0,79.0,79.0,80.5,80.5,3 +Fino_Andreyan_Pratama,84.0,79.0,79.0,80.0,80.0,81.5,75.0,81.5,80.5,81.5,4 +Fitri_Yulita_Sari,88.5,79.5,78.0,82.5,82.5,84.5,78.0,84.5,82.0,85.0,6 +Frisa_Agiel_Kirania,81.0,78.0,78.0,78.0,80.5,83.0,78.0,79.0,80.0,80.5,3 +Handoko_Dimas_Wahyu_Nugroho,79.0,76.0,78.5,77.0,82.5,80.5,74.5,78.5,75.5,78.5,1 +Keyla_Chantika_Devy_Julieta,76.5,79.5,80.0,74.5,80.5,81.0,76.0,80.0,79.5,82.0,2 +Latifatul_Isma,83.0,82.0,77.0,80.5,81.0,85.0,86.5,86.0,79.0,86.5,6 +M._Faris_Ardiyanto,75.0,76.0,76.0,76.0,78.5,84.5,73.5,77.5,77.5,76.0,1 +Meriyas_Eka_Anjani,85.5,77.0,78.0,81.0,83.0,81.0,74.0,82.5,83.0,85.5,5 +Mitzy_Aurora_Azzahra,85.0,79.0,80.0,80.0,83.0,83.5,80.5,84.0,81.0,84.5,5 +Moch._Galih_Nur_Hidayatullah,77.0,77.0,77.0,77.0,80.5,78.5,74.0,78.0,79.5,78.5,1 +Mohammad_Trio_Subekti,77.5,76.5,76.5,76.0,79.5,82.0,73.0,77.5,79.5,78.0,1 +Muhamad_Rangga_Aji_Pratama,86.0,77.5,77.5,79.5,83.5,86.0,74.5,83.0,82.5,81.0,5 +Nidda'ul_Fijriah,82.5,78.5,78.5,79.5,80.0,79.5,74.0,82.5,82.5,86.0,4 +Novita_Eka_Ramandani,78.5,78.0,78.0,79.5,82.0,82.5,79.0,80.0,81.0,84.0,4 +Putri_Rahayu_Ningsih,79.5,79.5,79.5,79.5,84.0,80.0,79.5,80.0,80.0,85.5,4 +Quennata_Gladis_Bilbina,86.0,78.5,78.0,80.5,82.5,86.0,79.5,79.5,82.0,81.5,5 +Rizki_Andi_Pratama,85.5,79.5,80.5,81.0,81.5,83.0,84.5,86.0,82.0,86.0,6 +Rizqi_Pangestu_Arsyadipura,84.5,84.0,81.5,82.0,81.0,79.5,83.5,88.0,81.5,87.0,6 +Rohmatul_Fitria_Dewi,87.5,78.0,78.0,83.0,81.0,84.5,80.5,80.5,82.0,81.5,5 +Satrio_Damar_Anggono,77.5,78.5,77.0,76.5,80.5,80.0,73.5,83.5,80.0,85.5,2 +Shofiyyatul_El_Husna,87.5,78.5,79.0,80.5,79.0,77.5,82.0,83.5,81.5,83.5,4 +Tegar_Krido_Wibowo,79.5,77.0,79.5,77.5,80.0,77.5,77.0,78.5,79.5,80.0,2 +Tegar_Reka_Wijaya,82.0,79.5,79.5,81.0,82.5,83.5,81.5,84.0,82.0,86.5,6 +Vania_Ika_Melinda,80.5,79.5,79.5,80.5,81.0,80.5,82.0,84.0,79.0,83.5,5 +Zaraya_Jelita_Putri_Ardina,84.0,82.5,81.5,81.5,81.0,83.5,82.0,84.0,81.0,86.0,6 +Ahmad_Maulana_Rizky_Aditya_Wijaya,85.5,78.5,77.5,79.5,83.0,79.5,74.0,82.0,80.5,84.0,3 +Alhasby_Bachtiar,79.5,79.5,78.5,81.5,80.0,79.5,76.0,84.0,81.5,85.0,4 +Aprilia_Martalita_Wibowo,78.5,77.0,78.0,80.0,80.5,81.5,78.5,85.0,78.0,84.5,4 +Arshinta_Marthalie_Gunawan,77.0,77.0,79.0,80.5,80.0,79.5,80.0,78.5,79.0,80.0,3 +Atadea_Lie_Intan_Karina,86.5,80.5,78.0,81.0,81.0,78.0,76.5,84.0,77.5,81.0,4 +Azzahra_Dewi_Natria,83.5,79.5,80.0,82.5,82.5,84.5,81.5,89.0,81.5,86.5,6 +Bagus_Rohman_Maulana,81.5,82.5,80.5,79.5,80.0,81.5,81.5,83.5,81.5,86.0,5 +Binti_Yisha_Zahra_Futri,85.0,83.0,78.5,83.5,82.5,81.0,85.5,88.5,82.0,90.0,6 +Chalista_Ayunda_Sukmaningtyas,84.0,79.0,78.0,82.5,80.5,81.5,82.0,87.0,78.5,85.0,5 +Clara_Balqis_Putri_Febrianti,82.0,83.0,82.5,84.5,85.0,84.5,84.5,88.5,82.5,88.5,6 +Davin_Yudha_Pratama,82.5,78.0,78.5,81.5,83.0,81.0,73.5,84.0,79.5,82.5,4 +Dian_Noviyanti,87.5,77.5,79.0,79.5,79.5,85.5,77.5,81.0,81.0,83.5,4 +Dwi_Kevfri_Kenata,81.0,80.5,82.0,80.5,82.5,81.5,78.5,84.5,82.5,86.0,5 +Fahril_Rahmad_Tri_Setyawan,79.5,77.0,78.0,77.0,80.0,86.0,77.5,81.0,79.5,81.0,3 +Firstian_Vidya_Permana,79.5,77.5,79.0,78.0,80.5,83.0,77.5,78.0,78.5,78.5,2 +Galang_Aldiyansah_Putra,82.5,78.5,77.0,77.5,78.5,82.0,73.5,83.0,78.5,81.0,2 +Ghania_Hardiyanti,86.0,83.5,82.5,82.5,83.0,85.5,86.5,87.5,82.0,87.0,6 +Hamida_Ulviana_Dewi,79.5,79.5,78.5,81.0,79.5,85.5,75.0,83.0,77.5,83.0,4 +Hengky_Prasetyo,85.0,77.0,77.0,75.5,80.5,80.0,73.5,79.0,76.5,78.5,1 +Kellvi_Tiaska_Putri,78.0,77.5,77.5,79.5,80.0,83.0,76.5,81.0,80.5,80.5,3 +Kurniawan_Dyo_Tri_Warsono,75.0,76.5,77.0,74.5,79.5,80.0,74.5,79.5,78.5,76.5,1 +Mochamad_Ardiansyah_Saputra,85.5,77.0,77.0,78.5,79.0,83.0,73.5,77.5,81.0,80.5,2 +Mochammad_Yuda_Aditia,87.0,76.5,76.0,80.0,81.0,81.0,73.5,78.5,81.5,81.0,3 +Mohammad_Raihan_Nur_Fajri,81.0,77.0,76.0,80.0,81.0,82.5,73.5,81.0,80.5,81.0,3 +Muhammad_Tegar_Prayuda,81.5,78.5,77.0,80.5,82.0,80.0,76.5,82.5,80.5,85.5,4 +Muhammad_Zainal_Asrofi,78.0,76.5,78.0,80.0,80.0,81.0,74.5,79.5,78.5,78.0,2 +Nur_Aleeya_Afrina_Suwandi,83.5,79.5,80.5,83.5,83.0,84.0,84.0,89.0,81.5,87.0,6 +Prima_Dyah_Novanda,85.0,80.5,81.5,81.0,83.0,82.0,83.5,86.5,77.5,85.5,6 +Rika_Nur_Fauziah,80.5,79.5,79.5,81.0,83.5,85.0,80.5,81.0,79.5,85.5,5 +Satryo_Gito_Pratomo,87.0,79.5,81.5,82.0,81.5,83.0,84.5,90.0,82.5,89.0,6 +Septian_Daniarti_Fitri_Astutik,79.0,78.5,78.0,81.0,83.0,82.0,76.0,84.0,77.0,82.5,4 +Suci_Rahayu_Saputri,81.5,78.0,77.0,80.0,80.5,80.0,75.5,77.5,79.5,80.0,2 +Sujiati_Fitrianingsih,83.5,77.5,78.0,79.5,80.0,83.0,76.5,84.0,80.5,80.5,4 +Tata_Agata_Afga_Pratama,81.5,78.0,77.5,74.5,80.5,78.5,75.0,78.5,81.0,79.5,1 +Yahya_Handika_Aditia,87.0,78.0,78.0,75.5,81.0,82.0,74.0,79.0,80.5,80.5,2 +Yulia_Nur_Lismarita,80.5,77.5,78.0,80.5,81.0,80.0,80.5,83.0,77.5,83.0,3 +Aditya_Rizky_Romadhon,81.0,77.5,76.5,79.5,80.0,81.0,76.5,82.0,80.5,80.5,3 +Aisyah_Fidinna_Rahmatika,83.5,76.5,77.5,80.5,81.0,86.5,79.0,82.5,83.0,80.5,5 +Aldo_Widodo,81.5,76.5,77.0,75.0,77.5,76.5,71.5,77.0,76.0,77.0,1 +Alvino_Surya_Pratama,78.0,77.5,77.5,75.5,78.0,80.0,80.0,81.5,82.5,80.5,2 +Alvinza_Brian_Saputra,76.5,76.5,76.5,74.5,79.0,77.5,71.5,75.0,77.5,76.5,1 +Dhimas_Pandu_Wijaya,88.0,77.5,77.5,80.0,76.0,81.5,72.0,81.0,83.0,82.0,3 +Fauziah_Elsa_Putri_Purnomo,81.0,82.5,84.0,82.5,83.0,87.0,85.5,85.0,82.0,88.5,6 +Feisal_Wisnu_Raditya,78.0,77.0,77.5,75.0,78.5,81.0,74.5,79.0,78.5,79.5,1 +Fitriani_Nurul_Norhayati,79.0,77.5,80.0,77.0,80.5,82.0,76.5,79.0,76.5,82.5,2 +Fivi_Widyo_Wati,79.5,79.5,80.0,78.5,80.5,79.0,83.0,84.0,79.0,84.5,4 +Gloria_Fransisca,81.0,79.0,80.5,80.5,83.0,80.5,79.5,84.5,80.0,85.0,5 +Herlin_Faradila_Stifiana,78.5,78.5,79.0,80.0,81.5,81.0,80.5,83.0,80.0,82.5,4 +Karisma_Hardiyati_P._R.,80.5,79.5,78.0,78.5,80.5,81.0,78.0,78.5,79.5,79.5,3 +Kirana_Putri_Agustina,81.0,79.0,79.0,79.0,81.0,81.0,79.0,83.5,80.5,83.5,4 +Lala_Putri_Meilita,77.5,78.0,78.5,79.0,82.0,84.5,81.5,82.5,80.0,85.5,4 +M.fahcri_Affan_Ramadhani,80.5,80.5,80.0,77.0,82.5,86.0,74.0,84.5,80.5,82.5,4 +Mey_Lika_Hanaya_Putri,87.0,78.0,80.0,81.0,82.5,86.5,82.0,84.5,83.0,84.5,6 +Moch.afga_Afreza_Alfiansyah,81.0,79.5,80.5,80.0,83.0,85.0,79.5,86.0,81.0,85.0,5 +Mochammad_Fahri_Nur_Rizky,82.5,79.5,83.0,81.5,80.5,82.5,85.5,86.0,82.0,87.0,6 +Muhammad_Asril_Daffa_Saputra,77.5,77.5,78.0,78.5,80.5,81.5,72.0,78.0,79.5,79.5,2 +Nadya_Anandiva_Silvyani,81.0,82.5,81.0,81.0,81.5,85.5,80.0,87.5,82.5,85.5,6 +Nendra_Nur_Febrian,82.5,77.5,77.5,78.0,79.0,79.0,72.0,76.5,80.5,83.0,2 +Putri_Adelia_Sari,81.0,77.5,78.0,80.0,80.5,84.5,80.0,85.5,82.5,82.0,5 +Ramadhani_Silfi_Damaiyanti,80.0,77.5,78.0,78.5,80.5,86.5,78.0,82.0,81.5,81.0,4 +Rangga_Galuh_Octa_Pradana,79.0,77.0,78.0,77.5,80.0,80.0,72.5,81.0,81.5,79.5,2 +Rehan_Septa_Adi_Ramadhani,83.5,78.0,78.0,79.0,82.0,86.5,75.5,82.0,80.5,80.5,4 +Salsa_Laurintiya,81.0,78.5,79.0,78.0,81.0,78.5,77.0,82.0,79.0,80.5,3 +Salva_Andika,81.0,79.0,79.0,78.0,80.5,84.0,79.5,84.5,81.5,80.5,4 +Sandy_Dwi_Meilano,81.5,82.5,81.0,80.5,81.0,83.5,83.0,85.5,82.0,87.5,6 +Sera_Natalia,80.0,77.5,79.5,80.5,82.5,81.5,80.5,81.0,80.0,84.0,4 +Tasya_Dwi_Oktavia,77.5,77.5,78.0,80.5,82.5,82.5,79.5,79.0,81.5,82.0,4 +Varisha_Anastasya,86.5,80.5,81.5,81.5,80.5,85.0,84.0,85.5,82.5,87.0,6 +Vrananda_Ricky_Saputra,77.5,77.0,79.0,78.0,80.5,78.5,72.0,79.0,81.5,78.5,2 +Widya_Dwi_Astuti,79.5,77.5,79.0,80.5,80.5,81.5,76.0,79.0,80.5,80.5,3 +Agha_Hisyam_Al-haliim,78.5,78.0,77.5,77.5,80.5,78.0,77.5,80.0,75.5,82.0,2 +Ahmad_Rofi`an_Saputra,84.5,80.5,79.0,81.0,82.5,79.0,78.5,80.0,80.0,82.0,4 +Aldo_Dwi_Julianto,83.5,81.0,79.0,77.5,80.5,79.5,81.0,81.0,80.5,85.0,4 +Alvi_Sani,77.0,78.0,78.0,74.0,80.5,77.5,77.5,76.5,76.5,76.0,1 +Aprilia_Wahyuning_Agustin,80.0,77.5,78.5,80.5,82.0,78.0,78.5,82.0,79.5,81.0,3 +Arfian_Setya_Yusinda,77.5,78.0,78.5,78.5,82.5,79.5,77.5,81.0,77.5,81.0,2 +Arga_Wahyu_Prasetyo,79.5,79.5,79.0,80.5,83.0,80.0,78.5,82.5,78.5,82.0,4 +Athaya_Angel_Widodo,81.5,79.5,80.0,83.0,85.0,81.0,79.5,85.0,80.5,85.5,6 +Bambang_Dwi_Sri_Hatmoko,83.0,77.5,78.0,79.5,81.0,79.5,77.5,80.5,80.5,79.5,3 +Bilqiz_Namsya_Prasesta,80.0,77.5,78.0,79.0,81.0,77.5,77.5,80.5,76.5,80.0,2 +Bunga_Damir_Kalolong_Sulai_Manan,79.5,81.0,82.0,79.5,82.5,81.0,78.5,81.5,78.5,83.5,4 +Chalisha_Alqathrunnada_Winsputri,86.5,77.5,79.0,81.0,82.0,82.5,80.5,85.0,78.5,86.5,5 +Decha_Navita_Sari,78.0,77.5,78.0,80.0,80.5,79.0,77.5,81.0,79.5,83.5,3 +Dina_Aulia_Salsabila_Putri,83.5,79.5,78.5,79.0,81.0,80.0,77.5,84.0,81.0,84.0,4 +Dyah_Vivianti,83.0,81.0,79.5,79.5,82.5,84.0,79.5,85.5,80.0,87.5,5 +Endang_Rahayu_Ningsih,83.5,78.0,79.5,80.0,82.5,82.5,78.5,84.5,79.5,85.0,5 +Hildan_Tri_Agustino,77.0,77.5,78.0,77.0,79.5,80.5,77.5,78.0,76.0,79.5,1 +Juliani_Wati,76.5,77.5,78.0,77.0,80.0,78.5,77.5,79.0,77.0,79.5,1 +Kaiyla_Fera_Ayu_Moza,87.0,78.5,78.5,84.0,85.0,87.5,78.5,85.0,79.5,86.5,6 +Mexel_Farel_Erlangga,77.0,76.0,78.0,72.5,79.0,78.0,77.5,75.5,77.0,76.0,1 +Muhamad_Fauzan_Saputra,76.5,78.0,78.0,80.0,83.0,78.0,77.5,80.0,74.5,80.5,2 +Muhammad_Rangga_Saputra,76.0,78.5,78.0,78.5,80.5,81.0,78.5,78.0,79.5,78.5,2 +Muhammad_Rizky_Putra_Aditya,81.0,80.5,77.5,78.5,80.5,81.0,77.5,79.5,73.0,80.5,2 +Nayaka_Sutomo,82.5,84.0,84.0,80.5,84.5,82.5,83.5,87.5,80.0,86.0,6 +Naysilla_Dwi_Anggraini,88.0,78.0,78.0,80.0,81.5,79.5,79.5,83.5,81.0,84.5,4 +Nimas_Yayank_Putri_Prabowo,80.5,78.5,78.0,75.0,83.0,77.0,77.5,84.5,79.5,85.0,2 +Puja_Micky_Harianto,80.0,78.5,78.5,81.5,81.0,81.0,77.5,82.0,79.5,84.0,4 +Reva_Aidilla_Melani,85.0,84.0,83.0,83.5,82.0,81.5,82.5,88.5,80.5,88.5,6 +Rivaldi_Desta_Akbar_Pratama,79.5,80.5,79.0,79.0,80.5,85.0,78.5,80.0,79.5,83.0,4 +Roszhiana_Ramadhani,77.5,77.5,78.0,79.5,83.0,78.0,80.0,79.0,79.0,79.5,2 +Santy_Nurahma_Agustya_Rani_Putri,78.0,78.0,78.0,78.5,83.0,77.5,77.5,78.0,76.5,80.5,2 +Sindy_Aulia_Lestari,78.0,78.0,78.0,78.5,81.0,76.5,77.0,80.0,78.5,80.5,2 +Singgih_Ferdy_Ananda,87.5,79.5,82.5,79.0,84.5,83.5,81.5,89.0,81.5,89.5,6 +Susan_Amiliya_Khoirunisa,81.5,79.5,79.0,82.0,84.0,79.5,79.5,84.0,79.5,87.5,5 +Trisa_Adelia_Parera,83.5,78.0,78.5,79.5,82.5,84.0,77.5,84.0,80.5,84.0,5 +Yohan_Arinugraha,86.5,83.5,83.5,84.0,85.0,81.0,81.0,90.0,84.0,90.0,6 +Ana_Ainus_Sifa,81.0,77.5,79.0,76.0,80.0,81.5,78.5,82.0,79.0,80.5,2 +Andini_Rahmawati,78.5,79.5,79.0,75.5,81.0,83.0,79.5,83.0,77.0,82.0,3 +Angga_Jalu_Arizona,78.5,76.0,76.0,75.0,78.5,77.0,77.0,78.5,74.0,79.0,1 +Anggun_Kartika_Okta_Novita,81.5,76.5,78.0,76.0,80.5,83.5,78.5,84.0,79.5,85.0,3 +Aprian_Mahardika,82.0,79.5,78.0,75.5,79.0,79.5,78.5,78.5,79.5,79.5,2 +Arga_Reyhandika_Pratama,85.5,77.5,80.0,82.0,85.0,77.5,81.5,85.5,83.0,83.5,5 +Awwalun_Firdausi,82.5,84.0,84.0,82.0,81.5,86.0,82.0,89.0,83.0,89.0,6 +Della_Dwi_Pratiwi,80.0,78.5,79.0,80.0,79.5,80.0,78.5,81.0,77.0,82.0,3 +Dhafa_Brillyan_Gustafianto,77.0,76.5,77.0,75.5,78.5,81.0,77.0,79.0,78.5,81.0,1 +Dinda_Windy_Oktaviona,84.0,79.5,81.0,81.5,81.5,83.5,80.5,88.0,83.5,86.0,6 +Erlang_Danendra_Ari_Putra,84.5,76.5,78.0,78.0,78.5,82.5,77.0,79.0,79.5,79.0,2 +Gabriel_Desja_Alexsyata,79.0,76.5,77.0,75.0,79.0,79.5,77.5,77.5,77.0,79.5,1 +Ghea_Anzani_Siswanto,83.5,78.5,78.0,82.0,80.5,81.5,79.5,80.5,81.0,84.0,4 +Hera_Junia_Purnamasari,80.0,82.0,79.5,77.0,80.0,87.5,78.0,86.0,81.5,86.5,5 +Isna_Maulidiyah,83.5,76.5,77.5,77.0,78.5,80.5,77.5,80.0,74.5,79.5,1 +Johan_Satrio_Wicaksono,82.5,77.5,78.0,76.0,78.0,81.0,77.5,78.5,81.5,79.5,2 +Juliana_Wita,80.0,76.5,78.0,76.0,78.5,77.0,78.5,78.0,76.5,80.5,1 +Lucky_Fabrio_Saputra,81.0,84.0,80.5,78.0,79.5,81.0,80.0,82.0,79.5,84.0,4 +Lukman_Khakim_Noah,80.5,76.5,78.0,75.5,78.5,80.0,77.0,79.0,78.5,76.0,1 +Meirakha_Fernanda_Siswardhani,82.5,77.5,80.0,81.0,79.5,83.5,79.0,83.0,80.0,82.0,4 +Mohamad_Rifa'i_Wijayanto,80.5,77.5,78.0,75.5,78.5,81.5,78.5,78.5,79.0,79.5,1 +Mohammad_Iqbal_Hafidh_Amiruddin,82.5,76.5,78.0,75.5,78.5,80.5,77.5,77.5,76.0,81.0,1 +Muhammad_Nur_Rahman_Sya'abibah,85.5,76.5,78.0,81.0,78.5,82.5,77.0,82.0,79.0,78.5,3 +Nashwa_Mentari_Yuwana_Putri,83.5,81.5,81.5,83.5,82.0,85.5,83.0,86.0,82.0,85.5,6 +Nezza_Maura_Putri_Agung,83.5,79.5,81.0,75.5,79.5,78.5,80.0,81.0,79.0,83.0,3 +Revinda_Wisca_Natalie,86.0,81.5,81.0,85.0,80.5,87.0,80.0,85.5,82.5,85.5,6 +Sahal_Ahmad,82.0,84.0,82.5,80.0,79.0,80.0,80.0,81.0,82.0,84.5,5 +Salfa_Aulia_Putri,81.0,76.5,77.0,82.0,80.5,81.5,77.5,79.0,79.5,79.5,3 +Selly_Novtiana_Waty,84.0,76.5,77.5,75.0,79.0,79.5,77.5,79.5,79.5,81.0,1 +Septia_Ayu_Muliasih,77.5,76.5,77.5,74.5,79.5,80.5,77.5,77.0,76.0,79.5,1 +Shafa_Ayunda_Putri,85.5,76.5,80.0,80.0,80.5,80.5,79.5,82.0,81.5,83.0,4 +Shifa_Khayyuna_Qisthi,85.5,78.5,79.5,82.0,81.5,81.0,78.5,84.0,82.0,84.5,5 +Siti_Apriliani_Khairunnisa,80.5,80.5,79.5,78.0,80.5,84.0,79.5,82.0,80.5,82.0,4 +Siti_Aulia_Nur_Latifah,79.0,82.5,84.0,81.0,84.5,82.0,82.0,87.5,82.5,89.0,6 +Tio_Ainun_Romadhoni,81.5,76.5,76.5,79.0,78.5,81.5,77.0,80.0,79.5,80.0,2 +Yuma_Erlangga,79.5,76.0,76.0,77.0,77.5,76.5,77.0,76.5,74.5,79.0,1 +Abid_Fadlih_Hafiyyah_Faza,85.0,78.0,78.0,78.0,79.5,80.0,78.0,79.0,81.5,81.5,3 +Adinda_Dhea_Ochtavyana,86.0,81.5,80.5,81.0,81.0,82.5,80.0,85.0,81.0,83.5,5 +Ahmad_Risky_Maskur,84.5,77.0,77.0,79.0,79.5,80.0,77.5,79.0,80.0,81.5,2 +Ahmad_Rizal_Hanafi,86.5,80.5,80.5,79.0,78.5,81.0,80.5,81.0,79.5,82.0,4 +Ahmad_Rizky_Wijaya,79.0,80.5,81.0,80.0,83.5,79.0,81.0,85.5,81.0,85.0,5 +Alfiani_Mayasari,86.0,78.5,79.0,82.0,80.0,85.0,78.5,85.5,82.0,85.5,6 +Ardan_Pradipta,76.5,79.5,78.0,75.5,82.0,81.0,78.0,81.5,80.0,82.0,2 +Arya_Erlangga_Tino_Putra,80.0,77.0,77.5,80.5,79.0,81.0,78.0,82.5,79.5,80.5,3 +Azka_Febita_Zalfianty,84.5,82.5,83.5,85.0,81.5,81.0,82.5,89.0,82.0,89.0,6 +Bunga_Alikasari,81.0,79.5,80.5,81.0,84.5,81.0,79.5,89.0,83.0,89.0,6 +Cantika_Oktavia_Nurfitri_Mardiani,79.0,78.5,79.0,81.0,81.0,86.0,78.5,85.0,82.5,85.0,5 +Chiko_Bonanza_Cavan_Putra,80.0,78.5,77.5,77.0,79.5,78.5,78.0,79.0,79.0,80.0,2 +Dhea_Ayu_Permatasari,81.5,82.0,79.0,81.0,82.0,88.5,78.5,87.0,82.0,86.5,6 +Galang_Aldi_Ananta_Putra,83.5,80.5,79.5,77.0,79.0,86.5,78.5,85.5,79.5,85.5,5 +Jefana_Dwi_Jayanti,81.5,84.5,84.0,85.0,85.0,90.5,84.0,90.0,81.5,90.0,6 +Jhovani_Vina_Maharani,84.5,79.5,78.0,83.0,79.0,83.5,78.0,80.0,79.0,80.5,4 +Keiza_Olivia_Witari,83.5,83.0,83.0,83.0,83.0,80.5,82.5,88.5,83.0,87.0,6 +Kevin_Arfian_Vidyanata,80.5,77.0,77.5,75.0,78.5,81.5,78.0,80.0,77.0,79.5,1 +M._Alfin_Nur_Rahmad,80.0,84.0,78.5,85.0,78.5,83.0,79.5,86.0,81.5,81.0,6 +Marsha_Syifa'_Setiawati,80.5,77.5,79.0,75.5,79.5,81.5,78.5,82.0,77.5,82.0,2 +Mochammad_Rifky_Febri_Nur_Rohman,76.5,77.0,77.5,72.5,78.5,77.5,78.0,78.0,78.5,77.0,1 +Mohamad_Rizal_Permana_Putra,82.0,77.0,78.0,74.0,79.0,79.0,78.0,83.0,78.5,81.5,1 +Muhammad_Gara_Imam_Arifin,81.5,78.5,79.0,83.5,79.0,81.0,78.0,86.0,81.0,83.5,5 +Muhammad_Khafid_Nuriyanto,89.5,80.5,81.0,81.5,78.5,82.5,81.5,86.0,81.0,87.5,6 +Muhammad_Zennuri,79.5,77.0,79.0,74.5,78.5,83.5,78.5,77.5,78.0,78.0,1 +Rahma_Goespiaputri_Ramadhani,84.5,77.0,78.0,81.5,80.0,82.5,80.0,84.0,80.0,83.5,5 +Rayhan_Aditya,81.5,80.5,81.0,81.5,80.0,81.5,80.5,88.0,81.0,88.0,6 +Rehan_Dwi_Ferdiansyah,76.5,77.0,78.0,73.0,79.0,81.0,78.0,76.5,79.0,77.0,1 +Rima_Dwi_Oktavia,79.5,77.5,78.0,76.0,80.0,79.5,78.0,80.0,80.0,81.0,2 +Riska_Adelia_Dulrahman,80.5,73.0,71.5,71.5,77.0,79.5,77.5,71.0,77.0,72.5,1 +Syakela_Arifah_Azzahra,83.0,77.0,79.0,77.5,79.5,85.0,78.5,80.0,79.0,80.0,3 +Titin_Karunia_Putri,83.0,79.5,78.0,81.0,82.5,85.0,79.0,85.0,81.5,85.0,5 +Vandi_Aulia_Kadhafi,83.5,77.0,79.0,76.0,79.5,79.5,78.5,79.5,78.0,79.0,2 +Yuli_Evita_Wati,83.0,77.5,79.5,80.0,80.5,86.0,79.5,84.5,81.0,83.5,5 +Zulia_Ulifatul_Mahmadah,81.5,78.5,79.0,75.0,79.5,81.0,78.5,81.0,80.0,82.0,2 +Ameliya_Putri_Mentari,86.0,76.5,78.5,79.0,82.5,89.0,79.5,86.0,78.0,84.5,5 +Andika_Bayu_Abriansyah,81.0,72.5,77.5,75.0,79.0,81.0,77.5,78.5,78.5,81.5,1 +Azmi_Halim,84.5,74.5,80.0,81.0,85.0,81.5,79.5,83.0,79.5,83.5,5 +Bambang_Adi_Pramana,83.5,74.5,79.0,78.5,81.0,82.0,79.5,78.5,79.5,79.0,3 +Bryan_Maulana_Wibiantoro,86.0,77.0,82.5,79.0,84.5,84.5,81.0,86.5,80.5,86.5,6 +Dharisman_Bagus_Prastowo,84.0,75.0,79.0,81.5,82.0,82.0,78.5,84.5,82.0,82.5,5 +Ella_Syahra_Agustin,82.0,74.0,80.0,76.5,83.0,82.5,79.5,83.5,81.5,81.5,3 +Febian_Dwi_Andika,82.0,74.5,78.0,74.5,80.0,81.0,77.5,78.5,79.0,78.5,1 +Hawa_Aurelia_Firdaus,81.0,75.5,78.0,80.0,83.0,83.5,77.5,85.0,79.5,82.5,4 +Indri_Julia_Dwi_Dianitami,81.0,76.5,80.0,77.0,81.0,83.0,79.5,83.5,82.5,86.0,4 +Kusuma_Faridatulliya,85.5,75.0,80.0,78.0,83.0,84.5,78.5,81.0,81.5,84.0,4 +Laudia_Vera_Agustin,81.0,75.0,78.5,81.0,83.5,81.5,79.5,83.5,81.0,87.0,5 +M.deno_Bayu_Putra_Hardiansah,80.0,75.0,78.0,76.0,81.0,83.0,78.5,83.0,78.5,80.0,2 +Moch._Febri_Nur_Hidayatullah,78.5,74.0,77.5,72.0,80.0,81.0,77.5,78.0,77.0,76.0,1 +Mochamat_Agil_Desulton,81.5,74.0,77.5,77.0,81.0,81.0,78.5,79.0,78.0,78.5,2 +Moh._Rendi_Saputra,81.0,73.5,78.0,75.5,81.0,81.5,77.5,80.0,79.0,80.0,1 +Mohamad_Bagus_Hermawan,78.0,73.5,77.0,74.0,80.0,81.0,77.5,73.5,79.0,79.0,1 +Muchamad_Jaohar_Firdaus,82.5,74.5,77.0,81.0,82.0,82.0,78.0,79.5,79.5,81.0,3 +Muhamad_Rif'an_Mauludi,88.0,75.5,78.5,82.0,81.5,84.0,77.5,81.0,81.5,82.0,5 +Muhammad_Safi',82.0,77.0,78.0,79.0,80.0,81.5,77.5,79.5,81.5,79.5,3 +Rendi_Prastyo_Aditama,79.5,73.5,77.5,74.5,81.0,78.0,77.5,77.5,79.0,79.0,1 +Renno_Ilham_Revaldo,85.5,73.5,77.5,79.0,81.0,82.5,77.5,83.5,79.5,82.0,3 +Risma_Indira_Fernanda,89.0,77.0,78.5,83.5,83.0,84.0,81.5,84.5,76.5,85.5,6 +Safina_Ismafatul_Roida,78.5,73.5,79.0,80.0,82.0,80.5,79.0,84.0,80.0,81.0,3 +Silvia_Novitasari,88.5,77.0,78.0,77.0,82.0,81.0,77.5,83.0,82.5,81.5,3 +Sonya_Aulia_Dewi,84.5,75.5,82.5,79.0,82.0,82.0,82.0,83.0,81.0,85.0,5 +Talita_Bella_Safira,84.0,75.5,80.0,78.0,82.0,82.5,79.5,79.5,80.5,81.5,3 +Thalyta_Chelse_Olivia_Leovanny,86.5,74.5,80.0,80.0,84.0,82.0,79.5,84.5,83.0,83.5,5 +Ulfa_Kusuma_Dewi,84.5,75.0,78.5,78.0,82.0,81.0,77.5,80.0,81.5,82.0,3 +Wahyu_Subastyan,79.5,73.5,79.0,74.0,80.0,81.5,78.5,74.0,76.0,78.5,1 +Yanuarycha_Putri_Rifda,82.0,73.5,79.0,77.0,81.5,80.0,78.5,80.5,82.0,82.5,3 +Zulfatul_Ilmi_Sa'adah,80.0,73.5,79.5,77.0,84.5,84.0,79.5,82.0,81.5,82.0,3 +Abel_Senja_Agma_Subroto,82.0,77.0,80.0,79.0,80.5,86.0,79.5,83.0,81.5,85.5,5 +Ahmad_Fauzan_Maulana_Ibrahim,82.0,76.0,78.0,77.0,84.0,82.5,77.5,80.5,81.5,82.5,3 +Amin_Ridho_Shobirin,80.5,76.0,82.5,76.0,82.5,84.5,79.5,81.5,80.0,83.0,4 +Andika_Nugrahatama,81.5,72.5,79.0,76.0,79.5,82.0,78.5,82.5,78.5,82.0,2 +Aprilliana_Cahaya_Puspita,82.5,72.5,78.5,79.0,79.5,83.0,77.5,79.0,80.5,83.0,3 +Aulia_Dwi_Suci_Cahyani,82.5,72.5,79.0,80.0,83.0,83.0,78.5,81.0,80.5,82.0,3 +Bilqis_Syafiah_Ahmad,82.0,77.5,79.0,79.0,82.5,86.0,79.0,84.5,82.0,86.5,5 +Danendra_Zahran_Qurunul_Bahri,79.0,72.5,76.5,72.0,83.5,77.5,77.5,81.5,78.0,77.5,1 +Dania_Ismatul_Maula,82.5,77.0,80.5,80.0,84.5,84.0,81.0,86.0,81.0,85.0,5 +Diva_Maulidiya,81.0,77.5,79.0,74.0,81.0,85.0,78.5,80.0,78.0,84.0,2 +Gufroni_Ahmadin_Naja,80.5,74.0,78.0,72.5,80.5,81.5,77.5,80.0,78.0,80.5,1 +Handy_Miftakhul_Ullum,82.0,77.5,78.5,82.0,82.0,86.0,78.5,88.5,82.5,85.5,6 +Kharizma_Putri_Prilia,82.5,79.0,82.0,80.0,81.5,85.0,82.0,83.5,82.5,88.0,6 +Laela_Indriani,80.0,72.5,78.5,72.0,79.5,77.0,78.5,75.5,77.0,77.0,1 +M._Zeka_Azfar_Pahlawan,82.5,71.0,79.5,78.0,85.0,84.0,79.0,79.0,81.0,80.0,3 +Maysa_Purwadinata,81.0,72.5,79.5,76.0,81.5,81.5,79.5,79.5,80.5,80.0,2 +Medina_Putri_Febiani,81.0,77.5,79.5,81.0,84.5,84.5,79.0,85.0,82.5,83.5,5 +Moh._Raditya_Haria_Nugraha,81.0,72.5,77.5,78.0,82.5,83.5,77.5,84.0,79.0,83.5,3 +Mohammad_Reno_Zainul_Pratama,81.5,72.5,77.5,75.0,79.0,84.0,77.5,73.5,81.5,81.0,1 +Muhamad_Kafil_Lubawi,81.5,72.5,79.0,76.5,80.5,84.0,78.5,80.5,79.5,82.5,2 +Nafatria_Kirana,80.0,72.5,78.5,73.5,79.0,78.0,78.5,77.5,74.5,76.5,1 +Nanang_Mariyanto,79.5,73.5,77.5,79.0,79.0,82.0,77.5,80.0,80.0,78.5,2 +Quinnsha_Launada_Wibowo,82.0,77.0,79.0,78.0,82.0,83.5,79.0,84.0,79.0,82.0,4 +Rahardyan_Felix_Kurniawan_(kr),81.5,77.0,81.0,80.0,83.0,87.0,78.5,85.5,80.0,85.0,5 +Rangga_Risqi_Bintang_S.,82.0,76.0,79.0,79.0,80.5,85.0,78.5,82.0,80.0,85.0,4 +Saputra_Seftian_Rahmatdhani,80.5,76.0,79.0,76.5,82.5,87.0,79.5,84.5,81.0,88.0,5 +Siti_Dian_Rahmadani,79.5,72.5,78.5,74.5,79.5,83.0,78.5,75.0,77.5,82.0,1 +Surya_Mahadika,81.5,76.0,79.0,76.5,80.5,83.5,79.0,84.5,80.0,85.5,3 +Tribuana_Reza_Fanani,82.0,76.0,80.0,80.0,80.5,82.5,79.0,84.5,76.0,82.5,4 +Triyah_Bhuana,81.5,77.0,80.0,76.0,79.5,82.0,77.5,83.0,79.0,80.5,3 +Viasya_Aqnia_Zela,82.0,77.0,79.5,78.0,83.5,83.5,79.5,86.0,79.5,83.0,4 +Wahyu_Febrianti,83.0,77.0,80.5,83.5,84.5,88.5,79.5,86.5,83.5,89.5,6 +Wildan_Yongga_Jodyatmika,82.5,72.5,78.5,78.0,79.0,81.5,77.5,77.0,82.0,81.0,2 +Wisnu_Tirta_Kusuma,81.5,73.5,78.5,79.0,79.5,81.0,77.5,80.0,80.5,81.0,2 +Zaneta_Ayu_Nur_Harsya,82.5,72.5,79.0,78.0,82.0,80.5,78.5,80.5,81.5,84.5,3 +Ahmad_Dodik_Pratama,79.5,73.5,79.5,78.0,83.0,86.0,80.0,79.0,79.0,85.5,3 +Ahmad_Pramuja,81.5,76.5,79.0,83.5,84.0,84.0,80.5,84.0,79.5,84.5,5 +Aprita_Nur_Aini,79.5,77.0,78.5,78.0,84.5,85.5,82.0,85.0,80.5,83.0,5 +Ardian_Rama_Budi_Kusuma,78.5,73.5,78.0,79.0,82.0,84.0,78.5,78.5,76.0,79.5,2 +Arrasha_Raditya_Andani,81.0,75.0,80.5,78.0,82.5,85.5,82.0,81.5,81.5,84.0,4 +Bayu_Ananta_Julian_Wicaksono,79.5,74.0,78.5,79.0,84.0,80.5,78.5,76.5,71.5,75.5,1 +Cahya_Sasadara,80.5,75.0,78.0,78.0,82.5,85.5,82.5,82.5,72.5,81.5,3 +Dimas_Ragil_Saputra,80.0,73.5,77.5,74.5,79.0,79.5,80.5,75.5,75.0,77.0,1 +Dwi_Ka_Fauzian_Maulana_Ikhsan,80.5,75.0,77.5,77.0,79.5,83.5,81.5,79.5,80.5,81.0,2 +Dwi_Nurida_Syifa,80.0,75.0,82.0,74.5,82.5,86.0,80.0,76.0,82.5,87.5,3 +Fibriana_Fira_Rahmawati,80.5,77.0,78.5,77.0,83.0,85.5,81.0,84.5,81.5,83.0,4 +Helsabrina_Faj'ri_Mahmuna,80.5,76.5,79.0,78.0,80.5,85.0,82.0,82.0,82.0,82.0,4 +Hesnanda_Azeema_Naswa_Krisnasekha,79.5,77.0,78.5,79.0,84.5,87.5,84.0,86.5,80.5,85.5,5 +Irma_Rahayu,80.5,77.5,80.5,76.0,82.5,86.0,78.5,86.0,82.0,84.5,5 +Jimi_Pranata,79.5,74.0,77.5,75.5,79.5,80.0,82.0,76.5,72.5,81.0,1 +Kevin_Saputra,79.5,74.0,76.5,78.0,80.5,82.0,79.5,82.5,78.5,83.0,2 +Keylla_Aulia_Renata,80.0,77.5,81.0,76.5,83.5,85.5,81.0,86.0,83.0,85.5,5 +Lia_Puspitasari,79.5,75.5,78.0,77.0,79.5,83.5,81.0,82.0,79.0,84.0,3 +Luna_Aurelia_Romadhona_Putri,80.5,76.5,81.0,83.5,84.0,89.0,81.0,84.5,82.0,88.0,6 +Moch._Rangga_Ardiyansah,81.0,76.5,78.5,79.0,82.5,86.0,85.0,86.5,80.5,84.0,5 +Moh._Krisna_Hendra_Gunawan,80.5,75.5,78.0,74.5,82.5,80.5,82.5,75.5,75.5,79.5,1 diff --git a/data/dataset_smakom_final_test.csv b/data/dataset_smakom_final_test.csv new file mode 100644 index 0000000..b4bb049 --- /dev/null +++ b/data/dataset_smakom_final_test.csv @@ -0,0 +1,61 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Ahmad_Fauzan_Maulana_Ibrahim,82.0,76.0,78.0,77.0,84.0,82.5,77.5,80.5,81.5,82.5,3 +Alvinza_Brian_Saputra,76.5,76.5,76.5,74.5,79.0,77.5,71.5,75.0,77.5,76.5,1 +Ameliya_Putri_Mentari,86.0,76.5,78.5,79.0,82.5,89.0,79.5,86.0,78.0,84.5,5 +Amin_Ridho_Shobirin,80.5,76.0,82.5,76.0,82.5,84.5,79.5,81.5,80.0,83.0,4 +Amin_Ridho_Sholikin,83.5,82.5,81.5,78.5,81.0,82.5,82.0,86.5,81.5,86.0,6 +Aprian_Mahardika,82.0,79.5,78.0,75.5,79.0,79.5,78.5,78.5,79.5,79.5,2 +Aprilia_Martalita_Wibowo,78.5,77.0,78.0,80.0,80.5,81.5,78.5,85.0,78.0,84.5,4 +Aprita_Nur_Aini,79.5,77.0,78.5,78.0,84.5,85.5,82.0,85.0,80.5,83.0,5 +Arshinta_Marthalie_Gunawan,77.0,77.0,79.0,80.5,80.0,79.5,80.0,78.5,79.0,80.0,3 +Athaya_Angel_Widodo,81.5,79.5,80.0,83.0,85.0,81.0,79.5,85.0,80.5,85.5,6 +Aulia_Dwi_Suci_Cahyani,82.5,72.5,79.0,80.0,83.0,83.0,78.5,81.0,80.5,82.0,3 +Bambang_Adi_Pramana,83.5,74.5,79.0,78.5,81.0,82.0,79.5,78.5,79.5,79.0,3 +Bambang_Dwi_Sri_Hatmoko,83.0,77.5,78.0,79.5,81.0,79.5,77.5,80.5,80.5,79.5,3 +Bunga_Damir_Kalolong_Sulai_Manan,79.5,81.0,82.0,79.5,82.5,81.0,78.5,81.5,78.5,83.5,4 +Cahya_Sasadara,80.5,75.0,78.0,78.0,82.5,85.5,82.5,82.5,72.5,81.5,3 +Dhea_Ayu_Permatasari,81.5,82.0,79.0,81.0,82.0,88.5,78.5,87.0,82.0,86.5,6 +Dina_Aulia_Salsabila_Putri,83.5,79.5,78.5,79.0,81.0,80.0,77.5,84.0,81.0,84.0,4 +Endang_Rahayu_Ningsih,83.5,78.0,79.5,80.0,82.5,82.5,78.5,84.5,79.5,85.0,5 +Fivi_Widyo_Wati,79.5,79.5,80.0,78.5,80.5,79.0,83.0,84.0,79.0,84.5,4 +Gabriel_Desja_Alexsyata,79.0,76.5,77.0,75.0,79.0,79.5,77.5,77.5,77.0,79.5,1 +Irma_Rahayu,80.5,77.5,80.5,76.0,82.5,86.0,78.5,86.0,82.0,84.5,5 +Jefana_Dwi_Jayanti,81.5,84.5,84.0,85.0,85.0,90.5,84.0,90.0,81.5,90.0,6 +Juliana_Wita,80.0,76.5,78.0,76.0,78.5,77.0,78.5,78.0,76.5,80.5,1 +Juliani_Wati,76.5,77.5,78.0,77.0,80.0,78.5,77.5,79.0,77.0,79.5,1 +Keiza_Olivia_Witari,83.5,83.0,83.0,83.0,83.0,80.5,82.5,88.5,83.0,87.0,6 +Keyla_Chantika_Devy_Julieta,76.5,79.5,80.0,74.5,80.5,81.0,76.0,80.0,79.5,82.0,2 +Kharizma_Putri_Prilia,82.5,79.0,82.0,80.0,81.5,85.0,82.0,83.5,82.5,88.0,6 +Kurniawan_Dyo_Tri_Warsono,75.0,76.5,77.0,74.5,79.5,80.0,74.5,79.5,78.5,76.5,1 +Laela_Indriani,80.0,72.5,78.5,72.0,79.5,77.0,78.5,75.5,77.0,77.0,1 +M._Zeka_Azfar_Pahlawan,82.5,71.0,79.5,78.0,85.0,84.0,79.0,79.0,81.0,80.0,3 +Marsha_Syifa'_Setiawati,80.5,77.5,79.0,75.5,79.5,81.5,78.5,82.0,77.5,82.0,2 +Mitzy_Aurora_Azzahra,85.0,79.0,80.0,80.0,83.0,83.5,80.5,84.0,81.0,84.5,5 +Moch._Rangga_Ardiyansah,81.0,76.5,78.5,79.0,82.5,86.0,85.0,86.5,80.5,84.0,5 +Mochamad_Ardiansyah_Saputra,85.5,77.0,77.0,78.5,79.0,83.0,73.5,77.5,81.0,80.5,2 +Mochammad_Rifky_Febri_Nur_Rohman,76.5,77.0,77.5,72.5,78.5,77.5,78.0,78.0,78.5,77.0,1 +Mochammad_Yuda_Aditia,87.0,76.5,76.0,80.0,81.0,81.0,73.5,78.5,81.5,81.0,3 +Moh._Krisna_Hendra_Gunawan,80.5,75.5,78.0,74.5,82.5,80.5,82.5,75.5,75.5,79.5,1 +Mohamad_Rifa'i_Wijayanto,80.5,77.5,78.0,75.5,78.5,81.5,78.5,78.5,79.0,79.5,1 +Muhamad_Fauzan_Saputra,76.5,78.0,78.0,80.0,83.0,78.0,77.5,80.0,74.5,80.5,2 +Muhamad_Kafil_Lubawi,81.5,72.5,79.0,76.5,80.5,84.0,78.5,80.5,79.5,82.5,2 +Muhamad_Rangga_Aji_Pratama,86.0,77.5,77.5,79.5,83.5,86.0,74.5,83.0,82.5,81.0,5 +Muhammad_Gara_Imam_Arifin,81.5,78.5,79.0,83.5,79.0,81.0,78.0,86.0,81.0,83.5,5 +Muhammad_Zainal_Asrofi,78.0,76.5,78.0,80.0,80.0,81.0,74.5,79.5,78.5,78.0,2 +Nashwa_Mentari_Yuwana_Putri,83.5,81.5,81.5,83.5,82.0,85.5,83.0,86.0,82.0,85.5,6 +Nendra_Nur_Febrian,82.5,77.5,77.5,78.0,79.0,79.0,72.0,76.5,80.5,83.0,2 +Nidda'ul_Fijriah,82.5,78.5,78.5,79.5,80.0,79.5,74.0,82.5,82.5,86.0,4 +Rendi_Prastyo_Aditama,79.5,73.5,77.5,74.5,81.0,78.0,77.5,77.5,79.0,79.0,1 +Reva_Aidilla_Melani,85.0,84.0,83.0,83.5,82.0,81.5,82.5,88.5,80.5,88.5,6 +Rivaldi_Desta_Akbar_Pratama,79.5,80.5,79.0,79.0,80.5,85.0,78.5,80.0,79.5,83.0,4 +Safina_Ismafatul_Roida,78.5,73.5,79.0,80.0,82.0,80.5,79.0,84.0,80.0,81.0,3 +Salva_Andika,81.0,79.0,79.0,78.0,80.5,84.0,79.5,84.5,81.5,80.5,4 +Satryo_Gito_Pratomo,87.0,79.5,81.5,82.0,81.5,83.0,84.5,90.0,82.5,89.0,6 +Septian_Daniarti_Fitri_Astutik,79.0,78.5,78.0,81.0,83.0,82.0,76.0,84.0,77.0,82.5,4 +Shafa_Ayunda_Putri,85.5,76.5,80.0,80.0,80.5,80.5,79.5,82.0,81.5,83.0,4 +Shifa_Khayyuna_Qisthi,85.5,78.5,79.5,82.0,81.5,81.0,78.5,84.0,82.0,84.5,5 +Sindy_Aulia_Lestari,78.0,78.0,78.0,78.5,81.0,76.5,77.0,80.0,78.5,80.5,2 +Sonya_Aulia_Dewi,84.5,75.5,82.5,79.0,82.0,82.0,82.0,83.0,81.0,85.0,5 +Suci_Rahayu_Saputri,81.5,78.0,77.0,80.0,80.5,80.0,75.5,77.5,79.5,80.0,2 +Talita_Bella_Safira,84.0,75.5,80.0,78.0,82.0,82.5,79.5,79.5,80.5,81.5,3 +Zaraya_Jelita_Putri_Ardina,84.0,82.5,81.5,81.5,81.0,83.5,82.0,84.0,81.0,86.0,6 diff --git a/data/dataset_smakom_final_train.csv b/data/dataset_smakom_final_train.csv new file mode 100644 index 0000000..1d2a5c1 --- /dev/null +++ b/data/dataset_smakom_final_train.csv @@ -0,0 +1,241 @@ +nama_siswa,nilai_informatika,nilai_fisika,nilai_kimia,nilai_biologi,nilai_big_lanjut,nilai_ekonomi,nilai_mat_lanjut,nilai_sej_lanjut,nilai_sosiologi,nilai_geografi,paket_jurusan +Abel_Senja_Agma_Subroto,82.0,77.0,80.0,79.0,80.5,86.0,79.5,83.0,81.5,85.5,5 +Abid_Fadlih_Hafiyyah_Faza,85.0,78.0,78.0,78.0,79.5,80.0,78.0,79.0,81.5,81.5,3 +Adinda_Dhea_Ochtavyana,86.0,81.5,80.5,81.0,81.0,82.5,80.0,85.0,81.0,83.5,5 +Aditya_Rizky_Romadhon,81.0,77.5,76.5,79.5,80.0,81.0,76.5,82.0,80.5,80.5,3 +Agha_Hisyam_Al-haliim,78.5,78.0,77.5,77.5,80.5,78.0,77.5,80.0,75.5,82.0,2 +Ahmad_Adib_Almuiz,80.5,76.0,75.5,72.5,78.5,83.0,71.5,79.0,78.5,79.5,1 +Ahmad_Dodik_Pratama,79.5,73.5,79.5,78.0,83.0,86.0,80.0,79.0,79.0,85.5,3 +Ahmad_Maulana_Rizky_Aditya_Wijaya,85.5,78.5,77.5,79.5,83.0,79.5,74.0,82.0,80.5,84.0,3 +Ahmad_Pramuja,81.5,76.5,79.0,83.5,84.0,84.0,80.5,84.0,79.5,84.5,5 +Ahmad_Risky_Maskur,84.5,77.0,77.0,79.0,79.5,80.0,77.5,79.0,80.0,81.5,2 +Ahmad_Rizal_Hanafi,86.5,80.5,80.5,79.0,78.5,81.0,80.5,81.0,79.5,82.0,4 +Ahmad_Rizky_Wijaya,79.0,80.5,81.0,80.0,83.5,79.0,81.0,85.5,81.0,85.0,5 +Ahmad_Rofi`an_Saputra,84.5,80.5,79.0,81.0,82.5,79.0,78.5,80.0,80.0,82.0,4 +Aisyah_Fidinna_Rahmatika,83.5,76.5,77.5,80.5,81.0,86.5,79.0,82.5,83.0,80.5,5 +Aldo_Dwi_Julianto,83.5,81.0,79.0,77.5,80.5,79.5,81.0,81.0,80.5,85.0,4 +Aldo_Widodo,81.5,76.5,77.0,75.0,77.5,76.5,71.5,77.0,76.0,77.0,1 +Alfiani_Mayasari,86.0,78.5,79.0,82.0,80.0,85.0,78.5,85.5,82.0,85.5,6 +Alhasby_Bachtiar,79.5,79.5,78.5,81.5,80.0,79.5,76.0,84.0,81.5,85.0,4 +Alvi_Sani,77.0,78.0,78.0,74.0,80.5,77.5,77.5,76.5,76.5,76.0,1 +Alvino_Surya_Pratama,78.0,77.5,77.5,75.5,78.0,80.0,80.0,81.5,82.5,80.5,2 +Ana_Ainus_Sifa,81.0,77.5,79.0,76.0,80.0,81.5,78.5,82.0,79.0,80.5,2 +Andika_Bayu_Abriansyah,81.0,72.5,77.5,75.0,79.0,81.0,77.5,78.5,78.5,81.5,1 +Andika_Nugrahatama,81.5,72.5,79.0,76.0,79.5,82.0,78.5,82.5,78.5,82.0,2 +Andini_Rahmawati,78.5,79.5,79.0,75.5,81.0,83.0,79.5,83.0,77.0,82.0,3 +Angga_Jalu_Arizona,78.5,76.0,76.0,75.0,78.5,77.0,77.0,78.5,74.0,79.0,1 +Anggun_Kartika_Okta_Novita,81.5,76.5,78.0,76.0,80.5,83.5,78.5,84.0,79.5,85.0,3 +Aprilia_Wahyuning_Agustin,80.0,77.5,78.5,80.5,82.0,78.0,78.5,82.0,79.5,81.0,3 +Aprilliana_Cahaya_Puspita,82.5,72.5,78.5,79.0,79.5,83.0,77.5,79.0,80.5,83.0,3 +Ardan_Pradipta,76.5,79.5,78.0,75.5,82.0,81.0,78.0,81.5,80.0,82.0,2 +Ardian_Rama_Budi_Kusuma,78.5,73.5,78.0,79.0,82.0,84.0,78.5,78.5,76.0,79.5,2 +Arfian_Setya_Yusinda,77.5,78.0,78.5,78.5,82.5,79.5,77.5,81.0,77.5,81.0,2 +Arga_Reyhandika_Pratama,85.5,77.5,80.0,82.0,85.0,77.5,81.5,85.5,83.0,83.5,5 +Arga_Wahyu_Prasetyo,79.5,79.5,79.0,80.5,83.0,80.0,78.5,82.5,78.5,82.0,4 +Arik_Wisnu_Pramuditiya,86.0,81.0,82.0,81.0,82.5,83.0,81.5,86.0,82.5,89.0,6 +Arrasha_Raditya_Andani,81.0,75.0,80.5,78.0,82.5,85.5,82.0,81.5,81.5,84.0,4 +Arya_Erlangga_Tino_Putra,80.0,77.0,77.5,80.5,79.0,81.0,78.0,82.5,79.5,80.5,3 +Atadea_Lie_Intan_Karina,86.5,80.5,78.0,81.0,81.0,78.0,76.5,84.0,77.5,81.0,4 +Awwalun_Firdausi,82.5,84.0,84.0,82.0,81.5,86.0,82.0,89.0,83.0,89.0,6 +Azka_Febita_Zalfianty,84.5,82.5,83.5,85.0,81.5,81.0,82.5,89.0,82.0,89.0,6 +Azmi_Halim,84.5,74.5,80.0,81.0,85.0,81.5,79.5,83.0,79.5,83.5,5 +Azzahra_Dewi_Natria,83.5,79.5,80.0,82.5,82.5,84.5,81.5,89.0,81.5,86.5,6 +Bagus_Rohman_Maulana,81.5,82.5,80.5,79.5,80.0,81.5,81.5,83.5,81.5,86.0,5 +Bayu_Ananta_Julian_Wicaksono,79.5,74.0,78.5,79.0,84.0,80.5,78.5,76.5,71.5,75.5,1 +Bilqis_Syafiah_Ahmad,82.0,77.5,79.0,79.0,82.5,86.0,79.0,84.5,82.0,86.5,5 +Bilqiz_Namsya_Prasesta,80.0,77.5,78.0,79.0,81.0,77.5,77.5,80.5,76.5,80.0,2 +Binti_Yisha_Zahra_Futri,85.0,83.0,78.5,83.5,82.5,81.0,85.5,88.5,82.0,90.0,6 +Brian_Agung_Pamungkas,90.0,82.5,83.0,84.5,85.0,88.0,85.5,89.5,84.0,90.0,6 +Bryan_Maulana_Wibiantoro,86.0,77.0,82.5,79.0,84.5,84.5,81.0,86.5,80.5,86.5,6 +Bunga_Alikasari,81.0,79.5,80.5,81.0,84.5,81.0,79.5,89.0,83.0,89.0,6 +Cantika_Oktavia_Nurfitri_Mardiani,79.0,78.5,79.0,81.0,81.0,86.0,78.5,85.0,82.5,85.0,5 +Chalisha_Alqathrunnada_Winsputri,86.5,77.5,79.0,81.0,82.0,82.5,80.5,85.0,78.5,86.5,5 +Chalista_Ayunda_Sukmaningtyas,84.0,79.0,78.0,82.5,80.5,81.5,82.0,87.0,78.5,85.0,5 +Chesylya_Adinnata_Maylani,79.5,76.0,79.5,79.5,81.0,81.0,75.5,82.0,80.5,83.5,3 +Chiko_Bonanza_Cavan_Putra,80.0,78.5,77.5,77.0,79.5,78.5,78.0,79.0,79.0,80.0,2 +Clara_Balqis_Putri_Febrianti,82.0,83.0,82.5,84.5,85.0,84.5,84.5,88.5,82.5,88.5,6 +Danendra_Zahran_Qurunul_Bahri,79.0,72.5,76.5,72.0,83.5,77.5,77.5,81.5,78.0,77.5,1 +Dania_Ismatul_Maula,82.5,77.0,80.5,80.0,84.5,84.0,81.0,86.0,81.0,85.0,5 +Davin_Yudha_Pratama,82.5,78.0,78.5,81.5,83.0,81.0,73.5,84.0,79.5,82.5,4 +Decha_Navita_Sari,78.0,77.5,78.0,80.0,80.5,79.0,77.5,81.0,79.5,83.5,3 +Della_Dwi_Pratiwi,80.0,78.5,79.0,80.0,79.5,80.0,78.5,81.0,77.0,82.0,3 +Dewi_Marisah_Manggar_Retno,89.0,80.5,78.5,81.5,81.0,83.0,84.0,85.5,83.0,85.5,6 +Dhafa_Brillyan_Gustafianto,77.0,76.5,77.0,75.5,78.5,81.0,77.0,79.0,78.5,81.0,1 +Dharisman_Bagus_Prastowo,84.0,75.0,79.0,81.5,82.0,82.0,78.5,84.5,82.0,82.5,5 +Dhimas_Pandu_Wijaya,88.0,77.5,77.5,80.0,76.0,81.5,72.0,81.0,83.0,82.0,3 +Dian_Noviyanti,87.5,77.5,79.0,79.5,79.5,85.5,77.5,81.0,81.0,83.5,4 +Dimas_Ragil_Saputra,80.0,73.5,77.5,74.5,79.0,79.5,80.5,75.5,75.0,77.0,1 +Dinda_Windy_Oktaviona,84.0,79.5,81.0,81.5,81.5,83.5,80.5,88.0,83.5,86.0,6 +Diva_Maulidiya,81.0,77.5,79.0,74.0,81.0,85.0,78.5,80.0,78.0,84.0,2 +Dwi_Andika,81.0,76.5,76.5,78.0,81.0,83.5,73.5,78.5,78.5,79.0,2 +Dwi_Ka_Fauzian_Maulana_Ikhsan,80.5,75.0,77.5,77.0,79.5,83.5,81.5,79.5,80.5,81.0,2 +Dwi_Kevfri_Kenata,81.0,80.5,82.0,80.5,82.5,81.5,78.5,84.5,82.5,86.0,5 +Dwi_Nurida_Syifa,80.0,75.0,82.0,74.5,82.5,86.0,80.0,76.0,82.5,87.5,3 +Dyah_Ayu_Pratiwi,74.5,76.5,77.5,76.5,80.5,78.5,73.5,77.0,80.0,79.5,1 +Dyah_Vivianti,83.0,81.0,79.5,79.5,82.5,84.0,79.5,85.5,80.0,87.5,5 +Ella_Syahra_Agustin,82.0,74.0,80.0,76.5,83.0,82.5,79.5,83.5,81.5,81.5,3 +Erlang_Danendra_Ari_Putra,84.5,76.5,78.0,78.0,78.5,82.5,77.0,79.0,79.5,79.0,2 +Ermita_Trisya_Sari,81.0,83.0,81.5,82.0,83.0,87.5,86.5,87.5,80.0,89.0,6 +Fahril_Rahmad_Tri_Setyawan,79.5,77.0,78.0,77.0,80.0,86.0,77.5,81.0,79.5,81.0,3 +Fauziah_Elsa_Putri_Purnomo,81.0,82.5,84.0,82.5,83.0,87.0,85.5,85.0,82.0,88.5,6 +Febian_Dwi_Andika,82.0,74.5,78.0,74.5,80.0,81.0,77.5,78.5,79.0,78.5,1 +Feisal_Wisnu_Raditya,78.0,77.0,77.5,75.0,78.5,81.0,74.5,79.0,78.5,79.5,1 +Fibriana_Fira_Rahmawati,80.5,77.0,78.5,77.0,83.0,85.5,81.0,84.5,81.5,83.0,4 +Fika_Nur_Rohmah,82.0,78.0,78.0,79.0,80.5,83.0,79.0,79.0,80.5,80.5,3 +Fino_Andreyan_Pratama,84.0,79.0,79.0,80.0,80.0,81.5,75.0,81.5,80.5,81.5,4 +Firstian_Vidya_Permana,79.5,77.5,79.0,78.0,80.5,83.0,77.5,78.0,78.5,78.5,2 +Fitri_Yulita_Sari,88.5,79.5,78.0,82.5,82.5,84.5,78.0,84.5,82.0,85.0,6 +Fitriani_Nurul_Norhayati,79.0,77.5,80.0,77.0,80.5,82.0,76.5,79.0,76.5,82.5,2 +Frisa_Agiel_Kirania,81.0,78.0,78.0,78.0,80.5,83.0,78.0,79.0,80.0,80.5,3 +Galang_Aldi_Ananta_Putra,83.5,80.5,79.5,77.0,79.0,86.5,78.5,85.5,79.5,85.5,5 +Galang_Aldiyansah_Putra,82.5,78.5,77.0,77.5,78.5,82.0,73.5,83.0,78.5,81.0,2 +Ghania_Hardiyanti,86.0,83.5,82.5,82.5,83.0,85.5,86.5,87.5,82.0,87.0,6 +Ghea_Anzani_Siswanto,83.5,78.5,78.0,82.0,80.5,81.5,79.5,80.5,81.0,84.0,4 +Gloria_Fransisca,81.0,79.0,80.5,80.5,83.0,80.5,79.5,84.5,80.0,85.0,5 +Gufroni_Ahmadin_Naja,80.5,74.0,78.0,72.5,80.5,81.5,77.5,80.0,78.0,80.5,1 +Hamida_Ulviana_Dewi,79.5,79.5,78.5,81.0,79.5,85.5,75.0,83.0,77.5,83.0,4 +Handoko_Dimas_Wahyu_Nugroho,79.0,76.0,78.5,77.0,82.5,80.5,74.5,78.5,75.5,78.5,1 +Handy_Miftakhul_Ullum,82.0,77.5,78.5,82.0,82.0,86.0,78.5,88.5,82.5,85.5,6 +Hawa_Aurelia_Firdaus,81.0,75.5,78.0,80.0,83.0,83.5,77.5,85.0,79.5,82.5,4 +Helsabrina_Faj'ri_Mahmuna,80.5,76.5,79.0,78.0,80.5,85.0,82.0,82.0,82.0,82.0,4 +Hengky_Prasetyo,85.0,77.0,77.0,75.5,80.5,80.0,73.5,79.0,76.5,78.5,1 +Hera_Junia_Purnamasari,80.0,82.0,79.5,77.0,80.0,87.5,78.0,86.0,81.5,86.5,5 +Herlin_Faradila_Stifiana,78.5,78.5,79.0,80.0,81.5,81.0,80.5,83.0,80.0,82.5,4 +Hesnanda_Azeema_Naswa_Krisnasekha,79.5,77.0,78.5,79.0,84.5,87.5,84.0,86.5,80.5,85.5,5 +Hildan_Tri_Agustino,77.0,77.5,78.0,77.0,79.5,80.5,77.5,78.0,76.0,79.5,1 +Indri_Julia_Dwi_Dianitami,81.0,76.5,80.0,77.0,81.0,83.0,79.5,83.5,82.5,86.0,4 +Isna_Maulidiyah,83.5,76.5,77.5,77.0,78.5,80.5,77.5,80.0,74.5,79.5,1 +Jhovani_Vina_Maharani,84.5,79.5,78.0,83.0,79.0,83.5,78.0,80.0,79.0,80.5,4 +Jimi_Pranata,79.5,74.0,77.5,75.5,79.5,80.0,82.0,76.5,72.5,81.0,1 +Johan_Satrio_Wicaksono,82.5,77.5,78.0,76.0,78.0,81.0,77.5,78.5,81.5,79.5,2 +Kaiyla_Fera_Ayu_Moza,87.0,78.5,78.5,84.0,85.0,87.5,78.5,85.0,79.5,86.5,6 +Karisma_Hardiyati_P._R.,80.5,79.5,78.0,78.5,80.5,81.0,78.0,78.5,79.5,79.5,3 +Kellvi_Tiaska_Putri,78.0,77.5,77.5,79.5,80.0,83.0,76.5,81.0,80.5,80.5,3 +Kevin_Arfian_Vidyanata,80.5,77.0,77.5,75.0,78.5,81.5,78.0,80.0,77.0,79.5,1 +Kevin_Saputra,79.5,74.0,76.5,78.0,80.5,82.0,79.5,82.5,78.5,83.0,2 +Keylla_Aulia_Renata,80.0,77.5,81.0,76.5,83.5,85.5,81.0,86.0,83.0,85.5,5 +Kirana_Putri_Agustina,81.0,79.0,79.0,79.0,81.0,81.0,79.0,83.5,80.5,83.5,4 +Kusuma_Faridatulliya,85.5,75.0,80.0,78.0,83.0,84.5,78.5,81.0,81.5,84.0,4 +Lala_Putri_Meilita,77.5,78.0,78.5,79.0,82.0,84.5,81.5,82.5,80.0,85.5,4 +Latifatul_Isma,83.0,82.0,77.0,80.5,81.0,85.0,86.5,86.0,79.0,86.5,6 +Laudia_Vera_Agustin,81.0,75.0,78.5,81.0,83.5,81.5,79.5,83.5,81.0,87.0,5 +Lia_Puspitasari,79.5,75.5,78.0,77.0,79.5,83.5,81.0,82.0,79.0,84.0,3 +Lucky_Fabrio_Saputra,81.0,84.0,80.5,78.0,79.5,81.0,80.0,82.0,79.5,84.0,4 +Lukman_Khakim_Noah,80.5,76.5,78.0,75.5,78.5,80.0,77.0,79.0,78.5,76.0,1 +Luna_Aurelia_Romadhona_Putri,80.5,76.5,81.0,83.5,84.0,89.0,81.0,84.5,82.0,88.0,6 +M._Alfin_Nur_Rahmad,80.0,84.0,78.5,85.0,78.5,83.0,79.5,86.0,81.5,81.0,6 +M._Faris_Ardiyanto,75.0,76.0,76.0,76.0,78.5,84.5,73.5,77.5,77.5,76.0,1 +M.deno_Bayu_Putra_Hardiansah,80.0,75.0,78.0,76.0,81.0,83.0,78.5,83.0,78.5,80.0,2 +M.fahcri_Affan_Ramadhani,80.5,80.5,80.0,77.0,82.5,86.0,74.0,84.5,80.5,82.5,4 +Maysa_Purwadinata,81.0,72.5,79.5,76.0,81.5,81.5,79.5,79.5,80.5,80.0,2 +Medina_Putri_Febiani,81.0,77.5,79.5,81.0,84.5,84.5,79.0,85.0,82.5,83.5,5 +Meirakha_Fernanda_Siswardhani,82.5,77.5,80.0,81.0,79.5,83.5,79.0,83.0,80.0,82.0,4 +Meriyas_Eka_Anjani,85.5,77.0,78.0,81.0,83.0,81.0,74.0,82.5,83.0,85.5,5 +Mexel_Farel_Erlangga,77.0,76.0,78.0,72.5,79.0,78.0,77.5,75.5,77.0,76.0,1 +Mey_Lika_Hanaya_Putri,87.0,78.0,80.0,81.0,82.5,86.5,82.0,84.5,83.0,84.5,6 +Moch._Febri_Nur_Hidayatullah,78.5,74.0,77.5,72.0,80.0,81.0,77.5,78.0,77.0,76.0,1 +Moch._Galih_Nur_Hidayatullah,77.0,77.0,77.0,77.0,80.5,78.5,74.0,78.0,79.5,78.5,1 +Moch.afga_Afreza_Alfiansyah,81.0,79.5,80.5,80.0,83.0,85.0,79.5,86.0,81.0,85.0,5 +Mochamat_Agil_Desulton,81.5,74.0,77.5,77.0,81.0,81.0,78.5,79.0,78.0,78.5,2 +Mochammad_Fahri_Nur_Rizky,82.5,79.5,83.0,81.5,80.5,82.5,85.5,86.0,82.0,87.0,6 +Moh._Raditya_Haria_Nugraha,81.0,72.5,77.5,78.0,82.5,83.5,77.5,84.0,79.0,83.5,3 +Moh._Rendi_Saputra,81.0,73.5,78.0,75.5,81.0,81.5,77.5,80.0,79.0,80.0,1 +Mohamad_Bagus_Hermawan,78.0,73.5,77.0,74.0,80.0,81.0,77.5,73.5,79.0,79.0,1 +Mohamad_Rizal_Permana_Putra,82.0,77.0,78.0,74.0,79.0,79.0,78.0,83.0,78.5,81.5,1 +Mohammad_Iqbal_Hafidh_Amiruddin,82.5,76.5,78.0,75.5,78.5,80.5,77.5,77.5,76.0,81.0,1 +Mohammad_Raihan_Nur_Fajri,81.0,77.0,76.0,80.0,81.0,82.5,73.5,81.0,80.5,81.0,3 +Mohammad_Reno_Zainul_Pratama,81.5,72.5,77.5,75.0,79.0,84.0,77.5,73.5,81.5,81.0,1 +Mohammad_Trio_Subekti,77.5,76.5,76.5,76.0,79.5,82.0,73.0,77.5,79.5,78.0,1 +Muchamad_Jaohar_Firdaus,82.5,74.5,77.0,81.0,82.0,82.0,78.0,79.5,79.5,81.0,3 +Muhamad_Rif'an_Mauludi,88.0,75.5,78.5,82.0,81.5,84.0,77.5,81.0,81.5,82.0,5 +Muhammad_Asril_Daffa_Saputra,77.5,77.5,78.0,78.5,80.5,81.5,72.0,78.0,79.5,79.5,2 +Muhammad_Khafid_Nuriyanto,89.5,80.5,81.0,81.5,78.5,82.5,81.5,86.0,81.0,87.5,6 +Muhammad_Nur_Rahman_Sya'abibah,85.5,76.5,78.0,81.0,78.5,82.5,77.0,82.0,79.0,78.5,3 +Muhammad_Rangga_Saputra,76.0,78.5,78.0,78.5,80.5,81.0,78.5,78.0,79.5,78.5,2 +Muhammad_Rizky_Putra_Aditya,81.0,80.5,77.5,78.5,80.5,81.0,77.5,79.5,73.0,80.5,2 +Muhammad_Safi',82.0,77.0,78.0,79.0,80.0,81.5,77.5,79.5,81.5,79.5,3 +Muhammad_Tegar_Prayuda,81.5,78.5,77.0,80.5,82.0,80.0,76.5,82.5,80.5,85.5,4 +Muhammad_Zennuri,79.5,77.0,79.0,74.5,78.5,83.5,78.5,77.5,78.0,78.0,1 +Nadya_Anandiva_Silvyani,81.0,82.5,81.0,81.0,81.5,85.5,80.0,87.5,82.5,85.5,6 +Nafatria_Kirana,80.0,72.5,78.5,73.5,79.0,78.0,78.5,77.5,74.5,76.5,1 +Nanang_Mariyanto,79.5,73.5,77.5,79.0,79.0,82.0,77.5,80.0,80.0,78.5,2 +Nayaka_Sutomo,82.5,84.0,84.0,80.5,84.5,82.5,83.5,87.5,80.0,86.0,6 +Naysilla_Dwi_Anggraini,88.0,78.0,78.0,80.0,81.5,79.5,79.5,83.5,81.0,84.5,4 +Nezza_Maura_Putri_Agung,83.5,79.5,81.0,75.5,79.5,78.5,80.0,81.0,79.0,83.0,3 +Nimas_Yayank_Putri_Prabowo,80.5,78.5,78.0,75.0,83.0,77.0,77.5,84.5,79.5,85.0,2 +Novita_Eka_Ramandani,78.5,78.0,78.0,79.5,82.0,82.5,79.0,80.0,81.0,84.0,4 +Nur_Aleeya_Afrina_Suwandi,83.5,79.5,80.5,83.5,83.0,84.0,84.0,89.0,81.5,87.0,6 +Prima_Dyah_Novanda,85.0,80.5,81.5,81.0,83.0,82.0,83.5,86.5,77.5,85.5,6 +Puja_Micky_Harianto,80.0,78.5,78.5,81.5,81.0,81.0,77.5,82.0,79.5,84.0,4 +Putri_Adelia_Sari,81.0,77.5,78.0,80.0,80.5,84.5,80.0,85.5,82.5,82.0,5 +Putri_Rahayu_Ningsih,79.5,79.5,79.5,79.5,84.0,80.0,79.5,80.0,80.0,85.5,4 +Quennata_Gladis_Bilbina,86.0,78.5,78.0,80.5,82.5,86.0,79.5,79.5,82.0,81.5,5 +Quinnsha_Launada_Wibowo,82.0,77.0,79.0,78.0,82.0,83.5,79.0,84.0,79.0,82.0,4 +Rahardyan_Felix_Kurniawan_(kr),81.5,77.0,81.0,80.0,83.0,87.0,78.5,85.5,80.0,85.0,5 +Rahma_Goespiaputri_Ramadhani,84.5,77.0,78.0,81.5,80.0,82.5,80.0,84.0,80.0,83.5,5 +Ramadhani_Silfi_Damaiyanti,80.0,77.5,78.0,78.5,80.5,86.5,78.0,82.0,81.5,81.0,4 +Rangga_Galuh_Octa_Pradana,79.0,77.0,78.0,77.5,80.0,80.0,72.5,81.0,81.5,79.5,2 +Rangga_Risqi_Bintang_S.,82.0,76.0,79.0,79.0,80.5,85.0,78.5,82.0,80.0,85.0,4 +Rayhan_Aditya,81.5,80.5,81.0,81.5,80.0,81.5,80.5,88.0,81.0,88.0,6 +Rehan_Dwi_Ferdiansyah,76.5,77.0,78.0,73.0,79.0,81.0,78.0,76.5,79.0,77.0,1 +Rehan_Septa_Adi_Ramadhani,83.5,78.0,78.0,79.0,82.0,86.5,75.5,82.0,80.5,80.5,4 +Renno_Ilham_Revaldo,85.5,73.5,77.5,79.0,81.0,82.5,77.5,83.5,79.5,82.0,3 +Revinda_Wisca_Natalie,86.0,81.5,81.0,85.0,80.5,87.0,80.0,85.5,82.5,85.5,6 +Rika_Nur_Fauziah,80.5,79.5,79.5,81.0,83.5,85.0,80.5,81.0,79.5,85.5,5 +Rima_Dwi_Oktavia,79.5,77.5,78.0,76.0,80.0,79.5,78.0,80.0,80.0,81.0,2 +Riska_Adelia_Dulrahman,80.5,73.0,71.5,71.5,77.0,79.5,77.5,71.0,77.0,72.5,1 +Risma_Indira_Fernanda,89.0,77.0,78.5,83.5,83.0,84.0,81.5,84.5,76.5,85.5,6 +Rizki_Andi_Pratama,85.5,79.5,80.5,81.0,81.5,83.0,84.5,86.0,82.0,86.0,6 +Rizqi_Pangestu_Arsyadipura,84.5,84.0,81.5,82.0,81.0,79.5,83.5,88.0,81.5,87.0,6 +Rohmatul_Fitria_Dewi,87.5,78.0,78.0,83.0,81.0,84.5,80.5,80.5,82.0,81.5,5 +Roszhiana_Ramadhani,77.5,77.5,78.0,79.5,83.0,78.0,80.0,79.0,79.0,79.5,2 +Sahal_Ahmad,82.0,84.0,82.5,80.0,79.0,80.0,80.0,81.0,82.0,84.5,5 +Salfa_Aulia_Putri,81.0,76.5,77.0,82.0,80.5,81.5,77.5,79.0,79.5,79.5,3 +Salsa_Laurintiya,81.0,78.5,79.0,78.0,81.0,78.5,77.0,82.0,79.0,80.5,3 +Sandy_Dwi_Meilano,81.5,82.5,81.0,80.5,81.0,83.5,83.0,85.5,82.0,87.5,6 +Santy_Nurahma_Agustya_Rani_Putri,78.0,78.0,78.0,78.5,83.0,77.5,77.5,78.0,76.5,80.5,2 +Saputra_Seftian_Rahmatdhani,80.5,76.0,79.0,76.5,82.5,87.0,79.5,84.5,81.0,88.0,5 +Satrio_Damar_Anggono,77.5,78.5,77.0,76.5,80.5,80.0,73.5,83.5,80.0,85.5,2 +Selly_Novtiana_Waty,84.0,76.5,77.5,75.0,79.0,79.5,77.5,79.5,79.5,81.0,1 +Septia_Ayu_Muliasih,77.5,76.5,77.5,74.5,79.5,80.5,77.5,77.0,76.0,79.5,1 +Sera_Natalia,80.0,77.5,79.5,80.5,82.5,81.5,80.5,81.0,80.0,84.0,4 +Shofiyyatul_El_Husna,87.5,78.5,79.0,80.5,79.0,77.5,82.0,83.5,81.5,83.5,4 +Silvia_Novitasari,88.5,77.0,78.0,77.0,82.0,81.0,77.5,83.0,82.5,81.5,3 +Singgih_Ferdy_Ananda,87.5,79.5,82.5,79.0,84.5,83.5,81.5,89.0,81.5,89.5,6 +Siti_Apriliani_Khairunnisa,80.5,80.5,79.5,78.0,80.5,84.0,79.5,82.0,80.5,82.0,4 +Siti_Aulia_Nur_Latifah,79.0,82.5,84.0,81.0,84.5,82.0,82.0,87.5,82.5,89.0,6 +Siti_Dian_Rahmadani,79.5,72.5,78.5,74.5,79.5,83.0,78.5,75.0,77.5,82.0,1 +Sujiati_Fitrianingsih,83.5,77.5,78.0,79.5,80.0,83.0,76.5,84.0,80.5,80.5,4 +Surya_Mahadika,81.5,76.0,79.0,76.5,80.5,83.5,79.0,84.5,80.0,85.5,3 +Susan_Amiliya_Khoirunisa,81.5,79.5,79.0,82.0,84.0,79.5,79.5,84.0,79.5,87.5,5 +Syakela_Arifah_Azzahra,83.0,77.0,79.0,77.5,79.5,85.0,78.5,80.0,79.0,80.0,3 +Tasya_Dwi_Oktavia,77.5,77.5,78.0,80.5,82.5,82.5,79.5,79.0,81.5,82.0,4 +Tata_Agata_Afga_Pratama,81.5,78.0,77.5,74.5,80.5,78.5,75.0,78.5,81.0,79.5,1 +Tegar_Krido_Wibowo,79.5,77.0,79.5,77.5,80.0,77.5,77.0,78.5,79.5,80.0,2 +Tegar_Reka_Wijaya,82.0,79.5,79.5,81.0,82.5,83.5,81.5,84.0,82.0,86.5,6 +Thalyta_Chelse_Olivia_Leovanny,86.5,74.5,80.0,80.0,84.0,82.0,79.5,84.5,83.0,83.5,5 +Tio_Ainun_Romadhoni,81.5,76.5,76.5,79.0,78.5,81.5,77.0,80.0,79.5,80.0,2 +Titin_Karunia_Putri,83.0,79.5,78.0,81.0,82.5,85.0,79.0,85.0,81.5,85.0,5 +Tribuana_Reza_Fanani,82.0,76.0,80.0,80.0,80.5,82.5,79.0,84.5,76.0,82.5,4 +Trisa_Adelia_Parera,83.5,78.0,78.5,79.5,82.5,84.0,77.5,84.0,80.5,84.0,5 +Triyah_Bhuana,81.5,77.0,80.0,76.0,79.5,82.0,77.5,83.0,79.0,80.5,3 +Ulfa_Kusuma_Dewi,84.5,75.0,78.5,78.0,82.0,81.0,77.5,80.0,81.5,82.0,3 +Vandi_Aulia_Kadhafi,83.5,77.0,79.0,76.0,79.5,79.5,78.5,79.5,78.0,79.0,2 +Vania_Ika_Melinda,80.5,79.5,79.5,80.5,81.0,80.5,82.0,84.0,79.0,83.5,5 +Varisha_Anastasya,86.5,80.5,81.5,81.5,80.5,85.0,84.0,85.5,82.5,87.0,6 +Viasya_Aqnia_Zela,82.0,77.0,79.5,78.0,83.5,83.5,79.5,86.0,79.5,83.0,4 +Vrananda_Ricky_Saputra,77.5,77.0,79.0,78.0,80.5,78.5,72.0,79.0,81.5,78.5,2 +Wahyu_Febrianti,83.0,77.0,80.5,83.5,84.5,88.5,79.5,86.5,83.5,89.5,6 +Wahyu_Subastyan,79.5,73.5,79.0,74.0,80.0,81.5,78.5,74.0,76.0,78.5,1 +Widya_Dwi_Astuti,79.5,77.5,79.0,80.5,80.5,81.5,76.0,79.0,80.5,80.5,3 +Wildan_Yongga_Jodyatmika,82.5,72.5,78.5,78.0,79.0,81.5,77.5,77.0,82.0,81.0,2 +Wisnu_Tirta_Kusuma,81.5,73.5,78.5,79.0,79.5,81.0,77.5,80.0,80.5,81.0,2 +Yahya_Handika_Aditia,87.0,78.0,78.0,75.5,81.0,82.0,74.0,79.0,80.5,80.5,2 +Yanuarycha_Putri_Rifda,82.0,73.5,79.0,77.0,81.5,80.0,78.5,80.5,82.0,82.5,3 +Yohan_Arinugraha,86.5,83.5,83.5,84.0,85.0,81.0,81.0,90.0,84.0,90.0,6 +Yuli_Evita_Wati,83.0,77.5,79.5,80.0,80.5,86.0,79.5,84.5,81.0,83.5,5 +Yulia_Nur_Lismarita,80.5,77.5,78.0,80.5,81.0,80.0,80.5,83.0,77.5,83.0,3 +Yuma_Erlangga,79.5,76.0,76.0,77.0,77.5,76.5,77.0,76.5,74.5,79.0,1 +Zaneta_Ayu_Nur_Harsya,82.5,72.5,79.0,78.0,82.0,80.5,78.5,80.5,81.5,84.5,3 +Zulfatul_Ilmi_Sa'adah,80.0,73.5,79.5,77.0,84.5,84.0,79.5,82.0,81.5,82.0,3 +Zulia_Ulifatul_Mahmadah,81.5,78.5,79.0,75.0,79.5,81.0,78.5,81.0,80.0,82.0,2 diff --git a/data/paket_info.json b/data/paket_info.json new file mode 100644 index 0000000..e69de29 diff --git a/data/student_name_catalog.json b/data/student_name_catalog.json new file mode 100644 index 0000000..032b9dc --- /dev/null +++ b/data/student_name_catalog.json @@ -0,0 +1,309 @@ +{ + "added": [ + "Alfa Beta", + "Park sunghoon", + "Park Jongseong Enha", + "Ninik yuniarsih", + "Ahmad Adib Almuiz", + "Amin Ridho Sholikin", + "Arik Wisnu Pramuditiya", + "Brian Agung Pamungkas", + "Chesylya Adinnata Maylani", + "Dewi Marisah Manggar Retno", + "Dwi Andika", + "Dyah Ayu Pratiwi", + "Ermita Trisya Sari", + "Fika Nur Rohmah", + "Fino Andreyan Pratama", + "Fitri Yulita Sari", + "Frisa Agiel Kirania", + "Handoko Dimas Wahyu Nugroho", + "Keyla Chantika Devy Julieta", + "Latifatul Isma", + "M. Faris Ardiyanto", + "Meriyas Eka Anjani", + "Mitzy Aurora Azzahra", + "Moch. Galih Nur Hidayatullah", + "Mohammad Trio Subekti", + "Muhamad Rangga Aji Pratama", + "Nidda'ul Fijriah", + "Novita Eka Ramandani", + "Putri Rahayu Ningsih", + "Quennata Gladis Bilbina", + "Rizki Andi Pratama", + "Rizqi Pangestu Arsyadipura", + "Rohmatul Fitria Dewi", + "Satrio Damar Anggono", + "Shofiyyatul El Husna", + "Tegar Krido Wibowo", + "Tegar Reka Wijaya", + "Vania Ika Melinda", + "Zaraya Jelita Putri Ardina", + "Ahmad Maulana Rizky Aditya Wijaya", + "Alhasby Bachtiar", + "Aprilia Martalita Wibowo", + "Arshinta Marthalie Gunawan", + "Atadea Lie Intan Karina", + "Azzahra Dewi Natria", + "Bagus Rohman Maulana", + "Binti Yisha Zahra Futri", + "Chalista Ayunda Sukmaningtyas", + "Clara Balqis Putri Febrianti", + "Davin Yudha Pratama", + "Dian Noviyanti", + "Dwi Kevfri Kenata", + "Fahril Rahmad Tri Setyawan", + "Firstian Vidya Permana", + "Galang Aldiyansah Putra", + "Ghania Hardiyanti", + "Hamida Ulviana Dewi", + "Hengky Prasetyo", + "Kellvi Tiaska Putri", + "Kurniawan Dyo Tri Warsono", + "Mochamad Ardiansyah Saputra", + "Mochammad Yuda Aditia", + "Mohammad Raihan Nur Fajri", + "Muhammad Tegar Prayuda", + "Muhammad Zainal Asrofi", + "Nur Aleeya Afrina Suwandi", + "Prima Dyah Novanda", + "Rika Nur Fauziah", + "Satryo Gito Pratomo", + "Septian Daniarti Fitri Astutik", + "Suci Rahayu Saputri", + "Sujiati Fitrianingsih", + "Tata Agata Afga Pratama", + "Yahya Handika Aditia", + "Yulia Nur Lismarita", + "Aditya Rizky Romadhon", + "Aisyah Fidinna Rahmatika", + "Aldo Widodo", + "Alvino Surya Pratama", + "Alvinza Brian Saputra", + "Dhimas Pandu Wijaya", + "Fauziah Elsa Putri Purnomo", + "Feisal Wisnu Raditya", + "Fitriani Nurul Norhayati", + "Fivi Widyo Wati", + "Gloria Fransisca", + "Herlin Faradila Stifiana", + "Karisma Hardiyati P. R.", + "Kirana Putri Agustina", + "Lala Putri Meilita", + "M.fahcri Affan Ramadhani", + "Mey Lika Hanaya Putri", + "Moch.afga Afreza Alfiansyah", + "Mochammad Fahri Nur Rizky", + "Muhammad Asril Daffa Saputra", + "Nadya Anandiva Silvyani", + "Nendra Nur Febrian", + "Putri Adelia Sari", + "Ramadhani Silfi Damaiyanti", + "Rangga Galuh Octa Pradana", + "Rehan Septa Adi Ramadhani", + "Salsa Laurintiya", + "Salva Andika", + "Sandy Dwi Meilano", + "Sera Natalia", + "Tasya Dwi Oktavia", + "Varisha Anastasya", + "Vrananda Ricky Saputra", + "Widya Dwi Astuti", + "Agha Hisyam Al-haliim", + "Ahmad Rofi`an Saputra", + "Aldo Dwi Julianto", + "Alvi Sani", + "Aprilia Wahyuning Agustin", + "Arfian Setya Yusinda", + "Arga Wahyu Prasetyo", + "Athaya Angel Widodo", + "Bambang Dwi Sri Hatmoko", + "Bilqiz Namsya Prasesta", + "Bunga Damir Kalolong Sulai Manan", + "Chalisha Alqathrunnada Winsputri", + "Decha Navita Sari", + "Dina Aulia Salsabila Putri", + "Dyah Vivianti", + "Endang Rahayu Ningsih", + "Hildan Tri Agustino", + "Juliani Wati", + "Kaiyla Fera Ayu Moza", + "Mexel Farel Erlangga", + "Muhamad Fauzan Saputra", + "Muhammad Rangga Saputra", + "Muhammad Rizky Putra Aditya", + "Nayaka Sutomo", + "Naysilla Dwi Anggraini", + "Nimas Yayank Putri Prabowo", + "Puja Micky Harianto", + "Reva Aidilla Melani", + "Rivaldi Desta Akbar Pratama", + "Roszhiana Ramadhani", + "Santy Nurahma Agustya Rani Putri", + "Sindy Aulia Lestari", + "Singgih Ferdy Ananda", + "Susan Amiliya Khoirunisa", + "Trisa Adelia Parera", + "Yohan Arinugraha", + "Ana Ainus Sifa", + "Andini Rahmawati", + "Angga Jalu Arizona", + "Anggun Kartika Okta Novita", + "Aprian Mahardika", + "Arga Reyhandika Pratama", + "Awwalun Firdausi", + "Della Dwi Pratiwi", + "Dhafa Brillyan Gustafianto", + "Dinda Windy Oktaviona", + "Erlang Danendra Ari Putra", + "Gabriel Desja Alexsyata", + "Ghea Anzani Siswanto", + "Hera Junia Purnamasari", + "Isna Maulidiyah", + "Johan Satrio Wicaksono", + "Juliana Wita", + "Lucky Fabrio Saputra", + "Lukman Khakim Noah", + "Meirakha Fernanda Siswardhani", + "Mohamad Rifa'i Wijayanto", + "Mohammad Iqbal Hafidh Amiruddin", + "Muhammad Nur Rahman Sya'abibah", + "Nashwa Mentari Yuwana Putri", + "Nezza Maura Putri Agung", + "Revinda Wisca Natalie", + "Sahal Ahmad", + "Salfa Aulia Putri", + "Selly Novtiana Waty", + "Septia Ayu Muliasih", + "Shafa Ayunda Putri", + "Shifa Khayyuna Qisthi", + "Siti Apriliani Khairunnisa", + "Siti Aulia Nur Latifah", + "Tio Ainun Romadhoni", + "Yuma Erlangga", + "Abid Fadlih Hafiyyah Faza", + "Adinda Dhea Ochtavyana", + "Ahmad Risky Maskur", + "Ahmad Rizal Hanafi", + "Ahmad Rizky Wijaya", + "Alfiani Mayasari", + "Ardan Pradipta", + "Arya Erlangga Tino Putra", + "Azka Febita Zalfianty", + "Bunga Alikasari", + "Cantika Oktavia Nurfitri Mardiani", + "Chiko Bonanza Cavan Putra", + "Dhea Ayu Permatasari", + "Galang Aldi Ananta Putra", + "Jefana Dwi Jayanti", + "Jhovani Vina Maharani", + "Keiza Olivia Witari", + "Kevin Arfian Vidyanata", + "M. Alfin Nur Rahmad", + "Marsha Syifa' Setiawati", + "Mochammad Rifky Febri Nur Rohman", + "Mohamad Rizal Permana Putra", + "Muhammad Gara Imam Arifin", + "Muhammad Khafid Nuriyanto", + "Muhammad Zennuri", + "Rahma Goespiaputri Ramadhani", + "Rayhan Aditya", + "Rehan Dwi Ferdiansyah", + "Rima Dwi Oktavia", + "Riska Adelia Dulrahman", + "Syakela Arifah Azzahra", + "Titin Karunia Putri", + "Vandi Aulia Kadhafi", + "Yuli Evita Wati", + "Zulia Ulifatul Mahmadah", + "Ameliya Putri Mentari", + "Andika Bayu Abriansyah", + "Azmi Halim", + "Bambang Adi Pramana", + "Bryan Maulana Wibiantoro", + "Dharisman Bagus Prastowo", + "Ella Syahra Agustin", + "Febian Dwi Andika", + "Hawa Aurelia Firdaus", + "Indri Julia Dwi Dianitami", + "Kusuma Faridatulliya", + "Laudia Vera Agustin", + "M.deno Bayu Putra Hardiansah", + "Moch. Febri Nur Hidayatullah", + "Mochamat Agil Desulton", + "Moh. Rendi Saputra", + "Mohamad Bagus Hermawan", + "Muchamad Jaohar Firdaus", + "Muhamad Rif'an Mauludi", + "Muhammad Safi'", + "Rendi Prastyo Aditama", + "Renno Ilham Revaldo", + "Risma Indira Fernanda", + "Safina Ismafatul Roida", + "Silvia Novitasari", + "Sonya Aulia Dewi", + "Talita Bella Safira", + "Thalyta Chelse Olivia Leovanny", + "Ulfa Kusuma Dewi", + "Wahyu Subastyan", + "Yanuarycha Putri Rifda", + "Zulfatul Ilmi Sa'adah", + "Abel Senja Agma Subroto", + "Ahmad Fauzan Maulana Ibrahim", + "Amin Ridho Shobirin", + "Andika Nugrahatama", + "Aprilliana Cahaya Puspita", + "Aulia Dwi Suci Cahyani", + "Bilqis Syafiah Ahmad", + "Danendra Zahran Qurunul Bahri", + "Dania Ismatul Maula", + "Diva Maulidiya", + "Gufroni Ahmadin Naja", + "Handy Miftakhul Ullum", + "Kharizma Putri Prilia", + "Laela Indriani", + "M. Zeka Azfar Pahlawan", + "Maysa Purwadinata", + "Medina Putri Febiani", + "Moh. Raditya Haria Nugraha", + "Mohammad Reno Zainul Pratama", + "Muhamad Kafil Lubawi", + "Nafatria Kirana", + "Nanang Mariyanto", + "Quinnsha Launada Wibowo", + "Rahardyan Felix Kurniawan (kr)", + "Rangga Risqi Bintang S.", + "Saputra Seftian Rahmatdhani", + "Siti Dian Rahmadani", + "Surya Mahadika", + "Tribuana Reza Fanani", + "Triyah Bhuana", + "Viasya Aqnia Zela", + "Wahyu Febrianti", + "Wildan Yongga Jodyatmika", + "Wisnu Tirta Kusuma", + "Zaneta Ayu Nur Harsya", + "Ahmad Dodik Pratama", + "Ahmad Pramuja", + "Aprita Nur Aini", + "Ardian Rama Budi Kusuma", + "Arrasha Raditya Andani", + "Bayu Ananta Julian Wicaksono", + "Cahya Sasadara", + "Dimas Ragil Saputra", + "Dwi Ka Fauzian Maulana Ikhsan", + "Dwi Nurida Syifa", + "Fibriana Fira Rahmawati", + "Helsabrina Faj'ri Mahmuna", + "Hesnanda Azeema Naswa Krisnasekha", + "Irma Rahayu", + "Jimi Pranata", + "Kevin Saputra", + "Keylla Aulia Renata", + "Lia Puspitasari", + "Luna Aurelia Romadhona Putri", + "Moch. Rangga Ardiyansah", + "Moh. Krisna Hendra Gunawan" + ], + "deleted": [] +} \ No newline at end of file diff --git a/db/database.py b/db/database.py new file mode 100644 index 0000000..e8841eb --- /dev/null +++ b/db/database.py @@ -0,0 +1,303 @@ +import hashlib +def hash_password(password): + """Hash password dengan SHA-256.""" + return hashlib.sha256(password.encode('utf-8')).hexdigest() + +def register_admin(username, password): + """ + Tambah admin baru ke tabel admin. Password akan di-hash. + Akan melempar Exception jika username sudah ada. + """ + password_hash = hash_password(password) + with get_connection() as conn: + cur = conn.cursor() + cur.execute("INSERT INTO admin (username, password_hash) VALUES (%s, %s)", (username, password_hash)) + conn.commit() + +def verify_admin_login(username, password): + """ + Verifikasi login admin. Return True jika username & password cocok, else False. + """ + password_hash = hash_password(password) + with get_connection() as conn: + cur = conn.cursor() + cur.execute("SELECT id FROM admin WHERE username = %s AND password_hash = %s", (username, password_hash)) + result = cur.fetchone() + return result is not None + +def verify_admin_login_detail(username, password): + """ + Verifikasi login admin dengan status detail. + Return salah satu dari: + - 'success' + - 'username_not_found' + - 'wrong_password' + - 'wrong_username_and_password' + """ + input_password_hash = hash_password(password) + + with get_connection() as conn: + cur = conn.cursor() + cur.execute("SELECT password_hash FROM admin WHERE username = %s", (username,)) + result = cur.fetchone() + + if result is None: + cur.execute("SELECT id FROM admin WHERE password_hash = %s", (input_password_hash,)) + password_match = cur.fetchone() + if password_match is not None: + return 'username_not_found' + return 'wrong_username_and_password' + + stored_hash = result[0] + if stored_hash != input_password_hash: + return 'wrong_password' + + return 'success' +import psycopg2 +from contextlib import contextmanager + +DB_CONFIG = { + 'host': 'localhost', + 'database': 'db_klasifikasi', + 'user': 'postgres', + 'password': 'admin' +} + +@contextmanager +def get_connection(): + """ + Context manager untuk koneksi database PostgreSQL. + Otomatis menutup koneksi setelah digunakan. + Akan melempar Exception jika gagal koneksi. + """ + conn = None + try: + conn = psycopg2.connect(**DB_CONFIG) + yield conn + except psycopg2.Error as e: + raise Exception(f"Gagal koneksi database: {e}") + finally: + if conn: + conn.close() + +def test_connection(): + """Cek koneksi ke database, return True jika sukses, False jika gagal.""" + try: + with get_connection() as conn: + cur = conn.cursor() + cur.execute("SELECT 1") + return True + except Exception: + return False + +# untuk simpan hasil prediksi +def simpan_hasil_prediksi(nama, nilai_dict, paket_prediksi): + with get_connection() as conn: + cur = conn.cursor() + sql = """ + INSERT INTO hasil_prediksi ( + nama_siswa, + nilai_informatika_sem1, nilai_informatika_sem2, nilai_informatika, + nilai_fisika_sem1, nilai_fisika_sem2, nilai_fisika, + nilai_kimia_sem1, nilai_kimia_sem2, nilai_kimia, + nilai_biologi_sem1, nilai_biologi_sem2, nilai_biologi, + nilai_big_lanjut_sem1, nilai_big_lanjut_sem2, nilai_big_lanjut, + nilai_ekonomi_sem1, nilai_ekonomi_sem2, nilai_ekonomi, + nilai_mat_lanjut_sem1, nilai_mat_lanjut_sem2, nilai_mat_lanjut, + nilai_sej_lanjut_sem1, nilai_sej_lanjut_sem2, nilai_sej_lanjut, + nilai_sosiologi_sem1, nilai_sosiologi_sem2, nilai_sosiologi, + nilai_geografi_sem1, nilai_geografi_sem2, nilai_geografi, + paket_prediksi + ) VALUES ( + %s, + %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, + %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s + ) + """ + values = ( + str(nama), + # Informatika + float(nilai_dict.get('nilai_informatika_sem1', 0)), + float(nilai_dict.get('nilai_informatika_sem2', 0)), + float(nilai_dict.get('nilai_informatika', 0)), + # Fisika + float(nilai_dict.get('nilai_fisika_sem1', 0)), + float(nilai_dict.get('nilai_fisika_sem2', 0)), + float(nilai_dict.get('nilai_fisika', 0)), + # Kimia + float(nilai_dict.get('nilai_kimia_sem1', 0)), + float(nilai_dict.get('nilai_kimia_sem2', 0)), + float(nilai_dict.get('nilai_kimia', 0)), + # Biologi + float(nilai_dict.get('nilai_biologi_sem1', 0)), + float(nilai_dict.get('nilai_biologi_sem2', 0)), + float(nilai_dict.get('nilai_biologi', 0)), + # BIG Lanjut + float(nilai_dict.get('nilai_big_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_big_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_big_lanjut', 0)), + # Ekonomi + float(nilai_dict.get('nilai_ekonomi_sem1', 0)), + float(nilai_dict.get('nilai_ekonomi_sem2', 0)), + float(nilai_dict.get('nilai_ekonomi', 0)), + # MAT Lanjut + float(nilai_dict.get('nilai_mat_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_mat_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_mat_lanjut', 0)), + # SEJ Lanjut + float(nilai_dict.get('nilai_sej_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_sej_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_sej_lanjut', 0)), + # Sosiologi + float(nilai_dict.get('nilai_sosiologi_sem1', 0)), + float(nilai_dict.get('nilai_sosiologi_sem2', 0)), + float(nilai_dict.get('nilai_sosiologi', 0)), + # Geografi + float(nilai_dict.get('nilai_geografi_sem1', 0)), + float(nilai_dict.get('nilai_geografi_sem2', 0)), + float(nilai_dict.get('nilai_geografi', 0)), + int(paket_prediksi) + ) + cur.execute(sql, values) + conn.commit() #membuat data masuk ke database + +def ambil_semua_hasil_prediksi(): + """ + Ambil semua data hasil prediksi dari tabel hasil_prediksi. + Return: list of dict. + """ + with get_connection() as conn: + cur = conn.cursor() + sql = "SELECT * FROM hasil_prediksi ORDER BY id DESC" + cur.execute(sql) + columns = [desc[0] for desc in cur.description] + rows = cur.fetchall() + return [dict(zip(columns, row)) for row in rows] + +#untuk update hasil prediksi di database berdasarkan id. +def update_hasil_prediksi(id, nama, nilai_dict, paket_prediksi): + with get_connection() as conn: + cur = conn.cursor() + sql = """ + UPDATE hasil_prediksi SET + nama_siswa = %s, + nilai_informatika_sem1 = %s, nilai_informatika_sem2 = %s, nilai_informatika = %s, + nilai_fisika_sem1 = %s, nilai_fisika_sem2 = %s, nilai_fisika = %s, + nilai_kimia_sem1 = %s, nilai_kimia_sem2 = %s, nilai_kimia = %s, + nilai_biologi_sem1 = %s, nilai_biologi_sem2 = %s, nilai_biologi = %s, + nilai_big_lanjut_sem1 = %s, nilai_big_lanjut_sem2 = %s, nilai_big_lanjut = %s, + nilai_ekonomi_sem1 = %s, nilai_ekonomi_sem2 = %s, nilai_ekonomi = %s, + nilai_mat_lanjut_sem1 = %s, nilai_mat_lanjut_sem2 = %s, nilai_mat_lanjut = %s, + nilai_sej_lanjut_sem1 = %s, nilai_sej_lanjut_sem2 = %s, nilai_sej_lanjut = %s, + nilai_sosiologi_sem1 = %s, nilai_sosiologi_sem2 = %s, nilai_sosiologi = %s, + nilai_geografi_sem1 = %s, nilai_geografi_sem2 = %s, nilai_geografi = %s, + paket_prediksi = %s + WHERE id = %s + """ + values = ( + str(nama), + # Informatika + float(nilai_dict.get('nilai_informatika_sem1', 0)), + float(nilai_dict.get('nilai_informatika_sem2', 0)), + float(nilai_dict.get('nilai_informatika', 0)), + # Fisika + float(nilai_dict.get('nilai_fisika_sem1', 0)), + float(nilai_dict.get('nilai_fisika_sem2', 0)), + float(nilai_dict.get('nilai_fisika', 0)), + # Kimia + float(nilai_dict.get('nilai_kimia_sem1', 0)), + float(nilai_dict.get('nilai_kimia_sem2', 0)), + float(nilai_dict.get('nilai_kimia', 0)), + # Biologi + float(nilai_dict.get('nilai_biologi_sem1', 0)), + float(nilai_dict.get('nilai_biologi_sem2', 0)), + float(nilai_dict.get('nilai_biologi', 0)), + # BIG Lanjut + float(nilai_dict.get('nilai_big_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_big_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_big_lanjut', 0)), + # Ekonomi + float(nilai_dict.get('nilai_ekonomi_sem1', 0)), + float(nilai_dict.get('nilai_ekonomi_sem2', 0)), + float(nilai_dict.get('nilai_ekonomi', 0)), + # MAT Lanjut + float(nilai_dict.get('nilai_mat_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_mat_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_mat_lanjut', 0)), + # SEJ Lanjut + float(nilai_dict.get('nilai_sej_lanjut_sem1', 0)), + float(nilai_dict.get('nilai_sej_lanjut_sem2', 0)), + float(nilai_dict.get('nilai_sej_lanjut', 0)), + # Sosiologi + float(nilai_dict.get('nilai_sosiologi_sem1', 0)), + float(nilai_dict.get('nilai_sosiologi_sem2', 0)), + float(nilai_dict.get('nilai_sosiologi', 0)), + # Geografi + float(nilai_dict.get('nilai_geografi_sem1', 0)), + float(nilai_dict.get('nilai_geografi_sem2', 0)), + float(nilai_dict.get('nilai_geografi', 0)), + int(paket_prediksi), + int(id) + ) + cur.execute(sql, values) + conn.commit() + +def hapus_hasil_prediksi(id): + """ + Hapus data hasil prediksi berdasarkan id. + Akan melempar Exception jika data tidak ditemukan. + """ + with get_connection() as conn: + cur = conn.cursor() + sql = "DELETE FROM hasil_prediksi WHERE id = %s" + cur.execute(sql, (int(id),)) + if cur.rowcount == 0: + raise Exception(f"Data dengan ID {id} tidak ditemukan") + conn.commit() + +def backup_database(backup_path): + """ + Backup seluruh data hasil_prediksi ke file CSV. + Return True jika sukses, False jika gagal. + """ + try: + data = ambil_semua_hasil_prediksi() + import pandas as pd + df = pd.DataFrame(data) + df.to_csv(backup_path, index=False) + return True + except Exception: + return False + +def get_statistics(): + """ + Ambil statistik ringkas dari tabel hasil_prediksi. + Return dict statistik atau None jika gagal. + """ + try: + with get_connection() as conn: + cur = conn.cursor() + cur.execute("SELECT COUNT(*) FROM hasil_prediksi") + total_siswa = cur.fetchone()[0] + cur.execute(""" + SELECT paket_prediksi, COUNT(*) as jumlah + FROM hasil_prediksi + GROUP BY paket_prediksi + ORDER BY paket_prediksi + """) + distribusi_paket = cur.fetchall() + cur.execute(""" + SELECT + AVG(nilai_informatika), AVG(nilai_fisika), AVG(nilai_kimia), AVG(nilai_biologi), + AVG(nilai_big_lanjut), AVG(nilai_ekonomi), AVG(nilai_mat_lanjut), AVG(nilai_sej_lanjut), + AVG(nilai_sosiologi), AVG(nilai_geografi) + FROM hasil_prediksi + """) + avg_nilai = cur.fetchone() + return { + 'total_siswa': total_siswa, + 'distribusi_paket': distribusi_paket, + 'rata_rata_nilai': avg_nilai + } + except Exception: + return None \ No newline at end of file diff --git a/db/schema.sql b/db/schema.sql new file mode 100644 index 0000000..ed5ad9b --- /dev/null +++ b/db/schema.sql @@ -0,0 +1,59 @@ +-- Schema database untuk Sistem Klasifikasi Jurusan Siswa +-- Jalankan file ini di database: db_klasifikasi + +CREATE TABLE IF NOT EXISTS admin ( + id SERIAL PRIMARY KEY, + username VARCHAR(50) UNIQUE NOT NULL, + password_hash VARCHAR(64) NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS hasil_prediksi ( + id SERIAL PRIMARY KEY, + nama_siswa VARCHAR(100) NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Informatika + nilai_informatika_sem1 DOUBLE PRECISION, + nilai_informatika_sem2 DOUBLE PRECISION, + nilai_informatika DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Fisika + nilai_fisika_sem1 DOUBLE PRECISION, + nilai_fisika_sem2 DOUBLE PRECISION, + nilai_fisika DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Kimia + nilai_kimia_sem1 DOUBLE PRECISION, + nilai_kimia_sem2 DOUBLE PRECISION, + nilai_kimia DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Biologi + nilai_biologi_sem1 DOUBLE PRECISION, + nilai_biologi_sem2 DOUBLE PRECISION, + nilai_biologi DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk BIG Lanjut + nilai_big_lanjut_sem1 DOUBLE PRECISION, + nilai_big_lanjut_sem2 DOUBLE PRECISION, + nilai_big_lanjut DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Ekonomi + nilai_ekonomi_sem1 DOUBLE PRECISION, + nilai_ekonomi_sem2 DOUBLE PRECISION, + nilai_ekonomi DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk MAT Lanjut + nilai_mat_lanjut_sem1 DOUBLE PRECISION, + nilai_mat_lanjut_sem2 DOUBLE PRECISION, + nilai_mat_lanjut DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk SEJ Lanjut + nilai_sej_lanjut_sem1 DOUBLE PRECISION, + nilai_sej_lanjut_sem2 DOUBLE PRECISION, + nilai_sej_lanjut DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Sosiologi + nilai_sosiologi_sem1 DOUBLE PRECISION, + nilai_sosiologi_sem2 DOUBLE PRECISION, + nilai_sosiologi DOUBLE PRECISION NOT NULL, + -- Kolom Semester 1, 2, dan Rata-rata untuk Geografi + nilai_geografi_sem1 DOUBLE PRECISION, + nilai_geografi_sem2 DOUBLE PRECISION, + nilai_geografi DOUBLE PRECISION NOT NULL, + paket_prediksi INTEGER NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX IF NOT EXISTS idx_hasil_prediksi_nama ON hasil_prediksi (nama_siswa); +CREATE INDEX IF NOT EXISTS idx_hasil_prediksi_paket ON hasil_prediksi (paket_prediksi); diff --git a/gui/custom_notifications.py b/gui/custom_notifications.py new file mode 100644 index 0000000..02f9412 --- /dev/null +++ b/gui/custom_notifications.py @@ -0,0 +1,1366 @@ +import csv +import json +import os + +import config +from PyQt5.QtWidgets import ( + QAbstractItemView, + QDialog, + QFrame, + QHeaderView, + QHBoxLayout, + QInputDialog, + QLabel, + QLineEdit, + QMessageBox, + QPushButton, + QTableWidget, + QTableWidgetItem, + QStyle, + QStyleOptionViewItem, + QVBoxLayout, +) +from PyQt5.QtCore import Qt, QEvent +from PyQt5.QtGui import QFont + +class CustomNotificationDialog(QDialog): + """Custom styled notification dialog for success, error, warning, and question messages""" + + def __init__(self, parent=None, dialog_type="success", title="Success!", message="Operation completed successfully", + button_text="OK", show_cancel=False, cancel_text="Cancel", compact=False): + super().__init__(parent) + self.dialog_type = dialog_type # "success", "error", "warning", "question" + self.result_value = False + self.compact = compact + + # Remove window frame and set flags + self.setWindowFlags(Qt.Dialog | Qt.FramelessWindowHint) + self.setAttribute(Qt.WA_TranslucentBackground) + + self.initUI(title, message, button_text, show_cancel, cancel_text) + + def initUI(self, title, message, button_text, show_cancel, cancel_text): + # Main layout with margins for shadow effect + main_layout = QVBoxLayout() + outer_margin = 14 if self.compact else 20 + main_layout.setContentsMargins(outer_margin, outer_margin, outer_margin, outer_margin) + + # Content widget (the card) + content_widget = QDialog() + content_widget.setFixedWidth(340 if self.compact else 450) + + # Set colors based on dialog type + if self.dialog_type == "success": + border_color = "#48bb78" # Green + icon_bg = "#48bb78" + icon = "✓" + button_color = "#48bb78" + button_hover = "#38a169" + elif self.dialog_type == "error": + border_color = "#f56565" # Red + icon_bg = "#f56565" + icon = "✕" + button_color = "#f56565" + button_hover = "#e53e3e" + elif self.dialog_type == "warning": + border_color = "#ed8936" # Orange + icon_bg = "#ed8936" + icon = "!" + button_color = "#ed8936" + button_hover = "#dd6b20" + else: # question + border_color = "#4299e1" # Blue + icon_bg = "#4299e1" + icon = "?" + button_color = "#4299e1" + button_hover = "#3182ce" + + content_widget.setStyleSheet(f""" + QDialog {{ + background-color: white; + border-top: 4px solid {border_color}; + border-radius: 8px; + }} + """) + + content_layout = QVBoxLayout() + if self.compact: + content_layout.setContentsMargins(24, 28, 24, 24) + content_layout.setSpacing(12) + else: + content_layout.setContentsMargins(40, 50, 40, 40) + content_layout.setSpacing(20) + + # Icon at the top + icon_label = QLabel(icon) + icon_label.setAlignment(Qt.AlignCenter) + icon_size = 54 if self.compact else 80 + icon_label.setFixedSize(icon_size, icon_size) + icon_label.setStyleSheet(f""" + QLabel {{ + background-color: {icon_bg}; + color: white; + font-size: {34 if self.compact else 48}px; + font-weight: bold; + border-radius: {icon_size // 2}px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + """) + + # Create a container to center the icon + icon_container = QHBoxLayout() + icon_container.addStretch() + icon_container.addWidget(icon_label) + icon_container.addStretch() + content_layout.addLayout(icon_container) + + # Title + title_label = QLabel(title) + title_label.setAlignment(Qt.AlignCenter) + title_label.setStyleSheet(f""" + QLabel {{ + font-size: {22 if self.compact else 32}px; + font-weight: bold; + color: {border_color if self.dialog_type != 'question' else '#2d3748'}; + margin-top: {4 if self.compact else 10}px; + margin-bottom: {4 if self.compact else 10}px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + """) + content_layout.addWidget(title_label) + + # Separator line + separator = QLabel() + separator.setFixedHeight(3) + separator.setStyleSheet(f"background-color: {border_color}; border-radius: 1px;") + separator.setFixedWidth(100) + separator_container = QHBoxLayout() + separator_container.addStretch() + separator_container.addWidget(separator) + separator_container.addStretch() + content_layout.addLayout(separator_container) + + # Message + message_label = QLabel(message) + message_label.setAlignment(Qt.AlignCenter) + message_label.setWordWrap(True) + message_font_size = 17 if self.compact else 19 + message_label.setStyleSheet(f""" + QLabel {{ + font-size: {message_font_size}px; + color: #718096; + line-height: 1.5; + margin-top: 8px; + margin-bottom: 12px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + """) + content_layout.addWidget(message_label) + + # Buttons + button_layout = QHBoxLayout() + button_layout.setSpacing(10 if self.compact else 15) + + if show_cancel: + # Cancel button (outlined) + cancel_btn = QPushButton(cancel_text) + cancel_btn.setFixedHeight(36 if self.compact else 45) + cancel_btn.setFixedWidth(120 if self.compact else 150) + cancel_btn.setCursor(Qt.PointingHandCursor) + cancel_btn.setStyleSheet(f""" + QPushButton {{ + background-color: white; + color: #718096; + border: 2px solid #e2e8f0; + border-radius: {18 if self.compact else 25}px; + font-size: {13 if self.compact else 16}px; + font-weight: 600; + padding: {6 if self.compact else 8}px {16 if self.compact else 24}px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + QPushButton:hover {{ + background-color: #f7fafc; + border-color: #cbd5e0; + color: #4a5568; + }} + QPushButton:pressed {{ + background-color: #edf2f7; + }} + """) + cancel_btn.clicked.connect(self.on_cancel) + button_layout.addWidget(cancel_btn) + + # Main button (filled) + ok_btn = QPushButton(button_text) + ok_btn.setFixedHeight(36 if self.compact else 45) + ok_btn.setFixedWidth(120 if self.compact else 150) + ok_btn.setCursor(Qt.PointingHandCursor) + ok_btn.setStyleSheet(f""" + QPushButton {{ + background-color: {button_color}; + color: white; + border: none; + border-radius: {18 if self.compact else 25}px; + font-size: {13 if self.compact else 16}px; + font-weight: 600; + padding: {6 if self.compact else 8}px {16 if self.compact else 24}px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + QPushButton:hover {{ + background-color: {button_hover}; + }} + QPushButton:pressed {{ + background-color: {button_hover}; + padding-top: 10px; + padding-bottom: 6px; + }} + """) + ok_btn.clicked.connect(self.on_ok) + button_layout.addWidget(ok_btn) + + content_layout.addLayout(button_layout) + content_widget.setLayout(content_layout) + + main_layout.addWidget(content_widget) + self.setLayout(main_layout) + + # Apply shadow effect + from PyQt5.QtWidgets import QGraphicsDropShadowEffect + from PyQt5.QtGui import QColor + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(30) + shadow.setXOffset(0) + shadow.setYOffset(10) + shadow.setColor(QColor(0, 0, 0, 60)) + content_widget.setGraphicsEffect(shadow) + + def on_ok(self): + self.result_value = True + self.accept() + + def on_cancel(self): + self.result_value = False + self.reject() + + @staticmethod + def show_success(parent=None, title="Success!", message="Operation completed successfully", button_text="OK", compact=False): + """Show a success notification""" + dialog = CustomNotificationDialog(parent, "success", title, message, button_text, compact=compact) + dialog.exec_() + + @staticmethod + def show_error(parent=None, title="Error!", message="An error occurred", button_text="Try Again", compact=False): + """Show an error notification""" + dialog = CustomNotificationDialog(parent, "error", title, message, button_text, compact=compact) + dialog.exec_() + + @staticmethod + def show_warning(parent=None, title="Warning!", message="Please check your input", button_text="OK", compact=False): + """Show a warning notification""" + dialog = CustomNotificationDialog(parent, "warning", title, message, button_text, compact=compact) + dialog.exec_() + + @staticmethod + def show_question(parent=None, title="Confirm", message="Are you sure?", button_text="Yes", cancel_text="No", compact=False): + """Show a question dialog and return True if user clicks Yes""" + dialog = CustomNotificationDialog(parent, "question", title, message, button_text, True, cancel_text, compact=compact) + dialog.exec_() + return dialog.result_value + + +class CustomPredictionDialog(QDialog): + """Custom styled dialog for showing prediction results with save option""" + + def __init__(self, parent=None, nama="", prediction="", paket_info=None): + super().__init__(parent) + self.result_save = False + + # Remove window frame and set flags + self.setWindowFlags(Qt.Dialog | Qt.FramelessWindowHint) + self.setAttribute(Qt.WA_TranslucentBackground) + + self.initUI(nama, prediction, paket_info) + + def initUI(self, nama, prediction, paket_info): + # Main layout with margins for shadow effect + main_layout = QVBoxLayout() + main_layout.setContentsMargins(20, 20, 20, 20) + + # Content widget (the card) + content_widget = QDialog() + content_widget.setFixedWidth(500) + + border_color = "#4299e1" # Blue + + content_widget.setStyleSheet(f""" + QDialog {{ + background-color: white; + border-top: 4px solid {border_color}; + border-radius: 8px; + }} + """) + + content_layout = QVBoxLayout() + content_layout.setContentsMargins(40, 50, 40, 40) + content_layout.setSpacing(15) + + # Icon at the top + icon_label = QLabel("🎓") + icon_label.setAlignment(Qt.AlignCenter) + icon_label.setFixedSize(80, 80) + icon_label.setStyleSheet(f""" + QLabel {{ + background-color: {border_color}; + color: white; + font-size: 48px; + font-weight: bold; + border-radius: 40px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + """) + + # Create a container to center the icon + icon_container = QHBoxLayout() + icon_container.addStretch() + icon_container.addWidget(icon_label) + icon_container.addStretch() + content_layout.addLayout(icon_container) + + # Title + title_label = QLabel("Hasil Prediksi") + title_label.setAlignment(Qt.AlignCenter) + title_label.setStyleSheet(f""" + QLabel {{ + font-size: 32px; + font-weight: bold; + color: #2d3748; + margin-top: 10px; + margin-bottom: 10px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + """) + content_layout.addWidget(title_label) + + # Separator line + separator = QLabel() + separator.setFixedHeight(3) + separator.setStyleSheet(f"background-color: {border_color}; border-radius: 1px;") + separator.setFixedWidth(100) + separator_container = QHBoxLayout() + separator_container.addStretch() + separator_container.addWidget(separator) + separator_container.addStretch() + content_layout.addLayout(separator_container) + + # Student name + nama_label = QLabel(f"Nama Siswa: {nama}") + nama_label.setAlignment(Qt.AlignCenter) + nama_label.setStyleSheet(""" + QLabel { + font-size: 18px; + color: #2d3748; + font-weight: bold; + margin-top: 10px; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + content_layout.addWidget(nama_label) + + # Prediction result + pred_label = QLabel(f"Paket Terpilih: {prediction}") + pred_label.setAlignment(Qt.AlignCenter) + pred_label.setStyleSheet(""" + QLabel { + font-size: 20px; + color: #4299e1; + font-weight: bold; + margin-top: 5px; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + content_layout.addWidget(pred_label) + + # Paket detail + if paket_info: + kelas_info = f" ({paket_info.get('kelas_tersedia', 1)} kelas tersedia)" + detail_text = f"{paket_info.get('nama', 'Unknown')}{kelas_info}" + detail_label = QLabel(detail_text) + detail_label.setAlignment(Qt.AlignCenter) + detail_label.setWordWrap(True) + detail_label.setStyleSheet(""" + QLabel { + font-size: 16px; + color: #718096; + margin-top: 5px; + margin-bottom: 10px; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + content_layout.addWidget(detail_label) + + # Question + question_label = QLabel("Apakah Anda ingin menyimpan hasil prediksi ini?") + question_label.setAlignment(Qt.AlignCenter) + question_label.setWordWrap(True) + question_label.setStyleSheet(""" + QLabel { + font-size: 16px; + color: #4a5568; + margin-top: 10px; + margin-bottom: 20px; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + content_layout.addWidget(question_label) + + # Buttons + button_layout = QHBoxLayout() + button_layout.setSpacing(15) + + # Cancel button (outlined) + cancel_btn = QPushButton("Batal") + cancel_btn.setFixedHeight(45) + cancel_btn.setFixedWidth(150) + cancel_btn.setCursor(Qt.PointingHandCursor) + cancel_btn.setStyleSheet(f""" + QPushButton {{ + background-color: white; + color: #718096; + border: 2px solid #e2e8f0; + border-radius: 25px; + font-size: 16px; + font-weight: 600; + padding: 8px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + QPushButton:hover {{ + background-color: #f7fafc; + border-color: #cbd5e0; + color: #4a5568; + }} + QPushButton:pressed {{ + background-color: #edf2f7; + }} + """) + cancel_btn.clicked.connect(self.on_cancel) + button_layout.addWidget(cancel_btn) + + # Save button (filled) + save_btn = QPushButton("💾 Simpan") + save_btn.setFixedHeight(45) + save_btn.setFixedWidth(150) + save_btn.setCursor(Qt.PointingHandCursor) + save_btn.setStyleSheet(f""" + QPushButton {{ + background-color: {border_color}; + color: white; + border: none; + border-radius: 25px; + font-size: 16px; + font-weight: 600; + padding: 8px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + }} + QPushButton:hover {{ + background-color: #3182ce; + }} + QPushButton:pressed {{ + background-color: #3182ce; + padding-top: 10px; + padding-bottom: 6px; + }} + """) + save_btn.clicked.connect(self.on_save) + button_layout.addWidget(save_btn) + + content_layout.addLayout(button_layout) + content_widget.setLayout(content_layout) + + main_layout.addWidget(content_widget) + self.setLayout(main_layout) + + # Apply shadow effect + from PyQt5.QtWidgets import QGraphicsDropShadowEffect + from PyQt5.QtGui import QColor + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(30) + shadow.setXOffset(0) + shadow.setYOffset(10) + shadow.setColor(QColor(0, 0, 0, 60)) + content_widget.setGraphicsEffect(shadow) + + def on_save(self): + self.result_save = True + self.accept() + + def on_cancel(self): + self.result_save = False + self.reject() + + @staticmethod + def show_prediction(parent=None, nama="", prediction="", paket_info=None): + """Show a prediction result dialog and return True if user wants to save""" + dialog = CustomPredictionDialog(parent, nama, prediction, paket_info) + dialog.exec_() + return dialog.result_save + + +class StudentNamePickerDialog(QDialog): + """Dialog untuk memilih nama siswa dari dataset final.""" + + def __init__(self, parent=None, initial_name=""): + super().__init__(parent) + self.selected_name = "" + self.initial_name = initial_name.strip() + self.base_names = self._load_base_names() + self.catalog_state = self._load_catalog_state() + self.all_names = self._build_name_list() + self.filtered_names = list(self.all_names) + self.current_page = 1 + self.items_per_page = 10 + self.visible_table_rows = 6 + + self.setWindowTitle("Pilih Nama Siswa") + self.setWindowFlag(Qt.WindowContextHelpButtonHint, False) + self.setModal(True) + self.setMinimumSize(760, 620) + self.resize(780, 640) + self.initUI() + self.apply_filter() + self._select_initial_name() + # Set window position to center of parent + if self.parent(): + parent_rect = self.parent().frameGeometry() + self.move(parent_rect.center() - self.rect().center()) + + def showEvent(self, event): + super().showEvent(event) + # Prevent QLineEdit from receiving focus automatically when dialog opens. + # Clear focus from search/add inputs and set focus to the dialog itself. + try: + if hasattr(self, 'search_input'): + self.search_input.clearFocus() + except Exception: + pass + try: + if hasattr(self, 'add_input'): + self.add_input.clearFocus() + except Exception: + pass + try: + self.setFocus() + except Exception: + pass + + def _dataset_path(self): + return config.get_resource_path(os.path.join("data", "dataset_smakom_final.csv")) + + def _catalog_path(self): + return config.get_writable_path(os.path.join("data", "student_name_catalog.json")) + + def _normalize_name(self, name): + return " ".join(str(name).strip().split()).casefold() + + def _display_name(self, raw_name): + return " ".join(str(raw_name).replace("_", " ").split()) + + def _load_base_names(self): + names = [] + seen = set() + dataset_path = self._dataset_path() + + if not os.path.exists(dataset_path): + return names + + try: + with open(dataset_path, "r", encoding="utf-8-sig", newline="") as csv_file: + reader = csv.DictReader(csv_file) + for row in reader: + raw_name = row.get("nama_siswa", "") + display_name = self._display_name(raw_name) + if not display_name: + continue + normalized = self._normalize_name(display_name) + if normalized in seen: + continue + seen.add(normalized) + names.append(display_name) + except Exception: + return names + + return names + + def _load_catalog_state(self): + default_state = {"added": [], "deleted": []} + catalog_path = self._catalog_path() + + if not os.path.exists(catalog_path): + return default_state + + try: + with open(catalog_path, "r", encoding="utf-8") as json_file: + data = json.load(json_file) + except Exception: + return default_state + + if isinstance(data, list): + return {"added": [str(item).strip() for item in data if str(item).strip()], "deleted": []} + + if isinstance(data, dict): + added = data.get("added") or data.get("names") or [] + deleted = data.get("deleted") or [] + return { + "added": [str(item).strip() for item in added if str(item).strip()], + "deleted": [str(item).strip() for item in deleted if str(item).strip()], + } + + return default_state + + def _save_catalog_state(self): + catalog_path = self._catalog_path() + catalog_dir = os.path.dirname(catalog_path) + if catalog_dir: + os.makedirs(catalog_dir, exist_ok=True) + + payload = { + "added": self.catalog_state.get("added", []), + "deleted": self.catalog_state.get("deleted", []), + } + + with open(catalog_path, "w", encoding="utf-8") as json_file: + json.dump(payload, json_file, ensure_ascii=False, indent=2) + + def _build_name_list(self): + deleted = {self._normalize_name(name) for name in self.catalog_state.get("deleted", [])} + result = [] + seen = set() + + for name in self.catalog_state.get("added", []): + normalized = self._normalize_name(name) + if not normalized or normalized in deleted or normalized in seen: + continue + seen.add(normalized) + result.append(name) + + for name in self.base_names: + normalized = self._normalize_name(name) + if normalized in deleted or normalized in seen: + continue + seen.add(normalized) + result.append(name) + + return result + + def initUI(self): + main_layout = QVBoxLayout(self) + main_layout.setContentsMargins(12, 12, 12, 12) + + card = QFrame() + card.setStyleSheet(""" + QFrame { + background: white; + border-radius: 16px; + } + """) + card_layout = QVBoxLayout(card) + card_layout.setContentsMargins(20, 18, 20, 16) + card_layout.setSpacing(10) + + header_layout = QVBoxLayout() + header_layout.setSpacing(0) + header_layout.setContentsMargins(0, 0, 0, 0) + + title = QLabel("Pilih Nama Siswa") + title.setContentsMargins(0, 0, 0, 0) + title.setStyleSheet("font-size: 28px; font-weight: 700; color: #1f3b66; font-family: 'Segoe UI', Arial, sans-serif; margin: 0; padding: 0; line-height: 1;") + header_layout.addWidget(title) + + subtitle = QLabel("Cari, tambah, hapus, lalu pilih nama yang akan dimasukkan ke form.") + subtitle.setWordWrap(True) + subtitle.setContentsMargins(0, 0, 0, 0) + subtitle.setStyleSheet("font-size: 17px; color: #56708f; font-family: 'Segoe UI', Arial, sans-serif; margin: 0; padding: 0; line-height: 1;") + header_layout.addWidget(subtitle) + + card_layout.addLayout(header_layout) + + search_row = QHBoxLayout() + search_row.setSpacing(10) + + self.search_input = QLineEdit() + self.search_input.setPlaceholderText("Cari nama siswa...") + self.search_input.setMinimumHeight(42) + self.search_input.setStyleSheet(""" + QLineEdit { + border: 1px solid #d6deea; + border-radius: 10px; + padding: 9px 14px; + font-size: 17px; + background: #f8fbff; + color: #1f2937; + font-family: 'Segoe UI', Arial, sans-serif; + } + QLineEdit:focus { + border-color: #2c7be5; + background: white; + } + """) + self.search_input.textChanged.connect(self.apply_filter) + self.search_input.returnPressed.connect(self.apply_filter) + search_row.addWidget(self.search_input, 1) + + self.add_input = QLineEdit() + self.add_input.setPlaceholderText("Tambah nama baru...") + self.add_input.setMinimumHeight(42) + self.add_input.setStyleSheet(self.search_input.styleSheet()) + self.add_input.returnPressed.connect(self.add_name) + search_row.addWidget(self.add_input, 1) + + card_layout.addLayout(search_row) + + action_row = QHBoxLayout() + action_row.setContentsMargins(0, 2, 0, 0) + action_row.setSpacing(12) + + add_btn = QPushButton("Tambah") + add_btn.setFixedHeight(40) + add_btn.setFixedWidth(110) + add_btn.setCursor(Qt.PointingHandCursor) + add_btn.setStyleSheet(""" + QPushButton { + background: #118a7e; + color: white; + border: none; + border-radius: 10px; + padding: 0 16px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #0e7369; + } + """) + add_btn.clicked.connect(self.add_name) + action_row.addWidget(add_btn) + + self.delete_btn = QPushButton("Hapus Terpilih") + self.delete_btn.setFixedHeight(40) + self.delete_btn.setFixedWidth(160) + self.delete_btn.setCursor(Qt.PointingHandCursor) + self.delete_btn.setStyleSheet(""" + QPushButton { + background: #ef5a5a; + color: white; + border: none; + border-radius: 10px; + padding: 0 14px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #d94b4b; + } + QPushButton:disabled { + background: #c8d3e2; + color: #7b8aa0; + } + """) + self.delete_btn.clicked.connect(self.delete_selected_names) + action_row.addWidget(self.delete_btn) + + self.pilih_btn = QPushButton("Pilih") + self.pilih_btn.setFixedHeight(40) + self.pilih_btn.setFixedWidth(96) + self.pilih_btn.setCursor(Qt.PointingHandCursor) + self.pilih_btn.setStyleSheet(""" + QPushButton { + background: #1f3b66; + color: white; + border: none; + border-radius: 10px; + padding: 0 14px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #182f53; + } + QPushButton:disabled { + background: #c8d3e2; + color: #7b8aa0; + } + """) + self.pilih_btn.clicked.connect(self.pick_selected_name) + action_row.addWidget(self.pilih_btn) + + self.edit_btn = QPushButton("Edit") + self.edit_btn.setFixedHeight(40) + self.edit_btn.setFixedWidth(96) + self.edit_btn.setCursor(Qt.PointingHandCursor) + self.edit_btn.setStyleSheet(""" + QPushButton { + background: #16a34a; + color: white; + border: none; + border-radius: 10px; + padding: 0 14px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #15803d; + } + QPushButton:disabled { + background: #c8d3e2; + color: #7b8aa0; + } + """) + self.edit_btn.clicked.connect(self.edit_selected_name) + action_row.addWidget(self.edit_btn) + + tutup_btn = QPushButton("Tutup") + tutup_btn.setFixedHeight(40) + tutup_btn.setFixedWidth(96) + tutup_btn.setCursor(Qt.PointingHandCursor) + tutup_btn.setStyleSheet(""" + QPushButton { + background: #6c7a92; + color: white; + border: none; + border-radius: 10px; + padding: 0 14px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #5d6a7f; + } + """) + tutup_btn.clicked.connect(self.reject) + action_row.addWidget(tutup_btn) + + action_row.addStretch() + + card_layout.addLayout(action_row) + + self.table = QTableWidget(0, 3) + self.table.setHorizontalHeaderLabels(["No", "Nama Siswa", "Hapus"]) + self.table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.table.setSelectionMode(QAbstractItemView.ExtendedSelection) + self.table.setAlternatingRowColors(True) + self.table.verticalHeader().setVisible(False) + self.table.setShowGrid(False) + self.table.setStyleSheet(""" + QTableWidget { + border: 1px solid #dbe4f0; + border-radius: 12px; + background: white; + alternate-background-color: #f7faff; + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 17px; + color: #1f2937; + } + QTableWidget::item { + padding: 8px 10px; + } + QHeaderView::section { + background: #eef4fb; + color: #173458; + font-weight: 700; + border: none; + border-bottom: 1px solid #dbe4f0; + padding: 8px 3px; + font-size: 17px; + } + """) + self.table.verticalHeader().setDefaultSectionSize(42) + header_height = self.table.horizontalHeader().sizeHint().height() + table_frame = self.table.frameWidth() * 2 + visible_height = header_height + (self.visible_table_rows * self.table.verticalHeader().defaultSectionSize()) + table_frame + 2 + self.table.setFixedHeight(visible_height) + header = self.table.horizontalHeader() + header.setSectionResizeMode(0, QHeaderView.ResizeToContents) + header.setSectionResizeMode(1, QHeaderView.Stretch) + header.setSectionResizeMode(2, QHeaderView.ResizeToContents) + header_item = self.table.horizontalHeaderItem(0) + if header_item: + header_item.setTextAlignment(Qt.AlignCenter | Qt.AlignVCenter) + header_item = self.table.horizontalHeaderItem(1) + if header_item: + header_item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) + header_item = self.table.horizontalHeaderItem(2) + if header_item: + header_item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) + self.table.cellDoubleClicked.connect(self._handle_cell_double_clicked) + self.table.cellClicked.connect(self._handle_cell_clicked) + self.table.itemSelectionChanged.connect(self._sync_action_state) + self.table.itemChanged.connect(self._sync_action_state) + self.table.viewport().installEventFilter(self) + card_layout.addWidget(self.table) + + pagination_row = QHBoxLayout() + pagination_row.setSpacing(16) + pagination_row.setContentsMargins(2, 8, 2, 0) + pagination_row.addStretch() + + self.prev_btn = QPushButton("◀ Previous") + self.prev_btn.setFixedHeight(40) + self.prev_btn.setFixedWidth(132) + self.prev_btn.setCursor(Qt.PointingHandCursor) + self.prev_btn.setStyleSheet(""" + QPushButton { + background: #e8eef6; + color: #38506d; + border: none; + border-radius: 10px; + padding: 0 14px; + font-size: 16px; + font-weight: 600; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: #dce6f1; + } + QPushButton:disabled { + background: #edf2f7; + color: #a0aec0; + } + """) + self.prev_btn.clicked.connect(self.previous_page) + pagination_row.addWidget(self.prev_btn) + + self.page_label = QLabel() + self.page_label.setAlignment(Qt.AlignCenter) + self.page_label.setStyleSheet("font-size: 16px; color: #3d5574; font-weight: 600; font-family: 'Segoe UI', Arial, sans-serif;") + pagination_row.addWidget(self.page_label) + + self.next_btn = QPushButton("Next ▶") + self.next_btn.setFixedHeight(40) + self.next_btn.setFixedWidth(132) + self.next_btn.setCursor(Qt.PointingHandCursor) + self.next_btn.setStyleSheet(self.prev_btn.styleSheet()) + self.next_btn.clicked.connect(self.next_page) + pagination_row.addWidget(self.next_btn) + pagination_row.addStretch() + + card_layout.addLayout(pagination_row) + main_layout.addWidget(card) + + def _sync_action_state(self): + checked = self._has_checked_rows() + selected = bool(self.get_selected_name()) + + if checked and selected: + self.table.blockSignals(True) + self.table.clearSelection() + self.table.setCurrentCell(-1, -1) + self.table.blockSignals(False) + selected = False + + if hasattr(self, "pilih_btn"): + self.pilih_btn.setEnabled(selected and not checked) + if hasattr(self, "edit_btn"): + self.edit_btn.setEnabled(selected and not checked) + if hasattr(self, "delete_btn"): + self.delete_btn.setEnabled(checked) + + def _clear_checked_rows(self): + for row in range(self.table.rowCount()): + item = self.table.item(row, 2) + if item and item.checkState() == Qt.Checked: + item.setCheckState(Qt.Unchecked) + + def _handle_cell_clicked(self, row, column): + del row + if column == 2: + self.table.blockSignals(True) + self.table.clearSelection() + self.table.setCurrentCell(-1, -1) + self.table.blockSignals(False) + self._sync_action_state() + return + + def _handle_cell_double_clicked(self, row, column): + # Ignore double-clicks on the checkbox column so they don't trigger name picking + if column == 2: + return + self.pick_selected_name() + + if column in (0, 1) and self._has_checked_rows(): + self.table.blockSignals(True) + self._clear_checked_rows() + self.table.blockSignals(False) + + self._sync_action_state() + + def _has_checked_rows(self): + for row in range(self.table.rowCount()): + item = self.table.item(row, 2) + if item and item.checkState() == Qt.Checked: + return True + return False + + def _select_initial_name(self): + if not self.initial_name: + return + normalized_initial = self._normalize_name(self.initial_name) + for row, name in enumerate(self.filtered_names): + if self._normalize_name(name) == normalized_initial: + self.current_page = row // self.items_per_page + 1 + self.render_table() + self.table.selectRow(row % self.items_per_page) + break + + def clear_search(self): + self.search_input.clear() + self.apply_filter() + + def apply_filter(self): + search_text = self.search_input.text().strip().casefold() + if search_text: + self.filtered_names = [name for name in self.all_names if search_text in name.casefold()] + else: + self.filtered_names = list(self.all_names) + self.current_page = 1 + self.render_table() + + def render_table(self): + self.table.blockSignals(True) + self.table.clearContents() + self.table.clearSpans() + + total_items = len(self.filtered_names) + total_pages = max(1, (total_items + self.items_per_page - 1) // self.items_per_page) + self.current_page = min(max(1, self.current_page), total_pages) + start_index = (self.current_page - 1) * self.items_per_page + end_index = min(start_index + self.items_per_page, total_items) + page_items = self.filtered_names[start_index:end_index] + + self.table.setRowCount(len(page_items) if page_items else 1) + self.table.setSpan(0, 0, 1, 1) + + if not page_items: + empty_item = QTableWidgetItem("Tidak ada nama ditemukan") + empty_item.setTextAlignment(Qt.AlignCenter) + empty_item.setFlags(Qt.ItemIsEnabled) + self.table.setItem(0, 0, empty_item) + self.table.setSpan(0, 0, 1, 3) + else: + for row, name in enumerate(page_items): + no_item = QTableWidgetItem(str(start_index + row + 1)) + no_item.setTextAlignment(Qt.AlignCenter) + no_item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) + self.table.setItem(row, 0, no_item) + + name_item = QTableWidgetItem(name) + name_item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) + self.table.setItem(row, 1, name_item) + + delete_item = QTableWidgetItem() + delete_item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + delete_item.setCheckState(Qt.Unchecked) + delete_item.setTextAlignment(Qt.AlignCenter) + self.table.setItem(row, 2, delete_item) + + self.table.blockSignals(False) + self.table.clearSelection() + self.table.setCurrentCell(-1, -1) + self.update_pagination_controls() + self._sync_action_state() + + def eventFilter(self, obj, event): + if obj is getattr(self, "table", None).viewport(): + if event.type() in (QEvent.MouseButtonPress, QEvent.MouseButtonRelease): + index = self.table.indexAt(event.pos()) + if index.isValid() and index.column() == 2: + # Toggle checkbox state on mouse release and consume the event so + # the table's default selection behavior doesn't interfere. + if event.type() == QEvent.MouseButtonRelease: + item = self.table.item(index.row(), 2) + if item: + new_state = Qt.Unchecked if item.checkState() == Qt.Checked else Qt.Checked + item.setCheckState(new_state) + self._sync_action_state() + return True + return super().eventFilter(obj, event) + + def update_pagination_controls(self): + total_items = len(self.filtered_names) + total_pages = max(1, (total_items + self.items_per_page - 1) // self.items_per_page) + self.page_label.setText(f"Halaman {self.current_page} dari {total_pages} | {total_items} data") + self.prev_btn.setEnabled(self.current_page > 1) + self.next_btn.setEnabled(self.current_page < total_pages) + + def previous_page(self): + if self.current_page > 1: + self.current_page -= 1 + self.render_table() + + def next_page(self): + total_items = len(self.filtered_names) + total_pages = max(1, (total_items + self.items_per_page - 1) // self.items_per_page) + if self.current_page < total_pages: + self.current_page += 1 + self.render_table() + + def get_selected_name(self): + current_row = self.table.currentRow() + if current_row < 0: + return "" + name_item = self.table.item(current_row, 1) + if not name_item: + return "" + return name_item.text().strip() + + def add_name(self): + new_name = " ".join(self.add_input.text().strip().split()) + if not new_name: + QMessageBox.warning(self, "Validasi", "Nama baru masih kosong.") + return + + normalized_new = self._normalize_name(new_name) + if any(self._normalize_name(name) == normalized_new for name in self.all_names): + QMessageBox.warning(self, "Validasi", "Nama sudah ada di daftar.") + return + + deleted = self.catalog_state.setdefault("deleted", []) + deleted[:] = [name for name in deleted if self._normalize_name(name) != normalized_new] + + added = self.catalog_state.setdefault("added", []) + # Insert new names at the beginning so the newest appears at the top + added.insert(0, new_name) + self.add_input.clear() + self._save_catalog_state() + self.all_names = self._build_name_list() + self.apply_filter() + + def delete_selected_names(self): + checked_names = [] + for row in range(self.table.rowCount()): + name_item = self.table.item(row, 1) + delete_item = self.table.item(row, 2) + if not name_item or not delete_item: + continue + if delete_item.checkState() == Qt.Checked: + checked_names.append(name_item.text().strip()) + + if not checked_names: + QMessageBox.information(self, "Info", "Centang minimal satu nama untuk dihapus.") + return + + deleted = self.catalog_state.setdefault("deleted", []) + added = self.catalog_state.setdefault("added", []) + checked_normalized = {self._normalize_name(name) for name in checked_names} + + for name in checked_names: + normalized = self._normalize_name(name) + if any(self._normalize_name(item) == normalized for item in added): + added[:] = [item for item in added if self._normalize_name(item) != normalized] + elif not any(self._normalize_name(item) == normalized for item in deleted): + deleted.append(name) + + if self.selected_name and self._normalize_name(self.selected_name) in checked_normalized: + self.selected_name = "" + + self._save_catalog_state() + self.all_names = self._build_name_list() + self.apply_filter() + + class EditNameDialog(QDialog): + """Custom dialog to edit a student name with improved styling.""" + def __init__(self, parent=None, initial_name=""): + super().__init__(parent) + self.setWindowFlags(Qt.Dialog | Qt.FramelessWindowHint) + self.setAttribute(Qt.WA_TranslucentBackground) + self.initial_name = initial_name + self.result_name = None + self.initUI() + + def initUI(self): + main_layout = QVBoxLayout() + main_layout.setContentsMargins(16, 16, 16, 16) + + card = QDialog() + card.setFixedWidth(420) + card.setStyleSheet(""" + QDialog { + background: white; + border-radius: 10px; + } + """) + + card_layout = QVBoxLayout(card) + card_layout.setContentsMargins(20, 18, 20, 18) + card_layout.setSpacing(10) + + title = QLabel("Edit Nama") + title.setStyleSheet("font-size: 24px; font-weight: 700; color: #1f3b66; font-family: 'Segoe UI', Arial, sans-serif;") + title.setAlignment(Qt.AlignLeft) + card_layout.addWidget(title) + + label = QLabel("Nama baru:") + label.setStyleSheet("font-size: 15px; color: #334155; font-weight: 600;") + card_layout.addWidget(label) + + self.input = QLineEdit() + self.input.setText(self.initial_name) + self.input.setMinimumHeight(42) + self.input.setStyleSheet(""" + QLineEdit { + border: 1px solid #d6deea; + border-radius: 8px; + padding: 7px 10px; + font-size: 16px; + color: #0f172a; + background: #fbfdff; + font-family: 'Segoe UI', Arial, sans-serif; + } + QLineEdit:focus { + border-color: #2c7be5; + background: white; + } + """) + self.input.selectAll() + card_layout.addWidget(self.input) + + # Buttons: Close on the left, Edit on the right (Close placed to left of Edit) + btn_row = QHBoxLayout() + btn_row.addStretch() + + cancel_btn = QPushButton("Tutup") + cancel_btn.setFixedHeight(38) + cancel_btn.setFixedWidth(96) + cancel_btn.setCursor(Qt.PointingHandCursor) + cancel_btn.setStyleSheet(""" + QPushButton { + background-color: white; + color: #718096; + border: 2px solid #e2e8f0; + border-radius: 20px; + font-size: 14px; + font-weight: 600; + } + QPushButton:hover { + background-color: #f7fafc; + } + """) + cancel_btn.clicked.connect(self.on_cancel) + btn_row.addWidget(cancel_btn) + + btn_row.addSpacing(10) + + edit_btn = QPushButton("Edit") + edit_btn.setFixedHeight(38) + edit_btn.setFixedWidth(96) + edit_btn.setCursor(Qt.PointingHandCursor) + edit_btn.setStyleSheet(""" + QPushButton { + background-color: #16a34a; + color: white; + border: none; + border-radius: 20px; + font-size: 16px; + font-weight: 600; + } + QPushButton:hover { + background-color: #15803d; + } + """) + edit_btn.clicked.connect(self.on_edit) + btn_row.addWidget(edit_btn) + + card_layout.addLayout(btn_row) + + from PyQt5.QtWidgets import QGraphicsDropShadowEffect + from PyQt5.QtGui import QColor + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(24) + shadow.setXOffset(0) + shadow.setYOffset(8) + shadow.setColor(QColor(0, 0, 0, 60)) + card.setGraphicsEffect(shadow) + + main_layout.addWidget(card) + self.setLayout(main_layout) + + def on_edit(self): + text = " ".join(self.input.text().strip().split()) + if not text: + QMessageBox.warning(self, "Validasi", "Nama baru tidak boleh kosong.") + return + self.result_name = text + self.accept() + + def on_cancel(self): + self.result_name = None + self.reject() + + def edit_selected_name(self): + old_name = self.get_selected_name() + if not old_name: + QMessageBox.information(self, "Info", "Pilih satu nama terlebih dahulu.") + return + + dialog = StudentNamePickerDialog.EditNameDialog(self, initial_name=old_name) + result = dialog.exec_() + if result != QDialog.Accepted or not dialog.result_name: + return + + new_name = " ".join(dialog.result_name.strip().split()) + if not new_name: + QMessageBox.warning(self, "Validasi", "Nama baru tidak boleh kosong.") + return + + normalized_new = self._normalize_name(new_name) + normalized_old = self._normalize_name(old_name) + + if normalized_new == normalized_old: + return + + if any(self._normalize_name(name) == normalized_new for name in self.all_names): + QMessageBox.warning(self, "Validasi", "Nama baru sudah ada di daftar.") + return + + added = self.catalog_state.setdefault("added", []) + deleted = self.catalog_state.setdefault("deleted", []) + + if any(self._normalize_name(item) == normalized_old for item in added): + added[:] = [item for item in added if self._normalize_name(item) != normalized_old] + else: + if not any(self._normalize_name(item) == normalized_old for item in deleted): + deleted.append(old_name) + + deleted[:] = [item for item in deleted if self._normalize_name(item) != normalized_new] + added[:] = [item for item in added if self._normalize_name(item) != normalized_new] + added.insert(0, new_name) + + self.selected_name = new_name + self._save_catalog_state() + self.all_names = self._build_name_list() + self.apply_filter() + + def pick_selected_name(self, *_): + name = self.get_selected_name() + if not name: + QMessageBox.information(self, "Info", "Pilih nama dari tabel terlebih dahulu.") + return + + self.selected_name = name + self.accept() + + def accept(self): + if not self.selected_name: + self.selected_name = self.get_selected_name() + super().accept() + + @staticmethod + def show_picker(parent=None, initial_name=""): + dialog = StudentNamePickerDialog(parent, initial_name=initial_name) + result = dialog.exec_() + if result == QDialog.Accepted and dialog.selected_name: + return dialog.selected_name + return None diff --git a/gui/login_dialog.py b/gui/login_dialog.py new file mode 100644 index 0000000..51b065d --- /dev/null +++ b/gui/login_dialog.py @@ -0,0 +1,309 @@ +from PyQt5.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox, QApplication, QSizePolicy +from PyQt5.QtCore import Qt +from PyQt5.QtGui import QIcon +import os +from db.database import verify_admin_login_detail +from gui.register_dialog import RegisterDialog +from gui.custom_notifications import CustomNotificationDialog +import config + +class LoginDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Login') + + # Ensure this dialog is a real top-level window so taskbar uses app icon. + self.setWindowFlags((self.windowFlags() | Qt.Window) & ~Qt.WindowContextHelpButtonHint | Qt.WindowMinimizeButtonHint) + icon_path = config.get_app_icon_path() + if icon_path: + self.setWindowIcon(QIcon(icon_path)) + self._apply_responsive_size(600, 420) + if icon_path: + self.setWindowIcon(QIcon(icon_path)) + + # Set background color + self.setStyleSheet("QDialog { background-color: #fafafa; }") + + # Main layout + layout = QVBoxLayout() + layout.setContentsMargins(40, 40, 40, 40) + layout.setSpacing(5) + + # Title + title = QLabel('Sistem Klasifikasi Jurusan') + title.setStyleSheet("font-size: 28px; font-weight: bold; color: #1a202c; margin-bottom: 5px; margin-top: 0px; font-family: 'Segoe UI', Arial, sans-serif;") + title.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) + title.setWordWrap(True) + layout.addWidget(title) + + subtitle = QLabel('Login ke akun Anda') + subtitle.setStyleSheet("font-size: 18px; color: #4a5568; margin-bottom: 30px; font-family: 'Segoe UI', Arial, sans-serif;") + subtitle.setAlignment(Qt.AlignCenter) + layout.addWidget(subtitle) + + # Username + self.label_user = QLabel('Username') + self.label_user.setStyleSheet("font-size: 18px; color: #2d3748; font-weight: bold; margin-bottom: 0px; font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.label_user) + + self.input_user = QLineEdit() + self.input_user.setFixedHeight(64) + self.input_user.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.input_user.setPlaceholderText('Masukkan username') + self.input_user.setStyleSheet("font-size: 20px; padding: 0px 12px; margin-bottom: 20px; color: #2d3748; background-color: white; border: 1px solid #e2e8f0; border-radius: 6px; font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.input_user) + + # Password + self.label_pass = QLabel('Password') + self.label_pass.setStyleSheet("font-size: 18px; color: #2d3748; font-weight: bold; margin-bottom: 0px; font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.label_pass) + + # Password container with toggle button + password_container = QHBoxLayout() + password_container.setSpacing(0) + password_container.setContentsMargins(0, 0, 0, 0) + + self.input_pass = QLineEdit() + self.input_pass.setFixedHeight(74) + self.input_pass.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.input_pass.setMinimumWidth(0) + self.input_pass.setPlaceholderText('Masukkan password') + self.input_pass.setEchoMode(QLineEdit.Password) + self.input_pass.setStyleSheet("font-size: 20px; padding: 0px 12px; color: #2d3748; background-color: white; border: 1px solid #e2e8f0; border-top-left-radius: 6px; border-bottom-left-radius: 6px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-right: none; font-family: 'Segoe UI', Arial, sans-serif;") + + self.btn_toggle_pass = QPushButton('👁') + self.btn_toggle_pass.setFixedSize(74, 74) + self.btn_toggle_pass.setStyleSheet(""" + QPushButton { + font-size: 18px; + border: 1px solid #e2e8f0; + border-left: none; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + background-color: white; + color: #718096; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: #f7fafc; + color: #4a5568; + } + QPushButton:pressed { + background-color: #edf2f7; + } + """) + self.btn_toggle_pass.setCursor(Qt.PointingHandCursor) + self.btn_toggle_pass.clicked.connect(self.toggle_password_visibility) + self.password_visible = False + + password_container.addWidget(self.input_pass) + password_container.addWidget(self.btn_toggle_pass) + password_container.setStretch(0, 1) + + from PyQt5.QtWidgets import QWidget + self.password_widget = QWidget() + self.password_widget.setLayout(password_container) + self.password_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.password_widget.setMinimumWidth(0) + self.password_widget.setMaximumWidth(16777215) + self.password_widget.setStyleSheet("margin-bottom: 30px;") + layout.addWidget(self.password_widget) + + # Login button + self.btn_login = QPushButton('Login') + self.btn_login.setFixedHeight(60) + self.btn_login.setCursor(Qt.PointingHandCursor) + self.btn_login.setStyleSheet(""" + QPushButton { + font-size: 18px; + font-weight: bold; + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + color: white; + border: none; + border-radius: 6px; + margin-bottom: 20px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #5568d3, stop:1 #6a3b91); + } + QPushButton:pressed { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #4a5abc, stop:1 #5a3080); + } + """) + self.btn_login.clicked.connect(self.handle_login) + layout.addWidget(self.btn_login) + + # Register link container + register_container = QHBoxLayout() + register_container.setContentsMargins(0, 0, 0, 0) + register_container.setSpacing(5) + register_container.addStretch() # Center the content + + # Normal text part + self.label_register_text = QLabel('Belum punya akun?') + self.label_register_text.setStyleSheet(""" + QLabel { + font-size: 16px; + color: #4a5568; + background-color: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + register_container.addWidget(self.label_register_text) + + # Clickable register link + self.btn_register = QPushButton('Register disini') + self.btn_register.setFixedHeight(36) + self.btn_register.setStyleSheet(""" + QPushButton { + font-size: 16px; + font-weight: bold; + color: #667eea; + background-color: transparent; + border: none; + text-decoration: underline; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + color: #764ba2; + } + """) + self.btn_register.clicked.connect(self.show_register_dialog) # Menghubungkan tombol Register dengan dialog registrasi + self.btn_register.setCursor(Qt.PointingHandCursor) + register_container.addWidget(self.btn_register) + register_container.addStretch() # Center the content + + register_widget = QWidget() + register_widget.setLayout(register_container) + layout.addWidget(register_widget) + + # Enter key triggers login + self.input_user.returnPressed.connect(self.handle_login) + self.input_pass.returnPressed.connect(self.handle_login) + + self.setLayout(layout) + self.login_success = False + self.username = None + self._went_to_register = False + self.should_show_register = False # Flag untuk menunjukkan bahwa user ingin ke halaman register + self._sync_password_row_width() + self._native_icon_applied = False + + def _apply_native_windows_icon(self): + """Set native HWND icons to avoid default taskbar icon on first window show.""" + if os.name != 'nt': + return + icon_path = config.get_app_icon_path() + if not icon_path or not os.path.exists(icon_path): + return + try: + import ctypes + WM_SETICON = 0x0080 + ICON_SMALL = 0 + ICON_BIG = 1 + IMAGE_ICON = 1 + LR_LOADFROMFILE = 0x0010 + LR_DEFAULTSIZE = 0x0040 + + hicon = ctypes.windll.user32.LoadImageW( + None, + icon_path, + IMAGE_ICON, + 0, + 0, + LR_LOADFROMFILE | LR_DEFAULTSIZE, + ) + if hicon: + hwnd = int(self.winId()) + ctypes.windll.user32.SendMessageW(hwnd, WM_SETICON, ICON_SMALL, hicon) + ctypes.windll.user32.SendMessageW(hwnd, WM_SETICON, ICON_BIG, hicon) + except Exception: + pass + + def showEvent(self, event): + super().showEvent(event) + if not self._native_icon_applied: + self._apply_native_windows_icon() + self._native_icon_applied = True + + def _apply_responsive_size(self, base_width, base_height): + """Apply fixed size that adapts for smaller screens.""" + screen = QApplication.primaryScreen() + if not screen: + self.setFixedSize(base_width, base_height) + return + + available = screen.availableGeometry() + width = min(base_width, max(520, int(available.width() * 0.90))) + height = min(base_height, max(380, int(available.height() * 0.85))) + self.setFixedSize(width, height) + + def _sync_password_row_width(self): + """Keep password row width exactly aligned with username input.""" + if hasattr(self, 'input_user') and hasattr(self, 'password_widget'): + self.password_widget.setFixedWidth(self.input_user.width()) + + def resizeEvent(self, event): + super().resizeEvent(event) + self._sync_password_row_width() + + #sembunyikan/tampilkan password + def toggle_password_visibility(self): + """Toggle password visibility""" + if self.password_visible: + self.input_pass.setEchoMode(QLineEdit.Password) + self.password_visible = False + else: + self.input_pass.setEchoMode(QLineEdit.Normal) + self.password_visible = True + + #proses ambil data input + def handle_login(self): + username = self.input_user.text().strip() + password = self.input_pass.text() + if not username or not password: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Username dan password harus diisi!', 'OK', compact=True) + return + + login_status = verify_admin_login_detail(username, password) + + if login_status == 'success': + self.login_success = True + self.username = username + CustomNotificationDialog.show_success(self, 'Login Berhasil!', f'Selamat datang, {username}!', 'Lanjutkan', compact=True) + self.accept() + elif login_status == 'username_not_found': + CustomNotificationDialog.show_error(self, 'Login Gagal!', 'Username tidak terdaftar!', 'Coba Lagi', compact=True) + self.input_user.setFocus() + elif login_status == 'wrong_password': + CustomNotificationDialog.show_error(self, 'Login Gagal!', 'Password yang dimasukkan salah!', 'Coba Lagi', compact=True) + self.input_pass.setFocus() + elif login_status == 'wrong_username_and_password': + CustomNotificationDialog.show_error(self, 'Login Gagal!', 'Username dan password salah!', 'Coba Lagi', compact=True) + self.input_user.setFocus() + else: + CustomNotificationDialog.show_error(self, 'Login Gagal!', 'Terjadi kesalahan saat proses login.', 'Coba Lagi', compact=True) + self.input_user.setFocus() + + def clear_form(self): + """Clear all input fields in the login form""" + self.input_user.clear() + self.input_pass.clear() + # Reset password visibility + if self.password_visible: + self.input_pass.setEchoMode(QLineEdit.Password) + self.password_visible = False + self.btn_toggle_pass.setText('👁') + # Set focus to username field + self.input_user.setFocus() + + def show_register_dialog(self): + """Tutup login dialog dan set flag untuk menampilkan register dialog""" + self.should_show_register = True + self.reject() \ No newline at end of file diff --git a/gui/main_window.py b/gui/main_window.py new file mode 100644 index 0000000..48d119b --- /dev/null +++ b/gui/main_window.py @@ -0,0 +1,4507 @@ +import sys +import os +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtCore import pyqtSignal +from PyQt5.QtGui import * +from PyQt5.QtWidgets import QDialog, QVBoxLayout, QListWidget, QPushButton, QDialogButtonBox, QLabel, QStyledItemDelegate +from models.knn_classifier import JurusanKNNClassifier +from models.data_processor import DataProcessor +import config +import pandas as pd +from db.database import ambil_semua_hasil_prediksi, simpan_hasil_prediksi, hapus_hasil_prediksi, update_hasil_prediksi +import matplotlib.pyplot as plt +import seaborn as sns +import numpy as np +from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.figure import Figure +from sklearn.metrics import roc_curve, auc +from sklearn.preprocessing import label_binarize +from itertools import cycle +from gui.custom_notifications import CustomNotificationDialog, StudentNamePickerDialog + +class LineEditDelegate(QStyledItemDelegate): + def createEditor(self, parent, option, index): + editor = QLineEdit(parent) + editor.setPlaceholderText("0-100") + editor.setAlignment(Qt.AlignCenter) + editor.setValidator(QIntValidator(0, 100, editor)) + editor.setInputMethodHints(Qt.ImhDigitsOnly) + editor.setStyleSheet(""" + QLineEdit { + border: none; + border-bottom: 1px solid #e2e8f0; + padding: 6px; + font-size: 16px; + background-color: white; + color: #1e293b; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: 500; + } + QLineEdit:focus { + border: none; + border-bottom: 1px solid #667eea; + padding: 6px; + } + """) + return editor + + def setEditorData(self, editor, index): + value = index.model().data(index, Qt.EditRole) + if value: + editor.setText(str(value)) + else: + editor.setText("") + + def setModelData(self, editor, model, index): + model.setData(index, editor.text(), Qt.EditRole) + + def updateEditorGeometry(self, editor, option, index): + editor.setGeometry(option.rect) + +class MainWindow(QMainWindow): + logout_signal = pyqtSignal() + + def handle_logout(self): + # untuk memastikan hanya tab logout yang aktif saat konfirmasi, set checked dulu baru tampilkan dialog + self.btn_logout.setChecked(True) + # bersihkan semua tab lain agar tidak terlihat aktif saat dialog muncul + for tab in [self.tab_input, self.tab_data, self.tab_performa]: + tab.setChecked(False) + + reply = CustomNotificationDialog.show_question(self, 'Konfirmasi Logout', + 'Apakah Anda yakin ingin logout?', + 'Ya, Logout', 'Batal') + if reply: + self.logout_confirmed() + else: + # jika batal logout, kembalikan ke tab yang sebelumnya aktif (default ke Input jika tidak ada yang aktif) + self.btn_logout.setChecked(False) + # Set kembali ke tab yang sebelumnya aktif, default ke Input jika tidak ada yang aktif + current_index = self.stacked_widget.currentIndex() + if current_index == 0: + self.tab_input.setChecked(True) + elif current_index == 1: + self.tab_data.setChecked(True) + elif current_index == 2: + self.tab_performa.setChecked(True) + + def logout_confirmed(self): + # tutup halaman utama dan kembalikan ke login + self.close() + self.logout_signal.emit() + + def parse_float_value(self, text): + """ + Helper function to parse float value from text input. + Supports both comma (,) and dot (.) as decimal separator. + Indonesian users can use 94,5 or 94.5 - both will work. + """ + if not text or text.strip() == "": + return 0.0 + # Replace comma with dot for float conversion + text = text.strip().replace(',', '.') + try: + return float(text) + except ValueError: + return 0.0 + + def _is_valid_score_text(self, text): + """Return True when score text is empty or an integer between 0 and 100.""" + normalized = (text or "").strip() + if not normalized: + return True + return normalized.isdigit() and 0 <= int(normalized) <= 100 + + def _get_nilai_cell_text(self, row, column): + """Ambil teks dari editor aktif jika ada, fallback ke item tabel.""" + if not hasattr(self, 'nilai_table'): + return '' + + index = self.nilai_table.model().index(row, column) + widget = self.nilai_table.indexWidget(index) + if widget and hasattr(widget, 'text'): + return widget.text().strip() + + item = self.nilai_table.item(row, column) + return item.text().strip() if item else '' + + def _set_nilai_cell_text(self, row, column, text): + """Set teks ke item dan editor aktif agar tampilan tetap sinkron.""" + if not hasattr(self, 'nilai_table'): + return + + item = self.nilai_table.item(row, column) + if item: + item.setText(text) + + index = self.nilai_table.model().index(row, column) + widget = self.nilai_table.indexWidget(index) + if widget and hasattr(widget, 'setText'): + widget.blockSignals(True) + widget.setText(text) + widget.blockSignals(False) + + def _calculate_nilai_rata_row(self, row): + """Hitung dan perbarui rata-rata untuk satu baris mapel.""" + if not hasattr(self, 'nilai_table'): + return + if row < 0 or row >= self.nilai_table.rowCount(): + return + + sem1_text = self._get_nilai_cell_text(row, 1) + sem2_text = self._get_nilai_cell_text(row, 2) + rata_item = self.nilai_table.item(row, 3) + if not rata_item: + return + + sem1_value = self.parse_float_value(sem1_text) + sem2_value = self.parse_float_value(sem2_text) + + if sem1_text or sem2_text: + rata_rata = (sem1_value + sem2_value) / 2 + # Format rata-rata: hapus trailing zeros + # 100 -> "100", 90.50 -> "90.5", 88.55 -> "88.55" + formatted_rata = f"{rata_rata:.2f}".rstrip('0').rstrip('.') + rata_item.setText(formatted_rata) + rata_item.setForeground(QColor('#2c3e50')) + else: + rata_item.setText('otomatis') + rata_item.setForeground(QColor('#94a3b8')) + + def _update_nilai_table_height(self): + """Resize the input table so the last row ends at the bottom.""" + if not hasattr(self, 'nilai_table'): + return + + header_height = self.nilai_table.horizontalHeader().height() + row_height = self.nilai_table.verticalHeader().defaultSectionSize() + visible_rows = max(1, self.nilai_table.rowCount()) + frame_height = self.nilai_table.frameWidth() * 2 + self.nilai_table.setFixedHeight(header_height + (visible_rows * row_height) + frame_height + 2) + + def _on_nilai_editor_changed(self, row, column, text): + """Update item tabel dan rata-rata saat user mengetik di editor.""" + if not hasattr(self, 'nilai_table') or self.loading_data: + return + if column not in (1, 2): + return + + self._nilai_syncing = True + try: + item = self.nilai_table.item(row, column) + if item: + item.setText(text) + finally: + self._nilai_syncing = False + + self._calculate_nilai_rata_row(row) + + def on_nilai_changed(self, item): + """Calculate rata-rata when semester 1 or 2 values change""" + if not hasattr(self, 'nilai_table') or getattr(self, '_nilai_syncing', False) or self.loading_data: + return + + # Only process if item is in column 1 (Semester 1) or 2 (Semester 2) + if item.column() not in [1, 2]: + return + self._calculate_nilai_rata_row(item.row()) + + def open_student_name_picker(self): + """Open the name picker dialog and fill the form when a name is chosen.""" + current_name = self.nama_input.text().strip() if hasattr(self, 'nama_input') else '' + selected_name = StudentNamePickerDialog.show_picker(self, initial_name=current_name) + if selected_name: + self.nama_input.setText(selected_name) + self.statusBar().showMessage(f'Nama siswa dipilih: {selected_name}') + return selected_name + + #main window membuat claasifier + def __init__(self, username="Admin"): + super().__init__() + icon_path = config.get_app_icon_path() + if icon_path: + self.setWindowIcon(QIcon(icon_path)) + self.username = username # Store username + self.classifier = JurusanKNNClassifier() + self.data_processor = DataProcessor() + self.current_selected_id = None + self.loading_data = False # untuk mencegah reaksi berantai saat mengisi data ke tabel + self.edit_mode = False # untuk membedakan antara prediksi baru dan edit data yang sudah ada + self.original_edit_data = None # Snapshot data awal saat masuk mode edit + # Pagination variables + self.current_page = 1 + self.items_per_page = 10 + self.total_items = 0 + self.all_data = [] # Store all data for pagination + + self.initUI() #membangun tampilan + self.load_table_data() #menampilkan data dari database ke tabel + + # Initialize button states - start in create mode + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(False) + self.btn_update.setToolTip("Pilih data terlebih dahulu untuk mengupdate") + + def _get_current_form_snapshot(self): + """Ambil snapshot isi form saat ini untuk validasi perubahan.""" + nilai_dict = {} + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(min(len(subject_keys), self.nilai_table.rowCount())): + key = subject_keys[row] + rata_item = self.nilai_table.item(row, 3) + if rata_item: + nilai_dict[key] = self.parse_float_value(rata_item.text()) + + return { + 'nama': self.nama_input.text().strip(), + 'nilai_dict': nilai_dict + } + + def _has_form_changes(self): + """Cek apakah data form berbeda dari snapshot awal mode edit.""" + if not self.original_edit_data: + return True + + current_data = self._get_current_form_snapshot() + if current_data['nama'] != self.original_edit_data['nama']: + return True + + for key, current_value in current_data['nilai_dict'].items(): + original_value = self.original_edit_data['nilai_dict'].get(key, 0.0) + if not np.isclose(current_value, original_value, atol=1e-9): + return True + + return False + + def initUI(self): + self.setWindowTitle('Sistem Klasifikasi Jurusan') + self.setMinimumSize(1024, 700) + + # Keep default look on normal monitors while fitting smaller screens safely. + screen = QApplication.primaryScreen() + if screen: + available = screen.availableGeometry() + width = min(1200, max(1024, int(available.width() * 0.95))) + height = min(800, max(720, int(available.height() * 0.95))) + self.resize(width, height) + self.move( + available.x() + (available.width() - width) // 2, + available.y() + (available.height() - height) // 2 + ) + else: + self.setGeometry(100, 100, 1200, 800) + + # Central widget + central_widget = QWidget() + self.setCentralWidget(central_widget) + + # Main horizontal layout (sidebar + content) + main_layout = QHBoxLayout() + main_layout.setContentsMargins(0, 0, 0, 0) + main_layout.setSpacing(0) + + # Create sidebar + sidebar = QWidget() + sidebar.setFixedWidth(250) + sidebar.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, + stop:0 #667eea, stop:1 #764ba2); + } + """) + + sidebar_layout = QVBoxLayout() + sidebar_layout.setContentsMargins(0, 0, 0, 0) + sidebar_layout.setSpacing(0) + + # Header Section with logo and title in sidebar + header_widget = QWidget() + header_widget.setStyleSheet("background: transparent; padding: 25px 20px;") + header_layout = QVBoxLayout() + header_layout.setAlignment(Qt.AlignCenter) + header_layout.setSpacing(0) + header_layout.setContentsMargins(0, 0, 0, 0) + + # Logo + logo_label = QLabel() + logo_label.setFixedSize(100, 100) + logo_label.setStyleSheet("background: transparent; border: none;") + logo_label.setAlignment(Qt.AlignCenter) + logo_path = config.get_resource_path(os.path.join('img', 'logo_sekolah.png')) + logo_pixmap = QPixmap(logo_path) + + def crop_transparent(pixmap): + if pixmap.isNull(): + return pixmap + img = pixmap.toImage().convertToFormat(QImage.Format_ARGB32) + w, h = img.width(), img.height() + left, top = w, h + right, bottom = 0, 0 + for y in range(h): + for x in range(w): + alpha = (img.pixel(x, y) >> 24) & 0xFF + if alpha != 0: + if x < left: + left = x + if x > right: + right = x + if y < top: + top = y + if y > bottom: + bottom = y + if right < left or bottom < top: + return pixmap + cropped = img.copy(left, top, right - left + 1, bottom - top + 1) + return QPixmap.fromImage(cropped) + + if not logo_pixmap.isNull(): + # Crop away transparent padding so logo doesn't appear 'boxed' + logo_pixmap = crop_transparent(logo_pixmap) + logo_label.setPixmap(logo_pixmap.scaled(80, 80, Qt.KeepAspectRatio, Qt.SmoothTransformation)) + + # Title section + title_main = QLabel("JURUSIFY") + title_main.setStyleSheet( + "color: white; font-size: 22px; font-weight: bold; margin: 0px; padding: 0px;" + " background: transparent; border: none; font-family: 'Segoe UI', Arial, sans-serif; letter-spacing: 0.5px;" + ) + title_main.setAlignment(Qt.AlignCenter) + + # Layout adjustments for header - vertical stacking with no extra frames + header_layout = QVBoxLayout() + header_layout.setContentsMargins(0, 0, 0, 0) + header_layout.setSpacing(0) + logo_label.setContentsMargins(0, 0, 0, 0) + title_main.setContentsMargins(0, 0, 0, 0) + header_layout.addWidget(logo_label, alignment=Qt.AlignHCenter) + header_layout.addWidget(title_main, alignment=Qt.AlignHCenter) + + header_widget = QWidget() + # Increase top padding so the logo is positioned slightly lower above the title + header_widget.setStyleSheet("background: transparent; border: none; padding: 28px 0 6px 0;") + header_widget.setLayout(header_layout) + + # Add header layout to sidebar layout and insert larger spacing below title + sidebar_layout.addWidget(header_widget) + sidebar_layout.addSpacing(30) + + # Navigation menu + nav_widget = QWidget() + nav_widget.setStyleSheet("background: transparent;") + nav_layout = QVBoxLayout() + nav_layout.setContentsMargins(10, 15, 10, 10) + nav_layout.setSpacing(5) + + # Tab buttons + self.tab_input = QPushButton("▸ Input Data") + self.tab_data = QPushButton("▸ Data Siswa") + self.tab_performa = QPushButton("▸ Performa") + self.btn_logout = QPushButton("▸ Logout") + + # Style for sidebar navigation + sidebar_nav_style = """ + QPushButton { + border: none; + padding: 16px 22px; + font-size: 18px; + color: rgba(255, 255, 255, 0.9); + background-color: transparent; + text-align: left; + font-weight: 500; + margin: 0; + border-radius: 8px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: rgba(255, 255, 255, 0.15); + color: white; + } + QPushButton:checked { + background-color: rgba(255, 255, 255, 0.25); + color: white; + font-weight: 600; + border-left: 3px solid #ffffff; + border-radius: 8px 0 0 8px; + } + """ + + logout_style = """ + QPushButton { + border: none; + padding: 16px 22px; + font-size: 18px; + color: rgba(255, 255, 255, 0.9); + background-color: transparent; + text-align: left; + font-weight: 500; + margin: 8px 0 0 0; + border-radius: 8px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: rgba(239, 68, 68, 0.9); + color: white; + } + """ + + # Apply styles and make checkable + for tab in [self.tab_input, self.tab_data, self.tab_performa]: + tab.setCheckable(True) + tab.setFocusPolicy(Qt.NoFocus) + tab.setStyleSheet(sidebar_nav_style) + nav_layout.addWidget(tab) + + # Add separator before logout + nav_layout.addStretch() + separator = QFrame() + separator.setFrameShape(QFrame.HLine) + separator.setStyleSheet("background-color: rgba(255, 255, 255, 0.2); max-height: 1px; margin: 10px 15px;") + nav_layout.addWidget(separator) + + self.btn_logout.setStyleSheet(logout_style) + self.btn_logout.setFocusPolicy(Qt.NoFocus) + nav_layout.addWidget(self.btn_logout) + nav_layout.addSpacing(10) + + nav_widget.setLayout(nav_layout) + sidebar_layout.addWidget(nav_widget) + + sidebar.setLayout(sidebar_layout) + main_layout.addWidget(sidebar) + + # Content area + content_widget = QWidget() + content_widget.setStyleSheet("background-color: #f8f9fa;") + content_layout = QVBoxLayout() + content_layout.setContentsMargins(0, 0, 0, 0) + + # Header for content area + content_header = QWidget() + content_header.setFixedHeight(65) + content_header.setStyleSheet("background-color: white; border-bottom: 2px solid #e0e6ed;") + content_header_layout = QHBoxLayout() + content_header_layout.setContentsMargins(30, 0, 30, 0) + + # Spacer to push username and icon to the right + content_header_layout.addStretch() + + # Username label + self.username_label = QLabel(f"{self.username}") + self.username_label.setStyleSheet(""" + color: #64748b; + font-size: 16px; + font-weight: 600; + margin-right: 8px; + font-family: 'Segoe UI', Arial, sans-serif; + """) + content_header_layout.addWidget(self.username_label) + + # User icon with modern styling + user_icon_container = QWidget() + user_icon_container.setFixedSize(36, 36) + user_icon_container.setStyleSheet(""" + QWidget { + background-color: #667eea; + border-radius: 18px; + border: none; + outline: none; + } + """) + user_icon_layout = QVBoxLayout(user_icon_container) + user_icon_layout.setContentsMargins(0, 0, 0, 0) + user_icon_layout.setAlignment(Qt.AlignCenter) + + user_icon = QLabel("👤") + user_icon.setStyleSheet("color: white; font-size: 18px; background: transparent; border: none; font-family: 'Segoe UI', Arial, sans-serif;") + user_icon.setAlignment(Qt.AlignCenter) + user_icon_layout.addWidget(user_icon) + + content_header_layout.addWidget(user_icon_container) + + content_header.setLayout(content_header_layout) + content_layout.addWidget(content_header) + + # Stacked Widget for different tabs + self.stacked_widget = QStackedWidget() + self.stacked_widget.setStyleSheet("background-color: #f8f9fa;") + + # Create tab pages + self.create_input_tab() + self.create_data_tab() + self.create_performa_tab() + + content_layout.addWidget(self.stacked_widget) + content_widget.setLayout(content_layout) + main_layout.addWidget(content_widget) + + central_widget.setLayout(main_layout) + + # Connect signals + self.tab_input.clicked.connect(lambda: self.switch_tab(0)) + self.tab_data.clicked.connect(lambda: self.switch_tab(1)) + self.tab_performa.clicked.connect(lambda: self.switch_tab(2)) + self.btn_logout.clicked.connect(self.handle_logout) + + # Set default tab + self.switch_tab(0) + + # Load initial stats and performance + print("Loading model and performance metrics...") + self.generate_performance_display() # Train first to get fresh accuracy + self.refresh_performa_stats() # Then update stats with fresh accuracy + print("✓ Application ready!\n") + + # Load model from writable path first, then bundled model, then retrain. + self.initialize_model() + + #load model dulu, train kalau belum ada + def initialize_model(self): + """Inisialisasi classifier.""" + model_candidates = [config.MODEL_PATH] + bundled_model = getattr(config, 'BUNDLED_MODEL_PATH', None) + if bundled_model and bundled_model not in model_candidates: + model_candidates.append(bundled_model) + + for model_path in model_candidates: + try: + if os.path.exists(model_path): + self.classifier.load_model(model_path) + self.statusBar().showMessage('Model berhasil dimuat') + return + except Exception as e: + print(f"Gagal memuat model dari {model_path}: {e}") + + # untuk training awal, coba muat dataset dari path yang bisa ditulis (jika ada), jika tidak fallback ke dataset sumber + self.train_model_background() + + def switch_tab(self, index): + """Switch between tabs""" + # If switching away from Input tab (index 0), reset edit mode + if hasattr(self, 'stacked_widget') and self.stacked_widget.currentIndex() == 0 and index != 0: + self.edit_mode = False + + # Update tab appearance + tabs = [self.tab_input, self.tab_data, self.tab_performa] + for i, tab in enumerate(tabs): + tab.setChecked(i == index) + + # Switch stacked widget page + self.stacked_widget.setCurrentIndex(index) + + # Update status based on tab + if index == 0: + # When switching to Input tab, clear form if not in edit mode + if not self.edit_mode: + self.clear_form() + self.statusBar().showMessage('Input Data - Masukkan data siswa untuk prediksi') + elif index == 1: + self.statusBar().showMessage('Data Siswa - Kelola data hasil prediksi') + # Always reset search state when returning to Data Siswa. + if hasattr(self, 'search_input'): + self.search_input.blockSignals(True) + self.search_input.clear() + self.search_input.blockSignals(False) + self.current_page = 1 + if hasattr(self, 'load_table_data'): + self.load_table_data() + # Clear table selection when switching to Data Siswa tab if no data should be selected + if hasattr(self, 'table') and not self.current_selected_id: + self.table.clearSelection() + # Ensure buttons are disabled + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + # Avoid auto-focus on search field so it doesn't look pre-clicked. + if hasattr(self, 'search_input'): + self.search_input.clearFocus() + if hasattr(self, 'table'): + self.table.clearFocus() + self.stacked_widget.setFocus() + elif index == 2: + self.statusBar().showMessage('Performa - Analisis performa sistem') + # Only refresh stats (lightweight), don't retrain model every time + self.refresh_performa_stats() + # Performance display already generated on init, no need to regenerate + + def create_input_tab(self): + """Create Input Data tab with modern simplified design""" + input_page = QWidget() + input_page.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 #f5f7fa, stop:1 #e8ecf1); + } + """) + + page_layout = QVBoxLayout(input_page) + page_layout.setContentsMargins(0, 0, 0, 0) + + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setFrameShape(QFrame.NoFrame) + scroll_area.setStyleSheet("QScrollArea { border: none; background: transparent; }") + + input_widget = QWidget() + input_widget.setStyleSheet("background: transparent;") + + # Main layout + input_layout = QVBoxLayout(input_widget) + input_layout.setContentsMargins(40, 30, 40, 30) + input_layout.setSpacing(20) + + # Header with gradient + header_widget = QWidget() + header_widget.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + border-radius: 12px; + } + """) + header_layout = QVBoxLayout(header_widget) + header_layout.setContentsMargins(30, 20, 30, 20) + header_layout.setSpacing(5) + + title_label = QLabel("📝 Input Data Siswa") + title_label.setStyleSheet(""" + font-size: 30px; + font-weight: bold; + color: white; + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(title_label) + + subtitle_label = QLabel("Masukkan data siswa untuk mendapatkan prediksi jurusan yang sesuai") + subtitle_label.setStyleSheet(""" + font-size: 18px; + color: rgba(255, 255, 255, 0.9); + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(subtitle_label) + + input_layout.addWidget(header_widget) + + # Main Form Card - Simple white card + form_card = QWidget() + form_card.setStyleSheet(""" + QWidget { + background-color: white; + border-radius: 12px; + border: 1px solid #e0e6ed; + } + """) + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(15) + shadow.setXOffset(0) + shadow.setYOffset(5) + shadow.setColor(QColor(0, 0, 0, 30)) + form_card.setGraphicsEffect(shadow) + + form_layout = QVBoxLayout(form_card) + form_layout.setContentsMargins(30, 30, 30, 30) + form_layout.setSpacing(25) + + # Nama Siswa Section - plain label + nama_label = QLabel("Nama Lengkap Siswa") + nama_label.setStyleSheet(""" + font-size: 19px; + color: #2c3e50; + font-weight: bold; + background: transparent; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + """) + form_layout.addWidget(nama_label) + + self.nama_input = QLineEdit() + self.nama_input.setMinimumHeight(56) + self.nama_input.setMaximumHeight(56) + self.nama_input.setMaxLength(50) + self.nama_input.setReadOnly(True) + self.nama_input.setCursor(Qt.PointingHandCursor) + self.nama_input.setToolTip("Klik untuk memilih nama siswa") + self.nama_input.setStyleSheet(""" + QLineEdit { + border: 2px solid #e0e6ed; + border-radius: 8px; + padding: 8px 14px; + font-size: 19px; + font-weight: 400; + background-color: #f8fafc; + color: #1e293b; + font-family: 'Segoe UI', Arial, sans-serif; + } + QLineEdit:focus { + border-color: #667eea; + background-color: white; + } + QLineEdit:hover { + border-color: #cbd5e1; + } + """) + self.nama_input.installEventFilter(self) + self.nama_input.setPlaceholderText("Klik untuk pilih nama siswa") + self.nama_input.textChanged.connect(self.validate_nama_input) + form_layout.addWidget(self.nama_input) + + # Separator line + separator = QFrame() + separator.setFrameShape(QFrame.HLine) + separator.setStyleSheet("background-color: #e0e6ed; max-height: 1px;") + form_layout.addWidget(separator) + + # Nilai Section - plain label + nilai_label = QLabel("Nilai Mata Pelajaran (Range: 0-100)") + nilai_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) + nilai_label.setIndent(0) + nilai_label.setContentsMargins(0, 0, 0, 0) + nilai_label.setStyleSheet(""" + font-size: 19px; + font-weight: bold; + color: #2c3e50; + background: transparent; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + margin-bottom: 5px; + """) + form_layout.addWidget(nilai_label) + + # Create table widget for nilai input + self.nilai_table = QTableWidget() + self.nilai_table.setColumnCount(4) + self.nilai_table.setHorizontalHeaderLabels(['Mapel', 'Semester 1', 'Semester 2', 'Rata-rata']) + self.nilai_table.setMinimumHeight(350) + self.nilai_table.setStyleSheet(""" + QTableWidget { + border: 1px solid #e2e8f0; + border-radius: 6px; + background-color: #ffffff; + gridline-color: #e2e8f0; + } + QTableWidget::item { + padding: 4px; + background-color: white; + } + QHeaderView::section { + background-color: #f1f5f9; + color: #2c3e50; + padding: 14px 8px; + border: none; + border-right: 1px solid #e2e8f0; + border-bottom: 1px solid #e2e8f0; + font-weight: bold; + font-size: 18px; + } + """) + + # Set header alignment and properties + header = self.nilai_table.horizontalHeader() + header.setStretchLastSection(False) + header.setSectionResizeMode(0, QHeaderView.Stretch) # Mapel + header.setSectionResizeMode(1, QHeaderView.Stretch) # Semester 1 + header.setSectionResizeMode(2, QHeaderView.Stretch) # Semester 2 + header.setSectionResizeMode(3, QHeaderView.Stretch) # Rata-rata + + self.nilai_table.verticalHeader().setVisible(False) + self.nilai_table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.nilai_table.setSelectionMode(QAbstractItemView.NoSelection) + self.nilai_table.setFocusPolicy(Qt.NoFocus) + # Set custom delegate for input columns (Semester 1 and 2) + # Must set delegate before creating persistent editors so the editors + # created by openPersistentEditor inherit the delegate's alignment/style. + delegate = LineEditDelegate() + self.nilai_table.setItemDelegateForColumn(1, delegate) + self.nilai_table.setItemDelegateForColumn(2, delegate) + + # Mata pelajaran list + mapel_list = [ + ('Informatika', 'nilai_informatika'), + ('Fisika', 'nilai_fisika'), + ('Kimia', 'nilai_kimia'), + ('Biologi', 'nilai_biologi'), + ('BIG Lanjut', 'nilai_big_lanjut'), + ('Ekonomi', 'nilai_ekonomi'), + ('MAT Lanjut', 'nilai_mat_lanjut'), + ('SEJ Lanjut', 'nilai_sej_lanjut'), + ('Sosiologi', 'nilai_sosiologi'), + ('Geografi', 'nilai_geografi') + ] + + self.nilai_inputs = {} + self.nilai_sem1_inputs = {} # Store semester 1 inputs + self.nilai_sem2_inputs = {} # Store semester 2 inputs + + self.nilai_table.setRowCount(len(mapel_list)) + + for row, (mapel, key) in enumerate(mapel_list): + # Column 0: Mapel name (read-only) + mapel_item = QTableWidgetItem(mapel) + mapel_item.setFlags(mapel_item.flags() & ~Qt.ItemIsEditable) + mapel_item.setFont(QFont('Segoe UI', 10)) + mapel_item.setForeground(QColor('#2c3e50')) + self.nilai_table.setItem(row, 0, mapel_item) + + # Column 1: Semester 1 input + sem1_item = QTableWidgetItem('') + sem1_item.setFlags(sem1_item.flags() | Qt.ItemIsEditable) + sem1_item.setTextAlignment(Qt.AlignCenter) + sem1_item.setFont(QFont('Segoe UI', 14)) + self.nilai_table.setItem(row, 1, sem1_item) + self.nilai_sem1_inputs[key] = sem1_item + self.nilai_table.openPersistentEditor(sem1_item) + + # Column 2: Semester 2 input + sem2_item = QTableWidgetItem('') + sem2_item.setFlags(sem2_item.flags() | Qt.ItemIsEditable) + sem2_item.setTextAlignment(Qt.AlignCenter) + sem2_item.setFont(QFont('Segoe UI', 14)) + self.nilai_table.setItem(row, 2, sem2_item) + self.nilai_sem2_inputs[key] = sem2_item + self.nilai_table.openPersistentEditor(sem2_item) + + # Column 3: Rata-rata (read-only, calculated) + rata_item = QTableWidgetItem('otomatis') + rata_item.setFlags(rata_item.flags() & ~Qt.ItemIsEditable) + rata_item.setTextAlignment(Qt.AlignCenter) + rata_item.setFont(QFont('Segoe UI', 10)) + rata_item.setForeground(QColor('#94a3b8')) + self.nilai_table.setItem(row, 3, rata_item) + + # Store in nilai_inputs for backward compatibility with predict function + self.nilai_inputs[key] = rata_item + + # Connect persistent editors so rata-rata updates as soon as user types + sem1_index = self.nilai_table.model().index(row, 1) + sem2_index = self.nilai_table.model().index(row, 2) + sem1_editor = self.nilai_table.indexWidget(sem1_index) + sem2_editor = self.nilai_table.indexWidget(sem2_index) + + if sem1_editor and hasattr(sem1_editor, 'textChanged'): + sem1_editor.textChanged.connect( + lambda text, r=row: self._on_nilai_editor_changed(r, 1, text) + ) + if sem2_editor and hasattr(sem2_editor, 'textChanged'): + sem2_editor.textChanged.connect( + lambda text, r=row: self._on_nilai_editor_changed(r, 2, text) + ) + + # Set row height + for row in range(len(mapel_list)): + self.nilai_table.setRowHeight(row, 45) + + self._update_nilai_table_height() + + # Connect item changed signal to calculate rata-rata + self.nilai_table.itemChanged.connect(self.on_nilai_changed) + + form_layout.addWidget(self.nilai_table) + input_layout.addWidget(form_card) + + # Action Buttons - Simple layout without card + btn_layout = QHBoxLayout() + btn_layout.setSpacing(15) + btn_layout.setContentsMargins(0, 10, 0, 0) + + # Predict button + self.btn_predict = QPushButton("🔮 Prediksi") + self.btn_predict.setFixedHeight(50) + self.btn_predict.setCursor(Qt.PointingHandCursor) + self.btn_predict.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + color: white; + border: none; + border-radius: 8px; + font-size: 17px; + font-weight: bold; + padding: 12px 32px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #5568d3, stop:1 #6a3b91); + } + QPushButton:pressed { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #4a5abc, stop:1 #5a3080); + } + QPushButton:disabled { + background: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_predict.clicked.connect(self.predict_and_save_data) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + btn_layout.addWidget(self.btn_predict) + + # Update button + self.btn_update = QPushButton("✏️ Update") + self.btn_update.setFixedHeight(50) + self.btn_update.setCursor(Qt.PointingHandCursor) + self.btn_update.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #11998e, stop:1 #38ef7d); + color: white; + border: none; + border-radius: 8px; + font-size: 17px; + font-weight: bold; + padding: 12px 32px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #0d7a72, stop:1 #2dd465); + } + QPushButton:disabled { + background: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_update.clicked.connect(self.update_data) + self.btn_update.setToolTip("Mengupdate data yang dipilih dengan prediksi baru") + btn_layout.addWidget(self.btn_update) + + # Clear Form button + self.btn_clear = QPushButton("🗑️ Clear Form") + self.btn_clear.setFixedHeight(50) + self.btn_clear.setCursor(Qt.PointingHandCursor) + self.btn_clear.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #ee0979, stop:1 #ff6a00); + color: white; + border: none; + border-radius: 8px; + font-size: 17px; + font-weight: bold; + padding: 12px 32px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #d4076a, stop:1 #e65900); + } + """) + self.btn_clear.clicked.connect(lambda: self.clear_form(show_empty_notification=True)) + btn_layout.addWidget(self.btn_clear) + + btn_layout.addStretch() + input_layout.addLayout(btn_layout) + input_layout.addStretch() + + scroll_area.setWidget(input_widget) + page_layout.addWidget(scroll_area) + + self.stacked_widget.addWidget(input_page) + + #ui untuk tab data siswa + def create_data_tab(self): + data_widget = QWidget() + data_widget.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 #f5f7fa, stop:1 #e8ecf1); + } + """) + + # Main layout + data_layout = QVBoxLayout(data_widget) + data_layout.setContentsMargins(32, 20, 32, 20) + data_layout.setSpacing(14) + + # Header with gradient + header_widget = QWidget() + header_widget.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + border-radius: 12px; + } + """) + header_layout = QVBoxLayout(header_widget) + header_layout.setContentsMargins(30, 20, 30, 20) + header_layout.setSpacing(5) + + title_label = QLabel("📊 Data Siswa") + title_label.setStyleSheet(""" + font-size: 30px; + font-weight: bold; + color: white; + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(title_label) + + subtitle_label = QLabel("Kelola dan lihat semua data hasil prediksi siswa") + subtitle_label.setStyleSheet(""" + font-size: 18px; + color: rgba(255, 255, 255, 0.9); + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(subtitle_label) + + data_layout.addWidget(header_widget) + + # Main Content Card + content_card = QWidget() + content_card.setObjectName("dataContentCard") + content_card.setStyleSheet(""" + QWidget#dataContentCard { + background-color: white; + border-radius: 12px; + border: 1px solid #e0e6ed; + } + """) + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(15) + shadow.setXOffset(0) + shadow.setYOffset(5) + shadow.setColor(QColor(0, 0, 0, 30)) + content_card.setGraphicsEffect(shadow) + + content_layout = QVBoxLayout(content_card) + content_layout.setContentsMargins(24, 18, 24, 18) + content_layout.setSpacing(14) + + # Search Section + search_layout = QHBoxLayout() + search_layout.setSpacing(10) + + search_label = QLabel("Pencarian:") + search_label.setStyleSheet(""" + font-size: 16px; + color: #2c3e50; + font-weight: bold; + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + search_layout.addWidget(search_label) + + self.search_input = QLineEdit() + self.search_input.setPlaceholderText("Cari nama siswa...") + self.search_input.setMinimumHeight(56) + self.search_input.setMaximumHeight(56) + self.search_input.setMinimumWidth(300) + self.search_input.setStyleSheet(""" + QLineEdit { + border: 2px solid #e0e6ed; + border-radius: 8px; + padding: 8px 14px; + font-size: 19px; + background-color: #f8fafc; + color: #1e293b; + font-family: 'Segoe UI', Arial, sans-serif; + } + QLineEdit:focus { + border-color: #667eea; + background-color: white; + } + QLineEdit:hover { + border-color: #cbd5e1; + } + """) + + # Validator untuk pencarian - hanya huruf dan spasi + search_validator = QRegExpValidator(QRegExp("[a-zA-Z ]*")) + self.search_input.setValidator(search_validator) + self.search_input.setFocusPolicy(Qt.ClickFocus) + + # Connect search input signals + self.search_input.textChanged.connect(self.search_by_name) + self.search_input.returnPressed.connect(self.search_by_name) + + search_layout.addWidget(self.search_input) + + # Clear search button + btn_clear_search = QPushButton("✖ Clear") + btn_clear_search.setFixedHeight(56) + btn_clear_search.setCursor(Qt.PointingHandCursor) + btn_clear_search.setStyleSheet(""" + QPushButton { + background-color: #dc3545; + color: white; + border: none; + border-radius: 8px; + font-weight: bold; + font-size: 16px; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: #c82333; + } + """) + btn_clear_search.clicked.connect(self.clear_search) + btn_clear_search.setToolTip("Hapus pencarian") + search_layout.addWidget(btn_clear_search) + search_layout.addStretch() + + content_layout.addLayout(search_layout) + + # Action buttons + action_layout = QHBoxLayout() + action_layout.setSpacing(12) + + # Delete button + btn_delete = QPushButton("Delete") + btn_delete.setFixedHeight(45) + btn_delete.setCursor(Qt.PointingHandCursor) + btn_delete.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #ee0979, stop:1 #ff6a00); + color: white; + border: none; + border-radius: 8px; + font-weight: bold; + font-size: 16px; + padding: 10px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #d4076a, stop:1 #e65900); + } + """) + btn_delete.clicked.connect(self.delete_data) + action_layout.addWidget(btn_delete) + + # Edit button + self.btn_edit = QPushButton("Edit") + self.btn_edit.setFixedHeight(45) + self.btn_edit.setCursor(Qt.PointingHandCursor) + self.btn_edit.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + color: white; + border: none; + border-radius: 8px; + font-weight: bold; + font-size: 16px; + padding: 10px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #5568d3, stop:1 #6a3b91); + } + QPushButton:disabled { + background: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_edit.clicked.connect(self.edit_selected_data) + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + action_layout.addWidget(self.btn_edit) + + # Preview button + self.btn_preview = QPushButton("Preview") + self.btn_preview.setFixedHeight(45) + self.btn_preview.setCursor(Qt.PointingHandCursor) + self.btn_preview.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #a770ef, stop:1 #cf8bf3); + color: white; + border: none; + border-radius: 8px; + font-weight: bold; + font-size: 16px; + padding: 10px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #9560d8, stop:1 #bd7ae0); + } + QPushButton:disabled { + background: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_preview.clicked.connect(self.preview_prediction) + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + action_layout.addWidget(self.btn_preview) + + # Export button + btn_export = QPushButton("Export") + btn_export.setFixedHeight(45) + btn_export.setCursor(Qt.PointingHandCursor) + btn_export.setStyleSheet(""" + QPushButton { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #11998e, stop:1 #38ef7d); + color: white; + border: none; + border-radius: 8px; + font-weight: bold; + font-size: 16px; + padding: 10px 24px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #0d7a72, stop:1 #2dd465); + } + """) + btn_export.clicked.connect(self.export_to_excel) + action_layout.addWidget(btn_export) + + action_layout.addStretch() + content_layout.addLayout(action_layout) + + # Hidden info label (masih dibutuhkan untuk fungsi internal tapi tidak ditampilkan) + self.info_label = QLabel() + self.info_label.setVisible(False) + + # Table + self.table = QTableWidget() + self.setup_table() + self.table.installEventFilter(self) + self.table.viewport().installEventFilter(self) + content_layout.addWidget(self.table, 1) + + # Pagination + pagination_layout = QHBoxLayout() + pagination_layout.setContentsMargins(0, 4, 0, 0) + pagination_layout.setSpacing(14) + pagination_layout.setAlignment(Qt.AlignCenter) + pagination_layout.addStretch() + + self.btn_prev = QPushButton("◀ Previous") + self.btn_prev.setFixedHeight(40) + self.btn_prev.setCursor(Qt.PointingHandCursor) + self.btn_prev.setStyleSheet(""" + QPushButton { + background-color: #64748b; + color: white; + padding: 10px 20px; + font-weight: bold; + font-weight: 600; + font-size: 16px; + border-radius: 8px; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: #475569; + } + QPushButton:disabled { + background-color: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_prev.clicked.connect(self.previous_page) + pagination_layout.addWidget(self.btn_prev) + + self.page_label = QLabel() + self.page_label.setAlignment(Qt.AlignCenter) + self.page_label.setMinimumWidth(180) + self.page_label.setStyleSheet(""" + margin: 0px 20px; + font-weight: 600; + font-size: 16px; + color: #2c3e50; + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + pagination_layout.addWidget(self.page_label) + + self.btn_next = QPushButton("Next ▶") + self.btn_next.setFixedHeight(40) + self.btn_next.setCursor(Qt.PointingHandCursor) + self.btn_next.setStyleSheet(""" + QPushButton { + background-color: #64748b; + color: white; + padding: 10px 20px; + font-weight: bold; + font-weight: 600; + font-size: 18px; + border-radius: 8px; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background-color: #475569; + } + QPushButton:disabled { + background-color: #cbd5e1; + color: #94a3b8; + } + """) + self.btn_next.clicked.connect(self.next_page) + pagination_layout.addWidget(self.btn_next) + + pagination_layout.addStretch() + + pagination_widget = QWidget() + pagination_widget.setStyleSheet("background: transparent;") + pagination_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + pagination_widget.setFixedHeight(52) + pagination_widget.setLayout(pagination_layout) + content_layout.addWidget(pagination_widget) + + # Let the content card consume available vertical space so table rows remain visible. + data_layout.addWidget(content_card, 1) + + # Install event filter to detect clicks outside table + data_widget.installEventFilter(self) + + self.stacked_widget.addWidget(data_widget) + + #ui untuk tab performa sistem + def create_performa_tab(self): + performa_widget = QWidget() + performa_widget.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 #f5f7fa, stop:1 #e8ecf1); + } + """) + + # Main layout dengan scroll area + main_performa_layout = QVBoxLayout(performa_widget) + main_performa_layout.setContentsMargins(0, 0, 0, 0) + + # Create scroll area + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setFrameShape(QFrame.NoFrame) + scroll_area.setStyleSheet("QScrollArea { border: none; background: transparent; }") + + # Content widget for scroll area + content_widget = QWidget() + content_widget.setStyleSheet("background: transparent;") + performa_layout = QVBoxLayout(content_widget) + performa_layout.setContentsMargins(40, 30, 40, 30) + performa_layout.setSpacing(25) + + # Header with gradient + header_widget = QWidget() + header_widget.setStyleSheet(""" + QWidget { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + border-radius: 12px; + } + """) + header_layout = QVBoxLayout(header_widget) + header_layout.setContentsMargins(30, 20, 30, 20) + header_layout.setSpacing(5) + + title_label = QLabel("📈 Performa Sistem") + title_label.setStyleSheet(""" + font-size: 30px; + font-weight: bold; + color: white; + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(title_label) + + subtitle_label = QLabel("Analisis dan evaluasi performa klasifikasi K-Nearest Neighbors") + subtitle_label.setStyleSheet(""" + font-size: 18px; + color: rgba(255, 255, 255, 0.9); + background: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + """) + header_layout.addWidget(subtitle_label) + + performa_layout.addWidget(header_widget) + + # Statistics Cards Container + self.stats_container = QWidget() + self.stats_container.setStyleSheet("background-color: transparent;") + self.stats_layout = QHBoxLayout(self.stats_container) + self.stats_layout.setSpacing(15) + self.stats_layout.setContentsMargins(0, 0, 0, 0) + + performa_layout.addWidget(self.stats_container) + + # Section 1: Confusion Matrix + confusion_card = QWidget() + confusion_card.setStyleSheet(""" + QWidget { + background-color: white; + border-radius: 12px; + border: 1px solid #e0e6ed; + } + """) + shadow1 = QGraphicsDropShadowEffect() + shadow1.setBlurRadius(15) + shadow1.setXOffset(0) + shadow1.setYOffset(5) + shadow1.setColor(QColor(0, 0, 0, 30)) + confusion_card.setGraphicsEffect(shadow1) + + confusion_card_layout = QVBoxLayout(confusion_card) + confusion_card_layout.setContentsMargins(25, 20, 25, 20) + confusion_card_layout.setSpacing(15) + + confusion_title = QLabel("Confusion Matrix") + confusion_title.setStyleSheet(""" + font-size: 17px; + font-weight: bold; + color: #2c3e50; + background: transparent; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + margin-bottom: 5px; + """) + confusion_card_layout.addWidget(confusion_title) + + # Horizontal layout for matrix and explanation + confusion_content = QHBoxLayout() + confusion_content.setSpacing(20) + + # Matrix visualization + self.perf_figure = Figure(figsize=(6, 4), dpi=100) + self.perf_figure.patch.set_facecolor('white') + self.perf_canvas = FigureCanvas(self.perf_figure) + self.perf_canvas.setFixedHeight(320) + confusion_content.addWidget(self.perf_canvas, 3) + + # Explanation + self.perf_confusion_explanation = QLabel() + self.perf_confusion_explanation.setFont(QFont("Segoe UI", 11)) + self.perf_confusion_explanation.setWordWrap(True) + self.perf_confusion_explanation.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.perf_confusion_explanation.setStyleSheet(""" + QLabel { + background: transparent; + color: #2c3e50; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.6; + padding: 10px; + } + """) + confusion_content.addWidget(self.perf_confusion_explanation, 2) + confusion_card_layout.addLayout(confusion_content) + + performa_layout.addWidget(confusion_card) + + # Section 2: ROC Curves + roc_card = QWidget() + roc_card.setStyleSheet(""" + QWidget { + background-color: white; + border-radius: 12px; + border: 1px solid #e0e6ed; + } + """) + shadow2 = QGraphicsDropShadowEffect() + shadow2.setBlurRadius(15) + shadow2.setXOffset(0) + shadow2.setYOffset(5) + shadow2.setColor(QColor(0, 0, 0, 30)) + roc_card.setGraphicsEffect(shadow2) + + roc_card_layout = QVBoxLayout(roc_card) + roc_card_layout.setContentsMargins(25, 20, 25, 20) + roc_card_layout.setSpacing(15) + + roc_title = QLabel("ROC AUC Curve") + roc_title.setStyleSheet(""" + font-size: 17px; + font-weight: bold; + color: #2c3e50; + background: transparent; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + margin-bottom: 5px; + """) + roc_card_layout.addWidget(roc_title) + + # Horizontal layout for ROC and explanation + roc_content = QHBoxLayout() + roc_content.setSpacing(20) + + # ROC visualization + self.roc_figure = Figure(figsize=(6, 4), dpi=100) + self.roc_figure.patch.set_facecolor('white') + self.roc_canvas = FigureCanvas(self.roc_figure) + self.roc_canvas.setFixedHeight(320) + roc_content.addWidget(self.roc_canvas, 3) + + # Explanation + self.perf_roc_explanation = QLabel() + self.perf_roc_explanation.setFont(QFont("Segoe UI", 11)) + self.perf_roc_explanation.setWordWrap(True) + self.perf_roc_explanation.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.perf_roc_explanation.setStyleSheet(""" + QLabel { + background: transparent; + color: #2c3e50; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.6; + padding: 10px; + } + """) + roc_content.addWidget(self.perf_roc_explanation, 2) + roc_card_layout.addLayout(roc_content) + + performa_layout.addWidget(roc_card) + + # Section 3: Classification Report + class_card = QWidget() + class_card.setStyleSheet(""" + QWidget { + background-color: white; + border-radius: 12px; + border: 1px solid #e0e6ed; + } + """) + shadow3 = QGraphicsDropShadowEffect() + shadow3.setBlurRadius(15) + shadow3.setXOffset(0) + shadow3.setYOffset(5) + shadow3.setColor(QColor(0, 0, 0, 30)) + class_card.setGraphicsEffect(shadow3) + + class_card_layout = QVBoxLayout(class_card) + class_card_layout.setContentsMargins(25, 20, 25, 20) + class_card_layout.setSpacing(15) + + class_title = QLabel("Classification Report") + class_title.setStyleSheet(""" + font-size: 17px; + font-weight: bold; + color: #2c3e50; + background: transparent; + border: none; + font-family: 'Segoe UI', Arial, sans-serif; + margin-bottom: 5px; + """) + class_card_layout.addWidget(class_title) + + # Horizontal layout for report and explanation + class_content = QHBoxLayout() + class_content.setSpacing(20) + + # Classification report + self.perf_report_text = QTextEdit() + self.perf_report_text.setReadOnly(True) + self.perf_report_text.setFont(QFont("Consolas", 11)) + self.perf_report_text.setFixedHeight(300) + self.perf_report_text.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.perf_report_text.setWordWrapMode(QTextOption.NoWrap) + self.perf_report_text.setFrameShape(QFrame.NoFrame) + self.perf_report_text.setStyleSheet(""" + QTextEdit { + background: transparent; + border: none; + padding: 0px; + font-family: 'Consolas', 'Monaco', monospace; + line-height: 1.4; + color: #2c3e50; + } + """) + class_content.addWidget(self.perf_report_text, 3) + + # Explanation + self.perf_class_explanation = QLabel() + self.perf_class_explanation.setFont(QFont("Segoe UI", 11)) + self.perf_class_explanation.setWordWrap(True) + self.perf_class_explanation.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.perf_class_explanation.setStyleSheet(""" + QLabel { + background: transparent; + color: #2c3e50; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.6; + padding: 10px; + } + """) + class_content.addWidget(self.perf_class_explanation, 2) + class_card_layout.addLayout(class_content) + + performa_layout.addWidget(class_card) + performa_layout.addStretch() + + # Set content widget to scroll area and add to main layout + scroll_area.setWidget(content_widget) + main_performa_layout.addWidget(scroll_area) + + self.stacked_widget.addWidget(performa_widget) + + #fungsi untuk update total siswa dan jumlah siswa per paket pada halaman performa + def refresh_performa_stats(self): + try: + # Clear existing cards + for i in reversed(range(self.stats_layout.count())): + child = self.stats_layout.itemAt(i).widget() + if child: + child.deleteLater() + + # Get data from database + data = ambil_semua_hasil_prediksi() + total_siswa = len(data) + + # Count students by paket + paket_counts = {} + for item in data: + paket = item.get('paket_prediksi', 0) + paket_counts[paket] = paket_counts.get(paket, 0) + 1 + + # Define modern colors for each paket + paket_colors = { + 1: "#667eea", # Purple-blue (primary theme) + 2: "#764ba2", # Purple + 3: "#f093fb", # Pink + 4: "#4facfe", # Light blue + 5: "#43e97b", # Green + 6: "#fa709a" # Rose + } + + # Create Total Siswa card + total_card = self.create_stat_card("Total Siswa", str(total_siswa), "#2c3e50") + self.stats_layout.addWidget(total_card) + + # Create cards for each paket (1-6) + for paket in range(1, 7): + count = paket_counts.get(paket, 0) + color = paket_colors.get(paket, "#95a5a6") + paket_card = self.create_stat_card(f"Paket {paket}", str(count), color) + self.stats_layout.addWidget(paket_card) + + except Exception as e: + print(f"Error refreshing performa stats: {str(e)}") + # Create default cards if error + total_card = self.create_stat_card("Total Siswa", "0", "#34495e") + self.stats_layout.addWidget(total_card) + + for paket in range(1, 7): + paket_card = self.create_stat_card(f"Paket {paket}", "0", "#95a5a6") + self.stats_layout.addWidget(paket_card) + + #Fungsi halaman performa untuk latih ulang model dan tampilkan metrik performa terbaru + def generate_performance_display(self): + try: + # Always retrain model to get current accurate performance + # print("🔄 Retraining model for current performance metrics...") + + # Create fresh classifier instance + fresh_classifier = JurusanKNNClassifier() + + # Train with current dataset to get fresh results + accuracy, _ = fresh_classifier.train( + config.DATASET_PATH, + test_data_path=getattr(config, 'TEST_DATASET_PATH', None) + ) + + # Update main classifier with fresh results + self.classifier = fresh_classifier + + # print(f"✅ Fresh model accuracy: {accuracy:.4f} ({accuracy:.2%})") + + # Use fresh evaluation results + if (hasattr(self.classifier, 'confusion_matrix') and + hasattr(self.classifier, 'y_test') and + hasattr(self.classifier, 'y_pred')): + + cm = self.classifier.confusion_matrix + y_test = self.classifier.y_test + y_pred = self.classifier.y_pred + + # Generate confusion matrix plot + self.plot_confusion_matrix_perf(cm, sorted(set(y_test))) + self.display_confusion_matrix_explanation_perf() + + # Generate ROC AUC curve plot + if hasattr(self.classifier, 'y_pred_proba'): + self.plot_roc_curve_perf(y_test, self.classifier.y_pred_proba) + else: + # Fallback: use predicted classes (less accurate for ROC) + self.plot_roc_curve_perf(y_test, y_pred) + self.display_roc_explanation_perf() + + # Generate classification report with fresh data + from sklearn.metrics import classification_report + report = classification_report(y_test, y_pred, output_dict=True, zero_division=0) + self.display_classification_report_perf(report) + + # Update status bar with current accuracy + self.statusBar().showMessage(f'Performance updated - Current Accuracy: {accuracy:.2%}') + + # print(f"✅ Performance display updated successfully with accuracy: {accuracy:.2%}") + + else: + self.show_error_perf("Fresh training data not available") + + except Exception as e: + # print(f"Error in generate_performance_display: {str(e)}") + self.show_error_perf(f"Error generating performance report: {str(e)}") + + # Fungsi untuk plot confusion matrix pada halaman performa + def plot_confusion_matrix_perf(self, cm, classes): + # Clear previous plot + self.perf_figure.clear() + + ax = self.perf_figure.add_subplot(111) + im = ax.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues, aspect='auto') + + # Add colorbar + cbar = self.perf_figure.colorbar(im, ax=ax, shrink=0.8) + cbar.ax.tick_params(labelsize=10) + + # Set labels + ax.set_xticks(np.arange(cm.shape[1])) + ax.set_yticks(np.arange(cm.shape[0])) + ax.set_xticklabels(classes, fontsize=11) + ax.set_yticklabels(classes, fontsize=11) + + # Set axis labels + ax.set_ylabel('True Labels', fontsize=12, fontweight='bold') + ax.set_xlabel('Predicted Labels', fontsize=12, fontweight='bold') + + # Rotate the tick labels + plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor") + + # Add text annotations + thresh = cm.max() / 2. + for i in range(cm.shape[0]): + for j in range(cm.shape[1]): + text_color = "white" if cm[i, j] > thresh else "black" + ax.text(j, i, format(cm[i, j], 'd'), + ha="center", va="center", + color=text_color, + fontweight='bold', + fontsize=11) + + # Set title with accuracy information - REMOVED to avoid text cutoff + # accuracy = self.classifier.training_accuracy if hasattr(self.classifier, 'training_accuracy') else 0 + # ax.set_title(f"Confusion Matrix\nAccuracy: {accuracy:.2%}", fontweight='bold', fontsize=14, pad=20) + + # Adjust layout with better margins + self.perf_figure.subplots_adjust(left=0.12, bottom=0.25, right=0.9, top=0.95) + self.perf_canvas.draw() + + # Fungsi untuk plot ROC curve pada halaman performa + def display_classification_report_perf(self, report_dict): + # Get accuracy for header + accuracy = report_dict['accuracy'] + + # Create header with prominent accuracy display + accuracy_header = f"🎯 SYSTEM ACCURACY: {accuracy:.4f} ({accuracy:.2%})\n" + accuracy_header += f"{'='*65}\n\n" + + # Create formatted text report + header = f"{'':>12} {'precision':>10} {'recall':>10} {'f1-score':>10} {'support':>8}\n" + separator = "=" * 65 + "\n" + + report_text = accuracy_header + header + separator + + # Add metrics for each class + classes = [key for key in report_dict.keys() if key not in ['accuracy', 'macro avg', 'weighted avg']] + + # Sort classes numerically + try: + sorted_classes = sorted(classes, key=lambda x: int(x)) + except (ValueError, TypeError): + sorted_classes = sorted(classes) + + for class_name in sorted_classes: + metrics = report_dict[class_name] + class_label = f"Paket {class_name}" if str(class_name).isdigit() else str(class_name) + report_text += f"{class_label:>12} {metrics['precision']:>10.2f} {metrics['recall']:>10.2f} {metrics['f1-score']:>10.2f} {int(metrics['support']):>8}\n" + + # Add separator line + report_text += "\n" + "-" * 65 + "\n" + + # Add accuracy + total_support = sum(report_dict[key]['support'] for key in classes) + report_text += f"{'accuracy':>12} {'':>10} {'':>10} {accuracy:>10.2f} {int(total_support):>8}\n" + + # Add macro avg + macro_avg = report_dict['macro avg'] + report_text += f"{'macro avg':>12} {macro_avg['precision']:>10.2f} {macro_avg['recall']:>10.2f} {macro_avg['f1-score']:>10.2f} {int(macro_avg['support']):>8}\n" + + # Add weighted avg + weighted_avg = report_dict['weighted avg'] + report_text += f"{'weighted avg':>12} {weighted_avg['precision']:>10.2f} {weighted_avg['recall']:>10.2f} {weighted_avg['f1-score']:>10.2f} {int(weighted_avg['support']):>8}\n" + + # Add footer note + report_text += f"\n{'='*65}\n" + report_text += f"📊 Test samples: {int(total_support)} | Train source: {config.DATASET_PATH}\n" + report_text += ( + f"🔧 Algorithm: K-NN (k={self.classifier.knn.n_neighbors}, " + f"weights={self.classifier.knn.weights}, metric={self.classifier.knn.metric}) | " + f"CV: {config.CROSS_VALIDATION_FOLDS}-fold\n" + ) + + self.perf_report_text.setPlainText(report_text) + + # Also display explanation + self.display_classification_explanation_perf() + + #penjelasan grafik + def display_confusion_matrix_explanation_perf(self): + cm = getattr(self.classifier, 'confusion_matrix', None) + if cm is not None and cm.sum() > 0: + total_prediksi_benar = int(np.trace(cm)) + total_data = int(cm.sum()) + summary = f"Total prediksi benar yang berada pada diagonal adalah {total_prediksi_benar} dari {total_data} data." + else: + summary = "Data confusion matrix belum tersedia." + + explanation_text = ( + "Grafik ini menggambarkan sebaran prediksi untuk setiap kelas.\n" + "Nilai pada diagonal menunjukkan prediksi yang tepat, sedangkan perbedaan intensitas warna biru menunjukkan banyaknya jumlah data pada setiap sel.\n\n" + f"{summary}" + ) + + self.perf_confusion_explanation.setText(explanation_text) + + def display_roc_explanation_perf(self): + """Display explanation for ROC curves in performa tab""" + auc_values = getattr(self, 'perf_auc_values', []) + if auc_values: + avg_auc = float(np.mean(auc_values)) + min_auc = float(np.min(auc_values)) + summary = f"Nilai AUC rata-rata sebesar {avg_auc:.3f} dan nilai minimum {min_auc:.3f}, yang menunjukkan masih ada kelas yang relatif lebih sulit dibedakan." + else: + summary = "Nilai AUC belum tersedia." + + explanation_text = """ +Grafik ini menunjukkan kemampuan model dalam membedakan setiap paket. +Semakin mendekati 1, nilai AUC menandakan kemampuan pemisahan kelas yang semakin baik. + +{summary} + """ + + self.perf_roc_explanation.setText( + explanation_text.strip().format(summary=summary) + ) + + def display_classification_explanation_perf(self): + acc = getattr(self.classifier, 'training_accuracy', None) + if acc is None: + result = "Akurasi belum tersedia." + else: + level = "Sangat Baik" if acc >= 0.85 else "Baik" if acc >= 0.75 else "Cukup" if acc >= 0.65 else "Perlu perbaikan" + result = f"Akurasi model mencapai {acc:.2%}, sehingga performanya tergolong {level.lower()}." + + explanation_text = """ +Grafik ini merangkum kualitas prediksi untuk setiap paket. +Precision menunjukkan ketepatan prediksi, recall menunjukkan kemampuan menemukan data yang benar, dan F1-score menggambarkan keseimbangan keduanya. + +{result} + """ + + self.perf_class_explanation.setText(explanation_text.strip().format(result=result)) + + def plot_roc_curve_perf(self, y_test, y_pred_proba): + """Plot ROC AUC curve for performa tab""" + try: + # Clear previous plot + self.roc_figure.clear() + self.perf_auc_values = [] + + # Get unique classes from classifier + classes = self.classifier.knn.classes_ + n_classes = len(classes) + + # Binarize the true labels + y_test_bin = label_binarize(y_test, classes=classes) + + # Handle single class case + if n_classes == 2: + # For binary classification, use probability of positive class + y_score = y_pred_proba[:, 1] + y_true = (y_test == classes[1]).astype(int) + + # Compute ROC curve and ROC area + fpr, tpr, _ = roc_curve(y_true, y_score) + roc_auc = auc(fpr, tpr) + self.perf_auc_values = [float(roc_auc)] + + # Plot ROC curve + ax = self.roc_figure.add_subplot(111) + ax.plot(fpr, tpr, color='darkorange', lw=2, + label=f'ROC curve (AUC = {roc_auc:.3f})') + ax.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--', + label='Random Classifier') + ax.set_xlim([0.0, 1.0]) + ax.set_ylim([0.0, 1.05]) + ax.set_xlabel('False Positive Rate', fontsize=10) + ax.set_ylabel('True Positive Rate', fontsize=10) + ax.set_title('ROC Curve (Binary)', fontweight='bold', fontsize=11) + ax.legend(loc="lower right", fontsize=9) + ax.grid(True, alpha=0.3) + + else: + # Multi-class ROC + ax = self.roc_figure.add_subplot(111) + + # Compute ROC curve and ROC area for each class + fpr = dict() + tpr = dict() + roc_auc = dict() + + for i in range(n_classes): + # Get true binary labels for this class + y_true_class = (y_test == classes[i]).astype(int) + # Get predicted probabilities for this class + y_score_class = y_pred_proba[:, i] + + fpr[i], tpr[i], _ = roc_curve(y_true_class, y_score_class) + roc_auc[i] = auc(fpr[i], tpr[i]) + + self.perf_auc_values = [float(roc_auc[i]) for i in range(n_classes)] + + # Plot ROC curve for each class + colors = ['blue', 'red', 'green', 'orange', 'purple', 'brown'] + for i in range(n_classes): + color = colors[i % len(colors)] + ax.plot(fpr[i], tpr[i], color=color, lw=2, + label=f'Paket {classes[i]} (AUC = {roc_auc[i]:.3f})') + + # Plot random classifier line + ax.plot([0, 1], [0, 1], 'k--', lw=2, label='Random Classifier', alpha=0.8) + + # Compute macro-average ROC curve and ROC area + try: + all_fpr = np.unique(np.concatenate([ + fpr[i] for i in range(n_classes) + ])) + mean_tpr = np.zeros_like(all_fpr) + + for i in range(n_classes): + mean_tpr += np.interp(all_fpr, fpr[i], tpr[i]) + + mean_tpr /= n_classes + roc_auc_macro = float(np.mean([roc_auc[i] for i in range(n_classes)])) + + ax.plot(all_fpr, mean_tpr, + label=f'Macro-avg (AUC = {roc_auc_macro:.3f})', + color='gold', linestyle=':', linewidth=3) + except: + pass # Skip macro-average if calculation fails + + ax.set_xlim([0.0, 1.0]) + ax.set_ylim([0.0, 1.05]) + ax.set_xlabel('False Positive Rate', fontsize=10) + ax.set_ylabel('True Positive Rate', fontsize=10) + ax.set_title('Multi-class ROC Curves', fontweight='bold', fontsize=11) + + # Position legend to avoid overlap + ax.legend(loc="center left", bbox_to_anchor=(1, 0.5), fontsize=8) + ax.grid(True, alpha=0.3) + + # Adjust layout + self.roc_figure.subplots_adjust(left=0.15, bottom=0.15, right=0.75, top=0.9) + self.roc_canvas.draw() + + except Exception as e: + print(f"Error plotting ROC curve: {e}") + # Show error in ROC canvas + ax = self.roc_figure.add_subplot(111) + ax.text(0.5, 0.5, f'Error plotting ROC curve:\\n{str(e)}', + ha='center', va='center', transform=ax.transAxes, + fontsize=10, color='red') + ax.set_title("ROC Plot Error", fontweight='bold') + self.roc_canvas.draw() + + #ketika terjadi error pada halaman performa, tampilkan pesan error di semua area yang relevan + def show_error_perf(self, message): + # Show error in confusion matrix + ax1 = self.perf_figure.add_subplot(111) + ax1.text(0.5, 0.5, message, + ha='center', va='center', transform=ax1.transAxes, + fontsize=12, color='red') + ax1.set_title("Error", fontweight='bold') + self.perf_canvas.draw() + + # Show error in ROC curve + ax2 = self.roc_figure.add_subplot(111) + ax2.text(0.5, 0.5, message, + ha='center', va='center', transform=ax2.transAxes, + fontsize=12, color='red') + ax2.set_title("Error", fontweight='bold') + self.roc_canvas.draw() + + # Show error in all text areas + self.perf_report_text.setPlainText(f"Error: {message}") + self.perf_confusion_explanation.setText(f"Error: {message}") + self.perf_roc_explanation.setText(f"Error: {message}") + self.perf_class_explanation.setText(f"Error: {message}") + + def create_stat_card(self, title, value, color): + """Create a modern statistics card""" + card = QWidget() + card.setFixedHeight(110) + card.setStyleSheet(f""" + QWidget {{ + background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 {color}, stop:1 {self.darken_color(color)}); + border-radius: 10px; + }} + """) + + # Add shadow effect + shadow = QGraphicsDropShadowEffect() + shadow.setBlurRadius(12) + shadow.setXOffset(0) + shadow.setYOffset(4) + shadow.setColor(QColor(0, 0, 0, 25)) + card.setGraphicsEffect(shadow) + + layout = QVBoxLayout(card) + layout.setAlignment(Qt.AlignCenter) + layout.setContentsMargins(15, 15, 15, 15) + + value_label = QLabel(value) + value_label.setStyleSheet(""" + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 40px; + font-weight: bold; + color: white; + background: transparent; + """) + value_label.setAlignment(Qt.AlignCenter) + layout.addWidget(value_label) + + title_label = QLabel(title) + title_label.setStyleSheet(""" + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 18px; + color: rgba(255, 255, 255, 0.95); + background: transparent; + margin-top: -5px; + """) + title_label.setAlignment(Qt.AlignCenter) + layout.addWidget(title_label) + + return card + + def darken_color(self, hex_color): + """Darken a hex color by 15% for gradient effect""" + # Remove # if present + hex_color = hex_color.lstrip('#') + # Convert to RGB + r, g, b = tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4)) + # Darken by 15% + r = max(0, int(r * 0.85)) + g = max(0, int(g * 0.85)) + b = max(0, int(b * 0.85)) + # Convert back to hex + return f'#{r:02x}{g:02x}{b:02x}' + + # Update existing data + self.btn_update = QPushButton("✏️ Update") + self.btn_update.setStyleSheet(""" + background-color: #2196F3; + color: white; + padding: 10px 20px; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_update.clicked.connect(self.update_data) + self.btn_update.setToolTip("Mengupdate data yang dipilih dengan prediksi baru") + btn_row1_layout.addWidget(self.btn_update) + + # Clear form + self.btn_clear = QPushButton("🗑️ Clear Form") + self.btn_clear.setStyleSheet(""" + background-color: #607D8B; + color: white; + padding: 10px 20px; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_clear.clicked.connect(self.clear_form) + btn_row1_layout.addWidget(self.btn_clear) + + btn_container.addLayout(btn_row1_layout) + + # Add a small separator line between button rows + separator = QFrame() + separator.setFrameShape(QFrame.HLine) + separator.setFrameShadow(QFrame.Sunken) + separator.setStyleSheet("color: #cccccc; margin: 5px 0px;") + btn_container.addWidget(separator) + + # Label for secondary actions + secondary_label = QLabel("🔧 Manajemen Tabel & Analisis:") + secondary_label.setStyleSheet("font-weight: bold; color: #1565C0; margin: 2px 0px 2px 0px; font-size: 12px; font-family: 'Segoe UI', Arial, sans-serif;") + btn_container.addWidget(secondary_label) + + # Row 2: Table Management & Analysis Actions (Secondary Actions) + btn_row2_layout = QHBoxLayout() + + # Search data + self.btn_search = QPushButton("🔍 Search") + self.btn_search.setStyleSheet(""" + background-color: #9C27B0; + color: white; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_search.clicked.connect(self.search_data) + btn_row2_layout.addWidget(self.btn_search) + + # Delete selected data + self.btn_delete_new = QPushButton("🗂️ Delete") + self.btn_delete_new.setStyleSheet(""" + background-color: #FF9800; + color: white; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_delete_new.clicked.connect(self.delete_data) + btn_row2_layout.addWidget(self.btn_delete_new) + + # Refresh table + self.btn_refresh = QPushButton("🔄 Refresh Table") + self.btn_refresh.setStyleSheet(""" + background-color: #00BCD4; + color: white; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_refresh.clicked.connect(self.refresh_table) + btn_row2_layout.addWidget(self.btn_refresh) + + # Show performance report + self.btn_performance = QPushButton("📊 Performance") + self.btn_performance.setStyleSheet(""" + background-color: #FF5722; + color: white; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_performance.clicked.connect(self.show_performance) + btn_row2_layout.addWidget(self.btn_performance) + + # Export data to Excel + self.btn_export = QPushButton("📁 Export") + self.btn_export.setStyleSheet(""" + background-color: #4CAF50; + color: white; + padding: 10px 20px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + font-size: 14px; + border-radius: 5px; + margin: 2px; + """) + self.btn_export.clicked.connect(self.export_to_excel) + btn_row2_layout.addWidget(self.btn_export) + + btn_container.addLayout(btn_row2_layout) + layout.addLayout(btn_container) + + # Table Section + self.table = QTableWidget() + self.setup_table() + layout.addWidget(self.table) + + # Pagination Section + pagination_layout = QHBoxLayout() + pagination_layout.setAlignment(Qt.AlignCenter) + + # Previous button + self.btn_prev = QPushButton("◀ Previous") + self.btn_prev.setStyleSheet(""" + QPushButton { + background-color: #6c757d; + color: white; + padding: 8px 18px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + border-radius: 5px; + margin: 2px; + } + QPushButton:hover { + background-color: #5a6268; + } + QPushButton:disabled { + background-color: #cccccc; + color: #666666; + } + """) + self.btn_prev.clicked.connect(self.previous_page) + pagination_layout.addWidget(self.btn_prev) + + # Page info label + self.page_info_label = QLabel("Halaman 1 dari 1") + self.page_info_label.setStyleSheet(""" + QLabel { + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + padding: 8px 16px; + color: #495057; + } + """) + pagination_layout.addWidget(self.page_info_label) + + # Next button + self.btn_next = QPushButton("Next ▶") + self.btn_next.setStyleSheet(""" + QPushButton { + background-color: #6c757d; + color: white; + padding: 8px 16px; + font-family: 'Segoe UI', Arial, sans-serif; + font-weight: bold; + border-radius: 5px; + margin: 2px; + } + QPushButton:hover { + background-color: #5a6268; + } + QPushButton:disabled { + background-color: #cccccc; + color: #666666; + } + """) + self.btn_next.clicked.connect(self.next_page) + pagination_layout.addWidget(self.btn_next) + + # Items per page info + items_info_label = QLabel(f"Menampilkan {self.items_per_page} data per halaman") + items_info_label.setStyleSheet(""" + QLabel { + font-style: italic; + color: #6c757d; + padding: 8px 16px; + } + """) + pagination_layout.addWidget(items_info_label) + + layout.addLayout(pagination_layout) + + # Status bar + self.statusBar().showMessage('Ready') + + central_widget.setLayout(layout) + + # Load trained model if exists + try: + self.classifier.load_model(config.MODEL_PATH) + except: + # Train model with dummy data if no model exists + self.train_model_background() + + #struktur tabel data siswa + def setup_table(self): + columns = ['No', 'Nama Siswa', 'Informatika', 'Fisika', 'Kimia', 'Biologi', + 'BIG Lanjut', 'Ekonomi', 'MAT Lanjut', 'SEJ Lanjut', 'Sosiologi', + 'Geografi', 'Paket Prediksi', 'ID'] + + self.table.setColumnCount(len(columns)) + self.table.setHorizontalHeaderLabels(columns) + + # Make sure horizontal header is visible + self.table.horizontalHeader().setVisible(True) + + # Set header properties + header = self.table.horizontalHeader() + header.setDefaultSectionSize(100) + header.setMinimumSectionSize(50) + header.setSectionResizeMode(QHeaderView.Interactive) + header.setStretchLastSection(True) + header.setDefaultAlignment(Qt.AlignCenter) + + # Set header height + header.setMinimumHeight(55) + header.setMaximumHeight(55) + + # Hide the ID column + self.table.setColumnHidden(13, True) + + # Hide vertical header (row numbers) since we have our own No column + self.table.verticalHeader().setVisible(False) + + # Set column widths - lebih lebar untuk menampung text header + self.table.setColumnWidth(0, 60) # No + self.table.setColumnWidth(1, 250) # Nama Siswa - diperlebar + self.table.setColumnWidth(2, 130) # Informatika + self.table.setColumnWidth(3, 90) # Fisika + self.table.setColumnWidth(4, 90) # Kimia + self.table.setColumnWidth(5, 90) # Biologi + self.table.setColumnWidth(6, 120) # BIG Lanjut - diperlebar lagi + self.table.setColumnWidth(7, 100) # Ekonomi + self.table.setColumnWidth(8, 120) # MAT Lanjut - diperlebar lagi + self.table.setColumnWidth(9, 120) # SEJ Lanjut - diperlebar lagi + self.table.setColumnWidth(10, 100) # Sosiologi + self.table.setColumnWidth(11, 100) # Geografi + self.table.setColumnWidth(12, 150) # Paket Prediksi + + self.table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.table.setSelectionMode(QAbstractItemView.SingleSelection) + self.table.setFocusPolicy(Qt.NoFocus) + self.table.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel) + self.table.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel) + self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) + self.table.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) + + # Connect signals + self.table.cellClicked.connect(self.on_table_cell_clicked) + self.table.itemSelectionChanged.connect(self.on_table_selection_changed) + + # Table styling + self.table.setShowGrid(True) + self.table.setGridStyle(Qt.SolidLine) + self.table.setAlternatingRowColors(True) + + # Keep row height compact so 10 rows can fit in the available viewport. + row_height = 36 + self.table.verticalHeader().setDefaultSectionSize(row_height) + + # Set stylesheet for table with modern clean styling + self.table.setStyleSheet(""" + QTableWidget { + gridline-color: #e0e6ed; + background-color: white; + alternate-background-color: #f8fafc; + selection-background-color: #667eea; + selection-color: white; + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 18px; + border: 1px solid #e0e6ed; + border-radius: 8px; + } + QTableWidget::item { + padding: 14px 8px; + } + QTableWidget::item:selected { + background-color: #667eea; + color: white; + } + QTableWidget::item:hover { + background-color: #f1f5f9; + } + QTableWidget::item:focus { + outline: none; + border: none; + } + QHeaderView::section { + background-color: #f8fafc; + border: 0px; + border-right: 1px solid #e0e6ed; + border-bottom: 1px solid #e0e6ed; + padding: 14px 8px; + font-weight: bold; + font-size: 18px; + color: #2c3e50; + text-align: center; + } + QHeaderView::section:hover { + background-color: #e8ecf1; + } + """) + + # Keep table responsive on smaller screens while preserving enough rows. + header_height = 55 + table_min_height = header_height + (4 * row_height) + 8 + self.table.setMinimumHeight(table_min_height) + self.table.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + + def format_nilai(self, nilai): + """ + Format nilai untuk tampilan di tabel. + Menghilangkan trailing zeros, tetapi tetap mempertahankan dua digit + jika memang ada nilai desimal. + Contoh: 94.50 -> 94.50 ; 77.00 -> 77 ; 80.0 -> 80 + """ + try: + # Convert to float first + if isinstance(nilai, str): + nilai = float(nilai.replace(',', '.')) + else: + nilai = float(nilai) + + # Format: jika bulat tampilkan tanpa desimal, jika desimal hapus trailing zero + if nilai == int(nilai): + return str(int(nilai)) + else: + # Format with two decimals then strip trailing zero if present + formatted = f"{nilai:.2f}".rstrip('0').rstrip('.') + return formatted + except (ValueError, TypeError): + return str(nilai) + + #untuk load data ke tabel + def load_table_data(self): + try: + # Disconnect signals to prevent conflicts + self.table.itemSelectionChanged.disconnect() + + # Set flag to prevent selection change handling during load + self.loading_data = True + + # Load all data from database + self.all_data = ambil_semua_hasil_prediksi() + self.total_items = len(self.all_data) + + # print(f"Loading {self.total_items} total rows of data") + + # Display current page + self.display_current_page() + + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal memuat data:\n{str(e)}', 'OK') + # Debug: print(f"Error loading table data: {str(e)}") + finally: + # Always reset the flag and reconnect signals + self.loading_data = False + # Reconnect the signal + self.table.itemSelectionChanged.connect(self.on_table_selection_changed) + + def show_table_empty_message(self, message): + """Show a centered message inside table when there is no data to display.""" + self.table.clearContents() + self.table.clearSpans() + self.table.setSelectionMode(QAbstractItemView.NoSelection) + self.table.setRowCount(1) + + # Keep the hidden ID column (index 13) excluded from span. + visible_columns = max(1, self.table.columnCount() - 1) + self.table.setSpan(0, 0, 1, visible_columns) + + message_item = QTableWidgetItem(message) + message_item.setTextAlignment(Qt.AlignCenter) + message_item.setFlags(Qt.ItemIsEnabled) + + font = message_item.font() + font.setPointSize(12) + font.setItalic(True) + message_item.setFont(font) + message_item.setForeground(QBrush(QColor("#64748b"))) + + self.table.setItem(0, 0, message_item) + self.table.setRowHeight(0, 55) + + #menampilkan data sesuai halaman yang dipilih + def display_current_page(self): + try: + total_pages = max(1, (self.total_items + self.items_per_page - 1) // self.items_per_page) + if self.current_page > total_pages: + self.current_page = total_pages + + # Calculate pagination + start_index = (self.current_page - 1) * self.items_per_page + end_index = start_index + self.items_per_page + current_page_data = self.all_data[start_index:end_index] + + if not current_page_data: + search_text = self.search_input.text().strip() if hasattr(self, 'search_input') else "" + empty_message = "Data tidak ditemukan" if search_text else "Belum ada data siswa" + self.show_table_empty_message(empty_message) + self.update_pagination_controls() + + self.current_selected_id = None + self.table.clearSelection() + + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(False) + self.btn_update.setToolTip("Pilih data terlebih dahulu untuk mengupdate") + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + return + + self.table.setSelectionMode(QAbstractItemView.SingleSelection) + self.table.clearContents() + self.table.clearSpans() + + # Set table row count + self.table.setRowCount(len(current_page_data)) + + # Populate table with current page data + for row, item in enumerate(current_page_data): + # Calculate correct row number (continuous across pages) + actual_row_number = start_index + row + 1 + + # Create table items with proper alignment + no_item = QTableWidgetItem(str(actual_row_number)) + no_item.setTextAlignment(Qt.AlignCenter) + self.table.setItem(row, 0, no_item) + + nama_item = QTableWidgetItem(str(item.get('nama_siswa', ''))) + nama_item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) + self.table.setItem(row, 1, nama_item) + + # Mata pelajaran scores + for col, field in enumerate(['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', + 'nilai_sej_lanjut', 'nilai_sosiologi', 'nilai_geografi'], start=2): + # Format nilai tanpa trailing zeros + nilai_raw = item.get(field, 0) + nilai_formatted = self.format_nilai(nilai_raw) + score_item = QTableWidgetItem(nilai_formatted) + score_item.setTextAlignment(Qt.AlignCenter) + self.table.setItem(row, col, score_item) + + # Paket Prediksi + paket_item = QTableWidgetItem(str(item.get('paket_prediksi', ''))) + paket_item.setTextAlignment(Qt.AlignCenter) + self.table.setItem(row, 12, paket_item) + + # Hidden ID column + id_item = QTableWidgetItem(str(item.get('id', ''))) + self.table.setItem(row, 13, id_item) + + # Set row height consistently with default section size. + self.table.setRowHeight(row, 36) + + # Update pagination controls + self.update_pagination_controls() + + # Clear selection + self.current_selected_id = None + self.table.clearSelection() + + # Disable edit and preview buttons when no selection + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + + # print(f"Displayed page {self.current_page} with {len(current_page_data)} items") + + except Exception as e: + # print(f"Error displaying current page: {str(e)}") + pass + + #untuk update tombol pagination dan label halaman + def update_pagination_controls(self): + total_pages = max(1, (self.total_items + self.items_per_page - 1) // self.items_per_page) + + # Update page info label + self.page_label.setText(f"Halaman {self.current_page} dari {total_pages}") + + # Update button states + self.btn_prev.setEnabled(self.current_page > 1) + self.btn_next.setEnabled(self.current_page < total_pages) + + if self.total_items == 0: + self.statusBar().showMessage('Tidak ada data untuk ditampilkan') + return + + # Update status bar + start_item = (self.current_page - 1) * self.items_per_page + 1 + end_item = min(self.current_page * self.items_per_page, self.total_items) + self.statusBar().showMessage(f'Menampilkan {start_item}-{end_item} dari {self.total_items} data') + + #button pagination previous dan next + def previous_page(self): + if self.current_page > 1: + self.current_page -= 1 + self.display_current_page() + + def next_page(self): + total_pages = max(1, (self.total_items + self.items_per_page - 1) // self.items_per_page) + if self.current_page < total_pages: + self.current_page += 1 + self.display_current_page() + + def debug_table_contents(self, context=""): + """Debug function - disabled for production""" + # Uncomment below for debugging + pass + # print(f"=== DEBUG TABLE CONTENTS ({context}) ===") + # print(f"Table row count: {self.table.rowCount()}") + # print(f"Table column count: {self.table.columnCount()}") + # for row in range(min(3, self.table.rowCount())): + # row_data = [] + # for col in range(self.table.columnCount()): + # item = self.table.item(row, col) + # if item: + # row_data.append(f"Col{col}:'{item.text()}'") + # else: + # row_data.append(f"Col{col}:None") + # print(f"Row {row}: {', '.join(row_data)}") + # print("=== END DEBUG ===") + + #untuk menangani perubahan seleksi pada tabel + def on_table_selection_changed(self): + # Prevent recursion when loading data + if self.loading_data: + # print("Loading data in progress, skipping selection change") + return + + # Debug table contents before processing + self.debug_table_contents("before selection change") + + current_row = self.table.currentRow() + # print(f"Selection changed - Current row: {current_row}") + # print(f"Table row count: {self.table.rowCount()}") + + # Check if table has valid data + if self.table.rowCount() == 0: + # print("Table is empty, clearing form") + self.clear_form() + self.current_selected_id = None + return + + # Only process if a valid row is selected + if current_row >= 0 and current_row < self.table.rowCount(): + # Set flag to prevent recursion + self.loading_data = True + + try: + # First check if the row has valid data (nama siswa di kolom 1) + nama_item = self.table.item(current_row, 1) + if nama_item is None or not nama_item.text().strip(): + # print(f"Row {current_row} has no name data, keeping current form state") + self.loading_data = False # Reset flag before returning + return + + # print(f"Loading data from valid row {current_row}") + + # Clear current selection ID first + self.current_selected_id = None + + # Don't load data to form here - only when Edit button is clicked + # self.load_selected_data_to_form(current_row) + + # Get the ID (sekarang di kolom 13) + id_item = self.table.item(current_row, 13) # Use hidden ID column + print(f"ID item for row {current_row}: {id_item}") + + if id_item is not None and id_item.text().strip(): + self.current_selected_id = id_item.text().strip() + print(f"Successfully selected ID: {self.current_selected_id}") + self.statusBar().showMessage(f'Data dipilih: {self.current_selected_id}') + # Enable Edit, Preview, and Update buttons when data is selected + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(True) + self.btn_edit.setToolTip("Klik untuk mengedit data yang dipilih") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(True) + self.btn_preview.setToolTip("Klik untuk melihat preview prediksi data yang dipilih") + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(True) + self.btn_update.setToolTip("Klik untuk mengupdate data yang dipilih dengan prediksi baru") + # Keep predict button enabled when data is selected (not in edit mode yet) + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + else: + print(f"No valid ID found for row {current_row}") + self.statusBar().showMessage('Data dipilih tanpa ID') + # Disable Edit, Preview, and Update buttons if no valid ID + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(False) + + except Exception as e: + print(f"Error in selection changed: {str(e)}") + self.statusBar().showMessage(f'Error: {str(e)}') + self.debug_table_contents("after error") + finally: + # Always reset the flag + self.loading_data = False + else: + # Only clear form if explicitly no selection (current_row == -1) + if current_row == -1: + print("No row selected, clearing form") + self.clear_form() + self.current_selected_id = None + self.statusBar().showMessage('Tidak ada data yang dipilih') + # Disable Edit, Preview, and Update buttons when no selection + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(False) + self.btn_update.setToolTip("Pilih data terlebih dahulu untuk mengupdate") + # Enable predict button when no selection (create mode) + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + else: + print(f"Invalid row {current_row}, keeping current form state") + + # Debug table contents after processing + self.debug_table_contents("after selection change") + + #untuk load data yang dipilih ke form untuk diedit + def load_selected_data_to_form(self, row, edit_mode=False): + """Load selected row data to form for editing""" + try: + self.loading_data = True + # Check if row is valid + if row < 0 or row >= self.table.rowCount(): + print(f"Invalid row: {row}") + return + + print(f"Loading data from row {row}, edit_mode: {edit_mode}") + + # Fill nama siswa (kolom index 1, karena index 0 adalah kolom No) + nama_item = self.table.item(row, 1) + if nama_item and nama_item.text(): + nama = nama_item.text().strip() + self.nama_input.setText(nama) + print(f"Nama yang dimuat: {nama}") # Logging tambahan + else: + print("Nama item is None or empty") + self.nama_input.clear() + + # Fill nilai mata pelajaran (mulai dari kolom index 2) + # Fill into nilai_table semester values and auto-calculate rata-rata + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for i, key in enumerate(subject_keys): + col_index = i + 2 # Mulai dari kolom 2 (karena 0=No, 1=Nama) + value_item = self.table.item(row, col_index) + if value_item and value_item.text().strip(): + try: + # Parse nilai + value = self.parse_float_value(value_item.text().strip()) + + # Check if database has semester 1 and 2 values + # Get the data dict from current selected row in all_data + if hasattr(self, 'all_data') and len(self.all_data) > 0: + # Find the current data in all_data + current_data = None + current_page_start = (self.current_page - 1) * self.items_per_page + page_row_index = current_page_start + row + if page_row_index < len(self.all_data): + current_data = self.all_data[page_row_index] + + if current_data: + # Try to get semester 1 and 2 values from database + sem1_key = f'{key}_sem1' + sem2_key = f'{key}_sem2' + sem1_value = current_data.get(sem1_key) + sem2_value = current_data.get(sem2_key) + + sem1_item = self.nilai_table.item(i, 1) + sem2_item = self.nilai_table.item(i, 2) + + # Fill semester 1 dan 2 secara sinkron ke item dan editor + if sem1_item: + if sem1_value is not None and sem1_value != '': + sem1_text = self.format_nilai(sem1_value) + else: + sem1_text = "" + self._set_nilai_cell_text(i, 1, sem1_text) + print(f"Loaded {key} semester 1: {sem1_value}") + + if sem2_item: + if sem2_value is not None and sem2_value != '': + sem2_text = self.format_nilai(sem2_value) + else: + sem2_text = "" + self._set_nilai_cell_text(i, 2, sem2_text) + print(f"Loaded {key} semester 2: {sem2_value}") + + self._calculate_nilai_rata_row(i) + except Exception as err: + print(f"Error converting {key} value: {value_item.text()} - {err}") + else: + print(f"Empty or None value for {key}") + + print(f"Successfully loaded data from row {row}") + self.statusBar().showMessage('Data berhasil dimuat ke form untuk diedit') + + if edit_mode: + self.original_edit_data = self._get_current_form_snapshot() + + # Enable edit and preview buttons when data is loaded + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(True) + self.btn_edit.setToolTip("Mengedit data yang dipilih") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(True) + self.btn_preview.setToolTip("Melihat preview prediksi untuk data yang dipilih") + + # Only disable predict button when explicitly in edit mode + if edit_mode and hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(False) + self.btn_predict.setToolTip("Gunakan tombol Update untuk memperbarui data yang dipilih") + elif hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + + self.loading_data = False + except Exception as e: + self.loading_data = False + print(f"Error loading data to form: {str(e)}") + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal memuat data ke form:\n{str(e)}', 'OK') + + def add_data(self): + """Add new student data""" + if not self.validate_form(): + return + + try: + nama = self.nama_input.text().strip() + + # Extract nilai dari tabel (simpan semester 1, semester 2, dan rata-rata) + nilai_dict = {} + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(min(len(subject_keys), self.nilai_table.rowCount())): + key = subject_keys[row] + # Get semester 1 (kolom 1) + sem1_item = self.nilai_table.item(row, 1) + sem1_value = self.parse_float_value(sem1_item.text()) if sem1_item else 0 + + # Get semester 2 (kolom 2) + sem2_item = self.nilai_table.item(row, 2) + sem2_value = self.parse_float_value(sem2_item.text()) if sem2_item else 0 + + # Get rata-rata (kolom 3) + rata_item = self.nilai_table.item(row, 3) + rata_value = self.parse_float_value(rata_item.text()) if rata_item else 0 + + # Store all three values + nilai_dict[f'{key}_sem1'] = sem1_value + nilai_dict[f'{key}_sem2'] = sem2_value + nilai_dict[key] = rata_value + + # Predict paket (using rata-rata values) + prediction_dict = {key: nilai_dict[key] for key in subject_keys if key in nilai_dict} + if self.classifier.is_trained: + prediction, _ = self.classifier.predict(prediction_dict) + else: + prediction = 1 # Default + + simpan_hasil_prediksi(nama, nilai_dict, prediction) + self.load_table_data() + self.clear_form() + CustomNotificationDialog.show_success(self, 'Berhasil!', 'Data berhasil ditambahkan!', 'OK') + self.statusBar().showMessage('Data berhasil ditambahkan') + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal menambah data:\n{str(e)}', 'OK') + + #Fungsi Update Data dengan Prediksi Baru + def update_data(self): + if not self.current_selected_id: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Pilih data yang akan diupdate!', 'OK') + return + + if not self.validate_form(): + return + + if self.edit_mode and not self._has_form_changes(): + CustomNotificationDialog.show_warning( + self, + 'Tidak Ada Perubahan', + 'Data belum diubah. Silakan lakukan perubahan terlebih dahulu sebelum update.', + 'OK' + ) + return + + if not self.classifier.is_trained: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Model belum dilatih!\nLatih model terlebih dahulu.', 'OK') + return + + try: + # Get form data + nama = self.nama_input.text().strip() + + # Extract nilai dari tabel (simpan semester 1, semester 2, dan rata-rata) + nilai_dict = {} + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(min(len(subject_keys), self.nilai_table.rowCount())): + key = subject_keys[row] + # Get semester 1 (kolom 1) + sem1_item = self.nilai_table.item(row, 1) + sem1_value = self.parse_float_value(sem1_item.text()) if sem1_item else 0 + + # Get semester 2 (kolom 2) + sem2_item = self.nilai_table.item(row, 2) + sem2_value = self.parse_float_value(sem2_item.text()) if sem2_item else 0 + + # Get rata-rata (kolom 3) + rata_item = self.nilai_table.item(row, 3) + rata_value = self.parse_float_value(rata_item.text()) if rata_item else 0 + + # Store all three values + nilai_dict[f'{key}_sem1'] = sem1_value + nilai_dict[f'{key}_sem2'] = sem2_value + nilai_dict[key] = rata_value + + # Make new prediction with updated values (using rata-rata) + prediction_dict = {key: nilai_dict[key] for key in subject_keys if key in nilai_dict} + prediction, top_3 = self.classifier.predict(prediction_dict) + + # Show updated prediction result + paket_info = self.data_processor.get_paket_info(prediction) + kelas_info = f" ({paket_info.get('kelas_tersedia', 1)} kelas tersedia)" + + result_text = f"Prediksi Ulang untuk {nama}:\n\n" + result_text += f"Paket Terpilih: {prediction}\n" + result_text += f"Detail: {paket_info.get('nama', 'Unknown')}{kelas_info}\n" + result_text += "\nData akan diupdate dengan hasil prediksi terbaru." + + # Show prediction result + reply = CustomNotificationDialog.show_question(self, "Konfirmasi Update", + result_text + "\n\nLanjutkan update?", + "Ya, Update", "Batal") + + if reply: + # Update data with new prediction + update_hasil_prediksi(self.current_selected_id, nama, nilai_dict, prediction) + + # Refresh table and clear form + self.load_table_data() + self.clear_form() + + # Show success message + CustomNotificationDialog.show_success(self, 'Berhasil!', 'Data berhasil diupdate dengan prediksi terbaru!', 'OK') + self.statusBar().showMessage('Data berhasil diupdate dengan prediksi terbaru') + + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal mengupdate data:\n{str(e)}', 'OK') + + def hapus_data(self): + """Hapus data yang dipilih dari tabel""" + if not self.current_selected_id: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Pilih data yang akan dihapus!', 'OK') + return + + reply = CustomNotificationDialog.show_question(self, 'Konfirmasi Hapus', + 'Apakah Anda yakin ingin menghapus data ini?', + 'Ya, Hapus', 'Batal') + if reply: + try: + hapus_hasil_prediksi(self.current_selected_id) + self.load_table_data() + self.clear_form() + CustomNotificationDialog.show_success(self, 'Berhasil!', 'Data berhasil dihapus!', 'OK') + self.statusBar().showMessage('Data berhasil dihapus') + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal menghapus data:\n{str(e)}', 'OK') + + def search_data(self): + """Search data by name and update table to show only matching results""" + search_text, ok = QInputDialog.getText(self, 'Search', 'Masukkan nama siswa:') + if ok and search_text.strip(): + try: + # Set loading flag to prevent selection events during search + self.loading_data = True + + # Get all data and filter + all_data = ambil_semua_hasil_prediksi() + filtered_data = [item for item in all_data if search_text.lower() in item['nama_siswa'].lower()] + + print(f"Search found {len(filtered_data)} results") + + # Update pagination data with filtered results + self.all_data = filtered_data + self.total_items = len(filtered_data) + self.current_page = 1 # Reset to first page + + # Display current page + self.display_current_page() + + if not filtered_data: + CustomNotificationDialog.show_warning(self, 'Tidak Ditemukan', 'Data tidak ditemukan!\nCoba dengan kata kunci lain.', 'OK') + # Reset to all data if no results found + self.load_table_data() + else: + print(f"Search completed successfully - showing {len(filtered_data)} results") + + except Exception as e: + print(f"Error in search_data: {str(e)}") + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal mencari data:\n{str(e)}', 'OK') + finally: + # Reset loading flag + self.loading_data = False + elif ok and not search_text.strip(): + # If empty search, reload all data + self.load_table_data() + + #pencarian data berdasarkan nama + def search_by_name(self): + search_text = self.search_input.text().strip() + + try: + # untuk mencegah diklik berkali-kali saat loading data + self.loading_data = True + + # Ambil semua data dari database + all_data = ambil_semua_hasil_prediksi() + + if search_text: + # Filter data berdasarkan nama siswa + filtered_data = [item for item in all_data if search_text.lower() in item['nama_siswa'].lower()] + print(f"Search by name found {len(filtered_data)} results for '{search_text}'") + else: + # Jika search kosong, tampilkan semua data + filtered_data = all_data + + # Update data untuk pagination + self.all_data = filtered_data + self.total_items = len(filtered_data) + self.current_page = 1 # Reset ke halaman pertama + + # Display current page + self.display_current_page() + self.update_pagination_controls() + + # Update info label + if search_text: + self.info_label.setText(f"Menampilkan {len(filtered_data)} hasil pencarian untuk '{search_text}'") + else: + self.info_label.setText(f"Menampilkan semua data ({len(filtered_data)} total)") + + except Exception as e: + print(f"Error in search_by_name: {str(e)}") + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal mencari data:\n{str(e)}', 'OK') + finally: + # Reset loading flag + self.loading_data = False + + #menghapus hasil pencarian dan menampilkan semua data kembali + def clear_search(self): + self.search_input.clear() + self.load_table_data() + self.info_label.setText("") + + def clear_form(self, show_empty_notification=False): + """Clear all form inputs""" + form_has_data = False + if hasattr(self, 'nama_input') and self.nama_input.text().strip(): + form_has_data = True + elif hasattr(self, 'nilai_table'): + for row in range(self.nilai_table.rowCount()): + sem1_item = self.nilai_table.item(row, 1) + sem2_item = self.nilai_table.item(row, 2) + if (sem1_item and sem1_item.text().strip()) or (sem2_item and sem2_item.text().strip()): + form_has_data = True + break + + if show_empty_notification and not form_has_data: + CustomNotificationDialog.show_warning(self, 'Info', 'Tidak ada data dalam form.', 'OK') + return + + # Set loading flag to prevent recursion + self.loading_data = True + + # Clear table selection first to prevent on_table_selection_changed from being called + if hasattr(self, 'table'): + self.table.clearSelection() + + self.nama_input.clear() + + # Clear nilai table + if hasattr(self, 'nilai_table'): + for row in range(self.nilai_table.rowCount()): + sem1_item = self.nilai_table.item(row, 1) + sem2_item = self.nilai_table.item(row, 2) + rata_item = self.nilai_table.item(row, 3) + + if sem1_item: + self._set_nilai_cell_text(row, 1, '') + if sem2_item: + self._set_nilai_cell_text(row, 2, '') + if rata_item: + rata_item.setText('otomatis') + rata_item.setForeground(QColor('#94a3b8')) + + self.current_selected_id = None + self.edit_mode = False # Reset edit mode when clearing form + self.original_edit_data = None + + # Disable edit and preview buttons when form is cleared + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(False) + self.btn_update.setToolTip("Pilih data terlebih dahulu untuk mengupdate") + + # Enable predict button when form is cleared (create mode) + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(True) + self.btn_predict.setToolTip("Memprediksi dan menyimpan sebagai data baru") + + # Reset loading flag + self.loading_data = False + + #mengahapus data terpilih dari database + def delete_data(self): + if not self.current_selected_id: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Pilih data yang akan dihapus!', 'OK') + return + + reply = CustomNotificationDialog.show_question(self, 'Konfirmasi Hapus', + 'Apakah Anda yakin ingin menghapus data ini?', + 'Ya, Hapus', 'Batal') + if reply: + try: + hapus_hasil_prediksi(self.current_selected_id) + self.load_table_data() + self.clear_form() + CustomNotificationDialog.show_success(self, 'Berhasil!', 'Data berhasil dihapus!', 'OK') + self.statusBar().showMessage('Data berhasil dihapus') + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal menghapus data:\n{str(e)}', 'OK') + + #fungsi edit data + def edit_selected_data(self): + """Edit selected data by switching to Input tab with data loaded""" + print(f"Edit button clicked. Current selected ID: {self.current_selected_id}") + + if not self.current_selected_id: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Pilih data yang akan diedit!', 'OK') + return + + try: + # Set edit mode flag BEFORE switching tab + self.edit_mode = True + print(f"Edit mode set to: {self.edit_mode}") + + # Load data to form from the selected row + selected_rows = self.table.selectedIndexes() + print(f"Selected rows count: {len(selected_rows)}") + + if selected_rows: + current_row = selected_rows[0].row() + print(f"Loading data from row: {current_row}") + self.load_selected_data_to_form(current_row, edit_mode=True) + else: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Tidak ada baris yang dipilih!', 'OK') + self.edit_mode = False + return + + # Switch to Input Data tab (index 0) + print("Switching to Input tab...") + self.switch_tab(0) + + # Update status to indicate edit mode + self.statusBar().showMessage(f'Mode Edit - Data ID {self.current_selected_id} dimuat untuk diedit') + + # Ensure predict button is disabled in edit mode + if hasattr(self, 'btn_predict'): + self.btn_predict.setEnabled(False) + self.btn_predict.setToolTip("Gunakan tombol Update untuk memperbarui data yang dipilih") + + # Enable update button in edit mode + if hasattr(self, 'btn_update'): + self.btn_update.setEnabled(True) + self.btn_update.setToolTip("Klik untuk update data dengan prediksi baru") + + print("Data loaded successfully, showing info dialog...") + # Show info message - now using custom notification + message = "Data telah dimuat ke form untuk diedit.\n\n" + message += "Silakan ubah nilai yang diperlukan, kemudian:\n" + message += "• Klik 'Update' untuk menyimpan perubahan dengan prediksi baru\n" + message += "• Atau klik 'Clear Form' untuk kembali ke mode input baru" + CustomNotificationDialog.show_success(self, "Mode Edit", message, "OK") + + except Exception as e: + print(f"Error in edit_selected_data: {str(e)}") + import traceback + traceback.print_exc() + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal memuat data untuk edit:\n{str(e)}', 'OK') + self.edit_mode = False + + #Fungsi Utama untuk Prediksi dan Validasi Simpan/Batal + def predict_and_save_data(self): + """Predict and show confirmation dialog before saving""" + if not self.validate_form(): + return + + if not self.classifier.is_trained: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Model belum dilatih!\nLatih model terlebih dahulu.', 'OK') + return + + try: + # mengambil nama siswa dari form input + nama = self.nama_input.text().strip() + + # Extract nilai dari tabel (simpan semester 1, semester 2, dan rata-rata) + nilai_dict = {} + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(min(len(subject_keys), self.nilai_table.rowCount())): + key = subject_keys[row] + # menyimpan nilai semester 1 (kolom 1) + sem1_item = self.nilai_table.item(row, 1) + sem1_value = self.parse_float_value(sem1_item.text()) if sem1_item else 0 + + # menyimpan nilai semester 2 (kolom 2) + sem2_item = self.nilai_table.item(row, 2) + sem2_value = self.parse_float_value(sem2_item.text()) if sem2_item else 0 + + # menyimpan rata-rata (kolom 3) + rata_item = self.nilai_table.item(row, 3) + rata_value = self.parse_float_value(rata_item.text()) if rata_item else 0 + + # untuk prediksi, kita akan menggunakan nilai rata-rata (kolom 3), tapi kita juga menyimpan semester 1 dan 2 untuk referensi di database + nilai_dict[f'{key}_sem1'] = sem1_value + nilai_dict[f'{key}_sem2'] = sem2_value + nilai_dict[key] = rata_value + + # membuat prediksi dengan nilai rata-rata (kolom 3) untuk setiap mata pelajaran + prediction_dict = {key: nilai_dict[key] for key in subject_keys if key in nilai_dict} + prediction, top_3 = self.classifier.predict(prediction_dict) #menghasilkan jurusan + + # melihat hasil prediksi dengan informasi paket dan kelas yang tersedia + paket_info = self.data_processor.get_paket_info(prediction) + + # untuk menampilkan hasil prediksi dengan opsi simpan atau batal, gunakan custom notification dialog + from gui.custom_notifications import CustomPredictionDialog + save_result = CustomPredictionDialog.show_prediction(self, nama, prediction, paket_info) + + # Hasil dari dialog akan menentukan apakah kita menyimpan data baru dengan prediksi atau membatalkan dan tetap di form input + if save_result: + # untuk menyimpan hasil prediksi sebagai data baru, kita akan menggunakan fungsi simpan_hasil_prediksi dari database handler + simpan_hasil_prediksi(nama, nilai_dict, prediction) + success_msg = "Data berhasil diprediksi dan disimpan sebagai data baru!" + status_msg = 'Data berhasil disimpan sebagai data baru' + + # Refresh table and clear form + self.load_table_data() + self.clear_form() + + # Show success message + CustomNotificationDialog.show_success(self, 'Berhasil!', success_msg, 'OK') + self.statusBar().showMessage(status_msg) + else: + # Cancel - do nothing, stay on input form + self.statusBar().showMessage('Prediksi dibatalkan') + + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal melakukan prediksi:\n{str(e)}', 'OK') + + #Fungsi Preview Prediksi + def preview_prediction(self): + """Preview prediction with option to save - works from both form input and selected table data""" + if not self.classifier.is_trained: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Model belum dilatih!\nLatih model terlebih dahulu.', 'OK') + return + + try: + # Check if we're working with selected data from table or form input + if hasattr(self, 'current_selected_id') and self.current_selected_id: + # Working with selected data from table + current_row = self.table.currentRow() + if current_row < 0: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Pilih data dari tabel terlebih dahulu!', 'OK') + return + + # Get data from table + nama = self.table.item(current_row, 1).text() # Nama siswa di kolom 1 + + # Get values from table (columns 2-11 untuk mata pelajaran) + # Use parse_float_value to support comma and dot format + nilai_dict = { + 'nilai_informatika': self.parse_float_value(self.table.item(current_row, 2).text()), + 'nilai_fisika': self.parse_float_value(self.table.item(current_row, 3).text()), + 'nilai_kimia': self.parse_float_value(self.table.item(current_row, 4).text()), + 'nilai_biologi': self.parse_float_value(self.table.item(current_row, 5).text()), + 'nilai_big_lanjut': self.parse_float_value(self.table.item(current_row, 6).text()), + 'nilai_ekonomi': self.parse_float_value(self.table.item(current_row, 7).text()), + 'nilai_mat_lanjut': self.parse_float_value(self.table.item(current_row, 8).text()), + 'nilai_sej_lanjut': self.parse_float_value(self.table.item(current_row, 9).text()), + 'nilai_sosiologi': self.parse_float_value(self.table.item(current_row, 10).text()), + 'nilai_geografi': self.parse_float_value(self.table.item(current_row, 11).text()) + } + + source_text = "dari data tabel yang dipilih" + else: + # Working with form input + if not self.validate_form(): + return + + # Get form data + nama = self.nama_input.text().strip() + + # Extract nilai dari tabel (simpan semester 1, semester 2, dan rata-rata) + nilai_dict = {} + subject_keys = [ + 'nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(min(len(subject_keys), self.nilai_table.rowCount())): + key = subject_keys[row] + # Get rata-rata (kolom 3) for prediction + rata_item = self.nilai_table.item(row, 3) + if rata_item: + nilai_dict[key] = self.parse_float_value(rata_item.text()) + + source_text = "dari form input" + + # Make prediction + prediction, top_3 = self.classifier.predict(nilai_dict) + + # Show prediction result + paket_info = self.data_processor.get_paket_info(prediction) + + result_text = f"Preview Prediksi untuk {nama} ({source_text}):\n\n" + result_text += f"Paket Terpilih: {prediction}\n" + result_text += f"Detail: {paket_info.get('nama', 'Unknown')}" + + # Show preview with custom notification + CustomNotificationDialog.show_success(self, "Preview Prediksi", result_text, "OK") + + # Just preview, don't save + self.statusBar().showMessage('Preview selesai - data tidak disimpan') + + except Exception as e: + import traceback + traceback.print_exc() + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal melakukan preview prediksi:\n{str(e)}', 'OK') + + def show_performance(self): + """Show performance report preview""" + if not self.classifier.is_trained: + # Train model first + self.train_model_background() + + # Show performance report dialog + dialog = PerformanceDialog(self.classifier, self) + dialog.exec_() + + #Fungsi Validasi Form + def validate_form(self): + """Validate form inputs with enhanced validation""" + nama = self.nama_input.text().strip() + + # Validasi nama siswa tidak boleh kosong + if not nama: + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa harus diisi!', 'OK') + self.nama_input.setFocus() + return False + + # Validasi nama siswa hanya boleh huruf, spasi, titik, tanda petik, dan tanda hubung + import re + if not re.match(r"^[a-zA-ZÀ-ÿ][a-zA-ZÀ-ÿ\s\.\-']*$", nama): + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa hanya boleh berisi huruf, spasi, titik, tanda petik, dan tanda hubung!', 'OK') + self.nama_input.setFocus() + return False + + # Validasi panjang nama minimal 2 karakter dan maksimal 50 + if len(nama) < 2: + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa minimal 2 karakter!', 'OK') + self.nama_input.setFocus() + return False + + if len(nama) > 50: + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa maksimal 50 karakter!', 'OK') + self.nama_input.setFocus() + return False + + # Validasi nama tidak boleh hanya spasi + if nama.isspace(): + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa tidak boleh hanya berisi spasi!', 'OK') + self.nama_input.setFocus() + return False + + # Validasi tidak boleh ada spasi berturut-turut + if ' ' in nama: + CustomNotificationDialog.show_warning(self, 'Validation', 'Nama siswa tidak boleh mengandung spasi berturut-turut!', 'OK') + self.nama_input.setFocus() + return False + + # Validasi WAJIB: Semua nilai mata pelajaran harus diisi (kedua semester atau salah satu) + empty_subjects = [] + subject_names = [ + 'Informatika', 'Fisika', 'Kimia', 'Biologi', 'BIG Lanjut', + 'Ekonomi', 'MAT Lanjut', 'SEJ Lanjut', 'Sosiologi', 'Geografi' + ] + + if hasattr(self, 'nilai_table'): + for row in range(self.nilai_table.rowCount()): + sem1_item = self.nilai_table.item(row, 1) + sem2_item = self.nilai_table.item(row, 2) + mapel = subject_names[row] if row < len(subject_names) else f"Subject {row}" + + sem1_text = sem1_item.text().strip() if sem1_item else "" + sem2_text = sem2_item.text().strip() if sem2_item else "" + + # Cek input kosong (kedua semester belum diisi) + if sem1_text == "" and sem2_text == "": + empty_subjects.append(mapel) + + # Jika ada mata pelajaran yang belum diisi + if empty_subjects: + if len(empty_subjects) == 1: + CustomNotificationDialog.show_warning(self, 'Validasi Input', + f"Nilai {empty_subjects[0]} harus diisi minimal satu semester!\n\n" + f"Isi minimal Semester 1 atau Semester 2 untuk setiap mata pelajaran.", + 'OK') + else: + subjects_text = ", ".join(empty_subjects[:-1]) + f" dan {empty_subjects[-1]}" + CustomNotificationDialog.show_warning(self, 'Validasi Input', + f"Nilai {subjects_text} harus diisi!\n\n" + f"Isi minimal Semester 1 atau Semester 2 untuk setiap mata pelajaran.", + 'OK') + return False + + # Validasi nilai mata pelajaran dengan range yang tepat + if hasattr(self, 'nilai_table'): + for row in range(self.nilai_table.rowCount()): + sem1_item = self.nilai_table.item(row, 1) + sem2_item = self.nilai_table.item(row, 2) + mapel = subject_names[row] if row < len(subject_names) else f"Subject {row}" + + sem1_text = sem1_item.text().strip() if sem1_item else "" + sem2_text = sem2_item.text().strip() if sem2_item else "" + + if not self._is_valid_score_text(sem1_text): + CustomNotificationDialog.show_warning(self, 'Validation', f'Nilai {mapel} Semester 1 harus berupa angka 0-100!', 'OK') + return False + if not self._is_valid_score_text(sem2_text): + CustomNotificationDialog.show_warning(self, 'Validation', f'Nilai {mapel} Semester 2 harus berupa angka 0-100!', 'OK') + return False + + sem1_value = self.parse_float_value(sem1_text) + sem2_value = self.parse_float_value(sem2_text) + + # Validasi nilai dalam range 0-100 (jika diisi) + if sem1_text and (sem1_value < 0 or sem1_value > 100): + CustomNotificationDialog.show_warning(self, 'Validation', f'Nilai {mapel} Semester 1 harus antara 0-100!', 'OK') + return False + if sem2_text and (sem2_value < 0 or sem2_value > 100): + CustomNotificationDialog.show_warning(self, 'Validation', f'Nilai {mapel} Semester 2 harus antara 0-100!', 'OK') + return False + + # Validasi rata-rata nilai minimal + total_nilai = 0 + count_nilai = 0 + if hasattr(self, 'nilai_table'): + for row in range(self.nilai_table.rowCount()): + rata_item = self.nilai_table.item(row, 3) + if rata_item and rata_item.text() != 'otomatis': + try: + nilai = float(rata_item.text()) + total_nilai += nilai + count_nilai += 1 + except ValueError: + pass + + if count_nilai > 0: + rata_rata = total_nilai / count_nilai + else: + rata_rata = 0 + + if rata_rata < 50: + reply = CustomNotificationDialog.show_question(self, 'Konfirmasi', + f"Rata-rata nilai ({rata_rata:.1f}) sangat rendah.\nApakah data sudah benar?", + 'Ya, Benar', 'Cek Lagi') + if not reply: + return False + + return True + + def validate_nama_input(self, text): + """Validate nama input in real-time""" + # Filter out invalid characters but keep common punctuation found in dataset names + import re + filtered_text = re.sub(r"[^a-zA-ZÀ-ÿ\s\.\-']", '', text) + + # Remove multiple consecutive spaces + filtered_text = re.sub(r' +', ' ', filtered_text) + + # If the text was changed, update the input + if filtered_text != text: + cursor_pos = self.nama_input.cursorPosition() + self.nama_input.setText(filtered_text) + # Restore cursor position (adjusted for removed characters) + new_pos = min(cursor_pos, len(filtered_text)) + self.nama_input.setCursorPosition(new_pos) + + def train_model_background(self): + """Train model in background""" + try: + # Always train with current configured training dataset + data_path = config.DATASET_PATH + if os.path.exists(data_path): + os.makedirs(os.path.dirname(config.MODEL_PATH), exist_ok=True) + print(f"Training model with {data_path}") + accuracy, _ = self.classifier.train( + data_path, + test_data_path=getattr(config, 'TEST_DATASET_PATH', None) + ) + self.classifier.save_model(config.MODEL_PATH) + print(f"Model trained with accuracy: {accuracy:.2%}") + self.statusBar().showMessage(f'Model trained - Accuracy: {accuracy:.2%}') + else: + print(f"Dataset not found: {data_path}") + self.statusBar().showMessage(f'Dataset not found: {data_path}') + except Exception as e: + print(f"Training failed: {str(e)}") + self.statusBar().showMessage(f'Training failed: {str(e)}') + + def refresh_table(self): + """Refresh table to show all data""" + self.current_page = 1 # Reset to first page + self.load_table_data() + self.statusBar().showMessage('Tabel berhasil dimuat ulang') + + def eventFilter(self, source, event): + """Event filter to detect mouse clicks outside table""" + if hasattr(self, 'nama_input') and source == self.nama_input and event.type() == QEvent.MouseButtonPress: + if event.button() == Qt.LeftButton: + self.open_student_name_picker() + return True + + if event.type() == QEvent.MouseButtonPress: + # Check if click happened outside the table + if hasattr(self, 'table') and source == self.table.viewport(): + # Get the position of the click relative to the table viewport + pos = event.pos() + item = self.table.itemAt(pos) + + # If click is in empty area of table (no item), clear selection + if item is None: + self.table.clearSelection() + self.current_selected_id = None + self.load_table_data() + + # Disable edit and preview buttons + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + + self.statusBar().showMessage('Seleksi dibersihkan dan tabel direfresh') + + elif hasattr(self, 'table') and source != self.table: + # Check if the click is outside the table area entirely + if hasattr(source, 'geometry'): + # Get global position of click + global_pos = event.globalPos() + # Get table geometry in global coordinates + table_rect = self.table.geometry() + table_global_pos = self.table.mapToGlobal(table_rect.topLeft()) + table_global_rect = QRect(table_global_pos, table_rect.size()) + + # If click is outside table, clear selection + if not table_global_rect.contains(global_pos): + self.table.clearSelection() + self.current_selected_id = None + self.load_table_data() + + # Disable edit and preview buttons + if hasattr(self, 'btn_edit'): + self.btn_edit.setEnabled(False) + self.btn_edit.setToolTip("Pilih data terlebih dahulu untuk mengedit") + if hasattr(self, 'btn_preview'): + self.btn_preview.setEnabled(False) + self.btn_preview.setToolTip("Pilih data terlebih dahulu untuk melihat preview prediksi") + + self.statusBar().showMessage('Seleksi dibersihkan dan tabel direfresh') + + return super().eventFilter(source, event) + + def on_table_cell_clicked(self, row, column): + """Handle cell click event by selecting the row.""" + print(f"Cell clicked - Row: {row}, Column: {column}") + + # Ensure the row is valid and the table has data + if row >= 0 and row < self.table.rowCount() and self.table.rowCount() > 0: + print(f"Selecting row {row}") + # Select the entire row - this will trigger itemSelectionChanged + self.table.selectRow(row) + # Force the selection to be processed immediately + QApplication.processEvents() + else: + print(f"Invalid row clicked: {row} or table is empty") + + def export_to_excel(self): + """Export data hasil prediksi ke file Excel dengan rata-rata nilai dan keterangan paket""" + try: + # Ambil semua data dari database + data = ambil_semua_hasil_prediksi() + + if not data: + CustomNotificationDialog.show_warning(self, 'Info', 'Tidak ada data untuk diekspor.\nTambahkan data terlebih dahulu.', 'OK') + return + + # Konversi ke DataFrame + df = pd.DataFrame(data) + + # Tentukan kolom yang akan diekspor (hanya rata-rata, tidak semester values) + columns_to_keep = [ + 'nama_siswa', + 'nilai_informatika', + 'nilai_fisika', + 'nilai_kimia', + 'nilai_biologi', + 'nilai_big_lanjut', + 'nilai_ekonomi', + 'nilai_mat_lanjut', + 'nilai_sej_lanjut', + 'nilai_sosiologi', + 'nilai_geografi', + 'paket_prediksi' + ] + + # Hapus kolom yang tidak diperlukan + df = df[[col for col in columns_to_keep if col in df.columns]] + + # Tambahkan kolom No sebagai nomor urut di awal + df.insert(0, 'No', range(1, len(df) + 1)) + + # Buat nama kolom yang lebih user-friendly + column_mapping = { + 'No': 'No', + 'nama_siswa': 'Nama Siswa', + 'nilai_informatika': 'Informatika', + 'nilai_fisika': 'Fisika', + 'nilai_kimia': 'Kimia', + 'nilai_biologi': 'Biologi', + 'nilai_big_lanjut': 'BIG Lanjut', + 'nilai_ekonomi': 'Ekonomi', + 'nilai_mat_lanjut': 'MAT Lanjut', + 'nilai_sej_lanjut': 'SEJ Lanjut', + 'nilai_sosiologi': 'Sosiologi', + 'nilai_geografi': 'Geografi', + 'paket_prediksi': 'Paket Prediksi' + } + + # Rename kolom + df = df.rename(columns=column_mapping) + + # Tambahkan kolom keterangan paket + paket_info = { + 1: '1 (Informatika,Fisika,Kimia,Biologi)', + 2: '2 (Informatika,BIG Lanjut,Kimia,Biologi)', + 3: '3 (Informatika,Ekonomi,BIG Lanjut,MAT Lanjut)', + 4: '4 (Informatika,Ekonomi,MAT Lanjut,SEJ Lanjut)', + 5: '5 (Informatika,Ekonomi,Sosiologi,SEJ Lanjut)', + 6: '6 (Informatika,Ekonomi,Sosiologi,Geografi)' + } + + df['Keterangan Paket'] = df['Paket Prediksi'].map(paket_info) + + # Hapus kolom Paket Prediksi karena sudah ada Keterangan Paket + if 'Paket Prediksi' in df.columns: + df = df.drop(columns=['Paket Prediksi']) + + # Tampilkan nilai numerik tanpa suffix .00, tetapi tetap simpan 2 desimal + # bila nilai memang memiliki pecahan. + score_columns = [ + 'Informatika', 'Fisika', 'Kimia', 'Biologi', 'BIG Lanjut', + 'Ekonomi', 'MAT Lanjut', 'SEJ Lanjut', 'Sosiologi', 'Geografi' + ] + for column_name in score_columns: + if column_name in df.columns: + df[column_name] = df[column_name].apply(self.format_nilai) + + # Dialog untuk memilih lokasi penyimpanan + from datetime import datetime + timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') + file_path, _ = QFileDialog.getSaveFileName( + self, + "Simpan File Excel", + f"Hasil_Prediksi_Jurusan_{timestamp}.xlsx", + "Excel Files (*.xlsx);;All Files (*)" + ) + + if file_path: + # Pastikan file path berakhiran .xlsx + if not file_path.endswith('.xlsx'): + file_path += '.xlsx' + + # Export ke Excel dengan formatting + with pd.ExcelWriter(file_path, engine='openpyxl') as writer: + df.to_excel(writer, sheet_name='Hasil Prediksi', index=False) + + # Get worksheet untuk formatting + worksheet = writer.sheets['Hasil Prediksi'] + + # Format header dengan openpyxl + from openpyxl.styles import Font, PatternFill, Border, Side, Alignment + + # Define styles dengan border hitam yang tebal + header_font = Font(bold=True, size=11) + header_fill = PatternFill(start_color="D7E4BC", end_color="D7E4BC", fill_type="solid") + # Gunakan medium border untuk semua garis tabel + black_border = Border( + left=Side(style='medium', color='000000'), + right=Side(style='medium', color='000000'), + top=Side(style='medium', color='000000'), + bottom=Side(style='medium', color='000000') + ) + center_alignment = Alignment(horizontal='center', vertical='center') + left_alignment = Alignment(horizontal='left', vertical='center') + + # Apply header formatting - baris pertama + for col in worksheet[1]: + col.font = header_font + col.fill = header_fill + col.border = black_border + col.alignment = center_alignment + + # Kolom yang perlu center alignment di data + center_columns = ['No', 'Informatika', 'Fisika', 'Kimia', 'Biologi', 'BIG Lanjut', + 'Ekonomi', 'MAT Lanjut', 'SEJ Lanjut', 'Sosiologi', 'Geografi'] + + # Get column indices untuk alignment + header_row = worksheet[1] + column_indices = {} + for idx, cell in enumerate(header_row, 1): + if cell.value in center_columns: + column_indices[cell.value] = idx + + # Apply formatting ke semua data cells + for row_num in range(2, worksheet.max_row + 1): + for col_num in range(1, worksheet.max_column + 1): + cell = worksheet.cell(row=row_num, column=col_num) + # Apply black border ke semua cell + cell.border = black_border + + # Get header value untuk cell ini + header_cell = worksheet.cell(row=1, column=col_num) + if header_cell.value in center_columns: + cell.alignment = center_alignment + else: + cell.alignment = left_alignment + + # Auto-adjust column width + for column in worksheet.columns: + max_length = 0 + column_letter = column[0].column_letter + + for cell in column: + try: + if len(str(cell.value)) > max_length: + max_length = len(str(cell.value)) + except: + pass + + adjusted_width = min(max_length + 2, 50) + worksheet.column_dimensions[column_letter].width = adjusted_width + + CustomNotificationDialog.show_success( + self, + 'Sukses!', + f"Data berhasil diekspor ke:\n{file_path}\n\nTotal {len(df)} data diekspor.", + 'OK' + ) + self.statusBar().showMessage(f'Data berhasil diekspor ke Excel: {len(df)} records') + + except Exception as e: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal mengekspor data:\n{str(e)}', 'OK') + self.statusBar().showMessage(f'Export gagal: {str(e)}') + +class PerformanceDialog(QDialog): + def __init__(self, classifier, parent=None): + super().__init__(parent) + self.classifier = classifier + self.initUI() + + def initUI(self): + self.setWindowTitle('Model Performance Report') + self.setGeometry(100, 100, 1200, 900) # Increased height for vertical layout + + # Main vertical layout + main_layout = QVBoxLayout() + main_layout.setSpacing(15) + main_layout.setContentsMargins(20, 20, 20, 20) + + # Title + title_label = QLabel("📊 Model Performance Report") + title_label.setAlignment(Qt.AlignCenter) + title_label.setStyleSheet(""" + font-weight: bold; + font-size: 18px; + margin-bottom: 15px; + color: #2c3e50; + background-color: #ecf0f1; + padding: 10px; + border-radius: 5px; + """) + main_layout.addWidget(title_label) + + # Content layout (vertical with 3 sections) + content_layout = QVBoxLayout() + content_layout.setSpacing(20) + + # Section 1: Confusion Matrix + Explanation + confusion_section = QHBoxLayout() + confusion_section.setSpacing(15) + + # Left - Confusion Matrix + confusion_left = QWidget() + confusion_left.setFixedWidth(500) + confusion_left_layout = QVBoxLayout(confusion_left) + confusion_left_layout.setContentsMargins(10, 10, 10, 10) + + confusion_label = QLabel("🔄 Confusion Matrix") + confusion_label.setAlignment(Qt.AlignCenter) + confusion_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #e8f4fd; + padding: 8px; + border-radius: 3px; + """) + confusion_left_layout.addWidget(confusion_label) + + # Create matplotlib figure for confusion matrix + self.figure = Figure(figsize=(5, 4), dpi=80) + self.figure.patch.set_facecolor('white') + self.canvas = FigureCanvas(self.figure) + self.canvas.setMinimumHeight(320) + confusion_left_layout.addWidget(self.canvas) + + # Right - Confusion Matrix Explanation + confusion_right = QWidget() + confusion_right_layout = QVBoxLayout(confusion_right) + confusion_right_layout.setContentsMargins(10, 10, 10, 10) + + confusion_exp_label = QLabel("📖 Penjelasan Confusion Matrix") + confusion_exp_label.setAlignment(Qt.AlignCenter) + confusion_exp_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #f0f8ff; + padding: 8px; + border-radius: 3px; + """) + confusion_right_layout.addWidget(confusion_exp_label) + + self.confusion_explanation = QTextEdit() + self.confusion_explanation.setReadOnly(True) + self.confusion_explanation.setFont(QFont("Segoe UI", 10)) + self.confusion_explanation.setMaximumHeight(350) + self.confusion_explanation.setStyleSheet(""" + QTextEdit { + background-color: #f8f9fa; + border: 2px solid #dee2e6; + border-radius: 5px; + padding: 12px; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.4; + } + """) + confusion_right_layout.addWidget(self.confusion_explanation) + + confusion_section.addWidget(confusion_left) + confusion_section.addWidget(confusion_right) + content_layout.addLayout(confusion_section) + + # Section 2: ROC Curves + Explanation + roc_section = QHBoxLayout() + roc_section.setSpacing(15) + + # Left - ROC Curves + roc_left = QWidget() + roc_left.setFixedWidth(500) + roc_left_layout = QVBoxLayout(roc_left) + roc_left_layout.setContentsMargins(10, 10, 10, 10) + + roc_label = QLabel("📈 ROC AUC Curves") + roc_label.setAlignment(Qt.AlignCenter) + roc_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #fff3e0; + padding: 8px; + border-radius: 3px; + """) + roc_left_layout.addWidget(roc_label) + + # Create matplotlib figure for ROC curve + self.roc_figure = Figure(figsize=(5, 4), dpi=80) + self.roc_figure.patch.set_facecolor('white') + self.roc_canvas = FigureCanvas(self.roc_figure) + self.roc_canvas.setMinimumHeight(320) + roc_left_layout.addWidget(self.roc_canvas) + + # Right - ROC Explanation + roc_right = QWidget() + roc_right_layout = QVBoxLayout(roc_right) + roc_right_layout.setContentsMargins(10, 10, 10, 10) + + roc_exp_label = QLabel("📖 Penjelasan ROC AUC") + roc_exp_label.setAlignment(Qt.AlignCenter) + roc_exp_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #fffaf0; + padding: 8px; + border-radius: 3px; + """) + roc_right_layout.addWidget(roc_exp_label) + + self.roc_explanation = QTextEdit() + self.roc_explanation.setReadOnly(True) + self.roc_explanation.setFont(QFont("Segoe UI", 10)) + self.roc_explanation.setMaximumHeight(350) + self.roc_explanation.setStyleSheet(""" + QTextEdit { + background-color: #f8f9fa; + border: 2px solid #dee2e6; + border-radius: 5px; + padding: 12px; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.4; + } + """) + roc_right_layout.addWidget(self.roc_explanation) + + roc_section.addWidget(roc_left) + roc_section.addWidget(roc_right) + content_layout.addLayout(roc_section) + + # Section 3: Classification Report + Explanation + class_section = QHBoxLayout() + class_section.setSpacing(15) + + # Left - Classification Report + class_left = QWidget() + class_left.setFixedWidth(500) + class_left_layout = QVBoxLayout(class_left) + class_left_layout.setContentsMargins(10, 10, 10, 10) + + class_label = QLabel("📋 Classification Report") + class_label.setAlignment(Qt.AlignCenter) + class_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #e8f6f3; + padding: 8px; + border-radius: 3px; + """) + class_left_layout.addWidget(class_label) + + # Text area for classification report + self.report_text = QTextEdit() + self.report_text.setReadOnly(True) + self.report_text.setFont(QFont("Consolas", 10)) + self.report_text.setMaximumHeight(300) + self.report_text.setStyleSheet(""" + QTextEdit { + background-color: #f8f9fa; + border: 2px solid #dee2e6; + border-radius: 5px; + padding: 12px; + font-family: 'Consolas', 'Monaco', monospace; + line-height: 1.3; + } + """) + class_left_layout.addWidget(self.report_text) + + # Right - Classification Report Explanation + class_right = QWidget() + class_right_layout = QVBoxLayout(class_right) + class_right_layout.setContentsMargins(10, 10, 10, 10) + + class_exp_label = QLabel("📖 Penjelasan Classification Report") + class_exp_label.setAlignment(Qt.AlignCenter) + class_exp_label.setStyleSheet(""" + font-weight: bold; + font-size: 14px; + margin-bottom: 10px; + color: #34495e; + background-color: #f0fff0; + padding: 8px; + border-radius: 3px; + """) + class_right_layout.addWidget(class_exp_label) + + self.class_explanation = QTextEdit() + self.class_explanation.setReadOnly(True) + self.class_explanation.setFont(QFont("Segoe UI", 10)) + self.class_explanation.setMaximumHeight(300) + self.class_explanation.setStyleSheet(""" + QTextEdit { + background-color: #f8f9fa; + border: 2px solid #dee2e6; + border-radius: 5px; + padding: 12px; + font-family: 'Segoe UI', Arial, sans-serif; + line-height: 1.4; + } + """) + class_right_layout.addWidget(self.class_explanation) + + class_section.addWidget(class_left) + class_section.addWidget(class_right) + content_layout.addLayout(class_section) + + # Add content to main layout + main_layout.addLayout(content_layout) + + # Close button at bottom + btn_layout = QHBoxLayout() + btn_layout.addStretch() + + btn_close = QPushButton("✖️ Close") + btn_close.setFixedSize(120, 40) + btn_close.clicked.connect(self.close) + btn_close.setStyleSheet(""" + QPushButton { + background-color: #e74c3c; + color: white; + padding: 10px 20px; + font-weight: bold; + border-radius: 8px; + font-size: 12px; + border: none; + } + QPushButton:hover { + background-color: #c0392b; + } + QPushButton:pressed { + background-color: #a93226; + } + """) + btn_layout.addWidget(btn_close) + btn_layout.addStretch() + + main_layout.addLayout(btn_layout) + + self.setLayout(main_layout) + + # Generate performance report + self.generate_performance_report() + + def generate_performance_report(self): + """Generate confusion matrix and classification report""" + try: + from sklearn.metrics import confusion_matrix, classification_report + import numpy as np + + # Get test data predictions + + data_path = config.DATASET_PATH + if os.path.exists(data_path): + test_path = getattr(config, 'TEST_DATASET_PATH', None) + if test_path and os.path.exists(test_path): + X_test, y_test = self.classifier.prepare_data(test_path) + else: + X, y = self.classifier.prepare_data(data_path) + from sklearn.model_selection import train_test_split + _, X_test, _, y_test = train_test_split( + X, y, test_size=config.TEST_SIZE, random_state=config.RANDOM_STATE, stratify=y + ) + + # Scale test data + X_test_scaled = self.classifier.scaler.transform(X_test) + y_pred = self.classifier.knn.predict(X_test_scaled) + y_pred_proba = self.classifier.knn.predict_proba(X_test_scaled) + + # Generate confusion matrix + cm = confusion_matrix(y_test, y_pred) + self.plot_confusion_matrix(cm, sorted(set(y_test))) + self.display_confusion_matrix_explanation() + + # Generate ROC curve + self.plot_roc_curve(y_test, y_pred_proba) + self.display_roc_explanation() + + # Generate classification report + report = classification_report(y_test, y_pred, output_dict=True, zero_division=0) + self.display_classification_report(report) + + else: + self.show_error("No training data available") + + except Exception as e: + self.show_error(f"Error generating performance report: {str(e)}") + + def plot_confusion_matrix(self, cm, classes): + """Plot confusion matrix""" + # Clear previous plot + self.figure.clear() + + ax = self.figure.add_subplot(111) + im = ax.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues, aspect='auto') + + # Add colorbar with proper sizing + cbar = self.figure.colorbar(im, ax=ax, shrink=0.8) + cbar.ax.tick_params(labelsize=9) + + # Set labels with better formatting + ax.set_xticks(np.arange(cm.shape[1])) + ax.set_yticks(np.arange(cm.shape[0])) + ax.set_xticklabels(classes, fontsize=9) + ax.set_yticklabels(classes, fontsize=9) + + # Set axis labels + ax.set_ylabel('True Labels', fontsize=11, fontweight='bold') + ax.set_xlabel('Predicted Labels', fontsize=11, fontweight='bold') + + # Rotate the tick labels and set their alignment + plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor") + + # Add text annotations with better formatting + thresh = cm.max() / 2. + for i in range(cm.shape[0]): + for j in range(cm.shape[1]): + text_color = "white" if cm[i, j] > thresh else "black" + ax.text(j, i, format(cm[i, j], 'd'), + ha="center", va="center", + color=text_color, + fontweight='bold', + fontsize=10) + + # Set title with better spacing + ax.set_title("Confusion Matrix", fontweight='bold', fontsize=12, pad=15) + + # Adjust layout to prevent clipping + self.figure.subplots_adjust(left=0.15, bottom=0.2, right=0.85, top=0.9) + self.canvas.draw() + + def plot_roc_curve(self, y_test, y_pred_proba): + """Plot ROC AUC curve for performance dialog""" + try: + # Clear previous plot + self.roc_figure.clear() + + # Get unique classes from classifier + classes = self.classifier.knn.classes_ + n_classes = len(classes) + + # Handle single class case + if n_classes == 2: + # For binary classification, use probability of positive class + y_score = y_pred_proba[:, 1] + y_true = (y_test == classes[1]).astype(int) + + # Compute ROC curve and ROC area + fpr, tpr, _ = roc_curve(y_true, y_score) + roc_auc = auc(fpr, tpr) + + # Plot ROC curve + ax = self.roc_figure.add_subplot(111) + ax.plot(fpr, tpr, color='darkorange', lw=2, + label=f'ROC curve (AUC = {roc_auc:.3f})') + ax.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--', + label='Random Classifier') + ax.set_xlim([0.0, 1.0]) + ax.set_ylim([0.0, 1.05]) + ax.set_xlabel('False Positive Rate', fontsize=9) + ax.set_ylabel('True Positive Rate', fontsize=9) + ax.set_title('ROC Curve (Binary)', fontweight='bold', fontsize=10) + ax.legend(loc="lower right", fontsize=8) + ax.grid(True, alpha=0.3) + + else: + # Multi-class ROC + ax = self.roc_figure.add_subplot(111) + + # Compute ROC curve and ROC area for each class + fpr = dict() + tpr = dict() + roc_auc = dict() + + for i in range(n_classes): + # Get true binary labels for this class + y_true_class = (y_test == classes[i]).astype(int) + # Get predicted probabilities for this class + y_score_class = y_pred_proba[:, i] + + fpr[i], tpr[i], _ = roc_curve(y_true_class, y_score_class) + roc_auc[i] = auc(fpr[i], tpr[i]) + + # Plot ROC curve for each class + colors = ['blue', 'red', 'green', 'orange', 'purple', 'brown'] + for i in range(n_classes): + color = colors[i % len(colors)] + ax.plot(fpr[i], tpr[i], color=color, lw=1.5, + label=f'Paket {classes[i]} (AUC = {roc_auc[i]:.3f})') + + # Plot random classifier line + ax.plot([0, 1], [0, 1], 'k--', lw=1.5, label='Random', alpha=0.8) + + ax.set_xlim([0.0, 1.0]) + ax.set_ylim([0.0, 1.05]) + ax.set_xlabel('False Positive Rate', fontsize=9) + ax.set_ylabel('True Positive Rate', fontsize=9) + ax.set_title('Multi-class ROC Curves', fontweight='bold', fontsize=10) + + # Position legend to avoid overlap + ax.legend(loc="center left", bbox_to_anchor=(1, 0.5), fontsize=7) + ax.grid(True, alpha=0.3) + + # Adjust layout + self.roc_figure.subplots_adjust(left=0.15, bottom=0.15, right=0.7, top=0.9) + self.roc_canvas.draw() + + except Exception as e: + print(f"Error plotting ROC curve: {e}") + # Show error in ROC canvas + ax = self.roc_figure.add_subplot(111) + ax.text(0.5, 0.5, f'Error plotting ROC curve:\\n{str(e)}', + ha='center', va='center', transform=ax.transAxes, + fontsize=9, color='red') + ax.set_title("ROC Plot Error", fontweight='bold') + self.roc_canvas.draw() + + def display_confusion_matrix_explanation(self): + """Display explanation for confusion matrix""" + explanation_text = """ +🔍 CONFUSION MATRIX - Analisis Prediksi vs Aktual + +Confusion Matrix adalah tabel yang menunjukkan performa klasifikasi dengan membandingkan prediksi model terhadap label aktual. + +📊 INTERPRETASI: +• Baris (True Labels): Kelas sebenarnya dari data +• Kolom (Predicted Labels): Kelas yang diprediksi oleh model +• Diagonal utama: Prediksi yang BENAR +• Di luar diagonal: Prediksi yang SALAH + +🎯 METRIK PENTING: +• True Positive (TP): Prediksi benar untuk kelas positif +• True Negative (TN): Prediksi benar untuk kelas negatif +• False Positive (FP): Salah prediksi sebagai positif +• False Negative (FN): Salah prediksi sebagai negatif + +💡 CARA MEMBACA: +• Nilai tinggi di diagonal = performa bagus +• Nilai tinggi di luar diagonal = banyak kesalahan +• Semakin gelap warna biru = semakin banyak prediksi + +✅ TARGET IDEAL: +Confusion matrix yang baik memiliki nilai tinggi di diagonal utama dan nilai rendah di tempat lain, menunjukkan model dapat membedakan kelas dengan akurat. + """ + + self.confusion_explanation.setPlainText(explanation_text.strip()) + + def display_roc_explanation(self): + """Display explanation for ROC curves""" + explanation_text = """ +📈 ROC AUC CURVES - Evaluasi Performa Klasifikasi + +ROC (Receiver Operating Characteristic) Curve menunjukkan performa model klasifikasi pada berbagai threshold dengan plot TPR vs FPR. + +📊 KOMPONEN KURVA: +• True Positive Rate (TPR/Recall): TP/(TP+FN) +• False Positive Rate (FPR): FP/(FP+TN) +• AUC (Area Under Curve): Luas di bawah kurva ROC + +🎯 INTERPRETASI AUC: +• AUC = 1.0: Klasifikasi sempurna +• AUC = 0.9-1.0: Performa sangat baik +• AUC = 0.8-0.9: Performa baik +• AUC = 0.7-0.8: Performa sedang +• AUC = 0.6-0.7: Performa buruk +• AUC = 0.5: Tidak lebih baik dari tebakan acak + +📍 ANALISIS KURVA: +• Kurva mendekati sudut kiri atas = baik +• Kurva mendekati garis diagonal = buruk +• Garis putus-putus = Random Classifier (baseline) + +🏆 MULTI-CLASS: +Untuk klasifikasi multi-class, setiap paket memiliki kurva ROC tersendiri dengan strategi One-vs-All. + +✅ TARGET IDEAL: +AUC > 0.8 untuk setiap kelas menunjukkan model dapat membedakan kelas dengan baik. + """ + + self.roc_explanation.setPlainText(explanation_text.strip()) + + def display_classification_report(self, report_dict): + """Display classification report in table format similar to sklearn output""" + # Create formatted text report with better alignment + header = f"{'':>15} {'precision':>12} {'recall':>12} {'f1-score':>12} {'support':>12}\n" + separator = "=" * 75 + "\n" + + report_text = header + separator + + # Add metrics for each class (sorted by class number) + classes = [key for key in report_dict.keys() if key not in ['accuracy', 'macro avg', 'weighted avg']] + + # Sort classes numerically if they are numbers, otherwise alphabetically + try: + sorted_classes = sorted(classes, key=lambda x: int(x)) + except (ValueError, TypeError): + sorted_classes = sorted(classes) + + for class_name in sorted_classes: + metrics = report_dict[class_name] + class_label = f"Paket {class_name}" if str(class_name).isdigit() else str(class_name) + report_text += f"{class_label:>15} {metrics['precision']:>12.2f} {metrics['recall']:>12.2f} {metrics['f1-score']:>12.2f} {int(metrics['support']):>12}\n" + + # Add separator line + report_text += "\n" + "-" * 75 + "\n" + + # Add accuracy + accuracy = report_dict['accuracy'] + total_support = sum(report_dict[key]['support'] for key in classes) + report_text += f"{'accuracy':>15} {'':>12} {'':>12} {accuracy:>12.2f} {int(total_support):>12}\n" + + # Add macro avg + macro_avg = report_dict['macro avg'] + report_text += f"{'macro avg':>15} {macro_avg['precision']:>12.2f} {macro_avg['recall']:>12.2f} {macro_avg['f1-score']:>12.2f} {int(macro_avg['support']):>12}\n" + + # Add weighted avg + weighted_avg = report_dict['weighted avg'] + report_text += f"{'weighted avg':>15} {weighted_avg['precision']:>12.2f} {weighted_avg['recall']:>12.2f} {weighted_avg['f1-score']:>12.2f} {int(weighted_avg['support']):>12}\n" + + # Add some explanation at the bottom + report_text += "\n" + "=" * 75 + "\n" + report_text += "\nPenjelasan:\n" + report_text += "• Precision: Proporsi prediksi positif yang benar\n" + report_text += "• Recall: Proporsi kelas aktual yang diprediksi dengan benar\n" + report_text += "• F1-score: Rata-rata harmonik dari precision dan recall\n" + report_text += "• Support: Jumlah sampel untuk setiap kelas\n" + report_text += "• Macro avg: Rata-rata tanpa mempertimbangkan ketidakseimbangan kelas\n" + report_text += "• Weighted avg: Rata-rata dengan mempertimbangkan support setiap kelas" + + self.report_text.setPlainText(report_text) + + # Also display detailed explanation + self.display_classification_explanation() + + def display_classification_explanation(self): + """Display detailed explanation for classification report""" + explanation_text = """ +📋 CLASSIFICATION REPORT - Analisis Detail Performa + +Classification Report memberikan metrik evaluasi yang komprehensif untuk setiap kelas dalam klasifikasi multi-class. + +🎯 METRIK UTAMA: + +1️⃣ PRECISION (Ketepatan) +• Formula: TP / (TP + FP) +• Arti: Dari semua yang diprediksi positif, berapa yang benar-benar positif? +• Tinggi = sedikit False Positive + +2️⃣ RECALL (Sensitivitas/TPR) +• Formula: TP / (TP + FN) +• Arti: Dari semua yang sebenarnya positif, berapa yang berhasil diprediksi? +• Tinggi = sedikit False Negative + +3️⃣ F1-SCORE (Keseimbangan) +• Formula: 2 × (Precision × Recall) / (Precision + Recall) +• Arti: Rata-rata harmonik precision dan recall +• Baik ketika precision dan recall seimbang tinggi + +📊 RATA-RATA: + +▶️ MACRO AVERAGE: +• Rata-rata sederhana dari semua kelas +• Tidak mempertimbangkan ketidakseimbangan data +• Memberikan bobot sama untuk setiap kelas + +▶️ WEIGHTED AVERAGE: +• Rata-rata berbobot berdasarkan support +• Mempertimbangkan jumlah sampel per kelas +• Lebih representatif untuk data tidak seimbang + +✅ INTERPRETASI SKOR: +• 0.9-1.0: Sangat Baik +• 0.8-0.9: Baik +• 0.7-0.8: Cukup Baik +• 0.6-0.7: Perlu Perbaikan +• <0.6: Kurang Baik + """ + + self.class_explanation.setPlainText(explanation_text.strip()) + + def show_error(self, message): + """Show error message""" + ax = self.figure.add_subplot(111) + ax.text(0.5, 0.5, message, + ha='center', va='center', transform=ax.transAxes) + self.canvas.draw() + + ax2 = self.roc_figure.add_subplot(111) + ax2.text(0.5, 0.5, message, + ha='center', va='center', transform=ax2.transAxes) + self.roc_canvas.draw() + + self.report_text.setPlainText(f"Error: {message}") + self.confusion_explanation.setPlainText(f"Error: {message}") + self.roc_explanation.setPlainText(f"Error: {message}") + self.class_explanation.setPlainText(f"Error: {message}") + diff --git a/gui/register_dialog.py b/gui/register_dialog.py new file mode 100644 index 0000000..be58cf2 --- /dev/null +++ b/gui/register_dialog.py @@ -0,0 +1,392 @@ +from PyQt5.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox, QWidget, QApplication +from PyQt5.QtCore import Qt +from PyQt5.QtGui import QIcon +import os +from db.database import register_admin +from gui.custom_notifications import CustomNotificationDialog +import config + +class RegisterDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Register') + # Ensure this dialog is a real top-level window so taskbar uses app icon. + self.setWindowFlags((self.windowFlags() | Qt.Window) & ~Qt.WindowContextHelpButtonHint | Qt.WindowMinimizeButtonHint) + icon_path = config.get_app_icon_path() + if icon_path: + self.setWindowIcon(QIcon(icon_path)) + self._apply_responsive_size(600, 500) + if icon_path: + self.setWindowIcon(QIcon(icon_path)) + + # Set background color + self.setStyleSheet("QDialog { background-color: #fafafa; }") + + # Main layout + layout = QVBoxLayout() + layout.setContentsMargins(40, 40, 40, 40) + layout.setSpacing(5) + + # Title + title = QLabel('Sistem Klasifikasi Jurusan') + title.setStyleSheet("font-size: 28px; font-weight: bold; color: #1a202c; margin-bottom: 5px; margin-top: 0px;font-family: 'Segoe UI', Arial, sans-serif;") + title.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) + title.setWordWrap(True) + layout.addWidget(title) + + subtitle = QLabel('Registrasi Akun Baru') + subtitle.setStyleSheet("font-size: 18px; color: #4a5568; margin-bottom: 30px;font-family: 'Segoe UI', Arial, sans-serif;") + subtitle.setAlignment(Qt.AlignCenter) + layout.addWidget(subtitle) + + # Username + self.label_user = QLabel('Username') + self.label_user.setStyleSheet("font-size: 18px; color: #2d3748; font-weight: bold; margin-bottom: 0px;font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.label_user) + + self.input_user = QLineEdit() + self.input_user.setFixedHeight(64) + from PyQt5.QtWidgets import QSizePolicy + self.input_user.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + #self.input_user.setFixedWidth(520) + self.input_user.setPlaceholderText('Masukkan username') + self.input_user.setStyleSheet("font-size: 20px; padding: 0px 12px; margin-bottom: 20px; color: #2d3748; background-color: white; border: 1px solid #e2e8f0; border-radius: 6px;font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.input_user) + + # Password + self.label_pass = QLabel('Password') + self.label_pass.setStyleSheet("font-size: 18px; color: #2d3748; font-weight: bold; margin-bottom: 0px;font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.label_pass) + + # Password container with toggle button + password_container = QHBoxLayout() + password_container.setSpacing(0) + password_container.setContentsMargins(0, 0, 0, 0) + + self.input_pass = QLineEdit() + self.input_pass.setFixedHeight(64) + from PyQt5.QtWidgets import QSizePolicy + self.input_pass.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + #self.input_pass.setFixedWidth(465) + self.input_pass.setPlaceholderText('Masukkan password') + + self.input_pass.setEchoMode(QLineEdit.Password) + self.input_pass.setStyleSheet("font-size: 20px; padding: 0px 12px; color: #2d3748; background-color: white; border: 1px solid #e2e8f0; border-top-left-radius: 6px; border-bottom-left-radius: 6px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-right: none;font-family: 'Segoe UI', Arial, sans-serif;") + self.input_pass.setMinimumWidth(0) + + self.btn_toggle_pass = QPushButton('👁') + self.btn_toggle_pass.setFixedSize(64, 64) + self.btn_toggle_pass.setStyleSheet(""" + QPushButton { + font-size: 18px; + border: 1px solid #e2e8f0; + border-left: none; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + background-color: white; + color: #718096; + margin-left: -8px; + } + QPushButton:hover { + background-color: #f7fafc; + color: #4a5568; + } + QPushButton:pressed { + background-color: #edf2f7; + } + """) + self.btn_toggle_pass.setCursor(Qt.PointingHandCursor) + self.btn_toggle_pass.clicked.connect(self.toggle_password_visibility) + self.password_visible = False + + password_container.addWidget(self.input_pass) + password_container.addWidget(self.btn_toggle_pass) + password_container.setStretch(0, 1) + + password_widget = QWidget() + password_widget.setLayout(password_container) + password_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + password_widget.setStyleSheet("margin-bottom: 20px;") + layout.addWidget(password_widget) + + + # Confirm Password + self.label_confirm = QLabel('Konfirmasi Password') + self.label_confirm.setStyleSheet("font-size: 18px; color: #2d3748; font-weight: bold; margin-bottom: 0px;font-family: 'Segoe UI', Arial, sans-serif;") + layout.addWidget(self.label_confirm) + + # Confirm password container with toggle button + confirm_container = QHBoxLayout() + confirm_container.setSpacing(0) + confirm_container.setContentsMargins(0, 0, 0, 0) + + self.input_confirm = QLineEdit() + self.input_confirm.setFixedHeight(74) + self.input_confirm.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + #self.input_confirm.setFixedWidth(465) + self.input_confirm.setPlaceholderText('Masukkan password kembali') + self.input_confirm.setEchoMode(QLineEdit.Password) + self.input_confirm.setStyleSheet("font-size: 20px; padding: 0px 12px; color: #2d3748; background-color: white; border: 1px solid #e2e8f0; border-top-left-radius: 6px; border-bottom-left-radius: 6px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-right: none;font-family: 'Segoe UI', Arial, sans-serif;") + self.input_confirm.setMinimumWidth(0) + + self.btn_toggle_confirm = QPushButton('👁') + self.btn_toggle_confirm.setFixedSize(74, 74) + self.btn_toggle_confirm.setStyleSheet(""" + QPushButton { + font-size: 18px; + border: 1px solid #e2e8f0; + border-left: none; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + background-color: white; + color: #718096; + margin-left: 0px; + } + QPushButton:hover { + background-color: #f7fafc; + color: #4a5568; + } + QPushButton:pressed { + background-color: #edf2f7; + } + """) + self.btn_toggle_confirm.setCursor(Qt.PointingHandCursor) + self.btn_toggle_confirm.clicked.connect(self.toggle_confirm_visibility) + self.confirm_visible = False + + confirm_container.addWidget(self.input_confirm) + confirm_container.addWidget(self.btn_toggle_confirm) + confirm_container.setStretch(0, 1) + + self.confirm_widget = QWidget() + self.confirm_widget.setLayout(confirm_container) + self.confirm_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.confirm_widget.setMinimumWidth(0) + self.confirm_widget.setMaximumWidth(16777215) + self.confirm_widget.setStyleSheet("margin-bottom: 30px;") + layout.addWidget(self.confirm_widget) + + + # Register button + self.btn_register = QPushButton('Register') + self.btn_register.setFixedHeight(60) + self.btn_register.setCursor(Qt.PointingHandCursor) + self.btn_register.setStyleSheet(""" + QPushButton { + font-size: 18px; + font-weight: bold; + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #667eea, stop:1 #764ba2); + color: white; + border: none; + border-radius: 6px; + margin-bottom: 20px; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #5568d3, stop:1 #6a3b91); + } + QPushButton:pressed { + background: qlineargradient(x1:0, y1:0, x2:1, y2:0, + stop:0 #4a5abc, stop:1 #5a3080); + } + """) + self.btn_register.clicked.connect(self.handle_register) + layout.addWidget(self.btn_register) + + # Back to login link container + login_container = QHBoxLayout() + login_container.setContentsMargins(0, 0, 0, 0) + login_container.setSpacing(5) + login_container.addStretch() # Center the content + + # Normal text part + self.label_login_text = QLabel('Sudah punya akun?') + self.label_login_text.setStyleSheet(""" + QLabel { + font-size: 16px; + color: #4a5568; + background-color: transparent; + font-family: 'Segoe UI', Arial, sans-serif; + } + """) + login_container.addWidget(self.label_login_text) + + # Clickable login link + self.btn_back = QPushButton('Login disini') + self.btn_back.setFixedHeight(36) + self.btn_back.setStyleSheet(""" + QPushButton { + font-size: 16px; + font-weight: bold; + color: #667eea; + background-color: transparent; + border: none; + text-decoration: underline; + font-family: 'Segoe UI', Arial, sans-serif; + } + QPushButton:hover { + color: #764ba2; + } + """) + self.btn_back.clicked.connect(self.back_to_login) + self.btn_back.setCursor(Qt.PointingHandCursor) + login_container.addWidget(self.btn_back) + login_container.addStretch() # Center the content + + login_widget = QWidget() + login_widget.setLayout(login_container) + layout.addWidget(login_widget) + + # Enter key triggers register + self.input_user.returnPressed.connect(self.handle_register) + self.input_pass.returnPressed.connect(self.handle_register) + self.input_confirm.returnPressed.connect(self.handle_register) + + self.setLayout(layout) + self.register_success = False + self.back_to_login_clicked = False + self.should_show_login = False # Flag untuk menunjukkan bahwa user ingin kembali ke halaman login + self._sync_confirm_row_width() + self._native_icon_applied = False + + def _apply_native_windows_icon(self): + """Set native HWND icons to avoid default taskbar icon on first window show.""" + if os.name != 'nt': + return + icon_path = config.get_app_icon_path() + if not icon_path or not os.path.exists(icon_path): + return + try: + import ctypes + WM_SETICON = 0x0080 + ICON_SMALL = 0 + ICON_BIG = 1 + IMAGE_ICON = 1 + LR_LOADFROMFILE = 0x0010 + LR_DEFAULTSIZE = 0x0040 + + hicon = ctypes.windll.user32.LoadImageW( + None, + icon_path, + IMAGE_ICON, + 0, + 0, + LR_LOADFROMFILE | LR_DEFAULTSIZE, + ) + if hicon: + hwnd = int(self.winId()) + ctypes.windll.user32.SendMessageW(hwnd, WM_SETICON, ICON_SMALL, hicon) + ctypes.windll.user32.SendMessageW(hwnd, WM_SETICON, ICON_BIG, hicon) + except Exception: + pass + + def showEvent(self, event): + super().showEvent(event) + if not self._native_icon_applied: + self._apply_native_windows_icon() + self._native_icon_applied = True + # Clear form setiap kali dialog ditampilkan + self.clear_form() + + def clear_form(self): + """Clear all input fields in the register form""" + self.input_user.clear() + self.input_pass.clear() + self.input_confirm.clear() + # Reset password visibility + if self.password_visible: + self.input_pass.setEchoMode(QLineEdit.Password) + self.password_visible = False + if self.confirm_visible: + self.input_confirm.setEchoMode(QLineEdit.Password) + self.confirm_visible = False + self.btn_toggle_pass.setText('👁') + self.btn_toggle_confirm.setText('👁') + # Set focus to username field + self.input_user.setFocus() + + def _apply_responsive_size(self, base_width, base_height): + """Apply fixed size that adapts for smaller screens.""" + screen = QApplication.primaryScreen() + if not screen: + self.setFixedSize(base_width, base_height) + return + + available = screen.availableGeometry() + width = min(base_width, max(540, int(available.width() * 0.92))) + height = min(base_height, max(430, int(available.height() * 0.90))) + self.setFixedSize(width, height) + + def _sync_confirm_row_width(self): + """Keep confirm-password row width exactly aligned with username input.""" + if hasattr(self, 'input_user') and hasattr(self, 'confirm_widget'): + self.confirm_widget.setFixedWidth(self.input_user.width()) + + def resizeEvent(self, event): + super().resizeEvent(event) + self._sync_confirm_row_width() + + def toggle_password_visibility(self): + """Toggle password visibility""" + if self.password_visible: + self.input_pass.setEchoMode(QLineEdit.Password) + self.password_visible = False + else: + self.input_pass.setEchoMode(QLineEdit.Normal) + self.password_visible = True + + def toggle_confirm_visibility(self): + """Toggle confirm password visibility""" + if self.confirm_visible: + self.input_confirm.setEchoMode(QLineEdit.Password) + self.confirm_visible = False + else: + self.input_confirm.setEchoMode(QLineEdit.Normal) + self.confirm_visible = True + + #proses ambil data input + def handle_register(self): + username = self.input_user.text().strip() + password = self.input_pass.text() + confirm_password = self.input_confirm.text() + + # Validasi input + if not username or not password or not confirm_password: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Semua field harus diisi!', 'OK', compact=True) + return + + if len(username) < 3: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Username minimal 3 karakter!', 'OK', compact=True) + return + + if len(password) < 6: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Password minimal 6 karakter!', 'OK', compact=True) + return + + if password != confirm_password: + CustomNotificationDialog.show_warning(self, 'Warning!', 'Password dan konfirmasi password tidak cocok!', 'OK', compact=True) + return + + # Coba register + try: + register_admin(username, password) + self.register_success = True + CustomNotificationDialog.show_success(self, 'Registrasi Berhasil!', f'Akun {username} berhasil dibuat!\nSilakan login untuk melanjutkan.', 'OK', compact=True) + self.accept() + except Exception as e: + error_msg = str(e) + if 'duplicate' in error_msg.lower() or 'unique' in error_msg.lower(): + CustomNotificationDialog.show_error(self, 'Error!', 'Username sudah digunakan!\nPilih username lain.', 'Coba Lagi', compact=True) + else: + CustomNotificationDialog.show_error(self, 'Error!', f'Gagal mendaftar:\n{error_msg}', 'Coba Lagi', compact=True) + + def back_to_login(self): + """Tutup register dialog dan set flag untuk menampilkan login dialog""" + self.should_show_login = True + self.reject() diff --git a/img/Logo_skripsi.ico b/img/Logo_skripsi.ico new file mode 100644 index 0000000000000000000000000000000000000000..007c65835c036a0d88da67fa0dce9cff633d3c7b GIT binary patch literal 46383 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 XYNDGdpfxfAW5H5Z(2$49nuq=$DyE`3 literal 0 HcmV?d00001 diff --git a/img/logo_sekolah.ico b/img/logo_sekolah.ico new file mode 100644 index 0000000000000000000000000000000000000000..c06269fdd22c936713b2e11bbc5007b252643d72 GIT binary patch literal 80865 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 literal 0 HcmV?d00001 diff --git a/img/logo_sekolah.png b/img/logo_sekolah.png new file mode 100644 index 0000000000000000000000000000000000000000..775535eb851339c9c290e3756758a0554886a917 GIT binary patch literal 384788 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

xau| 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 Q3|t@GCs0VGrbER40FTb^DF6Tf literal 0 HcmV?d00001 diff --git a/img/logo_sma.png b/img/logo_sma.png new file mode 100644 index 0000000000000000000000000000000000000000..cadad831aeacb955b7bde2711b8aaf47e117f29f GIT binary patch literal 350497 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

f@Sq4&tKAzvup6m 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�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ÐCKL8>-R>bLxG%vNX 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%0AL>g!M=$iN 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 literal 0 HcmV?d00001 diff --git a/main.py b/main.py new file mode 100644 index 0000000..9383885 --- /dev/null +++ b/main.py @@ -0,0 +1,69 @@ +import sys +import os +from PyQt5.QtWidgets import QApplication +from gui.main_window import MainWindow +from gui.login_dialog import LoginDialog +from gui.register_dialog import RegisterDialog + +def main(): + # Create necessary directories + os.makedirs('data', exist_ok=True) + os.makedirs('models', exist_ok=True) + + app = QApplication(sys.argv) + + # Show login and main window with logout loop support + def show_next_window(): + # Tampilkan login dialog terlebih dahulu + show_login = True + while True: + if show_login: + login_dialog = LoginDialog() + result = login_dialog.exec_() + + # Cek apakah user ingin ke halaman register + if login_dialog.should_show_register: + show_login = False # Tampilkan register dialog next + continue + + # Cek apakah login berhasil + if result == LoginDialog.Accepted and login_dialog.login_success: + # Create and show main window + window = MainWindow(login_dialog.username or "Admin") + + # Connect logout signal to show login again + window.logout_signal.connect(show_next_window) + + window.show() + break + else: + # Login canceled, quit application + app.quit() + break + else: + # Tampilkan register dialog + register_dialog = RegisterDialog() + result = register_dialog.exec_() + + # Cek apakah user ingin kembali ke login + if register_dialog.should_show_login: + show_login = True # Kembali ke login + continue + + # Cek apakah register berhasil + if result == RegisterDialog.Accepted and register_dialog.register_success: + # Setelah register berhasil, kembali ke login + show_login = True + continue + else: + # Register canceled, quit application + app.quit() + break + + # Start the application by showing login dialog + show_next_window() + + sys.exit(app.exec_()) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/models/data_processor.py b/models/data_processor.py new file mode 100644 index 0000000..c9ea8a4 --- /dev/null +++ b/models/data_processor.py @@ -0,0 +1,104 @@ +import pandas as pd +import json + +class DataProcessor: + def __init__(self): + self.paket_info = { + 1: { + 'nama': 'Paket Informatika-Fisika-Kimia-Biologi', + 'mapel': ['Informatika', 'Fisika', 'Kimia', 'Biologi'], + 'kelas_tersedia': 2, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + }, + 2: { + 'nama': 'Paket Informatika-BIG Lanjut-Kimia-Biologi', + 'mapel': ['Informatika', 'BIG Lanjut', 'Kimia', 'Biologi'], + 'kelas_tersedia': 1, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + }, + 3: { + 'nama': 'Paket Informatika-Ekonomi-BIG Lanjut-MAT Lanjut', + 'mapel': ['Informatika', 'Ekonomi', 'BIG Lanjut', 'MAT Lanjut'], + 'kelas_tersedia': 1, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + }, + 4: { + 'nama': 'Paket Informatika-Ekonomi-MAT Lanjut-SEJ Lanjut', + 'mapel': ['Informatika', 'Ekonomi', 'MAT Lanjut', 'SEJ Lanjut'], + 'kelas_tersedia': 3, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + }, + 5: { + 'nama': 'Paket Informatika-Ekonomi-Sosiologi-SEJ Lanjut', + 'mapel': ['Informatika', 'Ekonomi', 'Sosiologi', 'SEJ Lanjut'], + 'kelas_tersedia': 1, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + }, + 6: { + 'nama': 'Paket Informatika-Ekonomi-Sosiologi-Geografi', + 'mapel': ['Informatika', 'Ekonomi', 'Sosiologi', 'Geografi'], + 'kelas_tersedia': 1, + 'kapasitas_per_kelas': 36, + 'jumlah_siswa': 50 + } + } + + def create_sample_dataset(self, output_path, num_samples=500): + """Membuat dataset contoh untuk training""" + import random + + data = [] + for i in range(num_samples): + # Generate random grades (60-100) + nilai = { + 'nama_siswa': f'Siswa_{i+1}', + 'nilai_informatika': random.randint(60, 100), + 'nilai_fisika': random.randint(60, 100), + 'nilai_kimia': random.randint(60, 100), + 'nilai_biologi': random.randint(60, 100), + 'nilai_big_lanjut': random.randint(60, 100), + 'nilai_ekonomi': random.randint(60, 100), + 'nilai_mat_lanjut': random.randint(60, 100), + 'nilai_sej_lanjut': random.randint(60, 100), + 'nilai_sosiologi': random.randint(60, 100), + 'nilai_geografi': random.randint(60, 100) + } + + # Logic untuk menentukan paket berdasarkan nilai tertinggi + paket = self._determine_best_paket(nilai) + nilai['paket_jurusan'] = paket + + data.append(nilai) + + df = pd.DataFrame(data) + df.to_csv(output_path, index=False) + return df + + def _determine_best_paket(self, nilai): + """Logika sederhana untuk menentukan paket terbaik""" + scores = {} + + # Hitung skor untuk setiap paket berdasarkan mata pelajaran yang relevan + scores[1] = (nilai['nilai_informatika'] + nilai['nilai_fisika'] + nilai['nilai_kimia'] + nilai['nilai_biologi']) / 4 + scores[2] = (nilai['nilai_informatika'] + nilai['nilai_big_lanjut'] + nilai['nilai_kimia'] + nilai['nilai_biologi']) / 4 + scores[3] = (nilai['nilai_informatika'] + nilai['nilai_ekonomi'] + nilai['nilai_big_lanjut'] + nilai['nilai_mat_lanjut']) / 4 + scores[4] = (nilai['nilai_informatika'] + nilai['nilai_ekonomi'] + nilai['nilai_mat_lanjut'] + nilai['nilai_sej_lanjut']) / 4 + scores[5] = (nilai['nilai_informatika'] + nilai['nilai_ekonomi'] + nilai['nilai_sosiologi'] + nilai['nilai_sej_lanjut']) / 4 + scores[6] = (nilai['nilai_informatika'] + nilai['nilai_ekonomi'] + nilai['nilai_sosiologi'] + nilai['nilai_geografi']) / 4 + + return max(scores, key=scores.get) + + def get_paket_info(self, paket_num): + """Mendapatkan informasi paket""" + return self.paket_info.get(paket_num, {}) + + def save_paket_info(self, path): + """Simpan informasi paket ke file JSON""" + with open(path, 'w') as f: + json.dump(self.paket_info, f, indent=2) + \ No newline at end of file diff --git a/models/knn_classifier.py b/models/knn_classifier.py new file mode 100644 index 0000000..d3be46e --- /dev/null +++ b/models/knn_classifier.py @@ -0,0 +1,445 @@ +import pandas as pd +import numpy as np +from sklearn.neighbors import KNeighborsClassifier +from sklearn.preprocessing import StandardScaler +from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV +from sklearn.metrics import accuracy_score, classification_report, confusion_matrix +import joblib +import os +from datetime import datetime +import config + +#inisialisasi KNN +class JurusanKNNClassifier: + def __init__(self, n_neighbors=None, weights=None, metric=None): + if n_neighbors is None: + #menetapkan parameter KNN default dari config jika tidak diberikan saat inisialisasi + n_neighbors = config.DEFAULT_K_NEIGHBORS + if weights is None: + weights = getattr(config, 'KNN_WEIGHTS', 'uniform') + #semua tetangga punya bobot yang sama saat voting + if metric is None: + metric = getattr(config, 'KNN_METRIC', 'minkowski') + #cara hitung jarak antar data + self.knn = KNeighborsClassifier(n_neighbors=n_neighbors, weights=weights, metric=metric) + #membuat scaler untuk normalisasi data + self.scaler = StandardScaler() + #menandai model belum dilatih + self.is_trained = False + self.feature_columns = [] + self.training_accuracy = 0.0 + self.model_last_trained = None + + def check_model_exists(self, model_path): + """Check if trained model exists""" + return os.path.exists(model_path) + + def _get_expected_knn_params(self): + """Get current expected KNN params from config.""" + return { + 'n_neighbors': config.DEFAULT_K_NEIGHBORS, + 'weights': getattr(config, 'KNN_WEIGHTS', 'uniform'), + 'metric': getattr(config, 'KNN_METRIC', 'minkowski') + } + + def _saved_model_matches_config(self, model_data): + """Check whether saved model KNN params match current config.""" + knn = model_data.get('knn') if isinstance(model_data, dict) else None + if knn is None: + return False + + expected = self._get_expected_knn_params() + return ( + getattr(knn, 'n_neighbors', None) == expected['n_neighbors'] and + getattr(knn, 'weights', None) == expected['weights'] and + getattr(knn, 'metric', None) == expected['metric'] + ) + + def needs_retraining(self, data_path, model_path): + """Check if model needs retraining based on data freshness""" + if not self.check_model_exists(model_path): + return True + + # Retrain when saved model parameters differ from current configuration. + try: + model_data = joblib.load(model_path) + if not self._saved_model_matches_config(model_data): + return True + except Exception: + return True + + # Check if data file is newer than model file + if os.path.exists(data_path): + data_modified = os.path.getmtime(data_path) + model_modified = os.path.getmtime(model_path) + return data_modified > model_modified + + return False + + def auto_train_if_needed(self, data_path, model_path=None, test_data_path=None): + """Automatically train model if needed""" + if model_path is None: + model_path = config.MODEL_PATH + try: + if self.needs_retraining(data_path, model_path): + # print("Training model...") + accuracy, report = self.train(data_path, test_data_path=test_data_path) + self.save_model(model_path) + # print(f"Model trained with accuracy: {accuracy:.4f}") + return True, accuracy, report + else: + # print("Loading existing model...") + self.load_model(model_path) + return False, self.training_accuracy, None + except Exception as e: + # print(f"Error in auto training: {str(e)}") + return False, 0.0, None + + #siapkan data fitur dan label untuk training + def prepare_data(self, data_path): + #Membaca dataset dari file CSV. + self.df = pd.read_csv(data_path) + + # kolom fitur (nilai mata pelajaran) + self.feature_columns = ['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi'] + #data nilai mata pelajaran yang digunakan untuk prediksi + X = self.df[self.feature_columns] + y = self.df['paket_jurusan'] + #label paket jurusan + + return X, y + + #untuk melatih model KNN dengan opsi optimasi hyperparameter, cv std + def _print_testing_report(self, y_test, y_pred, labels, accuracy=None, cv_scores=None): + cm = confusion_matrix(y_test, y_pred, labels=labels) + + print("\n" + "=" * 80) + print("DETAIL HASIL TESTING") + print("=" * 80) + + # Model and evaluation context + print("\n0) Konfigurasi Evaluasi") + print(f"Model KNN : k={self.knn.n_neighbors}, weights={self.knn.weights}, metric={self.knn.metric}") + print(f"Cross Validation : {config.CROSS_VALIDATION_FOLDS}-fold") + if accuracy is not None: + print(f"Test Accuracy : {accuracy:.4f} ({accuracy * 100:.2f}%)") + if cv_scores is not None and len(cv_scores) > 0: + cv_mean = float(np.mean(cv_scores)) + cv_std = float(np.std(cv_scores)) + print(f"CV Mean Accuracy : {cv_mean:.4f} ({cv_mean * 100:.2f}%)") + print(f"CV Std Dev : {cv_std:.4f}") + + # 1) Confusion matrix table + cm_df = pd.DataFrame( + cm, + index=[f"Actual {label}" for label in labels], + columns=[f"Pred {label}" for label in labels] + ) + print("\n1) Confusion Matrix") + print(cm_df.to_string()) + + # 1b) Normalized confusion matrix (% per actual class) + cm_row_sum = cm.sum(axis=1, keepdims=True) + cm_row_sum[cm_row_sum == 0] = 1 + cm_norm = (cm / cm_row_sum) * 100.0 + cm_norm_df = pd.DataFrame( + cm_norm, + index=[f"Actual {label}" for label in labels], + columns=[f"Pred {label}" for label in labels] + ) + print("\n1b) Confusion Matrix Normalized (%)") + print(cm_norm_df.to_string(float_format=lambda x: f"{x:.2f}")) + + # 2) TP, FN, FP, TN table per class (one-vs-rest) + tf_table = [] + total = int(cm.sum()) + for idx, label in enumerate(labels): + tp = int(cm[idx, idx]) + fn = int(cm[idx, :].sum() - tp) + fp = int(cm[:, idx].sum() - tp) + tn = int(total - tp - fn - fp) + tf_table.append({ + 'kelas': label, + 'TP': tp, + 'FN': fn, + 'FP': fp, + 'TN': tn + }) + + tf_df = pd.DataFrame(tf_table) + print("\n2) Tabel TP/FN/FP/TN per Kelas") + print(tf_df.to_string(index=False)) + + # 3) Actual vs predicted for all test rows + result_df = pd.DataFrame({ + 'no_data_test': np.arange(1, len(y_test) + 1), + 'nilai_sebenarnya': np.array(y_test), + 'nilai_prediksi': np.array(y_pred) + }) + + def row_status(actual, pred): + return "BENAR" if actual == pred else "SALAH" + + def row_confusion_status(actual, pred): + if actual == pred: + return "TP (kelas aktual), TN" + return f"FN (kelas {actual}), FP (kelas {pred})" + + result_df['status'] = [ + row_status(actual, pred) + for actual, pred in zip(result_df['nilai_sebenarnya'], result_df['nilai_prediksi']) + ] + result_df['status_tpfnfp_tn'] = [ + row_confusion_status(actual, pred) + for actual, pred in zip(result_df['nilai_sebenarnya'], result_df['nilai_prediksi']) + ] + + print(f"\n3) Nilai Sebenarnya vs Nilai Prediksi ({len(result_df)} data test)") + print(result_df.to_string(index=False)) + + # 4) Classification metrics + report_dict = classification_report( + y_test, + y_pred, + labels=labels, + output_dict=True, + zero_division=0 + ) + + metrics_rows = [] + for label in labels: + key = str(label) + metrics_rows.append({ + 'kelas': label, + 'precision': report_dict[key]['precision'], + 'recall': report_dict[key]['recall'], + 'f1-score': report_dict[key]['f1-score'], + 'support': int(report_dict[key]['support']) + }) + + metrics_rows.append({ + 'kelas': 'accuracy', + 'precision': np.nan, + 'recall': np.nan, + 'f1-score': report_dict['accuracy'], + 'support': int(sum(report_dict[str(label)]['support'] for label in labels)) + }) + metrics_rows.append({ + 'kelas': 'macro avg', + 'precision': report_dict['macro avg']['precision'], + 'recall': report_dict['macro avg']['recall'], + 'f1-score': report_dict['macro avg']['f1-score'], + 'support': int(report_dict['macro avg']['support']) + }) + metrics_rows.append({ + 'kelas': 'weighted avg', + 'precision': report_dict['weighted avg']['precision'], + 'recall': report_dict['weighted avg']['recall'], + 'f1-score': report_dict['weighted avg']['f1-score'], + 'support': int(report_dict['weighted avg']['support']) + }) + + metrics_df = pd.DataFrame(metrics_rows) + print("\n4) Precision, Recall, F1-Score, Support, Accuracy, Macro Avg, Weighted Avg") + print(metrics_df.to_string(index=False, float_format=lambda x: f"{x:.4f}" if pd.notna(x) else "")) + print("=" * 80 + "\n") + + #training model knn + def train(self, data_path, optimize_k=None, test_data_path=None): + """Melatih model KNN dengan opsi optimasi hyperparameter""" + if optimize_k is None: + optimize_k = config.OPTIMIZE_K + + X, y = self.prepare_data(data_path) + + # gunakan test_data_path jika diberikan dan valid, jika tidak lakukan split train/test seperti biasa + if test_data_path and os.path.exists(test_data_path): + X_train, y_train = X, y + X_test, y_test = self.prepare_data(test_data_path) + else: + # Split train/test + X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=config.TEST_SIZE, random_state=config.RANDOM_STATE, stratify=y + ) + + # Normalisasi data + X_train_scaled = self.scaler.fit_transform(X_train) + X_test_scaled = self.scaler.transform(X_test) + + # Optimasi hyperparameter k jika diaktifkan + if optimize_k: + best_k = self.find_optimal_k(X_train_scaled, y_train) + self.knn = KNeighborsClassifier( + n_neighbors=best_k, + weights=self.knn.weights, + metric=self.knn.metric + ) + print(f"Optimal k value found: {best_k}") + + # Training + self.knn.fit(X_train_scaled, y_train) + + # Evaluasi, menguji pada data test untuk menghitung akurasi + y_pred = self.knn.predict(X_test_scaled) + y_pred_proba = self.knn.predict_proba(X_test_scaled) + accuracy = accuracy_score(y_test, y_pred) + labels = sorted(set(np.array(y_test)).union(set(np.array(y_pred)))) + + # Cross-validation score + cv_scores = cross_val_score( + self.knn, + X_train_scaled, + y_train, + cv=config.CROSS_VALIDATION_FOLDS + ) + print(f"Cross-validation scores: {cv_scores}") + print(f"Average CV score: {cv_scores.mean():.4f} (+/- {cv_scores.std() * 2:.4f})") + + self.is_trained = True + self.training_accuracy = accuracy + self.model_last_trained = datetime.now() + self.cv_scores = cv_scores + self.cv_mean = float(cv_scores.mean()) + self.cv_std = float(cv_scores.std()) + + # Store test data for performance evaluation + self.X_test = X_test + self.y_test = y_test + self.y_pred = y_pred + self.y_pred_proba = y_pred_proba + self.confusion_matrix = confusion_matrix(y_test, y_pred, labels=labels) + + self._print_testing_report(y_test, y_pred, labels, accuracy=accuracy, cv_scores=cv_scores) + + return accuracy, classification_report(y_test, y_pred, zero_division=0) + + #mencari nilai k terbaik dengan GridSearchCV + def find_optimal_k(self, X_train, y_train, k_range=None): + """Find optimal k using GridSearchCV (uses config.K_RANGE by default).""" + if k_range is None: + k_range = list(config.K_RANGE) + else: + k_range = list(k_range) + + param_grid = {'n_neighbors': k_range} + knn_temp = KNeighborsClassifier(weights=self.knn.weights, metric=self.knn.metric) + + grid = GridSearchCV( + knn_temp, + param_grid, + cv=config.CROSS_VALIDATION_FOLDS, + scoring='accuracy', + n_jobs=-1, + refit=True + ) + + grid.fit(X_train, y_train) + best_k = int(grid.best_params_['n_neighbors']) + # store grid object for inspection or display in UI + self.grid_search_results = grid + return best_k + + #untuk mendapatkan hasil evaluasi model yang sudah dilatih, termasuk akurasi, classification report, confusion matrix, dan waktu pelatihan terakhir + def evaluate_model(self): + if not self.is_trained: + return None + + return { + 'accuracy': accuracy_score(self.y_test, self.y_pred), + 'classification_report': classification_report(self.y_test, self.y_pred, output_dict=True, zero_division=0), + 'confusion_matrix': self.confusion_matrix, + 'training_time': self.model_last_trained + } + + #prediksi paket jurusan untuk siswa baru + def predict(self, nilai_siswa): + if not self.is_trained: + raise ValueError("Model belum dilatih!") + + # Konversi input ke DataFrame + input_df = pd.DataFrame([nilai_siswa], columns=self.feature_columns) + + # Data siswa di normalisasi dengan scaler yang sama seperti saat training + input_scaled = self.scaler.transform(input_df) + + # Prediksi + prediction = self.knn.predict(input_scaled)[0] + probabilities = self.knn.predict_proba(input_scaled)[0] + + # untuk menampilkan semua prediksi dengan probabilitasnya, urutkan berdasarkan probabilitas tertinggi + all_indices = np.argsort(probabilities)[::-1] + all_pakets = [self.knn.classes_[i] for i in all_indices] + all_probs = [probabilities[i] for i in all_indices] + + # untuk menampilkan 3 prediksi teratas dengan probabilitasnya + top_3_pakets = [] + top_3_probs = [] + + # Tambahkan prediksi utama terlebih dahulu + main_prediction_index = np.where(self.knn.classes_ == prediction)[0][0] + top_3_pakets.append(prediction) + top_3_probs.append(probabilities[main_prediction_index]) + + # Tambahkan prediksi lain berdasarkan probabilitas tertinggi, kecuali yang sudah menjadi prediksi utama + for paket, prob in zip(all_pakets, all_probs): + if paket != prediction and len(top_3_pakets) < 3: + top_3_pakets.append(paket) + top_3_probs.append(prob) + + return prediction, list(zip(top_3_pakets, top_3_probs)) + + def save_model(self, path): + """Simpan model dengan informasi tambahan""" + os.makedirs(os.path.dirname(path), exist_ok=True) + model_data = { + 'knn': self.knn, + 'scaler': self.scaler, + 'feature_columns': self.feature_columns, + 'is_trained': self.is_trained, + 'training_accuracy': self.training_accuracy, + 'model_last_trained': self.model_last_trained, + 'n_neighbors': self.knn.n_neighbors if self.is_trained else 5 + } + + # Save evaluation results if available + if hasattr(self, 'X_test') and hasattr(self, 'y_test'): + model_data.update({ + 'X_test': self.X_test, + 'y_test': self.y_test, + 'y_pred': self.y_pred, + 'confusion_matrix': self.confusion_matrix + }) + + joblib.dump(model_data, path) + + def load_model(self, path): + """Load model dengan informasi tambahan""" + model_data = joblib.load(path) + + if not self._saved_model_matches_config(model_data): + expected = self._get_expected_knn_params() + saved_knn = model_data.get('knn') if isinstance(model_data, dict) else None + saved_params = { + 'n_neighbors': getattr(saved_knn, 'n_neighbors', None), + 'weights': getattr(saved_knn, 'weights', None), + 'metric': getattr(saved_knn, 'metric', None) + } + raise ValueError( + f"Saved model configuration {saved_params} does not match current config {expected}." + ) + + self.knn = model_data['knn'] + self.scaler = model_data['scaler'] + self.feature_columns = model_data['feature_columns'] + self.is_trained = model_data['is_trained'] + self.training_accuracy = model_data.get('training_accuracy', 0.0) + self.model_last_trained = model_data.get('model_last_trained', None) + + # Load evaluation results if available + if 'X_test' in model_data: + self.X_test = model_data['X_test'] + self.y_test = model_data['y_test'] + self.y_pred = model_data['y_pred'] + self.confusion_matrix = model_data['confusion_matrix'] \ No newline at end of file diff --git a/models/knn_model.pkl b/models/knn_model.pkl new file mode 100644 index 0000000000000000000000000000000000000000..fc6486628e6ac94bbf15c851a9ad29def91bd16f GIT binary patch literal 55778 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�gb>Z0fUf0nut}wv(iZHG&Tz9|Y zo^ZWzRR27TcfKxMPlkCW!*Qc|d%k1OL&NpPaBRKG$B|q;VI0~Uu6w@Y9_PdOLU?|` z^TIJXyTkc9=fiy!;kZnVi)ckS{)AlNd@`cF?hotQ6KJDxYbb^HT$e@__KYkZ*Ob=~+z*8}YyfEL1e;~g8{802uhCmtWJyDz5h?+*8ow>Off zCz`Ku?oWpC{LOPJoDY;8yT3b}uOnxmuJ^bvqV7w&FIZy1NV-?968 z;^&3?lHt7Tp6k9k&x!7@2*=$6oKHsA@iE?Uqx%Dm&nG{HkLx{QT%&m%8}h55Ki92G zqw(Ro^Y|5_=f>9?!+mw(ITc}iPoRZJFWuw_u6(mULlO{4YWJZM&rXc&%w9gd4al~bc|m(t_ZXz(B44J zr#Ivutdac|E5a|8SpqRNxzEqjAx?lCL*huM2Wjgk$G>!f`Ut?!c!v@Hfu+x^TTf4)gW= za9rjaj;+fl&byDC;keQHKnvs#v^<}1+(`a#+#US4JDe}zAK^f6;NKgro44`iT@m>9 z#Lo-&^+fkOt_b|=%p=h5z{hhP*Wnk&HHPCDzsOS;&DZ%@ZgLbNzMk*C#^`!?c)t5x zcc1HZ;l2WS!?E+mJMJ-#9fk49K#j*Q8OC>q>y7w_^R5@7`+LH1Pc$xxkMsBi>bm5&}5)>fx6Ez|E&x6yIu(6yTkd4;LmmDA1FDE!?(h7 z!~IG3MbGg(&+jqbxInwZ{f&Wd!Fk8wI{$S&8OGHGnhf*k3CG5fyF4!Ntq9{91MNO0 zx!}Tz{(srwQ@Waq+Y7}OW_DOdOLJ4{k7(9c6gyy*r56Y4hm`(*ZeM$I(|_*3O--MY z?ifEM)lux*)ixBjjT#PZEuJei)9%X-^K)q%WoX|vOWa~BZ;YIo*>P~&qo@td-~a!% zJtl zSHDl`hjj6W%08ayzAcfV4aM!JVl%j8HX6gF9m-Un9i3P-)Kq6@vE_S4ac8ArT1#qr z-;bN5T3Tk!>1deRHM?lW#g25bOFbps(vh3rQQ8We8`{q6uPt*&y1hAFwEXHx{Xb|r zXKu;-D!cxqVmrJg9krEaqc(HaZKIkyz$QC=Qx(fc;`{)$>-R0)N_sVJks}C)hDM~x=I&5-N3^8R^+jMYpA#SB z3#a+bXTgYxTiKH^Y`L@X+M-@o+|-m--`*kRA$K; zxy*~j|6ZQoani`*B4pQ{otlyEY&fZ_y{n`6dP6@#7T=DT`tKNB>CKvk;-+(Z^C_``RM%IR_ewtweCvI@7hn3x`@X@7 l|7}teMw0K-ZZtpd<$l`u`1=2=ob)mxX7nk?v7BAw{|}{$Tz~)o literal 0 HcmV?d00001 diff --git a/redistribute_smakom_dataset.py b/redistribute_smakom_dataset.py new file mode 100644 index 0000000..6f37b60 --- /dev/null +++ b/redistribute_smakom_dataset.py @@ -0,0 +1,283 @@ +import pandas as pd +import numpy as np +import random +from collections import Counter + +def rebalance_smakom_without_duplication(): + """ + Rebalance dataset_smakom tanpa duplikasi + - Mengambil siswa dari paket berlebih untuk melengkapi paket yang kurang + - Mempertahankan urutan data seperti dataset asli + - Label disesuaikan berdasarkan redistribusi + """ + + # Muat dataset asli + df_original = pd.read_csv('data/dataset_smakom.csv') + + print("=== REBALANCE DATASET SMAKOM (TANPA DUPLIKASI) ===") + print(f"Dataset asli: {len(df_original)} siswa") + + original_dist = df_original['paket_jurusan'].value_counts().sort_index() + print("Distribusi asli:") + + surplus_students = [] # Siswa dari paket berlebih + deficit_pakets = [] # Paket yang kekurangan + + for paket in sorted(original_dist.index): + count = original_dist[paket] + if count > 50: + surplus = count - 50 + print(f" Paket {paket}: {count} siswa (SURPLUS: {surplus})") + elif count < 50: + deficit = 50 - count + deficit_pakets.append((paket, deficit, count)) + print(f" Paket {paket}: {count} siswa (KURANG: {deficit})") + else: + print(f" Paket {paket}: {count} siswa (SEIMBANG)") + + print(f"\nPaket yang kekurangan: {[p[0] for p in deficit_pakets]}") + + # Atur seed untuk reproducibility + np.random.seed(42) + random.seed(42) + + # Kumpulkan siswa surplus dari paket berlebih + available_students = [] + + for paket in [1, 4]: # Paket yang berlebih (67 dan 100 siswa) + paket_students = df_original[df_original['paket_jurusan'] == paket].copy() + if paket == 1: # 67 siswa, ambil 17 untuk redistribusi + selected = paket_students.sample(n=50, random_state=42) # Siswa yang tetap di paket 1 + surplus = paket_students.drop(selected.index) # 17 siswa untuk redistribusi + elif paket == 4: # 100 siswa, ambil 50 untuk redistribusi + selected = paket_students.sample(n=50, random_state=42) # Siswa yang tetap di paket 4 + surplus = paket_students.drop(selected.index) # 50 siswa untuk redistribusi + + available_students.extend(surplus.to_dict('records')) + + print(f"Siswa tersedia untuk redistribusi: {len(available_students)}") + + # Hitung kebutuhan redistribusi + total_needed = sum([deficit for _, deficit, _ in deficit_pakets]) + print(f"Total kebutuhan: {total_needed} siswa") + + if len(available_students) >= total_needed: + print("✅ Cukup siswa untuk redistribusi tanpa duplikasi") + else: + print("❌ Tidak cukup siswa, akan perlu duplikasi") + return None + + # Buat dataset baru + df_rebalanced = df_original.copy() + + # Redistribute siswa + used_students = 0 + + for target_paket, needed, current_count in deficit_pakets: + print(f"\nMelengkapi Paket {target_paket}: {current_count} → 50 (+{needed})") + + # Ambil siswa yang dibutuhkan + students_to_add = available_students[used_students:used_students + needed] + used_students += needed + + # Perbarui label paket untuk siswa yang dipindah + for student in students_to_add: + # Cari siswa di dataframe dan perbarui label + mask = (df_rebalanced['nama_siswa'] == student['nama_siswa']) + if mask.any(): + old_paket = df_rebalanced.loc[mask, 'paket_jurusan'].iloc[0] + df_rebalanced.loc[mask, 'paket_jurusan'] = target_paket + print(f" - {student['nama_siswa'][:25]:25} | {old_paket} → {target_paket}") + + # Validasi distribusi final + final_dist = df_rebalanced['paket_jurusan'].value_counts().sort_index() + print(f"\n=== DISTRIBUSI FINAL ===") + for paket in sorted(final_dist.index): + print(f" Paket {paket}: {final_dist[paket]} siswa") + + # Normalisasi nilai berdasarkan label baru + df_normalized = normalize_values_by_new_labels(df_rebalanced) + + return df_normalized + +def normalize_values_by_new_labels(df): + """ + Normalisasi nilai berdasarkan label paket yang sudah direbalance + """ + print(f"\n=== NORMALISASI NILAI BERDASARKAN LABEL BARU ===") + + # Definisi mata pelajaran utama per paket + paket_subjects = { + 1: ['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi'], # MIPA + 2: ['nilai_informatika', 'nilai_big_lanjut', 'nilai_kimia', 'nilai_biologi'], # MIPA + BIG + 3: ['nilai_informatika', 'nilai_ekonomi', 'nilai_big_lanjut', 'nilai_mat_lanjut'], # Teknik/Ekonomi + 4: ['nilai_informatika', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut'], # Ekonomi/Sosial + 5: ['nilai_informatika', 'nilai_ekonomi', 'nilai_sosiologi', 'nilai_sej_lanjut'], # Sosial/Ekonomi + 6: ['nilai_informatika', 'nilai_ekonomi', 'nilai_sosiologi', 'nilai_geografi'] # Sosial/Geografi + } + + all_subjects = ['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi'] + + df_result = df.copy() + + # Track perubahan untuk siswa yang dipindah paket + redistribution_log = [] + + for paket in range(1, 7): + mask = df_result['paket_jurusan'] == paket + students_count = mask.sum() + target_subjects = paket_subjects[paket] + non_target_subjects = [s for s in all_subjects if s not in target_subjects] + + print(f"Paket {paket} ({students_count} siswa):") + print(f" - Mata pelajaran utama: {[s.replace('nilai_', '') for s in target_subjects]}") + + # Normalisasi mata pelajaran UTAMA: tinggi (85-98) + for subject in target_subjects: + if subject == 'nilai_informatika': + # Informatika prioritas utama + new_values = np.random.normal(92, 3, size=students_count) + new_values = np.clip(new_values, 85, 98) + else: + # Mata pelajaran utama lainnya + new_values = np.random.normal(89, 4, size=students_count) + new_values = np.clip(new_values, 85, 98) + + df_result.loc[mask, subject] = np.round(new_values, 1) + + # Normalisasi mata pelajaran NON-UTAMA: rendah (70-82) + for subject in non_target_subjects: + new_values = np.random.normal(76, 3, size=students_count) + new_values = np.clip(new_values, 70, 82) + df_result.loc[mask, subject] = np.round(new_values, 1) + + return df_result + +def sort_by_preference(df, sort_by='original'): + """ + Urutkan dataset berdasarkan preferensi + - 'original': urutan sama seperti dataset_smakom asli + - 'label': diurutkan berdasarkan paket_jurusan kemudian nama + """ + + if sort_by == 'label': + print("Mengurutkan berdasarkan label paket...") + df_sorted = df.sort_values(['paket_jurusan', 'nama_siswa']).reset_index(drop=True) + else: # 'original' + print("Mempertahankan urutan asli dari dataset_smakom...") + # Muat urutan asli + df_original = pd.read_csv('data/dataset_smakom.csv') + + # Buat pemetaan urutan berdasarkan nama siswa + name_order = {name: idx for idx, name in enumerate(df_original['nama_siswa'])} + + # Tetapkan urutan untuk pengurutan + df['sort_order'] = df['nama_siswa'].map(name_order) + + # Urutkan berdasarkan urutan asli + df_sorted = df.sort_values('sort_order').drop('sort_order', axis=1).reset_index(drop=True) + + return df_sorted + +def validate_rebalanced_dataset(df): + """Validasi dataset yang sudah direbalance""" + print(f"\n=== VALIDASI DATASET REBALANCED ===") + + # Distribusi + dist = df['paket_jurusan'].value_counts().sort_index() + print("Distribusi final:") + for paket in sorted(dist.index): + print(f" Paket {paket}: {dist[paket]} siswa") + + # Gap nilai + paket_subjects = { + 1: ['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi'], + 2: ['nilai_informatika', 'nilai_big_lanjut', 'nilai_kimia', 'nilai_biologi'], + 3: ['nilai_informatika', 'nilai_ekonomi', 'nilai_big_lanjut', 'nilai_mat_lanjut'], + 4: ['nilai_informatika', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut'], + 5: ['nilai_informatika', 'nilai_ekonomi', 'nilai_sosiologi', 'nilai_sej_lanjut'], + 6: ['nilai_informatika', 'nilai_ekonomi', 'nilai_sosiologi', 'nilai_geografi'] + } + + all_subjects = ['nilai_informatika', 'nilai_fisika', 'nilai_kimia', 'nilai_biologi', + 'nilai_big_lanjut', 'nilai_ekonomi', 'nilai_mat_lanjut', 'nilai_sej_lanjut', + 'nilai_sosiologi', 'nilai_geografi'] + + print("\nGap nilai (Target vs Non-Target):") + for paket in range(1, 7): + data_paket = df[df['paket_jurusan'] == paket] + target_subjects = paket_subjects[paket] + non_target_subjects = [s for s in all_subjects if s not in target_subjects] + + avg_target = data_paket[target_subjects].mean().mean() + avg_non_target = data_paket[non_target_subjects].mean().mean() + gap = avg_target - avg_non_target + + print(f" Paket {paket}: Target={avg_target:.1f}, Non-target={avg_non_target:.1f}, Gap={gap:.1f}") + +def test_knn_accuracy(dataset_path): + """Test akurasi KNN""" + print(f"\n=== TEST AKURASI KNN ===") + + try: + from models.knn_classifier import JurusanKNNClassifier + + classifier = JurusanKNNClassifier() + accuracy, report = classifier.train(dataset_path, optimize_k=True) + + print(f"Akurasi KNN: {accuracy:.4f} ({accuracy*100:.2f}%)") + return accuracy + + except Exception as e: + print(f"Error: {str(e)}") + return 0.0 + +if __name__ == "__main__": + # Rebalance tanpa duplikasi + df_rebalanced = rebalance_smakom_without_duplication() + + if df_rebalanced is not None: + # Pilih urutan data + print(f"\n=== PENGATURAN URUTAN DATA ===") + sort_preference = 'original' # atau 'label' + df_final = sort_by_preference(df_rebalanced, sort_by=sort_preference) + + # Validasi + validate_rebalanced_dataset(df_final) + + # Simpan dataset + output_path = 'data/dataset_smakom_final.csv' + df_final.to_csv(output_path, index=False) + print(f"\nDataset tersimpan di: {output_path}") + + # Test akurasi + new_accuracy = test_knn_accuracy(output_path) + + # Bandingkan dengan dataset lainnya + print(f"\n=== PERBANDINGAN AKURASI ===") + try: + smakom_accuracy = test_knn_accuracy('data/dataset_smakom.csv') + siswa_accuracy = test_knn_accuracy('data/dataset_siswa.csv') + + print(f"Dataset SMAKOM asli : {smakom_accuracy:.4f} ({smakom_accuracy*100:.2f}%)") + print(f"Dataset siswa sebelumnya : {siswa_accuracy:.4f} ({siswa_accuracy*100:.2f}%)") + print(f"Dataset SMAKOM final : {new_accuracy:.4f} ({new_accuracy*100:.2f}%)") + + improvement = (new_accuracy - smakom_accuracy) * 100 + print(f"\nPeningkatan dari SMAKOM : +{improvement:.2f} pp") + + except Exception as e: + print(f"Error saat membandingkan: {str(e)}") + + print(f"\n=== RINGKASAN ===") + print("✅ Tidak ada duplikasi siswa") + print("✅ Semua siswa dari dataset_smakom asli") + print("✅ Distribusi seimbang 50 per paket") + print("✅ Urutan data sesuai dataset asli") + print("✅ Label disesuaikan untuk keseimbangan") + print(f"✅ Akurasi KNN: {new_accuracy:.1%}") + + else: + print("❌ Gagal melakukan rebalancing tanpa duplikasi") \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e86e1e6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,10 @@ +PyQt5==5.15.10 +pandas==2.1.4 +numpy==1.24.3 +scikit-learn==1.3.2 +matplotlib==3.7.2 +seaborn==0.12.2 +psycopg2-binary==2.9.9 +joblib==1.3.2 +xlsxwriter==3.1.9 +openpyxl==3.1.2 \ No newline at end of file diff --git a/scripts/plot_dataset_distribution.py b/scripts/plot_dataset_distribution.py new file mode 100644 index 0000000..e15c651 --- /dev/null +++ b/scripts/plot_dataset_distribution.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +"""Plot class distribution before and after undersampling. + +Usage: python scripts/plot_dataset_distribution.py +""" +import os +import sys +import pandas as pd +import matplotlib.pyplot as plt +from sklearn.decomposition import PCA +from sklearn.preprocessing import StandardScaler + + +def safe_read_csv(path): + if not os.path.exists(path): + print(f"File not found: {path}") + sys.exit(1) + return pd.read_csv(path) + + +def plot_distribution_scatter(before_df, after_df, label_col='paket_jurusan'): + # Select numeric feature columns (exclude name and label) + numeric_cols = [c for c in before_df.columns if c.startswith('nilai_')] + + # Prepare data for PCA: combine both datasets to get consistent projection + combined = pd.concat([before_df[numeric_cols], after_df[numeric_cols]], ignore_index=True) + scaler = StandardScaler() + combined_scaled = scaler.fit_transform(combined.values) + + pca = PCA(n_components=2) + combined_2d = pca.fit_transform(combined_scaled) + + before_2d = combined_2d[: len(before_df)] + after_2d = combined_2d[len(before_df) :] + + # plotting + fig, axes = plt.subplots(1, 2, figsize=(14, 6), sharex=True, sharey=True) + + def draw_scatter(ax, points, labels, title): + classes = sorted(labels.unique()) + cmap = plt.get_cmap('tab10') + for i, cls in enumerate(classes): + mask = labels == cls + ax.scatter(points[mask, 0], points[mask, 1], s=40, alpha=0.8, + color=cmap(i % 10), label=f'Kelas {cls}') + ax.set_title(title) + ax.set_xlabel('PCA 1') + ax.set_ylabel('PCA 2') + ax.legend(loc='best', fontsize='small') + + draw_scatter(axes[0], before_2d, before_df[label_col], 'Sebelum Under-sampling') + draw_scatter(axes[1], after_2d, after_df[label_col], 'Sesudah Under-sampling') + + fig.suptitle('Sebaran Titik Data (2D PCA) — Sebelum vs Sesudah Under-sampling') + fig.tight_layout(rect=[0, 0.03, 1, 0.95]) + + out_dir = os.path.join(os.path.dirname(__file__), '..', 'data') + os.makedirs(out_dir, exist_ok=True) + out_path = os.path.join(out_dir, 'dataset_scatter_comparison.png') + fig.savefig(out_path, dpi=150) + print(f"Saved scatter comparison plot to: {out_path}") + + plt.show() + + +def main(): + repo_root = os.path.dirname(os.path.dirname(__file__)) + data_dir = os.path.join(repo_root, 'data') + before_path = os.path.join(data_dir, 'dataset_smakom.csv') + after_path = os.path.join(data_dir, 'dataset_smakom_final.csv') + + before_df = safe_read_csv(before_path) + after_df = safe_read_csv(after_path) + + if 'paket_jurusan' not in before_df.columns or 'paket_jurusan' not in after_df.columns: + print('Expected column "paket_jurusan" not found in one of the files.') + sys.exit(1) + + plot_distribution_scatter(before_df, after_df, label_col='paket_jurusan') + + +if __name__ == '__main__': + main() diff --git a/setup_db.bat b/setup_db.bat new file mode 100644 index 0000000..01dccab --- /dev/null +++ b/setup_db.bat @@ -0,0 +1,51 @@ +@echo off +setlocal + +cd /d "%~dp0" + +set "DB_NAME=db_klasifikasi" +set "DB_USER=postgres" + +if not "%~1"=="" set "DB_USER=%~1" + +echo ================================================ +echo Setup Database PostgreSQL + echo Database : %DB_NAME% + echo User : %DB_USER% +echo ================================================ + +where psql >nul 2>&1 +if errorlevel 1 ( + echo [ERROR] psql tidak ditemukan di PATH. + echo Install PostgreSQL dulu dan pastikan psql bisa dipanggil dari CMD. + pause + exit /b 1 +) + +for /f %%i in ('psql -U %DB_USER% -d postgres -tAc "SELECT 1 FROM pg_database WHERE datname='"'"'%DB_NAME%'"'"'"') do set DB_EXISTS=%%i + +if "%DB_EXISTS%"=="1" ( + echo [INFO] Database %DB_NAME% sudah ada. +) else ( + echo [INFO] Membuat database %DB_NAME%... + psql -U %DB_USER% -d postgres -c "CREATE DATABASE %DB_NAME%;" + if errorlevel 1 ( + echo [ERROR] Gagal membuat database. + pause + exit /b 1 + ) +) + +echo [INFO] Menjalankan schema: db\schema.sql ... +psql -U %DB_USER% -d %DB_NAME% -f "db\schema.sql" +if errorlevel 1 ( + echo [ERROR] Gagal menjalankan schema SQL. + pause + exit /b 1 +) + +echo. +echo [OK] Database siap. +echo Selanjutnya jalankan aplikasi EXE. +echo. +pause diff --git a/utils/helpers.py b/utils/helpers.py new file mode 100644 index 0000000..e69de29