pengantar xml

advertisement
PENGANTAR XML
Sebelum mulai mempelajari teknik membangun web service, ada baiknya kita
memahami konsep dasar XML. Pemahaman tentang XML akan membantu kita untuk
lebih mudah memahami apa yang terjadi dibalik web service. Bagi pembaca yang telah
memahami konsep dasar XML, dapat melewati bahasan pada bab ini.
Apakah XML Itu ?
XML terletak pada inti web service, yang digunakan untuk mendeskripsikan data.
Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi
aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi
yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
XML adalah singkatan dari eXtensible Markup Language. Bahasa markup adalah
sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk
menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui
penggunaan tag. Bahasa markup lain yang populer seperti HTML, menggambarkan
kepada browser web tentang bagaimana menampilkan format teks, data, dan grafik ke
layar komputer ketika sedang mengunjungi sebuah situs web. XML adalah sebuah bahasa
markup yang digunakan untuk mengolah meta data (informasi tentang data) yang
menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML,
namun bukan menggambarkan format tampilan data
tersebut. XML adalah sebuah
standar sederhana yang digunakan untuk medeskrippsikan data teks dengan cara selfdescribing (deskripsi diri). XML juga dapat digunakan untuk mendefinisikan domain
tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan
bahasa markup terstruktur.
Berikut ini adalah contoh sebuah dokumen XML untuk informasi contact person:
<?xml version="1.0" encoding="ISO-8859-1"?><contact>
<contact>
<name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company>
<address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city>
<state>Indonesia</state>
<zip>55284</zip>
<phone>081328462499</phone>
<email>[email protected]</email>
</contact>
Perhatikan bagaimana mudahnya untuk mengerti tentang makna informasi dan
strukturnya pada dokumen XML di atas, sehingga juga akan mudah bagi komputer untuk
mengerti dokumen XML ini.
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag
pembuka (diawali dengan ‘<’ dan diakhiri dengan ‘>’), tag penutup(diawali dengan ‘</
‘diakhiri ‘>’) dan atribut elemen(parameter yang dinyatakan dalam tag pembuka misal
<form name=”isidata”>). Hanya bedanya, HTML medefinisikan dari awal tag dan atribut
yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut
sesuai kehendak kita. Berikut ini adalah tampilan dokumen XML di atas apabila
dijalankan pada sebuah browser:
Gambar: Tampilan dokumen XML pada browser
Struktur Penulisan Dokumen XML
Berikut ini adalah contoh sebuah struktur dokumen XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
Standard Header
<email>
Elemen root
<to>Andi </to>
<from>Yadi Utama</from>
<subject>Hallo</subject>
<message>Selamat Pagi…</message>
</email>
Elemen child
Baris pertama pada dokumen XML di atas adalah deklarasi standar header yang
mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML.
Dalam dokumen ini, XML mengacu pada versi 1.0 dan menggunakan standar encoding
karakter set ISO-8859-1 (Latin-1/West European).
Baris
selanjutnya
menggambarkan
elemen
induk
(root)
dokumen
“<email>..</email>”, sebagaimana kita menyebut bahwa “Dokumen ini adalah sebuah
Email”. Kemudian baris ke 3-6 menggambarkan elemen anak (child) dari elemen induk
dokumen.
Tag pada dokumen XML bersifat case sensitif di mana tag pembuka dan tag
penutup harus ekivalen. Seperti contoh tag pembuka “<email>” harus ditutup dengan tag
“</email>”.
Berikut ini adalah contoh penulisan dokumen XML yang tidak benar:
“<email>….</Email>”
“<email>….</EMAIL>”
“<Email>….</email>”
Berikut ini adalah contoh penulisan dokumen XML yang benar:
“<email>….</email>”
“<EMAIL>….</EMAIL>”
“<Email>….</Email>”
Apa yang Menarik Pada XML?
Karena XML bersifat mudah untuk dibaca dan ditulis baik oleh manusia maupun
komputer, maka XML merupakan sebuah format yang dapat digunakan untuk pertukaran
data (interchange) antar aplikasi dan platform yang berbeda (platform independent).
Metode deskripsi data XML (self-describing) membuatnya menjadi pilihan efektif untuk
bisnis ke bisnis, solusi antar jaringan, e-business, dan aplikasi terdistribusi. XML juga
bersifat dapat diperluas (extensible), dapat digunakan pada semua bahasa pemrograman,
dan datanya dapat ditransfer dengan mudah melalui protokol standar internet seperti
HTTP tanpa dibatasi oleh firewall.
Bagaimana XML Dapat Digunakan?
Pada penjelasan sebelumnya, diberikan contoh sebuah dokumen XML yang berisi
data contact person yang terdiri dari elemen “name”, “company”, “address”, “city”,
“state”, “zip”, “phone”, dan “email”. Tidak seperti HTML, data-data dalam dokumen
XML tidak dapat ditampilkan dalam format tampilan tertentu yang kita inginkan dalam
browser web. Namun XML dapat dimanipulasi sebagai “pulau data” untuk ditampilkan
pada browser web melalui HTML sesuai dengan format tampilan yang diinginkan:
<xml id="contact-person">
<contact>
<name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company>
<address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city>
<state>Indonesia</state>
<zip>55284</zip>
<phone>081328462499</phone>
<email>[email protected]</email>
</contact>
</xml>
Dokumen XML ini dapat digabungkan dengan HTML untuk ditampilkan dalam
sebuah browser web dengan membangun sebuah tabel dalam kode HTML dan
mengasosiasikan nilai pada kolom-kolomnyaa dengan data dari elemen-elemen XML
tersebut:
<html>
<body>
<xml id="contact-person">
<contact>
<name>Yadi Utama</name>
<company>PT. Gamatechno Indonesia</company>
<address>Jl. Cik Di Tiro No.34</address>
<city>Yogyakarta</city>
<state>Indonesia</state>
<zip>55284</zip>
<phone>081328462499</phone>
<email>[email protected]</email>
</contact>
</xml>
<table border="1" datasrc="#contact-person">
<tr><th>Name</th> <td><span datafld="name"></span></td></tr>
<tr><th>Company</th> <td><span datafld="company"></span></td></tr>
<tr><th>Address</th> <td><span datafld="address"></span></td></tr>
<tr><th>City</th> <td><span datafld="city"></span></td></tr>
<tr><th>State</th> <td><span datafld="state"></span></td></tr>
<tr><th>ZIP</th> <td><span datafld="zip"></span></td></tr>
<tr><th>Phone</th> <td><span datafld="phone"></span></td></tr>
<tr><th>Email</th> <td><span datafld="email"></span></td></tr>
</table>
</body>
</html>
Ketika ditampilkan melalui browser web, Anda akan melihat tampilannya sepeti
ini:
Gambar Dokumen XML yang digabung dalam HTML
Tidak hanya itu, jika ada aplikasi URL
dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada
bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi
baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan
telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika
HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling
penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan
markup language yang tidak kalah hebatnya dengan SGML.
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag
pembuka (diawali dengan ‘<’ dan diakhiri dengan ‘>’), tag penutup(diawali dengan ‘</
‘diakhiri ‘>’) dan atribut elemen(parameter yang dinyatakan dalam tag pembuka misal
<form name=”isidata”>). Hanya bedanya, HTML medefinisikan dari awal tag dan atribut
yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut
sesuai kehendak kita. Untuk lebih jelasnya lihat contah dibawah:
<pesan>
<dari>MIS Manager</dari>
<buat>HRD Manager</buat>
<buat>Bagian rekrut</buat>
<buat>Computer Suport team</buat>
<subyek>Permohonan Tenaga kerja baru</subyek>
<isi>Mohon diberikan tenaga kerja baru untuk mengisi lowongan di Departemen MIS</isi>
</pesan>
Pada contoh diatas <pesan>, <dari> <buat>,dan <isi> bukanlah tag standard yang
telah di tetapkan dalam XML. Tag-tag itu kita buat sendiri sesuai keinginan kita. Sampai
di sini XML tidak melakukan apapun. Yang ada hanyalah informasi yang di kemas
dengan tag-tag XML. Kita harus membuat software lagi untuk mengirim, menerima atau
menampilkan informasi di dalamnya.
Gambar: Tampilan dokumen XML pada browser
Kenapa Harus Menggunakan XML?
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing
dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan
informasi dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan
susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan
untuk menyusun dan menyajikan informasi dengan format yang tidak mengandung
format standard layaknya heading, paragraph, table dan lain sebagainya.
Sama dengan HTML, File XML berbentuk teks sehingga bila diperlukan kita bisa
membacanya tanpa memerlukan bantuan software khusus. Hal ini memudahkan
pengembang aplikasi yang menggunakan XML untuk mendebug programnya. XML lebih
fleksible dibanding HTML dalam hal kemampuannya menyimpan informasi dan data.
Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai isi elemen yang
diletakkan diantara tag pembuka dan tag penutup.
Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di pertukarkan
dari satu system ke system lain yang berbeda platform. Misalnya dari Windows ke Unix,
atau dari PC ke Machintosh bahkan dari internet ke handphone dengan teknologi WAP.
Bagian-Bagian dari Dokumen XML
Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node.
Node-node itu adalah:

Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu
dokumen XML hanya ada satu root node. Node-node yang lainnya berada di
dalam root node.

Element node yaitu bagian dari dokumen XML yang ditandai dengan tag
pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong
seperti <anggota nama=”budi”/> . Root node biasa juga disebut root element

Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah
elemen atau pada tag tunggal.

Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara
tag pembuka dan tag penutup

Comment node adalah baris yang tidak dieksekusi oleh parser

Processing Instruction node, adalah perintah pengolahan dalam dokumen XML.
Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu
diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-88591”?> bukanlah processing instruction node. Header standard bukanlah bagian dari
hirarki pohon dokumen XML.

NameSpace Node, node ini mewakili deklarasi namespace
Standard Header
<?xml version=”1.0” encoding=”iso-8859-1”?>
<!--Dokumen ini menjelaskan tentang isi buku-->
<Buku
Judul=”Teknik Membangun Web Service Dengan
Menggunakan SOAP dan WSDL”
Penulis=”Yadi Utama”>
<pengantar/>
<Bab No=”1”>Pengantar XML</Bab>
<Bab No=”2”>Web Service</Bab>
<Bab No=”3”>SOAP</Bab>
.
.
.
</Buku>
Attribute
Elemen kosong
Root Node
Comment
Sintaks XML
Dibandingkan dengan HTML, XML lebih cerewet. Kalau kita menulis sebuah
dokumen HTML, beberapa kesalahan penulisan masih ditolerir. Misalnya kita
menempatkan tag bersilangan seperti <p><b>Huruf Tebal</p></b> meskipun tidak
dianjurkan, HTML masih bisa bekerja dan menampilkan hasil seperti yang kita inginkan.
Tidak demikian dengan XML. Lebih jelasnya kita akan bahas di bawah ini tentang
bagaimana membuat dokumen XML yang baik.
Download