480 likes | 1.61k Views
Teori Bahasa dan Otomata. BENTUK NORMAL CHOMSKY. Oleh : Bagus Adhi Kusuma Program Studi Teknik Informatika STMIK AMIKOM Purwokerto. DEFINISI CNF. merupakan salah satu bentuk normal yang sangat berguna untuk Context Free Grammar (CFG).
E N D
TeoriBahasadanOtomata BENTUK NORMALCHOMSKY Oleh : BagusAdhiKusuma Program StudiTeknikInformatika STMIK AMIKOM Purwokerto
DEFINISI CNF merupakansalahsatubentuk normal yang sangatbergunauntuk Context Free Grammar (CFG) Merupakan Context Free Grammar (CFG) dengansetiapproduksinyaberbentuk: A → BC atau A → a
DEFINISI CNF Suatutatabahasabebaskonteksdapatdikonstruksimenjadibentuk normal Chomsky (Chomsky Normal Form/CNF) jikatidaklagimengandungproduksi-produksi yang useless, unit, dan empty (ε). Dengan kata lain, untukmengkonstruksisuatu CNF darisuatutatabahasbebaskonteksadalahdengancaramenghilangkanproduksi-produksi useless, unit, danε.
ATURAN PRODUKSI CNF ruaskananadalahsebuahsimbol terminal atauduasimbolvariable. • Jadidalam CNF, ruaskananhanyabolehberupasebuahsimbol terminal atauduabuahsimbolvariable. • Jikaterdapatlebihdarisatusimbol terminal makaharusdilakukanpenggantiandanjugajikaterdapatlebihdariduabuahsimbol variable makaharusdilakukanperubahan.
Misalkan: • A → BC • A → b • B → a • C → BA | d
TRANSFORMASI CFG KE CNF Transformasi CFG ke CNF adalahtransformasiberikut:
PEMBENTUKAN CNF Langkah-langkahpembentukanbentuk normal Chomsky secaraumumsebagaiberikut: Biarkanaturanproduksi yang sudahdalambentuk normal Chomsky Lakukanpenggantianaturanproduksi yang ruaskanannyamemuatsimbol terminal danpanjangruaskanan > 1 Lakukanpenggantianaturanproduksi yang ruaskanannyamemuat > 2 simbolvariabel
Penggantian-penggantiantersebutbisadilakukanberkali-kali sampaiakhirnyasemuaaturanproduksidalambentuk normal Chomsky • Selamadilakukanpenggantian, kemungkinankitaakanmemperolehaturan-aturanproduksibaru, danjugamemunculkansimbol-simbolvariabelbaru
CONTOH 1: Diketahuitatabahasabebaskonteks (sudahtidakmengandungproduksi useless, unit danε) sebagaiberikut : S aB | SS | c B BBB | cd | a Ubahlahkedalambentuk normal Chomsky
Langkahmembuat CNF daritatabahasabebaskontekscontoh 1 : Biarkanaturan-aturanproduksi yang sudahdalambentukCNF S SS S c B a
Lakukanpenggantianaturan-aturanproduksi yang belumdalambentukCNF yang belumdalambentuk CNF : S aB=> S Z1B B BBB=> B Z2 B B cd=> B Z3 d =>B Z3 Z4 Simbol variable barudanaturanproduksibaru yang terbentuk : Z1 a Z2 BB Z3c Z2 d
Hasilakhir : S SS | c | Z1B B Z2B | Z3 Z4 | a Z1 a Z2 BB Z3 c Z4 d
CONTOH 2 : Diketahuitatabahasabebaskonteks (sudahtidakmengandungproduksi useless, unit danε) sebagaiberikut : S → bA | aBA → bAA | aS | aB → aBB | bS | b Ubahlahkedalambentuk normal Chomsky
Aturanproduksi yang sudahdalambentuk normal Chomsky: A → aB → b Dilakukanpenggantianaturanproduksi yang belumbentuk normal Chomsky (‘=>’ bisadibacaberubahmenjadi): S → bA => S → P1AS → aB => S → P2BA → bAA =>A → P1AA => A → P1P3 A → aS => A → P2SB → aBB => B → P2BB => B → P2P4B → bS => B → P1S
Terbentukaturanproduksidansimbolvariabelbaru: P1 → bP2 → aP3 → AAP4 → BB
Hasilakhiraturanproduksidalambentuk normal Chomsky : A → aB → bS → P1AS → P2BA → P1P3A → P2SB → P2P4B → P1SP1 → bP2 → aP3 → AAP4 → BB
P1 = P, P2 =Q, P3 =R, P4 =T, sehinggaaturanproduksinyamenjadi: S → PAS → QBA → PRA → QSA → aB → QTB → PSB → bP → bQ → aR → AAT → BB
LATIHAN SOAL 1 Diketahui Tata bahasabebaskontekssbb. S →aB | CAA →a | bcB →BC | AbC →aB | b Ubahlahkedalambentuk normal chomsky
LATIHAN SOAL 2 Diketahuitatabahasabebaskontekssebagaiberikut: S aa | Ba | cd B AA | AAA | Dc A abcd D De | ee | f Ubahlahkedalambentuk normal chomsky