MODUL PERKULIAHAN 9 (SEMBILAN)
Nama Mata Kuliah : Teori Bahasa dan Otomata
Kode Mata Kuliah : 0611406
Pengampu Mata Kuliah : Sukenda
Semester : IV (Empat)
Waktu : 2 x 50 menit (bobot 2 SKS)
Pertemuan ke : 9
Tempat : Ruang masing-masing mahasiswa (online / e-learning)
9.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 untuk mencapai nilai yang maksimal.
Pengaplikasian yang bisa dilakukan pada pertemuan sembilan ini yaitu
bagaimana mahasiswa mampu menerapkan materi yang diterangkan pada pertemuan
sembilan ini, adapun materi yang disampaikan yaitu cakupan materi teori bahasa dan
otomata yang berkaitan dengan Ekspresi Reguler sehingga dapat diimplementasikan
dalam kehidupan sehari-hari.
9.2. Deskripsi Mata Kuliah
Pada pertemuan kesembilan ini, masih mempelajari tentang ekspresi reguler.
Matakuliah teori bahasa dan automata mempunyai materi yang terkait dengan
ekspresi reguler dan bisa diaplikasikan dalam kehidupan sehari-hari. Sub materi yang
akan dipelajari merupakan sub materi dari ekspresi reguler yaitu sebagai berikut :
a. Operasi Penyambungan, Penggabungan, Closure,
b. Definisi Ekspresi Reguler,
c. Properti Aljabar Ekspresi Reguler.
Materi kuliah, yang akan disampaikan nanti, disampaikan dalam proses belajar
mengajar (perkuliahan) secara online. Penyampaian ini diharapkan dapat
mempermudah mahasiswa untuk mempelajari materi review materi, 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 review materi 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
kesembilan perkuliahan, yang memungkinkan materi tersebut mempunyai sub-sub
materi. 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.
9.3. Tujuan Instruksional Khusus
Setelah menyelesaikan pokok bahasan ini, mahasiswa akan dapat menjelaskan
tentang review materi, baik secara konsep dan teori yang terimplementasi dalam
kehidupan nyata ke dunia informatika.
9.4. Strategi Perkuliahan
Keterlibatan 2 entitas yaitu mahasiswa dan pengampu matakuliah (dosen),
merupakan hal penting dalam proses pembelajaran. Pada pertemuan kesembilan 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 ekspresi reguler,
c. Menjelaskan masih tentang ekspresi reguler, dengan macam-macam sub pokok
bahasan yaitu operasi, definisi, dan properti aljabar yang terkait dengan ekspresi
regular,
d. Menjelaskan tentang penggunaan operasi penyambungan, penggabunngan, dan
closure serta definisi dan properti aljabar dalam ekspresi regular (berupa contoh
kasus),
e. Menerapkan dalam bentuk studi kasus untuk latihan dan pekerjaan rumah,
f. Memberi softcopy atau link file pdf untuk buku yang dipakai,
g. Memberikan kuis untuk mengetahui tingkat pemahaman mahasiswa,
h. Menutup pertemuan dan menanyakan apakah ada hal-hal yang ingin ditanyakan,
dikomentari, atau dijadikan bahan diskusi,
i. Menyimpulkan materi yang telah dibahas,
j. Memberi gambaran materi yang akan dibahas minggu.
9.5. Kriteria Penilaian
Penilaian yang dilakukan terhadap pertemuan kesembilan 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 kesembilan) 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 disampaikan oleh dosen
pengampu.
c. Mahasiswa yang mengumpulkan tugas yang diberikan oleh dosen pengampu.
d. Mahasiswa yang mengikuti proses perkuliahan yang dilakukan secara online (e-
learning).
9.6. Materi Perkuliahan
Pada pertemuan kesembilan akan dibahas mengenai materi perkuliahan yang
akan dilaksanakan yaitu ekspresi reguler. Biasanya materi tersebut dikemas dalam
pokok bahasan dan juga sub pokok bahasan. Berikut pokok bahasan dari pertemuan
kesembilan yaitu : ekspresi reguler, dengan sub pokok bahasan adalah :
a. Operasi penyambungan, penggabungan, dan closure.
b. Definsi ekspresi reguler.
c. Properti aljabar ekspresi reguler.
Berikut penjelasan dari masing-masing sub pokok bahasan akan disampaikan pada
perkuliahan kesemiblan ini.
Pada kesempatan di pertemuan kesembilan ini akan dibahas ekspresi reguler,
yang akan diselenggarakan dengan materi yaitu operasi, definisi, dan properti aljabar
pada ekspresi reguler. Bahasa yang diterima oleh finite automata dinyatakan dalam
ekspresi sederhana yang disebut ekspresi reguler (reguler expression). Ekspresi
reguler merupakan notasi himpunan untuk bahasa reguler. Sebelum kita membahas
ekspresi reguler lebih lanjut, tinjau contoh ekspresi di bawah ini. Contoh ekspresi
reguler adalah token dalam bahasa pemrograman. Token dapat berupa string tunggal
(seperti simbol tanda baca), atau kumpulan string dari tipe tertentu (seperti
identifier). Jika kita memandang himpunan string pada setiap kelas token sebagai
bahasa, kita dapat menggunakan ekspresi notasi reguler untuk menggambarkan
token-token.
Tinjau contoh identifier dalam bahasa pemrograman. Di dalam bahasa Pascal,
sebuah identifier adalah sebuah huruf diikuti oleh nol atau lebih huruf atau angka.
Dalam notasi ekspresi reguler, kita menuliskan identifier Pascal sebagai.
Tinjau contoh identifier dalam bahasa pemrograman. Di dalam bahasa Pascal, sebuah
identifier adalah sebuah huruf diikuti oleh nol atau lebih huruf atau angka. Dalam
notasi ekspresi reguler, kita menuliskan identifier Pascal sebagai
(huruf)(huruf+angka)*
yang dalam hal ini,
tanda “+” berarti “atau” (or), yaitu operator gabungan (union),
tanda kurang digunakan untuk mengelompokkan upa-ekspresi
(subexpression)
tanda “*” adalah operator closure yang berarti “nol atau lebih instans”,
huruf adalah “A+B+...+Z”, dan angka adalah “0+1+...+9”,
penjajaran huruf dengan (huruf+angka)* berarti penyambung
(concatenation).
A. Operasi Penyambungan, Penggabungan, dan Closure.
Misalkan,
∑ adalah himpunan simbol,
L0, L1, L2 adalah himpunan string (atau bahasa) dari Ʃ *.
(a) Operasi penyambungan
Operasi penyambungan (concatenation) L1 dan L2 dinyatakan sebagai L1L2, yang
dalam hal ini,
L1L2 = {xy | x adalah elemen L1 y adalah elemen L2}
Jadi, L1L2 adalah himpunan string (atau bahasa) yang terdiri dari dari semua
string x yang dapat dibentuk dengan memilih sebuah string x dari L1 dan sebuah
string y dari L2, dan menyambungkannya dengan urutan itu.
Contoh 9.1 : Misalkan L1 = {0, 01, 110} dan L2 = {10, 110}, maka L1L2 = {010,
0110, 01110, 11010, 110110}.
Kita menggunakan notasi Li untuk menyatakan LL...L (sebanyak i kali).
Didefinisikan L0 = { dan L=LL
i-1. Perhatikanlah bahwa
{
untuk semua himpunan string L. Jadi, { adalah himpunan identitas untuk
operasi penyambungan.
Penyambungan L dengan himpunan kosong, , menghasilkan himpunan kosong,
yaitu
Catatlah bahwa adalah himpunan kosong, yang tidak memiliki sebuah anggota
pun, sedangkan adalah himpunan yang beranggotakan sebuah string kosong.
(b) Operasi penggabungan
Operasi penggabungan L1 dan L2 didefinisikan sebagai
L1 L2 = {x|x dalah elemen L1 atau x adalah elemen L2}
Contoh 9.2 : Misalkan L1 = {0, 01, 110} dan L2 = {10, 110}, maka L1 L2 = {0,
01, 110, 10}.
Jika adalah himpunan kosong. Maka adalah himpunan identitas untuk
operasi penggabungan, karena
Kita dapat menganologikan operasi penggabungan sebagai operasi oenjumlahan
(+) dan operasi penyambungan sebagai operasi perkalian (.)
(c) Operasi Closure
Operasi Kleene Closure (disingkat closure saja) terhadap L, dinyatakan sebagai
L*, adalah himpunan
=
dan positive closure terhadap L, dinyatakan sebagai L+ adalah himpunan
=
Jadi, L* yang menyatakan penyambungan himpunan L dengan dirinya sendiri
sejumlah kali adalah himpunan string yang dibentuk dengan menyambungkan
sejumlah string dari L, sedangkan L+ pengertian nya sama dengan L
*, tetapi
tidak memasukkan string kosong.
Catatan bahwa
=
Contoh 9.3 : Misalkan L1 = {11} dan L2 = {10,11}, maka
L1* = L
0 L
1 L
2 ... = {
L2* = L
0 L
1 L
2 ... = {
L1+ = L
0 L
1 L
2 ... = {
L2+ = L
0 L
1 L
2 ... = {
B. Definisi Ekspresi Reguler.
Setiap ekspresi reguler menyatakan sebuah bahasa. Ekspresi reguler terhadap
alfabet ∑ adalah ekspresi yang didefinisikan secara rekursif sebagai berikut :
1. adalah ekspresi reguler yang menyatakan himpunan kosong.
2. adalah ekspresi reguler yang menyatakan himpunan { }.
3. Untuk setiap a di dalam ∑, a adalah ekspresi reguler yang menyatakan himpunan
{a}.
4. Jika r dan s adalah ekspresi reguler yang masing-masing menyatakan bahasa R
dan S, maka
i) (r + s) adalah ekspresi reguler yang menyatakan R S
ii) (rs) adalah ekspresi reguler yang menyatakan RS
iii) (r*) adalah ekspresi reguler yang menyatakan R*
Ekspresi reguler 1, 2, dan 3 di atas adalah ekspresi reguler yang paling sederhana
(primitif), sedangkan ekspresi reguler 4 adalah ekspresi reguler komposit. Ditinjau
dari definisi rekursif, ekspresi reguler 1, 2, dan 3 di atas adalah definisi basis,
sedangkan eksperi reguler 4 adalah definisi rekurens.
Kita telah memperlihatkan bahwa ekspresi reguler dibentuk dengan tanda
kurung. Kita dapat menghilangkan tanda kurung, dengan mengandaikan bahwa *
lebih tinggi presidensinya dibandingkan dengan operator penyambungan (.) atau +,
dan operator penyambungan lebih tinggi daripada +. Jadi, ((0(1*))+0) dapat ditulis
sebagai 01*+0.
Perhatikan juga bahwa a adalah ekspresi reguler yang menyatakan {a}, yang
berbeda dengan simbol masukan a. Bergantung konteksnya, kita harus membedakan
a sebagai sebuah simbol.
Selain itu, kita perlu membedakan ekspresi reguler r dan bahasa yang dinyatakan
oleh r, yaitu L(r).
Contoh 9.4 : Misalkan ∑ = {0, 1}. Tabel dibawah ini adalah ekspresi reguler dan
himpunan (atau bahasa) yang dinyatakan.
Ekspresi Reguler Himpunan
0 {0}
1 {1}
0+1 {0} {1} = {0, 1}
01 {0} {1} = {01}
0+1+01 {0} {1} {01} = {0, 1, 01}
(0+1)(0+1) {0, 1} {0, 1} = {00, 01, 10, 11}
0* { , 0 , 00, 000, ...}
00* {0} { , 0 , 00, 000, ...} = {0 , 00, 000, 0000, ...} = 0+
(0+1)* {0, 1}* = {0, 1} {00, 01, 10, 11} {000, 001, ..., 111} ...
= { , 0 , 1, 00, 01, 10, 11, 000, 001, ...}
0*11 { , 0 , 00, 000, ...} . {{11} = {11, 011, 0011, 00011, 0...11}
0+10* { } {1} {0}* = {0} {1, 10, 100, 1000, ...}
= {0, 1, 10, 100, 1000, ...}
(0+1)*011 { , 0 , 1, 00, 01, 10, 11, 000, 001, ...} {011} = {011, 0011, 1011, 00011,
01011, 10011, 11011, 000011...}
Beberapa ekspresi reguler pada tabel di atas dapat dinyatakan dalam kata-kata
sebagai berikut :
i) 0* menyatakan bahasa yang stringnya terdiri dari nol atau lebih simbol 0.
ii) (0+1)* menyatakan bahasa yang stringnya terdiri dari 0 dan 1.
iii) 00* menyatakan bahasa yang stringnya terdiri dari satu atau lebih simbol nol
iv) 0+10* menyatakan bahasa yang stringnya terdiri dari sebuah 0 atau sebuah 1,
diikuti dengan nol atau lebih simbol 0.
v) (0+1)*011 menyatakan bahasa yang semua stringnya terdiri dari 0 dan 1 dan
berakhir dengan 011.
Ekspresi reguler 0*1*2* menyatakan bahasa yang stringnya disusun oleh sejuumlah
0 diikuti dengan sejumlah 1 dan diikuti dengan sejumlah 2. Bahasa ini diterima oleh
NFA pada contoh 2.4 (lihat bahsasan finite Automata dengan -Moves) :
q0 q2Start q1
201
Contoh 9.5 : Ekspresi reguler untuk bahasa yang setiap string-nya disusun oleh
simbol 0 dan 1 dan mengandung 000 adalah (0+1)*000(0+1)*
C. Properti Aljabar Ekspresi Reguler.
Hukum-hukum aljabar untuk ekspresi reguler dapat digunakan untuk memanipulasi
ekspresi reguler menjadi bentuk yang ekivalen. Misalkan r, s, dan t masing-masing ekspresi
reguler yang menyatakan bahasa R, S, dan T. Untuk r, s, dan t, berlaku aksioma-aksioma
berikut :
Aksioma Penjelasan
r + s = s + r + bersifat komutatif
r + (s + t) = (r + s) + t + bersifat asosiatif
(rs)t = r(st) Penyambung bersifat asosiatif
r(s + t) = rs + rt
(s + t)r = sr + tr
Penyambung bersifat distributif terhadap +
r = r
r = r
adalah elemen identitas untuk operasi penyambungan
r* = (r + )* Relasi antara * dan
r** = r* * bersifat idempoten
9.7. Ringkasan
DFA adalah sebuah mesin hipotetis untuk mengidentifikasi bahasa reguler.
Terdapat tiga metode untuk membuat DFA berdasarkan ekspresi reguler yaitu
metode hafalan, metode NFA, dan metode transisi . Jika ekspresi reguler cukup
sederhana, kita bisa menghafalkan DFA yang ekivalen. Jika ekspresi reguler agak
rumit, kita harus mengkonstruksi NFA terlebih dahulu, kemudian mengubahnya
menjadi DFA. Jika ekspresi reguler sangat rumit, kita harus mengkonstruksi FSA
bertransisi , kemudian mengubah menjadi NFA, kemudian mengubahnya lagi
menjadi DFA. Jika kita sulit mengkonstruksi ekspresi reguler untuk bahasa tertentu,
maka DFA harus dibuat menggunakan metode analisis yang lain.
9.8. Referensi Bacaan
Pertemuan kuliah yang kesembilan akan dilakukan secara online, dengan
menggunakan teknologi internet beserta software aplikasi yang mendukung ke arah
pembelajaran secara online. Pada petermuan kesembilan 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.
e. Swinglly Purba, “Otomata dan Bahasa Formal”, Graha Ilmu,Yogyakarta, 2008.
f. Firrar Utdirartatmo, “Teori Bahasa dan Otomata”, Graha Ilmu, Yogyakarta,
2005.
g. Zvi Kohavi, Switching and Finite Automata Theory, McGraw-Hill, 2005.
9.9. Quiz / Tugas
Pada pertemuan kesembilan 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. Buatlah mesin DFSA yang dapat menerima kalimat yang dihasilkan oleh ekspresi
(0 + 1)*00(0 + 1)*!
2. Ubahlah NFA pada gambar 9.5 menjadi DFA !
3. Tunjukkan bahwa kalimat 1121 dapat diterima oleh NFA pada contoh 9.5 !.
4. Tunjukkan bahwa kalimat 11212112 dapat diterima oleh NFA pada contoh 9.5 !.
5. Tunjukkan bahwa kalimat 112111221 bisa diterima oleh NFA pada contoh 9.5 !.
Top Related