948 eg t'R()('nrt Ii)r ii.,\i) -),-'r//r/
31
PQL:Operasikomposisi danjaringansemantik data Benhar dSitohang LaboratoriumBasis Data, DepartemenTeknik lnformatika,ITB Jl. Ganesa 10,Bandung40132 Telp. 022-2503031,Fax 022-2502746,E-mail :
[email protected]
Sari Public Query Lttrtguagt'(/'Ql,) nLialah bahasa pcnelusumn (rTrrery)pada basis clata nrodel relasi, yang lebih bersifat user friendly r e l a t i f ' t e r h a d a p b a h a s a p e n e l u s u r a np a d a G c n e r a s i k c - I V ( S Q I - , Q I l 1 1 ,Q t n 1 L , d l l . 1 . D a r i s i s i s t r u k t u r b a h a s a , P Q I - d i d a s a r k a n p a d a s t r u k t u r s i n t a k s l i n i c r ( t i c l a k t e r d a p a t s t r u k t u r b l o k r e k u r s i l ' ) .l ) a d a s i s i t a m p i l a n , h a s i l e k s e k u s i d i b e n t u k b e r d a s a r k a n d e f i n i s i e n t i t a s (hukan tuppel, seperti pada SQl,). I)engan demikian duplikasi data pada tampilan dapat dihilangkan. Proscs grzary dan prinsip t a m p r l a n y a n g c l i m a k s u c l k a np a d a I ' ] Q I - d a p a t d i i n r p l c m e n t a s i k a nd a l a m D U M S , c l e n g a nm c n e r u p k a n t e k n i k p c n g g a b u n g a n ( o p e r a t o r k o m p t r s i s i ) , y a n g d i d a s a r k i i n 1 r : r d ap r i n s i p o p c r a t o r j o i n d a n n a v i g a s i p a d a . j a r i n g a n s c m a n t i k d a t a . O p e r a t o r k o m p o s i s i d a n j a r i n g a n s c m a n t i k d a t a a d a l a h t o p i k u t a m a p e n c l i t i a n y a n g d i j e l a s k a n p a c l at u l i s a n i n i . KatLtkutu'i:balu5dpe|t!uSuratt'hasisdQ|d,ke|er8d|llutIEd|Ifutt6sional,ntodclre|osi,navi8ttsi, Lanyuage (PQL).
Abstract PQL: Composition o;lcrator and scrnantic dakt network I ) u b l i c Q u e r y l - a n g u a g c ( l ' } Q l - ) i s t h e s y n l a x o f c l u c r y l o r r e l a t i o n n l d a t a h a s c ,w h i c h i s c a l e g o r i z e d a s h i g h l y u s e r f r i e n d l y c o m p a r e d t o f h e 4 - t h g e n e r a t i o n l a n g u a g e ( . S Q l - ,Q B I I , Q t l l r l - , c t c . ) . A s a q u c r y l a n g u a g e ,I ) Q l - i s c o n s t r u c t e d a s l i n e a r s y n t a x ( w i t h o u t b l o c k r c c u r s i v c ) . V i s u a l i z . a t ' i o no l ' t h c r e s u l t s i s c o n s t r u c t c d a s a n e n t i t y ( n o t t u p p l c , a s h a p p c n e d i n S Q I - ) . A s a c o n s e q u e n c e ,d u p l i c a t i o n o f d a t a o n t h c r e s u l t s c o u l d b c r c j e c t e d . Q u e r y p r o c e s s a n d t h e p r i n c i p l c o f v i s u a l i i r a t i o no f r e s u l t s o l I ' Q I - c a n b e a d a p t e d a s p a r t o f I)BM.s'usingcoIrlpositiorrmethoc|(('.omposititlnOperattlr),clcveloncdils1ln'inteprctatitlntlfjtin by l)ata Scmantic Nclwork. tloth. Oomposition Operator and l)ata Semantic Network are main topic discusscd in this zrticle, as the r e s u l l o f t h i s r c s e a r c ho n l ' Q L . Keyu'ords.'databose,Jiuu.titltutIdept:ndetu'y,tttttligtt|itln,l,ublit.Querylut4iuuse(|'Ql'),query|lnguag relatiornl Operutor.
1
Pendahuluan
Konscp Basis data modcl relflsi rncrnungkinkan pcnggunaanstruktur b:rhasapcnolusuran(query) y7111g bcrsilat tutn-pntcctlrtrol(dikrtcgrlrikanscbagaihahasa Gcnerasi kc-lV). Scbagai contoh, irdalah SQL (StructuredQuery Language)[21.yang dikcnal dcngart tiga kata kurrci .\cler:t-F-ronrWltare, clan dianggap (de.facto.OSI-907-5). scbagristandarbahasapcnelusuran Contoh lain adalah QUEL (tcrrnasrrkdalarn katcgori (abel tupplerelarional.calnilus)t71.QBE (rnenggunakan l7l. Scsuai dcngan strukturnya, dua dirncnsi/skclclon)l hahasa pcnclusurar) gcncrirsi ke-lV rncnyalikan prrnsipskerna kcrnrrdahan hrrgipcrnakaiyangrncrrtaharni logis bitsis data, relasi. skcnra rclasi, atribut, alribut. kunci. darr tuppcl. Untuk pcrnakai dalarn arti luas (publik/casual. yang kurangrngrnahanri skcrualojik hasis gcrtcrasi ke-lV tlata), rnrrklr bahasa nt.tn-prccedut-al tcrny{rtil rclatif bclurn daplt illcildukung kcuurdrfian yang dirnaksudkanQuer .[riendlv"l.Kcsulitan tirnbul lerhadap sehagaiakibat clari luntulanatas pernahanran s k c r n ar e l a s i ,a t r i b u t s c r t a a t r i b u t k u n 0 i ,d i s a r n p i r t g
kornpfeksitas strukturErcry y^ng rncningkat,bila jumlah rclasi yang bcrpcranjuga bcrtarnbah(berdarnpakpada pcnggunaan blok rekursif). Untuk rncningkatkankcrnudahanbagi pernakaidaliun rncngguilakiln hahasapcrlclusuran.serta rngniilgkatkan rncngintcrpretasikan hasil kcrnudahan dalarn pcnclusuran, rlikcrnhangkan slrukturhahasadan rnetodc pcrnroscsan,yang discbrrt schagai Publ,ic Query Language(PQL). yang dimaksudkanunhk basis data rnodclrclasi. Tulisan ini dirnaksudkanuntuk menjelaskan hasil pcnclitianymg dilakukanseca-ra khususuntuk prinsip pcngoluhan pendukung PQL (lenrtarna opcrator konrposisi dan jaringan scrnantik data). Untuk rncndukungpcnjelasan,digunakanbebcrapaconloh yang didasarkanpada skernabasis data yang terdapatpada Diagrarn-l Tulisan ini diawali dcngan pcnjclasan ringkas stnrktur PQL, yang dirnaksudkanuntuk lcbih pernaharnan, rnernpcnnudah dcnganrncmbandingkannya sccaralangsungdenganSQL.
PROCtrl'R.t/()[..-].1, N0.2,2001
l't
2
Contoh I : Prcdikat.Scderhana
Sintaks PQL
B c r t i t i kt o l a kd l r i s i n t a k sP Q L [ 1 2 1p. e r n a k ahi a r r y ap c r l u nlcnyatakandan Inengetahuiatribut yang diperluknn, rclatif terhadapsciunrhatribut yang tcrdapatpada basis datr. Bila diperlukan.juga dapat dinyntakankondisi drilarn benluk sedcrhanayang rclatif tcrhltlap atribut yangjuga terdapatpadabasisdata. Struklurdasar PQL ldalah scbagaibcrikut (rnenggunakan katakunci tAuptl,KAN-.IIKA,l)AN dan ATAU): TAMPILKAN (*) :
(predikat
< atribrrt-I. atribut-2 .IIKA < predikat > (*) ; )
bcrt'ungsi
scbagai
atribut-n >
kondisi,
bcnrpa
kondisi scdcrhana yang dibangun pada tingkat 'JAKARTA'). atribut(rnis.: KOTA = Pcnjabaranlebih lcngkap sintaks PQL dan diagrarn sintaks PQLIl2l disertakanpada Diagrarn 2" Untuk pcrbandingan.diagrarn sintaks SQL disertakanpada Dirgram 3. Berikut ini bcbcrapacontoh PQL yang didasarkanpadr skcmabasisdataINDUSTRI padaDiagrarn,l. SKT],MA IIASIS I)ATA "NDUSTRI"
P Q L ; T A M f I L K A \ k o t l c l c n r o d . . j r r r lp r g . g l j r t o t 'kl'I)AN 'k2' korlc lok= : . I I K A h o d c k o r t t o d=
Contoh 2 : Predikat Scdcrhana,unttrk merepresentasikan prcdikat denganstruktur bkrk pada SQL P Q I . : T A M P I L K A N k o d c k o r r r o t lj ,r l l p e g ,g a j i t o t , p c n d d k a n .llKA parar= jtpang ; SINTAKS SQI_ Khususuntuk RII'l'RIIlVil data : SItLFILIT I)ISTINC]TI < lisrrtribu( > I I N T O < n : t r n a - r e h s i|> t l ' R ( ) M { < N r r r r a - r e l a s|i < n a u n - v i c * > } >} | | , { < N a l r a - r c l a s>i | < n a r r r a - v i c w lWlIItRIt
l IGROL? llY IALLI l , < a t r i h u t> | I IIAVIN(; ] I O R I ) F I RB Y ! { < N a r n l - r c h s i >l < n a r n a - v i e w> } I < a t r i b u t >I l I ]A S C I I ) F I S C l l , { I < r r a r r r a - r e l : r sal n r l - v i c r r > < a t r i b u l > l (lrst-norrror>l<eksp |; ) >t A S ( : l l ) F l S C l l .
I)iagramS:SintaksSQL
(Standard)
SKFIMA ttASlS I)ATA "INI)USTRI"
KOMODTI'AS
( K O D [ ] K O M O I ) # . N A M A K ( : ) M O I ) ,I ( - - ( I S . CCN)
lNl)trs'fRl
(KOI)tj INI)#, NAMA IND)
(untuk PQL)
I)AIi'TAR ATRIITUT : KOI)I] KOMOI)
NAMA KOMOI)
I(-(iS
NA\4A iNI)
Kol)li
CC-N
I-OKASI
(KOI)ts t-oK#. NAMA LOK)
KOI)E Irr"D
I]SA}IA
{ K O I ) E K O M O D # . K O D I : I - O K # .T n H t l N #
lAlllir-
JMI- llsll
1\'\i n
PENDDKAN
AKl'lF-n'AS
(iA.il'fO1'
UONIIS
I-I]MBITR
.IML PIIG
.lLNlS PROD
PASAR
VOI-IIMI]
SA'i'lrAN
Nll-Al PRO[)
(KODIJ KOMOD, KODE I-OK#,'I'AIII]N#. WNI A#, PENI)DKAN#. AKI'IFI'I'AS#, ( ; A t l 1 0 ' l ' . l J O N t i S .I - I j M I l i j R , . l M l - P B G )
l):rr-AGA
( K O D t s K O M O D # , K O D I ] t - ( ] K # ,1 ' A I I I I N # " J B N I S P R O I ) # ,P A S A R # .v O t . l i M l t , S A ' I ' II A N . N I I - A t I ' R ( ) t ) ) alribut den
l-()K
NAMA l-OK
l)iagram 4 : Skcma llasis l)ata "Industri (Untuk PQt,)
Contoh 3 : Sepcrli conioh 2
l a n r l n# h c r t n i a t r i h u tk u n c i
Diagram I : Skcma basisdata "lnduslri" (standard)
P Q I - : T A M P I L K T \ N k o t l c L o n r o d , . j r npl e g ,g a j r t o t , p e n d r l k a n = 'kl' " I I K A k o d e. k o n r o' .di a k a n aD' A N 'iatirrr') ( n a r n al o k = ATAU narla 1111'= ;
SINTAKS PQI, K l r u s u su n t u k R I I ' l R I U V U d a t a : TA\'IPILKAN {}"l {.IIKA< cksp>} : ::= <ekspl>l(){}"0 I T I I ) A K ( < c k s p l >) { < o p k r i b i n> < c k s p > } " 0 , <ekspl>
::= lceksp2><eksp> ;)
: : = < a l r i b u t >< o p r c l > { < a t r i b u t > ;
< o p l o j b i n >: : = D A N T A T A U ;
"01
: = { < h u r u f > i < r n g k a > l < s p c . t a l >" 0 } : < b i l a n g a>n : : = { l + } ' 0 { < f r u l a t >{ < b u l a > } ' 0 I < b u l a t > , , = { < . r n g k a > } , ,l ; <string>'
0l I l2l3l4l5l6l7ltll9l : : = a l b l c l t l l . . . .l.z i A l U l ( - .1 . . . . 711
< s l r c s i a l >: ' . = l l l l * l ( l ) l ^ l q 6 l 5 l # l ( - d| ! l ' l l . l . l " l ' i t
; tl)lil'l-l:l;l+l-l Diagram2:SintaksPQL
Tampilan hasil penelusuran PQL
Scbagri ilustrasi.hahasapenelusuranGcncrasi ke-IV (SQL)dapatrncnghasilkan tanrpilanscbagaiberikut:
::= < h u n r>f
3
Dilihat dari sisi hlsil pcnclusuran,PQL rnencrapkan prinsip cntitas,hrrkurrttrppcl (scpertiyang terjadi pada SQL. QUEL rnirupunQBE). Dcngan dcrnikian. hasil akhirPQL lcl'rihrnrrdah diintcrprctasi olch pernakai.
"==
| <> | l<=l<=l < a t r i [ ) u t > : : = < h u r u f > < l r u r u t > l < a n g k a > l] < k o n s t . r n t a :>: = < s t r i n g> | < b i l a n g a n >;
Jika dihandimgkfln denganSQL. heberapahal yang fidak pltk PQL, yaitu: naura rclasi baik ditarnpilkarr llcrlu untuk fltrihut yang 1rk:ulrlitalnpilkan.ulaupun un(uk k o r r d i s is.c r t as t n r k t r rhrk r kd a l a r nb l o k ( h l o k r c k u r s i 0 .
SQL:
Ill
NRP
NAI\'I A
NILAI MATAKLJI,IAII
IX)SF|,N
n -I
At-l
B
btsisdnta
d- I
-+ 1 ruppct
n I
n I-l
]J
b a s i sd a t a
tl-2
--+| tuPpel
n-l
ALI
O
s i s l c r no p e r a s i
tl-Z
-+ I tuppel
PR()C.n.B. V0L.-13,NO.2,2001
33
Interprcslasiyang tepat untuk conloh di ams, hanrs didlsarkan pada penraharnantcrhadap tuppel, schingga hanrsdipaharnihahwa: . o .
Tampilanyang samauntuk SQL adalahsebagaibcrikut: SQL:
KODIT_ KOMOD
.IML_ PEG
GAJI_ TOT
1 n l , A l - l > p a d a b a r i s k e 1 , 2 d a n 3 m e r e p r e s c n t a s i k a nI e n t i t a s m a h z r s i s w a( b u k a n 3 e n t i t a s ) ,
kl
3-5(r
?4 luta
--r I tuppel
kl
400
36juta
--+ I ruppel
< h a s i s d a t a > p a c l a h a r i s I d a n 2 m c r e p r c s e n t a s i k a nI entitas nlata kuliah, dan
kl
500
-57juta
--r I tuppel
kt
300
< d-2 > pacla baris 2 clan 3 mcreprcscntasikan I entitas dosen.
8Ojuta
--+ I tuppel -+ I t.uppel
t. I
ost
Sesuai dcngan prinsip operasi konrposisi yang dirnaksudkanuntuk mcndukung cksekusi PQL (akan drjclaskanpadabagian-5),rnakahasilyang samadengan contoh scbelurnnya rkan disajikan dalarn bentuk tarllpilanschagaibcrikut:
Hasil tersehutdapat diubah rnenjadi seperti tampilan 2 (PQL), denganrncnggunakankata kunci SUM (jrnl_peg. gaji_tot)dan GROUP BY (kode_komod).Contoh lain yanglcbihsignifikanadalahsebagaibcrikrrt:
PQI-:
NRI,
NAMA
n- |
Al-l
NILAI lJ
MATAKUI-IAII
DOSEN
Penclusuran dan tarnpilanPQL:
basls data
d- l
PQL : TAMPILKAN kode korrrod,.inrl,peg,gaji_tot, pendrlkan, 'k2' n i l a i . * p r o d. I I K A k o d e k o n r o r l= ' k l ' D A N k o d e ,l o k = ;
d-2 (l
slstetll
+ I tuppcl
(1-!
operasi
Bcberapa bentrrk tunpilan untuk contoh penelusuran schclunnya,disajikan berihrt ini.
PQI-: KODEKO}IOD kl
Tanrpilan l: tarnpilan hasil untuk contoh 1 (PQL) PQI,
KODF] KOMOD k I
.IML_ PI'G
GA.IITOT
PENDTDIK .AN
3-5(r
2.1.juta SD
400
36juta
SMP
-s00 300
- 5 7j u l . t
SMA
80juta
S -I
.IML PEG
GA.II. TOT
PENDIDIK -AN
NILAIPROD
950juta
356
24juta
SD
400
36-juta
SMP
500 300
57.juta
SMA
80.;uta
S-|
I
I tunncl
l+
I
Pcnchrsuran dan tarnpilanpadaSQL untuk maksudyang sarnadensflnconlohdi atas: -+ I tuprpel
TarnpilanyangsamauntukSQL adalahscbagaiherikut:
SQL : SEtr,ECT AA.kotle_kornotl,AA.jrnl peg, AA.ga.ii tot, A A . p c n d d k a nB, B . n i l a i p r c x l I'ROM tenagaAA 'kl'AND 'k2' AA.kode lok = U T I I E R E A A . k o d e k o n x r d= ANT) = (SELE,CT konrod BB.kode AA,kode -konrod FROM h.rsill l'lll WII[IR-E, AA.tahun = t s 8 . ( a h u n) ; SQI,:
sQL
KOI)E KOMOI)
.IMI._ P[,G
GA.II_ T0T
PEN I)IDIK. AN
k I
3-5(r
24 juta
SD
-r I tuppcl
k I
400
36juta
SMP
+ I tuppcl
k I
500
57.juta
SMA
---rI tuppel
k |
300
SO.iuta
S-l
-; I tuppel
Interprestasi yflng tepat dari tarnpilanini akan dicrpai, jikn penrakairncrnaharniclcllnisi tuppcl dan kctcrgantunganfungsional.Akibat dari definisitcrsebut,pcrnakai 'kl' pada hanrsnrcurahan)i bahwa bariskc-I, 2, 3 dan 4 lnenyalakanI clrtitas,bukanzl enlitas. Tampilan 2 : lampilan hasil untuk contoh 2 (PQL) PQL:
KODU_ K()MOI) KI
.f\{1. PE(; I -\.\ (\
(;,\.lI T0T l97.iuta
,IML_ PI.]G
GA.IITOT
PI]N. I)IDIK .AN
NTLAI_ PROI)
kl
356
2 . 1j u t a
SI)
9 5 0j u t a
kl
400
36 juta
SMI'
--+ I ruppel
-500
57 juta
SMA
--; I tuppel
300
8O.jLrta S.I
KOI)EKOMOD
,
I tuppel
l. a
+ I tuppel
k3
+ I tuppcl
kl
-+ I tuppcl
--+I tuppel
hasil di interprestasi Sesuaidcnganmaksudpcnelusuran, atasadalahscbagaiberikrt : 'k2' Di lokasi tcrdapatindustri yang rncnghasilkan 'kl'), dcngan kornoditas(kode kornoclitasadalah total nilai produksiindustd scbesar950 juta. Pada industritcr,scbuttcrdapatpegawaisejurnJah: 24 juta), bcrpendidikanSD 3-s6(gqi totalsebesar (gaji SMP 400 totalscbcsar36 juta). bcrpendidikan (gaji totalsebcsar57 juta), bcrpcndidikanSMA 500 S-l 300 (gaji lolal scbesar80jrrta),berpcndidikan Untuk contoh yang lerakhir ini, yang rnenjadi rnasalah dan pcrlu mendapat perhatian khusrrs dari pcmakai adalahintcrpretrsidari atributNILAI-PROD. Padahttsil PQL, NILAI-PROD adalah950 juta (hanyarnuncul I
PRqC.rrB. vOL. 33.N0.2,2001
34
padahasilSQL. NILAI-PROD 950juta kali).Sedangkan muncul pada setiapluppcl (darnpakdari opcratorj()iri' adanyaduplikasi pernunculandata). yang rnengakibatkan Untuk rnendapatkan interpretasi yang bcnar, rnaka pernakaiharus rnemaharni,bahwa NILAI-PROD pada mmpilan hasil SQL tidak mempunyai kelergantungan dependenrry) dcngan (functional fungsional PENDIDIKAN, {etapi hanya ntcmprrnyaiketergantungan Kesalahan lungsional dengan KODE-KOMOD. interpretasisemantik dari hasil SQL akan timbul. jika dilakukan operasi SUM (JML-PEG, GAJI-TOT dan NILAI-PROD) scr(a GROUP BY (KODE-KOMOD). padahasilSQL (seperti Terjadinyaduplikasipenarnpilan pada contoh di atas: KODE-KOMOD dan NILAIPROD) adalah darnpak dari adanya hubungan yang banyakantaracntitasyang diwakrli atribut kunci' Hal ini tirnbul, karcna hubunganantara entitas yang diwakili atribut kunci tidak didefinisikan pada basis data model rclasi serta opcrator join[ll. Pada contoh terakhir' terdapat hubungan arltara kclornpok atribrrt kunci berikut:
K O D I ]K O M O D T^HiiN K O D I ;l . ( ) K
WNI A PFNDI)KA\ AK T | I ; I T A S
K O D I I _ KM 0 OI ) TAHUN K O D I II , O K 4
I N S -P R O D PASAR
Sebagaicontoh,garnbarpada Diagrarn6 adalahjaringan semantikdata yang ada (khususuntuk data AKI pada atribut AK), untuk basis data yang dijabarkan pada Diagrarn5. Pada saat cksckusi query (PQL), untuk rnendapatkan hasil yang akan ditampilkan, aktivitas penelusuran (sccaralogis)jaringan sclnantikdata (sebagaibagiandari operator kornposisi)ditcrapkan sesuai dcngan langkah bcrikut: BASIS I)ATA
RelasiR-l :AK# AKI AKI AK2 AK2
AK3
basis data untuk rnendtrkttngPQL didasarPengaksesan jalur kan pada prinsip kornposisi.yaitu rncrnanlaatkan tncrnbcntuk pada data ultttrk lingkat sintaksyang ada jaringan sernantik data, yang dirlraksudkantlntuk prinsip pcranopcratorjoin Il]. Pencrapan rnenggantikan kornposisi (opcrator kornposisi) dinrlksudkan trnttrk rnenghindariadznya kcrnungkinanduplikasi larnllilart data. sebagai akibat huhtrnganlungsional yang ada antaraentitiasyang diwakili atribut kunci (lihat contoh tcrakhir). Penggahunganantara dtril rclasi pada PQL dilakukanolclr operatorkomposisi,yangprinsipkerlanya didasarkanpada penelusuran(navigasi)jalur jaringan padascrnuaatributjoin. sclnantikdataymg terkelornpok Opcrator kornposisi yang dirnaksudkanpada PQL nrenrpakanpcnjabaran pcrnberttukanjaringan setnantik data (ekuivalendenganopcratorjoin), scrtapenelustlran (navigasi)sernuajalur pada jaringan scrnantikdata yang rnernenuhi syarat,relatif tcrhadapjaringanscrnantikdala eksistcnsitrrpllclpada yang dapatdibangunbcrdasarkan relasi. Penjabaran jaringan scrnantik data tcrscbut dirn.rksudkan untrrk rncnghilangkan dcllnisi trrppcl.
C CI C2 C3 ('4 t]-5
DI D2 D3 t)4 D5 l' FI
XK#
E
AKI AKI AK2 AKz AK3
XKI XK2 XKI XK2 XK3
Ill
RelasiR-3 : XK# XKI XKI XK2 XK2 XK3
YK#
G
II
YKI
GI
YK2 YK I YK2 YKt
G) C;3 Ci,I (;-5
III lt2 I13 I t.1 t I-s
RrlasiR{: YK# YKI
AK#
I
.l
AKI AK2 AKI
ll
12 13
JI ]2
AK2 AK3
t4 t5
Rclasi R-2:RK#
YKI
YK2 YK2 YK3
Operasi komposisi pada PQL
Padabutir 2 dijelaskanprinsipsintaksPQL, sertahentuk tampilan hasil pengolahan yang diharapkan (butir 3). Kedrrahal di atas akan dapat dicapai, denganmcnerapkan prinsip operasi(operator)komposisi,yangdijchskan berikutini.
BK# BKI BK2 IJKI BK2 BK3
E2 E3 F/ B5
l'!
l3 1.4
F.5
.t-) j.l .l -5
Calatan .' atributdcrtgantanda# bcrarli atribut kunci. Diagram 5 : Ilasis Data "Industri" Langkah-l
[,angkah-2
Langkah-3
Langkah-4
Langkah-5
l,angkrrh-6
Idcntiflkasisemuarelasiyang harusdiaktifkan (atrihutyang akan ditampil-kan,scrta atrihut yrng bcrperan pada prcclikat). Ilal ini dilakukanclcnganmencariposisisctiapatribut yang akan ditampilkan dan yang berperan padl prcdikrt. 'fentukan
scmua alribut .ioin antara masingmasing rclasi (semtta atribut .ioin clari setiap r c l l s i d i a n g g a p s e b a g a is r l t u k e s a t u a n ) .
Mulai dari salah satu atribut yang dikctahui kondisinya(ika tcrdrpatpredikat),atau Mulai clari salah satu atribut join yang acla antarirdua r0lnsi 'l'clusurijrringan scmantikyang menuiu ke alribut Iain yang climaksudkanseblgai salah s r t uu t r i b u u t n t u kh a s i le k h i r . 'l'cruskanpcnclusumnkc alrihut lain (ika masihmungkin),atau data sebelumnYa untuk Kembali kc mcnelusuliialur akscsllin (untuk mengulangi l : r n g k l h -)5. sanrpaiscmuaatribut yang lllangi langkah--5, d i m i n t al e l a hd i t c l u s u r i .
l ' R o c .t t B , v o t . .. t 3 .N ( ) . 2 , 2 0 ( ) 1
35
. I AR I \ G A NS F , }A' \ T I K D ^ T A . l a i r i r g a- irrc i l i r r r tdi ka t au i r i u kr c i r s rR - 1 , R , 2 ,d a n l l , . l c a r i d i a g r a n t , 5k ,h u s u s 'AK u n t u kt i a ' L a l ' d a r ia t r i b u A r K.
l ) i r r g r a r n6 : J a r i n g a n. s c n r ' , r n d t i ak t a
Untuk penelusuranPQL berdasarkanbasis data pada D i a g r a r n4 : T A M P I L K A N l ) , F , H . I I K I C = ' C 1 ' , navigasidimtrlaidari 'Cl', schinggajalur lcngkapadalah scpertipadaDiagrarn7.
AK
D
AKI
Dl
cl
XKI
Fl
XK2
F:
YK
II
YKr yKl
ril
I
ll]
| > t tupp"t I
II-r
I
H4 l
Calalan : Dala denganhunrp kccil (a.b.c,dst.) adalahdata alias, pcngulangan penclusuran. untukrnernbcdakan ,{TRIIII,T (' {ll -t
AK AK I a -t l -t
a t
FII
YK
XX l)l XKIir-t o* h-l XK?c-t .+ c-t
Sehinggahasil akhir adalah(mempakanhasil akhir dari aplikasioperatorprojcksiuntukD, F, H) : I)I
Irl YKidYR2c+
lli lJ2
dt c-t
ll.:l lll
[:1.
Diagram 7 :.Ialur penelusuranPQL Dari pcnclusurantcrscbut,akan didapatkanrckapitulasi jalur semantiktlatasebagaiberikut' penelusuran
FI
Hl
t'!
H2
)
I tuppel
II3 H4
PQL:TAMPILKAND, l', II; pcnelusuran Untuk pencluSuran dapat dinrulai secarabcbas. Salah satu alternatifyang mungkin.adalahjalur penelusuranpadadiagrarnberikut.
36
PRO(:.I'tB, V0t,. 33,NO.2,2001
A'IRIIIUI'AK
IIK
AKla+llKlb+
I)
XK
xKld+irt d+ d+ X K2 g9 , F 2
a)
llK2c) bt
a) AK2h) h) h)
h+ h+ c) AK3i+BK:l+ i)
YK
II
AKI
BKI
DI
XKI
F-l
YKI
III
NK2
BK2
D2
XK2
I2
YK2
}I2
AK3
I]K3
D3
XK3
f-t
YK3
II3
D4
I,4
It4
D-5
l,-)
H5
lil
Ill
l)2
f!
lt2
D3
f.3
ll3
D,l
F4
I 14
D-5
Ir5
ti5
)
-) I tuppcl
Jaringan semantik komposisi
data
I tuppel
untuk
g)
c)
H:l
s+
f)
H4
d+
r-3
g)
f4
xK 2k+ F"5 k) YK3)
KODI'] LOK
kl
k2
kl
k3
Data di atas (kl pada baris I dan 2 tnenyatakansatu cnititas) dirnaksudkanuntuk dapat rncrcprcntasikan adanyaindustridcnganhasil (kode korrxxlitaskl) yang s:una,tctapipadalokrsi yangberbcda(k2 dan k3). Pada jaringan scrnantik data, usaha rncnghilangkan duplikasidata scpcrticli atasdidckatidcnganrncn)rusun join tlalrrn bentuklain), datadari saturclasi(intcrprctasi scsuaiclcnganaturanhirarki (trec structure).dilihat dari atrihutkunciyangdapatberpcransebagaiatributjoin. Schagaiilustrasi,rnaka data di rtas (KODE_KOMOD dcnganKODE_LOK) tk:ur Icrsusunrncnjadi:
lioM0t)
operasi
Pernbcntukanjaringan sernantik data (conloh: garnbar pada Diagram 6) sebagai pcndukung navigasi pada operasi kornposisi PQL dirnaksudkan untuk
H5
rnenghilangkan duplikasidata (rcprcscntasidari cntitas yang siuna).Pada model relasi, duplikasi kernunculan datayangsarnapadabeberapatuppcl,adalahpendekatan untuk dapal rncnyatakanhubungan fungsional satuyang ada antaraentitasyang hanyakataubanyak-banyak diwakili olch atribut kunci. Scbagaicontoh (dari skcrna relasi PEGAWAI pada diagrarnI ) adalah antara K O D E K O M O D d c n s a nK O D E L O K : KOI)It KOI\{Ot)
Sebagaibahan perbandingan,navigasiyang dimaksudkan untuk rnendukung operator komposisi pada PQL, adalahsarnadenganprinsip aplikasi navigasi[0] pada basisdata modcl hirarki. Perbeda:nsignilikantcrdapat pada cara pernetaanjaringan sclnantikdata. Padamodcl hirarki, struktur pohon didefinisikanpada tingkat record rype|l1, sedangkan pada PQL, stnrktur pohon didellnisikanpada tingkat prirnitil'basisdata.yaituJield (pernbentukanstruktur pohon pada PQL dijelaskanpada bagianberikut). 5
YKle) Hl YK 1| + H2
D.1 r).5
Sehingga hasil akhir adalah (rncrupakan h a s i l a k h i r aplikasioperatorprojcksiuntuk D, F, H): DI
II
D2 D3
Dari penelusurantcrscbut, akan didapatkanrckapitulasi jalur scrnantikdatasbtr.: penelusuran XK
YK
Dl
a)
AK
II
KODt; t,oK
Calalan .' kcnrunculandata hanyasatrrkali.
'kl' pada s t m k t u rd i a t a s ,
PR0(-.lTB, \/O1,.33,N(). 2, 2001
jarirrgan scrnantikdata (interprctasilain Pernbentukan join ) diil)at dilakukan dcngan unllan opcrator dari langkahberikrrt. angkah-1
Tenlukan skema relasi dimana semua atribut yang akan ditampilkandan atribulpada predikat (kondisisederhana) dit6mukan.
Langkah-2
Tenlukankumpulanalribul kunci (dapatterdiri dari 1 alau beberapaatribul) maksimumpada seliap skema relasi yang dapal digunakan sebagaiatributjoin anlarasemuaskemarelasi hasil angkah-1(').
Langkah-3
Tranformasi tuppel dari setiap relasi yang berperan dalam operasi komposisi, dengan menggunakankumpulanalribul kunci sebagai akar (root)(")
Langkah-4
Lakukan op€rasi komposisi antara sesama slruklur pohon (hasil langkah-3), dengan memperhatikankesamaan kumpulan alribut kunci. Hasil dari operasi komposisi relalif terhadap 2 relasi akan menghasilkansalu strukturpohon.yangmerupakanpenggabungan kedua struklur pohon yang merupakan represenlasi dari2 relasiyangdikomposisikan.
Langkah-5
Ulangi langkah-4, sampai semua operalor komposisilelah diaplikasikan. Hasil akhir dari pengulangan ini akan merupakanlangkahunluk menggabungkan semuastruklurpohonmenjadi satu kesatuan(--').
kelerangan : (*)
:
llu! irti tliltrkukort tidtk tcrhtrttt:; htttytt pddu skon,t r<'lusi ltusil langkah-1, tetapi pddd sa,tud skttnu relosi yttrtg Ierduput lsoda basis datu. K<,pertirtgtut pertgikulsertaut setnud sketrut relusi, dimuk.tudkan uriluk tnttndtput kun jurnluh otribut k w t c i s o u k s i r n a l r n u t t g k i t t ,y a n g d o p a t d i g r t n a k u n s c b d X di r t tr i h u ! j r t i r r .
(**)
:
I lntuk rnorirtg,kutkart eJisicttsi. tnako stntktur p o h t n r h a n 1 , , tt l i b o n g n r t u r i u k d u t o d t r i b u t k u t : l i (roat) ya,rt rnerneruthi ktndisi, relutiJ terhudup operasi krrrytosisi sebeluntt.yrt. I)engon proses tntrtsJttnnusi irti, rmku kutnpultrt duta yang tnrruJ.tukttrt penjLrbarart (muplting) dari kanpulon atribut kurrci, ukan wrik.
(*x*:)
:
Slrdtexi potyirnpurturt struktur ptda itnplernerldsi lttrgkalt irti ukart songdt t,t(tu,trtrftan kirterjo 71terlit nnt trt e') .ri,\l4n l' Q 1,.
Catutan : Langkah untr,lk penchrsuranjuringun scrnalrtikdala (untuk rncndapalkanhasil akhir) telah dijelask{rnl)ada bagianzi. Dcngan jaringan scnrantikdala yang dihasilkandari langkah-llngkxhterscbuldi atas.rnakasgtial)penetnuan stnlkturpohon, flkan satucabangbaru prdl pcnclusurar) menghasilkandrttr ynng banr. Hal ini terjadi, karerra sctiap c:lhar1apirda stnlktur pohon akan unik. Jika bebcrapa stnrktrir pohorr dari bchcrapa pcnelusuran disattrkan(rrsaharncnghilailgkanduplikasi data pada tarnpilan),rr)ak{rakln didapatkansuatujaringan dala -y{I)g r}tcrnbcnllrk gcraf, yirt)g dalarn pcnjcl0san
37 scbclurnnyadischut scbagai jringan semanfik dtta (sehagai contoh,lihatgarnbarpadadiagrarn-6). 6
Uji-cobaimplementasi
Uji-coba pcngcrnhangandan irnplerncnlasialgoritrna jaringan sclnantik operatorkornposisidan pcrnbentukan prinsipyang lelahdijclaskanpadabutir dntaberdasarkart .l dan -5telahdilakukan.Bcrdtsarkanuji-coba,algoritma operatorkornposisiclanalgoritma pembentukanjarir)gan sernantikdata dapat rnembcrikanhasil yang scsuai denganharapan,dcnganalgoritrnayang lengkap scbagai pcnjabaran dari langkahtersebutpadabutir 4 dan 5[ l 3]. Perrnasalahan utarnapada uji-cobn penggunaansisteln adalahpadakonfigurasipcrangkatkcrasyang tcrmnksud, digunakan, khususnya yang rncnyangkut dcngan pcnggunaanmcrnori. Pada saat pcrnbcntukanjaringan sernantik data, rnaka sernua data (field) yang dideflnisikanpada atribut yang pcrlu diakses, harus dipctakanrclatil' tcrhadapdata ([ielt[1 lltinnya. baik dari atribut yang siun:I,rllaupundari atribut yang bcrbeda (pernetaantcrschutInernbcnluksatu jaringan scmantik data, yang didasrrkan pada struklur gcral). Dcngan dernikian,jaringan selnantiktlata akan tcrdiri dari satrr stntktur gcral', denganjurnJah nodc yang relatif hesir, yaitrf sarnadenganjurnlah tlata (field\ yang mcrnenuhi syaral.Schagaiiluslrasi,geraf pada diagranr-6adalah satu gcraf ylng dibcntrrkberdasarkanbasis data pada diagrarn-5 untuk satu Ercry lertelnlu. dirnana geraf tcrsebut rnerupakan jaringan scrnantik data yang dibcntuk dari relasi R-1, R-2, dan R-3 (diagrarn-5), khusus unluk data AK I dari atribut AK. Jaringan scrnantikdata sepcrli contoh tersebut hams terlebih dahulu dibcntuk sccara utuh (rnernbutuhkanlncnrori yang bcsar, relatif jauh lebih bcsar dari kcbutuhan tuppel), banr kcrnudian operator kornposisi daplt hasil akhir. Selanjutnya, diterapkan,untuk rnendapatkan sesuaidengankclndisirtribut AK, rnaka pcmbentukan jaringan scnlantik data dan penerapan opcralor kornposisihanrs diulang bebcrapakali, scsuai dcngan jurnlahdatayangtcrdapatpadaatributAK. Secara prinsip, pcndekatantersebut di atas sangat hcrbcdadcnganprirrsippcncrapanopcrlrtorjoin, dirnana pengaksesansclalu dilakukan berdasarkan tuppel. Dcngan dcrnikian. kcburuhan mcrnori untuk proses denganoperalorkornposisi(aksesberdasarkanentitas) kapasitasrncrnoriyang jauh lcbih hcsar rncrnbutuhkan tuppel. bcrclasarkan daripadapcngakscsan Dari sisi sisternopcrasidalarnarti fungsional,rnasalah klrpasitasrucrnori (crsch(r(sehcnarnyatidak rncnjadi kcndala.Hal ini dapat diatasi dcngan bcrbagai cara. antflrafain: swapping,virtual ntenn,t. Tetapi dari sisi waktu tanggap(tine rcspon,te)untuk pcmroscsanquery pada basis data, biasanya pcndekatan ini kurang rncrnberikanhasil yang lnernuaskan.Olch karena itu, alternatif lain. yang rnrsih dipcrlrrkanpcngcrnbangan sccarA spcsil'ik akan sesuai dcngan kebrr{trhan qucry-padabasisdall. pcrrrrosesan
PROC"I7-8.VOL.33.NO. 2.2001
38
7
Kesimpulan
2
Kernudahaninterpretasihasil (rarnpilan)dimungkinkan oleh pengErnaan operator kornposisi (kesatuanantiua interpretasioperator join dalam bentuk lain scrta navigasipadajaringan Igerafl data), yang didukungolch penjabarandata dari setiaprelasi mcnjadi struklurpohon (tree) berdasarkan sernantik dala (discbut rebagai jaringan semantikdata). Pengernbangan slruktur tarnpilan hasil PQL didasarkan pada analisis kcbutuhan serta berbagai kendala yang dihadapi oleh pemakai awam SQL. Dcngan SQL, rnterprctasrhasil pengolahan hanya akan bcnar, jika pcmakai rnernaharni tuppel dan keterganl.ungan fungsionaJ.Hal yang terakhir ini, adalah konsiderirsi pada stmkrur tampilan PQL, bagaimanamcnghilangkan adanyakemungkinansalahintcrprctasihasil. Padapenelitianlersebut.konsidcrasiutarnayang rnenjadi pcrtimbanganadalah, bagairnananrenyediakanfasilitas intcraksi bagi pemakai (query) yang lidak rncrnaharni konsepbasisdata.DenganadanyasintaksPQL [3] dan prinsip solusi dalam pernrosesanyang dijclaskan daiarn rnakalah ini, kiranya kcndala yang ada pada pernakai, dapat diatasi dengan rneningkatkandcrajat otomatis.lsi padasistembasisdata. Salah satu kendala implemenmsi PQL adalah pada konfigurasi perangkatkcras yang digunilkan,khususnya rncrnori. Pcmbcntukan jaringan sernantik data rnernerlukanukuran mcrnori yang rclatif besar. scsuni denganjurnlah node pada jaringan semantik data dan jurnlah node tersebut akan sarna dcngan jumlah data (fielfi yang terkait,yang ada dalarnbasisdata. Usulan perbaikan selanjutnyayang dipedukan, scbagai kelanjutan dari penelitian ini, adalah cvaluasi dan pengernbangan algoritma pcmbcntukan laringan sernantik data, sehingga dapat rneredusirjurnlah data (fie\il pada geraf yang rnewakili" Altcrnatil pendckatan yang rnungkin. yaitu rnencrapkankondisi query seAini rnungkin (sebclum penerapan operasi kornposisi), sehingga data ffiel.A yang tidak rncmenuhi syarat kondisi pada query tidak perlu disertakan pada saat jaringan sernantikdata.Altcrnatit lain yang pernbentukan rnungkin dapat diteliti lebih rnendalarn. yaitu lnenentukanbatas pemilahanjuingan scrnantikdata, jaringantersebutdapatdilakukan schinggapcmbentukan secara bertahap. Dua altcrnatif ini rnenrpakan arah penelitian lanjutan yang pcnting dalarn topik PQL, sebelum PQL tennaksutl dapat digunakan secaranyata unluk mendukungpemrosesnnquery padabasisdata.
ANSVX3/H2" Contittee an Anrerican National Standart Databa,seLansuape SQI." (X3lI2-84-l i7), ANSI/X3ISPARCProject363 D. ACM, Ncw York. 1984. Chambcrlin. DD dkk., SEQUEL 2: A unified approach to data definition, rnanipulation, and control, IBM .lournal Research& Developntent,20, 6. s60-575.1976.
+.
Cotld. EF, A relationalrnodcl for large shareddata banks,Conmr.ACM.l3, 6, 337-381.1970.
5 . Codd. EF, Extcnding thc databaserelational rnodel to capture rnorc rnelming. ACM lransar:Iion on databal;e$),stem,4, 4, 397431. 1919.
6" Codd, EF, 1'he relational nrcdel frtr database 2'r, nwnagenrcnt (version PublishingCo.Inc."USA, 1990.
Addison-Weslcy
7 . Date, CJ, and DARWEN Hugh, Relational I)ataba:se(writing 1989-1991\, Addison-Weslcy P u h l i s h i nC g o . I n c . ,U S A , 1 9 9 2 .
8 . Husni. S & Sitohang,B dkk, Perancanganbasis data interaklif untuk ,\KDP, Laporan akhir kcrja sama penclitian antrara Perurntel dan Lcrnbaga Pcnelitian-ITB, Lernbaga Penclitian ITB, Bandung.1988. 9.
Ozkaharan.EA. Database Machine and Database Managentenl, PrcticcHall, USA, 1986.
t 0 . Stonebaker,M, Rertrospectiveon a databascsystcm, 'l'ransar:tion ACM on database Sy.stent. 5. 2, 225240.1980"
I l " Sitohang, B, Marut.skripI'QL, Lahoratoriurn Basis Data & Sistcrn Manajerncn Infonnasi. Jurusan Teknik Inforrnatika. F|I-ITB. 199I " t 2 . Sitohang,B, I'QL: Bahasa penelu,utranIQueryl hasis data (Publit' Query l,anguage/PQl), Junrsan Teknik Inforrnatika, Ffl, ITB, Septcrnber1995. Risrnauli, AV & Tridanarti, A, Implent.e nta.si algoritma I'ublic Quem Lang,uage,Laporan Kcrja Praktck, Jurusan Tcknik Inforrnatika. FfI, ITB, Nlarct1993. 1 4 . LJflnnn" JD, Dotabal;e and knowl.edge-ba,sed ,!'),.rtcr?r,s, Volurne I, Cornputer Sciencc Prcss, Maryland- USA, 1gftfl.
1 5 .Wachid Nur, ,tlrrcli anmrntuka /'Ql-, Tttgas Akhir Sarjana, Junrsan Tcknik Inlirrrnatika, FII-ITB, t994.
16. Wicdcrhold, G, I.-ile Organiz.ationfor database
8 l.
Pustaka Aho, AV dkk, The theory of join in relational .databases,ACM Transactionon [)ataba.yeSystent.,4" 3 . 2 9 7 - 3 r 4 .1 9 7 9 .
Mc.Graw-Hill,Singaporc,I 9t17. de.sign,
1 1 .Zlool, MM,
Query By Exarnple: a database languagc, IRM Systent .lournal, 16, 4. 324-343, t911.