Back End Program - Catatan Ilmu

Breaking

Wednesday, November 25, 2015

Back End Program

1.    Definisi
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.

2.    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;
/   

3.    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
ntuk 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 :
  • 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/

No comments:

Post a Comment