IMPLEMENTATION TRIGGER , STORED PROCEDURE , FUNCTION AND VIEW ON MYSQL IN INVENTORY SYSTEM DESIGN CAFFE BOULEVARD PDF

Title IMPLEMENTATION TRIGGER , STORED PROCEDURE , FUNCTION AND VIEW ON MYSQL IN INVENTORY SYSTEM DESIGN CAFFE BOULEVARD
Author Ampari Ansanay
Pages 22
File Size 897 KB
File Type PDF
Total Downloads 173
Total Views 975

Summary

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 N...


Description

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

Menyimpan semua informasi mengenai semua produk yang ditawarkan

Pemasok

Menyimpan semua informasi mengenai semua pemasok.

nota_pembelian

Menyimpan semua informasi mengenai semua transaksi pembelian produk dari pemasok.

gudang

Menyimpan

semua

informasi

mengenai

gudang

untuk

penyimpanan produk 

Menentukan Attributes Produk

Kodeproduk: kode unik untuk tiap macam produk (string) PK. Namaproduk: nama lengkap untuk produk (string). Hargajual: harga jual produk di toko (integer)

Pemasok

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

Produk

Pemasok

Nota_pembelian

Gudang

-

-

m:n

m:n

-

1=n

-

-

-

Pemasok 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, rincian_nota_pembelian)

no_nota

(FK

kode_produk,

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)

no_nota

di

 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

dan field memiliki aturan yang sama dengan penamaan database. Seperti

gambar di bawah ini

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 pembelian(kodepemasok)

FOREIGN

KEY

(Kodepemasok)

REFERENCES

) 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 REFERENCES nota_pembelian (no_nota) ) ENGINE=InnoDB AUTO_INCREMENT=6 COLLATE=latin1_general_ci;

FOREIGN

DEFAULT

KEY

(no_nota)

CHARSET=latin1

====================================================================// 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...


Similar Free PDFs