Latihan soal 1 & 2 Serta Jawabannya

Soal 1

Buatlah skrip PL/SQL untuk menampilkan data sebagai berikut :

1. nama pegawai
2. gaji pegawai
3. gaji satu tahun

Input :
Nomor pegawai di input

Ketentuan :

Gunakan bind variabel dan pl/sql variabel



Jawaban :

VARIABLE GABUL NUMBER
DECLARE
NAMAPEG EMPLOYEES.LAST_NAME%TYPE;
NOMOR   EMPLOYEES.EMPLOYEE_ID%TYPE :=&NOMOR;
GAJI    EMPLOYEES.SALARY%TYPE;
BEGIN
SELECT LAST_NAME,SALARY INTO NAMAPEG,GAJI FROM EMPLOYEES
WHERE EMPLOYEE_ID=NOMOR;
:GABUL := GAJI * 12;
DBMS_OUTPUT.PUT_LINE('NAMANYA  : '||NAMAPEG);
DBMS_OUTPUT.PUT_LINE('GAJINYA  : '||GAJI);
END;
/

Hasil Eksekusi :

Enter value for nomor: 200
NAMANYA  : Whalen
GAJINYA  : 4400

PL/SQL procedure successfully completed.




Soal 2

Perusahaan mengambil fee 60% dari nilai kontrak, fee 60% dibagi menjadi beberapa biaya sbb :
1. biaya marketing 10%
2. gaji pegawai       70%
3. biaya lainnya      20%


Buatlah skrip PL/SQL untuk menampilkan data sebagai berikut :

a. biaya marketing 10%
b. gaji pegawai       70%
c. biaya lainnya      20%

Input :
Besar Projek :

Ketentuan :

Gunakan bind variabel dan pl/sql variabel

Jawaban

VARIABLE BPRO NUMBER
DECLARE
BESAR_PROJEK NUMBER(20):= &BESAR_PROJEK;
BFEE         NUMBER(20);
B_MARKETING  NUMBER(10);
B_PEGAWAI    NUMBER(10);
B_BIAYA      NUMBER(10);
BEGIN
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE('BESAR PENAWARAN PROJEK     : '||TO_CHAR(BESAR_PROJEK,'999,999,999'));
BFEE         := BESAR_PROJEK * 0.60;
B_MARKETING  := BFEE * 0.10;
B_PEGAWAI    := BFEE * 0.60;
B_BIAYA      := BFEE * 0.30;
DBMS_OUTPUT.PUT_LINE('BESAR FEE       PROYEK     : '||TO_CHAR(BFEE,'999,999,999'));
DBMS_OUTPUT.PUT_LINE('BESAR BIAYA MARKETING      : '||TO_CHAR(B_MARKETING,'999,999,999'));
DBMS_OUTPUT.PUT_LINE('BESAR BIAYA PEGAWAI        : '||TO_CHAR(B_PEGAWAI,'999,999,999'));
DBMS_OUTPUT.PUT_LINE('BESAR BIAYA-BIAYA          : '||TO_CHAR(B_BIAYA,'999,999,999'));
:BPRO := B_MARKETING + B_PEGAWAI  + B_BIAYA;
DBMS_OUTPUT.PUT_LINE('REKAPITULASI    BIAYA      : '||TO_CHAR(:BPRO,'999,999,999'));
END;
/
Hasil Eksekusi :

Enter value for besar_projek: 100000000
BESAR PENAWARAN PROJEK     :  100,000,000
BESAR FEE PROYEK           :   60,000,000
BESAR BIAYA MARKETING      :    6,000,000
BESAR BIAYA PEGAWAI        :   36,000,000
BESAR BIAYA-BIAYA          :   18,000,000
REKAPITULASI BIAYA         :   60,000,000


PL/SQL procedure successfully completed.


Tidak ada komentar: