Oleh:
Ardiber Yohan D.s
2021020173
Kelas TI-A
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS HANDAYANI MAKASSAR
TAHUN 2023
A. Dasar Teori Trigger pada MYSQL
Trigger dalam database yaitu suatu kode kode prosedural yang secara otomatis
dijalankan untuk menanggapi perubahan tertentu pada table tertentu atau tampilan
dalam database. Trigger dapat didefinisikan untuk menjalankan penrintah sebelum atau
setelah eksekusi DML (Data Manipulation Language) seperti INSERT, UPDATE, dan
DELETE,Trigger banyak digunakan untuk menjaga integritas informasi pada database,
rigger didukung oleh banyak RDBMS, seperti : MySQL, PostgreSQL, SQLite, Firebird,
DB2, Microsoft SQL Server dan Oracle. Implementasinya bervariasi sehingga Anda
harus memeriksa dokumentasi database yang sesuai sebelum coding.
ketika menggunakan trigger hal-hal yang harus dihindari yaitu trigger jangan digunakan
sebagai tempat dari foreign key constraints.
2. Waspada tentang pemisahan logika bisnis Anda antara database dan sistem
back-end Anda (yang ditulis dalam PHP, C #, Java dll). Pemeliharaan sistem
akan menjadi lebih sulit jika kode Anda dipisahkan.
3. Hindari duplikasi source code dan kode Trigger, sehingga seharusnya tidak perlu
mengulang perintah yang sama dalam database.
4. Trigger akan memicu overhead kinerja. Trigger akan dieksekusi lebih cepat dari
serangkaian perintah SQL lewat kode back-end.
B. Berikut adalah langkah-langkah cara umum untuk membuat trigger pada
MySQL:
1. Pertimbangkan kebutuhan dan kondisi yang akan memicu trigger. Anda perlu
memikirkan operasi apa yang ingin Anda tanggapi (misalnya INSERT, UPDATE,
DELETE), tabel mana yang akan dipantau, dan kondisi spesifik yang harus
terpenuhi agar trigger dipicu.
2. Tentukan nama trigger yang unik. Nama trigger harus unik dalam database.
3. Tentukan timing trigger. Anda perlu memutuskan apakah trigger akan dijalankan
sebelum atau sesudah operasi data yang dipantau.
4. Tentukan event yang akan memicu trigger. Misalnya, Anda dapat memilih untuk
menjalankan trigger setiap kali ada operasi INSERT baru atau hanya ketika ada
perubahan pada kolom tertentu.
5. Tentukan tindakan yang akan dijalankan saat trigger dipicu. Tindakan ini bisa
berupa pernyataan SQL seperti INSERT, UPDATE, DELETE, atau perintah lain
yang sesuai dengan kebutuhan Anda.
6. Gunakan sintaks SQL untuk membuat trigger. Anda dapat menggunakan
perintah CREATE TRIGGER untuk membuat trigger dengan menyertakan nama,
timing, event, tindakan, dan kondisi yang sesuai.
7. Verifikasi dan uji trigger. Pastikan sintaksis dan logika trigger sudah benar
dengan menguji perubahan data yang dipantau untuk memastikan trigger
berjalan sesuai harapan.
8. Simpan dan aktifkan trigger. Setelah Anda yakin bahwa trigger berfungsi dengan
baik, simpan trigger di database dan pastikan itu diaktifkan untuk berjalan saat
perubahan data terjadi.
C. PRATIKUM Membuat TRIGGER
Langkah pertama yaitu membuka klien MySQL, seperti terminal atau command prompt.
Langkah ke 5 membuat tabel mahasiswa dengan perintah Create table diikuti nama
table yang akan dibuat seperti pada gambar diabawa ini
Langkah ke 6 menampilkan kembali struktur tabel mahasiswa yang telah dibuat diatas
yaitu tabel mahasiswa handayani seperti pada gambar dibawah menggunakan perintah
desc diikuti nama tabel;
Langkah 11 membuat triger setelah selesai membuat tabel untuk menyimpan data
perubahan alamat sebelum perintah UPDATE dijalankan
Brikut keterangan dari perintah dang fungsi masing masing perintah pada gambar
diatas
DELIMITER $$: Mengatur delimiter awal sebagai $$. Ini memungkinkan penggunaan ;
dalam trigger tanpa menganggapnya sebagai akhir perintah.
BEFORE UPDATE: Menentukan bahwa trigger akan dipicu sebelum operasi UPDATE
dilakukan pada tabel mhs_handayani.
SET nim = OLD.nim: Menetapkan nilai kolom nim pada tabel log_mhs_handayani
dengan nilai kolom nim yang ada pada baris lama (OLD) dalam tabel mhs_handayani.
waktu = NOW(): Menetapkan nilai kolom waktu pada tabel log_mhs_handayani dengan
nilai waktu saat ini.
Perintah di atas akan mengupdate nilai kolom kode_mk menjadi "PCS100002" pada baris
dengan nama "Ardiber Yohan Ds" di tabel mhs_handayani. Pastikan tabel dan kolom yang
ditargetkan sesuai dengan struktur tabel yang ada. Juga, pastikan bahwa nilai kolom nama
yang digunakan untuk kondisi WHERE sesuai dengan nama yang ingin Anda ubah.
Record atau data baru secara otomatis telah ditambahkan ke table log_mhs_handayani
untuk nama dengan NIM 21021020173 yang telah diubah kode_mk Awal yaitu
PCS100001” menjadi “PCS100002”
Langkah terahir yiatu kita dapat lihat pada tabel mhs_handayani kode mata kuliah yang
ditampilkan disana adalah kode baru yang sebelumnya kodenya yaitu PCS100001
menjadi PCS 100002 setelah di upadate pada tabel mhs_handayani dapat dilihat
padagambar berikut yang telah di tampilkan dengan perintah select
D. Kesimpulan
Trigger sangat berguna dalam memastikan integritas data, melacak perubahan, dan
mengotomatisasi tindakan tertentu dalam basis data MySQL.
REFERENSI
https://www.dignitas.id/blog/mengenaltrigger#:~:text=Trigger%20dalam%20datab
ase%20adalah%20kode,INSERT%2C%20UPDATE%2C%20dan%20DELETE.
https://ngodingdata.com/cara-membuat-trigger-mysql/