Lapres 4 (Hakim)

Embed Size (px)

Citation preview

  • 7/25/2019 Lapres 4 (Hakim)

    1/12

    Kamis, 10.00 12.00

    PRAKTIKUM BASIS DATA LANJUT

    LAPORAN RESMI

    MODUL 4 TRIGGER

    SESI/NO.MEJA : A3 / 03

    NAMA PRAKTIKAN :

    M.TAUFIQ AL HAKIM ( 1434010021 )

    ASISTEN:

    ADHITYA DWI PRASTY! ( 123401001" )

    LAILLY SYIFAUL Q!L#Y ( 123401012$ )

    LABORATORIUM DESAIN DAN BASIS DATA

    PROGRAM STUDI TEKNIK INFORMATIKA

    FAKULTAS TEKNOLOGI INDUSTRI

    UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN JAWA TIMUR

    20!

  • 7/25/2019 Lapres 4 (Hakim)

    2/12

    SOAL PRAKTIKUM

    1. #%a&'a &i**+ is+&, %-a&+ a +'+&+ -aa &a/+' i %s+ HR. #+ia

    &iiasi ia &i**+ /+asi' i/%a& (misa' a&a /+asi' i is+&, a&a

    /+asi' i %-a&+ a 'ai s+/a*ai5a..)2. #%a&'a &i**+ %&% m+m/a&asi -+asi is+& a&a% %-a&+ -aa &a/+'

    +m-'5++s 5a* a5a i-+/'+a %&% -+*a6ai 5a* m+mi'ii +

    -++aa 7AD8PRS9 a 7AD8:P9 s+&a m+mi'ii *ai %a* ai 1;.0003. La%a is+& -aa &a/+' +m-'5++s.

  • 7/25/2019 Lapres 4 (Hakim)

    3/12

    ANALISA MASALA"

    1. A-a 5a* imas% &i**+ ?2. #a*aimaa as%msi@-++'asa &+&a* &i*+ a'am sa' 5a* i/+ia ?

  • 7/25/2019 Lapres 4 (Hakim)

    4/12

    "ASIL PRAKTIKUM

    am/a 1.1. Q%+5 %&% sa' m 1 (1)

    am/a 1.2. Q%+5 %&% sa' m 1 (2)

    am/a 1.3. Q%+5 %&% sa' m 1 (3)

  • 7/25/2019 Lapres 4 (Hakim)

    5/12

    am/a 1.4. Q%+5 %&% sa' m 1 (4)

    am/a 1.;. Q%+5 %&% sa' m 2 (1)

    am/a 1.$. Q%+5 %&% sa' m 2 (2)

    am/a 1.B. Q%+5 %&% sa' m 2 (3)

  • 7/25/2019 Lapres 4 (Hakim)

    6/12

    am/a 1.C. Q%+5 %&% sa' m 3 (1)

    am/a 1.". Q%+5 %&% sa' m 3 (2)

  • 7/25/2019 Lapres 4 (Hakim)

    7/12

    create or replace trigger data_output

    after insert or update or delete on employees

    for each row

    begin

    if inserting then

    dbms_output.put_line('data insert succes');

    elsif updating then

    dbms_output.put_line('data update succes');

    elsif deleting then

    dbms_output.put_line('data delete succes');

    end if;

    end;

    select * from employees

    insert into employees(employee_id, last_name, email, hire_date, job_id)

    values ('!','ha"im','mipin#$gmail.com','%&&%','+_-/');

    update employees

    set first_name 0 'm.tafi" al'

    where employee_id 0 !

    delete employees

    where employee_id 0 !

    drop trigger data_output

    000000000000000000000000000000000000000000000000000000000000000000000000000

    create or replace trigger data_employee

    before insert or update of salary on employees

    for each row

    begin

    if not(1new.job_id in ('23_-','23_4'))

  • 7/25/2019 Lapres 4 (Hakim)

    8/12

    and 1new.salary 5 !6777 then

    raise_application_error (&7!8,' data tida" mencapai target 999 ');

    end if;

    end;

    insert into employees(employee_id, last_name, email, hire_date, job_id,

    salary)

    values ('!','ha"im','mipin#$gmail.com','%&&!%%','+_-/','!77777');

    update employees

    set salary 0 877777

    where employee_id 0 !

    delete employees

    where employee_id 0 !

    drop trigger data_employee

    000000000000000000000000000000000000000000000000000000000000000000000000000

    create or replace trigger data_hari_dan_jam

    before insert on employees

    begin

    if (to_char(sysdate,'dy') in ('sat','sun')) or

    (to_char(sysdate, 'hh:') not between '7%177' and '!177') then

    raise_application_error (&7#!,'data gagal dimasu""an "arena melewati

    batas hari dan jam');

    end if;

    end;

    insert into employees(employee_id, last_name, email, hire_date, job_id)

    values ('!','ha"im','mipin#$gmail.com','%&&%','+_-/');

    drop trigger data_hari_dan_jam

    am/a 1.10. Q%+5 %&% s+m%a sa'

  • 7/25/2019 Lapres 4 (Hakim)

    9/12

  • 7/25/2019 Lapres 4 (Hakim)

    10/12

    PEMBA"ASAN

    P++'asa *am/a 1.1, -++'asa ai &i**+ ii ia'a +&ia s+&+'a s+'+sai

    m+'a%a is+&, %-a&+ a +'+&+ a&a -aa &a/+' employees, maa aa

    m+am-i'a &iiasi, a %&% m+am-i'a &iiasi 5a* /+/+a maa

    i/%a&'a -+>a/a*a. Ya* m+ai %>i5a ia'a s5&a

    dbms_output.put_line(kalimat output). Eai +&ia s%a m+'a%a is+&, %-a&+

    a +'+&+ a&a, maa aa m+>+&a a'ima& %&-%&.

    P++'asa *am/a 1.2, -aa *am/a ii ia'a i'a%a is+& a&a,

    +m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data insert succes.

    P++'asa *am/a 1.3, -aa *am/a ii ia'a i'a%a %-a&+ a&a,+m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data update succes.

    P++'asa *am/a 1.4, -aa *am/a ii ia'a i'a%a +'+&+ a&a,

    +m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data delete succes.

    P++'asa *am/a 1.;, -++'asa ai &i**+ ii ia'a s+/+'%m i&a

    m+'a%a is+& a&a% %-a&+ -aa 'm salary 5a* &+a-a& i &a/+' employees,

    maa aa i'a%a -+*+>+a +*a s5aa& not(:new.job_id in

    ('AD_P!"'#'AD_$P')) a&i5a /8i &ia sama +*a AD_P!" a&a% AD_$P

    a :new.salary % & a&i5a salary'+/i ai 1;000. Eia a&a >> +*a

    s5aa& &+s+%& maa aa 'a%& + s5&a raise_application_error (**&+#' data

    tidak mencapai tar,et --- ') a&i5a aa m+am-i'a + +*a + A

    **&+ : data tidak mencapai tar,et.

    P++'asa *am/a 1.$, -aa *am/a &+s+/%& i'a%a a&a is+& +*a

    job_id / 01_P2a salary / &. Eia i'a%a -+*+>+a, a&a &+s+/%&

    >> +*a s5aa&, maa &ma&is aa m+am-i'a A**&+ : data tidak

    mencapai tar,et5a* s%a i+'asa -aa *am/a 1.;.

    P++'asa *am/a 1.B, -aa *am/a &+s+/%& i'a%a a&a %-a&+ +*a

    i'ai salary / +. Eia i'a%a -+*+>+a a&a &+s+/%& >> +*a

    s5aa&, maa &ma&is aa m+am-i'a A**&+ : data tidak mencapai tar,et

    5a* s%a i+'asa -aa *am/a 1.$.

  • 7/25/2019 Lapres 4 (Hakim)

    11/12

    P++'asa *am/a 1.C, -++'asa ai &i**+ ii ia'a s+/+'%m i&a

    m+'a%a is+& -aa &a/+' +m-'5++s, maa aa i'a%a -+*+>+a +*a

    s5aa& (to_c3ar(sysdate#'dy') in ('sat'#'sun')) or (to_c3ar(sysdate# '33*4') not between

    '5:' and '&6:'). Paa s5&a (to_c3ar(sysdate#'dy') in ('sat'#'sun')) a&i5a

    m++&%a ai -aa masi*=masi* -> %s+, ai ai &+s+/%& ia'a sa/&% a

    mi**%. K+m%ia -aa s5&a (to_c3ar(sysdate# '33*4') not between '5:' and

    '&6:')a&i5a m++&%a am -aa masi*=masi* -> %s+, maa s5aa&5a ia'a

    &ia -aa ia&aa am 0"00 sam-ai 1$00. K+m%ia ia a&a >> +*a

    s5aa& &+s+/%& maa 'a%& + s5&a raise_application_error (*78'data ,a,al

    dimasukkan karena melewati batas 3ari dan jam')a&i5a aa m+am-i'a +

    +*a + A*78& : data ,a,al dimasukkan karena melewati batas 3ari dan

    jam'.

    P++'asa *am/a 1.", -aa *am/a &+s+/%& i'a%a a&a is+& &+&a-i

    a&a is+& &+s+/%& i'a%a -aa ai s+'asa, +m%ia -aa am 131;0. Eai

    ia i'a%a -+*+>+a maa a&a &+s+/%& >> +*a s5aa&, maa &ma&is

    aa m+am-i'a A*78& : data ,a,al dimasukkan karena melewati batas

    3ari dan jam'5a* i+'asa -aa *am/a 1.B

    P++'asa *am/a 1.10, i&% s+m%a aa'a s+m%a s5&a ai s+m%a sa'

    5a* i/+ia.

  • 7/25/2019 Lapres 4 (Hakim)

    12/12

    KESIMPULAN

    Ti**+ m+%-aa M+%-aa /' PL@SQL 5a* m+mi'ii %*si am-i

    sama +*a ->+%+ ma%-% %>&i , a5a saa, ia ->+%+ a&a%

    %>&i ia'aa s+>aa +s-'isi& '+6a& -+ma**i'a ->+%+ a&a% %>&i

    &+s+/%&, s+a*a %&% &i**+, ia'aa s+>aa im-'isi& m+'a'%i -+i&a

    is+&, +'+&+ a&a% %-a&+.

    Km-+ &i**+ ia&aa5a

    #a*ia Ti**+ K+&+a*a %.

    I&i

    #a&asa 5a*

    m+*iia

    -+*+s+%sia

    &i**+.

    W+ (/'+a

    a'%+)

    Ti**+ &5-+

    #+a-a a'i /5

    &i**+

    i+s+%si.

    R6='++'

    STATM