Laporan Modul 8 - Transaction Database

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