Chapter 2: Finite State Machine (FSM), Operasi String, dan Bahasa Formal
Konsep & Pembahasan Terperinci
1. Kegunaan FSM dan Perumusan Masalah Komputasi
A. Empat Bidang Kegunaan FSM menurut Materi
Software untuk desain dan verifikasi rangkaian digital: Memodelkan gerbang logika sekuensial dan register.
Lexical analyzer pada compiler: Mengenali token seperti kata kunci (
if,while), identifier, dan literal angka.Pencarian pada teks yang besar: Digunakan pada search engine web, utility
grep, dan pencocokan pola regex.Desain, verifikasi, dan implementasi sistem software interaktif: Protokol jaringan (TCP/IP), transaksi electronic commerce, dan sistem reaktif.
B. Perumusan Masalah (*Problem to Resolve*)
Dalam teori bahasa dan automata, suatu masalah komputasi didefinisikan sebagai masalah keanggotaan bahasa (membership decision problem):
Diberikan sebuah bahasa .
Diberikan sebuah input berupa string sembarang .
Tantangan: Menentukan secara pasti apakah atau .
Mesin automata bertugas menyelesaikan masalah tersebut dengan mengeluarkan keputusan:
Accept (Terima) jika .
Reject (Tolak) jika .
2. Alfabet, String, String Kosong, dan Panjang String
Alfabet (): Himpunan berhingga simbol.
Contoh biner:
Contoh alfabet huruf kecil:
Contoh ASCII:
String (): Barisan berhingga di mana setiap .
- Contoh: $101$, , .
String Kosong (): String dengan 0 simbol.
Sifat identitas: .
Sebagai contoh konkret: .
Panjang String (): Jumlah karakter dalam string.
3. Perkalian Cartesian, Star Closure, dan Positive Closure
A. Perkalian Cartesian ()
merepresentasikan himpunan semua string dengan panjang tepat yang dibentuk dari simbol-simbol .
- Sebagai contoh: Jika dan , maka:
Untuk alfabet biner :
B. Star Closure Kleene ()
Himpunan seluruh string berhingga dari , termasuk string kosong:
Catatan Konseptual: Meskipun setiap elemen dalam memiliki panjang berhingga, himpunan itu sendiri berukuran tak terhingga (infinite set).
C. Positive Closure ()
Himpunan seluruh string berhingga dari tanpa string kosong:
Hubungan mendasar: .
4. Definisi Bahasa dan Operasi Himpunan Bahasa
Suatu bahasa atas alfabet adalah sembarang subset dari (). Sebagai contoh konkret:
Jika , maka .
Jika , maka .
Jika , maka .
Operasi Himpunan Bahasa
Diberikan dua bahasa dan di atas alfabet :
- Union (Gabungan):
- Intersection (Irisan):
- Difference (Selisih):
- Complement (Komplemen):
Jika , maka .
- Reverse (Pembalikan):
Sebagai contoh: .
Contoh bahasa berpangkat: Jika , maka .
- Concatenation (Penyambungan):
Sifat: .
5. Tiga Pola Bahasa Dasar (Penting untuk Ujian)
Terdapat tiga pola ekspresi dasar yang penting untuk dipahami batasannya:
| Pola Bahasa | Definisi & Karakteristik | Contoh Anggota Bahasa |
|---|---|---|
| Bahasa yang terbentuk dari semua kata dari huruf atau atau keduanya secara bebas | ||
| Bahasa yang terbentuk dari dan bebas, tetapi tidak mungkin ada huruf setelah huruf | (string atau bukan anggota!) | |
| Bahasa yang terbentuk dari pengulangan blok pasangan |
Latihan Soal & Pembahasan
Level 1 - Basic
Soal 1.1
Sebutkan 4 kegunaan utama FSM dalam rekayasa perangkat lunak dan komputasi.
Soal 1.2
Jika , tentukan anggota dari , , dan .
Soal 1.3
Jelaskan perbedaan mendasar antara dan .
Pembahasan/Jawaban
1.1 Empat penerapan penting automata:
Software desain dan verifikasi rangkaian digital
Lexical analyzer pada compiler
Pencarian teks besar (search engine, grep)
Desain, verifikasi, dan implementasi sistem software interaktif (protokol jaringan, e-commerce, sistem reaktif)
1.2 , , .
1.3 memuat string kosong (), sedangkan tidak memuat string kosong ().
Level 2 - Intermediate
Soal 2.1
Diberikan bahasa . Tentukan (reversal) dan jelaskan mengapa string tidak termasuk ke dalam .
Soal 2.2
Diberikan dan . Hitung: (a) , (b) , dan (c) .
Pembahasan/Jawaban
2.1 . String memiliki dua huruf dan dua huruf , namun urutannya diawali , diakhiri , bukan seluruh mendahului seluruh . Pada , untuk panjang 4 dengan , string yang sah hanyalah .
2.2
(a)
(b)
(c)
Level 3 - Advanced
Soal 3.1
Analisis mengapa string diterima oleh pola , tetapi ditolak oleh pola dan .
Pembahasan/Jawaban
Pada pola , seluruh permutasi kombinasi simbol dan dengan panjang berapapun diperbolehkan, sehingga .
Pada pola , terdapat aturan mutlak bahwa tidak boleh ada simbol yang muncul setelah simbol . Karena pada string terdapat simbol setelah simbol , maka .
Pada pola , string harus tersusun atas kelipatan pasangan terurut . Karena tidak tersusun atas blok , maka .
Exam Cheat Sheet
Kardinalitas: .
Panjang String Kosong: , identitas: .
Hubungan Kleene Star & Positive Closure: dan .
Komplemen Bahasa: .
Sifat Reversal Konkatenasi: .
3 Pola Wajib Paham:
: Sembarang kombinasi dan .
: dulu baru , pantang ada setelah .
: Pengulangan pola pasangan .
Referensi & Bahan Bacaan
Michael Sipser. Introduction to the Theory of Computation (Chapter 1: Regular Languages).
Edward F. Moore. Gedanken-experiments on Sequential Machines (Princeton University Press, 1956).
Catatan Penutup
Bab 2 telah memformalkan konsep dasar simbol, alfabet, operasi string, dan pola bahasa. Pada bab berikutnya, Chapter 3: Finite Automata (FA), kita akan mempelajari mesin komputasi pertama yang mengimplementasikan proses penerimaan bahasa-bahasa ini.