Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TRANSAKSI DAN PENGENDALIAN PERSAINGAN

Presentasi serupa


Presentasi berjudul: "TRANSAKSI DAN PENGENDALIAN PERSAINGAN"— Transcript presentasi:

1 TRANSAKSI DAN PENGENDALIAN PERSAINGAN

2 Pengertian Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data. DBMS yang kita gunakan harus bisa menjamin bahwa setiap satuan transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali.

3 Pelaksanaan sebuah transaksi akan berpeluang untuk mengganggu integritas basis data yang membuat kondisi data atau hubungan antar data berada dalam keadaan salah atau tidak seperti yang seharusnya. Untuk menjamin agar integritas tetap terpelihara, setiap transaksi harus memiliki sifat : atomik, konsisten, terisolasi, bertahan.

4 Contoh Transaksi Sebuah basis data yang mengelola data simpanan nasabah pada sebuah bank. Selanjutnya diinginkan sebuah transaksi yang melibatkan dua nasabah sekaligus, dimana nasabah pertama akan melakukan transfer sejumlah dana ke nasabah yang lain. Jika transaksi perbankan ingin diimplementasikan sebuah transaksi basis data, maka kita membutuhkan dua buah operasi elementer yaitu read(X) dan write(X).

5 Contoh Transaksi Jika Ti menyatakan sebuah transaksi basis data yang melakukan transfer uang sebesar Rp (seratus ribu rupiah) dari rekening (milik nasabah pertama) ke rekening nasabah B (milik nasabah kedua), maka Ti dapat didefinisikan melalui rincian operasi : Ti : read (A) A ← A – write (A) read (B) B ← B write (B)

6 Status Transaksi Secara lengkap, status-status transaksi dapat dicapai oleh sebuah transaksi sejak mulai dilaksanakan hingga selesai atau dibatalkannya transaksi, yaitu : Partially commited commited active aborted failed Prepared by Harsiti 2009

7 Status Transaksi Jika transaksi berada dalam status “failed” maka DBMS harus menjalankan proses rollback. Proses tersebut bisa berupa : Mengulangi pelaksanaan transaksi (restart), yang dapat dilakukan terhadap operasi yang gagal (failed) akibat kemacetan sistem bukan penghentian transaksi secara sengaja oleh user. Mematikan transaksi (kill), yang dilakukan untuk transaksi yang dihentikan sengaja oleh user atau akibat adanya kesalahan logik dalam penulisan aplikasi,

8 Persaingan Eksekusi Transaksi
Concurrency : banyak transaksi yang dijalankan secara bersamaan. Hampir semua DBMS adalah multiuser, sehingga berpeluang terjadinya inkonsistensi basis data. Maka perlu adanya pengendalian persaingan eksekusi transaksi (concurrency control). Prepared by Harsiti 2009

9 Persaingan Eksekusi Transaksi
Alasan mengapa transaksi yang konkuren banyak dipilih dibandingkan transaksi secara serial: a. Idle time (waktu tunggu) kecil. b. Response time (waktu tanggap) lebih baik Prepared by Harsiti 2009

10 Contoh Sistem Konkuren
Masih menggunakan contoh yang sama dengan contoh transaksi Saldo Nasabah A = Rp ,- Saldo Nasabah B = Rp ,- Transaksi Pentransferan dana dari rekening A ke rekening B. Prepared by Harsiti 2009

11 Contoh Sistem Konkuren
T1 berfungsi untuk mentransfer sebesar Rp ,- ke rekening B Operasinya : T1 : read (A) A ← A write (A) read (B) B ← B write (B) Prepared by Harsiti 2009

12 Contoh Sistem Konkuren
T2 berfungsi mentransfer dana sebesar 10% dari saldo rekening A ke rekening B. Operasinya : T2 : read (A) temp ← 0.1 * A A ← A – temp write (A) read (B) B ← B + temp write (B) Prepared by Harsiti 2009

13 Contoh Sistem Konkuren
Saldo akhir dari kedua rekening setelah kedua transaksi di atas dikerjakan, tergantung pada bagaimana urutan pengerjaan (schedule) dari transaksi tersebut. Jika transaksi T1 dikerjakan lebih dulu daripada T2, dan kedua transaksi dikerjaan secara serial demi konsistensi basis data secara keseluruhan, maka bentuk operasi dari kedua transaksi tersebut adalah : Prepared by Harsiti 2009

14 Contoh Sistem Konkuren Schedule 1
T1 T2 read (A) A← A write (A) read (B) B ← B write (B) temp ← 0.1 * A A ← A – temp B ← B + temp Prepared by Harsiti 2009

15 Contoh Sistem Konkuren Schedule 2
Jika T2 dikerjakan lebih dahulu dari pada T1 T1 T2 read (A) temp ← 0.1 * A A ← A – temp write (A) read (B) B ← B + temp write (B) A← A B ← B Prepared by Harsiti 2009

16 Contoh Sistem Konkuren
Kesimpulanya, bagaimanapun urutan pengerjaan transaksi, selama dikerjakan secara serial maka pada akhir transaksi, kondisi konsiste yang baru akan tetap diperoleh. Prepared by Harsiti 2009

17 Contoh Sistem Konkuren
Pada database terdistribusi memungkin untuk melakukan transaksi secara bersama dan tentu saja pilihan urutan pengerjaan transaksi (schedule) akan lebih banyak lagi. Jika terdapat transaksi sebanyak n, akan ada transaksi lebih dari n! buah alternatif schedule. Prepared by Harsiti 2009

18 Contoh Sistem Konkuren Schedule 3
T1 T2 read (A) A ← A – Write (A) temp ← 0.1 * A A ← A – temp write (A) Read (B) B ← B Write (B) read (B) B ← B + temp write (B) Prepared by Harsiti 2009

19 Contoh Sistem Konkuren Schedule 3
Pada Schedule 3 ini, konsistensi hasil transaksi tetap dapat diperoleh kendati kedua transaksi tersebut dikerjakan secara konkuren. Tetapi kondisi di atas belum tentu dapat dipenuhi oleh schedule konkuren lainnya. Prepared by Harsiti 2009

20 Contoh Sistem Konkuren Schedule 4.
T1 T2 I/O read (A) CPU A ← A – I/0 read (A) I/O write (A) CPU temp ← 0,1 * A CPU A ← A -temp I/O write (A) I/O read (B) I/O read (B) CPU B ← B + temp CPU B ← B I/O write (B) I/O write (B) Prepared by Harsiti 2009

21 Contoh Sistem Konkuren Schedule 4.
Bagaimana nilai akhir saldo setelah pelaksanaan transaksi T1 dan T2 selesai dikerjakan? Masih tetap konsistenkah saldonya? Prepared by Harsiti 2009


Download ppt "TRANSAKSI DAN PENGENDALIAN PERSAINGAN"

Presentasi serupa


Iklan oleh Google