0% menganggap dokumen ini bermanfaat (0 suara)
82 tayangan

Modul 7 Stored Procedure

Modul ini membahas konsep dan implementasi stored procedure dalam basis data. Stored procedure merupakan prosedur yang tersimpan di dalam basis data yang dapat meningkatkan performa dan kontrol sekuriti. Modul ini menjelaskan cara pembuatan, pemanggilan, dan penggunaan parameter pada stored procedure.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
82 tayangan

Modul 7 Stored Procedure

Modul ini membahas konsep dan implementasi stored procedure dalam basis data. Stored procedure merupakan prosedur yang tersimpan di dalam basis data yang dapat meningkatkan performa dan kontrol sekuriti. Modul ini menjelaskan cara pembuatan, pemanggilan, dan penggunaan parameter pada stored procedure.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Modul Praktikum Basis Data

MODUL VII
STORED PROCEDURE

A. TUJUAN

M
Memahami konsep dasar stored procedure, kelebihan dan kekurangannya.
Memahami implementasi stored procedure di dalam basis data.
Mampu menyelesaikan operasi-operasi data spesifik dengan
memanfaatkan stored procedure.

U
B. PETUNJUK

TE
et
C. DASAR TEORI

1. Stored Procedure
he

Stored procedure adalah sebuah prosedur layaknya subprogram


(subrutin) di dalam bahasa pemrograman reguler yang tersimpan di
dalam katalog basis data.
Beberapa kelebihan yang ditawarkan stored procedure antara lain:
meningkatkan performa, mereduksi trafik jaringan, reusable, dan
bs

meningkatkan kontrol sekuriti.


Di balik kelebihan-kelebihannya, stored procedure juga memiliki
kekurangan, di antaranya: berpotensi meningkatkan beban server dan
penulisannya tidak mudah (memerlukan pengetahuan spesifik).
Sintaks stored procedure diperlihatkan sebagai berikut:
Jo

Untuk memanggil stored procedure, digunakan perintah (beberapa


DBMS ada yang menggunakan ).

Jurusan Teknik Elektro 41


Fakultas Teknik Universitas Negeri Malang (UM) 41
Modul Praktikum Basis Data

Dalam implementasi nyata, penggunaan stored procedure sering


melibatkan parameter. Di MySQL, parameter stored procedure dibedakan
menjadi tiga mode: , , dan .
IN
Parameter yang merupakan mode default ini mengindikasikan bahwa
sebuah parameter dapat di-pass ke stored procedure tetapi nilainya
tidak dapat diubah (dari dalam stored procedure).
OUT

M
Mode ini mengindikasikan bahwa stored procedure dapat mengubah
parameter dan mengirimkan kembali ke program pemanggil.
INOUT

U
Mode ini pada dasarnya merupakan kombinasi dari mode dan .

Sintaks pendefinisian parameter diperlihatkan sebagai berikut:

DDL.
TE
Stored procedure dapat mencerminkan beragam operasi data, misalnya
seleksi, penambahan, pengubahan, penghapusan, dan juga operasi-operasi

Seperti halnya prosedur di bahasa pemrograman, stored procedure juga


dapat melibatkan variabel, pernyataan kondisional, dan pengulangan.
et
D. LATIHAN
he

1. Stored Procedure
Seperti halnya tabel, stored procedure diciptakan dengan menggunakan
perintah . Sebagai contoh, buat stored procedure
untuk menampilkan semua data mahasiswa.
bs

1. Ketikkan pernyataan pembuatan stored procedure berikut di editor


teks.
Jo

Perintah digunakan untuk mengubah delimiter standar,


misalnya di sini dari titik koma (;) menjadi slash ganda (//). Langkah

Jurusan Teknik Elektro 42


Fakultas Teknik Universitas Negeri Malang (UM) 42
Modul Praktikum Basis Data

ini umumnya dilakukan ketika isi stored procedure mengandung titik


koma yang merupakan delimiter standar di SQL.
Pernyataan di antara dan merupakan badan (body) stored
procedure.
Perintah di akhir baris digunakan untuk mengembalikan
delimiter ke karakter semula.
2. Eksekusi file stored procedure (sesuaikan path lokasi penyimpanan
file).

M
3. Setelah tahap pembuatan berhasil, panggil stored procedure
.

U
TE
Untuk mendapatkan informasi mengenai status stored procedure, gunakan
et
perintah .

Seperti di tabel, kita juga bisa mendapatkan informasi pembuatan stored


procedure.
he

getMahasiswa

Untuk menghapus stored procedure, gunakan perintah .


bs

2. Parameter IN
Stored procedure di contoh sebelumnya memperlihatkan bentuk default
(tanpa parameter). Di sini kita juga bisa mendefinisikan parameter yang
nantinya dapat digunakan oleh pernyataan di body stored procedure.
Jo

Sebagai contoh, kita bisa mendapatkan semua data matakuliah di


semester tertentu.

Jurusan Teknik Elektro 50


Fakultas Teknik Universitas Negeri Malang (UM) 50
Modul Praktikum Basis Data

Untuk memanggil stored procedure yang memiliki parameter, maka kita


harus menspesifikasikan argumennya. Misalkan kita ingin mendapatkan

M
data matakuliah di semester 3.

U
TE
Apabila pemanggilan stored procedure di atas mengabaikan argumen,
DBMS akan merespon dengan pesan kesalahan.
Bergantung kebutuhan, pendefinisian parameter pada stored procedure juga
bisa lebih dari satu. Sebagai contoh, buat stored procedure dengan dua
buah parameter seperti berikut:
et
he

Pemanggilan stored procedure di atas tentunya akan memerlukan dua


bs

buah argumen.
Jo

Variabel
Di MySQL, kita juga bisa mendeklarasikan variabel global ruang
lingkup session dengan menggunakan perintah dan notasi .

Jurusan Teknik Elektro 51


Fakultas Teknik Universitas Negeri Malang (UM) 51
Modul Praktikum Basis Data
Sebagai contoh, perintah berikut akan mendeklarasikan variabel bernama
smt dan diinisialisasi dengan nilai 3.

Untuk memeriksa nilai variabel, gunakan perintah .

M
U
Langkah selanjutnya, kita bisa memanfaatkan variabel yang telah
dideklarasikan untuk operasi-operasi lain, misalnya sebagai argumen
stored procedure.

TE
et
Penambahan Data
Pada operasi penambahan, data-data terkait diisikan melalui argumen.
he

Selanjutnya, isi stored procedure tinggal memasukkan data ke tabel.


Contoh berikut memperlihatkan stored procedure untuk penambahan data
di tabel dosen.
bs
Jo

Jurusan Teknik Elektro 52


Fakultas Teknik Universitas Negeri Malang (UM) 52
Modul Praktikum Basis Data

M
Operasi-operasi manipulasi data lainnya bisa Anda coba sendiri, dan tak
jauh beda dengan pernyataan SQL reguler.

U
3. Parameter OUT
Dalam konteks bahasa pemrograman, parameter analog dengan
passing-by-reference. Dengan demikian, parameter ini nilainya bisa
diubah oleh stored procedure.

TE
et
he

Untuk mengeksekusi stored procedure dengan parameter , kita harus


menspesifikasikan argumennya.
bs

Perhatikan, argumen harus menggunakan notasi , yang mengindikasikan


sebagai suatu parameter .
Langkah selanjutnya, untuk mendapatkan nilai variabel, gunakan
pernyataan .
Jo

Parameter mode juga bisa dikombinasikan dengan mode (akan


dijelaskan nanti).

Jurusan Teknik Elektro 53


Fakultas Teknik Universitas Negeri Malang (UM) 53
Modul Praktikum Basis Data
4. Parameter INOUT
Pada parameter dengan mode ini, kita bisa mengirimkan parameter ke
stored procedure dan mendapatkan nilai kembalian yang baru.
Sebagai contoh, buat stored procedure seperti berikut:

M
U
TE
Contoh penggunaannya, misal untuk mendapatkan jumlah mahasiswa
yang jenis kelaminnya L.
et
he

Pendekatan juga bisa direpresentasikan dalam bentuk dan


secara terpisah.
bs
Jo

Contoh penggunaannya:

Jurusan Teknik Elektro 54


Fakultas Teknik Universitas Negeri Malang (UM) 54
Modul Praktikum Basis Data

5. Pencabangan dan Pengulangan

M
Penggunaan pernyataan-pernyataan pencabangan ataupun pengulangan di
dalam stored procedure merupakan tindakan yang legal. Dengan
demikian, kita bisa menghasilkan suatu prosedur yang kompleks.

U
Contoh berikut memperlihatkan penggunaan pernyataan IF.

TE
et
he

Contoh penggunaan:
bs
Jo

Jurusan Teknik Elektro 55


Fakultas Teknik Universitas Negeri Malang (UM) 55
Modul Praktikum Basis Data
Contoh penggunaan looping adalah sebagai berikut.

M
U
Contoh eksekusi stored procedure perulangan.

TE
et
E. TUGAS PRAKTIKUM
1. Definisikan stored procedure untuk mendapatkan jumlah mahasiswa yang
he

diajar oleh seorang dosen dengan kode dosen sesuai dengan parameter yang
dimasukkan (parameter IN) . Jika tidak ada mahasiswa yang diajar, maka
akan menampilkan angka 0 (bukan null), sehingga seperti tampilan berikut.
bs
Jo

Jurusan Teknik Elektro 56


Fakultas Teknik Universitas Negeri Malang (UM) 56
Modul Praktikum Basis Data
2. Definisikan stored procedure untuk penambahan data ambil_mk.
Skenarionya, penambahan dapat dilakukan jika dan hanya jika nilai nim
eksis di tabel mahasiswa dan nilai kode_mk eksis di tabel matakuliah.
Apabila operasi berhasil, kembalikan status OK ; sebaliknya jika gagal,
kembalikan pesan Operasi Gagal .

3. Definisikan stored procedure untuk memodifikasi data dosen apabila


eksis dan melakukan penambahan jika belum eksis. Jadi, masukan dari
argumen dapat digunakan untuk penambahan ataupun modifikasi data.

F. TUGAS RUMAH

M
Buatlah tabel dengan ketentuan sebagai berikut.

Deskripsi tabel kategori_pembayaran

U
Isi data tabel kategori_pembayaran
TE
et
he

Deskripsi tabel transaksi_pembayaran


bs
Jo

Jurusan Teknik Elektro 57


Fakultas Teknik Universitas Negeri Malang (UM) 57
Modul Praktikum Basis Data
Isi data tabel transaksi_pembayaran

M
1. Buatlah Stored Procedure untuk mendapatkan total nominal dari pembayaran setiap

U
jenis kategori selama 1 bulan! Bulan pembayaran ditentukan melalui parameter saat
procedure dipanggil.
Contoh: Total pembayaran pada bulan Februari.

TE
2. Buatlah Stored Procedure untuk memeriksa tunggakan yang dimiliki mahasiswa!
et
Jika mahasiswa memiliki tunggakan maka akan menampilkan data kategori
pembayaran yang belum dibayarkan, jika mahasiswa sudah membayar semua jenis
kategori pembayaran maka akan menampilkan pesan bahwa mahasiswa tersebut
tidak memiliki tunggakan.
he

Contoh hasil eksekusi procedure.

NIM
bs
Jo

“ Hidup itu pilihan, berpikirlah yang matang akan pilihan yang kau ambil ”

Jurusan Teknik Elektro 58


Fakultas Teknik Universitas Negeri Malang (UM) 58
Jo
bs
he
et
TE
U
M

Anda mungkin juga menyukai