Manajemen Transaksi Database SQL — Laporan Praktikum Pertemuan 12

 

Manajemen Transaksi Database SQL — Laporan Praktikum Pertemuan 12


 



 

 

 

 

 


 

 

 

 Disusun Oleh

 

Fiqa Khairunisa

NPM 24781102

Kelas: Manajemen Informatika 4D

Tanggal Pengumpulan: 4 Juni 2026

 

 

 

 

 

 

 

 

 

 

PROGRAM STUDI MANAJEMEN INFORMATIKA

Jurusan teknologi Infromasi

Politeknik Negeri Lampung

2026



















TUJUAN PEMBELAJARAN

Praktikum ini bertujuan untuk menjelaskan konsep transaction dan ACID, memulai transaction dengan BEGIN TRANSACTION, mengakhiri transaction dengan COMMIT, membatalkan transaction dengan ROLLBACK, menggunakan SAVEPOINT untuk rollback parsial, menerapkan transaction pada operasi multi-step, serta menyusun dokumentasi hasil praktikum.

DASAR TEORI

Dalam pengelolaan basis data, transaksi merupakan serangkaian operasi yang dijalankan sebagai satu kesatuan utuh. Untuk mengelola transaksi tersebut, SQL menyediakan beberapa perintah yang perlu dipahami.

BEGIN TRANSACTION berfungsi sebagai penanda dimulainya sebuah transaksi. Sederhananya, perintah ini seperti membuka "sesi kerja" dimana semua perubahan yang dilakukan belum benar-benar tersimpan ke database sampai ada perintah selanjutnya.

COMMIT digunakan untuk menyimpan semua perubahan secara permanen ke database setelah transaksi selesai dan hasilnya dianggap benar. Anggap saja seperti menekan tombol "simpan" setelah selesai mengedit dokumen.

ROLLBACK digunakan untuk membatalkan seluruh perubahan yang sudah dilakukan dalam transaksi, sehingga data kembali ke kondisi semula sebelum transaksi dimulai.

SAVEPOINT adalah titik aman yang bisa dibuat di tengah-tengah transaksi sebagai "checkpoint" yang bisa dijadikan titik kembali jika diperlukan.

ROLLBACK TO digunakan bersama SAVEPOINT untuk melakukan pembatalan parsial, artinya hanya membatalkan perubahan yang terjadi setelah SAVEPOINT tertentu, bukan seluruh transaksi.

RELEASE SAVEPOINT berfungsi untuk menghapus label SAVEPOINT yang sudah tidak diperlukan tanpa membatalkan perubahan yang sudah dilakukan. Data tetap tersimpan, hanya titik checkpoint-nya yang dihapus.

Atomicity adalah prinsip "semua atau tidak sama sekali" dimana seluruh operasi dalam satu transaksi harus berhasil semua atau gagal semua. Consistency memastikan database selalu berada dalam kondisi valid dan konsisten sebelum maupun sesudah transaksi dijalankan.

ALAT DAN BAHAN

Laptop, SQL Server Management Studio (SSMS), Browser Google Chrome, Website simulasi SQL, Database akademik.

HASIL DAN PEMBAHASAN

Praktikum dilakukan menggunakan simulator transaksi SQL berbasis web dan SSMS dengan database AKADEMIK2. Pengujian dilakukan secara bertahap dari Level 1 hingga Level 7.

Level 1 — BEGIN + COMMIT

Pada level ini dilakukan pengujian transaksi dasar menggunakan BEGIN dan COMMIT untuk tiga operasi yaitu INSERT, UPDATE, dan DELETE. Pada operasi INSERT, data dosen baru berhasil ditambahkan ke tabel dosen setelah COMMIT dijalankan. Pada operasi UPDATE, status akademik mahasiswa npm '1501001' berhasil diubah menjadi 4 dan tersimpan permanen. Pada operasi DELETE, data dosen 'Edi Prasetya' berhasil dihapus dari tabel. Seluruh operasi menghasilkan output "1 row affected" yang menandakan transaksi berjalan dengan benar. Kendala yang ditemukan adalah error foreign key constraint karena idprodi tidak valid dan tabel audit_log belum tersedia, sehingga dilakukan penyesuaian idprodi dan pembuatan tabel audit_log terlebih dahulu.

Level 2 — BEGIN + ROLLBACK

Level ini menguji kemampuan ROLLBACK dalam membatalkan transaksi untuk operasi INSERT, UPDATE, dan DELETE. Pada operasi INSERT mahasiswa npm '9990010', setelah ROLLBACK dijalankan data tidak tersimpan di tabel. Pada operasi UPDATE IPK menjadi 1.0, nilai IPK kembali ke nilai semula setelah ROLLBACK. Pada operasi DELETE mahasiswa '1501001', data mahasiswa tetap ada setelah ROLLBACK. Hasil ini membuktikan bahwa ROLLBACK berhasil membatalkan seluruh perubahan dalam transaksi. Kendala yang ditemukan adalah duplicate primary key pada INSERT sehingga npm diganti dengan yang belum terdaftar.

Level 3 — Atomic Multi-Statement

Level ini menguji atomicity dengan menjalankan beberapa operasi DML sekaligus dalam satu transaksi. Pada skenario 3 INSERT dosen dengan COMMIT, ketiga data berhasil tersimpan sekaligus. Pada skenario 3 INSERT mahasiswa dengan ROLLBACK, tidak satu pun data tersimpan membuktikan prinsip atomicity berjalan. Pada skenario Mixed DML yaitu UPDATE + DELETE dengan COMMIT, kedua operasi tersimpan bersamaan. Pada skenario Mixed DML dengan ROLLBACK, kedua operasi dibatalkan bersama. Kendala yang ditemukan adalah kolom idpendidikan tidak dikenali simulator sehingga perlu penyesuaian nama kolom, serta npm duplikat yang perlu diganti.

Level 4 — SAVEPOINT + ROLLBACK TO

Level ini memperkenalkan konsep SAVEPOINT sebagai titik aman dalam transaksi. Pada skenario INSERT-SP-INSERT-ROLLBACK TO, hanya data npm '9992001' yang tersimpan karena ROLLBACK TO sp1 membatalkan INSERT kedua. Pada skenario SAVEPOINT bertingkat dengan dua SAVEPOINT, ROLLBACK TO sp1 berhasil membatalkan semua operasi setelah sp1 sehingga hanya npm '9992010' yang tersimpan. Pada skenario UPDATE-SP-DELETE-ROLLBACK TO, UPDATE IPK tersimpan namun DELETE dibatalkan sesuai ekspektasi. Hasil ini membuktikan SAVEPOINT memungkinkan pembatalan parsial tanpa harus membatalkan seluruh transaksi.

Level 5 — SAVEPOINT + RELEASE

Level ini menguji fungsi RELEASE SAVEPOINT yang berbeda dari ROLLBACK TO. Pada skenario INSERT-SP-INSERT-RELEASE-COMMIT, kedua data tersimpan karena RELEASE hanya menghapus label SAVEPOINT tanpa membatalkan perubahan. Pada skenario tiga INSERT dengan dua SAVEPOINT dan dua RELEASE, ketiga data berhasil tersimpan. Pada skenario DML campuran INSERT dan UPDATE dengan RELEASE, keduanya tersimpan setelah COMMIT. Perlu dicatat bahwa perintah RELEASE SAVEPOINT tidak tersedia di SSMS sehingga pada pengujian SSMS langsung menggunakan COMMIT TRANSACTION.

Level 6 — Transaksi Lintas Tabel

Level ini membuktikan bahwa atomicity berlaku tidak hanya dalam satu tabel tetapi juga lintas tabel. Pada skenario INSERT mahasiswa dan INSERT dosen dengan COMMIT, kedua data dari tabel berbeda tersimpan bersamaan. Pada skenario yang sama dengan ROLLBACK, tidak satu pun data dari kedua tabel tersimpan membuktikan atomicity lintas tabel. Pada skenario dengan SAVEPOINT, INSERT mahasiswa tersimpan namun INSERT dosen dibatalkan karena ROLLBACK TO sp1 dijalankan sebelum COMMIT.

Level 7 — Tugas Mandiri

Level terakhir mengombinasikan seluruh konsep yang telah dipelajari dalam 4 skenario bebas. Pada skenario BEGIN + UPDATE + COMMIT, UPDATE IPK berhasil tersimpan permanen. Pada skenario BEGIN + UPDATE + ROLLBACK, perubahan IPK berhasil dibatalkan dan nilai kembali ke semula. Pada skenario SAVEPOINT + RELEASE + COMMIT, dua UPDATE pada tabel mahasiswa keduanya tersimpan setelah RELEASE dan COMMIT. Pada skenario lintas tabel + ROLLBACK, semua perubahan pada dua tabel berhasil dibatalkan bersama. Kendala yang ditemukan adalah error syntax near "WHERE" pada UPDATE dosen, sehingga dilakukan revisi query.

ANALISIS PEMBAHASAN

Berdasarkan hasil praktikum, dapat dianalisis bahwa konsep transaksi database bekerja secara konsisten sesuai dengan teori yang ada.

Pertama, COMMIT dan ROLLBACK terbukti bekerja sebagai pengendali utama transaksi. Database engine benar-benar menunda penyimpanan permanen hingga COMMIT dieksekusi, sementara ROLLBACK membatalkan semua perubahan tanpa terkecuali.

Kedua, prinsip Atomicity terbukti berlaku tidak hanya dalam satu tabel tetapi juga lintas tabel. Satu transaksi diperlakukan sebagai satu unit kerja yang tidak dapat dipecah sehingga konsistensi data antar tabel tetap terjaga.

Ketiga, SAVEPOINT memberikan fleksibilitas dalam pengelolaan transaksi kompleks. ROLLBACK TO hanya membatalkan operasi setelah titik tertentu sementara operasi sebelumnya tetap tersimpan setelah COMMIT — sangat efisien untuk skenario nyata.

Keempat, perbedaan antara ROLLBACK TO dan RELEASE SAVEPOINT perlu dipahami dengan baik. Keduanya memiliki fungsi berbeda dan tidak bisa saling menggantikan.

Kelima, ditemukan perbedaan implementasi antara simulator SQLite dan SSMS SQL Server dalam hal sintaks, terutama pada perintah SAVEPOINT dan RELEASE yang tidak tersedia di SSMS.

Keenam, kendala teknis seperti foreign key constraint, duplicate primary key, dan trigger audit_log justru memberikan pemahaman lebih dalam tentang bagaimana database menjaga integritas data secara otomatis.

KESIMPULAN

Pertama, transaksi database menggunakan BEGIN, COMMIT, dan ROLLBACK berjalan sesuai teori dimana COMMIT menyimpan perubahan secara permanen dan ROLLBACK membatalkan seluruh perubahan dalam transaksi.

Kedua, prinsip Atomicity terbukti berlaku baik dalam satu tabel maupun lintas tabel, memastikan semua operasi dalam satu transaksi berhasil atau gagal bersama tanpa terkecuali.

Ketiga, SAVEPOINT memberikan kemampuan kontrol yang lebih granular dalam transaksi dengan memungkinkan pembatalan parsial menggunakan ROLLBACK TO.

Keempat, RELEASE SAVEPOINT berfungsi menghapus label checkpoint tanpa membatalkan perubahan, berbeda dengan ROLLBACK TO yang membatalkan perubahan setelah titik SAVEPOINT.

Kelima, terdapat perbedaan sintaks antara SQLite dan SQL Server yang perlu diperhatikan terutama pada perintah SAVEPOINT dan RELEASE.

Keenam, pemahaman tentang transaksi database sangat penting dalam pengembangan sistem informasi nyata karena menjamin konsistensi dan integritas data meskipun terjadi kegagalan di tengah proses.

Komentar

Postingan populer dari blog ini

Implementasi Stored Procedure Lanjutan pada Pemrograman SQL II Menggunakan MySQL dan SQL Server Management Studio

Manajemen User dan Hak Akses pada Database CREATE USER, GRANT, REVOKE, DROP USER, dan Pemberian Hak Akses