A. Jelaskan Outcome dari transaksi dan berikan contoh nya
1. Commit
Jika operasi berjalan sukses, maka transaksi disebut commited, basis data mencapai kondisi konsisten yg baru.
Contoh, dalam kasus Mesin Kasir jika transaksi barang berhasil, akan di lanjutkan ke dalam pembayaran
2. Abort
Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal), Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone
Contoh, dalam kasus Mesin Kasir jika transaksi barang yg tidak jadi / batal, akan di hapus
B. Properti Transaksi yaitu ACID, jelaskan dan berikan contoh.
Transaksi bertujuan untuk mencegah dari kehilangan ataupun kerusakan data. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
1. Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
2. Consistency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
3. Isolation, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.
4. Durability, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.
Contoh Soal :
Transaksi transfer uang sebesar $50 dari rekening A ke rekening B, maka transaksi tersebut dapat didefinisikan sebagai berikut :
1. read(A)
2. A := A – 50
3. write(A)
4. read(B)
5. B := B + 50
6. write(B)
Berdasarkan contoh, ditinjau dari kebutuhan properti ACID-nya, maka :
Kebutuhan Atomik (Atomicity Requeirements) :
Jika transaksi gagal diantara tahap ke-3 dan tahap ke-6, maka sistem harus memastikan bahwa perubahan yang terjadi tidak disimpan ke database, atau akan terjadi inkonsistensi data. Dengan kata lain, selesaikan transaksi atau tidak sama sekali.
Kebutuhan Konsistensi (Consistency Requierements) :
Total jumlah rekening A + B harus tetap, tidak berubah setelah proses eksekusi transaksi.
Kebutuhan Isolasi (Isolation) :
Jika diantara tahap ke-3 dan tahap ke-6 ada transaksi lain yang disisipkan, maka akan dapat menyebabkan inkonsistensi terhadap database (jumlah rekening A+B bisa jadi berkurang dari yang seharusnya). Untuk menghindari hal itu, maka transaksi bisa dieksekusi secara serial.
Tapi walaubagaimanapun, eksekusi banyak transaksi secara bersama – sama (konkuren) memiliki banyak keuntungan.
Kebutuhan Durabilitas (Durability) :
Pada saat eksekusi transaksi selesai dilaksanakan, dan user yang melakukan transaksi sudah diberitahu bahwa transfer yang dilakukannya sukses, maka harus dipastikan bahwa tidak ada kesalahan sistem yang akan terjadi yang menyebabkan hilangnya data yang berkaitan dengan proses transfer tersebut .
1. Commit
Jika operasi berjalan sukses, maka transaksi disebut commited, basis data mencapai kondisi konsisten yg baru.
Contoh, dalam kasus Mesin Kasir jika transaksi barang berhasil, akan di lanjutkan ke dalam pembayaran
2. Abort
Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal), Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone
Contoh, dalam kasus Mesin Kasir jika transaksi barang yg tidak jadi / batal, akan di hapus
B. Properti Transaksi yaitu ACID, jelaskan dan berikan contoh.
Transaksi bertujuan untuk mencegah dari kehilangan ataupun kerusakan data. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
1. Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
2. Consistency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
3. Isolation, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.
4. Durability, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.
Contoh Soal :
Transaksi transfer uang sebesar $50 dari rekening A ke rekening B, maka transaksi tersebut dapat didefinisikan sebagai berikut :
1. read(A)
2. A := A – 50
3. write(A)
4. read(B)
5. B := B + 50
6. write(B)
Berdasarkan contoh, ditinjau dari kebutuhan properti ACID-nya, maka :
Kebutuhan Atomik (Atomicity Requeirements) :
Jika transaksi gagal diantara tahap ke-3 dan tahap ke-6, maka sistem harus memastikan bahwa perubahan yang terjadi tidak disimpan ke database, atau akan terjadi inkonsistensi data. Dengan kata lain, selesaikan transaksi atau tidak sama sekali.
Kebutuhan Konsistensi (Consistency Requierements) :
Total jumlah rekening A + B harus tetap, tidak berubah setelah proses eksekusi transaksi.
Kebutuhan Isolasi (Isolation) :
Jika diantara tahap ke-3 dan tahap ke-6 ada transaksi lain yang disisipkan, maka akan dapat menyebabkan inkonsistensi terhadap database (jumlah rekening A+B bisa jadi berkurang dari yang seharusnya). Untuk menghindari hal itu, maka transaksi bisa dieksekusi secara serial.
Tapi walaubagaimanapun, eksekusi banyak transaksi secara bersama – sama (konkuren) memiliki banyak keuntungan.
Kebutuhan Durabilitas (Durability) :
Pada saat eksekusi transaksi selesai dilaksanakan, dan user yang melakukan transaksi sudah diberitahu bahwa transfer yang dilakukannya sukses, maka harus dipastikan bahwa tidak ada kesalahan sistem yang akan terjadi yang menyebabkan hilangnya data yang berkaitan dengan proses transfer tersebut .


Comments
Post a Comment