LAPORAN TRIGGER BASIS DATA
-
Upload
universitasnegerimalang -
Category
Documents
-
view
4 -
download
0
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
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
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
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
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