pemrograman berbasis web - moeslimar.files.wordpress.com fileapa itu xml ? • dirancang untuk...
TRANSCRIPT
Pemrograman Berbasis WebPertemuan 5 – XML & DTD
Program Diploma IPB - Aditya Wicaksono, S.Komp 1
Overview • XML
• DTD
Program Diploma IPB - Aditya Wicaksono, S.Komp 2
Apa itu XML ?
• eXtensible Markup Language
• Merupakan markup language seperti halnya HTML
• Dirancang untuk mengirim dan menyimpan data, bukan untukmenampilkan data
• XML tidak standar, harus mendefinisikan tag sendiri
Program Diploma IPB - Aditya Wicaksono, S.Komp 3
Apa itu XML ?
• Dirancang untuk menjadi self-descriptive
• XML menjadi rekomendasi W3C (pada tanggal 10 februari 1998)
• XML tidak berbuat apapun
• XML diciptakan untuk struktur, penyimpanan, dan pengiriman informasi
Program Diploma IPB - Aditya Wicaksono, S.Komp 4
Apa itu XML ?
• XML tidak menggantikan HTML
• XML merupakan pelengkap bagi HTML
• XML memisahkan data dari HTML
• XML menyederhanakan dalam berbagi data
Program Diploma IPB - Aditya Wicaksono, S.Komp 5
Apa itu XML ?
• XML digunakan untuk menciptakan bahasa internet baru, contoh :
• XHTML
• WSDL
• WAP dan WML
• RSS
• RDF dan OWL
• SMIL
Program Diploma IPB - Aditya Wicaksono, S.Komp 6
Contoh XML
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Program Diploma IPB - Aditya Wicaksono, S.Komp 7
Perbedaan XML dan HTML
• XML bukanlah pengganti HTML
• XML dan HTML dirancang untuk tujuan yang berbeda
• HTML adalah tentang menampilkan informasi, sedangkan XML adalahtentang membawa informasi
Program Diploma IPB - Aditya Wicaksono, S.Komp 8
Program Diploma IPB - Aditya Wicaksono, S.Komp 9
<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>
Program Diploma IPB - Aditya Wicaksono, S.Komp 10
Aturan XML
• Semua elemen XML harus memiliki tag penutup
• Tag XML bersifat case sensitive
• Dokumen XML harus memiliki root elemen
• Elemen XML harus bersarang dengan benar
• Nilai atribut di XML harus dalam tanda kutip
Program Diploma IPB - Aditya Wicaksono, S.Komp 11
Aturan Penamaan XML
• Nama dapat berisi huruf, angka, dan karakter lain
• Nama tidak dapat dimulai dengan angka atau karakter tanda baca
• Nama tidak dapat dimulai dengan kata xml (atau XML, atau XmL, dll)
• Nama tidak boleh berisi spasi
• Setiap nama dapat digunakan karena tidak ada reserved word
Program Diploma IPB - Aditya Wicaksono, S.Komp 12
Tips dalam Aturan Penamaan
• Hindari penggunaan karakter “-”, karena beberapa software mungkin akanmenganggap sebagai operasi pengurangan
• Hindari penggunaan karakter “.”, karena beberapa software mungkin akanmenganggap sebagai property dari suatu object
• Hindari karakter “:”, disediakan untuk digunakan sebagai namespace
• Gunakan aturan penamaan database untuk elemen dalam dokumen XML
Program Diploma IPB - Aditya Wicaksono, S.Komp 13
Komentar di XML
<!-- This is a comment -->
Program Diploma IPB - Aditya Wicaksono, S.Komp 14
Hindari Atribut XML
• Beberapa masalah dengan menggunakan atribut antara lain :
• Atribut tidak dapat berisi beberapa nilai (elemen bisa)
• Atribut tidak dapat berisi struktur pohon (elemen bisa)
• Atribut tidak mudah diupgrade (untuk perubahan masa depan)
• Atribut sulit untuk dibaca dan dirawat, gunakan elemen untuk data dan gunakanatribut untuk informasi yang tidak relevan dengan data
Program Diploma IPB - Aditya Wicaksono, S.Komp 15
Dokumen XML Valid
• Dokumen XML yang valid adalah dokumen XML yang “Well Formed” yang juga sesuai dengan aturan Document Type Definition (DTD)
Program Diploma IPB - Aditya Wicaksono, S.Komp 16
XML DTD
• Sebuah DTD dapat dinyatakan secara inline dalam dokumen XML, atausebagai referensi eksternal
Program Diploma IPB - Aditya Wicaksono, S.Komp 17
XML DTD Internal
<!DOCTYPE root-element [element-declarations]>
Program Diploma IPB - Aditya Wicaksono, S.Komp 18
Contoh XML DTD Internal
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Program Diploma IPB - Aditya Wicaksono, S.Komp 19
XML DTD Eksternal
<!DOCTYPE root-element SYSTEM "filename">
Program Diploma IPB - Aditya Wicaksono, S.Komp 20
Contoh XML DTD Eksternal
Data.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Note.dtd
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
Program Diploma IPB - Aditya Wicaksono, S.Komp 21
Mengapa perlu menggunakan DTD ?
• Dengan DTD, setiap file XML dapat membawa deskripsi format sendiri
• Dengan DTD, suatu kelompok dapat sepakat menggunakan standar DTD untuk bertukar data
• Aplikasi yang dibuat dapat menggunakan standar DTD untuk memverifikasibahwa data yang diterima dari luar berlaku
• DTD juga dapat digunakan untuk memverifikasi data sendiri
Program Diploma IPB - Aditya Wicaksono, S.Komp 22
XML (dan HTML) menurut perspektif DTD
Elements
Attributes
Entities
PCDATA
CDATA
Program Diploma IPB - Aditya Wicaksono, S.Komp 23
Elements
• Elemen adalah main building blocks dari XML dan HTML
• Contoh Elemen HTML : body, table
• Contoh Elemen XML : note, message
• Elemen dapat berisi teks, elemen lain, atau dapat juga kosong
• Contoh Elemen HTML yang kosong : hr, br, img
Program Diploma IPB - Aditya Wicaksono, S.Komp 24
Attributes
• Atribut memberikan informasi tambahan terkait elemen
• Atribut selalu ditempatkan di dalam tag pembuka elemen
• Atribut selalu berpasangan Antara nama dan nilai
Program Diploma IPB - Aditya Wicaksono, S.Komp 25
Contoh Attributes
<img src="computer.gif" />
Program Diploma IPB - Aditya Wicaksono, S.Komp 26
Entities
Referensi Entity Karakter
< <
> >
& &
" "
' '
Program Diploma IPB - Aditya Wicaksono, S.Komp 27
PCDATA
• PCDATA (Parse Character Data) adalah teks yang akan diurai oleh parser
• Teks akan diperiksa oleh parser untuk entitas dan markup
• Tag dalam teks akan diperlakukan sebagai markup dan entitas akandiperluas
• Tidak boleh mengandung karakter &, <, atau > sebagai gantinya dapatdigunakan & < dan >
Program Diploma IPB - Aditya Wicaksono, S.Komp 28
CDATA
• CDATA (Character Data) adalah teks yang tidak akan diurai oleh parser
• Tag dalam teks tidak akan diperlakukan sebagai markup dan entitas tidakakan diperluas
Program Diploma IPB - Aditya Wicaksono, S.Komp 29
XML CSS
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
</CATALOG>
Program Diploma IPB - Aditya Wicaksono, S.Komp 30
XML DOM
• XML DOM mendefinisikan sebuah cara standar untuk mengakses danmemanipulasi dokumen XML
• XML DOM memandang sebuah dokumen XML sebagai tree-structure
• Semua elemen dapat diakses melalui DOM tree
• Konten (teks dan atribut) dapat diubah atau dihapus, dan elemen barudapat dibuat
• Elemen, teks, dan atribut semua dikenali sebagai node
Program Diploma IPB - Aditya Wicaksono, S.Komp 31
Terima Kasih
Program Diploma IPB - Aditya Wicaksono, S.Komp 32