PEMBAHASAN dan HASIL
4.2 INTEGRASI SKEMA
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 diwakili oleh elemen Nrp, maka pada skema dokumen AlumniLkp, elemen Nrp akan
42
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>
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:sequence>
44
<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 elemen NrpMhs pada skema AlumniAll.xsd dan elemen Nrp pada elemen MhsAll.xsd.
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
46
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 mapping MapAlumni.mfd.
<Jalan>Jl. Mampang Prapatan IV Gg. 5 No. 63, Mampang</Jalan>
<Kabupaten>Jakarta Selatan</Kabupaten>
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.