Transaksi pada Oracle     Basis Data Dasar
Nama kelompok :HendraMita
TRANSAKSITransaksi adalah konsep fundamental dari system database. Intidari transaksi adalah membundel operasi-operasi ked...
Ilustrasi kondisi transaksi yang           tidak ideal
Untuk menghindari kondisi kegagalan sepertiilustrasi diatas, DBMS menggunakan systemTransaksi, yang memaketkan beberapa op...
Pada DBMS transaksi di paketkan dengan klausa-klausa seperti dibawah : BEGIN TRANSACTION;         UPDATE account SET saldo...
Untuk menjamin integritas data, maka setiap transaksi harus memilikisifat-sifat :1.   Atomik (Atomicity) : semua operasi-o...
STATUS TRANSAKSITerhenti atau tidak sempurnanya pelaksanaan sebuahtransaksi tidak selalu diakibatkan oleh kegagalan inside...
STATUS TRANSAKSI(Lanjutan)Terhadap transaksi yang dibatalkan itu, data yang telahmengalami perubahan akibat pengeksekusian...
Secara lengkap, status-status yang dapat dicapai oleh sebuahtransaksi sejak mulai dilaksanakan hingga selesai ataudibatalk...
Diagram berikut menunjukkan aliran dan siklusperalihan status (state) dari sebuah transaksi :           Ketika sebuah tran...
Begitu proses perekaman tersebut selesai di kerjakan, maka transaksiberalih ke status yang baru, yaitu berhasil sempurna (...
Begitu proses perekaman tersebut selesai di kerjakan, maka transaksiberalih ke status yang baru, yaitu berhasil sempurna (...
Aplikasi jual beli online
Upcoming SlideShare
Loading in …5
×

Aplikasi jual beli online

514 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
514
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aplikasi jual beli online

  1. 1. Transaksi pada Oracle Basis Data Dasar
  2. 2. Nama kelompok :HendraMita
  3. 3. TRANSAKSITransaksi adalah konsep fundamental dari system database. Intidari transaksi adalah membundel operasi-operasi kedalam sebuahatau tidak sama sekali operasi.Bayangkan pada sebuah transaksi perbankan yang mentransferuang antara account :Sebagai contohnya, nasabah Alice mentransfer uang sebanyak Rp100.000 kepada nasabah Tara, maka ada dua operasi yang harus dilakukan, yaitu : (1) mengurangi saldo pada Nasabah Alice sebanyakRp 100.000 dan (2) menambah saldo pada nasabah Tara sebanyakRp 100.000.Pada kondisi yang ideal, kedua operasi tersebut berjalan lancar(saldo Alice berkurang Rp 100.000 dan saldo Tara bertambah Rp100.000). Sedangkan pada kondisi yang tidak ideal saldo Aliceberkurang Rp 100.000 sedangkan saldo Tara tidak bertambah Rp100.000.
  4. 4. Ilustrasi kondisi transaksi yang tidak ideal
  5. 5. Untuk menghindari kondisi kegagalan sepertiilustrasi diatas, DBMS menggunakan systemTransaksi, yang memaketkan beberapa operasimenjadi satu blok operasi Atomik, yaitu seluruhoperasi berhasil atau seluruh operasi gagal. Ilustrasi pemaketan transaksi kedalam sebuah blok
  6. 6. Pada DBMS transaksi di paketkan dengan klausa-klausa seperti dibawah : BEGIN TRANSACTION; UPDATE account SET saldo = saldo – 100000 WHERE nama = Alice; UPDATE account SET saldo = saldo + 100000 WHERE nama = Tara; -- etc, etc. COMMIT; Sebuah blok transaksi (pseudocode)
  7. 7. Untuk menjamin integritas data, maka setiap transaksi harus memilikisifat-sifat :1. Atomik (Atomicity) : semua operasi-operasi di dalam transaksi tersebut dapat di kerjakan seluruhnya atau tidak sama sekali. (dari pak Yudi Wibisono : semua berhasil atau semua gagal)1. Konsistensi (Consistency): eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah transaksi berakhir. (dari pak Yudi Wibisono : transaksi mempertahankan konsistensi database)1. Terisolasi (Isolation): jika pada sebuah sistem basisdata terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi-transaksi yang dilaksanakan pada saat bersamaan tersebut tidak mempengaruhi satu sama lain. (dari pak Yudi Wibisono : transaksi terisolasi satu dengan yang lain)1. Bertahan (Durability): dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya terjadi kegagalan system. (dari pak Yudi Wibisono : setelah commit, update harus survive di database).
  8. 8. STATUS TRANSAKSITerhenti atau tidak sempurnanya pelaksanaan sebuahtransaksi tidak selalu diakibatkan oleh kegagalan insidentialbaik dari perangkat keras (crash) ataupun kemacetan sistemoperasi (hang). Keadaan ini justru lebih sering terjadi secarasengaja, baik oleh aksi user yang sengaja menghentikaneksekusi transaksi karena terlalu lamanya pelaksanaantransaksi atau oleh keputusan penghentian transaksi olehDBMS akibat kondisi yang tidak diinginkan seperti DeadLock atau terlewatinya batas waktu (timeout) pelaksanaantransaksi yang telah di tetapkan. Dengan kenyataan ini, penting untuk di ketahuistatus (state) yang telah dicapai dalam pelaksanaan sebuahtransaksi. Transaksi yang terhenti pengeksekusiannya ditengah jalan (karena sebab apapun), akan dinyatakan dalamstatus gagal (failed). Selanjutnya transaksi itu akan dibatalkan (aborted).
  9. 9. STATUS TRANSAKSI(Lanjutan)Terhadap transaksi yang dibatalkan itu, data yang telahmengalami perubahan akibat pengeksekusian transaksitersebut oleh modul recovery dalam DBMS harus di kembalikankekeadaan semula (ROLLBACK), seperti keadaan dimanatransaksi belum di kerjakan sama sekali. Sementara transaksiyang telah di eksekusi dengan sempurna, biasa disebut beradadalam kondisi berhasil (commited).Perubahan nilai-nilai dalam basisdata oleh transaksi yang telahberada dalam status berhasil(commited) ini akan bersifatmenetap (persistent) dan tidak ada mekanisme apapun dalamDBMS yang dapat kita gunakan untuk mengembalikannya kenilai-nilai semula.Kecuali jika kemudian kita secara sengaja dan ekspisitmembuat/menjalankan transaksi yang merupakan kebalikandari transaksi sebelumnya(contoh: jika anda telah mengcommitsebuah transaksi transfer uang pada bank, tidak adamekanisme apapun di DBMS yang dapat mengembalikankekeadaan semula, kecuali jika anda membuat sebuahtransaksi yang bekerja membalikkan proses transfer uangtersebut).
  10. 10. Secara lengkap, status-status yang dapat dicapai oleh sebuahtransaksi sejak mulai dilaksanakan hingga selesai ataudibatalkannya transaksi tersebut adalah :• Aktif (Active), yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.• Berhasil Sebagian (Partially Commited), yaitu keadaan yang dicapai transaksi tepat pada saat operasi/instruksi terakhir dalam transaksi selesai di kerjakan.• Gagal (Failed), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.• Batal (Aborted), yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan yang tentu dengan terlebih dahulu diawali dengan mengembalikan semau data yang telah diubah oleh transaksi tersebut ke nilai-nilai semula (yang menjadi tanggung jawab DBMS)• Berhasil Sempurna (Commited), keadaan dimana transaksi telah dinyatakan berhasil di kerjakan seluruhnya dan basisdata telah merefleksikan perubahan-perubahan yang memang diinginkan transaksi.
  11. 11. Diagram berikut menunjukkan aliran dan siklusperalihan status (state) dari sebuah transaksi : Ketika sebuah transaksi mulai di kerjakan, maka transaksi tersebutsegera berada dalam status Active. Status ini akan terus dialami selama eksekusioperasi-operasi dalam transaksi tersebut masih berlangsung. Jika terjadipenghentian sebelum operasi terakhir dalam transaksi, maka transaksi segeraberalih ke status baru, yaitu failed. Namun jika keseluruhan operasi dalam transaksi selesai dikerjakan, maka transaksi tersebut dinyatakan berada dalam status berakhirsebagian (Partially Committed), dimana perubahan-perubahan data masih beradadalam memory utama yang bersifat tidak permanen (Volatile). Transaksi dalamstatus ini masih mungkin untuk berpindah ke status failed ( karena adapembatalan transaksi baik disengaja maupun tidak). Jika beralih ke statusfailed, maka nilai-nilai data yang baru yang masih ada di memory utama akan disalin/direkam ke dalam disk yang bersifat permanen.
  12. 12. Begitu proses perekaman tersebut selesai di kerjakan, maka transaksiberalih ke status yang baru, yaitu berhasil sempurna (committed).Sementara itu, terhadap transaksi yang berada dalam status failed, makaDBMS harus menjalankan proses RollBack. Proses tersebut dapat berupa : • Mengulangi pelaksanaan transaksi (restart) , yang dapat dilakukan terhadap transaksi yang gagal (failed) akibat kemacetan system (perangkat keras atau perangkat lunak) dan bukannya penghentian transaksi sengaja oleh user. • Mematikan transaksi (kill) yang dilakukan untuk transaksi yang dihentikan secara sengaja oleh user atau akibat adanya kesalahan logic dalam penulisan aplikasi.
  13. 13. Begitu proses perekaman tersebut selesai di kerjakan, maka transaksiberalih ke status yang baru, yaitu berhasil sempurna (committed).Sementara itu, terhadap transaksi yang berada dalam status failed, makaDBMS harus menjalankan proses RollBack. Proses tersebut dapat berupa : • Mengulangi pelaksanaan transaksi (restart) , yang dapat dilakukan terhadap transaksi yang gagal (failed) akibat kemacetan system (perangkat keras atau perangkat lunak) dan bukannya penghentian transaksi sengaja oleh user. • Mematikan transaksi (kill) yang dilakukan untuk transaksi yang dihentikan secara sengaja oleh user atau akibat adanya kesalahan logic dalam penulisan aplikasi.

×