Sistem Pakar berbasis aturan untuk seleksi kandidat Fullstack Developer menggunakan Dual Process Mechanism dengan 5 level evaluasi bertingkat.
- Dual Process Evaluation: Sistem evaluasi berlapis dengan 5 level (Screening → Hard Skills + Soft Skills → Live Coding → Nilai Tambahan → Keputusan Akhir)
- Position-Based Assessment: Mendukung posisi Junior dan Middle Fullstack Developer dengan kriteria berbeda
- Mandatory Factor Checking: Validasi faktor wajib sesuai level posisi
- Interactive CLI Interface: Interface command-line yang user-friendly
- Comprehensive Reporting: Laporan lengkap dengan breakdown per dimensi dan alur keputusan
- 31 Expert Rules: Implementasi 31 aturan pakar yang komprehensif
- Python 3.8+
- experta library
-
Clone repository ini:
git clone https://github.com/chasieee/RBES-Prototype.git cd RBES-Prototype -
Install dependencies:
pip install experta
-
Jalankan sistem:
python main.py
rbes-recruitment/
│
├── main.py # Entry point aplikasi
├── rules.py # 31 Expert rules dengan Dual Process
├── facts.py # Definisi fakta dan struktur data
├── mappings.py # Mapping kriteria dan scoring
├── ui.py # User interface dan input handling
├── report.py # Generator laporan komprehensif
├── debug_facts.py # Utility debugging
└── README.md # Dokumentasi ini
python main.py- Masukkan nama kandidat
- Pilih posisi yang dilamar (Junior/Middle Fullstack Developer)
Sistem akan memandu Anda melalui 5 level evaluasi:
- Personality Test
- Tes Tertulis (minimal 60% untuk lanjut)
Hard Skills (11 aspek):
- Bahasa Pemrograman (PHP/JS/TS)
- Database MySQL
- Framework Development
- Unit Testing
- SDLC (Software Development Life Cycle)
- Design Pattern
- Microservice Architecture
- Docker Containerization
- CI/CD Pipeline
- Cloud Platform
- Payment Gateway Integration
Soft Skills (3 aspek):
- Problem Solving
- Komunikasi
- Adaptabilitas
- Pemahaman Konsep Dasar
- Problem Solving & Critical Thinking
- Efisiensi & Kualitas Kode
- Development Tools Mastery
- Fleksibilitas Jam Kerja
- Konsistensi Career Path
- Sertifikasi Relevan
Sistem menghasilkan rekomendasi:
- Layak: Kandidat memenuhi semua kriteria dengan baik
- Layak Dipertimbangkan: Kandidat cukup baik dengan beberapa keunggulan
- Kurang Layak: Kandidat tidak memenuhi kriteria minimum
Sistem akan menghasilkan laporan komprehensif berisi:
- Ringkasan input per dimensi
- Alur Dual Process evaluation
- Rules yang terpicu
- Rekomendasi final dengan alasan
- Breakdown scoring hard skills
Sistem menggunakan pendekatan binary gate di setiap level:
- ✅ PASS: Lanjut ke level berikutnya
- ❌ STOP: Sistem berhenti, kandidat dinyatakan "Kurang Layak"
Junior Developer:
- HS1 (Programming), HS2 (MySQL), HS5 (SDLC), HS6 (Design Pattern)
Middle Developer:
- Semua Hard Skills kecuali HS7 (Microservice), HS10 (Cloud), HS11 (Payment Gateway)
Hard Skills Scoring:
- Level 3 (Expert): Bobot 3
- Level 2 (Intermediate): Bobot 2
- Level 1 (Basic): Bobot 1
Threshold:
- Junior: 11-20 poin
- Middle: 21+ poin
=== LAPORAN HASIL SISTEM PAKAR SELEKSI KANDIDAT ===
INFORMASI KANDIDAT:
Nama : John Doe
Posisi : Middle Fullstack Developer
ALUR DUAL PROCESS:
Level1: ✓ PASS
Level2: ✓ PASS
Level3: ✓ PASS
Level4: ✓ PASS
Level5: → COMPLETE
HASIL KEPUTUSAN:
REKOMENDASI: Layak
ALASAN : Kandidat lolos screening dengan sangat baik, memiliki hardskill yang memenuhi, performa live coding sangat baik, dan softskill memadai.
Untuk testing sistem, Anda bisa menggunakan kombinasi input berikut:
- Screening: A, A
- Hard Skills: Pilih level 2-3 untuk mandatory factors
- Soft Skills: A/B untuk semua
- Live Coding: A/B untuk semua
- Nilai Tambahan: Bebas
- Screening: -, C
- Sistem akan berhenti di Level 1
- Screening: B, B
- Hard Skills: Level 2 untuk sebagian besar
- Soft Skills: B untuk semua
- Live Coding: B untuk semua
- Nilai Tambahan: A untuk beberapa
- Rules and Facts are still static
- Rules and Facts are derived from heuristic analysis based on expert subjectivity
- Positions used are still limited to one technical position, which is a full-stack developer
- The system is not integrated with existing recruitment systems
- Fork repository ini
- Buat branch feature (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push ke branch (
git push origin feature/amazing-feature) - Buat Pull Request
⭐ Star this repo if you find it helpful! ⭐