EduLaptop Advisor

Aplikasi sistem pakar sederhana berbasis forward chaining untuk rekomendasi laptop mahasiswa.

pythonflaskreactsistem-pakarforward-chainingaiproyek-kampus

Bagikan proyek ini:

Tentang Proyek

πŸŽ“ EduLaptop Advisor

image

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:

  1. Jurusan (misal: Informatika, DKV, Bisnis, dsb)
  2. Aktivitas utama (misal: Coding, Desain, Office)
  3. 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:

  1. Nilai feedback dapat berupa "sesuai" atau "tidak_sesuai".
  2. Sistem akan memantau kombinasi yang sering mendapat feedback positif.
  3. Jika pola tertentu muncul berulang kali, sistem secara otomatis menambah aturan baru agar inferensi berikutnya lebih relevan.

🧬 Mekanisme Agen Pembelajaran (Learning Agent)

  1. Sistem menyimpan setiap kombinasi fakta + hasil rekomendasi + umpan balik pengguna.
  2. 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.

  1. Dengan ini, sistem belajar secara adaptif, sehingga rekomendasi berikutnya semakin sesuai dengan preferensi pengguna.
EduLaptop Advisor | Daffathan Labs | Daffathan Labs