LAPORAN TRIGGER BASIS DATA

22
MODUL IX TRIGGER A. TUJUAN Memahami konsep dasar trigger didalam basis data. Memahami implementasi trigger sebagai bentuk respon atas suatu kejadian Mampu menyelesaikan kasus-kasus manipulasi data yang kompleks dengan memanfaatkan trigger. B. DASAR TEORI 1. Trigger Trigger dapat didefinisikan sebagai himpunan kode (procedural) yang dieksekusi secara otomatis sebagai respon atas suatu kejadian berkaitan dengan tabel basis data. Kejadian (event) yang dapat membangkitkan trigger umumnya berupa pernyataan INSERT, UPDATE, dan DELETE. Berdasarkan ruang lingkupnya, trigger diklasifikasikan menjadi dua jenis : row trigger dan statement trigger. Trigger baris (row) mendefinisikan aksi untuk setiap baris tabel : trigger pernyataan hanya berlaku untuk setiap pernyataan INSERT, UPDATE, dan DELETE. Dari sisi perilaku (behavior) eksekusi, trigger dapat dibedakan menjadi beberapa jenis; namun umumnya ada dua jenis: trigger BEFORE dan AFTER. Sesuai penamaannya, 1 | Page S1 Pendidikan Teknik Informatika OFF D 2014

Transcript of LAPORAN TRIGGER BASIS DATA

MODUL IX

TRIGGER

A. TUJUAN

Memahami konsep dasar trigger didalam basis data.

Memahami implementasi trigger sebagai bentuk respon

atas suatu kejadian

Mampu menyelesaikan kasus-kasus manipulasi data yang

kompleks dengan memanfaatkan trigger.

B. DASAR TEORI

1. Trigger

Trigger dapat didefinisikan sebagai himpunan kode

(procedural) yang dieksekusi secara otomatis sebagai

respon atas suatu kejadian berkaitan dengan tabel basis

data. Kejadian (event) yang dapat membangkitkan trigger

umumnya berupa pernyataan INSERT, UPDATE, dan DELETE.

Berdasarkan ruang lingkupnya, trigger diklasifikasikan

menjadi dua jenis : row trigger dan statement trigger. Trigger

baris (row) mendefinisikan aksi untuk setiap baris tabel :

trigger pernyataan hanya berlaku untuk setiap pernyataan

INSERT, UPDATE, dan DELETE.

Dari sisi perilaku (behavior) eksekusi, trigger dapat

dibedakan menjadi beberapa jenis; namun umumnya ada dua

jenis: trigger BEFORE dan AFTER. Sesuai penamaannya,

1 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

jenis-jenis ini merepresentasikan waktu eksekusi trigger-

misalnya sebelum ataukah sesudah pernyataan-pernyataan

yang berkorespondensi.

Adakalanya trigger dipandang sebagai bentuk spesifik dari

stored procedure (terkait pendefinisian body).

Bagaimanapun, trigger akan dipanggil (secara otomatis)

ketika event terjadi, sedangkan stored procedure harus

dipanggil secara eksplisit.

2. Trigger MySQL

MySQL mendukung fitur trigger—termasuk juga stored

procedure dan view—sejak versi 5.0.2. Sebagaimana objek-

objek lainnya, trigger diciptakan menggunakan pernyataan

CREATE.

Sintaks pendefinisian trigger diperlihatkan sebagai berikut

:

MySQL tidak mengizinkan multiple trigger dengan waktu

aksi dan event sama per tabel. Misalkan di tabel A sudah

didefinisikan trigger AFTER INSERT, maka kita tidak bolehmendefinisikan trigger AFTER INSERT lagi; namun AFTER EDIT,

AFTER DELETE, atau BEFORE (INSERT, EDIT, dan DELETE) bisa

diterima.

2 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

3 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

C. LATIHAN

Dalam latihan ini digunakan dua buah tabel bernama barang

dan pembelian dengan struktur seperti berikut :

Tabel barang

Tabel pembelian

Pernyataan SQL untuk membuat tabel

4 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

Latihan Praktikum 1

o Judul : Menggunakan Trigger

o Langkah Kerja

1. Buat trigger dengan pernyataan SQL :

2. Tambahkan data barang

3. Lihat tabel barang

SELECT * FROM barang;

o Printscreen

a. Hasil pengeksekusian trigger dapat dilihat pada

tabel barang

Latihan Praktikum 2

o Judul : Keyword OLD dan NEW

5 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

o Langkah Kerja

1. Buat trigger keyword new dengan pernyataan SQL :

2. Panggil data dari barang :

SELECT *FROM barang;

3. Tambahkan data :

o Printscreen

6 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

7 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

1. Buat trigger keyword OLD dengan pernyataan SQL :

2. Panggil data dari pembelian :

SELECT *FROM pembelian;

3. Hapus data :

4. Pemanggilan data dari pembelian setelah dihapus :

o Printcreen

NEW :

OLD :

8 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

1. Buat Trigger yang memanfaatkan keyword NEW maupun

OLD

2. Mengupdate data di pembelian:

3. Pemanggilan tabel pembelian setelah di update :

4. Pemanggilan tabel barang setelah di update :

Latihan Praktikum 3

9 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

o Judul : Trigger Kompleks

o Langkah Kerja :

1. Buat trigger kompleks dengan pernyataan SQL :

a. Printscreen

b. Analisis dari latihan praktikum

Pada latihan diatas dilakukan pembuatan tabel barang dan pembelian untuk digunakan ke operasi selanjutnya. Pada latihan 1 pembuatan trigger diberi nama inkremenStok2 lalu dilakukan penambahan pada tabel barang menggunakan perintah insert dan melakukan pemanggilan tabel barang dan hasil eksekusi menampilkan3 data yang ada pada tabel barang tesebut. Pada latihan2 terdapat 2 trigger yang dibuat. Untuk yang pertama pembuatan trigger new dengan pemberian nama trigger updateStok kemudian terdapat perintah update untuk tabel barang setelah itu, dilakukan pemanggilan pada tabel barang lalu dilakukan insert pada tabel barang

10 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

dan melakukan pemanggilan tabel barang dan hasil eksekusi menampilkan 4 data yang ada pada tabel barang tersebut kemudian dilakukan penambahan data lagi untuk tabel pembelian dengan perintah insert selanjutnya dilakukan pemanggilan lagi pada tabel barang dan akan menampilkan perubahan isi data pada field stok yaitu menjadi bernilai 20. Untuk yang kedua dilakukan pembuatan trigger old dengan pemberian nama trigger deleteChild kemudian terdapat perintah delete pada tabel pembelian dan melakukan penyeleksian pada tabel pembelian selanjutnya dilanjutkan perintah penghapusan dengan perintah delete pada tabel barang dan yang dihapus adalah data yang bernilai A10 pada field id_brg. Kemudian dilakukan pemanggilan pada tabel pembelian dan hasilnya akan menampilkan empty set karena data telah kosong. Selanjutnya melakukan pembuatan trigger dengan memanfaatkan keyword new dan old dan pembuatan trigger diberi nama updateStokEdit kemudian dilakukan juga update data pada tabel pembelian selanjutnya melakukan pemanggilan tabel pembelian setelah di update dan hasilnya menampilkan 1 data yang ada pada tabel tersebut dan dilakukan pemanggilan juga pada tabel barang yang setelah di update dan hasilnya akan menampilkan 3 data yang ada pada tabel barang tersebut. Pada latihan 3 adalah pembuatan trigger kompleks dimana triggernya diberi nama auditBarang kemudian dilakukan penyeleksian pada tabel barang dan hasilnya menampilkan 3 data yang aa pada tabel barang tersebut.

11 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

D. TUGAS PRAKTIKUM

1. Modifikasi trigger insert pembelian untuk menambahkan

fitur pemberian bonus. Skenarionya, jika pembelian lebih

dari 150 dan kurang dari 250, bonus 15; pembelian lebih

dari 250 dan kurang dari 350, bonus 25; pembelian lebih

dari 350, bonus 50. Untuk aturan penyesuaian stok barang

juga masih berlaku.

a. Pernyataan SQL

b. Printscreen

12 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

c. Analisis

Pada praktikum ini pernyataan SQL dari trigger

berfungsi untuk menambahkan jml_beli pada tabel

pembelian apabila terjadi pembelian tertentu dengan

syarat-syarat yang telah ditentukan pada soal.

Sedangkan field stok pada tabel barang akan

ditambahkan dengan jumlah pembelian yang telah

dilakukan. Sehingga banyak stok menjadi old.stok

+new.jml_beli.

2. Buat tabel pembayaran dengan field id_pem dan jumlah,

kemudian tambahkan field harga di tabel barang.

Modifikasi trigger insert pembelian untuk menambahkan

fitur penghitungan nota pembayaran. Misalkan harga

satuan barang A adalah Rp. 2000, dan terjadi pembelian

15 barang, maka jumlah pembayaran tercatat Rp.30000.

Ingat, aturan penyesuaian stok barang dan juga pemberian

bonus masih berlaku di sini.

a. Pernyataan SQL

13 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

b. Printscreen

14 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

c. Analisis

Untuk praktikum ini pernyataan trigger melakukan

penambahan pernyataan pada SQL dari praktikum yang

pertama. Pada praktikum 2 ini diharuskan membuat

tabel pembayaran terlebih dahulu dan menambahkan

field harga pada tabel barang. Pada tabel

pembayaran berfungsi untuk menampilkan hasil dari

jumlah harga dari pembelian yang dilakukan. Jadi

pada tabel pembayaran melakukan perkalian antara

harga satuan perbarang dengan jumlah barang yang

dibeli. Misalkan melakukan pembelian barang dengan

id_pem = 4, id_brg A10 dan jumlah pembelian 50 ,

maka harga satuan barang pada id_brg = 10000

dikalikan dengan jumlah barang yang dibeli = 50.

Jadi jumlah harga yang harus dibayar adalah 500.000

15 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

3. Buat tabel log_pembelian dengan field waktu dan operasi.

Selanjutnya, definisikan trigger di tabel pembelian

untuk merekam operasi INSERT, UPDATE, dan DELETE, dan

kemudian menyimpannya sebagai bukti transaksi di tabel

log pembelian.

16 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

a. Pernyataan SQL

b. Printscreen

17 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

18 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

c. Analisis

Pada praktikum ini adalah pembuatan tabel

log_pembelian dan terdapat operasi insert, update,

delete dan hasil tersebut terekam pada tabel

log_pembelian. Yang pertama menciptakan trigger insert

yang kemudian terdapat set ket yang perintah CONCAT

yang digunakan untuk memunculkan kalimat. Yang kedua

menciptakan trigger log_update. yang kemudian terdapat

set ket yang perintah CONCAT yang digunakan untuk

memunculkan kalimat dan yang ketiga menciptakan

trigger log_delete yang kemudian terdapat set ket yang

perintah CONCAT yang digunakan untuk memunculkan

kalimat. Dan perintah terakhir setiap penciptaan

trigger terdapat perintah insert ke tabel

19 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

log_pembelian. Kemuidan pemanggilan dilakukan dengan

show triggers \G dan program akan menampilkan

hasilnya.

20 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

KESIMPULAN

Trigger digunakan untuk memanggil satu atau beberapa perintah SQL

secara otomatis sebelum atau sesudah terjadi proses INSERT,

UPDATE, dan DELETE dari suatu tabel.

Trigger sering digunakan , antara lain :

Melakukan update data otomatis jika terjadi perubahan.

Contohnya adalah dalam sistem penjualan, jika dientri

barang baru maka stock akan bertambah secara otomatis.

Trigger dapat digunakan untuk mengimplementasikan suatu

sistem log. Setiap terjadi perubahan, secara otomatis akan

menyimpan ke tabel log.

Trigger dapat digunakan untuk melakukan validasi dan

verifikasi data sebelum data tersebut disimpan.

21 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014

DAFTAR RUJUKAN

1. Tim Asisten Dosen.2015. Trigger. Modul Praktikum 8 Basis

Data . Universitas Negeri Malang 2015

2. Kadir, Abdul.2003.Konsep dan Tuntunan Praktis Basis Data. Yogyakarta

: Andi (diakses pada tanggal 29 Maret 2015)

3. http//:pengertian trigger _ Java Adventure's in SMKN 4

Bandung.htm (Diakses pada tanggal 30 Maret 2015 pukul 14.00

WIB )

4. http//:Trigger MySQL _ Kifli's Blog.htm (Diakses pada

tanggal 30 Maret 2015 pukul 14.00 WIB )

5. http://anggoor-mysql.blogspot.com/2010/07/basis-data-

pengertian-trigger.html (diakses pada tanggal 29 Maret 2015)

22 | P a g eS1 Pendidikan Teknik Informatika OFF D 2014