Popular Posts

Blogger templates

Blogger news

Blogroll

About

Buscar

Cari Blog Ini

Rabu, 10 September 2025

TRIGGER 

MySQL

1. Pengertian



            Trigger adalah sebuah prosedur yang otomatis dijalankan (diekseskusi) oleh sistem database ketika terjadi suatu peristiwa tertentu pada tabel atau view. Peristiwa tersebut biasanya berupa INSERT, UPDATE, atau DELETE.
Dengan kata lain, trigger adalah mekanisme event-driven yang memungkinkan database untuk melakukan aksi secara otomatis tanpa perlu dipanggil secara manual oleh pengguna.

Contoh sederhana:

Jika kita punya tabel penjualan, maka setiap kali ada data transaksi baru dimasukkan, trigger dapat digunakan untuk otomatis mengurangi stok barang pada tabel persediaan.

2. Fungsi dan manfaat 

Trigger sangat berguna dalam manajemen database, di antaranya:

  1. Menjaga konsistensi data (data integrity)

    • Misalnya, setiap transaksi penjualan langsung mengurangi jumlah stok.

  2. Mengotomatisasi proses

    • Mengurangi pekerjaan manual dengan menjalankan prosedur otomatis.

  3. Mencegah kesalahan

    • Bisa menolak atau membatalkan operasi yang tidak sesuai aturan.

  4. Mencatat log perubahan data (audit trail)

    • Trigger bisa menyimpan data lama ke tabel log ketika terjadi update atau delete.

  5. Meningkatkan keamanan

    • Bisa membatasi operasi tertentu hanya jika memenuhi syarat tertentu.

3. Jenis - jenis Trigger

Trigger dibedakan berdasarkan waktu dan aksi yang memicunya:

a. Berdasarkan Waktu Eksekusi

  1. BEFORE Trigger

    • Dieksekusi sebelum operasi INSERT, UPDATE, atau DELETE dilakukan.

    • Berguna untuk validasi data sebelum masuk ke tabel.

  2. AFTER Trigger

    • Dieksekusi setelah operasi selesai dilakukan.

    • Berguna untuk mencatat perubahan data ke tabel log atau melakukan proses lanjutan.

b. Berdasarkan Peristiwa (Event)

  1. INSERT Trigger → aktif saat data baru ditambahkan.

  2. UPDATE Trigger → aktif saat data diubah.

  3. DELETE Trigger → aktif saat data dihapus.


4. Sintaks Dasar Trigger (MySQL)


Keterangan:

  • nama_trigger → nama dari trigger yang dibuat.

  • BEFORE/AFTER → menentukan kapan trigger dijalankan.

  • INSERT/UPDATE/DELETE → jenis aksi yang memicu trigger.

  • FOR EACH ROW → trigger berlaku untuk setiap baris data yang terkena operasi.


5. Contoh Implementasi Trigger

a. Trigger untuk Otomatis Mengurangi Stok Barang




Penjelasan:

  • Trigger ini berjalan setelah ada data baru di tabel penjualan.

  • NEW.jumlah dan NEW.id_barang merepresentasikan data yang baru dimasukkan.

  • Stok barang akan otomatis berkurang sesuai jumlah yang terjual.


b. Trigger untuk Mencatat Log Data yang Dihapus




Penjelasan:

  • Trigger ini berjalan sebelum data karyawan dihapus.

  • Data lama (OLD) akan disimpan ke tabel log_karyawan agar ada catatan riwayat.

6. Kelebihan dan Kekurangan Trigger

✅ Kelebihan

  • Otomatis: mengurangi pekerjaan manual.

  • Menjaga integritas data dengan baik.

  • Membantu membuat audit trail.

  • Dapat digunakan untuk validasi data secara konsisten.

❌ Kekurangan

  • Bisa menyulitkan debugging jika terlalu banyak trigger.

  • Menambah beban kerja pada server database.

  • Aksi yang otomatis terkadang membuat pengguna tidak sadar ada proses tambahan.

  • Susah dilacak jika trigger saling memanggil (nested trigger).


7. Kesimpulan

            Trigger pada database adalah fitur penting yang memungkinkan sistem menjalankan prosedur secara otomatis ketika terjadi perubahan data. Dengan trigger, kita dapat menjaga integritas data, mengurangi kesalahan, dan mengotomatisasi berbagai proses. Namun, penggunaannya perlu hati-hati agar tidak menambah beban server atau menyulitkan pemeliharaan.

0 komentar: