Anda di halaman 1dari 23

PROPERTIES OF

CONTEXT-FREE
LANGUAGE
NAMA KELOMPOK :
Jacky Sakti Pratama (222102450)
Stevan Lim (222102453)
Bima Satria Larangga (222102457)
Dimas Alif Nararya (222102478)
Properties of Context-Free Language

CONTEXT FREE LANGUAGE (CFL)


Menurut klasifikasi Chomsky, Context Free Language atau yang
disingkat sebagai CFL adalah bahasa yang dihasilkan oleh tata
bahasa bebas konteks atau tata bahasa Tipe 2 dan diterima oleh
Pushdown Automata.
Bahasa bebas konteks (Context-Free Language) adalah jenis bahasa
formal dalam teori bahasa formal yang dijelaskan oleh tata bahasa
bebas konteks.
Suatu tata bahasa bebas konteks terdiri dari seperangkat aturan
produksi yang menggambarkan cara frasa dalam bahasa tersebut
dapat dibangun.
SEJARAH
Properties of Free-Context
Language
Properties of Context-Free Language

SEJARAH CONTEXT FREE-LANGUAGE


Sejarah sifat-sifat bahasa bebas konteks (properties of context-
free language) terjalin dengan evolusi teori bahasa formal dan
konsep otomata dalam ilmu komputer. Awalnya, konsep bahasa
formal muncul pada abad ke-20 sebagai bagian dari upaya
untuk mendalaminya dalam matematika dan logika. Noam
Chomsky pada tahun 1956 memperkenalkan hierarki Chomsky,
sebuah kerangka yang mengelompokkan bahasa formal
berdasarkan kompleksitas struktur mereka, dan bahasa bebas
konteks menjadi salah satu kelas kunci dalam hierarki ini.
Properties of Context-Free Language

SEJARAH CONTEXT FREE-LANGUAGE


(CONT.)
Bahasa bebas konteks memiliki peran yang signifikan dalam
teori kompilasi, yang melibatkan transformasi kode sumber
program ke dalam bentuk yang dapat dieksekusi oleh mesin.
Bahasa ini digunakan untuk mendefinisikan sintaks banyak
bahasa pemrograman dan menjadi dasar dalam pembuatan
kompilator. Konsep ini juga terkait dengan teori bahasa
formal lainnya, seperti teori keterhitungan dan teorema
pemutusan Chomsky, yang mengungkapkan hubungan
antara bahasa bebas konteks dan mesin Turing.
SIFAT-SIFAT
Context Free Language
Properties of Context-Free Language

BERIKUT ADALAH BEBERAPA SIFAT-SIFAT CFL:


a.

a. Aturan Produksi Bebas Konteks: Bahasa bebas konteks menggunakan aturan produksi yang bersifat bebas konteks, artinya setiap simbol non-
terminal dapat digantikan oleh suatu deretan simbol terminal atau non-terminal tertentu, tanpa memperhatikan konteks sekitarnya.
b. Struktur Sintaksis Hierarkis: Kalimat dalam bahasa bebas konteks dapat direpresentasikan sebagai struktur hierarkis dengan aturan produksi
yang membentuk pohon sintaksis. Struktur ini membantu untuk memahami hubungan antara berbagai bagian dari kalimat.
c. Kemampuan untuk Merepresentasikan Struktur Hierarkis: Bahasa bebas konteks mampu merepresentasikan struktur hierarkis dalam
kalimat, yang memungkinkan analisis yang lebih mudah terhadap struktur gramatikal dan hubungan antarunsur kalimat.
d. Kemampuan Pemrosesan oleh Mesin Pemrosesan Bahasa Alami (NLP): Karena sifatnya yang formal dan hierarkis, bahasa bebas konteks
sering digunakan dalam pengembangan model dan algoritma Pemrosesan Bahasa Alami (NLP) untuk memahami dan menghasilkan teks manusia.
e. Bahasa Formal dalam Teori Otomata: Bahasa bebas konteks memainkan peran penting dalam teori otomata dan bahasa formal. Mesin
penerima (automaton) yang dapat mengenali bahasa bebas konteks disebut sebagai mesin penerima tumpukan (pushdown automaton).
Properties of Context-Free Language

SIFAT-SIFAT CFL (CONT.)

ATURAN SIMBOL NON- DERIVASI DERETAN POHON


TERMINAL DAN
PRODUKSI TERMINAL
CHOMSKY DERIVASI

Struktur kalimat
CFL didefinisikan oleh Bahasa tak kontekstual Struktur kalimat Bahasa tak kontekstual dalam CFL dapat
aturan produksi yang memiliki simbol non- dapat diterima oleh tata
dalam CFL dapat bahasa tak kontekstual
direpresentasikan
menggambarkan terminal yang dapat diperoleh melalui dengan pohon
bagaimana simbol- diganti dengan dalam bentuk bentuk
simbol non-terminal rangkaian simbol lain, proses derivasi, yaitu normal Chomsky, di mana derivasi, di mana
(variabel) dapat diubah baik terminal atau non- menggantikan setiap aturan produksi setiap simpul dalam
menjadi rangkaian terminal. Terminal simbol non-terminal memiliki bentuk A -> BC pohon mewakili satu
simbol terminal adalah simbol-simbol dengan rangkaian atau A -> a, di mana A, B, langkah derivasi.
dan C adalah simbol-
dan/atau non-terminal. yang muncul secara simbol lain sesuai simbol non-terminal, dan
Aturan ini bersifat langsung dalam bahasa. aturan produksi.
mandiri dari konteks. a adalah simbol terminal.
PENERAPAN
Context Free Language dalam perangkat lunak
Properties of Context-Free Language

PENERAPAN CFL PADA SOFTWARE


Context-Free Language/CFL memiliki banyak aplikasi dalam
perangkat lunak, terutama dalam pemrosesan bahasa dan
kompilasi. Berikut beberapa contoh penggunaannya

1. Pembangunan Kompilator:
Pada fase analisis sintaks kompilasi, bahasa bebas konteks
digunakan untuk mendefinisikan aturan sintaks dari bahasa
pemrograman. Grammar bahasa pemrograman dijelaskan
dalam bentuk bahasa bebas konteks, dan parser akan
menggunakan aturan ini untuk memeriksa apakah program
sumber mematuhi sintaks yang benar.

2. Pengenalan Bahasa Alami (Natural Language Processing/NLP):


Dalam NLP, CFL dapat digunakan untuk mendefinisikan
aturan sintaks dalam pemrosesan bahasa alami. Misalnya,
penguraian kalimat dalam bahasa alami dapat dimodelkan
menggunakan grammar bahasa bebas konteks.
Properties of Context-Free Language
PENERAPAN CFL PADA SOFTWARE (CONT.)
1. Analisis Sintaks dalam Pengembangan Software:
Beberapa alat pengembangan perangkat lunak menggunakan
analisis sintaks berbasis bahasa bebas konteks untuk
memeriksa kebenaran sintaks pada kode sumber. Ini
membantu pengembang mendeteksi kesalahan sintaks sejak
dini.

2. Validasi Input Pengguna:


Dalam perangkat lunak yang menerima input dari pengguna,
bahasa bebas konteks dapat digunakan untuk mendefinisikan
aturan sintaks yang memvalidasi input. Ini membantu
mencegah pengguna memasukkan data yang tidak valid atau
merusak.

3. Penyintesis Program:
Dalam beberapa kasus, CFL dapat digunakan dalam
penyintesis program, yaitu menciptakan program komputer
berdasarkan spesifikasi atau aturan tertentu.
Properties of Context-Free Language
PENERAPAN CFL PADA SOFTWARE (CONT.)
1. Pemrosesan dan Analisis Bahasa Markup (Markup Language):
Grammar bahasa bebas konteks dapat digunakan untuk
mendefinisikan struktur sintaks bahasa markup seperti XML
atau HTML, memungkinkan analisis dan pengolahan dokumen
secara efisien.

2. Pengembangan Bahasa Pemrograman Baru:


Saat merancang bahasa pemrograman baru, CFL digunakan
untuk merinci aturan sintaks dan struktur bahasa tersebut.

3. Analisis Logika dalam Keamanan Perangkat Lunak:


Dalam analisis keamanan perangkat lunak, CFL dapat
digunakan untuk menganalisis logika aliran program dan
mendeteksi potensi kerentanannya.
KELEBIHAN DAN KEKURANGAN
Context Free Language
Properties of Context-Free Language

KELEBIHAN CFL
1. Ekspresivitas Tinggi:
CFL memiliki ekspresivitas yang tinggi, memungkinkan representasi
yang efisien dari struktur data kompleks dan sintaks bahasa yang
lebih maju.
2. Aplikasi dalam Kompilasi:
Keberadaan CFL sangat penting dalam pembangunan kompilator.
Grammar bahasa bebas konteks digunakan untuk menguraikan dan
memvalidasi struktur sintaks dari program sumber.
3. Penerapan dalam Pengolahan Bahasa Alami:
CFL membantu memodelkan struktur sintaks dalam pemrosesan
bahasa alami, mendukung aplikasi NLP seperti penterjemah
otomatis dan analisis teks.
4. Validasi Sintaks:
Digunakan untuk validasi sintaks dalam input pengguna dan
pemrosesan file dengan format tertentu, mencegah kesalahan
sintaks pada tahap awal.
5. Pengembangan Bahasa Pemrograman:
CFL digunakan untuk merancang aturan sintaks dalam pembuatan
bahasa pemrograman baru, memberikan fleksibilitas dalam desain
bahasa.
Properties of Context-Free Language

KEKURANGAN CFL
1. Keterbatasan pada Struktur Data:
CFL memiliki keterbatasan dalam merepresentasikan
beberapa struktur data yang lebih kompleks, seperti pohon
dengan tingkat kedalaman yang tidak terbatas.
2. Keterbatasan Analisis Semantik:
CFL tidak menyediakan alat yang kuat untuk analisis semantik
yang kompleks. Untuk menganalisis makna dan perilaku
program, diperlukan pendekatan tambahan.
3. Keterbatasan pada Pengenalan Bahasa Alami:
Meskipun CFL berguna dalam pemrosesan bahasa alami,
bahasa manusia memiliki kompleksitas dan konteks yang tidak
selalu dapat direpresentasikan dengan baik oleh CFL.
4. Kesulitan dalam Mendefinisikan Beberapa Struktur Data:
Beberapa struktur data yang kompleks atau rekursif mungkin
sulit untuk dijelaskan menggunakan bahasa bebas konteks.
5. Kompleksitas Analisis dan Pemahaman:
Analisis struktur sintaks yang dihasilkan oleh CFL bisa menjadi
tugas yang kompleks, terutama pada kasus yang melibatkan
grammar yang rumit.
Properties of Context-Free Language

CONTOH PENGGUNAAN CFL

Contoh sederhana bahasa tak kontekstual adalah tata bahasa untuk bahasa
aritmetika sederhana, di mana aturan-aturan seperti "Ekspresi -> Ekspresi +
Faktor" menggambarkan bagaimana ekspresi dapat diturunkan menjadi
ekspresi tambah faktor.
Penting untuk dicatat bahwa bahasa tak kontekstual memiliki keterbatasan
dalam merepresentasikan struktur bahasa yang lebih kompleks, dan untuk
itu, diperlukan tata bahasa yang lebih kuat seperti tata bahasa kontekstual
atau tata bahasa berkonteks.
Properties of Context-Free Language
OPERASI TERTUTUP DALAM CONTEXT FREE
LANGUAGE

Context Free Language ditutup pada beberapa operasi tertentu, tertutup artinya setelah
melakukan operasi tersebut pada bahasa bebas konteks, bahasa yang dihasilkan juga akan
menjadi bahasa bebas konteks. Beberapa operasi tersebut adalah:

1. Operasi Serikat 8. Operasi init atau awalan


2. Rangkaian 9. Hasil bagi dengan bahasa biasa
3. Penutupan tisu 10. Operasi siklus
4. Operasi pembalikan 11. Persatuan dengan bahasa biasa
5. Homomorfisme 12. Persimpangan dengan bahasa biasa
6. Homomorfisme Terbalik 13. Beda dengan bahasa biasa
7. Pengganti
Properties of Context-Free Language

OPERASI TIDAK TERTUTUP DALAM


CONTEXT FREE LANGUAGE
Bahasa bebas konteks tidak tertutup dalam operasi tertentu, tidak tertutup artinya setelah
melakukan operasi tersebut pada bahasa bebas konteks, bahasa yang dihasilkan tidak lagi
menjadi bahasa bebas konteks. Beberapa operasi tersebut adalah:

1.

1. Persimpangan
2. Melengkapi
3. Bagian
4. Superset
5. Persatuan Tanpa Batas
6. Selisih, Selisih simetris (xor, Nand, maupun operasi lainnya yang direduksi
menjadi perpotongan dan komplemen
PROPERTI KEPUTUSAN DAN DETERMINISTIK DALAM
CONTEXT FREE LANGUAGE

PROPERTI KEPUTUSAN PROPERTI DETERMINISTIK


1. Bahasa bebas konteks dapat berupa:
1. Tes Keanggotaan: Dapat Dipilih. 1.

2. Tes Kekosongan: Dapat Dipilih 1. DCFL-Deterministik (yang dapat


3. Uji keterbatasan: Dapat diputuskan dikenali oleh deterministic
pushdown automata) bahasa bebas
Selebihnya, properti keputusan tidak dapat konteks
diputuskan dalam bahasa bebas konteks.
2. NDCFL-Bahasa bebas konteks non-
deterministik (tidak dapat dikenali
oleh DPDA tetapi NPDA).
Properties of Context-Free Language

TOPOLOGICAL PROPERTIES OF CFL


Kompleksitas topologi dalam bahasa formal dan pembuktian
bahwa perpotongan dua bahasa formal tidak dapat dipastikan
apakah bersifat deterministik.
Topologi adalah alat penting untuk mempelajari bahasa, dan
mengarah pada karakterisasi beberapa kelas bahasa. Untuk alfabet
finite X, kami pertimbangkan Xω sebagai ruang topologi dengan
topologi Cantor. Set terbuka dari X adalah himpunan dalam bentuk
W.X, Di mana W⊆X . Satu set L⊆X adalah himpunan tertutup iJ
komplemennya X – L adalah himpunan terbuka
PEMBUKTIAN PROPOSISI

Jurnal ini juga membahas tentang pembuktian proposisi terkait


dengan kelas bahasa formal, hierarki kumpulan Borel
peringkat .nite, dan pembuktian bahwa kelas bahasa formal
menghabiskan hierarki kumpulan Borel peringkat .nite. Terdapat
juga pembahasan tentang ketidakmampuan untuk memutuskan
apakah suatu bahasa formal termasuk dalam kelas tertentu.
SEKIAN
TERIMA KASIH

Anda mungkin juga menyukai