Anda di halaman 1dari 9

5/3/2020

Konsep Bahasa dan


Otomata

26

• Sebuah simbol adalah suatu entitas abstrak


yang tidak kita definisikan secara formal.
Huruf dan digit merupakan contoh dari
simbol yang sering dipakai.
• Sebuah string (kata/untai) adalah suatu
Konsep deretan berhingga dari simbol-simbol, dan
Bahasa dan ‘abcd’ adalah suatu string. Contoh, string
‘abcd’ panjangnya = 4.
Otomata • Sebuah string kosong, biasanya dinyatakan
dengan , didefinisikan panjangnya = 0, atau
|| = 0.
• Suatu alfabet adalah himpunan berhingga
dari simbol-simbol.

27

1
5/3/2020

• Sebuah bahasa adalah himpunan string-


string dari simbol-simbol untuk suatu
alfabet.
Konsep • Sebuah bahasa yang tidak terdiri dari string-
string disebut sebagai bahasa kosong,
Bahasa dan dinotasikan dengan  (himpunan kosong).
Otomata • Bahasa kosong berbeda dengan bahasa yang
terdiri dari string kosong {}
• Bahasa bisa disebut juga sebagai rangkaian
simbol-simbol yang mempunyai makna.

28

• Untuk memodelkan hardware dari komputer


diperkenalkan otomata.
• Otomata adalah suatu bentuk yang memili
fungsi-fungsi dari komputer digital.
Konsep • Sebuah bahasa formal adalah suatu
abstraksi terdiri dari himpunan simbol-
Otomata simbol dan aturan-aturan yang mana simbol-
simbol tersebut bisa dikombinasikan ke
dalam entitas yang disebut kalimat.
• Untuk mempelajari banyak bahasa
pemrograman, bisa dari bahasa formal.

29

2
5/3/2020

• Otomata merupakan suatu sistem yang


terdiri atas sejumlah berhingga state yang
menyatakan informasi mengenai input yang
lalu dan dapat pula dianggap sebagai
memori mesin.
• Input pada mesin otomata dianggap sebuah
Konsep bahasa yang harus dikenali oleh mesin.
Otomata • Mesin otomata membuat keputusan yang
mengindikasikan apakah input diterima atau
tidak.
• Mesin otomata dapat dipakai untuk
menghasilkan bahasa yang aturannya
ditentukan oleh aturan bahasa itu.

30

Contoh Mesin Otomata

• Mesin sederhana yang menerima input kata dalam bahasa Indonesia.


• Bila mesin mendapat string input berikut:
• ada: diterima
a d a
• adu: diterima q0 q1 q2 q3
• add: ditolak
• Sebuah string input diterima bila mencapai state akhir/final d u

• Mesin memiliki 6 state {q1, q2, q3, q4, q5}


q5 q4
• State awal {q0}, state final {q3, q4}
*lingkaran ganda simbol final state

31

3
5/3/2020

• Tata bahasa (grammar) bisa didefinisikan


secara formal sebagai kumpulan dari
himpunan-himpunan variabel, simbol-simbol
terminal, simbol awal, yang dibatasi oleh
Hirarki aturan-aturan produksi.
Chomsky • Pada tahun 1959, seorang ahli bernama
Noam Chomsky melakukan penggolongan
tingkatan bahasa menjadi empat, yang
disebut dengan Hirarki Chomsky.

32

Hirarki Chomsky

Bahasa Mesin Otomata Batasan Aturan Produksi


Regular / Tipe 3 Finite State Automata (FSA)  adalah sebuah simbol variabel
meliputi Deterministic Finite  maksimal memiliki sebuah
Automata (DFA) & Non- simbol variabel yang bila ada
deterministic Finite Automata terletak di posisi paling kanan
(NFA)
Bebas Konteks / Context Push Down Automata (PDA)  berupa sebuah simbol variabel
Free / Tipe 2
Context Sensitive / Tipe 1 Linier Bounded Automata (LBA) ||  ||

Unrestricted / Phase Mesin Turing tidak ada batasan


Structure / Natural Language
/ Tipe 0

33

4
5/3/2020

Contoh Aturan Produksi

• T  a, dibaca: “T menghasilkan a”
• E  T | T+E, dibaca: “E menghasilkan T atau E menghasilkan T+E”
bentuk pemendekan dari E  T dan E  T+E
• Tipe 0 / Natural Language: Abc  De
• Tipe 1 / Context Free: B  CDeFg, D  BcDe (digunakan sebagai dasar pembentukan
suatu parser/proses analisis sintaksis, deskripsi formal dengan notasi BNF-Backus Normal
Form)
• Tipe 2 / Context Sensitive: Ab  DeF, CD  eF (aturan: ||  ||)
• Tipe 3 / Regular Language: A  e, A  efg, A  efgH, C  D

34

Pengantar
Matematika

35

5
5/3/2020

• Himpunan merupakan kumpulan dari


elemen-elemen (notasi: ). Misal. a  X,
dibaca “a merupakan elemen dari himpunan
X”, sebaliknya jika menggunakan notasi a 
X, maka a bukan elemen dari himpunan X.
• Jika semua elemen dari himpunan A adalah
Teori elemen dari himpunan B, dapat dikatakan A
adalah subset (himpunan bagian) dari B
Himpunan (dapat ditulis: A  B). Jika A  B dan B  A
maka A = B.
• Himpunan kosong/null, dinotasikan dengan
, merupakan himpunan bagian dari semua
himpunan.

36

Operasi Himpunan

• Gabungan (union): dinyatakan dengan . Misal, A  B = {x | x  A atau x 


B}. A  B sama dengan A  B atau A + B
• Irisan (intersection): dinyatakan dengan ∩. Misal, A ∩ B = {x | x  A dan x 
B}. A ∩ B sama dengan A  B atau A . B
• Komplemen: Misal, Ac = U – A, dimana U merupakan himpunan semesta
dan Ac merupakan komplemen dari himpunan A. Misal, A – B = {x | x  A
atau x  B} maka B komplemen dari himpunan A.

37

6
5/3/2020

• Suatu fungsi adalah sebuah relasi yang


memenuhi suatu kriteria. Misalkan f: A  B
dan g: A  B, maka f = g  f(x) = g(x) untuk
semua x di dalam A.
• Terdapat beberapa ketentuan mengenai
Fungsi dan fungsi sebagai berikut.
1. f() = 
Relasi 2. f({x}) = {f(x)} untuk semua x  A
3. X  Y  A  f(X)  f(Y)
4. X  Y  B  f-1(X)  f-1(Y)
5. X  B dan Y  B  f-1(X-Y) = f-1(X) - f-1(X)

38

Teori Pembuktian

• Prinsip induksi matematika merupakan cara yang berguna untuk melakukan pembuktian.
Langkah-langkahnya sebagai berikut.
• Tunjukkan hal itu berlaku untuk P0, disebut basic step.
• Tunjukkan hal itu berlaku untuk Pn+1, disebut induction step.
• Dapat ditarik kesimpulan hal itu berlaku untuk semua n.
• Misalkan, 20 + 21 + … + 2n = 2n+1 – 1, untuk semua n  bilangan bulat positif, maka dapat
ditentukan:
• P0: untuk n = 0, maka 20 = 20+1 – 1  1 = 2 – 1  1 = 1 (terbukti)
• Pn+1: untuk n = k, maka 20 + 21 + … + 2k = 2k+1 – 1, akan dibuktikan n = k + 1 juga benar
 = 2k+1 – 1 + 2k+1  = 2.2k+1 – 1  = 2k+1+1 – 1  = 2(k+1)+1 – 1 (terbukti)

39

7
5/3/2020

Graph dan Tree

• Suatu graph G = (V, E) adalah himpunan vertex-vertex (simpul) V dan


himpunan sisi (edge) E dimana E dibentuk dari vertex V x V. Dengan kata
lain, graph adalah kumpulan vertex-vertex dan sisi-sisi yang
menghubungkan vertex tersebut. Ditinjau dari arahnya, graph dibagi
menjadi dua, yakni:
• Graph berarah (directed graph): arah sisi/urutan diperhatikan
• Graph tidak berarah (undirected graph)
• Dalam suatu graph, lintasan (path) adalah urutan simpul, atau sisi yang
dibentuk untuk bergerak dari satu simpul ke simpul yang lain.

40

Graph dan Tree

• Pada graph berarah, titik akhir dari sebuah busur akan menjadi titik awal
dari busur berikutnya.
• Sirkuit adalah lintasan yang memiliki simpul awal dan akhir yang sama.
• Panjang lintasan adalah banyaknya sisi yang dilalui lintasan tersebut.
• Suatu graph disebut terhubung jika untuk setiap pasang simpul x dan y ada
lintasan dari x ke y.
• Pada graph berarah dikatakan terhubung jika graph tidak berarah yang
dibentuk dari graph itu merupakan graph terhubung.

41

8
5/3/2020

Graph dan Tree

• Tree (pohon) merupakan graph terhubung tanpa sirkuit.


• Dalam sebuah tree, setiap pasang simpul terhubung hanya oleh satu lintasan. Beberapa
istilah khusus dalam tree sebagai berikut.
• Root/akar: suatu simpul tertinggi
• Daun/leaf: simpul yang tidak memiliki anak lagi
• Cabang/branch: simpul-simpul selain daun
• Dalam sebuah tree berlaku: n = s + 1, dimana n = banyaknya simpul dan s = banyaknya
sisi.
• Pohon biner adalah suatu pohon yang setiap cabangnya paling banyak memiliki dua
anak.

42

Anda mungkin juga menyukai