materi

Chapter 3: Finite Automata (FA) dan Fungsi Transisi Induktif

Konsep & Pembahasan Terperinci

1. Hakikat FA: Mesin Komputasi Tanpa Memori

Finite Automaton (FA) adalah model komputasi matematis yang paling mendasar:

  • Tanpa Penyimpanan Sementara: FA tidak memiliki pita memori tambahan atau stack. FA hanya "mengingat" kondisi masa lalu melalui state aktif saat ini.

  • Kelas Bahasa: FA melingkupi kelas bahasa reguler (Regular Language).

  • Mekanisme Pemindaian: FA membaca pita masukan dari kiri ke kanan secara searah (tidak pernah mundur atau membaca ulang simbol yang telah dilewati).


2. Definisi Formal 5-Tuple Finite Automaton

Suatu Finite Automaton didefinisikan secara matematis oleh 5 komponen:

A=(Q,Σ,δ,q0,F)A = (Q, \Sigma, \delta, q_0, F)

Di mana:

  1. QQ : Himpunan berhingga semua keadaan (finite set of states).

  2. Σ\Sigma : Alfabet masukan (finite input alphabet).

  3. q0q_0 : Keadaan awal (start/initial state), di mana q0Qq_0 \in Q.

  4. FF : Himpunan keadaan akhir/penerima (final/accepting states), di mana FQF \subseteq Q.

  5. δ\delta : Fungsi transisi (transition function), memetakan pasangan state dan simbol masukan ke tepat satu state berikutnya:

δ:Q×ΣQ\delta : Q \times \Sigma \longrightarrow Q

3. Extended Transition Function (δ^\hat{\delta})

Fungsi transisi standar δ(q,a)\delta(q, a) hanya mendefinisikan transisi untuk sebuah simbol tunggal aΣa \in \Sigma. Untuk melacak perpindahan state ketika membaca seluruh kata/string wΣw \in \Sigma^*, materi merumuskan Extended Transition Function (δ^\hat{\delta} atau δ~\tilde{\delta}):

δ^:Q×ΣQ\hat{\delta} : Q \times \Sigma^* \longrightarrow Q

Formulasi Induktif Formal:

Untuk setiap qQq \in Q, aΣa \in \Sigma, dan xΣx \in \Sigma^*:

  1. Basis:
δ^(q,ϵ)=q\hat{\delta}(q, \epsilon) = q

(Membaca string kosong tidak mengubah state)

  1. Induksi:
δ^(q,xa)=δ(δ^(q,x),a)\hat{\delta}(q, xa) = \delta(\hat{\delta}(q, x), a)

(Membaca string xaxa setara dengan membaca seluruh prefiks xx terlebih dahulu hingga mencapai suatu state, lalu melakukan satu transisi δ\delta dengan simbol terakhir aa)


Studi Kasus & Tracing: Mesin Penguji Substring '01'

Spesifikasi Mesin

  • Alfabet: Σ={0,1}\Sigma = \{0, 1\}

  • Bahasa: L={w{0,1}w memuat substring 01}={x01yx,y{0,1}}L = \{w \in \{0, 1\}^* \mid w \text{ memuat substring } 01\} = \{x01y \mid x, y \in \{0, 1\}^*\}

  • Himpunan State: Q={q0,q1,q2}Q = \{q_0, q_1, q_2\}

  • State Awal: q0q_0

  • State Akhir: F={q2}F = \{q_2\}

Semantik Penjelasan State:

  • q0q_0: Kondisi awal, sedang menunggu kemunculan simbol 0 yang pertama.

  • q1q_1: Telah menerima minimal satu simbol 0, sedang menunggu kemunculan simbol 1 berikutnya.

  • q2q_2: Telah berhasil menemukan substring 01, berada pada kondisi penerimaan (accepting) dan menunggu akhir dari string input.

Tabel Transisi Mesin

State (QQ)Input $0$Input $1$
q0\to q_0q1q_1q0q_0
q1q_1q1q_1q2q_2
q2*q_2q2q_2q2q_2

Pelacakan (Tracing) Langkah demi Langkah

Kasus 1: String Masukan w=11010w = 11010 (Harus Diterima)

Pelacakan menggunakan formulasi induktif δ^\hat{\delta}:

  1. δ^(q0,ϵ)=q0\hat{\delta}(q_0, \epsilon) = q_0
  2. δ^(q0,1)=δ(q0,1)=q0\hat{\delta}(q_0, 1) = \delta(q_0, 1) = q_0
  3. δ^(q0,11)=δ(δ^(q0,1),1)=δ(q0,1)=q0\hat{\delta}(q_0, 11) = \delta(\hat{\delta}(q_0, 1), 1) = \delta(q_0, 1) = q_0
  4. δ^(q0,110)=δ(δ^(q0,11),0)=δ(q0,0)=q1\hat{\delta}(q_0, 110) = \delta(\hat{\delta}(q_0, 11), 0) = \delta(q_0, 0) = q_1
  5. δ^(q0,1101)=δ(δ^(q0,110),1)=δ(q1,1)=q2\hat{\delta}(q_0, 1101) = \delta(\hat{\delta}(q_0, 110), 1) = \delta(q_1, 1) = q_2
  6. δ^(q0,11010)=δ(δ^(q0,1101),0)=δ(q2,0)=q2\hat{\delta}(q_0, 11010) = \delta(\hat{\delta}(q_0, 1101), 0) = \delta(q_2, 0) = q_2

Karena state akhir q2Fq_2 \in F, maka string $11010$ Diterima (Accepted).

Kasus 2: String Masukan w=111000w = 111000 (Harus Ditolak)

  1. δ^(q0,1)=q0\hat{\delta}(q_0, 1) = q_0
  2. δ^(q0,11)=q0\hat{\delta}(q_0, 11) = q_0
  3. δ^(q0,111)=q0\hat{\delta}(q_0, 111) = q_0
  4. δ^(q0,1110)=q1\hat{\delta}(q_0, 1110) = q_1
  5. δ^(q0,11100)=q1\hat{\delta}(q_0, 11100) = q_1
  6. δ^(q0,111000)=q1\hat{\delta}(q_0, 111000) = q_1

Karena state akhir q1Fq_1 \notin F, maka string $111000$ Ditolak (Rejected).


Latihan Soal & Pembahasan

Level 1 - Basic

Soal 1.1

Sebutkan 5 komponen dalam tuple formal Finite Automaton A=(Q,Σ,δ,q0,F)A = (Q, \Sigma, \delta, q_0, F).

Soal 1.2

Tuliskan rumus basis dan langkah induksi dari Extended Transition Function (δ^\hat{\delta}).


Pembahasan/Jawaban

1.1 Komponen 5-tuple FA:

  1. QQ: himpunan berhingga state

  2. Σ\Sigma: alfabet input berhingga

  3. δ\delta: fungsi transisi Q×ΣQQ \times \Sigma \to Q

  4. q0q_0: state awal (q0Qq_0 \in Q)

  5. FF: himpunan state final (FQF \subseteq Q)

1.2 Basis: δ^(q,ϵ)=q\hat{\delta}(q, \epsilon) = q. Induksi: δ^(q,xa)=δ(δ^(q,x),a)\hat{\delta}(q, xa) = \delta(\hat{\delta}(q, x), a) untuk xΣx \in \Sigma^* dan aΣa \in \Sigma.


Level 2 - Intermediate

Soal 2.1

Lakukan tracing induktif untuk string w=000111w = 000111 pada mesin penguji substring 01 di atas, dan tentukan apakah string tersebut diterima atau ditolak.


Pembahasan/Jawaban

  • Baca 0: q0q1q_0 \to q_1

  • Baca 0: q1q1q_1 \to q_1

  • Baca 0: q1q1q_1 \to q_1

  • Baca 1: q1q2q_1 \to q_2 (substring 01 ditemukan!)

  • Baca 1: q2q2q_2 \to q_2

  • Baca 1: q2q2q_2 \to q_2

Akhir string berada di state q2Fq_2 \in F. String diterima (Accepted).


Level 3 - Advanced

Soal 3.1

Mengapa FA tidak mampu mengenali bahasa L={0n1nn1}L = \{0^n 1^n \mid n \ge 1\} di mana jumlah 0 harus persis sama dengan jumlah 1? Jelaskan kaitannya dengan sifat fundamental FA.


Pembahasan/Jawaban

Secara fundamental, FA merupakan mesin komputasi yang tidak mempunyai penyimpanan/memori sementara. Karena nilai nn tidak terbatas (n1n \ge 1), mesin membutuhkan memori penghitung tak terbatas untuk mencatat berapa banyak simbol 0 yang sudah lewat sebelum mencocokkannya dengan simbol 1. Karena himpunan state QQ pada FA berhingga (finite), FA tidak sanggup menyimpan informasi penghitungan tak hingga tersebut dan pasti gagal membedakan string saat n>Qn > |Q|.


Exam Cheat Sheet

  • 5-Tuple FA: A=(Q,Σ,δ,q0,F)A = (Q, \Sigma, \delta, q_0, F).

  • Pemetaan Fungsi Transisi: δ:Q×ΣQ\delta : Q \times \Sigma \to Q.

  • Extended Transition Function: δ^(q,ϵ)=q\hat{\delta}(q, \epsilon) = q dan δ^(q,xa)=δ(δ^(q,x),a)\hat{\delta}(q, xa) = \delta(\hat{\delta}(q, x), a).

  • Syarat String Diterima: δ^(q0,w)F\hat{\delta}(q_0, w) \in F.

  • Karakteristik Utama: Membaca string satu arah (kiri ke kanan), tidak punya memori sementara, mengenali bahasa reguler.


Referensi & Bahan Bacaan

  1. Hopcroft, John E., Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory (Chapter 2: Deterministic Finite Automata).

  2. Michael Sipser. Introduction to the Theory of Computation (Section 1.1: Finite Automata).

Catatan Penutup

Bab 3 memformalkan cara kerja Finite Automata yang deterministik. Pada bab selanjutnya, Chapter 4: DFA dan NFA, kita akan membandingkan FA deterministik dengan model non-deterministik (NFA) yang memiliki kemampuan membuat percabangan eksekusi.