SlideShare a Scribd company logo
TIGA PENDEKATAN MENDESAIN
ALGORITMA KONTROL KONKURENSI
 Wait. Jika dua transaksi konflik, transaksi yang konflik
harus menunggu sampai transaksi lainnya selesai.
 Timestamp. Urutan eksekusi transaksi berdasarkan
timestamp. Setiap transaksi memiliki timestamp yang
unik dan dua transaksi yang konflik diselesaikan
berdasarkan urutan timestamp. Timestamp dapat
diletakkan di awal, tengah, atau akhir eksekusi.
Pendekatan berdasarkan version digunakan untuk
menentukan timestamp objek basis data.
 Rollback. Dua transaksi yang konflik, salah satu
transaksinya diulang kembali pengerjaannya. Disebut
juga optimistic, karena bila terjadi konflik maka
beberapa transaksi akan di-rollback.
Serializability
 eksekusi transaksi
secara serial dalam
urutan yang berbeda
mungkin memunculkan
hasil yang berbeda,
tetapi semua dianggap
dapat diterima,
meskipun eksekusi terinterleave. Contoh ;
Lock – Based Control Concurrency
 Lock adalah objek pembukuan kecil yang dihubungkan
dengan objek database.
 Locking Protocol adalah kumpulan aturan yang diikuti
tiap transaksi (dan didukung DBMS) untuk memastikan
bahwa meskipun tindakan beberapa transaksi mungkin
di-interleave,
efek
bersihnya
serupa
dengan
mengeksekusi semua transaksi dalam beberapa urutan
serial.
 Bagian DBMS yang memantau masalah lock untuk
transaksi disebut Lock Manager. Lock Manager
mengatur tabel lock yaitu hash table dengan identifier
objek data sebagai key.
Lock – Based Control Concurrency
 Untuk memastikan data dapat dibagi dengan operasi
konflik yang diakses oleh satu operasi pada satu saat.
“Lock” untuk setiap unit lock.
 Locking terjadi di transaksi sebelum diakses dan direset
di akhir penggunaan. Unit lock tidak dapat diakses
dengan sebuah operasi jika sudah dilock sebelumnya
oleh yang lain. Permintaan lock oleh sebuah transaksi
diberikan jika lock yang terhubung tidak ditahan oleh
transaksi lainnya.
Deadlock
 Deadlock adalah lingkaran transaksi yang menunggu
lock untuk dilepaskan
 Misalkan, transaksi T1 mengatur X-Lock pada database
A, T2 mengatur X-Lock pada database B, T1 meminta XLock pada B dan diantri, dan T2 meminta X-Lock pada A
dan diantri. Sekarang T1 sedang menunggu T2 untuk
melepaskan locknya, dan T2 sedang menunggu T1 untuk
melepaskan locknya.
Pencegahan Deadlock
 Pencegahan deadlock paling sederhana adalah transaksi
dengan prioritas lebih tinggi, diizinkan untuk menunggu,
sedangkan transaksi dengan prioritas yang lebih rendah
akan di-abort.
 Suatu cara untuk menetapkan prioritas adalah
memberikan Timestamp pada tiap transaksi pada saat
mulai. Semakin rendah timestamp, semakin tinggi
prioritas transaksi, yaitu transaksi paling tua mempunyai
prioritas tertinggi.
TWO-PHASE LOCKING (2PL)
 Fase locking. Transaksi mengambil lock tanpa
melepasnya.
 Fase unlocking. Dalam fase ini, transaksi melepaskan
lock yang ada dan tidak boleh mengambil lock.lockpoint
merupakan keadaan sesaat sebelum pelepasan lock
yang pertama kali dilakukan. Algoritma berdasarkan
Mekanisme Timestamp .
Timestamp-Based Control Concurrency
 Salah satu alternatif mekanisme kontrol konkurensi yang
dapat menghilangkan masalah deadlock.
Kesimpulan
 Kontrol konkurensi adalah masalah yang timbul ketika
beberapa proses terjadi pada berbagai tempat di sistem.
Solusi awal untuk hal ini adalah dengan memastikan
kelas-kelas serializability, two-phase locking, dan
formalisasi pendekatan optimistic. Mekanisme populer
untuk kontrol konkurensi adalah two-phase locking.
Kontrol konkurensi yang dapat disesuaikan
diimplementasikan pada sistem Reliable, Adaptable,
Interoperable, Distributed (RAID).
Kesimpulan
 Kontrol konkurensi adalah masalah yang timbul ketika
beberapa proses terjadi pada berbagai tempat di sistem.
Solusi awal untuk hal ini adalah dengan memastikan
kelas-kelas serializability, two-phase locking, dan
formalisasi pendekatan optimistic. Mekanisme populer
untuk kontrol konkurensi adalah two-phase locking.
Kontrol konkurensi yang dapat disesuaikan
diimplementasikan pada sistem Reliable, Adaptable,
Interoperable, Distributed (RAID).

More Related Content

Similar to Pertemuan 8-deadloack-

Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
ndriehs
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
Hz Tena
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data berganda
Immank Go
 

Similar to Pertemuan 8-deadloack- (12)

Zulyanti Megasari - Konkurensi
Zulyanti Megasari - KonkurensiZulyanti Megasari - Konkurensi
Zulyanti Megasari - Konkurensi
 
Ferli Apriadi - Konkurensi
Ferli Apriadi - KonkurensiFerli Apriadi - Konkurensi
Ferli Apriadi - Konkurensi
 
Manajemen Transaksi
Manajemen TransaksiManajemen Transaksi
Manajemen Transaksi
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptx
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Oracle Administrator - Locking presentation
Oracle Administrator - Locking presentationOracle Administrator - Locking presentation
Oracle Administrator - Locking presentation
 
Presentasi Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL
Presentasi Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQLPresentasi Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL
Presentasi Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL
 
Saga Pattern in Microservice
Saga Pattern in MicroserviceSaga Pattern in Microservice
Saga Pattern in Microservice
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data berganda
 
Ppt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem OperasiPpt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem Operasi
 

Pertemuan 8-deadloack-

  • 1. TIGA PENDEKATAN MENDESAIN ALGORITMA KONTROL KONKURENSI  Wait. Jika dua transaksi konflik, transaksi yang konflik harus menunggu sampai transaksi lainnya selesai.  Timestamp. Urutan eksekusi transaksi berdasarkan timestamp. Setiap transaksi memiliki timestamp yang unik dan dua transaksi yang konflik diselesaikan berdasarkan urutan timestamp. Timestamp dapat diletakkan di awal, tengah, atau akhir eksekusi. Pendekatan berdasarkan version digunakan untuk menentukan timestamp objek basis data.  Rollback. Dua transaksi yang konflik, salah satu transaksinya diulang kembali pengerjaannya. Disebut juga optimistic, karena bila terjadi konflik maka beberapa transaksi akan di-rollback.
  • 2. Serializability  eksekusi transaksi secara serial dalam urutan yang berbeda mungkin memunculkan hasil yang berbeda, tetapi semua dianggap dapat diterima, meskipun eksekusi terinterleave. Contoh ;
  • 3. Lock – Based Control Concurrency  Lock adalah objek pembukuan kecil yang dihubungkan dengan objek database.  Locking Protocol adalah kumpulan aturan yang diikuti tiap transaksi (dan didukung DBMS) untuk memastikan bahwa meskipun tindakan beberapa transaksi mungkin di-interleave, efek bersihnya serupa dengan mengeksekusi semua transaksi dalam beberapa urutan serial.  Bagian DBMS yang memantau masalah lock untuk transaksi disebut Lock Manager. Lock Manager mengatur tabel lock yaitu hash table dengan identifier objek data sebagai key.
  • 4. Lock – Based Control Concurrency  Untuk memastikan data dapat dibagi dengan operasi konflik yang diakses oleh satu operasi pada satu saat. “Lock” untuk setiap unit lock.  Locking terjadi di transaksi sebelum diakses dan direset di akhir penggunaan. Unit lock tidak dapat diakses dengan sebuah operasi jika sudah dilock sebelumnya oleh yang lain. Permintaan lock oleh sebuah transaksi diberikan jika lock yang terhubung tidak ditahan oleh transaksi lainnya.
  • 5. Deadlock  Deadlock adalah lingkaran transaksi yang menunggu lock untuk dilepaskan  Misalkan, transaksi T1 mengatur X-Lock pada database A, T2 mengatur X-Lock pada database B, T1 meminta XLock pada B dan diantri, dan T2 meminta X-Lock pada A dan diantri. Sekarang T1 sedang menunggu T2 untuk melepaskan locknya, dan T2 sedang menunggu T1 untuk melepaskan locknya.
  • 6. Pencegahan Deadlock  Pencegahan deadlock paling sederhana adalah transaksi dengan prioritas lebih tinggi, diizinkan untuk menunggu, sedangkan transaksi dengan prioritas yang lebih rendah akan di-abort.  Suatu cara untuk menetapkan prioritas adalah memberikan Timestamp pada tiap transaksi pada saat mulai. Semakin rendah timestamp, semakin tinggi prioritas transaksi, yaitu transaksi paling tua mempunyai prioritas tertinggi.
  • 7. TWO-PHASE LOCKING (2PL)  Fase locking. Transaksi mengambil lock tanpa melepasnya.  Fase unlocking. Dalam fase ini, transaksi melepaskan lock yang ada dan tidak boleh mengambil lock.lockpoint merupakan keadaan sesaat sebelum pelepasan lock yang pertama kali dilakukan. Algoritma berdasarkan Mekanisme Timestamp .
  • 8. Timestamp-Based Control Concurrency  Salah satu alternatif mekanisme kontrol konkurensi yang dapat menghilangkan masalah deadlock.
  • 9. Kesimpulan  Kontrol konkurensi adalah masalah yang timbul ketika beberapa proses terjadi pada berbagai tempat di sistem. Solusi awal untuk hal ini adalah dengan memastikan kelas-kelas serializability, two-phase locking, dan formalisasi pendekatan optimistic. Mekanisme populer untuk kontrol konkurensi adalah two-phase locking. Kontrol konkurensi yang dapat disesuaikan diimplementasikan pada sistem Reliable, Adaptable, Interoperable, Distributed (RAID).
  • 10. Kesimpulan  Kontrol konkurensi adalah masalah yang timbul ketika beberapa proses terjadi pada berbagai tempat di sistem. Solusi awal untuk hal ini adalah dengan memastikan kelas-kelas serializability, two-phase locking, dan formalisasi pendekatan optimistic. Mekanisme populer untuk kontrol konkurensi adalah two-phase locking. Kontrol konkurensi yang dapat disesuaikan diimplementasikan pada sistem Reliable, Adaptable, Interoperable, Distributed (RAID).