Contoh Penangangan Masalah Concurrency Control

melakukan perubahan dan transaksi yang kedua melakukan analisis sehingga data yang diperoleh menjadi tidak konsisten.

2.2.5.3. Contoh Penangangan Masalah Concurrency Control

Di bawah ini merupakan contoh-contoh untuk menangani masalah concurrency control : Gambar 2. 5Mencegah Lost Update Problem menggunakan 2PLConnolly and Beg, 2002 Keterangan : Untuk mencegah terjadinya masalah hilangnya data yang diubah, maka : pertama-tama T2 meminta exclusive lock pada balₓ Setelah itu T2 dapat melakukanproses baca nilai balₓ, menambahnya dengan nilai 100, dan menuliskan nilai baru dari balₓ tersebut kedalam basis data. Saat T1 memulai transaksi, T1 juga meminta suatu exclusivelock pada balₓ, namun karena balₓ sedang berada dalam posisiexclusive lock oleh T2, maka permintaan read balₓ tidak segera diberikan kepada T1 dan T1 harus menunggu sampai lock dilepaskan oleh T2. Hal ini terjadi saat t2 melaksanakan operasi commit atau unlock bal x Connolly and Beg, 2002. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 2. 6Mencegah Uncommited Dependency Problem using 2PLConnolly and Beg,2002 Keterangan : Untuk mencegah terjadinya masalah ketergantungan transaksi yang belum dilaksanakan, maka : pertama-tama T4 meminta suatu exclusive lock pada balx. Setelah itu, T4 dapat melakukan proses baca nilai balx dari dalam basis data, menambahnya dengan nilai 100, dan menuliskan nilai baru balx tersebut ke dalam basis data. Rollback dieksekusi, peng-update-an pada transaksi T4 tidak jadi dilakukan dan nilai dalam basis data dikembalikan ke kondisi semula yaitu 100. Saat T3 memulai transaksi, T3 juga meminta suatu exclusive lock pada balx, namun karena balx sedang dalam posisi exclusive lock oleh T4 maka permintaan tersebut tidak segera diberikan kepada T3, dan T3 harus menunggu sampai lock dilepaskan oleh T4. Hal ini terjadi saat T4 melakukan operasi rollback atau unlock balx, barulah T3 dapat melakukan proses baca nilai balx Connolly and Beg, 2002. Gambar 2. 7Mencegah Inconsistent Analysis Problem using 2PLConnolly and Beg,2002 Keterangan : Untuk mencegah terjadinya masalah analisis yang tidak konsisten , maka : T5 mengawali meminta suatu exclusive lock pada balx. T5 juga meminta suatu exclusive lock pada baly. Saat T6 ingin membaca nilai balx, ia harus menunggu sampai lock dilepaskan oleh T5. Hal ini terjadi saat T5 melaksanakan operasi commit atau unlockbalx, barulah T6 dapat membaca nilai balx Connolly and Beg, 2002 . Untuk mengatasi masalah di atas, mesin basis data Oracle mempunyai kemampuan mendukung transaksi dengan metode 2PL yang dapat menjamin konsistensi data .

2.2.5.4. Perintah For Update