XML singkatan dari eXtensible Markup Language adalah
bahasa markup yang mirip dengan HTML. XML dan HTML masih saudara satu turunan dari
bahasa yang sama yaitu SGML.
Tabel di bawah ini adalah perbandingan HTML dan XML:
|
HTML |
XML |
<Title>Judul</Title>
|
<Nama>Hartoto</Nama>
|
Dari tabel di atas dapat kita lihat perbedaanya. Tag-tag
HTML adalah tag bawaan dari HTML itu sendiri artinya tag nya tidak dapat dibuat
sesuai dengan selera pembuatnya. Sedangkan tag XML dapat dibuat sesuai dengan keinginan
pembuatnya. Tag HTML tidak akan berarti apa-apa bagi pengembang aplikasi ia hanya
berarti bagi HTML itu sendiri. Lain halnya dengan XML tag-tag nya dapat dibuat sesuai
selera pengembang aplikasi, yang berarti dapat mempunyai makna bagi se pemngembang
itu sendiri.
Untuk saat ini kedudukan XML bukanlah untuk menggantikan HTML.
Kesederhanaan HTML telah menjadikan bahasa markup tersebut mudah diterima oleh dunia
untuk membuat tampilan halaman WEB.
Pemakaian XML biasanya dijadikan sebagai data yang dapat diterima pada sistem operasi
apapun (bebas platform) dan aplikasi manapun.
Berbagai macam database dapat menerima XML sebagai media transfer. SQL Server 2000
dapat menerima masukan data berupa XML dan menghasilkan keluaran data berbentuk
XML pula.
Jika HTML adalah sesuatu yang berurusan dengan tampilan maka biasanya XML adalah
sesuatu yang berhubungan dengan data.
Membahas XML secara lengkap adalah di luar cakupan tulisan ini. Jika pun dibahas
XML secara lengkap bisa memuat ribuan halaman karena XML sangat luas sekali pemanfaatannya.
Di sini saya hanya akan menjelaskan bagaimana memanfaatkan XML sebagai media transfer
data antar tiap Tier dalam aplikasi maupun transfer XML antara client dan server
WEB atau transfer XML antara server WEB yang satu dengan server WEB yang lain.
1. XML DOM
Dokumen XML adalah dokumen terstruktur. Untuk mengakses datanya, kita
harus menggunakan pengurai (parser). Menguraikan dokumen XML dapat dilakukan melalui
DOM (Dokumen Object Model) atau SAX (Simple API XML). Pada tulisan ini saya hanya
akan menggunakan Microsoft XMLDOM (MSXMLDOM) buatan Microsoft. Pengurai ini berupa
file DLL sebut saja MSXML.DLL. Anda dapat mendownload Pengurai XML tersebut pada
Internet, gratis lho.
DOM dapat menggambarkan struktur dokumen XML. Melalui struktur ini kita dapat mengakses
item-item yang ada pada dokumen XML tersebut.
Lihat contoh dokumen XML di bawah ini:
a. Bentuk Element
<XML>
<Karyawan>
<Nama>Hartoto</Nama>
<Tel>061-73777787</Tel>
<Jabatan>Programmer</Jabatan>
</Karyawan>
<Karyawan>
<Nama>Adien PS.</Nama>
<Tel>061-4576815</Tel>
<Jabatan>IT Engineer</Jabatan>
</Karyawan>
</XML>
b. Bentuk Attribut
<XML>
<Karyawan Nama="Hartoto" Tel="061-7377786" Jabatan="Programmer"/>
<Karyawan Nama="Adien PS." Tel="061-4576815" Jabatan="IT Engineer"/>
</XML>
Dahulu waktu mula-mula mempelajari XML, yang namanya
pemula saya pernah menanyakan pertanyaan yang bodoh di dalam hati. Pertanyaanya
begini. "Pake SQL kan enak bikin data langsung jadi, untuk apa pulak data ditulis-tulis
manual begitu kan tambah susah?"
Mudah-mudahan anda tidak termasuk orang yang menanyakan pertanyaan demikian :).
Ternyata pertanyaan itu sekarang telah terjawab oleh pangalaman saya membuat aplikasi
yang menggunakan XML sebagai media transfer data. Dokumen XML yang demikian dapat
dihasilkan secara otomatis oleh SQL Server 2000.
Ketikkan perintah SQL di bawah ini pada Query Analizer SQL Server:
SELECT * FROM Karyawan FOR XML AUTO, ELEMENTS
hasilnya adalah dokument
XML yang mirip dengan bentuk element di atas.
Untuk menghasilkan bentuk attribut ketik perintah di
bawah ini:
SELECT * FROM Karyawan FOR XML RAW
Anda bebas menggunakan
kedua bentuk tersebut.
Nanti saya akan menjelaskan bagaimana menangkap data tersebut dengan Visual Basic
dna mempergunakannya untuk keperluan aplikasi kita.
Aplikasi yang kita buat juga dapat membuat dokumen XML. Kita dapat membuat satu
prosedur untuk keperluan ini. Dokumen XML tidak akan pernah dibuat secara manual.
Yang menjadi masalah adalah Jika Record dengan perintah SELECT biasa bisa digunakan,
mengapa harus memakai XML? Apa tidak membuang-buang energi saja?
Jawabannya adalah skalabilitas. Dengan menggunakan XML, aplikasi lebih mudah dikembangkan,
mudah dirawat bebas platform dapat berjalan pada OS manapun. Karena aplikasi yang
dibuat hanya akan menerima masukan dan menghasilkan keluaran berupa dokumen XML.
XML adalah teks biasa yang tentunya diterima pada kebanyakan aplikasi dan tidak
mudah rusak.
2. Mengakses XML DOM Dengan
Visual Basic
Pada halaman ini saya akan mencoba mendemonstrasikan bagaimana megakses data XML
dengan Visual Basic.
Pertama saya akan mengakses XML bentuk element dan yang kedua tentunya mengkases
XML bentuk attribut. Anda boleh memakai salah satu atau kedua-dua metoda tersebut
sekaligus pada aplikasi anda.
Untuk dapat mengakses data XML dengan Visual Basic, Microsoft menyediakan file MSXML.DLL.
File MSXML.DLL menyediakan pustaka fungsi-fungsi yang berhubungan dengan Model Objek
Dokumen XML. Melalui Model Objek ini Visual Basic dapat membaca data XML.
a. Mengakses
XMLDOM bentuk Element
Buat dokumen XML terlebih dahulu dengan notepad nya windows.
Ketik seperti di bawah ini:
<XML>
<Karyawan>
<Nama>Hartoto</Nama>
<Tel>061-73477776</Tel>
<Jabatan>Programmer</Jabatan>
</Karyawan>
<Karyawan>
<Nama>Adien PS.</Nama>
<Tel>061-4576815</Tel>
<Jabatan>IT Engineer</Jabatan>
</Karyawan>
<Karyawan>
<Nama>Adlin</Nama>
<Tel>061-4677815</Tel>
<Jabatan>EDP</Jabatan>
</Karyawan>
<Karyawan>
<Nama>Wisnu</Nama>
<Tel>061-4677615</Tel>
<Jabatan>STD</Jabatan>
</Karyawan>
</XML>
simpan dengan nama "KaryawanEl.xml"
pada folder yang sama dengan project yang akan kita buat.
Sekarang saatnya membuat project Visual Basic yang akan membaca dokumen XML yang
kita buat tadi.
Buka Project Standard Visual Basic lalu klik Project Refrence
Lalu pilih Microsoft XML
klik di sini untuk lihat gambar.
tambahkan textbox sebanyak 4 buah, label 3 buat command 4 buah.
setting property dari masing-masig object seperti tabel di bawah ini:
|
|
Property |
|
Object
|
Name
|
Caption
|
|
form1 |
frmKaryawan |
Baca Karyawan Elemen XML |
|
text1 |
txtNama |
|
|
text2 |
txtTel |
|
|
text3 |
txtJabatan |
|
|
text4 |
txtRec |
|
|
label1 |
|
Nama: |
|
label2 |
|
Tel: |
|
label3 |
|
Jabatan: |
|
command1 |
cmdAwal |
|
|
command2 |
cmdKembali |
|
|
command3 |
cmdLanjut |
|
|
command4 |
cmdAkhir |
|
Hasilnya seperti gambar ini
klik di sini untuk lihat gambar.
Sampai di sini pembuatan antar mukanya. Sekarang waktunya membuat kode. Ketik kode
di bawah ini:
Option Explicit
Dim oDOM As MSXML2.DOMDocument30
Dim oNode As IXMLDOMNode
Dim PosRec As Integer, JlhRec As Integer
Private Sub cmdAkhir_Click()
Set oNode = oNode.parentNode.lastChild
PosRec = oNode.childNodes.length
BacaData
End Sub
Private Sub cmdAwal_Click()
PosRec = 0
Set oNode = oNode.parentNode.firstChild
BacaData
End Sub
Private Sub cmdKembali_Click()
If PosRec > 0 Then
Set oNode = oNode.previousSibling
PosRec = PosRec - 1
BacaData
End If
End Sub
Private Sub cmdLanjut_Click()
If PosRec + 1 < oNode.childNodes.length + 1 Then
Set oNode = oNode.nextSibling
PosRec = PosRec + 1
BacaData
End If
End Sub
Private Sub Form_Load()
Set oDOM = New MSXML2.DOMDocument30
oDOM.Load App.Path & "\KaryawanEl.xml"
Set oNode = oDOM.childNodes(0).childNodes(0)
JlhRec = oNode.childNodes.length
PosRec = 0
BacaData
End Sub
Private Sub BacaData()
txtNama.Text = oNode.childNodes(0).Text
txtTel.Text = oNode.childNodes(1).Text
txtJabatan.Text = oNode.childNodes(2).Text
txtRec.Text = " " & PosRec + 1 & "/" & JlhRec + 1 & " rekaman"
End Sub
Jika tidak ada MSXML2 pada komputer anda pakai MSXML, jika tidak ada MSXML2.Domdocument30
pakai MSXML.Domdocument. Ini hanya perbedaan versi. Disarankan memakai versi yang
terbaru.
Tekan F5 atau klik Run - Start. Aplikasi akan tampak seperti gambar.
Klik di sini untuk lihat gambar.
Jika anda ingin source code dari tutorial ini,
klik di sini .
|