Anda di halaman 1dari 16

Pertemuan ke-1

Teori Bahasa dan


Otomata
Oleh : Mellia Liyanthy

TEKNIK INFORMATIKA
UNIVERSITAS PASUNDAN
TAHUN AJARAN 2006/2007
Syarat kelulusan :

 Minimum kehadiran tatap muka di


kelas 75 % dari 14 kali tatap muka
yang direncanakan.
 Mengikuti praktikum
 Mengikuti Ujian Tengah Semester
(UTS)
 Mengikuti Ujian Tengah Semester
(UAS)
Bobot penilaian :

Komponen Bobot (%)


UTS 25
UAS 25
TUGAS/PR 25
PRAKTIKUM 25
Materi perkuliahan :
 Pendahuluan
 Review
 Konsep Bahasa dan Hirarki Chomsky
 Finite State Automata (FSA) :
 PrinsipKerja
 FSA Determnistik dan Non-Deterministik
(NFSA)
 Reduksi jumlah state pada FSA
 Ekivalensi NFSA ke FSA
 NFSA dengan empty move
 Ekivalensi NFSA empty move ke NFA
tanpa empty move
Materi perkuliahan :
 Ekspresi Reguler dan Aturan Produksi
pada FSA
 FSA dengan Output
 Pohon Penurunan dan Penyederhanaan
CFG
 Bentuk Normal Chomsky dan
Penghilangan Rekursif Kiri
 Bentuk Normal Greibach (perkalian
matriks)
 Push Down Automata (PDA)
 Mekaisme Kerja
 PDA untuk suatu CFG
 Deskripsi Seketika
Referensi :
1. Hopcroft, Jhon E dan Jeffrey D.Ullman,
“Introduction to Automata Theory,
Languages, and Computation”, Addisson-
Wesley Publishing, 1979
2. Utdirartatmo Firar, “Teori Bahasa dan
Otomata”, J&J Learning Yogyakarta, 2001
3. Bambang Hariyanto, “Teori Bahasa,
Otomata, dan Komputasi”, Informatika
Bandung, 2004
Sesi pertanyaan

??!#@*&$
Kedudukan Teori Bahasa
Ilmu Komputer

Model dan Gagasan Teknik Rekayasa


Komputasi Komputasi

Teori Bahasa Otomata Hardware Software


Spesifikasi Bahasa Pemrograman
Bahasa harus didefinisikan secara tepat.
Spesifikasinya meliputi :
 Himpunan simbol-simbol yang digunakan
untuk membentuk program yang benar.
 Himpunan yang benar secara sintaktik
(Aturan Sintak).
 “Makna” dari Program tersebut.
Mengapa mempelajari teori ?! :

“ Suatu teori hanya menarik ketika dapat


membantu dalam pencarian solusi
terbaik. “

“ Teori memberikan konsep dan prinsip


yang menolong untuk memahami
prilaku dari suatu disiplin ilmu. “
Konsep Bahasa dan Otomata :
 Simbol adalah suatu entitas abstrak yang tidak
didefinisikan secara formal.
 Bahasa merupakan rangkaian simbol-simbol yang
memiliki makna.
 Bahasa formal adalah suatu abstraksi yang terdiri
dari himpunan simbol-simbol dan aturan-aturan
yang bisa dikombinasikan kedalam entitas yang
disebut kalimat.
 Otomata adalah suatu bentuk yang memiliki fungsi-
fungsi dari komputer digital, mampu untuk :
 Menerima input,
 Menghasilkan output,
 Memiliki temporari storage,
 Membuat keputusan dalam mentransformasikan input
menjadi output.
Mekanisme kerja Otomata :
Input Output
(bahasa) (diterima/tidak)
Otomata

1. Terdiri atas sejumlah state berhingga, yang


dianggap sebagai memori mesin.
2. Input merupakan bahasa yang harus dikenali oleh
mesin.
3. Membuat keputusan yang mengindikasikan sebuah
input diterima atau tidak
4. Dapat digunakan untuk menghasilkan bahasa yang
aturannya ditentukan oleh aturan bahasa itu
sendiri.
Hirarki Chomsky :
 Tata bahasa merupakan kumpulan dari himpunan variabel,
simbol terminal, simbol awal yang dibatasi oleh aturan produksi.
 Tingkatan Bahasa menurut chomsky (Hirarki Chomsky) :

Bahasa Mesin Otomata Batasan Aturan Produksi


Regular FSA Ruas kiri : sebuah simbol variabel
Ruas kanan : maksimal memiliki1
simbol variabel yang diletakkan
diposisi paling kanan.
Bebas PDA Ruas kiri : sebuah simbol variabel
Konteks
Konteks LBA Panjang ruas kiri harus lebih kecil
Sensitif sama dengan panjang ruas kanan.
Bahasa Mesin Turing Tidak ada batasan
Alami
Bahasa pemrograman :
 dibentuk oleh aturan yang dapat
direpresentasikan dengan struktur
sintaks. Sintaks bahasa pemrograman
mengikuti tata bahasa bebas koteks
(Context Free grammar),
 bisa berasal dari bahasa alami untuk
kejelasan dan kemudahan pembacaan,
matematika untuk ekspresi aritmetika,
dan bahasa pemrograman yang telah
ada.
Tujuan Bahasa Pemrograman :
 Komunikasi dengan manusia,
 Pencegahan dan deteksi kesalahan,
 Usability, mudah dipelajari dan diingat,
 Efektifitas pemrograman,
 Compilability,
 Efisiensi, membuat bahasa lebih sederhana, sehingga
mudah untuk menghasilkan kode yang efisien,
 Machine independent,
 Kesederhanaan (Simplicity), pendefinisian yang baik dan
konsep yang sederhana
 Uniformity, mengerjakan hal yang sama dengan cara yang
sama,
 Orthogonality, setiap fungsi bekerja tanpa harus
mengetahui stuktur yang lain,
 Generalisasi dan spesialisasi, jika kita diperbolehkan
melakukan sesuatu , maka lakukan hal lain dengan cara
serupa.
Penutup

Akhirnya
selesai
juga

Anda mungkin juga menyukai