INTEGRASI DATA SEMITERSTRUKTUR SECARA SKEMATIK BERBASIS XML (EXTENSIBLE MARKUP LANGUAGE)
TITIN PRAMIYATI K.
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2008
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa Tesis Integrasi Data Semiterstruktur Secara Skematik Berbasis XML (Extensible Markup Language), adalah karya sendiri dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal dari atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, Januari 2008
Titin Pramiyati K. NIM G651030054
ABSTRACT TITIN PRAMIYATI K. Schematically Integration Semistructured Data Base on Extensible Markup Language. Under the supervision of FAHREN BUKHARI and KUDANG B. SEMINAR. The recent emergence of eXtensible Markup Language (XML) as a new standard for data representation on the world-wide-web has drawn attention. Beside that, the similarity between semistructured data models and XML makes it favor to represent semistructured data models. The goals of this study are to analize and design integrating semistructured data base on XML. The other goal is to develop a step as an alternate to maintenance and develops integration semistructured data. This study used a schematic approach to integrate the semistructured data. The integration can occur in two steps, which are schema translation and schema integration. In the first step, the component semistructured data schemas are translated to XML’s schema. In the second step, each individual schema document as the source schema is mapped into the global conceptual schema or target schema thereby achieving data integration for XML documents. Key word: Semistructured data models, Global Conceptual Schema, XML.
RINGKASAN TITIN PRAMIYATI K. Integrasi Data Semiterstruktur Secara Skematik Berbasis XML (Extensible Markup Language), Dibimbing oleh FAHREN BUKHARI dan KUDANG B. SEMINAR. World-Wide-Web yang dikenal sebagai web adalah sistem standar yang diterima secara universal untuk penyimpanan, pengambilan, format dan penyajian informasi melalui sebuah jaringan internet yang berfungsi sebagai media transportasi informasi. Seperti diketahui, saat ini beragam informasi dapat ditempatkan pada web, baik dari bidang pendidikan, usaha, pemerintahan, sosial, budaya, sampai pada hiburan. Pada bidang pendidikan, khususnya pendidikan tinggi, web dapat dimanfaatkan untuk mempublikasikan lulusan dan alumni dari berbagai perguruan tinggi dengan mengumpulkan data lulusan dan alumni tersebut menjadi satu sumberdata. Saat ini data yang akan ditempatkan pada web dapat menggunakan model data semiterstruktur yang menggunakan struktur pohon sebagai skema datanya. Representasi data semiterstruktur dapat dilakukan dengan menggunakan extensible markup language (XML), yang digunakan sebagai format baku dalam merepresentasi data semiterstruktur. Untuk mengumpulkan data lulusan dan alumni yang berasal dari berbagai sumberdata dan ditempatkan pada web, dapat dilakukan dengan mengintegrasikan data semiterstruktur berbasis XML secara skematik, yaitu mengintegrasikan data dengan menggabungkan semua skema sumberdata yang ekivalen untuk menghasilkan sebuah skema konseptual global. Integrasi data terdiri dari 2 (dua) proses, yaitu proses schema translation dan proses integrasi (integration) itu sendiri. Proses schema translation yang akan dilakukan pada penelitian ini adalah merubah model data basisdata relasi (relational) yang dijadikan sebagai basisdata lokal ke bentuk model data XML yang kemudian disebut sebagai skema lokal, translasi dilakukan dengan membentuk metadata basisdata lokal tersebut dengan membangun skema dokumen XML dan DTD (document type definition). Selain translasi model data, pada proses ini juga dibangun dokumen XML berdasarkan dari skema dokumen XML dan DTD untuk menyimpan data yang dikenal sebagai XML instance. Pengecekan kebenaran terhadap skema yang dibentuk dilakukan dengan mengevaluasi struktur skema dokumen dengan DTD sehingga skema dokumen memenuhi kondisi well-formed dan valid-formed, serta dilakukan evaluasi terhadap dokumen XML yang telah berisi data, apakah sudah memenuhi kebutuhan informasi yang ingin dihasilkan atau tidak. Proses berikut yang dilakukan adalah integrasi, pada proses ini integrasi dilakukan secara skematik dengan menggabungkan semua skema lokal yang telah dibuat sampai didapatkan sebuah skema yang mengandung seluruh elemen dari skema lokal yang diintegrasikan yang kemudian disebut sebagai skema konseptual global. Untuk mengetahui kebenaran dari skema konseptual global yang dihasilkan, dilakukan pemetaan (mapping) antara skema lokal yang dijadikan sebagai skema source dengan skema konseptual global sebagai skema target. Jika seluruh elemen pada skema source terpetakan pada skema target maka skema konseptual global dapat digunakan sebagai media integrasi data. Kebenaran keluaran yang dihasilkan dari pemetaan ini yang
menunjukkan bahwa skema konseptual global yang digunakan dapat dijadikan media integrasi data semiterstruktur sehingga data alumni dan lulusan yang tersebar pada berbagai sumberdata dapat dilihat sebagai sebuah sumberdata. Kata kunci : model data semiterstruktur, skema konseptual global, XML
© Hak cipta milik IPB, tahun 2008 Hak cipta dilindungi Dilarang mengutip dan memperbanyak tanpa izin tertulis dari Institut Pertanian Bogor, sebagian atau seluruhnya dalam bentuk apa pun, baik cetak, fotocopi, mikrofilm, dan sebagainya
INTEGRASI DATA SEMITERSTRUKTUR SECARA SKEMATIK BERBASIS XML (EXTENSIBLE MARKUP LANGUAGE)
TITIN PRAMIYATI K.
Tesis Sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Departemen Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2008
Judul Tesis
: Integrasi Data Semiterstruktur Secara Skematik Berbasis XML (Extensible Markup Language)
Nama NIM
: TITIN PRAMIYATI K. : G651030054
Disetujui, Komisi Pembimbing
Ir. Fahren Bukhari, M.Sc. Ketua
Prof. Dr. Ir. Kudang B. Seminar, M.Sc. Anggota
Diketahui, Ketua Program Studi Ilmu Komputer
Dr. Sugi Guritman, MSc.
Tanggal ujian: 5 Januari 2008
Dekan Sekolah Pascasarjana IPB
Prof. Dr. Ir. Khairil Anwar Notodiputro, MS
Tanggal Lulus: 23 Januari 2008
Penguji Luar Komisi pada Ujian Tesis : Drs. Prapto Tri Supriyo, M.Kom.
PRAKATA Syukur Alhamdulillah, penulis panjatkan kepada illahi robbi Allah SWT, atas rahmat dan hidayahnya sehingga akhirnya karya ilmiah ini dapat diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak Maret 2006 ini adalah integrasi data semiterstruktur, dengan judul Integrasi Data Semiterstruktur Secara Skematik Berbasis XML (Extensible Markup Language). Pada kesempatan ini, penulis menyampaikan ucapan terima kasih dan penghargaan yang setinggi – tingginya kepada bapak Ir. Fahren Bukhari, M.Sc, , dan bapak Prof. Dr. Ir. Kudang Boro Seminar, M.Sc., atas kesediaanya meluangkan waktu untuk membimbing sejak awal pemilihan tema penelitian hingga selesainya karya ilmiah ini. Penghargaan yang tulus penulis sampaikan pula, kepada para dosen Program Studi Ilmu Komputer, Sekolah Pascasarjana, Institut Pertanian Bogor, yang telah memberi wawasan pengetahuan bagi penulis. Atas do’a, pengorbanan, kesabaran serta dukungan moril, penulis ucapkan terima kasih dan rasa hormat yang tulus pada ibu dan suami tercinta, serta seluruh keluarga. Semoga, hasil karya ilmiah yang jauh dari sempurna ini dapat bermanfaat.
Bogor,
Januari 2008
Titin Pramiyati K.
RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 8 April 1969 dari ayah Saleh Harsono K. dan ibu Suzana Tellusa. Penulis adalah putri kelima dari lima bersaudara. Pada tahun 1988 penulis lulus dari SMA Negeri 52 Jakarta. Pendidikan sarjana ditempuh pada tahun 1997 di Universitas Pembangunan Nasional ”Veteran” Jakarta, jurusan Manajemen Informatika, lulus pada tahun 1999. Pada tahun 2003 penulis mendapat kesempatan untuk melanjut pendidikan ke program magister pada program Studi Ilmu Komputer, Sekolah Pascasarjana IPB. Penulis bekerja di Universitas Pembangunan Nasional ”Veteran” Jakarta, pada Fakultas Ilmu Komputer sejak tahun 1992 hingga sekarang. Pada tahun 2005 penulis dipercaya sebagai Ketua Program Studi Manajemen Informatika, dan pada tahun 2006 penulis dipercaya sebagai Ketua Jurusan Sistem Informasi pada Fakultas Ilmu Komputer UPN ”Veteran” Jakarta.
DAFTAR ISI
Halaman DAFTAR TABEL …………………………………………………..
iii
DAFTAR GAMBAR ……………………………………………….
iv
DAFTAR LAMPIRAN ……….……………………………………..
v
PENDAHULUAN
1
Latar Belakang ..………………………………………………...
1
Tujuan Penulisan ……………………………………………….
3
Manfaat Penulisan ……………………………………………...
3
Ruang Lingkup …………………………………………………
3
TINJAUAN PUSTAKA Data Semi Terstruktur ………………………………………….
4
Metadata …………..…………………………………………...
7
Integrasi ………..……………………………………………...
9
Extensible Markup Language (XML) …………………………
12
Validasi XML ….……………….
14
METODOLOGI PENELITIAN Kerangka Berpikir……………………………………………….
16
Bahan dan Alat Penelitian………………………………….……
18
PEMBAHASAN DAN HASIL Translasi Skema ……………………………………………….
22
Penentuan Model Data ……………………………………
25
Pembentukan Skema Data Semiterstruktur Berbasis XML
25
Pembentukan Skema Dokumen XML ..................................
31
Pembentukan Dokumen XML ..............................................
40
Integrasi Skema ...........................................................................
42
Pembentukan Skema .............................................................
42
Mapping ..................................................................................
45
Tahapan Integrasi Skema Data Semi Terstruktur ...............
i
48
SIMPULAN DAN SARAN Simpulan ………………………………………………………
51
Saran ……………………………………………………………
51 52
DAFTAR PUSTAKA
ii
DAFTAR TABEL Halaman 1. Contoh Basisdata Relasional ............................................................ 6 2. Struktur data File Mahasiswa ........................................................... 18 3. Stuktur data File Program Studi ....................................................... 18 4. Struktur data File Yudisium ............................................................. 5. Struktur data File Mh_Siswa ............................................................
19
6. Stuktur data File Program_Studi ...................................................... 7. Struktur data File Alamat .................................................................
19
8. Struktur data File MHS .................................................................... 9. Stuktur data File ProgramStudi .......................................................
20 20
10. Struktur data File Yudisium ............................................................
20
11. Struktur data File Alamat .................................................................
21
12. Elemen Mahasiswa ...........................................................................
26
13. Elemen Prodi ...................................................................................
28
14. Elemen Yudisium .............................................................................
29
iii
19 20
DAFTAR GAMBAR Halaman 1. Contoh edge-labeled tree .................................................................. 4 2. Contoh penggunaan tipe data sebagai Label .....................................
5
3. Struktur pohon data semi terstruktur ................................................
6
4. Contoh dokumen XML ....................................................................
13
5. Contoh skema dokumen XML ..........................................................
14
6. Bagan kerangka pikir penelitian .......................................................
16
7. Relationship data model Alumni .....................................................
22
8. Relationship data model Yudisium ..................................................
23
9. Relationship data model Lulusan ......................................................
24
10. Relationship data model Target Skema ............................................
24
11. Struktur pohon elemen Mahasiswa ...................................................
27
12. Struktur pohon elemen Prodi ............................................................ 13. Struktur pohon elemen Yudisium .....................................................
28 30
14. Struktur pohon elemen Alumni .........................................................
31
15. Skema dokumen Mhs.xsd .................................................................
33
16. Skema dokumen MhsAll.xsd .............................................................
35
17. Mapping antar skema dokumen source dengan skema dokumen target ................................................................................................. 18. Tahapan Integrasi Skema Konseptual Global ..................................
46 48
19. Skema Dokumen Alumni.xsd ...........................................................
49
20. Skema Dokumen AlumniAll.xsd ......................................................
49
21. Mapping Skema ................................................................................
50
iv
DAFTAR LAMPIRAN Halaman 1. Skema Dokumen Mhs.xsd ................................................................ 53 2. Skema Dokumen MhsAll.xsd ...........................................................
54
3. Skema Dokumen Prodi.xsd ..............................................................
55
4. Skema Dokumen ProdiAll.xsd .........................................................
56
5. Skema Dokumen Yudisium.xsd .......................................................
57
6. Skema Dokumen Alumni.xsd ...........................................................
58
7. Skema Dokumen AlumniAll.xsd .....................................................
59
8. Skema Dokumen AlumniLkp.xsd ....................................................
60
9. Skema Dokumen AlumniLkpAll.xsd ...............................................
61
10. DTD MhsAll.dtd ...............................................................................
62
11. DTD ProdiAll.dtd ............................................................................
64
12. DTD AlumniAll.dtd ........................................................................
65
13. DTD AlumniLengkap.dtd ................................................................
66
v
BAB I PENDAHULUAN 1.1
LATAR BELAKANG Ketika komputer digunakan sebagai media penyimpanan informasi, berbagai usaha
dilakukan untuk membuat struktur data yang dapat menentukan format, tipe, panjang, relasi antar data, dan bagaimana data tersebut ditempatkan pada media simpanan agar mudah diproses untuk menghasilkan informasi yang dibutuhkan. Selain struktur data, untuk menghasilkan informasi dibutuhkan juga satu sistem yang merupakan kumpulan data yang dapat digunakan terus menerus oleh beberapa pengguna, sistem yang kemudian dikenal sebagai basisdata (database). Basisdata adalah kumpulan data yang terhubung secara logik, yang dirancang untuk memenuhi kebutuhan informasi organisasi. Basisdata yang banyak digunakan saat ini adalah basisdata relasional (relational database), memiliki kemudahan dalam melakukan simpanan dan pengambilan data. Basisdata relasional merupakan basisdata yang mengijinkan tingkat kebebasan data yang tinggi, menyediakan aturan substansial yang sesuai dengan semantik data, konsistensi data, kerangkapan data, serta memungkinkan adanya perluasan manipulasi data yang berorientasi pada set (set-oriented). Setiap tabel pada basisdata relasional direpresentasikan dalam bentuk tabel dua-dimensi yang terdiri dari baris dan kolom, baris pada tabel akan berkorespondensi dengan record dan kolom berkorespondensi dengan atribut. World-Wide-Web yang dikenal sebagai web adalah sistem standar yang diterima secara universal untuk penyimpanan, pengambilan, format dan penyajian informasi melalui sebuah jaringan internet yang berfungsi sebagai media transportasi informasi. Semua tipe informasi digital termasuk teks, grafik dan suara dapat ditempatkan dan diolah pada web (Turban, 2003). Dengan kemampuan tersebut, web menjadi sebuah sumberdaya informasi yang sangat luas dan dapat menjadi tujuan pencarian informasi. Sebagai sumberdaya informasi, data yang ditempatkan pada web adalah data yang tersebar dan terkoneksi pada jaringan yang luas. Sebelumnya web dianggap sebagai sebuah kumpulan dokumen-dokumen tidak terstruktur yang terkoneksi satu dengan yang lain, saat ini sejumlah sumber data
terstruktur sudah mulai digunakan pada web dengan menggunakan database gateways sebagai penyelaras. Meskipun bentuk data yang terdapat pada web sangat beragam, akan tetapi bentuk data dengan format tidak terstruktur sangat mendominasi dibanding data dengan format terstruktur, seperti HTML (HyperText Mark-up Language) data dan SGML (Standard Generalized Mark-up Language) data, yang kemudian dikenal sebagai data semi terstruktur (semi-structured). Data semi tertruktur adalah data yang menggunakan struktur pohon sebagai skema, penggunaan struktur pohon ini memungkinkan data semi terstruktur direpresentasikan dalam berbagai bentuk skema. Alasan digunakannya data semi terstruktur adalah adanya keinginan untuk mengolah sumberdaya web sebagai sebuah basisdata yang tidak dibatasi oleh skema tertentu, keinginan untuk memiliki sebuah format data yang fleksibel untuk kebutuhan pertukaran data antar basisdata yang berbeda (Connolly, 2003). Seperti diketahui, saat ini beragam informasi dapat ditempatkan pada web, baik dari bidang pendidikan, usaha, pemerintahan, sosial, budaya, sampai pada hiburan. Pada bidang pendidikan, khususnya pendidikan tinggi, web dapat dimanfaatkan untuk mempublikasikan lulusan dan alumni suatu perguruan tinggi. Publikasi ini dapat digunakan oleh pemerintah untuk mendapatkan data tenaga kerja potensial dan ahli, selain itu dapat dimanfaatkan oleh perusahaan yang membutuhkan tenaga kerja yang profesional dan bermutu sesuai bidang usaha, bahkan dapat dimanfaatkan oleh perguruan tinggi tersebut untuk memberikan informasi mutu pendidikan yang mereka lakukan yang tercermin pada data lulusan dan alumninya. Hal tersebut di atas dapat diwujudkan dengan mengumpulkan semua data lulusan atau alumni dari berbagai perguruan tinggi untuk ditempatkan pada web, pengumpulan data yang berasal dari sumberdata yang berbeda memiliki kemungkinan adanya perbedaan format, skema, bahkan struktur diantara sumberdata tersebut. Untuk mengatasi perbedaan yang ada dapat dilakukan dengan melakukan integrasi data, dengan membangun format standard atau lebih dikenal sebagai skema konseptual global, yang digunakan sebagai acuan dalam merepresentasikan data yang akan ditempatkan pada web. Skema konseptual global ini yang nantinya akan digunakan oleh perguruan tinggi lain jika akan menempatkan data lulusan mereka kedalam web, sehingga dengan adanya
2
skema konseptual global ini data lulusan yang berasal dari sumberdata yang berbeda terlihat sebagai satu sumberdata. Integrasi data tidak hanya dapat dilakukan pada sumberdata yang bersifat heterogen, akan tetapi dapat juga dilakukan pada sumberdata yang homogen dengan skema yang berbeda, misal saja beberapa sumberdata yang menggunakan relasional basisdata dalam merepresentasikan data lulusan, menggunakan tabel (file), atribut, dan relationship yang berbeda, karena dapat terjadi adanya nama atribut yang sama tetapi memiliki arti yang berbeda atau sebaliknya. Demikian juga dengan sumberdata yang menggunakan data semi terstruktur, dimana model data ini dapat menggunakan bentuk struktur pohon yang berbeda dalam merepresentasikan datanya tentunya perlu untuk diintegrasikan. 1.2
TUJUAN PENULISAN Tujuan penelitian ini adalah merancang skema konseptual global data semi
terstruktur berbasis XML, yang dapat digunakan sebagai media integrasi data dari beberapa sumberdata untuk ditempatkan data pada web. 1.3
MANFAAT PENULISAN Manfaat penelitian ini adalah menghasilkan rancangan skema konseptual global
untuk integrasi data secara skematik pada data semi terstruktur berbasis XML, dan memberikan solusi atau alternatif untuk mengembangkan dan perawatan data yang berkelanjutan. 1.4
RUANG LINGKUP Lingkup kajian dalam penelitian ini adalah:
1.
Analisis terhadap sumber data yang digunakan yaitu sumber data yang terkait dengan informasi alumni pada Perguruan Tinggi dengan sumber data adalah basisdata Alumni yang menggunakan model data relasional.
2.
Perancangan skema konseptual global dilakukan dengan mengintegrasikan skema dari sumber data dengan tidak memperhatikan unsur semantik dari skema tersebut.
3
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
dan , 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) :
Manajemen Informatika 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:
511 Teknik Informatika <JenjangProdi>Strata-1 (S1) B
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. <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
13
<xs:complexType> <xs:sequence> <xs:element name="KodeProdi"/> <xs:element name="NamaProdi"/> <xs:element name="JenjangProdi"/> <xs:element name="Akreditasi"/>
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
BAB III METODOLOGI PENELITIAN 3.1
KERANGKA BERPIKIR Berdasarkan pada penelitian yang telah dilakukan sebelumnya dan teori yang
menjadi dasar pada penelitian yang bertujuan untuk membangun rancangan skema konseptual global untuk mengintegrasikan beberapa sumberdata berbasis XML memiliki kerangka berpikir sebagai berikut:
Gambar 6. Bagan kerangka pikir penelitian Integrasi adalah proses yang menggabungkan beberapa intermediate skema, yang kemudian gabungan skema ini akan dilakukan strukturisasi ulang untuk menghasilkan integrasi skema. Penggabungan akan sempurna jika semua informasi dari semua skema diintegrasikan menjadi bentuk skema yang baru.
Penelitian ini akan menggunakan model data XML atau dikenal sebagai dokumen XML sebagai model basisdata yang akan digunakan, alasan penggunaan model data ini adalah karena XML masih tetap menggunakan skema meskipun skema yang digunakan bukan merupakan skema yang tetap tetapi skema yang bersifat bebas (arbitrary), skema yang digunakan untuk membentuk struktur model data yang dibangun. Selain skema, model data XML juga menggunakan document type definition (DTD) yang bersama dengan skema digunakan untuk melakukan validasi model data. Proses integrasi yang akan dilakukan terdiri dari 2 (dua) proses, yaitu proses schema translation dan proses integrasi (integration) itu sendiri. Proses schema translation yang akan dilakukan pada penelitian ini adalah merubah model data basisdata relasi (relational) yang dijadikan sebagai basisdata lokal ke bentuk model data XML yang kemudian disebut sebagai skema lokal, translasi dilakukan dengan membentuk metadata basisdata lokal tersebut dengan membangun skema dan DTD. Selain translasi model data, pada proses ini juga dibangun dokumen XML yang akan digunakan untuk menyimpan data yang dikenal sebagai XML instance. Pembentukan metadata ini menggunakan perangkat lunak XML Spy. Setelah proses translasi skema ini berhasil dilakukan dengan terbentuknya skema dan DTD skema lokal, kemudian dilakukan proses integrasi data dengan membangun skema konseptual global. Skema konseptual global yang dibangun menggunakan XML sebagai model data, sehingga untuk kebutuhan pembuatan skema konseptual global dibentuk skema dan DTD. Selain pembangunan skema dan DTD untuk skema konseptual global, pada proses integrasi juga dilakukan pemetaan (mapping) antara skema lokal hasil proses translasi terhadap skema konseptual global. Selama proses pemetaan, ditentukan pula beberapa semantik yang dipakai untuk tetap menjaga hubungan (relationship) antar skema lokal, sehingga keberhasilan integrasi data melalui pemetaan terhadap skema konseptual global dapat terlihat. Proses pemetaan yang dilakukan pada penelitian ini menggunakan perangkat lunak MapForce, yang di produksi oleh Altova, Inc. Pemetaan pada proses integrasi dapat dilakukan dengan memetakan seluruh elemen data pada skema basisdata lokal terpetakan pada skema konseptual global, jika terdapat
17
elemen pada skema basisdata lokal tidak terpetakan pada skema konseptual global maka skema konseptual global belum dapat dipakai untuk integrasi data. 3.2
BAHAN dan ALAT PENELITIAN Basisdata yang digunakan sebagai bahan penelitian adalah basisdata relasional
(relational database) pada Sistem Informasi Akademik di UPN “Veteran” Jakarta. Basisdata relational yang digunakan terdiri dari 3 (tiga) basisdata yang memiliki skema yang berbeda satu dengan yang lain yang kemudian disebut sebagai basisdata Alumni, Yudisium dan Lulusan. Berikut ini adalah basisdata Alumni yang terdiri dari file Mahasiswa, ProgramStudi dan Yudisium, adapun elemen data dapat dilihat pada tabel di bawah ini: Field 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Nama Field Mh_NRP Mh_Nama Mh_Alamat Mh_Kdpos Mh_Telp Mh_TmLhr Mh_TgLhr Mh_JnKelamin Mh_ThMasuk Mh_AsalSMU Mh_ThnLulusSMU Mh_NmOrtu Mh_Yudis Mh_Ps
Tipe Character Character Character Character Character Character Date Character Date Character Date Character Date Character
Panjang 9 35 90 5 7 20
Desimal
1 3 35 3
Tabel 2. Struktur data File Mahasiswa Field 1. 2. 3. 4. 5. 6.
Nama Field Ps_Kode Ps_Nama Ps_Jenjang Ps_Akreditasi Ps_SkepBAN Ps_IjinOps
Tipe Character Character Character Character Character Date
Tabel 3. Stuktur data File ProgramStudi 18
Panjang 3 20 7 1 15
Desimal
Field 1. 2. 3. 4. 5.
Nama Feld Yudis_NRP Yudis_TglSkep Yudis_IPK Yudis_SKS Yudis_Peringkat
Tipe Character Date Numerik Numerik Character
Panjang 9
Desimal
4 3 1
2
Tabel 4. Struktur data File Yudisium Sedangkan untuk basisdata Yudisium, yang memiliki 3 (tiga) file yaitu Mh_Siswa, Program_Studi dan file Alamat. Hal yang membedakan kedua Basisdata adalah pada file Yudisium dan file Alamat, pada basisdata Alumni tidak terdapat file Alamat sebaliknya pada basisdata Yudisium tidak terdapat file Yudisium. Field 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Nama Field NRP Nama TmLhr TgLhr JnKelamin ThMasuk AsalSMU ThnLulusSMU Nama_Ortu TglYudis IPKYudis SKSYudis KodePs
Tipe Character Character Character Date Character Date Character Date Character Date Numerik Numerik Character
Panjang 9 35 20
Desimal
1 3 35 4 3 3
2
Panjang 3 20 7 1 15
Desimal
Tabel 5. Struktur data File Mh_Siswa Field 1. 2. 3. 4. 5. 6.
Nama Field Kode Nama Jenjang Akreditasi SkepBAN IjinOps
Tipe Character Character Character Character Character Date
Tabel 6. Stuktur data File Program_Studi
19
Field 1. 2. 3. 4. 5.
Nama Feld NRP NmJalan Kabupaten Kodepos Telepon
Tipe Character Character Character Character Character
Panjang 9 20 20 5 12
Desimal
Tabel 7. Struktur data File Alamat Sebagai basisdata terakhir yang digunakan pada penelitian ini adalah basisdata Lulusan, yang dapat dilihat pada table berikut ini: Field 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Nama Field Mhs_NRP Mhs_Nama Mhs_TmLhr Mhs_TgLhr Mhs_JnKelamin Mhs_ThMasuk Mhs_AsalSMU Mhs_ThnLulusSMU Mhs_NmOrtu Mhs_Yudis Mhs_PS
Tipe Character Character Character Date Character Date Character Date Character Date Character
Panjang 9 35 20
Desimal
1 3 35 3
Tabel 8. Struktur data File MHS Field 1. 2. 3. 4. 5. 6.
Nama Field Kode Nama Jenjang Akreditasi SkepBAN IjinOps
Tipe Character Character Character Character Character Date
Panjang 3 20 7 1 15
Desimal
Panjang 9
Desimal
4 3 1
2
Tabel 9. Stuktur data File ProgramStudi Field 1. 2. 3. 4. 5.
Nama Feld Yudis_NRP Yudis_TglSkep Yudis_IPK Yudis_SKS Yudis_Peringkat
Tipe Character Date Numerik Numerik Character
Tabel 10. Struktur data File Yudisium
20
Field 1. 2. 3. 4. 5.
Nama Feld Alamat_NRP Alamat_NmJalan Alamat_Kabupaten Alamat_Kodepos Alamat_Telepon
Tipe Character Character Character Character Character
Panjang 9 20 20 5 12
Desimal
Tabel 11. Struktur data File Alamat Pemilihan basisdata tersebut di atas sebagai bahan penelitian ini didasarkan pada ketentuan yang berlaku dalam penentuan mahasiswa yang menjadi alumni pada fakultas ini, yaitu seseorang dapat dikatakan sebagai alumni apabila orang tersebut adalah mahasiswa pada satu program studi yang telah menyelesaikan studi berdasarkan hasil yudisium. Alat penelitian yang digunakan adalah perangkat lunak aplikasi XML Spy, perangkat lunak ini digunakan sebagai tools pada pembuatan skema dan Document Type Definitions (DTD) sebuah dokumen XML. Perangkat lunak ini menyediakan juga fasilitas untuk memasukkan isi daripada elemen pada dokumen XML. Hal lain yang dapat dilakukan dengan perangkat lunak ini adalah menulis kode program (coding) untuk menghasilkan keluaran (output) berupa dokumen dengan format HTML. Perangkat lunak ini digunakan pada penelitian pada proses translasi. Perangkat lain yang digunakan adalah perangkat lunak MapForce, yang berfungsi sebagai tools pada proses pemetaan (mapping) antara skema basisdata lokal dengan skema basisdata global. Hasil yang diperoleh dari proses pemetaan dengan menggunakan perangkat lunak ini adalah keluaran yang sesuai diantara kedua skema, dimana setia elemen pada skema basisdata lokal yang dipetakan ke elemen pada skema basisdata global akan menampilkan isi yang benar dari elemen tersebut. Dengan menggunakan perangkat lunak ini, hubungan antar skema basisdata lokal tetap dapat terjaga seperti pada basisdata relasional
melalui penggunaan beberapa fungsi yang telah disediakan,
penggunaan fungsi-fungsi ini dapat melengkapi kebutuhan semantik dari skema basisdata yang bersifat semi terstuktur.
21
BAB IV PEMBAHASAN dan HASIL 4.1
TRANSLASI SKEMA Penelitian 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 7. Relationship data model Alumni
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 dengan tepat satu objek pada entitas Alamat.
23
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,
Gambar 10. Relationship data model Target Skema
24
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 alumni pada 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 25
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 elemenelemen 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 Nama TmpLahir TgLahir NamaOrtu JnKelamin ThMasuk Alamat : Jalan Kabupaten Kodepos NoTelp SMU ThLulusSMU NamaSMU
ID dari Mahasiswa Nama Mahasiswa Tempat Lahir Mahasiswa Tanggal Lahir Mahasiswa Nama Orang Tua Jenis Kelamin Tahun Masuk Perguruan Tinggi Elemen complextype Nama jalan dari Alamat Mahasiswa Kabupaten dari Alamat Mahasiswa Kodepos dari Alamat Mahasiswa Nomor telepon Mahasiswa Elemen complextype Tahun lulus dari SMU Mahasiswa 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 dan Kodepos. Bahkan penyajian informasi dapat dipilah sesuai dengan kebutuhan, 26
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 bawah ini;
27
Root Elemen
Nama Elemen
Deskripsi
Prodi
KodeProdi NamaProdi JenjangProdi Akreditasi
Kode Program Studi Nama program studi sesuai kode Jenjang pendidikan dari program studi 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
28
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 MhsYudisium: NrpMhs IPK TotalSKS
Kode Program Studi Elemen complextype Nrp mahasiswa yang sudah yudisium IPK dari mahasiswa sesuai NRP 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 program studi alumni, sedangkan elemen MhsYudisium digunakan untuk menampung
29
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 Yudisium, untuk membentuk hirarki data alumni berdasarkan tahun akademik, yang
30
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; <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
31
<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:element name="SMU"> <xs:complexType> <xs:sequence> <xs:element name="ThLulusSMU" type="xs:gYear"/> <xs:element name="NamaSMU" type="xs:string"/>
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:
32
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:
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
33
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 kemudian dideklarasikan sebagai elemen unbounded, hal inilah yang dapat memecahkan
34
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. <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:complexType> <xs:sequence> <xs:element ref="Mahasiswa" maxOccurs="unbounded"/>
35
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;
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; <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:complexType> <xs:sequence> <xs:element name="KodeProdi"/> <xs:element name="NamaProdi"/> <xs:element name="JenjangProdi"/> <xs:element name="Akreditasi"/>
Elemen complextype pada dokumen Prodi ini hanya satu yaitu root elemen yang bernama ProgramStudi, elemen lain yang digunakan merupakan elemen simpletype. 36
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;
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: <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:complexType> <xs:sequence> <xs:element ref="ProgramStudi" maxOccurs="unbounded"/>
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
37
agar dokumen XML memenuhi kebutuhan well-formed dan validation-formed. Berikut ini adalah DTD dari skema dokumen ProdiAll.xsd;
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; <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:complexType> <xs:sequence> <xs:element name="ThYudisium"/> <xs:element ref="Yudisium" maxOccurs="unbounded"/>
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;
38
<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: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"/>
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. <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:complexType> <xs:sequence> <xs:element ref="Alumni" maxOccurs="unbounded"/>
39
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.
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. <MhsAll> <Mahasiswa>
200511030 Edy Nuryudanto Jakarta 19-01-1982 Saeno <JnKelamin>Laki-laki
2000 <Jalan>Jl. Mampang Prapatan IV Gg. 5 No. 63, Mampang Jakarta Selatan 12790 08561570195 <SMU>
2000
40
SMUN 64
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;
511 Teknik Informatika <JenjangProdi>Strata-1 (S1) B 512 Sistem Informasi <JenjangProdi>Strata-1 (S1) C 502 Manajemen Informatika <JenjangProdi>Diploma-3 (D3) B
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 elemen referensi pada AlumiAll.xsd, karena sifat dari model data semi terstruktur yang
41
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 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 <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: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"/>
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.
43
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:
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. <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:complexType> <xs:sequence>
44
<xs:element ref="AlumniLengkap" maxOccurs="unbounded"/>
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.
45
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.
2006 511 Teknik Informatika <JenjangProdi>Strata-1 (S1) B <Mahasiswa> 200511030 Edy Nuryudanto Jakarta 19-01-1982 Saeno <JnKelamin>Laki-laki 2000 <Jalan>Jl. Mampang Prapatan IV Gg. 5 No. 63, Mampang Jakarta Selatan 12790 08561570195 <SMU> 2000 SMUN 64 2.60 151 ………..
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.
47
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:
Gambar 18. Tahapan Integrasi Skema Konseptual Global
48
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 fleksibel untuk dilakukan perubahan.
49
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 pengembangan tersebut dimulai pada tahapan yang seharusnya.
50
BAB V SIMPULAN dan SARAN 5.1
SIMPULAN Berdasarkan hasil penelitian yang diuraikan pada pembahasan dapat ditarik
kesimpulan sebagai berikut: 1. Skema konseptual global yang digunakan dalam integrasi data dapat dirancang menggunakan model data semiterstruktur. 2. Integrasi data semiterstruktur yang direpresentasikan dalam format XML dapat dilakukan dengan mengintegrasikan skema dari masing-masing dokumen XML. 3.
Keluaran (output) yang dihasilkan dari integrasi data dapat dibuat sesuai dengan kebutuhan pengguna.
5.2
SARAN Beberapa hal yang dapat dilakukan untuk mengembangkan penelitian ini adalah
sebagai berikut: 1. Data yang digunakan sebaiknya adalah data yang cakupan informasi lebih luas, yaitu pada cakupan data ditingkat perguruan tinggi, sehingga tujuan penempatan data pada web lebih berarti dengan terpublikasi lulusan suatu perguruan tinggi akan memberi informasi kepada masyarakat profile angkatan kerja dan tingkat pendidikan di Indonesia. 2. Proses translasi dapat dilakukan secara semi otomatis dengan membangun metadata yang sesuai dengan model data yang digunakan sebagai input, seperti model data relasional (basisdata relasional). Melakukan embedding antara perangkat lunak XML dengan bahasa pemrograman yang dapat mendukung XML, seperti bahasa pemrograman Java, sehingga proses semi otomatisasi translasi dapat dilakukan sesuai dengan format standard XML yang berlaku dan sesuai dengan perangkat lunak yang digunakan.
DAFTAR PUSTAKA Buneman P, 1997, Semistructured Data, In Proceeding of the Sixth ACM SIGACTSIGMOD-SIGART Symposium on Principles of Database Systems Chawate S, Garcia-Molina H., Hammer, J. Ireland, K. Papakonstantinou, Y. Ullman, J. Widom., 1994, The TSIMMIS Project: Integration of Heterogeneous Information Sources, In 16th Meeting of the IPSJ Connoly T, Begg C, 2003, Strachan A, Database Systems, Addison Wesley C. Beeri, T. Milo, 1999, Schemas for Integration and Translation of Structured and Semistructured data, In Proceedings of ICDT’99 Gianolli PR., Mylopoulos J, 2000, A Semantic Approach to XML-Based Data Integration, Department of Computer Science, University of Toronto McBrien, P., Poulovassilis. A. , 2001, A Semantic Approach to Integrating XML and Structured Data Sources, In 13th CaiSE Conference NISO Press, 2004, Understanding Metadata, NISO Press Özsu MT, Valduriez P., 1999, Principles Distributed Database Systems, Second Edition, Prentice Hall Suciu D, 1996, Query Decomposition and View Maintenance for Query Languages for Unstructured Data, Proceedings of the 22nd VLDB Conference, Bombay Turban E, Rainer RK, Potter RE, 2003, Introduction to Information Technology, Second Edition, John Wiley & Sons, Inc. World Wide Web Consortium (W3C), 20-08-2006, Extensible Markup Language (XML), http://www.w3.org/XML
Lampiran 1. Skema Dokumen Mhs.xsd
<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: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:element name="SMU"> <xs:complexType> <xs:sequence> <xs:element name="ThLulusSMU" type="xs:gYear"/> <xs:element name="NamaSMU" type="xs:string"/>
53
Lampiran 2. Skema Dokumen MhsAll.xsd
<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:complexType> <xs:sequence> <xs:element ref="Mahasiswa" maxOccurs="unbounded"/>
54
Lampiran 3. Skema Dokumen Prodi.xsd
<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:complexType> <xs:sequence> <xs:element name="KodeProdi"/> <xs:element name="NamaProdi"/> <xs:element name="JenjangProdi"/> <xs:element name="Akreditasi"/>
55
Lampiran 4. Skema Dokumen ProdiAll.xsd
<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:complexType> <xs:sequence> <xs:element ref="ProgramStudi" maxOccurs="unbounded"/>
56
Lampiran 5. Skema Dokumen Yudisium.xsd
<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:complexType> <xs:sequence> <xs:element ref="KodeProdi"/> <xs:element name="MhsYudisium" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="NrpMhs" type="xs:string"/> <xs:element name="IPK"/> <xs:element name="TotalSKS"/>
57
Lampiran 6. Skema Dokumen Alumni.xsd
<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:complexType> <xs:sequence> <xs:element name="ThYudisium"/> <xs:element ref="Yudisium" maxOccurs="unbounded"/>
58
Lampiran 7. Skema Dokumen AlumniAll.xsd
<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:complexType> <xs:sequence> <xs:element ref="Alumni" maxOccurs="unbounded"/>
59
Lampiran 8. Skema Dokumen AlumniLkp.xsd
<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: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"/>
60
Lampiran 9. Skema Dokumen AlumniLkpAll.xsd
<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:complexType> <xs:sequence> <xs:element ref="AlumniLengkap" maxOccurs="unbounded"/>
61
Lampiran 10. DTD MhsAll.dtd
62
Lanjutan
63
Lampiran 11. DTD ProdiAll.dtd
64
Lampiran 12. DTD AlumniAll.dtd
65
Lampiran 13. DTD AlumniAll.dtd
66
Lanjutan
67