Anda di halaman 1dari 10

LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

NAMA : FAIRUZ SALSABILA ROFIQ


NIM : 195150401111011
KELAS : SI - C
BAB : VI – DATABASE APPLICATION DEVELOPTMENT

1. Langkah 1
1.1 Query

1.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

1.3 Penjelasan
Mengakses database SAMPLEDB yang sudah dibuat pada mosul sebelumnya

2. Langkah 2
2.1 Query
CREATE PROCEDURE MYPROCEDURE( )
DYNAMIC RESULT SETS 1
P1: BEGIN
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT * FROM EMPLOYEE;
OPEN cursor1;
END P1@

2.2 Screenshot

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

Fairuz Salsabila Rofiq


195150401111011

2.3 Penjelasan
Membuat procedure serta menampilkan data menggunakan Store Procedure. Procedure sendiri
digunakan untuk mempermudah program dalam aplikasi.

3. Langkah 3
3.1 Query
CALL MYPROCEDURE()@

3.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

Fairuz Salsabila Rofiq


195150401111011

3.3 Penjelasan

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

Pernyataan diatas yaitu memanggil stored procedure setelah procedure dibuat.

4. Langkah 4
4.1 Query
CREATE PROCEDURE MYPROCEDURE2 (
IN IN_WORKDEPT CHAR(6))
DYNAMIC RESULT SETS 1
P1: BEGIN
DECLARE cursor1 CURSOR WITH RETURN FOR
SELECT * FROM EMPLOYEE WHERE WORKDEPT = IN_WORKDEPT;
OPEN cursor1;
END P1@

CALL MYPROCEDURE2 ('A00')@

4.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

Fairuz Salsabila Rofiq


195150401111011

4.3 Penjelasan

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

Query diatas merupakan modifikasi query pada Langkah 2, supaya dapat melakukan pencarian pegawai
berdasarkan WORKDEPT tertentu. Kemudian memnaggil procedure tersebut dengan menggunakan
CALL.

5. Langkah 5
5.1 Query
CREATE OR REPLACE PROCEDURE SP_UPDATE (
IN IN_EMPNO CHAR(6),
IN IN_FIRSTNME VARCHAR(100),
OUT OUT_PESAN VARCHAR(100))
BEGIN
UPDATE EMPLOYEE SET FIRSTNME = IN_FIRSTNME
WHERE EMPNO = IN_EMPNO;
SET OUT_PESAN = 'UPDATE BERHASIL';
END@

5.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

5.3 Penjelasan
Pernyataan diatas yaitu mengupdate data FIRSTNME employee berdasarkan empno dimana EMPNO
dan FIRSTNME didapat dari input user.

6. Langkah 6
6.1 Query
CALL SP_UPDATE('000010', 'Fairuz', ?)@

6.2 Screenshot

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

Fairuz Salsabila Rofiq


195150401111011

6.3 Penjelasan
Menjalankan Stored Prosedure SP_UPDTAE yang telah dibuat di Langkah sebelumnya

7. Langkah 7
7.1 Query
CREATE FUNCTION myfunction( )
RETURNS INTEGER
NO EXTERNAL ACTION
F1: BEGIN ATOMIC
RETURN SELECT COUNT (*) FROM EMPLOYEE;
END@

7.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

7.3 Penjelasan
Membuat User Defined Function (UDF) untuk menghitung total pegawai. UDF berbeda dengan
procedure. Procedure dapt mengembalikan/memberikan beberpa data atau tidak sama sekali. Sedangkan
UDF hanya dapat mengembalikan atau memberikan satu data yang sifatnya mandatory.

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

8. Langkah 8
8.1 Query
SELECT myfunction() FROM SYSIBM.SYSDUMMY1@

8.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

8.3 Penjelasan
Memanggil UDF yang telah dibuat pada Langkah sebelumnya dengan menggunakan select.

9. Langkah 9
9.1 Query
CREATE TABLE BACKUP_EMP LIKE EMPLOYEE@

9.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

9.3 Penjelasan
Membuat sebuah table yang memiliki struktur yang sama seperti table employee sebelum membuat
BEFORE TRIGGER.

10. Langkah 10
10.1 Query
CREATE TRIGGER SETDEFAULT_SALARY
NO CASCADE BEFORE INSERT ON BACKUP_EMP
REFERENCING NEW AS n
FOR EACH ROW
MODE DB2SQL
WHEN (n.salary IS NULL)
SET n.salary = 50000@

10.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

10.3 Penjelasan
Membuat BEFORE TRIGGER dengan nama setDefault_Salary yang bertujuan untuk memberikan nilai
default pada kolom salary jika diisi NULL pada proses insert.

11. Langkah 11
11.1 Query
INSERT INTO BACKUP_EMP (EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO,
HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM,
SYSTEM_START_TIME1,
SYSTEM_END_TIME1, TRANS_ID1)

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

VALUES ('2103', 'NAMA DEPAN', NULL, 'NAMA BELAKANG', 'A00', '1234',


'2019-04-04', 'MANAGER', '18', 'F', '1998-03-21', '1000.00', '1000.00',
'3230.00', '2019-04-10 00:00:00.123443', '9999-12-30 00:00:00.0', '0001-01-01
00:00:00.0'),
('2103', 'NAMA DEPAN', NULL, 'NAMA BELAKANG', 'A00', '1234', '2019-04-04',
'MANAGER', '18', 'F', '1998-03-21', NULL, '1000.00', '3230.00', '2019-04-10
00:00:00.123443', '9999-12-30 00:00:00.0', '0001-01-01 00:00:00.0')@

11.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

11.3 Penjelasan
Pernyataan diatas yaitu melakukan insert pada table BACKUP_EMP, data pertama isi salary dengan
nilai 1000, data kedua isi salary dengan NULL.

12. Langkah 12
12.1 Query
CREATE TABLE audit (mytimestamp timestamp, comment varchar (1000))@

12.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

12.3 Penjelasan
membuat sebuah tabel dengan nama AUDIT dengan parameter mytimestamp dan comment.

13. Langkah 13
13.1 Query
CREATE TRIGGER audit_emp_sal2
AFTER UPDATE OF salary ON EMPLOYEE
REFERENCING OLD AS o NEW AS n
FOR EACH ROW
MODE DB2SQL
INSERT INTO audit
VALUES (CURRENT TIMESTAMP, 'EMP' || o.empno || 'salary changed
from' ||
CHAR (o.salary) || 'to' || CHAR (n.salary) || 'by' ||
USER)@

13.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

13.3 Penjelasan
Mengimplementasikan TRIGGER AUDIT_EMP_SAL2 yang digunakan untuk melakukan auditing
pada kolom SALARY di table EMPLOYEE. Ketika melakukan perubahan pada kolom tersebut, maka
trigger akan diaktifkan untuk menulis tentang perubahan yang terjadi pada salary ke dalam table lain
yang bernama AUDIT.

14. Langkah 14
14.1 Query
UPDATE EMPLOYEE SET SALARY = 1000.00
WHERE EMPNO = 000010@

Laporan Praktikum Administrasi Basis Data


LABORATORIUM BASIS DATA FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA

14.2 Screenshot

Fairuz Salsabila Rofiq


195150401111011

14.3 Penjelasan
Pernyataan diatas digunakan untuk melakukan update pada kolom salary dari tabel employee.

KESIMPULAN

Di dalam Database Application Developtment terdapat :


- Statement procedure yang mana konsep dari procedure ini sama dengan sebuah fungsi dalam
bahasa pemrograman. Kelebihan dari procedure itu sendiri adalah mempermudah program dari
aplikasi dalam melakukan proses mengambil, merubah atau menghapus data karena procedure
ini dapat disisipkan kedalam program aplikasi. Setelah sebuah procedure dibuat, untuk
memanggil atau menggunakan procedure tersebut dapat dilakukan dengan menggunakan
perintah CALL yang diikuti dengan nama procedure yang ingin dipanggil namun hal ini
bergantung pada procedure yang digunakan. Jika procedure yang dipanggil memiliki parameter
yang harus diisi maka ketika memanggilnya harus menyertakan parameter tersebut.
- UDF (User Defined Function) merupakan sebuah fitur yang diberikan oleh DBMS untuk
membuat sebuah fungsi. Salah satu perbedaan antara UDF dengan procedure adalah dalam
procedure dapat mengembalikan atau memberikan beberapa data atau tidak sama sekali,
sedangkan UDF hanya dapat mengembalikan atau memberikan satu data saja yang mana data
tersebut bersifat mandatory.

Laporan Praktikum Administrasi Basis Data

Anda mungkin juga menyukai