Anda di halaman 1dari 14

MODUL PERKULIAHAN 2 (DUA)

Nama Mata Kuliah : Teori Bahasa dan Otomata


Kode Mata Kuliah : 06410009
Pengampu Mata Kuliah : Sukenda
Semester : IV (Empat)
Waktu : 2 x 50 menit (bobot 2 SKS)
Pertemuan ke :2
Tempat : Ruang masing-masing mahasiswa (online / e-learning)

2.1. Manfaat Mata Kuliah


Setelah menyelesaikan mata kuliah ini, mahasiswa akan mampu
mengaplikasikan isi yang telah dipelajari sehubungan dengan konsep dan teorema
bahasa formal untuk kebutuhan dalam perancangan kompiler. Sehingga mahasiswa
diharapkan belajar sungguh-sungguh untuk mencapai nilai yang maksimal.
Pengaplikasian yang bisa dilakukan pada pertemuan dua ini yaitu bagaimana
mahasiswa mampu menerapkan materi yang diterangkan pada pertemuan dua ini,
adapun materi yang disampaikan yaitu cakupan materi teori bahasa dan otomata yang
berkaitan dengan Bahasa dan Tata Bahasa sehingga dapat diimplementasikan
dalam kehidupan sehari-hari.

2.2. Deskripsi Mata Kuliah


Pada pertemuan kedua akan mempelajari tentang bahasa dan tata bahasa.
Matakuliah teori bahasa dan otomata mempunyai materi yang terkait dengan bahasa
dan tata bahasa yang bisa diaplikasikan dalam kehidupan sehari-hari. Sub materi
yang akan dipelajari yaitu sebagai berikut :
a. Bahasa Alami dan Bahasa Formal,
b. Alfabet, String, dan Bahasa
c. Tata Bahasa.
Materi kuliah, yang akan disampaikan nanti, disampaikan dalam proses belajar
mengajar (perkuliahan) secara online. Penyampaian ini diharapkan dapat
mempermudah mahasiswa untuk mempelajari materi bahasa dan tata bahasa,
sehingga mahasiswa dapat belajar secara online dengan baik. Begitu juga pengampu
matakuliah dapat menyampaikan materi kuliah secara online, sehingga proses belajar
mengajar berjalan dengan baik. Sekiranya penyampaian materi bahasa dan tata
bahasa secara sistematis dan juga pembelajaran mahasiswa secara baik maka tujuan
atau manfaat dari materi kuliah bisa dirasakan dan diaplikasikan dalam kehidupan
sehari-hari.
Materi diatas merupakan garis besar yang akan disampaikan pada pertemuan
kedua perkuliahan, yang memungkinkan materi tersebut mempunyai sub-sub materi.

1|Page
Materi yang akan diajarkan bisa saja disampaikan dalam perkuliahan selama 2 x 50
menit, atau dalam kurun 2 sks, mungkin saja bisa lebih dari 2 x 50 menit jika
perkuliahan secara online ini berjalan dengan baik.

2.3. Tujuan Instruksional Khusus


Setelah menyelesaikan pokok bahasan ini, mahasiswa akan dapat menjelaskan
tentang bahasa dan tata bahasa, baik konsep dan teori yang terimplementasi dalam
kehidupan nyata ke dunia informatika.

2.4. Strategi Perkuliahan


Keterlibatan 2 entitas yaitu mahasiswa dan pengampu matakuliah (dosen),
merupakan hal penting dalam proses pembelajaran. Pada pertemuan kedua ini, proses
perkuliahan dilakukan secara online (e-learning). Dimana, 2 entitas tersebut saling
berinteraksi antara satu dengan yang lainnya dalam proses pembelajaran melalui
media teknologi modern. Interaksi dua entitas tersebut bisa searah atau dua arah
secara bersama-sama, tentunya masih dalam konteks pembelajaran matakuliah yang
akan disampaikan ke mahasiswa. Mahasiswa sebagai penerima informasi atau bisa
juga sebagai pemberi informasi, informasi yang diterima atau diberikan berupa
materi kuliah. Sedangkan pengampu matakuliah (dosen) sebagai sumber informasi
(sebagai pemateri) yang disebarkan atau dikirimkan ke mahasiswa, akan tetapi bisa
juga pengampu matakuliah sebagai penerima informasi dari mahasiswa.
Dua entitas yang saling memberi dan menerima informasi materi matakuliah
maka perlu strategi penyampaian yang baik, sehingga transfer informasi bisa berjalan
dengan baik. Strategi penyampaian informasi materi matakuliah dalam proses
pembelajaran disebut juga strategi perkuliahan. Strategi yang diterapkan kepada
mahasiswa akan berbeda dengan pengampu matakuliah. Berikut strategi perkuliahan
pengampu matakuliah yaitu :
a. Menjelaskan tujuan instruksional umum (TIU) dan tujuan instruksional khusus
(TIK) yang harus dicapai,
b. Memberi beberapa pertanyaan untuk mengetahui seberapa jauh mahasiswa
mengetahui mengenai bahasa dan tata bahasa,
c. Menjelaskan tentang Pengertian bahasa dan tata bahasa, macam-macam prinsip
pada bahasa alami dan bahasa formal, alphabet, string serta bahasa, dan tata
bahasa,
d. Menjelaskan tentang penggunaan bahasa alami dan bahasa formal, alphabet,
string serta bahasa, dan tata bahasa dalam kasus (berupa contoh kasus dan
algoritmanya),
e. Menerapkan dalam bentuk studi kasus untuk latihan dan pekerjaan rumah,
f. Memberi softcopy atau link file pdf untuk buku yang dipakai,
g. Memberikan quiz untuk mengetahui tingkat pemahaman mahasiswa.
h. Menutup pertemuan dan menanyakan apakah ada hal-hal yang ingin ditanyakan,
dikomentari, atau dijadikan bahan diskusi,

2|Page
i. Menyimpulkan materi yang telah dibahas,
j. Memberi gambaran materi yang akan dibahas minggu.

2.5. Kriteria Penilaian


Penilaian yang dilakukan terhadap pertemuan kedua ini, yaitu dosen pengampu
menilai mahasiswa terhadap aktivitas perkuliahan yang telah dilakukan secara online
(e-learning). Dimana mahasiswa menerima nilai selama proses pembelajaran yang
telah dilakukannya. Sedangkan dosen memberi nilai terhadap mahasiswa yang
mengikuti matakuliah yang diampunya pada saat proses pembelajaran berlangsung.
Sehingga mahasiswa bisa mengetahui nilai yang diperoleh pada saat perkuliahan
selesai. Berikut kriteria penilaian pada saat perkuliahan berjalan (khususnya
pertemuan kedua) yaitu :
a. Aktivitas mahasiswa pada saat perkuliahan berjalan, baik berupa pertanyaan
ataupun jawaban. Pertanyaan atau jawaban yang diutarakan oleh mahasiswa
tentunya berkaitan dengan materi yang akan dibahas atau yang telah dibahas.
b. Mahasiswa yang mengumpulkan jawaban atas quiz yang dilontarkan oleh dosen
pengampu matakuliah.
c. Mahasiswa yang mengumpulkan tugas yang diberikan oleh dosen pengampu
matakuliah.
d. Mahasiswa yang mengikuti proses perkuliahan yang dilakukan secara online (e-
learning).

2.6. Materi Perkuliahan


Pada pertemuan kedua kuliah akan dibahas mengenai materi perkuliahan yang
akan dilaksanakan yaitu materi bahasa dan tata bahasa. Biasanya materi tersebut
dikemas dalam pokok bahasan dan juga sub pokok bahasan. Berikut pokok bahasan
yaitu : bahasa dan tata bahasa, dengan sub pokok bahasan adalah :
a. Bahasa alami dan bahasa formal.
b. Alphabet, string, dan bahasa.
c. Tata bahasa.
Berikut penjelasan dari masing-masing sub pokok bahasan akan disampaikan pada
perkuliahan kedua ini.
Komputer digunakan sebagai alat bantu untuk menyelesaikan pekerjaan (task).
Dua pertanyaan yang seringkali muncul sehubungan dengan pekerjaan tersebut
adalah :
1. Dapatkan pekerjaan tersebut dilaksanakan oleh komputer ?
2. Bila jawabannya dapat, bagaimana cara komputer melaksanakan pekerjaan
tersebut.
Model komputasi berguna menjawab kedua pertanyaan di atas. Terdapat tiga jenis
struktur yang digunakan dalam model komputasi :
1. Grammer (tata bahasa)
2. Finite state machine
3. Mesin turing

3|Page
Tata bahasa digunakan untuk membangkitkan kalimat dari suatu bahasa dan untuk
memeriksa apakah suatu kalimat termasuk didalam bahasa tersebut. Seperti halnya
tata bahasa, finite state machine (FSM) digunakan untuk mengenali kalimat dari
suatu bahasa dan untuk menghasilkan keluaran sesuai dengan spesifikasi yang
didefinisikan. Konsep tata bahasa dan FSM keduanya saling berkaitan, dan antara
keduanya dapat saling ditransformasikan satu sama lain.
Mesin Turing adalah pengenal bahasa yang lebih kompleks, yang dalam
pengenalannya mesin ini dilengkapi dengan memori. Mesin Turing dapat mengenali
kalimat yang tidak dapat dikenali oleh FSM sekalipun. Mesin Turing adalah model
komputasi yang paling umum. Ia dapat melakukan pekerjaan apa saja yang dapat
dilaksanakan oleh komputer.

A. Bahasa Alamai dan Bahasa Formal.


Menurut kamus webster, bahasa adalah “the body of words and method of
combining words used and understood by a considerable community”.
Sedangkan menurut Kamus Besar Bahasa Indonesia (KBBI), bahasa adalah :
1) Sistem lambang bunyi berartikulasi (yang dihasilkan oleh alat-alat ucap) yang
bersifat sewenang-wenang dan konvensional yang dipakai sebagai alat
komunikasi untuk melahirkan perasaan dan pikiran,
2) Perkataan-perkataan yang dipakai suatu bangsa.
Menurut kedua definisi diatas, ungkapan dari suatu bahasa adalah kalimat atau
perkataan. Kalimat dalam sebuah bahasa dibentuk dengan menggabungkan satu atau
lebih kata-kata. Dalam pembentukan kalimat, perhatian kita hanya tertuju pada
sintaks atau bentuk kalimat, dan bukan pada semantik atau makna kalimatnya.
Sebagai contoh,
Suhardiman menendang bola kearah gawang
Elang menyambar ayam
Adik makan dengan lahap
adalah kalimat yang sah sesuai dengan kaidah tata bahasa dari Bahasa Indonesia.
Contoh kalimat berikut,
Rudi menggigit anjing
rumah menendang bola dengan cepat
juga benar secara sintaks meskipun maknanya secara sense tidak ada. Sedangkan
kalimat berikut,
dengan cepat ayah matematika menutup
bukan kalimat yang sah secara sintaks karena tidak mengikuti kaidah tata bahasa.
Bahasa komunikasi yang digunakan oleh manusia, yaitu bahasa ucap seperti Bahasa
Indonesia, Inggris, Jerman, Spanyol dan sebagainya disebut bahasa alami atau
bahasa natural (naturale language). Sintaks bahasa alami sangat rumit dan kita tidak
mungkin menspesifikasikan semua aturan sintaksnya.
Bahasa yang kaidah sintaksnya dapat dspesifikasikan secara matematis dengan
baik disebut bahasa formal. Jadi, bahasa formal dapat didefinisikan secara abstraks
sebagai “sistem matematik”. Kaidah sintaks dalam teori bahasa formal tidak hanya
bermanfaat untuk studi linguistik bahasa alami – seperti penterjemah secara otomatis

4|Page
dari suatu bahasa ke bahasa lain, tetapi juga berguna untuk studi bahasa
pemrograman.

B. Alphabet, String, dan Bahasa.


Teori Bahasa Formal, bahasa didefinikan secara matematis. Sebelum membahas
lebih lanjut mengenai definisi bahasa, kita harus mengerti beberapa terminologi
(istilah) yang digunakan disini.
Alfabet (atau vocabulary) adalah himpunan terbatas simbol.
Contoh : a. alfabet latin, {A, B, C, …, Z}
b. alfabet Yunani, {α, β, γ, …, ω}
c. alfabet biner, {0,1}

String adalah barisan (sequence) yang disusun oleh simbol-simbol alfabet. Sebuah
string dengan panjang n (n ≥ 1) yang dibentuk dari alfabet A disusun oleh barisan n
simbol :
a1, a2,a3,…, an, ai  A

istilah lain untuk string adalah kalimat (sentence) atau word.

Panjang string x ditulis dengan |x|. string kosong (null string atau empty sentence)
(biasanya dilanbangkan dengan ) adalah barisan simbol dengan panjang 0 dan tidak
berisi simbol apapun.
Jika A adalah alfabet, maka An menyatakan himpunan semua string dengan panjang
n yang dibentuk dari himpunan A.

A* adalah himpunan semua rangkaian simbol dari himpunan A yang terdiri dari 0
simbol (string kosong), satu simbol, dua simbol, tiga simbol, …, atau dinyatakan
sebagai :
A* = A0 ∪ A1 ∪ A2 ∪ A3 ∪ …

Himpunan A* disebut transitive closure atau Kleen closure

Kita menggunakan A+ (positive closure) untuk menyatakan himpunan V* - ∈ jadi,


A+ diperoleh dari A* dengan mengeluarkan string kosong, atau
A+ = A1 ∪ A2 ∪ A3 ∪ …

Contoh 1.1 : misalkan A = {0,1} adalah sebuah alfabet yang disusun oleh simbol 0
dan 1. Maka, A0 = {} = {∈}
A1 = {0,1}
A2 = {00, 01, 10, 11}
A3 = { 000, 001, 010, 011, 100, 101, 110, 111}

Kemudian,
A* = { A0 ∪ A1 ∪ A2 ∪ A3 ∪ …} = { ∈, 0,1,00,01,10,11,000,…}
A+ = { A1 ∪ A2 ∪ A3 ∪ …} = { 0,1,00,01,10,11,000,…}

5|Page
Misalkan A adalah himpunan semua huruf kapital dan huruf kecil didalam alfabet
latin, simbol angka (0,1,2, …, 9) ditambah dengan tanda baca (titik, koma, titik dua,
tanda seru, dan seterusnya), spasi, dan karakter khusus lainnya (#, &, %, dan
sterusnya). Dengan kata lain
A= {a,b,…, y, z, A, B, …, Y, Z,0, 1, 2, …, 9, ‘ ‘,., :, !, ?, #, %,…}

maka kalimat dalam Bahasa Indonesia seperti Siapa nama kamu, Dik ? Adalah
kalimat (atau string) didalam A*.
Begitu pula, setiap pernyataan (statement) di dalam bahasa pemrograman adalah
kalimat di dalam A*, jika A adalah himpunan karakter dari bahasa pemrograman
tersebut.

Definisi Bahasa (Language)


Jika A adalah alfabet, maka bahasa (pada alfabet A) adalah himpunan bagian dari
himpunan A*. sebagian contoh, misalkan A = {a, b,c}, maka himpunan-himpunan
berikut ini merupakan bahasa pada alfabet A :
L1 = {a, aa, bc, ac, abc, cab}
L2 = {aba, aabaa}
L3 = {}
L4 = {ai cbi | i ≥ 1}

(keterangan : pada L4, ai berarti barisan i buah a. jadi, aicbi berarti kalimat yang
disusun oleh i buah a, diikuti c, diikuti dengan i buah b )

Terdapat banyak cara untuk mendeskripsikan bahasa, diantaranya :


1. Enumerasi
Dengan cara ini, bahasa dinyatakan dengan jalan menyebutkan anggotanya
misalnya bahasa L1 terdiri dari kata-kata {aku, kamu, kakak, sapu}. Ini berarti
bahasa L1 hanya mengenal tiga buah kata atau kalimat yaitu aku, kamu, kakak,
dan sapu. Harap diperhatikan bahwa kata ‘akukakakkamu’ bukang anggota dari
bahasa L1.
2. Notasi Himpunan
Misalnya bahasa L2 = { X | X = ai bi, i = 0, 1, 2, 3, …} memiliki anggota {, ab,
aabb, aaabbb, aaaabbbb, …}.

C. Tata Bahasa.
Jika diberikan spesifikasi suatu bahasa, ada dua masalah utama yang berkaitan
dengan bahasa tersebut [2]:
1. Bagaimana membangkitkan satu atau lebih kalimat didalam bahasa tersebut ?
→ Masalah pembangkitan (generation)
2. Bagaimana menentukan apakah suatu kalimat termasuk didalam bahasa tersebut
atau tidak?
→ Masalah pengenalan (recognition)

6|Page
Aturan yang digunakan untuk membangkitkan atau mengenali kalimat di dalam
suatu bahasa dinamakan tata bahasa (grammar).
Contoh 1.2 : Tata bahasa dibawah ini adalah sebagian dari tata bahasa untuk
membangkitkan atau mengenali suatu kalimat (sentence) di dalam bahasa Inggris[3] :
1. Sebuah sentence dibuat dari noun phrase diikuti dengan verb phrase, atau
2. Sebuah sentence dibentuk dari noun phrase diikuti oleh verb phrase dan noun
phrase;
3. Sebuah noun phrase dibentuk dari adjective diikuti dengan noun phrase, atau
4. Sebuah noun phrase dibentuk dari adjective diikuti dengan singular noun;
5. Sebuah verb phrase dibentuk dari singular verb diikuti dengan adverb, atau
6. Sebuah verb phrase dibentuk dari singular verb;
7. Sebuah adjective adalah the, atau
8. Sebuah adjective adalah a, atau
9. Sebuah adjective adalah little;
10. Sebuah singular noun adalah boy; atau
11. Sebuah singular noun adalah dog;
12. Sebuah singular verb adalah runs, atau
13. Sebuat singular verb adalah bites;
14. Sebuah adverb adalah quickly
Kita dapat menuliskan semua kaidah tata bahasa diatas secara ringkas sebagai
berikut:
<sentence> → <noun phrase> <verb phrase>
<sentence> → <noun phrase> <verb phrase> <noun phrase>
<noun phrase> → <adjective> <noun phrase>
<noun phrase> → <adjective> <singular noun>
<verb phrase> → <singular verb> <adverb>
<verb phrase> → <singular verb>
<adjective> → the
<adjective> → a
<adjective> → little
<singular noun> → boy
<singular noun> → dog
<singular noun> → runs
<singular noun> → bites
<adverb> → quickly

Tanda panah (→) pada kaidah diatas menyatakan bahwa item di sebelah kiri panah
dapat diganti dengan item di sebelah kanan panah.

Proses pembangkitan kalimat the little boy runs quickly dapat diturunklan sebagai
berikut :
<sentence> → <noun phrase> <verb phrase>
→ <adjective> <noun phrase> <verb phrase>
→ the <noun phrase><verb phrase>
→the <adjective> <singular noun> <verb phrase>
→ the little <singular noun> <verb phrase>

7|Page
→ the little boy <verb phrase>
→ the little boy <singular verb> <adverb>
→ the little boy runs <adverb>
→ the little boy runs rapidly

Proses pembangkitan kalimat the little boy runs quickly juga dapat digambarkan
dalam suatu diagram pohon – yang disebut pohon parsing – berikut :
<sentence>
>

<noun pharse> <verb pharse>

<adjective> <noun pharse> <singular verb> <adverb>

the <adjective> <singular noun> runs quickly

little boy

beberapa kalimat lain yang dapat dibangkitkan antara lain :


a dog bites the boy
<sentence>
>

<noun pharse> <verb pharse> <noun pharse>

<adjective> <singular noun> <adjective> <singular noun>


bites

a the boy
dog

Bahkan, kalimat yang tidak memiliki sense makna sekalipun dapat dibangkitkan,
meskipun secara sintaks ia benar, seperti :

the little bites a dog


little the boy runs quickly

8|Page
<sentence>
>

<noun pharse> <verb pharse>

<adjective> <noun pharse> <singular verb> <adverb>

little <adjective> <singular noun> runs quickly

the boy

Unsur-unsur tata bahasa


Secara formal, suatu tata bahasa terdiri dari empat unsur :
1. Himpunan berhingga terminal T.
2. Himpunan berhingga non-terminal N.
3. Himpunan berhingga aturan produksi P.
4. Simbol awal S ∈ N.

Penjelasan :
1. Simbol terminal di dalam T adalah simbol yang dapat digunakan membuat
kalimat/string di dalam bahasa itu. Simbol terminal biasanya dilambangkan
dengan huruf kecil seperti a,b,c, …
Contoh : T = { a,b,c}, T={0,1}
Pada contoh 1.2 diatas, T={a, the, dog, boy, little, runs, bites, quickly}
2. Simbol non-terminal di dalam N adalah lambing antara yang digunakan untuk
mendeskripsikan struktur kalimat. Simbol non-terminal biasanya dilambangkan
dengan huruf besar, seperti A, B, C,…
contoh : N = {S, A, B}
pada contoh 1.2 diatas N= {<sentence>, <verb phrase>, <noun phrase>}
{ <adjective>, <singular noun>, <singular verb>, < adverb> }
3. Produksi adlah kaidah/aturan tata bahasa yang mengatur cara pembentukan
kalimat didalam bahasa. Setiap aturan dituliskan dalam bentuk :
α→β
yang dlam hal ini, α dan β adalah string yang dibentuk dari himpunan T ∪ N, dan
α harus berisi paling sedikit satu suku non-terminal. Produksi menyatakan bahwa
string α dapat diubah menjadi β.
Contoh : P={S→aB, S→bA, A→a, A→aS, B→b, B→bS, B→aBB}

9|Page
Pada contoh 1.2 diatas. Sekumpulan aturan pembentukan kalimat dalam bahasa
Inggris merupakan aturan produksi.
4. Simbol awal adalah simbol non-terminal khusus yang mengawali pembangkitan
kalimat di dalam bahasa tersebut.
Contoh : pada aturan produksi pada penjelasan nomor 3 diatas, S adalah simbol
awal.

Pada contoh 1.2 di atas, <sentence> adalah simbol awal.

Keempat unsur tata bahasa di atas sering dilambangkan dengan


G= (T, N, P, S)

Bahasa yang dihasilkan oleh G ditulis sebagai L(G), yaitu himpunan string (kalimat)
yang dapat diturunkan dari simbol awal S dengan menerapkan aturan produksi yang
terdapat di dalam P.

Contoh 1.3 : Tinjau tata bahasa G = (T, N, P, S) dengan T= {a,b}, N= {S, A, B},
P={S→ABa, A→ BB, B→ ab, AB→b}. Di sini S, A, dan B adalah simbol terminal, a
dan b adalah terminal. Ada empat buah aturan produksi, yaitu S→ABa, A → BB,
B→ab dan AB→b. Simbol awal adalah S. String Aaba diturunkan sebagai berikut :
S ⇒ ABa
⇒ Aaba
Demikian juga, string abababa diturunkan sebagai berikut :
S ⇒ ABa
⇒ Aaba
⇒ BBaba
⇒ Bababa
⇒abababa

Contoh 1.4 : Tinjauan tata bahasa G = (T, N, P, S), dengan T= {a,b}, N= {S, A},
P={S→aA, S→b, A→aa}. Apakah L(G) dari tata bahasa G?
Dengan mencoba semua aturan produksi dari simbol awal S sebagai berikut :
(i) S ⇒ aA
⇒ aaa
(ii) S⇒b
Maka hanya ada dua string yang dapat dibangkitkan, yaitu b dan aaa, tidak ada yang
lain. Jadi, L(G) = {b, aaa}.

Contoh 1.5 : Tinjauan tata bahasa G (T, N, P, S) dengan T = {0,1}, N = {S}, P =


{S⇒ 11S, S⇒ 0}. Apakah L(G)?
Dengan mencoba semua aturan produksi dari simbol awal S sebagai berikut :

10 | P a g e
(i) S ⇒ 0
(ii) S ⇒ 11S
⇒ 110
(iii) S ⇒ 11S
⇒ 1111S
⇒ 11110
(iv) S ⇒ 11S
⇒ 1111S
⇒ 111111S
⇒ 1111110
dst.
Kita dapat melihat bahwa L(G) = {0, 110, 11110, 1111110, …} yaitu himpunan
semua string yang dimulai dengan segenap simbol 1 dan diakhiri dengan sebuah 0.

Contoh 1.6 : Tinjauan tata bahasa G = (T, N, P, S), dengan T= {a, b}, N={S},
P={S→aSb, S →ab}. Dengan menerapkan aturan-aturan produksi pertama n – 1 kali,
diikuti dengan penerapan aturan produksi kedua, kita memperoleh
S ⇒ aSb
⇒ aaSbb
⇒ aaaSbbb
⇒ a3 Sb3
⇒…
⇒ an-1Sbn-1
⇒ anbn
Jadi, L(G) = {aibi | i ≥ 1}.

Contoh 1.7 : Kita ingin membangun tata bahasa untuk bahasa L(G) = {aib2i | i ≥ 1.
Misalkan T={a,b}, N={S}. dan S adalah simbol awal. Aturan produksi yang dapat
kita buat adalah
S → aSbb
S → abb
Dengan demikian, string aaabbbbbb dapat diperoleh sebagai berikut :
S ⇒ aSbb ⇒ aaSbb ⇒ aaabbbbbb

Istilah
a. Simbol, Simbol adalah sebuah bentuk yang memiliki makna unik, misalnya
simbol ‘A’ dan simbol ‘B’ memiliki makna berbeda. Begitu juga simbol ‘*’ dan
‘+’.
b. Alfabet, Alfabet (dilambangkan dengan huruf kapital miring) adalah himpunan
berhingga dari simbol-simbol. Misalnya, V = {a, b, c} menyatakan bahwa ada

11 | P a g e
sebuah alfabet bernama V yang memiliki tiga buah simbol yaitu simbol ‘a’, ‘b’,
‘c’.
c. Kata, Kata adalah deretan simbol-simbol. Berikut adalah contoh-contoh kata :
abba, a12, *+(, 001. Harap diperhatikan bahwa kata bui tidak sama dengan iub.
Kata-kata seperti bab, aka, tutut, abba, 0110, *+++*, (())(()), dinamakan
palindrome.
d. Kata Kosong, Kata kosong, dilambangkan dengan  adalah kata yang tidak
terdiri dari simbol apapun.
e. Himpunan Kata, Himpunan Kata adalah himpunan yang setiap anggotanya
adalah kata kosong atau kata yang simbol-simbol pembentuknya adalah anggota
dari alfabet tertentu. Sebagai contoh, misal terdapat V = {a, b, 1}. Maka
himpunan kata yang dihasilkan dari V, dilambangkan V* , adalah {, a, b, 1, aa,
ab, a1, ba, bb, b1, 1a, 1b, 11, aaa, aab, aa1, aba, abb, ab1, a1a, a1b, a11, …}.
Perlu diperhatikan bahwa jumlah anggota himpunan kata adalah tidak berhingga.
Dalam tulisan ini, kata dan kalimat mengandung pengertian yang sama sehingga
setiap kalimat dapat disebut kata, begitu juga sebaliknya.

Operasi
a. Panjang Kata, Jika X adalah sebuah kata, maka panjang kata X, dilambangkan
|X| adalah jumlah simbol yang membentuk kata X. Sebagai contoh, jika X = aba,
maka |X| = 3. Panjang dari sebuah kata kosong adalah 0.
b. Katenasi, Jika X dan Y adalah dua buah kata, maka katenasi dari kata X dan Y,
dilambangkan XY, adalah penulisan kata X diikuti oleh Y. Sebagai contoh, jika
X = aku, dan Y = ganteng, maka XY = akuganteng.
c. Pencerminan, Jika X adalah sebuah kata, maka pencerminan X akan
menghasilkan kata lain yang merupakan penulisan ulang kata X dalam urutan
terbalik. Sebagai contoh, jika X = abu, maka pencerminan X, dilambangkan X-1,
menghasilkan kata uba. Palindrome adalah kata X yang memiliki sifat X = X-1
d. Pengulangan, Jika X adalah sebuah kata, maka Xn menghasilkan kata lain yang
merupakan hasil penulisan ulang kata X sebanyak n kali (n = 0, 1, 2, 3, …).
Sebagai contoh, jika X = abu, maka X0 menghasilkan kata kosong, X1
menghasilkan abu, X2 menghasilkan abuabu, X3 menghasilkan abuabuabu, X4
menghasilkan abuabuabuabu, dan seterusnya.

Contoh Soal dan Solusi


a. Sebutkanlah 5 kata terpendek yang merupakan anggota dari bahasa L1 = { X | X
= (ab)i ; i = 0, 1, 2, 3, … }
Jawab :
, ab, abab, ababab, abababab, ababababab

b. Sebutkan 10 kata terpendek yang merupakan anggota dari bahasa L2 = { X | X =


X-1, X  {s, u}* }
Jawab :
, s, u, ss, uu, sss, uuu, sus, usu, ssss

12 | P a g e
c. Sebutkan 5 kalimat terpendek yang merupakan anggota dari L(G1) dan terangkan
mengapa kalimat-kalimat tersebut merupakan anggota dari L(G1)?
Jawab :
a karena a merupakan anggota dari Vt* dan terdapat langkah penurunan sebagai
berikut : X => aY => a.

b karena b merupakan anggota dari Vt* dan terdapat langkah penurunan sebagai
berikut : X => bZ => b.

aa karena aa merupakan anggota dari Vt* dan terdapat langkah penurunan


sebagai berikut : X => aY => aaY => aa.

bb karena bb merupakan anggota dari Vt* dan terdapat langkah penurunan


sebagai berikut : X => bZ => bbZ => bb.

bbb karena bbb merupakan anggota dari Vt* dan terdapat langkah penurunan
sebagai berikut : X => bZ => bbZ => bbbZ => bbb.

d. Buatlah sebuah tata bahasa yang menghasilkan himpunan kata yang setiap
anggotanya memenuhi kriteria sebagai berikut : jika simbol pertama kata tersebut
adalah a maka simbol terakhirnya b dan jika simbol pertama kata tersebut adalah
b maka simbol terakhirnya adalah a.
Jawab :
G2 = (Vn, Vt, P, S)
Vn = {X, Y, Z)
Vt = {a,b}
S=X
P adalah sebagai berikut :
- X  aYb | bZa
- Y aY | bY | 
- Z  aZ | bZ | 

e. Tuliskanlah langkah penurunan kata abaab menurut tata bahasa G2


Jawab :
X => aYb => abYb => abaYb => abaaYb => abaab.

2.7. Ringkasan
Bahasa yang kaidah sintaksnya dapat dspesifikasikan secara matematis dengan
baik disebut bahasa formal. Jadi, bahasa formal dapat didefinisikan secara abstraks
sebagai “sistem matematik”. Kaidah sintaks dalam teori bahasa formal tidak hanya
bermanfaat untuk studi linguistik bahasa alami – seperti penterjemah secara otomatis
dari suatu bahasa ke bahasa lain, tetapi juga berguna untuk studi bahasa
pemrograman.
Mesin Turing adalah pengenal bahasa yang lebih kompleks, yang dalam
pengenalannya mesin ini dilengkapi dengan memori. Mesin Turing dapat mengenali

13 | P a g e
kalimat yang tidak dapat dikenali oleh FSM sekalipun. Mesin Turing adalah model
komputasi yang paling umum. Ia dapat melakukan pekerjaan apa saja yang dapat
dilaksanakan oleh komputer.
Tata bahasa adalah pasangan 4 komponen yang terdiri dari alfabet simbol non
terminal, alfabet simbol terminal, simbol awal, dan himpunan aturan produksi.
Sebuah kalimat dikatakan dapat dibangkitkan dari tata bahasa tertentu bila kalimat
tersebut seluruhnya terdiri dari simbol terminal dan dapat diturunkan dari simbol
awal tata bahasa tersebut.

2.8. Referensi Bacaan


Pertemuan kuliah yang kedua akan dilakukan secara online, dengan
menggunakan teknologi internet beserta software aplikasi yang mendukung ke arah
pembelajaran secara online. Pada petermuan kedua sekiranya perlu referensi untuk
bacaan bagi mahasiswa agar tercipta suatu kondisi pembelajaran yang baik,
walaupun pembelajaran tersebut melalui online (e-learning). Adapun referensi
bacaan untuk mahasiswa yaitu :
a. Roni Djuliawan, M.T., “Diktat Kuliah Teori Bahasa & Otomata”, Teknik
Informatika – Universitas Widyatama, 2003.
b. Rinaldi Munir, “Materi Kuliah Matematika Diskrit”, Informatika-ITB, Bandung,
2003.
c. Rinaldi Munir, “Matematika Diskrit”,Informatika, Bandung, 2001.
d. Hopcroft; Motwani; Ullman, “Introduction to automata theory, Languages and
Computation”, Pearson Education, 2001.

2.9. Quiz / Tugas


Pada pertemuan kedua perkuliahan yang kita lakukan, sekiranya perlu diadakan
quiz untuk mengetahui tingkat pemahaman mahasiswa terhadap materi perkuliahan
yang telah disampaikan. Adapun soal quiz yaitu sebagai berikut :
1. Sebutkanlah 5 kata terpendek yang merupakan anggota dari bahasa L1 = { X | X
= (ab)i ; i = 0, 1, 2, 3, … }
2. Sebutkan 10 kata terpendek yang merupakan anggota dari bahasa L2 = { X | X =
X-1, X  {s, u}* }
3. Sebutkan 5 kalimat terpendek yang merupakan anggota dari L(G1) dan terangkan
mengapa kalimat-kalimat tersebut merupakan anggota dari L(G1)?
4. Buatlah sebuah tata bahasa yang menghasilkan himpunan kata yang setiap
anggotanya memenuhi kriteria sebagai berikut : jika simbol pertama kata tersebut
adalah a maka simbol terakhirnya b dan jika simbol pertama kata tersebut adalah
b maka simbol terakhirnya adalah a.
5. Tuliskanlah langkah penurunan kata abaab menurut tata bahasa G2.

14 | P a g e

Anda mungkin juga menyukai