Anda di halaman 1dari 11

TIME-STAMP-BASED CONCURRENCY

CONTROL ALGORITHMS

Disusun untuk memenuhi Basis Data Terdistribusi yang dibimbing oleh
Triyanna Widyaningtyas, S.T, M.T.



Oleh
Galih Prasetyo 110533430521 (Offering B)
Muhammad Damaris W. 110533406979 (Offering A)
Novi Adi Triswandi 110533406978 (Offering A)
Rezanda Rohman 110533430527 (Offering B)
Selly Ariesta Fitriana 110533430624 (Offering D)
Umi Kholifah 110533430510 (Offering B)
KELOMPOK 4






UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI S1 PENDIDIKAN TEKNIK INFORMATIKA
APRIL 2014


ii

KATA PENGANTAR
Puji syukur kami ucapkan kehadirat Allah SWT karena berkat rahmat,
taufik, dan hidayah-Nya, kami dapat menyelesaikan makalah yang berjudul Time-
Stamp-Based Concurrency Control Algorithms. Makalah ini diajukan guna
memenuhi tugas dari matakuliah Basis Data Terdistribusi. Penyusunan makalah
ini dapat diselesaikan atas bantuan serta bimbingan dari berbagai pihak, untuk itu
kami dengan tulus hati menyampaikan ucapan terima kasih kepada :
1. Triyanna Widyaningtyas, S.T, M.T., selaku Dosen pengampu matakuliah
Basis Data Terdistribusi.
2. Segenap media yang telah menjadi sumber rujukan makalah.
Kami mengucapkan terima kasih kepada semua pihak yang telah
membantu sehingga makalah ini dapat diselesaikan sesuai dengan waktunya.
Kami menyadari makalah ini masih jauh dari sempurna, oleh karena itu kami
mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan
makalah ini.
Semoga makalah ini dapat memberikan informasi bagi masyarakat dan
bermanfaat untuk pengembangan ilmu pengetahuan bagi kita semua.

Malang, April 2014


Penulis



iii

DAFTAR ISI
Halaman
KATA PENGANTAR ..................................................................................... ii
DAFTAR ISI .................................................................................................... iii
BAB I PENDAHULUAN ................................................................................ 1
A. Latar Belakang .................................................................................... 1
B. Rumusan Masalah ............................................................................... 2
C. Tujuan ................................................................................................. 2
BAB II PEMBAHASAN ................................................................................. 3
A. Metode Timestamp pada Teknik Concurency Control ........................ 3
B. Penerapan Metode Timestamp pada Teknik Concurency Control ....... 5
BAB III PENUTUP ......................................................................................... 7
A. Kesimpulan ......................................................................................... 7
DAFTAR PUSTAKA ...................................................................................... 8


1



BAB I
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).
Untuk mengatasi adanya kemungkinan inconsistency data, maka
dibutuhkan adanya suatu mekanisme yang mengatur jalannya transaksi
pengaksesan data yang sama tersebut. Mekanisme ini dikenal dengan istilah
concurrency control. Concurrency control adalah proses pengaturan operasi
operasi dalam banyak transaksi yang berjalan secara simultan pada database tanpa
mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data
yang konsisten. Tiga contoh masalah penting yang terkait oleh concurrency, yaitu
masalah Lost-Update, masalah Uncommitted Dependency, dan masalah
Inconsistent Analysis.
Ada dua teknik concurrency control utama yang mengijinkan transaksi
untuk berjalan dengan aman dalam subjek paralel untuk constraint tertentu, yaitu
locking dan metode timestamp tertentu. Locking dan timestamping adalah
pendekatan konservatif karena mereka menyebabkan transaksi ditunda dalam
kasus mereka konflik dengan transaksi lain pada beberapa waktu di masa yang
akan datang. Metode optimistik, didasarkan pada premis bahwa konflik itu jarang
ditemui, jadi mereka mengijinkan transaksi untuk lanjut tidak tersinkronisasi dan
hanya mengecek konflik di bagian akhir, ketika transaksi melakukan operasi
commit.
Jenis teknik concurrency control yang akan dibahas pada makalah ini
metode timestamp. Suatu cara untuk menetapkan prioritas adalah memberikan


2

timestamp pada tiap transaksi pada saat mulai. Semakin rendah timestamp,
semakin tinggi prioritas transaksi, yaitu transaksi paling tua mempunyai prioritas
tertinggi.

B. Rumusan Masalah
Berdasarkan latar belakang yang telah diungkapkan diatas, maka dapat
dirumuskan beberapa masalah yaitu sebagai berikut.
1. Apakah metode timestap pada teknik concurrency control ?
2. Bagaimana penerapan metode timestap pada teknik concurrency
control ?

C. Tujuan
Berdasarkan rumusan masalah yang telah dipaparkan, maka tujuan dari
penulisan makalah ini adalah sebagai beikut.
1. Mengetahui tentang metode timestap pada teknik concurrency control.
2. Mengetahui penerapan metode timestap pada teknik concurrency
control.











3




BAB II
PEMBAHASAN

A. Metode Timestap pada Teknik Concurrency Control
Salah satu alternatif concurrency control yang dapat menghilangkan
deadlock adalah time stamping. Secara umum, timestamping (TS) adalah penanda
waktu saat transaksi terjadi. Pengertian lain dari timestamping adalah salah satu
cara untuk menjamin serialbilitas dengan memilih sebuah urutan diantara
beberapa transaksi. Untuk setiap transaksi Ti didalam sistem ditetapkan sebuah
nilai berdasarkan waktu yang tetap dan unik dengan notasi TS(Ti), dimana
transaksi dengan timestamping yang lebih kecil mendapatkan prioritas untuk
dilaksanakan terlebih dahulu.Timestamp berfungsi untuk mengurutkan eksekusi
transaksi agar sama dengan eksekusi serial. Timestamp dapat berupa :
a. waktu sistem saat transaksi dimulai, atau
b. penghitung logik (logical counter) yang terus bertambah nilainya tiap
kali terjadi transaksi baru.
Contoh :
Pada saat menerima pesan, sebuah lokasi membandingkan timestamp-nya
dengan timestamp yang ada pada pesan. Jika timestamp-nya lebih kecil, ubah
nilainya menjadi lebih besar dibandingkan dengan timestamp pesan. Sebagai
contoh, jika lokasi 1 dengan timestamp yang berlaku <10,1> mengirim pesan ke
lokasi 2 dengan timestamp <15,2> , maka lokasi 2 tidak akan merubah
timestampnya. Di sisi lain jika timestamp pada lokasi 2 adalah <5,2> maka
timestamp-nya akan berubah menjadi <11,2>.
Selain transaksi, item data juga memiliki nilai timestamp. Untuk setiap
item data Q, ada 2 nilai timestamp, yaitu :
a. Read time stamp atau R-timestamp(Q), yang menunjukkan nilai TS
terbesar dari setiap transaksi yang berhasil menjalankan operasi read(Q).
b. Write time stamp atau W-timestamp(Q), yang menunjukkan nilai TS
terbesar dari setiap transaksi yang berhasil menjalankan operasi write(Q)


4


Timestamp ini akan selalu diperbarui ketika ada perintah baru
read(Q) atau write(Q) yang dijalankan.
1. Timestamping - Read(x)
Transaksi T membaca item x yang telah diubah oleh transaksi baru
(younger), yaitu ts(T) < write_timestamp(x). Berarti transaksi lama mencoba
untuk membaca nilai suatu item yang telah diubah oleh transaksi baru. Dalam hal
ini transaksi T harus digagalkan dan diulangi dengan timestamp yang baru.
ts(T) >= read_timestamp(x) , dan operasi pembacaan
dapat diproses. Ditetapkan read_timestamp(x) =
max(ts(T), read_timestamp(x)

2. Timestamping - Write(x)
Ts(T) < read_timestamp(x), hal ini terjadi ketika transaksi lama telat
melakukan penulisan sehingga transaksi baru membaca nilai yang salah. Dalam
hal ini harus dilakukan rolled-back transaksi T dan mengulanginya dengan
timestamp berikutnya.
Ts(T) < write_timestamp(x), dimana x telah dituliskan oleh transaksi baru.
Ini berarti transaksi T berusaha untuk menuliskan nilai obsolete dari data item x.
Maka transaksi T harus di-rolled back dan diulangi dengan menggunakan
timestamp berikutnya.
Selain itu, dapat ditetap write_stimestamp(x) = ts(T), operasi dapat
diterima dan dieksekusi.
Berikut adalah contoh Basic Timestamp Ordering


5



B. Penerapan Metode Timestap pada Teknik Concurrency Control
1. Time-stamping Ordering Protocol
Protokol ini menjamin bahwa tiap operasi read dan write yang
memiliki konflik dieksekusi sesuai urutan TS.
a. Untuk transaksi Ta yang menjalankan operasi read(Q)
1) Jika TS(Ta) < W-TS(Q) maka transaksi Ta perlu membaca kembali
nilai Q yang telah ditulis dan transaksi Ta akan dibatalkan (rollback).
2) Jika TS(Ta) W-TS(Q) maka operasi read dieksekusi, dan R-TS(Q)
diisi dengan nilai terbesar diantara TS(Ta) dan R-TS(Q).
b. Untuk transaksi Ta yang menjalankan operasi write(Q)
1) Jika TS(Ta) < R-TS(Q) maka nilai Q yang baru dihasilkan Ta
tidak akan dimanfaatkan lagi, dan sistem berasumsi bahwa nilai
tersebut tidak pernah dihasilkan. Karena itu operasi write ditolak,
dan transaksi Ta di rollback.


6


2) Jika TS(Ta) < W-TS(Q) maka itu berarti transaksi Ta sedang
berusaha melakukan penulisan nilai Q yang kadaluarsa. Maka
operasi write ini akan ditolak dan transaksi Ta akan di rollback.
Di luar kondisi a dan b di atas, operasi write dieksekusi dan W-
TS(Q) diberi nilai baru yang sama dengan TS(Ta).
Terhadap transaksi Ta yang di rollback, akan diberikan sebuah timestamp
yang baru dan diulang kembali. Properti timestamp ada dua yaitu sebagai berikut.
a. Unique
Masing-masing timestamp suatu transaksi adalah unik.
b. Monocity
Dua timestamp yang dihasilkan transaksi yang sama meningkat secara
monoton.
Sedangkan untuk pemberian nilai timestamp terdpaat dua cara yaitu :
a. Global (systemwide) monotonically increasing number
b. Local (site) monotonically increasing number

7




BAB III
PENUTUP
A. Kesimpulan
Berdasarkan paparan yang telah disampaikan pada pembahasan terdapat
kesimpulan yang didapat dari makalah ini yaitu sebagai berikut.
1. Timestamping adalah salah satu cara untuk menjamin serialbilitas dengan
memilih sebuah urutan diantara beberapa transaksi. Untuk setiap
transaksi Ti didalam sistem ditetapkan sebuah nilai berdasarkan waktu
yang tetap dan unik dengan notasi TS(Ti), dimana transaksi dengan
timestamping yang lebih kecil mendapatkan prioritas untuk dilaksanakan
terlebih dahulu.
2. Penerapan metode timestap pada teknik concurrency control dilakukan
dengan adanya aturan yaitu Time-stamping Ordering Protocol. Protokol
ini menjamin bahwa tiap operasi read dan write yang memiliki
konflik dieksekusi sesuai urutan TS.

8


DAFTAR PUSTAKA

Andheecha.2012.ConcurencyControl.(Online).(http://alvadiecha.blogspot.com/20
12/11/concurrency-control.html) diakses tanggal 11 April 2014.

Anonim.__.PengontrolanBerbasisKomputer.(Online).(http://dhedee29.staff.gunad
guna.ac.id/Downloads/files/34452/DATABASE+CONTROL.pdf) diakses
tanggal 11 April 2014.

Anonim.2009.ConcurencyControl.(Online).(http://pt4171it.wordpress.com/2009/1
1/21/concurrency-control/) diakses tanggal 11 April 2014.

Suryabrata, Arghanta Wijna._____.Transactions and Concurrency
Control.(Online).(http://te.ugm.ac.id/~risanuri/distributed/ringk/bab12.pdf)
diakses tanggal 11 April 2014.

Widhyaestoeti,Dahlia.2012.ConcurencyControl.(Online).(http://dahlia74march.fil
es.wordpress.com/2012/09/9-concurency-control.pdf) diakses tanggal 11
April 2014.

Anda mungkin juga menyukai