Sistem ATS berbasis CV Digital yang memanfaatkan algoritma Pattern Matching untuk mencocokkan kata kunci dengan informasi pelamar kerja. Aplikasi ini mengimplementasikan algoritma Knuth-Morris-Pratt (KMP), Boyer-Moore (BM), Aho-Corasick, dan Levenshtein Distance untuk pencarian yang efisien dan akurat.
CV ATS adalah sistem pelacakan pelamar yang dirancang untuk mempermudah proses rekrutmen dengan menganalisis CV dalam format PDF secara otomatis. Sistem ini dapat mengekstrak informasi penting dari CV pelamar dan mencocokkannya dengan kata kunci yang dicari oleh HR atau rekruter.
- Knuth-Morris-Pratt (KMP): Algoritma pencarian string yang efisien dengan preprocessing untuk menghindari perbandingan berulang
- Boyer-Moore (BM): Algoritma pencarian string yang bekerja dari kanan ke kiri dengan skip table untuk optimasi
- Aho-Corasick (Bonus): Algoritma multi-pattern matching untuk pencarian multiple keywords secara bersamaan
- Levenshtein Distance: Algoritma untuk mengukur kemiripan string dengan menghitung minimum edit distance
- Regular Expression (Regex): Untuk ekstraksi informasi terstruktur dari teks CV seperti nama, kontak, skill, pengalaman kerja, dan pendidikan
System Requirements
- Python 3.7 atau lebih tinggi
- MySQL Server 8.0 atau lebih tinggi
- pip (Python package installer)
Platform Support
- Linux (Recommended)
- macOS
- Windows (dengan WSL untuk network simulation)
- Clone repository:
git clone https://github.com/username/Tubes3_hrdtulis.git
cd Tubes3_hrdtulis- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc- Install system dependencies:
sudo apt update && sudo apt install -y libxcb-cursor0 libxcb-cursor-dev qt6-base-dev- Run the application (in project root folder)
uv sync
uv run python -m src.mainsrc
├── AhoCorasick.py
├── BoyerMoore.py
├── KMP.py
├── __init__.py
├── cache-synonyms.json
├── generate_section_names.mjs
├── main.py
└── section_names.json
Fitur utama aplikasi:
- Ekstraksi teks otomatis dari CV format PDF
- Pencarian exact match menggunakan algoritma KMP, Boyer-Moore, dan Aho-Corasick
- Pencarian fuzzy match menggunakan Levenshtein Distance
- Ekstraksi informasi menggunakan Regular Expression
- Antarmuka desktop yang intuitif
- Integrasi basis data MySQL untuk penyimpanan profil pelamar
This project is licensed under the MIT License - see the LICENSE file for details.
| NIM | Name | GitHub |
| 13523009 | M Hazim R Prajoda | @SayyakuHajime |
| 13523023 | Muhammad Aufa Farabi | @AgungLucker |
| 13523045 | Nadhif Radityo Nugroho | @NadhifRadityo |