LAPORAN AKHIR MATA KULIAH TEKNOLOGI BASIS DATA
Disusun oleh : I Gusti Putu Urip Yo!nt!r! Yo!nt!r! "#$%&
'(
PROGRAM STUDI TEKNOLOGI IN)ORMASI )AKULTAS TEKNIK UNI*ERSITAS UDAYANA BALI +%#,
KATA PENGANTAR
KATA PENGANTAR
DA)TAR ISI
BAB I PENDAHULUAN
1.1
Latar Belakang
1.2
Rumusan Masalah
A-!pun ru.us!n .!s!l!h -!ri l!por!n te/noloi 0!sis -!t! 0er-!s!r/!n l!t!r 0el!/!n 1!itu se0!!i 0eri/ut2 #2 B!!i.!n! proses per!n3!n!n 0!sis -!t! 4 +2 B!!i.!n! pener!p!n trigger 5 stored prodesure5 -!n cursor -!l!. 0!sis -!t! 1!n tel!h -ir!n3!n4 '2 B!!i.!n! proses repli/!si database4 1.3
Tujuan A-!pun tu6u!n -!ri l!por!n te/noloi 0!sis -!t! 0er-!s!r/!n ru.us!n
.!s!l!h 1!itu se0!!i 0eri/ut2 #2 Untu/ .enet!hui 3!r! .er!n3!n 0!sis -!t!2 +2 Untu/ .ener!p/!n trigger 5 stored prodesure5 -!n cursor -!l!. 0!sis -!t! 1!n tel!h -ir!n3!n2 '2 Untu/ .enet!hui proses repli/!si database2 1.
Batasan Masalah
B!t!s!n .!s!l!h pen1usun!n l!por!n te/noloi 0!sis -!t! ini 1!itu -i7o/us/!n -!l!. lin/up pe.0u!t!n database pen6u!l!n p!tun2
BAB II LANDA!AN TE"RI
2.1
Bas#s Data
2.2 2.2.1
!t$re% Pr$&e%ure' Tr#gger' (urs$r !t$re% Pr$se%ure Store- Pro3e-ure .erup!/!n 7itur ut!.! 1!n p!lin pentin -i M1S8L $2
)un3tion -!n Store- Pro3e-ure .erup!/!n su!tu /u.pul!n perint!h !t!u st!te.ent 1!n -isi.p!n -!n -ie/se/usi -i ser9er -!t!0!se M1S8L2 Den!n SP "Store- Pro3e-ure(5 /it! -!p!t .en1usun pror!. se-erh!n! 0er0!sis sint!/s S8L untu/ .en6!l!n/!n 7unsi tertentu2 H!l ini .en6!-i/!n !pli/!si 1!n /it! 0u!t le0ih e7e/ti7 -!n e7isien2 Store- pro3e-ure .e.ili/i 0e0er!p! /euntun!n2 Keuntun!n -!ri store prose-ure- !nt!r! l!in se0!!i 0eri/ut2 #2 Le0ih ep!t2 H!l ini /!ren! /u.pul!n perint!h ;uer1 -i6!l!n/!n l!nsun -i ser9er2 Ber0e-! -en!n 6i/! -i6!l!n/!n se3!r! se/uensi!l -i B!h!s! pe.ror!.!n5 !/!n le0ih l!.0!t /!ren! h!rus <0ol!/=0!li/> !nt!r! 3lient -!n ser9er2 +2 Menhil!n/!n Dupli/!si Proses5 Pe.elih!r!!n 1!n Mu-!h P!-! -!s!rn1! oper!si 1!n ter6!-i -i su!tu !pli/!si terh!-!p -!t!0!se !-!l!h s!.!2 Se3!r! u.u.5 -i -!l!. !pli/!si 0i!s!n1! ter-!p!t oper!si untu/ 9!li-!si -!t! input!n5 .en!.0!h/!n re3or- 0!ru5 .enu0!h re3or-5 .enh!pus re3or- -!n se0!!in1!2 Den!n SP5 .un/in /it! -!p!t .enhin-!ri !-!n1! -upli/!si proses 1!n /ur!n le0ih s!.!5 sehin! pe.elih!r!!nn1! 6u! 6!-i le0ih .u-!h2 '2 Menin/!t/!n Ke!.!n!n D!t!0!se Den!n !-!n1! SP5 -!t!0!se !/!n le0ih !.!n /!ren! !pli/!si 1!n .e.!nil SP ti-!/ perlu .enet!hui isi -i -!l!.n1!2 Se0!!i 3ontoh5 -!l!. proses .en!.0!h/!n -!t! "insert(5 /it! .e.0u!t su!tu SP /husus2 Den!n -e.i/i!n5 s!!t 3lient !t!u !pli/!si !/!n .en!.0!h/!n -!t! "insert( .!/! ti-!/ perlu t!hu n!.! t!0eln1!5 /!ren! h!n1! 3u/up .e.!nil SP terse0ut -en!n .eniri./!n p!r!.eter 1!n -iinin/!n2 2.2.1.1 *!ri!0el p!-! Store Prose-ure
*!ri!0el -iun!/!n untu/ .en1i.p!n su!tu nil!i se3!r! te.porer "se.ent!r!( -i .e.or12 *!ri!0el !/!n hil!n s!!t su-!h ti-!/ -iun!/!n l!i2 *!ri!0el -!l!. M1S8L se0elu. -!p!t -iun!/!n5 pert!.! /!li h!rus -i-e/l!r!si/!n terle0ih -!hulu2 Bentu/ u.u. pen-e/l!r!si!n su!tu 9!ri!0el -i M1S8L -!p!t -ilih!t p!-! Ko-e Pror!. '2#2 DECLARE variable_name DATATYPE [DEFAULT value]; )$%e Pr$gram '2# De3l!re *!ri!0el
Ko-e Pror!. '2# .erup!/!n 3!r! untu/ .en-e/l!r!si/!n se0u!h 9!ri!0le2 I.ple.ent!si sint!/ terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2+2 DECLARE jumlah INT; DECLARE k!e "ARC#AR$%&; DECLARE '(l_lahir DATE DEFAULT )*+,-.*/.-/0; )$%e Pr$gram 3.2 ontoh De/l!r!si *!ri!0el
Su!tu 9!ri!0le 1!n tel!h -i-e/l!r!si/!n -!p!t -iisi -en!n su!tu nil!i sesu!i -en!n tipe -!t! 1!n -i-e7inisi/!n s!!t pen-e/l!r!si!n2 Untu/ .enisi/!n nil!i /e -!l!. su!tu 9!ri!0el5 -iun!/!n perint!h SET2 )or.!t u.u. sint!/ SET -!p!t -ilih!t p!-! Ko-e Pror!. '2'2 1ET variable_name 2 e34re55in6value; )$%e Pr$gram 3.3 Set Nil!i *!ri!0el2
Ko-e Pror!. '2' .erup!/!n 3!r! untu/ .enisi nil!i -!ri se0u!h 9!ri!0le2 I.ple.ent!si sint!/ terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2&2 1ET jumlah 2 */; 1ET k!e 2 $1ELECT i!_4elan((an FR78 4elan((an LI8IT *&; 1ET '(l_lahir 2 n9$&; )$%e Pr$gram 3. I.ple.ent!si Set Nil!i *!ri!0el
Ko-e Pror!. '2& .erup!/!n 3ontoh -!l!. set nil!i su!tu 9!ri!0le2 Set nil!i 9!ri!0le -!p!t -il!/u/!n se3!r! l!nsun !t!upun .el!/u/!n perint!h select 2 Nil!i 1!n -i= set p!-! su!tu 9!ri!0le h!rus .e.ili/i tipe -!t! 1!n s!.! sesu!i -en!n tipe -!t! 9!ri!0le terse0ut s!!t -i-e/l!r!si/!n2
2.2.1.2 P!r!.eter p!-! Store Prose-ure Store Prose-ure- 0is! .e.ili/i s!tu p!r!.eter5 0!n1!/ p!r!.eter5 !t!upun
t!np! p!r!.eter2 P!r!.eter 0er7unsi !!r su!tu prose-ur -!p!t 0er/o.uni/!si -en!n lin/un!n lu!r2 P!r!.eter !-!l!h 9!ri!0le p!-! store pro3e-ure 1!n
-!p!t -ile?!ti oleh su!tu nil!i 0!li/ /e-!l!. .!upun /eu!r s!!t pro3e-ure itu -ip!nil2 Ter-!p!t ti! 6enis p!r!.eter p!-! store pro3e-ure 1!itu IN5 OUT5 -!n INOUT2 P!r!.eter IN -iun!/!n untu/ .en!n-!i 0!h?! p!r!.eter -iun!/!n se0!!i input2 P!r!.eter 1!n ti-!/ -i!?!li !tri0ut !p!pun !/!n se3!r! default -i!n!p se0!!i p!r!.eter IN2 P!r!.eter 0er!tri0ut IN .en1e0!0/!n se!l! .o-i7i/!si p!r!.eter 1!n -i0u!t p!-! store pro3e-ure ti-!/ -!p!t -i!/ses -!ri pror!. pe.!niln1!2 P!r!.eter OUT -iun!/!n untu/ .en!n-!i 0!h?! p!r!.eter -iun!/!n se0!!i output2 Nil!i p!re.ter OUT 1!n -i.o-i7i/!si -!l!. store pro3e-ure -!p!t
-i!/ses
p!-!
pror!.
pe.!niln1!2
Pror!.
pe.!nil
h!rus
.en1e-i!/!n 9!ri!0le untu/ .eneri.! /elu!r!n -!ri p!r!.eter OUT5 tet!pi store pro3e-ure itu sen-iri ti-!/ .e.ili/i h!/ untu/ .e.0eri/!n nil!i inisi!lis!si /e 9!ri!0le2 P!r!.eter INOUT -iun!/!n untu/ .en!n-!i 0!h?! p!r!.eter -iun!/!n se0!!i input se/!lius output2 P!r!.eter INOUT 0ertin-!/ se/!lius se0!!i p!r!.eter IN -!n p!r!.eter OUT2 Pro!. pe.!nil 0oleh .en1e-i!/!n nil!i5 store pro3e-ure itu sen-iri 0oleh .e.o-i7i/!si nil!i p!r!.eter5 -!n pror!. pe.!nil 0is! .en!/ses nil!i setel!h p!r!.erter terse0ut .en!l!.i peru0!h!n nil!i setel!h store pro3e-ure -ip!nil2
2.2.1.3 Pen1ele/si!n Kon-isi )!silit!s pen1ele/si!n /on-isi .e.0u!t user -!p!t .en!tur !lur proses
1!n ter6!-i -!l!. -!t!0!se /it!2 Di M1S8L5 pen1ele/si!n /on-isi ter-iri -!ri I) -!n ASE2 Beri/ut ini 0entu/ u.u. /eti! perint!h terse0ut2 #2 I) Stru/tur st!te.en pen1ele/si!n /on-isi I) 1!itu -!p!t -ilih!t p!-! Ko-e Pror!. '2$2 IF kn!i5i T#EN 5'a'emen'; EL1EIF kn!i5i T#EN 5'a'emen'; EL1E 5'a'emen'; END IF; )$%e Pr$gram 3.* Stru/tur St!te.ent I)
Ko-e Pror!. '2$ .erup!/!n stru/tur -!ri st!te.ent I)2 I.ple.ent!si st!te.ent terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2,2 DELI8ITER:: CREATE PR7CEDURE Di5kn$IN 4embaaran INT<7UT !i5kn INTE=ER& >E=IN IF $4embaaran ? */////& T#EN 1ET !i5kn24embaaran @ /,; EL1EIF $4embaaran ? %/////& T#EN 1ET !i5kn24embaaran @ /B; EL1E 1ET !i5kn24embaaran; END IF; END::; DELI8ITER; )$%e Pr$gram 3.+ I.ple.ent!si St!te.ent I)
Ko-e Pror!. '2, .erup!/!n i.ple.t!si st!te.ent I)2 Stored procedure terse0ut !/!n .enhitun -is/on -!ri pe.0!1!r!n 1!n -il!/u/!n2 Pe.0!1!r!n 1!n le0ih -!ri #%%%%% !/!n .en-!p!t/!n -is/on 1!itu pe.0!1!r!n@%22 Pe.0!1!r!n 1!n
le0ih
-!ri
$%%%%% !/!n .en-!p!t/!n -is/on
1!itu
pe.0!1!r!n@%22
+2
ASE Stru/tur st!te.en pen1ele/si!n /on-isi ASE 1!itu -!p!t -ilih!t p!-!
Ko-e Pror!. '22 ASE 3!seC9!lue HEN 9!lue/on-isi THEN st!te.entF HEN 9!lue/on-isi THEN st!te.entF ELSE st!te.entF END ASEF )$%e Pr$gram 3., Stru/tur St!te.ent ASE
Ko-e Pror!. '2 .erup!/!n stru/tur -!ri st!te.ent I)2 I.ple.ent!si st!te.ent terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '22 DELI8ITER:: CREATE PR7CEDURE Di5kn$IN 4embaaran INT<7UT !i5kn INTE=ER& >E=IN CA1E 4embaaran #EN $4embaaran ? */////& T#EN 1ET !i5kn24embaaran @ /,; #EN $4embaaran ? %/////& T#EN 1ET !i5kn24embaaran @ /B; EL1E 1ET !i5kn24embaaran;
END CA1E; END::; DELI8ITER; )$%e Pr$gram 3.- I.ple.ent!si St!te.ent ASE
Ko-e Pror!. '2, .erup!/!n i.ple.t!si st!te.ent ASE2 Stored procedure terse0ut !/!n .enhitun -is/on -!ri pe.0!1!r!n 1!n -il!/u/!n2 Pe.0!1!r!n 1!n
le0ih
-!ri
#%%%%% !/!n .en-!p!t/!n -is/on
1!itu
pe.0!1!r!n@%22 Pe.0!1!r!n 1!n le0ih -!ri $%%%%% !/!n .en-!p!t/!n -is/on 1!itu pe.0!1!r!n@%22
+2+2#2& Perul!n!n M1S8L 6u! .en-u/un !-!n1! perul!n!n -!l!. ;uer1n1!2 Perul!n!n 0i!s!n1! -iun!/!n untu/ .enul!n proses !t!u perint!h 1!n s!.!2 Den!n perul!n!n5 perint!h !/!n le0ih e7isien -!n sin/!t2 Ter-!p!t 0e0er!p! 6enis perul!n!n 1!itu HILE5 REPEAT5 LOOP2 #2 HILE HILE !/!n terus .el!/u/!n perul!n!n sel!.! /on-isi .!sih TRUE2 Perul!n!n h!n1! !/!n 0erhenti 6i/! /on-isi su-!h )ALSE2 Stru/tur -!ri perul!n!n HILE -!p!t -ilih!t p!-! Ko-e Pror!. '22 #ILE kn!i5i D7 4erin'ah.4erin'ah END #ILE )$%e Pr$gram 3. Stru/tur Perul!n!n HILE
Ko-e Pror!. '2 .erup!/!n stru/tur -!ri perul!n!n HILE2 I.ple.ent!si perul!n!n terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2#%2 DELI8ITER:: CREATE PR7CEDURE umlahDere'$IN jumlah in'< 7UT #a5il In'& >E=IN DECLARE 'r in' DEFAULT /; 1ET #a5il2/; #ILE 'r2jumlah D7 1ET #a5il2#a5ilG'r; 1ET 'r2'rG*; END #ILE; END::; DELI8ETER; )$%e Pr$gram 3.1/ I.ple.ent!si Perul!n!n HILE
Ko-e Pror!. '2#% .erup!/!n i.ple.ent!si perul!n!n HILE2 Stored procedure 1!n -i0u!t !-!l!h perhitun!n h!sil2 H!sil !/!n terus 0ert!.0!h sesu!i 6u.l!h 1!n -i=input !/i0!t perul!n!n HILE2
+2
REPEAT REPEAT !/!n terus .el!/u/!n perul!n!n sel!.! /on-isi .!sih TRUE2
Perul!n!n h!n1! !/!n 0erhenti 6i/! /on-isi su-!h )ALSE2 Stru/tur -!ri perul!n!n REPEAT -!p!t -ilih!t p!-! Ko-e Pror!. '2##2 REPEAT 4erin'ah.4erin'ah UNTIL kn!i5i_l4 END REPEAT )$%e Pr$gram 3.11 Stru/tur Perul!n!n REPEAT
Ko-e Pror!. '2## .erup!/!n stru/tur -!ri perul!n!n REPEAT2 I.ple.ent!si perul!n!n terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2#+2 DELI8ITER:: CREATE PR7CEDURE umlahDere'-$IN jumlah in'< 7UT #a5il In'& >E=IN DECLARE 'r in' DEFAULT /; 1ET #a5il2/; REPEAT 1ET #a5il2#a5ilG'r; 1ET 'r2'rG*; UNTIL 'r?jumlah END REPEAT; END::; DELI8ETER; )$%e Pr$gram 3.12 I.ple.ent!si Perul!n!n REPEAT
Ko-e Pror!. '2#+ .erup!/!n i.ple.ent!si perul!n!n REPEAT2 Stored procedure 1!n -i0u!t !-!l!h perhitun!n h!sil2 H!sil !/!n terus 0ert!.0!h sesu!i 6u.l!h 1!n -i=input !/i0!t perul!n!n REPEAT2
'2
LOOP LOOP .erup!/!n 0entu/ perul!n!n2 Kon-isi perul!n!n 0i!s!n1!
-il!/u/!n -en!n .e.0u!t se0u!h pern1!t!!n I) -!n -i!0un -en!n LEA*E untu/ /elu!r -!ri LOOP5 !t!u ITERATE untu/ .el!/u/!n perul!n!n l!i2 Stru/tur -!ri perul!n!n LOOP -!p!t -ilih!t p!-! Ko-e Pror!. '2#'2 [nama_labelH] L77P [IF kn!i5i T#EN LEA"EJITERATEK namal_label] 4erin'ah.4erin'ah
[IF kn!i5i T#EN LEA"EJITERATEK namal_label] END L77P [nama_label] )$%e Pr$gram 3.13 Stru/tur Perul!n!n LOOP
Ko-e Pror!. '2#' .erup!/!n stru/tur -!ri perul!n!n REPEAT2 I.ple.ent!si perul!n!n terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2#&2 DELI8ITER:: CREATE PR7CEDURE umlahDere'$N in'< 7UT #a5il In'& >E=IN DECLARE 'r in' DEFAULT /; 1ET #a5il2/; AALH L77P 1ET #a5il2#a5ilG'r; 1ET 'r2'rG*; IF 'r?N T#EN LEA"E AAL; END IF; END L77P AAL; END::; DELI8ETER; )$%e Pr$gram 3.1 I.ple.ent!si Perul!n!n LOOP
Ko-e Pror!. '2#& .erup!/!n i.ple.ent!si perul!n!n LOOP2 Stored procedure 1!n -i0u!t !-!l!h perhitun!n h!sil2 H!sil !/!n terus 0ert!.0!h sesu!i 6u.l!h 1!n -i=input !/i0!t perul!n!n LOOP2
2.2.2
Tr#gger Trier -iun!/!n untu/ .e.!nil s!tu !t!u 0e0er!p! perint!h S8L
se3!r! oto.!tis se0elu. !t!u sesu-!h ter6!-i proses INSERT5 UPDATE !t!u DELETE -!ri su!tu t!0el2 Triers .ul!i -i/en!l -i 9ersi M1S8L $2%5 -!n -i 9ersi s!!t ini "$2%2&( 7unsion!lit!sn1! su-!h 0ert!.0!h2 *ersi sel!n6utn1! "$2#( pih!/ pene.0!n M1S8L 0er6!n6i !/!n le0ih .enu!t/!n ".en!.0!h( 7itur trier ini2 Bentu/ u.u. -!ri se0u!h trier -!p!t -ilih!t p!-! Ko-e Pror!. '2#$2 DELI8ETER :: CREATE TRI==ER name [>EF7RE6AFTER] [IN1ERT6UPDATE6DELETE] 7N 'ablename F7R EAC# R7 5'a'emen' END; :: DELI8ETER;
)$%e Pr$gram 3.1* Bentu/ U.u. Trier
Ko-e Pror!. '2#$ .erup!/!n 0entu/ u.u. -!ri trier2 BE)ORE A)TER -iun!/!n untu/ .enentu/!n /!p!n proses se3!r! oto.!tis !/!n -ie/se/usi5 se0elu. !t!u sesu-!h proses2 INSERT UPDATE DELETE -iun!/!n untu/ .enentu/!n e9ent 1!n -i6!-i/!n trier untu/ .en6!l!n/!n perint!h=perint!h -i -!l!. triers2 St!te.ent !t!u perint!h -!l!. trier -!p!t 0erup! s!tu perint!h s!6!5 -!n -!p!t 6u! 0e0er!p! perint!h se/!lius2 i/! ter-!p!t 0e0er!p! perint!h -!l!. trier5 .!/! un!/!n perint!h BEGIN -!n END untu/ .en!?!li -!n .en!/hiri perint!h2 Di -!l!. st!te.ent trier5 /it! -!p!t .en!/ses re3or- t!0el se0elu. !t!u sesu-!h proses -en!n .enun!/!n NE -!n OLD2 NE -iun!/!n untu/ .en!.0il re3or- 1!n !/!n -iproses "insert !t!u up-!te(5 se-!n/!n OLD -iun!/!n untu/ .en!/ses re3or- 1!n su-!h -iproses "up-!te !t!u -elete(2 I.ple.ent!si pe.0u!t!n trier -!p!t -ilih!t p!-! Ko-e Pror!. '2#,2 DELI8ETER :: CREATE TRI==ER kuran(1'k AFTER IN1ERT 7N !e'ail_4enjualan F7R EAC# R7 UPDATE baran( 1ET 5'k25'k.ne9jumlah #ERE i!_baran(2ne9i!_baran(; END; :: DELI8ETER; )$%e Pr$gram 3.1+ I.ple.ent!si Trier
Ko-e Pror!. #2, .erup!/!n 3ontoh -!ri trier2 Trier 1!n -i0u!t 0er7unsi untu/ .enur!ni sto/ 0!r!n2 Sto/ 0!r!n !/!n 0er/ur!n setel!h t!0el -et!ilCpen6u!l!n -i=insert se0u!h record -!t!2 Sto/ 0!r!n !/!n 0er/ur!n sesu!i -en!n !tri0ut 6u.l!h 1!n -i=insert p!-! t!0el -et!ilCpen6u!l!n2
2.2.3
(urs$r ursor .erup!/!n se0u!h stored procedure 1!n .el!/u/!n looping
hin! -!t! ter!/hir -!ri su!tu t!0el 1!n -i= select 2 Stru/tur cursor p!-! u.u.n1! -!p!t -lih!t p!-! Ko-e Pror!. '2#2 DELI8ITER ::
CREATE PR7CEDURE Mnama_4r5e!ureM$4arame'er*<& >E=IN DECLARE a'ribu'* TIPE_DATA; DECLARE a'ribu'- TIPE_DATA; DECLARE !ne INT DEFAULT /; DECLARE nama_ur5r CUR17R F7R 1ELECT iel!*< iel!-< FR78 nama_'abel; DECLARE C7NTINUE #ANDLER F7R 1OL1TATE /-/// 1ET !ne2*; 7PEN nama_ur5r; #ILE N7T !ne D7 FETC# nama_ur5r INT7 a'ribu'*
Ko-e Pror!. '2# .erup!/!n stru/tur -!ri cursor 2 Pert!.! create se0u!h pro3e-ure 0esert! p!r!.etern1!2 DELARE !tri0ut 1!n -iperlu/!n untu/ .en!.pun nil!i 7iel- -!ri t!0le 1!n -i= select 2 DELARE 9!ri!0le -one 0er7unsi se0!!i 3ounter -!ri loop -i.!n! 6i/! -one 0ernil!i #5 .!/! loop !/!n 0er!/hir2 URSOR )OR SELET 0er7unsi untu/ .en= select 7iel- -!ri se0u!h t!0le2 DELARE ONTINUE HANDLER )OR S8LSTATE J%+%%%J SET -one# 0er7unsi untu/ .el!/u/!n select hin! -!t! ter!/hir -!ri se0u!h t!0le5 6i/! tel!h .en3!p!i -!t! ter!/hir .!/! 9!ri!0le -one !/!n 0ernil!i #2 )ETH n!.!C3ursor INTO !tri0ut#5 !tri0ut+ 0er7unsi untu/ .en!lo/!si/!n nil!i -!ri 7iel-#5 -!n 7iel-+ 1!n tel!h -i= select p!-! !tri0ut# -!n !tri0ut + 1!n n!ntin1! !/!n -iperun!/!n p!-! st!te.ent2
2.3
Re0l#kas# Repli/!si M1s;l
!-!l!h su!tu
te/ni/ -i -!t!0!se
M1s;l
1!n
.e.un/in/!n su!tu -!t!0!se -!ri s!tu ser9er "M!ster( -!p!t -i s!lin /e -!t!0!se -i ser9er l!in "Sl!9e( se3!r! oto.!tis5 Sehin! p!-! s!!t ser9er .!ster .en!l!.i pen!.0!h!nperu0!h!npenh!pus!n .eni/utin1!2
-!t!
.!/!
ser9er
l!inn1!
"Sl!9e(
Repli/!si 0is! -i/!t!/!n se0u!h te/ni/ 0!3/up n!.un te/ni/ ini t!/ seperti 0!3/up p!-! u.u.n1! /!ren! proses 1!n -ise0ut 0!3/up 0i!s!n1! -il!/u/!n -!l!. ?!/tu tertentu -!n 6u! 0i!s!n1! .e.!/!n ?!/tu 1!n lu.!1!n l!.! ter!ntun se0er!p! 0es!r u/ur!n -!t!0!se2 Ber0e-! h!ln1! -en!n repli/!si s!!t Proses repli/!si !t!u repli3!tion5 proses 0er6!l!n se3!r! re!lti.e -!n ti-!/ !/!n .en!nu p!-! ser9er "master ( s!!t .1s;l 0eroper!si !t!u -!t!0!se se-!n -iun!/!n2 Itul!h /euni/!n te/ni/ repli/!si !t!u repli3!tion ini5 /onsep /er6!n1! 3u/up uni/ -!n s!n!t e7isien se/!li2 D!l!. repli/!si !-! ser9er 1!n -i 6!-i/!n M!ster -!n Sl!9e2 Ser9er .!ster !-!l!h se0u!h ser9er 1!n !/!n -i 6!-i/!n se0!!i in-u/ut!.! se-!n/!n ser9er sl!9e !-!l!h ser9er 1!n -i 6!-i/!n se0!!i ser9er /opi!n -!ri ser9er .!ster2 Proses repli/!sin1! sen-iri5 ser9er 1!n se0elu.n1! su-!h -i /on7iur!si se0!!i .!ster !/!n seperti 0i!s! 0eroper!si5 s!!t ser9er .!ster itu .eneri.! se0u!h ;uer1 -!ri user3lient sesu-!h ;uer1 itu -i ter!p/!n .en6!-i se0u!h re3or--!t! .!/! se3!r! oto.!tis ;uer1 itu -i terus/!n oleh ser9er .!ster /e ser9er 1!n se0elu.n1! su-!h -i /on7iur!si se0!!i sl!9e .el!lui 6!rin!n5 -!n ter!/hir ;uer1 itupun -i -iter!p/!n -i ser9er sl!9e -!n seperti itu terus5 repli/!si !/!n terus 0er6!l!n .el!/u/!n 0!3/up se.purn! se3!r! re!lti.e !s!l/!n 6!rin!n !nt!r! ser9er .!ster -!n sl!9e ti-!/ tern!nu2 Intin1! seti!p ;uer1 1!n -i6!l!n/!n -i ser9er .!ster !/!n -i6!l!n/!n 6u! p!-! ser9er sl!9e2 +2'2#
)ele#han Dan )ekurangan Re0l#kas#
Repli/!si .e.ili/i /ele0ih!n -!l!. penun!!n1!2 A-!pun /ele0ih!n -!ri repli/!si database 1!itu se0!!i 0eri/ut2 #2 Me.un/in/!n 0e0er!p! Ser9er p!-! lo/!si 0er0e-! .en1i.p!n -!t! 1!n s!.!2 +2 Men6!.in se0u!h 0!3/up se.purn! t!np! h!rus .enhenti/!n ser9er2 Repli/!si 6u! .e.ili/i /e/ur!n!n -!l!. penun!!n1!2 A-!pun /e/ur!n!n -!ri repli/!si database 1!itu se0!!i 0eri/ut2 #2 A-!n1! pe/er6!!n e/str! untu/ .en/on7iur!si .ulti siste. 1!n terpis!h2
+2 Se.!/in tini /o.ple/sit!s in7r!stru/tur se.!/in ru.it -!l!. /on7iur!si !?!l2
2.3.2
Ma&amMa&am Re0l#kas# Repli/!si database -i0e-!/!n .en6!-i -u! 6enis 1!itu repli/!si s!tu !r!h
"master to slave( -!n repli/!si -u! !r!h "master to master (2 #2 Repli/!si M!ster to Sl!9e enis repli/!si ini !-!l!h te/ni/ -!s!r5 p!-! te/ni/ ini s!tu -i 6!-i/!n .!ster -!n s!tu !t!u 0e0er!p! l!inn1! -i 6!-i/!n sl!9e 1!n !/!n sel!lu .eni/uti peru0!h!n .!ster2 n!.un /ele.!h!n p!-! 6enis ini s!!t sl!9e ter6!-i peru0!h!n -!t! .!/! ser9er .!ster ti-!/ !/!n .el!/u/!n peru0!h!n -!t! p!-! sl!9e2 +2 Repli/!si M!ster to M!ster enis repli/!si ini !/!n sulit -!n ru.it s!!t -i l!/u/!n -i 0!n1!/ ser9er5 -i 6enis ini se.u! ser9er !/!n 0erl!/u se0!!i sl!9e .!upun .!ster5 6!-i .is!l/!n !-! e.p!t ser9er -i/on7iur!si .!/! s!!t s!l!h s!tu ser9er ter6!-i peru0!h!n -!t! .!/! ti! ser9er l!inn1! !/!n 0erper!n se0!!i sl!9e2
BAB III PEMBAHA!AN
3.1
Bas#s Data B!sis D!t! 1!n -i0u!t 1!itu tent!n pen6u!l!nn p!tun2 L!t!r 0el!/!n
pe.0u!t!n -!t!0!se -!n PDM -!ri -!t!0!se terse0ut 1!itu se0!!i 0eri/ut2 3.1.1 Latar Belakang Pemuatan Bas#s Data Di er! lo0!lis!si se/!r!n ini te/noloi in7or.!si su-!h s!n!t 0er/e.0!n2 Penol!h!n -!t! Siste. in7or.!si .erup!/!n /o.0in!si -!ri te/noloi in7or.!si -!n !/ti9it!s or!n 1!n .enun!/!n te/noloi itu untu/ .en-u/un oper!si -!n .!n!6e.en 1!n .e.perte.u/!n /e0utuh!n penol!h!n tr!ns!/si h!ri!n5 .en-u/un oper!si5 0ersi7!t .!n!6eri!l -!n /ei!t!n str!tei -!ri su!tu or!nis!si -!n .en1e-i!/!n pih!/ tertentu -en!n l!por!n = l!por!n 1!n -iperlu/!n !!r in7or.!si 1!n -ih!sil/!n oleh siste. in7or.!si -!p!t 0erun! 0!i .!n!6!.en5 .!/! !n!lis siste. h!rus .enet!hui /e0utuh!n=/e0utuh!n in7or.!si 1!n -i0utuh/!nn1!5 1!itu -en!n .enet!hui t!h!p!n .!n!6e.en -!ri /eputus!n 1!n -i!.0il2 Terlih!t 0er-!s!r/!n p!-! penerti!n -i !t!s 0!h?! tu6u!n -i0entu/n1! siste. in7or.!si .!n!6e.en 1!itu !!r or!nis!si .e.ili/i in7or.!si 1!n 0er.!n7!!t -!l!. pe.0u!t!n /eputus!n .!n!6e.en5 0!i/ 1!n .en1!n/ut /eputus!n=/eputus!n rutin .!upun /eputus!n=/eputus!n 1!n str!teis2 Internet .en1e0!0/!n ter6!-in1! per/e.0!n!n su!tu siste. in7or.!si 1!n -!p!t -i!/ses -en!n .u-!h2 Ku.pul!n in7or.!si 1!n -isi.p!n -i -!l!. /o.puter se3!r! siste.!ti/ sehin! -!p!t -iperi/s! .enun!/!n su!tu pror!. /o.puter untu/ .e.peroleh in7or.!si -ise0ut -en!n p!n/!l!n -!t! !t!u 0!sis -!t!2 Penelol!!n ;uer1 1!n ter-!p!t p!-! 0!sis -!t! .e.erlu/!n per!n/!t lun!/ 1!n -iun!/!n untu/ .enelol! -!n .e.!nil ;uer1 0!sis -!t! -ise0ut Database Management System "DBMS(2 Siste. 0!sis -!t! -ipel!6!ri -!l!. il.u in7or.!si2 Penelol! siste. in7or.!si5 tentun1! user 6u! h!rus .e.!h!.i !p! itu ;uer15 0!!i.!n! ;uer1 itu 0e/er6!5 sert! /!p!n su!tu ;uer1 itu -iun!/!n2 .e.!h!.i ;uer15 .!/! penelol!!n siste. in7or.!si -!p!t -il!/u/!n -en!n .!n!6e.en 1!n 0!i/2 Pe.!p!r!n -i !t!s .e.0u!t penulis tert!ri/ untu/ .er!n3!n siste. in7or.!si stu-i /!sus siste. pen6u!l!n p!tun2 Siste. terse0ut 0ertu6u!n untu/
.e.0!ntu proses ter6!-in1! tr!ns!/si pe.0eli!n p!tun -!n .en!tur .!n!6e.en p!tun p!-! u-!n2
3.1.2
Phs#&al Data M$%el 4PDM5 Ph1si3!l D!t! Mo-el "PDM( -!ri 0!sis -!t! siste. p en6u!l!n p!tun -!p!t -ilih!t p!-! G!.0!r '2#2
6amar 3.1 Ph1si3!l D!t! Mo-el D!t!0!se Pen6u!l!n P!tun
G!.0!r '2# .erup!/!n PDM -!ri -!t!0!se pen6u!l!n p!tun2 PDM terse0ut .e.ili/i +# 0u!h t!0el !nt!r! l!in se0!!i 0eri/ut2 #2 +2 '2 &2 $2 ,2 2 2 2
T!0el to/o 1!n 0er7unsi .en1i.p!n -!t! to/o2 T!0el pe!?!iCto/o 0er7unsi .en1i.p!n -!t! pe!?!i to/o T!0el pe!?!iCpen!-!!n 0er7unsi pen1i.p!n -!t! pe!?!i pen!-!!n2 T!0el suppl!1er 0er7unsi .en1i.p!n -!t! suppl1er2 T!0el pe.0eli 0er7unsi .en1i.p!n -!t! pe.0eli2 T!0el p!tun 0er7unsi .en1i.p!n -!t! p!tun -i pen!-!!n2 T!0el spesi7i/!siCp!tun 0er7unsi .en1i.p!n -!t! spesi7i/!si p!tun2 T!0el ite. 0er7unsi .en1i.p!n -!t! p!tun -i to/o2 T!0el pen6u!l!n 0er7unsi untu/ .en1i.p!n tr!ns!/si pen6u!l!n -!ri to/o
/e pe.0eli2 #%2 T!0el -etCpen6u!l!n 0er7unsi untu/ .en1i.p!n -et!il pen6u!l!n p!tun -!ri to/o /e pe.0eli2 ##2 T!0el re;uestCto/o 0er7unsi untu/ .en1i.p!n -!t! tr!ns!/si pe.es!n!n p!tun 1!n -il!/u/!n /e pen!-!!n2 #+2 T!0el -etCre;uestCto/o 0er7unsi untu/ .en1i.p!n -et!il pe.es!n!n p!tun 1!n -il!/u/!n /e pen!-!!n2 #'2 T!0el peneri.!!nCre; 0er7unsi untu/ .en1i.p!n -!t! .enen!i pe.es!n!n p!tun 1!n -il!/u/!n oleh to/o2
G!.0!r '2# .erup!/!n PDM -!ri -!t!0!se pen6u!l!n p!tun2 PDM terse0ut .e.ili/i +# 0u!h t!0el !nt!r! l!in se0!!i 0eri/ut2 #2 +2 '2 &2 $2 ,2 2 2 2
T!0el to/o 1!n 0er7unsi .en1i.p!n -!t! to/o2 T!0el pe!?!iCto/o 0er7unsi .en1i.p!n -!t! pe!?!i to/o T!0el pe!?!iCpen!-!!n 0er7unsi pen1i.p!n -!t! pe!?!i pen!-!!n2 T!0el suppl!1er 0er7unsi .en1i.p!n -!t! suppl1er2 T!0el pe.0eli 0er7unsi .en1i.p!n -!t! pe.0eli2 T!0el p!tun 0er7unsi .en1i.p!n -!t! p!tun -i pen!-!!n2 T!0el spesi7i/!siCp!tun 0er7unsi .en1i.p!n -!t! spesi7i/!si p!tun2 T!0el ite. 0er7unsi .en1i.p!n -!t! p!tun -i to/o2 T!0el pen6u!l!n 0er7unsi untu/ .en1i.p!n tr!ns!/si pen6u!l!n -!ri to/o
/e pe.0eli2 #%2 T!0el -etCpen6u!l!n 0er7unsi untu/ .en1i.p!n -et!il pen6u!l!n p!tun -!ri to/o /e pe.0eli2 ##2 T!0el re;uestCto/o 0er7unsi untu/ .en1i.p!n -!t! tr!ns!/si pe.es!n!n p!tun 1!n -il!/u/!n /e pen!-!!n2 #+2 T!0el -etCre;uestCto/o 0er7unsi untu/ .en1i.p!n -et!il pe.es!n!n p!tun 1!n -il!/u/!n /e pen!-!!n2 #'2 T!0el peneri.!!nCre; 0er7unsi untu/ .en1i.p!n -!t! .enen!i pe.es!n!n p!tun 1!n -il!/u/!n oleh to/o2 #&2 T!0el /iri.C0!r!n 0er7unsi untu/ .en1i.p!n
-!t!
.enen!i
peniri.!n p!tun 1!n -il!/u/!n oleh pen!-!!n /e to/o2 #$2 T!0el -etC/iri.C0!r!n 0er7unsi untu/ .en1i.p!n -et!il peniri.!n p!tun 1!n -il!/u/!n oleh pen!-!!n /e to/o2 #,2 T!0el peneri.!!nC0!r!n 0er7unsi untu/ .en1i.p!n -!t! .enen!i 0!r!n 1!n -iteri.! to/o -!ri peniri.!n 0!r!n oleh pen!-!!n2 #2 T!0el -etC peneri.!!nC0!r!n 0er7unsi untu/ .en1i.p!n -et!il 0!r!n 1!n -iteri.! to/o -!ri peniri.!n 0!r!n oleh pen!-!!n2 #2 T!0el or-er 0er7unsi untu/ .en1i.p!n -!t! tr!ns!/si 6u!l 0eli p!tun !nt!r! suppl1er -en!n u-!n2 #2 T!0el -etCor-er 0er7unsi untu/ .en1i.p!n -et!il 6u!l 0eli p!tun !nt!r! suppl1er -en!n u-!n2 +%2 T!0el peneri.!!nC0!r!nCor-er 0er7unsi untu/ .en1i.p!n -!t! 0!r!n 1!n tel!h -iteri.! oleh u-!n -!ri peniri.!n oleh suppl1er2 +#2 T!0el -etCpeneri.!!nC or-er 0er7unsi untu/ .en1i.p!n -!t! 0!r!n 1!n tel!h -iteri.! oleh u-!n -!ri peniri.!n oleh suppl1er2 3.2
!t$re% Pr$&e%ure' Tr#gger' %an (urs$r Store- pro3e-ure5 trier5 -!n 3ursor p!-! siste. pen6u!l!n p!tun !nt!r!
l!in se0!!i 0eri/ut2
3.2.1
!t$re% Pr$&e%ure Store- pro3e-ure 1!n -i0u!t ter-iri -!ri li.! 6enis !nt!r! l!in store-
prose-ure 1!n .enun!/!n I)5 ASE5 HILE5 REPEAT5 -!n LOOP2 A-!pun store- prose-ure terse0ut se0!!i 0eri/ut2 '2+2#2# I) Store- pro3e-ure pert!.! 1!n -i0u!t 1!itu store- prose-ure -en!n sele/si /on-isi I)2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2#2 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 Mek>nu5M:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE Mek>nu5M$IN i!_4e(a9ai INTE=ER< 7UT bnu5 INT& >E=IN DECLARE jumlah INT; 1ELECT 1U8$!e'_4enjualanM5ub_''alM& FR78 !e'_4enjualan INNER 7IN 4enjualan 7N !e'_4enjualanMi!_4enjualanM24enjualanMi!_4enjualanM #ERE 4enjualanMi!_4e(a9ai_'kM2i!_4e(a9ai INT7 jumlah; IF jumlah?%///// T#EN 1ET bnu52*////; EL1EIF jumlah?///// T#EN 1ET bnu52%////; EL1E 1ET bnu52-////; END IF; 1ELECT i!_4e(a9ai
Ko-e Pror!. '2# .erup!/!n store- pro3e-ure 1!n .enhitun 0onus -!ri pe!?!i2 Store- prose-ure terse0ut .enun!/!n p!r!.!ter input 0ern!.! i-Cpe!?!i 0ertipe inteer5 -!n p!r!.eter output 0ern!.! 0onus 0ertipe inteer2 Store- pro3e-ure !/!n .enhitun no.in!l tr!ns!/si 1!n -il!/u/!n oleh seor!n pe!?!i -en!n .en6u.l!h/!n su0Ctot!l p!-! t!0el -etCpen6u!l!n sesu!i -en!n i-Cpe!?!i 1!n -iinput2 H!sil pen6u.l!h!n terse0ut !/!n -i!lo/!si/!n p!-! 9!ri!0el 6u.l!h 2 u.l!h le0ih -!ri $%%%%% .!/! !/!n .en-!p!t/!n 0onus
#%%%%2 u.l!h 1!n le0ih -!ri '%%%%% !/!n .en-!p!t/!n 0onus $%%%%5 sel!in 6u.l!h itu .!/!n h!n1! .en-!p!t/!n 0onus +%%%%2
'2+2#2+ ASE Store- pro3e-ure /e-u! 1!itu store- prose-ure -en!n sele/si /on-isi ASE2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2+2 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 Mek>nu5-M:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE Mek>nu5-M$IN i!_4e(a9ai INTE=ER< 7UT bnu5 INT& >E=IN DECLARE jumlah INT; 1ELECT 1U8$!e'_4enjualanM5ub_''alM& FR78 !e'_4enjualan INNER 7IN 4enjualan 7N !e'_4enjualanMi!_4enjualanM24enjualanMi!_4enjualanM #ERE 4enjualanMi!_4e(a9ai_'kM2i!_4e(a9ai INT7 jumlah;
CA1E jumlah #EN jumlah?///// T#EN 1ET bnu52%////; #EN jumlah?-///// T#EN 1ET bnu52-////; EL1E 1ET bnu52*////; END CA1E; 1ELECT i!_4e(a9ai
DELI8ITER ; )$%e Pr$gram 3.2 Store- Pro3e-ure ASE
Ko-e Pror!. '2+ .erup!/!n store- pro3e-ure 1!n .enhitun 0onus -!ri pe!?!i2 Store- prose-ure terse0ut .enun!/!n p!r!.!ter input 0ern!.! i-Cpe!?!i 0ertipe inteer5 -!n p!r!.eter output 0ern!.! 0onus 0ertipe inteer2 Store- pro3e-ure !/!n .enhitun no.in!l tr!ns!/si 1!n -il!/u/!n oleh seor!n pe!?!i -en!n .en6u.l!h/!n su0Ctot!l p!-! t!0el -etCpen6u!l!n sesu!i -en!n i-Cpe!?!i 1!n -iinput2 H!sil pen6u.l!h!n terse0ut !/!n -i!lo/!si/!n p!-! 9!ri!0el 6u.l!h 2 u.l!h le0ih -!ri $%%%%% .!/! !/!n .en-!p!t/!n 0onus
#%%%%2 u.l!h 1!n le0ih -!ri '%%%%% !/!n .en-!p!t/!n 0onus $%%%%5 sel!in 6u.l!h itu .!/!n h!n1! .en-!p!t/!n 0onus +%%%%2
'2+2#2' HILE Store- pro3e-ure /eti! 1!itu store- prose-ure -en!n loopin HILE2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2'2 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 M54_9hileM:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE banak_!a'a INT& >E=IN DECLARE i!_4e(a9ai INT; 1ET i!_4e(a9ai2*; #ILE $i!_4e(a9ai2banak_!a'a& D7 CALL ek>nu5$i!_4e(a9ai<a&; 1ET i!_4e(a9ai2i!_4e(a9aiG*; END #ILE; END::
MbabaM$IN
DELI8ITER ; )$%e Pr$grsm 3.3 Store- Pro3e-ure HILE
Ko-e Pror!. '2' .erup!/!n store- prose-ure -en!n perul!n!n HILE2 Store- pro3e-ure terse0ut .e.ili/i p!r!.eter input 0ern!.! 0!n1!/ -!t! 0ertipe inteer2 P!r!.eter 0!n1!/C-!t! 0er7unsi se0!!i 0!t!s -!ri looping 5 -i.!n! store- prose-ure ini !/!n .e.!nil store- prose-ure 3e/Bonus sesu!i -en!n 0!n1!/C-!t! 1!n -i=input =/!n2
'2+2#2& REPEAT Store- pro3e-ure /ee.p!t 1!itu store- prose-ure -en!n loopin REPEAT2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2&2 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 MbabaM:: CREATE DEFINER2Mr'MMlalh5'M banak_!a'a INT& >E=IN
PR7CEDURE
M54_re4ea'M$IN
DECLARE i!_4e(a9ai INT; 1ET i!_4e(a9ai2*; REPEAT CALL ek>nu5$i!_4e(a9ai<a&; 1ET i!_4e(a9ai2i!_4e(a9aiG*; UNTIL i!_4e(a9ai?banak_!a'a END REPEAT; END::
DELI8ITER ; )$%e Pr$gram 3. Store- Pro3e-ure REPEAT
Ko-e Pror!. '2& .erup!/!n store- prose-ure -en!n perul!n!n REPEAT2 Store- pro3e-ure terse0ut .e.ili/i p!r!.eter input 0ern!.! 0!n1!/ -!t! 0ertipe inteer2 P!r!.eter 0!n1!/C-!t! 0er7unsi se0!!i 0!t!s -!ri looping 5 -i.!n! store- prose-ure ini !/!n .e.!nil store- prose-ure 3e/Bonus sesu!i -en!n 0!n1!/C-!t! 1!n -i=input =/!n2
'2+2#2$ LOOP Store- pro3e-ure /eli.! 1!itu store- prose-ure -en!n loopin LOOP2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2$2 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 MbabaM:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE banak_!a'a INT& >E=IN DECLARE i!_4e(a9ai INT; 1ET i!_4e(a9ai2*; ulan(H L77P CALL ek>nu5$i!_4e(a9ai<a&; 1ET i!_4e(a9ai2i!_4e(a9aiG*;
M54_l4M$IN
IF i!_4e(a9ai?banak_!a'a T#EN LEA"E ulan(; END IF; END L77P; END::
DELI8ITER ; )$%e Pr$gram 3.* Store- Pro3e-ure LOOP
Ko-e Pror!. '2$ .erup!/!n store- prose-ure -en!n perul!n!n LOOP2 Store- pro3e-ure terse0ut .e.ili/i p!r!.eter input 0ern!.! 0!n1!/ -!t! 0ertipe
inteer2 P!r!.eter 0!n1!/C-!t! 0er7unsi se0!!i 0!t!s -!ri looping 5 -i.!n! store- prose-ure ini !/!n .e.!nil store- prose-ure 3e/Bonus sesu!i -en!n 0!n1!/C-!t! 1!n -i=input =/!n2
3.2.2
Tr#gger Trier 1!n -i0u!t ter-iri -!ri -u! 6enis !nt!r! l!in A)TER INSERT -!n
A)TER DELETE2 A-!pun trier terse0ut se0!!i 0eri/ut2 3.2.2.1 BE)ORE INSERT Trier pert!.! 1!n -i0u!t 1!itu trier !7ter insert2 Trier terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '2,2 DELI8ITER :: CREATE J@[DEFINER 2 u5er 6 CURRENT_U1ER K]@J TRI==ER M'b!ne9MM5e'Tan((alM >EF7RE IN1ERT 7N M'b!ne9MM4enjualanM F7R EAC# R7 >E=IN 1ET ne9M'(l_4enjualanM2DATE$N7$&&; END:: DELI8ITER ; )$%e Pr$gram 3.+
Ko-e Pror!. '2, .erup!/!n 3ontoh -!ri trier 0e7ore insert2 Trier terse0ut 0er7unsi untu/ .eninput se3!r! oto.!tis t!n!l pen6u!l!n2 Ap!pun t!n!l pen6u!l!n 1!n -i=input-/!n5 .!/! t!n!l terse0ut !/!n -iu0!h .en6!-i t!n!l se/!r!n5 h!l ini !!r ti-!/ ter6!-i /es!l!h!n input 1!n ti-!/ -isen!6!2
3.2.2.2 A)TER INSERT Trier /e-u! 1!n -i0u!t 1!itu trier !7ter insert2 Trier terse0ut -!p!t
-ilih!t p!-! Ko-e Pror!. '22 DELI8ITER :: U1E M'b!ne9M:: DR7P TRI==ER J@S%//- IF EQI1T1 @J Mu4!a'ekeha!iranM:: CREATE J@S%//*B DEFINER 2 r'lalh5' @J TRI==ER Mu4!a'ekeha!iranM AFTER IN1ERT 7N M4enjualanM F7R EAC# R7 >E=IN DECLARE bln INT; DECLARE ha!ir INT; 1ET bln2$1ELECT bulan FR78 keha!iran_4e(a9ai_'k #ERE i!_4e(a9ai_'k2ne9i!_4e(a9ai_'k 7RDER >Y bulan DE1C LI8IT
*&; 1ET ha!ir2$1ELECT 'an((al_ha!ir_'erakhir FR78 keha!iran_4e(a9ai_'k #ERE i!_4e(a9ai_'k2ne9i!_4e(a9ai_'k 7RDER >Y bulan DE1C LI8IT *&; IF blnS287NT#$N7$&& T#EN IN1ERT INT7 keha!iran_4e(a9ai_'k "ALUE1$ne9i!_4e(a9ai_'k<87NT#$N7$&&<*
Ko-e Pror!. '2 .erup!/!n 3ontoh -!ri trier !7ter insert2 Trier terse0ut 0er7unsi untu/ .enhitun /eh!-ir!n -!ri pe!?!i2 Sint!/ 1ET bln2$1ELECT
bulan
FR78
keha!iran_4e(a9ai_'k
i!_4e(a9ai_'k2 ne9i!_4e(a9ai_'k 7RDER
>Y
bulan
#ERE
DE1C LI8IT
*& 0er7unsi untu/ .en= select 0ul!n ter!/hir pe!?!i itu h!-ir2 Sint!/ 1ET ha!ir2$1ELECT #ERE
'an((al_ha!ir_'erakhir FR78
i!_4e(a9ai_'k2ne9i!_4e(a9ai_'k
keha!iran_4e(a9ai_'k 7RDER
>Y
bulan
DE1C
LI8IT *& 0er7unsi untu/ .en= select t!n!l ter!/hir pe!?!i itu h!-ir2 Kon-isi IF
blnS287NT#$N7$&&
T#EN
IN1ERT
INT7
keha!iran_4e(a9ai_'k
"ALUE1$ne9i!_4e(a9ai_'k< 87NT#$N7$&&< *< DAY$N7$&&& .erup!/!n
se0u!h /on-isi -i.!n! 6i/! 0ul!n ter!/hir pe!?!i itu h!-ir ti-!/ s!.! -en!n 0ul!n s!!t itu5 .!/! !/!n -i=insert =/!n -!t!2 Kon-isi EL1EIF 2DAY$N7$&&
T#EN
UPDATE
keha!iran_4e(a9ai_'k
keha!iran2keha!iranG*< 'an((al_ha!ir_'erakhir 2 i!_4e(a9ai_'k2
ne9i!_4e(a9ai_'k
ha!irS 1ET
DAY$N7$&& #ERE
bulan287NT#$N7$&&
.erup!/!n /on-isi -i.!n! 6i/! /on-isi pert!.! ti-!/ -ipenuhi 1!n !rtin1! 0ul!n ter!/hir pe!?!i itu h!-ir s!.! -en!n 0ul!n se/!r!n -!n t!n!l ter!/hir pe!?!i itu h!-ir ti-!/ s!.! -en!n t!n!l se/!r!n5 .!/! -!t! !/!n -i=update -i.!n! /eh!-ir!n !/!n -it!.0!h s!tu2
3.2.3
(urs$r
ursor 1!n -i0u!t .erup!/!n loopin p!-! pe.!nil!n se0u!h 3ursor5 -i.!n! n!ntin1! -!t! terse0ut !/!n -i=insert =/!n p!-! t!0el te.por!r12 A-!pun pen6el!s!n .enen!i 3ursor terse0ut se0!!i 0eri/ut2 '2+2'2# Store- Pro3e-ure Store- pro3e-ure 1!n -i0u!t !-!l!h perhitun!n pen-!p!t!n p!-! t!hun tertentu2 Store- pro3e-ure terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '22 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 M54_4en!a4a'anM:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE M54_4en!a4a'anM$IN 'ahun YEARE=IN DECLARE har(a INT; 1ET ''al_'erjualH2$1ELECT 1U8$!e'_4enjualanMjumlahM& FR78 !e'_4enjualan INNER 7IN 4enjualan 7N !e'_4enjualanMi!_4enjualanM24enjualanMi!_4enjualanM INNER 7IN i'em 7N !e'_4enjualanMi!_i'emM2i'emMi!_i'emM INNER 7IN 4a'un( 7N i'emMi!_4a'un(M24a'un(Mi!_4a'un(M #ERE 4a'un(Mi!_4a'un(M2i!_baran( AND YEAR$4enjualanM'(l_4enjualanM& 2'ahun =R7UP >Y 4a'un(Mi!_4a'un(M&; 1ET har(aH2$1ELECT har(a_4a'un( FR78 4a'un( #ERE i!_4a'un(2i!_baran(&; 1ET ''al_nilai2har(a@''al_'erjual;
END::
DELI8ITER ; )$%e Pr$gram 3.- Store- Pro3e-ure Pen-!p!t!n
Ko-e Pror!. '2 .erup!/!n store- pro3e-ure untu/ .enhitun pen-!p!t!n per t!hun2 Store- pro3eure terse0ut .e.ili/i p!r!.eter input 0ern!.! t!hun 0ertipe 1e!r5 p!r!.eter input i-C0!r!n 0ertipe inteer5 p!r!.eter output 0ern!.! tot!lCter6u!l 0ertipe inteer5 -!n p!r!.eter output 0ern!.! tot!lCnil!i 0ertip! inteer2 P!r!.eter tot!lCter6u!l -i!lo/!si/!n se0u!h nil!i 1!n -i-!p!t -!ri perhitun!n nil!i !tri0ut 6u.l!h p!-! t!0el -etCpen6u!l!n 0er-!s!r/!n p!r!.eter t!hun -!n p!r!.eter i-C0!r!n2 *!ri!0el h!r! 1!n tel!h -i-e/l!r!si/!n terle0ih -!hulu 6u! !/!n -i!lo/!si/!n se0u!h nil!i 1!n -i-!p!t -!ri !tri0ut h!r! p!-!
t!0el
p!tun sesu!i -en!n p!r!.eter
i-C0!r!n2 P!r!.eter
tot!lCnil!i
-i!lo/!si/!n se0u!h nil!i 1!itu h!sil per/!li!n !nt!r! tot!lCter6u!l -!n h!r!2
'2+2'2+ ursor ursor ini -i0u!t 0er-!s!r/!n store- pro3e-ure p!-! Ko-e Pror!. '22 A-!pun 3ursor terse0ut -!p!t -ilih!t p!-! Ko-e Pror!. '22 DELI8ITER :: U1E M'b!ne9M:: DR7P PR7CEDURE IF EQI1T1 Mur5r_4en!a4a'anM:: CREATE DEFINER2Mr'MMlalh5'M PR7CEDURE Mur5r_4en!a4a'anM$IN 'ahun YEAR& >E=IN DECLARE i!_br( INT; DECLARE i!_4en! INT; DECLARE nam_4a' "ARC#AR$-/&; DECLARE !ne INT DEFAULT /; DECLARE ur5r_4en!a4a'an CUR17R F7R 1ELECT i!_4a'un(
Ko-e Pror!. '2 .erup!/!n 3ursor untu/ .enhitun pen-!p!t!n per t!hun2 ursor terse0ut .e.ili/i p!r!.eter input -en!n n!.! t!hun 0ertipe 1e!r2 ursor terse0ut !/!n .en= select !tri0ut i-Cp!tun -!n n!.!Cp!tun hin! ter!/hir5 /e.u-i!n h!sil -!ri select !/!n -i!lo/!si/!n /e 9!ri!0el i-C0r -!n
n!.Cp!t2 ursor l!lu !/!n .e.!nil store- pro3e-ure- spCpen-!p!t!n2 Ter!/hir 3ursor !/!n .en=insert -!t! /e t!0el pen-!p!t!n2
3.3
Re0l#kas# Repli/!si 1!n !/!n -il!/u/!n 1!itu repli/!si .!ster to sl!9e5 .!ster to
.!ste5 -!n repli/!si sele/ti72 L!n/!h !?!l 1!n -il!/u/!n -!l!. repli/!si !-!l!h .el!/u/!n settin p!-! .12ini p!-! P # -!n P +2 A-!pun setting =!n .12ini -!p!t -ilih!t p!-! Ko-e Pror!. '2#%2 l(.bin2m5l.bin 5erver.i!2* inn!b_lu5h_l(_a'_'r3_mmi'2* 5n_binl(2* )$%e Pr$gram 3.1/ Settin .12ini p!-! P #
Ko-e Pror!. '2#% .erup!/!n setting =!n .12ini p!-! P #2 L!n/!h sel!n6utn1! 1!itu settin .12ini p!-! P + 1!n -!p!t -ilih!t! p!-! Ko-e Pror!. '2##2 l(.bin2m5l.bin 5erver.i!2* inn!b_lu5h_l(_a'_'r3_mmi'2* 5n_binl(2* )$%e Pr$gram 3.11 Settin .12ini p!-! P +
Ko-e Pror!. '2## .erup!/!n setting .12ini p!-! P +2 Nil!i -!ri ser9er= i- h!rus 0er0e-! !nt!r! P # -!n P +2 P # tel!h .enun!/!n ser9er=i-#5 sehin! p!-! P + .enun!/!n ser9er=i-+2 A-!pun 6enis repli/!si 1!n !/!n -il!/u/!n 1!itu se0!!i 0eri/ut2
'2'2#
Repli/!si M!ster to Sl!9e P # !/!n .en6!-i .!ster -!n P + !/!n .en6!-i sl!9e2L!n/!h pert!.!
-!l!. repli/!si 1!itu .e.0u!t user 0!ru2 I.ple.ent!si pe.0u!t!n user 0!ru -!p!t -ilih!t p!-! G!.0!r '2+2
6amar 3.2 re!te User -i P #
G!.0!r '2+ .erup!/!n perint!h untu/ .e.0u!t user2 User 1!n -i0u!t 0ern!.! userC#2 L!n/!h sel!n6utn1! 1!itu /it! .el!/u/!n r!nt !ll on @2@ /e user terse0ut 1!n 0er7unsi !!r user -!p!t .en6!l!n/!n seluruh 7unsi p!-! .1s;l p!-! seluruh -!t!0!se -!n seluruh t!0el2 L!n/!h 0eri/utn1! sho? .!ster st!tus untu/ .en!.pil/!n st!tus -!ri .!ster 1!n n!ntin1! !/!n -i= input p!-! sl!9e2 L!n/!h ter!/hir /it! .enun3i t!0le2 Settin p!-! .!ster su-!h -il!/u/!n sel!n6utn1! /it! settin p!-! sl!9e 1!n -!p!t -ilih!t p!-! G!.0!r '2'2
6amar 3.3 Settin P +
G!.0!r '2' .erup!/!n settin p!-! P +2 P + !/!n .el!/u/!n 3h!ne .!ster -en!n .!sterChost .erup!/!n IP !--ress -!ri P #5 .!sterCuser .erup!/!n n!.! user 1!n tel!h -i0u!t t!-i5 .!sterCp!ss?or- .erup!/!n p!ss?or- -!ri user5 .!sterCloC7ile .erup!/!n 7ile p!-! .!ster st!tus5 -!n .!sterCloCpos .erup!/!n position p!-! .!ster st!tus2 T!h!p!n sel!n6utn1! 1!itu .en!.pil/!n st!tus -!ri sl!9e terse0ut 1!n -!p!t -ilih!t p!-! G!.0!r '2&2
6amar 3. Sho? Sl!9e St!tus
G!.0!r '2& .erup!/!n 3!r! .en!.pi/!n st!tus -!ri sl!9e2 P!-! st!tus terse0ut terlih!t Sl!9eCIOCRunnin 0ernil!i No2 H!li ini 0er!rti repli/!si .!sih 0elu. 0erh!sil2 !r! .en!t!si h!l terse0ut -!p!t -ilih!t p!-! G!.0!r '2$2
6amar 3.* Men!t!si Sl!9eCIOCRunnin No
G!.0!r '2$ .erup!/!n 3!r! .en!t!si Sl!9eCIOCRunnin 1!n 0ernil!i No2 L!n/!h pert!.! 1!n -il!/u/!n 1!itu .enhenti/!n sl!9e -en!n 3!r! stop sl!9e2 L!n/!h sel!n6utn1! /it! ser lo0!l ser9erCi-'5 ser9erCi- 0ernil!i 0e0!s5 sehin! ti-!/ h!rus '2 L!lu st!rt sl!9e /e.0!li5 -!n 3e/ st!tus -!ri sl!9e2 Sl!9eCIOCRunnin -!n Sl!9eCS8LCRunnin su-! 0ernil!i 1es5 itu 0er!rti repli/!si tel!h 0erh!sil -il!/u/!n2 Untu/ .e.0u/ti/!n !p!/!h repli/!si 0en!r=
0en!r 0erh!sil5 -!p!t -i0u/ti/!n -en!n .e.0u!t -!t!0!se 1!n -!p!t -ilih!t p!-! G!.0!r '2,2
6amar 3.+ re!te D!t!0!se -i P #
G!.0!r '2, .erup!/!n pe.0u!t!n -!t!0!se p!-! P #2 D!t!0!se 1!n -i0u!t 0ern!.! s!tu2 P!-! P # -!t!0!se terse0ut su-!h !-!5 untu/ .e.0u/ti/!n repli/!si5 -il!/u/!n 6u! sho? -!t!0!se P + seperti G!.0!r '22
6amar 3., Sho? D!t!0!se p!-! P +
G!.0!r '2 .erup!/!n sho? -!t!0!se p!-! P +2 P + 6u! su-!h ter-!p!t -!t!0!se s!tu5 n!.un ini 0elu. 3u/up .e.0u/ti/!n !p!/!h repli/!si .!ster to sl!9e su-!h 0erh!sil2 D!t!0!se 0!ru perlu -i0u!t p!-! P + l!lu 3e/ !p!/!h -!t!0!se itu !-! p!-! P #2 Pe.0u!t -!t!0!se p!-! P + -!p!t -ilih!t p!-! G!.0!r '2
6amar 3.- re!te D!t!0!se -i P +
G!.0!r '2 .erup!/!n pe.0u!t!n -!t!0!se -i P + 2 D!t!0!se 1!n -i0u!t 0ern!.! -u!2 P!-! P + -!t!0!se terse0ut su-!h !-!5 untu/ .e.0u/ti/!n repli/!si .!ster to sl!9e5 -il!/u/!n 6u! sho? -!t!0!se p!-! P # seperti G!.0!r '22
6amar 3. Sho? D!t!0!se p!-! P #
G!.0!r '2 .erup!/!n sho? -!t!0!se p!-! P #2 P!-! P # -!t!0!se -u! 1!n tel!h p!-! -i0u!t p!-! P + ti-!/ !-!5 ini .e.0u/ti/!n 0!h?! repli/!si .!ster to sl!9e su-!h 0erh!sil2
'2'2+
Repli/!si M!ster to M!ster L!n/!h=l!n/!h -!l!. repli/!si .!ster to .!ster h!.pir s!.! -en!n
.!ster to sl!9e2 H!n1! perlu .e.0u!t user -i P +5 l!lu .el!/u/!n 3h!ne .!ster p!-! P #2 Repli/!si .!ster to .!ster !/!n -il!n6ut/!n -!ri repli/!si .!ster sl!9e 1!n se0elu.n1! tel!h -i0u!t2 L!n/!h terse0ut -!p!t -ilih!t p!-! G!.0!r '2#%2
6amar 3.1/ re!te User -i P +
G!.0!r '2#% .erup!/!n perint!h untu/ .e.0u!t user2 User 1!n -i0u!t 0ern!.! userC2+ L!n/!h sel!n6utn1! 1!itu /it! .el!/u/!n r!nt !ll on @2@ /e user terse0ut 1!n 0er7unsi !!r user -!p!t .en6!l!n/!n seluruh 7unsi p!-! .1s;l p!-! seluruh -!t!0!se -!n seluruh t!0el2 L!n/!h 0eri/utn1! sho? .!ster st!tus untu/ .en!.pil/!n st!tus -!ri .!ster 1!n n!ntin1! !/!n -i= input p!-! P #2 L!n/!h ter!/hir /it! .enun3i t!0le2 Settin p!-! P + su-!h -il!/u/!n sel!n6utn1! l!/u/!n 3h!ne .!ster p!-! P # 1!n -!p!t -ilih!t p!-! G!.0!r '2##2
6amar 3.11 h!ne M!ster to p!-! P #
G!.0!r '2## .erup!/!n 3h!ne .!ster p!-! P #2 P # !/!n .el!/u/!n 3h!ne .!ster -en!n .!sterChost .erup!/!n IP !--ress -!ri P +5 .!sterCuser .erup!/!n n!.! user 1!n tel!h -i0u!t t!-i5 .!sterCp!ss?or- .erup!/!n p!ss?or- -!ri user5 .!sterCloC7ile .erup!/!n 7ile p!-! .!ster st!tus5 -!n .!sterCloCpos .erup!/!n position p!-! .!ster st!tus2 T!h!p!n sel!n6utn1! 1!itu .en!.pil/!n st!tus -!ri sl!9e terse0ut 1!n -!p!t -ilih!t p!-! G!.0!r '2#+2
6amar 3.12 Sho? Sl!9e St!tus p!-! M!ster Pert!.!
G!.0!r '2#+ .erup!/!n sl!9e st!tus p!-! P # 2 Sl!9eCIOCRunnin -!n Sl!9eCS8LCRunnin su-! 0ernil!i 1es5 itu 0er!rti repli/!si .!ster to .!ster tel!h 0erh!sil -il!/u/!n2 Untu/ .e.0u/ti/!n !p!/!h repli/!si 0en!r=0en!r 0erh!sil5 -!p!t -i0u/ti/!n -en!n .e.0u!t -!t!0!se 1!n -!p!t -ilih!t p!-! G!.0!r '2#'2
6amar 3.13 re!te D!t!0!se -i P +
G!.0!r '2#' .erup!/!n pe.0u!t!n -!t!0!se p!-! P +2 D!t!0!se 1!n -i0u!t 0ern!.! -0C.!ster2 P!-! P + -!t!0!se terse0ut su-!h !-!5 untu/ .e.0u/ti/!n repli/!si5 .!/! -il!/u/!n 6u! sho? -!t!0!se p!-! P # seperti G!.0!r '2#&2
6amar 3.1 Sho? D!t!0!ses -i P #
G!.0!r '2#& .erup!/!n sho? -!t!0!se p!-! P #2 D!t!0!se -0C.!ster 1!n tel!h -i0u!t p!-! P + su-!h ter-!p!t p!-! P #5 ini .e.0u/ti/!n 0!h?! repli/!si .!ster to .!ster su-!h 0erh!sil2 '2'2'
Repli/!si Sele/ti7 L!n/!h=l!n/!h -!l!. repli/!si sele/ti7 s!.! -en!n repli/!si p!-!
u.u.n1!5 n!.un p!-! repli/!si sele/ti7 h!n1! -!t!0!se -!n t!0el tertentu 1!n
-!p!t -irepli/!si2 M12ini perlu -i= setting terle0ih -!hulu untu/ .el!/u/!n repli/!si sele/ti72 A-!pun settin p!-! .12ini -!p! -ilih!t p!-! Ko-e Pror!. '2#+2 binl(.!.!b2!b_5elek'i re4lia'e.!.'able2!b_5elek'i'b_5a'u )$%e Pr$gram 3.12 Settin .12ini Repli/!si Sele/ti7
Ko-e Pror!. '2#+ .erup!/!n setting .12ini p!-! repli/!si sele/ti72 A-! -u! 0u!h t!.0!h!n sint!/2 Sint!/ binl(.!.!b2!b_5elek'i !rtin1! -!t!0!se 1!n
!/!n
-irepli/!si
0ern!.!
-0Csele/ti72
Sint!/
re4lia'e.!.
'able2!b_5elek'i'b_5a'u !rtin1! t!0el 1!n !/!n -irepli/!si !-!l!h t0Cs!tu
p!-! -!t!0!se -0Csele/ti72 A-!pun l!n/!h sel!n6utn1! -!p!t -ilih!t p!-! G!.0!r '2#$2
6amar 3.1* Menun3i T!0el p!-! M!ster
G!.0!r '2#$ .erup!/!n sint!/ untu/ .enun3i t!0el p!-! .!ster2 User ti-!/ perlu -i0u!t l!i5 /!ren! -!p!t .enun!/!n user 1!n tel!h -i0u!t t!-i2 M!ster st!tus l!lu -it!.pil/!n5 -!n terlih!t -!t!0!se 1!n !/!n -irepli/!si2 L!n/!h sel!n6utn1! !-!l!h .el!/u/!n 3h!ne .!ster p!-! sl!9e 1!n -!p!t -ilih!t p!-! G!.0!r '2#,2
6amar 3.1+ h!ne M!ster p!-! Sl!9e
G!.0!r '2#, .erup!/!n 3h!ne .!ster p!-! sl!9e2 Sl!9e !/!n .el!/u/!n 3h!ne .!ster -en!n .!sterChost .erup!/!n IP !--ress -!ri .!ster5 .!sterCuser .erup!/!n n!.! user 1!n tel!h -i0u!t t!-i5 .!sterCp!ss?or- .erup!/!n p!ss?or- -!ri user5 .!sterCloC7ile .erup!/!n 7ile p!-! .!ster st!tus5 -!n .!sterCloCpos .erup!/!n position p!-! .!ster st!tus2 T!h!p!n sel!n6utn1! 1!itu .en!.pil/!n st!tus -!ri sl!9e terse0ut 1!n -!p!t -ilih!t p!-! G!.0!r '2#2
6amar 3.1, Sho? Sl!9e St!tus
G!.0!r '2# .erup!/!n st!tus p!-! sl!9e 2 Sl!9eCIOCRunnin -!n Sl!9eCS8LCRunnin su-!h 0ernil!i 1es5 itu 0er!rti repli/!si tel!h 0erh!sil -il!/u/!n2 Untu/ .e.0u/ti/!n !p!/!h repli/!si 0en!r=0en!r 0erh!sil5 -!p!t -i0u/ti/!n -en!n .e.0u!t -!t!0!se 1!n -!p!t -ilih!t p!-! G!.0!r '2#2
6amar 3.1- re!te D!t!0!se -i M!ster
G!.0!r '2# .erup!/!n pe.0u!t!n -!t!0!se p!-! .!ster2 D!t!0!se 1!n -i0u!t 0ern!.! -0Csele/ti72 P!-! .!ster -!t!0!se terse0ut su-!h !-!5 untu/ .e.0u/ti/!n repli/!si5 .!/! -il!/u/!n 6u! sho? -!t!0!se p!-! sl!9e seperti G!.0!r '2#2
6amar 3.1 Sho? D!t!0!ses p!-! Sl!9e
G!.0!r '2# .erup!/!n sho? -!t!0!se p!-! sl!9e2 Sl!9e 6u! su-!h ter-!p!t -!t!0!se -0Csele/ti75 n!.un ini 0elu. 3u/up .e.0u/ti/!n !p!/!h repli/!si sele/ti7 su-!h 0erh!sil2 T!0el 0!ru perlu -i0u!t !nt!r! l!in t!0el 1!n -isele/ti7 -!n t!0el 1!n ti-!/ -isele/ti72 Pe.0u!t t!0el terse0ut -!p!t -ilih!t p!-! G!.0!r '2+%2
6amar 3.2/ re!te T!0le p!-! M!ster
G!.0!r '2+% .erup!/!n pe.0u!t!n t!0el p!-! -!t!0!se -0Csele3/ti7 -i M!ster 2 T!0el 1!n -i0u!t se0!n1!/ -u! 0u!h 1!itu t0Cs!tu 1!n !/!n -irepli/!si sele/ti7 -!n t!0el -u! 1!n ti-!/ !/!n -irepli/!si2 P!-! .!ster t!0el terse0ut su-!h !-!5 untu/ .e.0u/ti/!n repli/!si sele/ti75 perlu -il!/u/!n 6u! sho? t!0les p!-! sl!9e seperti G!.0!r '2+#2