Back to IF2224 Teori Bahasa Formal dan Otomata

Topic

Questions/Cues

  • Bagaimana model komputasi dasar?
  • Apa itu Automaton?
  • Apa perbedaan 3 jenis Automata?
  • Apa itu Finite Automata (FA)?
  • Apa itu Pushdown Automata (PDA)?
  • Apa itu Turing Machine?
  • Apa hubungan Automata & Bahasa?

Reference Points

  • Slides: 9-15
  • Slides: 16-21
  • Slides: 25-27

Model Dasar Komputasi

Sebuah komputasi dapat dibayangkan sebagai sistem yang terdiri dari beberapa komponen utama:

  • Input Memory: Tempat data awal dimasukkan.
  • CPU (Central Processing Unit): Otak yang melakukan pemrosesan.
  • Program Memory: Menyimpan instruksi atau langkah-langkah yang harus dijalankan oleh CPU.
  • Temporary Memory: Memori sementara untuk menyimpan hasil perhitungan antara.
  • Output Memory: Tempat hasil akhir dari komputasi disimpan.

Sebagai contoh, untuk menghitung dengan input :

  1. Input: masuk ke input memory.
  2. Proses 1: CPU mengikuti instruksi dari program memory untuk menghitung . Hasilnya disimpan di temporary memory.
  3. Proses 2: CPU mengambil nilai dari temporary memory dan menghitung . Hasilnya disimpan lagi di temporary memory.
  4. Output: Hasil akhir dipindahkan ke output memory.

Automaton: Inti dari Mesin Komputasi

Dalam model di atas, Automaton adalah abstraksi dari unit pemrosesan intinya, yang mencakup CPU dan Program Memory. Automaton inilah yang membaca input, mengikuti serangkaian aturan transisi, dan menghasilkan output.

Perbedaan utama antara jenis-jenis automaton terletak pada jenis memori temporer yang mereka miliki.

Tiga Jenis Utama Automata (Hirarki Kekuatan)

Automata diklasifikasikan berdasarkan kemampuan komputasinya, yang ditentukan oleh memori temporernya. Semakin kuat memorinya, semakin kompleks masalah yang bisa diselesaikan.

1. Finite Automata (FA)

  • Memori Temporer: Tidak ada. Ini adalah jenis automaton yang paling sederhana.
  • Kemampuan: Hanya bisa “mengingat” state (keadaan) di mana ia berada saat ini. Tidak bisa menyimpan data tambahan.
  • Kekuatan Komputasi: Paling rendah.
  • Contoh Aplikasi: Mengenali pola sederhana, memvalidasi input, vending machine, traffic light.

2. Pushdown Automata (PDA)

  • Memori Temporer: Stack (Tumpukan). Data hanya bisa diakses dengan mekanisme LIFO (Last-In, First-Out). Operasi dasarnya adalah push (menambah ke atas tumpukan) dan pop (mengambil dari atas tumpukan).

  • Kemampuan: Bisa mengingat urutan data secara terbalik. Penting untuk menangani struktur bersarang, seperti kurung buka-tutup.

  • Kekuatan Komputasi: Menengah.

  • Contoh Aplikasi: Compiler untuk memeriksa sintaks bahasa pemrograman (misalnya, memastikan setiap begin punya end).

3. Turing Machine

  • Memori Temporer: Random Access Memory (RAM). Direpresentasikan sebagai pita tak terbatas yang bisa dibaca dan ditulis di posisi mana pun.

  • Kemampuan: Dapat mensimulasikan logika algoritma apa pun. Merupakan model teoretis untuk komputer modern.

  • Kekuatan Komputasi: Paling tinggi.

  • Contoh Aplikasi: Model untuk algoritma apa pun yang bisa dijalankan di komputer.

Hirarki Kekuatan: Finite Automata < Pushdown Automata < Turing Machine.

Hubungan Automata dan Bahasa Formal

Setiap jenis automaton memiliki padanannya dalam kelas bahasa formal. Sebuah automaton bertindak sebagai mesin pengenal (recognizer) untuk bahasanya. Artinya, jika sebuah untaian (string) sesuai dengan aturan bahasa tersebut, automaton akan menerimanya.

Berikut adalah pemetaan langsungnya:

Automata (Mesin)Bahasa yang Dikenali
Finite AutomataRegular Language
Pushdown AutomataContext-Free Language
Turing MachineUnrestricted Language

Summary

Automata adalah model komputasi abstrak yang dibedakan berdasarkan jenis memori temporer yang digunakannya, yang secara langsung menentukan kekuatan komputasinya. Terdapat hirarki kekuatan yang jelas: Finite Automata (tanpa memori) adalah yang terlemah, diikuti oleh Pushdown Automata (memori stack), dan Turing Machine (memori akses acak) sebagai yang terkuat. Setiap jenis automaton ini secara spesifik bertindak sebagai mesin pengenal untuk kelas bahasa formal yang setara: Regular, Context-Free, dan Unrestricted.