Anda di halaman 1dari 14

MODUL PERKULIAHAN 4 (EMPAT)

Nama Mata Kuliah : Teori Bahasa dan Otomata


Kode Mata Kuliah : 06410009
Pengampu Mata Kuliah : Sukenda
Semester : IV (Empat)
Waktu : 2 x 50 menit (bobot 2 SKS)
Pertemuan ke :4
Tempat : Ruang masing-masing mahasiswa (online / e-learning)

4.1. Manfaat Mata Kuliah


Setelah menyelesaikan mata kuliah ini, mahasiswa diharapkan dapat
menerapkan isi yang telah dipelajari sehubungan dengan konsep dan teorema bahasa
formal yang diklasifikasikan oleh Noam Chomsky untuk kebutuhan perancangan
kompiler. Sehingga mahasiswa diharapkan belajar sungguh untuk mencapai nilai
yang maksimal.
Penerapan yang bisa dilakukan pada pertemuan empat ini yaitu bagaimana
mahasiswa mampu menerapkan materi yang diterangkan pada pertemuan empat ini
dengan baik, adapun materi yang disampaikan yaitu cakupan materi teori bahasa dan
otomata yang berkaitan dengan mesin pengenal regular grammar sehingga dapat
diimplementasikan dalam kehidupan sehari-hari.

4.2. Deskripsi Mata Kuliah


Pada pertemuan keempat ini, masih mempelajari tentang mesin pengenal regular
grammar. Matakuliah teori bahasa dan otomata mempunyai materi yang terkait
dengan mesin pengenal regular grammar dan dapat diterapkan dalam kehidupan
sehari-hari di bidang Informatika. Sub materi yang akan dipelajari pada sub materi
ini yaitu sebagai berikut :
a. Automata,
b. FSA (Finite State Automata),
c. Elemen FSA
d. Pohon Penurunan.
Materi kuliah, yang akan disampaikan nanti, disampaikan dalam proses belajar
mengajar (perkuliahan) secara online. Penyampaian ini diharapkan dapat
mempermudah mahasiswa untuk mempelajari materi mesin pengenal regular
grammar, sehingga mahasiswa dapat belajar secara online dengan baik. Begitu juga
pengampu matakuliah dapat menyampaikan materi kuliah secara online, sehingga
proses belajar mengajar berjalan dengan baik. Sekiranya penyampaian materi mesin
pengenal regular grammar secara sistematis dan juga pembelajaran mahasiswa
secara baik maka tujuan atau manfaat dari materi kuliah bisa dirasakan dan
diaplikasikan dalam kehidupan sehari-hari.
Materi diatas merupakan garis besar yang akan disampaikan pada pertemuan
keempat perkuliahan, yang memungkinkan materi tersebut mempunyai sub-sub
materi. Materi yang akan diajarkan bisa saja disampaikan dalam perkuliahan selama
2 x 50 menit, atau dalam kurun 2 sks, mungkin saja bisa lebih dari 2 x 50 menit jika
perkuliahan secara online ini berjalan dengan baik.

4.3. Tujuan Instruksional Khusus


Setelah menyelesaikan pokok bahasan ini, mahasiswa akan dapat menjelaskan
dengan baik tentang mesin pengenal regular grammar, baik secara konsep dan teori
sehingga terimplementasi dalam kehidupan nyata ke dunia informatika. Dan mampu
memproduksi mesin pengenal regular grammar dengan baik.

4.4. Strategi Perkuliahan


Keterlibatan 2 entitas yaitu mahasiswa dan pengampu matakuliah (dosen),
merupakan hal penting dalam proses pembelajaran. Pada pertemuan keempat ini,
proses perkuliahan dilakukan secara online (e-learning). Dimana, 2 entitas tersebut
saling berinteraksi antara satu dengan yang lainnya dalam proses pembelajaran
melalui media teknologi modern. Interaksi dua entitas tersebut bisa searah atau dua
arah secara bersama-sama, tentunya masih dalam konteks pembelajaran matakuliah
yang akan disampaikan ke mahasiswa. Mahasiswa sebagai penerima informasi atau
bisa juga sebagai pemberi informasi, informasi yang diterima atau diberikan berupa
materi kuliah. Sedangkan pengampu matakuliah (dosen) sebagai sumber informasi
(sebagai pemateri) yang disebarkan atau dikirimkan ke mahasiswa, akan tetapi bisa
juga pengampu matakuliah sebagai penerima informasi dari mahasiswa.
Dua entitas yang saling memberi dan menerima informasi materi matakuliah
maka perlu strategi penyampaian yang baik, sehingga transfer informasi bisa berjalan
dengan baik. Strategi penyampaian informasi materi matakuliah dalam proses
pembelajaran disebut juga strategi perkuliahan. Strategi yang diterapkan kepada
mahasiswa akan berbeda dengan pengampu matakuliah. Berikut strategi perkuliahan
pengampu matakuliah yaitu :
a. Menjelaskan tujuan instruksional umum (TIU) dan tujuan instruksional khusus
(TIK) yang harus dicapai,
b. Memberi beberapa pertanyaan untuk mengetahui seberapa jauh mahasiswa
mengetahui mengenai mesin pengenal regular grammar,
c. Menjelaskan masih tentang mesin pengenal regular grammar, dengan macam-
macam sub pokok bahasan yaitu automata, fsa (finite state automata), elemen
fsa, dan pohon penurunan,
d. Menjelaskan tentang penggunaan mesin FSA bisa diterapkan pada suatu kasus
(berupa contoh kasus),
e. Menerapkan dalam bentuk studi kasus untuk latihan dan pekerjaan rumah,
f. Memberi softcopy atau link file pdf untuk buku yang dipakai,
g. Memberikan kuis untuk mengetahui tingkat pemahaman mahasiswa.
h. Menutup pertemuan dan menanyakan apakah ada hal-hal yang ingin ditanyakan,
dikomentari, atau dijadikan bahan diskusi,
i. Menyimpulkan materi yang telah dibahas,
j. Memberi gambaran materi yang akan dibahas minggu.

4.5. Kriteria Penilaian


Penilaian yang dilakukan terhadap pertemuan keempat ini, yaitu dosen
pengampu menilai mahasiswa terhadap aktivitas perkuliahan yang telah dilakukan
secara online (e-learning). Dimana mahasiswa menerima nilai selama proses
pembelajaran yang telah dilakukannya. Sedangkan dosen memberi nilai terhadap
mahasiswa yang mengikuti matakuliah yang diampunya pada saat proses
pembelajaran berlangsung. Sehingga mahasiswa bisa mengetahui nilai yang
diperoleh pada saat perkuliahan selesai. Berikut kriteria penilaian pada saat
perkuliahan berjalan (khususnya pertemuan keempat) yaitu :
a. Aktivitas mahasiswa pada saat perkuliahan berjalan, baik berupa pertanyaan
ataupun jawaban. Pertanyaan atau jawaban yang diutarakan oleh mahasiswa
tentunya berkaitan dengan materi yang akan dibahas atau yang telah dibahas.
b. Mahasiswa yang mengumpulkan jawaban atas quiz yang dilontarkan oleh dosen
pengampu.
c. Mahasiswa yang mengumpulkan tugas yang diberikan oleh dosen pengampu.
d. Mahasiswa yang mengikuti proses perkuliahan yang dilakukan secara online (e-
learning).

4.6. Materi Perkuliahan


Pada pertemuan keempat kuliah akan dibahas mengenai materi perkuliahan
yang akan dilaksanakan yaitu materi mesin pengenal regular grammar. Biasanya
materi tersebut dikemas dalam pokok bahasan dan juga sub pokok bahasan. Berikut
pokok bahasan dari pertemuan keempat yaitu : mesin pengenal regular grammar,
dengan sub pokok bahasan adalah :
a. Automata.
b. FSA (Finite State Automata).
c. Elemen FSA.
d. Pohon Penurunan.
Berikut penjelasan dari masing-masing sub pokok bahasan akan disampaikan pada
perkuliahan keempat ini.
Finite State Automata (FSA)adalah mesin pengenal bahasa regular. Tata bahasa
regular mempunyai aturan produksi berbentu :
A→ a
A→ aB
Atau bentuk ekivalennya :
A→ a
A→ Ba
Sebagai contoh, {0m1nm, n = 0, 1, 2, …} adalah bahasa regular. Contoh string yang
termasuk ke dalam bahasa ini misalnya,
 (string kosong m= n = 0)
0 (m=1, n= 0)
1 (m=0, n= 1)
01 (m=1, n= 1)
001 (m=2, n= 1)
0111, 00011, 00000000, dan sebaginya.

Tata bahasa yang membangkitkan bahasa regular di atas adalah G= (T, N, P, S)


dengan T = {0, 1}, N = {S}, S adalah simbol awal, dan sekumpulan aturan produksi
P adalah :
S → 0S
S → S1
S→

A. Automata.
Kata “automata” adalah bentuk jamak dari “automaton” yang berarti self-acting. Istilah
ini sudah dikenal sejak abad 17, yaitu ketika ditemukan jam mekanik. Di bidang matematika,
teori automata adalah teori tentang mesin abstrak, yaitu mesin sekuensial yang menerima
masukan dan keluaran dalam bentuk disktrit.

B. FSA (Finite State Automata).


Finite State Automata (FSAM) adalah model matematika dari sistem dengan
masukan dan keluaran berupa nilai diskrit. FSAM digunakan untuk memodelkan
perilaku sistem terhadap masukan yang diterimanya.status pada mesin menyatakan
keadaan sistem setelah membaca atau menerima sebuah masukan. Jumlah status di
dalam mesin berhingga (finite) banyaknya. Status merupakan memori dari mesin.
Mesin jaja (vending machine) adalah contoh yang bagus untuk menjelaskan
FSA. Mesin jaja adalah mesin yang dapat mengeluarkan makanan/minuman yang
diingkinkan si pembeli setelah ia memasukan sejumlah koin dan menekan tombol
tertentu sesuai jenis makanan/minuman ang dikehendakinya. Tinjau mesin jaja yang
menjual coklat seharga Rp 15 sebuah. Untuk memudahkan, kita akan memisalkan
bahwa mesin tersebut hanya menerima uang logam Rp 5 dan Rp10, dan mesin tidak
akan memberikan kembalian bila yang dimasukan lebih dari Rp 15. Graf pada
gambar 4.1 menggambarkan perilaku mesin jaja ini, dengan simpul (node atau
vertex) menyatakan banyaknya uang logam yang dimasukan, yaitu 0, 5, 10, dan 15
rupiah atau lebih. Setiap saat seorang pembeli dapat melakukan salah satu dari tiga
hal berikut :
Memasukan sebuah uang logam Rp 5, memasukan sebuah uang logam Rp 10,
dan menekan coklat pilihannya (P). dalam contoh mesin jaja ini, setiap simpul
menyatakan status sistem, bergantung pada jumlah uang yang sudah dimasukan oleh
pembeli. Status-status didalam sistem adalah :
q0 : Rp 0 sudah dimasukan
q5 : Rp 5 sudah dimasukan
q10 : Rp 10 sudah dimasukan
q15 : Rp 15 atau lebih sudah dimasukan

Status q0 diberi panah yang menunjukan status awal. Pada status ini, belum ada
koin yang dimasukan. Bila pembeli memasukan sebuah koin Rp 5, status mesin
sekarang berpindah ke q5 . bila status awal pembeli memasukan dua buah koin Rp 5,
status sistem berpindah ke status q5 lalu status q10. Jadi, pada setiap koin uang yang
dimasukan oleh pembeli, mesin menjumlahkan uang yang sudah dimasukan sampai
berjumlah Rp 15 atau lebih. Kiranya jelas, ketika mesin berada pada status q0, q5, dan
q10, tidak akan terjadi apa-apa meskipun tombol kita tekan; mesin akan
mengeluarkan sepotong coklat hanya bila kita sampai pada simpul q15. Status q15
dinyatakan dengan dua buah lingkaran yang menyatakan status akhir, yang berarti
jumlah uang yang dimasukkan untuk membeli coklat sudah mencukupi dan coklat
yang dipilih keluar dari mesin jaja. Mesin jaja ini menerima rangkaian masukan
senilai Rp 15 atau lebih, yaitu (5,5,5), (5, 10), (10, 5), (10, 10), (5,5,5,5), (5, 10, 1,10,
10, 5) dan seterusnya.

p p p

q0 q5 q10 q15

Gambar 4.1 Graf yang memodelkan perilaku mesin jaja

Dari contoh mesin jaja diatas, dapat dilihat bahwa kelakuan mesin bergantung pada
rangkaian masukan yang diterimanya. Untuk setiap masukan yang diterima, sistem
berpindah dari statusnya sekarang ke status berikutnya. Hal ini menunjukkan sifat
sekuensial dari mesin. Perilaku mesin automata seperti mesin jaja inilah yang
memodelkan dengan FSA.

C. Elemen FSA.
Setiap FSA memiliki :
1. Himpunan berhingga (finite) status (state),
2. Himpunan berhingga masukan tombol,
3. Fungsi transisi yang memberikan status berikutnya untuk setiap pasang status dan
sebuah simbol masukan. Untuk setiap simbol masukan terdapat tepat satu buah
transisi yang keluar dari tiap status (mungkin saja kembali ke status itu sendiri).
Satu buah status, biasanya dinyatakan dengan q0, adalah status awal (initial
state), yaitu status di FSA mulai. Beberapa status dinyatakan sebagai status akhir
(final state) atau status yang menerima (accepting state).
Model mesin FSA diperlihatkan pada gambar 4.2. Pita masukan berisi rangkaian
simbol yang dibaca oleh mesin. Kendali sistem (seperti berpindah status setelah
membaca suatu masukan) dilakukan oleh Finite State Control.

pita masukan
0 1 1 0 0 1 0

Finite State
Control
Gambar 4.2 Model mesin FSA

Beberapa FSA ada yang menghasilkan simbol-simbol keluaran, ada pula yang
tidak. Karena itu ada dua jenis FSA :
1. FSA tanpa keluaran. FSA jenis ini berfungsi untuk mengenal (recognize) string
(rangkaian simbol) yang dibaca. Sistem memberikan indikasi biner yang
menyatakan string masukan diterima (accepted) atau ditolak.
2. FSA dengan keluaran. FSA jenis ini tidak hanya mengenali string, tetapi juga
menghasilkan keluaran untuk setiap simbol masukan yang dibaca. Model FSA
dengan keluaran ditunjukkan pada Gambar 4.3. Pita keluaran menampung
keluaran yang diberikan oleh mesin.

pita masukan
0 1 1 0 0 1 0

Finite State
Control

0 1 1 0 0 1 0
pita keluaran

Gambar 4.3 Model mesin FSA dengan keluaran

Pada bab ini kita hanya meninjau FSA tanpa keluaran. Sifat-sifat mesin FSA
tanpa keluaran adalah sebagai berikut :
1. Pita masukan (input tape) berisi rangkaian simbol (string) yang berasal dari
himpunan simbol alfabet.
2. Setiap kali membaca sebuah simbol, posisi read head akan berada pada simbol
berikutnya.
3. Setiap saat, FSA berada pada satu status tertentu.
4. Pita masukan bersifat read only (hanya bias dibaca).

Untuk setiap mesin FSA, diagram transisi dinyatakan sebagai gaf berarah.
Simpul pada graf menyatakan status mesin FSA. Sisi pada graf menyatakan transisi
dari status p ke status q terhadap simbol masukan yang dibaca, a. setiap sisi ini
dilabeli dengan simbol masukan yang dibaca dari pita. FSA dikatakan menerima
string x jika runtutan transisi yang bersesuaian dengan simbol x bermula dari status
awal dan berakhir di status akhir. Gambar 4.4. adalah contoh sebuah diagram
transisi. Status awal adalah q0, sedangkan status akhir juga q0.
Ada dua macam FSA :
1. Deterministic Finite Automata (DFA)
2. Nondeterministic Finte Automata (NFA)

Pada DFA, untuk satu simbol masukan, hanya ada sebuah transisi dari suatu
status ke status yang lain. Sedangkan pada NFA, dimungkinkan 0 atau lebih dari satu
buah transisi untuk satu simbol masukan ang sama.

1 1 0
q1 q3 q4
0

1 0 1
0 1
start
0
q0 0
q2

Gambar 4.4 Diagram transisi

D. Pohon Penurunan.
Pohon penurunan dari tata bahasa G = (Vn, Vt, P, S) adalah sebuah pohon yang
memiliki karakteristik sebagai berikut :
1. Akarnya (root node) adalah simbol awal S
2. Jika suatu simpul (node) merupakan simbol non terminal (misalnya X) maka
simpul-simpul A1, A2, A3, …, An adalah anak-anak dari simpul X jika terdapat
aturan produksi berbentuk X  A1A2A3An di mana A1,A2,A3, …,An  (Vn U
Vt)
3. Jika suatu simpul merupakan simbol non terminal (misalnya X) dan simpul
tersebut hanya mempunyai satu anak yaitu , maka X   harus merupakan
salah satu anggota dari aturan produksi.

Berikut adalah contoh pohon penurunan berdasarkan tata bahasa G1 :


N

N
N
D

N D
N
D
1
N D
N D 1
3
N D
3
D 2

D 2
2

2 Gambar 4.5 Pohon Penurunan 2231

Perhatikanlah bahwa akar dari pohon di atas adalah N, yaitu simbol awal dari
tata bahasa G1. Simpul-simpul daunnya adalah 2, 2, 3, dan 1 yang jelas merupakan
anggota dari simbol terminal. Anak-anak dari simpul N adalah simpul N dan D
karena terdapat aturan produksi dalam P dari tata bahasa G1 yang berbentuk N 
ND! Pohon penurunan pada gambar 4.5 adalah pohon penurunan untuk kalimat
2231. Hal ini bisa kita lihat dengan cara mengkatenasi seluruh simpul daun mulai
dari kiri ke kanan.
Jika kita mengetahui langkah penurunan dari suatu kalimat maka kita juga dapat
membuat pohon penurunan untuk kalimat tersebut dengan cara sebagai berikut : Kita
dapat menuliskan langkah penurunan kalimat 2231, yaitu
N => ND => NDD => NDDD => DDDD => 2DDD => 22DD => 223D => 2231
Untuk membuat pohon penurunan kalimat 2231, pertama-tama kita gambarkan
simpul akar yaitu N :
N

Kemudian, dari langkah penurunan N => ND kita tahu bahwa N diturunkan menjadi
ND menggunakan aturan produksi nomor 2 sehingga kita peroleh :
N

N N
D

N
Kemudian, dari langkah penurunan ND => NDD kita tahu bahwa N diturunkan
kembali menjadi ND menggunakan aturan produksi nomor 2 sehingga kita peroleh :

N
N
D

N
N
D

N
Dari langkah penurunan NDD => NDDD kita tahu bahwa N diturunkan menjadi ND
kembali menggunakan aturan nomor 2 sehingga kita peroleh :

N
N
D

N D
N
D

N D
N D

N D
Dari langkah penurunan NDDD => DDDD kita tahu bahwa N diturunkan menjadi D
menggunakan aturan nomor 1 sehingga kita peroleh :

N
N
D

N D
N
D

N D
N D
N
D
D
D
Dari langkah penurunan DDDD => 2DDD kita tahu bahwa D yang pertama
diturunkan menjadi 2 menggunakan aturan nomor 3 sehingga kita peroleh :
N

N
N
D

N D
N
D

N D
N D

N D
D

D
2

2 kita peroleh pohon penurunan gambar 4.5.


Demikian seterusnya sehingga
Kita juga telah mengetahui bahwa terdapat banyak cara untuk menurunkan
kalimat 2231 selain langkah penurunan yang telah dituliskan di atas.. Langkah
penurunan yang lain adalah sebagai berikut :
N => ND => N1 => ND1 => N31 => ND31 => N231 => D231 => 2231
Jika kita buat pohon penurunan berdasarkan langkah penurunan ini, maka pohon
penurunan yang dihasilkan akan sama dengan gambar 4.5 (Silahkan mencoba!).
Dengan demikian kita bisa simpulkan bahwa
walaupun terdapat banyak langkah penurunan untuk menurunkan suatu kalimat,
pohon penurunan untuk kalimat tersebut adalah sama.
Jika kita mengetahui pohon penurunan untuk suatu kalimat, kita juga dapat
menuliskan langkah penurunan dari kalimat tersebut tanpa harus mengetahui tata
bahasanya. Untuk menunjukkan hal ini, kita akan mencoba menuliskan langkah
penurunan untuk pohon penurunan gambar 4.5. Pertama-tama kita harus menandai
seluruh simpul yang merupakan anak dari akar dari pohon tersebut, yaitu simpul N
dan D, kemudian kita tuliskan “N “. Keadaan pohon tersebut sekarang menjadi :
N

N
N
D

N D
N
D
1
N D
N D 1
3
N D
3
D 2

D 2
2

2 menuliskan seluruh simbol yang bertanda yaitu ND


Langkah berikutnya kita harus
sehingga langkah penurunan kita menjadi “N => ND“. Selanjutnya kita harus
memilih salah satu simpul yang telah kita tandai misalnya simpul N. Hilangkah tanda
dari simpul tersebut, kemudian tandai seluruh anak-anak dari simpul tersebut.
Keadaan pohon sekarang adalah sebagai berikut :

N
N
D

N D
N
D
1
N D
N D 1
3
N D
3
D 2

D 2
2

2 yang bertanda yaitu NDD sehingga langkah penurunan


Kita tuliskan seluruh simpul
kita menjadi “N => ND => NDD ”. Kemudian kita pilih salah satu dari simpul yang
diberi tanda, misalnya N, hapus tanda dari simpul tersebut, tandai seluruh anak dari
simpul tersebut. Keadaan pohon sekarang :
N

N
N
D

N D
N
D
1
N D
N D 1
3
N D
3
D 2

D 2
2

Langkah penurunan : “N 2 => ND => NDD => NDDD”. Dengan cara yang sama
seperti di atas, keadaan pohon sekarang :
N

N
N
D

N D
N
D
1
N D
N D 1
3
N D
3
D 2

D 2
2

2
Langkah penurunan : “N => ND => NDD => NDDD => DDDD”. Dengan cara yang
sama seperti di atas, keadaan pohon sekarang : Demikian seterusnya sampai seluruh
simpul yang merupakan daun dari pohon tersebut telah ditandai.
Langkah penurunan yang dihasilkan dari cara di atas adalah langkah penurunan dari
kiri ke kanan (leftmost derivation) karena kita selalu memilih simbol non terminal
paling kiri untuk diturunkan. Selain langkah penurunan dari kiri ke kanan, terdapat
pula langkah penurunan dari kanan ke kiri. Langkah penurunan dari kiri ke kanan
atau dari kanan ke kiri lebih banyak digunakan dalam metode parsing karena
sistematis.
4.7. Ringkasan
FSA adalah sebuah mesin hipotetis untuk mengidentifikasi bahasa reguler.
Terdapat tiga metode untuk membuat FSA berdasarkan ekspresi reguler yaitu metode
hafalan, metode NFA, dan metode transisi . Jika ekspresi reguler cukup sederhana,
kita bisa menghafalkan DFA yang ekivalen. Jika ekspresi reguler agak rumit, kita
harus mengkonstruksi NFA terlebih dahulu, kemudian mengubahnya menjadi DFSA.
Jika ekspresi reguler sangat rumit, kita harus mengkonstruksi FSA bertransisi ,
kemudian mengubah menjadi NFA, kemudian mengubahnya lagi menjadi DFA. Jika
kita sulit mengkonstruksi ekspresi reguler untuk bahasa tertentu, maka DFA harus
dibuat menggunakan metode analisis yang lain.
Terdapat dua jenis tata bahasa reguler yaitu tata bahasa reguler linier kiri dan
tata bahasa reguler linier kanan. Perbedaan antara tata bahasa reguler linier kiri
dengan linier kanan terletak pada posisi simbol non terminal dalam aturan
produksinya. Simbol non terminal pada tata bahasa linier kiri berada pada posisi
paling kiri sedangkan pada tata bahasa linier kanan berada pada posisi paling kanan.
Untuk setiap tata bahasa reguler terdapat ekspresi reguler yang ekivalen. Demikian
juga sebaliknya.

4.8. Referensi Bacaan


Pertemuan kuliah yang keempat akan dilakukan secara online, dengan
menggunakan teknologi internet beserta software aplikasi yang mendukung ke arah
pembelajaran secara online. Pada petermuan keempat sekiranya perlu referensi untuk
bacaan bagi mahasiswa agar tercipta suatu kondisi pembelajaran yang baik,
walaupun pembelajaran tersebut melalui online (e-learning). Adapun referensi
bacaan untuk mahasiswa yaitu :
a. Roni Djuliawan, M.T., “Diktat Kuliah Teori Bahasa & Otomata”, Teknik
Informatika – Universitas Widyatama, 2003.
b. Rinaldi Munir, “Materi Kuliah Matematika Diskrit”, Informatika-ITB, Bandung,
2003.
c. Rinaldi Munir, “Matematika Diskrit”,Informatika, Bandung, 2001.
d. Hopcroft; Motwani; Ullman, “Introduction to automata theory, Languages and
Computation”, Pearson Education, 2001.
e. Swinglly Purba, “Otomata dan Bahasa Formal”, Graha Ilmu,Yogyakarta, 2008.
f. Firrar Utdirartatmo, “Teori Bahasa dan Otomata”, Graha Ilmu, Yogyakarta,
2005.
g. Zvi Kohavi, Switching and Finite Automata Theory, McGraw-Hill, 2005.

4.9. Quiz / Tugas


Pada pertemuan keempat perkuliahan yang kita lakukan, sekiranya perlu
diadakan quiz untuk mengetahui tingkat pemahaman mahasiswa terhadap materi
perkuliahan yang telah disampaikan. Adapun soal quiz yaitu sebagai berikut :
1. Buatlah tata bahasa regulser untuk menerima kalimat dengan ekspresi atau
kalimat berikut 0110110 !.
2. Buatlah DFSA (Deterministic Finite State Automata) yang mampu mengenali
kalimat dengan spesifikasi sebagai berikut :
 terdiri dari simbol 0 dan 1
 yang sesuai dengan kalimat atau ekspresi dari nomor satu !.
3. Bisakah mesin FSA dari nomor 2, dijadikan mesin FSA yang berupa NDFSA
(Nondeterministic Finite State Automata) !.
4. Buatlah pohon penurunan untuk kasus nomor 2 diatas !.

Anda mungkin juga menyukai