SISTEM BASIS DATA | PERTEMUAN 8 DARI 10
Klik judul bagian untuk membuka atau menutup.
PERTEMUAN 8
Manajemen Transaksi dan Konkurensi
Semua berhasil, atau tidak ada yang terjadi
Capaian: Menjelaskan sifat ACID, masalah konkurensi, serta pengendalian locking dan recovery.
๐ Transaksi dan ACID
- Transaksi = satu unit kerja logis.
- Atomicity, Consistency, Isolation, Durability.
- Perintah: START TRANSACTION, COMMIT, ROLLBACK.
๐ Konkurensi dan Recovery
- Masalah: lost update, dirty read, unrepeatable read.
- Locking: shared dan exclusive; two-phase locking; waspadai deadlock.
- Recovery: log transaksi, checkpoint, rollback/redo.
๐งฉ Metafora
Perumpamaan: Transfer ATM: saldo A berkurang dan saldo B bertambah harus terjadi bersama. Konkurensi seperti dua orang membeli kursi konser yang sama.
๐งช Contoh Kasus / Kode
START TRANSACTION; UPDATE rekening SET saldo = saldo - 500000 WHERE no_rek = 'A01'; UPDATE rekening SET saldo = saldo + 500000 WHERE no_rek = 'B02'; COMMIT; -- bila ada kesalahan, jalankan ROLLBACK;
๐ผ๏ธ Ilustrasi Visual
Empat sifat ACID dan contoh transfer: dua perubahan saldo harus berhasil bersama atau dibatalkan bersama.
๐ Kesalahan Umum
- Menjalankan dua UPDATE terkait tanpa transaksi.
- Lupa COMMIT sehingga data tidak tersimpan.
- Menahan lock terlalu lama.
โ๏ธ Latihan
Rancang skenario dua kasir menjual kursi terakhir dan tunjukkan di mana dirty read bisa terjadi.
๐ Ajakan (Call to Action)
Ajakan: Jelaskan dengan bahasa Anda sendiri mengapa durability penting bagi bank.
Disusun oleh ALIMIN, M.Kom