Perancangan
Tools
untuk membuat XML
Schema
dengan
menggunakan Pendekatan
Entity Relationship Diagram
Yulia
1, Oviliani Yenty Yuliana
1, Sugianto Effendy
21
Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra Surabaya
2
Alumni Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra Surabaya Telp. (031) 2983455
yulia@petra.ac.id,ovi@petra.ac.id
ABSTRAK
Saat inieXtensible Markup Language (XML)banyak digunakan untuk penyajian data dan pemindahan data. Bentuk format XML yang berbasis teks menyebabkan XML dengan mudah dapat memindahkan data antar platform. Untuk mendefinisikan aturan dalam penulisan file XML, suatu file XML terhubung dengan suatu file XML Schema (XSD). XSD berfungsi sebagaiData Definition Languagebagi file XML. Dengan makin banyaknya penggunaan XML yang juga membuat makin banyaknya penggunaan XSD, maka diperlukan suatutoolsuntuk membuat XSD yang memudahkan pemakai dalam mengaplikasikannya.
Pada penelitian ini akan dibuat sebuah perangkat lunak berbasis grafisEntity Relationship Diagram(ERD) sebagai media inputan. Penulis melakukan pengamatan terhadaptoolsyang digunakan untuk membuat ERD sebagai bahan pembanding. Berdasarkan hasil pengamatan kemudian dirancang suatuinterface(antarmuka) yang baik. Proses dilanjutkan dengan melakukan beberapa validasi terhadap hasil rancangan ERD. Hasil validasi ERD inilah yang kemudian diproses untuk dibuat dalam bentuk XSD.Microsoft Visual Studio .NET dalam pembuatan perangkat lunak ini.
Dengan menggunakan perangkat lunak ini, pemakai yang awam dengan perintah XML dapat dengan mudah membuat suatu XSD yang digunakan dalam suatu file XML. Dengan perangkat lunak ini tidak perlu mengenali format XSD, karena perangkat lunak ini menggunakan ERD sebagai media dalam membuat XSD. Kata Kunci : eXtensible Markup Language (XML), XML Schema (XSD), Entity Relationship Diagram (ERD)
1. PENDAHULUAN
eXtensible Markup Language (XML)banyak digunakan dalam aktifitas untuk penyajian data dan untuk pemindahan data. Pada awalnya XML adalah suatu metode digunakan untuk pertukaran dan pemindahan data melalui internet. Kemudian berkembang menjadi suatu metode yang juga digunakan untuk pertukaran dan pengintegrasian data di antara aplikasi dengan platformyang berbeda. Bentuk format XML yang berbasis teks menyebabkan XML dengan mudah dapat memindahkan data antarplatformdan bisa berpindah melalui internet. Hal tersebut sulit terjadi pada aplikasi yang tidak menggunakan XML, karena aplikasi–aplikasi ini berdiri padaplatformyang berbeda.
XMLSchema(XSD) terdiri atas kumpulan struktur, tipe, danconstraints.XSD menjabarkan suatu data yang digunakan untuk menjelaskan dan menvalidasi dokumen XML. XSD merupakan pengembangan dari Document Type Definition(DTD). XSD diciptakan karena DTD menggunakan perintah yang berbeda dengan XML dan hanya memiliki tipe data yang terbatas. Akibatnya timbul gagasan untuk membuat definisi data yang berbasis perintah XML dan lebih banyak mengenal tipe data. Dapat dikatakan bahwa XSD adalah berkas XML yang digunakan sebagai definisi data dari beberapa berkas XML yang lain. Selain itu XSD juga berbasis perintah XML maka XSD memiliki segala kelebihan XML. Seiring dengan perkembangan pembuatan berkas XML yang menggunakan XSD sebagai definisi data, maka diperlukan tool untuk mempermudah membuat XSD yang baik.
XSD yang berbasis perintah XML seringkali membuat kesulitan untuk pemula yang tidak mengenal perintah XML. Awalnya tools yang ada hanyalah berbasis teks seperti notepad. Tools tersebut digunakan untuk membuat XSD secara manual dengan perintah XML.Contohtoolyang berbentuknotepadantara lain XMLwriter. Kemudian berkembangtools dengan tujuan mempermudah pembuatan XSD. Toolstidak lagi berbasis teks sebagai inputan tetapi telah menggunakan pendekatan Entity Relationship Diagram (ERD). Dengan tool yang menggunakan gambar ERD sebagai media inputan diharapkan pemula yang terbiasa dengan konsepRelational databasedapat merancang basis data yang berbasis XSD tanpa perlu mengenal detail dari perintah XML yang berbentuk teks.
2. ENTITY RELATIONSHIP DIAGRAM (ER DIAGRAM)
Suatu ERD mendokumentasi basis data dengan cara menentukan data-data apa yang terdapat dalam tiap entiti dan bagaimanarelationship(hubungan) antara suatu entiti dengan yang lainnya (Haplin, 1995). Dalam
pembuatan suatu ERD terbagi menjadi beberapa tahapan desain, yaituconceptual design(skema konseptual) danphysical design (skema fisikal)[5].
Skema Konseptual, skema yang mendeskripsikan data yang disimpan dalam model data DBMS. Skema konseptual mendeskripsikan semua relasi yang disimpan dalam database. Setiap kumpulan hubungan dan kumpulan entitas dapat dideskripsikan sebagai relasi.
Skema Fisikal, skema yang menentukan detil penyimpanan. Skema fisikal mendeskripsikan bagaimana relasi yang dideskripsikan dalam skema konspetual disimpan pada alat penyimpanan seperti disk serta mendeskripsikan detil tiapfielddari entiti yang meliputi tipe data, panjang data,nullabledan unik.
Di bawah ini dijelaskan beberapa hal yang digunakan dalam ERD:
• Entiti dapat berupa environmental element(elemen di sekitar sistem yang berhubungan dengan sistem tersebut),resource(sumber daya yang berhubungan dengan sistem yang ada), dan transaksi yang sangat penting bagi usaha dagang, sehingga dimodelkan dalam data. Contoh dari entiti ialahcustomer, pegawai, daftar presensi dan sebagainya. Seringkali entiti disebut juga tabel.
• Attribute(atribut) dari suatu entiti ialah karakteristik dari entiti tersebut. Sebagai contoh,attributeuntuk entiti mahasiswa mungkin ialah NRP, Nama, Alamat, Sekolah asal, dan sebagainya.
• Identifier ialah atribut yang mengidentifikasi suatu entiti secara unik, contohnya ialah NRP untuk mahasiswa. Dalam ERD,identifier dituliskan sebagai atribut dengan garis bawah. Seringkaliidentifier disebut juga dengan Key atau primary key. Karena berlaku sebagai atribut yang membedakan antara recorddenganrecord,maka nilai darikeyharus bersifat unik (tidak boleh ada suatu nilaikeyyang sama antara duarecorddalam satu entiti) dan tidak boleh bernilainullatau kosong.
• Foreign key adalah atribut tambahan hasil generate pada suatu entiti yang digunakan untuk menunjukkan bahwa entiti tersebut memiliki hubungan dengan entiti yang lain. Foreign keybaru akan kelihatan pada skema fisikal. Tipe data dan panjang data padaforeign keyharus sama dengankeyinduk [2].
• Relationshipialah hubungan yang terjadi antara dua buah entiti. Dalam ERD ada tiga jenisrelationship yaituone-to-one relationship, one-to-many relationshipdanmany-to-many relationship.
Tabel 1. Jenis-jenis relasi pada ER-Diagram
Sumber: Whiten, Bentley, Dittman.System Analysis Design Methods 6th edition,[3]
3. XML SCHEMA
XML Schema yang lebih dikenal dengan XML Schema Definition(XSD) adalah XMLvocabulary yang digunakan untuk mengekspresikan rule (definisi data) yang digunakan dalam suatu data XML[1].
4. DESAIN SISTEM
Secara garis besar sistem dapat dibagi dalam tiga modul, yaitu: Modul Input dan Validasi data, Modul Konversi dan Modul Penyimpanan.
Gambar 1. Diagram Hubungan Empat Modul Dalam Sistem
Gambar 1 menunjukkan beberapa modul dan penerapannya dalam sistem. Modul input dan validasi data adalah modul yang berguna dan berjalan saat pemakai membuat dan memasukkan data suatu ERD. Modul Konversi adalah modul yang berguna untuk mengkonversi ERD masukan dari pemakai menjadi XSD. Modul penyimpanan adalah modul yang berguna untuk melakukan penyimpanan data dan hasil dari ERD yang telah dibuat oleh pemakai.
Gambar 2. Diagram Alir Modul Input Data dan Validasi Data
Gambar 2 adalah diagram alir untuk modul input dan validasi data. ERD memiliki dua bagian penting, yaitu tabel dan relasi. Untuk proses pembuatan ERD adalah dengan melakukan proses memasukkan data tabel dan atribut, setelah itu pemakai memasukkan data relasi. Kondisi yang digambarkan adalah kondisi penggunaan pembuatan ERD secara umum.
Gambar 3. Diagram Alir Proses Input Tabel
Gambar 3 menunjukkan proses yang terjadi dalam pemasukan data tabel. Dalam pemasukan data tabel, pertama kali dilakukan memasukkan nama tabel. Setelah itu akan dilakukan validasi apakah nama tabel sudah ada sebelumnya. Selain itu juga validasi nama tabel sudah terisi atau belum. Setelah nama tabel, kemudian pemakai akan mulai memasukkan nama atribut dari tabel tersebut. Selain memasukan nama atribut, pemakai juga dapat mengubah properti dari atribut tersebut. Properti yang dimiliki oleh atribut antara lainkey, unik, null, dan tipe dari atribut. Setelah selesai memasukan nama atribut maka proses memasukan data suatu tabel sudah selesai.
Konversi dilakukan setelah proses menggambar data telah selesai dilakukan. Untuk alur proses dapat dilihat pada Gambar 5 dimana proses konversi memiliki beberap tahapan. Yang pertama kali dilakukan adalah pengecekan ERD secara keseluruhan. Dalam hal ini tabel yang tidak memiliki atribut akan secara otomatis dihilangkan dari data, setelah itu mulai dibuat suatu file XSD dengan pembuatan header dan namespace. Namespace dalam perangkat lunak ini berupa nama file yang sedang dibuat oleh pemakai. Setelah itu dilakukan konversi pada tabel dan atribut dari ERD yang dibuat oleh pemakai dengan perangkat lunak ini. Dalam proses konversi tabel sekaligus dilakukan konversi untuk atribut, key dan unik dari tabel. Proses terakhir dari konversi adalah konversi pada relasi. Setelah melakukan semua konversi, kemudian akan dibuat sintak penutup namespace dan headerdari file XSD. Setelah itu proses konversi suatu ERD telah selesai dijalankan dan hasilnya akan nampak.
Penyimpanan pada perangkat lunak ini terdiri dari 2 macam penyimpanan data, yaitu penyimpanan hasil yang disimpan dalam format XSD (*.xsd) dan penyimpanan gambar disimpan dalam bentuk dokumen XML (*.xml) yang berisimetadatadari gambar. Penyimpanan hasil dilakukan dengan menggunakan prosedur yang disediakan oleh developer untuk menyimpan file teks. Sedangkan untuk penyimpanan gambar dengan menyusun metadata dalam bentuk format XML. Untuk alur proses dapat dilihat pada Gambar 6.
Gambar 6. Diagram Alir Pernyimpanan Data
5. DESAIN STRUKTUR DATA
Struktur data dalam perangkat lunak ini menggunakanarray of class. Perangkat lunak ini mempunyai dua classutama yaitu class c_tabel untuk mendeskripsikan tabel dan c_relasi untuk mendeskripsikan relasi antar tabel. Class yang ada digunakan sebagai metadata dari gambar. Untuk F_element adalah kelas yang berbentuk user control untuk menggambarkan tabel. Untuk lebih jelasnya mengenai struktur data yang digunakan dapat dilihat pada Tabel 2.
Tabel 2.Daftar Struktur Dataclassyang Digunakan
Struktur data class
Variabel c_tabel public F_element element c_relasi public Label relation
public string r1,r2,key1,key2,id public Point xy,xy2,xy3
6. HASIL
Pengujian dilakukan dengan mengambil permasalahan yang berasal dari suatu contoh permasalahan mengenai transformasi model data IDEF1X dan FLAT XMLSchema[4]. Untuk data tabel dan atribut dapat dilihat pada Tabel 5., sedang untuk data relasi yang dimiliki dapat dilihat pada Tabel 4. Sedangkan hasil dari ER-D dapat dilihat pada gambar 7. Sedang hasil XSD dapat dilihat pada gambar 8. Gambar 9. pada bagian yang dilingkari menunjukkan hasil validasi XSD dari sistem telah memenuhi aturan dari XML.
Tabel 4. Data Relasi untuk Pengujian
Nama relasi Tabel1 Tabel2 Key1 FK Update rule Delete rule Employee
Computer Employee Computer SSN SSN SetDefault SetDefault Employee
Programmer Employee Programmer SSN SSN SetDefault SetDefault Employee
Operator Employee Operator SSN SSN SetDefault SetDefault Employee
Account Employee Account SSN SSN SetDefault SetDefault Employee
Employee_skill Employee Employee _skill SSN SSN None None Skill
Employee_skill Skill Employee skill Skill Name Skill Name SetDefault SetDefault Tabel 5. Data Tabel dan Atribut untuk Pengujian
Nama atribut Nama Tabel
Primary
key ForeignKey Null Unik Tipe
S/N Computer PK Y string Make string DiskCapacity string SSN FK string SSN Employee PK Y string Name string JobCode string SSN Programmer PK FK Y string Language string O/S string SSN Operator PK FK Y string YearExperience decimal
Acc_no Account PK Y string
Bank string
SSN PK FK Y string
SSN Employee_skill PK FK Y string
SkillName PK FK Y string
SkillName Skill PK Y string
Gambar 9. Hasil Pengujian Validasi XSD dengan XMLWriter 2.6.
7. KESIMPULAN
Sistem telah berhasil melakukan konversi ERD ke dalam XML Schema yang berasal dari data masukan pemakai. Hasil dari sistem dapat membantu pemakai untuk merancang suatu XMLSchema (XSD) secara garis besar, tanpa harus mengerti detail dari perintah XML dalam pembuatan XSD.
Berdasarkan pengujian dengan XML Writer 2.6. XML Schema yang dihasilkan oleh sistem telah memenuhi validitas yang ditetapkan
8. DAFTAR PUSTAKA
[1] Carey, Patrick. New Perspective on XML-Brief. Australia: Thomson Course Technology. 2002.
[2] Ramakrishnan, Raghu, Johannes Gehrke. Sistem Manajemen Database. Yogyakarta: Andi Yogyakarta. 2003.
[3] Whitten, David, Bentley, Dittman.System Analysis Design Methods 6th Edition. Illinois: McGraw Hill. 2004.
[4] Yuliana, Oviliani Yenti.Model Data IDEF1X dan FLAT XML Schema. The 7th Seminar on Intelligent Technology and its Applications May 2nd. 2006