MODUL 1: PENGANTAR TEORI BAHASA

dokumen-dokumen yang mirip
MODUL 6: TEOREMA KLEENE

MODUL 2: Bahasa Regular dan Ekspresi Regular

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

MODUL 4: Nondeterministic Finite Automata

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Teori Himpunan. Author-IKN. MUG2B3/ Logika Matematika 9/8/15

Teori Bahasa & Otomata

Konsep Bahasa. Simbol Abjad/alfabet String/kata/untai String kosong Bahasa (Language) Bahasa Kosong Bahasa Universal dari

1.1 Pengertian Himpunan. 1.2 Macam-macam Himpunan. 1.3 Relasi Antar Himpunan. 1.4 Diagram Himpunan. 1.5 Operasi pada Himpunan. 1.

BAB III HIMPUNAN. 2) Mahasiswa dapat menyebutkan relasi antara dua himpunan. 3) Mahasiswa dapat menentukan hasil operasi dari dua himpunan

MODUL 3: Finite Automata

TEORI HIMPUNAN. A. Penyajian Himpunan

BAB 1 OPERASI PADA HIMPUNAN BAHAN AJAR STRUKTUR ALJABAR, BY FADLI

Definisi Aljabar Boolean

MATEMATIKA 1. Pengantar Teori Himpunan

BAB I TEORI BAHASA DAN AUTOMATA

Teori Bahasa dan Operasi Matematis.

Relasi Tegas (Crips Relation)

Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Hasil kali kartesian antara himpunan A dan himpunan B, ditulis AxB adalah semua pasangan terurut (a, b) untuk a A dan b B.

MODUL 7: MINIMISASI FA

RINGKASAN CATATAN KULIAH PENDAHULUAN TEORI HIMPUNAN

Himpunan Matematika Diskret (TKE132107) Program Studi Teknik Elektro, Unsoed

1 P E N D A H U L U A N

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Pengertian Himpunan. a. kumpulan makanan lezat b. kumpulan batu-batu besar c. kumpulan lukisan indah. 1. Kumpulan yang bukan merupakan himpunan

PENDAHULUAN. 1. Himpunan

Teori Bahasa dan Otomata 1

Himpunan. Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

DEFINISI. Himpunan (set) adalah kumpulan objekobjek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

HIMPUNAN. Arum Handini Primandari, M.Sc Ayundyah Kesumawati, M.Si

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Teori Himpunan Ole l h h : H anu n n u g n N. P r P asetyo

Matematika Ekonomi, MKK30234 FEBI, IAIN Palopo

MODUL 5: Nondeterministic Finite Automata dengan

Bahan kuliah IF2120 Matematika Diskrit. Himpunan. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB 1

Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Teori Himpunan. Modul 1 PENDAHULUAN

BAB 2. HIMPUNAN UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI MANAJEMEN INFORMATIKA FAKULTAS TEKNIK. Senin, 17 Oktober 2016

Oleh : Winda Aprianti

TEORI BAHASA DAN OTOMATA PENGANTAR

BAHASA REGULER 1. Ekspresi Regular

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Logika, Himpunan, dan Fungsi

Kode MK/ Nama MK. Cakupan 8/29/2014. Himpunan. Relasi dan fungsi Kombinatorial. Teori graf. Pohon (Tree) dan pewarnaan graf. Matematika Diskrit

BAB I HIMPUNAN. Contoh: Himpunan A memiliki 5 anggota, yaitu 2,4,6,8 dan 10. Maka, himpunan A dapat dituliskan: A = {2,4,6,8,10}

LANDASAN MATEMATIKA Handout 2

Uraian Singkat Himpunan

I. Aljabar Himpunan Handout Analisis Riil I (PAM 351)

MATEMATIKA BISNIS. Himpunan. Muhammad Kahfi, MSM. Modul ke: Fakultas Ekonomi Bisnis. Program Studi Manajemen.

Diktat Kuliah. Oleh:

Grammar dan Tingkat Bahasa

Teori Dasar Himpunan. Julan HERNADI. December 27, Program Studi Pendidikan Matematika Universitas Muhammadiyah, Ponorogo

H I M P U N A N. 1 Matematika Ekonomi Definisi Dasar

anggota alfabet dinamakan simbol terminal atau token.

MATEMA TEMA IKA BISNIS BY : NINA SUDIBYO

Aljabar Boolean. IF2120 Matematika Diskrit. Oleh: Rinaldi Munir Program Studi Informatika, STEI-ITB. Rinaldi Munir - IF2120 Matematika Diskrit

Himpunan. Nur Hasanah, M.Cs

Himpunan (set) adalah kumpulan objekobjek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

yang paling umum adalah dengan menspesifikasikan unsur unsur pembentuknya (Definisi 2.1 Menurut Lipschutz, Seymour & Marc Lars Lipson dalam

ALJABAR BOOLEAN. Misalkan terdapat. Definisi:

Urian Singkat Himpunan

Teori Bahasa & Otomata

Matematika Diskrit 1

Modul ke: Penyajian Himpunan. operasi-operasi dasar himpunan. Sediyanto, ST. MM. 01Fakultas FASILKOM. Program Studi Teknik Informatika

Himpunan. Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Logika Matematika. Teknik Informatika IT Telkom

MODUL 11: PUSHDOWN AUTOMATON

BAB V HIMPUNAN. Himpunan adalah kumpulan benda-benda atau obyek yang mempunyai definisi yang jelas.

Teori Himpunan Elementer

HIMPUNAN ARUM HANDINI PRIMANDARI, M.SC AYUNDYAH KESUMAWATI, M.SI

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

Matematika Komputasional. Himpunan. Oleh: M. Ali Fauzi PTIIK - UB

Review Sistem Digital : Aljabar Boole

TEORI HIMPUNAN LOGIKA MATEMATIKA

HIMPUNAN MATEMATIKA. Program Studi Agroteknologi Universitas Gunadarma

RELASI FUNGSI. (Kajian tentang karakteristik, operasi, representasi fungsi)

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Himpunan (set) Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Materi 3: Relasi dan Fungsi

HIMPUNAN, RELASI DAN FUNGSI

Logika Matematika Teori Himpunan

Matematika informatika 1 ALJABAR BOOLEAN

Teori himpunan. 2. Simbol baku: dengan menggunakan simbol tertentu yang telah disepakati. Contoh:

Himpunan. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Himpunan (set) Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

Aljabar Boolean. Adri Priadana

FINITE STATE MACHINE / AUTOMATA

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String

TEORI HIMPUNAN (Kajian tentang Karakteristik, Relasi, Operasi dan Representasi Himpunan)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Aljabar Boole. Meliputi : Boole. Boole. 1. Definisi Aljabar Boole 2. Prinsip Dualitas dalam Aljabar

BAB I HIMPUNAN. Matematika Infomatika. Universitas Gunadarma Halaman 1

STRUKTUR ALJABAR 1. Winita Sulandari FMIPA UNS

BAB II RELASI DAN FUNGSI

Himpunan (set) Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

TEKNIK KOMPILASI Bahasa Regular

Transkripsi:

MODUL 1: PENGANTAR TEORI BAHASA Pengantar Automata dan Bahasa Teori Pendukung Konsep Bahasa Slide 1 dari 38

PENGANTAR AUTOMATA DAN BAHASA Obyektif membahas model-model komputasi sebagai mesin abstraks yang dapat didefinisikan secara matematis, mulai dari yang paling sederhana hingga yang paling powerful. formalisasi matematis disusun secara bertahap hubungannya dengan masalah dunia nyata Slide 2 dari 38

Model Masalah Keputusan model-model tsb digambarkan sebagai mesin untuk menjawab masalah keputusan. masukan string x, keluaran berupa: ya atau tidak misalnya: apakah x adalah bilangan prima? apakah suatu string s anggota dari bahasa B? Slide 3 dari 38

Masalah Komputasi Masalah komputasi lebih umum daripada masalah keputusan, namun masalah keputusan memerlukan komponen komputasi Contoh: untuk (x, y), apakah y = f(x)? hanya dapat dijawab jika f(x) dapat dikomputasi. x y y= f(x)? ya/tidak x y f(x) a=b? ya/tidak Slide 4 dari 38

Model-model mesin yang akan dibahas Finite Automata (FA) Pushdown Automata (PDA), dan Mesin Turing (TM). Bahasa-bahasa dari model-model tsb bahasa regular, bahasa context-free, dan bahasa rekursif & recursively enumerable. Slide 5 dari 38

Finite Automaton model memiliki sejumlah berhingga status setiap saat berada dl suatu status & berpindah ke status lain dengan aturan transisi yang terdefinisi sesuai simbol masukan digunakan untuk mengenal bahasa-bahasa regular keterbatasan: tidak memiliki memori/storage (status-status dirancang sebagai memori ) Slide 6 dari 38

Pushdown Automaton Mrpk FA yang dilengkapi suatu memory berstruktur stack & kapasitas tak berhingga Dapat mengenali bahasa context-free yaitu suatu kelas bahasa yang lebih tinggi dari bahasa regular Dapat digunakan untuk melakukan parsing struktur suatu string. Slide 7 dari 38

Mesin Turing FA dengan sequential storage (tape) sbg memory yang dapat di baca-tulis. Dapat mengenali kelas bahasa yang lebih tinggi dari bahasa context-free Selain menjawab ya dan tidak, tetapi tape menjadi medium keluaran proses menjadi alat ukur untuk membandingkan kompleksitas masalah-masalah komputasi Slide 8 dari 38

Kelas-kelas Bahasa Kelas-kelas bahasa tsb merepresentasikan kelaskelas masalah dan model-model mesin abstraks tsb merepresentasikan kelas-kelas metoda pemecahan masalah. Hirarki Kelas bhs reguler kelas bhs CF Kelas bhs CF dari kelas bhs Rekursif Kelas bhs Rekursif dari kelas bhs Recursively Enumerable. Slide 9 dari 38

TEORI PENDUKUNG Notasi-notasi dan konsep-konsep penting yang perlu diingat kembali karena digunakan di dalam kuliah ini adalah sbb. Teori Himpunan Fungsi Logika Relasi Slide 10 dari 38

Mengenai Teori Himpunan Penulisan himpunan A = {00, 01, 10. 11} = {ab a, b berharga 0 atau 1} : anggota himpunan : bukan anggota himpunan U: himpunan universal : himpunan kosong Himpunan komplemen A = {x U x A} Diagram Venn Opr. gabungan: A B Slide 11 dari 38

Opr. irisan: A B Opr. perbedaan: A B Opr. perbedaan simetris: A B "A dan B disjoin": jika A B =, himpunan bagian: "A B" himpunan bagian: "A B" power set (2 A ) pasangan terurut (a, b) Cartesian product (A B) partisi himpunan A menjadi A 1, A 2, A n Slide 12 dari 38

Sifat-sifat: komutatif, asosiatif, distributif, idempoten, absorptif hukum De Morgan: A B= (A B ) Mengenai Fungsi (f: A B): fungsi parsial fungsi total fungsi injeksi (satu-ke-satu) fungsi surjeksi (onto) fungsi bijeksi Slide 13 dari 38

Komposisi fungsi-fungsi (g o f) invers dari fungsi (x = f -1 (y)) Operasi uner (u(x)) operasi biner (f(x, y)) Modul 1: Pengantar Teori Bahasa Mengenai Relasi (a R b) Sifat-sifat relasi: refleksif, simetri, transitivitas relasi ekivalen Kelas ekivalen berisikan a ([a] R ) Slide 14 dari 38

KONSEP MENGENAI BAHASA Slide 15 dari 38 Modul 1: Pengantar Teori Bahasa Simbol Elemen unik terkecil dari bahasa. Dari suatu bahasa terdapat sejumlah berhingga simbol yang digunakan. Alfabet Simbol Himpunan berhingga simbol suatu bahasa sebagai alfabet simbol (atau disingkat alfabet) dari bahasa tersebut.

String Simbol-simbol menyusun string/deretan simbol sebagai suatu entitas (atau disingkat string). Dalam suatu string bisa ada simbol yang muncul lebih satu kali dan ada simbol yang tidak digunakan. Slide 16 dari 38

Bahasa Bahasa merupakan himpunan dari sejumlah string-string dari alfabet bahasa tersebut. Bahasa merupakan subset dari himpunan seluruh kemungkinan string yang dapat dibentuk dari alfabet bahasa tersebut. Himpunan bisa berhingga atau tidak berhingga. Slide 17 dari 38

Grammar Susunan simbol-simbol dalam string-string suatu bahasa mengikuti aturan-aturan grammar (pembentukan) tertentu. Kompleksitas aturanaturan pembentukan ini yang akan membedakan kelas-kelas bahasa yang akan dibahas nanti. Slide 18 dari 38

Dalam Konteks Bahasa Sehari-hari Secara gramatikal bahasa manusia mrpk himpunan kalimat di mana setiap kalimat tersusun atas kata-kata dengan aturan gramatikal yang tertentu. Alfabet adalah katakata (kosakata). Setiap kalimat bisa dipandang tersusun hurufhuruf dengan alfabet dalam arti yang sebenarnya di tambah sejumlah simbol (spasi, dlsb). Slide 19 dari 38

Bisa juga dalam representasi biner ASCII alfabetnya = {0, 1} (kalimat = string karakter ASCII dan setiap simbol ASCII sebagai 8 bit biner). Dalam Konteks Bahasa Pemrograman Sebuah program lengkap adalah suatu string. Keyword-keyword, nama-nama variabel, namanama fungsi, tanda-tanda operasi dan notasi adalah simbol-simbol di dalam bahasa ini. Slide 20 dari 38

Notasi Alfabet Alfabet kita tulis dengan lambang Σ Jika lebih dari satu alfabet kita nomori sebagai Σ 1, Σ 2, Σ 3, Untuk penyederhanaan pembahasan alfabet hanya berisi dua bahkan mungkin satu simbol saja. Namun secara umum berlaku untuk alfabet yang lebih besar. Slide 21 dari 38

Contoh Bahasa-bahasa yang terbentuk dari Σ = {a, b}: {Λ, a, aa, ab} {x {a, b} * x 8} {x {a, b} * x bilangan ganjil} {x {a, b} * n a (x) = n b (x)} Slide 22 dari 38

Notasi Variabel Simbol/string variabel string tertentu sering direpresentasikan sebagai r, s, t,.., x, y, atau z. (huruf-huruf kecil di urutan belakang dalam abjad latin) variabel simbol sering direpresentasikan sebagai a, b, c, yaitu huruf-huruf kecil pada urutan terdepan di dalam abjad. Slide 23 dari 38

Notasi variabel himpunan string Variabel untuk himpunan string dinotasikan dengan huruf kapital pada urutan awal abjad. Contoh: L = {001, 1110, 01, 000001}. Panjang String Suatu string tersusun atas sejumlah n simbol, n 0. Panjang string x ditulis x Contoh: aabba = 5 Slide 24 dari 38

String Kosong Jika x = 0 maka string x tersebut disebut string kosong. Sebagai konvensi untuk kuliah ini string kosong dituliskan dengan notasi Λ. Note: Buku teks lain menggunakan notasi ε Himpunan yang berisi hanya string kosong bukanlah himpunan kosong ({Λ}, tetapi {} = ) Slide 25 dari 38

Contoh Dari Σ = {a, b}, beberapa string yang bisa dibentuk dari Σ adalah Λ, a, abaa, dan aabbaa. Note: a dalam hal ini bisa berarti simbol anggota Σ = {a, b}, atau string dengan panjang 1. Serta, aaa = aba = 3 a = 1 Λ = 0 Slide 26 dari 38

Operasi konkatenasi pada string-string String x dan y apabila dikonkatenasi akan menjadi string xy. Contoh: Jika x = aaba dan y = bba maka xy = aababba. Jika x = aaba dan y = Λ, maka xy = x. Slide 27 dari 38

Operasi konkatenasi berulang pada string Konkatenasi dapat dilakukan sekian kali pada string yang sama. Penulisannya dapat menggunakan notasi pangkat. (Note: notasi pangkat disini berbeda arti dari notasi pangkat dalam operasi aritmetika!) Contoh: Untuk x = abb, x 4 = abbabbabbabb. Secara umum konkatenasi berulang adalah x n dengan n 0, yang mana jika n = 0, x n = Λ. Slide 28 dari 38

Operasi konkatenasi pada himpunan string Jika L 1 dan L 2 himp.-himp. string maka L 1 L 2 adalah {xy x L 1 dan y L 2 } Contoh: Jika L 1 = {aa, bab} dan L 2 = {bb, a}, maka L 1 L 2 = {aabb, aaa, babbb, baba}. Note: bahwa L 1 L 2 L 2 L 1. Untuk L 1 = {Λ} maka L 1 L 2 = L 2 L 1 = L 2. Slide 29 dari 38

Operasi konkatenasi berulang pada alfabet konkatenasi dapat dilakukan sekian kali pada alfabet Σ. Juga, penulisannya dapat menggunakan notasi pangkat. Contoh: untuk Σ = {a, b}, Σ 3 = ΣΣΣ = {aaa, aab, aba, abb, baa, bab, bba, bbb}. Secara umum konkatenasi adalah Σ n dengan n 0, yang mana jika Σ 0 = {Λ}. Slide 30 dari 38

Konkatenasi berulang pada himpunan string Konkatenasi dapat dilakukan sekian kali pada himpunan string yang sama. Juga, penulisannya dapat menggunakan notasi pangkat. Contoh: L = {aa, b}, L 3 = LLL = {aaaaaa, aaaab, aabaa, aabb, baaaa, baab, bbaa, bbb}. Secara umum ditulis L n dengan n 0, yang mana jika L 0 = {Λ}. Slide 31 dari 38

Jadi, untuk a Σ, x L, dan L Σ *, maka: a k = aa a, x k = xx x, L k = LL L Σ k = ΣΣ Σ = {x Σ * x = k} a 0 = Λ, x 0 = Λ, L 0 = {Λ}, Σ 0 = {Λ} Contoh: Σ = {0, 1}, maka ΣΣ = {00, 01, 10, 11} L = {0, 111}, maka LLL = {000, 00111, 01110, 0111111, 11100, 1110111, 1111110, 111111} Slide 32 dari 38

Operasi Kleene-* pada Alfabet Untuk alfabet Σ maka himpunan seluruh string yang mungkin terbentuk dari Σ adalah Σ * (dibaca: Kleene-* dari Σ). Jadi, setiap bahasa L yang menggunakan alfabet Σ adalah subset dari Σ *. Contoh: Jika Σ = {a, b}, maka Σ * = {Λ, a, b, aa, ab, ba, bb, aaa, aab, aba, baa, abb, bab, bba, bbb, }. Slide 33 dari 38

Operasi Kleene-* pada himpunan string Bila L k adalah himpunan semua string yang terbentuk dengan konkatenasi k elemen dari L maka L * adalah himpunan semua string dari berbagai konkatenasi yang bisa dilakukan pada setiap elemen dari L. Ditulis L * i =! L i= 0 Operasi ini disebut Kleene-* (mengambil nama S.C. Kleene). L * termasuk Λ karena L 0 = {Λ}. Slide 34 dari 38

Operasi Kleene- + pada himpunan string Untuk meniadakan L 0 maka digunakan notasi L + yang didefinisikan sebagai operasi Kleene- + sbb: L + = i= 1 i! L Dengan demikian L + = LL * = L * L. Bukti: menurut definisinya L + = L 1 L 2 L 3 L 4 = LL 0 LL 1 LL 2 LL 3 = L(L 0 L 1 L 2 L 3 ) = LL * Slide 35 dari 38

Operasi-operasi Himpunan Umum Sebagai himpunan-himpunan string, bahasa baru dapat dibentuk sebagai hasil operasi himpunan: gabungan, irisan, perbedaan, kompelemen. Operasi-operasi ini dpt dilakukan baik pada bahasa-bahasa dari alfabet yang sama maupun yang berbeda. Contoh: L 1 Σ 1 * dan L 2 Σ 2 * maka (L 1 L 2 ) adalah subset dari (Σ 1 Σ 2 ) *. Slide 36 dari 38

Operasi-operasi string lain x substring dari string y jika terdapat string lain w dan z sehingga y = wxz. x prefiks dari string y jika terdapat string lain z sehingga y = xz. x sufiks dari string y jika terdapat string lain w sehingga y = wx. Slide 37 dari 38

Bahasa Paling Sederhana dari Σ Himpunan string subset dari Σ * yang berisi string tunggal dengan panjang 0 atau 1 disebut bahasa paling sederhana dari Σ. Contoh: Σ = {a, b, c}, maka bahasa-bahasa paling sederhana dari Σ adalah {Λ}, {a}, {b}, dan {c}. Slide 38 dari 38