Upload
wendaaditama
View
236
Download
0
Embed Size (px)
Citation preview
8/18/2019 Laporan Modul 8 - Transaction Database
1/22
LAPORAN MODUL VIII
PRAKTIKUM BASIS DATA
TRANSACTION
Disusun untuk memenuhi
Matakuliah Praktikum Basis Data
Yang Dibimbing oleh Ba ak Utomo Pu!ianto" S#T#" M#T#
AN$$OTA K%&OMPOK'
()en*a A*itama +,-,../-00123
(Tri Is4ar*ani +,-,../--,5+3
PTI 1-+, O66%RIN$ D
UNI7%RSITAS N%$%RI MA&AN$
6AKU&TAS T%KNIK
8URUSAN T%KNIK %&%KTRO
PRODI S+ P%NDIDIKAN T%KNIK IN6ORMATIKA
APRI& 1-+/
8/18/2019 Laporan Modul 8 - Transaction Database
2/22
MODUL VIII
Transaction
A. TUJUAN Memahami konse *an urgensi transaksi *alam kehi*u an sehari9hari Memahami im lementasi transaksi basis *ata Mam u men:elesaikan o erasi9o erasi sensiti; *engan meman;aatkan transaksi
basis *ata#
B. DASAR TEORI
1 Transaksi Basis Data
Pa*a suatu hari" Tono ingin mentrans;er uang ke rekening a*ikn:a" Tini" sebesar
R # 2#---#---# Diilustrasikan se
8/18/2019 Laporan Modul 8 - Transaction Database
3/22
Dalam transaksi basis *ata" ter*a at ro erti9 ro erti :ang men!amin bah4a
transaksi *ilaksanakan *engan baik# Pro erti9 ro erti ini *ikenal sebagai ACID
( Atomicity, Consistency, Isolation, Durability 3#
• AtomicityTransaksi *ilakukan sekali *an si;atn:a atomic " artin:a meru akan satu kesatuan
tunggal :ang ti*ak *a at *i isah" baik itu eker!aaan :ang *ilaksanakan se
8/18/2019 Laporan Modul 8 - Transaction Database
4/22
2. Ta&e' Transaksi
Sebelum memulai im lementasi transaksi basis *ata" terlebih *ahulu database sebagai berikut'
S$L $%er#
CREATE DATABASE dtransaksi
Setelah database “” dtransaksi telah berhasil dibuat, berikutnyaadalah gunakan database tersebut sebagai berikut:
S$L $%er#
SE dtransaksi
• Out ut Program
Setelah database “dtransaksi” telah berhasil dibuka/digunakan,berikutnya adalah membuat sebuah tabel sebagai berikut :
S$L $%er#
CREATE TABLE trans_de!o "na!a VARCHAR"#$% &OT & LL'(RI)AR* KE*"na!a%
% E&+I&E , InnoDB-
• Output Program
Jika sudah memiliki tabel non-transactional dan inginmengubahnya menjadi transactional , gunakan perintah ALTER. Sebagai
8/18/2019 Laporan Modul 8 - Transaction Database
5/22
3. Implementasi Transaksi
Transaksi di MyS ! diinisiasi dengan menggunakan pernyataanSTART TRA&SACTIO& atau BE+I& *an *iakhiri *engan CO))IT untuk menera kan semuatransksi#
Sebagai ilustrasi" ikuti *an ahami
8/18/2019 Laporan Modul 8 - Transaction Database
6/22
0# Keluar *ari terminal"
S$L $%er#
SELECT 6 7RO) trans_de!o-
• Out ut Program
,# &ogin kembali ke basis *ata :ang sama" kemu*ian eriksa isi tabel >trans *emo?#
S$L $%er#
SELECT 6 7RO) trans_de!o-
• Out ut Program
Da at *i erhatikan a*a gambar *iatas" bah4a tabel >trans *emo? kosong# =altersebut *ikarenakan ti*ak *itera kann:a transaksi *engan memanggil CO))IT #A*a un enutu an rom t m:s l mengakibatkan transaksi *i9 rollback se
8/18/2019 Laporan Modul 8 - Transaction Database
7/22
Dari hasil *i atas" telah *ilakukan enutu an rom t m:s l *an *ibuka kembali#Ketika telah *igunakan COMMIT" maka setelah prompt m:s l :ang telah *itutu *i
buka kembail" *ata telah tersim an (ti*ak *i9 rollback 3#
A%toco((it Mo"e
Setelah menggunakan ern:ataan START TRA&SACTIO& " !uga *a atmenggunakan ern:ataan SET untuk mengatur nilai ariabel autocommit # Nilaidefault autocommit a*alah +" :ang men:atakan bah4a transaksi basis *ata ti*ak akti;#Dengan kata lain" setia erintah akan langsung *itera kan se
8/18/2019 Laporan Modul 8 - Transaction Database
8/22
.# Tambahkan *ata berikut ini a*a tabel >trans *emo?"
S$L $%er#
I&SERT I&TO trans_de!oVAL ES"0d:;1%-
• Out ut Program
0# Keluar *ari prompt m:s l" kemu*ian login kembali *an eriksa hasil enambahan*ata# Seharusn:a" hasil enambahan ti*ak akan *itera kan se
8/18/2019 Laporan Modul 8 - Transaction Database
9/22
S$L $%er#
insert into trans_de!ova49es"0d:;1%-
se4e5t 6 =ro! trans_de!o-
• Out ut Program
/# Periksa nilai ariabel autocommit #
S$L $%er#
se4e5t 88a9to5o!!it-
• Out ut Program
# &akukan langkah nomor 0" kemu*ian eriksa nilai ariabel autocommit #
S$L $%er#
9se dtransaksi-se4e5t 88a9to5o!!it-
• Out ut Program
8/18/2019 Laporan Modul 8 - Transaction Database
10/22
5# Berikan kesim ulan *ari langkah nomor , sam ai *engan langkah nomor a*ala oran#Kesim ulan ' Data :ang *ibuat langsung tersusu se
8/18/2019 Laporan Modul 8 - Transaction Database
11/22
se4e5t 6 =ro! trans_de!o-
• Out ut Program
.# Tambahkan baris *ata berikut ini#
S$L $%er#
insert into trans_de!ova49es"0s2:ase1%-
• Out ut Program
0# Tambahkan lagi baris *ata" namun *engan nilai :ang sama#
S$L $%er#
insert into trans_de!ova49es"0s2:ase1%-
• Out ut Program
,# Berikan ern:ataan ROLLBACK untuk membatalkan rangkaian erintah *alamsatu transaksi#
S$L $%er#
ro44:a5k-
8/18/2019 Laporan Modul 8 - Transaction Database
12/22
• Out ut Program
/# Sam ai langkah ini" seharusn:a ti*ak a*a enambahan *ata baru :angtersim an#
S$L $%er#
se4e5t 6 =ro! trans_de!o-
• Out ut Program
Pemanggilan START TRA&SACTIO& *i akhir :ang ti*ak *itutu " misal
menggunakan CO))IT " maka akan mengakibatkan *i anggiln:a CO))IT se
8/18/2019 Laporan Modul 8 - Transaction Database
13/22
1# Terlebih *ahulu eriksa nilai *i tabel >trans *emo?#
S$L $%er#
se4e5t 6 =ro! trans_de!o-
• Out ut Program
.# Tambahkan basis *ata berikut#
S$L $%er#
insert into trans_de!o
va49es"0s2:ase1%-
• Out ut Program
0# $unakan ern:ataan SAVE(OI&T untuk menan*ai erintah ertama#
S$L $%er#
save>oint !2_>oint#-
• Out ut Program
8/18/2019 Laporan Modul 8 - Transaction Database
14/22
,# Tambahkan lagi baris baru#
S$L $%er#
insert into trans_de!ova49es"0s34ite1%-
• Out ut Program
/# Berikan erintah ROLLBACK ke SAVE(OI&T m: oint+#
S$L $%er#
ro44:a5k to save>oint !2_>oint#-
• Out ut Program
# Tambahkan lagi baris baru#
S$L $%er#
insert into trans_de!ova49es"0d:;1%-
8/18/2019 Laporan Modul 8 - Transaction Database
15/22
• Out ut Program
5# Tera kan transaksi#
S$L $%er#
5o!!it-
• Out ut Program
2# &ihat hasiln:a#
S$L $%er#
se4e5t 6 =ro! trans_de!o-
• Out ut Program
D. TU+AS PRA,TI,UM
Untuk men:elesaikan tugas raktikum" gunakan tabel tabungan *engan struktur
sebagai berikut '
S$L $%er#
5reate ta:4e ta:9n/an"no_rek I&T"#?% not n944'
@9!4ah DO BLE not n944'trans_id I&T not n944% en/ine , InnoDB-
8/18/2019 Laporan Modul 8 - Transaction Database
16/22
• Out ut Program
+# De;inisikan stored procedure untuk menangani trans;er antar rekening *engan
mengim lementasikan transaksi basis *ata# Setelah trans;er uang berhasil"
tam ilkan sisa sal*o rekening engirim#(Point ' 1-3
• Perintah S@&
• Tam ilan rogram
8/18/2019 Laporan Modul 8 - Transaction Database
17/22
1# De;inisikan stored procedure untuk menangani enarikan tabungan *engan
mengim lementasikan transaksi basis *ata# Skenarion:a a*alah enarikan han:a
*a at *ilakukan !ika '• Sal*o men
8/18/2019 Laporan Modul 8 - Transaction Database
18/22
• Tam ilan rogram
8/18/2019 Laporan Modul 8 - Transaction Database
19/22
.# De;inisikan stored procedure menangani enarikan berulang# Artin:a" enarikan
tabungan *engan nominal tertentu :ang *is esi;ikasikan akan *ilakukan seban:ak
iterasi :ang *is esi;ikasikan !uga# Aturan enarikan tabungan a*a soal nomor 1
masih berlaku *isini#
Sebagai ilustrasi" misal Tono memiliki sal*o R # .--#---" kemu*ian melakukan
enarikan melalui stored procedure berulang *engan nominal R # +--#---
seban:ak . kali" maka stored procedure han:a akan meng9 commit enarikan R #
1--#--- (1 E R # +--#---3# Sisa R # +--#--- ti*ak *a at *iambil" karena harus
men:isakan sal*o R # ,-#---# (Point ' ,-3
8/18/2019 Laporan Modul 8 - Transaction Database
20/22
• Perintah S@&
• Tam ilan rogram
8/18/2019 Laporan Modul 8 - Transaction Database
21/22
E. ,ESIMPULAN
Unikn:a" konse en:elesaian *i atas su*ah *ikemukakan oleh ara ahli se!ak uluhan tahun
silam# Konse :ang *isebut transaksi basis *ata ( database transaction 3 ini sebenarn:a
8/18/2019 Laporan Modul 8 - Transaction Database
22/22
"# Tim Asisten Dosen # 1-+/ # Modul 8 Transaction # Malang ' Uni ersitas NegeriMalang