Anda di halaman 1dari 4

PRAKTIKUM PEMROGRAMAN CLIENT SERVER UNIVERSITAS

TEKNOLOGI YOGYAKARTA
TRIGGER 2 TABEL
Untuk tutorial kali ini kita akan mencoba membuat trigger menggunakan 2 tabel (sama dengan
dikelas bagi yang masuk ). Untuk penggunaan trigger 1 tabel dapat dilihat di modul
praktikum. Untuk keuntungan penggunaan trigger sama dengan keuntungan penggunaan store
procedure (silahkan buka tutorial crud dengan store procedure). Untuk contoh trigger 2 tabel
langkah-langkahnya seperti berikut :
1. Buatlah database dengan nama db_jual
2. Buatlah 3 tabel seperti berikut :
Tb_barang (akan kita gunakan untuk menyimpan data barang)

Tb_det_jual (akan kita gunakan untuk menyimpan data penjualan ke konsumen)

Tb_det_beli (akan kita gunakan untuk menyimpan data pembelian dari supplier)

Tabel-tabel diatas cuma sekedar contoh jangan dijadikan acuan dalam pembuatan tabel
untuk transaksi yang sesungguhnya.
Isikan data pada tabel barang,misalnya seperti berikut :

Author : Khoirudin

Page 1

Satu data saja juga cukup untuk menguji trigger.

3. Buat trigger untuk proses pembelian barang, disini nanti jika terjadi pembelian barang
maka diharapkan stok di tabel barang akan bertambah secara otomatis, untuk langkahlangkahnya seperti berikut:
Buka jendela untuk membuat trigger seperti gambar dibawah :

Hapus templatenya dan ketikkan trigger seperti berikut :

create trigger beli on tb_det_beli for insert


as
update a set stok=stok+jml_beli from
tb_barang a,inserted b where a.kd_barang=b.kd_barang

Keterangan :
create trigger beli on tb_det_beli for insert
perintah tersebut berarti kita akan membuat trigger dengan nama beli pada tabel
tb_det_beli dan akan dieksekusi setelah melakukan insert pada tb_det_beli (for insert
Author : Khoirudin

Page 2

berarti setelah melakukan insert), untuk trigger sendiri selalu berhubungan dengan
insert,update,delete dan akan dieksekusi berdasarkan sebelum atau sesudah melakukan
transaksi (input data) jadi trigger akan dieksekusi sesuai dengan perintahnya dan untuk
contoh diatas akan dieksekusi setelah melakukan insert.
as
update a set stok=stok+jml_beli from
tb_barang a,inserted b where a.kd_barang=b.kd_barang
perintah query dibawah as akan dieksekusi setelah terjadi input data di tabel tb_det_beli,
untuk contoh ini akan melakukan update pada tb_barang dengan menambah field stok di
tabel barang dengan inputan yang dimasukkan.
Untuk perintah inserted diatas itu merupakan tabel virtual yang akan digunakan untuk
menyimpan data hasil trigger.
Untuk menyimpan trigger klik execute, jika tidak ada error maka trigger sudah berhasil
dibuat dan dapat dicek pada tb_det_beli pada bagian trigger (Refresh),

Trigger untuk tb_det_jual :

create trigger jual on tb_det_jual for insert


as
update a set stok=stok-jml_jual from
tb_barang a,inserted b where
a.kd_barang=b.kd_barang

Author : Khoirudin

Page 3

4. Tes trigger dengan cara memasukkan data ke tabel tb_det_beli,misalnya seperti berikut :
Masukkan data seperti berikut :
Karena menggunakan cara manual samakan kode barang dengan data di tabel barang.

Buka tb_barang

Klik kanan lalu pilih Execute SQL (dengan catatan jika membuka tabel yang belum
ditutup/ tidak open table lagi)

Data pada tb_barang yang setelah direfresh (Execute SQL)

Seperti terlihat diatas data stok berubah yang sebelumnya 10 menjadi 16 karena
melakukan input data pada tb_det_beli dengan jumlah 6. Jika diimplementasikan ke
aplikasi sama saja kita melakukan insert dan update pada 2 tabel tapi hanya
menggunakan satu perintah/button insert saja.

5. Untuk latihan silahkan implementasikan trigger diatas ke aplikasi dengan membuat form
untuk insert data ke tb_det_beli dan tb_det_jual (alangkah baiknya jika insertnya
menggunakan store procedure karena tujuan kita adalah untuk meningkatkan performa
aplikasi maka lebih baik jika digabungkan dengan store procedure).
6. Jika ada yang masih bingung dan ingin ditanyakan silahkan hubungi dosen atau asisten.

Author : Khoirudin

Page 4

Anda mungkin juga menyukai