Your SlideShare is downloading. ×
0
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Mysql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mysql

152

Published on

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
152
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Universitas Nasional Pasim | DBMS | Kelompok MySQL | 2013 Now, our Presentation is about
  • 2. Presenter Andi Sopandi Husnul K. (0203122062) Hygsan Asep Ardi Winardi Salam
  • 3. Poin Pembahasan Installasi5 Studi Kasus & Demo6 Spesifikasi4 Sejarah1 Kelebihan & Kekurangan3 Teknologi / Fitur2
  • 4. Sejarah
  • 5. Sejarah MySQL1 Tahun 1979 Michael Widenius (Monty) at TcX UNIREG TcX mengembangkan UNIREGdengan interface builder yang menggunakan low- level connectionISAM storage UNIREG terlalu sulit untuk dikembangkan menjadi web base interface, sehingga TcX mulai mencari alternatif lain. Mencoba menggunakan mSQL, namun tidak mensupport indexing
  • 6. Sejarah MySQL1 Tahun 1995 Perusahaan TcX MySQLUNIREG + mSQL Monty mengajak David Huges, yaitu seorang pembuat mSQL, agar tertarik untuk menghubungkan antara mSQL dengan UNIREG B+ ISAM sehingga mampu menyediakan indexing untuk mSQL melakukan kombinasi antara API mSQL dengan sistem UNIREG MySQL pertama versi 1.0
  • 7. Sejarah MySQL1 Tahun 1998 Perusahaan TcX MySQL AB MySQL versi 3.11 menjadi Open Sourcedan merilis software dibawah GPL (General Public Licence) Perubahan ini memungkinkan kontrol komersial yang lebih baikdalam pengembangan dan support dari MYSQL TcX berubah nama menjadi MySQL AB (Swedia)
  • 8. Sejarah MySQL1 Tahun 2008 Sun Microsystem, Inc Sun Microsystems, Inc mengumumkan aksi korporasi - akuisisi terhadap MySQL AB MySQL AB Sun menjadi salah satu perusahaan dengan produk platform open source terbesar seperti Java, OpenSolaris dan akhirnya MySQL
  • 9. Sejarah MySQL1 Tahun 2009 Oracle Oracle melakukan akusisi terhadap Sun Microsystems. Sun Microsystem, Inc Berkembang isu Oracle yang memiliki produk database yang berkompetisi dengan MySQL akan mematikan MySQL. Namun sampai sejauh ini hal tersebut belum terbukti
  • 10. Teknologi / fitur
  • 11. Teknologi / Fitur-fitur MySQL2 Security5 Scalability and Limits Connectivity Client & Tools 6 7 8 Portability1 Data Types Localization Statements & Functions 2 3 4
  • 12. 1. Portability MySQL dapat berjalan stabil pada berbagai platform : Teknologi / Fitur-fitur MySQL Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, Novell NetWare dan lain-lain. http://dev.mysql.com/doc/refman/5.0/en/supported-os.html 2
  • 13. 2. Data Types MySQL memiliki ragam tipe datayang sangat kaya, seperti signed ( -128 to 127) / unsigned ( 0 to 255) integer, float, double, char, varchar, binnary, text, blob, date, datetime, timestamp, year, dan tipe spatial OpenGIS dan lain-lain. http://dev.mysql.com/doc/refman/5.6/en/data-types.html Teknologi / Fitur-fitur MySQL2
  • 14. 3. Statements & Functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). Teknologi / Fitur-fitur MySQL Full support untuk SQL GROUP BY dan ORDER BY Support untuk LEFT OUTER JOIN and RIGHT OUTER JOIN sesuai standar SQL dan sintak ODBC. 2
  • 15. 4. Localization MySQL dapat mendeteksi pesan errorpada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. Teknologi / Fitur-fitur MySQL2
  • 16. 5. Security Hak akses dan password sistem dapat dikontrol secara fleksibel, dan berbasis host verification. Teknologi / Fitur-fitur MySQL Sekuritas Password dengan menggunakan encryption untuk semua lalu lintas password ketika melakukan koneksi ke server. 2
  • 17. 6. Scalability and Limits MySQL mampu menangani basis data dalam skala besar, dengan jumlah record sampai 50 jutadan 200 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 64 indeks pada tiap tabelnya Teknologi / Fitur-fitur MySQL2 http://dev.mysql.com/doc/refman/5.6/en/features.html
  • 18. 7. Connectivity Client dapat terhubung ke MySQL Server menggunakan berbagai protokol : protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). Teknologi / Fitur-fitur MySQL Tersedia API untuk C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl sehingga memungkinkan MySQL client ditulis dalam berbagai bahasa pemrograman. 2 Mendukung ODBC (Open Database Connectivity), JDBC (java konektor) & MySQL Connector/.Net (.Net konektor).
  • 19. 8. Client & Tools MySQL menyediakan berbagai client dan utility program. Diantaranya command-line program seperti mysqldump and mysqladmin, dan grafikal program seperti MySQL Workbench, SQLyog, HeidiSQL, Navicat, Toad dll. Teknologi / Fitur-fitur MySQL2
  • 20. Kelebihan & Kekurangan
  • 21. Kelebihan & Kekurangan MySQL3 disokong oleh komunitas pengguna yang besar Mendukung web baseClient FOSS (Free & Opensource Software) dibawah GPL (General Public License) Kelebihan http://www.mysql.com/why-mysql/ Hampir semua perusahaan web-hosting menyediakan akses ke MySQL.
  • 22. Kelebihan & Kekurangan MySQL3 Kekurangan Tidak support untuk case sensitive Lisensi komersial untuk redistribusi komersial
  • 23. Spesifikasi
  • 24. Spesifikasi MySQL4 Mendukung OS baik versi 32-bit maupun 64-bit. Support TCP/IP. RAM min 215 Mb. Hardware & Software
  • 25. Installasi
  • 26. Installasi MySQL Installasi MySQL5 Download MySQL for windows dan install http://dev.mysql.com/downloads/installer/
  • 27. Installasi MySQL 5
  • 28. Installasi MySQL 5
  • 29. Installasi MySQL 5
  • 30. Installasi MySQL 5
  • 31. Installasi MySQL 5
  • 32. Installasi MySQL 5
  • 33. 4 Installasi MySQL
  • 34. Installasi MySQL 5
  • 35. Installasi MySQL 5
  • 36. Installasi MySQL 5
  • 37. Installasi MySQL 5
  • 38. Installasi MySQL 5
  • 39. Installasi MySQL 5
  • 40. Installasi MySQL Installasi MySQL5 Download XAMPP for windows dan install http://www.apachefriends.org/en/xampp-windows.html/
  • 41. Installasi MySQL 5
  • 42. Installasi MySQL 5
  • 43. Installasi MySQL 5
  • 44. Installasi MySQL 5
  • 45. Installasi MySQL 5
  • 46. Installasi MySQL 5
  • 47. Studi Kasus & Demo
  • 48. Pengelolaan Stok Barang Mencatat seluruh data barang berdasarkan kategorinya. Studi Kasus6 Mencatat data masuk dan keluarbarang per hari. Mencatat histori masuk dan keluar per data barang.
  • 49. Mencatat seluruh data barang berdasarkan kategorinya. Studi Kasus6
  • 50. Mencatat data barang masuk dan keluar per hari. Studi Kasus6
  • 51. Mencatat histori masuk dan keluar per data barang. 6
  • 52. Entitas yang terlibat Studi Kasus6 Customer+ Supplier+ Barang+ Kategori+
  • 53. Relasi antar Entitas Studi Kasus6
  • 54. Tabel - tabel Studi Kasus6 1. m_barang 2. m_customer 3. m_supplier 4. r_kategori_barang 5. t_transak_keluar 6. t_det_transak_keluar 7. t_log_transak_keluar 8. t_log_det_transak_keluar 9. t_transak_masuk 10.t_det_transak_masuk 11.t_log_transak_masuk 12.t_log_det_transak_masuk
  • 55. Procedure Studi Kasus6 1. sp_GetAllBarang() 2. sp_GetBarangById() 3. sp_GetCustomerByNama() 4. sp_InsertTransakMasuk() 5. sp_InsertDetTransakMasuk() 6. sp_InsertTransakKeluar() 7. sp_InsertDetTransakKeluar() 8. sp_UpdateTransakMasuk() 9. sp_UpdateDetTransakMasuk() 10.sp_UpdateTransakKeluar() 11.sp_UpdateDetTransakKeluar() 12.sp_DeleteTransakMasuk() 13.sp_DeleteDetTransakMasuk() 14.sp_DeleteTransakKeluar() 15.sp_DeleteDetTransakKeluar()
  • 56. Function Studi Kasus6 1. fn_getTotalTransakMasukByNoSuratJalan() 2. fn_getTotalTransakKeluarByNoSuratJalan()
  • 57. Trigger Studi Kasus6 1. after_insert_t_transak_masuk 2. after_insert_t_det_transak_masuk 3. after_update_t_transak_masuk 4. after_update_t_det_transak_masuk 5. after_update_t_transak_keluar 6. after_update_t_det_transak_keluar
  • 58. CREATE DATABASE db_inventori; CREATE TABLE m_supplier( id_supplier INT PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(50) NOT NULL, alamat VARCHAR(255) NULL, no_telp VARCHAR(20) NULL ); CREATE TABLE m_customer( id_customer INT PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(50) NOT NULL, alamat VARCHAR(255) NULL, no_telp VARCHAR(20) NULL ); CREATE TABLE m_barang( id_barang INT PRIMARY KEY AUTO_INCREMENT, id_kategori_barang INT NOT NULL, nama VARCHAR(50) NOT NULL, merk VARCHAR(50) NULL ); CREATE TABLE r_kategori_barang( id_kategori_barang INT PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(50) NOT NULL ); Tabel Master
  • 59. CREATE TABLE t_transak_masuk( id_transak_masuk INT PRIMARY KEY AUTO_INCREMENT, id_supplier INT NOT NULL, tgl_transak DATE NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, ket TEXT NULL, is_deleted TINYINT(1) NOT NULL DEFAULT 0 ); CREATE TABLE t_det_transak_masuk( id_det_transak_masuk INT PRIMARY KEY AUTO_INCREMENT, no_surat_jalan VARCHAR(20) NOT NULL, id_barang INT NOT NULL, jml_masuk BIGINT DEFAULT 0, is_deleted TINYINT(1) NOT NULL DEFAULT 0 ); CREATE TABLE t_log_transak_masuk( id_log_transak_masuk INT PRIMARY KEY AUTO_INCREMENT, id_transak_masuk INT NOT NULL, tgl_log TIMESTAMP NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, aksi VARCHAR(15) NOT NULL ); CREATE TABLE t_log_det_transak_masuk( id_log_det_transak_masuk INT PRIMARY KEY AUTO_INCREMENT, tgl_log TIMESTAMP NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, id_det_transak_masuk INT NOT NULL, aksi VARCHAR(15) NOT NULL ); Tabel Transaksi Masuk
  • 60. CREATE TABLE t_transak_keluar( id_transak_keluar INT PRIMARY KEY AUTO_INCREMENT, id_customer INT NOT NULL, tgl_transak DATE NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, ket TEXT NULL, is_deleted TINYINT(1) NOT NULL DEFAULT 0 ); CREATE TABLE t_det_transak_keluar( id_det_transak_keluar INT PRIMARY KEY AUTO_INCREMENT, no_surat_jalan VARCHAR(20) NOT NULL, id_barang INT NOT NULL, jml_keluar BIGINT DEFAULT 0, is_deleted TINYINT(1) NOT NULL DEFAULT 0 ); CREATE TABLE t_log_transak_keluar( id_log_transak_keluar INT PRIMARY KEY AUTO_INCREMENT, id_transak_keluar INT NOT NULL, tgl_log TIMESTAMP NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, aksi VARCHAR(15) NOT NULL ); CREATE TABLE t_log_det_transak_keluar( id_log_det_transak_keluar INT PRIMARY KEY AUTO_INCREMENT, tgl_log TIMESTAMP NOT NULL, no_surat_jalan VARCHAR(20) NOT NULL, id_det_transak_keluar INT NOT NULL, aksi VARCHAR(15) NOT NULL ); Tabel Transaksi Keluar
  • 61. CREATE VIEW v_TransakMasuk AS SELECT a.no_surat_jalan, a.tgl_transak, c.nama AS nama_supplier, d.nama AS nama_barang, e.nama AS nama_kategori, b.jml_masuk AS jml_masuk FROM t_transak_masuk a JOIN t_det_transak_masuk b ON a.no_surat_jalan = b.no_surat_jalan JOIN m_supplier c ON a.id_supplier = c.id_supplier JOIN m_barang d ON b.id_barang = d.id_barang JOIN r_kategori_barang e ON d.id_kategori_barang = e.id_kategori_barang WHERE a.is_deleted = 0; View
  • 62. DELIMITER // CREATE PROCEDURE sp_GetAllBarang() BEGIN SELECT * FROM m_barang; END// CREATE PROCEDURE sp_GetBarangById(IN _id INT) BEGIN SELECT * FROM m_barang WHERE id_barang=_id; END// CREATE PROCEDURE sp_GetCustomerByNama(IN _nama VARCHAR(50)) BEGIN SELECT * FROM m_customer WHERE nama LIKE CONCAT('%', _nama, '%'); END// Store Procedure Get Data
  • 63. DELIMITER // CREATE PROCEDURE sp_InsertTransakMasuk( IN _id_supplier INT, IN _tgl_transak DATE, IN _no_surat_jalan VARCHAR(20), IN _ket TEXT) BEGIN INSERT INTO t_transak_masuk(id_supplier, tgl_transak, no_surat_jalan, ket) VALUES(_id_supplier, _tgl_transak, _no_surat_jalan, _ket); END // CREATE PROCEDURE sp_InsertDetTransakMasuk( IN _no_surat_jalan VARCHAR(20), IN _id_barang INT, IN _jml_masuk BIGINT(20)) BEGIN IF NOT EXISTS (SELECT id_transak_masuk FROM t_transak_masuk WHERE no_surat_jalan=_no_surat_jalan) THEN SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status; ELSE INSERT INTO t_det_transak_masuk(no_surat_jalan, id_barang, jml_masuk) VALUES(_no_surat_jalan, _id_barang, _jml_masuk); END IF; END // Store Procedure Insert Transaksi Masuk
  • 64. DELIMITER // CREATE PROCEDURE sp_InsertTransakKeluar( IN _id_customer INT, IN _tgl_transak DATE, IN _no_surat_jalan VARCHAR(20), IN _ket TEXT) BEGIN INSERT INTO t_transak_keluar(id_customer, tgl_transak, no_surat_jalan, ket) VALUES(_id_customer, _tgl_transak, _no_surat_jalan, _ket); END // CREATE PROCEDURE sp_InsertDetTransakKeluar( IN _no_surat_jalan VARCHAR(20), IN _id_barang INT, IN _jml_keluar BIGINT(20)) BEGIN IF NOT EXISTS (SELECT id_transak_keluar FROM t_transak_keluar WHERE no_surat_jalan=_no_surat_jalan) THEN SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status; ELSE INSERT INTO t_det_transak_keluar(no_surat_jalan, id_barang, jml_keluar) VALUES(_no_surat_jalan, _id_barang, _jml_keluar); END IF; END // Store Procedure Insert Transaksi Keluar
  • 65. DELIMITER // CREATE PROCEDURE sp_UpdateTransakMasuk( IN _id_supplier INT, IN _tgl_transak DATE, IN _no_surat_jalan VARCHAR(20), IN _ket TEXT, IN _id_transak_masuk INT) BEGIN UPDATE t_transak_masuk SET id_supplier=_id_supplier, tgl_transak=_tgl_transak, no_surat_jalan=_no_surat_jalan, ket=_ket WHERE id_transak_masuk=_id_transak_masuk; END // CREATE PROCEDURE sp_UpdateDetTransakMasuk( IN _no_surat_jalan VARCHAR(20), IN _id_barang INT, IN _jml_masuk BIGINT(20), IN _id_det_transak_masuk INT) BEGIN IF NOT EXISTS (SELECT id_transak_masuk FROM t_transak_masuk WHERE no_surat_jalan=_no_surat_jalan) THEN SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status; ELSE UPDATE t_det_transak_masuk SET id_barang=_id_barang, jml_masuk=_jml_masuk WHERE id_det_transak_masuk=_id_det_transak_masuk; END IF; END // Store Procedure Update Transaksi Masuk
  • 66. DELIMITER // CREATE PROCEDURE sp_UpdateTransakKeluar( IN _id_customer INT, IN _tgl_transak DATE, IN _no_surat_jalan VARCHAR(20), IN _ket TEXT, IN _id_transak_keluar INT) BEGIN UPDATE t_transak_keluar SET id_customer=_id_customer, tgl_surat=_tgl_surat, no_surat_jalan=_no_surat_jalan, ket=_ket WHERE id_transak_keluar=_id_transak_keluar; END // CREATE PROCEDURE sp_UpdateDetTransakKeluar( IN _no_surat_jalan VARCHAR(20), IN _id_barang INT, IN _jml_keluar BIGINT(20), IN _id_det_transak_keluar INT) BEGIN IF NOT EXISTS (SELECT id_transak_keluar FROM t_transak_keluar WHERE no_surat_jalan=_no_surat_jalan) THEN SELECT 'No. Surat Jalan tidak ada di dalam database!' AS status; ELSE UPDATE t_det_transak_keluar SET id_barang=_id_barang, jml_masuk=_jml_masuk WHERE id_det_transak_keluar=_id_det_transak_keluar; END IF; END // Store Procedure Update Transaksi Keluar
  • 67. DELIMITER // CREATE PROCEDURE sp_DeleteTransakMasuk(IN _no_surat_jalan VARCHAR(20), OUT flag TINYINT) BEGIN DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; START TRANSACTION; SET flag = 0; UPDATE t_transak_masuk SET is_deleted=1 WHERE no_surat_jalan=_no_surat_jalan; UPDATE t_det_transak_masuk SET is_deleted=1 WHERE no_surat_jalan=_no_surat_jalan; SET flag = 1; COMMIT; END // CREATE PROCEDURE sp_DeleteDetTransakMasuk(IN _id_det_transak_masuk INT) BEGIN UPDATE t_det_transak_masuk SET is_deleted=1 WHERE id_det_transak_masuk=_id_det_transak_masuk; END // Store Procedure Delete Transaksi Masuk
  • 68. DELIMITER // CREATE PROCEDURE sp_DeleteTransakKeluar(IN _id_transak_keluarINT) BEGIN UPDATE t_transak_keluar SET is_deleted=1 WHERE id_transak_keluar=_id_transak_keluar; END // CREATE PROCEDURE sp_DeleteDetTransakKeluar(IN _id_det_transak_keluar INT) BEGIN UPDATE t_det_transak_keluar SET is_deleted=1 WHERE id_det_transak_keluar=_id_det_transak_keluar; END // Store Procedure Delete Transaksi Keluar
  • 69. DELIMITER // CREATE TRIGGER after_insert_t_transak_masuk AFTER INSERT ON t_transak_masuk FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'NEW'; END IF; INSERT INTO t_log_transak_masuk(tgl_log, id_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_transak_masuk, NEW.no_surat_jalan, @aksi); END // CREATE TRIGGER after_insert_t_det_transak_masuk AFTER INSERT ON t_det_transak_masuk FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'NEW'; END IF; INSERT INTO t_log_det_transak_masuk(tgl_log, id_det_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_det_transak_masuk, NEW.no_surat_jalan, @aksi); END // Trigger Insert Barang Masuk
  • 70. DELIMITER // CREATE TRIGGER after_update_t_transak_masuk AFTER UPDATE ON t_transak_masuk FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'EDIT'; END IF; INSERT INTO t_log_transak_masuk(tgl_log, id_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_transak_masuk, NEW.no_surat_jalan, @aksi); END // CREATE TRIGGER after_update_t_det_transak_masuk AFTER UPDATE ON t_det_transak_masuk FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'EDIT'; END IF; INSERT INTO t_log_det_transak_masuk(tgl_log, id_det_transak_masuk, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_det_transak_masuk, NEW.no_surat_jalan, @aksi); END // Trigger Update Barang Masuk
  • 71. DELIMITER // CREATE TRIGGER after_update_t_transak_keluar AFTER UPDATE ON t_transak_keluar FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'EDIT'; END IF; INSERT INTO t_log_transak_keluar(tgl_log, id_transak_keluar, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_transak_keluar, NEW.no_surat_jalan, @aksi); END // CREATE TRIGGER after_update_t_det_transak_keluar AFTER UPDATE ON t_det_transak_keluar FOR EACH ROW BEGIN IF NEW.is_deleted THEN SET @aksi = 'DELETE'; ELSE SET @aksi = 'EDIT'; END IF; INSERT INTO t_log_det_transak_keluar(tgl_log, id_det_transak_keluar, no_surat_jalan, aksi) VALUES(NOW(), NEW.id_det_transak_keluar, NEW.no_surat_jalan, @aksi); END // Trigger Update Barang Keluar
  • 72. DELIMITER // CREATE FUNCTION fn_getTotalTransakMasukByNoSuratJalan( _no_surat_jalan VARCHAR(20)) RETURNS INT BEGIN DECLARE total INT DEFAULT 0; SET total = (SELECT SUM(jml_masuk) FROM t_det_transak_masuk WHERE no_surat_jalan=_no_surat_jalan); RETURN total; END // CREATE FUNCTION fn_getTotalTransakKeluarByNoSuratJalan( _no_surat_jalan VARCHAR(20)) RETURNS INT BEGIN DECLARE total INT DEFAULT 0; SET total = (SELECT SUM(jml_masuk) FROM t_det_transak_keluar WHERE no_surat_jalan=_no_surat_jalan); RETURN total; END // Function
  • 73. INSERT INTO r_kategori_barang(nama) VALUES('Elektronik'); INSERT INTO r_kategori_barang(nama) VALUES('ATK'); INSERT INTO r_kategori_barang(nama) VALUES('Makanan'); INSERT INTO r_kategori_barang(nama) VALUES('Minuman'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Tablet 10"', 'Samsung'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Tablet 7"', 'Samsung'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Laptop Sony Vaio 14"', 'Sony'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(1, 'Sony Handycam', 'Sony'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(2, 'Kertas F4', 'Sinar Dunia'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(2, 'Kertas A4', 'Sinar Dunia'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(3, 'Indomie Bawang Rasa Kari Ayam', 'Indomie'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(3, 'Indomie Mie Goreng', 'Indomie'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(4, 'Green Sands Original', 'Green Sands'); INSERT INTO m_barang(id_kategori_barang, nama, merk) VALUES(4, 'Green Sands Fruit', 'Green Sands'); INSERT INTO m_customer(nama, alamat, no_telp) VALUES('PT. ABC', 'Jl. Pasantren', '022123456'); INSERT INTO m_customer(nama, alamat, no_telp) VALUES('Saddam', 'Jl. Kavling IPTN', '022999999'); INSERT INTO m_customer(nama, alamat, no_telp) VALUES('Baso Bedu', 'Jl. Cihanjuang', '022333444'); INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Sinar Dunia', 'Jawa Barat', ''); INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('Sony Corp.', 'Japan', ''); INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('Samsung', 'South Korea', ''); INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Indofood', 'Jawa Barat', ''); INSERT INTO m_supplier(nama, alamat, no_telp) VALUES('PT. Green Sands', 'Jupiter', ''); Insert Data Dummy
  • 74. /* parm: id_supplier, tgl_transak, no_surat_jalan, ket */ CALL sp_InsertTransakMasuk(3, NOW(), 'SJ001', 'tes pertama'); /* parm: no_surat_jalan, id_barang, jml_masuk */ CALL sp_InsertDetTransakMasuk('SJ001', 1, 10); CALL sp_InsertDetTransakMasuk('SJ001', 2, 5); /* parm: id_supplier, tgl_transak, no_surat_jalan, ket, id_transak_masuk */ CALL sp_UpdateTransakMasuk(3, NOW(), 'SJ001', 'tes update pertama', 1); /* parm: no_surat_jalan, id_barang, jml_masuk, id_det_transak_masuk */ CALL sp_UpdateDetTransakMasuk('SJ001', 1, 5, 1); CALL sp_UpdateDetTransakMasuk('SJ001', 2, 10, 2); /* parm: no_surat_jalan, @flag */ CALL sp_DeleteTransakMasuk('SJ001', @flag); SELECT @flag; /* parm: id_det_transak_masuk */ CALL sp_DeleteDetTransakMasuk(1); SELECT fn_getTotalTransakMasukByNoSuratJalan('SJ001') AS 'Jumlah Total Masuk'; Penggunaan Store Procedure
  • 75. SHOW TRIGGERS; DROP TRIGGER {trigger_name}; SHOW PROCEDURE STATUS; DROP PROCEDURE {procedure_name}; SHOW FUNCTION STATUS; DROP FUNCTION {function_name}; Common Functions MySQL
  • 76. Sekian Terimakasih Universitas Nasional Pasim | DBMS | Kelompok MySQL | 2013

×