Home » » Mengenal Pengertian Trigger dalam Database Beserta Fungsi dan Contohnya

Mengenal Pengertian Trigger dalam Database Beserta Fungsi dan Contohnya

Posted by Flash Droid Pedia on Wednesday, May 23, 2018

Data dapat diubah menjadi suatu informasi yang dibutuhkan menggunakan database. Pada awalnya, data tersebut terdiri dari kumpulan variabel yang akan terganti menjadi informasi menggunakan berbagai perintah eksekusi. Dengan begitu, manajemen database sangat diperlukan untuk menyimpan data tersebut sampai saat data selesai dieksekusi.


Saat ini, sistem manajemen database yang paling populer adalah MySQL. Banyak alasan mengapa banyak pengguna menggunakan MySQL, salah satunya MySQL hampir didukung oleh berbagai bahasa pemrograman yang tersedia saat ini.


Dalam MySQL, suatu database dibuat dengan memanfaatkan fasilitas table. Selain table, MySQL juga dilengkapi dengan salah satu fitur trigger. Lalu, tahukah Anda apa yang dimaksud dengan trigger? Istilah trigger mungkin masih asing didengar. Namun, trigger menjadi kumpulan perintah yang dilakukan apabila terjadi berbagai operasi dalam table.


Pada artikel kali ini, akan dijelaskan mengenai pengertian trigger, fungsi trigger dan beberapa contoh penerapan trigger dalam MySQL. Dengan begitu, Anda jadi lebih mengetahui pembahasan trigger secara detail. Berikut pembahasan pertama mengenai pengertian trigger dibawah ini.


Pengertian Trigger


Data dapat diubah menjadi suatu informasi yang dibutuhkan menggunakan database Mengenal Pengertian Trigger dalam Database Beserta Fungsi dan Contohnya


Dalam DBMS (Database Management System), trigger merupakan kumpulan script yang berhubungan dengan table, view ataupun skema yang dijalankan secara otomatis ketika terdapat event yang dijalankan. Event tersebut meliputi operasi yang biasa dilakukan dalam mengolah database, seperti :



  • DML (Data Manipulation Language) yang meliputi DELETE, INSERT atau UPDATE

  • DDL (Data Definition Language) yang meliputi CREATE, ALTER atau DROP

  • Operasi Database lainnya, seperti SERVERERROR, LOGON, LOGOFF, STARTUP atau SHUTDOWN)


Secara sederhana, perintah untuk membuat trigger adalah sebagai berikut :


CREATE TRIGGER nama_trigger [BEFORE|AFTER]

[INSERT/UPDATE/DELETE]

ON nama_table

FOR EACH ROW

BEGIN

// trigger body

END;

Keterangan dari bentuk perintah umum dalam membuat trigger, yaitu :



  • nama_trigger : nama trigger yang dibuat sesuai dengan karakteristik penamaan dalam MySQL

  • [BEFORE|AFTER] : menunjukkan waktu untuk mengeksekusi trigger secara otomatis, apakah sebelum atau sesudah perubahan pada row data table. Jadi pilihannya adalah AFTER atau BEFORE.

  • [INSERT | UPDATE | DELETE] : digunakan untuk menentukan event yang menyebabkan terjadinya trigger, pilIhan event tersebut terdiri dari INSER, UPDATE dan DELETE.

  • nama_table : menunjukkan table yang akan dilakukan trigger didalamnya

  • trigger_body : menunjukkan statement perintah dalam MySQL yang akan otomatis dijalankan jika event sedang aktif.


Pada umumnya, statement yang digunakan dalam trigger hanya berupa satu perintah saja. Namun, jika Anda ingin membuat beberapa perintah di dalamnya, maka gunakan perintah tersebut ke dalam blok BEGIN … END. Penggunaan trigger terjadi ketika adanya perubahan yang terjadi pada record table. Dengan begitu, terdapat Anda perlu menambah referensi ke record tersebut, yaitu OLD dan NEW. OLD menandakan referensi record sebelum terjadinya perubahan, sedangkang OLD menandakan referensi setelah terjadinya perubahan.


Fungsi Trigger


Data dapat diubah menjadi suatu informasi yang dibutuhkan menggunakan database Mengenal Pengertian Trigger dalam Database Beserta Fungsi dan Contohnya


Biasanya dalam relasional database, trigger dapat ditemui ketika melakukan perintah eksekusi table. Hal itu menjadi lebih bermanfaat trigger menjaikan penulisan pemrograman yang sederhana dan dapat menjaga informasi agar tetap konsisten dalam database. Selain itu, terdapat beberapa fungsi trigger yang akan dijelaskan dibawah ini.


1. Integritas Data


Dengan adanya trigger, Anda dapat mempertahankan integritas table yang terdapat dalam database. Sebab, Anda dapat melakukan operasi-operasi yang berkaitan dengan pengolahan database, seperti INSERT, UPDATE dan DELETE


2. Mencegah Error


Trigger dalam MySQL dapat mencegah terjadinya error dalam pengoperasian data. Jika terjadi error dalam pendefinisian trigger, error tersebut tidak mengganggu trigger yang sedang berjalan.


3. Membuat Tugas Kerja menjadi Terjadwal


Ketika trigger telah dijalankan, maka Anda dapat menggunakan berbagai bahasa pemrograman tanpa harus bingung bagaimana cara mengaksesnya.


4. Mencegah Proses Transaksi yang Tidak Sah


Dalam praktiknya, biasa trigger digunakan untuk melakukan proses transaksi. Anda dapat menyimpan record transaksi tersebut ke table lain (history) tanpa harus takut jika data tersebut di-update atau delete. Semua perubahan yang terjadi juga dapat diacak berdasarkan waktu pembuatannya.


Contoh Trigger


Setelah Anda memahami pengertian dari trigger beserta fungsinya, Penulis akan memberikan beberapa contoh penerapan dari penggunaan trigger dalam database. Pada umumnya¸ trigger dapat diaktivasi menggunakan event INSERT, UPDATE dan DELETE. Untuk lebih jelasnya, dibawah ini akan dijelaskan mengenai beberapa contoh penerapan dari event tersebut. Namun, Anda harus membuat beberapa tabel dalam database terlebih dahulu.


1. Table Penjualan


CREATE TABLE Penjualan(

id_jual INT(8) NOT NULL AUTO_INCREMENT,

kode_pelanggan VARCHAR(10) NOT NULL,

kode_brg VARCHAR(5),

nama_barang VARCHAR(35),

jumlah INT(6),

harga INT(12),

PRIMARY KEY (id_jual);

2. Table Pembelian


CREATE TABLE Pembelian (

id_beli INT(8) NOT NULL AUTO_INCREMENT,

kode_brg VARCHAR(5),

nama_barang VARCHAR(35),

jumlah INT(6),

harga INT(12),

PRIMARY KEY (id_beli);

3. Table Barang


CREATE TABLE Barang(

id_brg INT(8) NOT NULL AUTO_INCREMENT,

nama_barang VARCHAR(35),

jumlah INT(6),

PRIMARY KEY (id_brg);

Berikut penggunaan trigger yang perlu anda ketahui:


a. Trigger BEFORE INSERT


Trigger ini memiliki fungsi untuk menjalankan tugas trigger sebelum proses penambahan (insert) data dalam suatu table dilakukan. Berikut sintaks trigger dalam MySQL :


CREATE TRIGGER nama_trigger

BEFORE INSERT

ON nama_table FOR EACH ROW

BEGIN

// deklarasi variable

END;

Sebagai contoh, misalkan Anda ingin memeriksa operasi penambahan data barang yang baru dalam table Barang. Jika barang tersebut telah dimasukkan sebelumnya maka akan mucul peringatan “ID Barang sudah ada”. Maka perintah sederhananya adalah :


CREATE TRIGGER stok_barang

BEFORE INSERT

ON Barang FOR EACH ROW

BEGIN

IF NOT EXIST (SELECT id_brg FROM Barang WHERE id_brg = NEW.id_brg)

THEN

SET NEW.nama_barang = NEW.nama_barang, NEW.jumlah = NEW.jumlah;

ELSE

SET @status = CONCAT(‘ID ‘, NEW.id_brg, ‘ sudah ada’);

END IF;

b. Trigger AFTER INSERT


Trigger ini memiliki fungsi untuk menjalankan tugas trigger setelah proses penambahan (insert) data dalam suatu table dilakukan. Berikut sintaks trigger dalam MySQL :


CREATE TRIGGER nama_trigger

AFTER INSERT

ON nama_table FOR EACH ROW

BEGIN

// deklarasi variable

END;

Sebagai contoh, ketika ingin menambahkan data barang yang sudah terjual, maka otomatis jumlah pada table Barang akan berkurang. Maka perintah untuk trigger dalam MySQL adalah


CREATE TRIGGER jual_barang

AFTER INSERT

ON Penjualan FOR EACH ROW

BEGIN

UPDATE barang

SET jumlah = NEW.jumlah

WHERE id_brg = NEW.id_brg,

END;

c. Trigger BEFORE UPDATE


Trigger ini memiliki fungsi untuk menjalankan tugas trigger sebelum proses pengubahan (update) data dalam suatu table dilakukan. Berikut sintaks trigger dalam MySQL :


CREATE TRIGGER nama_trigger

BEFORE UPDATE

ON nama_table FOR EACH ROW

BEGIN

// deklarasi variable

END;

Misalkan dalam tabel Barang dengan Id_brg = ‘BRG001’ dengan nama_barang = “Piring”. Dengan menggunakan perintah BEFORE UPDATE ini nama barang akan diubah menjadi “Gelas”. Maka perintah yang sesuai untuk kasus diatas adalah :


CREATE TRIGGER barang_baru

BEFORE UPDATE ON BARANG FOR EACH ROW

BEGIN

UPDATE Barang

SET nama_barang = ‘Gelas’

WHERE id_brg =’BRG001′;SET @status = CONCAT(‘Data Barang dengan Id ‘, NEW.id_brg, ‘ sudah diperbarui’);


END;



d. Trigger AFTER DELETE


Trigger ini memiliki fungsi untuk menjalankan tugas trigger sebelum proses penghapusan (delete) data dalam suatu table dilakukan. Berikut sintaks trigger dalam MySQL :


CREATE TRIGGER nama_trigger

AFTER DELETE

ON nama_table FOR EACH ROW

BEGIN

// deklarasi variable

END;

Misalnya, Anda ingin menghapus record Barang dengan id_brg = ‘BRG001’, nama_barang = ‘ Gelas’. Maka otomatis, stok barang akan bertambah sesuai dengan data barang yang telah dihapus. Berikut mengenai sintaks untuk AFTER DELETE tersebut :


CREATE TRIGGER barang_baru

BEFORE UPDATE ON BARANG FOR EACH ROW

BEGIN

UPDATE Barang

SET jumlah = jumlah + OLD.jumlah

WHERE id_brg = OLD.jumlah;

END;

Itulah pembahasan mengenai pengertian trigger, fungsi beserta contoh penerapan trigger menggunakan MySQL. Penulis berharap artikel diatas membantu Anda untuk memahami dan membuat contoh trigger dengan baik dan benar.




Sumber https://indoint.com/


0 comments:

Post a Comment

Popular Posts

Blog Archive

.comment-content a {display: none;}