BAB IV
PEMBAHASAN dan HASIL
4.1 TRANSLASI SKEMAPenelitian ini menggunakan 3 (tiga) basisdata yaitu Alumni, Yudisium dan Lulusan, ketiga basisdata ini dijadikan sebagai source basisdata atau basisdata lokal yang
akan diintegrasikan. Seperti telah diungkapkan sebelumnya bahwa proses integrasi basisdata terdiri dari 2 (dua) proses yaitu proses translasi skema dan proses integrasi skema. Pada proses translasi, skema dari basisdata Alumni, Yudisium dan Lulusan
dituangkan kedalam bentuk relationship model, pemilihan relationship data model pada
proses translasi untuk merepresentasikan basisdata lokal karena model ini merupakan salah satu model yang umum digunakan dalam pembahasan basisdata relasional. Penulisan skema ini dilakukan sebagai langkah awal untuk mendapatkan suatu skema
intermediate dari basisdata lokal tersebut.
Pada relationship model, setiap file disebut sebagai entitas (entity), yaitu
kumpulan dari objek yang dinyatakan oleh sejumlah elemen data yang sama. Setiap entitas dinyatakan dalam bentuk segiempat yang diberi nama sesuai dengan objeknya, seperti entitas Mahasiswa, Yudisium dan sebagainya. Selain entitas, pada relationship
model dinyatakan pula relasionship, yang merupakan fungsi asosiasi antara satu entitas
dengan entitas lain, yang dinyatakan dengan simbol diamond, setiap relationship memiliki nama yang ditempatkan pada simbol diamond.
Gambar di atas memperlihatkan relationship basisdata Alumni yang memiliki 3
(tiga) entitas yaitu, entitas Mahasiswa, entitas Yudisium dan entitas ProgramStudi,
sedangkan relationship yang dimiliki adalah relationship Mhs_Yudisium dan Prog_Yudisium.
Hubungan yang diperlihatkan pada relationship Mhs_Yudisium adalah hubungan
antara entitas Mahasiswa dengan entitas Yudisium yang memberi pengertian bahwa setiap
objek pada entitas Mahasiswa dapat diasosiasikan dengan satu objek pada entitas
Yudisium, melalui fungsi Mhs_Yudisium. Jika satu objek pada entitas Mahasiswa hanya
dapat diasosiasikan tepat satu objek entitas Yudisium, maka relationship Mhs_Yudisium
merupakan One-to-One (1:1) relationship.
Berbeda dengan relationship Mhs_Yudisium, pada relationship pada Prog_Yudisium adalah One-to-Many (1:*) relationship. Hal ini terjadi karena satu objek
pada entitas ProgramStudi dapat diasosiasikan dengan satu atau lebih objek pada entitas Yudisium.
Gambar 8. Relationship data model Yudisium
Seperti terlihat pada gambar relationship di atas, terdapat 2 (dua) relationship
yaitu Mhs_Alamat dan Mhs_prog. Relationship Mhs_Alamat digunakan untuk
memperlihatkan hubungan antara entitas Mahasiswa dengan entitas Alamat, yang
menyatakan bahwa setiap objek pada entitas Mahasiswa hanya dapat diasosiasikan
Gambar 9. Relationship data model Lulusan
Relationship data model di atas adalah relationship data model basisdata Lulusan,
yang memiliki 4 (empat) entitas yaitu entitas Mahasiswa, Yudisium, Alamat dan ProgramStudi. Relationship yang digunakan sebagai fungsi asosiasi dari data model ini
adalah Mhs_Yudisium, yang mengasosiasikan entitas Mahasiswa dengan entitas Yudisium,Mhs_Alamat adalah relationship yang digunakan pada entitas Mahasiswa dan
entitas Alamat, serta relationship Mhs_Prog yang digunakan untuk mengasosiasikan
entitas Mahasiswa dengan entitas ProgramStudi.
Ketiga relationship data model di atas merupakan equivalent relationship,
sehingga untuk membuat skema intermediate dilakukan dengan memetakan (mapping)
dari satu skema ke skema yang lain, Berikut ini adalah relationship data model hasil pemetaan,
Target skema yang dihasilkan dari proses pemetaan ini adalah skema yang nantinya akan digunakan untuk menampung data yang akan ditempatkan di web, dalam hal ini adalah data yang menggunakan skema data semiterstruktur. Untuk menghasilkan skema yang dapat digunakan pada lingkungan web, maka pemetaan dan strukturisasi ulang dituangkan ke dalam bentuk skema data semiterstruktur.
4.1.1 PENENTUAN MODEL DATA
Sesuai dengan tujuan dari penelitian ini untuk menghasilkan suatu skema konseptual global yang dapat digunakan bersama oleh perguruan tinggi dalam mempublikasi data alumni atau lulusan dari perguruan tinggi tersebut pada web. Skema konseptual global ini kemudian dijadikan sebagai media untuk mengintegrasikan sumberdata yang dimiliki oleh perguruan tinggi tersebut.
Umumnya sumberdata yang dimiliki oleh perguruan tinggi menggunakan model data yang terstruktur, dalam hal ini menggunakan relasional sebagai model data, sementara sumberdata yang umum digunakan pada web adalah sumberdata dengan model data tidak terstruktur. Untuk menjembatani kedua model data tersebut, maka digunakan data semi terstruktur yang telah dikembangkan dan telah banyak digunakan sebagai representasi data pada web. Berdasarkan pada kebutuhan akan data semi terstruktur sebagai sumber data alumni yang digunakan pada web, ditentukan XML sebagai representasi dari data semi terstruktur tersebut.
Penentuan penggunaan XML sebagai representasi data semi terstruktur dilakukan dengan beberapa pertimbangan yaitu, saat ini XML merupakan sebuah model data yang dipakai dalam merepresentasikan data semi terstruktur. Pemilihan XML juga didasarkan pada tujuan dari integrasi data yaitu membentuk skema konseptual global bagi data semi terstruktur yang akan ditempatkan pada web, sehingga jika ada beberapa organisasi ingin menempatkan data alumnipada web maka sumber data yang mereka miliki harus sesuai dengan skema konseptual global yang telah dibangun.
4.1.2 PEMBENTUKAN SKEMA DATA SEMITERSTRUKTUR BERBASIS XML Langkah pertama yang dilakukan pada proses pemetaan dari bentuk data terstruktur menjadi data semi terstruktur adalah membangun skema data semiterstruktur dari setiap entitas pada target skema yang telah dihasilkan. Skema dokumen XML yang dibangun merupakan skema yang sesuai dengan format baku W3C (World Wide Web
Consorsium), dimana skema memiliki root elemen, elemen dan tipe elemen. Elemen
yang dipakai pada pembentukan skema data semiterstruktur merupakan entitas dan atribut yang dipilih dari target skema.
Pada pembentukan skema dokumen XML, harus ditentukan nama elemen yang dijadikan sebagai root, untuk kebutuhan penelitian ini nama elemen yang dijadikan
sebagai root adalah elemen Mahasiswa, elemen Yudisium dan elemen Prodi. Jika
masing-masing root elemen telah ditentukan, berikutnya adalah menentukan
elemen-elemen yang akan dikandung oleh masing-masing root elemen tersebut.
Pada penelitian ini, pertama kali yang dibangun adalah root elemen Mahasiswa,
sesuai dengan nama yang diambil, skema ini akan berisi elemen-elemen yang menjadi anggota dari root elemen seperti pada tabel di bawah ini.
Root Elemen Nama Elemen Deskripsi
Mahasiswa NRP ID dari Mahasiswa
Nama Nama Mahasiswa
TmpLahir Tempat Lahir Mahasiswa TgLahir Tanggal Lahir Mahasiswa NamaOrtu Nama Orang Tua
JnKelamin Jenis Kelamin
ThMasuk Tahun Masuk Perguruan Tinggi
Alamat : Elemen complextype
Jalan Nama jalan dari Alamat Mahasiswa Kabupaten Kabupaten dari Alamat Mahasiswa Kodepos Kodepos dari Alamat Mahasiswa NoTelp Nomor telepon Mahasiswa
SMU Elemen complextype
ThLulusSMU Tahun lulus dari SMU Mahasiswa NamaSMU Nama Asal SMU Mahasiswa Tabel 12. Elemen Mahasiswa
Jika diperhatikan, anggota elemen Mahasiswa menggunakan entitas Alamat
beserta atribut yang dikandung entitas tersebut sebagai bagian dari elemen Mahasiswa.
Hal ini dapat dilakukan pada skema data semiterstruktur, karena pada model data ini tidak ada ketentuan bahwa skema yang dibangun harus sesuai dengan target skema yang digunakan. Selain itu pembuatan skema seperti ini dimaksudkan untuk memudahkan dalam penyajian informasi yang memerlukan adanya kategori sesuai dengan Kabupaten
misalnya informasi yang dibutuhkan hanya elemen NoTelp, maka elemen lain tidak
diambil untuk disajikan.
Penentuan penguraian elemen Alamat menjadi elemen Jalan, Kabupaten, Kodepos dan NoTelp berdasarkan pada alasan basisdata alumni ini selain memberi
informasi tentang alumni atau lulusan dari sebuah perguruan tinggi tetapi juga dapat menjadi sumber informasi bagi instansi yang ingin mencari tenaga kerja. Untuk memenuhi kebutuhan tersebut, maka elemen yang dapat digunakan untuk menghubungi alumni cukup terwakili pada elemen Jalan, Kabupaten, Kodepos dan NoTelp.
Demikian pula dengan elemen SMU yang mengandung 2 (dua) elemen lain yaitu
elemen ThLulusSMU dan NamaSMU. Penguraian elemen ini dilakukan karena selain
dapat memenuhi aturan baku informasi yang harus dipenuhi oleh perguruan tinggi, elemen ThLulusSMU dan NamaSMU dapat memberi informasi karakteristik alumni
berdasarkan dari asal sekolah dan tahun lulus sekolah.
Jika elemen Mahasiswa diatas ditampilkan dalam struktur pohon, maka akan terlihat seperti berikut:
Gambar. 11. Struktur pohon elemen Mahasiswa
Elemen Alamat dan elemen SMU pada gambar diatas, merupakan bentuk elemen
yang tersarang, dari gambar terlihat juga struktur dari model data semi terstruktur yang fleksibel dan tidak kaku.
Sementara bentuk skema dari elemen Prodi yang merupakan translasi dari entitas ProgramStudi dari relationship data model Target Skema, dapat terlihat pada tabel di
Root Elemen Nama Elemen Deskripsi
Prodi KodeProdi Kode Program Studi
NamaProdi Nama program studi sesuai kode JenjangProdi Jenjang pendidikan dari program studi
Akreditasi Peringkat akreditasi
Tabel 13. Elemen Prodi
Pada entitas ProgramStudi hanya dipilih 4 (empat) atribut yang langsung dapat
digunakan pada elemen Prodi hanya 4 elemen saja yang digunakan seperti terlihat pada
tabel 13, yaitu elemen KodeProdi, NamaProdi, JenjangProdi dan Akreditasi. Alasan
hanya digunakan 4 (empat) atribut untuk dijadikan elemen karena, 2 (dua) atribut merupakan atribut yang disiapkan untuk kepentingan internal organisasi saja. Jika root
elemen Prodi ditranslasi ke dalam struktur pohon, maka akan menghasilkan bentuk
sebagai berikut:
Gambar 12. Struktur pohon elemen Prodi
Sesuai dengan gambar di atas, pada elemen Prodi semua elemen yang dikandung
merupakan elemen simpletype, tidak terdapat elemen complextype seperti pada elemen Mahasiswa. Pada skema elemen Prodi dengan skema elemen Mahasiswa pada Gambar
11. terdapat perbedaan bentuk skema, hal ini sangat mungkin terjadi karena pembentukan skema data semi terstruktur tidak tergantung pada bentuk skema tertentu.
Elemen yang terkandung pada elemen Prodi adalah elemen KodeProdi, yang
digunakan sebagai kode dari program studi dari alumni atau lulusan. Elemen KodeProdi
selain memberi kode unik suatu program studi, elemen ini nantinya akan digunakan untuk membentuk relationship antara elemen Prodi dengan elemen Alumni, melalui elemen KodeProdi ini akan dibangun semantik yang membentuk relationship tersebut. Elemen NamaProdi adalah elemen yang berisi nama program studi yang sesuai dengan elemen
KodeProdi, elemen JenjangProdi adalah elemen yang akan mengandung informasi
tentang jenjang pendidikan dari program studi, dan yang terakhir adalah elemen
Akreditasi, elemen ini nantinya akan digunakan untuk menampung informasi peringkat
akreditasi yang dicapai oleh masing-masing program studi. Penentuan digunakannya elemen-elemen tersebut diatas didasarkan atas pemikiran bahwa dalam pencarian tenaga kerja biasanya organisasi akan melihat dari bidang ilmu yang sesuai dengan bidang pekerjaan, dan bidang ilmu ini dapat diwakili pada informasi program studi. Perolehan peringkat akreditasi program studi, saat ini juga menjadi persyaratan dalam pencarian tenaga kerja, oleh karenanya informasi peringkat akreditasi ini perlu untuk disajikan.
Skema berikut yang harus dibangun adalah skema elemen Yudisium, untuk
membuat struktur pohon elemen Yudisium, digunakan entitas Yudisium sebagai dasar
penentuan elemen-elemen yang terkandung pada elemen Yudisium. Berikut adalah
elemen yang akan digunakan pada elemen Yudisium;
Root Elemen Nama Elemen Deskripsi
Yudisium KodeProdi Kode Program Studi
MhsYudisium: Elemen complextype
NrpMhs Nrp mahasiswa yang sudah yudisium IPK IPK dari mahasiswa sesuai NRP TotalSKS Total SKS yang telah diselesaikan Tabel 14. Elemen Yudisium
Berdasarkan analisis yang dilakukan terhadap kebutuhan informasi alumni, diperoleh hasil bahwa kebutuhan informasi alumni bersifat hirarki, dengan hirarki paling utama adalah tahun akademik dilakukannya yudisium alumni, hirarki berikutnya adalah program studi dari alumni. Langkah pertama yang dilakukan untuk membangun hirarki alumni suatu program studi yaitu dengan membangun elemen Yudisium.
Elemen Yudisium ini merupakan skema terdalam dari skema alumni yang
seharusnya, pada elemen ini akan didapatkan data mahasiswa yang sudah di yudisium sesuai program studi program studi. Elemen Yudisium mengandung 2 (dua) elemen yaitu, KodeProdi dan MhsYudisium. Elemen KodeProdi yang digunakan untuk menunjukkan
data mahasiswa yang diyudisium melalui elemen NrpMhs, IPK dan TotalSKS. Berikut
adalah struktur pohon dari elemen Yudisium.
Gambar 13. Struktur pohon elemen Yudisium
Elemen KodeProdi pada elemen Yudisium selain sebagai parameter dalam
penentuan hirarki juga digunakan untuk membangun semantik yang membentuk
relasionship antar elemen. Elemen MhsYudisium yang merupakan elemen complextype
mengandung elemen-elemen yang memberi informasi mahasiswa yang diyudisium melalui elemen NrpMhs. Elemen NrpMhs ini juga nantinya digunakan untuk membangun
semantik dalam pembentukan relationship dengan elemen Mahasiswa. Elemen IPK
adalah elemen yang digunakan untuk menampung informasi indeks prestasi kumulatif yang dicapai oleh mahasiswa, elemen ini sangat penting untuk diinformasikan kepada publik sebagai informasi keberhasilan program studi dalam menghasilkan lulusan, memberi informasi tentang prestasi dari mahasiswa selama pendidikan, indeks prestasi kumulatif ini juga dijadikan dasar dalam pencarian tenaga kerja. Informasi yang ditampung oleh elemen TotalSKS adalah jumlah SKS (sistem kredit semester) yang telah
ditempuh untuk dapat diyudisium. Elemen TotalSKS ini digunakan sebagai alat kendali
atas informasi mahasiswa yang diyudisium, karena jika seorang mahasiswa sudah diyudisium, mahasiswa tersebut harus telah menempuh sejumlah SKS sesuai dengan aturan, jika terdapat kejanggalan pada informasi ini maka ada kemungkinan informasi tidak benar.
Setelah hirarki data alumni berdasarkan program studi terbentuk melalui elemen
merupakan hirarki terluar maka dibangun elemen Alumni yang menggunakan elemen Yudisium sebagai elemen referensi. Berikut adalah skema struktur pohon dari elemen Alumni;
Gambar 14. Struktur pohon elemen Alumni
Elemen ThYudisium yang digunakan pada elemen Alumni digunakan untuk
membedakan tahun akademik kelulusan alumni suatu program studi, sehingga penyajian informasi menjadi lebih bermakna.
4.1.3 PEMBENTUKAN SKEMA DOKUMEN XML
Rancangan skema data semi tertsruktur berbasis XML yang telah dibuat, dijadikan sebagai dasar dalam membangun dokumen XML. Untuk membentuk dokumen XML dapat diimplemetasikan dengan membentuk dokumen dengan ekstensi .xsd, untuk
elemen Mahasiswa yang telah dirancang, dokumen yang dibuat diberi nama Mhs.xsd.
Perangkat lunak yang digunakan pada penelitian ini menyediakan editor yang berbasis grafik dan editor teks, sehingga rancangan skema yang telah dibuat akan sesuai dengan implementasi yang dilakukan. Berikut adalah hasil implementasi dari skema elemen Mahasiswa dalam bentuk kode program XML;
<?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="Mahasiswa">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
<xs:complexType> <xs:sequence>
<xs:element name="NRP" type="xs:integer"/>
<xs:element name="Nama" type="xs:string"/>
<xs:element name="TmLahir" type="xs:string"/>
<xs:element name="TgLahir" type="xs:date"/>
<xs:element name="NamaOrtu" type="xs:string"/>
<xs:element name="JnKelamin" type="xs:string"/>
<xs:element name="ThMasuk" type="xs:gYear"/>
<xs:element name="Alamat">
<xs:complexType> <xs:sequence>
<xs:element name="Jalan" type="xs:string"/>
<xs:element name="Kabupaten" type="xs:string"/>
<xs:element name="Kodepos" type="xs:integer"/>
<xs:element name="NoTelp"/>
</xs:sequence> </xs:complexType> </xs:element>
<xs:element name="SMU">
<xs:complexType> <xs:sequence>
<xs:element name="ThLulusSMU" type="xs:gYear"/>
<xs:element name="NamaSMU" type="xs:string"/>
</xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Jika terdapat elemen yang mengandung elemen lain, elemen ini akan dideklarasikan sebagai elemen complextype, pada dokumen Mhs ini terdapat 3 (tiga) elemen complextype yaitu Mahasiswa, Alamat, dan SMU, sementara untuk elemen yang tidak
mengandung elemen lain dideklarasikan sebagai elemen simpletype. Elemen simpletype
yang terdapat pada skema dokumen XML dapat ditentukan tipe data elemen, seperti terlihat pada program XML, elemen NRP dideklarasikan sebagai elemen yang bertipe integer, sementara elemen Nama bertipe string. Setiap elemen yang digunakan tidak
harus ditentukan tipenya, seperti pada elemen NoTelp yang tidak ditentukan tipenya.
Sehingga hal yang sangat mungkin jika setiap elemen yang digunakan tidak memiliki tipe data. Jika kode program skema dokumen XML Mhs ditampilkan dalam bentuk design view akan terlihat pada gambar di bawah ini:
Gambar 15. Skema dokumen Mhs.xsd
Setelah skema dokumen XML Mhs.xsd selesai dibentuk, berikutnya adalah
membentuk DTD dari dokumen XML tersebut, adapun DTD tersebut adalah sebagai berikut:
<?xml version="1.0" encoding="UTF-8"?>
<!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)--> <!--Comment describing your root element-->
<!ELEMENT Mahasiswa (NRP, Nama, TmLahir, TgLahir, NamaOrtu, JnKelamin, ThMasuk, Alamat, SMU)> <!ELEMENT NRP (#PCDATA)>
<!ELEMENT Nama (#PCDATA)> <!ELEMENT TmLahir (#PCDATA)> <!ELEMENT TgLahir (#PCDATA)> <!ELEMENT NamaOrtu (#PCDATA)> <!ELEMENT JnKelamin (#PCDATA)> <!ELEMENT ThMasuk (#PCDATA)>
<!ELEMENT Alamat (Jalan, Kabupaten, Kodepos, NoTelp)> <!ELEMENT SMU (ThLulusSMU, NamaSMU)>
<!ELEMENT Jalan (#PCDATA)> <!ELEMENT Kabupaten (#PCDATA)> <!ELEMENT Kodepos (#PCDATA)> <!ELEMENT NoTelp ANY>
<!ELEMENT ThLulusSMU (#PCDATA)> <!ELEMENT NamaSMU (#PCDATA)>
Seperti telah dijelaskan bahwa DTD digunakan untuk mendefinisikan struktur dari dokumen XML dan seringkali DTD direkomendasikan untuk meyakinkan kesesuaian pada dokumen XML. Definisi struktur dokumen XML yang dibuat oleh DTD meliputi
definisi elemen yang digunakan, deklarasi elemen pada DTD dilakukan dengan menggunakan element type declarations. Setiap elemen yang dideklarasikan harus
ditentukan pula content specifications, yaitu kandungan yang dibolehkan pada elemen,
biasanya deklarasi content specifications ditentukan berdasarkan dari tipe elemen pada
skema dokumen XML. Untuk elemen yang telah memiliki tipe seperti string, integer dan lainnya, content specifications dideklarasikan dengan PCDATA, sedangkan elemen yang
dideklarasikan dengan content specifications ANY dapat mengandung apapun termasuk
PCDATA, elemen atau kombinasi dari elemen dan PCDATA, dan dapat juga merupakan sebuah elemen kosong (empty elements). Pada DTD, elemen complextype akan ditulis
dengan menempatkan elemen yang dikandungnya sebagai content specifications, dimana
banyak elemen yang dituliskan tergantung dari jumlah elemen yang dikandung.
Jika dilakukan analisa terhadap dokumen XML Mhs, berdasarkan dari skema dan
DTD yang telah dibentuk, dokumen XML Mhs ini hanya dapat menampung 1 (satu) data Mahasiswa saja tidak bisa lebih, padahal dokumen Mhs harus dapat menampung
sejumlah data yang lebih besar. Untuk mengatasi masalah ini, biasanya dilakukan dengan merubah root elemen menjadi elemen yang bersifat unbounded, yaitu elemen yang
berfungsi sebagai indikator banyaknya data pada elemen, untuk data yang tidak terbatas yang dinyatakan dengan simbol 1..∞ pada dokumen xsd sedangkan pada DTD direpresentasikan dengan simbol plus (+), asterisk (*) dan question mark (?). Setelah
dilakukan percobaan, ternyata langkah ini tidak dapat dilakukan, karena pada tools yang
digunakan pada penelitian, root elemen tidak dapat dideklarasi sebagai elemen unbounded.
Setelah dilakukan beberapa kali percobaan, didapatkan cara yang dapat digunakan untuk mengatasi permasalahan daya tampung dokumen Mhs yang terbatas, yaitu dengan
membuat dokumen XML lain yang diberi nama MhsAll.xsd. Skema dari dokumen MhsAll
ini menggunakan skema dokumen Mhs sebagai referensi skema, hal ini dilakukan karena
karakteristik dari XML yang bersifat reusable, sehingga memudahkan dalam pembuatan
skema dokumen MhsAll.xsd.
Pembentukan skema MhsAll akan menggunakan elemen MhsAll sebagai root
elemen yang mengandung elemen Mahasiswa. Elemen Mahasiswa yang digunakan
permasalahan daya tampung yang terbatas pada dokumen Mhs. Hasil dari pembuatan
skema dokumen MhsAll dapat dilihat pada gambar di bawah ini;
Gambar 16. Skema dokumen MhsAll.xsd
Penggunaan skema dokumen Mhs sebagai referensi elemen pada pembentukan
dokumen MhsAll menjadikan penulisan skema dilakukan dengan sederhana karena tidak
perlu lagi dituliskan semua elemen yang digunakan pada dokumen MhsAll. Dari
implementasi diatas, dapat terjawab dengan jelas mengapa XML dikatakan sebagai model data yang reusable.
<?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:include schemaLocation=" D:\TesisTitin\XMLFile\Mhs.xsd"/>
<xs:element name="MhsAll">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element ref="Mahasiswa" maxOccurs="unbounded"/>
</xs:sequence> </xs:complexType> </xs:element>
Sebagai kelengkapan dari skema dokumen MhsAll.xsd, harus juga dibuat DTD dari
dokumen MhsAll tersebut, dengan terbentuknya skema dan DTD dari dokumen MhsAll
maka dokumen yang digunakan untuk menampung data mahasiswa yang menjadi alumni telah terbentuk. Berikut adalah bentuk DTD dari dokumen MhsAll.xsd yang akan
berfungsi sebagai alat untuk melakukan validasi terhadap dokumen MhsAll yang akan
dibentuk;
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) --> <!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!--Comment describing your root element-->
<!ELEMENT Mahasiswa (NRP, Nama, TmLahir, TgLahir, NamaOrtu, JnKelamin, ThMasuk, Alamat, SMU)>
<!--Comment describing your root element-->
<!ELEMENT MhsAll (Mahasiswa+)> <!ELEMENT NRP (#PCDATA)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT TmLahir (#PCDATA)> <!ELEMENT TgLahir (#PCDATA)> <!ELEMENT NamaOrtu (#PCDATA)> <!ELEMENT JnKelamin (#PCDATA)> <!ELEMENT ThMasuk (#PCDATA)>
<!ELEMENT Alamat (Jalan, Kabupaten, Kodepos, NoTelp)> <!ELEMENT SMU (ThLulusSMU, NamaSMU)>
<!ELEMENT Jalan (#PCDATA)> <!ELEMENT Kabupaten (#PCDATA)> <!ELEMENT Kodepos (#PCDATA)> <!ELEMENT NoTelp ANY>
<!ELEMENT ThLulusSMU (#PCDATA)> <!ELEMENT NamaSMU (#PCDATA)>
Selanjutnya penelitian dilanjutnya dengan membangun dokumen Prodi.xsd, proses
pembuatan dokumen ini sama seperti pada dokumen Mhs.xsd, dimana rancangan skema
data semi tertsruktur yang telah dibuat dijadikan sebagai dasar pembuatan dokumen
Prodi.xsd. Berikut ini adalah program yang dipakai; <?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> <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>
Elemen complextype pada dokumen Prodi ini hanya satu yaitu root elemen yang
Setiap elemen simpletype pada dokumen ini belum ditentukan tipe elemennya, hal ini
dapat dilakukan karena elemen-elemen tersebut akan dideklarasikan pada DTD dengan tipe data ANY. Berikut adalah bentuk DTD dari skema Prodi;
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) --> <!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!--Comment describing your root element-->
<!ELEMENT ProgramStudi (KodeProdi, NamaProdi, JenjangProdi, Akreditasi)> <!ELEMENT KodeProdi ANY>
<!ELEMENT NamaProdi ANY> <!ELEMENT JenjangProdi ANY> <!ELEMENT Akreditasi ANY>
Pengalaman yang didapatkan pada saat membentuk skema dokumen Mhs dimana
untuk penanganan terhadap masalah daya tampung dokumen, maka dibentuk skema dokumen ProdiAll yang menggunakan skema Prodi sebagai elemen referensi. Pada
penelitian ini, hirarki yang dibentuk hanya sampai pada tingkat program studi saja, karena sampel data yang digunakan berasal dari 3 (tiga) program studi yang terdapat pada suatu universitas, dalam hal ini adalah Universitas Pembangunan Nasional “Veteran” Jakarta. Perluasan hirarki sangat mungkin diperluas sampai pada tingkat universitas, sehingga setiap alumni akan diketahui berasal dari universitas dan program studi. Sehingga untuk menampung jumlah data 3 (tiga) program studi tersebut, dibuat skema
ProdiAll.xsd sebagai berikut: <?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:include schemaLocation="D:\TesisTitin\XMLFile\Prodi.xsd"/>
<xs:element name="ProdiAll">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element ref="ProgramStudi" maxOccurs="unbounded"/>
</xs:sequence> </xs:complexType> </xs:element>
</xs:schema>
Terlihat pada teks program untuk skema dokumen ProdiAll diatas, bahwa untuk penanganan jumlah program studi lebih dari satu, maka jumlah timbulnya maxOccurs
dari elemen ProgramStudi dideklarasikan sebagai unbounded. Pembentukan skema
dokumen tentunya dibarengi dengan dibentuknya DTD dari skema dokumen tersebut. DTD yang dibentuk merupakan kelengkapan dari skema dokumen yang akan digunakan
agar dokumen XML memenuhi kebutuhan well-formed dan validation-formed. Berikut
ini adalah DTD dari skema dokumen ProdiAll.xsd; <?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) --> <!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!--Comment describing your root element-->
<!ELEMENT Mahasiswa (NRP, Nama, TmLahir, TgLahir, NamaOrtu, JnKelamin, ThMasuk, Alamat, SMU)>
<!--Comment describing your root element-->
<!ELEMENT MhsAll (Mahasiswa+)> <!ELEMENT NRP (#PCDATA)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT TmLahir (#PCDATA)> <!ELEMENT TgLahir (#PCDATA)> <!ELEMENT NamaOrtu (#PCDATA)> <!ELEMENT JnKelamin (#PCDATA)> <!ELEMENT ThMasuk (#PCDATA)>
<!ELEMENT Alamat (Jalan, Kabupaten, Kodepos, NoTelp)> <!ELEMENT SMU (ThLulusSMU, NamaSMU)>
<!ELEMENT Jalan (#PCDATA)> <!ELEMENT Kabupaten (#PCDATA)> <!ELEMENT Kodepos (#PCDATA)> <!ELEMENT NoTelp ANY>
<!ELEMENT ThLulusSMU (#PCDATA)> <!ELEMENT NamaSMU (#PCDATA)>
Skema terakhir yang dibentuk pada penelitian ini adalah skema dokumen
Alumni.xsd. Seperti apa yang telah dijelaskan pada rancangan skema sebelumnya bahwa
skema Alumni menggunakan skema Yudisium sebagai elemen referensi, maka pembentukan skema dokumen Alumni.xsd juga dilakukan setelah skema Yudisium.xsd
terbentuk, hal tersebut dapat dilihat sebagai berikut;
<?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:include schemaLocation=" D:\TesisTitin\XMLFile\Yudisium.xsd"/>
<xs:element name="Alumni">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element name="ThYudisium"/>
<xs:element ref="Yudisium" maxOccurs="unbounded"/>
</xs:sequence> </xs:complexType> </xs:element>
</xs:schema>
Pada pembentukan skema di atas, elemen yang terkandung pada elemen Alumni tidak dideklarasikan karena elemen elemen-elemen tersebut telah dideklarasikan pada elemen Yudisium. Sebagai elemen referensi, semua elemen pada elemen Yudisium akan terdapat juga oleh elemen Alumni. Berikut adalah skema dari Yudisium.xsd;
<?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="KodeProdi" type="xs:string"/>
<xs:element name="Yudisium">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element ref="KodeProdi"/>
<xs:element name="MhsYudisium" maxOccurs="unbounded">
<xs:complexType> <xs:sequence>
<xs:element name="NrpMhs"/>
<xs:element name="IPK"/>
<xs:element name="TotalSKS"/>
</xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Setelah elemen Alumni terbentuk, untuk menjadikan elemen ini dapat menampung jumlah data alumni sesuai dengan program studi yang beragam, maka kemudian dibentuk skema dokumen AlumniAll.xsd. Pembentukan ini dilakukan guna menghindari adanya
keterbatasan dalam penyimpanan data alumni yang berasal dari tahun akademik yang berbeda.
Skema dokumen AlumniAll.xsd menggunakan skema Alumni.xsd sebagai elemen
referensi, elemen Alumni ini yang kemudian dideklarasikan sebagai elemen yang bersifat
unbounded, dengan pola pembuatan skema seperti ini kebutuhan akan skema yang
bersifat hirarki dan jumlah data yang maksimal dapat diatasi. Berikut adalah skema dokumen AlumniAll.xsd tersebut.
<?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:include schemaLocation="D:\TesisTitin\XMLFile\Alumni.xsd"/>
<xs:element name="AlumiAll">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element ref="Alumni" maxOccurs="unbounded"/>
</xs:sequence> </xs:complexType> </xs:element>
Terlihat pada teks program skema dokumen AlumniAll.xsd di atas yang
menggunakan skema Alumni.xsd sebagai elemen referensi. Hal yang perlu diperhatikan
pada saat menggunakan elemen referensi adalah lokasi skema dokumen yang digunakan, jika skema dokumen yang dijadikan elemen referensi tidak sesuai dengan yang tertera pada teks program, maka skema yang menggunakan tidak dapat digunakan, seperti terlihat pada teks program di atas.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) --> <!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!--Comment describing your root element-->
<!ELEMENT AlumiAll (Alumni+)>
<!--Comment describing your root element-->
<!ELEMENT Alumni (ThYudisium, Yudisium+)> <!ELEMENT KodeProdi (#PCDATA)>
<!--Comment describing your root element-->
<!ELEMENT Yudisium (KodeProdi, MhsYudisium+)> <!ELEMENT ThYudisium ANY>
<!ELEMENT MhsYudisium (NrpMhs, IPK, TotalSKS)> <!ELEMENT NrpMhs ANY>
<!ELEMENT IPK ANY> <!ELEMENT TotalSKS ANY>
4.1.4 PEMBENTUKAN DOKUMEN XML
Jika skema dokumen telah dibuat, maka hal berikut yang dilakukan pada penelitian ini adalah membuat dokumen XML, pembuatan dokumen ini tetap menggunakan perangkat lunak XML Spy. Pembentukan dokumen XML ini berdasarkan dari skema dokumen (.xsd) dan DTD dari masing-masing dokumen yang akan dibuat, berikut ini adalah bentuk MhsAll.xml yang telah diisi dengan data mahasiswa yang telah
diyudisium.
<?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 MhsAll SYSTEM "D:\TesisTitin\XMLFile\MhsAll.dtd">
<MhsAll> <Mahasiswa>
<NRP>200511030</NRP>
<Nama>Edy Nuryudanto</Nama>
<TmLahir>Jakarta</TmLahir>
<TgLahir>19-01-1982</TgLahir>
<NamaOrtu>Saeno</NamaOrtu>
<JnKelamin>Laki-laki</JnKelamin>
<ThMasuk>2000</ThMasuk>
<Alamat>
<Jalan>Jl. Mampang Prapatan IV Gg. 5 No. 63, Mampang</Jalan>
<Kabupaten>Jakarta Selatan</Kabupaten>
<Kodepos>12790</Kodepos>
<NoTelp>08561570195</NoTelp>
</Alamat> <SMU>
<NamaSMU>SMUN 64</NamaSMU> </SMU>
</Mahasiswa> </MhsAll>
Pada teks program diatas terlihat bahwa tipe dokumen MhsAll.xml ini mengacu
pada MhsAll.dtd yang telah dibuat sebelumnya. Setiap tag elemen pada MhsAll.xml dapat
diisi dengan data mahasiswa, dokumen dengan ekstensi .xml kemudian disebut sebagai
instance dokumen. Pengulangan elemen Mahasiswa dapat dilakukan jika elemen
Mahasiswa bersifat unbounded seperti yang pernah dijelaskan sebelumnya, sehingga
dengan sifat tadi dokumen ini dapat diisi dengan data yang tidak dibatasi oleh jumlah tertentu.
Hal serupa juga berlaku dalam pembentukan dokumen ProdiAll.xml dan
AlumniAll.xml. Untuk dokumen ProdiAll.xml, karena pada penelitian ini hanya
menggunakan data dari 3 (tiga) program studi, maka data yang diisikan juga sesuai dengan jumlah tersebut meskipun jika data yang digunakan banyak tetap dapat ditampung, berikut adalah instance dari ProdiAll.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 ProdiAll SYSTEM "D:\TesisTitin\XMLFile\ProdiAll.dtd">
<ProdiAll>
<ProgramStudi>
<KodeProdi>511</KodeProdi>
<NamaProdi>Teknik Informatika</NamaProdi>
<JenjangProdi>Strata-1 (S1)</JenjangProdi>
<Akreditasi>B</Akreditasi>
</ProgramStudi> <ProgramStudi>
<KodeProdi>512</KodeProdi>
<NamaProdi>Sistem Informasi</NamaProdi>
<JenjangProdi>Strata-1 (S1)</JenjangProdi>
<Akreditasi>C</Akreditasi>
</ProgramStudi> <ProgramStudi>
<KodeProdi>502</KodeProdi>
<NamaProdi>Manajemen Informatika</NamaProdi>
<JenjangProdi>Diploma-3 (D3)</JenjangProdi>
<Akreditasi>B</Akreditasi>
</ProgramStudi> </ProdiAll>
Pembentukan instance dokumen (.xml) dapat juga dilakukan untuk skema Yudisium.xsd, Alumni.xsd, Mhs.xsd dan yang lainnya, hanya saja skema dan DTD dari
masing-masing instance dokumen telah tersedia dan tidak saling mempengaruhi
meskipun Yudisium.xsd merupakan elemen referensi bagi Alumni.xsd yang menjadi
tidak dibatasi oleh relationship antara skema yang satu dengan skema yang lain. Sifat
skema yang reusable, juga merupakan alasan mengapa instance dokumen Yudisium.xml
tidak akan mempengaruhi instance dokumen AlumniAll.xml.
4.2 INTEGRASI SKEMA
Integrasi skema merupakan proses yang dilakukan setelah proses translasi skema, keluaran yang dihasilkan dari proses ini adalah skema konseptual global yang dihasilkan dengan mengintegrasikan skema dari basisdata yang saling terkait satu dengan yang lain. Proses yang dilakukan pada integrasi skema adalah mengidentifikasi setiap komponen pada basisdata untuk mengetahui komponen mana saja yang saling berelasi satu dengan yang lain, jika semua komponen pada basisdata yang terhubung telah teridentifikasi maka berikutnya dilakukan integrasi pada komponen basisdata tersebut.
Skema konseptual global merupakan skema yang mengandung seluruh elemen pada setiap skema dokumen yang sudah terbentuk. Pada penelitian ini, untuk mengintegrasikan komponen yang terdapat pada skema dokumen MhsAll.xsd, ProdiAll.xsd, dan AlumniAll.xsd, akan dibentuk sebuah skema dokumen yang diberi nama AlumniLkp.xsd.
Skema dokumen inilah yang akan dijadikan sebagai skema konseptual global. 4.2.1 PEMBENTUKAN SKEMA
Hal pertama yang dilakukan pada proses pembentukan skema konseptual global adalah merancang tree-like skema yang mengandung semua elemen yang terdapat pada
skema dokumen MhsAll, ProdiAll dan AlumniAll. Sebagai dasar pemikiran dalam
membuat skema konseptual global ini digunakan skema dokumen AlumniAll.xsd,
dikarenakan elemen pada skema dokumen AlumniAll mengandung informasi yang cukup
tentang alumni atau lulusan sebuah program studi, dimana telah terdapat informasi tentang program studi, mahasiswa dan prestasi akademik dari mahasiswa yang diluluskan dan tahun kelulusan.
Bentuk skema dokumen AlumniLkp.xsd ini juga menggunakan skema dokumen Mhs.xsd dan Prodi.xsd sebagai elemen referensi. Skema dokumen Mhs dan Prodi
memiliki fungsi yang sama yaitu untuk menggantikan elemen Nrp dan KodeProdi yang
terkandung pada dokumen Alumni. Sehingga, jika pada dokumen Alumni, data mahasiswa
digantikan oleh elemen Mahasiswa, demikian juga halnya dengan elemen KodeProdi
akan digantikan oleh elemen ProgramStudi.
Meskipun skema dokumen AlumniLkp.xsd ini juga mengacu pada skema AlumniAll.xsd, tetapi setiap elemen menggunakan nama yang berbeda seperti ThLulus
yang memiliki fungsi sama dengan elemen ThYudisium pada dokumen AlumniAll,
demikian juga dengan elemen Lulusan pada skema AlumniLkp memiliki fungsi sama
dengan elemen Yudisium pada AlumniAll. Berikut ini adalah teks program dari skema
dokumen AlumniLkp.xsd
<?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:include schemaLocation="D:\TesisTitin\XMLFile\Mhs.xsd"/>
<xs:include schemaLocation="D:\TesisTitin\XMLFile\Prodi.xsd"/>
<xs:element name="AlumniLengkap">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:sequence>
<xs:element name="ThLulus"/>
<xs:element name="Alumni" maxOccurs="unbounded">
<xs:complexType> <xs:sequence>
<xs:element ref="ProgramStudi"/>
<xs:element name="Lulusan" maxOccurs="unbounded">
<xs:complexType> <xs:sequence>
<xs:element ref="Mahasiswa"/>
<xs:element name="IPK"/>
<xs:element name="TotalSKS"/>
</xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Jika diperhatikan pada teks program di atas, kelihatan cukup sederhana pembentukan skema konseptual global untuk integrasi skema, hal ini dikarenakan pembentukan skema ini menggunakan skema yang telah dibentuk sebelumnya. Oleh karenanya pada penelitian ini, pembentukan semua skema yang dipakai dibentuk secara terpisah, dimaksudkan agar penggunaan kembali skema yang telah ada menjadi lebih mudah.
Setelah skema dokumen AlumniLkp.xsd selesai dibentuk, berikutnya dibentuk DTD,
pada basisdata yang berbasis XML, setiap skema dokumen harus dilengkapi dengan DTD, sehingga intance dokumen yang dihasilkan sesuai dengan skema dokumen yang
digunakan. Berikut adalah DTD dari AlumniLkp.xsd: <?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Ba-k (ZonaWarez.com) --> <!--DTD generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<!--Comment describing your root element-->
<!ELEMENT AlumniLengkap (ThLulus, Alumni+)>
<!--Comment describing your root element-->
<!ELEMENT Mahasiswa (NRP, Nama, TmLahir, TgLahir, NamaOrtu, JnKelamin, ThMasuk, Alamat, SMU)>
<!--Comment describing your root element-->
<!ELEMENT ProgramStudi (KodeProdi, NamaProdi, JenjangProdi, Akreditasi)> <!ELEMENT ThLulus ANY>
<!ELEMENT Alumni (ProgramStudi, Lulusan+)> <!ELEMENT NRP (#PCDATA)>
<!ELEMENT Nama (#PCDATA)> <!ELEMENT TmLahir (#PCDATA)> <!ELEMENT TgLahir (#PCDATA)> <!ELEMENT NamaOrtu (#PCDATA)> <!ELEMENT JnKelamin (#PCDATA)> <!ELEMENT ThMasuk (#PCDATA)>
<!ELEMENT Alamat (Jalan, Kabupaten, Kodepos, NoTelp)> <!ELEMENT SMU (ThLulusSMU, NamaSMU)>
<!ELEMENT KodeProdi ANY> <!ELEMENT NamaProdi ANY> <!ELEMENT JenjangProdi ANY> <!ELEMENT Akreditasi ANY>
<!ELEMENT Lulusan (Mahasiswa, IPK, TotalSKS)> <!ELEMENT Jalan (#PCDATA)>
<!ELEMENT Kabupaten (#PCDATA)> <!ELEMENT Kodepos (#PCDATA)> <!ELEMENT NoTelp ANY>
<!ELEMENT ThLulusSMU (#PCDATA)> <!ELEMENT NamaSMU (#PCDATA)> <!ELEMENT IPK ANY>
<!ELEMENT TotalSKS ANY>
Terlihat pada DTD di atas, deklarasi jumlah data yang dibolehkan pada elemen
AlumniLengkap tidak dapat dilakukan karena elemen AlumniLengkap adalah elemen root,
sehingga jumlah data yang dibolehkan hanya 1 (satu). Untuk menangani permasalahan pada daya tampung data alumni pada dokumen AlumniLkp, dibentuk skema dokumen lain
yaitu AlumniLkpAll.xsd yang menggunakan elemen AlumniLkp.xsd sebagai elemen
referensi.
<?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:include schemaLocation="D:\TesisTitin\XMLFile\AlumniLkp.xsd"/>
<xs:element name="AlumniLkpAll">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation> <xs:complexType>
<xs:element ref="AlumniLengkap" maxOccurs="unbounded"/> </xs:sequence>
</xs:complexType> </xs:element>
</xs:schema>
Setelah AlumniLkpAll terbentuk baik skema dan DTD, hal berikut yang harus dibuat
adalah instance dokumen AlumniLkpAll.xml yang akan digunakan pada proses mapping. Instance dokumen ini dapat dibiarkan dalam keadaan kosong, karena jika diinginkan
pengisian data, dapat dilakukan ketika proses mapping menghasilkan output yang benar,
dengan cara menyimpan output tersebut ke dalam intance dokumen AlumniLkp.xml yang
telah dibuat.
Jika pembentukan skema dokumen AlumniLkpAll telah terbentuk, maka untuk
melakukan integrasi data dapat dilakukan dimana dokumen AlumniLkpAll merupakan
skema konseptual global yang menjadi target dalam mengintegrasikan data dari beberapa dokumen yang berdiri sendiri (independent). Pada penelitian ini, untuk mengetahui
kebenaran dari skema konseptual global dalam hal ini adalah dokumen AlumniLkpAll.xsd,
dilakukan proses mapping, dengan menjadikan dokumen AlumniLkpAll.xsd sebagai target dan dokumen MhsAll, ProdiAll, serta AlumniAll sebagai source. Proses mapping
pada penelitian ini menggunakan tools yang dikenal sebagai perangkat lunak MapForce.
4.2.2 MAPPING
Proses mapping yang dilakukan pada penelitian ini bertujuan untuk mengetahui
kebenaran dari skema konseptual global dibentuk. Hal yang harus diperhatikan ketika dilakukan mapping antara skema dokumen XML source terhadap skema dokumen XML
target adalah terlepasnya relasi diantara skema dokumen XML source. Untuk
membentuk relasi antara skema dokumen source, dibuat suatu fungsi yang bertujuan
untuk membentuk relasi diantara skema dokumen source.
Terdapat 2 (dua) fungsi relasi yang dibentuk, yaitu fungsi ProgramStudi dan
Mahasiswa. Fungsi ProgramStudi dibentuk untuk merelasikan skema dokumen
AlumniAll.xsd dan ProdiAll.xsd, elemen yang digunakan untuk membentuk fungsi ProgramStudi adalah elemen KodeProdi, yang terdapat di kedua skema dokumen.
Sedangkan fungsi Mahasiswa, dibentuk untuk merelasikan skema dokumen AlumniAll.xsd dan MhsAll.xsd. Elemen yang digunakan oleh fungsi Mahasiswa ini adalah
Mapping antara skema dokumen source dengan skema dokumen target dilakukan
dengan memasangkan setiap elemen skema dokumen source dengan elemen yang sesuai
pada skema dokumen target. Berikut ini adalah gambar yang memperlihatkan mapping
yang dilakukan pada penelitian.
Gambar 17. Mapping antar skema dokumen source dengan skema dokumen target
Pada gambar 17. di atas memperlihatkan bahwa hasil mapping yang dilakukan telah
memetakan seluruh elemen skema dokumen source terhadap skema dokumen terget,
sehingga dapat dikatakan bahwa skema AlumniLkpAll.xsd yang dibentuk sebagai skema
konseptual global dapat digunakan untuk kebutuhan integrasi data.
Integrasi data yang dihasilkan pada penelitian ini dapat dilihat dari keluaran (output) yang dihasilkan dari proses mapping, hal ini sangat dimungkinkan karena
perangkat lunak yang digunakan pada penelitian ini telah difasilitasi kemampuan untuk menghasilkan integrasi data secara otomatis.
Berikut ini adalah potongan keluaran yang dihasilkan ketika dilakukan proses mapping, jumlah data yang diperlihatkan akan tergantung dengan jumlah data yang terdapat pada skema dokumen source. Potongan keluaran dibawah ini merupakan data
mahasiswa yang lulus pada tahun 2006 dari program studi Teknik Informatika, dimana data ini berasal dari dokumen yang berbeda yaitu MhsAll.xml, ProdiAll.xml dan AlumniAll.xml, yang diintegrasikan melalui skema konseptual global AlumniLkpAll.xsd
melalui mappingMapAlumni.mfd.
<AlumniLengkap>
<ThLulus>2006</ThLulus> <Alumni>
<ProgramStudi>
<KodeProdi>511</KodeProdi>
<NamaProdi>Teknik Informatika</NamaProdi> <JenjangProdi>Strata-1 (S1)</JenjangProdi> <Akreditasi>B</Akreditasi>
</ProgramStudi> <Lulusan>
<Mahasiswa>
<NRP>200511030</NRP> <Nama>Edy Nuryudanto</Nama> <TmLahir>Jakarta</TmLahir> <TgLahir>19-01-1982</TgLahir> <NamaOrtu>Saeno</NamaOrtu> <JnKelamin>Laki-laki</JnKelamin> <ThMasuk>2000</ThMasuk> <Alamat>
<Jalan>Jl. Mampang Prapatan IV Gg. 5 No. 63, Mampang</Jalan> <Kabupaten>Jakarta Selatan</Kabupaten>
<Kodepos>12790</Kodepos> <NoTelp>08561570195</NoTelp> </Alamat>
<SMU>
<ThLulusSMU>2000</ThLulusSMU> <NamaSMU>SMUN 64</NamaSMU> </SMU> </Mahasiswa> <IPK>2.60</IPK> <TotalSKS>151</TotalSKS> </Lulusan> ………..
Pada penelitian ini data yang terdapat pada skema dokumen AlumniAll adalah data
alumni yang lulus pada tahun 2004 sampai dengan tahun 2006, sedangkan program studi yang terdapat pada dokumen ini terdiri dari 3 (tiga) program studi yaitu program studi yang berkode 511 (Teknik Informatika), 512 (Sistem Informasi) dan 502 (Manajemen Informatika). Jumlah mahasiswa yang telah yudisium adalah 3 (tiga) mahasiswa untuk masing-masing program studi pada tahun 2004 dan 2005, sedangkan untuk tahun 2006 sebanyak 11 (sebelas) mahasiswa untuk masing-masing program studi pada tahun 2006.
Keluaran tersebut kemudian disimpan menjadi dokumen AlumniLkpAll.xml, yang
kemudian dapat digunakan untuk ditampilkan pada web untuk digunakan sesuai dengan kebutuhan pemilik data.
4.3. TAHAPAN INTEGRASI SKEMA DATA SEMITERSTRUKTUR
Hasil lain yang diperoleh dari penelitian ini adalah terbentuknya tahapan integrasi skema data semi terstruktur, tahapan ini memperlihatkan langkah-langkah yang dilakukan selama melakukan integrasi skema pada data semiterstruktur. Berikut adalah Tahapan Integrasi Skema Data Semi Terstruktur:
Pada tahapan integrasi di atas terlihat adanya suatu perulangan yang dilakukan ketika terdapat kesalahan pada pembentukan skema dokumen XML, perulangan ini dapat juga dilakukan jika diperlukan adanya perubahan pada skema dokumen yang telah dibuat. Hal ini dapat dilihat ketika proses pembuatan skema dokumen AlumniAll.xsd, yang
menggunakan skema dokumen Alumni.xsd sebagai skema acuan (reference).
Pembentukan skema AlumniAll.xsd dilakukan karena untuk menentukan agar dokumen Alumni.xsd dapat menampung data alumni yang lulus pada tahun yudisium yang berbeda
perlu diberikan kondisi unbounded pada elemen Alumni, akan tetapi hal ini tidak dapat
dilakukan karena elemen Alumni merupakan root elemen dari skema Alumni.xsd.
Gambar 19. Skema Dokumen Alumni.xsd
Untuk memenuhi kebutuhan tersebut, maka dilakukan perubahan skema dokumen
Alumni.xsd menjadi skema seperti di bawah ini.
Gambar 20. Skema Dokumen AlumniAll.xsd
Perubahan skema dokumen di atas, dapat dilakukan berulang kali sampai skema dokumen XML yang akan diintegrasikan benar dan sesuai dengan kebutuhan. Perubahan ini dapat dilakukan karena skema data semiterstruktur memiliki sifat yang reusable dan
Untuk perulangan yang dapat dilakukan pada saat pembentukan Skema Konseptual Global, jika hasil pemetaan (mapping) skema dokumen lokal terhadap skema konseptual
global tidak berhasil, yang diindikasikan dengan tidak semua elemen pada skema dokumen lokal terpetakan pada elemen skema konseptual global, maka perlu dilakukan perbaikan skema tersebut. Perulangan ini tidak saja berdasarkan dari adanya kesalahan pada saat pemetaan, tetapi dapat juga dilakukan jika ada kebutuhan output yang berbeda
maka perlu dibentuk skema konseptual global yang baru, hal ini dapat dilihat pada gambar berikut:
Gambar 21. Mapping Skema
Gambar di atas memperlihatkan suatu pemetaan baru yang dilakukan antara skema lokal dan skema konseptual global, terlihat bahwa tidak semua elemen pada skema konseptual global terpetakan dengan semua elemen pada skema dokumen lokal.
Siklus hidup ini dapat digunakan sebagai metoda dalam melakukan integrasi skema data semi terstruktur yang berbasis XML, sehingga jika akan dilakukan pengembangan dan perubahan baik pada skema source maupun pada skema target, dapat ditentukan