Anda di halaman 1dari 12

Lanjut ke konten

Innocent Titut

CARI
INFORMATIKA
Bentuk Normal Chomsky dan Greibach
PENDAHULUAN

1. Pengertian Bentuk Normal Chomsky

Bentuk Normal Chomsky / Chomsky Normal Form (CNF) merupakan salah satu bentuk normal
yang sangat berguna untuk Context Free Grammar (CFG). Bentuk normal Chomskydapat dibuat
dari sebuah tata bahasa bebas konteks yang telah mengalami penyederhanaan yaitu penghilangan
produksi useless, unit, dan ε. Dengan kata lain, suatu tata bahasa bebas konteks dapat dibuat
menjadi bentuk normal Chomsky dengan syarat tata bahasa bebas kontesk tersebut:

 Tidak memiliki produksi useless


 Tidak memiliki produksi unit
 Tidak memiliki produksi ε

Bentuk normal Chomsky (Chomsky Normal Form, CNF) adalah Context Free Grammar
(CFG) dengan setiap produksinya berbentuk :

A → BC atau A → a.
Transformasi CFG ke CNF

Transformasi CFG ke CNF adalah transformasi berikut :

Transformasi CFG ke CNF

Aturan produksi dalam bentuk normal Chomsky ruas kanannya tepat berupa sebuah terminal
atau dua variabel.

Misalkan:

 A → BC
 A→b
 B→a
 C → BA | d

2. Pengerian Bentuk Normal Greibach

Bentuk Normal Greibach merupakan bentuk normal yang memiliki banyakkonsekuensi teoritis
dan prkatis. Dalam bentuk normal Greibach kita membatasi posisimunculnya terminal-terminal
dan variabel-variabel. Suatu tata bahasa bebas konteks(CFG) dikatakan dalam bentuk normal
Greibach / Greibach Normal Form, selanjutnyakita sebut sebagai GNF, jika setiap aturan
produksinya ada dalam bentuk:

A aa

a:simbol terminal (tunggal), a e T

a: rangkaian simbol-simbol variabel (V*)

Atau dengan kata lain, suatu tata bahasa bebas konteks dalam bentuk normal Greibach bila hasil
produksinya (ruas kanan) diawali dengan satu simbol terminal,selanjutnya bisa diikuti oleh
rangkaian simbol variabel. Contoh tata bahasa bebas konteksdalam bentuk bentuk normal
Greibach:

S a | aAB
A aB

B cS

Untuk dapat diubah ke dalam bentuk normaol Greibach, tata bahasa semula harus memenuhi
syarat:

 Sudah dalam bentuk normal Chomsky


 Tidak bersifat rekursif kiri
 Tidak menghasilkan e

Terdapat dua cara pembentukan bentuk normal Greibach , yaitu melalui substitusi dan perkalian
matriks. Pada bagian berikutnya kita membahasa kedua cara tersebut.

PEMBAHASAN

1. Pembentukan Bentuk Normal Chomsky

Langkah-langkah pembentukan bentuk normal Chomskysecara umum sebagai berikut:

 Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky


 Lakukan penggantian aturan produksi yang ruas kanannya memuat simbol terminal dan panjang
ruas kanan > 1
 Lakukan penggantian aturan produksi yang ruas kanannya memuat > 2 simbol variabel
 Penggantian-penggantian tersebut bisa dilakukan berkali-kali sampai akhirnya semua aturan
produksi dalam bentuk normal Chomsky
 Selama dilakukan penggantian, kemungkinan kita akan memperoleh aturan-aturan produksi baru,
dan juga memunculkan simbol-simbol variabel baru

Bisa dilihat tahapan-tahapan tersebut pada gambar berikut:

Langkah-langkah pembentukan bentuk normal Chomsky :

 Contoh, Context Free Grammar (kita anggap CFG pada bab ini sudah mengalami
Penyederhanaan CFG):

S → bA | aB

A → bAA | aS | a
B → aBB | bS | b

Aturan produksi yang sudah dalam bentuk normal Chomsky:

A→a

B→b

Dilakukan penggantian aturan produksi yang belum bentuk normal Chomsky (‘=>’ bisa dibaca
berubah menjadi):

S → bA => S → P1A

S → aB => S → P2B

A → bAA =>A → P1AA => A → P1P3

A → aS => A → P2S

B → aBB => B → P2BB => B → P2P4

B → bS => B → P1S

Terbentuk aturan produksi dan simbol variabel baru:

P1 → b

P2 → a

P3 → AA

P4 → BB

Hasil akhir aturan produksi dalam bentuk normal Chomsky :

A→a
B→b

S → P1A

S → P2B

A → P1P3

A → P2 S

B → P2 P4

B → P1 S

P1 → b

P2 → a

P3 → AA

P4 → BB

P1 = P, P2 =Q, P3 =R, P4 =T, sehingga aturan produksinya menjadi:

S → PA

S → QB

A → PR

A → QS

A→a

B → QT
B → PS

B→b

P→b

Q→a

R → AA

T → BB

2. Pembentukan Bentuk Normal Greibach


1. Pembentukan Bentuk Normal Greibach dengan Substitusi

Secara umum langkah-langkah untuk mendapatkan bentuk normal Greibach :

1. Tentukan urutan simbol-simbol variabel yang ada dalam tata bahasa. Misalkan terdapat m
variabel dengan urutan A1, A2, …., Am
2. Berdasarkan urutan simbol yang ditetapkan pada langkah (1)meluruh aturan produksi yang ruas
kanannya diawali dengan simbol variabel dapat dituliskan dalam bentukAh →Ai ? Dimana h <>
i (rekrusif kiri sudah dihilangkan) ? Bisa berupa simbol-simbolvariabel.
3. Jika h <> i, aturan produksi belum benar. Lakukan substitusi berulang-ulang terhadap Ai (ganti
Ai pada produksi ini dengan ruas kanan produksi dari variabel Ai ) sehingga suatu saat diperoleh
produksi dalam bentuk Ah →Ap ? (dimana h = p )
1. Jika h = p , lakukan penghilangan rekursif kiri

 ii) Jika h < a =” simbol” b2 =” simbol”>A)

Yang belum memenuhi urutan yang telah kita tentukan adalah: D AB, karenaruas kiri > simbol
pertama pada ruas kanan. Maka kita lakukan sibstitusi padasimbol variabel A, aturan produksi
menjadi:

D aB | dB
Setelah semua aturan produksi sudah memenuhi ketentuan urutan variabel, kitalakukan substitusi
mundur pada aturan produksi yang belum dalam bentuk normal Greibach (‘=>’ dibaca
‘menjadi’):

 C DD => C aBD | dBD


 S CA => S aBDA | dBDA

*)Perhatikan substitusi mundur dimulai dari aturan produksi yang memiliki ruas kiri dengan
urutan variabel paling akhir ( kasus di atas:S A sehingga harus diubah)

Pengubahan C AB:

C AB => C BCB => C CACB | bCB

Untuk C CACB lakukan penghilangan rekursif kiri menjadi

 C bCBZ1 | aZ1
 Z1 ACB
 Z1 ACBZ1

Kita lihat seluruh hasil produksi dari variabel C, sudah dalam bentuk normal Greibach:

C bCBZ1 | aZ1 | bCB | a

Setelah semua aturan produksi sudah memenuhi ketentuan urutan variabel, kita lakukan
substitusi mundur:

B CA => B bCBZ1A | aZ1A | bCBA | aA

A BC => A bCBZ1AC | aZ1AC | bCBAC | aAC | bC

Selanjutnya lakukan pula substitusi pada aturan produksi dengan variabel baru yang terbentuk
(pada contoh ini Z1):

Z1 ACB => Z1 bCBZ1ACCB | aZ1ACCB | bCBACCB | aACCB | bCCB

Z1 ACBZ1 => Z1 bCBZ1ACCBZ1 | aZ1ACCBZ1 | bCBACCBZ1 | aACCBZ1| bCCBZ1


Hasil akhir aturan produksi dalam bentuk bentuk normal Greibach:

A bCBZ1AC | aZ1AC | bCBAC | aAC | bC |

B bCBZ1A | aZ1A | bCBA | aA | B

C bCBZ1 | aZ1 | bCB | a

Z1 bCBZ1ACCB | aZ1ACCB | bCBACCB | aACCB | bCCB

Z1 bCBZ1ACCBZ1 | aZ1ACCBZ1 | bCBACCBZ1 | aACCBZ1 | bCCBZ1

Prinsip dalam Pembentukan Bentuk Normal Greibach dengan Substitusi

 Biarkan aturan produksi yang sudah dalam bentuk normal Greibach.


 Tentukan pengurutan simbol variabel berdasarkan kondisi aturan produksi yang ada. Mulai
terlebih dahulu dari simbol awal.
 Lakukan pengubahan pada aturan produksi yang belum memenuhi ketentuan urutan, bila perlu
bisa dilakukan substitusi dan penghilang rekursif kiri.
 Lakukan substitusi mundur sehingga semua aturan produksi akan diawali oleh sebuah simbol
terminal. Proses substitusi mendur dimulai dari aturan produksi dengan urutan paling akhir.
 Lakukan substitusi pada aturan produksi baru yang muncul sebagai hasil penghilangan rekursif
kiri.

1. Pembentukan Bentuk Normal Greibach melalui Perkalian Matriks

Didasari pemikiran bahwa aturan produksi dapat dianggap sebagai persamaan linear. Misalkan :

A → BC

B → CA | b

C → AB | a
Dengan mengganti tanda “→” menjadi “=” dan tanda “|” menjadi “+” maka didapat persamaan
linear :

A = BC

B = CA + b

C = AB + a

Persamaan linear tersebut dapat dinyatakan sebagai persamaan matriks berikut :

V = VR + S

n adalah banyaknya variabel

V = vektor baris l X n yang berisi simbol variabel

R = matriks n X n yang berisi simbol terminal dan variabel

S = vektor baris l X n yang berisi simbol terminal dan variabel

DAFTAR PUSTAKA

https://bahanajarku.files.wordpress.com/2011/05/bentuk_normal_greibach.pdf

https://fairuzelsaid.wordpress.com/2011/06/23/bentuk-normal-chomsky/

http://hery-whyd.blogspot.co.id/2010/01/teori-bahasa-dan-automata.html

https://betaraubd.wordpress.com/2012/11/23/teori-bahasa-dan-otomata-karya-firrar-utdirartatmo/
Tata Bahasa Chomsky
Teori Bahasa dan Otomata

Bahasa adalah struktur yang dikendalikan sekumpulan aturan tertentu, semacam mesin untuk
memproduksi makna. Akan tetapi seperti setiap mesin hanya terdapat kemungkinan terbatas bagi
setiap orang dalam menggunakannya.

Dalam bahasa disediakan pembendaharaan kata atau tanda (vocabulary), serta perangkat aturan
bahasa (grammar, sintaks) yang harus dipatuhi jika hendak menghasilkan sebuah ekspresi yang
bermakna.

Teori Bahasa

Teori Bahasa adalah konsep-konsep pada "string alpabet V" dalam penyambungan karakter-karakter
alpabet untuk membentuk suatu makna (bahasa).

Sejarah Otomata dan Teori Bahasa

Otomata bermula sebelum komputer ada pada teori di bidang sistem logika matematika atau formal,
ilmuwan David Hilbert telah mencoba menciptakan algoritma umum untuk pembuktian (seluruh)
persoalan matematika secara otomatis yaitu mampu menentukan salah benarnya sembarang prosisi
matematika.

Tahun 1931, Kurt GÖdel mempublikasikan teori ketidaklengkapan dimana membuktikan


prosedur/algoritma yang dikehendaki David Hilbert tersebut tidak akan pernah ada.

GÖdel membangun rumus di kalkulus predikat yang diterapkan pada bilangan bulat yang memiliki
pernyataan-pernyataan definisi yang tidak dapat dibuktikan maupun dibantah di dalam sistem logika
yang mungkin dibangun manusia.

Formalisasi argumen teorema ketidaklengkapan GÖdel ini berikut penjelasan dan formalisasi
selanjutnya dari prosedur efektif secara intuisi merupakan salah satu pencapaian intelektual terbesar
abad 20, yaitu abad dimana formalisasi berkembang semarak.

Pengembangan teori otomata, komputasi dan teori bahasa berikutnya difasilitasi perkembangan bidang
psyco-linguistic. Bidang psyco-linguistic berupaya menjawab pertanyan-pertanyan berikut:
- Apakah bahasa secara umum?
- Bagaimana manusia mengembangkan bahasa?
- Bagaimana manusia memahami bahasa?
- Bagaimana manusia mengajarkan bahasa ke anak-anaknya?
- Apa gagasan-gagasan yang dapat dinyatakan dan bagaimana caranya?
- Bagaimana manusia membangun kalimat-kalimat dari gagasan-gagasan yang berada di pikirannya?

Sekitar tahun 1950-an, Noam Chomsky menciptakan model matematika sebagai sarana untuk
mendeskripsikan bahasa serta menjawab pertanyaan-pertanyaan di atas. Saat ini dimulai pendalaman
bidang bahasa komputer.

Perbedaan antara bahasa komputer dan bahasa manusia adalah sampai sekarang belum diketahuinya
bagaimana cara manusia mengartikan bahasa, sementara dengan pasti dapat mengartikan bahasa pada
komputer.

Noam Chomsky mengemukakan perangkat format disebut grammar untuk memodelkan properti-
properti bahasa.
Tata bahasa (grammer) bisa didefinisikan secara, formal sebagai kumpulan dari himpunan?himpunan
variabel, simbol?simbol, terminal, simbol awal, yang dibatasi oleh aturan?aturan produksi. Tingkat
bahasa dapat digolongkan menjadi empat yaitu :
1.Bahasa : Regular type 3
Mesin otomata : Finite State Otomata (FSA) meliputi deterministic finite automata dan non
deterministic finite automata
Batasan aturan produksi : adalah sebuah simbol variabel maksimal memiliki sebuah simbol variabel
yang bila terletak di posisi paling kanan.
2.Bahasa : Bebas konteks/context free /type 2
Mesin otomata : Push down automata (PDA)
Batasan aturan produksi : Berupa sebuah simbol variabel.
3.Bahasa : Context sensitive/type 1
Mesin otomata : Linier bounded automata
Batasan aturan produksi :
4.Bahasa : Unrestricted /phase /natural language/type 0
Mesin otomata : Mesin turing
Batasan aturan produksi : Tidak ada batasan

Semua aturan produksi dinyatakan dalam bentuk “” dimana


- : simbol?simbol pada ruas kiri aturan produksi
- : simbol?simbol pada ruas kanan
Simbol?simbol tersebut bisa berupa simbol terminal atau non terminal/ variabel.
Keterangan :
Simbol terminal biasanya dinyatakan dengan huruf kecil, misal 'a ', ‘b’, ‘c’.(tidak bisa diturunkan lagi).
Simbol non terminal dinyatakan dengan huruf besar, misal ‘A’, ‘B’, ‘C’.(masih bisa diturunkan).
Dengan menerapkan aturan produksi, suatu tata bahasa bisa menghasilkan string. Himpunan semua
string tersebut adalah bahasa yang didefinisikan oleh tata bahasa tersebut.
Reguler
Pada bahasa reguler, batasannya bertambah dengan ruas kanan maksimal memiliki sebuah simbol
variabel yang terletak di paling kanan. Artinya bisa memiliki simbol terminal saja dalam jumlah tidak
dibatasi, tetapi bla terdapat simbol variabel tersebut hanya bejumlah satu (1) dan terletak di posisi
paling kanan. Misal :
Bentuk normal chomsky / chomsky normal form (CNF ) merupakan salah satu bentuk normal yang
sangat berguna untuk tata bahasa bebas konteks ( CFG ). Bentuk normal chomsky dapat di buat dari
tata bahasa bebas konteks yang telah mengalami penyederhanaan yaitu penghilangan produksi useless,
unit, dan ? . dengan kata lain, suatu tata bahasa bebas konteks dapat dibuat menjadi bentuk normal
chomsky dengan syarat :
Tidak memiliki produksi useless
Tidak memiliki produksi unit
Tidak memiliki ?
Langkah?langkah pembentukan bentuk normal chomsky secara umum:
Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky.
Lakukan penggantian aturan produksi yang ruas kanannya mermiat simbol terminal dan panjang ruas
kanan > 1
Lakukan penggantian aturan produksi yang ruas kanannya mernuat >2 simbol variabel
Penggantian?penggantian tersebut bisa dilakukan berkali?kali sampai akhirnya semua aturan produksi
dalam bentuk normal chomsky
Selama dilakukan penggantian, kemungkinan kita akan memperoleh aturan?aturan produksi baru, dan
juga memunculkan simbol?simbol variabel baru.

BENTUK NORMAL GREIBACH


PengerianBentukNormal Greibach
Bentuknormal Greibachmerupakanbentuknormal yang memilikibanyakkonsekuensiteoritisdan
prkatis. Dalambentuknormal Greibachkitamembatasiposisimunculnyaterminal-terminal dan
variabel-variabel. Suatutata bahasabebas konteks(CFG) dikatakandalambentuknormal Greibach/
GreibachNormal Form, selanjutnyakitasebutsebagaiGNF, jikasetiapaturan
produksinyaadadalambentuk:
A aα
a:simbol terminal (tunggal), a εTα: rangkaiansimbol-simbol variabel(V*)

Anda mungkin juga menyukai