Laporan Basis Data Modul 7
Laporan Basis Data Modul 7
STORED PROCEDURE
ANGGOTA KELOMPOK :
FAKULTAS TEKNIK
APRIL 2016
MODUL VII
“STORED PROCEDURE”
1. Tujuan
.Memahami konsep dasar stored procedure, kelebihan dan kekurangannya.
.Memahami implementasi stored procedure di dalam basis data.
Mampu menyelesaikan kasus retrieval yang melibatkan lebih dari satu entitas.
Mampu menyelesaikan operasi-operasi data spesifik dengan memanfaatkan
stored procedure.
2. Dasar Teori
A. Penggunaan Store Procedure dalam SQL
Store Procedure adalah kumpulan Pre-defined Transact-SQL yang digunakan
untuk melakukan tugas/task khusus. Dalam Store Procedure dapat berisi beberapa
statement dan setiap statement di kelompokan untuk satu object database.
Banyak option lainnya dalam mendefinisikan store procedure, dalam laporan ini
1
hanya beberapa saja yang disebutkan, hanya sebagai gambaran awal dalam
membuat store procedure.
1. Performance
Semua perintah SQL, yang kita kirimkan ke database server melalui
kumpulan action yang disebut dengan execution. Hal ini menjadikan perintah
SQL yang kita kirimkan melalui beberapa proses sebelum data dikembalikan
ke client.
User mengirimkan request untuk mengeksekusi store procedure.SQL Server
kemudian mengecek apakah ada syntax error. Mengidentifikasi dan melakukan
pengecekan alias pada FROM clausa.Membuat query plan. Meng-compile dan
kemudian mengeksekusi query plan untuk kemudian mengembalikan data yang
diminta.
Ada banyak proses yang tidak kita ketahui yang dijalankan, kemudian
apakah dengan menggunakan store procedure kita akan mem bypass hal
tersebut ?
Di satu sisi, ya. Versi terdahulu pada SQL Server menyimpan execution plan
yang telah dieksekusi dalam system tables, membuat sebagian pre-compiled.
Hal ini meningkatkan performance, karena server tidak melakukan kompilasi
store procedure setiap kali ia dipanggil.
Pada versi terbaru SQL server, ada banyak perubahan pemrosesan
statement. Store Procedure disimpan dalam procedure cache ketika di panggil,
membuat subsequent lebih cepat dipanggil.
2. Security
Store Procedure memberikan keuntungan yang baik dalam hal security.
Dengan menggunakan store procedure, kita bisa untuk dapat mengakses data,
menekan immense coding yang perlu kita lakukan pada Application Client. Ini
adalah cara terbaik untuk mengontrol akses ke data. memberikan permission
untuk user yang ditunjuk.
2
3. Modifications/Maintenance
Jika kita menggunakan store procedure untuk mengakses database, setiap
perubahan pada database dapat dipantau berdasarkan client application. Hal ini
dimungkinkan karena kita dapat tahu persis dimana data diakses, dan kita juga
tahu dimana kita harus melakukan perubahan. Hal ini berarti kita tidak perlu
pusing kepala dengan ribuan baris source code pada client application untuk
menemukan baris mana yang perlu dirubah.
4. Minimal processing at the client.
Ketika membuat aplikasi client/server, normalnya adalah client yang
bertanggung jawab mengenai integritas data yang masuk ke dalam database.
Mengelola Primary Key,Foreign Key, semuanya dilakukan oleh client, dan
database server hanya bertugas menyimpan data yang di berikan client.
Dengan menggunakan store proocedure membantu kita untuk membuat batch
perintah SQL, yang bisa digunakan untuk memanage transaction,constraints
dll. Hanya sedikit daya yang ditulis pada client apllication, menjadikan aplikasi
client menjadi lebih ringan. Aplikasi ini akan lebih terfokus pada menampilkan
data untuk keperluan user dan aplikasi client tidak tau banyak mengenai
database.
Sebagai contoh. Jika kita memiliki database yang berisi ribuan rows dan
ratusan table. Kita memerlukan beberapa perhitungan sebelum melakukan
update pada setiap record. Jika kita mengambil data secara lengkap ke client,
dan meminta client computer untuk memproses data secara lengkap, bisa
dibayangkan apa yang ditimbulkan. Tetapi jika client bisa mengeksekusi store
procedure, ketika kita telah selesai melakukan calculasi untuk melakukan
update pada record.Client tidak perlu melakukan proses calculasi. Hal ini juga
menekan proses yang terjadi di client, dan server yang menjalankan
kalkulasinya.
5. Network traffic
Aplikasi pada client selalu me request/ mengirimkan data ke database
server. Data ini dikirimkan sebagai packet dan dikirimkan ke
jaringan(Network) ke server.
3
Dalam implementasi nyata, penggunaan stored procedure sering melibatkan parameter. Di
MySQL, parameter stored procedure dibedakan menjadi tiga mode: IN, OUT, dan INOUT
3. Latihan
3.1. Latihan 1 (Membuat Procedure)
3.1.1. Langkah – langkah
a. Membuat tabel bernama getMahasiswa dengan pernyataan SQL
sebagai berikut :
DELIMITER //
Create PROCEDURE getMahasiswa()
BEGIN
SELECT * FROM
mahasiswa2;
END
DELIMITER //
4
c. Mendapatkan informasi mengenai status procedure status;
3.1.3. Keterangan
Sama dengan sebelumnya, untuk membuat procedure kita akan Pada
langkah awal kita membuat TRIGGER kita harus mengetikan
delimiter// untuk awal nya, setelah itu kita akan mulai dengan
memasukan table prodecure getMahasiswa. dan jika kita ingin
memulainya kita bisa mendapatkan informasi
table dari mahasiswa 2 dengan begitu program dapat berjalan. dan
jangan lupa untuk di akhir dari program kita harus menggunakan
delimiter //. setelah kia sudah selesai menyeleksi programnya,
5
kita dapat melihat table prodecura dari getMahasiswa sama dengan
table dari mahasiswa2. dan sama juga seperti Trigger, jika kita ingin
mendapatkan informasi dari pada prodecure yang kita buat
kita dapat menggunakan show prodecure
END
DELIMITER ;
CALL getMatakuliahBySemester(3);
END //
DELIMITER ;
CALL getMatakuliahBysemSks(3,2);
6
e. mendeklarasikan variabel bernama smt dan inisialisasi dengan
nilai 3.
SET @smt=3;
SET @smt=3;
CALL getMatakuliahBySemester(@smt);
DELIMITER ;
3.2.2. Printscreen
a. Membuat procedure getMatakuliah semester 3
7
b. Menampilkan data pada semester 3
8
f. Memanfaatkan variable yang telah dideklarasikan sebagai
argumen stored procedure
3.2.3. Keterangan
jika kia inin memnggil stored procedure yang memiliki parameter,
maka kita
harus menspesifikasikan argumennya. Misalkan kita ingin
mendapatkan
9
data matakuliah di semester 3. Apabila pemanggilan stored procedure
di atas mengabaikan argumen,
DBMS akan merespon dengan pesan kesalahan.
Bergantung kebutuhan, pendefinisian parameter pada stored procedure
juga
bisa diubah sesuai keinginan kita. selein kita dapat melihat data
mahasiswa dengan semester 3, kita juga dapat mengganti argumen
yang berada didalam kurung dengan semeser yang berada di dalam
tabel matakuliah.
jadi, intinya dalam stored procedure dengan parameter IN
memerlukan sebuah argumen didalamnya.
Bergantung kebutuhan, pendefinisian parameter pada stored procedure
juga
bisa lebih dari satu. dan untuk tipe data yang parameter IN nya lebih
dari satu, dalam penyeleksiannya kita juga harus memasukan kedua-
duanya
argumennya untuk dapat menyeleksi hasilnya. Jika tidak, program
akan melihat hal ini sebagai suatu kesalahan.
Di MySQL, kita juga bisa mendeklarasikan variabel global ruang
lingkup session dengan menggunakan perintah set dan notasi . sebagai
contoh, kita telah lihat seperti contoh langkah-langkah di atas,
perintah seperti
tadi akan mendeklarasikan variabel bernama smt dan diinisialisasi
dengan nilai 3. kita juga dapat memanfaatkan variable yang sudah kita
deklarasikan sebelumnya,
untuk operasi-operasi yang lain, sebagai contoh kita juga dapat
memasukan @ smt pada argumen yang terdapat di stored procedure
getMatakuliahBySemester.
Pada operasi penambahan, data-data terkait diisikan melalui argumen.
Selanjutnya, isi stored procedure tinggal memasukkan data ke tabel.
3.3. Latihan 3 (Parameter OUT)
3.3.1. Langkah – langkah
a. Tuliskan pernyataan SQL berikut untuk penggunaan OUT :
10
DELIMITER //
Create PROCEDURE JumlahDosen(
OUT Jumlah_dos INT(3),
)
BEGIN
SELECT COUNT (Kode_dos)
INTO jumlah_dos
FROM dosen
END //
DELIMITER ;
CALL jumlahDosen(@jumlah_dos);
SELECT @jumlah_dos;
3.3.2. Printscreen
a. Menuliskan pertnyataan penggunaan OUT
11
3.3.3. Keterangan
Dalam konteks bahasa pemrograman, parameter analog dengan
passing-by-reference. Dengan demikian, parameter ini nilainya bisa
diubah oleh stored procedure. Untuk mengeksekusi stored procedure dengan parameter ,
out kita harus
menspesifikasikan argumennya dengan benar. Perhatikan, argumen harus menggunakan
notasi , yang mengindikasikan
sebagai suatu parameter out.
Langkah selanjutnya, untuk mendapatkan nilai variabel, gunakan
pernyataan select.
DELIMITER //
Create PROCEDURE CountBySks(
INOUT var INT(3),
)
BEGIN
SELECT COUNT (Kode_mk)
INTO var
FROM matakuliah
WHERE sks=var;
END //
DELIMITER ;
DELIMITER //
Create PROCEDURE CountByGender(
IN gender INT(3),
OUT total INT(3)
)
BEGIN
SELECT COUNT (nim)
INTO total
12
FROM mahasiswa
WHERE jenis_kelamin=gender;
END //
DELIMITER ;
3.4.2. Printscreen
a. Membuat procedure stored dengan INOUT
13
3.4.3. Keterangan
Dalam penulisan parameter INOUT ini, kita dapat mengirimkan
parameter ke stored procedure dan mendapatkan nilai kembalian yang
baru sebgai hasi kita.jangan lupa di awal penulisan syntax kita harus
menulis DELIMITIER //. Contoh penggunaan paremeter INOUT ini
adalah misalnya kita ingin membuat / mendapatkan jumlah dari
mahasiswa yang jenis kelaminnya L. Dan pada program diatas yang
pertama, kita diminta untuk memasukan gender dalam bentuk varchar,
dan mengeluarkan total. Dan akan menyeleksi / mendapatkan jumlah
dari nim dari total yang diambil dari mahasiswa yang gendernya yang
akan diseleksi sama dengan jenis_kelamin yang ada pada tabel
mahasiswa.
14
3.5. Latihan 5 (PENCABANGAN dan PENGULANGAN)
3.5.1. Langkah – langkah
a. Membuat pernyataan SQL dengan pernyataan IF
DELIMITER //
Create PROCEDURE DemoIF(
IN var INT(3),
)
BEGIN
DECLARE str VARCHAR(50)
IF(bil<0) THEN
SET str=’Bilangan Negatif’;
ELSE
SET str=’Bilangan Positif’;
END IF ;
SELECT str;
END //
DELIMITER ;
b. Penggunaan IF
CALL DemoIF(7);
c. Menggunakan Looping
DELIMITER //
Create PROCEDURE DemoLoop(
IN bil INT(3),
)
BEGIN
DECLARE str VARCHAR(200)
DECLARE i INT(3)
SET i=1;
SET str=’ ‘;
WHILE i<= bil DO CONCAT
SET str= CONCAT(str, i,’,’);
SET i=i+1;
END WHILE ;
END //
DELIMITER ;
d. Penggunaan Looping
CALL DemoLoop(9);
15
3.5.2. Printscreen
a. Membuat pernyataan SQL dengan pernyataan IF
b. Menggunakan IF
16
c. Membuat pernyataan Looping.
d. Menampilkan Looping
3.5.3. Keterangan
Untuk table dari percabangan dan perulangan enggunaanya sendiri
kita bisa menghasilkan suatu prosedu yang sangat kompleks, dan
contoh biilangan yang mewakili percabangan dan perulangan adalah
kata IF.
Pertama kita akan membuat data procedurenya, kta membuat dengan
nama Demoif dengan masukan bil =3, dan sekarang kita
mendeklarasikan variabelnya, pertama str dengan varchar 50.
17
Sekarang kita akan memasukan fungsi if. Yang dimana kita akan
mencari yang mana bilangan positif, dan yang mana bilangan negatif.
Fungsi ifnya adalah jika bil < 0 maka bilangan itu adalah bilangan
negatif dan selain dari pada itu adlah bilangan positif.
Untuk permasalahan yang kedua, di dalam contoh yang kedua, kita
diminta untuk mengurutkan data.yangpertama yang akan kita lakukan
adalah membuat procedurnya terlebih dahulu. Kita beri nama
DemoLoop. Dan fungsi perulangan yang kita masukan disini adalah
fungsi WHILE, dan pernyataan yang kita masukan disini adalah, jika
bilangan yang kita masukan dalam argumen <= i maka progran yang
akan berjalan adalah pengurutan data dari i sampai kepada argumen
yang kita masukan tadi, yang dimana i tadi adalah 1.
4. Tugas Praktikum
4.1. Tugas Praktikum 1
4.1.1. Langkah-langkah
a. Mendefenisikan stored procedure untuk mendapatkan jumlah
mahasiswa yang diajar oleh dosen dengna 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.
18
b. Melakukan pemanggilan untuk mahasiswa yang diajar
CALL GetCountMhs(‘11’);
CALL GetCountMhs(‘14’);
4.1.2. Printscreen
a. Membuat store procedure Mendefenisikan stored procedure untuk
mendapatkan jumlah mahasiswa yang diajar oleh dosen dengna
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.
19
4.1.3. Analisis
Dalam membuat prodecure di tugas praktikum ini
kita memberi nama CREATE PROCEDURE GetCountMhs(In
kd_dosen INT (3))
dan memulai dengan mendeklarasikan jumlah INT (3) dengan SET
jumah = 0
setelah itu, menyeleksi COUNT (a.nim) INTO jumlah dari ambil_mk
dimana a.kode_mk. dan lagi setelah itu kita memasukan parameter IN
dengan syntak (
SELECT m.kode_mk FROM matakuliah m)
WHERE m.kode_dos=kd_dosen);
SELECT jumlah;
setelah kita menyelesaikan syntax untuk PROCEDURE
GetCountMhs, kita akan memanggil
panggilan untuk mahasiswa yang di ajar. kita akan menggunakan
syntax CALL GetCountMhs
dengan penulisan : CALL GetCountMhs(‘11’);. dan yang tidak diajar
dengan Syntax :
CALL GetCountMhs(‘14’);.
Dan kita telah melihat jumlah mahasiswa yang di ajar, ada 1
mahasiswa yang termasuk yang diajar dosen, dan 0 mahasiswa yang
tidak diajar oleh dosen.
20
a. Mendefinisikan 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 .
DELIMITER //
CREATE PROCEDURE InsertAmbilMk(IN nim_mhs INT(3),IN
kd_matkul char(12))
BEGIN
DECLARE status VARCHAR(15);
SET status="";
IF EXISTS(
SELECT*FROM mahasiswa
WHERE nim=nim_mhs)THEN
INSERT INTO ambil_mk
VALUES (nim_mhs,kd_matkul);
SET status="OK";
ELSE
SET status ="Operasi Gagal";
END IF;
SELECT status;
END//
CALL insertAmbilMK(‘102’,PTI999’);//
CALL insertAmbilMK(‘102’,PT999’);//
4.2.2. Printscreen
a. Mendefinisikan 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 .
b. Menampilkan kode_mk dengan nim eksist pada tabel
21
c. Menampilkan kode_mk dengan nim eksist pada tabel
4.2.3. Analisis
Pada awalnya kita diminta membuat PROCEDURE baru dengan nama InsertAmbilMk dengan
parameter IN nim_mhs bertipe data INT yang memiliki panjang maksimal 3, IN kd_matkul
bertipe data char dengan panjang maksimal 12 karakter. Kemudian deklarasikan variabel
status bertipe data VARCHAR yang memiliki panjang maksimal 15 string. Lalu SET nilai variabel
status menjadi “ ”. Lalu dilanjutkan dengan percabangan yang menggunakan IF EXISTS, jika
data pada tabel mahasiswa dengan syarat nim=nim_mhs maka lakukan penambahan data
dengan menggunakan INSERT pada tabel ambil_mk dengan VALUES (nim_mhs, kd_matkul)
dan SET status =”OK” . jika kondisi salah maka SET nilai variabel status = “Operasi Gagal”,
akhiri percabangan dengan END IF. Lakukan seleksi pada variabel status. Selanjutnya panggil
procedure yang kita buat dengan parameter (100, ‘PTI999’), kemudian panggil kembali
dengan parameter (104,’TIK324’) maka akan menghasilkan keluaran seperti gambar.
22
b. Memodifikasi kode_dos 10 menjadi nama fatmawati dan alamat
Jl.jakarta
4.3.2. Printscreen
a. Mendefinisikan 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.
23
b. Memodifikasi kode_dos 10 menjadi nama fatmawati dan alamat
Jl.jakarta
24
4.3.3. Analisis
Pertama kita akan mendefinisikan 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
dan untuk procedurnya, kita akan menggunakan PROCEDURE
IF EXISTS. Dimana kode_dos=kode. setelah itu kita mengupdate
dosen dengan set alamat_dos=alamat
yang dimana kode=kode_dos, update dosen set nama_dos=nama
yang dimanakode=kode_dos, mengupdate dosen set
kode_dos=kode, yang dimana kode=kode_dos
dan yang bukan dari itu akan menyeleksi values kode, nama,
alamat. dan setelah itu mengakhiri fungsi IF
5. Tugas Rumah
5.1. Tugas Rumah 1
5.1.1. Langkah-langkah
a. Membuat tabel kategori pembayaran, transaksi pembayaran
dan mengisi tabel keduanya
tabel kategori_pembayaran
CREATE TABLE kategori_pembayaran_jamal(
id_kat VARCHAR(5),
nama_kat VARCHAR(30)
nominal DOUBLE,
PRIMARY kEY(id_kat)
);
25
Tabel transaksi pembayaran
DELIMITER //
CREATE PROCEDURE Totalperkategori( IN bulan
INT(2))
BEGIN
CALL Totalperkategori(2);
d. Menapilkan kategori(1);
CALL Totalperkategori(1);
e. Menapilkan kategori(3);
CALL Totalperkategori(3);
5.1.2. Printscreen
a. Membuat tabel kategori pembayaran dan transaksi pembayaran
sekaligus memasukkan data
27
b. Membuat Stored Procedure untuk mendapatkan total nominal dari
pembayaran setiap jenis kategori selama 1 bulan! Bulan
pembayaran ditentukan melalui parameter saat procedure
dipanggil
c. Menampilkan totalperkategori(1)
28
d. Menampilkan totalperkategori(2)
e. Menampilkan TotalPerkategori(3)
5.1.3. Analisis
Pertama kita akan membuat tabel kategori_pembayaran_jamal dengan
isi tabel id_kat, nama_kat, nominal, dan id_kat sebagai primary key.
setelah itu kita membuat tabel transaksi_pembayaran_jamal dengan isi
tabel
nim, id_kat, dan juga date sebagai fungsi tanggal.
setelah membuat tabel yang diperlukan, kita akan membuat fungsi
PROCEDURE
Totalperkategori. yang dimana dari PROCEDURE itu untuk
mendapatkan total nominal dari pembayaran setiap
jenis kategori selama 1 bulan! Bulan pembayaran ditentukan melalui
parameter saat
procedure dipanggil.Dengan syntax
SELECT k.nama_kat, SUM(k.nominal)
AS Total FROM kategori_pembayaran_jamal k,
transaksi_pembayaran_jamal t WHERE
k.id_kat=t.id_kat AND MONTH(waktu)=bulan
GROUP BY k.id_kat;
dan untuk pemanggilan fungsi itu kita menggunakan
CALL Totalperkategori(2), untuk mendapatkan jumlah nominal pada
bulan 2.
29
CALL Totalperkategori(3), untuk mendapatkan jumlah nominal pada
bulan 3.
dan CALL Totalperkategori(1), untuk mendapatkan jumlah nominal
pada bulan 1.
dikarenakan bulan yang kami inputkan sampai bulan tiga, maka jika
kita memasukan lebih dari itu maka
akan NULL.
DELIMITER //
CREATE PROCEDURE CekTunggakan( IN
nmr VARCHAR(12))
BEGIN
IF (SELECT COUNT(*) FROM
transaksi_pembayaran_jamal
WHERE nim=nmr)<3 THEN
SELECT *FROM
kategori_pembayaran_jamal
WHERE id_kat NOT IN
(SELECT id_kat
FROM
transaksi_pembayaran_jamal WHERE
nim=nmr);
ELSE
SELECT "TIDAK ADA
TUNGGAKAN" AS pesan;
END IF;
END //
CALL CekTunggakan(‘102’);
30
c. Mengeksekusi prosedure CALL cek tunggakan(‘105’)
CALL CekTunggakan(‘105’);
5.2.2. Printscreen
a. Membuat Stored Procedure untuk memeriksa tunggakan yang
dimiliki mahasiswa. 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.
5.2.3. Analisis
Disini kita akan membuat Stored Procedure untuk memeriksa
tunggakan yang dimiliki mahasiswa. Jika mahasiswa memiliki
31
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. Dengan kita akan
memasukan syntax PROCEDUREcektunggakan dengan argumen
IN nmr VARCHAR(12))
untuk memulai program kita akan menggunakan fungsi IF dengan
menyeleksi
semua data dari transaksi_pembayaran_jamal dimana id_kat not
IN (SELECT id_kat
FROM transaksi_pembayaran_jamal WHERE
nim=nmr)
dan jika tidak memenuhi data yang dimaksudkan maka akan
beralih kemada pengeluaran
select "TIDAK ADA TINGGAKAN". setelah itu fungsi iF
berakhir.
untuk mengeksekusi PROCEDURE cektunggakan 102, kita akan
menggunakan syntax CALL CekTunggakan(‘102’).
untuk mengeksekusi PROCEDURE cektunggakan 105, kita akan
menggunakan syntax CALL CekTunggakan(‘105’).
Kesimpulan
Disini Stored Procedure adalah sebuah prosedur layaknya subprogram (subrutin) di
dalam bahasa pemrograman reguler yang tersimpan di dalam katalog basis data.
Yang adalah kelebihan dari stored procedure antara lain :
Meningkatkan performa
Mereduksi trafik jaringan
Reusable
Meningkatkan kontrol sekuriti
Ternyata Stored procedure juga memiliki kekurangan, diantaranya : berpotensi
meningkatkan beban server dan penulisannya tidak mudah (memerlukan pengetahuan
spesifik).
Stored procedure memilki 3 parameter, antara lain :
IN
OUT
INOUT
32
Paramater IN merupakan mode default , hal ini mengindikasikan bahwa sebuah
parameter dapat di-pass ke stored procedure tetapi nilainya tidak dapat diubah (dari
dalam stored procedure).
Parameter OUT merupakan mode dimana mode ini mengindikasikan bahwa stored
procedure dapat mengubah parameter dan mengirimkan kembali ke program
pemanggil
Parameter INOUT merupakan mode, dimana mode ini dasarnya merupakan kombinasi
dari mode IN dan mode OUT.
6. Daftar Pustaka
6.1. Tim Asisten Dosen. 2016. Modul 4 Join dan Union. Malang : Universitas Negeri
Malang.
6.2. Kadir, Abdul. 2008. Belajar Database Menggunakan MySQL. Yogyakarta :
ANDI.
33