Pengertian XML
XML (eXtensible Markup Language) merupakan
bahasa web turunan dari SGML (Standart Generalized Markup Language) yang
ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan
dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan
pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari
1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada
saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling
penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa
markup yang tidak kalah hebatnya dengan SGML.
Secara sederhana XML adalah suatu bahasa yang
digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur.
Secara teknis XML didefinisikan sebagai suatu bahasa meta-markup yang
menyediakan format tertentu untuk dokumen-dokumen yang mempunyai data
terstruktur. Bahasa markup adalah mekanisme untuk mengenal secara terstruktur
di dokumen. XML adalah suatu aplikasi profil dari SGML. Seperti yang
didefinisikan dari ISO 8879, SGML adalah cara standart dan vendor-independent.
XML tidak mempunyai definisi secara tepat
karena ada yang berpendapat bahwa XML bukanlah suatu bahasa
pemrograman,melainkan XML merupakan sintaks yang digunakan untuk menjelaskan
bahasa markup lain (Dournaee,2002), sehingga dinamakan meta-language. Meskipun
demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML
merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu XML bukanlah
solusi semua hal untuk tujuan semua user. Sedangkan peran dari markup itu
sendiri berupa:
1. Markup dapat menambah maksud arti (semantic)
suatu data.
2. Dapat memisahkan data.
3. Dapat mendefinisikan peran data.
4. Dapat mendefinisikan batasan data.
5. Dapat menfenisikan keterhubungan data.
Sejarah XML
XML didesain oleh sebuah kelompok kerja yang
terdiri dari 11 orang. Kelompok tersebut mendapat dukungan dari 150 orang di
luar kelompok tersebut. Pemimpin bidang teknis tim sebelas, James Clark,
menyumbangkan elemen empty “>”, dan nama XML itu sendiri. Nama-nama lain
yang sempat diusulkan antara lain MAGMA (Minimal Architecture for Generalized
Markup Applications), SLIM (Structured Language for Internet Markup), dan MGML
( Minimal Generalized Markup Language). Pada 10 Februari 1998, XML 1.0
direkomendasikan secara resmi oleh W3C.XML 1.0 merupakan pencapaian tim sebelas
dalam mendesain markup languageuntuk tujuan penggunaan di Internet,
yang serba guna, dan kompetibel dengan SGML. Selain itu, XML 1.0 juga mendukung
pengembangan software yang memprosesnya, meminimalisasi fitur-fitur opsional,
terbaca oleh manusia, singkat, padat, dan mudah untuk ditulis.Sampai artikel
ini ditulis, telah dilakukan kali ketiga perbaikan minor pada XML 1.0 perbaikan
kedua menghasilkan XML 1.1, yang kini telah menjalani satu kali perbaikan. Pada
16 Agustus 2006 yang lalu, XML 1.0 Fourth Edition, dan XML 1.1Second
Edition dipublikasikan. Keduanya dianggap sebagai versi terakhir XML yang
ada sekarang.
XML merupakan sebuah himpunan bagian (subset)
dari SGML yang bertujuan agar SGML secara generik dapat melayani, menerima, dan
memproses di dalam web dengan cara seperti yang dimungkinkan HTML saat ini. XML
didesain untuk kemudahan implementasi dan interoperabilitas dengan SGML maupun
HTML. XML adalah bahasa markup yang dirancang untuk penyampaian informasi
melalui World Wide Web (www) atau sering disebut web saja.
(W3C,2000).
XML merubah cara kita berpikir untuk
mengembangkan suatu software terutama aplikasi web. Masalah yang kita
sekarang adalah bagaimana caranya untuk bertukar informasi antar satu aplikasi
dengan aplikasi lain. Kadang kolaborasi antara satu aplikasi dengan aplikasi
yang lain masih harus ditentukan dengan spesifikasi aplikasi tersebut. Padahal
seharusnya kita hanya perlu mendapatkan informasi data bukan mengerti cara
kerja aplikasi lain itu, disinilah visi internet yang belum tercapai. Visi ini
adalah dunia internet dimana PC, server, smart devices dan internet-based
device dapat berkolaborasi tanpa ada halangan. Bisnis-bisnis akan dapat
bertukar data menyediakan customized dan comprehensive solusi kepada customer.
Dan yang paling utama adalah informasi yang dibutuhkan dapat diakses dari mana
saja dan dengan computing device, platform, atau aplikasi yang kita gunakan.
XML dapat memungkinkan pertukaran informasi atau data antar device (server,
PCs, smart device, aplikasi, dan situs web). Data ini akan menjadi independent
(unlocked), memudahkannya untuk diorganisir, diprogram, dan dirubah, dan
ditukar antar situs web atau aplikasi apa saja. Karena kebutuhan ini, maka
makin banyak teknologi berbasis XML yang keluar. Contohnya adalah SOAP
(Simple Project Acces Protocol) dan UDDI (Universal Description Discovery and
Integration).
SOAP memungkinkan aplikasi-aplikasi untuk
berkomunikasi melalui standart internet protocol. Sedangkan UDDI memberikan
bisnis-bisnis suatu cara standart untuk menjelaskan servis mereka dan cara
koneksi secara otomatis. Dari sini munculah web service, yaitu suatu tipe baru
software yang dapat dipakai berulang-ulang (seperti komponen software) dengan
pengecualian service ini dapat diakses darimana saja melalui internet.
Keuntungan XML
·
Ekstensibilitas : dapat ditukar/digabung dengan
dokumen XML lain
·
Memungkinkan pemrograman yang lebih baik:
maka dibuat suatu software pengolah XML
·
Memisahkan data dan presentasi. Yang akan
direpresentasikan dalam XML dan XSLT
·
Pencarian data cepat karena XML merupakan
data dalam format yang terstruktur
·
Plain Text dan platform independent
·
Untuk pertukaran data
Terminologi Kunci
Materi pada bagian ini berdasarkan pada
spesifikasi XML. Tidak semua dituliskan, hanya terminologi yang sering dipakai
saja.
§ (Unicode) Character
Definisi sebuah dokumen XML adalah kumpulan
dari karakter. Hampir semua karakter Unicode yang legal bisa tampil di dokumen
XML.
§ Prosesor dan Aplikasi
Prosesor menganalisa markup, kemudian melempar
informasi yang terstruktur ke sebuah aplikasi. Spesifikasi XML mempunyai
kebutuhan yang menentukan apa yang harus dilakukan dan tidak dilakukan oleh
sebuah prosesor XML, tetapi tidak untuk aplikasinya. Prosesor XML juga sering
disebut XML parser.
§ Markup dan Konten
Karakter yang membangun dokumen XML dibagi
menjadi markup dan konten.
Markup dan konten dapat dikenali oleh aplikasi
dengan aturan sintaksis yang sederhana. Semua string yang merupakan sebuah
markup dapat diawali dengan karakter < dan diakhiri dengan > atau diawali
dengan karakter & dan diakhiri dengan ;. String yang bukan merupakan markup
adalah konten.
§ Tag
Tag adalah sebuah markup yang diawali dengan
< dan diakhiri dengan >.
Ada tiga jenis tag:
start-tags; contohnya: <section>
end-tags; contohnya: </section>
empty-element tags; contohnya: <line-break
/>
§ Elemen
Elemen adalah sebuah komponen dokumen logikal
yang diawali oleh sebuah start-tag dan diakhiri oleh end-tag yang sepadan
dengan start-tag nya atau berisi hanya sebuah empty-element tag.
Karakter-karakter diantara start-tag dan end-tag, jika ada, adalah konten dari
elemen, dapat mempunyai markup, elemen-elemen lain, yang disebut child
elements. Contoh dari elemen adalah <Greeting>Hello,
world.</Greeting>. Yang lainnya <line-break />.
§ Atribut
Sebuah rangkaian markup yang terdiri dari
pasangan nama/nilai yang ada dalam start-tag atau empty-element tag. Pada
contoh berikut ini, elemen img mempunyai dua atribut, src dan alt: <img
src="madonna.jpg" alt='Foligno Madonna, by Raphael' />. Contoh
lain <step number="3">Connect A to B.</step> dimana nama
atributnya adalah "number" dan nilainya "3".
Deklarasi XML
Dokumen XML dapat diawali dengan
mendeklarasikan beberapa informasi mengenai dirinya, sebagai contoh:
<?xml version="1.0"
encoding="UTF-8" ?>
Contoh program XML:
Sebuah contoh dokumen XML seperti pada contoh
dibawah ini dan simpan kedalam filecontoh1.xml :
<?xml version="1.0"?>
<product barcode="2394287410">
<manufacturer>Verbatim</manufacturer>
<name>DataLife MF 2HD</name>
<quantity>10</quantity>
<size>3.5"</size>
<color>black</color>
<description>floppy
disks</description>
</product>
jika dokumen tersebut kita buka menggunakan
web browser, maka tampak seperti gambar dibawah ni :
Dokumen diatas menjelaskan sebuah data produk
yang ada pada suatu supermarket. Produk tersebut memiliki kode
barcode= 2394287410,manufacturer=Verbatim, name=DataLife MF 2HD,
quantity=10, size=3.5", color=black, description=floppy disks.