TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
Praktikum Transaksi dan Basis Data Terdistribusi
Kegiatan Belajar 1: Praktikum Transaksi
Pada kegiatan praktikum ini, mahasiswa mempelajari transaksi pada basis data MySQL melalui aplikasi XAMPP. Transaksi berfungsi menjaga konsistensi data dengan properti ACID (Atomicity, Consistency, Isolation, Durability).
A. Tinjauan Transaksi
1. Properti ACID dalam Transaksi
Atomicity: Transaksi dilakukan seluruhnya atau tidak sama sekali.
Consistency: Data harus tetap konsisten setelah transaksi.
Isolation: Transaksi terisolasi, tidak boleh diganggu transaksi lain.
Durability: Daya tahan data terjamin setelah transaksi berhasil.
2. Lima Perintah Dasar Transaksi
Active: Transaksi sedang berjalan.
Partially Committed: Transaksi sebagian berhasil.
Failed: Transaksi mengalami kegagalan.
Abort: Transaksi dibatalkan.
Commit: Transaksi berhasil, perubahan data disimpan.
3. Storage Engine Pendukung Transaksi
InnoDB/BDB: Storage engine MySQL yang mendukung transaksi. Tabel harus InnoDB agar transaksi berjalan.
B. Perintah Commit
1. Konsep Commit
Commit: Menandakan transaksi selesai dan perubahan data terjadi. Tanpa commit, data tidak masuk ke tabel.
2. Stored Procedure untuk Commit
Stored Procedure: Objek routine pada MySQL, kumpulan perintah terprogram yang siap dipanggil.
Perintah dasar:START TRANSACTION; di awal, COMMIT; di akhir.
Pemanggilan:CALL nama_prosedur; pada menu SQL phpMyAdmin.
3. Contoh Implementasi
Tanpa commit: Data INSERT tampil di SELECT tapi tidak tersimpan ke tabel.
Dengan commit: Data tersimpan permanen setelah COMMIT dieksekusi.
C. Perintah Rollback
1. Konsep Rollback
Rollback: Membatalkan transaksi yang sedang berjalan. Hanya berpengaruh pada perintah yang belum commit.
2. Contoh Kasus
UPDATE + ROLLBACK: Perubahan nama dibatalkan, data tetap tidak berubah.
INSERT + ROLLBACK + UPDATE: INSERT di-rollback, namun UPDATE setelah rollback berjalan karena diikuti COMMIT.
D. Checkpoint (Savepoint)
1. Konsep Savepoint
Savepoint: Titik simpan dalam transaksi. Rollback dapat kembali ke posisi savepoint, bukan ke awal.
2. Perintah Savepoint
SAVEPOINT nama: Menandai titik simpan.
ROLLBACK TO SAVEPOINT nama: Mengembalikan ke posisi savepoint.
Contoh: 3 INSERT dengan savepoint setelah INSERT pertama, INSERT kedua di-rollback, hanya INSERT pertama dan ketiga yang masuk.
E. Trigger
1. Konsep Trigger
Trigger: Event yang memicu perubahan basis data otomatis. Event: INSERT, UPDATE, DELETE.
2. Jenis-jenis Trigger
BEFORE INSERT / AFTER INSERT: Berjalan sebelum/sesudah INSERT.
BEFORE UPDATE / AFTER UPDATE: Berjalan sebelum/sesudah UPDATE.
BEFORE DELETE / AFTER DELETE: Berjalan sebelum/sesudah DELETE.
3. Contoh Implementasi Trigger
Kasus: Saat transaksi obat (INSERT ke tabel transaksi_obat), stok di tabel obat otomatis berkurang.
Perintah:CREATE TRIGGER tg_jual AFTER INSERT ON transaksi_obat FOR EACH ROW BEGIN UPDATE obat SET stok = stok - new.jumlah WHERE id_obat=new.id_obat; END
Komponen:DELIMITER $$, CREATE TRIGGER, FOR EACH ROW, new.jumlah (nilai input), END $$.
Kegiatan Belajar 2: Instalasi VirtualBox dan Linux Ubuntu
A. VirtualBox dan Sistem Operasi Ubuntu
1. Pengertian VirtualBox
VirtualBox: Aplikasi virtualisasi gratis dari Oracle, memungkinkan pemasangan beberapa OS dalam satu komputer.