• Tidak ada hasil yang ditemukan

IMPLEMENTASI SELEKSI KONDISI DAN TRIGGER

N/A
N/A
Protected

Academic year: 2018

Membagikan "IMPLEMENTASI SELEKSI KONDISI DAN TRIGGER"

Copied!
7
0
0

Teks penuh

(1)

DATABASE MANAGEMENT SYSTEM

IMPLEMENTASI SELEKSI KONDISI DAN TRIGGER

Diajukan untuk memenuhi tugas Database Management System ke-7

Disusun Oleh: ARI DWI GINULUR

MIF-R42/15 15.402.169

PROGRAM STUDI MANAJAMEN INFORMATIKA

POLITEKNIK PIKSI GANESHA

(2)

A. PENDAHULUAN

Berikut adalah tabel utama yang akan di implementasikan untuk tugas yang membahas Seleksi Kondisi dan Trigger pada SQL.

B. PEMBAHASAN

TRIGGER

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 sebelum menghapus data di tabel pelanggan. Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.0.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya (5.1) pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini. Trigger sering digunakan, antara lain untuk:

 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.

Pernyataan CREATE TRIGGER digunakan untuk membuat trigger, termasuk aksi apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang dihubungkan dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi ketika suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau DELETE.

Sintak :

CREATE [DEFINER = { user | CURRENT_USER }]

TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

Keterangan :

[DEFINER = { user | CURRENT_USER }] : Definisi user yang sedang aktif, sifatnya opsional.

trigger_name : Nama trigger.

(3)

BEFORE : Membuat trigger diaktifkan sebelum dihubungkan dengan suatu operasi.

AFTER : Membuat trigger diaktifkan setelah dihubungkan dengan suatu operasi.

trigger_event : Berupa kejadian yang akan dijalankan trigger. Trigger_event dapat berupa salah satu dari berikut:

INSERT : trigger diaktifkan ketika sebuah record baru disisipkan ke dalam tabel.

UPDATE : trigger diaktifkan ketika sebuah record dimodifikasi. Contoh: statemen UPDATE.

DELETE : trigger diaktifkan ketika sebuah record dihapus. Contoh: statemen DELETE dan REPLACE. Catatan : trigger_event tidak merepresentasikan statemen SQL yang diaktifkan trigger sebagai suatu operasi tabel. Sebagai contoh, trigger BEFORE untuk INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga statemen LOAD DATA.

 tbl_name: Nama tabel yang berasosiasi dengan trigger.

 trigger_stmt: Statemen (tunggal atau jamak) yang akan dijalankan ketika trigger aktif.

Contoh yang akan dibahas adalah mencatat kejadian-kejadian yang terjadi beserta waktunya pada tabel mahasiswa, dan catatan-catatan tadi disimpan dalam tabel yang lain, misal log. Misalkan struktur tabel log adalah sebagai berikut.

(4)

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel peserta_didik disisipkan (insert), maka secara otomatis tabel log akan disisipkan satu record, yaitu kejadian ‘Tambah data’ dan waktu saat record pada tabel peserta_didik disisipkan.

Contoh 2:

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel peserta_didik diperbaharui (update), maka secara otomatis tabel log akan disisipkan satu record, yaitu kejadian ‘Ubah data’ dan waktu saat record pada tabel peserta_didik diperbaharui.

(5)

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mahasiswa dihapus (delete), maka secara otomatis tabel log_mhs akan disisipkan satu record, yaitu kejadian

‘Hapus data’ dan waktu saat record pada tabel mahasiswa dihapus.

Dalam implementasinya untuk pekerjaan sehari-hari, pembuatan trigger dan tabel log, digunakan untuk mencatat kejadian suatu tabel yang dianggap rawan serangan cracker. Dengan struktur trigger yang baik sesuai kebutuhan, administrator dapat melakukan pelacakan dan recovery data dengan cepat karena mengetahui record mana saja yang “diserang”. Atau, dihubungkan dengan program aplikasi (user interface) agar mengaktifkan alarm, jika terdapat operasi database pada waktu yang tidak seharusnya (misalkan malam hari).

Menampilkan daftar trigger yang telah dibuat: SHOW TRIGGERS;

Menghapus Trigger

DROP TRIGGER table.name.triggername;

DROP TRIGGER peserta_didik.before_insert;

PENYELEKSIAN KONDISI

Dengan adanya fasilitas penyeleksian kondisi, kita dapat mengatur alur proses yang terjadi dalam database kita. Di MySQL, penyeleksian kondisi terdiri dari IF, IF...ELSE dan CASE. Berikut ini bentuk umum ketiga perintah tersebut:

(6)

Contoh 1:

Berikut ini contoh penggunaan perintah IF:

Contoh 2:

(7)

C. KESIMPULAN

Menurut Wikipedia, trigger dalam database 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 „log’ sebelum 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. Trigger sering digunakan, antara lain untuk:

 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.

 Dengan adanya fasilitas penyeleksian kondisi, kita dapat mengatur alur proses yang terjadi dalam database kita. Di MySQL, penyeleksian kondisi terdiri dari IF, IF...ELSE

dan CASE.

D. DAFTAR PUSTAKA

 http://id.wikipedia.com/

 http://ilmukomputer.com

 http://www.masto.co.cc

Gambar

tabel. Sebagai contoh, trigger BEFORE untuk INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga statemen LOAD DATA

Referensi

Dokumen terkait

Dapat dilihat pada Kode Program 4.1, sistem dengan fungsi max mencari nilai maksimum dari tabel paket yang ada, jika sudah mendapat nilai maksimum maka akan dibuat dengan format