Pada awal kemunculannya di penghujung 1990-an, XML (Extensible Markup Languange) kerap dianggap sebagai bahasa markup pengganti HTML (Hypertext Markup Languange). Mungkin karena sama-sama turunan dari SGML (Standard Generalized Markup Languange). Padahal, XML dibuat untuk menjembatani interoperabilitas antar software dari platform yang berbeda.
Sebelum membahas lebih jauh apa itu XML dan bagaimana fungsinya, ada baiknya kita memahami betul istilah markup language. Awalnya markup language digunakan oleh para penulis, editor, dan awak percetakan dalam dunia penerbitan, untuk menandai sebuah naskah dipresentasikan.
Editor menandai bagian-bagian naskah yang perlu diperbaiki oleh penulis, dengan tanda-tanda khusus. Editor juga melakukan hal yang sama pada naskah yang akan di-layout oleh desainer (dahulunya merupakan bagian dari awak percetakan), bagian mana yang dicetak miring, tebal, dan lain-lain.
Dengan kata lain, markup language adalah gabungan antara naskah dengan informasi tambahan tentang naskah itu sendiri. Contoh markup language yang paling lazim kita temukan saat ini di internet adalah HTML.
Editor menandai bagian-bagian naskah yang perlu diperbaiki oleh penulis, dengan tanda-tanda khusus. Editor juga melakukan hal yang sama pada naskah yang akan di-layout oleh desainer (dahulunya merupakan bagian dari awak percetakan), bagian mana yang dicetak miring, tebal, dan lain-lain.
Dengan kata lain, markup language adalah gabungan antara naskah dengan informasi tambahan tentang naskah itu sendiri. Contoh markup language yang paling lazim kita temukan saat ini di internet adalah HTML.
Sejarah XML XML didesain oleh sebuah kelompok kerja yang terdiri dari sebelas orang. Mereka mendapat dukungan dari 150 orang di luar kelompok tersebut.
Pemimpin bidang teknis tim sebelas, James Clark, menyumbangkan elemen empty “<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 language untuk 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.1 Second Edition dipublikasikan. Keduanya dianggap sebagai versi terakhir XML yang ada sekarang.
Pemimpin bidang teknis tim sebelas, James Clark, menyumbangkan elemen empty “<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 language untuk 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.1 Second Edition dipublikasikan. Keduanya dianggap sebagai versi terakhir XML yang ada sekarang.
Kegunaan XML didesain sebagai solusi interoperabilitas antarsoftware dari platform yang berbeda. Misalnya software A berjalan diatas platform Java, ingin berbagi informasi dengan software yang berjalan di atas platform .NET. software A akan membaca request dari software B dalam format XML.
Atau bisa jadi software A menyediakan informasi yang sudah dikemas dalam fomat XML, yang dapat dimanfaatkan oleh software B, C, D, dan seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang bersifat web service. Contoh yang paling sederhana dari interoprabilitas menggunakan XML ini adalah RSS feed dan aggregator. Saat ini banyak website berita dan blog yang menyediakan informasi yang dikemas dalam format XML, atau dikenal dengan nama RSS feed. Website lain atau aplikasi desktop yang disebut dengan aggregator dapat memanfaatkan informasi ini melalui web service, yakni HTTP, untuk membaca file XML, dan menampilkannya.
Bagaimana XML, dan web service bekerja sama menciptakan layanan baru yang disebut dengan interoprabilitas ini? Seperti yang dijelaskan di atas, XML merupakan markup langage. Namn, berbeda dengan HTML yang memerintahkan web browser bagaimana menampilkan informasi, XML menandai informasi secara terstruktur sehingga memudahkan aplikasi lain mengekstrak, dan menggunakannya.
Seperti halnya HTML, XML juga menggunakan tag-tag. Jika tag-tag pada HTML bersifat baku, tag-tag XML dapat dibuat sendiri, sesuai dengan kebutuhan. Untuk memudahkan aplikasi membaca tag-tag apa saja yang memuat informasi serta struktur hirarkinnya, XML 1.0 dilengkapi dengan DTD ( Document Type Definition) yang terletak pada bagian header file. Untuk menutup kekurangan pada DTD, XML 1.1 mengganti DTD dengan XSD (XML Schema Definition) yang lebih powerful dalam menggambarkan struktur file XML.
Perlu digarisbawahi, walaupun sama-saman turunan SGML, tedak berarti XML dan HTML memiliki sifat yang sama. Seperti yang kita ketahui, HTML memiliki sifat pemaaf. Jika Anda membuat kesalahan coding pada HTML, web browser akan berusaha tetap menampilkannya sebaik mungkin, dengan menduga apa kira-kira maksud Anda, atau paling tidak web browser mengabaikan tag yang salah. Namun tidak demikian dengan XML. Aplikasi yang menggunakannya akan berhenti dengan tiba-tiba saat menemukan tag yang salah, dan mengatakan bahwa ada yang salah dalam file XML Anda!
Atau bisa jadi software A menyediakan informasi yang sudah dikemas dalam fomat XML, yang dapat dimanfaatkan oleh software B, C, D, dan seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang bersifat web service. Contoh yang paling sederhana dari interoprabilitas menggunakan XML ini adalah RSS feed dan aggregator. Saat ini banyak website berita dan blog yang menyediakan informasi yang dikemas dalam format XML, atau dikenal dengan nama RSS feed. Website lain atau aplikasi desktop yang disebut dengan aggregator dapat memanfaatkan informasi ini melalui web service, yakni HTTP, untuk membaca file XML, dan menampilkannya.
Bagaimana XML, dan web service bekerja sama menciptakan layanan baru yang disebut dengan interoprabilitas ini? Seperti yang dijelaskan di atas, XML merupakan markup langage. Namn, berbeda dengan HTML yang memerintahkan web browser bagaimana menampilkan informasi, XML menandai informasi secara terstruktur sehingga memudahkan aplikasi lain mengekstrak, dan menggunakannya.
Seperti halnya HTML, XML juga menggunakan tag-tag. Jika tag-tag pada HTML bersifat baku, tag-tag XML dapat dibuat sendiri, sesuai dengan kebutuhan. Untuk memudahkan aplikasi membaca tag-tag apa saja yang memuat informasi serta struktur hirarkinnya, XML 1.0 dilengkapi dengan DTD ( Document Type Definition) yang terletak pada bagian header file. Untuk menutup kekurangan pada DTD, XML 1.1 mengganti DTD dengan XSD (XML Schema Definition) yang lebih powerful dalam menggambarkan struktur file XML.
Perlu digarisbawahi, walaupun sama-saman turunan SGML, tedak berarti XML dan HTML memiliki sifat yang sama. Seperti yang kita ketahui, HTML memiliki sifat pemaaf. Jika Anda membuat kesalahan coding pada HTML, web browser akan berusaha tetap menampilkannya sebaik mungkin, dengan menduga apa kira-kira maksud Anda, atau paling tidak web browser mengabaikan tag yang salah. Namun tidak demikian dengan XML. Aplikasi yang menggunakannya akan berhenti dengan tiba-tiba saat menemukan tag yang salah, dan mengatakan bahwa ada yang salah dalam file XML Anda!
Kelebihan Kekurangan HTML
HTML sedang dirancang oleh W3C untuk meneruskan kesuksesan HTML dan XHTML. Nampaknya HTML akan menjadi favorit seperti yang terjadi pada DOCTYPE sejuta umat, XHTML 1.0 Transitional.
Kelebihan dan kekurangan HTML
Beberapa kelebihan yang dijanjikan pada HTML :
* Dapat ditulis dalam sintaks HTML (dengan tipe media text/html) dan XML.
* Integrasi yang lebih baik dengan aplikasi web dan pemrosesannya.
* Integrasi (‘inline’) MathML dan SVG dengan doctype yang lebih sederhana.
* Penulisan kode yang lebih efisien.
* Dapat dimengerti oleh peramban lawas (backwards compatible). Sehingga istilah ‘deprecated’ tidak akan diperlukan lagi.Yang masih diperdebatkan dalam pengembangan HTML 5:
* Makna semantik beberapa elemen presentasioal.
* Fitur aksesibilitasnya. Seperti atribut alt dan summary.
Contoh HTML
Kesederhanaan HTML :
-------------------------------------------------------------------------------------------------------------
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Contoh dokumen HTML 5</title>
</head>
<body>
<p>Teks paragraf disini.</p>
</body>
</html>
--------------------------------------------------------------------------------------------------------------
Yang menarik dari kesederhanaan kode di atas:
* Tidak perlu lagi memakai <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">. Walau tag meta tersebut masih diijinkan digunakan.
* Deklarasi <!DOCTYPE html> adalah ‘case-insensitive’. Tidak harus huruf besar/kapital semua.
Sebagai XML, dengan tipe media application/xhtml+xml atau application/xml, HTML cukup dideklarasikan dengan format tambahan:
-------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Kelebihan dan kekurangan HTML
Beberapa kelebihan yang dijanjikan pada HTML :
* Dapat ditulis dalam sintaks HTML (dengan tipe media text/html) dan XML.
* Integrasi yang lebih baik dengan aplikasi web dan pemrosesannya.
* Integrasi (‘inline’) MathML dan SVG dengan doctype yang lebih sederhana.
* Penulisan kode yang lebih efisien.
* Dapat dimengerti oleh peramban lawas (backwards compatible). Sehingga istilah ‘deprecated’ tidak akan diperlukan lagi.Yang masih diperdebatkan dalam pengembangan HTML 5:
* Makna semantik beberapa elemen presentasioal.
* Fitur aksesibilitasnya. Seperti atribut alt dan summary.
Contoh HTML
Kesederhanaan HTML :
-------------------------------------------------------------------------------------------------------------
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Contoh dokumen HTML 5</title>
</head>
<body>
<p>Teks paragraf disini.</p>
</body>
</html>
--------------------------------------------------------------------------------------------------------------
Yang menarik dari kesederhanaan kode di atas:
* Tidak perlu lagi memakai <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">. Walau tag meta tersebut masih diijinkan digunakan.
* Deklarasi <!DOCTYPE html> adalah ‘case-insensitive’. Tidak harus huruf besar/kapital semua.
Sebagai XML, dengan tipe media application/xhtml+xml atau application/xml, HTML cukup dideklarasikan dengan format tambahan:
-------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
------------------------------------------------------------------------------------------------------------
di atas elemen head.
Halaman web lain yang sudah memakai HTML, diantaranya:
* Bruce Lawson
* Anne van Kesteren
* HTML Test Page (Dani Iswara .Net). (Tentatif) Valid HTML versi W3C.
Bukan kebetulan dua orang teratas adalah staf (peramban) Opera. :)
Elemen baru di HTML
Demi mewujudkan struktur halaman web yang lebih baik semantik dan aksesibilitasnya, dikenalkanlah beberapa elemen baru, diantaranya:
* section serupa seperti h1-h6.
* article bisa berupa entri blog atau tulisan konten.
* aside menyajikan konten pelengkap.
* header bisa menyajikan judul, deskripsi, bahkan nav untuk navigasi.
* footer berisi catatan kaki seperti informasi hak cipta, penulis, kontak, dan sebagainya.
* dialog yang dikombinasikan dengan dt dan dd (seperti pada halaman FAQ) dapat digunakan untuk menyajikan percakapan.
* yang fenomenal adalah penggunaan elemen figure, video, audio, source, embed, canvas, dan elemen terkait berkas multimedia lainnya.
Atribut baru di HTML
Dikenalkan pula beberapa atribut baru, seperti:
* atribut media, ping pada elemen pranala,
* autofocus, placeholder, required, autocomplete, dan sebagainya, terkait elemen input dan form,
* reversed pada elemen ol untuk urutan besar ke kecil.
Perubahan makna elemen
Ada beberapa elemen yang berubah makna, diantaranya:
* Elemen b dilegalkan sebagai tipografi penegas, seperti pada kata kunci yang ingin ditonjolkan, tidak ‘deprecated’ (bukan fitur yang dianggap usang). Tidak lebih dari itu. Jadi tetap tidak bermakna semantik tertentu. Hal yang sama berlaku pula untuk elemen i.
* Elemen strong menegaskan level kepentingan, bukan sekadar penekanan emphasis lagi.
* Elemen hr dapat digunakan untuk memisahkan level paragraf sesuai pokok pikirannya.
* dan lain-lain.
Elemen dan atribut yang tidak digunakan
Berikut ini beberapa elemen dan atribut yang tidak lagi muncul pada HTML :
* center,
* font,
* strike, u, big,
* frame, frameset, noframes,
* acronym,
* longdesc,
* scope pada td,
* dan sebagainya.
Kesiapan peramban
Peramban bermesin Presto (Opera) versi terbaru nampak lebih banyak mendukung elemen baru HTML. Sementara peramban berbasis Gecko (Firefox dan turunannya), WebKit (Safari, Chrome, Midori), dan Trident (Internet Explorer) versi terbaru baru mendukungsebagian fitur HTML.
------------------------------------------------------------------------------------------------------------
di atas elemen head.
Halaman web lain yang sudah memakai HTML, diantaranya:
* Bruce Lawson
* Anne van Kesteren
* HTML Test Page (Dani Iswara .Net). (Tentatif) Valid HTML versi W3C.
Bukan kebetulan dua orang teratas adalah staf (peramban) Opera. :)
Elemen baru di HTML
Demi mewujudkan struktur halaman web yang lebih baik semantik dan aksesibilitasnya, dikenalkanlah beberapa elemen baru, diantaranya:
* section serupa seperti h1-h6.
* article bisa berupa entri blog atau tulisan konten.
* aside menyajikan konten pelengkap.
* header bisa menyajikan judul, deskripsi, bahkan nav untuk navigasi.
* footer berisi catatan kaki seperti informasi hak cipta, penulis, kontak, dan sebagainya.
* dialog yang dikombinasikan dengan dt dan dd (seperti pada halaman FAQ) dapat digunakan untuk menyajikan percakapan.
* yang fenomenal adalah penggunaan elemen figure, video, audio, source, embed, canvas, dan elemen terkait berkas multimedia lainnya.
Atribut baru di HTML
Dikenalkan pula beberapa atribut baru, seperti:
* atribut media, ping pada elemen pranala,
* autofocus, placeholder, required, autocomplete, dan sebagainya, terkait elemen input dan form,
* reversed pada elemen ol untuk urutan besar ke kecil.
Perubahan makna elemen
Ada beberapa elemen yang berubah makna, diantaranya:
* Elemen b dilegalkan sebagai tipografi penegas, seperti pada kata kunci yang ingin ditonjolkan, tidak ‘deprecated’ (bukan fitur yang dianggap usang). Tidak lebih dari itu. Jadi tetap tidak bermakna semantik tertentu. Hal yang sama berlaku pula untuk elemen i.
* Elemen strong menegaskan level kepentingan, bukan sekadar penekanan emphasis lagi.
* Elemen hr dapat digunakan untuk memisahkan level paragraf sesuai pokok pikirannya.
* dan lain-lain.
Elemen dan atribut yang tidak digunakan
Berikut ini beberapa elemen dan atribut yang tidak lagi muncul pada HTML :
* center,
* font,
* strike, u, big,
* frame, frameset, noframes,
* acronym,
* longdesc,
* scope pada td,
* dan sebagainya.
Kesiapan peramban
Peramban bermesin Presto (Opera) versi terbaru nampak lebih banyak mendukung elemen baru HTML. Sementara peramban berbasis Gecko (Firefox dan turunannya), WebKit (Safari, Chrome, Midori), dan Trident (Internet Explorer) versi terbaru baru mendukungsebagian fitur HTML.
manfaat HTML
sepertti yang diketahui HTML dapt digunakan untuk mengelola web. HTML pun dapt menghasilkan rupiah. Jika anda berminat untuk mengais rupiah dari HTML SILAHKAN COBA!
Salah satu kebutuhannya adalah untuk mengurangi ketergantungan akan teknologi Rich Internet Application (RIA) berbasis plugin yang merupakan hak milik dari suatu perusahaan tertentu misal Microsoft Silverlight atau Adobe Flash. HTML5 mulai dikembangkan oleh Web Hypertext Application Technology Working Group (WHATWG) pada Juni 2004. Menurut kalender W3C, HTML5 akan mencapai tahap rekomendasi pada akhir 2010. Banyak contoh implementasi yang telah muncul ke permukaan meski masih dalam tahap eksperimen. Berikut 5 eksperimen yang sejauh saya temukan adalah yang paling menarik :
Implementasi HTML terhadap Website
Dokumen HTML yang statis dikembangkan lebih interaktif, yang selanjutnya dikenal dengan DHTML (Dynamic HTML). DHTML tidak sebatas gerakan-gerakan yang ditampilkan di dokumen web, namun DHMTL lebih menitikberatkan pada interaktivitas. Bagi pengembang situs web, DHTML memberikan peluang untuk menambah fungsi-fungsi yang sangat bermanfaat.
Pengguna di sisi client tidak hanya diberikan informasi, tapi dapat pula berinteraksi melakukan pengubahan terhadap informasi tersebut. Suatu contoh interaksi kecil DHTML ada fasilitas search engine pada dokumen web. Pemakai mengisikan beberapa kata, kemudian server mengirim kata-kata tersebut ke server. Lalu server memberikan respons dengan memberikan link-link ke dokumen HTML yang mengandung kata-kata itu.
Dengan DHTML, dokumen HTML yang sudah diload ke client namun hubungan ke server terputus, pemakai masih dapat mengubah warna suatu text atau grafik, tanpa harus berhubungan lagi ke server. Cukup hanya dengan menempatkan pointer mouse ke text atau grafik tertentu. Bahkan, pemakai dapat mengubah tata-letak (layout) dokumen HTML yang telah diload ke komputer client. Sampai saat ini, kita dapat membangun dan mengubah obyek di halaman HTML menggunakan aplikasi di sisi client. Hal ini tidak saja menambah kedinamisan halaman tetapi juga mempersingkat waktu permintaan halaman dan loading dari server.
Aplikasi CGI dapat digunakan untuk mengakses sumberdaya seperti database dan pengembangan Perl, C, dan Visual Basic yang berjalan pada host merupakan upaya meningkatkan dinamika dokumen HTML. Selain itu, kini melalui applet Java dan control ActiveX dapat didownload dan dijalankan di client. Jadi, pengubahan tampilan dokumen di web client dapat dilakukan tanpa harus berhubungan lagi dengan server. Dengan demikian interaksi dengan server web tidak dilakukan secara konstan.
Kini DHTML adalah HTML biasa ditambah dengan tiga komponen utama yaitu, Document Object Model (DOM), Cascading Style Sheet (CSS), dan bahasa script seperti JavaScript dan VBScript. DOM menganggap semua komponen halaman web sebagai objek. Komponen itu bisa berupa text judul, paragraph, grafik (gambar), dan lain-lain. Lagi-lagi, setiap komponen itu dapat dimanipulasi di sisi client tanpa loading data baru dari server. Sebagai contoh, melalui DOM pengembang web dapat membuat setiap huruf di sebuah halaman Web sebagai objek dan memberikan karakteristik seperti warna atau ukuran yang bisa diubah setiap saat di sisi client. Dengan demikian bisa dianggap bahwa setiap huruf sebagai halaman web.
DOM mendefinisikan objek, tetapi CSS memberinya karakteristik dan formatting. Para pembuat dokumen web-menggunakan CSS dapat menetapkan posisi dan format untuk objek seperti citra, kata-kata, atau bagian dari halaman. Kata-kata Cascading pada CSS berati bahwa sebuah halaman dapat memiliki banyak style sheet, yang dapat saling dikombinasikan atau saling menimpa. CSS juga menambah dimensi baru pada suatu halaman, yakni kedalaman. Halaman web tradisional hanya memiliki dua dimensi . lebar dan tinggi. CSS kemudian disempurnakan menjadi CSS1 yang memiliki kelebihan penerapan posisi style sheet secara absolut. Dengan CSS1, pengembang dokumen web memiliki control posisi penempatan di layar.
Setelah suatu objek didefinisikan oleh DOM dan diformat oleh CSS, maka tinggal tugas bahasa script seperti JavaScript dan VBScript yang akan mempertunjukkan dinamikanya. Contoh yang paling sederhana adalah ketika pointer mouse melewati sebuah objek, warna atau objek itu berubah atau muncul keterangan dari objek yang bersangkutan. Sisini script mengamati pointer mouse dan ketika melewatinya script melakukan "aksi" perubahan.
Jelas bahwa DHTML menambah interaktifitas dokumen web, tanpa harus menjaga koneksi terus menerus ke server web. Ingatlah bahwa masih menggunakan HTTP (sejak lahirnya), protokol yang berjalanan di atas TCP/IP ini hanya sekali-sekali saja mengkoneksikan client ke server. Setelah membawa sebuah tugas dari browser ke server dan sebaliknya, HTTP memutuskan hubungan ke server. Keterbatasan HP lainnya., kemampuan hanya membawa satu tugas pada satu saat, tidak lebih. Dan karena bandwidth antara client dan server biasanya rendah, maka perlu diupayakan agar interaktivitas ke client. Hasilnya, ya DHTML itu.
Tidak ada komentar:
Posting Komentar