2 alfabet dan string

Post on 03-Dec-2014

1.071 views 4 download

description

Teori Bahasa Otomata

Transcript of 2 alfabet dan string

Teori Bahasa dan Otomata PendahuluanKonsep Dasar: Alfabet, String, dan Bahasa

Teori BahasaTeori 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).

Teknik Informatika UPNVY 3

Bahasa Formal

Tatabahasa Bahasa

Pembangkitan dan Pengenalan Kalimat

OtomataAdalah mesin abstrak yang dapat

mengenali (recognize) atau menerima (accept) sebuah kalimat dalam bahasa tertentu.

Contoh: Mesin Jaja/vending machine, parser/compiler, dll.

5

Mengapa TBO?Ekspresi reguler (RE) digunakan

pada berbagai sistem◦Cth. UNIX a.*b.◦Cth DTD mendeskripsi tag XML

dalam bentuk RE seperti pegawai (nama, alamat, anak*).

Finite automata memodelkan protokol

6

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

7

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

Konsep DasarAlfabetStringBahasa

AlfabetHimpunan simbol terbatas dan

tak kosongLambang: ∑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}

StringString: deretan berhingga (finite)

simbol-simbol yang berasal dari suatu alfabet

Contoh:Dari alfabet biner ∑={0,1} bisa

didapat string 10011 dan 111

String kosongString kosong: String dengan nol

buah simbolLambang:

Panjang stringJika w adalah sebuah string maka

panjang string dinyatakan sebagai w dan didefinisikan sebagai banyaknya simbol yang menyus

Contoh◦Jika w = abcb , maka w= 4

= 0Cth.: |011| =3

SubstringSubstring 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

Himpunan string dari suatu alfabet yang panjangnya n

Jika = {0,1}3 = {000, 001, 010, 011,100,

101,110,111}

* dan +Himpunan semua string dari

suatu alfabet dilambangkan dengan *

Cth:◦{0,1}* = {, 0, 1, 00, 01, 10, 11,

000, …}

Himpunan semua string dari suatu alfabet tanpa string kosong +

{0,1}+ = {0, 1, 00, 01, 10, 11, 000, …}

Konkatenasi dua stringPenggabungan dua buah stringContoh:Jika x = 01 dan y = 110, maka

◦xy = 01110◦yx = 11001

Sifat aljabar konkatenasi :◦asosiatif : x(yz) = (xy)z◦Elemen identitas operasi konkatenasi

adalah ◦x = x = x

BahasaSuatu himpunan string yang

dipilih dari * dari suatu alfabet Contoh:Jika = {0,1}

◦Bahasa dengan string yang jumlah simbol 0 sama dengan simbol 1: {, 01, 10, 0011, 0101, 1100, …}

◦Bahasa yang stringnya selalu diakhiri simbol 0: {0, 10, 110, 100, 000, 1110, …}

Latihan

1. Tuliskan alfabet berikut ini:a. Himpunan simbol angka heksadesimalb. Himpunan huruf hidup/vokal kecil

2. Buatlah masing-masing 5 string dari alfabet soal nomor 1 yang panjangnya 5.

3. = {a, b, c}, carilah 3

4. = {a}, tuliskan *

5. = {O, X}, tuliskan *

Latihan6. Carilah semua substring dari “gelas” 7. Jika ={a,b,c}, tulislah minimal 5 string

yang menjadi anggota bahasa berikut ini:

a. Bahasa yang terdiri dari string palindromb. Bahasa yang terdiri dari string berawalan

dan berakhiran simbol ac. Bahasa yang memuat substring cba

8. Enumerasikan himpunan string pada bahasa berikut ini

a. a*bb. (01)+c. (ab|c)*