# Pengujian Efektivitas Sistem Rekomendasi OCR + Gemini AI ## Struktur File ``` tools/pengujian_ai/ ├── skenario_pengujian.csv # 30 skenario input pengujian Gemini AI ├── hasil_pengujian_template.csv # Template isi hasil aktual dari aplikasi ├── evaluasi_gemini.py # Script confusion matrix + classification report ├── evaluasi_ocr.py # Script uji WER/CER akurasi OCR └── README.md # Panduan ini ``` --- ## Langkah 1 — Install Dependencies ```bash pip install scikit-learn pandas matplotlib jiwer openpyxl ``` --- ## Langkah 2 — Uji Gemini AI (Confusion Matrix) ### A. Lakukan pengujian manual di aplikasi Buka `skenario_pengujian.csv`. Setiap baris adalah 1 skenario uji. Untuk setiap skenario, jalankan aplikasi dengan input yang sesuai, lalu catat: | Yang Dicatat | Kolom di Script | |---|---| | Apakah kategori rekomendasi sesuai? (1/0) | `kategori_actual` | | Apakah harga tidak melebihi budget? (1/0) | `budget_actual` | | Apakah tidak ada alergen? (1/0) | `alergen_actual` | | Apakah semua kriteria terpenuhi? (1/0) | `overall_actual` | ### B. Edit `evaluasi_gemini.py` Ganti bagian `# ISI DARI HASIL PENGUJIAN APLIKASI` dengan angka 1/0 sesuai hasil Anda. ### C. Jalankan ```bash cd tools/pengujian_ai python evaluasi_gemini.py ``` **Output yang dihasilkan:** - Tabel Confusion Matrix (TP, FP, FN, TN) per kriteria - Accuracy, Precision, Recall, F1-Score - Gambar `confusion_matrix_gemini.png` (siap masuk laporan) - Classification Report lengkap --- ## Langkah 3 — Uji Akurasi OCR (WER/CER) ### A. Siapkan data Ambil 20–30 foto menu Amor Coffee. Untuk setiap foto, ketik manual teks yang tertera (ground truth), lalu catat teks hasil OCR dari aplikasi. ### B. Edit `evaluasi_ocr.py` Isi list `data_ocr` dengan tuple `(foto_id, ground_truth, hasil_ocr)`. ### C. Jalankan ```bash python evaluasi_ocr.py ``` **Output yang dihasilkan:** - WER & CER per foto - Rata-rata akurasi OCR keseluruhan - File `hasil_uji_ocr.xlsx` --- ## Cara Baca Hasil ### Confusion Matrix | | Prediksi Valid | Prediksi Tidak Valid | |---|---|---| | **Aktual Valid** | TP ✅ | FN ❌ | | **Aktual Tidak Valid** | FP ❌ | TN ✅ | ### Rumus Metrik | Metrik | Rumus | Artinya | |---|---|---| | Accuracy | (TP+TN)/(TP+FP+FN+TN) | % prediksi benar secara keseluruhan | | Precision | TP/(TP+FP) | Dari yang dinyatakan valid, berapa % benar? | | Recall | TP/(TP+FN) | Dari yang seharusnya valid, berapa % terdeteksi? | | F1-Score | 2×P×R/(P+R) | Rata-rata harmonis Precision & Recall | ### Interpretasi WER/CER (OCR) | Nilai | Interpretasi | |---|---| | WER < 5% | ✅ Sangat Baik | | WER 5–15% | ✅ Baik | | WER 15–30% | ⚠️ Cukup | | WER > 30% | ❌ Perlu perbaikan | --- ## Sitasi untuk Skripsi ``` Agnes Permata Sari, Fathiya Salamah, Zaka Gustian, M Chairul Fajrin. (2024). Pemanfaatan Teknologi AI Seperti ChatGPT, Gemini, dan Perplexity dalam Pengerjaan Tugas Mahasiswa. Scientica: Jurnal Ilmiah Sains dan Teknologi, Vol. 3 No. 2, hal. 481–487. ```