Integrasi Data Semiterstruktur Secara Skematik

advertisement
BAB II
TINJAUAN PUSTAKA
2.1
DATA SEMI TERSTRUKTUR (SEMISTRUCTURED DATA)
Keberadaan data semi terstruktur dikarenakan adanya kebutuhan akan format data
baru yang kemudian ditempatkan kedalam teknologi basisdata yang telah ada, terdapat 3
(tiga) motivasi yang dijadikan sebagai dasar dikembangkannya data semi terstruktur,
pertama,
adanya sumberdata yang ditempatkan pada web, yang ingin diperlakukan
sebagai basisdata akan tetapi tidak mengikuti aturan skema basisdata yang telah ada
seperti relasional basisdata.
Ke-dua, adanya keinginan untuk memiliki format data yang lebih fleksibel dengan
tidak adanya aturan yang menentukan tipe, panjang pada elemen datanya, dan yang ketiga adalah memungkinkan kemudahan pada proses pencarian data (browsing) tanpa
memperhatikan skema dari sumberdata yang dicari, meskipun sumberdata tersebut
memiliki skema. Motivasi nyata yang sangat penting terhadap keberadaan data semi
terstruktur adalah adanya keinginan untuk membawa format baru ini kedalam teknologi
basisdata yang telah ada. Pada data semi terstruktur, informasi yang biasanya
diasosiasikan dengan skema ditempatkan di dalam data itu sendiri, hal ini dikenal dengan
istilah “self-describing”. Pada beberapa bentuk data semi terstruktur tidak terdapat skema
yang terpisah, kalaupun terdapat skema yag terpisah biasanya yang ditempatkan pada
skema hanya batasan yang terlepas dari data (Buneman, 1997).
Pendekatan yang digunakan dalam merepresentasikan data semi terstruktur
menggunakan model yang disebut sebagai ‘labeled tree’, yaitu struktur pohon dengan
edge berlabel. Untuk membangun struktur edge-labeled tree seperti pada Gambar 1.
menggunakan sintaks sebagai berikut:
{A⇒ {B⇒ {}, C⇒ {}}, D⇒{}}
D
A
B
Gambar 1. Contoh edge-labeled tree
C
Untuk memahami struktur edge-labeled tree seperti pada contoh, terlebih dahulu
harus dipahami sintaks dasar yang digunakan yaitu:
{ }, merupakan sintaks untuk representasi empty tree
{l ⇒ t}, sintaks yang menyatakan adanya root tree dengan satu edge-labeled l yang
terpasang pada subtree t
t1 ∪ t2, sintaks yang digunakan untuk melakukan penggabungan antara tree t1
dengan tree t2, penggabungan dilakukan dengan menyatukan root dari
kedua tree.
Dengan demikian sintaks {A⇒ {B⇒ {}, C⇒ {}}, D⇒{}}, menyatakan bahwa sebuah tree
terbentuk dari dua edge-labeled A dan D, pada edge-labeled A terpasang subtree yang
terdiri dari edge-labeled B dan edge-labeled C. Karena pada edge-labeled B, C dan D
subtree yang dituju merupakan empty tree, maka sintaks dapat disederhanakan menjadi
{A⇒ {B, C}, D} (Buneman, 1996).
Label ditempatkan pada edge tidak hanya berfungsi sebagai nama edge, tetapi dapat
berfungsi sebagai data dengan tipe Integer, String, atau tipe lain yang sudah dikenal. Pada
model data semiterstruktur digunakan juga tipe data simbol (Symbol), tipe data ini
dipakai jika label pada edge berfungsi sama seperti atribut pada basisdata relasional atau
nama class pada object oriented. Formulasi untuk menentukan label sebagai berikut:
type label = int | string | … | symbol
type tree = set(label x tree)
Formula yang pertama dapat dijelaskan bahwa tipe label dapat berupa integer, string atau
symbol, sedangkan formula yang ke-dua dapat dijelaskan bahwa sebuah pohon (tree)
adalah kumpulan dari label atau pasangan pohon.
D
A
C
B
“b”
1
“a”
Gambar 2. Contoh penggunaan tipe data sebagai Label
5
Penulisan label yang berfungsi sebagai data dengan tipe data string menggunakan
tanda kutip, seperti contoh “a”, sedangkan penulisan angka tanpa menggunakan tanda
kutip. Untuk label yang berfungsi sebagai atribut, hanya dapat menggunakan tipe data
simbol walaupun tetap menggunakan huruf dan angka dalam penamaan label tersebut.
Penulisan nama label dengan tipe data simbol dilakukan tanpa tanda kutip dan biasanya
menggunakan huruf kapital, contoh label A, B, C dan D, seperti pada Gambar 2.
Struktur pohon dapat juga digunakan untuk merepresentasikan basisdata relasional,
Tabel 1 dan Gambar 3 adalah contoh basisdata relasional dalam struktur pohon (Suciu,
1996).
r1:
m
n
a
b
b
c
c
b
r2:
m
p
q
b
c
c
a
a
c
Tabel 1. Contoh Basisdata Relasional
r2
r1
tup
m
tup
n
m
tup
m
n
a
tup
c
b
c
c
n
b
tup
m
p q
q
m
p
b c c
a
a c
Gambar 3. Struktur pohon data semi terstruktur.
Representasi basisdata dalam bentuk pohon di atas yang memiliki sintaks sebagai
berikut:
Tree ::= {}|{Label ⇒ Tree} | Tree ∪ Tree
Yang memberi penjelasan bahwa, setiap pohon tidak memiliki pohon atau disebut
sebagai empty tree yang disimbolkan dengan {}, atau setiap pohon merupakan kumpulan
dari label yang membentuk pohon yang disimbolkan dengan {Label ⇒ Tree}, atau
merupakan gabungan antara pohon dengan pohon lainnya yang disimbolkan dengan Tree
6
∪ Tree. Yang dimaksud dengan label adalah setiap edge yang mempunyai label seperti
edge tup, edge m edge n dan sebagainya, beberapa label ini dapat membentuk pohon
seperti terlihat pada edge r1. Sedangkan pohon yang dihasilkan oleh gabungan dari pohon
r1 dan r2 akan membentuk pohon yang lebih besar.
Gambar 3. juga memperlihatkan adanya perbedaan skema pohon antara r1 dan r2,
pada r1 terdapat 3 (tiga) edge-labeled tup dengan 2 (dua) edge-labeled dibawahnya yaitu
m dan n, sementara pada r2 hanya ada 2(dua) edge-labeled tup dengan 3 (tiga) edgelabeled m, p dan q. Perbedaan ini menjelaskan karakteristik dari data semi terstruktur
yang tidak terpaku pada satu skema saja.
2.2 METADATA
Metadata adalah informasi terstruktur sebuah basisdata yang sering disebut sebagai
‘data tentang data’ atau ‘informasi tentang informasi’. Data atau informasi yang
ditempatkan pada metadata merupakan data yang dapat mendeskripsikan elemen yang
terkandung pada basisdata, baik informasi berupa nama dari elemen, konten, dan aturan
yang diberlakukan pada elemen tersebut. Deskripsi basisdata ini dimaksudkan agar dalam
penggunaan dan pengelolaan basisdata tidak mengalami kesulitan, informasi yang
terkandung pada basisdata dapat diakses dengan mudah dan tidak rusak. Selain deskripsi
elemen basisdata, informasi tentang lokasi dimana informasi ditempatkan juga dapat
ditempatkan pada metadata, sehingga temu kembali informasi dapat dilakukan dengan
mudah.
Terdapat 3 (tiga) jenis utama metadata, yaitu; Descriptive metadata, Structural
metadata, dan Administrative metadata. Descriptive metadata adalah metadata yang
mendeskripsikan sebuah sumberdata untuk kebutuhan identifikasi data, termasuk
didalamnya identifikasi terhadap elemen seperti judul buku, abstrak, pengarang dan kata
kunci pada sebuah dokumen di web. Structural metadata merupakan metadata yang
menjelaskan proses penggabungan beberapa objek, seperti penggabungan beberapa
halaman web yang diurutkan ke dalam bentuk bab pembahasan pada sebuah buku
elektronik. Administrative metadata adalah metadata yang menyediakan informasi untuk
membantu dalam mengelola sebuah sumberdaya, seperti dokumentasi atas pembuatan
sebuah file, tipe, teknik dan hak akses yang diberikan untuk sebuah file.
7
Descriptive metadata merupakan metadata yang umum digunakan untuk
mendeskripsikan suatu basisdata, fungsi dari metadata ini adalah sebagai resource
discovery. Fungsi ini memiliki kesamaan tugas dengan sebuah katalog, yaitu menemukan
sumberdata berdasarkan pada kriteria yang diinginkan, mengidentifikasi sumberdata,
memberikan informasi sumberdata yang sejenis, memisahkan sumberdata yang tidak
sejenis, dan memberikan lokasi penempatan informasi yang diinginkan. Fungsi lain yang
dimiliki oleh descriptive metadata adalah meningkatkan kemampuan interoperability,
yaitu kemampuan dari multi sistem yang memiliki perbedaan pada hardware, software
platforms, struktur data dan antarmuka dalam melakukan pertukaran data (NISO, 2004).
Struktur metadata yang juga disebut sebagai skema adalah satu set elemen metadata
yang berisi nama elemen beserta definisi dari elemen (semantik), nilai yang ditempatkan
pada elemen metadata disebut sebagai konten, dan aturan-aturan yang diberlakukan pada
konten. Contoh aturan yang terdapat pada metadata adalah aturan cara untuk
merepresentasikan konten, misalnya penggunaan huruf kapital pada konten, bahkan dapat
juga ditentukan value dari konten yang diperbolehkan, misal penggunaan value L dan P
pada elemen Jenis_Kelamin. Selain aturan dalam menentukan value elemen, terdapat
pula aturan pada sintak yang menentukan bagaimana elemen dan kandungan elemen
seharusnya ditulis (encode). Metadata dapat ditulis dalam berbagai sintaks, beberapa
skema menggunakan SGML (Standard Generalized Mark-up Language) atau XML
(Extensible Mark-up Language).
Metadata Encoding and transmission Standard (METS) adalah descriptive dan
administrative metadata yang dibangun untuk memenuhi kebutuhan struktur data baku
untuk mendeskripsikan perpustakaan digital. METS adalah sebuah skema XML untuk
membentuk instance dokumen XML yang berisi struktur dari perpustakaan objek digital.
Sebagai metadata yang bersifat descriptive dan administrative, METS diharapkan
memberi pengelolaan dan penggunaan perpustakaan objek digital berbeda dan meningkat
dibandingkan metadata yang digunakan untuk mengelola objek fisik seperti hasil cetakan
dan objek fisik lainnya. Contoh penggunaan METS sebagai administrative metadata
digunakan untuk memastikan ketersediaan halaman sebuah buku digital yang berada pada
file digital yang berbeda.
8
Dublin Core Metadata Element (DCME) adalah satu contoh skema metadata yang
dibangun dengan tujuan awal untuk mendefinisikan satu himpunan elemen yang dapat
digunakan untuk menjelaskan sumberdaya
web yang menyediakan informasi
perpustakaan digital. Berhubungan dengan perkembangan sumberdaya elektronik dan
ketidakmampuan perpustakaan dalam penyediaan katalog bagi semua sumberdaya
tersebut, maka tujuan dari skema ini adalah mendefinisikan beberapa elemen dan aturan
sederhana yang dapat diterapkan oleh mereka yang bukan sebagai pembuat katalog.
Terdapat 15 elemen pada DCME, yaitu: Title, Creator, Subject, Description, Publisher,
Contributor, Date, Type, Format, Identifier, Source, Language, Relation, Coverage, dan
Rights (NISO, 2004).
2.3
INTEGRASI
Peningkatan apresiasi pengguna (user) terhadap web yang berfungsi sebagai alat
utama
dalam
pertukaran
data
menyebabkan
peningkatan
kebutuhan
untuk
mengintegrasikan data yang berasal dari berbagai sumber yang memiliki kemungkinan
perbedaan pada skema dan model data. Keberagaman sumberdata ini dapat terjadi pada
sumberdata konvensional maupun sumberdata semi terstruktur.
Integrasi basisdata dapat dilakukan dalam 2 (dua) langkah, yaitu; translasi skema
(schema translation) dan integrasi skema (schema integration). Pada tahap translasi,
komponen skema basisdata akan ditranslasi menjadi intermediate schema kedalam
bentuk yang biasa digunakan dalam merepresentasi skema basisdata (canonical),
misalnya model E-R (entity relationship), penggunaan representasi yang canonical
dimaksudkan agar dapat mengurangi penggunaan translator yang beragam. Tahap
translasi skema perlu dilakukan hanya jika komponen basisdata bersifat heterogen atau
skema pada basisdata lokal didefinisikan menggunakan model data yang berbeda. Hal
lain yang juga dilakukan pada tahap translasi skema ini adalah menentukan spesifikasi
model data untuk mendefinisikan skema konseptual global yang akan digunakan pada
tahap integrasi data (Özsu et.al, 1999). Tahap selanjutnya adalah tahap integrasi skema,
setiap skema antara (intermediate schema) diintegrasikan ke dalam skema konseptual
global yang telah didefinisikan sebelumnya, dengan mengidentifikasi komponen dari
basisdata yang saling berkaitan antara yang satu dengan yang lain.
9
Hasil dari integrasi yang dilakukan harus memenuhi tiga hal yaitu; kelengkapan,
minimal, dan dimengerti. Kelengkapan yang harus dipenuhi pada integrasi adalah jika
semua informasi yang berasal dari semua skema dapat diintegrasikan ke dalam skema
konseptual global yang telah ditentukan. Kondisi minimal dari hasil integrasi data dapat
dilihat dari banyaknya kerangkapan informasi yang terdapat pada skema hasil integrasi,
hal ini dapat terjadi karena kegagalan dalam mendeteksi kerangkapan informasi pada
intermediate schema. Mudah dimengerti adalah hal terakhir yang harus dicapai dari
integrasi, hal ini dapat peroleh dengan terbentuknya skema terbaik dari hasil integrasi.
Berbagai bentuk pemecahan integrasi data telah dibuat, yang dapat dimasukkan
kedalam 2 (dua) kategori utama, yaitu integrasi data dengan pendekatan struktural dan
integrasi data dengan pendekatan semantik. Integrasi data dengan pendekatan struktural
menggunakan skema global dari sumberdata yang akan diintegrasikan, sedangkan
integrasi data dengan pendekatan semantik menggunakan konseptual model atau
‘ontologies’ setiap basisdata lokal sebagai integratornya.
Pada beberapa sistem integrasi data yang menggunakan pendekatan struktural,
selain menggunakan skema global, sistem juga menggunakan skema lokal. Kedua skema
dibutuhkan karena integrasi data dilakukan dengan memetakan skema global dan skema
lokal, untuk menghasilkan view definition. Contoh dari pendekatan struktural adalah
Tsimmis, model data yang digunakan dalam integrasi data ini adalah OEM (Object
Exchange Model), sementara pada MIX, model data yang digunakan adalah XML.
Sedangkan untuk membangun pendekatan semantik, beberapa usaha telah dilakukan
untuk membiarkan pengguna melakukan integrasi data pada tingkat konseptual, seperti
RDF (Resource Description Framework).
Pendekatan untuk masalah integrasi data biasanya mengadopsi pendekatan integrasi
skema tradisional untuk basisdata terstruktur yang heterogen, atau pendekatan integrasi
data semi terstruktur. Kunci keberhasilan integrasi data terdapat pada hubungan antar
skema (interschema relationships), identifikasi hubungan antar skema akan memberikan
kemudahan dalam integrasi data. Identifikasi hubungan antar skema pada sistem integrasi
data untuk data semi terstruktur dapat dilakukan dengan cara yang berbeda, pada proyek
TSIMMIS, identifikasi antar skema dilakukan menggunakan pendekatan dengan
membangun mediator hanya untuk memahami sumberdata dimana mediator tersebut
10
digunakan. Pada proyek ini tidak digunakan skema basisdata global (Chawate et. al,
1994).
Integrasi data dengan menggunakan pendekatan skema konseptual tidak dapat
diterapkan pada data semi terstruktur, hal ini dikarenakan model data semi terstruktur
hanya menggunakan labeled-graph untuk menangkap semantik dari data, oleh karenanya
agar data semi terstruktur dapat menggunakan skema konseptual untuk integrasi data,
digunakan suatu model data yang dapat mengekploitasi informasi skematik (schematic
information) dan sekaligus dapat merepresentasikan data semi tertruktur dengan baik.
Untuk memenuhi kebutuhan tersebut dapat digunakan XML sebagai model data, dimana
DTD (document type definition) untuk menangkap informasi skematik, dan dokumen
XML sebagai representasi data semi terstruktur(Gianolli et. al, 2000).
Penggunaan model data semantik pada integrasi data yang berbasis pada model data
XML memungkinkan dibentuknya skema target, dan memetakan informasi yang terdapat
pada beberapa fragmen XML ke dalam model konseptual tujuannya. Mengkombinasikan
definisi skema konseptual dan membuat pemetaan (mapping) dalam satu langkah
mendukung timbulnya ide untuk menggabungkan user-defined, intradocument dan
interdocument menjadi satu mata rantai yang berperan melakukan identifikasi dan
peleburan objek selama tahap data integrasi berjalan.
Konseptual skema dapat dibentuk berdasarkan pada beberapa input data model yang
menawarkan beberapa konsep seperti entity, attribute dan mapping. Proses pembentukan
konseptual skema dapat dilakukan dengan mengambil DTD sebagai input, kemudian
dipetakan sesuai dengan elemen yang terdapat pada kedua skema. Pembentukan skema
konseptual dapat dilakukan secara manual, dimana manusia akan berperan sebagai
integrator (human integrator). Kebutuhan informasi yang akan disajikan dan kebenaran
skema input serta semantik data merupakan parameter pada pembentukan skema
konseptual.
Kebenaran integrasi skema sumberdata terhadap skema konseptual global dapat
dilihat berdasarkan dari terpetakan semua elemen data sumberdata pada elemen data
skema konseptual global, yang diikuti dengan dihasilkan output yang benar. Jika terdapat
elemen sumberdata yang tidak terpetakan maka skema konseptual global yang dirancang
belum dapat mengintegrasikan data.
11
2.4
EXTENSIBLE MARKUP LANGUAGE (XML)
XML merupakan bentuk baku untuk merepresentasikan struktur dokumen teks dan
data pada web, yang memberikan kemudahan dalam publikasi dan pertukaran data.
Kemudahan tersebut terdapat pada sintak sederhana yang digunakan XML, tidak seperti
pada HTML, XML diharapkan dapat memenuhi kebutuhan manusia dalam pencarian
informasi dan memenuhi kebutuhan komputer dalam pengolahan data. XML memisahkan
secara tegas antara kandungan informasi dan struktur informasi tersebut. Kelebihan dari
XML dibanding HTML adalah penggunaan tag yang berfungsi sebagai user-defined yang
digunakan untuk mendeskripsikan arti dari data dan tidak mendefinisikan bagaimana data
akan terlihat. Dokumen XML dapat divalidasi sesuai dengan spesifikasi yang terdapat
pada Document Type Declarations (DTDs) yang mendeskripsikan struktur dari dokumen
XML, yang harus ditekankan adalah bahwa XML digunakan sebagai bahasa untuk
mendeskripsikan struktur sintak sebuah dokumen (Gianolli et. Al, 2000).
XML digunakan untuk ‘markup documents’ bagi tujuan presentasi dan pemrosesan
data lebih lanjut. Marked-up documents disebut sebagai XML documents (dokumen
XML). Komponen dasar dari dokumen XML adalah elemen, yaitu kata yang dibatasi
dengan sepasang tag, seperti <Nrp> dan </Nrp>, kandungan dari elemen dapat berupa
teks, elemen lain atau kombinasi dari dan elemen. Selanjutnya, elemen dapat berisi
atribut (attributes), dimana atribut ini merupakan pasangan ‘name-value’ yang
dispesifikasikan dalam tag elemen, seperti pada contoh penulisan atribut dibawah ini
(Gianolli et. al, 2000) :
<kodeps id = ‘502’ > Manajemen Informatika</kodeps>
Penggunaan XML dikarenakan XML merupakan perluasan bentuk dari HTML
yang memungkinkan untuk mendefinisikan tag secara lokal dan mudah dalam pertukaran
informasi terstruktur, sedangkan SGML adalah superset dari HTML dan XML yang
memungkinkan peningkatan pembesaran dokumen. Kegunaan XML sebagai tools
menjadi sangat luas, karena XML dapat memainkan peranan yang semakin rumit pada
pertukaran berbagai bentuk data pada web (NISO, 2004).
Terdapat 2 (dua) kebutuhan dalam membentuk XML yaitu; well-formed dan
validate-formed. Well-formalization merupakan kebutuhan dokumen XML agar dapat
12
mengikuti beberapa sintaks, seperti, adanya satu elemen yang berisi elemen lain, atau
elemen dapat berupa elemen yang tersarang (nest) akan tetapi tidak tumpang tindih
(overlap), dan sebagainya. Kebutuhan atas validation-formed, dikarenakan XML berisi
elemen dan atribut yang telah ditentukan tipe data dan hubungan (relationship) antar
elemen. Document Type Definition (DTD) dan skema XML adalah dua bentuk
mekanisme validasi utama yang digunakan pada XML. Sebagai sebuah well-formed,
dokumen XML memiliki struktur bertingkat, dimana terdapat beberapa bahasa dapat
digunakan untuk menempatkan elemen pada dokumen XML. Aspek penting lain dari
XML adalah perubahan struktur, ketika sebuah instance dokumen dapat dibuat dari
banyak sumber untuk dapat dipakai pada aplikasi dengan struktur yang berbeda,
teknologi untuk mentranslasi suatu struktur ke struktur lain memungkinkan untuk
dilakukan.
Dokumen XML tidak hanya memperlihatkan konten dari data, juga memperlihatkan
constraint dan relationship antar data, berikut adalah contoh dari dokumen XML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) -->
<!--Sample XML file generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!DOCTYPE ProgramStudi SYSTEM "C:\Documents and Settings\Irematara\My
Documents\TesisTitin\Prodi.dtd">
<ProgramStudi>
<KodeProdi>511</KodeProdi>
<NamaProdi>Teknik Informatika</NamaProdi>
<JenjangProdi>Strata-1 (S1)</JenjangProdi>
<Akreditasi>B</Akreditasi>
</ProgramStudi
Gambar 4. Contoh dokumen XML
Pada Gambar 4. terlihat elemen “ProgramStudi” ditampilkan bersama beberapa
sub-elemen yang dapat berupa simple type atau complex type. Sub-elemen yang complex
type adalah sub-elemen yang memiliki sub-elemen. Setiap dokumen XML memiliki
skema XML, pada Gambar 5. di bawah adalah skema XML dari dokumen XML pada
Gambar 4.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="ProgramStudi">
<xs:annotation>
<xs:documentation>Comment describing your root
element</xs:documentation>
</xs:annotation>
13
<xs:complexType>
<xs:sequence>
<xs:element name="KodeProdi"/>
<xs:element name="NamaProdi"/>
<xs:element name="JenjangProdi"/>
<xs:element name="Akreditasi"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Gambar 5. Contoh dokumen XML
2.4.1 VALIDASI XML
Pengecekan kebenaran skema dokumen XML yang dirancang dapat dilakukan
dengan memenuhi kondisi well-formed dan validate-form, untuk dapat memenuhi 2 (dua)
kondisi tersebut maka DTD dari dokumen XML harus sesuai dengan skema dokumen
XML yang dirancang. Jika skema dokumen XML yang dirancang tidak sesuai dengan
DTD skema dokumen, maka skema tersebut hanya memenuhi kondisi well-formed,
dengan kondisi yang seperti ini akan memberi akibat dokumen XML tidak dapat
dibentuk. Sebaliknya, jika hanya terdapat DTD saja untuk memenuhi kondisi validateform tanpa adanya pemenuhan kondisi well-formed pembentukan dokumen XML juga
tidak dapat dilakukan.
Pengecekan kebenaran skema dokumen XML yang bergantung pada skema dan
DTD disebabkan karena DTD adalah bahasa pertama yang digunakan untuk
mendefinisikan struktur dan konten dari dokumen XML, akan tetapi terdapat beberapa
keterbatasan yang kritis jika DTD digunakan untuk dokumen yang tersebar. Beberapa
keterbatasan tersebut antara lain :
a.
File DTD bukan merupakan dokumen XML yang well-formed dan valid, DTD
bukan merupakan metadata, akan tetapi merupakan suatu bentuk khusus untuk
memperlihatkan urutan dari elemen. Permasalahan dengan kondisi ini adalah
dibutuhkannya proses khusus oleh XML parser untuk mengurai konten pada DTD.
b.
Kesulitan dalam menentukan batasan pada struktur dan konten dari XML instance
dengan DTD, pada kenyataannya DTD hanya menentukan urutan dari elemen, subelemen dan atribut yang akan ditampilkan, tetapi tidak dapat mendefinisikan
relasionship dan batasan.
14
c.
DTD tidak dapat mendefinisikan tipe data, sehingga menyulitkan dalam reusable,
extensible dan modular. Definisi suatu DTD tidak dapat dilakukan dengan
menggunakan DTD lain, dan aturan pada DTD tidak dapat digunakan kembali dan
diperluas menggunakan aturan lain baik yang berada didalam maupun luar dari
DTD tersebut.
Semua keterbatasan ini mencegah DTD untuk dapat diterapkan secara luas pada
sistem yang tersebar, pada sisi lain, skema XML merupakan satu alternatif pada
lingkungan perusahaan modern, dimana XML memiliki fitur-fitur (features) sebagai
berikut:
a.
XML skema adalah dokumen XML itu sendiri, dimana parser XML dapat
menangani seperti XML instance.
b.
Tipe data kompleks untuk user-defined dapat dibuat pada skema XML.
c.
Deskripsi dan relasi dari skema dan komponen dapat diekspresikan, hirarki dapat
dijelaskan berdasarkan pada relasi ini, sehingga membuat skema dapat digunakan
kembali dan dapat diperluas.
d.
Pembentukan Namespace yang didukung pada skema XML untuk mengatasi
benturan nama, hal ini dapat membantu penyebaran modular dari administrasi
keamanan pada model.
Dengan alasan di atas, semua spesifikasi XML modern saat ini berdasarkan pada
skema, dengan peningkatan penggunaan skema pada XML akan menghasilkan kendali
akses yang berbasis skema. Kendali akses pada instance dokumen XML dan DTD dapat
diimplementasikan secara terpisah, selama DTD bukan merupakan XML yang wellformed dan valid-formed.
Pengecekan kebenaran terhadap skema dokumen XML dapat juga dilakukan berdasarkan
dari kemampuan dokumen dalam menampung data, meskipun skema dokumen XML
dapat dibentuk dengan benar akan tetapi dokumen yang terbentuk tidak dapat
menampung data baik dalam jumlah data maupun representasi data, yang sesuai dengan
kebutuhan pengguna, maka skema dokumen perlu dirancang ulang sampai dokumen
dapat menampung data sesuai dengan kebutuhan penggunanya.
15
Download