• Tidak ada hasil yang ditemukan

PROSEDUR DAN FUNGSI PROSEDUR

Dalam dokumen MODUL PRAKTIKUM BASIS DATA II (Halaman 36-43)

PROSEDUR

Sebenarnya prosedur pada PL/SQL hampir sama dengan prosedur bahasa pemrograman lainnya. Prosedur memiliki header dan body. Header mengandung nama prosedur dan parameter atau variabel yang digunakan oleh prosedur. Sedangkan body mengandung bagian deklarasi, bagian eksekusi, dan bagian exception handling. Sintaks umum untuk membuat prosedur :

Eksekusi Prosedur

Unutuk melakukan eksekusi terhadap suatu prosedur dari luar blok PL/SQL, kita harus menggunkan statemen EXECUTE, atau cukup dituliskan dengan EXEC saja. Namun apabila Anda ingin memanggil prosedur dari dalam blok PL/SQL, maka statemen EXECUTE tidak perlu di tuliskan. Berikut ini bentuk umumnya :

FUNGSI

Function adalah jenis PL/SQL block yang menghasilkan satu nilai. Secara umum, function digunakan melakukan perhitungan, mengecek eksistensi dan kevalidan suatu data. Function bisa dilibatkan dalam expresi. Function bisa disimpan dalam database sebagai object schema, sehingga suatu function bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.

37 Ekesekusi Fungsi

Tidak seperti prosedur yang dalam eksekusinya membutuhkan perintah EXECUTE, pada fungsi kita dapat langsung memasukkan nilainya ke dalam suatu variable yang sama tipedatanya maupun melalui statemen SQL. Atau dapat juga melalui statemen SQL seperti yang ditunjukkan oleh kode berikut :

PARAMETER

Parameter diklasifikasikan menjadi tiga jenis, yaitu parameter masukan, keluarn dan masukan-keluaran.

1. Parameter Masukan

Parameter masukan adalah parameter yang berguna untuk menyimpan nilai yang digunakn sebagai input di dalam badan prosedur maupun fungsi. Parameter ini ditandai dengan mode IN.

2. Paramater Keluaran

Parameter keluaran adalah parameter yang menampung nilai hasil dari suatu proses yang dilakukan dalam sub program.Pada kenyataannya parameter keluaran lebih sering ditemui di dalam prosedur dari pada didalam fungsi. Parameter ini ditandai dengan mode OUT.

3. Parameter Masukan – Keluaran

Parameter ini merupakan parameter gabungan dari kedua jenis diatas. Parameter ini berperan sebagai parameter masukan sekaligus parameter keluaran. Parameter ini ditandai dengan mode IN OUT.

38 Contoh 1.

Dalam contoh dibawah ini kasus tentang sistem informasi sekolah, yang mana store procedure yang dibuat akan menangani tentang menghasilkan data siswa yang difilter berdasarkan kelas.

Store procedure untuk menampilkan data siswa dalam bentuk ResulSet :

Penjelasan

Delimiter adalah untuk memberitahu kepada mysql soal delimiter yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimiter yang digunakan $$ jadi akhir statementnya adalah $$

CREATE PROCEDURE adalah header untuk membuat suatu procedure BEGIN END adalah body dari store procedure, jadi semua sql nya ditulis disini Contoh pemanggilannya seperi dibawah ini :

Dengan store procedure eksekusi menjadi cepat. Store procedure adalah komponen, andaikan aplikasi kemudian ditulis dalam bahasa berbeda, tidak ada masalah, karena logika berada di dalam database bukan dalam aplikasi.

39 Praktik !

1. Buat database dengan nama dbparkir, kemudian aktifkan 2. Buat tabel kendaraan dengan ketentuan sebagai berikut :

3. Memilih delimiter

mysql> delimiter // 4. Menciptakan store procedure

mysql> create procedure p1() select * from kendaraan;// Keterangan :

p1 = nama procedure () = daftar parameter

Select * from kendaraan; = body prosedur 5. Memanggil prosedur p1

mysql> call p1();

6. Mengembalikan delimiter dan memulainya mysql> delimiter ;

mysql> delimiter // 7. Menghapus delimiter

mysql> drop procedure p1;

8. Buat procedure sederhana yang memiliki fungsi untuk menghitung jumlah record pada tabel kendaraan. Kemudian jumlah kolom tersebut dimasukkan ke dalam variable param1.

40

LEMBAR KERJA PRAKTIKUM

BASIS DATA II

NAMA TANGGAL NIM WAKTU KELAS PERTEMUAN

41

MODUL XI

TRIGGER

Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data. MEMBUAT TRIGGER

Oracle telah menyediakan statement CREATE TRIGGER untuk membuat sebuah trigger yang selanjutnya akan diaktivasi berdasarkan event tertentu. Secara umum, event trigger terbagi menjadi dua, yaitu BEFORE (sebelum) dan AFTER (setelah). Event tersebut menandakan kapan trigger akan diaktivasi, apakah sebelum ataukah sesudah proses yang dilakukan di dalam tabel bersangkutan.

Daftar event yang mungkin digunakan untuk mengaktifkan trigger :

42 Untuk mencoba pembuatan trigger pada oracle persiapkan terlebih dahulu user atau database sebagai berikut ini :

User database : penjualan Table I : Barang

Colom pada table barang :

Isi pada table barang :

Tabel II : Pasok

Column pada table pasok :

Data pada table pasok :

Tabel III : Pembelian

Column pada table pembelian :

43 ALIAS DI DALAM TRIGGER

Di dalam trigger dikenal istilah alias atau referensi, yaitu sejenis variabel yang menyimpan nilai dari suatu kolom di dalam tabel. Alias tersebut terbagi menjadi dua yaitu :new dan :old. Alias :new untuk menyimpan nilai terbaru sedangkan alias :old untuk menyimpan nilai lama.

Ketersediaan Alias Di dalam Trigger :

 Pada statement UPDATE, terdapat alias :new dan :old  Pada statement DELETE, hanya terdapat alias :old  Pada statement INSERT, hanya terdapat alias :new MANAGING TRIGGER

Mengaktifkan atau menonaktifkan trigger. Syntax :

ALTER TRIGGER nama_trigger ENABLE | DISABLE;  Mengaktifkan atau menonaktifkan semua trigger pada sebuah tabel.

Syntax :

ALTER TABLE nama_tabel ENABLE | DISABLE ALL TRIGGERS;  Menghapus trigger

Syntax :

Dalam dokumen MODUL PRAKTIKUM BASIS DATA II (Halaman 36-43)

Dokumen terkait