1. 1. Ubahlah Tata Bahasa Konteks berikut ini kedalam Bentuk Normal Chomsky ( BNC ) :
[Bobot: 25]
a. A → aA | CD | FB
3 → bCC | dA | c
C → eFA | BB | a
D → dC | b
F → hFA | f
b. S → aBab
4 → bAB | ε
C → BAa | A | ε
2. Lakukan penghilangan Rekursif Kiri pada tata bahasa bebas konteks berikut ini :
[Bobot: 20]
A → Abc | DAB | Aea
B → Baa | cBd | BDc
C → CAA| cCb |fb
D → adf | Dha | dd
3. Diketahui konfigurasi sebuah Push Down Automata dibawah ini: [Bobot: 30]
Q = {q0, q1,q2}
∑ = { a, b, c }
г = { A,B,Z}
Z = Z
S = q0
F = q2
∆ { q0, a,Z } = {q0,AZ}
∆ { q0,b,Z } = {q0,BZ }
∆ { q0,a,A } = {q0,AA}
∆ { q0,b,A} = { q0,BA}
∆ { q0,a,B} = { q0,AB}
∆ { q0,b,B} = { q0,BB}
∆ { q0,c,Z} = { q1,Z }
a. Buktikan apakah PDA diatas dapat menerima string input “bbacab”?
b. Berikan dan buktikan string yang ditolak pada pada PDA tersebut?
4. Diketahui mesin Turing dengan konfiguras: [Bobot: 25]
Q = {q0, q1,q2,q3,q4}
∑ = { a, b}
г = { a,b,X,Y,b }
S = q0
F = q4
Dengan fungsi transisi sebagai berikut :
5(qo,a) = (q1,X,R)
5(qo,Y)= (q3,Y,R)
5(q1,a) = (q1,a,R)
5(q1,b) = (q2,Y,L)
5(q1,Y) = (q1,Y,R)
5(q2,a) = (q2,a,L)
5(q2,X) = (q0,X,R)
5(q2,Y) = (q2,Y,L)
5(q3,Y) = (q3,Y,R)
5(q3,b) = (q4, b, L)
Tunjukkanlah bahwa mesin turing dapat menerima string “aabb”?
∆ { q0,c,A} = { q1,A}
∆ { q0,c,B} = { q1,B}
∆ { q1,a,A} = { q1,ε}
∆ { q1,b,B} = { q1,ε}
∆ { q1,ε,Z} = { q2,Z}
2.
3.
4.
5.
6.
7.
8. Ubahlah Tata Bahasa Konteks berikut ini kedalam Bentuk Normal Chomsky ( BNC )
S → xY | Ws | SX
W→ w | y
X → xW | yX | x
Y → YY | Sy
1. Lakukan penghilangan Rekursif Kiri pada tata bahasa bebas konteks berikut ini
a. A → aBa | AbC | a
B → Bdc | bb | Ba
C → aCa | Cbc | abc
b. S → ScS | aSb | SAa | aSa
A → aAS | Aba | Aa | ɛ
2. Buatlah Bentuk Normal Greibach ( BNG) pada tata bahasa bebas konteks berikut ini
a. S → AD
A → BC
B → b | c
C → AB
D → a
b. S → BS | c
A → a | b
B → CD | e
C → BD
D → d
3. Q = {q0, q1}
∑ = { a, b }
г = { a,b,Z}
S = q0
Z = Z
F = {q0 }
Memiliki Fungsi Transisi sebagai berikut :
∆ { q0, a,Z } = { q1,aZ}
∆ { q1, a,a } = { q1, aa }
∆ { q1, b,a } = { q1, ɛ }
∆ { q1, ɛ,Z } = { q0, Z }
apakah jika String adalah “ abab & aabb “ diterima pada Mesin Push Down Automata
9. 1. Wait-for-Graph dari kondisi yang diberikan akan terlihat seperti ini:
P1 -> R1, R2
P2 -> R3
P3 -> R4
R1 -> P1
R2 -> P3
R3 -> P2
R4 -> P3
Dari Wait-for-Graph tersebut, dapat dilihat bahwa P1 memegang R1 dan R2, dan
meminta R3; P2 memegang R3, dan meminta R4; P3 memegang R4 dan meminta
R2.
Dalam kondisi ini, terdapat cycle antara P1, R3, P2, R4, dan P3. Hal ini
menunjukkan bahwa terdapat Deadlock.
Analisa:
Deadlock dapat terjadi karena P1, P2, dan P3 tidak dapat melanjutkan prosesnya
karena sumber daya yang diminta tidak tersedia. P1 tidak dapat melanjutkan
prosesnya karena R3 tidak tersedia, P2 tidak dapat melanjutkan prosesnya karena
R4 tidak tersedia, dan P3 tidak dapat melanjutkan prosesnya karena R2 tidak
tersedia. Kondisi ini akan menyebabkan proses-proses tersebut tidak dapat
dijalankan dan mengakibatkan Deadlock
2. Relokasi dan proteksi pada multi-programming dengan pemartisian statis
berkaitan dengan cara sistem operasi mengelola memori dalam sistem komputer
dengan beberapa program yang berjalan secara bersamaan. Relokasi adalah
proses menempatkan program ke dalam memori, sedangkan proteksi adalah
mekanisme yang digunakan untuk mencegah salah satu program dari mengakses
atau merusak program lain atau memori sistem.
Pemartisian statis adalah metode pemartisian memori dimana program
ditempatkan pada memori saat sistem operasi diinstal dan tidak dapat digeser
atau diubah selama program berjalan. Ini berarti bahwa setiap program harus
memiliki ruang memori yang cukup dan tidak boleh berkonflik dengan program
lain.
Relokasi digunakan untuk menempatkan program ke dalam memori saat program
dijalankan, dan proteksi digunakan untuk mencegah program dari mengakses
atau merusak program lain atau memori sistem. Dengan pemartisian statis,
relokasi tidak diperlukan karena program sudah ditempatkan pada memori saat
sistem operasi diinstal. Namun, proteksi masih diperlukan untuk mencegah
program dari mengakses atau merusak program lain atau memori sistem
3. Ada beberapa algoritma yang digunakan dalam konsep page replacement, di
antaranya adalah:
A. First-In-First-Out (FIFO): Algoritma ini menggantikan halaman yang pertama
kali masuk ke memori. Ini adalah algoritma yang paling sederhana, tetapi juga
yang paling tidak efisien.
B. Least Recently Used (LRU): Algoritma ini menggantikan halaman yang tidak
digunakan dalam waktu yang lama. Ini adalah algoritma yang lebih efisien
daripada FIFO, tetapi memerlukan mekanisme untuk melacak halaman yang
digunakan paling baru-baru ini.
C. Optimal: Algoritma ini menggantikan halaman yang tidak akan digunakan
dalam waktu yang akan datang. Ini adalah algoritma yang paling efisien, tetapi
10. tidak mungkin dilakukan karena tidak mungkin untuk mengetahui halaman yang
akan digunakan dalam waktu yang akan datang dengan pasti.
D. Clock: Algoritma ini menggunakan pointer yang menunjukkan halaman yang
akan digantikan. Halaman yang digantikan adalah halaman yang ditunjuk pointer
saat ini. Algoritma ini mirip dengan FIFO, tetapi memiliki mekanisme untuk
mengatasi masalah pengulangan.
E. Not Recently Used (NRU): Algoritma ini menggantikan halaman yang tidak
digunakan dalam waktu yang lama dan juga tidak digunakan saat ini. Algoritma ini
lebih efisien daripada FIFO dan LRU.
Pilihan algoritma yang digunakan tergantung pada kondisi sistem dan kebutuhan
aplikasi. Namun, algoritma LRU dan Clock dianggap sebagai algoritma yang paling
efektif dan banyak digunakan dalam sistem operasi modern.
4. Suatu sistem operasi memiliki strategi penggantian frame dengan algoritma
LRU (Least Recently Used). Diberikan referensi page dan jumlah page frame 3
pada tabel di bawah ini, tentukan:
a. Tentukan nilai yang dimiliki oleh setiap page frame !
b. Tentukan jumlah page fault yang terjadi!
referensi 5 1 0 3 0 4 1
page
frame 1 5 5 5 3 3 3 3
page
frame 2 1 1 1 1 4 4
page
frame 3 0 0 0 0 2
page fault X X X X V X X
5. Jika permission yang dimiliki oleh sebuah file adalah –rwxr-xrw-. Tuliskanlah
perintah untuk merubah permission file tersebut menjadi sebagai berikut: User
memiliki permission membaca dan menulis, Group memiliki permission terbuka
semua, sedangkan Others memiliki permission membaca dan menjalankan!
Jawab : chmod 755 namafile
6. Untuk mengatasi masalah proteksi berkas, beberapa pendekatan yang
digunakan adalah:
A. Enkripsi: Enkripsi digunakan untuk mengamankan berkas dengan mengubah
berkas yang tidak dapat dibaca menjadi berkas yang dapat dibaca hanya dengan
menggunakan kunci enkripsi yang sesuai. Ini adalah pendekatan yang efektif
untuk mengamankan berkas yang sensitif dan menjaga privasi data.
B. Permission: Permission digunakan untuk mengatur akses berkas dengan
memberikan atau menolak akses ke berkas tersebut kepada pengguna atau grup
tertentu. Ini adalah pendekatan yang efektif untuk mengatur hak akses berkas
dalam lingkungan berbagi berkas.
C. Firewall: Firewall digunakan untuk membatasi akses ke berkas dari luar jaringan
dengan mengatur aturan akses yang sesuai. Ini adalah pendekatan yang efektif
untuk mengamankan berkas dari serangan jaringan.
D. Backup : Backup adalah pendekatan yang digunakan untuk menyimpan salinan
berkas yang dapat digunakan untuk memulihkan berkas yang hilang atau rusak.
Ini adalah pendekatan yang efektif untuk mengamankan berkas dari kehilangan
data.
E. Antivirus : Antivirus digunakan untuk mengamankan berkas dari serangan virus
atau malware. Ini adalah pendekatan yang efektif untuk mengamankan berkas
dari serangan berbahaya.
F. Auditing: Auditing digunakan untuk melacak dan mencatat aktivitas yang
terjadi pada berkas. Ini adalah pendekatan yang efektif untuk mengamankan
berkas dari akses yang tidak sah dan untuk mengidentifikasi masalah yang
mungkin terjadi.
Pendekatan yang dipilih tergantung pada tingkat keamanan yang diinginkan dan
jenis berkas yang akan dilindungi. Beberapa pendekatan dapat digabungkan
untuk memberikan perlindungan yang lebih kuat. Namun, dalam konteks yang
lebih luas, keamanan berkas juga tergantung pada infrastruktur IT yang
digunakan, serta pemeliharaan sistem yang baik.
11. 1. Jika P merupakan sebuah proses dan R adalah sumber daya yang dimiliki.
Gambarkan Wait-for-Graph untuk kondisi P1 memegang sumber daya R1
dan R2, meminta R3; P2 memegang R3, meminta R4; P3 memegang R4
dan meminta R2! Berikan analisa anda dapatkah terjadi Deadlock atau
tidak Deadlock pada kondisi tersebut? Uraikan penjelasannya jika
Deadlock atau tidak Deadlock!
Jawaban:
Wait-for-Graph dari kondisi yang diberikan akan terlihat seperti ini:
P1 -> R1, R2
P2 -> R3
P3 -> R4
R1 -> P1
R2 -> P3
R3 -> P2
R4 -> P3
Dari Wait-for-Graph tersebut, dapat dilihat bahwa P1 memegang R1 dan
R2, dan meminta R3; P2 memegang R3, dan meminta R4; P3 memegang
R4 dan meminta R2.
Dalam kondisi ini, terdapat cycle antara P1, R3, P2, R4, dan P3. Hal ini
menunjukkan bahwa terdapat Deadlock.
Analisa:
Deadlock dapat terjadi karena P1, P2, dan P3 tidak dapat melanjutkan
prosesnya karena sumber daya yang diminta tidak tersedia. P1 tidak
dapat melanjutkan prosesnya karena R3 tidak tersedia, P2 tidak dapat
melanjutkan prosesnya karena R4 tidak tersedia, dan P3 tidak dapat
melanjutkan prosesnya karena R2 tidak tersedia. Kondisi ini akan
menyebabkan proses-proses tersebut tidak dapat dijalankan dan
mengakibatkan Deadlock