EduLaptop Advisor
Aplikasi sistem pakar sederhana berbasis forward chaining untuk rekomendasi laptop mahasiswa.
pythonflaskreactsistem-pakarforward-chainingaiproyek-kampus
Bagikan proyek ini:
Tentang Proyek
π EduLaptop Advisor
Aplikasi sederhana berbasis Forward Chaining yang merekomendasikan laptop terbaik untuk mahasiswa berdasarkan jurusan, aktivitas utama, dan anggaran (budget). Dibuat menggunakan React (Frontend) dan Flask (Backend).
π¨βπ» Identitas Pembuat
| Nama | NPM | Mata Kuliah |
|---|---|---|
| Daffa Fathan | 4522210082 | Intelligent System |
π§ Deskripsi Singkat
EduLaptop Advisor merupakan sistem pakar sederhana yang menggunakan metode forward chaining untuk menentukan rekomendasi laptop yang sesuai dengan kebutuhan pengguna. Pengguna hanya perlu memilih:
- Jurusan (misal: Informatika, DKV, Bisnis, dsb)
- Aktivitas utama (misal: Coding, Desain, Office)
- Anggaran / Budget (Rp)
Lalu sistem akan menampilkan rekomendasi laptop beserta aturan-aturan (rules) yang digunakan dalam proses inferensi.
βοΈ Teknologi yang Digunakan
Backend
- Python 3.x
- Flask
- Flask-CORS
Frontend
- React + Vite
- Tailwind CSS
π Cara Menjalankan Proyek
1. Jalankan Backend (Flask)
cd backend
pip install flask flask-cors
python app.py
Secara default, backend akan berjalan di:
http://localhost:5000
2. Jalankan Frontend (React)
cd frontend
npm install
npm run dev
Frontend akan berjalan di:
http://localhost:5173
π§© Struktur Proyek
EduLaptop-Advisor/
βββ backend/
β βββ app.py
β βββ requirements.txt
β
βββ frontend/
β βββ src/
β β βββ App.jsx
β β βββ App.css
β β βββ ...
β βββ package.json
β
βββ README.md
π§ Contoh Aturan (Forward Chaining Rules)
| Kondisi | Aturan yang Digunakan | Rekomendasi |
|---|---|---|
| Jurusan Informatika + Aktivitas Coding + Budget 12jt | Butuh CPU kuat & RAM besar | ASUS ZenBook 14 / Acer Swift X |
| Jurusan DKV + Aktivitas Desain + Budget 9jt | Butuh GPU Dedicated & Layar IPS | ASUS Vivobook 15 / IdeaPad Slim 3 |
| Jurusan Bisnis + Aktivitas Office + Budget 6jt | Butuh laptop ringan & hemat daya | Acer Swift 1 / Lenovo IdeaPad 1 |
π§Ύ Endpoint API
POST /recommend
Request Body:
{
"jurusan": "informatika",
"aktivitas": "coding",
"budget": 12000000
}
Response:
{
"input_fakta_awal": ["jurusan_informatika", "aktivitas_coding", "budget_mid"],
"fakta_akhir": [
"jurusan_informatika",
"aktivitas_coding",
"butuh_cpu_i5",
"butuh_ram_8gb",
"butuh_ram_16gb",
"kategori_mid_range",
"rekomendasi_vivobook_lenovo_ideapad"
],
"log_inferensi": [
"Rule diterapkan: {'jurusan_informatika'} β butuh_cpu_i5",
"Rule diterapkan: {'jurusan_informatika'} β butuh_ram_8gb",
"Rule diterapkan: {'aktivitas_coding'} β butuh_cpu_i5",
"Rule diterapkan: {'aktivitas_coding'} β butuh_ram_16gb",
"Rule diterapkan: {'budget_mid'} β kategori_mid_range",
"Rule diterapkan: {'kategori_mid_range'} β rekomendasi_vivobook_lenovo_ideapad"
],
"rekomendasi": "ASUS Vivobook 15 / Lenovo IdeaPad Slim 3 / HP 14"
}
POST /feedback
Request Body
{
"jurusan": "informatika",
"aktivitas": "coding",
"budget": 9000000,
"rekomendasi": "ASUS Vivobook 15 / Lenovo IdeaPad Slim 3 / HP 14",
"feedback": "sesuai"
}
Response
{
"status": "success",
"message": "Feedback diterima dan disimpan ke learning_data.json"
}
Catatan:
- Nilai feedback dapat berupa "sesuai" atau "tidak_sesuai".
- Sistem akan memantau kombinasi yang sering mendapat feedback positif.
- Jika pola tertentu muncul berulang kali, sistem secara otomatis menambah aturan baru agar inferensi berikutnya lebih relevan.
𧬠Mekanisme Agen Pembelajaran (Learning Agent)
- Sistem menyimpan setiap kombinasi fakta + hasil rekomendasi + umpan balik pengguna.
- Jika pola tertentu (misal: βjurusan desain + aktivitas editing + budget tinggiβ) sering mendapat umpan balik positif, maka:
IF jurusan_desain AND aktivitas_editing AND budget_high β rekomendasi_macbook_air_m2
akan secara otomatis ditambahkan ke basis pengetahuan.
- Dengan ini, sistem belajar secara adaptif, sehingga rekomendasi berikutnya semakin sesuai dengan preferensi pengguna.