pemrograman database ii - berbagi bersama...contoh : 1. buatlah 2 buah tabel dengan perintah seperti...

15
PROGRAM STUDI TEKNIK INFORMATIKA 2019 Pemrograman Database 2 Sekolah Tinggi Ilmu Komputer Dinamika Bangsa - Jambi PROGRAM STUDI SISTEM INFORMASI 2019 Disusun oleh : Tim Dosen

Upload: others

Post on 18-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

PROGRAM STUDI TEKNIK INFORMATIKA 2019

Pemrograman Database 2

Sekolah Tinggi Ilmu Komputer Dinamika Bangsa - Jambi

PROGRAM STUDI SISTEM INFORMASI

2019

Disusun oleh : Tim Dosen

Page 2: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

BAB IV

Procedure adalah suatu blok PL/SQL yang menyimpan sekumpulan perintah yang tidak disertai dengan pemberian nilai. Dengan Kata lain procedure hanya melakukan perintah tertentu saja.

5.1. Membuat Procedure Berikut bentuk umum yang digunakan untuk membuat procedure

CREATE [OR REPLACE] PROCEDURE nama_procedure (parameter_1 tipe_date, parameter_2 tipe_data,…) IS

variabel-varibel lokal BEGIN Pernyataan; END;

Contoh

5.2. Eksekusi Procedure Perintah berikut digunakan untuk mengeksekusi procedure yang telah dibuat.

EXEC[UTE] namaprocedure;

Procedure

Page 3: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

5.3. Procedure dengan Parameter Masukan Paramater yaitu nilai yang dilewatkan dalam sebuah procedure ataupun function. Parameter masukan yaitu paramater yang berguna untuk menyimpan nilai yang digunakan sebagai input(masukan) didalam badan procedure maupun function. Contoh parameter pada procedure

Setelah procedure di atas kita jalankan, selanjutnya kita dapat melakukan pemanggilan function dengan parameter yang berbeda-beda. Contoh

vnamakaryawan varchar2(15);

Page 4: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

5.4. Procedure dengan Parameter Keluaran Parameter keluar berperan sebagai parameter yang menampung nilai hasil dari proses yang dilakukan didalam sub program. Contoh Parameter keluaran

Sekarang tuliskan perintah suatu blok PL/SQL menggunakan procedure tersebut.

5.5. Procedure dengan Parameter Masukan–Keluaran Parameter ini merupakan gabungan dari parameter masukan dan parameter keluaran.

Page 5: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Contoh :

Untuk mencoba procedure di atas kita dapat membuat Blok PL/SQL berikut:

Page 6: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Function adalah sebuah blok PL/SQL yang dapat mengembalikan nilai. Untuk memngembalikan nilai kepada function kita gunakan statmen RETURN.

6.1. Membuat Function Berikut bentuk umum perintah untuk membuat function

CREATE OR REPLACE FUNCTION nama_function (parameter_1 tipe_date, parameter_2 tipe_data,…) RETURN tipedata_function IS

Variabel-variabel local BEGIN

Pernyataan; ….. RETURN nilai_function;

END; Contoh

6.2. Pemanggilan Function Function yang telah dibuat dapat dipanggil dengan cara seperti contoh berikut ini :

Function

Page 7: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

6.3. Function dengan Parameter Masukan

Paramater yaitu nilai yang dilewatkan dalam sebuah procedure ataupun function. Parameter masukan yaitu paramater yang berguna untuk menyimpan nilai yang digunakan sebagai input(masukan) didalam badan procedure maupun function. Contoh Paramater pada function

Panggil function dengan perintah berikut :

6.4. Procedure dan Function Lokal Merupakan procedure atau function yg digunakan secara lokal dan ditempatkan didalam pernyataan declare

Page 8: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Contoh 1:

Setelah di eksekusi (Run/F5) hasilnya anda akan diminta memasukkan nilai (NIK) seperti berikut ini :

Output yang diperoleh adalah sebagai berikut :

Page 9: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Contoh 2 :

Setelah di eksekusi (Run/F5) hasilnya anda akan diminta memasukkan Nomor Department seperti berikut ini :

Hasil yang diperoleh terlihat sebagai berikut :

Page 10: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Triger adalah blok PL/SQL yang di simpan dalam database dan akan di aktivasi ketika anda melakukan statement-statement SQL(DELETE, UPDATE atau INSERT) pada sebuah tabel.

7.1. Membuat Trigger CREATE TRIGGER adalah statement membuat trigger yang disediakan oleh oracle yang selanjutnya akan diaktivasi berdasarkan event tertentu. Event trigger terbagi dua, yaitu before dan after. Adapun daftar event tersebut adalah sebagai berikut:

Nama Event Keterangan

BEFORE INSERT Diaktifkan sekali sebelum statement INSERT

AFTER INSERT Diaktifkan sekali setelah statement INSERT

BEFORE UPDATE Diaktifkan sekali sebelum statement UPDATE

AFTER UPDATE Diaktifkan sekali setelah statement UPDATE

BEFORE DELETE Diaktifkan sekali sebelum statement DELETE

AFTER DELETE Diaktifkan sekali setelah statement DELETE

Sintak umum membuat trigger CREATE OR REPLACE TRIGGER nama_trigger (BEFORE | AFTER ) statement ON nama_tabel FOR EACH ROW

DECLARE --berisi deklarasi variabel

BEGIN -- berisi statement-statement yang akan dieksekusi;

END; Contoh

Trigger

Page 11: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

7.2. Memeriksa Pengaruh Trigger Ketikkan script berikut ini :

Setelah di eksekusi, maka trigger (tr_coba) yang telah dibuat sebelumnya akan otomatis dieksekusi sehingga hasilnya dapat dilihat seperti gambar di atas.

Contoh 2

Lalu masukan record baru dengan pernyataan di bawah ini.

insert into employees (employee_id, last_name, email, hire_date, job_id) values (220, 'Renny', '[email protected]' , '10-AUG-12','SH_CLERK');

Kalau pernyataan tersebut dijalankan maka outputnya adalah

Page 12: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

7.3. Alias didalam Trigger Didalam trigger dikenal dengan istilah alias atau referensi, yaitu sejenis variabel yang menyimpan nilai dari suatu kolom didalam tabel. Alias tersebut terbagi menjadi dua yaitu :new dan :old. Alias dituliskan didepan nama kolom yang akan diambil nilainya. Contoh :new.stok_barang Ada tiga hal penting yang harus kita ketahui ketika menggunakan alias dalam trigger 1. Untuk Statemen INSERT hanya mempunyai alias :new, yaitu variabel yang

menyimpan nilai-nilai kolom yang akan dimasukan kedalam tabel. Contoh

Insert into barang Values (‘ELK-05’,’KOMPUTER’,’UNIT’,10);

Maka :new.stok_barang akan bernilai 10. 2. Untuk statemen update mempunyai alias :new dan :old. Alias :new akan

menyimpan nilai-nilai kolom yang baru, sedangkan alias :old akan menyimpan nilai-nilai kolom yang asli yang terdapat didalam tabel(nilai sebelum di-update).

3. Untuk statemen DELETE hanya mempnya alias :old yaitu variabel yang menyimpan nilai nilai-nilai kolom dari baris yang dihapus didalam sebuah tabel.

Page 13: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini :

2. Tambahkan record pada tabel produk

3. Buat trigger yang di gunakan untuk mengurangi jumlah stok yang ada pada tabel produk setiap kali di lakukan pemasukan data pada tabel penjualan.

Page 14: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

4. Tambahkan record pada tabel penjualan

5. Cek stok pada tabel produk

Dari gambar diatas terlihat bahwa stok yang awalnya ada 10 buah berkurang menjadi 7 buah akibat terjadinya penjualan pada produk tersebut sebanyak 3 buah.

Page 15: Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini : 2. Tambahkan record pada tabel produk 3. Buat trigger yang di gunakan

7.4. MengaKtifkan dan me-nonaktifkan Trigger. Secara default Triger dalam database oracle selalu dalam keadaan aktif, namun kita dapat melakukan pengesetan(setting) terhadap trigger tersebut, apakah triggernya aktif(enable) atau tidak aktif(disable). Berikut ini contoh sintak mengaktifkan dan menonaktifkan trigger.

ALTER TRIGGER Nama_trigger ENABLE | DISABLE

Atau kalau kita mau melakukan pengesetan pada semua trigger, berikut sintak nya

ALTER TRIGGER Nama_trigger ENABLE | DISABLE ALL TRIGGERS;