Anda di halaman 1dari 29

TEORI B A H A S A

DAN
OTO M ATA

Oleh : Adelina Ibrahim


Program Studi Teknik
Informatika Universitas
Muhammadiyah Maluku Utara
Bahas
a Struktur yang dikendalikan oleh
aturan tertentu, semacam mesin
untuk memproduksi makna.

disediakan perbendaharaan kata atau tanda


(vocabulary), serta perangkat aturan bahasa
(grammar, sintaks) yang harus dipatuhi jika
hendak menghasilkan sebuah ekspresi
yang bermakna.
Otomata
Otomata adalah mesin abstrak yang
dapat mengenali (recognize),
menerima (accept), atau
membangkitkan (generate) sebuah
kalimat dalam bahasa tertentu.

Pada Perangkat lunak:


digunakan pada pembuatan
kompiler bahasa pemrograman.
Fungsi
(dalam
OtomataHubungannya dg
Bahasa)
 fungsi automata sebagai pengenal
(RECOGNIZER) string-string dari suatu
bahasa
bahasa Input otomata
 fungsi automata sebagai pembangkit
(GENERATOR) string-string dari suatu
bahasa, dalam hal ini bahasa sebagai
keluaran dari automata
Peran Bahasa dan
Otomata dalam Ilmu
Komputer model dan
gagasan mengenai
mendasar
Ilmu komputasi
Komputer TEORI B A H A S A D A N
OTOMATA

teknik rekayasa untuk


perancangan sistem
komputasi,meliputi perangkat
keras dan perangkat lunak,
khususnya penerapan rancangan
ILMU KOMPUTER

- ahli biologi mempelajari neural network


- insinyur elektro mengembangkan switching
sebagai tool untuk mendesain hardware
- matematikawan bekerja mendasarkan
logika
- ahli bahasa menyelidiki tata bahasa untuk
natural language
Penerapan Teori
Bahasa dan Otomata
 Model switch on/off
• Model tersebut mengingat apakah switch
berada dalam state “on” atau state “off”
Penerapan Teori
Bahasa dan Otomata
 Finite
Automaton

•Tugas dari automaton tersebut


adalah mengenali keyword “then”
STRING
 Simbol sebuah entitas abstrak
(seperti halnya pengertian titik
dalam geometri)
Contoh: Sebuah huruf atau sebuah
angka
 String deretan terbatas (finite)
simbol-simbol.
Contoh: abcb String yang dibangun
dari simbol a, b, c
STRING
 Panjang String cacahan (banyaknya)
simbol yang menyusun
string tersebut.
Contoh: jika w = abcb maka |w| = 4.
w adalah sebuah string
 Alfabet himpunan hingga (finite set)
dari simbol-simbol
STRING
 String Hampa sebuah string
dengan nol buah
simbol
String hampa dinyatakan dengan
simbol ε (atau ^) sehingga | ε | = 0

String hampa dapat dipandang sebagai


simbol hampa karena keduanya tersusun
dari nol buah simbol.
Operasi Dasar
1.String
Prefik string x
string yang dihasilkan dari string x
dengan menghilangkan nol atau lebih
simbol-simbol paling belakang dari
string x tersebut.
Contoh:
String x = abc, maka:
abc, ab, a, dan ε adalah semua Prefix(x)
Operasi Dasar
2.String
ProperPrefik string x
string yang dihasilkan dari string x
dengan menghilangkan satu atau lebih
simbol- simbol paling belakang dari
string x tersebut.
Contoh:
String x = abc, maka:
ab, a, dan ε adalah semua ProperPrefix(x)
Operasi Dasar
3.String
Postfix (atau sufix) string x
string yang dihasilkan dari string x
dengan menghilangkan nol atau
lebih simbol-simbol paling depan dari
string x tersebut.
Contoh:
String x = abc, maka:
abc, bc, c dan ε adalah semua
Postfix(x)
Operasi Dasar
4.String
ProperPostfix (atau Propersufix) string x
string yang dihasilkan dari string x
dengan menghilangkan satu atau
lebih simbol-simbol paling depan dari
string x tersebut.
Contoh:
String x = abc, maka:
bc, c, dan ε adalah semua
ProperPostfix(x)
Operasi Dasar
5.String
Head string x
Simbol paling depan dari string
x tersebut
Contoh:
String x = abc, maka:
a adalah Head(x)
Operasi Dasar
6.String
Tail string x
string yang dihasilkan dari string x
dengan menghilangkan simbol
paling depan dari string x tersebut.

Contoh:

String x = abc, maka:


bc adalah Tail(x)
Operasi Dasar
7.String
Substring string x
string yang dihasilkan dari string x
dengan menghilangkan nol atau lebih
simbol-simbol paling depan dan/atau
simbol-simbol paling belakang dari string
x tersebut.
Contoh:
String x = abc, maka:
abc, ab, bc, a, b, c dan ε adalah semua
Operasi Dasar
8.String
ProperSubstring string x
string yang dihasilkan dari string x
dengan menghilangkan satu atau lebih
simbol-simbol paling depan dan/atau
simbol-simbol paling belakang dari string
x tersebut.
Contoh: String x = abc, maka:
ab, bc, a, b, c dan ε
adalah semua ProperSubstring(x)
Operasi Dasar
9.String
Subsequence string x
string yang dihasilkan dari string x
dengan menghilangkan nol atau
lebih simbol-simbol dari string x
tersebut.
Contoh:

String x = abc, maka:

abc, ab, bc, ac, a, b, c dan ε


adalah semua Subsequence(x)
Operasi Dasar
String
10. ProperSubsequence string x
string yang dihasilkan dari string x
dengan menghilangkan satu atau
lebih simbol-simbol dari string x
tersebut.
Contoh:

String x = abc, maka:

ab, bc, ac, a, b, c dan ε


adalah semua ProperSubsequence(x)
Operasi Dasar
String
11. Concatenation
penyambungan dua buah string.
Operator concatenation adalah concate
atau tanpa lambang apapun
Contoh:

String x = abc, y= 123 maka:

concate(xy) = xy= abc123


Operasi Dasar
String
12. Alternation
Pilihan satu di antara dua buah string
Operator concatenation adalah alternate
atau |.
Contoh:

String x = abc, y= 123 maka xy=123,


sehingga:

alternate (xy) = x|y = abc atau123


Sifat Operasi
String
 Tidak selalu berlaku : x = Prefix(x)Postfix(x)

 Selalu berlaku : x = Head(x)Tail(x)


 Tidak selalu berlaku : Prefix(x) = Postfix(x)
atau Prefix(x) ≠ Postfix(x)
 Selalu berlaku :
ProperPrefix(x) ≠ ProperPostfix(x)
 Selalu berlaku : Head(x) ≠ Tail(x)
Sifat Operasi
String
 Setiap Prefix(x), ProperPrefix(x), Postfix(x),
ProperPostfix(x), Head(x), dan Tail(x)
adalah Substring(x), tetapi tidak sebaliknya

 Setiap Substring(x) adalah


Subsequence(x), tetapi tidak sebaliknya
Sifat Aljabar
Contanetation
 Operasi concatenation bersifat
asosiatif : x(yz) = (xy)z

 Elemen identitas operasi concatenation


adalah ε : εx = x ε = x
Sifat Aljabar
Alternation
 Operasi alternation bersifat
komutatif :
x|y = y|x

 Operasi alternation bersifat asosiatif :


x|(y|z) = (x|y)|z

 Elemen identitas operasi alternation


adalah dirinya sendiri : x|x = x
LATIHAN
Diberikan dua string : x = rstu, dan y = 5678

a. Prefix(x)
b. semua ProperPrefix(y)
c. semua Postfix(x)
d. semua ProperPostfix(y)
e. Head(x) k. Concate(yx)
f. Tail(y) l. Alternate(xy)
g. semua Substring(x) m. Head(x)Tail(y)
h. semua Substring(y) n. Concate(Tail(y)xy)
i. semua Subsequence(x)
j. Proper Subsequence (x)

Anda mungkin juga menyukai