Back to Latihan UAS IF3140

Problem Set: Concurrency Control (Paket B)

Mata Pelajaran: Sistem Basis Data

Estimasi Waktu: 120 Menit

Total Nilai: 100 Poin

Tujuan Pembelajaran

Setelah menyelesaikan paket soal ini, mahasiswa diharapkan dapat:

  1. Melakukan tracing perolehan kunci dan manajemen antrian (Blocking Queue) pada protokol Two-Phase Locking.

  2. Menerapkan mekanisme perolehan kunci top-down pada struktur pohon data yang kompleks.

  3. Menganalisis interaksi kunci niat (Intention Locks) pada hirarki data Multiple Granularity.

  4. Mengevaluasi jadwal transaksi menggunakan Timestamp Ordering dan Thomas’ Write Rule.

  5. Memahami fase eksekusi pada protokol berbasis validasi dan multiversion.

SOAL 1: 2PL & Transaction Manager Logic (25 Poin)

Diberikan urutan kedatangan operasi dari 3 transaksi () sebagai berikut:

Urutan:

Aturan Transaction Manager:

  1. Gunakan Rigorous Two-Phase Locking.

  2. Operasi diproses berdasarkan urutan kedatangan.

  3. Jika transaksi terblokir (menunggu lock), semua operasi berikutnya dari transaksi tersebut masuk ke Blocking Queue.

  4. Saat transaksi yang terblokir aktif kembali, operasi di antriannya mendapat prioritas utama sebelum melayani urutan kedatangan baru.

Pertanyaan:

Tuliskan schedule eksekusi yang dihasilkan, mencakup perolehan lock (), pelepasan lock (), dan status Blocking Queue. Berikan penjelasan untuk setiap langkahnya.

SOAL 2: Tree Protocol - University System (15 Poin)

Perhatikan struktur data hirarkis berikut yang merepresentasikan data universitas:

graph TD
    UNIV[Universitas] --> FAK[Fakultas_Teknik]
    UNIV --> ADM[Administrasi_Pusat]
    FAK --> PRODI[Prodi_Informatika]
    FAK --> LAB[Lab_Riset]
    PRODI --> MHS[Data_Mahasiswa]
    PRODI --> KUR[Kurikulum]
    LAB --> ALAT[Inventaris_Alat]

i. Prosedur Lock:

Tuliskan urutan instruksi dan yang valid sesuai Tree Protocol untuk transaksi berikut:

  • T4: Memperbarui Kurikulum dan Inventaris_Alat.

  • T5: Membaca data pada Data_Mahasiswa dan memperbarui Inventaris_Alat.

ii. Karakteristik:

Jelaskan perbedaan mendasar antara cara pelepasan kunci (unlock) pada Tree Protocol dibandingkan dengan protokol 2PL standar.

SOAL 3: Multiple Granularity - E-Commerce (20 Poin)

Hirarki data: Database (DB) Store (S) Category (C) Product (P).

Terdapat Toko “Elektronik-X” yang memiliki kategori “Smartphone”. Kategori ini memiliki ribuan produk.

Skenario:

  1. Transaksi T6 sedang melakukan update harga pada seluruh produk di kategori “Smartphone”.

  2. Transaksi T7 ingin membaca spesifikasi satu produk spesifik (misal: P-001) yang berada di bawah kategori “Smartphone”.

  3. Transaksi T8 ingin melakukan pengecekan stok pada seluruh produk di Toko “Elektronik-X”.

Pertanyaan:

i. Tentukan jenis kunci () paling efisien yang harus dimiliki pada level Category dan Product.

ii. Tuliskan daftar perolehan kunci lengkap untuk T7 dan T8.

iii. Berdasarkan matriks kompatibilitas, apakah T7 harus menunggu T6? Bagaimana dengan T8 terhadap T6? Jelaskan.

SOAL 4: Timestamp Ordering & Thomas’ Write Rule (20 Poin)

Diberikan schedule sebagai berikut:

Schedule S:

Asumsikan . Nilai awal dan adalah 0.

Pertanyaan:

i. Lakukan tracing eksekusi menggunakan Basic Timestamp Ordering. Transaksi mana yang mengalami abort?

ii. Jika sistem menerapkan Thomas’ Write Rule, apakah ada perbedaan nasib transaksi? Jelaskan mekanismenya pada operasi jika sudah dilakukan lebih dulu.

SOAL 5: Validation & Multiversion Schemes (20 Poin)

i. Validation-Based Protocol:

Lakukan tracing untuk schedule: .

Tentukan apakah lolos fase validasi jika . Gunakan kriteria irisan Read Set dan Write Set.

ii. Multiversion 2PL:

Jelaskan keuntungan mekanisme pembacaan pada Multiversion 2PL untuk transaksi yang bersifat Read-Only. Mengapa transaksi Read-Only pada protokol ini dijamin tidak akan pernah menunggu lock dari transaksi Update?

Tips Strategi:

  • Fokus pada Blocking Queue di Soal 1, karena urutan eksekusi berubah total setelah pelepasan kunci.
  • Pada Soal 3, perhatikan bahwa mengunci level yang terlalu tinggi bisa mematikan konkurensi, tapi level terlalu rendah meningkatkan overhead.