Finite state automata (FSA) adalah model matematika sistem yang menerima input dan memberikan output berdasarkan perubahan statenya. FSA memiliki jumlah statenya yang terbatas dan dapat berpindah antar state berdasarkan fungsi transisi. Terdapat dua jenis FSA yaitu Deterministic FSA dan Non-Deterministic FSA, di mana DFA memiliki satu state berikutnya untuk setiap pasangan state-input sedangkan NFA dapat memiliki lebih dari satu state berik