Skip to content

Tugas Besar 3 IF2211 Strategi Algoritma "Pemanfaatan Pattern Matching untuk Membangun Sistem ATS (Applicant Tracking System) Berbasis CV Digital"

License

Notifications You must be signed in to change notification settings

SayyakuHajime/Tubes3_hrdtulis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV ATS (Applicant Tracking System)

Tugas Besar 3 IF2211 Strategi Algoritma

Python MySQL GUI

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.

Description

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.

Algorithm

Pattern Matching

  • 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

String Similarity

  • Levenshtein Distance: Algoritma untuk mengukur kemiripan string dengan menghitung minimum edit distance

Information Extraction

  • Regular Expression (Regex): Untuk ekstraksi informasi terstruktur dari teks CV seperti nama, kontak, skill, pengalaman kerja, dan pendidikan

Installation

Prequisite

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)

Setup

  1. Clone repository:
git clone https://github.com/username/Tubes3_hrdtulis.git
cd Tubes3_hrdtulis

For WSL Ubuntu Users:

  1. Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc
  1. Install system dependencies:
sudo apt update && sudo apt install -y libxcb-cursor0 libxcb-cursor-dev qt6-base-dev
  1. Run the application (in project root folder)
uv sync
uv run python -m src.main

Project Structure

src
├── AhoCorasick.py 
├── BoyerMoore.py
├── KMP.py
├── __init__.py
├── cache-synonyms.json
├── generate_section_names.mjs
├── main.py
└── section_names.json

Feature

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

Testing

License

This project is licensed under the MIT License - see the LICENSE file for details.

Authors

NIM Name GitHub
13523009 M Hazim R Prajoda @SayyakuHajime
13523023 Muhammad Aufa Farabi @AgungLucker
13523045 Nadhif Radityo Nugroho @NadhifRadityo
Strategi Algoritma • © 2025 • HRDTulis

About

Tugas Besar 3 IF2211 Strategi Algoritma "Pemanfaatan Pattern Matching untuk Membangun Sistem ATS (Applicant Tracking System) Berbasis CV Digital"

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •