Thursday, December 29, 2022

Trigger untuk Pengelolaan Stok Barang

Gambar 1. Letak Menu Trigger

Salah satu fitur yang ada dalam Aplikasi Database dengan menggunakan MySQL/phpMyAdmin adalah Trigger. Trigger bisa diartikan sebagai action/aksi atau Picuan yang membuat sebuah tabel atau kolom bereaksi (misalnya Terupdate) secara otomatis. Dalam MySQL, Trigger berguna untuk action yang akan dilakukan oleh engine MySQL yang waktunya bisa saat SEBELUM/BEFORE dan SETELAH/AFTER.

Perhatikan gambar dibawah dan penjelasannya dalam membuat Trigger di phpMyAdmin.


Gambar 2. Jendela Trigger
Penjelasan:
  • Trigger Name, silahkan isi dengan nama trigger yang akan dibuat. Dalam penamaan nama trigger jangan menggunakan spasi.
  • Table, diisian ini kita pilih nama tabel yang menjadi picuan bukan nama tabel sebagai akibat diberikan trigger. misalnya saya contohkan disini ada 3 tabel, yaitu barang, beli dan jual. nah, misalnya kita akan membuat trigger agar kolom stok di tabel barang akan secara otomatis terupdate ketika ada insert data baru di tabel beli. maka, dalam kasus ini isian Table di jendela diatas adalah pilih tabelnya yaitu Tabel beli.....AWAS bukan tabel Barang.
  • Time, untuk isian Time ini, silahkan pilih apakah trigger dijalankan Sebelum atau Sesudah. BEFORE berarti Trigger diaktivasi sesaat sebelum event yang dipilih dijalankan, dan AFTER berarti Trigger diaktivasi sesaat setelah event yang dipilih dijalankan. jika yang di pilih BEFORE dan eventnya INSERT, maka Trigger akan diaktivasi sesaat Sebelum Data di tambahkan.
  • Event, adalah kejadian yang dipilih apakah INSERT, UPDATE atau DELETE.

Contoh Trigger untuk pengelolaan Stok Barang.

disini ada 3 tabel, yaitu barang, beli dan jual.
Gambar 3. Struktur Tabel Barang

Gambar 4. Struktur Tabel Beli

Gambar 5. Struktur Tabel Jual

nah, trigger yang akan kita buat adalah:
  1. Trigger dengan nama trg_updatestok_ketika_tambahbeli
  2. Trigger dengan nama trg_updatestok_ketika_tambahjual
  3. Trigger dengan nama trg_updatestok_ketika_hapusbeli
  4. Trigger dengan nama trg_updatestok_ketika_hapusjual
Berikut cara pembuatannya.
Langkah pertama
isi terlebih dahulu data ke tabel barang, misalnya 3 record data seperti berikut
Gambar 6. Data Barang

Langkah kedua
Buat Trigger nomor 1.
caranya:
Pilih nama database db_stokbarang, kemudian pilih menu Trigger, kemudian klik add Trigger, maka akan tampir gambar berikut
Gambar 7. Jendela Trigger

kemudian isikan datanya seperti berikut
Gambar 8. Jendela Pengaturan Trigger 1

berikut script lebih jelasnya

BEGIN
UPDATE barang set stok=stok+new.jumlah WHERE kodebrg=new.kodebrg;
END

Kemudian Klik Go.

Uji Coba Trigger 1
Masukkan data di tabel beli misalnya
Gambar 9. Insert Data di tabel Beli

Maka, jika kita cek di tabel barang, stok B001 akan menjadi 5
Gambar 10. Hasil Uji Coba Trigger 1


Buat Trigger nomor 3.
caranya:
Pilih nama database db_stokbarang, kemudian pilih menu Trigger, kemudian klik add Trigger, maka akan tampir gambar berikut
Gambar 11. Jendela Trigger

kemudian isikan datanya seperti berikut
Gambar 12. Jendela Pengaturan Trigger 3


berikut script lebih jelasnya

BEGIN
UPDATE barang set stok=stok-old.jumlah WHERE kodebrg=old.kodebrg;
END

Kemudian Klik Go.

Silahkan lakukan Uji Coba dengan melakukan Penghapusan di record data tabel Beli.
maka, jika record berhasil dihapus maka kolom stok di tabel Barang juga akan menjadi 0 kembali.

Sekian

0 comments:

Post a Comment