Back to Latihan UAS IF3140

Problem Set: Concurrency Control (Paket D - Advanced)

Mata Pelajaran: Sistem Basis Data

Estimasi Waktu: 120 Menit

Total Nilai: 100 Poin

BAGIAN I: Pilihan Ganda (20 Soal - 40 Poin)

Pilihlah satu jawaban yang paling tepat.

  1. Dalam protokol Rigorous 2PL, kapankah sebuah transaksi diizinkan untuk melepaskan kunci Shared (S) yang dipegangnya?

    a. Segera setelah operasi read selesai.

    b. Setelah transaksi masuk ke Shrinking Phase.

    c. Hanya setelah transaksi melakukan commit atau abort.

    d. Setelah transaksi mendapatkan kunci terakhir yang dibutuhkannya (Lock Point).

  2. Transaksi memegang kunci SIX pada Tabel Karyawan. Transaksi ingin melakukan read pada satu baris spesifik di tabel tersebut. Jenis kunci apa yang diminta dan apakah dikabulkan?

    a. , dikabulkan karena SIX menyertakan hak akses S secara implisit.

    b. , dikabulkan karena kompatibel dengan komponen IX dari SIX.

    c. , ditolak karena komponen IX pada SIX tidak mengizinkan akses S.

    d. , dikabulkan untuk tujuan pembacaan konkuren.

  3. Pada Tree Protocol, jika transaksi ingin mengunci node , syarat utama yang harus dipenuhi adalah…

    a. harus memegang kunci pada seluruh jalur dari root hingga .

    b. harus memegang kunci pada parent langsung dari node .

    c. belum pernah melakukan unlock pada node manapun.

    d. Node adalah root atau anak langsung dari root.

  4. Manakah anomali yang TIDAK dapat dicegah oleh tingkat isolasi REPEATABLE READ pada standar SQL, namun dapat dicegah oleh SERIALIZABLE?

    a. Dirty Read.

    b. Non-repeatable Read.

    c. Phantom Read.

    d. Lost Update.

  5. Dalam Basic Timestamp Ordering, jika saat mencoba melakukan read(Q), maka tindakan DBMS adalah…

    a. Operasi diabaikan (ignored) dan lanjut.

    b. di-abort karena mencoba membaca nilai yang sudah ditimpa transaksi lebih muda.

    c. menunggu hingga transaksi pembuat melepaskan kunci.

    d. diperbarui menjadi untuk mencatat pembacaan lama.

  6. Thomas’ Write Rule memberikan pengecualian pada operasi write yang usang. Kondisi manakah yang memicu pengabaian operasi write tersebut?

    a. .

    b. .

    c. .

    d. .

  7. Pada Validation-Based Protocol, fase manakah yang menyalin hasil penulisan dari variabel lokal ke basis data yang sebenarnya?

    a. Read Phase.

    b. Validation Phase.

    c. Write Phase.

    d. Execution Phase.

  8. Dalam Snapshot Isolation, anomali Write Skew terjadi karena…

    a. Dua transaksi menulis ke item data yang sama secara bersamaan.

    b. Transaksi membaca data kotor dari transaksi lain yang belum commit.

    c. Dua transaksi membaca data yang sama, namun menulis ke item data berbeda yang saling terkait secara logika.

    d. Transaksi gagal memvalidasi Read Set terhadap Write Set transaksi lain.

  9. Protokol Multiversion 2PL memberikan keuntungan bagi transaksi Read-Only berupa…

    a. Prioritas tinggi dalam antrian kunci.

    b. Tidak pernah membutuhkan kunci (lock) sama sekali karena menggunakan versi lama.

    c. Dapat meng-upgrade kunci S menjadi X secara otomatis.

    d. Selalu membaca versi data terbaru meskipun belum di-commit.

  10. Pada hirarki Multiple Granularity, aturan pelepasan kunci (unlock) harus dilakukan secara…

    a. Top-Down (dari Database ke Record).

    b. Bottom-Up (dari Record ke Database).

    c. Berurutan sesuai dengan urutan perolehan kunci.

    d. Bebas selama mematuhi aturan fase shrinking.

  11. Skenario: dan . melakukan write(A). Kemudian melakukan read(A) dan commit. Jika kemudian abort, maka harus di-rollback. Ini disebut…

    a. Deadlock.

    b. Cascading Rollback.

    c. Starvation.

    d. Livelock.

  12. Dalam MVCC, jika ingin melakukan read(Q), versi mana yang dipilih oleh sistem?

    a. Versi paling lama yang tersedia.

    b. Versi dengan terbesar yang nilainya .

    c. Versi dengan terkecil.

    d. Versi yang paling baru di-commit oleh transaksi manapun.

  13. Mengapa Validation-Based Protocol disebut sebagai skema Optimistic?

    a. Karena mengasumsikan transaksi akan selalu berhasil.

    b. Karena tidak melakukan pengecekan konflik hingga transaksi siap untuk commit.

    c. Karena mengizinkan pembacaan data tanpa lock internal.

    d. Karena mempercepat performa tulis di atas performa baca.

  14. Pada Tree Protocol, kunci yang sudah dilepaskan oleh sebuah transaksi…

    a. Dapat diminta kembali selama transaksi memegang kunci pada parent-nya.

    b. Tidak boleh diminta kembali oleh transaksi yang sama pada node tersebut maupun turunannya.

    c. Otomatis akan menyebabkan transaksi di-abort jika meminta kunci baru.

    d. Berarti transaksi tersebut telah menyelesaikan seluruh operasinya.

  15. Manakah kombinasi kunci niat berikut yang bersifat KOMPATIBEL pada node yang sama?

    a. IX dan S.

    b. SIX dan IX.

    c. IS dan IX.

    d. X dan IS.

  16. Skenario: Transaksi menghitung jumlah baris dengan dept=‘Riset’. Transaksi melakukan INSERT data baru pada dept=‘Riset’ dan COMMIT. Saat menghitung ulang, hasilnya berbeda. Fenomena ini disebut…

    a. Dirty Read.

    b. Non-repeatable Read.

    c. Phantom Problem.

    d. Lost Update.

  17. Mekanisme penguncian pada rentang indeks (misal: semua record dengan nilai ‘Riset’) untuk mencegah masuknya data baru yang memenuhi kriteria kueri disebut…

    a. Record-Level Locking.

    b. Index-Range Locking.

    c. Predicate Locking.

    d. Gap Locking.

  18. Di antara level isolasi berikut, manakah yang merupakan level paling lemah dan mengizinkan pembacaan data yang belum di-commit (Dirty Read)?

    a. READ COMMITTED.

    b. REPEATABLE READ.

    c. READ UNCOMMITTED.

    d. SERIALIZABLE.

  19. Standar level isolasi READ COMMITTED menjamin bahwa…

    a. Data yang dibaca tidak akan berubah selama transaksi berlangsung.

    b. Tidak akan ada baris baru yang muncul saat kueri diulang.

    c. Transaksi hanya membaca data yang sudah berhasil di-commit.

    d. Tidak akan terjadi konflik tulis-tulis antar transaksi.

  20. Fenomena Non-repeatable Read terjadi ketika…

    a. Transaksi membaca data yang dihapus transaksi lain.

    b. Transaksi membaca nilai yang berbeda pada baris yang sama karena transaksi lain melakukan UPDATE dan COMMIT.

    c. Transaksi membaca data yang belum di-commit oleh transaksi lain.

    d. Transaksi gagal menulis data karena kunci dipegang oleh transaksi hantu.

BAGIAN II: Benar atau Salah (10 Soal - 20 Poin)

Tentukan apakah pernyataan berikut Benar (B) atau Salah (S).

  1. Protokol Strict 2PL dirancang khusus untuk memastikan sistem bebas dari Cascading Rollback.

  2. Pada Tree Protocol, transaksi diperbolehkan melakukan penguncian pertama pada node mana pun, tidak harus dari root.

  3. Dalam skema Multiversion Timestamp Ordering, operasi read dijamin tidak akan pernah menyebabkan transaksi di-abort.

  4. Kunci SIX pada level Tabel memberikan izin baca eksplisit di level tabel tersebut dan izin tulis di level baris di bawahnya.

  5. Thomas’ Write Rule menjamin jadwal yang dihasilkan selalu bersifat Conflict Serializable.

  6. Pada Validation-Based Protocol, urutan serialisasi transaksi ditentukan oleh waktu saat transaksi dimulai (Start(Ti)).

  7. Snapshot Isolation mampu mencegah fenomena Non-repeatable Read dengan memberikan “foto” database yang konsisten.

  8. Untuk mendapatkan kunci X pada level Record, transaksi wajib memegang kunci IX atau SIX pada seluruh leluhur (ancestor) record tersebut.

  9. Protokol 2PL dasar dijamin aman dari kondisi saling tunggu atau deadlock.

  10. Pada MVCC, versi lama dari data segera dihapus begitu ada transaksi baru yang melakukan write pada data tersebut.

BAGIAN III: Matriks Berganda (10 Soal - 40 Poin)

Instruksi: Analisislah skenario/tabel berikut dengan teliti.

Matriks 1: Kompatibilitas Kunci (Poin: 20)

Berikan tanda V (Kompatibel) atau X (Konflik) pada permintaan kunci berikut jika node sedang dipegang oleh transaksi lain:

Status (Held) \ RequestISIXSSIXX
IS(31)(32)(33)(34)(35)
SIX(36)(37)(38)(39)(40)

Matriks 2: Matriks Perbandingan Protokol (Studi Kasus Analitis)

Tentukan apakah karakteristik berikut dimiliki oleh protokol terkait (Isi dengan “Ya” atau “Tidak”).

Fitur / ProtokolRigorous 2PLTree ProtocolTimestamp OrderingValidation
Menjamin Conflict Serializability
Menjamin Bebas Deadlock
Menahan seluruh kunci hingga Commit
Memungkinkan Abort di fase Validasi

Kunci Jawaban & Pembahasan Paket D

Bagian I: Pilihan Ganda

  1. c (Rigorous 2PL menahan kunci S dan X hingga transaksi selesai).

  2. a (SIX memiliki hak baca di level tersebut, sehingga request S dikabulkan).

  3. b (Syarat penguncian rekursif pada Tree Protocol).

  4. c (Repeatable read mencegah perubahan nilai, tapi tidak mencegah penambahan baris).

  5. b (Aturan Read-TO: TS(Ti) < W-TS(Q) berarti data terlalu baru bagi Ti).

  6. b (Aturan Thomas untuk write usang: TS(Ti) < W-TS(Q)).

  7. c (Fase fisik pembaruan basis data).

  8. c (Interaksi antar variabel yang tidak terdeteksi oleh validasi tulis-tulis SI).

  9. b (Keunggulan utama pembacaan versi tanpa lock).

  10. b (Aturan protokol MG untuk efisiensi sistem).

  11. b (Definisi ketergantungan rollback).

  12. b (Logika pemilihan versi pada MVCC).

  13. b (Karena pengecekan ditunda hingga akhir).

  14. b (Aturan “No-Revisit” pada Tree Protocol).

  15. c (Niat baca dan niat tulis tidak konflik di level atas).

  16. c (Munculnya baris hantu dari transaksi konkuren).

  17. b (Solusi untuk mencegah anomali Phantom).

  18. c (Level paling permisif dalam SQL).

  19. c (Fungsi dasar dari tingkat isolasi ini).

  20. b (Nilai baris yang sama berubah karena pembaruan oleh transaksi lain).

Bagian II: Benar atau Salah

  1. B (Strict mencegah Dirty Read yang memicu cascading).

  2. B (Aturan Tree Protocol: lock pertama bebas).

  3. B (Karena sistem selalu mencarikan versi lama yang sesuai).

  4. B (Definisi SIX: S di node tersebut, IX di bawahnya).

  5. S (Thomas Rule menjamin View Serializability, bukan Conflict).

  6. S (Ditentukan oleh waktu masuk fase validasi: Validation(Ti)).

  7. B (Setiap kueri dalam satu transaksi SI melihat data yang sama).

  8. B (Aturan protokol Multiple Granularity).

  9. S (2PL rentan terhadap deadlock karena mekanisme tunggu).

  10. S (Versi lama tetap disimpan selama masih ada transaksi aktif yang membutuhkannya).

Bagian III: Matriks (Ringkasan)

  • Matriks 1: 31-34 (V), 35 (X), 36 (V), 37-40 (X).

  • Matriks 2:

    Fitur / ProtokolRigorous 2PLTree ProtocolTimestamp OrderingValidation
    Menjamin Conflict SerializabilityYaYaYaYa
    Menjamin Bebas DeadlockTidakYaYaYa
    Menahan seluruh kunci hingga CommitYaTidakTidakTidak
    Memungkinkan Abort di fase ValidasiTidakTidakTidakYa

Strategi Lanjutan: Perhatikan bahwa pada tingkat Advanced, pemahaman Anda mengenai perbedaan antara Conflict Serializability dan View Serializability (seperti pada Thomas’ Write Rule) sangat krusial. Selain itu, kuasai perbedaan antara level isolasi Repeatable Read dan Snapshot Isolation karena sering terjadi tumpang tindih konsep.