pemrograman database ii - berbagi bersama...contoh : 1. buatlah 2 buah tabel dengan perintah seperti...
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052815/60a3d21b30f7fc384e0590d7/html5/thumbnails/15.jpg)
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;