Dokumentasi
Panduan format input untuk setiap modul AutomataLab.
1. Finite State Automata
Masukkan komponen automata pada form yang tersedia:
- States: daftar nama state dipisah koma. Contoh:
q0, q1, q2 - Alphabet: daftar simbol input dipisah koma. Contoh:
a, b - Transitions: tambahkan baris
from, symbol, to, misalq0, a, q1 - Start State: pilih salah satu state sebagai state awal
- Final States: pilih satu atau lebih state sebagai state akhir
- Input String: string yang ingin diuji, contoh
aab
Untuk NFA, Anda dapat menambahkan transisi epsilon dengan menuliskan simbol
epsilon atau ε pada kolom symbol, dan boleh memiliki lebih
dari satu tujuan untuk pasangan (state, simbol) yang sama.
2. Regular Expression
Operator yang didukung:
| Operator | Keterangan | Contoh |
|---|---|---|
| | Union (atau) | a|b |
* | Kleene Star (0 atau lebih) | a* |
+ | Plus (1 atau lebih) | a+ |
? | Opsional (0 atau 1) | a? |
() | Pengelompokan | (ab)* |
Masukkan pattern regex beserta beberapa string uji (satu per baris) untuk memeriksa kecocokan. Sistem akan menampilkan grammar reguler ekuivalen serta diagram NFA hasil Thompson's Construction.
3. Pushdown Automata & CFG
Format penulisan grammar (satu produksi per baris):
S -> a S b | ε
- Non-terminal ditulis dengan huruf besar, contoh
S,A,B - Terminal ditulis dengan huruf kecil/simbol, contoh
a,b - Pisahkan alternatif produksi dengan tanda
| - Epsilon dapat ditulis sebagai
eps,epsilon, atauε - Produksi pertama pada teks otomatis dianggap sebagai simbol awal (start symbol)
Sistem akan mencari leftmost derivation dan rightmost derivation menggunakan pencarian backtracking, menampilkan parse tree, serta mensimulasikan operasi stack PDA berdasarkan konstruksi standar CFG → PDA.
4. Hierarki Chomsky & CNF
Gunakan format grammar yang sama seperti modul CFG. Sistem akan menjalankan lima tahap:
- Menambahkan start symbol baru
- Eliminasi epsilon production
- Eliminasi unit production
- Eliminasi useless symbol (non-generating & unreachable)
- Konversi ke bentuk baku CNF (A → BC atau A → a)
Setiap tahap ditampilkan sebagai grammar terpisah agar proses transformasi dapat diikuti secara bertahap, disertai identifikasi tipe grammar dalam Hierarki Chomsky.