BACK
END PROGRAM
Back-End programming
adalah program yang berjalan pada database secara otomatis ketika terjadi suatu
pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back end
programming, yaitu dengan trigger dan stored procedure.
Procedure
PL/SQL (Procedural
Language/Structured Query Language) merupakan bahasa pemrograman terstruktur di
dalam SQL yang tersusun dalam blok-blok logical, yang dapat menjalankan
perintah-perintah untuk menyelesaikan masalah (di Oracle disebut PL/SQL).
Secara singkat, PL/SQL menambahkan teknik pemrograman terstruktur ke dalam SQL.
PL/SQL digunakan dalam back end programming, yang dibangun oleh SQL dan bahasa
prosedural. Jenis-jenis PL/SQL di antaranya adalah anonymous block, stored
program units (procedure, function, package), dan trigger.
Stored procedure
merupakan salah satu jenis PL/SQL yang memiliki kemampuan menerima parameter
input, melakukan pengolahan terhadap parameter input tersebut dan
menampilkannya. Stored procedure dapat memeiliki parameter input atau tidak
memiliki parameter. Parameternya dapat berupa input, output, dan gabungan input
output. Seperti halnya blok non-modular PL/SQL, stored procedure mampu
menangani pesan kesalahan yaitu dengan Exception Handling. Stored procedure
dapat digunakan secara stand-alone, digunakan bersama stored procedures
lainnya, atau dapat digunakan bersama stored function.
Parameter pada stored procedure
·
IN: digunakn untuk
menerima dan menyimpan nilai inputan dari luar stored procedure
·
OUT: digunakan untuk
menyimpan nilai hasil proses dari stored procedure yang akan ditampilkan
·
INOUT: dapat berfungsi
sebagai IN dan OUT
Contoh :
create or replace procedure prc_contoh_parameter_1
(v_sampai_dengan IN integer,v_keluar OUT integer ) as
v_counter INTEGER;
begin
v_counter :=0;
loop
insert into deret1(nilai) values (v_counter);
v_counter := v_counter +2;
if(v_counter > v_sampai_dengan)then
exit;
end if;
end loop; v_keluar :=v_counter;
end prc_contoh_parameter_1;
/
Trigger
Trigger merupakan
suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan
teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT,
DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan
untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi
nilai dari tabel tersebut akan terjaga.
Manfaat Trigger
Dengan menggunakan
Trigger intergritas data serta konsistensi data dapat terjaga dan juga dapat
mencegah terjadinya transaksi yang tidak valid. Selain itu standarisasi
(penyeragaman) terhadap proses juga dapat tercapai karena Trigger dibuat satu
kali dan tersimpan didalam database, sehingga setiap operasi yang dilakukan
oleh siapapun terhadap sistem tersebut akan menggunakan Trigger yang sama.
Struktur Dasar Trigger
Untuk membuat Trigger pada Oracle telah disediakan statement CREATE TRIGGER yang selanjutnya dapat digunakan untuk kejadian tertentu. Secara umum terdapat 2 waktu agar sebuah Trigger dapat teraktivasi, yaitu :
1. BEFORE
Waktu dimana sebuah Trigger akan aktif sebelum terjadinya suatu proses DML pada
suatu tabel. Dapat dibagi menjadi :
Waktu dimana sebuah Trigger akan aktif sebelum terjadinya suatu proses DML pada
suatu tabel. Dapat dibagi menjadi :
·
BEFORE INSERT :
Trigger akan aktif sebelum kejadian insert pada suatu tabel.
·
BEFORE UPDATE :
Trigger akan aktif sebelum kejadian update pada suatu tabel.
·
BEFORE DELETE :
Trigger akan aktif sebelum kejadian delete pada suatu tabel.
2. AFTER
Waktu dimana sebuah Trigger akan aktif sesudah proses DML pada suatu tabel
dilakukan. Dapat dibagi menjadi :
·
AFTER INSERT : Trigger
akan aktif sesudah kejadian insert pada suatu tabel.
·
AFTER UPDATE : Trigger
akan aktif sesudah kejadian update pada suatu tabel.
·
AFTER DELETE : Trigger
akan aktif sesudah kejadian delete pada suatu tabel.
Struktur Penulisan Trigger
Penjelasan
Contoh :
create or replace trigger nambah
after
insert or delete or update on mahasiswa
for each row
begin
if deleting then
update dosen set jumlah_wali = jumlah_wali - 1 where nip_dosen = :old.id_wali;
end if;
if updating then
begin
update dosen set jumlah_wali = jumlah_wali + 1 where nip_dosen = :new.id_wali;
update dosen set jumlah_wali = jumlah_wali - 1 where nip_dosen = :old.id_wali;
end if;
end;
/
Referensi :
- Modul Praktikum Sistem Basis Data 2014.
- Hand Out Sistem Basis Data: Stored Procedure dan Trigger oleh Yudi Wibisono, MT
- http://aaunul.blogspot.co.id/2013/05/keamanan-basisdata-keamananbasis-data.html
- https://simbuda.wordpress.com/2013/05/19/back-end-programming-xml-dan-keamanan-data/
- Modul Praktikum Sistem Basis Data 2014.
- Hand Out Sistem Basis Data: Stored Procedure dan Trigger oleh Yudi Wibisono, MT
- http://aaunul.blogspot.co.id/2013/05/keamanan-basisdata-keamananbasis-data.html
- https://simbuda.wordpress.com/2013/05/19/back-end-programming-xml-dan-keamanan-data/



No comments:
Post a Comment