Langsung ke konten utama

Trigger MYSQL : Mengelola Stok dan Harga Pesanan

Manajemen stok dan harga dalam sistem informasi penjualan berperan penting untuk mengontrol persediaan barang dan penetapan harga jual. Manajemen stok memastikan ketersediaan barang sesuai kebutuhan, menghindari kelebihan atau kekurangan stok. Sementara manajemen harga membantu mengatur harga jual yang optimal untuk mendapatkan keuntungan yang sesuai. Keduanya harus terintegrasi dalam sistem untuk memudahkan pencatatan, pelaporan, dan pengambilan keputusan bisnis yang tepat.


1. Soal Tugas Trigger :

  • Mengupdate Harga di tabel pesanan saat harga barang berubah
  • Mengembalikan stok barang saat pesanan di hapus

1. Trigger Update Harga

Trigger ini akan memastikan harga di pesanan_detail selalu sinkron dengan harga di tabel barang.



Demostrasi ke Trigger ke -1


Tabel Barang


Tabel pesanan_detail




  • Data Awal : Di tabel barang, Laptop (id_barang= 1) memiliki harga Rp. 4.000.000
  • Di tabel pesanan_detail dengan id_detail  = 1 yang memiliki id_barang = 1, qty = 3 dengan harga Rp. 12.000.000


Sekarang kita akan memperbarui harga di tabel barang dari pesanan_detail. Kita ubah harganya menjadi 5.000.000




Setelah trigger dijalankan : Harga Laptop di tabel barang yang akan sebelumnya Rp. 4.000.000 akan diperbarui menjadi Rp. 5.000.000 secara otomatis



2. Trigger Return Stok Saat Pesanan Dihapus


Trigger ini akan mengembalikkan stok barang ke jumlah semula saat pesanan di hapus. 


Demostrasi kanTrigger ke -2



Tabel Barang


Tabel Pesanan Detail

  • Data Awal : Di tabel pesanan_detail, id_detail = 3 memesan id_barang = 4 (Mousepad) dengan qty = 2.
  • Di tabel barang, Mousepad (id_barang = 4) memiliki stok sebanyak 4

Sekarang, Kita akan menghapus pesanan tersebut menggunakan perintah :

DELETE FROM pesanan_detail WHERE id_detail = 3;





Setelah trigger dijalankan : Data pesanan dengan id_detail = 3 akan dihapus dari tabel pesanan_detail. Secara Otomatis, trigger akan menambah stok di tabel barang. Stok Mousepad akan meningkat menjadi 4 + 2 = 6.

Hasil Akhirnya : Pezanan dengan id_detail = 3 berhasil dihapus. Stok Mousepad di tabel barang bertambah menjadi 6.









Komentar

Postingan populer dari blog ini

Trigger

Apa Itu Trigger Trigger adalah sebuah mekanisme otomatis yang diaktifkan oleh peristiwa tertentu dalam tabel, seperti saat data disisipkan (INSERT), diperbarui (UPDATE), atau dihapus (DELETE). Ketika peristiwa tersebut terjadi, kode yang ada di dalam Trigger akan dijalankan. Ini berguna untuk melakukan tindakan otomatis, seperti memvalidasi data, memperbarui nilai tertentu di tabel lain, atau mencatat perubahan data untuk tujuan audit. Contoh Penggunaan Trigger Misalnya, kita memiliki tabel penjualan. Setiap kali ada penjualan baru (INSERT), kita bisa membuat Trigger yang secara otomatis memperbarui stok barang di tabel inventori. Dengan ini, stok barang akan selalu terjaga konsistensinya tanpa harus melakukan pembaruan secara manual. Apa Perbedaan Trigger Before & Trigger After Before Trigger: Dijalankan sebelum operasi INSERT, UPDATE, atau DELETE. Biasanya digunakan untuk memvalidasi atau mengubah data sebelum dimasukkan ke dalam tabel. After Trigger : Dijalankan setelah operas...

Fungsi Agregat

Fungsi Agregat Fungsi Agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. Standar ISO mendefinisikan lima jenis fungsi agregat. Fungsi-fungsi ini sangat bermanfaat ketika kita ingin meringkas atau merangkum data dari tabel. Berikut adalah beberapa fungsi agregat utama yang biasa digunakan: COUNT :  Mengembalikan jumlah (banyaknya atau kemunculannya) nilai di suatu kolom. SUM :  Mengembalikan jumlah (total atau sum) nilai di suatu kolom. AVG :  Mengembalikan rata-rata (average) nilai di suatu kolom. MIN :  Mengembalikan nilai terkecil (minimal) di suatu kolom. MAX :  Mengembalikan nilai terbesar (maximal) di suatu kolom Latihan Soal : Tabel 1 : Tabel Penjualan Barang Tabel 2 : Tabel MataKuliah 1. Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan berdasarkan jenis bukunya! Masukkan Query :   SELECT   jenis_buku ,   nama_buku ,   MIN ( harga )  ...