Dokumen tersebut membahas tentang stored procedure pada sistem basis data. Ia menjelaskan definisi stored procedure, kelebihan-kelebihannya, contoh penerapan stored procedure untuk mencatat log pengguna dan mentransfer uang antar rekening beserta penjelasan parameter dan struktur penulisan stored procedure.
2. Stored Procedure adalah program yang disimpan
dalam database dan dikompilasi bila digunakan
Dalam Oracle, dapat ditulis dalam PL / SQL atau Java
Dalam SQL Server, dapat ditulis dalam Transact-SQL
Stored procedure adalah sekumpulan perintah SQL yang
disusun dalam sebuah procedure (mirip dengan pemograman
biasa) yang mempunyai nama dan kegunaan tertentu
Stored Procedure yang disimpan dapat dipanggil dari
Program yang ditulis dalam bahasa standar, misalnya: Java, C
#
Scripting bahasa, misalnya: JavaScript, VBScript
SQL command prompt, misalnya: sqlcmd, SQL Plus, Query
Analyzer
agus andri putra, ST.
DEFINISI
3. Persamaan dengan prosedur dlm
pemrograman:
Menerima parameter input dan mengembalikan
beberapa nilai dalam bentuk parameter output ke
pemanggil prosedure atau batch.
Berisi statement pemrograman utk operasi dlm
database, termasuk memanggil prosedur lainnya.
Mengembali nilai status ke pemanggil prosedur atau
batch untuk menunjukkan keberhasilan atau
kegagalan (dan alasan untuk kegagalan).
agus andri putra, ST.
STORED PROCEDURE VS PROCEDURE
4. Keamanan lebih
stored procedure selalu tersimpan pada database
server
Memberikan grant user permission utk menjalankan
SP
Mengurangi lalu lintas jaringan
SP dapat mengurangi query SQL panjang menjadi
satu baris yang ditransmisikan sehingga mengurangi
lalu lintas client-server.
agus andri putra, ST.
KELEBIHAN STORED PROCEDURE
5. Waktu Eksekusi lebih cepat
Bila perlu T-SQL yang banyak dan berulang-ulang, maka SP
bisa lebih cepat drpd batch T-SQL code. SP dicompile sekali,
disimpan dalam memory dan digunakan untuk pemanggilan
berikutnya (tidak perlu dikompilasi ulang). SQL dapat
dioptimasikan oleh DBMS compiler
Berbagi-pakai kode modular berimbas pada:
Mengurangi pekerjaan berlebih – penggunaan ulang kode
secara efisien
Standarisasi pemrosesan
Spesialisasi antara developer
agus andri putra, ST.
KELEBIHAN STORED PROCEDURE
7. Persiapan
Buat sebuah table untuk menyimpan data log_user
Contoh
agus andri putra, ST.
CONTOH 1
Tambah tabel
Struktur tabel :
- Waktu : datetime
- Nama_user : varchar
8. Procedure yang akan di buat adalah sebuah
procedure yang akan digunakan untuk menyimpan
informasi login seorang user
Memanggil stored procedur
agus andri putra, ST.
MEMBUAT PROCEDURE BARU
9. Hasil nya akan terlihat di tabel “ log_user “
agus andri putra, ST.
MEMBUAT PROCEDURE BARU
10. Parameter yang digunakan dalam stored
procedure terdiri dari 3 jenis yaitu :
Parameter IN. Parameter jenis ini digunakan hanya
untuk input
Parameter OUT. Parameter jenis ini digunakan untuk
mengeluarkan hasil proses dalam stored procedure
agar bisa diterima di luar prosedur. Dan harus
menggunakan variable
Parameter INOUT. Gabungan dari IN dan OUT, yaitu
dapat mengirim dan menerima nilai variable, dan
parameter ini hanya boleh menggunakan variable
agus andri putra, ST.
PARAMETER
11. Pembuatan Procedure
Memanggil procedure
1. SET @c=0; (deklarasi var c)
2. CALL tambahkan (200,80,@c);
3. SELECT @c; (menghasilkan nilai 280)
agus andri putra, ST.
PARAMETER
12. Pernyataan IF
Struktur Statement :
agus andri putra, ST.
PERCABANGAN
13. Kasus Tranfer dan kirim uang antar no
Rekening
Dengan ketentuan:
Saldo pengirim harus mencukupi
Rekening pengirim dan penerima harus ada
Update masing-masing rekening sesuai besar
transfer
agus andri putra, ST.
CONTOH KASUS
14. Isi tabel tersebut dengan minimal 3 record :
agus andri putra, ST.
STRUKTUR TABEL KASUS TRANSFER
16. Contoh pemanggilan 1 transfer
Untuk selanjutnya silahkan coba mentransfer sejumlah uang
dari rekening yang ada pada tabel yang telah di buat
sebelumnya, apa yang terjadi ?
agus andri putra, ST.
PEMANGGILAN PROCEDURE
17. Buatlah sebuah stored procedure untuk menentukan
nilai mutu dari sebuah tabel nilai akademik dengan
ketentuan :
a. Jika nilai >=80 : nilai mutu ‘A’
b. Jika nilai >=70 : nilai mutu ‘B’
c. Jika nilai >=50 : nilai mutu ‘C’
d. Jika nilai >=30 : nilai mutu ‘D’
e. Default nilai diluar itu bernilai ‘T’
Silahkan pilih salah satu fungsi pernyataan “IF” atau
“CASE”
agus andri putra, ST.
LATIHAN SP IF-B