SlideShare a Scribd company logo
1 of 9
Download to read offline
KOMPARASI LOCKING MECHANISM DAN DEADLOCK
PADA MYSQL DAN ORACLE
Kelompok 10
Anggota Kelompok :
Bambang Hermanto (13523106)
Husen Abdurahman (13523162)
Nurcholis Ainul RT (13523175)
Narendra Pinandhita (13523263)
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA
2017
Penjelasan Singkat
1. Locking Mechanism
Locking Mechanism (Mekanisme Penguncian) di disain untuk menyediakan derajat
konkurensi yang tinggi yang terjadi pada database. Suatu transaksi yang memodifikasi data
memperoleh row-level locks daripada table-level locks. Proses query pada suatu data tidak
membutuhkan mekanisme lock terhadap data yang di query, sebuah query tetap berhasil
dieksekusi pada suatu data atu tabel walaupun ada user yang member lock pada stuatu data
atau tabel.
Pada saat multiple transaksi membutuhkan suatu lock pada resource yang sama, transaksi
yang pertama meminta lock pada suatu resource tersebut. Transaksi yang lainnya berada
pada fase menunggu di antrian sampai transaksi yang pertama telah selesai mengeksekusi
resource. Mekanisme antrian ini bersifat otomatis dan tidak membutuhkan interaksi dari
suatu administrator atau user yang lain
Semua lock di lepas pada saat transaksi berakhir. Transaksi dikatakan selesai / complete
apabila perintah commit atau rollback dilaksanakan. Pada kasus transaksi yang failed,
baground proses secara otomatis melakukan rollback kegagalan yang terjadi dengan
merubah transaksi yang gagal tersebut menjadi ke posisi save point atau sebelum proses
transaksi gagal.
2. Deadlock
Deadlock adalah situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama
lain menunggu Lock dilepas sebelum di mulai (Yudi Wibisono).
Dalam lingkungan multi programming, beberapa proses mungkin akan bersaing untuk objek
dengan jumlah yang terbatas. Sebuah proses meminta Lock untuk menggunakan objek; jika
objek tersebut tidak dapat digunakan, proses memasuki wait state. Proses waiting dapat terus
berlangsung selamanya, karena objek yang diminta proses tersebut di pegang oleh proses
lain yang juga dalam keadaan menunggu. situasi inilah yang dinamakan Dead Lock.
Pembuatan Tabel
1. koneksi sistem
Pada gambar di atas ini kami menjelaskan tentang mengoneksikan user, apabila kita ingin
menggunakan user kita harus memasukan kata sandi terlelbih dahulu.
2. Membuat table dengan query CREATE
Ketika user sudah hidup atau sudah berjalan maka langkah selanjutnya kita akan membuat
tabel.
3. Menambahkan isi table
Setelah membuat tabel sekarang kita mencoba memasukan data agar tersusun rapih didalam
tabel.
4. Tampilkan tabel dengan query SELECT
Setelah memasukan data kedalam tabel inilah hasil dari data tersebut, didalam tabel terdapat
beberapa jenis atribut yaitu seperti nama, nim dan jurusan.
Implementasi Locking Mechanism pada Oracle
Pada Oracle, Locking Mechanism terbagi menjadi 2 yaitu Row Level Lock dan Table Level Lock.
Pada Modul ini akan dilakukan percobaan Penguncian level tabel.
State User 1 User 2
S1 SET TRANSACTION ISOLATION
LEVEL READ COMMITTED;
SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE;
S2 DELETE FROM mahasiswa WHERE
nim = 13523263;
S3 ALTER TABLE mahasiswa ADD alamat
varchar2(10);
S4 COMMIT;
S5 ALTER TABLE mahasiswa ADD alamat
varchar2(10);
S6 COMMIT;
S1. Pada user 1 gunakan query tersebut untuk membuat transaksi read commited yang berarti
transaksi hanya dapat melihat perubahan data setelah transaksi lain melakukan commit.
Pada User 2 gunakan query tersebut untuk membuat transaksi serializable yang berarti
mengemulasikan eksekusi transaksi secara serial, transaksi menjadikan transaksi di eksekusi satu
setelah yang lainnya selesai di eksekusi.
S2. Pada user 1 lakukan query untuk menghapus data dari tabel mahasiswa dengan nim 13523263.
Lalu kita cek perubahan yang terjadi
S3. Pada user 2 lakukan query untuk menambah atribut baru berupa alamat pada tabel mahasiswa.
Query tidak akan berhasil dijalankan karena pada user 1 belum melakukan COMMIT.
S4. Pada user 1 lakukan query COMMIT.
S5. Pada user 2 query akan otomatis berhasil karena user 1 sudah melakukan COMMIT.
S6. Pada user 2 lakukan query COMMIT untuk menyimpan perubahan yang terjadi.
Percobaan locking mechanism pada oracle tersebut membuktikan bahwa ketika ada user yang akan
melakukan perubahan pada tabel namun user lain belum menyimpan perubahan sebelumnya maka
transaksi tidak akan berhasil. User diharuskan menyimpan perubahan terlebih dahulu agar transaksi
yang dilakukan oleh user lain setelahnya dapat berhasil.
Implementasi Locking Mechanism pada MySQL
Pada tutorial impelentasi Locking Mechanisme pada MySQL, kami menggunakan tabel praktikan.
Dengan atribut: id, nama, nim, jurusan.
State User 1 User 2
S1 SET TRANSACTION ISOLATION
LEVEL READ COMMITTED;
SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE;
S2 DELETE FROM praktikan WHERE nim
= 13523175;
S3 ALTER TABLE praktikan ADD alamat
varchar(10);
S4 COMMIT;
S5 ALTER TABLE praktikan ADD alamat
varchar(10);
S6 COMMIT;
S1. Pada user 1 gunakan query tersebut untuk membuat transaksi read commited yang berarti
transaksi hanya dapat melihat perubahan data setelah transaksi lain melakukan commit.
Pada User 2 gunakan query tersebut untuk membuat transaksi serializable yang berarti
mengemulasikan eksekusi transaksi secara serial, transaksi menjadikan transaksi di eksekusi satu
setelah yang lainnya selesai di eksekusi.
S2. Pada user 1 lakukan query untuk menghapus data dari tabel mahasiswa dengan nim 13523175.
S3. Pada user 2 lakukan query untuk menambah atribut baru berupa alamat pada tabel mahasiswa.
Query pada MySQL berhasil
S4. User 1 melakukan COMMIT.
S5. Pada user 2 lakukan kembali query untuk menambah atribut baru berupa alamat pada tabel
mahasiswa. Query gagal karena pada S3, query penambahan atribut alamat telah berhasil.
S6. Pada user 2 lakukan query COMMIT untuk menyimpan perubahan yang terjadi.
Hasil komparasi implementasi Lock Mechanism pada Oracle dan MySQL
Pada Oracle, transaksi akan Lock ketika user belum melakukan COMMIT. Speerti pada kasus
ALTER TABLE di atas. ALTER TABLE yang pertama tidak berhasil karena user 1 belum
melakukan COMMIT transaksi DELETE. Sedangkan pada MySQL, transaksi ALTER TABLE tetap
berhasil meski belum dilakukan COMMIT pada user 1.
Implementasi Deadlock pada Oracle
System Oracle akan menangani Dead Lock ini dengan cara membatalkan salah satu transaksi, dan
karena Dead Lock telah di hilangkan, transaksi yang lainnya dapat berjalan.
State User 1 User 2
S1 UPDATE deret SET nim = 1 WHERE
nim = 13523162;
S2 UPDATE deret SET nim = 2 WHERE nim =
13523175;
S3 UPDATE deret SET nim = 22 WHERE
nim = 13523175;
S4 UPDATE deret SET nim = 11 WHERE nim
= 13523162;
S1. User 1 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim
13523162 pada tabel mahasiswa.
S2. User 2 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim
13523175 pada tabel mahasiswa. Ketika user 1 menampilkan isi data maka tidak akan terjadi
perubahan yang dilakukan oleh user 2 karena user 2 menunggu user 1 untuk melakukan commit.
Lalu kita coba lihat perubahan yang terjadi
S3. User 1 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim
13523175 pada tabel mahasiswa.
S4. User 2 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim
13523162 pada tabel mahasiswa. Pada User 2 query tidak akan berjalan karena menunggu user 1
melakukan commit. Sedangkan pada user 1 terdeteksi deadlock karena 2 transaksi sebelumnya pada
user 1 dan user belum di commit.
Dari percobaan Deadlock pada oracle tersebut didapatkan bahwa ketika user 1 melakukan transaksi
dan belum melakukan commit dan pada waktu yang sama user 2 juga melakukan transaksi dan
belum melakukan commit maka akan terjadi deadlock.
Implementasi Deadlock pada MySQL
Pada tutorial implementasi Deadlock pada MySQL ini kami menggunakan tabel peserta yang di
dalamnya terdapat atribut: id, nama, nim, jurusan.
State User 1 User 2
S1 UPDATE peserta SET nim = 1
WHERE nim = 13523162;
S2 UPDATE peserta SET nim = 2 WHERE nim
= 13523175;
S3 UPDATE peserta SET nim = 22
WHERE nim = 13523175;
S4 UPDATE peserta SET nim = 11 WHERE nim
= 13523162;
S1. User 1 akan melakukan query UPDATE tabel peserta pada row dengan nim = 13523162
menjadi nim = 1
S2. User 2 akan melakukan query UPDATE tabel peserta pada row dengan nim 13523175 menjadi
nim = 2
S3. User 1 akan melakukan query UPDATE tabel peserta pada row dengan nim = 13523175
menjadi nim = 22
S4. User 2 akan melakukan query UPDATE tabel pserta pada row dengan nim = 13523162 menjadi
nim = 11
Hasil komparasi implementasi Deadlock pada Oracle dan MySQL
Setelah dicoba mengimplementasikan Deadlock pada Oracle dan MySQL, didapatkan kesimpulan
bahwa ketika user 1 melakukan transaksi dan belum melakukan commit dan pada waktu yang sama
user 2 juga melakukan transaksi dan belum melakukan commit maka akan terjadi deadlock.
Sedangkan implementasi pada MySQL, tanpa melakukan COMMIT, setelah melakukan query
UPDATE, transaksi berikutnya juga tidak dapat terjadi. Namun, pada MySQL tidak ada informasi
deadlock yang ditamplikan oleh sistem.

More Related Content

What's hot

Arsitektur & organisasi komputer
Arsitektur & organisasi komputerArsitektur & organisasi komputer
Arsitektur & organisasi komputeryusupnurikhsan
 
Analisa algoritma paralel
Analisa algoritma paralelAnalisa algoritma paralel
Analisa algoritma paralelangga_dadox
 
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATK
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATKAplikasi Pengelolaan Persedian Barang Dagang Berupa ATK
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATKFitri Evi Nasution
 
Sifat gelombang dari_partikel
Sifat gelombang dari_partikelSifat gelombang dari_partikel
Sifat gelombang dari_partikelAlfido Zakaria
 
Pengertian data flow diagram
Pengertian data flow diagramPengertian data flow diagram
Pengertian data flow diagramMeily Perdana
 
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiProposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiAfif Efendi
 
Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Rolly Yesputra
 
Gelombang elektromagnetik
Gelombang elektromagnetikGelombang elektromagnetik
Gelombang elektromagnetikKira R. Yamato
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlabgiya12001
 
081211332010 eksperimen franck hertz
081211332010 eksperimen franck hertz081211332010 eksperimen franck hertz
081211332010 eksperimen franck hertzFakhrun Nisa
 
Energi Potensial dan Potensial Listrik
Energi Potensial dan Potensial ListrikEnergi Potensial dan Potensial Listrik
Energi Potensial dan Potensial ListrikDyah Puspagarini
 
Tugas fisika untuk matematika 2
Tugas fisika untuk matematika 2Tugas fisika untuk matematika 2
Tugas fisika untuk matematika 2MAY NURHAYATI
 
Presentasi sistem komputer magnetic tape,magnetic disk,optical disk,flash m...
Presentasi sistem komputer   magnetic tape,magnetic disk,optical disk,flash m...Presentasi sistem komputer   magnetic tape,magnetic disk,optical disk,flash m...
Presentasi sistem komputer magnetic tape,magnetic disk,optical disk,flash m...Decker DeNsuz
 
Makalah Program Kasir Java NetBeans
Makalah Program Kasir Java NetBeansMakalah Program Kasir Java NetBeans
Makalah Program Kasir Java NetBeansnaufals11
 

What's hot (20)

Arsitektur & organisasi komputer
Arsitektur & organisasi komputerArsitektur & organisasi komputer
Arsitektur & organisasi komputer
 
Analisa algoritma paralel
Analisa algoritma paralelAnalisa algoritma paralel
Analisa algoritma paralel
 
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATK
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATKAplikasi Pengelolaan Persedian Barang Dagang Berupa ATK
Aplikasi Pengelolaan Persedian Barang Dagang Berupa ATK
 
Sifat gelombang dari_partikel
Sifat gelombang dari_partikelSifat gelombang dari_partikel
Sifat gelombang dari_partikel
 
Pengertian data flow diagram
Pengertian data flow diagramPengertian data flow diagram
Pengertian data flow diagram
 
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro TelekomunikasiProposal Tugas Akhir Teknik Elektro Telekomunikasi
Proposal Tugas Akhir Teknik Elektro Telekomunikasi
 
Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)
 
Farmakodinamik dan farmakokinetika
Farmakodinamik dan farmakokinetikaFarmakodinamik dan farmakokinetika
Farmakodinamik dan farmakokinetika
 
Makalah elektromagnetik
Makalah elektromagnetikMakalah elektromagnetik
Makalah elektromagnetik
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Reaksi inti
Reaksi intiReaksi inti
Reaksi inti
 
Open loop motor dc Simulink
Open loop motor dc SimulinkOpen loop motor dc Simulink
Open loop motor dc Simulink
 
Gelombang elektromagnetik
Gelombang elektromagnetikGelombang elektromagnetik
Gelombang elektromagnetik
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlab
 
081211332010 eksperimen franck hertz
081211332010 eksperimen franck hertz081211332010 eksperimen franck hertz
081211332010 eksperimen franck hertz
 
Energi Potensial dan Potensial Listrik
Energi Potensial dan Potensial ListrikEnergi Potensial dan Potensial Listrik
Energi Potensial dan Potensial Listrik
 
Tugas fisika untuk matematika 2
Tugas fisika untuk matematika 2Tugas fisika untuk matematika 2
Tugas fisika untuk matematika 2
 
Presentasi sistem komputer magnetic tape,magnetic disk,optical disk,flash m...
Presentasi sistem komputer   magnetic tape,magnetic disk,optical disk,flash m...Presentasi sistem komputer   magnetic tape,magnetic disk,optical disk,flash m...
Presentasi sistem komputer magnetic tape,magnetic disk,optical disk,flash m...
 
Testing black box
Testing black boxTesting black box
Testing black box
 
Makalah Program Kasir Java NetBeans
Makalah Program Kasir Java NetBeansMakalah Program Kasir Java NetBeans
Makalah Program Kasir Java NetBeans
 

Similar to Modul Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL

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 MySQLnurcholistri
 
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11Philo Mushofi El Haries
 
ORACLE Di Virtual Box : Ringkasan Penggunaan
ORACLE Di Virtual Box : Ringkasan PenggunaanORACLE Di Virtual Box : Ringkasan Penggunaan
ORACLE Di Virtual Box : Ringkasan PenggunaanAgus SA
 
Oracle Administrator - Locking presentation
Oracle Administrator - Locking presentationOracle Administrator - Locking presentation
Oracle Administrator - Locking presentationMuhaimin Soltief
 
PostgreSQL Transaksi
PostgreSQL TransaksiPostgreSQL Transaksi
PostgreSQL TransaksiAmmar Shadiq
 
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.pptxYaya610291
 
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )Hendry Aryadi
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaImmank Go
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2ndriehs
 
Rangkuman Algoritma Pemerograman 2
Rangkuman Algoritma Pemerograman 2Rangkuman Algoritma Pemerograman 2
Rangkuman Algoritma Pemerograman 2Sukron Makmun
 
Audit Trail Comparison Oracle & PostgreSQL
Audit Trail Comparison Oracle & PostgreSQLAudit Trail Comparison Oracle & PostgreSQL
Audit Trail Comparison Oracle & PostgreSQLNein Raka
 
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...Walid Umar
 
Flashback technology oracle
Flashback technology oracleFlashback technology oracle
Flashback technology oraclerizky rivaldi
 
Tutorial privileges objek di oracle
Tutorial privileges objek di oracleTutorial privileges objek di oracle
Tutorial privileges objek di oracleLalu Fahlevi
 

Similar to Modul Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL (20)

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
 
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11
Demo Komparasi Row dan Table Locking pada MySQL dengan Oracleg11
 
ORACLE Di Virtual Box : Ringkasan Penggunaan
ORACLE Di Virtual Box : Ringkasan PenggunaanORACLE Di Virtual Box : Ringkasan Penggunaan
ORACLE Di Virtual Box : Ringkasan Penggunaan
 
Demo Lock Mechanism dan Deadlock
Demo Lock Mechanism dan DeadlockDemo Lock Mechanism dan Deadlock
Demo Lock Mechanism dan Deadlock
 
Oracle Administrator - Locking presentation
Oracle Administrator - Locking presentationOracle Administrator - Locking presentation
Oracle Administrator - Locking presentation
 
PostgreSQL Transaksi
PostgreSQL TransaksiPostgreSQL Transaksi
PostgreSQL Transaksi
 
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
 
Saga Pattern in Microservice
Saga Pattern in MicroserviceSaga Pattern in Microservice
Saga Pattern in Microservice
 
Transaction
TransactionTransaction
Transaction
 
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )
25605 tutorial migrasi database dari my sql ke oracle ( kelompok 9 )
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data berganda
 
Laprak sbd
Laprak sbd Laprak sbd
Laprak sbd
 
Oracle transaksi
Oracle transaksiOracle transaksi
Oracle transaksi
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
 
Rangkuman Algoritma Pemerograman 2
Rangkuman Algoritma Pemerograman 2Rangkuman Algoritma Pemerograman 2
Rangkuman Algoritma Pemerograman 2
 
Audit Trail Comparison Oracle & PostgreSQL
Audit Trail Comparison Oracle & PostgreSQLAudit Trail Comparison Oracle & PostgreSQL
Audit Trail Comparison Oracle & PostgreSQL
 
Arkom1
Arkom1Arkom1
Arkom1
 
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
MODUL AJAR ADMINISTRASI INFRASTRUKTUR JARINGAN - SWITCHING & ROUTING (PPG TKI...
 
Flashback technology oracle
Flashback technology oracleFlashback technology oracle
Flashback technology oracle
 
Tutorial privileges objek di oracle
Tutorial privileges objek di oracleTutorial privileges objek di oracle
Tutorial privileges objek di oracle
 

Recently uploaded

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 

Recently uploaded (9)

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 

Modul Komparasi Locking Mechanism dan Deadlock Pada Oracle dan MySQL

  • 1. KOMPARASI LOCKING MECHANISM DAN DEADLOCK PADA MYSQL DAN ORACLE Kelompok 10 Anggota Kelompok : Bambang Hermanto (13523106) Husen Abdurahman (13523162) Nurcholis Ainul RT (13523175) Narendra Pinandhita (13523263) JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM INDONESIA 2017
  • 2. Penjelasan Singkat 1. Locking Mechanism Locking Mechanism (Mekanisme Penguncian) di disain untuk menyediakan derajat konkurensi yang tinggi yang terjadi pada database. Suatu transaksi yang memodifikasi data memperoleh row-level locks daripada table-level locks. Proses query pada suatu data tidak membutuhkan mekanisme lock terhadap data yang di query, sebuah query tetap berhasil dieksekusi pada suatu data atu tabel walaupun ada user yang member lock pada stuatu data atau tabel. Pada saat multiple transaksi membutuhkan suatu lock pada resource yang sama, transaksi yang pertama meminta lock pada suatu resource tersebut. Transaksi yang lainnya berada pada fase menunggu di antrian sampai transaksi yang pertama telah selesai mengeksekusi resource. Mekanisme antrian ini bersifat otomatis dan tidak membutuhkan interaksi dari suatu administrator atau user yang lain Semua lock di lepas pada saat transaksi berakhir. Transaksi dikatakan selesai / complete apabila perintah commit atau rollback dilaksanakan. Pada kasus transaksi yang failed, baground proses secara otomatis melakukan rollback kegagalan yang terjadi dengan merubah transaksi yang gagal tersebut menjadi ke posisi save point atau sebelum proses transaksi gagal. 2. Deadlock Deadlock adalah situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu Lock dilepas sebelum di mulai (Yudi Wibisono). Dalam lingkungan multi programming, beberapa proses mungkin akan bersaing untuk objek dengan jumlah yang terbatas. Sebuah proses meminta Lock untuk menggunakan objek; jika objek tersebut tidak dapat digunakan, proses memasuki wait state. Proses waiting dapat terus berlangsung selamanya, karena objek yang diminta proses tersebut di pegang oleh proses lain yang juga dalam keadaan menunggu. situasi inilah yang dinamakan Dead Lock. Pembuatan Tabel 1. koneksi sistem Pada gambar di atas ini kami menjelaskan tentang mengoneksikan user, apabila kita ingin menggunakan user kita harus memasukan kata sandi terlelbih dahulu. 2. Membuat table dengan query CREATE
  • 3. Ketika user sudah hidup atau sudah berjalan maka langkah selanjutnya kita akan membuat tabel. 3. Menambahkan isi table Setelah membuat tabel sekarang kita mencoba memasukan data agar tersusun rapih didalam tabel. 4. Tampilkan tabel dengan query SELECT
  • 4. Setelah memasukan data kedalam tabel inilah hasil dari data tersebut, didalam tabel terdapat beberapa jenis atribut yaitu seperti nama, nim dan jurusan. Implementasi Locking Mechanism pada Oracle Pada Oracle, Locking Mechanism terbagi menjadi 2 yaitu Row Level Lock dan Table Level Lock. Pada Modul ini akan dilakukan percobaan Penguncian level tabel. State User 1 User 2 S1 SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; S2 DELETE FROM mahasiswa WHERE nim = 13523263; S3 ALTER TABLE mahasiswa ADD alamat varchar2(10); S4 COMMIT; S5 ALTER TABLE mahasiswa ADD alamat varchar2(10); S6 COMMIT; S1. Pada user 1 gunakan query tersebut untuk membuat transaksi read commited yang berarti transaksi hanya dapat melihat perubahan data setelah transaksi lain melakukan commit. Pada User 2 gunakan query tersebut untuk membuat transaksi serializable yang berarti mengemulasikan eksekusi transaksi secara serial, transaksi menjadikan transaksi di eksekusi satu setelah yang lainnya selesai di eksekusi. S2. Pada user 1 lakukan query untuk menghapus data dari tabel mahasiswa dengan nim 13523263. Lalu kita cek perubahan yang terjadi
  • 5. S3. Pada user 2 lakukan query untuk menambah atribut baru berupa alamat pada tabel mahasiswa. Query tidak akan berhasil dijalankan karena pada user 1 belum melakukan COMMIT. S4. Pada user 1 lakukan query COMMIT. S5. Pada user 2 query akan otomatis berhasil karena user 1 sudah melakukan COMMIT. S6. Pada user 2 lakukan query COMMIT untuk menyimpan perubahan yang terjadi. Percobaan locking mechanism pada oracle tersebut membuktikan bahwa ketika ada user yang akan melakukan perubahan pada tabel namun user lain belum menyimpan perubahan sebelumnya maka transaksi tidak akan berhasil. User diharuskan menyimpan perubahan terlebih dahulu agar transaksi yang dilakukan oleh user lain setelahnya dapat berhasil. Implementasi Locking Mechanism pada MySQL Pada tutorial impelentasi Locking Mechanisme pada MySQL, kami menggunakan tabel praktikan. Dengan atribut: id, nama, nim, jurusan. State User 1 User 2 S1 SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; S2 DELETE FROM praktikan WHERE nim = 13523175; S3 ALTER TABLE praktikan ADD alamat varchar(10); S4 COMMIT; S5 ALTER TABLE praktikan ADD alamat varchar(10); S6 COMMIT; S1. Pada user 1 gunakan query tersebut untuk membuat transaksi read commited yang berarti transaksi hanya dapat melihat perubahan data setelah transaksi lain melakukan commit.
  • 6. Pada User 2 gunakan query tersebut untuk membuat transaksi serializable yang berarti mengemulasikan eksekusi transaksi secara serial, transaksi menjadikan transaksi di eksekusi satu setelah yang lainnya selesai di eksekusi. S2. Pada user 1 lakukan query untuk menghapus data dari tabel mahasiswa dengan nim 13523175. S3. Pada user 2 lakukan query untuk menambah atribut baru berupa alamat pada tabel mahasiswa. Query pada MySQL berhasil S4. User 1 melakukan COMMIT. S5. Pada user 2 lakukan kembali query untuk menambah atribut baru berupa alamat pada tabel mahasiswa. Query gagal karena pada S3, query penambahan atribut alamat telah berhasil. S6. Pada user 2 lakukan query COMMIT untuk menyimpan perubahan yang terjadi. Hasil komparasi implementasi Lock Mechanism pada Oracle dan MySQL Pada Oracle, transaksi akan Lock ketika user belum melakukan COMMIT. Speerti pada kasus ALTER TABLE di atas. ALTER TABLE yang pertama tidak berhasil karena user 1 belum melakukan COMMIT transaksi DELETE. Sedangkan pada MySQL, transaksi ALTER TABLE tetap berhasil meski belum dilakukan COMMIT pada user 1. Implementasi Deadlock pada Oracle System Oracle akan menangani Dead Lock ini dengan cara membatalkan salah satu transaksi, dan karena Dead Lock telah di hilangkan, transaksi yang lainnya dapat berjalan. State User 1 User 2 S1 UPDATE deret SET nim = 1 WHERE
  • 7. nim = 13523162; S2 UPDATE deret SET nim = 2 WHERE nim = 13523175; S3 UPDATE deret SET nim = 22 WHERE nim = 13523175; S4 UPDATE deret SET nim = 11 WHERE nim = 13523162; S1. User 1 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim 13523162 pada tabel mahasiswa. S2. User 2 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim 13523175 pada tabel mahasiswa. Ketika user 1 menampilkan isi data maka tidak akan terjadi perubahan yang dilakukan oleh user 2 karena user 2 menunggu user 1 untuk melakukan commit. Lalu kita coba lihat perubahan yang terjadi S3. User 1 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim 13523175 pada tabel mahasiswa.
  • 8. S4. User 2 melakukan query UPDATE untuk merubah nim mahasiswa yang memiliki nim 13523162 pada tabel mahasiswa. Pada User 2 query tidak akan berjalan karena menunggu user 1 melakukan commit. Sedangkan pada user 1 terdeteksi deadlock karena 2 transaksi sebelumnya pada user 1 dan user belum di commit. Dari percobaan Deadlock pada oracle tersebut didapatkan bahwa ketika user 1 melakukan transaksi dan belum melakukan commit dan pada waktu yang sama user 2 juga melakukan transaksi dan belum melakukan commit maka akan terjadi deadlock. Implementasi Deadlock pada MySQL Pada tutorial implementasi Deadlock pada MySQL ini kami menggunakan tabel peserta yang di dalamnya terdapat atribut: id, nama, nim, jurusan. State User 1 User 2 S1 UPDATE peserta SET nim = 1 WHERE nim = 13523162; S2 UPDATE peserta SET nim = 2 WHERE nim = 13523175; S3 UPDATE peserta SET nim = 22 WHERE nim = 13523175; S4 UPDATE peserta SET nim = 11 WHERE nim = 13523162; S1. User 1 akan melakukan query UPDATE tabel peserta pada row dengan nim = 13523162 menjadi nim = 1 S2. User 2 akan melakukan query UPDATE tabel peserta pada row dengan nim 13523175 menjadi nim = 2 S3. User 1 akan melakukan query UPDATE tabel peserta pada row dengan nim = 13523175 menjadi nim = 22
  • 9. S4. User 2 akan melakukan query UPDATE tabel pserta pada row dengan nim = 13523162 menjadi nim = 11 Hasil komparasi implementasi Deadlock pada Oracle dan MySQL Setelah dicoba mengimplementasikan Deadlock pada Oracle dan MySQL, didapatkan kesimpulan bahwa ketika user 1 melakukan transaksi dan belum melakukan commit dan pada waktu yang sama user 2 juga melakukan transaksi dan belum melakukan commit maka akan terjadi deadlock. Sedangkan implementasi pada MySQL, tanpa melakukan COMMIT, setelah melakukan query UPDATE, transaksi berikutnya juga tidak dapat terjadi. Namun, pada MySQL tidak ada informasi deadlock yang ditamplikan oleh sistem.