---
--- ---- ---
--
-
--- --- ------
---
------
---------
--
JURNAL Volume 8, Nomor 1, Maret 2004
I
/
t;
PENELITIAN PENGABDIAN MASYARAKAT
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER
SURABAvA ,
SJ
I Vol. 8 I No. I I Halaman I - I J 0
I
Surabaya, Maret 2004
I ISSN 1410 - 6345
Volume 8 Nomor 1, Maret 2004
ISSN 1410-6345
STIKOM JURNAL
Soetam Rizky Wicaksono
Manipulasi Dokumen XML pada Visual Basic .net dengan Metode Document Object Model .
.
Harmanto
Peranan Komunikasi Nonverbal dalam Penyampaian Pembelajaran
Nining Martiningtyas
Penerapan Metode Regresi Linier Berganda dalam Analisis Data
Tri Sagirani
Rancang Bangun Sistem Bantu Standarisasi dengan Menggunakan Metode Seven Tools
James F. Tomasouw
Sistem Informasi
Ni Made Ayu Krisna Dewi
Perkapalan ITS Berbasis Internet
Bambang Hariadi
Sistem Penilaian Kegiatan Non Akademik Scbagai Pendamping
Sri Hariani Eko Wulandari
Ijazah
Lusia Eni Puspandari
T ips For Lecturing Large Classes of First Year Students
Haryanto Tanuwijaya
Sistem Informasi Produksi dan Penggajian Karyawan Percetakan
Tje Tjien
di PT. XYZ Sidoarjo
I Putu Agus Swastika
E-gov Merubah Government Centric Menjadi Customer Centric
Pendidikan -& Pelatihan pada Politeknik
Diterbitkan oleh: Bagian Penelit ian Pengabdian Masyarakat Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya Halaman 1-110
Surabaya, Maret 2004
ISSN 1410-6345
SI DOKUMEN XML PADA VISUAL BASIC .NET N METODE DOCUMENT OBJECT MODEL
Soetam Rizky Wicaksono'!'
Abstract: XML is a storage media and programming language that become universal bridge for all database formats. Thus, XML has already been committed as programming language, which has great compatibility in any browser and platform. In Visual Basic .NET as knew programming language that fully support XML usage , there are a lot of method to access XML document. One of universal method in accessing XML is DOM (Document Object Model) . DOM method is assumed as the best XML access method because it will represent XML as hierarchical tree . Instead ofaccessing XML as text file, DOM is the first choice for programmer in any language, especially for Visual Basic .NET programmer. Keywords: XML,DOM, VB .NET
XML (Extensible Markup Language) adalah sebuah subset dari SGML (Standard Generalized
Markup Language), yang sasarannya memungkinkan SGML generik dapat diterima dan diproses web dengan cara yang sekarang dipakai untuk HTML. XML dirancang untuk kemudahan implementasi dan untuk interoperabilitas dengan SGML dan HTML. Pada awalnya XML didefinisikan oleh XML Working Group pada W3C (World Wide Web Consortium) pada bulan Februari 1998. Secara umum XML dibuat hanya untuk mempresentasikan ulang sebuah data atau sebagai media penyimpanan data kelas ringan khususnya untuk browser web. Pada dasarnya format XML dapat ditampilkan juga secara baik pada sebuah bahasa pemrograman berbasis Windows. Keuntungan lain dari penggunaan XML adalah kompatibilitas dengan berbagai format database masa kini seperti Oracle, SQL Server dan lainnya. Selain itu, berbagai bahasa pemrograman berbasis Windows dan web juga telah menerima format XML secara baik seperti ASP, Java, Javascript, PHP, Visual Basic, Delphi dan C Sharp. Akibatnya, di masa depan banyak kalangan yang meramalkan XML akan menjadi suatu format universal dalam representasi data bagi user maupun programmer dimanapun dan berbasis apapun. Tujuan dari penelitian ini adalah untuk memanipulasi sebuah dokumen XML wellformed yang berisi data dengan kapasitas tingkat rendah ke sebuah windows form dengan menggunakan metode DOM (Document (/)
Soetam Rizky Wicaksono, S.Kom. Jurusan Sistem Informasi, Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya
2 STiKOM JURNAL. VOLUME 8 NOMOR J. MARET 2004
Object Model) dan tanpa harus merekonstruksi ulang dokumen XML ke dalam sebuah file HTML atau XSL.
XML menurut W3C (World Wide Web Consortium) adalah sebuah subset dari SGML (Structured Generalized Markup Language), yang memungkinkan SGML generik dapat dilayani, diterima dan diproses pada web dengan cara yang sekarang dipakai untuk HTML. XML dirancang untuk kemudahan implementasi dan untuk interoperabilitas dengan SGML dan HTML. SGML sendiri merupakan induk dari semua bahasa markup yang ada seperti HTML maupun XML. Sebuah dokumen XML merupakan penyerdehanaan dari sebuah SGML. Pada saat awal peluncurannya, W3C menyatakan sepuluh sasaran penggunaan XML yaitu: •
Harus dapat dipakai langsung pada internet.
• Harus dapat mendukung berbagai macam aplikasi. •
Harus kompatibel dengan SGML.
• Harus memudahkan penulisan program yang memproses dokumen XML. • Jumlah fitur opsional harus seminimal mungkin. • Dokumen XML harus bisa dipahami manusia dan jelas. • Harusdapat disiapkan secara cepat. • Harus bers ifat formal dan ringkas. • Harus mudah dibuat. • Keringkasan markup XML tidak menjadi komponen yang penting.
Secara umum dokumen XML dibagi menjadi dua bagian:
• Dokumen well formed • Dokumen valid formed Document Object Model merupakan representasi class yang mewakili dokumen XML, dan mampu melakukan semua manipulasi CRUD (Create Read Update Delete) di dalam sebuah dokumen XML. Metode DOM tidak hanya bisa dilakukan dengan menggunakan bahasa pemrograman Visual Basic .NET, tetapijuga bisa dilakukan semua bahasa pemrograman yang mendukung penggunaan XML seperti ASP, Visual Basic 6, Delphi ataupun PHP. Secara garis besar, sebuah dokumen XML yang well formed akan dibaca menjadi dua bagian oleh DOM yaitu : document dan nodes. Sebuah nodes dapat terdiri dari banyak node yang lain atau menjadi bagian dari sebuah node yang lain. Dengan kata lain, sebuah node dapat dibaca sebagai sebuah tabel ataupun sebuah field tertentu. Sebuah node dapat mempunyai element dan attribute tertentu yang saling berkaitan. Sebuah element lebih diasumsikan sebagai sebuah pasangan tag XML yang bisa berupa tabel atau fie ld, sedangkan attribute bisa berupa sebuah isi data dari field tersebut. Di dalam Visual Basic .NET, sebuah dokumen XML yang diakses dengan metode DOM, akan dibaca
au
Wicaksono, Manipulasi Dokumen XML dengan Document Object Model 3
menjadi dua property penting untuk user interface yaitu: InnerXML dan InnerText. Property InnerXML akan merepresentasikan semua pasangan tag di dalam dokumen XML, sedangkan property InnerText akan -
..
mengasumsikan isi data dari sebuah field tertentu. Kumpulan dari isi property InnerText dalam sebuah node tertentu akan dianggap sebagai sebuah presentasi sebuah record. Dari presentasi record inilah yang akan menjadi dasar dari manipulasi data yang akan dibahas dalam penelitian ini.
Pembuatan XML Dalam penelitian ini, dokumen XML yang digunakan adalah dokumen XML dengan format seminimal mungkin tanpa ada transformasi ke format lain baik dengan bantuan stylesheet ataupun dengan bantuan verifikasi DTD. Dalam contoh XML yang akan digunakan adalah XML yang berisi data spesifikasi suatu barang dengan field- field yang telah ditentukan. Dalam implementasinya, field-field tersebut diharapkan mampu ditampilkan dalam windows form layaknya field-field yang berada dalam database. Pembuatan XML dapat dilakukan dengan berbagai macam editor. Di pasaran, tersedia banyak editor yang mengkhususkan untuk manipulasi XML, baik yangfreeware maupun shareware. Tetapi dalam prakteknya, sebuah dokumen XML dapat died it dan dibuat dengan baik hanya dengan menggunakan bantuan program Notepad dari Windows. Dalam penelitian ini, dokumen XML akan dibuat dengan menggunakan bantu an dari editor terintegrasi di Visual Studio .NET. Dokumen XML yang akan dbuat adalah dalam bentuk raw, yang berarti tanpa tambahan format baik dari stylesheet yang ada dalam dokumen itu sendiri, ataupun stylesheet yang berada di luar dokumen XML. Sedangkan jenis XML yang dibuat adalah well formed, yang berarti hanya memenuhi ketentuan grammar sederhana dari XML versi 1.0, yaitu adanya root, pengenal serta field field yang mempunyai opening dan closing tag yang bersesuaian. Dokumen XML yang akan dibuat akan mempunyai struktur seperti pada Tabel I. Tabel 1 Struktur Dokumen XML
Nama Field
Tipe
KodeBarang
String
NamaBarang
String
Jumlah
Number
Harga
Number
Keterangan
String
Sumber: Hasil Percobaan
4 STIKOM JURNAL. VOLUME 8 NOMOR I. MARET 2004
lsi awal dari dokumen XML adalah sebagai berikut:
< /kodebarang>
< /namabarang>
<jumlah >< / j umla h >
< /harga>
< /Barang>
< / r oo t >
Dalam pembuatan dokumen XML tersebut, yang paling penting diperhatikan adalah kesesuaian antara tag yang ada, sebab tag tersebut akan menjadi sebuah struktur dari XML tersebut. Tag yang pertama yaitu root, berfungsi sebagai
awal dari XML, sedangkan node kedua yaitu node Barang akan menjadi nama
dari dari struktur tabel yang akan dimanipulasi. Seluruh node yang berada di bawah node barang akan diasumsikan sebagai field yang bersesuaian dalam manipulasi data. Di dalam editor terintegrasi Visual Studio .NET, dokumen XML terse but akan mempunyai view struktur data seperti pada Gambar 1.
Gambar I View Struktur XML
Pembuatan Solution di VB .NET
Solution merupakan unit tertinggi di lingkup Visual Studio .NET, dalam hal ini hal yang pertama yang dilakukan adalah dengan membuat sebuah project baru dengan sebuah windows form yang layout tertera pada gambar. Form tersebut nantinya akan mendemonstrasikan metode untuk memanipulasi data di dokumen XML dengan menggunakan metode DOM. Pengaksesan dokumen XML pada Visual Basic .Net memerlukan referensi System .Xsdl. yang diletakkan pada baris paling atas sebuah project. Sehingga pada saat deklarasi variabel, semua variabel yang berhubungan dengan XML dapat langsung dikenali tanpa menyebutkan namespace referensi terlebih dahulu.
Wicaksono , Manipulasi Dokumen XML dengan Document Object Model 5
Proses Input Data
Untuk proses input dilakukan dengan langkah-langkah berikut:
• Mendeklarasikan var iabel untuk dokumen XML
Dim XMLdoc As XmlDocument
=
New XmlDocument
• Load dokumen XML ke dalam variabel
XMLdoc.Load("c:\ xml\barang.xml")
• Deklarasi variabel untuk DocumentElement yang akan menampung node pertama dan diasumsikan sebagai tabel, serta variabel Element yang akan menampung semua Child Nodes yang ada di dalam DocumentElement, dan diasumsikan sebagai field dari tabel. Dim RootNode As XmlElement = XMLdoc.DocumentElement
Dim xel, x e l l As XmlElement
• Membuat Element baru yang diasumsikan sebagai penambahan node baru di hirarki akses DOM, tetapi dalam view struktur data sebagai sebuah tabel, penambahan Element merupakan penambahan sebuah record baru dalam dokumen XML. Sebuah record baru di dokumen XML, akan mendeklarasikan ulang nama tabel yang diwakili oleh DocumentElement sebagai sebuah tag baru yang case sensitive. xel = XMLdoc.CreateElement("", "Barang", XMLdoc.DocumentElement.AppendChild(xel)
• Menambahkan node baru sebagai sebuah record, seperti halnya pada langkah sebelumnya, penambahan record dilakukan dengan mendeklarasikan sebuah field baru
mempunyai nama yang sarna dengan
field asal. Setelah itu, komponen text XML yang direpresentasikan oleh property InnerText diset ke textbox yang bersesuaian dan mendefinisikan penempatan record baru di tempat yang terbawah dari dokumen XML dan sebagai node pertama (FirstChild ) dari tabel yang bersesuaian.
"kodebarang", xell = XMLdoc.CreateNode(XmlNodeType .Element, xell.lnnerT ext = txtKode.Text
xel.lnsertAfter(xell, xel.FirstChild)
"namabarang", xell = XMLdoc.CreateNode(XmlNodeType.Element, xell.lnnerText = txtNama.Te xt
xel. InsertAfter (xell, xel.FirstChild)
xell = XMLdoc.CreateNode(XmlNodeType.Element, " " , xell = xell.lnnerText = txtJumlah.Text
xel. InsertAfter (xell, xel.FirstChild)
xell = XMLdoc.CreateNode(XmlNodeType.Element, \\" , xell.lnnerText = tx tHarga.Text
xel.lnsertAfter(xell,
6 STIKOM JURNAL. VOLUME 8 NOMOR I. MARET 2004
XMLdoc.CreateNode(XmlNodeType.Element , "" . "keteranganU, xell.lnnerText = txtKeterangan.Text xel.lnsertAfter(xell , xel.FirstChild) I
•
Menyimpan kembali dokumen XML XMLdoc.Save("c:\xml\barang.xml U)
Gambar
Form Modifikasi XML
Proses Edit Data
Proses edit sebuah record dalam dokumen XML menggunakan metode DOM adalah dengan langkah langkah berikut: • Mendeklarasikan variabel untuk dokumen XML Dim XMLdoc As XmlDocument = 'New XmlDocument
• Load dokumen XML ke dalam variabel XMLdoc.Load("c:\xml\barang.xml U)
• Deklarasi variabel yang akan digunakan menampung Nodelist. Nodelist merupakan sebuah obyek yang akan menampung semua node yang ada di bawah suatu element atau node yang lain. Variabel ini nantinya
Wicaksono, Manipulasi Dokumen XML dengan Document Object Model 7
sebagai suatu buffer atau penyangga dalam pencarian secara sekuensial di dokumen XML untuk mencari node yang akan diedit oleh user. no d e Li s t = RootNode.ChildNodes Di m onode , onode2 As XmlNode onodel As Xml No d e Li s t
Melakukan iterasi pencarian data serta melakukan pengeditan data. Iterasi yang dilakukan secara sekuensial, .
.
.
karena dokumen XML yang digunakan hanyalah dokumen jenis well formed dengan format standar tanpa adanya aturan dataset atau transformasi ke XSD. Akibatnya dokumen XML tidak memiliki aturan baku basis data seperti primary key, index ataupun relasi. Setelah data yang diinginkan berhasil ditemukan, maka langkah selanjutnya adalah dengan mengganti property InnerText dari semua node dan chi ldnya ( dengan asumsi sebagai suatu baris record) untuk diedit dan diganti dengan nilai yang barn .
For i = 0 To nodeList.Coun t - 1
onode = nodeList.Item( i)
onodel = onode .ChildNodes
onode2 = onodel.Item(O)
If onode2.InnerText = t xtKode.Text Then
onode 2 = onodel.Item(l)
onode2.InnerTe x t = txtNama.Te xt
onode 2 = onodel.Item ( 2)
onode2.InnerTe xt = txtJumlah.Text
o n od e2 = onodel .Item(3)
o node 2.InnerText = txtHarga .Text
o node2 = onodel.It em(4)
onode2.InnerText = t xtKeterangan.Text
Exit For
End If
Next
• Melakukan penyimpanan ulang dokumen XML XMLdoc.Save("c:\xml\barang.xml N
)
Proses Hapus Data
Proses hapus pada prinsipnya sama dengan proses edit, perbedaannya adalah saat terjadi proses penggantian property InnerText , pada proses hapus diganti dengan proses penghapusan node parent yang berarti menghapus data untuk satu record bukan pada satu field di record tertentu.
HASILDAN PEMBAHASAN
Proses pengaksesan dokumen XML sederhana dalam bentuk wellformed dengan menggunakan metode
Document Object Model, akan merepresentasikan dokumen XML secara hirarkis dan membaca dokumen
8 STIKOM JURNAL, VOLUME 8 NOMOR I, MARET 2004
XML sebagai sebuah tabel sederhana. Keuntungan dari pembacaan dokumen XML ini adalah kesederhanaan dari dokumen XML sendiri, serta kemudahan dalam pengisian data dengan hirarki yangjelas dan mampu dibaca sebuah file teks biasa. Selain itu, untuk pengaksesan ke sebuah web ataupun dalam windowsform, dokumen XML tidak memerlukan suatu engine atau databse server tertentu yang mengakibatkan efisiensi dari sisi biaya dan implementasi. Kerugian yang diterima adalah kapabilitas dan skalabi1itasdari XML yang relatifkeciI dalam menampung data. Selain itu, keamanan data dalam sebuah dokumen XML tidaklah sebagusjika kita menggunakan suatu database server komersial seperti SQL Server ataupun Oracle.
SIMPULAN
Pengaksesan dokumen XML dapat dilakukan dengan berbagai macam cara di berbagai bahasa pemrograman. Dalam penelitian ini, dijelaskan mengenai cara mengakses dokumen XML dengan menggunakan metode Document Objcet Model. Dalam aplikasi nyata, metode pengaksesan DOM seringkali dilakukan dengan alasan kemudahaan dalam melacak struktur data dari sebuah dokumen XML. Tetapi, untuk sebuah aplikasi yang membutuhkan kecepatan, hendaknya memakai metode data schema di dalam sebuah dataset, khususnyajika menggunakan bahasa pemrograman yang berada di Iingkungan Visual Studio .NET seperti VB .Net atau C# .
DAFfARRUJUKAN
Burrows, W.E., and Langford, J.D. 2003 . Learning Programming using Visual Basic .NET-. New York: Me Graw Hill. Hunter, D. 2000. Beginning XML, Birmingham: Wrox William, K. 2000. Professional XML Databases, Birmingham: Wrox Wrothwe II, A. Microsoft Word 2003 Step by Step, Washington: Microsoft Press Young, MJ. 2001. XML, Step by Step, Jakarta: Elex Media Computindo.