Praktikum 05 Sistem Basis Data
-
Upload
aditya-nugroho -
Category
Food
-
view
322 -
download
1
Embed Size (px)
Transcript of Praktikum 05 Sistem Basis Data

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.

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

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();

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.