Alhamdulillah,segala puji dan syukur penulis ucapkan kehadirat Allah SWT,yang telah
melimpahkan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tugas Makalah
mata kuliah Pemrograman dasar yang membahas tentang Tipe Data pada program bahasa C+
+ dengan baik dan tepat waktu
Dalam pembuatan makalah ini, ditulis berdasarkan informasi dari media massa yang
berhubungan tentang Tipe Data. Penulis menyadari bahwa makalah yang kami buat ini jauh
dari kata sempurna.Untuk itu diharapkan berbagai masukan yang bersifat membangun demi
memotivasi penulis agar kedepannya dapat lebih baik lagi.
Dalam proses pendalaman materi ini saya ucapkan terima kasih yang sedalam-dalamnya
kepada
PENYUSUN
DAFTAR ISI
HALAMAN JUDUL……………………………………………..………i
KATA PENGANTAR………………………………………………..
….ii
DAFTAR IS……………………………………………………….
…....iii
BAB I pendahuluan
BAB II Pembahasan
A. Pengertian Concurrency……….………………..………….v
B. Jenis-jenis Concurrency………………………….…..…….vi
A. Kesimpulan………………………………………………...vii
B. Saran…………………………………………………...…..vii
Daftar pustaka………………………………………………….……...vii
BAB 1 PENDAHULUAN
A.Latar belakang
Tujuan utama dalam pengembangan database adalah membuat banyak pengguna
bisa mengakses data secara bersamaan. Pengaksesan data ini tidak bermasalah jika
semua pengguna hanya membaca data dan mereka tidak mengganggu satu sama lain.
Tapi ketika dua pengguna atau lebih mengakses database yang sama secara
bersamaan dan salah satu melakukan perubahan terhadap data, maka hal ini akan
dapat menimbulkan adanya data yang tidak konsisten (inconsistency data)
B.Rumusan Masalah
BAB II PEMBAHASAN
A. Concurrency Control
Concurrency control merupakan proses pengaturan operasi yang simultan pada
database tanpa menyebabkan saling mempengaruhi antara satu dengan yang lain.
Akses konkuren tidak akan bermasalah jika user hanya melakukan pembacaan data
saja, gangguan akan terjadi jika dua atau lebih user mengakses database secara
simultan dan sedikitnya melakukan suatu perubahan (update), maka dapat
menyebabkan ketidak-konsistenan (inconsistencies).
Sebuah transaksi kedua menulis nilai kedua dari data-item (datum) di atas nilai pertama
yang ditulis oleh transaksi konkuren pertama, dan nilai pertama hilang untuk transaksi
lainnya berjalan bersamaan yang membutuhkan, dengan prioritas mereka, untuk
membaca nilai pertama. Transaksi yang telah membaca akhir nilai yang salah dengan
hasil yang salah.
Transaksi membaca nilai yang ditulis oleh transaksi yang telah kemudian dibatalkan.
Nilai ini menghilang dari database pada abort, dan tidak seharusnya dibaca oleh setiap
transaksi ("membaca kotor"). Pembacaan transaksi diakhiri dengan hasil yang salah.
Ketika satu transaksi mengambil ringkasan atas nilai dari semua contoh item-data
ulang, sebuah update transaksi kedua beberapa kasus itu barang-data. Ringkasan
yang dihasilkan tidak mencerminkan hasil yang benar untuk setiap (biasanya diperlukan
untuk pembenaran) agar mengutamakan antara dua transaksi (jika dijalankan sebelum
yang lain), melainkan beberapa hasil acak, tergantung pada waktu update, dan apakah
tertentu Hasil update telah dimasukkan dalam ringkasan atau tidak.
B.Jenis-jenis Concurrency
1. Concurrency Control dalam Database
Concurrency control dalam sistem manajemen database, lain transaksional benda, dan
aplikasi terdistribusi yang terkait (misalnya, komputasi Grid dan Cloud computing ) memastikan
bahwa database transaksi dilakukan bersamaan tanpa melanggar integritas data dari masing-
masing database . Jadi kontrol concurrency merupakan elemen penting untuk pembenaran dalam
sistem dimana transaksi basis data dua atau lebih, dilaksanakan dengan waktu tumpang tindih,
dapat mengakses data yang sama, misalnya, hampir di setiap sistem database untuk tujuan
umum. Akibatnya tubuh besar penelitian terkait telah terakumulasi karena sistem database yang
telah muncul pada awal tahun 1970. Sebuah didirikan concurrency dengan baik kontrol teori
untuk sistem database diuraikan dalam referensi disebutkan di atas: serializability teori , yang
memungkinkan untuk secara efektif desain dan menganalisis metode kontrol concurrency dan
mekanisme. Sebuah teori alternatif untuk mengontrol concurrency transaksi atom lebih dari tipe
data abstrak, dan tidak digunakan di bawah ini. Teori ini lebih halus, dengan lingkup yang lebih
luas, namun kurang digunakan dalam literatur Database dari teori klasik di atas. Teori Masing-
masing memiliki kelebihan dan kontra, penekanan dan wawasan . Untuk beberapa hal mereka
saling melengkapi, dan penggabungan mereka mungkin berguna.
· Atomicity: Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya
atau jika gagal , maka tidak berpengaruh apapun terhadap database.
· Consistency: Setiap transaksi adalah sebuah aksi kombinasi secara logikal dari sebuah
state database yang konsisten ke state yang lain dengan tetap menjaga kekonsistenan database
tersebut.
5. Schedule
Schedule adalah sebuah urutan dari operasi-operasi oleh satu set transaksi yang jalan
bersamaan yang menjaga urutan operasi pada setiap transaksi individual. Sebuah transaksi
mencakup sebuah urutan operasi yang terdiri dari tindakan baca dan/atau tulis pada database,
diikuti oleh sebuah tindakan commit atau abort. Sebuah schedule S terdiri dari sebuah urutan
operasi dari sekumpulan n transaksi T1, T2, … Tn, bergantung pada constraint yang dilindungi
oleh urutan operasi untuk setiap transaksi pada schedule tersebut. Jadi, untuk setiap transaksi Ti
pada schedule S, urutan operasi pada Ti harus sama dengan schedule S. Serial Schedule adalah
sebuah schedule di mana operasi dari setiap transaksi dijalankan secara berurutan tanpa adanya
transaksi yang mengganggu transaksi lainnya. Non Serial Schedule adalah
sebuah schedule dimana operasi-operasi dari satu set concurrent transactions mengalami
interleaved.Pada sebuah serial schedule, transaksi dijalankan pada serial order. Contohnya, jika
kita mempunyai dua transaksi T1 dan T2, serial ordernya akan menjadi T1 diikuti oleh T2, atau
T2 diikuti oleh T1. Lalu, pada eksekusi serial tidak ada interferensi antara transaksi, karena
hanya satu transaksi yang berjalan pada satu waktu. Tujuan serializability adalah untuk
menemukan non serial schedule yang mengizinkan transaksi untuk berjalan secara bersamaan
tanpa mengganggu satu sama lain, dan kemudian memproduksi sebuah state database yang dapat
diproduksi oleh sebuah eksekusi serial. Jika sebuah set transaksi berjalan secara bersamaan, bisa
dikatakan bahwa schedule (nonserial) adalah benar jika memproduksi hasil yang sama seperti
beberapa eksekusi serial lainnya. Schedule seperti itu disebut serializable. Untuk mencegah
inkonsistensi dari transaksi yang mengganggu satu sama lain, penting untuk
menjamin serializability dari transaksi yang jalan bersamaan.
Pada serializability, urutan operasi baca dan tulis itu penting. Berikut ini hal – hal yang perlu
diperhatikan:
· Jika dua transaksi hanya membaca satu item data yang sama, dua transaksi tersebut tidak
mengalami konflik dan urutan menjadi tidak penting.
· Jika dua transaksi melakukan operasi membaca ataupun menulis pada item data yang
berbeda, dua transaksi tersebut tidak mengalami konflik dan urutan menjadi tidak penting.
· Jika satu transaksi menulis sebuah item data dan transaksi lain baik membaca ataupun
menulis pada item data yang sama, maka urutan eksekusi itu menjadi penting.
7. Metode Locking
· Transaksi apapun yang membutuhkan akses pada sebuah item data harus
melakukan lock terhadap item tersebut, meminta shared lock untuk akses membaca saja atau
sebuah exclusive lock untuk akses membaca dan menulis.
Two Phase Locking adalah sebuah transaksi yang mengikuti protocol two-phase locking jika
semua operasi locking mendahului operasi unlock pertama pada transaksi.
· Sebuah transaksi harus mendapatkan sebuah lock pada item sebelum beroperasi pada item
tersebut. Lock tersebut bisa berupa baca atau tulis, tergantung dari tipe akses yang dibutuhkan
3. Deadlock
Deadlock adalah jalan buntu yang dapat terjadi ketika dua atau lebih transaksi masing-masing
menunggu lock yang sedang dipegang oleh transaksi lainnya untuk dilepas. Hanya ada satu cara
untuk menghancurkan deadlock, yaitu abort satu atau lebih transaksi. Ada tiga cara untuk
menangani deadlock, yaitu timeout, deadlock prevention dan deadlock detection and recovery.
4. Timeout
5. Deadlock Prevention
6. Deadlock Detection
WFG adalah sebuah directed graph G = (N, E ) yang terdiri dari satu set node N dan satu
set directed edge E, yang dikonstruksi sebagai berikut
A.Kesimpulan
Concurrency control dalam sistem manajemen database, lain transaksional
benda, dan aplikasi terdistribusi yang terkait (misalnya, komputasi Grid dan Cloud
computing ) memastikan bahwa database transaksi dilakukan bersamaan tanpa
melanggar integritas data dari masing-masing database . Jadi kontrol concurrency
merupakan elemen penting untuk pembenaran dalam sistem dimana transaksi basis
data dua atau lebih, dilaksanakan dengan waktu tumpang tindih, dapat mengakses data
yang sama, misalnya, hampir di setiap sistem database untuk tujuan umum.
B. Saran
Diharapkan kepada Mahasiswa untuk dapat mengerti mengenai materi
concurrency control Database ini karena materi ini sangat penting buat kita yang ingin
menjalankan suatu program atau menjadi seorang programer.Saya juga menyarankan
kepada teman-teman apapun yang ingin kita lakukan janganlah pernah takut untuk
mencobanya,karena menyesal sebelum mencoba akan terasa sakit daripada menyesal
setelah mencobanya.
DAFTAR PUSTAKA
https://slidetodoc.com/concurrency-control-dbms-1-
ikhtisar-latar-belakang-concurrency/
https://www.google.com/url?
sa=t&source=web&rct=j&url=https://mahasiswa.yai.a
c.id/v5/data_mhs/tugas/1944390011/13BASIS
%2520DATA%2520PER
%252013.docx&ved=2ahUKEwjKw-
GOr__0AhUL_XMBHSPUBhcQFnoECEIQAQ&usg=
AOvVaw1B3C2Fm-F4BZDSXaaUFL2a