Latar Belakang

Teori Bahasa dan Otomata merupakan fondasi penting dalam ilmu komputer, mencakup konsep Finite State Automata, Regular Expression, Context-Free Grammar, Pushdown Automata, hingga Hierarki Chomsky. Konsep-konsep ini seringkali abstrak dan sulit dipahami hanya melalui teori di atas kertas.

AutomataLab dikembangkan sebagai Capstone Project untuk menjawab tantangan tersebut — menghadirkan simulator interaktif berbasis web yang memungkinkan mahasiswa memasukkan definisi automata atau grammar mereka sendiri, lalu langsung melihat hasil eksekusi, trace langkah demi langkah, dan visualisasi diagram state secara real-time.

Tujuan Pembelajaran

  • Memahami cara kerja DFA dan NFA melalui simulasi langsung.
  • Menghubungkan Regular Expression dengan Regular Grammar dan NFA.
  • Memvisualisasikan proses parsing CFG dan simulasi stack pada PDA.
  • Memahami transformasi grammar menuju Chomsky Normal Form secara bertahap.

Teknologi yang Digunakan

Python & Flask Bootstrap 5 Mermaid.js JavaScript (Fetch API) HTML5 & CSS3
Arsitektur Aplikasi

Aplikasi dibangun dengan struktur Flask yang modular:

  • app.py — entry point aplikasi & registrasi blueprint
  • routes/ — definisi endpoint per modul (FSA, Regex, PDA, CNF)
  • models/ — struktur data hasil pemrosesan
  • utils/ — logika inti algoritma teori bahasa & otomata
  • templates/ — halaman HTML (Jinja2)
  • static/ — CSS, JavaScript, dan aset lainnya
Konteks Akademik

Proyek ini dikerjakan sebagai bagian dari tugas akhir (Capstone Project) mata kuliah Teori Bahasa dan Otomata, dengan fokus pada penerapan konsep teoritis ke dalam bentuk aplikasi web yang fungsional dan mudah digunakan.