Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger MySql

Siang sahabat kodingku, mumpung ditempat kerjaan lagi nganggur saya yang berbaik hati akan berbagi sedikit ilmu lagi tentang Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger MySql ,  nah sahabat kodingku khususnya yang lagi dikejar deadline membuat sebuah project entah itu buat skripsi, tugas kuliah ataupun project yang akan dikomersilkan dimana program yang kita buat berkaitan dengan stok barang tentunya artikel ini akan sangat membantu untuk sahabat kodingku semua. dalam hal ini saya akan menggunakan sebuah function dari Mysql yaitu dengan menggunakan Trigger, tentunya banyak hal cara untuk mengurangi stok dalam pembuatan sebuah program kita juga bisa membuat memanfaatkan bahasa pemrograman yang kita pakai untuk membuat function Mengurangi Atau Menambah Stok Dengan Otomatis , namun itukan menambah beban program yang kita buat saat di running jelas efeknya yaitu si program akan lamban dalam prosesnya karena telalu banyak resource sintak.
nah itu dia sekilas info kegunaan dan manfaat dari fungsi trigger bagi yang belum paham tentang function trigger bisa searching di mbah google yang kalian cintai atau mungkin lain waktu saya akan memposting lebih detail tentang function Trigger.
ok tanpa basa basi lagi kita menuju ke TKP

contoh kasus yang akan saya pakai yaitu tentang keluar masuk barang, jadi kalau ada barang masuk dari supplier stok barang akan nambah dan sebaliknya kalau ada customer membeli barang atau barang keluar stok akan berkurang begitula algoritmanya,
pertama-tama kita buat dulu databasenya dengan nama db_inventory
 
CREATE DATABASE `db_pesediaan_barang` /*!40100 DEFAULT CHARACTER SET latin1 */;

selanjutnya kita buat 5 buah tabel yaitu, tb_barang, tb_barang_masuk, detail_barang_masuk, tb_barang_keluar dan detail barang keluar
TABEL BARANG
CREATE TABLE `tb_barang` (
  `kode_barang` char(10) NOT NULL DEFAULT '',
  `nama_barang` varchar(255) DEFAULT NULL,
  `harga` int(11) DEFAULT NULL,
  `jenis` varchar(50) DEFAULT NULL,
  `satuan` varchar(10) DEFAULT NULL,
  `stok` int(11) DEFAULT NULL,
  PRIMARY KEY (`kode_barang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
TABEL BARANG MASUK
CREATE TABLE `tb_barang_masuk` (
  `no_transaksi` char(15) NOT NULL DEFAULT '',
  `tanggal_masuk` date DEFAULT NULL,
  `bayar` int(11) DEFAULT NULL,
  `kode_user` char(10) DEFAULT NULL,
  `kode_supplier` char(10) DEFAULT NULL,
  PRIMARY KEY (`no_transaksi`),
  KEY `fk_user_masuk` (`kode_user`),
  KEY `fk_supp` (`kode_supplier`),
  CONSTRAINT `fk_supp` FOREIGN KEY (`kode_supplier`) REFERENCES `tb_supplier` (`kode_supplier`),
  CONSTRAINT `fk_user_masuk` FOREIGN KEY (`kode_user`) REFERENCES `tb_user` (`kode_user`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
TABEL DETAIL BARANG MASUK
CREATE TABLE `detail_barang_masuk` (
  `no_transaksi` char(15) NOT NULL DEFAULT '',
  `kode_barang` char(10) DEFAULT NULL,
  `harga` int(11) DEFAULT NULL,
  `jumlah` int(11) DEFAULT NULL,
  KEY `fk_transaksi2` (`no_transaksi`),
  KEY `fk_kode_brmasuk` (`kode_barang`),
  CONSTRAINT `fk_kode_brmasuk` FOREIGN KEY (`kode_barang`) REFERENCES `tb_barang` (`kode_barang`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_transaksi2` FOREIGN KEY (`no_transaksi`) REFERENCES `tb_barang_masuk` (`no_transaksi`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 TABEL BARANG KELUAR
CREATE TABLE `tb_barang_keluar` (
  `no_transaksi` char(15) NOT NULL DEFAULT '',
  `tanggal_keluar` date DEFAULT NULL,
  `bayar` int(11) DEFAULT NULL,
  `kode_user` char(10) DEFAULT NULL,
  `kode_customer` char(10) DEFAULT NULL,
  PRIMARY KEY (`no_transaksi`),
  KEY `fk_user_keluar` (`kode_user`),
  KEY `fk_customer` (`kode_customer`),
  CONSTRAINT `fk_customer` FOREIGN KEY (`kode_customer`) REFERENCES `tb_customer` (`kode_customer`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_user_keluar` FOREIGN KEY (`kode_user`) REFERENCES `tb_user` (`kode_user`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
TABEL DETAIL BARANG KELUAR
CREATE TABLE `detail_barang_keluar` (
  `no_transaksi` char(15) NOT NULL DEFAULT '',
  `kode_barang` char(10) DEFAULT NULL,
  `harga` int(11) DEFAULT NULL,
  `jumlah` int(11) DEFAULT NULL,
  KEY `fk_no_transaksi` (`no_transaksi`),
  KEY `fk_kode_brkeluar` (`kode_barang`),
  CONSTRAINT `fk_kode_brkeluar` FOREIGN KEY (`kode_barang`) REFERENCES `tb_barang` (`kode_barang`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_no_transaksi` FOREIGN KEY (`no_transaksi`) REFERENCES `tb_barang_keluar` (`no_transaksi`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Setelah membuat tabel diatas kita lanjut ke pembuatan function trigger
disini saya akan membuat trigger untuk penambahan stok pada barang,
CREATE DEFINER=`root`@`localhost` TRIGGER `db_pesediaan_barang`.`stok2_after_save` AFTER INSERT ON `db_pesediaan_barang`.`detail_barang_masuk`
  FOR EACH ROW BEGIN
     UPDATE tb_barang SET stok = stok + NEW.jumlah
     WHERE kode_Barang = NEW.kode_barang;
END;

Dan query dibawah ini untuk pengurangan stok pada barang
CREATE DEFINER=`root`@`localhost` TRIGGER `db_pesediaan_barang`.`stok_after_save` AFTER INSERT ON `db_pesediaan_barang`.`detail_barang_keluar`
  FOR EACH ROW BEGIN
     UPDATE tb_barang SET stok = stok - NEW.jumlah
     WHERE kode_Barang = NEW.kode_barang;
END;

ok cukup sampai sini querynya dan silahkan dicoba sendiri untuk pembuktianya,
tambahan sedikit query diatas hanya berlaku ketika kita mau menyimpan data saja, bisa kita simak lagi query diatas ada kata AFTER INSERT nah itu adalah salah satu dari event trigger dimana query tersebut akan memenuhi tugasnya kalau ada proses insert data atau simpan data, tentunya bisa dikembangkan lagi sesuai keinginan kita. bagi yang ingin file .sql nya bisa didownload disini.
sipp saya rasa cukup sampe disini saja tentang Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger MySql . semoga bisa bermanfaat bagi sahabat kodingku semuanya.
Previous
Next Post »

12 comments

Click here for comments
23 March 2016 at 13:07 ×

saya juga anak rpl gan tapi untuk db masih standart saja .. masih newbie soalnya ..

Balas
avatar
admin
23 March 2016 at 13:07 ×

puyeng gan liat kodingan ane @_@
btw makasih ya gan udh share

Balas
avatar
admin
23 March 2016 at 13:10 ×

sama2 baru belajar gan :D

Balas
avatar
admin
23 March 2016 at 13:13 ×

haha yauda geh gan jangan diliatin biar ga pusng :v

Balas
avatar
admin
23 March 2016 at 16:46 ×

lumayan niih buat aplikasi penjualan

Balas
avatar
admin
3 October 2016 at 22:09 ×

Maaf mau nanya ..itu codingany buat yg di pemrograman phpy yah

Balas
avatar
admin
3 October 2016 at 22:09 ×

Maaf mau nanya ..itu codingany buat yg di pemrograman phpy yah

Balas
avatar
admin
21 May 2018 at 15:37 ×

admin untuk di vb net bisa kita atur stok barangnya dari mysql, atau harus dari vb net nya, masih belakjar

Balas
avatar
admin
28 September 2018 at 16:04 ×

maaf ya mengganggu waktunya... saya mau menanyakan bagaimana mengurangi stok mobil

saya mempunyai tabel pesanan dan stok_mobil
dimana tabel pesanan memiliki kolom
no_pesan
nama
nomor
dari
almt_lengkap
tujuan
jam
tanggal
jenis_mobil
jmlh_kursi
dan di tabel stok_mobil memiliki kolum
id_mobil
kb_mobil
merek_mobil
stok

untuk mengurangi stok merek_mobil triggrenya bagaimana ya.. di mohon bimbingannya
trimakasih

Balas
avatar
admin
20 June 2019 at 14:07 ×

thank you ngebantu bgt

Balas
avatar
admin
Anonymous
30 March 2022 at 23:48 ×

(55) Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger Mysql ~ Ini Kodingku >>>>> Download Now

>>>>> Download Full

(55) Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger Mysql ~ Ini Kodingku >>>>> Download LINK

>>>>> Download Now

(55) Cara Mengurangi Atau Menambah Stok Dengan Otomatis Menggunakan Trigger Mysql ~ Ini Kodingku >>>>> Download Full

>>>>> Download LINK

Balas
avatar
admin
Thanks for your comment