NEW
Font size
WorksheetsU4S T30R1 B4H454 & 0T0M4T4 2020-2
Total questions: 50
Worksheet time: 50mins
Dalam Penerapan Ekspresi Reguler: Sebuah bahasa dinyatakan regular jika:.......
terdapat finite state automata (FSA) yang dapat menerimanya
tidak terdapat finite state automata (FSA) yang dapat menerimanya
sebagian terdapat finite state automata (FSA) yang dapat menerimanya
terdapat finite state automata (FSA) yang tidak dapat menerimanya
finite state automata (FSA) yang dapat menerimanya dapat digunakan secara umum
Dalam Penerapan Ekspresi Reguler: Ekspresi regular biasanya disebut ER, memungkinkan: ................
mendefinisikan bahasa-bahasa
merombak bahasa-bahasa yang ada
mempersempit bahasa-bahasa yang ada
menyatukan bahasa-bahasa yang ada
membuat bahasa baru dari bahasa-bahasa yang ada
Dalam penerapan Ekspresi Reguler: Ekspresi regular memberikan suatu pola atau template untuk ..............
untai/string dari suatu bahasa.
ragam dari suatu bahasa.
kumpulan dari suatu bahasa.
pengembangan dari suatu bahasa.
penelusuran dari suatu bahasa.
Dalam Penerapan Ekspresi Reguler: Untai yang menyusun suatu bahasa regular akan cocok dengan:
pola bahasa itu
gaya bahasa itu
untai bahasa itu
jenis bahasa itu
tingkat kerumitan bahasa itu
Perhatikan Gambar di atas, gambar tersebut merupakan contoh Penerapan Ekspresi Reguler untuk:
FSA menerima bilangan integer tak bertanda
FSA menerima bilangan bulat
FSA menerima bilangan integer positif
FSA menerima bilangan integer negatif
FSA menerima bilangan desimal dan alfa numerik
Dalam suatu kompilator, Ekspresi regular bisa diaplikasikan untuk melakukan analisis leksikal, yaitu mengidentifikasikan unit-unit leksikal yg dikenal dalam program. Unit leksikal ini biasa disebut
token
untai
deret
himpunan
makna
Dalam Penterjemahan FSA menjadi Kode Program: Bila pada bahasa FORTRAN dibatasi panjang identifier maksimal 6, maka ekspresi regular untuk identifier pada FORTRAN bisa dinyatakan sebagai:
(huruf) (huruf+digit)⁵
(huruf) (huruf+digit)6
(huruf+digit)⁵
(huruf+digit)6
(huruf) (huruf)⁵
Manakah berikut ini yang bukan merupakan penulisan Notasi Ekspresi Reguler?
(*) yaitu karakter asterisk, berarti bisa tidak muncul, bisa juga muncul berhingga kali (0-n).
(˖) pada posisi superscript / diatas berarti minimal muncul satu kali (1-n).
(+) atau (ᴗ) berarti union/atau.
(.) titik, berarti konkatenasi. Biasanya titik bisa dihilangkan. Misalnya: ab bermakna sama seperti a.b.
(%) Prosen, berarti berarti pembagian modulus. Misalnya 5%2 bermakna 5 dibagi dengan 2 hasilnya 2 dengan sisa hasil pembagian 1
Manakah yang merupakan Urutan prioritas operator tertinggi dalam ekspresi regular?
Operator star (*)
Operator dot (concatenation)(.)
Concatenation bersifat asosiatif sehingga 012 dapat dikelompokkan (01)2.
Operator (+) atau (υ)/ (union) yang bersifat asosiatif.
Contoh, ekspresi 01*+1 dikelompokkan menjadi (0(1*))+1.
Operator pengurangan (-)
Operator Modulue (%)
Perhatikan gambar di atas, gambar tersebut merupakan"
Hubungan antara NFA, DFA dan Ekspresi Regular
Diagram Proses NFA, DFA dan Ekspresi Regular
Cara Kerja NFA, DFA dan Ekspresi Regular
Hubungan antara NFA, DFA dan Ekspresi Regular
Penggabungan antara NFA, DFA dan Ekspresi Regular
Tata Bahasa Regular (FSA) bisa kita konstruksikan dengan :
Ekspresi Regular dan Aturan Produksi
Pohon Penurunan
Graph berarah
Graph tak berarah
Matrik
Sebuah otomata berhingga menspesifikasikan sebuah bahasa sebagai himpunan semua untai yang menggerakkannya dari state awal ke
salah satu dari state yang diterimanya (himpunan state akhir).
state awal
proses awal
proses tengah
proses akhir
Dalam batasan Aturan Produksi untuk Bahasa Regular:
α→β (dibaca α menghasilkan β)
α adalah sebuah simbol variabel.
β maksimal memiliki sebuah simbol variabel yang terletak di
paling kanan bila ada.
di awal
di tengah
di konsep bahasa
di model bahasa
Dalam batasan Aturan Produksi untuk Bahasa Regular (lanjutan):
•α atau β bisa berupa simbol terminal atau non-terminal/variabel.
•Simbol variabel/non-terminal adalah simbol yang masih bisa diturunkan. Biasanya dinyatakan dengan:
huruf besar, misal: A, B, C.
huruf kecil, misal: a, b, c.
gabungan huruf besar dan kecil
angka desimal
simbol abjad yunani seperti: α atau β
Dalam batasan Aturan Produksi untuk Bahasa Regular (lanjutan):
•Simbol terminal sudah tidak bisa diturunkan lagi. Simbol terminal biasanya dinyatakan dengan
huruf kecil. Misal: a, b, c.
huruf Besar Misal: A, B, C.
huruf gabungan. Misal: a, B, c.
Simbol huruf yunani seperti: α atau β
•Suatu tata bahasa (grammar) didefinisikan dengan 4 tupel (G={V, T, P, S}) dimana:
→V=
himpunan simbol variabel/non terminal.
himpunan simbol terminal.
kumpulan aturan produksi
simbol awal
konstanra
Dalam mengkontruksi aturan produksi tata bahasa regular dari suatu finite state automata, perlu kita ingat yang menjadi perhatian kita adalah state-state yang bisa menuju ke
state akhir.
state awal
state tengah
state baru
state random
•Misalnya kita tentukan simbol awal adalah S, kita identikan simbol S dengan state awal q₀. dari q₀ mendapat input a menjadi q₁.
•E Kita identikkan dengan q₁
•Bisa kita tuliskan sebagai aturan produksi:
S→aE
S→AE
S→ae
S→q1q2
S→q2q1
Perhatikan gambar di atas:
•Bisa kita lihat hasil pada gambar tersebut akan berkorelasi S dengan q₀, B dengan q₁, dan C dengan q₂.
•Kita lihat S→b, maka kita buat state akhir adalah:
q₃.
q1.
q2.
q0
q2 dan q3
•Jika kita identikan q₂ sebagai A dan q₃ sebagai B.
–dari q₂ mendapat input a tetap ke q₂,
–dari q₃ mendapat input b tetap ke q₃, bisa kita tuliskan:
A → aA
B → bB
A → AA
B → BB
A → aa
B → bb
A → aA1
B → bB2
A → aA2
B → bB1
Dalam Hirarki Chomsky Bahasa Reguler/Type 3 mesin Otomata : Finite State Otomata (FSA) memiliki batasan aturan produksi:
ß memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kanan
α memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kanan
ß memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kiri
α memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kiri
Tidak ada batasan
Dalam Hirarki Chomsky Bahasa Untresticted/Phase Structural/Natural Language/Type 0 mesin Otomata : mesin turing memiliki batasan aturan produksi:
ß memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kanan
α memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kanan
ß memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kiri
α memiliki maksimal sebuah simbol variabel yang bisa ada terletak di posisi paling kiri
Tidak ada batasan
Dalam Tata Bahasa Bebas Konteks (Context Free Grammar/CFG)
Bahasa bebas konteks menjadi dasar dalam pembentukan suatu parser/proses analisis sintaksis.
Bagian sintaks dalam suatu kompilator kebanyakan didefinisikan dalam .....
tata bahasa bebas konteks
tata bahasa tergantung konteks
tata bahasa tanpa konteks
tata bahasa terikat konteks
tata bahasa mengikuti konteks
Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/context free grammar, selanjutnya kita sebut CFG, tidak terdapat pembatasan hasil produksinya. Pada aturan produksi:a–>b maka:
batasannya hanyalah ruas kiri (a) adalah sebuah simbol variabel
batasannya hanyalah ruas kiri (b) adalah sebuah simbol variabel
batasannya hanyalah ruas kiri (a) adalah beberapa simbol variabel
batasannya hanyalah ruas kanan(b) adalah sebuah simbol variabel
tidak ada batasan
Suatu graph terhubung tidak sirkuler, yang memiliki satu simpul (node) /vertex yang disebut akar (root) dan dari root memiliki lintasan ke setiap simpul disebut:
pohon (tree)
graph
matrik
vertex
akar
•Pohon penurunan (derivation tree/parse tree) berguna untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol terminal. Setiap simbol variabel akan diturunkan menjadi ....
terminal, sampai tidak ada yang belum tergantikan.
daun, sampai tidak ada yang belum tergantikan.
pohonl, sampai tidak ada yang belum tergantikan.
graph, sampai tidak ada yang belum tergantikan.
vertex, sampai tidak ada yang belum tergantikan.
Misalnya terdapat tata bahasa bebas konteks dengan aturan produksi (simbol awal S, selanjutnya digunakan sebagai simbol awal untuk tata bahasa bebas konteks adalah S).
S –> AB
A –> aA | a
B –> bB | b
Manakah pernyataan berikut yang salah?
Akan kita gambarkan pohon penurunan untuk memperoleh untai : ‘aabbb’.
Pada pohon tersebut simbol awal akan menjadi akar (root).
Setiap kali penurunan dipilih aturan produksi yang menuju ke solusi.
Simbol-simbol variabel akan menjadi simpul-simpul yang mempunyai induk
Simpul-simpul yang tidak mempunyai anak akan menjadi simbol terminal.
Perhatikan gambar di atas, gambar di atas merupakan Pohon Penurunan untuk untai .....
‘aabbb’
‘aaabb’
'BABA'
‘ababa’
'AABB'
Ambiguitas/ke-dwi artian terjadi bila terdapat lebih dari satu pohon penurunan yang ......
berbeda untuk memperoleh suatu untai.
sama untuk memperoleh suatu untai.
bertingkat untuk memperoleh suatu untai.
setingkat untuk memperoleh suatu untai.
berproses untuk memperoleh suatu untai.
Ambiguitas dapat menimbulkan masalah pada bahasa-bahasa tertentu, baik bahasa alami maupun pada bahasa pemrograman.
Bila suatu struktur bahasa memiliki lebih dari suatu dekomposisi (penurunan), dan susunannya akan menentukan arti, maka artinya menjadi
ambigu
jelas
tunggal
pasti
tepat
Penyederhanaan CFG: Untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yg memiliki kerumitan yang tidak perlu atau.........
aturan produksi yang tidak berarti
aturan produksi yang berarti
aturan produksi yang akurat
aturan produksi yang tidak rumit
aturan produksi yang tidak sederhana
S→ AB | a
A → a
Aturan S→ AB tidak berarti karena B
tidak memiliki penurunan
memiliki penurunan
tidak bisa diremehkan
tidak memiliki induk
tidak seimbang
Aturan Produksi berikut:
nS → A
A → B
B → C
C → D
D → a | A
Memiliki kelemahan yaitu terlalu panjang jalannya padahal berujung pada S → a, D → A juga menyebabkan.....
kerumitan.
kemudahan
kepanjangan
nilai kosong
nilai mutlak
Produksi Useless :
Produksi yang memuat simbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya, produksi ini tidak berguna karena bila diturunkan:
tidak akan pernah selesai (masih ada simbol variabel yang tersisa)
akan selesai ( walaupun masih ada simbol variabel yang tersisa)
tidak mudahi (karena masih ada simbol variabel yang tersisa)
mudah untuk diselesaikan (walaupun masih ada simbol variabel yang tersisa)
pasti akan pernah selesai (walaupun masih ada simbol variabel yang tersisa)
Perhatikan penurunan berikut:
S → aSa | Abd | Bde
A → Ada
B → BBB | a
-Simbol A tidak memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan
-Konsekuensi no 1, aturan produksi S →
Abd tidak memiliki penurunan
Abd memiliki penurunan
Abd tidak memiliki induk
Abd memiliki kesalahan penulisan
Abd tidak memiliki proses
Prinsip penyederhanaan adalah: Prinsipnya setiap kali melakukan penyederhanan kita periksa lagi aturan produksi yang tersisa, apakah semua produksi yang useless sudah.........
dihilangkan.
diturunkan.
diproses.
dikembalikan.
dimutasi.
S → Sb
S → C
C → D
C → ef
D → dd
Kita lakukan penggantian berturutan mulai dari aturan produksi yang paling dekat menuju ke penurunan terminal2 ( ‘→’ dibaca ‘menjadi’):
C → D => C → dd
S → C => S → dd | ef
Sehingga disederhanakan menjadi :
manakah yang salah?
S → Sb
S → dd | ef
C → dd
C → ef
D → ef
Sederhanakan dengan menghilangkan Unit
S → Sb
S → C dd I ef
C→ ef
D→ dd
Hasil penyederhanaanya adalah:
S → Sb
S:→ dd I ef
S → bb
S:→ dd I ef
S → Sb
S:→ dd I ee
S → Sb
S:→ bb I ef
S → Sb
S:→ ee I ef
Penghilangan Produksi Unit:
Produksi unit adalah produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel, misalnya : A → B,
C → D.
Keberadaan produksi unit membuat tata bahasa memiliki kerumitan yang tidak perlu atau menambah panjang penurunan.
Penyederhanaan ini dilakukan dengan melakukan
penggantian aturan produksi.
penghilangan aturan produksi.
penamabahan aturan produksi.
penamabah aturan produksi.
pengurangan aturan produksi.
Untuk penghilangan Produksi Unit berikut:
S → Cba | D
A → bbC
B → Sc | ddd
C → eA | f | C
D → E | SABC
E → gh
Penggantian yang dilakukan :
D → E => D → gh
C → C dihapus
S → D => S → gh | SABC
Sehingga aturan produksi setelah disederhanakan :(manakah yang salah?)
S → Cba | gh | SABC
A → bbC
B → Sc | ddd dan
C → eA | f
D → gh | SABC dan
E → gh
D → gh | SABC dan
E → bbC
Penghilangan produksi ε dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju ........
produksi ε
produksi awal
produksi akhir/terminal
produksi tengah
produksi bertingkat
Dalam Prinsip Penghilangan produksi ε. Prinsip penggantiannya bisa dilihat kasus berikut :
S → bcAd
A → ε
Pada kasus di atas A nullable, serta A → ε satu-satunya produksi dari A, maka variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks menjadi :
S → bcd
S → bcd
S → BCD
S → bCD
S → BCd
S → ε
Untuk bentuk produksi sebagai berikut:
S → bcAd
A → bd | ε
Pada kasus diatas A nullable, tapi A → ε
bukan satu2nya produksi dari A, maka hasil
penyederhanaan menjadi:
S → bcAd | bcd
A → bd
S → bcAd | bcd
A → bd
A → bd | ε
S → bcAd | bcd
A → bd | ε
Untuk Produksi:
S → AB
A → abB | aCa | ε
B → bA | BB | ε
C → ε
Variabel yang nullable A, B, C. Dari S → AB, maka S juga
nullable. Kita lakukan penggantian :
A → aCa => A → aa
B → bA => B → bA | b
B → BB => B → BB | B
A → abB => A → abB | ab
S → AB => S → AB | A | B | ε
C → ε, B → ε, A → ε dihapus
Perhatikan : untuk penggantian S → AB kita tetap mempertahankan produksi S → ε, karena S merupakan .....
simbol awal
simbol akhir
simbol terminal
tidak bisa diproduksi lagi
terlalu rumit
Perhatikan Bagan Penyederhanaan di Atas, Kota kosong yang berisi tandatangan tersebut berisi.....
CFG yang sudah
disederhanakan
Penghilangan
Produksi ε
Penghilangan
Produksi Unit
CFG
Memang Kosong
Lakukan penghilangan aturan produksi unit, useless, dan ε dari tata bahasa bebas konteks berikut :
S → a | aA | B | C
A → aB | ε
B → Aa
C → cCD
D → ddd
Penghilangan Produksi ε :
A → ε dihilangkan, shg :
A → aB
B → Aa | a
S → a | aA | B | C
Penyederhanaannya Menjadi :
Penghilangan Produksi Useless :
1.C tidak memiliki penurunan, shg C → cCD dihilangkan
2.S → cCD dihilangkan
3.Konsekuensi no 2, D → ddd dihilangkan
Sehingga menjadi :
S → a | aA | Aa
A → aB
B → Aa | a
S → a | aA | B | C
A → aB
B → Aa
C → cCD
D → ddd
S → a | aA | B | C
A → aB
B → Aa | a
C → c
D → dddS → a | aA | B | C
A → aB
B → Aa | a
C → cCD
D → ddd
S → a | aA | B | C
A → aB
B → Aa | a
S → a | aA | B | C
A → aB
Penghilangan Produksi Unit :
S → B => S → Aa | a
S → C => S → cCD
Sehingga menjadi :
S → a | aA | Aa | cCD
A → aB
B → Aa | a
C → cCD
D → ddd
Penghilangan Produksi ε :
A → ε dihilangkan, sehingga :
B → bA => B → b
B → ε dihilangkan, shg :
S → aB => S → aB | a
S → aaB => S → aaB | aa
Sehingga Menjadi :
S → aB | a | aaB | aa
B → b
S → aB | a | aaB | aa
B → b
S → aB | a | aaB
B → b
S → aB | a
B → b
Dalam Penghilangan Produksi Unit :
Tidak ada karena semua aturan produksi tidak ada yang ruas kiri dan kanannya mempunyai .......
sebuah simbol variabel
dua buah simbol variabel.
tiga buah simbol variabel.
empat buah simbol variabel.
lima buah simbol variabel.
Dalam kasus Penghilangan Produksi Useless :
Karena tidak ada yg redundan dan semua aturan produksinya sudah sederhana, maka hasil dari penghilangan produksi useless =
hasil dari penghilangan produksi ε
hasil dari penambahan produksi ε
hasil dari pengurangan produksi ε
hasil dari manipulasi produksi ε
hasil dari pengolahan produksi ε
Perhatikan Gambar di Atas:
Gambar tersebut merupakan bagan untuk:
Penyederhaan CFG
Simulasi CFG
Penambahan CFG
Pengurangan CFG
Taha-Tapap CFG
