Share this

Pada Sabtu ini, saya ingin membagikan sedikit ilmu tentang penggunaan database transaksi di dalam framework CodeIgniter (CI), terutama bagi kamu yang menggunakan bahasa pemrograman PHP.
Apa Itu Database Transaksi?
Database transaksi adalah fitur penting yang menjaga konsistensi data dalam sebuah sistem, terutama saat terjadi banyak proses manipulasi data (Create, Update, Delete) dalam satu waktu. Tanpa transaksi, kegagalan di salah satu proses bisa membuat data jadi tidak sinkron.
Studi Kasus: Proses Transaksi Pembelian
Bayangkan kamu membuat sistem transaksi pembelian, di mana dalam satu eksekusi method, kamu melakukan:
- Create ke tabel
transaksi
- Update penambahan modal ke
master_produk
- Update pengurangan stok produk
- Create ke tabel
informasi_beli
Kalau proses ke-4 gagal, maka data pada proses ke-1 hingga ke-3 tetap tersimpan—dan itu sangat berisiko! Informasi tidak lengkap, data jadi tidak valid, dan sistem bisa dianggap tidak dapat dipercaya.
Solusi: Gunakan Database Transaksi CI
Berikut adalah struktur dasar penggunaan database transaksi di CodeIgniter:
$this->db->trans_begin();
try {
// --- Tempatkan perintah Create, Update, Delete di sini ---
if ($this->db->trans_status()) {
$this->db->trans_commit();
} else {
throw new Exception("Error DB", 1);
}
} catch (Exception $e) {
$error = ['error_message' => $e->getMessage()];
$error_db = $this->db->error();
if ($error_db && !empty($error_db['message'])) {
$error['error_message'] = $error_db['message'];
}
$this->db->trans_rollback(); // Rollback data
$this->session->set_flashdata('error_db', $error['error_message']);
redirect('Saham/formsahambonus/' . getPost('idpm'));
}
Analisis & Keuntungan
✅ Atomicity — Proses database menjadi satu kesatuan.
✅ Konsistensi — Tidak ada sebagian data yang masuk ketika error terjadi.
✅ Reliabilitas — Sistem jadi lebih handal dan data tetap valid.
✅ User Trust — Kepercayaan pengguna terhadap aplikasi meningkat.
Dari sudut pandang saya sebagai developer, menggunakan transaksi adalah langkah fundamental yang sering dilupakan oleh pemula. Banyak dari kita lebih fokus ke antarmuka, padahal keamanan dan integritas data justru pondasi utamanya.
Kesimpulan
Database transaksi adalah penyelamat saat sistem kamu semakin kompleks. Mulailah membiasakan penggunaannya dari sekarang agar data tetap aman, akurat, dan tidak saling bertabrakan. Ingat, aplikasi yang baik adalah aplikasi yang bisa dipercaya!