<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Konsep_transaksi_dan_properti_ACID</id>
	<title>Konsep transaksi dan properti ACID - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Konsep_transaksi_dan_properti_ACID"/>
	<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Konsep_transaksi_dan_properti_ACID&amp;action=history"/>
	<updated>2026-08-29T15:44:43Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://cbtlmsts.my.id/wikits/index.php?title=Konsep_transaksi_dan_properti_ACID&amp;diff=207&amp;oldid=prev</id>
		<title>Admin: ←Membuat halaman berisi &#039;==Tujuan Pembelajaran== Setelah mempelajari modul ini, mahasiswa diharapkan mampu: * Menjelaskan konsep &#039;&#039;&#039;transaksi&#039;&#039;&#039; dalam basis data. * Memahami prinsip &#039;&#039;&#039;ACID&#039;&#039;&#039; untuk menjaga konsistensi data. * Mengimplementasikan transaksi menggunakan &#039;&#039;&#039;MySQL di Ubuntu 24.04&#039;&#039;&#039;.   ==Apa Itu Transaksi?==  &#039;&#039;&#039;Transaksi&#039;&#039;&#039; adalah satu unit kerja logis dalam sistem basis data yang mencakup satu atau lebih perintah SQL. Transaksi dianggap &#039;&#039;&#039;berhasil&#039;&#039;&#039; jika semua perintah d...&#039;</title>
		<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Konsep_transaksi_dan_properti_ACID&amp;diff=207&amp;oldid=prev"/>
		<updated>2025-05-12T17:46:10Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;==Tujuan Pembelajaran== Setelah mempelajari modul ini, mahasiswa diharapkan mampu: * Menjelaskan konsep &amp;#039;&amp;#039;&amp;#039;transaksi&amp;#039;&amp;#039;&amp;#039; dalam basis data. * Memahami prinsip &amp;#039;&amp;#039;&amp;#039;ACID&amp;#039;&amp;#039;&amp;#039; untuk menjaga konsistensi data. * Mengimplementasikan transaksi menggunakan &amp;#039;&amp;#039;&amp;#039;MySQL di Ubuntu 24.04&amp;#039;&amp;#039;&amp;#039;.   ==Apa Itu Transaksi?==  &amp;#039;&amp;#039;&amp;#039;Transaksi&amp;#039;&amp;#039;&amp;#039; adalah satu unit kerja logis dalam sistem basis data yang mencakup satu atau lebih perintah SQL. Transaksi dianggap &amp;#039;&amp;#039;&amp;#039;berhasil&amp;#039;&amp;#039;&amp;#039; jika semua perintah d...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Tujuan Pembelajaran==&lt;br /&gt;
Setelah mempelajari modul ini, mahasiswa diharapkan mampu:&lt;br /&gt;
* Menjelaskan konsep &amp;#039;&amp;#039;&amp;#039;transaksi&amp;#039;&amp;#039;&amp;#039; dalam basis data.&lt;br /&gt;
* Memahami prinsip &amp;#039;&amp;#039;&amp;#039;ACID&amp;#039;&amp;#039;&amp;#039; untuk menjaga konsistensi data.&lt;br /&gt;
* Mengimplementasikan transaksi menggunakan &amp;#039;&amp;#039;&amp;#039;MySQL di Ubuntu 24.04&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apa Itu Transaksi?==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Transaksi&amp;#039;&amp;#039;&amp;#039; adalah satu unit kerja logis dalam sistem basis data yang mencakup satu atau lebih perintah SQL. Transaksi dianggap &amp;#039;&amp;#039;&amp;#039;berhasil&amp;#039;&amp;#039;&amp;#039; jika semua perintah di dalamnya berhasil dijalankan. Jika salah satu gagal, seluruh transaksi harus dibatalkan (rollback).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh Umum Transaksi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Transfer uang antar rekening&lt;br /&gt;
* Pemesanan tiket&lt;br /&gt;
* Pembelian barang di e-commerce&lt;br /&gt;
&lt;br /&gt;
==Properti ACID==&lt;br /&gt;
&lt;br /&gt;
ACID adalah empat properti utama yang memastikan keandalan transaksi.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Properti   !! Penjelasan&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;tomicity  || Seluruh transaksi dijalankan sepenuhnya atau tidak sama sekali&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;onsistency|| Menjaga integritas data sebelum dan sesudah transaksi&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;solation   || Transaksi berjalan seolah-olah satu per satu (tidak saling mengganggu)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;urability  || Hasil transaksi tetap ada meskipun terjadi crash setelah commit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Implementasi Transaksi di MySQL (Ubuntu 24.04)==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Langkah Awal: Aktifkan MySQL dan Masuk ke CLI&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl start mysql&lt;br /&gt;
 sudo mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
==Studi Kasus: Transfer Saldo==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tabel: rekening&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE rekening (&lt;br /&gt;
     id INT PRIMARY KEY,&lt;br /&gt;
     nama VARCHAR(50),&lt;br /&gt;
     saldo INT&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 INSERT INTO rekening VALUES (1, &amp;#039;Andi&amp;#039;, 100000), (2, &amp;#039;Budi&amp;#039;, 50000);&lt;br /&gt;
&lt;br /&gt;
==Transaksi di MySQL==&lt;br /&gt;
&lt;br /&gt;
Perintah utama:&lt;br /&gt;
&lt;br /&gt;
* `START TRANSACTION;`&lt;br /&gt;
* `COMMIT;`&lt;br /&gt;
* `ROLLBACK;`&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh Transaksi: Transfer Rp20.000 dari Andi ke Budi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 -- Mulai transaksi&lt;br /&gt;
 START TRANSACTION;&lt;br /&gt;
 &lt;br /&gt;
 -- Kurangi saldo Andi&lt;br /&gt;
 UPDATE rekening SET saldo = saldo - 20000 WHERE id = 1;&lt;br /&gt;
 &lt;br /&gt;
 -- Tambah saldo Budi&lt;br /&gt;
 UPDATE rekening SET saldo = saldo + 20000 WHERE id = 2;&lt;br /&gt;
 &lt;br /&gt;
 -- Selesaikan transaksi&lt;br /&gt;
 COMMIT;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Jika ada error, gunakan `ROLLBACK;` untuk membatalkan transaksi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh dengan ROLLBACK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 START TRANSACTION;&lt;br /&gt;
 &lt;br /&gt;
 UPDATE rekening SET saldo = saldo - 20000 WHERE id = 1;&lt;br /&gt;
 &lt;br /&gt;
 -- Simulasi kesalahan&lt;br /&gt;
 -- ERROR: tabel tidak ditemukan&lt;br /&gt;
 UPDATE rekening_tidak_ada SET saldo = saldo + 20000 WHERE id = 2;&lt;br /&gt;
 &lt;br /&gt;
 -- Batalkan seluruh transaksi&lt;br /&gt;
 ROLLBACK;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Saldo Andi akan &amp;#039;&amp;#039;&amp;#039;kembali ke semula&amp;#039;&amp;#039;&amp;#039; karena transaksi dibatalkan.&lt;br /&gt;
&lt;br /&gt;
==Isolation Level (Opsional)==&lt;br /&gt;
&lt;br /&gt;
Untuk kontrol lebih lanjut, bisa gunakan perintah:&lt;br /&gt;
&lt;br /&gt;
 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;&lt;br /&gt;
&lt;br /&gt;
Tersedia 4 level isolasi di MySQL:&lt;br /&gt;
* `READ UNCOMMITTED`&lt;br /&gt;
* `READ COMMITTED`&lt;br /&gt;
* `REPEATABLE READ` (default)&lt;br /&gt;
* `SERIALIZABLE`&lt;br /&gt;
&lt;br /&gt;
==Kesimpulan==&lt;br /&gt;
&lt;br /&gt;
* Transaksi penting untuk memastikan konsistensi dan keandalan sistem basis data.&lt;br /&gt;
* Properti &amp;#039;&amp;#039;&amp;#039;ACID&amp;#039;&amp;#039;&amp;#039; menjamin bahwa transaksi aman dijalankan.&lt;br /&gt;
* MySQL mendukung transaksi menggunakan perintah `START TRANSACTION`, `COMMIT`, dan `ROLLBACK`.&lt;br /&gt;
* Pastikan engine tabel yang digunakan adalah &amp;#039;&amp;#039;&amp;#039;InnoDB&amp;#039;&amp;#039;&amp;#039;, bukan MyISAM (yang tidak mendukung transaksi).&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Database: Kuliah]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>