BASIS DATA II
NAMA
: WANDY SUPRIADI
NIM
KOMPOSISI
BAB I Tujuan dan Landasan Teori
BAB II Langkah Kerja
BAB III Pembahasan
BAB IV Kesimpulan
BAB V Dafta Pustaka
BAB VI Lampiran
Jumlah
Maksimal
20
10
40
15
5
10
100
NILAI
KELAS
:E
MODUL
: IV
TOPIK
: Trigger
TUJUAN
Penilai,
Asisten Praktikum
MEYCELINO A.T.
LABORATORIUM PEMROGRAMAN
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK
UNIVERSITAS PALANGKARAYA
TAHUN 2016
BAB I
TUJUAN DAN LANDASAN TEORI
A. Tujuan :
Mahasiswa mampu memahami trigger serta penggunaannya untuk optimasi
sebuah database
B. Landasan Teori
Menurut Wikipedia, trigger diartikan sebagai procedural code that is
automatically executed in response to certain events on a particular table or view
in a database. Singkatnya,trigger merupakan sekumpulan perintah atau sintaks
yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau
view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara
otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE
dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan
secara otomatis ke tabel logsebelum menghapus data di tabel pelanggan.
Di MySQL, Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini
(5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak
pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger
ini.
Tipe dari trigger adalah :
1. Application trigger : diaktifkan pada saat terjadi event yang berhubungan dengan
sebuah aplikasi
2. Database trigger : diaktifkan pada saat terjadi event yang berhubungan dengan
data (seperti operasi DML) atau event yang berhubungan dengan sistem (semisal
logon atau shutdown) yang terjadi pada sebuah skema atau database.
Trigger sering digunakan, antara lain untuk:
1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam
sistem penjualan, jika dientri barang baru maka stock akan bertambah secara
otomatis.
2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap
terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
3. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum
data tersebut disimpan.
BAB II
LANGKAH KERJA
TUGAS :
a) Buat trigger bernama BatalPesan untuk menghapus secara otomatis data pada
tabel tabel Detail Pesan saat record data pada tabel Pembayaran telah dihapus.
b) Buat trigger bernama EditJumlahPemesanan untuk mengedit data pada field
Jumlah Pemesanan ditabel Pembayaran setelah ada perubahan banyaknya item
pemesanan dari tabel Detail Pemesanan.
c) Buat trigger bernama EditNoMeja untuk mengedit data No Meja pada table
Pembayaran setelah ada perubahan data No Meja pada tabel Meja
d)
BAB III
PEMBAHASAN
Berikut pembahasan dari praktikum dengan menggunakan trigger dimana
praktikum ini merapakan kelanjutan dari praktikum yang sebelumnya yang akan
di jelaskan sebagai berikut :
1. Membuat trigger bernama BatalPesan untuk menghapus secara otomatis data
pada tabel Detail Pesan saat record data pada tabel Pembayaran telah dihapus.
dengan nama Trigger Batal Pesan Cara nya pada folder tables klik kanan pada
tabel pembayaran, pilih Create Trigger. Kemudian Masukkan nama Trigger
Batal Pesan pada kotak dialog Create Trigger.
Gambar 3.6 Perubahan record yang terdapat di tabel pembayaran setelah trigger
diaktifkan
Dapat di lihat dari hasil scrennshoot di atas, data no pesan 3 dan nofaktur 3
terhapus setelah ada pemanggilan CALL deletepembayaran('3');karena kedua
data ini saling terhubung.
2. Membuat trigger bernama Edit Jumlah Pemesanan untuk mengedit data pada
field Jumlah Pemesanan ditabel Pembayaran setelah ada perubahan banyaknya
item pemesanan dari tabel Detail Pemesanan. dengan nama Trigger Edit Jumlah
Pemesanan Cara nya pada folder tables klik kanan pada tabel pembayaran, pilih
Create Trigger. Kemudian Masukkan nama Trigger Edit Jumlah Pemesanan
pada kotak dialo Create Trigger.
Gambar 3.9 Record yang terdapat dalam tabel detailpesan sebelum dilakukan
proses update
SELECT * FROM pembayaran;
Gambar 3.11 Record yang terdapat di dalam tabel detailpesan setelah dilakukan
proses update
SELECT * FROM pembayaran;
Gambar 3.12 Record yang terdapat di dalam tabel pembayaran setelah dilakukan
pembaharuan dari data pada tabel detailpesan, penghitungan kembali diskon dan
penghitungan kembali total pembayaran
Dapat di lihat dari hasil scrennshoot di atas, data pada tabel detailpesan dan
pembayaran telah diperbaharui.
3. Membuat triggerbernama EditNoMeja untuk mengedit data NoMeja pada table
Pembayaran setelah ada perubahan data No Meja pada tabel Meja. dengan nama
Trigger EditNoMeja Cara nya pada folder tables klik kanan pada tabel
pembayaran, pilih Create Trigger. Kemudian Masukkan nama Trigger
EditNoMeja pada kotak dialog Create Trigger.
Baris Query di atas digunakan untuk mengedit data No Meja pada table
Pembayaran setelah ada perubahan data No Meja pad atabel Meja.
UPDATE pembayaran SET nomeja = pembayaran.nomeja=meja.nomeja
WHERE nomeja=Old.nomeja;
Digunakan untuk mengaupdate tabel pembayaran, dimana nomeja sama dengan
pembayaran.nomeja sama dengan meja.nomeja, dimana nomeja sama dengan
old.nomeja.
Seanjutnya melakukan pengaktifan trigger ini, dengan mengikuti langkah-langkah
berikut ini:
SELECT * FROM meja;
(digunakan untuk menampilkan tabel meja)
SELECT * FROM pembayaran;
(digunakan untuk menampilkan record-record yang ada tabel pembayaran)
UPDATE meja SET nomeja='8' WHERE nomeja='2';
(digunakan untuk meng-update atau merubah no meja 2 menjadi no meja 8)
SELECT * FROM meja;
(digunakan untuk menampilkan tabel meja, dimana tabel yang tertampil akan ada
perubahan, yaitu nomeja2telah berubah menjadi 8)
SELECT * FROM pembayaran;
digunakan untuk menampilkan tabel pembayaran, dimana tabel yang tertampil
akan ada perubahan, yaitu nomeja 2 akan berubah menjadi 8).
di bawah ini hasil dari RUN baris query diatas:
SELECT * FROM meja;
Gambar 3.15 Record yang terdapat di tabel meja sbelum dilakukan update data
SELECT * FROM pembayaran;
Gambar 3.17 Record data yang terdapat di tabel meja setelah dilakukan proses
update data
SELECT * FROM pembayaran;
Gambar 3.18 Record data yang terdapat di dalam tabel pembayaran setelah
pengaktifan trigger dari proses update pada tabel meja
BAB IV
KESIMPULAN
BAB V
DAFTAR PUSTAKA
Christina, Sherly. 2016. Modul Basis Data II Semester Ganjil 2016/2017.
BAB VI
LAMPIRAN
Gambar 3.5 Record dari tabel detailpesan setelah dilakukan pemanggilan terhadap
prosedur deletepembayaran
Gambar 3.6 Perubahan record yang terdapat di tabel pembayaran setelah trigger
diaktifkan
Gambar 3.9 Record yang terdapat dalam tabel detailpesan sebelum dilakukan
proses update
Gambar 3.11 Record yang terdapat di dalam tabel detailpesan setelah dilakukan
proses update
Gambar 3.12 Record yang terdapat di dalam tabel pembayaran setelah dilakukan
pembaharuan dari data pada tabel detailpesan, penghitungan kembali diskon dan
penghitungan kembali total pembayaran
Gambar 3.15 Record yang terdapat di tabel meja sbelum dilakukan update data
Gambar 3.17 Record data yang terdapat di tabel meja setelah dilakukan proses
update data
Gambar 3.18 Record data yang terdapat di dalam tabel pembayaran setelah
pengaktifan trigger dari proses update pada