![]() 20
t
4
bal
x
=
bal
x
-
10
Sum=sum+bal
x
100
50
25
100
t
5
write(bal
x
)
Read(bal
y
)
90
50
25
100
t
6
read(bal
z
)
sum=sum+bal
y
90
50
25
150
t
7
bal
z
=bal
z
+
10
90
50
25
150
t
8
write(bal
z
)
90
50
35
150
t
9
commit
read(bal
z
)
90
50
35
150
t
10
sum=sum+bal
z
90
50
35
185
t
11
commit
90
50
35
185
Tabel 2. 4
Masalah inconsistent analysis
Sumber : Connoly, 2005, p579
Penjelasan:
Masalah inconsistent
analysis
muncul
ketika
sebuah
transaksi
membaca beberapa
nilai
dari
database
tapi
transaksi
kedua
mengubah
beberapa
darinya
ketika
eksekusi transaksi
yang
pertama.
Contohnya,
sebuah
transaksi
yang
meringkas data
pada
sebuah
database(contohnya,
saldo
total)
akan
mendapat hasil
yang
tidak
akurat
jika,
ketika
berjalan,
transaksi
lain
sedang
mengubah database.
Pada
contoh
diatas,
ringkasan
transaksi
T
6
sedang
berjalan
secara
bersamaan dengan
transaksi
T
5
.
Transaksi
T
6
sedang
menjumlahkan
saldo
rekening
x
($100),
rekening
y
($50),
dan
rekening z($25).
Namun,
di
tengah
jalan,
transaksi
T
5
telah
mentransfer
$10
dari
bal
x
ke
bal
z
,
sehingga
T
6
sekarang
mempunyai
hasil
yang salah (lebih besar $10). Masalah ini dapat dihindari dengan mencegah
|