Download - Laporan Pemrogaman Chapter 8

Transcript
Page 1: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 1/21

LAPORAN PEMROGAMAN

BASIS DATA JARINGAN 

”Transactions” 

Disusun oleh:

Ajeng Yona Falah

Informatika 3A

3.34.12.0.01

PROGAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

2014/2015

Page 2: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 2/21

I.  Tujuan Instruksional Khusus

Setelah melaksanakan praktikum ini, mahasiswa diharapkan mampu:

1. 

Memahami konsep transaksi

2. 

Menggunakan transaksi dalam SQL Server3.  Menggunakan transaksi dalam SQL Server dan VB .NET

II.  Dasar Teori

Apa itu Transaksi

Transaksi merupakan sekelompok operasi yang dijalankan bersamaan. Apabila

sebuah operasi mengalami kesalahan, maka dipastikan seluruh operasi di dalam

transaksi tersebut gagal dan dikembalikan ke keadaan semula.Semuah contoh umum dari penggunaan transaksi adalah proses pengiriman uang

dari dua buah rekening. Proses ini membutuhkan dua buah operasi, yaitu

mengurangi jumlah uang dari rekening pertama dan menambahkan jumlah uang

sejumlah yang dikirimkan oleh rekening pertama pada rekening kedua. Kedua buah

operasi ini tidak boleh mengalami kegagalan di salah satu pihak dan jika salah satu

operasi mengalami kegagalan, seluruh akun akan dikembalikan ke keadaan semula

sebelum proses pengiriman uang dilakukan.

Kapan Transaksi Digunakan

Sebuah transaksi dilakukan ketika terdapat beberapa operasi yang harus berhasil

atau gagal sempurna dari seluruh operasi yang ada di dalamnya. Berikut ini

merupakan beberapa rekomendasi penggunaan transaksi:

  Ketika beberapa data harus dimasukkan, dirubah, atau dihapus secara

 bersamaan dalam satu waktu

  Ketika ada perubahan pada suatu tabel dimana ada tabel lain yang harus

konsisten, mengikuti perubahan tabel yang diikutinya

  Pada kondisi ransaksi yang terdistribusi, ketika data dimanipulasi melalui server

yang berbeda

Mengenali ACID Properties

ACID merupakan sebuah singkatan dari empat buah properti utama dari transaksi,

yaitu atomicity, consistency, isolation, dan durability.

Page 3: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 3/21

  Atomicity

Sebuah transaksi tidak bisa teruraikan akan operasi –  operasi di dalamnya, sehingga

aksi yang dilakukan untuk menjalankan sekelompok operasi hanya satu kali bukan

menjalankan satu demi satu beberapa operasi terpisah. Sehingga sebuah transaksi

akan berhasil hanya ketika seluruh operasi yang dilakukan tidak ada yang

mengalami kegagalan.

  Consistency

Sebuah transaksi harus bisa menjaga ketetapan (konsistensi) data yang ada di dalam

database baik ketika transaksi tersebut berhasil ataupun gagal. Transaksi harus bisa

menjaga integritas data yang telah termodifikasi oleh transaksi tersebut.

  Isolation

Sebuah transaksi harus memiliki batasan yang pasti dan tidak mengganggu

transaksi yang lain dalam satu waktu. Transaksi melihat data pada keadaan data

sebelum mengalami perubahan atau sesudah mengalami perubahan.

  Durability

Data yang termodifikasi dari keberhasilan sebuah transaksi harus bersifat permanen

apapun kondisinya. Sebuah catatan transaksi juga diperlukan sehingga seluruh

kegiatan transaksi bisa diketahui baik transaksi gagal maupun berhasil.

Desain Transaksi

Transaksi menggambarkan kejadian riil seperti transaksi pada bank, pemesanan

tiket pesawat, pembayaran uang sewa, dan sebagainya. Sebuah desain transaksi

digunakan untuk menetapkan kebutuhan transaksi, seperti:

  Data yang digunakan pada transaksi

  Fungsi dari pada sebuah transaksi

 

Hasil dari transaksi

  Pentingnya transaksi untuk pengguna

  Frekuensi pemakaian transaksi yang pasti

Ada tiga jenis transaksi utama

  Retrieval transactions : menarik data yang ada

  Update transactions : menambah, menghapus, ataupun mengubah data yang

ada di dalam database

Page 4: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 4/21

  Mixed transactions : melakukan kedua buah jenis transaksi penarikan dan

modifikasi data.

Kedudukan TransaksiTanpa adanya sebuah kegagalan, seluruh transaksi akan selesai dengan baik. Meski

demikian, sebuah transaksi juga bisa dibatalkan apabila mengalami sebuah

kegagalan pada salah satu operasi.

Batasan dalam Transaksi

Batasan transaksi pada SQL Server membantu untuk mendefinisikan awal dan akhir

transaksi menggunakan fungsi dan metode API:

  Statemen T-SQL: penggunaan statemen BEGIN TRANSACTION, COMMIT

TRANSACTION, COMMIT WORK, ROLLBACK TRANSACTION,

ROLLBACK WORK, dan SET IMPLICIT_TRANSACTIONS untuk

menggambarkan awal transaksi.

  Fungsi dan metode API: API database seperti ODBC, OLE DB, ADO, dan

.NET Framework memiliki metode dan fungsi yang digunakan di dalam

 penggambaran transaksi.

Statemen T-SQL yang Diijinkan dalam Transaksi

Seluruh jenis statemen T-SQL bisa dilakukan pada transaksi, kecuali statemen  –  

statemen berikut:

ALTER DATABASE, RECONFIGURE, BACKUP, RESTORE, CREATE

DATABASE, UPDATE STATISTIC, dan DROP DATABASE.

Transaksi Lokal dalam SQL Server

Page 5: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 5/21

Seluruh sistem database seharusnya memberikan dukungan transaksi built-in.

Transaksi yang dibatasi hanya menggunakan sebuah database dinamakan transaksi

lokal. Pada jenis transaksi ini terbagi menjadi empat mode, yaitu autocommit,

explicit, implicit, dan batch-scoped transaction.

Autocommit Transaction  : Mode manajemen transaksi default dari MSSQL

Server. Seluruh statemen T-SQL akan dilakukan atau dikembalikan ke keadaan

semula ketika selesai dijalankan.

Explicit Transaction  : Sebuah mode transaksi dimana kontrol awal dan akhir

transaksi tersebut terlihat jelas.

Implicit Transaction : Mode transaksi dimana efek dari transaksi tidak secara

langsung merubah data yang ada di dalam database. Seluruh efek dari transaksi

yang dilakukan belum akan berhenti hingga statemen COMMIT atau ROLLBACK

dijalankan.

Batch-Scoped Transaction : Sebuah mode yang mengijinkan ADO.NET untuk

mendapatkan kesempatan dari MSSQL Server 2014 untuk menjalankan beberapa

 perintah aktif pada sebuah obyek koneksi.

Distribusi Transaksi pada SQL Server

Penggunaan sebuah database di dalam proses transaksi disebut dengan transaksi

lokal. Apabila terdapat beberapa database yang akan digunakan dalam kegiatan

transaksi dinamakan transaksi terdistribusi. Umumnya, transaksi terdistribusi tidak

 beda jauh dengan transaki lokal, tetapi pada transaksi terdistribusi proses

menjalankan transaksi dibagi menjadi dua fase, yaitu prepare dan commit phase.

Prepare Phase  : Ketika pengontrol transaksi mendapatkan permintaan untuk

menjalankan transaksi, pengontrol memberikan perintah persiapan terhadap seluruh

 pengontrol data yang bersangkutan dengan transaksi.

Commit Phase : Setelah pengontrol transaksi berhasil melakukan persiapan,

 pengontrol mengirimkan perintah COMMIT pada masing  –   masing pengontrol

data. Ketika salah satu dari pengontrol data mengalami kegagalan, pesan gagal

tersebut dikirimkan ke pengontrol transaksi yang kemudian memberitahukan ke

seluruh pengontrol data untuk menggagalkan proses transaksi.

Pembuatan Transaksi

Page 6: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 6/21

Page 7: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 7/21

  delete from Customers

where CustomerID = @oldcustid

-- save error number returned from Delete statement set @delerr = @@ERROR 

if @delerr > @maxerr

set @maxerr = @delerr

-- if an error occured, roll back 

if @maxerr <> 0begin 

rollback 

print 'Transaction rolled back' 

end 

else begin 

commit 

print 'Transaction committed' 

end 

print 'INSERT error number:' + cast(@inserr as nvarchar(8)) 

print 'DELETE error number:' + cast(@delerr as nvarchar(8)) 

return @maxerr 

4. 

Ketikkan query berikut ini, kemudian klik tombol execute. Hasil yang

ditampilkan pada jendela result harus bernilai nol.

5.  Untuk melihat hasil dari query sebelumnya, jalankan query berikut ini : 

6. 

Tambahkan customer baru dengan parameter nilai “aa” untuk @newcusiddan @newcompname, serta “z” untuk @oldcustid.

Page 8: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 8/21

7.  Tampilkan kembali hasilnya menggunakan perintah SELECT.

B. 

Yang Terjadi Ketika Operasi Pertama Gagal

1.  Tambahkan customer baru dengan parameter nilai “a” untuk @newcusid,

“a” untuk @newcompname, dan “aa” untuk @oldcustid. 

C.  Yang Terjadi Ketika Operasi Kedua Gagal

1. 

Tambahkan customer baru dengan parameter nilai “aaa” untuk @newcusid,

“aaa” untuk @newcompname, dan “ALFKI” untuk @oldcustid. 

D.  Yang Terjadi Ketika Operasi Pertama dan Kedua Gagal

1.  Tambahkan customer baru dengan parameter nilai “a” untuk @newcusid,

“a” untuk @newcompname, dan “ALFKI” untuk @oldcustid. 

E.  Bekerja dengan ADO.NET Transaktions

1.  Buat Windows Form Application baru dengan nama Chapter8.

2. 

Ubah nama Form1.vb menjadi Transaction.vb

Page 9: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 9/21

 

3.  Ubah Text property dari Transaction from menjadi ADO.NET Transaction

in VB.NET.

4.  Tambahkan tiga label, tiga text box, dan satu button ke form.

5.  Tambahkan dan import perintah ke Transaction.vb

Imports System.Data.SqlClient

Double klik button1, kemudian ketikkan kode program berikut ini:

Imports System.Data.SqlClientPublic Class Transaction 

Private Sub Button1_Click(sender As Object, e As EventArgs)

Handles Button1.Click

Dim conn As New SqlConnection 

conn.ConnectionString = "Data Source=AJENG;Initial

Catalog=Northwind;Integrated Security=True" 'INSERT 

Dim sqlins As String = "insert into customers (customerid,

CompanyName)values(@newcustid, @newconame)" 

' DELETE 

Dim sqldel As String = "delete from customers where customerid= @oldcustid " 

' Open connection 

conn.Open() ' 

' Begin transaction 

Dim sqltrans As SqlTransaction = conn.BeginTransaction()

Try ' create insert command 

Dim cmdins As SqlCommand = conn.CreateCommand()

cmdins.CommandText = sqlins

cmdins.Transaction = sqltrans

cmdins.Parameters.Add("@newcustid",System.Data.SqlDbType.NVarChar, 5)

cmdins.Parameters.Add("@newconame",

System.Data.SqlDbType.NVarChar, 30)

' create delete command 

Page 10: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 10/21

  Dim cmddel As SqlCommand = conn.CreateCommand()

cmddel.CommandText = sqldel

cmddel.Transaction = sqltrans

cmddel.Parameters.Add("@oldcustid",System.Data.SqlDbType.NVarChar, 5)

' add customer 

cmdins.Parameters("@newcustid").Value = TextBox1.Text

cmdins.Parameters("@newconame").Value = TextBox2.Textcmdins.ExecuteNonQuery()

' delete customer cmddel.Parameters("@oldcustid").Value = TextBox3.Text

cmddel.ExecuteNonQuery()

'Commit transaction 

sqltrans.Commit()

' No exception, transaction committed, give message MessageBox.Show("Transaction committed")

Catch ex As System.Data.SqlClient.SqlException 

'Roll back transaction 

sqltrans.Rollback()

MessageBox.Show("Transaction rolled back" +

ControlChars.Lf + ex.Message, "Rollback Transaction")

Catch ex As System.Exception MessageBox.Show("System Error" + ControlChars.Lf +

ex.Message, "Error")

Finally 

' Close connection conn.Close()

End Try 

End Sub 

End Class 

6.  Jalankan program dengan menekan tombol kombinasi Ctrl+F5.

Lakukan penambahan customer dengan parameter nilai “b”, “bb”, dan

“bbb”. 

Lakukan penambahan customer dengan parameter nilai “a”, “aa”, dan “aaa”. 

Page 11: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 11/21

V.  Lembar Kerja

 No Judul / Hasil / Analisa

1 Membuat Transaksi pada T-SQL 

Ketika kita menjalankan prosedur ini, yang terjadi adalah kita

menambahkan pelanggan a, kemudian menambahkan company a, serta

menghapus pelanggan z. Semua operasi berhasil dijalankan walaupun tidak

ditemukan pelanggan dengan id ‘z’, namun oleh T-SQL dianggap itu tidak

dibutuhkan sehingga tidak muncul pesan kesalahan.

2 Yang Terjadi Ketika Operasi Pertama Gagal 

Dari pesan panel dapat dilihat bahwa transaksi melakukan rolling back.

@maxerr mengembalikan nilai 2627 untuk insert, menunjukkan bahwa

operasi insert gagal dikarenakan pelanggan ‘a’ sudah terdaftar. Sedangkan

operasi delete dengan nilai 0 menunjukkan bahwa operasi berhasil dilakukan

3 Yang Terjadi Ketika Operasi Kedua Gagal 

Dari pesan panel dapat dilihat bahwa transaksi melakukan rolling back.

@maxerr mengembalikan nilai 547 untuk delete, menunjukkan bahwa

Page 12: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 12/21

operasi delete gagal. Sedangkan operasi insert dengan nilai 0 menunjukkan

 bahwa operasi berhasil dilakukan. Operasi insert dapat dilakukan karena

 peanggan “aaa” belum terdaftar sebelumnya. 

4Yang Terjadi Ketika Operasi Pertama dan Kedua Gagal 

Dari pesan panel dapat dilihat bahwa transaksi melakukan rollingback

meskipun tidak ada pernyataan yang berhasil. @maxerr mengembalikannilai 2627 untuk insert dan 547 untuk delete. Hal ini menunjukkan bahwa

kedua operasi gagal.

5 Bekerja dengan ADO.NET Transaktions 

Parameter nilai “b”,”bb”,”bbb” 

Parameter nilai “a”,”aa”,”aaa” 

Setelah kita membuka koneksi, berarti kita menciptakan sebuah transaksi.

Berdasarkan praktik ini, kita tidak dapat menciptakan transaksi yang kedua

untuk koneksi yang sama sebelum transaksi yang pertama melakukan rolling

 back. Meskipun telah menggunakan metode BeginTransaction, transaksi itu

Page 13: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 13/21

sendiri tidak akan melakukan pekerjaan sampai dengan perintah SQL

 pertama dijalankan.

VI. 

Studi Kasus1.

 

Buat tabel mahasiswa dengan atribut nim, nama, email. Isi dengan tiga data

mahasiswa.

Master_mhs

create table master_mhs ( 

nim varchar(12) primary key, 

nama varchar(50), 

email varchar(30) 

)

Isi table master_mhs

insert into [dbo].[master_mhs]

values 

('3.34.12.0.01','Ajeng','[email protected]'), 

('3.34.12.0.03','Ayin','[email protected]'), 

('3.34.12.0.04','Istu','[email protected]')

2.  Buat tabel relasional, tabel nilai dengan atribut nim, makul, nilai. Pada tabel

nilai diisi masing-masing mahasiswa 3 makul.

Nilai

create table nilai ( 

nim varchar(12) references master_mhs(nim) 

//on delete cascade 

//on update cascade, 

kode_mk varchar(3) references master_mk(kode_mk) 

//on delete cascade 

//on update cascade, nilai char(1) 

Page 14: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 14/21

)

Isi table nilai

insert into [dbo].[nilai]

values 

('3.34.12.0.01','001','A'), 

('3.34.12.0.01','002','B'), 

('3.34.12.0.01','003','C'), 

('3.34.12.0.03','001','B'), 

('3.34.12.0.03','002','C'), 

('3.34.12.0.03','003','A'), 

('3.34.12.0.04','001','C'), 

('3.34.12.0.04','002','A'), 

('3.34.12.0.04','003','B')

3.  Buat tabel makul dengan atribut kode makul, makul. Isi dengan tida data makul.

Master_mk

create table master_mk ( 

kode_mk varchar(3) primary key, 

makul varchar(50) )

Isi table master_mk

insert into [dbo].[master_mk]values 

('001','Pemrograman Basisdata Jaringan'), 

('002','Sistem Multimedia'), 

('003','Sistem Terbenam')

Page 15: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 15/21

 

4. 

Buat stored procedure untuk insert dan delete.

Membuat sp_Edit_Mhs 

create procedure sp_Edit_Mhs

@newnim varchar(12), 

@newname varchar(50), 

@newemail varchar(30), 

@oldnim varchar(12) 

as 

declare @inserr int 

declare @delerr int 

declare @maxerr int 

set @maxerr = 0

begin transaction 

-- Add a customer insert into master_mhs (nim, nama, email) values (@newnim, @newname, @newemail) 

-- save error number returned from insert statement 

set @inserr = @@ERROR 

if @inserr > @maxerr

set @maxerr = @inserr

-- delete a customer 

delete from master_mhs

where nim = @oldnim

-- save error number returned from Delete statement set @delerr = @@ERROR 

if @delerr > @maxerr

set @maxerr = @delerr

-- if an error occured, roll back 

if @maxerr <> 0

begin 

rollback 

print 'Transaction rolled back' 

end 

else begin 

commit 

print 'Transaction committed' end 

Page 16: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 16/21

 

print 'INSERT error number:' + cast(@inserr as nvarchar(8)) 

print 'DELETE error number:' + cast(@delerr as nvarchar(8)) 

return @maxerr

  Hasil

Semua operasi berhasil

-  Operasi pertama gagal

-  Operasi kedua gagal

Page 17: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 17/21

 

-  Semua Operasi gagal

5. 

Buat menggunakan coding vb berbasis gui. 

  Buat Windows Form Application baru dengan nama TransaksiMahasiswa.

 

Ubah nama Form1.vb menjadi transactionMhs.vb

  Tambahkan empat label, empat text box, dan satu button ke form.

Page 18: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 18/21

 

  Tambahkan dan import perintah ke Transaction.vb

Double klik button1, kemudian ketikkan kode program berikut ini:

Imports System.Data.SqlClient

Public Class transactionMhs 

Private Sub BtnExec_Click(sender As Object, e As EventArgs)Handles BtnExec.Click

Dim conn As New SqlConnection 

conn.ConnectionString = "Data Source=AJENG;Initial

Catalog=DBmahasiswa;Integrated Security=True" 'INSERT 

Dim sqlins As String = "insert into master_mhs (nim, nama,

email)values(@newnim, @newname, @newemail)" ' DELETE 

Dim sqldel As String = "delete from master_mhs where nim =

@oldnim " 

' Open connection 

conn.Open() ' 

' Begin transaction Dim sqltrans As SqlTransaction = conn.BeginTransaction()Try 

' create insert command 

Dim cmdins As SqlCommand = conn.CreateCommand()

cmdins.CommandText = sqlins

cmdins.Transaction = sqltrans

cmdins.Parameters.Add("@newnim",

System.Data.SqlDbType.VarChar, 12)

cmdins.Parameters.Add("@newname",

System.Data.SqlDbType.VarChar, 50)

cmdins.Parameters.Add("@newemail",

System.Data.SqlDbType.VarChar, 30)

' create delete command 

Dim cmddel As SqlCommand = conn.CreateCommand()

cmddel.CommandText = sqldel

cmddel.Transaction = sqltrans

cmddel.Parameters.Add("@oldnim",System.Data.SqlDbType.VarChar, 12)

' add customer 

cmdins.Parameters("@newnim").Value = TxtNewNIM.Text

cmdins.Parameters("@newname").Value = TxtNewName.Text

cmdins.Parameters("@newemail").Value = TxtNewEmail.Text

cmdins.ExecuteNonQuery()

' delete customer cmddel.Parameters("@oldnim").Value = TxtOldNIM.Text

cmddel.ExecuteNonQuery()

'Commit transaction sqltrans.Commit()

Page 19: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 19/21

  ' No exception, transaction committed, give message 

MessageBox.Show("Transaction committed")

Catch ex As System.Data.SqlClient.SqlException 

'Roll back transaction 

sqltrans.Rollback()

MessageBox.Show("Transaction rolled back" +

ControlChars.Lf + ex.Message, "Rollback Transaction")Catch ex As System.Exception 

MessageBox.Show("System Error" + ControlChars.Lf +

ex.Message, "Error")

Finally 

' Close connection 

conn.Close()

End Try 

End Sub 

End Class 

  Jalankan program dengan menekan tombol kombinasi Ctrl+F5.

Hasil

-  Semua operasi berhasil

-  Operasi pertama gagal

Page 20: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 20/21

-  Operasi kedua gagal

-  Kedua operasi gagal

Page 21: Laporan Pemrogaman Chapter 8

7/25/2019 Laporan Pemrogaman Chapter 8

http://slidepdf.com/reader/full/laporan-pemrogaman-chapter-8 21/21

VII.  Kesimpulan

  Transaksi merupakan sekelompok operasi yang dijalankan bersamaan. Apabila

sebuah operasi mengalami kesalahan, maka dipastikan seluruh operasi di dalam

transaksi tersebut gagal dan dikembalikan ke keadaan semula.

  Terdapat tiga statemen yang digunakan untuk mengontrol transaksi pada

MSSQL Server, yaitu :

BEGIN TRANSACTION

-  COMMIT TRANSACTION

-  ROLLBACK TRANSACTION