MODUL 2: Bahasa Regular dan Ekspresi Regular

dokumen-dokumen yang mirip
MODUL 4: Nondeterministic Finite Automata

MODUL 1: PENGANTAR TEORI BAHASA

MODUL 3: Finite Automata

MODUL 5: Nondeterministic Finite Automata dengan

TEKNIK KOMPILASI Bahasa Regular

MODUL 6: TEOREMA KLEENE

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

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

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

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

LOGIKA DAN ALORITMA. Pertemuan II:

BAB II SINTAKS 2.1. SINTAKS

Teori Bahasa dan Operasi Matematis.

Matematika Diskrit 1

FLOWCHART - LANJUTAN

BILANGAN BERPANGKAT DAN BENTUK AKAR

1.2 PENULISAN HIMPUNAN

Modul 03 HIMPUNAN. Himpunan adalah kumpulan objek-objek yang keanggotaannya didefinisikan dengan jelas.

1. Integer Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

INF-104 Matematika Diskrit

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

INF-104 Matematika Diskrit

matematika PEMINATAN Kelas X PERSAMAAN DAN PERTIDAKSAMAAN EKSPONEN K13 A. PERSAMAAN EKSPONEN BERBASIS KONSTANTA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Materi. Tipe, Variabel dan Operator Algoritma Pemrograman PENULISAN ALGORITMA PENULISAN ALGORITMA 15/03/2010 NAMA DAN EKSPRESI

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A

STRUKTUR ALJABAR 1. Winita Sulandari FMIPA UNS

MODUL 7: MINIMISASI FA

MATERI PERTEMUAN KE-1

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana. Tipe Data

anggota alfabet dinamakan simbol terminal atau token.

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

OPERATOR DAN UNGKAPAN

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Himpunan dan Sistem Bilangan Real

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

Teori Himpunan. Modul 1 PENDAHULUAN

BAB I TEORI BAHASA DAN AUTOMATA

Bab 3. Decision 1 (Pengambilan Keputusan)

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

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

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

Tinjau algoritma dibawah ini

SOAL DAN JAWABAN TENTANG NILAI MUTLAK. Tentukan himpunan penyelesaian dari persamaan nilai Mutlak di bawah ini.

Logika Matematika Himpunan

HIMPUNAN. A. Pendahuluan

Teori Bahasa Formal dan Automata

Uraian Singkat Himpunan

Teori Bahasa dan Otomata

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

Algoritma & Pemrograman 2C Halaman 1 dari 7 ALJABAR BOOLEAN

8 April 2015 Teori Bahasa dan Otomata

Dasar Teori Bahasa & Grammar

HIMPUNAN. A. Pendahuluan

KONSEP GRAMMAR DAN BAHASA

Modul ke: Logika Matematika. Himpunan. Fakultas FASILKOM. Bagus Priambodo. Program Studi SISTEM INFORMASI.

GLOSSARIUM. A Akar kuadrat

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

PRAKTIKUM 3 DASAR PEMROGRAMAN C

BAB 5 Bilangan Berpangkat dan Bentuk Akar

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

Quis. Contoh. Definisi Konsep Part 1,2 Part 3 Part 4. Oleh : Hasan Sanlawi, S.Kom. STMIK Pranata Kampus E : Materi Kuliah STRUKTUR DATA

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

PERSAMAAN & FUNGSI EKSPONEN

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

BAB 2 PERSAMAAN DAN PERTIDAKSAMAAN LINEAR

LEMBAR AKTIVITAS SISWA MATRIKS

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc

TEORI BAHASA DAN OTOMATA [TBO]

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

RINGKASAN CATATAN KULIAH PENDAHULUAN TEORI HIMPUNAN

HIMPUNAN, RELASI DAN FUNGSI

Lecture Notes Teori Bahasa dan Automata

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

ALGORITMA PEMROGRAMAN 1C SINTAKS

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

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

Teori Bahasa Formal dan Automata

Teori Himpunan Elementer

HIMPUNAN MATEMATIKA. Program Studi Agroteknologi Universitas Gunadarma

Teori Algoritma. Struktur Algoritma

Bab 2. Dasar-Dasar Pemrograman C

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

PRAKTIKUM 3 DASAR PEMROGRAMAN C

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

Matematika Logika Aljabar Boolean

KONSEP DASAR MATEMATIKA

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

A. Kuadrat bilangan dua angka dengan karakter. angka satuannya

GRAMMAR AND LANGUAGE

MATEMATIKA EKONOMI 1 HIMPUNAN BILANGAN. Dosen : Fitri Yulianti, SP. MSi

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

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

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Pertemuan 2. Muhadi Hariyanto

Transkripsi:

MODUL 2: Bahasa Regular dan Ekspresi Regular Slide 1 dari 21

DEFINISI BAHASA REGULAR Bahasa Regular L dari alfabet Σ adalah bahasa yang dapat dihasilkan dari bahasa-bahasa paling sederhana dari Σ dengan melakukan operasioperasi gabungan, konkatenasi, dan/atau Kleene- *. Slide 2 dari 21

Contoh: L = {x {0,1} x konkatenasi berulang 110 dan diakhiri oleh satu simbol apa saja (0 atau 1)}. L = {110} * {0, 1} atau L = {{1}{1}{0}} * {{0} {1}}. konkatenasi {1}{1}{0} menjadi {110} Kleen {110} menjadi {110} * penggabungan {0} {1} menjadi {0,1} konkatenasi hasil Kleen {110} * dengan {0,1} Jadi merupakan bahasa regular. Slide 3 dari 21

Ekspresi Regular Ekspresi bisa dibuat lebih sederhana lagi dengan ekspresi yang mirip dengan ekspresi aritmatis yang disebut ekspresi regular. Dengan aturan: o ganti setiap { dengan ( o ganti setiap } dengan ) o ganti dengan + Slide 4 dari 21

Contoh: Modul 2: Bahasa Regular dan Ekspresi Regular Bahasa Ekspresi Regular {Λ} Λ {0} 0 {001} 001 {0, 1} 0+1 {0, 10} 0+10 {1, Λ}{001} (1+Λ)001 {110} * {0,1} (110) * (0+1) {1} * {10} 1 * 10 {10, 111, 11010} * (10+111+11010) * {0, 10} * ({11} * (001, Λ}) (0+10) * ((11) * + 001 + Λ) Slide 5 dari 21

Ekspresi regular memperlihatkan pola string yang paling tipikal dari bahasa ybs. Contoh: 1 * 10 merupakan string-string berisikan akhiran 10 dan diawali sejumlah 1. Slide 6 dari 21

DEFINISI FORMAL EKSPRESI REGULAR Kelas R dari bahasa regular pada Σ, dan ekspresi regularnya terdefinisi sebagai berikut: 1.Bila merupakan anggota dari R, ekspresi regularnya adalah. 2.Bila {Λ} adalah anggota dari R, ekspresi regularnya adalah Λ. 3.Untuk setiap a Σ, {a} adalah anggota dari R, ekspresi regularnya adalah a. Slide 7 dari 21

4.Bila L 1 dan L 2 adalah anggota R, sementara r 1 dan r 2 adalah ekspresi regularnya maka (a) L 1 L 2 anggota R, dan ekspresi regularnya adalah (r 1 + r 2 ) (b) L 1 L 2 anggota R, maka ekspresi regularnya adalah (r 1 r 2 ) (c) L * 1 anggota R, maka ekspresi regularnya adalah (r 1 ) *. 5.Hanya dengan keempat pernyataan di atas bahasa regular dapat diperoleh. Slide 8 dari 21

Adalnya aturan pertama mengenai bahasa kosong diberikan untuk menjaga konsistensi dan kesederhanaan ekspresi. Sesuai dengan definisi himpunannya maka untuk setiap ekspresi regular r 1 dan r 2 yang mana tepat salah satu, misalnya r 2 =, maka r 1 +r 2 = r 2 dan r 1 r 2 =. Kadangkadang kita gunakan ekspresi regular r 2 menggantikan rr, serta r + menggantikan r * r. Slide 9 dari 21

Slide 10 dari 21 Modul 2: Bahasa Regular dan Ekspresi Regular Hirarki antar Operator Seperti halnya dalam ekspresi aritmetis, untuk menghilangkan ambiguitas saat menggunakan notasi +, *, dan konkatenasi, maka diperlukan suatu hirarki penulisan notasi. Hirarki tertinggi adalah pangkat (termasuk kleene- * dan kleene- + ), kemudian konkatenasi, dan terakhir +. Tanda kurung untuk mengelompokkan suatu subekspresi sebagai satu entitas ekspresi seperti halnya penulisan formula aritmetis.

Contoh: 1 1 * ( 0 + 01 * ) * 0 Modul 2: Bahasa Regular dan Ekspresi Regular Slide 11 dari 21

Aljabar Ekspresi Regular Keuntungan ekspresi regular lain: kita dapat menerapkan suatu aljabar ekspresi regular untuk penulisan ekpresi yang lebih ringkas/ sederhana. Contoh: 1 * (1+Λ) = 1 * 1 + 1 * = 1 + +1 * 1 * 1 * = 1 * (0 * 1 * ) * = (0+1) * (0+1) * 01(0+1) * +1 * 0 * = (0+1) * Slide 12 dari 21

Untuk pers. Ketiga: 0 * 1 * = Λ +0 + 1 + 0 + 1 + = (0 + 1) + (Λ + 0 + 1 + ) Maka (0 * 1 * ) * = ((0 + 1) + (Λ + 0 + 1 + )) * = (0 + 1) * + (0 + 1) * (Λ + 0 + 1 + ) *. Karena (0+1) * merupakan himp. semesta dari string-string yang terbentuk dari {0, 1} maka terbukti (0 * 1 * ) * = (0+1) *. Slide 13 dari 21

Untuk pers. Keempat: (0+1) * 01(0+1) * mrpk re dari bahasa yang selalu memiliki substring 01. Komplemennya berisikan 0 * (hanya berisi simbol 0 saja), 1 * (hanya berisi simbol 1 saja), atau jika berisi 0 dan 1 simbol-simbol 0 akan berada setelah simbol-simbol 1, yaitu 1 * 0 *. Gabungan keduanya adalah himpunan seluruh string yang terbentuk dari {0,1} dengan ekspresi regular (0+1) *. Slide 14 dari 21

Berikut ini sejumlah contoh penulisan bahasa regular dari deskripsi bahasa tsb. Slide 15 dari 21

Contoh 1: L {0,1} * merupakan bahasa dari semua string yang panjangnya genap (L = {x {0,1} * x bil. genap}, dalam hal ini Λ L karena 0 adalah genap). Setiap string yang panjangnya genap mrpk konkatenasi dari substring-substring yang panjangnya dua, jadi : L = {00, 01, 10, 11} *. Ekspesi regularnya (00+01+10+11) * atau (0(0+1)+1(0+1)) * atau ((0+1) 2 ) * Slide 16 dari 21

Contoh 2: Bila L {0,1} * semua string yang berisi 1 dalam jumlah yang ganjil. Setiap string memiliki minimal satu simbol 1. Maka selalu terdapat prefiks berbentuk 0 * 10 * serta sejumlah (atau nol) substring berisi pasangan 1. Ekspresi regularnya: 0 * 10 * (10 * 10 * ) * = 0 * 1(0 * 10 * 1) * 0 * = (0 * 10 * 1) * 0 * 10 * = 0 * (10 * 10 * ) * 1(0 * 10 * 1) * 0 *. Slide 17 dari 21

Contoh 3: L {0,1} * string-string yang panjangnya 6 atau kurang atau L = {x {0,1} * x 6}. L = {Λ, 0, 1, 00, 01, 10, 11, 000,, 111110, 111111} atau ekspresi regularnya adalah Λ+0+1+00+01+10+11+000+ +111110+111111 = (Λ+0+1) 6 Slide 18 dari 21

Contoh 4: L {0,1} * string-string yang diakhiri oleh 1 dan tidak memiliki substring 00. Pernyataan bahwa tidak ada substring 00 dan 0 tidak ada diakhir berimplikasi setelah setiap kemunculan 0 akan diikuti 1. Jadi ekspresi regular L adalah (1+01) +. Kleene- + disini Karena Λ tidak termasuk L. Slide 19 dari 21

Contoh 5: Bila l adalah ekspresi regular (a+b+ +z+a+b+ +Z) dan d adalah ekspresi regular (0+1+ +9) dan _ adalah karakter underscore. maka setiap variabel dalam bahasa pemrograman C (setiap string dari huruf, angka dan dash tapi diawali oleh huruf atau dash) memikili eksrepsi regular: (l+_)(l+d+_) * Slide 20 dari 21

Contoh 6: Jika p adalah karakter titik dan s adalah ekspresi regular (Λ + a + m) dengan a=karakter plus, m=karakter minus, maka bilangan real dalam bahasa pemrograman Pascal memiliki ekspresi regular: sd + (pd + + pd + Esd + + Esd + ) Slide 21 dari 21