Laporan 7-Stored Procedure
Laporan 7-Stored Procedure
MODUL VII
STORED PROCEDURE
Dilaksanakan tanggal 7 November 2009
Asisten Praktikum
M. Jafar S.
KELOMPOK 1:
1. RETNO INDAH R (208533414723/OFF.B)
2. HARWI PENDA H. (208533414717/OFF.B)
STORED PROCEDURE
A. TUJUAN
1. Memahami konsep dasar stored procedure, kelebihan dan kekurangannya.
2. Memahami implementasi stored procedure di dalam bas is data.
3. Mampu
menyelesaikan
operasi-operasi
data
spesifik
dengan
tersimpan di dalam
katalog basis data. Seperti halnya fungsi tersimpan juga digunakan untuk meringkas
perintah SQL, namun dalam prosedur tersimpan dapat diringkas beberapa statement
atau perintah SQL. Stored procedure (prosedur tersimpan) tidak harus mengembalikan
nilai seperti yang terjadi pada function procedure.
Beberapa kelebihan yang ditawarkan stored procedure antara lain:
a. meningkatkan performa
b. mereduksi trafik jaringan
c. reusable , dan
d. meningkatkan kontrol sekuriti.
Di balik kelebihan-kelebihannya, stored procedure juga memiliki
kekurangan, di antaranya:
a. berpotensi meningkatkan beban server
b. penulisannya tidak mudah (memerlukan pengetahuan spesifik).
Sintaks stored procedure diperlihatkan sebagai berikut:
CREATE PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
c. INOUT
Mode ini pada dasarnya merupakan kombinasi dari mode IN dan mode OUT.
Variabel parameter dapat menerima input dan juga dapat digunakan untuk
menyimpan hasil output.
Sintaks pendefinisian parameter diperlihatkan sebagai berikut:
MODE param_nama param_type(param size)
Stored Procedure dapat mencerminkan beragam operasi data, misalnya seleksi,
penambahan, pengubahan, penghapusan, dan juga operasi-operasi DDL.
Seperti halnya prosedur di bahasa pemrograman, stored procedure juga dapat melibatkan
variabel, pernyataan kondisisonal, dan pengulangan.
Gabungan Statemen
diapit dengan blok begin ... end
CREATE PROCEDURE p7 ()
BEGIN
SET @a = 2;
SET @b = 10;
SELECT nama, @a * jumlah FROM
barang WHERE jumlah >= @b;
END; //
Variabel
dideklarasikan dengan statemen DECLARE
CREATE PROCEDURE p8 ()
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 2;
SET b = 10;
SELECT nama, a * jumlah FROM barang WHERE jumlah >= b;
END; //
a. Latihan
1) Stored Procedure
DELIMITER //
CREATE PROCEDURE getMahasiswa()
Dalam stored procedure juga
menggunakan perintah CREATE untuk
BEGIN
menciptakan stored procedure.
/* Ini baris komentar */
Sebelum membuat sebuah stored
SELECT * FROM mahasiswa;
procedure, kita harus mengganti karakter
END //
pemroses terlebih dahulu atau yang disebut
DELIMITER ;
juga dengan DELIMITER. Karakter
delimiter adalah sebuah karakter yang dipergunakan pada MySQL untuk
memproses perintah ketika menemui karakter pemroses (titik koma ; sebagai
default). Hal ini bertujuan agar MySQL tidak segera memproses perintah ketika
menemui ; tetapi akan memproses perintah ketika menemui karakter lain yang
dipergunakan. Hal ini disebabkan dalam pembuatan stored procedure sering
mempergunakan karakter ; (titik koma). Untuk mengganti karakter yang dipakai
sebagai delimiter dipergunakan perintah DELIMITER, pada praktikum kali ini
karakter // (double slash) digunakan sebagai karakter delimiter.
Pernyataan di antara BEGIN dan END merupakan badan (body) stored
Script pembuatan stored procedure
procedure. Perintah DELIMITER di akhir baris digunakan untuk mengembalikan
delimiter ke karakter semula.
Menampilkan
informasi mengenai
status stored procedure
Menampilkan
informasi pembuatan
stored procedure
Menghapus stored
procedure yang telah
dibuat.
2) Parameter IN
Contoh penggunaaan
parameter IN dimana
variabel parameter hanya
dapat digunakan untuk
menerima input.
Contoh penggunaaan parameter IN lebih
dari satu.
Jika dalam pembuatan stored procedure
mengabaikan argumen, DBMS akan
merespon pesan kesalahan.
VARIABEL
PENAMBAHAN DATA
Stored procedure untuk
menambahkan data di tabel jurusan.
Body Stored Procedure
Mengeksekusi procedure
addJurusan.sql
3) Parameter OUT
4) Parameter INOUT
Pernyataan IF
Penggunaan pernyataan-pernyataan
pencabangan ataupun pengulangan di
dalam stored procedure merupakan
tindakan yang legal. Dengan
demikian, kita bisa menghasilkan suatu
prosedur yang kompleks.
D. KESIMPULAN
E. DAFTAR PUSTAKA
Amri, Choirul. 2003. TUTORIAL SQL. (sumber : http://www.choirulamri.or.id).
Di akses on-line tanggal 27 Oktober 2009.
Kadir, Abdul. 2002. PENUNTUN PRAKTIS BELAJAR SQL. Yogyakarta :
ANDI
Priyanto, Rahmat. 2007. BELAJAR SENDIRI MENGUASAI MYSQL. Jakarta :
ELEX MEDIA KOMPUTINDO