Minggu, 20 Juli 2014

PRAKTIKUM 5

PEMBAHASAN

I.       PENDAHULUAN
Dengan database, data atau informasi dapat disimpan secara permanen.Informasi yang tadinya di dalam variabel, akan segera hilang bersamaan denganselesainya eksekusi program aplikasi. Untuk itu diperlukan database untuk menyimpaninformasi yang ingin dipertahankan saat eksekusi selesai.Salah satu sistem database (DBMS) populer saat ini adalah MySQL. Terdapatbeberapa alasan mengapa MySQL dipilih sebagai DBMS, diantaranya: freeware,didukung hampir semua bahasa pemrograman populer saat ini, database tercepat(metode one-sweep multijoin), dan komunitas yang besar.
Dalam implementasinya, sering programmer hanya memanfaatkan fitur table.
Tahukah Anda, sejak MySQL versi 5.x telah tersedia fitur lain yang sangat membantuterutama untuk aplikasi terpusat (client-server) atau tersebar (distributed), yaitu:Trigger, Stored Procedure, Stored Function, dan View. Tutorial kali ini akan membahas
implementasi keempat fitur tersebut.

1. TRIGGER
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 
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
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.
 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. Contoh: statemen INSERT, LOAD DATA, dan REPLACE.
 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_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut.

mysql> describe log_mhs;


 Contoh 1:
mysql> create trigger ins_mhs after insert on mahasiswa
 -> for each row insert into log_mhs values('Tambah data',now());

mysql> insert into mahasiswa values('00631','Hanif','Kalasan','P01');
mysql> select * from log_mhs;

1. TRIGGER
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 
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
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.
 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. Contoh: statemen INSERT, LOAD DATA, dan REPLACE.
 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_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut.

mysql> describe log_mhs;

 Contoh 1:
mysql> create trigger ins_mhs after insert on mahasiswa
 -> for each row insert into log_mhs values('Tambah data',now());
mysql> insert into mahasiswa values('00631','Hanif','Kalasan','P01');

mysql> select * from log_mhs;

I.       TUGAS LABORATORIUM
A.    Trigger delete data barang
 
  Nama  :
·         Delete data barang
Kegunaan :
·         Trigger delete data barang memberitahukan bahwa data sudah terhapus
Input   : 
·         Kode barang
Proses  :
·         Ketika Melakukan delete maka trigger akan mengeluarkan kata data telah terhapus
Outputan :




B.     Trigger update data barang


 Nama  :
·         Update data barang
Kegunaan :
·         Trigger update data barang memberitahukan bahwa data sudah terupdate
Input   : 
·         Semua field pada tabel data barang
Proses  :
·         Ketika Melakukan update  maka trigger akan mengeluarkan kata data telah terupdate
Outputan :

  
C.     Trigger insert data barang
 

Nama        :
·         insert data barang
Kegunaan :
·         Trigger insert data barang memberitahukan bahwa data sudah tersimpan
Input   : 
·         Semua field pada tabel data barang
Proses  :
·         Ketika Melakukan insert  maka trigger akan mengeluarkan kata data telah tersimpang
Outputan :
 


D.    Trigger delete data Pelanggan


 Nama        :
·         Delete data pelanggan
Kegunaan :
·         Trigger delete data pelanggan memberitahukan bahwa data sudah terhapus
Input   : 
·         Id pelanggan
Proses  :
·         Ketika Melakukan delete  maka trigger akan mengeluarkan kata data telah terhapus
Outputan :
 


E.     Trigger update data barang

 


 Nama        :
·         Update pelanggan
Kegunaan :
·         Trigger update pelanggan memberitahukan bahwa data sudah terupdate
Input   : 
·         Semua field pada tabel pelanggan
Proses  :
·         Ketika Melakukan update  maka trigger akan mengeluarkan kata data telah terupdate
Outputan :
 

F.      Trigger insert data barang

 
 Nama        :
·         insert pelanggan
Kegunaan :
·         Trigger insert pada table pelanggan memberitahukan bahwa data sudah tersimpan
Input   : 
·         Semua field pada tabel pelanggan
Proses  :
·         Ketika Melakukan insert  maka trigger akan mengeluarkan kata data telah tersimpang
Outputan :
 

Tidak ada komentar:

Posting Komentar