You are on page 1of 43

TUGAS PEMROGRAMAN WEB

ARTIKEL TENTANG XML

Disusun Oleh

Heni Desy Purnami (140411100042)

Prianuari Afanita Devi (140411100044)

Rosella (140411100047)

Ach Sudarmanto (140411100053)

PRODI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO MADURA


PENGERTIAN 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.

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 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>

<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>yadi@gamatechno.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=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:

Standard Header
<?xml version="1.0" encoding="ISO-8859-1"?>

<email> Elemen root

<to>Andi </to>

<from>Yadi Utama</from> Elemen child

<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>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>yadi@gamatechno.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>

<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>yadi@gamatechno.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>

</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-8859-1?> bukanlah processing instruction node. Header
standard bukanlah bagian dari hirarki pohon dokumen XML.
NameSpace Node, node ini mewakili deklarasi namespace
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

1. Mempermudah Pengaturan Data.

2. SEO (Search Engine Optimization)

SEO atau kepanjangan dari (Search Engine Optimization) adalah suatu


cara atau teknik untuk membuat situs atau blog kita berada pada
halaman/posisi satu di mesin pencarian (search engine) seperti Google,
Bing, dan Yahoo. Search Engine Optimization atau sering di sebut SEO
adalah suatu cara atau teknik agar weblog yang kita miliki mempunyai
posisi di halaman pencarian google yang bisa meningkatkan trafik rank pada
weblog kita. Lebih tinggi nilai SEO weblog berarti besar kemungkinan
untuk menempati posisi pertama di pencarian google. Menurut dari
beberapa sumber yang sudah di cari pengertian SEO tetap mencakup hal
yang sama yang mengoptimalkan suatu halaman weblog agar mempunyai
posisi di halaman pencarian google. Istilah search engine optimization
pertama kali digunakan pada 26 Juli tahun 1997 oleh sebuah pesan spam
yang diposting di Usenet. Pada masa itu algoritma mesin pencari belum
terlalu kompleks sehingga mudah dimanipulasi. Versi awal algoritma
pencarian didasarkan sepenuhnya pada informasi yang disediakan oleh
webmaster melalui meta tag pada kode html situs web mereka. Meta tag
menyediakan informasi tentang konten yang terkandung pada suatu halaman
web dengan serangkaian kata kunci (keyword). Sebagian webmaster
melakukan manipulasi dengan cara menuliskan katakunci yang tidak sesuai
dengan konten situs yang sesungguhnya, sehingga mesin pencari salah
menempatkan dan memeringkat situs tersebut. Hal ini menyebabkan hasil
pencarian menjadi tidak akurat dan menimbulkan kerugian baik bagi mesin
pencari maupun bagi pengguna internet yang mengharapkan informasi yang
relevan dan berkualitas.

Keuntungan dari SEO


Mendatangkan trafik yang banyak

Meningkatkn Penjualan Online

Meningkatkan Daya Saing

3. Implementasi Pada Teknologi

Internet
Interconnection Network (Internet) adalah sistem global dari seluruh
jaringan komputer yang saling terhubung. Internet merupakan jaringan yang
terdiri dari milyaran komputer yang ada di seluruh dunia. Internet
melibatkan berbagai jenis komputer serta topology jaringan yang berbeda.
Dalam mengatur integrasi dan komunikasi jaringan, digunakan standar
protokol internet yaitu TCP/IP. TCP bertugas untuk memastikan bahwa
semua hubungan bekerja dengan baik, sedangkan IP bertugas untuk
mentransmisikan paket data dari satu komputer ke komputer lainya.

Website : Statis HTML(Hyper Text Markup Language) dan Dinamis


PHP(Hypertext Preprocessor)

Web Statis
Web statis adalah website yang mana pengguna tidak bisa mengubah konten
dari web tersebut secara langsung menggunakan browser. Interaksi yang
terjadi antara pengguna dan server hanyalah seputar pemrosesan link saja.
Halaman-halaman web tersebut tidak memliki database, data dan informasi
yang ada pada web statis tidak berubah-ubah kecuali diubah sintaksnya.
Dokumen web yang dikirim kepada client akan sama isinya dengan apa yang
ada di web server. Contoh dari web statis adalah web yang berisi profil
perusahaan. Di sana hanya ada beberapa halaman saja dan kontennya hampir
tidak pernah berubah karena konten langsung diletakan dalam file HTML
saja.

Web Dinamis
Dalam web dinamis, interaksi yang terjadi antara pengguna dan server sangat
kompleks. Seseorang bisa mengubah konten dari halaman tertentu dengan
menggunakan browser. Request (permintaan) dari pengguna dapat diproses
oleh server yang kemudian ditampilkan dalam isi yang berbeda-beda menurut
alur programnya. Halaman-halaman web tersebut memiliki database. Web
dinamis, memiliki data dan informasi yang berbeda-beda tergantung input apa
yang disampaikan client. Dokumen yang sampai di client akan berbeda
dengan dokumen yang ada di web server. Contoh dari web dinamis adalah
portal berita dan jejaring sosial. Lihat saja web tersebut, isinya sering
diperbaharui (di-update) oleh pemilik atau penggunanya. Bahkan untuk
jejaring sosial sangat sering di-update setiap harinya.

Perbedaan Web Statis dan Web Dinamis :


Interaksi antara Pengunjung dan Pemilik Web : Dalam web statis tidak
dimungkinkan terjadinya interaksi antara pengunjung dengan pemilik web.
Sementara dalam web dinamis terdapat interaksi antara pengunjung
dengan pemilik web seperti memberikan komentar, transaksi online,
forum, dll.

Bahasa Script yang digunakan : Web statis hanya menggunakan HTML


saja, atau paling tidak bisa ditambah dengan CSS. Sedangkan web dinamis
menggunakan bahasa pemrograman web yang lebih kompleks seperti PHP,
ASP dan JavaScript.

Penggunaan Database : Web statis tidak menggunakan database karena


tidak ada data yang perlu disimpan dan diproses. Sedangkan web dinamis
menggunakan database seperti MySQL, Oracle, dll untuk menyimpan dan
memroses data.

Konten : Konten dalam web statis hanya diberikan oleh pemilik web dan
jarang di-update, sementara konten dalam web dinamis bisa berasal dari
pengunjung dan lebih sering di-update. Konten dalam web dinamis bisa
diambil dari database sehingga isinya pun bisa berbeda-beda walaupun
kita membuka web yang sama.

Future internet.

4. Keamanan Sistem (Security)


Sebagai sebuah markup language, maka dokumen XML tersusun dari
kumpulan teks biasa. Sedangkan maksud yang terkandung pada data
dijelaskan melalui penanda yang biasa di sebut dengan tag. Dengan
menggunakan tag, maka sebuah dokumen XML dapat dengan mudah di
baca dan di mengerti oleh user dan bahkan oleh program komputer. Dengan
semakin maraknya dan luasnya penggunaan XML pada berbagai layanan di
internet, di mana penyebaran informasinya sebagian besar memakai
infrastruktur jaringan umum, maka mulailah muncul hambatan dan
permasalahan mengenai kebutuhan akan kemanan data bagi informasi yang
terkandung di dalam dokumen XML. Dengan adanya hal ini mengingat
bahwa sebuah dokumen XML tersusun dari sekumpulan teks yang sangat
mudah di pahami oleh user atau bahkan program komputer.

Berdasarkan kebutuhan tersebut, maka W3C (world wide web consortium)


berusaha mengembangkan beberapa spesifikasi tambahan untuk XML.
Spesifikasi tersebut di kembangkan untuk memampukan para pengguna
untuk menggunakan fasilitas pengamanan data pada sebuah dokumen XML
yang akan di distribusikan. Sistem keamanan data yang terdapat pada
spesifikasi XML tersebut itu di kenal dengan istilah XML security.

Dengan adanya XML security ini dapat menjaga keamanan data informasi
bagi pengguna. Di karenakan jika terjadi kerusakan atau data/informasi
yang kita punya di ambil atu di hancurkan oleh orang-orang yang tidak
bertanggung jawab, maka data akan tetap utuh. Karena pada suatu website
yang di lengkapi dengan dokumen XML, biasanya tempat penyimpanan
data atau informasi yang di gunakan atau di pake itu ada dua, yaitu database
dan XML. Jika data atau informasi rusak atau hilang, maka akan ada backup
data atau informasi yang lainnya yaitu pada penyimpanan di dalam
database. Sedangkan data atau informasi yang hilang itu terdapat pada
dokumen XML.

Keamanan Data - Terhadap kebutuhan untuk melakukan transaksi atau


komunikasi secara aman pada jaringan internet, teknik- teknik terus di
kembangkan pada semua lapisan arsitektur protokol yang di gunakan.
Khususnya arsitektur protokol TCP/IP.

Metode yang dikenal untuk dapat menerapkan keamanan pada lapisan


aplikasi yaitu antara lain pretty good privacy (PGP) dan secure MIME
(S/MIME). Namun kedua metode tersebut memerlukan aplikasi yang
mendukung metode-metode tersebut. Selain itu juga metode-metode
tersebut hanya dapat menyandikan (enkrip) sebuah dokumen keseluruhan
atau tidak sama sekali. Keadaan dan kondisi seperti ini tidak selalu di
butuhkan dan tidak selalu di harapkan. Arsitektur keamanan untuk XML
(XML security), di kembangkan untuk menjawab kebutuhan terssebut. Dan
juga dapat menyediakan keamanan yang fleksibel tidak hanya untuk
dokumen XML, tetapi juga untuk semua obyek yang dapat di tangani
melalui sebuah URL.

Sebuah Arsitektur Keamanan mendasari dirinya pada beberapa Layanan


Keamanan yaitu :

Kerahasiaan (Confidentiality)
Integritas (Integrity)

Authentication

Nonrepudiation

Berikut ini standar-standar inti dari XML Security :

XML digital signature untuk tanda tangan dan integritas.


XML encryption untuk kerahasiaan.

5. XML memisahkan Data dari HTML

Kita dapat memisahkan data dari html, yang disimpan dalam XML Dengan
menggunakan javascript kita dapat membaca XML, mengupdatenya, dan
menampilkannya

6. XML menyederhanakan Data Sharing

XML dibangun menggunakan plain text format sehingga menjadi penyimpanan


yang hardware dan software independent dan memudahkan sharing data.

7. XML menyederhanakan Pengiriman Data

Dikarenakan di internet terdiri dari berbagai sistem yang kadang satu sama lain
tidak kompatibel maka XML dapat membuat data yang secara mudah disharing
kepada berbagai sistem yang tidak cocok tadi.

8. XML menyederhanakan Perubahan Platform

Upgrade sistem(hardware dan software), merupakan sebuah hal yang riskan


salah satunya adalah konversi data dalam jumlah besar dan kadang ada resiko
kehilangan data karena ketidakcocokan. Data XML disimpan dalam format
teks, sehingga lebih mudah dikembangkan lebih besar atau ditingkatkan kepada
sistem operasi, aplikasi, dan browser baru tanpa kehilangan data.
9. XML membuat Data lebih mudah dibaca oleh berbagai Teknologi

Dengan XML, data dapat lebih mudah dibaca oleh berbagai "reading machine"
(komputer, komputer genggam, voice machine, news feed, dll)

10. XML digunakan untuk membuat Bahasa Internet Baru

Banyak bahasa internt baru dikembangkan oleh XML, seperti :

XHTML
WSDL untuk mendeskripsikan web service yang tersedia

WAP dan WML sebagai markup language untuk perangkat genggam

Bahasa RSS untuk news feed

RDF dan OWL untuk mendeskripsikan sumber daya dan


ontology(deksripsi mengenai informasi web dan keterhubungan antara
informasi web)

SMIL untuk mendekripsikan multimedia untuk web

Kelebihan dan Kekurangan

Keunggulan dan Keuntungan dari XML :


Simple, karena XML tidak serumit HTML, strukturnya jelas, dan
sederhana.
Intelligence, karena XML mampu menangani berbagai komplesitas
markup bertingkat-tingkat.

Portable, karena memisahkan data dan presentasi

Fast, pencarian data cepat

Extensible, dapat ditukar/digabung dengan dokumen XML lain.

Linking, XML dapat melakukan linking yang lebih baik daripada HTML,
bahkan dapat melink satu atau lebih poin dari dalam maupun luar data.

Maintenance, XML mudah untuk diatur dan dipelihara, karena hanya


berupa data, stylesheet dan link terpisah dari XML.
Kelemahan dari XML :
Tidak dapat dipungkiri bahwa XML sangat fleksibel untuk pertukaran data
melalui internet, namun terdapat beberapa kelemahan yang ditemukan pada
XML, diantaranya adalah :

XML memisahkan antara bagian data (content) dengan bagaimana data


ditampilkan secara terstruktur, hal ini menyebabkan data dapat
dimanipulasi oleh siapapun yang membacanya.
XML berbasis teks, mudah dibaca oleh manusia (human-readable), maka
dokumen XML mudah untuk di-debug dan dilewatkan melalui firewa

Perbedaan Antara XML dan HTML

XML bukanlah pengganti HTML.

XML dan HTML yang dirancang dengan tujuan yang berbeda :

XML dirancang untuk mendeskripsikan data, dengan fokus pada data


HTML dirancang untuk menampilkan data , dengan fokus pada bagaimana
data terlihat

HTML adalah tentang menampilkan informasi, sedangkan XML adalah


tentang membawa informasi.

XML Tidak Melakukan Apapun

Mungkin agak sulit untuk dimengerti, tapi XML memang tidak melakukan
apa-apa.

Contoh berikut adalah catatan untuk Tove, dari Jani, dan disimpan sebagai
XML :

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Catatan di atas bisa menjelaskan dirinya sendiri. Memiliki pengirim dan


penerima informasi, juga memiliki judul dan badan pesan. Tapi tetap,
dokumen XML ini tidak melakukan apa-apa. Ini hanya sebuah informasi yang
dibungkus dalam tag. Seseorang harus menggunakan software untuk
mengirim, menerima atau menampilkannya.

Dengan XML Anda Bisa Menciptakan Sendiri Tag Anda

Tag dalam contoh di atas ( seperti < to > dan < from > ) tidak didefinisikan
dalam standar XML. Tag ini " diciptakan " oleh penulis dokumen XML itu
sendiri. Itu karena bahasa XML tidak memiliki tag yang telah ditetapkan. Tag
yang digunakan dalam HTML adalah tag yang telah ditetapkan. Dokumen
HTML hanya bisa menggunakan tag yang didefinisikan dalam standar HTML
( seperti < p >, < h1 >, dll ). XML memungkinkan penulis untuk
mendefinisikan tag nya sendiri dan struktur dokumen nya sendiri.

XML Bukan Pengganti Untuk HTML

XML merupakan pelengkap HTML. Satu hal penting untuk memahami


bahwa XML bukan pengganti HTML. Dalam sebagian besar aplikasi web,
XML digunakan untuk menggambarkan data, sedangkan HTML digunakan
untuk memformat dan menampilkan data.

Penjelasan terbaik untuk XML adalah : XML adalah alat untuk membawa
informasi.

XML adalah Rekomendasi W3C

XML menjadi Rekomendasi W3C pada tanggal 10 Februari 1998.

Menggunakan XML

XML digunakan dalam banyak aspek pengembangan web, seringkali untuk


menyederhanakan penyimpanan data dan berbagi data.

XML Memisahkan Data dari HTML

Jika Anda perlu untuk menampilkan data dinamis dalam dokumen HTML
Anda, itu artinya Anda harus mengedit HTML setiap kali terjadi perubahan
data. Dengan XML, data dapat disimpan dalam file XML terpisah. Dengan
cara ini Anda dapat berkonsentrasi untuk menggunakan HTML / CSS untuk
tampilan dan layout (tata letak), dan pastikan bahwa perubahan dalam data
yang mendasari tidak akan memerlukan perubahan HTML. Dengan beberapa
baris kode JavaScript, Anda dapat membaca file XML eksternal dan
memperbarui konten data halaman web Anda.
XML Menyederhanakan Berbagi Data

Dalam dunia nyata, sistem komputer dan database berisi data dalam format
yang tidak kompatibel. Data XML disimpan dalam format teks biasa. Hal ini
membuat lebih mudah untuk membuat data yang dapat dibagi oleh berbagai
aplikasi.

XML Menyederhanakan Pengangkutan Data

Salah satu tantangan yang paling memakan waktu bagi pengembang adalah
untuk pertukaran data antara sistem yang tidak kompatibel melalui Internet.

Bertukar data XML sangat mengurangi kompleksitas, ini karena data dapat
dibaca oleh aplikasi yang tidak kompatibel.

XML Menyederhanakan Platform Perubahan

Meng-upgrade ke sistem baru ( hardware atau software ), selalu memakan


waktu. Sejumlah besar data harus dikonversi dan data yang tidak cocok sering
hilang. Data XML disimpan dalam format teks. Hal ini membuat lebih mudah
untuk memperluas atau meng-upgrade ke sistem operasi baru, aplikasi baru,
atau browser baru, tanpa kehilangan data.

XML Membuat Data Anda Lebih Tersedia

Aplikasi yang berbeda dapat mengakses data Anda, tidak hanya di halaman
HTML, tetapi juga dari sumber data XML. Dengan XML, data Anda dapat
tersedia untuk semua jenis "reading machines" ( Handheld computers, voice
machines, news feeds, dll ), dan membuatnya lebih tersedia untuk orang-
orang tuna netra, atau orang-orang berkenutuhan khusus lainnya.

Internet Language Ditulis dalam XML

Beberapa internet language yang ditulis dalam XML. Berikut adalah beberapa
contohnya :

XHTML
XML Schema

SVG

WSDL

RSS
Pohon XML

Dokumen XML membentuk struktur pohon yang dimulai pada "akar" dan
cabang untuk "daun".

Contoh Dokumen XML

<?xml version="1.0" encoding="UTF-8"?>


<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Baris pertama adalah deklarasi XML . Ini mendefinisikan versi XML ( 1.0 ).
Baris berikutnya menggambarkan elemen akar (root) dokumen ( seperti
mengatakan : " Dokumen ini adalah note " ) :

4 baris berikutnya menjelaskan 4 elemen anak (child) dari akar (root) ( to,
from , heading, dan body )

Dan akhirnya baris terakhir mendefinisikan akhir elemen akar (root) :

Anda dapat mengasumsikan , dari contoh ini , bahwa dokumen XML berisi
catatan untuk Tove dari Jani.

XML Dokumen Berbentuk Struktur Pohon

Dokumen XML harus berisi elemen akar (root). Elemen ini adalah parent
"orang tua" dari semua elemen lainnya.

Elemen dalam dokumen XML membentuk tree (pohon) dokumen. Pohon itu
dimulai pada akar dan cabang ke tingkat terendah dari pohon.

Semua elemen dapat memiliki sub elemen ( elemen anak ) :

<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Istilah orang tua, anak, dan saudara yang digunakan untuk menggambarkan
hubungan antara elemen. Elemen orang tua memiliki anak. Anak-anak pada
tingkat yang sama disebut saudara ( saudara atau saudari ).

Semua elemen dapat memiliki konten teks dan attribute ( seperti di HTML ).

Contoh Gambar

<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Elemen root dalam contoh adalah <bookstrore> . Semua elemen <book>
dalam dokumen yang terkandung dalam <bookstore>.

Elemen <book> memiliki 4 anak : <title>, <author>, <year>, <price>.

XML Menyederhanakan Pengangkutan Data

Salah satu tantangan yang paling memakan waktu bagi pengembang adalah
untuk pertukaran data antara sistem yang tidak kompatibel melalui Internet.

Bertukar data XML sangat mengurangi kompleksitas, ini karena data dapat
dibaca oleh aplikasi yang tidak kompatibel.

XML Menyederhanakan Platform Perubahan

Meng-upgrade ke sistem baru ( hardware atau software ), selalu memakan


waktu. Sejumlah besar data harus dikonversi dan data yang tidak cocok sering
hilang. Data XML disimpan dalam format teks. Hal ini membuat lebih mudah
untuk memperluas atau meng-upgrade ke sistem operasi baru, aplikasi baru,
atau browser baru, tanpa kehilangan data.

XML Membuat Data Anda Lebih Tersedia

Aplikasi yang berbeda dapat mengakses data Anda, tidak hanya di halaman
HTML, tetapi juga dari sumber data XML. Dengan XML, data Anda dapat
tersedia untuk semua jenis "reading machines" ( Handheld computers, voice
machines, news feeds, dll ), dan membuatnya lebih tersedia untuk orang-
orang tuna netra, atau orang-orang berkenutuhan khusus lainnya.

Internet Language Ditulis dalam XML

Beberapa internet language yang ditulis dalam XML. Berikut adalah beberapa
contohnya :

XHTML
XML Schema

SVG

WSDL

RSS

Sintak XML

Aturan sintak XML sangat sederhana dan logis. Aturan yang sangat mudah
untuk dipelajari, dan mudah untuk digunakan.
Semua Elemen XML Harus Memiliki Tag Penutup

Dalam HTML, beberapa elemen tidak harus memiliki tag penutup

<p>This is a paragraph.
<br>

Dalam XML, tidak diperbolehkan menghilangkan tag penutup. Semua


elemen harus memiliki tag penutup :

<p>This is a paragraph.</p>
<br />

Catatan : Anda mungkin telah memperhatikan dari contoh sebelumnya


bahwa deklarasi XML tidak memiliki tag penutup. Ini bukan kesalahan.
Deklarasi ini bukan bagian dari dokumen XML itu sendiri, dan tidak memiliki
tag penutup.

XML Tag adalah Case Sensitive

Tag XML bersifat case sensitive. Tag < Letter > berbeda dengan tag < letter
>.

Membuka dan menutup tag harus ditulis dengan kasus yang sama :

<Message>Ini Salah</message>
<message>Ini Benar</message>

Catatan : " Tag pembuka dan penutup " yang sering disebut sebagai " Tag
awal dan tag akhir ". Gunakan apa pun yang Anda inginkan. Antara tag awal
dan akhir harus persis sama.

Elemen XML Harus Bersarang Dengan Benar

Dalam HTML, Anda mungkin akan melihat elemen yang bersarang tidak
benar :

<b><i>Teks ini bold dan italic</b></i>

Dalam XML, semua elemen harus benar bersarang antara satu sama lain :

<b><i>Teks ini bold dan italic</i></b>

XML Dokumen Harus Memiliki Root Elemen

Dokumen XML harus mengandung salah satu elemen yang merupakan parent
dari semua elemen lainnya. Elemen ini disebut elemen root.
<root>
<child>
<subchild>.....</subchild>
</child>
</root>

Nilai Attribute XML Harus Diberi Tanda Kutip

Elemen XML dapat memiliki nama attribute dan nilai berpasangan seperti di
HTML

Dalam XML, nilai attribute harus selalu diberi tanda kutip.

Contoh Salah :

<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
Contoh Benar :

<note date="12/11/2007";
<to>Tove</to>
<from>Jani</from>
</note>

Kesalahan dalam dokumen pertama adalah attribute date dalam elemen note
tidak diberi tanda kutip.

Referensi entitas

Beberapa karakter memiliki arti khusus dalam XML.

Jika Anda menempatkan karakter seperti " < " di dalam sebuah elemen XML,
maka akan menghasilkan kesalahan karena parser menafsirkan sebagai awal
dari sebuah elemen baru.

Ini akan menghasilkan kesalahan di XML :

<message>if salary < 1000 then</message>

Untuk menghindari kesalahan ini, ganti karakter"< " dengan referensi entitas :

<message>if salary &lt; 1000 then</message>

Ada 5 referensi entitas yang telah ditetapkan dalam XML :

&lt; < kurang dari


&gt; > lebih besar dari

&amp; & ampersand

&apos; ' apostrophe

&quot; " tanda kutip

Komentar dalam XML

Sintak untuk menulis komentar di XML mirip dengan HTML.

<!-- Ini Komentar -->

Elemen XML

Sebuah dokumen XML mengandung Elemen XML.

Apa Itu Elemen XML ?

Sebuah elemen XML adalah dimulai dari tag awal dan di akhiri dengan tag akhir.

Sebuah elemen dapat berisi :

Elemen lain
Teks

Attribute

<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

Pada contoh di atas, < bookstore > dan < book > memiliki isi elemen, karena
mengandung elemen lain. < book > juga memiliki attribute ( category =
"CHILDREN" ). < title >, < author >, < tahun >, dan < harga > memiliki isi teks
karena mengandung teks.

Elemen XML kosong

Sebuah elemen tanpa isi disebut elemen kosong.

Dalam XML, Anda dapat membuat elemen kosong seperti ini :

<element></element>

Atau Anda dapat membuat tag kosong, seperti ini ( sintak elemen semacam ini
disebut self - closing )

<element />

Dua bentuk di atas menghasilkan hasil yang sama dalam parser XML.

Catatan : elemen kosong tidak memiliki isi apapun, tetapi mereka dapat memiliki
attribute

Aturan Penamaan XML

Elemen XML harus mengikuti aturan-aturan penamaan :

Nama elemen adalah case - sensitive


Nama elemen harus diawali dengan huruf atau garis bawah

Nama elemen tidak boleh diawali dengan huruf xml ( atau XML, atau
Xml, dll )
Nama elemen dapat berisi huruf, angka, tanda penghubung, garis bawah ,
dan titik
Nama elemen tidak boleh mengandung spasi

Setiap nama dapat digunakan, ( kecuali xml ).

Praktek Penamaan Terbaik

Buat nama yang deskriptif, seperti ini : < person> , < firstname > , < lastname >.

Buat nama yang singkat dan sederhana, seperti ini : <book_title> tidak seperti ini :
<the_title_of_the_book>.

Menghindari tanda penghubung " - " . Jika Anda menulis "first-name", beberapa
perangkat lunak mungkin akan menganggap sebagai pengurangan.
Menghindari tanda " . ". Jika Anda menulis "first.name", beberapa perangkat
lunak mungkin akan menganggap bahwa "name" adalah properti dari objek
"first".

Menghindari tanda " : " Titik Dua.

Huruf Non-English seperti , walaupun diperbolehkan di XML, tetapi ada


beberapa perangkat lunak yang tidak mendukung.

Style Penamaan

Tidak ada style penamaan yang ditetapkan untuk elemen XML. Tapi di sini ada
beberapa yang umum digunakan :

Style Contoh Keterangan

Lower case <firstname> Semua Huruf Kecil

Upper case <FIRSTNAME> Semua Huruf Kapital

Underscore <first_name> Garis Bawah Sebagai Pemisah Kata

Pascal case <FirstName> Huruf Kapital Disetiap Awal Kata

Camel case <firstName> Huruf Kapital Setelah Kata Pertama

Jika Anda memilih style penamaan, sebaiknya menggunakannya dengan konsisten


!

Elemen XML Extensible

Elemen XML dapat diperluas untuk membawa informasi lebih lanjut.

Lihatlah contoh XML berikut :

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>

Mari kita bayangkan bahwa kita menciptakan sebuah aplikasi yang diekstrak < to
> , < from > , dan < body > elemen dari dokumen XML untuk menghasilkan
output ini :

MESSAGE
To: Tove
From: Jani
Don't forget me this weekend!

Bayangkan jika penulis dokumen XML menambahkan beberapa informasi


tambahan untuk itu :

<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Ada 5 referensi entitas yang telah ditetapkan dalam XML :

Attribute XML

Elemen XML dapat memiliki attribute, seperti HTML.

Attribute memberikan informasi tambahan tentang elemen.

Nilai Attribute XML Harus Diberi Tanda Kutip

Nilai attribute harus selalu diberi tanda kutip. Boleh tanda kutip tunggal atau
tanda kutip ganda. contoh untuk jenis kelamin seseorang, elemen orang dapat
ditulis seperti ini :

<person gender="female">

Atau seperti ini

<person gender='female'>

Jika nilai attribute itu sendiri berisi tanda kutip ganda Anda dapat menggunakan
tanda kutip tunggal, seperti dalam contoh ini :

<gangster name='George "Shotgun" Ziegler'>

Atau Anda dapat menggunakan karakter entitas :

<gangster name="George &quot;Shotgun&quot; Ziegler">

Elemen XML vs Attribute

Lihat contoh-contoh ini :

<person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

Pada contoh pertama gender adalah attribute dan pada contoh berikutnya, gender
adalah elemen. Kedua contoh memberikan informasi yang sama.

Tidak ada aturan tentang kapan harus menggunakan attribute atau kapan
menggunakan elemen.

Pilih Tiga Cara Berikut Ini :

Tiga dokumen XML berikut ini berisi informasi yang sama persis :

Attribute date digunakan pada contoh pertama :

<note date="2008-01-10">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Elemen date digunakan pada contoh kedua :

<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Sebuah elemen date diperluas pada contoh ketiga :

<note>
<date>
<year>2008</year>
<month>01</month>
<day>10</day>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Hindari Menggunakan Attribute Di XML

Beberapa masalah dengan menggunakan attribute :

Attribute tidak dapat berisi beberapa nilai (elemen bisa)


Attribute tidak dapat berisi struktur pohon (elemen bisa)

Attribute tidak mudah diperluas (untuk perubahan di masa depan)

Attribute sulit untuk dibaca dan dipelihara. Gunakan elemen untuk data. Gunakan
attribute untuk informasi yang tidak relevan dengan data.

Jangan buat seperti ini :

<note day="10" month="01" year="2008"


to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

Attribute XML untuk Metadata

Kadang-kadang referensi ID bisa digunakan untuk elemen. ID ini dapat digunakan


untuk mengidentifikasi elemen XML, sama seperti attribute id di HTM. Contoh
berikut ini menunjukkan hal ini :

<messages>
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>

attribute id di atas adalah untuk mengidentifikasi note yang berbeda. Ini bukan
bagian dari note itu sendiri.
Apa yang Saya maksudkan di sini adalah bahwa metadata ( data tentang data)
harus disimpan sebagai attribute, dan data itu sendiri harus disimpan sebagai
elemen.

Namespace XML

Namespace XML menyediakan metode untuk menghindari konflik nama elemen.

Konflik Nama

Dalam XML, nama elemen didefinisikan oleh masing-masing pengembang. Hal


ini sering menyebabkan konflik ketika mencoba untuk mencampur dokumen
XML dari aplikasi XML yang berbeda.

XML ini membawa informasi tabel HTML :

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

XML ini membawa informasi tentang tabel ( perabot ) :

<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Jika XML ini ditambahkan bersama-sama, akan ada konflik nama. Keduanya
mengandung elemen <table>, namun elemen memiliki makna dan konten yang
berbeda.

Seorang pengguna atau aplikasi XML tidak akan tahu bagaimana menangani
perbedaan-perbedaan ini.

Memecahkan Konflik Nama Menggunakan Awalan

Konflik nama dalam XML dapat dengan mudah dihindari dengan menggunakan
nama awalan.

XML ini membawa informasi tentang tabel HTML, dan perabot :

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

Pada contoh di atas, tidak akan ada konflik karena kedua elemen <table> memiliki
nama yang berbeda.

XML Namespace - Attribute xmlns

Bila menggunakan awalan di XML, maka namespace untuk awalan harus


didefinisikan.

Namespace didefinisikan oleh attribute xmlns pada tag awal sebuah elemen.

Deklarasi namespace memiliki sintak seperti berikut xmlns : prefix = "URI".

<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table xmlns:f="http://www.kursus-membuat-web.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>

Pada contoh di atas, attribute xmlns dalam tag <table> memberikan awalan h : dan
f : namespace yang berkualitas.

Ketika namespace didefinisikan untuk elemen , semua elemen anak dengan


awalan yang sama terkait dengan namespace yang sama.

Namespaces dapat dinyatakan di elemen mana saja mereka digunakan atau


elemen XML root:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.kursus-membuat-web.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>

Catatan : namespace URI tidak digunakan oleh parser untuk mencari informasi.

Tujuannya adalah untuk memberikan namespace nama yang unik . Namun,


seringkali perusahaan menggunakan namespace sebagai pointer ke halaman web
yang berisi informasi namespace.

Uniform Resource Identifier (URI)

Sebuah Uniform Resource Identifier ( URI ) adalah string karakter yang


mengidentifikasi sebuah Sumber Daya Internet.

URI yang paling umum adalah Uniform Resource Locator ( URL ) yang
mengidentifikasi alamat domain Internet. yang lain tidak begitu umum dari URI
adalah Nama Universal Resource ( URN ).

Default Namespace

Mendefinisikan namespace default untuk elemen memudahkan kita dari


menggunakan awalan di semua elemen anak. Contoh sintaknya sebagai berikut :

xmlns="namespaceURI"

XML ini membawa informasi tabel HTML :

<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

XML ini membawa informasi tentang perabot :

<table xmlns="http://www.kursus-membuat-web.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Namespaces Dalam Penggunaan Nyata

XSLT adalah bahasa XML yang dapat digunakan untuk mengubah dokumen XML
menjadi format lain, seperti HTML.

Dalam dokumen XSLT dibawah ini, Anda dapat melihat bahwa sebagian besar tag
adalah tag HTML.

Tag yang tidak tag HTML memiliki awalan xsl, yang diidentifikasi oleh xmlns
namespace : xsl = "http://www.w3.org/1999/XSL/Transform" :

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Encoding XML

Dokumen XML dapat berisi karakter internasional, seperti Norwegian , atau


French . Untuk menghindari kesalahan, Anda harus menentukan encoding
yang digunakan, atau menyimpan file XML sebagai UTF - 8.

Karakter Encoding
Karakter Encoding mendefinisikan kode biner yang unik untuk setiap karakter
yang berbeda yang digunakan dalam dokumen.

Dalam istilah komputer, karakter encoding juga sering disebut character set,
character map, code set, dan code page.

Unicode Konsorsium

Unicode Konsorsium mengembangkan Standar Unicode. Tujuannya untuk


mengganti character sets yang ada dengan standar Unicode Transformation
Format (UTF).

Standar Unicode telah sukses dan diimplementasikan pada HTML, XML, Java,
JavaScript, E -mail, ASP, PHP, dll standar Unicode juga didukung oleh banyak
sistem operasi dan semua browser modern.

Unicode Konsorsium bekerja sama dengan organisasi-organisasi pengembangan


standar terkemuka, seperti ISO, W3C, dan ECMA.

Pengaturan Karakter Unicode

Pengaturan Karakter Unicode dapat diterapkan secara berbeda. Pengkodean yang


paling umum digunakan adalah UTF - 8 dan UTF - 16.

UTF - 8 menggunakan 1 byte ( 8 - bit ) untuk mewakili karakter Latin dasar, dan
dua, tiga, atau empat byte untuk sisanya.

UTF - 16 menggunakan 2 byte ( 16 bit ) untuk sebagian besar karakter , dan


empat byte untuk sisanya.

UTF-8 adalah Standar Untuk Web

UTF - 8 adalah pengkodean karakter standar di web.

UTF - 8 adalah pengkodean karakter default untuk HTML5, CSS, JavaScript,


PHP, SQL, dan XML

XML Encoding

Baris pertama di dokumen XML disebut prolog:

<?xml version="1.0"?>

Prolog adalah opsional. Biasanya mengandung versi XML.


Hal ini juga dapat berisi informasi tentang encoding yang digunakan dalam
dokumen. Prolog ini menentukan UTF - 8 encoding :

<?xml version="1.0" encoding="UTF-8"?>

UTF - 8 adalah default untuk dokumen tanpa informasi encoding.

Selain itu, sebagian besar sistem memahami pengkodean seperti ISO - 8859-1,
Windows - 1252, dan ASCII.

Kesalahan XML

Secara umum, dokumen XML yang dibuat pada satu komputer di upload ke server
pada komputer kedua, dan ditampilkan oleh browser pada komputer ketiga.

Jika encoding tidak benar ditafsirkan oleh ketiga komputer, maka browser akan
menampilkan teks yang tidak jelas, atau Anda mungkin mendapatkan pesan
kesalahan.

Untuk dokumen XML yang berkualitas tinggi, UTF - 8 encoding adalah yang
terbaik untuk digunakan. UTF - 8 mencakup karakter internasional, dan juga
default, jika tidak ada encoding yang dideklarasikan.

Kesimpulan

Ketika Anda menulis dokumen XML :

Menggunakan editor XML yang mendukung encoding


Pastikan Anda tahu encoding apa yang digunakan Editor yang Anda
gunakan

Jelaskan encoding dalam pada attribute encoding

UTF - 8 adalah encoding yang paling aman untuk digunakan

UTF - 8 adalah standar web.


IMPLEMENTASI XML
IMPLEMENTASI EXTENSIBLE MARKUP LANGUAGE
WEB SERVICE PADA SECURE REMOTE FORM
FIELD FILLIN DALAM DOKUMEN MICROSOFT WORD

Aplikasi yang akan dibuat menggunakan masukan tunggal yang berupa


dokumen atau berkas office yang akan dimodifikasi di dalamnya serta
dilakukan injeksi VBA dengan memanfaatkan XML Web Service di
dalamnya. Di dalam penelitian situs yang sesungguhnya dianggap
sebagai sebuah situs dummy untuk uji coba hasil masukan dari
dokumen Microsoft Word. Alur arsitektur sistem diawali dari pihak
webmaster atau administrator yang menentukan beberapa field apa
saja yang akan dilibatkan di dalam pengisian formulir. Setelah analisa
tersebut selesai dilakukan, maka administrator akan menerbitkan
dokumen

Dokumen Microsoft Word tersebut, kemudian menjadi template bagi


pengguna untuk kemudian diisi dengan data yang dibutuhkan.
Pengguna diasumsikan telah memiliki user id dan password
sebelumnya tanpa harus melakukan registrasi terle-bih dahulu di
dalam situs registrasi. User id dan password tersebut, akan menjadi
kunci keamanan dalam dokumen Microsoft Word(yang telah terinjeksi
oleh VBA) saat akan melakukan proses submit data ke basis data yang
berada di dalam web server.
XML Web Service yang dibuat, terdiri dari dua bagian utama yaitu
bagian otorisasi dan bagian penyimpanan data ke dalam basis data.
Kedua bagian tersebut, akan mengembalikan nilai yang berbeda,
sebagai umpan balik terhadap pengguna pada saat proses koneksi
pertama kali dilakukan dan pada saat proses penyimpanan data
berhasil dijalankan. Bagian yang pertama yaitu bagian otorisasi, akan
menggunakan tabel yang berisi user id dan password untuk otorisasi.
Selanjutnya, dari fungsi tersebut dilakukan query dengan
menggunakan data reader untuk kemudian engembalikan nilai balik
bertipe boolean yang menyatakan keberhasilan proses otorisasi dalam
dokumen Microsoft Word. Dari hasil keberhasilan proses otorisasi
tersebut, lalu disimpan ulang ke dalam tabel yang berisi user id dan
password mengenai keberadaan user tersebut (sedang dalam status
pengisian data), sehingga nantinya pada saat proses penyimpanan
data tidak akan terjadi kesalahan concurency data. Sedangkan, bagian
yang kedua yaitu bagian
penyimpanan data, pada saat awal akan membaca hasil dari bagian
yang pertama. Apabila pada bagian pertama telah menghasilkan nilai
balik true, maka proses akan dilanjutkan. Sedangkan jika nilai balik
yang dihasilkan adalah false, maka proses akan dihentikan dan akan
dilemparkan pesan kesalahan kepada pengguna. Pada saat proses
dihentikan, maka alur program akan dikembalikan ke proses otorisasi.
Jika proses otorisasi berhasil dilalui, maka langkah berikutnya adalah
melakukan pengambilan parameter dari dokumen Microsoft Word yang
dilakukan dengan menggunakan bantuan VBA. Dari hasil pengambilan
parameter itu, maka fungsi di bagian kedua XML Web Service akan
mengambil alih tugas selanjutnya, yaitu menyimpan parameter yang
berhasil diambil ke dalam basis data yang berada di web server. Pada
saat proses penyimpanan data di web server selesai dilakukan, maka
pengguna akan diberikan nilai balik ulang dari web server mengenai
keberhasilan proses. Dan pada titik ini, proses yang ada dianggap
selesai dilakukan. Untuk lebih jelasmemahami mengenai proses yang
terjadi di dalam XML Web Service, dapat dilihat pada diagram alir
Gambar 2
Injeksi VBA ke dalam dokumen Microsoft Word pada penelitian ini,
membutuhkan dua syarat penting yaitu setting sekuritas Microsoft
Word yang diset menjadi enable agar fungsi yang ada dalam VBA
dapat dieksekusi, serta kapabilitas koneksi terhadap XML Web Service
yang berarti kemampuan untuk melakukan koneksi ke web server yang
di dalamnya telah terdapat fungsi XML Web Service yang siap untuk
digunakan. Fitur utama dari XML Web Service yang dikembangkan oleh
Microsoft, khususnya dalam lingkup .NET Framework adalah
kemampuan untuk membuat proxy class atau fungsi temporer yang
mampu menghasilkan implementasi konsep disconnected di dalamnya.

Pembuatan proxy class sendiri membutuhkan langkah awal yang


dinamakan discovery yang berarti pencarian alamat XML Web Service
yang valid. Jika proses pencarian telah berhasil dilakukan, fungsi yang
ada di dalam XML Web Service bisa dieksekusi melalui obyek baru
yang dideklarasikan di dalam fungsi VBA. Dalam penelitian ini, VBA
dibagi menjadi dua bagian utama yang mirip dengan bagian yang
terdapat dalam XML Web Service yaitu bagian otorisasi dan bagian
penyimpanan data. Pada saat awal bagian otorisasi, fungsi dalam VBA
mengeksekusi fungsi XML Web Service melalui deklarasi obyek baru.
Pendeklarasian tersebut, sekaligus melakukan dua hal penting yaitu
proses discovery XML Web Service dan pembentukan proxy class untuk
pemanggilan fungsi XML Web Service yang lain. Apabila proxy class
berhasil dibentuk, parameter otorisasi akan dilempar melalui fungsi
XML Web Service untuk dieksekusi di web server. Lalu, fungsi di VBA
mengambil nilai balik dari fungsi otorisasi yang berupa nilai balik
bertipe boolean.

Dari hasil ini akan menjadi dasar utama bagi pemanggilan fungsi XML
Web Service selanjutnya. Saat nilai balik bernilai true, maka bagian
kedua dari fungsi VBA mulai dijalankan. Bagian kedua yang berfungsi
untuk melakukan proses submit data ke
web server, pada dasarnya merupakan fungsi yang mengambil
parameter berasal dari kumpulan field yang sebelumnya telah
terdefinisi di dalam dokumen Microsoft Word. Kumpulan field yang
nilainya diambil menjadi kumpulan parameter akan dilempar
ulang dari fungsi VBA ke dalam XML Web Service, dan tugas
penyimpanan selanjutnya terjadi di dalam web server. Pada saat
proses penyimpanan sukses dilalui, maka XML Web Service akan
berusaha mengirimkan nilai balik berupa pesan sukses ke VBA. Pada
titik ini, proses di VBA dianggap telah selesai dan secara keseluruhan
proses secure remote form field filling diasumsikan telah sukses. Untuk
lebih jelas memahami proses di dalam VBA, dapat dilihat pada diagram
alir Gambar 3.
HASIL DAN PEMBAHASAN

Dari perancangan yang telah dilakukan, maka dilakukan implementasi,


dengan menggunakan sebuah situs dummy sebagai tempat
penampungan sementara sekaligus bertindak sebagai web server.
Selain sebagai web server, di dalamnya juga diasumsikan terdapat
server basis data yang nantinya sebagai penampung data hasil isian
formulir. Formulir yang asli di dalam situs, tidak ditampilkan,
mengingat implementasi dapat dilakukan di dalam situs jenis apapun
yang mengandung pengisian formulir. Di dalam web server tersebut,
terdapat XML Web Service yang bertindak sebagai jembatan
penghubung dalam proses pengisian formulir. Discovery XML Web
Service diasumsikan sama dengan alamat situs dummy yang
diimplementasikan.

Sedangkan, sekuritas XML Web Service dalam kasus ini dianggap


menggunakan setting default atau diabaikan. Sedangkan, dokumen
Microsoft Word yang dijadikan sebagai bahan uji coba hanya terdiri
dari tiga field untuk kepentingan kecepatan proses pada saat evaluasi
dilakukan. Di dalam dokumen inilah terjadi juga implementasi konsep
disconnected. Dokumen yang di dalamnya telah diinjeksi dengan XML
Web Service di dalam VBA, hanya akan dieksekusi pada saat tombol
Submit Data dilakukan. Apabila dokumen tersebut disimpan dengan
menggunakan fasilitas yang ada di dalam Microsoft Word (baik
penggunaan fitur Save ataupun Save As), tidak akan terjadi koneksi
apapun ke situs yang dituju.

Bentuk dokumen yang di dalamnya telah diinjeksi merupakan bentuk


dokumen isian dengan menggunakan fasilitas field yang terdapat
dalam VBA, sehingga pengguna tidak lagi bisa melakukan edit
terhadap dokumen, selain isian yang ada dalam field. Sedangkan,
untuk pengisian user id dan password yang tersedia (sebagai bentuk
pengamanan dalam penelitian ini), menggunakan fasilitas form control
dalam VBA berupa textbox, dan juga
bantuan form control berupa button untuk tombol proses submit data.
Pada saat proses pengisian dilakukan (jika memang bermaksud untuk
melakukan submit data, dan proses pengisian telah dianggap selesai),
tombol submit data akan langsung melakukan eksekusi VBA dengan
injeksi XML Web Service untuk melakukan koneksi ke web server. Jika
asumsi user id dan password telah benar dan sesuai dengan data di
dalam web server, seluruh field yang ada akan diek-sekusi untuk
proses penyimpanan selanjutnya.

Di dalam proses tersebut, pengguna tidak akan pernah mengetahui


proses yang terjadi, berkat adanya sifat enkapsulasi di dalam VBA saat
melakukan eksekusi XML Web Service. Selain itu, pengguna hanya
perlu melakukan koneksi ke web server hanya pada saat tombol submit
dieksekusi. Sehingga, proses yang dilakukan dapat menghemat
penggunaan bandwidth dari pengguna. Screenshot dokumen sebelum
pengisian dapat dilihat pada Gambar 4,

sedangkan untuk screenshot dokumen setelah pengisian ditampilkan


pada Gambar 5.

KESIMPULAN

Dalam penelitian ini, implementasi secure remote form field fillin


diharapkan dapat
memberikan solusi bagi webmaster yang memiliki formulir isian
dengan jumlah yang banyak atau formulir isian yang membutuhkan
waktu lama dalam proses
pengisi-annya. Dari sisi keilmuan, dengan penerapan secure remote
form field fillin akan menjadi sebuah solusi baru dalam
mengintegrasikan aplikasi desktop dan web melalui XML Web Service.
Jika pada umumnya solusi yang diterapkan menggunakan aplikasi
desktop normal (dengan pembuatan executable program), maka dalam
penelitian diberikan solusi baru dengan menggunakan bantuan
dokumen Microsoft Word yang diasumsikan telah jamak dimiliki oleh
para pengguna (khususnya di Indonesia).

Di sisi lain, hasil dari penelitian ini masih memiliki beberapa kelemahan
yang harus diperbaiki di penelitian lanjutan, yaitu sekuritas dari
dokumen
Microsoft Word yang memerlukan pengaktifan. fasilitas VBA pada saat
setting awal. Selain itu, sekuritas pengiriman data perlu diberikan
metode enkripsi di dalamnya agar pada saat terjadi proses submit,
data tidak bisa di-sniffing oleh pihak ketiga, mengingat sifat XML yang
diumpanbalikkan merupakan plain text. Dalam pengembangannya,
penelitian ini diharapkan bisa berlanjut menjadi sebuah dokumen
standard berbentuk template yang dapat melakukan proses
pembangkitan formulir isian dari sebuah aplikasi web yang
membutuhkan solusi secure remote form field

REFERENSI

http://zhemwelelanor.blogspot.co.id/2016/03/pengertian-dan-manfaat-
xml-extensible.html?m=1
http://www.kursus-membuat-web.com/xml/pengantar-xml.php

http://puslit2.petra.ac.id/ejournal/index.php/tik/article/download/16940/
16925.