Showing posts with label dfa. Show all posts
Showing posts with label dfa. Show all posts

Wednesday, 8 April 2026

Tutorial JFLAP7.1

Apa itu JFLAP7.1?

JFLAP adalah perangkat lunak pembelajaran untuk memodelkan, menguji, dan mengonversi berbagai konsep bahasa formal. Dari menu tutorial resminya, cakupan utamanya meliputi Finite Automata, Pushdown Automata, Turing Machine, Grammar, Regular Expressions, serta fitur seperti Convert to DFA, Minimize DFA, Convert CFG to PDA, CYK Parser, dan lain-lain.

2. Cara instalasi JFLAP 7.1

Di halaman perangkat lunak resmi, file utama yang dibutuhkan untuk menjalankan program adalah JFLAP7.1.jar. Situs resmi juga memberi catatan bahwa bila sistem operasi mengunduhnya sebagai .zip, file itu perlu diubah namanya kembali menjadi .jar. Pada Windows dan macOS, JFLAP bisa dijalankan dengan double click pada file .jar, sedangkan pada Linux/Unix dapat dijalankan dengan perintah java -jar JFLAP.jar.

Langkah instalasi yang disarankan

  1. Pastikan Java terpasang. Untuk JFLAP 7.1, rujukan resmi menyebut penggunaan Java 8.0.
  2. Unduh JFLAP7.1.jar dari halaman software resmi.
  3. Jika file berubah menjadi .zip, ubah lagi menjadi .jar.
  4. Jalankan:
  • Windows: double click JFLAP.jar
  • macOS: double click JFLAP.jar
  • Linux: java -jar JFLAP.jar

Setelah berhasil dibuka, JFLAP akan menampilkan daftar struktur yang bisa dibuat, misalnya Finite Automaton, Pushdown Automaton, Turing Machine, Grammar, dan Regular Expression.

3. Mengenal antarmuka dasar JFLAP

Pada editor Finite Automaton, toolbar utama berisi empat alat penting: Attribute Editor, State Creator, Transition Creator, dan Deletor. Pola kerja editor untuk FA ini juga menjadi dasar bagi editor automata lain di JFLAP.

Fungsi keempat alat itu:

  1. Attribute Editor: mengatur initial state dan final state
  2. State Creator: membuat state baru
  3. Transition Creator: membuat transisi
  4. Deletor: menghapus state atau transisi.

Untuk menjadikan sebuah state sebagai initial, aktifkan Attribute Editor, lalu klik kanan pada state dan centang Initial. Untuk menjadikannya final, lakukan hal yang sama dan centang Final. State final akan digambar dengan lingkar ganda.



Friday, 17 May 2019

Ekuivalensi Non-Deterministik Finite Automata (NFA) 1 ke Deterministik Finite Automata (DFA) 2

Perhatikan dan ingat kembali NFA pada Design Non-Deterministic Finite Automata 2



 
Design the NFA
                                                     Transition Table
 
 
Dari diagram dan tabel NFA, maka kita bisa mendapatkan DFA yang ekuivalen dengan menambahkan lagi 1 state dengan input Ø ,  

Friday, 19 May 2017

Equivalance Non-deterministic Finite Automata (NFA) - Deterministic Finite Automata (DFA)

Buatlah DFA yang ekuivalen dengan NFA berikut :
Q   = { p, q, r, s }

∑   = { 0, 1 }
S    = p
F   = { q, s }

Fungsi Transisi


0
1
p
q,s
q
q
r
q,r
r
s
p
s
p

Jawab:
pencarian DFA yang ekuivalen dengan NFA diatas dapat dilakukan dengan langkah mudah sebagai berikut:
"perhatikan, pengerjaan dilakukan dengan tabel transisi. diagram DFA digambar setelah semua selesai."
Step 1: membuat tabel transisi NFA:
0
1
{p}
{q,s}
{q}
{q}
{r}
{q,r}
{r}
{s}
{p}
{s}
{ }
{p}

berdasarkan tabel step1 dapat diidentifikasi sbb;
  • ({p},0) = ( {q,s})
  • ({p},1) = ( {q})
  • ({q},0) = ( {r})
  • ({q},1) = ( {q,r})
  • ({r},0)  = ( {s})
  • ({r},1)  = ( {p})
  • ({s},0) =  ( { })
  • ({s},1) =  ({p})
perhatikan muncul state baru (diwarnai merah) yang belum diketahui tujuannya, sebagai contoh {q,s} maka diselesaikan dengan cara berikut;
({q,s})?
({q},0)    ={r}
({s},0)    ={ }
---------------
({q,s},0) ={r}
dan,
({q},1)    ={q,r}
({s},1)    ={ p}
---------------
({q,s},1) ={p,q,r}

dengan cara yang mudah kita dapat menyelesaikan dengan tabel transisi DFA sebagai berikut:

0
1
 p
{q,s}
{q}
 q
{r}
{q,r}
 r
{s}
{p}
 s
{ }
{p}
({q,s})
{r}
{p,q,r}
({q,r})
{r,s}
{p,q,r}
({p,q,r})
{q,r,s}
{p,q,r}
({r,s})
{s}
{p}
({q,r,s})
{r,s}
{p,q,r}
{ }
{ }
{ }