Transaction dan Trigger. M. Saefudin SKom, MMSI

dokumen-dokumen yang mirip
Stored Procedure. M. Saefudin SKom, MMSI

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Praktikum TRIGGER. Tujuan :

Modul 6 Function dan Trigger

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Transact-SQL (Trigger- Event, Store Procedure)

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

Administrasi Basis Data. Integritas Data. Yoannita

Pemrograman Basis Data dan SQL

Gambar Layar pertama untuk pemecahan masalah Lost Update

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

PRAKTIKUM SISTEM BASIS DATA TUGAS 1 MANGROVE PERCETAKAN. Penyusun : Nama : Edi Sastrawijoyo NIM : Prodi : Teknik Informatika

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Membuat Function, Stored Procedur dan View pada MySQL

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Pertemuan VII TRIGGERS

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

Cara Membuat Trigger di MySQL

Pertemuan I KONSEP DASAR STORED ROUTINES

TUGAS PRAKTIKUM SISTEM BASIS DATA

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

VIEW : Tabel Virtual VIEW 5/29/2017

STRUCTURE QUERY LANGUAGE (SQL)

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Cara Membuat Trigger di MySQL

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

BAB V IMPLEMENTASI DAN PENGUJIAN

DATA DEFINITION LANGUAGE (DDL)

Kusnawi, S.Kom, M.Eng

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

LAPORAN TUGAS Pemrograman Berbasis Java

Modul 4. Mengoperasikan Bahasa Pemrograman Data Description (SQL) Memahami penggunaan username dan password pada MySQL

LAPORAN TUGAS BASIS DATA I

Pertemuan VI F U N C T I O N

BAB IV HASIL DAN UJI COBA

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

TUGAS PRAKTIKUM SISTEM BASIS DATA

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

Triggers. by: Ahmad Syauqi Ahsan

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

MENGENAL SYNTAX DML PADA SQL

PRAKTIKUM SISTEM BASIS DATA

JobsheetTEUM MODUL VI TRIGGER

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

Contoh SQL Constraint

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

Mudafiq Riyan Pratama

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Introduction to SQL. Database Programming. 2 nd Chapter


Oracle Academic Initiative

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

Pertemuan IX MANAJEMEN TRANSAKSI

Fungsi Aritmatika, Fungsi Konversi dan Fungsi Karakter. M. Saefudin SKom, MMSI

Constraint dan Manajemen Data dalam Timezone Berbeda

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

Cursor. M. Saefudin SKom, MMSI

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

PRAKTIKUM SISTEM BASISDATA

Administrasi Basis Data. Transaksi dan Lock. Yoannita

Basis Data II. Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada S1 Teknik Informatika - Unijoyo 1

PANDUAN UJI KOMPETENSI

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

MySQL AL AZHAR COMPUTER CLUB

BERMAIN DATA DENGAN SQL SERVER

MODUL 10 TRANSACTION

Transaction & Conccurency

Transaksi. by: Ahmad Syauqi Ahsan

Praktikum Basis Data 14 Structure Query Language 2

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Basis Data Spasial Modul 2

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

STMIK SUMEDANG DATA DEFINITION LANGUAGE (DDL) TUGAS PRAKTEK PEMROGRAMAN BASIS DATA. Nama : NIKKI BAGUS N A NIM : A Kelas : TI 4A

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Contoh SQL Constraint

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

PERINTAH DASAR MySQL

Transkripsi:

Transaction dan Trigger M. Saefudin SKom, MMSI

Kompetensi Dasar: 1. Memahami konsep transaction 2. Memahami konsep trigger 3. Memahami penerapan transaction dan trigger Indikator: 1. Mampu menjelaskan manfaat dari transaction dan trigger 2. Memahami dan mampu menggunakan transaction dan trigger terhadap basis data

Pengantar Transaction dalam pemrograman database digunakan untuk menangani terjadinya error dalam memanipulasi database. Sedangkan trigger merupakan tipe spesial dari Store Procedure yang berjalan secara Event Driven saat user melakukan modifikasi khusus terhadap table tertentu. SQL Server akan menjalankan Trigger ketika ada perintah INSERT, UPDATE, DELETE pada tabel. Trigger biasanya digunakan untuk menjaga integrasi data, menangani penggantian data serta dapat melakukan aksi lain saat tabel dimodifikasi dengan mengenai pernyataan INSERT, UPDATE, DELETE.

Kegunaan Trigger Store procedure yang telah dibuat dapat digunakan dengan memanggilnya, namun store procedure dapat pula dieksekusi jika suatu tabel mengalami perubahan hal yang demikian dinamakan dengan trigger. Secara sederhana dapat dikatakan bahwa trigger adalah perkataan 'jalankan fungsi ini jika kejadian terjadi pada tabel ini'.

Manfaat Trigger Pengaktifan trigger dapat memberikan manfaat yang sangat besar seperti digunakan untuk: 1. Mencegah kesalahan pemasukan data. 2. Mencegah kesalahan penghapusan data. 3. Mencegah kesalahan pengupdatean data.

Membuat Trigger Trigger dibuat dengan perintah: CREATE TRIGGER Triggername ON Tablename FOR INSERT, UPDATE, DELETE AS DECLARE Statements SQL

Komponen trigger 1. Keterangan kapan trigger diaktifkan. 2. Tabel yang direferensikan atau diasosiasikan oleh trigger tersebut. 3. Perintah SQL yang dijalankan oleh trigger tersebut.

Struktur tabel atlet

Akan dibuat sebuah trigger UPDATE pada tabel atlet di atas yang akan dijalankan ketika tabel atlet dikenai perintah UPDATE.

create trigger T_UpdateAtlet on atlet for update as print 'Tabel Atlet telah diupdate Untuk melihat hasilnya kita harus melakukan perintah UPDATE terhadap tabel atlet. update atlet set nama_atlet='yuliati' where id_atlet=3 Hasil dari eksekusi statement di atas adalah: Tabel Atlet telah diupdate (1 row(s) affected)

Pada saat terjadi UPDATE yang mengaktifkan trigger T_UpdateAtlet, trigger menyimpan data hasil modifikasi di dalam sebuah tabel yang bernama Inserted. Sedangkan data dari tabel atlet yang dihapus akan disimpan dalam tabel yang bernama Deleted.

Mengubah Trigger alter trigger T_UpdateAtlet on atlet for update as print 'Tabel Atlet telah diupdate' select * from inserted select * from deleted Setelah trigger T_UpdateAtlet diubah, kita kenakan perintah UPDATE pada tabel atlet

Transaction Contoh pemakaian transaction seperti kasus ini: gaji_kotor di tabel Penggajian dihitung dari penjumlahan antara gaji_pokok dan tunjangan dari tabel Jabatan. Jika kita mengubah gaji_pokok dan atau tunjangan di tabel Jabatan maka gaji_kotor di tabel Penggajian ikut berubah. Misalnya gaji_pokok mula-mula adalah 1200000 dan tunjangan mula-mula adalah 350000 maka gaji_kotor mula-mula adalah 1550000. Jika gaji_pokok kita ubah menjadi 1300000 maka gaji_kotor sekarang adalah 1650000. Kegunaan dari pemakaian transaction adalah jika kita berhasil mengubah gaji_pokok dan gaji_kotor dengan baik maka pengubahan akan dilakukan, tetapi jika pada saat kita mengubah data gaji_pokok kemudian tiba-tiba terjadi error sehingga gaji_kotor tidak terjadi perubahan maka pengubahan dibatalkan.

Sintaks dasar dari transaction : BEGIN TRANSACTION Perintah_Perintah_SQL If @@error = 0 Commit Transaction Else Rollback Transaction

Trigger HapusData pada tabel Jabatan

Trigger berikut untuk proses input data karyawan, jika kode jabatan belum ada dalam tabel Jabatan maka kode tersebut akan diisikan dulu ke tabel Jabatan dengan nama jabatan, gaji_pokok=0 dan tunjangan=0.

Menonaktifkan Trigger Perintah ALTER TABLE dapat dipakai untuk mengaktifkan atau tidak mengaktifkan suatu trigger tanpa menghapus definisi trigger tersebut. Oleh karena setiap trigger didefinisikan pada sebuah tabel maka kita menggunakan perintah ALTER TABLE bukan ALTER TRIGGER. Untuk tidak mengaktifkan trigger DeleteMHS, dipakai option DISABLE TRIGGER: alter table atlet disable trigger T_UpdateAtlet

Latihan 1.Buatlah trigger untuk menjaga agar email yang diisikan ke dalam tabel Guestbook selalu benar (misal mengandung tanda @ dan.com,.net. dan lain-lain). 2.Buatlah trigger untuk menjaga agar nama yang diisikan ke dalam tabel Mahasiswa selalu berisi karakter (a...z).

Latihan 3. Buatlah trigger untuk menjaga agar bobot SKS yang diisikan ke dalam tabel Mata_Kuliah selalu berisi bilangan bulat (1...6). 4. Buatlah trigger untuk menjaga agar gender yang diisikan ke dalam tabel Karyawan selalu berisi L atau P. 5. Buatlah trigger untuk menjaga agar nilai huruf yang diisikan ke dalam tabel KHS selalu berisi karakter huruf (A...E).

Latihan 6. Buatlah trigger untuk menjaga agar nomor mahasiswa yang diisikan ke dalam tabel Mahasiswa selalu benar yaitu dengan ketentuan karakter pertama dan kedua berisi karakter angka yang mencerminkan tahun angkatan, karakter ketiga merupakan karakter titik, karakter keempat dan kelima berisi karakter angka yang mencerminkan kode jurusan (01 adalah Diploma III Teknik Informatika, 11 adalah Strata I Teknik Informatika, 02 adalah Diploma III Manajemen Informatika dan 12 adalah Strata I Sistem Informasi), karakter keenam merupakan karakter titik dan empat karakter berikutnya berisi karakter angka yang merupakan nomor mahasiswa.

Latihan 7. Buatlah trigger yang digunakan untuk transaction pada tabel Penggajian. Kasusnya seperti ini: seorang karyawan hanya bisa melakukan transaksi penggajian 1 kali dalam sebulan. Trigger yang anda buat digunakan untuk mengecek jika pada saat terjadi penginsertan data ke tabel Penggajian, jika kode_karyawan tersebut telah menerima gaji pada bulan itu juga maka penginsertan data digagalkan, tetapi jika pada bulan tersebut karyawan belum menerima gaji, maka penginsertan di-commit. Contoh jika kode_karyawan K-0001 telah menerima gaji pada tanggal 20/02/2006, kemudian terjadi penginsertan data gaji lagi dengan tanggal penggajian 20/02/2006 atau 25/02/2006 maka proses penginsertan digagalkan karena pada bulan 02 karyawan tersebut telah menerima gaji.