Anda di halaman 1dari 30

Penyederhanaan tata bahasa bebas konteks bertujuan untuk melakukan pembatasan sehingga tidak A → Ada

menghasilkan pohon penurunan yang memiliki kerumitan yang tak perlu atau aturan produksi B → BBB | a
yang tidak berarti. Misalkan terdapat tata bahasa bebas konteks Kita bisa melihat bahwa : 1. Simbol variabel A tidak memiliki

S → AB | a penurunan yang menuju


terminal, sehingga bisa dihilangkan. 2. Karena simbol A telah
A→ a
dihilangkan, maka dengan
Kelemahan tata bahasa bebas konteks di atas, aturan produksi
sendirinya S → Abd juga dihilangkan.. Maka dari tata bahasa
S → AB tidak berarti
bebas konteks di atas,
karena B tidak memiliki penurunan.
produksi yang useless :
Untuk tata bahasa bebas konteks berikut.
A → Ada S → Abd
S→ A
Maka tata bahasa bebas konteks setelah disederhanakan
A→ B
menjadi :
B→ C
S → aSa | Bde
C→ D
B → BBB | a
D→ a|A
Contoh lain, terdapat tata bahasa bebas konteks sebagai
Memiliki kelemahan terlalu panjang jalannya padahal berujung berikut.
pada S → a, produksi D S → Aa | B
→ A juga memiliki kerumitan. A → ab | D
B→ b|E
C → bb
LANGKAH – LANGKAH PENYEDERHANAAN
E → aEa
1. Penghilangan Produksi Useless
Kita bisa melihat bahwa : 1. Aturan produksi A → D, simbol
Penghilangan produksi useless dilakukan dengan cara sebagai
berikut. variabel D tidak memiliki

a. Menghilangkan produksi yang memuat simbol variabel yang penurunan, sehingga bisa dihilangkan 2. Aturan produksi C →

tidak memiliki penurunan bb, bila kita coba

yang akan menghasilkan simbol terminal. melakukan penurunan dari simbol awal S, dengan jalan

b. Produksi yang tidak akan pernah dicapai dengan penurunan manapun tidak akan pernah

apapun dari simbol awal mencapai C, sehingga bisa dihilangkan. 3. Simbol variabel E

sehingga produksi itu redundan (berlebih). tidak memiliki aturan produksi

Contoh, terdapat tata bahasa bebas konteks : yang menuju terminal, sehingga bisa dihilangkan. 4.

S → aSa | Abd | Bde Konsekuensi dari aturan no. 3 maka


aturan produksi B → E, juga mesti dihilangkan.. Maka dari tata
bahasa bebas konteks C → D lalu D → dd sehingga C → dd Maka C → D dapat diubah
tersebut produksi yang useless adalah sebagai berikut. menjadi C → dd •
A→ D Sehingga tata bahasa bebas konteks setelah penyederhanaan
C → bb adalah sebagai berikut.
E → aEa S → Sb
B→ E S → dd | ef
C → dd
Maka tata bahasa bebas konteks setelah disederhanakan
C → ef
menjadi : S → Aa | B A →
D → dd
ab B → b
Contoh lain, terdapat tata bahasa bebas konteks :
2. Penghilangan Produksi Unit
S→ A
Produksi unit adalah produksi di mana ruas kiri dan kanan
aturan produksi hanya S → Aa
berupa satu simbol variabel, misalkan : A → B, C → D. A→ B
Keberadaan produksi unit B→ C
membuat tata bahasa memiliki kerumitan yang tak perlu atau B→ b
menambah panjang C→ D
penurunan. • Penyederhanaan ini dilakukan dengan melakukan
C → ab
penggantian aturan
D→ b
produksi unit.
Penggantian yang dilakukan :
Contoh tata bahasa bebas konteks :
1. S → A
S → Sb Untuk S → A maka setelah ditelusuri menghasilkan S → b | ab
S→ C 2. A → B
C→ D Untuk A → B maka setelah ditelusuri menghasilkan A → b | ab
C → ef 3. B → C
D → dd Untuk B → C maka setelah ditelusuri menghasilkan B → b | ab
Langkah-langkahnya adalah sebagai berikut : 1. Kita lihat untuk Untuk B → b
S→ C sudah ada, maka cukup ditulis B → ab
C → D lalu D → dd sehingga C → dd 4. C → D
C → ef Untuk C → D maka setelah ditelusuri menghasilkan C → b | ab
Maka S → C dapat diubah menjadi S → dd | ef Untuk C → ab
2. Kita lihat untuk C → D sudah ada, maka cukup ditulis C → b
Sehingga tata bahasa bebas konteks setelah disederhanakan S → d.
menjadi : Kemudianproduksi C → є kita hapus. Tata bahasa bebas
S → ab | b konteks setelah
S → Aa A → ab | b penyederhanaan :
B → ab S → Ab | d
B→ b A→ d
C→ b Contoh lain, terdapat tata bahasa bebas konteks :
C → ab S → dA | Bd
D→ b A → bc
Penghilangan Produksi є A→ є
B→ c
Produksi є adalah produksi dalam bentuk : α → є atau bisa
Variabel yang nullable adalah variabel A. A → є bukan
dianggap sebagai
produksi kosong (empty). Penghilangan produksi є dilakukan penurunan satu-satunya dari A

dengan melakukan (terdapat A → bc), maka kita ganti S → dA menjadi S → dA | d.

penggantian produksi yang memuat variabel yang bisa menuju A → є kita


keproduksi є, atau biasa hapus.
disebut nullable. Penghilangan Produksi є Setelah penyederhanaan :
Prinsip penggantiannya bisa dilihat pada kasus berikut ini. S → dA | d | Bd
S → bcAd A → bc
A→ є B→ c
Pada kasus diatas A nullable, serta A → є satu-satunya Contoh lain, terdapat tata bahasa bebas konteks :
produksi dari A, maka S → AaCD
variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa A → CD | AB
bebas konteks menjadi :
B→ b|є
S → bcd
C→ d|є
Tetapi bila kasusnya :
D→ є
S → bcAd | bcd
Variabel yang nullable adalah variabel B, C, D. Kemudian kita
A → bd
lihat A → CD, maka
C→ є
variabel A juga nullable, karena D hanya memiliki penurunan D
Variabel yang nullable adalah variabel C. Karena penurunan C
→ є, maka kita
→ є merupakan
sederhanakan dulu : S → AaCD menjadi S → AaC •
penurunan satusatunya dari C, maka kita ganti S → Cd menjadi
A → CD menjadi A → C 3. Lakukan penggantian produksi yang ruas kanannya memuat
D → є kita hapus > 2 simbol variabel
Selanjutnya kita lihat variabel B dan C memiliki penurunan є, 4. Penggantian – penggantian tersebut bisa dilakukan berkali –
meskipun bukan satu kali sampai akhirnya
satunya penurunan, maka kita lakukan penggantian : semua produksi dalam bentuk normal chomsky
A → AB menjadi A → AB | A | B 5. Selama melakukan pergantian, kemungkinan akan
S → AaC menjadi S → AaC | aC | Aa | a memperoleh produksi dan simbol
B → є dan C → є kita hapus Setelah penyederhanaan : variabel yang baru

S → AaC | aC | Aa | a Contoh :
S→bA|aB
A → C | AB | A | B
A →bAA | aS | a
B→ b
B →aBB | bS |a
C→ d
Bentuk kedalam normal chomsky :
Penyelesaian
Normal Chomsky 1. Tentukan produksi yang sudah dalam bentuk Normal
Chomsky A →a B →b
Bentuk Normal Chomsky (CNF) merupakan salah satu bentuk
2. Lakukan penggantian produksi yang tidak sesuai.
normal untuk CFG
S→bA | aB
Syarat CFG yang dapat dibentuk menjadi CNF harus telah
sederhana yaitu, tidak A →bAA | aS
memiliki produksi empty, unit dan useless lagi. bentuk normal B →aBB | bS
chomsky, dimana ruas Penggantian produksi
kanannya tepat berupa sebuah terminal atau dua variabel. 1. S→bA (buat variabel baru W untuk mengganti “b”)
contoh : ⟹ WA (sudah menjadi normal chomsky) sehingga : S→WA ,
A →BC W→b
A →b 2. S→aB(buat variabel baru X untuk mengganti “a”)
B →a ⟹ XB (sudah menjadi normal chomsky) sehingga : S→XB ,
C →BA | d X→a
Pembentukan Bentuk Normal Chomsky 3. A →bAA (buat variabel baru Y untuk mengganti “bA”)
1. Biarkan produksi yang sudah dalam normal chomsky ⟹ YA (sudah menjadi normal chomsky) sehingga : A→YA
2. Lakukan penggantian produksi yang ruas kanannya memuat Y→bA (belum normal chomsky) Y→bA (buat variabel baru
simbol terminal dan Y1untuk mengganti “b”)
panjang ruas kanan > 1 ⟹ Y1A (sudah menjadi normal chomsky) sehingga : Y→Y1A ,
Y1→b disebelah kiri disebut rekursif kiri contoh : B →Ba
4. A →aS (buat variabel baru Z untuk mengganti “a”) Tahapan Penghilangan Rekursif Kiri
⟹ ZS (sudah menjadi normal chomsky) sehingga : A→ZS , 1.. Psahkan produksi yang rekursif kiri dan yang tidak. produksi
Z→a 5. B →aBB (buat yang rekursif kiri :
variabel baru Q untuk mengganti “aB”) A →Aα1 | Aα2 |..| Aαn
⟹ QB (sudah menjadi normal chomsky) sehingga : B→QB , produksi yang tidak rekursif kiri:
Q→aB (belum normal A →β1 | β2 |..| βn
chomsky) Q →aB (buat variabel baru Q 1untuk mengganti “a”) 2. Tentukan α1..αn dan β1.. βn dari setiap produksi yang
⟹ Q 1B(sudah menjadi normal chomsky) sehingga : Q→Q 1B , memiliki simbol ruas
Q 1→a kiri yang sama
6. B →bS (buat variabel baru R untuk mengganti “b”) 3. Lakukan penggantian aturan produksi yang rekursif kiri,
⟹ RS (sudah menjadi normal chomsky) sehingga : B→RS , menjadi :
R→b a. A →β1Z | β2Z |..| βn Z
Hasil akhir dari normal chomsky : b. Z →α1 | α2 |..| αn
S→WA, W→b S→WA | XB S→XB c. Z →α1Z | α2Z |..| αn Z cat :Z
X→a A →YA | ZS | a merupakan variabel baru yang terbentuk, bisa diganti dengan
A→YA B→QB | RS| b variabel yang lain, namun
Y→Y1A, Y1→b Y→Y1A tidak boleh sama dengan variabel yang telah ada dalam
A→ZS Z→a Q→Q 1B produksi.
B→QB W→b 4. Hasil akhir berupa produksi pengganti ditambah dengan
Q→Q 1BQ 1→a R→b produksi semula yang tidak

B→RS R→b X→a rekursif kiri.


CONTOH
A →a Y1→b S → Sab | Sb | cA
B →b Z→a A→ Aa | a | bd
Q 1→a
Lakuakan penghilangan rekursif kiri:
1. Produksi yang rekursif kiri :
Penghilangan Rekursif Kiri S → Sab | Sb
Produksi Rekursif Merupakan produksi yang mengakibatkan A→ Aa
perulangan terminal /loop Produksi yang tidak rekursif kiri :
sehingga tidak menuju produksi rekursif yang mengakibatkan S → cA
perulangan selalu tumbuh A→ a | bd
2. Untuk produksi S : α1 = ab, α2 = b β1 = cA dengan simbol terminal
Untuk produksi A : α1 = a β1 = a, β2 = bd selanjutnya bisa diikuti dengan simbol variabel
3. Untuk produksi S →Sab | Sb diganti menjadi : Contoh :
a. A → β1Z | β2Z |..| βn Z S→a | aAB
S → cAZ A→a B
b. Z → α1 | α2 |..| αn Pembentukan Bentuk Normal Greibach dengan substitusi
Z → ab | b Syarat : Produksi sudah dalam bentuk Normal Chomsky, tidak

c. Z → α1Z | α2Z |..| αn Z rekursif kiri dan tidak


menghasilkan produksi empty
Z → abZ| bZ
Untuk produksi A→Aa diganti menjadi :
a. A → β1Z | β2Z |..| βn Z
A → aW|bdW
b. Z → α1 | α2 |..| αn
W→ a
c. Z → α1Z | α2Z |..| αn Z
W → aW
Hasil penghilangan produksi rekursif
kiri S → cAZ S → cAZ | cA
Z → ab | b A → aW | bdW | a | bd
Z → abZ| bZ Z→ ab | b | abZ | bZ
A → aW | bdW W → a | a

W→ a
W → aW
S → cA
A→ a | bd

Bentuk Normal Greibach (Greibach Normal Form)


Pengertian Bentuk Normal Greibach Merupakan bentuk normal
pada CFG yang
membatasi posisi munculnya terminal-terminal dan variabel
variabel. dalam bentuk normal
Greibach, bila hasil produksinya (pada ruas kanan) diawali
Contoh
Simbol awal S :
PUSH-DOWN AUTOMATA
S →CA
Push Down Automata (PDA) Merupakan mesin otomata dari
A→ a|d
bahasa bebas konteks.
B→ b
Perbedaan PDA dengan Otomata Hingga terletak pada
C → DD
kemampuan memori. Otomata
D → AB
hingga mempunyai memori yang terbatas, sedangkan PDA
Penyelesaian mempunyai memori yang tidak
Yang belum normal Greibach : terbatas, berupa stack. Stack adalah kumpulan dari elemen-
S →CA elemen sejenis dengan sifat
C → DD penambahan elemen dan pengambilan elemen melalui suatu
D → AB tempat yang disebut top of
1. Tentukan urutan simbol variabel : S, A, B, C, D (S < A < B < stack. Aturan pengisian atau pengeluaran elemen stack
C < D) (urutan bisa menganut sistem LIFO (Last In
berubah sesuai keinginan) First Out). Pengambilan elemen dari stack dikenal dengan

2. Periksa ketentuan urutan variabel : istilah pop. Sedangkan

S → CA (sudah memenuhi, karena S < C) memasukkan elemen ke dalam stack dikenal dengan istilah

C → DD (sudah memenuhi, karena C A) 3.Lakukan substitusi push .


Contoh sebuah stack
pada
D → AB dengan melakukan substitusi pada variabel A sehingga
aturan menjadi : D →
AB ⟹ aB | dB
4. Lakukan substitusi mundur pada aturan yang belum dalam
bentuk normal Greibach
C → DD ⟹ aBD | dBD
S → CA ⟹ aBDA | dBDA
5. Aturan produksi yang sudah dalam bentuk normal Greibach
S → aBDA | dBDA
A→ a|d
B→ b Sebuah PDA dinyatakan dalam 7 tupel:
C → aBD | dBD M = (Q, , , , S, F, Z)
D → aB | dB Q = himpunan state
Σ = himpunan simbol input 2. Tanpa membaca simbol input
Γ = simbol-simbol tumpukan / stack Jenis transisi tanpa membaca input adalah transisi yang
∆ = fungsi transisi dilakukan tanpa membaca
S = state awal, S ∈ Q input atau ∊ Transisi ini memungkinkan PDA memanipulasi isi
F = himpunan final state, F ⊆ Q stack atau berpindah
Z = simbol awal tumpukan / top stack, Z ∊ Г state tanpa membaca input.

Dari komponen diatas dapat disimpulkan bahwa : Definisi untuk Jenis-jenis PDA:

Q, ,Σ S, F sama 1. PDA null stack, yaitu PDA yang melakukan penerimaan input
dengan stack kosong.
dengan yang ada pada otomata hingga. Tupel baru adalah Г, Z
2. PDA final state, yaitu PDA yang melakukan penerimaan
yang berhubungan
input yang pilihan
dengan stack. Δ memiliki kemiripan dengan ઠ pada otomata
transisinya menyebabkan PDA mencapai final state
hingga dengan beberapa
perbedaan.
PDA dapat dianggap sebagai otomata hingga yang dilengkapi
dengan stack. Sebuah PDA
yang menerima input, selain bisa berpindah state juga bisa
melakukan operasi pada
stack. Kondisi atau konfigurasi PDA pada suatu saat
dinyatakan dengan state dan
stack.
Jenis transisi pada PDA;
1. Membaca simbol input Pada PDA yang membaca simbol
input, terdapat sejumlah pilihan yang mungkin,
bergantung pada simbol input, simbol pada top-stack, dan state
. Setiap pilihan terdiri
dari state berikutnya dan simbol-simbol (bisa satu, beberapa,
atau kosong) untuk
mengganti simbol pada top-stack . Penggantian simbol pada
top-stack bisa berupa
push, untuk satu atau beberapa simbol, atau berupa pop untuk
simbol kosong.
Setelah membuat pilihan, kemudian PDA membaca simbol
input berikutnya.
2. PDA untuk suatu tata bahasa bebas konteks
PDA adalah merupakan penerima bahasa-bahasa bebas
konteks, sehingga dari suatu tata
bahasa bebas konteks kita dapat memperoleh sebuah PDA,
begitu juga sebaliknya.
Sebuah PDA bisa dibuat untuk kumpulan aturan Produksi dari
suatu tata bahasa
bebas konteks. Langkah-langkahnya adalah sebagai berikut:
1. Definisikan:
Q = {q1, q2, q3 }
S = q1
F = {q3}
Σ = simbol terminal
Untuk yang berhubungan dengan stack, tentukan :
Γ = semua simbol variabel, simbol terminal, dan Z (simbol awal
stack)
2. Mesin ini dimulai dengan mem -push Z pada top stack. Pada
Dari aturan produksi yang ada, tata bahasa bebas konteks
setiap langkah
tersebut bisa menurunkan
berikutnya dilakukan salah satu dari dua hal berikut:
untai ‘aca’ dari D aDa aca Karena tata bahasa bebas konteks
- Jika top-stack adalah variabel , misal A, kita gantikan dengan
bisa menurunkan
ruas kanan dari A,
string ‘aca’ , maka PDA juga harus dapat menerima untai
misal A w, maka kita ganti dengan w.
tersebut. Langkah
- Jika top-stack adalah terminal, dan sama dengan simbol
masukan berikutnya, maka
kita pop dari stack .
3. Berdasarkan aturan diatas, kita dapat mengkonstruksi empat
tipe transisi berikut.
- Δ (q 1 , ɛ , Z) = {(q 2 , SZ)} untuk mem -push simbol awal (S)
ke stack.
- Δ (q 2 , ɛ , A) = {(q2 , w) | A w adalah sebuah simbol
produksi dalam tata
bahasa bebas konteks itu} untuk semua variabel A.
- Δ (q 2 , a, a) = {(q2 , ɛ )} untuk setiap simbol terminal (untuk
mem -pop
pembandingan terminal yang sama)

- Δ (q 2 , ɛ , Z) = {(q3 , Z)}, bila selesai membaca semua input


dan top-stack
adalah Z, berarti string input sukses diterima oleh PDA (q3
state akhir)
Langkah 1 s.d. 7 dapat juga dinyatakan dalam suatu notasi
yang disebut deskripsi
seketika (instantaneous description). Deskripsi seketika
tersebut digunakan untuk
menyatakan secara formal konfigurasi PDA pada suatu saat.
Perubahan dari suatu
kondisi ke kondisi berikutnya dipisahkan dengan tanda ‘┣’.
Konfigurasi suatu saat
dapat dinyatakan dengan triplet: (q, w, u) Dimana q
menyatakan state, w adalah string
yang belum dibaca, sedangkan u adalah isi stack dengan
simbol terkiri adalah pop-stack

MESIN TURING
Sejarah Mesin Turing
Diusulkan pada tahun 1936 oleh Alan Turing, seorang matematikawan
Inggris sebagai
model matematis sederhana sebuah komputer.Meskipun sederhana, Mesin
Turing memiliki
kemampuan untuk menggambarkan perilaku komputer general-purpose.
1. Mesin Turing dapat digunakan untuk menghitung kelas fungsi bilangan
bulat Ѣ = symbol kosong (blank) (Bukan bagian dari ∑)
yang dikenal sebagai fungsi rekursif sebagian (partial recursive function). Bagian pada pita yang belum ditulisi dianggap berisi symbol Ѣ
2. Sama seperti Finite State Automata dan Push Down Automata yang dapat
mengenali bahasa formal, maka mesin Turing juga dapat berperan sebagai (blank).
mesin Prinsipnya dalam menggerakkan mesin Turing :
pengenal bahasa formal.
3. Bahasa yang dikenali oleh Mesin Turing adalah bahasa tanpapembatasan 1. Lihat state semula dan symbol yang ditunjuk head
(non-restricted language), yang disebut juga himpunan terenumerasi rekursif 2. Berdasar fungsi transisi : tentukan state berikutnya, lakukan
(recursively enumerable set).
penulisan ke
Pada mesin turing “memori” akan berupa pita yang pada dasarnya berupa
array pita, dan gerakkan head ke kanan atau kiri.
(deretan) berupa sel –sel pinyampanan suatu tunggal. Dimana pita tersebut 3. Bila dari pasangan (state, symbol yang di tunjukkan head)
tidak
memiliki sel pertama dan terakhir. Pita dapat memuat informasi dalam jumlah tidak ada lagi
tak transisi, berarti mesinTuring berhenti.
terbatas,dapat diakses bagaian manapun dari pita dengan urutan
4. Bila mesin Turing berhenti didalam state final berarti input di
bagaimanapun. sebuah
Head dapat bergerak kekanan/kekiri untuk membaca input dari pita dan terima,
sekaligus bias sebaliknya input di tolak.
melukan penulisan pada pita/ mengubah isi pita.
Contoh
Misal terdapat mesin Turing :
Q = {q1, q2}

∑ = {a,b}
S = { q1}
F = { q2}
Fungsi transisinya :
δ (q1,a)=( q1,a, R) → dibaca, pada state q1 , head
menunjukkan “a” menjadi state q1 ,
head menuliskan “a” lalu bergerak ke kanan
δ (q1,b)=( q1,a, R) δ(q1, b)=( q2, b, L)
7 TUPEL MESIN TURING Notes: Pergerakan mesin Turing : R = right/kanan, L = left/kiri
M={ Q, ∑, Γ,δ, S,F, b}, dimana : Q=himpunan state head akan menulis Turing tersebut beroperasi (head
∑ = himpunan simbol masukan ditunjukkan oleh ↑)
Γ = himpunan simbol pita yang ditulis atau dibaca ke dalam
pita
δ = fungsi transisi
S =state awal
F = himpunan state akhir
Contoh 2
Q = {q0, q1, q2, q3,q4 }

∑ = {0,1}
Γ = {0,1,X,Y, Ѣ }
S = { q0}
F = { q4} Fungsi transisinya disajikan dalam bentuk table
sebagai berikut
MESIN TURING (2)
Keadaan sebuah Mesin Turing setiap saat dicirikan oleh tiga
hal: 1. Status sekarang (q)
2. Simbol yang sedang diterima/dibaca 3. Posisi head (“nomor
sel” yang sedang dibaca)
pada pita

Jika 2 = a, maka konfigurasi sesaat mesin Turing pada gambar


di atas dapat
dinyatakan secara tekstual oleh deskripsi sesaat
(instantaneous description): α1qα2
yang artinya: - mesin sedang berada pada status q
- α1α2 adalah string yang tertera pada pita
- mesin sedang membaca simbol paling kiri dari α2
Contoh gerakan ke kiri oleh ઠ (p, Xi) = (q, Y, L):
X1X2 ... Xi – 1p Xi Xi +1 ... Xn ├ X1X2 ... qXi – 1 Y Xi + 1 ... Xn
Contoh gerakan ke kanan oleh ઠ (p, Xi) = (q, Y, R):
X1X2 ... Xi – 1p Xi Xi +1 ... Xn ├ X1X2 ...Xi – 1 Y q Xi + 1 ... Xn
Sebuah string (kalimat) diterima oleh mesin Turing M = (Q, Σ ,
Γ, δ, q0, B, F) jika
mesin tersebut mencapai status akhir. Dengan kata lain suatu
kalimat w diterima oleh
M jika terdapat rangkaian deskripsi sesaat:
* q0 w ├ α1 p α2 yang dalam hal ini p ∊ F dan α1α2
Contoh: Q = {q0, q1, q2, q3, q4}, Γ = {0, 1, X, Y, B}, Σ = {0, 1,
B} q0 = q0, F =
{q4}, dan fungsi transisi dinyatakan oleh tabel berikut:
kombinasi dari M1 dan M2 , atau
M3 = M1 M2, dengan konfigurasi :
M3 = (Q3, ∑, Γ, δ3, S3, F3, b)
Dimana : Q3 = Q1 Q1
S3 = S1
F3 = F2
Fungsi transisi dari M3 (δ3) di bentuk sebagai berikut :
1. Semua transisi δ2

LOOP TAK TERHINGGA 2. Transisi-transisi δ1 tidak menuju state-state F1


Loop Tak terhingga merupakan mesin Turing yang berjalan 3. Transisi-transisi δ1 yang menuju state-state F1 diganti
terus tanpa berhenti dan menuju S2
tidak pernah mencapai state final sehingga input selalu di tolak.
Contoh terdapat mesin Turing dengan konfigurasi :
Q = { q1, q2, q3} S = { q1 }
∑ = {a,b} F = { q3}
Γ = {a,b, b}

Kita berikan untuk mesin Turing tesebut input : ‘ab’ (q1, ,ab) |--
(q2, ,ab) |-- (q1 , ,ab)
|-- (q2, ,ab) |-- (q1 , ,ab) |-- ......
Kombinasi Dua Mesin Turing
Syarat : Mesin mendapat masukan dan pita yang sama (∑ dan
Γ sama)
Misalkan saja M1 dan M2 merupakan mesin Turing dengan
konfigurasi :
M1 = (Q1, ∑, Γ, δ1, S1, F1, b)
M2 = (Q2, ∑, Γ, δ2, S2, F2, b)
Kita ingin membuat mesin Turing M3 yang merupakan
RANGKUMAN SISTEM
RANGKUMAN TEORI
OPERASI
BAHASA AUTOMATA

RANGKUMAN SISTEM OPERASI


 BAB 9 (DEADLOCK)
Sumber daya adalah suatu nilai potensi yang dimiliki oleh suatu materi atau
unsur tertentu dalam kehidupan. Sumber daya tidak selalu bersifat fisik, 4.Metode Pemulihan Deadlock
tetapi juga non-fisik (intangible)  Preemption
Untuk sementara waktu menjauhkan sumber daya dari pemakainya, dan
Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak memberikannya pada proses yang lain.
ada komunikasi lagi antar proses.  Melacak Kembali Dibutuhkan langkah untuk kembali pada keadaan
aman dimana proses masih berjalan dan memulai proses lagi.
Syarat Terjadinya Deadlock
1. Mutual Exclusion Condition
2. Hold and Wait Condition  BAB 10 (PENGELOLAAN MEMORI TANPA PAGING)
3. Non-Preemption Condition Fungsi Memori
4. Circular Wait Condition
Metode Mengatasi Deadlock
1.Metode Pencegahan Deadlock (Deadlock Prevention)
a. Meniadakan Mutual Exclusion
b. Meniadakan Hold and Wait
c. Meniadakan Non-preemption
d. Meniadakan Menunggu Sirkular MANAJEMEN MEMORI PADA SISTEM MULTI PROGRAMMING
2. Metode Penghindaran Deadlock (Deadlock Avoidance)
 Proses harus menyatakan seluruh sumber daya maksimum yang
dibutuhkan sebelum eksekusi
 Proses yang menyatakan kebutuhan melewati kapasitas sistem, tidak
akan dieksekusi
 Safe State (State dinyatakan safe state jika tidak deadlock dan MANAJEMEN MEMORI BERDASARKAN KEBERADAAN
terdapat cara untuk memenuhi seluruh permintaan tanpa SWAPPING
menghasilkan deadlock)
 Unsafe State (State dinyatakan unsafe state jika tidak terdapat cara
untuk memenuhi semua permintaan yang tertunda dengan
menjalankan proses-proses sesuai suatu urutan)
3. Metode Deteksi (Deadlock Detection)

Alokasi Memori
1.First-fit Algorithm
Manajer memori menelusuri peta bit atau senarai berkait sampai menemukan
lubang besar yang memadai untuk ditempati proses. Lubang dibagi dua,
untuk proses dan lubang yang tidak digunakan kecuali ketika besar lubang
tepat sama dengan ukuran yang diperlukan proses.
2.Next-fit Algorithm
Penelusuran sama dengan first-fit algorithm, namun dimulai dari posisi
terakhir kali
menemukan segmen untuk proses
3. Best-fit Algorithm
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat
memuat proses.

4. Worst-fit algorithm
Selalu mencari lubang besar yang tersedia.
5. Quick-fit algorithm
Hanya untuk pencatatan pada senarai berkait. Hanya menelusuri senarai
lubang memori bukan di senarai proses

MANAJEMEN MEMORI MONO PROGRAMMING

MULTI-PROGRAMMING DENGAN PEMARTISIAN STATIS

 BAB 12 (PENGELOLAAN MEMORI DENGAN PAGING)


Sistem Paging
Komponen MMU

Manajemen Memori Unit


 BAB 13 (PERTUKARAN/PENGGANTIAN PAGE PADA
MEMORI)

Penggantian Page
BAB 14
 Macam-macam atribut pada berkas
- Nama - Ukuran
- Type - Proteksi
- Lokasi - Waktu, tanggal dan indentifikasi pengguna

 Operasi yang diterapkan pada berkas


- Membuat sebuah berkas - Menempatkan kembali berkas
- Menulis pada sebuah berkas - Menghapus sebuah berkas
- Membaca sebuah berkas - Memendekan berkas

 Informasi terkait dengan pembukaan berkas


 Penunjuk berkas
Pada sistem yang tidak mengikutkan batas berkas sebagai bagian dari
system call baca dan tulis, sistem tersebut harus mengikuti posisi
dimana terakhir proses baca dan tulis sebagai penunjuk.

 Penghitung berkas
Setelah berkas ditutup, sistem harus mengosongkan kembali tabel
berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di
tabel akan habis.
 Lokasi berkas
Kebanyakan operasi pada berkas memerlukan sistem untuk
mengubah data yang ada pada berkas

 Metode alokasi pada system berkas


a. Alokasi secara bersamaan berdampingan
Metode ini menempatkan setiap berkas pada satu himpunan blok
yang berurut di dalam disk. Alamat disk menyatakan sebuah urutan
linier. Dengan urutan linier ini maka head disk hanya bergerak jika
mengakses dari sektor terakhir suatu silinder ke sektor
pertama silinder berikutnya
b. Alokasi secara berangkai
Metode ini menyelesaikan semua masalah yang terdapat pada
contiguous allocation. Dengan metode ini, setiap berkas merupakan
linked list dari blok-blok disk, dimana blokblok disk dapat tersebar
di dalam disk. Setiap direktori berisi sebuah penunjuk (pointer) ke
awal dan akhir blok sebuah berkas
c. Alokasi dengan indeks
 BAB 15
Metode alokasi dengan berangkai dapat menyelesaikan masalah yang khusus pada disk dan menyimpannya di memori. Blok pertama
fragmentasi eksternal dan pendeklarasian ukuran dari metode alokasi ini menyimpan pointer ke blok kosong berikutnya dan seterusnya
berdampingan  Grouping
Modifikasi lainnya adalah dengan menyimpan alamat dari n blok
 Operasi pada direktori kosong pada blok
- Mencari berkas - Menampilkan isi direktori kosong pertama. Pada n-1 pertama dari blok-blok ini adalah kosong.
- Membuat berkas - Mengganti nama berkas Blok terakhir
- Menghapus berkas - Melintasi system berkas menyimpan alamat n blok kosong lainnya dan seterusnya
 Counting
 Tipe akses pada berkas Pendekatan lain adalah dengan mengambil keuntungan dari fakta
- Read bahwa beberapa
Membaca dari berkas blok yang berkesinambungan akan dialokasikan atau dibebaskan
- Write secara simultan
Menullis berkas
- Execute  Implementasi dari sebuah direktori dalam disk
Meload berkas kedalam memori untuk dieksekusi  Linear list
- Append Metode paling sederhana dalam mengimplementasikan sebuah
Menambahkan informasi kedalam berkas di akhir berkas direktori adalah dengan menggunakan linear list dari nama berkas
- Delete dengan penunjuk ke blok data. Linear list dari direktori memerlukan
Menghapus berkas. pencarian searah untuk mencari suatu direktori didalamnya.
 Hash table
- List
Struktur data lainnya yang juga digunakan untuk direktori berkas
Mendaftar properti dari sebuah berkas
adalah hash table. Dalam metode ini linear list menyimpan direktori,
- Rename
tetapi struktur data hash juga digunakan. Hash table mengambil nilai
Mengganti nama sebuah berkas.
yang dihitung dari nama berkas dan mengembalikan sebuah
- Copy
penunjuk ke nama berkas yang ada di-linear list. Maka dari itu dapat
Menduplikasikan sebuah berkas.
memotong banyak biaya pencarian direktori.
- Edit
Mengedit sebuah berkas
 Keunggulan dari system berkas UNIX dengan system berkas pada
windows
 Cara mengatur free space
 UNIX
 Menggunakan bit vector
- EXT 2
Seringnya daftar raung kosong diimplementasikan sebagai bit map
merupakan file system yg cukup ampuh di LINUX. Dan salah satu
atau bit vektor. Tiap blok direpresentasikan sebagai 1 bit. Jika blok
file system yg paling ampuh, menjadi dasar segala suatu distribusi
tersebut kosong maka isi bitnya 1 dan jika bloknya sedang
LINUX.
dialokasikan maka isi bitnya 0
- EXT 3
 Linked list
merupakan suatu peningkatan dari EXT2. Peningkatannya
Pendekatan lain adalah untuk menghubungkan semua blok yang
mempunyai keuntungan keuntungan, diantaranya : jika sesudah
kosong, menyimpan pointer ke blok pertama yang kosong di tempat
kegagalan sumber daya unclean shutdown, ataupun kerusakan pada
system, EXT 2 harus melewati proses pengechekan dgn suatu
program e2fsck.
- EXT 4
Jika pada EXT 4 dirilis komplit & stabil dan berawal dr kernel 2 6
28, maka apabila distro yg secara default mempunyai versi suatu
kernel tersebut ataupun diatasnya akan otomatis system dapat
support EXT 4 (Sudah include dlm kernel).
- JFS (Journaling file system)
Sistem File journal atau JFS adalah 64-bit filesystem journal yang
diciptakan oleh IBM . Implementasi untuk kernel Linux tersedia
sebagai perangkat lunak gratis dibawah ketentuan dari GNU General
Public License (GPL).
 Windows
- FAT 16
FAT16 adalah sebuah file system yang kompatibel hampir di semua
Operating System baik itu Windows 95/98/me, OS/2 , Linux dan
bahkan Unix.
- FAT32
FAT32 menawarkan kemampuan menampung jumlat cluster yang
lebih besar dalam partisi.
- NTFS
NTFS menawarkan security yang jauh lebih baik , kompresi file ,
cluster dan bahkan support enkripsi data.

 Langkah-langkah dalam proses backup


1) Salin ke tempat penyimpanan back up semua berkas dari disk,
disebut sebuah full backup.
2) Salin ke tempat penyimpanan lain semua berkas yang berubah sejak
hari 1, disebut incremental backup.
3) Salin ke tempat peyimpanan lain semua berkas yang berubah sejak
hari 2
4) salin ke tempat penyimpanan lain semua berkas yang berubah sejak
hari N1, lalu kembali ke hari 1.

Anda mungkin juga menyukai