Pendahuluan
Konsep Dasar: Alfabet, String, dan Bahasa
Teori Bahasa
Teori bahasa membicarakan tentang
bahasa formal (formal language),
terutama untuk perancangan
kompilator (compiler) dan pemrosesan
naskah.
Bahasa formal adalah kumpulan
kalimat.
Semua kalimat dalam sebuah bahasa
dibangkitkan oleh sebuah tata bahasa
(grammar).
Bahasa Formal
Pembangkitan dan
Tatabahasa Pengenalan Bahasa
Kalimat
5
Mengapa TBO? – (2)
Tata bahasa bebas konteks (Context-
free grammars) digunakan untuk
mendeskripsikan semua bahasa
pemrograman => kompilasi
◦ Disamping juga bahasa manusia/alami =>
pemrosesan teks, penerjemahan, dll
6
Mengapa TBO? – (3)
Ketika mencari solusi masalah, kita
sering mendapati batasan yang bisa
dilakukan suatu software
◦ Undecidable– tidak bisa diselesaikan oleh
program sama sekali.
◦ Intractable– bisa diselesaikan dengan
program, tapi butuh waktu yang lama
7
Konsep Dasar
Alfabet
String
Bahasa
Alfabet
Himpunan simbol terbatas dan tak
kosong
Lambang: ∑
Contoh:
◦ ∑ = {0, 1} alfabet biner
◦ ∑ = {a, b, c, …, z} alfabet yang terdiri dari
himpunan huruf kecil
◦ Himpunan simbol ASCII
Alfabet (2)
Alfabet yang dipakai oleh prosesor
komputer: {0, 1}
Alfabet untuk merepresentasikan
bilangan basis 10: {0, 1, 2, …, 9}
Alfabet untuk menulis cerita
{a, …, z, A, …, Z, ?, …}
Alfabet untuk merepresentasikan
bahasa logika { , , , ,…}
Alfabet (3)
Alfabet untuk bahasa pemrograman,
disebut juga token
◦ Token/alfabet untuk bahasa C:
{main, printf, …}
Alfabet untuk merepresentasikan
molekul DNA: {A, C, G, T}
String
String: deretan berhingga (finite)
simbol-simbol yang berasal dari suatu
alfabet
Contoh:
Dari alfabet biner ∑={0,1} bisa didapat
string 10011 dan 111
String kosong
String kosong: String dengan nol buah
simbol
Lambang:
Panjang string
Jika w adalah sebuah string maka
panjang string dinyatakan sebagai
w dan didefinisikan sebagai
banyaknya simbol yang menyus
Contoh
◦ Jika w = abcb , maka w = 4
=0
Cth.: |011| =3
Substring
Substring string w adalah string yang
dihasilkan dari string w dengan
menghilangkan nol atau lebih simbol-
simbol paling depan dan/atau simbol-
simbol paling belakang dari string w
tersebut.
Contoh : x = abc, maka substring x
adalah abc, ab, bc, a, b, c, dan
n