Praktikum 05 Sistem Basis Data

download

of 7

  • date post

    30-Jun-2015
  • Category

    Food
  • view

    317
  • download

    1

Embed Size (px)

transcript

  • 1. BAB I PERMASALAHAN Suatu gudang perusahaan menyimpan barang persediaan untuk dijual kepada umum. Barang-barang yang disimpan di gudang diperoleh dari pengiriman oleh distributor. Jika barang kiriman datang, otomatis stock akan bertambah, demikian juga apabila ada barang yang keluar dari gudang karena terjual, maka otomatis stock akan berkurang. Rancang pemanfaatan stored procedur dan atau trigger untuk pengolahan data persediaan di gudang suatu perusahaan.

2. BAB II DASAR TEORI A. Stored Procedure dan Trigger Untuk efisiensi penulisan program dan meningkatkan keandalan hasil proses, MySQL menyediakan fasilitas stored procedure dan trigger yang dapat dimanfaatkan dengan mudah. Berikut akan diberikan penjelasan tentang kedua fasilitas tersebut. Stored Procedure Stored procedure adalah prosedur (seperti subprogram dalam bahasa pemrograman) yang disimpan di dalam database. MySQL mendukung dua jenis subprogram, yaitu: stored procedure yang dapat dipanggil untuk dieksekusi, fungsi yang menghasilkan nilai yang dapat dipakai dalam statemen SQL lain. Dengan stored procedure eksekusi menjadi cepat, dan tidak ada kompilasi. Peningkatan kecepatan datang dari reduksi lalu-lintas jaringan. Jika ada pekerjaan pengecekan berulang, looping, multiple statement, dikerjakan dengan pemanggilan tunggal ke prosedur yang telah disimpan ke server. Stored procedure adalah komponen. Andaikan aplikasi kemudian ditulis dalam bahasa berbeda, tidak ada masalah, karena logika berada didalam database bukan dalam aplikasi. Stored procedure ditulis dalam SQL, bersifat portable dan dapat dijalankan pada setiap platform dimana MySQL dapat dijalankan. Trigger Trigger adalah sebuah Script MySQL Command yang memicu suatu kejadian dalam database MySQL berupa aksi manipulasi database secara otomatis setelah syarat tertentu. Lokasi penulisan Trigger adalah di dalam database yang bersangkutan. The trigger_event dapat berupa salah satu dari tiga kejadian berikut: 1. INSERT: trigger akan diaktifkan jika suatu baris baru disisipkan ke dalam tabel; sebagai contoh, melalui pernyataan INSERT, LOAD DATA, dan REPLACE. 2. UPDATE: trigger diaktifkan jika suatu baris dimodifikasi; sebagai contoh, melalui pernyataan UPDATE. 3. DELETE: trigger diaktifkan jika suatu baris dihapus dari tabel; sebagai contoh, melalui pernyataan DELETE dan REPLACE. Pernyataan DROP TABLE dan 3. TRUNCATE TABLE pada tabel tidak mengaktifkan trigger ini, karena keduanya tidak menggunakan DELETE. Sebagai contoh setelah insert pada tabel_a dan kolom a1 maka akan otomatis insert pada tabel_b pada kolom b1. Begitu pula untuk aksi update dan delete. Contoh pemakaian trigger adalah sebagai berikut: 1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis. 2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. 3. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan. Berikut ini bentuk umum perintah untuk membuat triggers: CREATE TRIGGER name [BEFORE|AFTER][INSERT|UPDATE|DELETE] ON tablename FOR EACH ROW statement 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. Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah proses dengan menggunakan NEW dan OLD. NEW digunakan untuk mengambil record yang akan diproses (insert atau update), sedangkan OLD digunakan untuk mengakses record yang sudah diproses (update atau delete). Suatu trigger adalah jenis stored procedure special. Dikatakan special karena ia tidak dipanggil langsung sebagaimana suatu stored prosedur. Perbedaan utama diantara trigger dan stored procedur ialah bahwa trigger dipanggil secara otomatis jika suatu modifikasi data terjadi pada suatu tabel, sementara untuk stored procedure harus dipanggil secara eksplisit. Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya. Berikut ini bentuk umum dan contoh perintah untuk menghapus trigger. Bentuk umum dan contoh menghapus trigger: DROP TRIGGER tablename.triggername; 4. B. Delimeter Delimiter adalah karakter atau string yang memberi tahu MySQL bahwa kita telah selesai menulis statemen SQL. Sebelumnya, delimiter selalu semicolon (tanda ;). Hal ini diperlukan karena stored procedure terdiri atas sejumlah statemen, dan setiap pernyataan harus diakhiri dengan semicolon. Delimeter dapat diubah misalnya dengan karakter | atau dengan karakter //. Yang perlu diperhatikan ialah bahwa setelah penggantin tersebut, lakukan pengubahan kembali delimeter ke karakter yang sebelumnya, yaitu berupa karakter ;. 5. BAB III PEMBAHASAN Diasumsikan sebuah gudang perusahaan property menyimpan beberapa persediaan barang untuk dijual kepada umum. Barang-barang yang disimpan di gudang diperoleh dari pengiriman oleh distributor. Jika barang kiriman datang, otomatis stock akan bertambah, demikian juga apabila ada barang yang keluar dari gudang karena terjual, maka otomatis stock akan berkurang. 1. Langkah pertama, yaitu membuat database baru: 2. Langkah kedua adalah membuat tabel barang. 3. Mengisi data pada tabel barang. 4. Membuat procedure showbarang() untuk menampilkan isi tabel barang. d // digunakan untuk mengubah delimiter ; menjadi //. d ; digunakan untuk mengembalikan delimiter ke ;. Untuk pemanggilannya, kita tidak perlu panjang-panjang mengetikan select * from barang. Kita hanya perlu mengetikan call showbarang. 6. 5. Membuat tabel persediaan 6. Membuat trigger t1 agar jumlah barang setelah proses pengiriman barang dari distributor dan penjualan barang selalu up to date. 7. Pengisian tabel persediaan 8. Selanjutnya kita dapat melakukan pengecekan kembali terhadap tabel barang yang telah kita buat sebelumnya denga perintah call showbarang(); 7. BAB IV KESIMPULAN 1. Sebelum membuat trigger ataupun store procedure, kita harus melakukan pengaturan terhadap delimeter. 2. Stored procedure adalah prosedur (seperti subprogram dalam bahasa pemrograman C, pascal dll.) yang disimpan di dalam database. 3. Trigger adalah sebuah objek database yang diasosiasikan dengan sebuah tabel dan aktif ketika sebuah event terjadi pada tabel tersebut. 4. Trigger hanya terjadi ketika ada eksekusi INSERT, DELETE, dan UPDATE pada tabel yang bersangkutan. 5. Waktu eksekusi trigger yang mungkin terjadi yaitu BEFORE dan AFTER dari statement SQL-nya.