EduLaptop Advisor
Aplikasi expert system sederhana berbasis forward chaining untuk rekomendasi laptop mahasiswa.
pythonflaskreactexpert-systemforward-chainingaicampus-project
Share this project:
Project Overview
π EduLaptop Advisor
Aplikasi sederhana berbasis Forward Chaining yang merekomendasikan laptop terbaik untuk mahasiswa berdasarkan jurusan, aktivitas utama, dan 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 kebutuhan pengguna.
Pengguna hanya perlu memilih:
- Jurusan (misal: Informatika, DKV, Bisnis, dsb)
- Aktivitas utama (misal: Coding, Desain, Office)
- 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 Project
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 Project
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 |
π§Ύ API Endpoint
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 otomatis menambah aturan baru agar inferensi berikutnya lebih relevan.
𧬠Mekanisme Learning Agent
- Sistem menyimpan setiap kombinasi fakta + hasil rekomendasi + feedback pengguna.
- Jika pola tertentu (misal: βjurusan desain + aktivitas editing + budget tinggiβ) sering mendapat feedback positif, maka:
IF jurusan_desain AND aktivitas_editing AND budget_high β rekomendasi_macbook_air_m2
akan otomatis ditambahkan ke basis pengetahuan.
- Dengan ini, sistem belajar secara adaptif, sehingga rekomendasi berikutnya semakin sesuai dengan preferensi pengguna.