Apakah XML Itu ?
Extensible Markup Language (XML) merupakan bahasa markup yang dikembangkan oleh W3C sejak tahun 1996. Tujuan utamanya adalah untuk memfasilitasi lalu lintas (sharing) data ke berbagai sistem informasi yang berbeda-beda, khususnya yang saling terhubung via internet. XML telah menjadi semacam bibit unggul yang mampu melahirkan banyak aplikasi untuk dunia teknologi informasi dan komunikasi. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
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 self-describing (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><name>Iman Mur Cahyo</name><company>PT. Inti Media Creative</company><address>Kalibagor RT 02 /06</address><city>Purwokerto</city><state>Indonesia</state><zip>53191</zip><phone>081328462499</phone><email>imanmc@gmail.com</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=”isi data”>). 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"?><email><to>Iman </to><from>Cahyo</from><subject>Hallo</subject><message>Selamat Pagi…</message></email>
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>Iman Mur Cahyo</name><company>PT. Inti Media Creative</company><address>Kalibagor RT 02 /06 </address><city>Purwokerto</city><state>Indonesia</state><zip>53191</zip><phone>081328462499</phone><email>imanmc@gmail.com</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><code><xml id="contact-person"><contact><name>Iman Mur Cahyo</name><company>PT. Inti Media Creative</company><address>Kalibagor RT 02 /06</address><city>Purwokerto</city><state>Indonesia</state><zip>53191</zip><phone>081328462499</phone><email>imanmc@gmail.com</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></code></body></html>
Ketika ditampilkan melalui browser, Anda akan melihat tampilannya sepeti ini :
Gambar Dokumen XML yang digabung dalam HTML
Kenapa Harus Menggunakan XML?
XML untuk saat ini bukanlah merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasidan 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-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.
- NameSpace Node, node ini mewakili deklarasi namespace
<?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>
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.
Manfaat XML
Ada beberapa manfaat XML yang sampai saat ini masih akan terus berkembang dan popular di dunia teknologi informasi. Manfaat ini antara lain adalah sebagai berikut:
1. Ekstensibilitas: dapat ditukar / digabung dengan dokumenXML lain
2. Memungkinkan pemrograman yang lebih baik maka dibuat suatu software pengolahXML
3. Memisahkandata dan presentasi yang akan direpresentasikandalamXML dan XSLT
4. Pencariandata cepatkarenaXML merupakan data dalam format yang terstruktur
5. Plain Text dan platform independent
6. Untuk pertukaran data sebagai contoh para ilmuwan bidang kimia bisa menggunakan elemen dalam XML untuk mendefinisikan atom, molekul, senyawa, reaksi, dan segala sesuatu yang berkaitan dengan dunia kimia. Sementara di lain tempat, agen-agen real estate yang melek TI bisa memanfaatkannya untuk keperluan pendeskripsian apartemen, komisi, lokasi, rumah, dsb.
Kesimpulan
XML atau eXtensible Markup Language adalah bahasa markup yang bersifat portabel, terbuka dan fleksibel dari sisi tag. XML banyak digunakan untuk proses pertukaran data elektronik di antara berbagai sistem yang berbeda-beda. Dengan XML, para pengguna memiliki kesempatan untuk membuat bahasa markup versinya sendiri. Berbeda dengan„HTML yang merupakan tag untuk memformat tampilan (menitik – beratkan pada unsur presentasi)„sedangkan XML merupakan tag untuk mengkontrol data dan tidak memperhatikan tampilan (menitik - beratkan pada unsur representasi data). Meskipun berbeda HTML dan XML dapat dikombinasikan.
Sumber :