IMPLEMENTASI SELEKSI KONDISI DAN TRIGGER
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
2015
1
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.
trigger_time
: Waktu menjalankan trigger. Ini dapat berupa BEFORE atau
AFTER.
2
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.
Contoh 1:
3
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.
Contoh 3:
4
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:
Sintak :
IF kondisi THEN
perintah-jika-benar;
END IF;
IF kondisi THEN
perintah-jika-benar;
ELSE
perintah-jika-salah;
END IF;
CASE expression
WHEN value THEN
statements
[WHEN value THEN
statements ...]
[ELSE
statements]
END CASE;
5
Contoh 1:
Berikut ini contoh penggunaan perintah IF:
Contoh 2:
Berikut ini contoh penggunaan perintah CASE:
6
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://www.masto.co.cc
http://ilmukomputer.com
Manual MySQL Server 5.1
7
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
2015
1
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.
trigger_time
: Waktu menjalankan trigger. Ini dapat berupa BEFORE atau
AFTER.
2
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.
Contoh 1:
3
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.
Contoh 3:
4
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:
Sintak :
IF kondisi THEN
perintah-jika-benar;
END IF;
IF kondisi THEN
perintah-jika-benar;
ELSE
perintah-jika-salah;
END IF;
CASE expression
WHEN value THEN
statements
[WHEN value THEN
statements ...]
[ELSE
statements]
END CASE;
5
Contoh 1:
Berikut ini contoh penggunaan perintah IF:
Contoh 2:
Berikut ini contoh penggunaan perintah CASE:
6
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://www.masto.co.cc
http://ilmukomputer.com
Manual MySQL Server 5.1
7