THOUSANDS OF FREE BLOGGER TEMPLATES

Sabtu, 16 Januari 2010

Masalah Kehilangan Modifikasi dan Modifikasi Sementara

Studi Kasus

1. Masalah Kehilangan Modifikasi

Ika dan Susi memiliki rekening simpanan secara bersamaan dengan saldo Rp. 1.000.000,00. Susi mendapat pembayaran sebesar Rp. 100.000,00 dan memutuskan untuk menyimpan di dalam rekening tersebut, dengan menggunakan kantor cabang bank yang dekat dengan pekerjaannya. Pada saat yang bersamaan, Ika memerlukan uang untuk membayar sesuatu dan memutuskan untuk mengambil Rp. 50.000,00 dari rekening bersamaan tersebut, dengan menggunakan kantor cabang yang berbeda. Jika transaksi ini dieksekusi secara bersamaan, transaksi yang satu diproses setelah transaksi yang lain tanpa operasi interleaved (selang waktu operasi) maka saldo akhir adalah Rp. 1.050.000,00 tanpa terkecuali transaksi tersebut diproses secara konkuren, maka saldo akhir menjadi tidak benar. Gambar dibawah ini menunjukkan schedule untuk dieksekusi secara konkuren yang menghasilkan saldo akhir Rp. 1.100.000,00 terlihat pada schedule ini pada waktu interleaved, transaksi untuk Susi masih menggunakan nilai yang dibacanya melalui variabel saldo, bukan nilai baru yang belum dibacanya. Berdasarkan schedule ini update yang berasal dari transaksi Ika menjadi hilang.

Waktu

Transaksi Ika

Transaksi Susi

Saldo

T1

Read Saldo

…………………..

Rp.1.000.000,00

T2

……………..……

Read Saldo

Rp.1.000.000,00

T3

Saldo= Saldo+

Rp.50.000,00

…………………..

Rp.1.000.000,00

T4

Write Saldo

………………….

Rp.1.000.000,00

T5

………………….

Saldo= Saldo+Rp.100.000,00

Rp1.000.000,00

T6

………………….

Write Saldo

Rp1.0000.000,00


2. Permasalahan Modifikasi Sementara

Pada schedule transaksi, transaksi Bunga dihitung untuk rekening simpanan dan tingkat bunga sebesar 15%, sedangkan transaski simpanan menyimpan Rp. 1.000.000,00 ke rekening tersebut , tetapi terjadi roll back. Nilai saldo awal pada rekening tersebut adalah Rp.1.000.000,00 seandainya transaksi simnpanan mengupdate nilai dari saldo menjadi Rp. 2.000.000,00 sebelum transaksi bunga membaca saldo, maka jumlah yang akan disimpan adalah Rp. 2.100.000,00. tetapi transaksi simpanan terjadi roll back yang berarti keadaan database seharusnya tidak berpengaruh, disebabkan transaksi simpanan tersebut.akibat transaksinya sendiri mengalami kesalahan, kemungkinan terjadi kredit rekening yang salah atau sebagai akibat sistem crash. Sehingga tingkat bunga yang dihitung terhadap saldo menjadi tidak benar. Jika roll back dilakukan maka saldo mungkin menjadi tidak benar.

Waktu

Transaksi Simpanan

Transaksi Bunga

Saldo

T1

Read Saldo

…………………..

Rp.1.000.000,00

T2

Saldo= Saldo+

Rp.1.000.000,00

…………………..

Rp.1.000.000,00

T3

Write Saldo

…………………..

Rp.2.000.000,00

T4

………………….

Read Saldo

Rp.2.000.000,00

T5

………………….

Saldo= Saldo*15%

Rp.2.000.000,00

T6

………………….

Write Saldo

Rp.2.000.000,00

T7

Roll Back

…………………..

Rp.2.100.000,00

Cara Kerja Locking

  • Kunci X: Kunci ekslusif (Bisa merubah transaksi nilai)
  • Kunci S : Kunci dipergunakan bersama-sama ( Tidak bisa melakukan modifikasi nilai, hanya bisa membaca transaksi )

Implementasi Locking
Kunci X dan S

  • Jika transaksi A menggunakan kunci X pada record R, maka permintaan dari transaksi B untuk suatu kunci pada R ditunda dan B harus menunggu sampai A melepaskan kunci tersebut.
  • Jika transaksi A menggunakan kunci S pada record R, maka :
    a. Bila transaksi B ingin menggunakan kunci X, maka B harus menunggu sampai A melepaskan kunci tersebut.
    b. Bila transaksi B ingin menggunakan kunci S, maka B dapat menggunakan kunci S secara bersama-sama
  • Jika transaksi hanya melakukan pembacaan saja, secara otomatis hanya memerlukan kunci S .
  • Jika transaksi untuk melakukan modifikasi pada suatu record, maka memerlukan kunci X.

Senin, 11 Januari 2010

"MEGA ELEKTRONIK"





Setiap customer memesan barang elektronik dengan mengirimkan PO kepada bagian penjualan. bagian penjualan setelah menerima PO mengecek stok persediaan apabila terpenuhi maka dibuatkan faktur. Konfirmasi kepada pelanggan mengenai pesanan yang telah disetujui dan membayar uang muka sebesar 10% dari nilai penjualan yang di transfer melalui rekening bank. Bagian keuangan mengecek informasi rekening bank apabila sudah masuk, uang pembayaran maka akan dibuatkan kwitansi pembayaran lunas untuk uang muka yang diberikan kepada bagian penjualan , bagian penjualan setelah mendapatkan kwitansi tersebut membuat dokumen penjualan yang berisi : faktur, kwitansi. lunas / uang muka dalam surat jalan yang diberikan kepada customer.