IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

dokumen-dokumen yang mirip
PERANCANGAN SISTEM INFORMASI INVENTORI ADITYA GAUTHAMA STORE YOGYAKARTA. Armadyah Amborowati Dosen STMIK AMIKOM Yogyakarta

PERANCANGAN SISTEM INFORMASI INVENTORI ADITYA GAUTHAMA STORE YOGYAKARTA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Modul 6 Function dan Trigger

Contoh SQL Constraint

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Pengenalan Structured Query Language

Membuat Function, Stored Procedur dan View pada MySQL

Contoh SQL Constraint

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

TUGAS PRAKTIKUM SISTEM BASIS DATA

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Pertemuan 12 Pengenalan Structured Query Language

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Pemrograman Basis Data dan SQL

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

TUGAS PRAKTIKUM SISTEM BASIS DATA

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

Basis Data Relational

INTERNET PROGRAMMING DATABASE

Manajemen Data dengan Database MySQL Supriyono, M.Kom

Administrasi Basis Data. Integritas Data. Yoannita

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

PRAKTIKUM SISTEM BASISDATA

Apa itu DDL & DML? Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :

Modul 3. Oleh : Mohammad Sholikin. 1

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Pertemuan VII TRIGGERS

LAPORAN TUGAS BASIS DATA I

TUGAS PRAKTIKUM SISTEM BASIS DATA

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

SQL. Pemrograman Web II. Ganjil

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Basis Data Spasial Modul 2

Praktikum Basis Data 2017 TE UM

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Perangkat Lunak Pengembangan Web

PENGANTAR PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Praktikum TRIGGER. Tujuan :

BAB 2 LANDASAN TEORI

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

DATA DEFINITION LANGUAGE

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

BAB IV DESKRIPSI KERJA PRAKTEK. identifikasi masalah. Adapun penjelasannya sebagai berikut: beberapa cara yang telah dilakukan, antara lain:

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Pemrograman Web Lanjut 2017

P - 7 Pembahasan UTS PSIK V

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

Cara Membuat Trigger di MySQL

STRUCTURE QUERY LANGUAGE (SQL)


Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

LAPORAN PRAKTIKUM SISTEM BASIS DATA

BAB IV DESKRIPSI PEKERJAAN

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

DESAIN DATABASE. Pertemuan 06 3 SKS

Pengenalan Basis Data

MySQL J A M K E T I G A

PRAKTIKUM SISTEM BASIS DATA

Database MySql. Mata Pelajaran: Database SMK Qamarul Huda Jurusan TKJ Kelas XII. Disusun oleh: Heru Minandar,ST.

Modul 3 : Query Penggabungan Tabel

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Basis Data Adalah.. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis

MODUL I PENGENALAN MYSQL

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

MODUL 1 Pengenalan MySQL, DDL, DML

Pertemuan I KONSEP DASAR STORED ROUTINES

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

MODUL 5 INTERNET PROGRAMMING : MySQL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

BAB III ANALISA DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI. utama yaitu komponen, ketergantungan dan tujuan. Artinya, setiap sistem akan selalu

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

Modul Praktikum Sistem Basis Data S1-TI

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Sistem Basis Data. Sebuah sistem yang memiliki fungsi utama untuk mengelola data dan menyediakan data tersebut jika dibutuhkan

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

DASAR-DASAR SQL SERVER 2005

BASISDATA. Basis Data Secara Umum

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

LAMPIRAN VARCHAR (6) NOT NULL, NUMERIC (10,2) NOT NULL, CONSTRAINT CK_harga CHECK (harga>= and harga<= ),

Perintah MySQL Lanjutan

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

DUKUNGAN DATABASE DALAM PEMBANGUNAN SISTEM INFORMASI

BERMAIN DATA DENGAN SQL SERVER

DESAIN DATABASE SISTEM INFORMASI PENJUALAN BARANG

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

Transkripsi:

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA DOSEN MATAKULIAH SISTEM MANAJEMEN BASIS DATA Dr. KHAMAMI HERUSUSANTO DISUSUN OLEH NAMA : AMPARI. J. ANSANAY NIM : 14000784 KELAS : 14.1.C PROGRAM PASCA SARJANA STIMIK NUSAMANDIRI JAKARTA 20012 / 2013

PENDAHULUAN Data dan Informasi telah menjadi bagian vital dalam pertumbuhan bisnis. Saat ini data dan informasi pada umumnya disimpan dalam satu atau lebih database. Pada skala yang luas dan historis penyimpanan data disimpan dalam sebuah gudang data atau yang lebih dikenal dengan Datawarehouse. Data dan informasi tersebut dikelola oleh sistem khusus yang dikenal dengan Database Management System (DBMS). DBMS tidak hanya berperan untuk menyimpan data ataupun informasi, tetapi juga dapat berperan besar dalam pengelolaan, manipulasi data, hingga usiness Intelegence. DBMS seperti SQL Server, MySQL, PostgreSQL, ataupun Oracle, pada umumnya berkomunikasi dengan antarmuka aplikasi dengan menggunakan dua pendekatan yakni menggunakan SQL Statement dan Stored procedure. SQL Statement baik berupa Data Definition Language dan Data Manipulation Language adalah cara yang umum bagi aplikasi untuk memperoleh data untuk ditampilkan. Namun seiring dengan faktor keamanan dan performa terdapat alternatif SQL Statement untuk dibungkus dalam Stored procedure. Stored procedure menyimpan statement-statement SQL dalam sebuah berkas yang disimpan di database server, sehingga dari sisi performa eksekusi, utilitas jaringan, dan keamanan, stored procedure banyak dipakai sebagai solusi akses data.

LANDASAN TIORI Definisi Database Database dapat di definisikan sebagai Kumpulan informasi yang bermanfaat yang diorganisasikan ke dalam tata cara yang khusus, Sistem file terpadu yang dirancang terutama untuk meminimalkan pengulangan data, Tempat untuk sekumpulan file data terkomputerisasi. Sistem database pada dasarnya adalah sistem terkomputerisasi yang tujuan utamanya untuk memelihara informasi dan membuat informasi tersebut tersedia pada saat diperlukan. Operasi-Operasi Yang Dapat Dilakukan Pada Database : Menambahkan file ke sistem database,menyisipkan data ke dalam suatu file, Mengambil data dari suatu file,mengubah data pada suatu file, Menghapus data dari suatu file,menyajikan informasi dari suatu atau sejumlah file, dan Mengosongkan file. Manfaat Sistem Database Mengurangi duplikasi data,menghindari inkonsistenan data, Meningkatkan integritas data, dimana data selalu dalam keadaan valid; hal ini hanya dapat terjadi bila data hanya berada dalam satu tempat, Adanya independensi data, sifat yang memungkinkan perubahan struktur file tidak mempengaruhi program dan sebaliknya; juga dapat berarti bahwa data bersifat tidak bergantung pada data lain, Adanya sekuritas data, yang bermanfaat untuk menghindari pengaksesan data oleh yang tidak berhak, Penggunaan data menjadi lebih mudah, dimana pada umumnya sistem manajemen database (DataBase Management System = DBMS) menyediakan fasilitas query yang memudahkan user untuk memperoleh informasi.

Komponen Utama DBMS Perangkat keras, berupa komputer, Perangkat lunak, berada diantara database (yang tersimpan dalam harddisk) dan user, Data, yang berada di dalam database dan bersifat terpadu (artinya file data yang ada pada database saling terkait tetapi tidak terjadi (dapat digunakan oleh banyak user = multiuser) Dan juga user TRIGGER Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel log sebelum menghapus data di tabel pelanggan. Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.0.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya (5.1) pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini. Trigger sering digunakan, antara lain untuk: Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan. VIEW Views di MySQL mulai disediakan pada versi 5.0. Views merupakan suatu tampilan table virtual. Views berisi perintah SELECT ke tabel dalam database. Views dapat digunakan untuk mempermudah kita dalam pembuatan laporan atau tampilan database yang diinginkan dengan cepat. Dengan kata lain, views merupakan perintah SELECT yang disimpan, sehingga setiap saat kita membutuhkannya, kita dapat langsung memanggilnya tanpa perlu mengetikkan perintah SELECT kembali. Membuat dan Mendefinisikan Views View dibuat atau didefinisikan dengan menggunakan perintah CREATE VIEW

Function dan Stored Procedure Function dan Stored Procedure merupakan fitur utama yang paling penting di MySQL 5. Function dan Stored Procedure merupakan suatu kumpulan perintah atau statement yang disimpan dan dieksekusi di server database MySQL. Dengan SP (Stored Procedure), kita dapat menyusun program sederhana berbasis sintaks SQL untuk menjalankan fungsi tertentu. Hal ini menjadikan aplikasi yang kita buat lebih efektif dan efisien. Berikut ini beberapa keuntungan menggunakan Stored Procedure: Lebih cepat. Hal ini karena kumpulan perintah query dijalankan langsung di server. Berbeda dengan jika dijalankan secara sekuensial di bahasa pemrograman, akan lebih lambat karena harus bolak-balik antara client dan server. Menghilangkan duplikasi proses, pemeliharaan yang mudah. Pada dasarnya operasi yang terjadi di suatu aplikasi terhadap database adalah sama. Secara umum, di dalam aplikasi biasanya terdapat operasi untuk validasi data inputan, menambahkan record baru, mengubah record, menghapus record dan sebagainya. Dengan SP, mungkin kita dapat menghindari adanya duplikasi proses yang kurang lebih sama, sehingga pemeliharaannya juga jadi lebih mudah. QUERY Query merupakan suatu proses pengolahan data yang digunakan untuk memberikan hasil dari database berdasarkan kriteria tertentu, query biasanya melibatkan beberapa tabel yang direlasikan dengan menggunakan field kunci. Namun query juga dapat digunakan pada satu tabel saja. Untuk membuat tabel query, syarat yang diperlukan yaitu Minimal terdapat 2 ( dua ) buah tabel, yang di dalamnya telah dibuat sebuah field kunci sebagai penghubung. Setiap field disebutkan bersama dengan nama tabelnya, dengan dipisahkan oleh tanda titik (. ). Setiap tabel yang terlibat dalam proses query harus disebutkan dalam klausa FROM, dengan dipisahkan oleh tanda koma (, ). Kondisi dalam klausa WHERE, mempengaruhi jenis join ( penggabungan ) yang akan tercipta.

PERSIAPAN DATA Contoh Kasus Caffe boulevard adalah sebuah caffe, yang memiliki 2 gudang yaitu gudang boulevard 1 dan boulevard 2, untuk mempermudah pihak management caffe boulevard dalam menjalankan dan mengontrol usahanya maka akan di buatkan system informasi dimana Data yang dicatatnya adalah supplier yang memasok barang, barang atau produk yang ada dalam caffe, nota pembelian yang didapat dari proses pembelian,dan stok yang ada pada masing-masing gudang. Permasalah yang muncul adalah sulitnya untuk mengecek stok barang pada masing-masing gudang karena jarak sehingga mengakibatkan proses penyimpanan menjadi terhambat. Menentukan Entities Produk Pemasok nota_pembelian Menyimpan semua informasi mengenai semua produk yang ditawarkan Menyimpan semua informasi mengenai semua pemasok. Menyimpan semua informasi mengenai semua transaksi pembelian produk dari pemasok. gudang Menyimpan semua informasi mengenai gudang untuk penyimpanan produk Menentukan Attributes Produk Pemasok Kodeproduk: kode unik untuk tiap macam produk (string) PK. Namaproduk: nama lengkap untuk produk (string). Hargajual: harga jual produk di toko (integer) Kodepemasok: kode unik untuk tiap pemasok (string) PK. Namapemasok: nama lengkap untuk pemasok (string). Alamatpemasok: alamat lengkap untuk pemasok (string)

Nota_pembelian No_nota: kode untuk nota pembelian (integer) PK Tanggal : tanggal transaksi dilakukan (date) Gudang kodegudang: kode untuk ruang kelas (string) PK. alamatgudang: alamat lengkap untuk gudang (string) Menentukan Relationships Produk Pemasok Nota_pembelian Gudang Produk - - m:n m:n Pemasok - 1=n - Nota - - Pembelian Gudang - Hubungan 1. produk disimpan di gudang Keterangan : Tabel utama : produk, gudang Tabel kedua : stok_produk Relationship : Many-to-many (m:n) Attribute penghubung: kode_produk, kode_gudang (FK kode_produk, kode_gudang di stok_produk)

2. produk tercatat di nota_pembelian Keterangan : Tabel utama: produk, nota_pembelian Tabel kedua: rincian_nota_pembelian Relationship: Many-to-many (m:n) Attribute penghubung: kodeproduk, no_nota (FK kode_produk, no_nota di rincian_nota_pembelian) 3. pemasok tercatat di nota_pembelian: Keterangan : Tabel utama: pemasok Tabel kedua: nota_pembelian Relationship: One-to-many (1:n). Attribute penghubung: kodepemasok (FK kode_pemasok di nota_pembelian)

Merancang database Seperti yang telah penulis jelaskan di atas merancang database merupakan hal yang pertama kali harus dilakukan sebelum membuat suatu aplikasi berbasis database. Rancangan database yang baik akan menentukan seberapa baik sebuah aplikasi dibangun.berikut ini contoh sederhana sebuah rancangan database pada Sistem yang akan di buat disajikan dalam bentuk ERD Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf, angka dan under-score (_). Jika database yang akan dibuat sudah ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus database yang lama jika sudah ada, aktifkan option IF NOT EXISTS.

Berikut ini contoh perintah untuk membuat database baru dengan nama (Caffe_boulevard) Untuk melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan perintah sebagai berikut : Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya, kita harus membuka atau mengaktifkan databasenya terlebih dahulu. Untuk membuka database caffe_boulevard, berikut ini querynya : Penamaan tabel gambar di bawah ini dan field memiliki aturan yang sama dengan penamaan database. Seperti

Untuk melihat struktur tabel produk secara lebih detail, dapat dilakukan seperti di bawah ini DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau hanya 4 karakter pertama) dan produk adalah nama tabel yang akan dilihat strukturnya sebagai berikut : Selanjutnya kita akan menambahkan sebuah record ke dalam tabel produk yang telah kita buat sebelumnya, seperti gambar di bawah ini

Setelah perintah SQL di atas berhasil dieksekusi, maka record atau data dalam tabel produk akan bertambah. berikut ini untuk melihat isi tabel produk Proses update bisa sewaktu-waktu dilakukan jika terdapat data atau record dalam suatu tabel yang perlu diperbaiki. Proses update ini tidak menambahkan data (record) baru, tetapi memperbaiki data yang lama. Perubahan yang terjadi dalam proses update bersifat permanen, artinya setelah perintah dijalankan tidak dapat di-cancel (undo). Proses delete dilakukan jika terdapat data atau record dalam suatu tabel yang perlu dihapus atau dihilangkan. Perubahan yang terjadi dalam proses delete bersifat permanen, artinya setelah perintah dijalankan tidak dapat di-cancel (undo).

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, penulis akan menggabungkan tabel produk dan stok_produk sebagai berikut : Penggabungan dengan WHERE Penggabungan dengan INNER JOIN LEFT JOIN

RIGHT JOIN Statement atau perintah dalam trigger dapat berupa satu perintah saja, dan dapat juga beberapa perintah sekaligus. Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan mengakhiri perintah. BEFORE AFTER digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses. INSERT UPDATE DELETE digunakan untuk menentukan event yang dijadikan trigger untuk menjalankan perintah-perintah di dalam triggers. After insert After update After delete

Selanjutnya, Stored Procedure dari segi bentuk dan sifatnya terbagi menjadi 2 (dua), yaitu FUNCTION dan PROCEDURE. Perbedaan utama antara function dan procedure adalah terletak pada nilai yang dikembalikannya (di-return). Function memiliki suatu nilai yang dikembalikan (di-return), sedangkan procedure tidak. Umumnya suatu procedure hanya berisi suatu kumpulan proses yang tidak menghasilnya value, biasanya hanya menampilkan saja. maka yang dimaksud adalah Function dan Procedure. Dapat dilihat di gambar di bawah ini View Data

Melihat log

Sorce Pembuatan DB : ==================================================================// CREATE TABLE produk( kodeproduk varchar(20) collate latin1_general_ci NOT NULL, namaproduk varchar(45) collate latin1_general_ci default NULL, hargajual double default NULL, PRIMARY KEY (kodeproduk), UNIQUE KEY namaproduk (namaproduk) )ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ====================================================================// CREATE TABLE pemasok ( kodepemasok varchar(20) PRIMARY KEY, namapemasok varchar(20) NOT NULL, alamat_pemasok varchar(45) NOT NULL, no_telepon varchar(10) NOT NULL, CHECK(namapemasok!="AND alamat_pemasok!=") CONSTRAINT fk_pemasok FOREIGN KEY (Kodepemasok) REFERENCES pembelian (kodepemasok) )ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ====================================================================// CREATE TABLE gudang ( kodegudang varchar(20) collate latin1_general_ci NOT NULL, alamatgudang varchar(45) collate latin1_general_ci NOT NULL,

no_telepon varchar(10), PRIMARY KEY (kodegudang), UNIQUE KEY kodegudang (kodegudang) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ====================================================================// CREATE TABLE pembelian ( no_nota varchar(5) collate latin1_general_ci NOT NULL, kodepemasok varchar(5) collate latin1_general_ci default NULL, tanggal date default NULL, PRIMARY KEY (no_nota), UNIQUE KEY kodepemasok (kodepemasok) CONSTRAINT fk_pembelian FOREIGN KEY (Kodepemasok) REFERENCES pemasok (kodepemasok) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ====================================================================// CREATE TABLE nota_pembelian ( no_nota varchar(5) collate latin1_general_ci NOT NULL, kodepemasok varchar(20) collate latin1_general_ci NOT NULL, tanggal date default NULL, PRIMARY KEY (no_nota), KEY FK_nota_pembelian (Kodepemasok), CONSTRAINT FK_nota_pembelian FOREIGN KEY (Kodepemasok) REFERENCES pembelian(kodepemasok) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

====================================================================// CREATE TABLE rincian_nota_pembelian ( kodeproduk varchar(20) collate latin1_general_ci NOT NULL, no_nota varchar(5) collate latin1_general_ci NOT NULL, hargasatuan double default NULL, jumlah integer NOT NULL, CHECK(jumlah>=20), KEY FK_rincian_nota_pembelian (kodeproduk), KEY FK_rincian_nota_pembelian_pemasok (no_nota), CONSTRAINT FK_rincian_nota_pembelian FOREIGN KEY (kodeproduk) REFERENCES produk (kodeproduk), CONSTRAINT FK_rincian_nota_pembelian_pemasok FOREIGN KEY (no_nota) REFERENCES nota_pembelian (no_nota) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ====================================================================// CREATE TABLE stok_produk ( kodeproduk varchar(20) collate latin1_general_ci NOT NULL, kodegudang varchar(20) collate latin1_general_ci NOT NULL, jumlahstok integer NOT NULL, CHECK(jumlah_stok<=200), KEY FK_stok_produk (kodeproduk), KEY FK_stok_produk_pemasok (kodegudang), CONSTRAINT FK_stok_produk FOREIGN KEY (kodeproduk) REFERENCES

produk(kodeproduk), CONSTRAINT FK_stok_produk_pemasok gudang(kodegudang) FOREIGN KEY (kodegudang) REFERENCES ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ===================================================================// CREATE TABLE pencatat_log ( aktifitas varchar(50)collate latin1_general_ci NOT NULL, waktu datetime default NULL, ); Hasil genered mysql workbench tahap 1

Hasil genered mysql workbench tahap 2 setelah penambahan log Hasil Hasil genered mysql workbench tahap 3 finishing setelah penambahan Trigger,stored procedure, fuction dan view

KESIMPULAN Berdasarkan laporan yang disajikan dapat ditarik kesimpulan sebagai berikut: Stored Procedure/Function merupakan kumpulan perintah SQL yang diberi nama dan disimpan di server SQL. Stored Procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database, baik perintah DDL (data definition language) maupun DML (data manipulation language). Trigger merupakan kumpulan perintah SQL yang secara otomatis dijalankan untuk merespon sebuah perintah tertentu. Biasanya, secara fisik trigger menjadi satu dengan table atau view. View mirip dengan Stored Procedure. Dalam implementasinya, view biasa digunakan untuk menyederhanakan query yang kompleks untuk keperluan reporting. View dapat terdiri dari satu atau lebih query, termasuk nested query. Record pada sebuah view ada yang dapat dimanipulasi, dan ada pula yang tidak, tergantung DBMS yang digunakan.