Sunday, September 26, 2010

Pengertian Transaksi dalam Sistem Basis Data



Pengertian Transaksi


Transaksi adalah satu atau beberapa aksi program aplikasi yang mengakses/mengubah isi basis data.

Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data. DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan inkonsistensi basis data. Untuk itu transaksi selalu merubah basis data dari satu kondisi konsisten ke kondisi konsisten lain.

Sebuah transaksi berpeluang untuk ‘mengganggu’ integritas basis data yang dapat membuat kondisi/hubungan antar data tidak seperti seharusnya. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:


  1. Atomik, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.

  2. Konsisten, dimana eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah transaksi berakhir.

  3. Terisolasi, 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. Bertahan, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem menjadi mati.


Terhentinya suatu transaksi tidak selalu diakibatkan oleh kegagalan insidental baik dari perangkat keras (crash) ataupun kemacetan sistem operasi (hang). Tapi lebih sering terjadi karena user sengaja menghentikan transaksi atau karena penghentian transaksi oleh DBMS akibat adanya kondisi tak diinginkan, seperti deadlock atau timeout.

Sebuah transaksi dapat menghasilkan dua kemungkinan:

  1. Jika dilaksanakan lengkap seluruhnya, transaksi tersebut telah di commit dan basis data mencapai keadaan konsisten baru.

  2. Jika transaksi tidak sukses, maka transaksi dibatalkan dan basis data dikembalikan ke keadaan konsisten sebelumnya (rollback).

Transaksi yang sudah di commit tidak dapat dibatalkan lagi. Jika ada kesalahan, maka harus dilakukan transaksi lain yang membalik dampak transaksi sebelumnya. 

Status-status yang dapat dicapai oleh sebuah transaksi sejak mulai dilaksanakan hingga selesai atau batal adalah:


  1. Aktif (Active), yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.

  2. Berhasil Sebagian (Partially Committed), yaitu keadaan yang dicapai transaksi tepat pada saat operasi terakhir dalam transaksi selesai dikerjakan.

  3. Gagal (Failed), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.

  4. Batal (Aborted), yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan yang tentu dengan terlebih dahulu diawali dengan mengembalikan semua data yang telah diubah ke nilai-nilai semula. (yang menjadi tanggung jawab DBMS).

  5. Berhasil Sempurna (Committed), keadaan dimana transaksi telah dinyatakan berhasil dikerjakan seluruhnya dan basis data telah merefleksikan perubahan-perubahan yang memang diinginkan transaksi.

Diagram berikut ini menunjukkan aliran dan siklus peralihan status (state) dari sebuah transaksi:



Ketika sebuah transaksi mulai dikerjakan, maka transaksi itu berada dalam status aktif. Jika terjadi penghentian sebelum operasi berakhir, maka transaksi segera beralih ke status gagal/failed. Namun, bila keseluruhan transaksi selesai dikerjakan, maka transaksi itu berada pada status berhasil sebagian/partially committed, dimana perubahan-perubahan data masih berada di dalam memori utama yang bersifat volatile/tidak permanen. Transaksi dalam status ini masih mungkin untuk pindah ke status failed, karena ada pembatalan transaksi baik sengaja maupun tidak. Jika tidak beralih ke status failed, maka nilai-nilai data yang ada di memori utama akan direkam ke dalam disk yang bersifat permanen. Begitu proses perekaman selesai, maka transaksi beralih ke status committed. Sementara itu, transaksi yang berada pada status failed, maka DBMS harus menjalan proses rollback. Proses tersebut dapat berupa:


  • Mengulangi pelaksanaan transaksi / restart, yang dilakukan pada transaksi yang failed akbiat kemacetan perangkat keras ataupun perangkat lunak dan bukannya penghentian transaksi secara sengaja oleh user.

  • Mematikan transaksi / kill, yang dilakukan untuk transaksi yang dihentikan secara sengaja oleh user atau akibat adanya kesalahan lojik dalam penulisan aplikasi.

Begitu salah satu dari pilihan proses tersebut selesai dilakukan, maka transaksi berpindah ke status batal (aborted). Status berhasil sempurna/committed maupun batal/aborted merupakan status terminasi, yaitu status akhir dalam pelaksanaan transaksi.
 


Silahkan Pasang Komentar Anda

ShoutMix chat widget

2 komentar:

Blogger on Friday, October 7, 2016 at 3:43:00 AM GMT+7 said...

Did you know that that you can make money by locking special pages of your blog or site?
Simply open an account with AdscendMedia and embed their Content Locking tool.

Blogger on Wednesday, February 8, 2017 at 4:24:00 AM GMT+7 said...

Order a Sparkling White Smiles Custom Teeth Whitening System online and enjoy BIG SAVINGS!

* 10 shades whiter in days!
* Results Are Guaranteed.
* Better than your dentist.
* Same strength Teeth Whitening Gel as dentists use.

Post a Comment

Webmaster Forum

Categories

Action (6) add-ons (2) Adventure (3) Advertising (3) affiliate programs (2) algoritma dan pemrograman 1 (4) algoritma dan pemrograman 2 (3) Aljabar Linier Matriks (2) aplikasi (12) array (2) Basis Data (3) basis data. programming project (1) berita (1) browser (3) bug (1) buku tamu (1) Business (2) c++ (1) CERITA LUCU (3) clone (1) cms (9) Comedy (1) commedy (1) Computers (3) corel draw (1) Database (3) desktop (1) domain (1) Drama (3) Dreamweaver (3) driver (1) E-book (43) E-book Adsense (2) e-book hacking (4) E-book Humor (1) E-book Islam (1) E-book Jaringan Komputer (1) E-book Kesehatan (1) E-book Komputer (23) E-Book Pekerjaan (2) e-book photoshop (4) Entertainment (1) etika (1) exploit (5) facebook (5) Fantasy (2) firefox (2) Forum (1) gambar (1) Games (2) gitar (1) grafis (1) Hack (1) hacking (15) hacking joomla (2) Hacking Wordpress (3) HANDPHONE (12) hollywood (7) hosting (3) HUMOR (3) indonesia (1) internet (46) iseng (3) Islam (1) jaringan (2) java games (1) kata mutiara (1) Komputer (8) Komputer. open source (1) lan (1) Linux (4) majalah (1) Marketing (2) materi kuliah (15) Media (1) Money (2) movie (7) Mp3 (2) music (1) MySql (2) Mystery (1) networking (2) Open Source (13) Oracle (1) pemrograman non prosedural (3) pemrograman shell (1) Pengantar Teknologi Informasi (2) pengertian (1) photo design (1) photoshop (4) PHP (2) problem solving (1) Products (3) Programming (3) prolog (3) sahabat (1) Sci-Fi (3) script (4) Search Engine Optimization (5) security (7) SEKOLAH (1) seo (3) Services (3) seven (1) Shopping (1) sistem operasi (2) situs ngetop (2) SMS (3) SNMPTN (1) SOFTWARE (33) spam (1) SQL (1) streaming (1) Super Heroes (1) tampilan (1) Thriller (3) tips (1) Tips dan Trik (74) Trik Windows XP (15) Tutorial blog (18) tutorial drupal (2) tutorial html (2) Tutorial Joomla (14) tutorial moodle (1) tutorial wordpress (9) TV (1) ubuntu (13) UII (1) wall (1) wap (1) Web Design (33) web programming (2) webcam (1) Webdesign (1) youtube (1)
 
FREE AND HAPPY ALWAYS Copyright © 2009-2010 Blogger Template Designed by Bie Blogger Template

PUTRA OKU TIMUR BLOG FRIENDS
Reviews Music Indie Oku Timur||Campang Tiga||Ato||Daryanto||Tax||Shasya||Dewi||Fajar||Hendrie||Ria Imut||My Own Gallery||Penulis Mania||Saung Web||Ipan||Goceng Blog||Guntur Setyo||Mundo Belitang||Edwar||Teknologi||seo||eno||oob||Black Warrior||Wardi Sukoharjo||Chef Krendo||Maranai||prost||Traveller||Mas Muji||Pambudi||Pandu||Kabar Maya||Lie||Harnet||rayapost||juandry||fianmuse||inipulsaku||Tips dan Trik Blogging||Hidup Sehat||sastrafresh||Martapura Blogger||Salsa Kids||
Nofasonic WeblogPhotobucketBlog Directory Cara Membuat Blog EBOOK GRATISBlog Ratings'WavyKomunitas Blogger WongKito