• Tidak ada hasil yang ditemukan

TIF82/SIF Pengenalan XML. Team dosen. Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016

N/A
N/A
Protected

Academic year: 2021

Membagikan "TIF82/SIF Pengenalan XML. Team dosen. Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016"

Copied!
38
0
0

Teks penuh

(1)

Team dosen

Pengenalan XML

TIF82/SIF82-01

Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta

(2)

Apa itu XML?

 eXtensible Markup Language, sebuah spesifikasi untuk membuat sebuah

bahasa markup

Bahasa Markup adalah sistem modern untuk menganotasi dokumen dengan cara

yang secara sintaksis dibedakan dari teks (Wikipedia Indonesia). Ada tanda-tanda khusus untuk merepresentasikan data/text.

 XML digunakan untuk membuat sebuah bahasa dengan konsep eXtensible.  Tujuan utama untuk membantu komputer untuk berbagi (sharing) data

(3)

Apa itu XML? – cont

 XML merupakan kumpulan peraturan sederhana yang memberikan aturan

bagaimana mendefinisikan tags yang memisahkan dokumen menjadi bagian dan sub bagian.

 Didefinisikan sebagai teknologi standard yang bersifat terbuka (open

standard)

 Data independent, memisahkan konten dari presentasi (tampilan)  Sebuah dokumen XML dapat mereferensi ke dokumen lain yang

mendefinisikan struktur dokumen XML Data Type Definition (DTD) atau sebuah Schema (valid).

(4)

Sejarah Singkat XML

 Berawal dari munculnya Standard Generalized Markup Language (SGML), yang

distandarkan oleh ISO tahun 1986 (ISO 8879)

 Masalah dengan SGML

 Terlalu kompleks, sulit untuk mengolah, spesifikasi tidak tersedia bebas, perangkat

mahal dan sedikit open source

 Muncul HTML yang merupakan turunan dari SGML yang menggabungkan konten

dan tampilan (presentation) misalnya : color, font size, dll.

 Sulit untuk mengelola data yang kompleks yang mudah diolah mesin  Tags yang kompatibel antar vendor web browser

(5)

Sejarah Singkat XML (cont.)

 Tahun 1996 komunitas SGML mengajak W3C dan praktisi vendor web untuk

mengadopsi SGML untuk web

 XML mulai berkembang dan akhirnya di setujui oleh W3C pada 10 Februari

(6)

XML dan HTML

 XML didesain untuk menampung/membawa data  XML tidak dibuat untuk menggantikan HTML

XML didesian untuk mendeskripsikan data dan berfokus pada data-nya apa.

Sedangkan HTML didesain untuk menampilkan data dan berfokus bagaimana data tersebut ditampilkan.

 HTML berhubungan dengan menampilkan informasi, sedang XML

mendeskripsikan informasi

 XML dapat diperluas sendiri (eXtensible), tags XML tidak didefinisikan, sedang

(7)

Document-Centric XML

Perhatikan sebuah contoh dokumen XML berikut:

<h1>Petunjuk penggunaan Software X</h1>

<p>Untuk menggunakan <b>software X</b> pastikana mengikuti petunjuk berikut:</p> <list>

<item>Install software dari DVD</item>

<item>Masukkan serial number yang sudah disertakan</item> <item>Aktifkan internet untuk registrasi ulang.</item> </list>

<p>Setelah langkah diatas dilakukan, bisa download template dari link ini <link href=http://software-x.com”>Template X</link>.

(8)

<po id="43871" submitted="2004-06-05"> <billTo>

<company>The Skateboard Warehouse</company>

<street>One Warehouse Park, Building 17</street> <city>Boston</city>

<state>MA</state>

<postalCode>01775</postalCode> </billTo>

<shipTo>

<company>The Skateboard Warehouse</company>

<street>One Warehouse Park, Building 17</street> <city>Boston</city>

<state>MA</state>

<postalCode>01775</postalCode> </shipTo>

<order>

<item sku="318-BP" quantity="5">

<description>Skateboard backpack</description> </item>

<item sku="947-TI" quantity="5">

Data

-Centri

c

(9)

Data- vs Document-Centric XML

 Rasio/perbandingan markup dan konten di data-centric lebih tinggi daripada

document-centric

 Data-centric biasanya menyertakan informasi yang dihasilkan mesin/software  Dokumen dan tag di data-centric lebih terstruktur

 Data-centric dengan mudah dihubungkan dengan struktur sebuah data/class.  Biasanya, document-centric berfokus (dibaca) untuk manusia, data lebih ke

mesin/aplikasi

(10)

Dokumen XML

 Biasanya diawali dengan sebuah Prolog, yang bisa berisi :

 Identifikasi dokumen adalah XML  Komentar tentang dokumen

 Meta-information yang menjelaskann tentang dokumen

 Setelah prolog selanjutnya baru di ikuti dengan root elemen yang berisi

dokumen/data XML.

 Contoh prolog

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

(11)

Dasar XML (markups)

 Dokumen XML hanya berisi text  Mengapa dengan markups (tanda) ?

 Manusia dapat membacanya

 Dapat diolah dengan mudah menggunakan software

 Merupakan cara yang efektif untuk merepresentasikan data

 Data di markup (ditandai) dengan tags

<person>

Agus Wibowo </person>

(12)

Tags, Elemant dan Attribute

Tag diawali dengan tanda < ... > (start tag) dan diakhiri dengan tanda </...>

(end tag). Di antara tags merupakan elemen konten.

 Khusus bagian CDATA, markup ditandai dengan tag <![CDATA[]]>

(didalamnya bisa berisi konten apa saja)

Didalam tag sendiri, selain ada nama tag (elemen name) bisa berisi informasi

tambahan Attribute (yang terbagi menjadi attribute name dan attribute value).

Satu set start tags, nama tags , attribute, konten sampai end tags disebut

(13)
(14)

XML Elements

 Nama element bisa menggunakan kata apa saja yang sesuai dengan nama

identifier standard programming

 Elements dapat terdiri dari 3 jenis

Elemeny only - hanya berisi sekumpukan elemen saja

Mixed content - kombinasi sekumpulan elemen dan kontenEmpty content – Elemen kosong bisa disingkat misalnnya:

 <emptyElement/> atau

(15)

XML Elements –cont

 XML elements harus bersarang urut dan tidak overlap. Berikut contoh elemen

yang salah :

<!-- bad syntax -->

<p><i><b> some text</i></b></p>

Hanya boleh ada satu root (top level) elemen didalam sebuah dokumen

(khusus top level elemen saja). Berikut ini tidak boleh :

<!-- This is not correct -->

<first>The first root element</first> <second>The second root element</second>

(16)

Attributes

 Atribut hanya boleh dituliskan didalam start tags

 Nama atribut yang diawali dengan xml merupakan nama cadangan (reserved)

- mempunyai maksud khusus

 Penulisan nilai atribut disertai dengan tanda petik tunggal atau ganda.

Misalnya :

<po id="43871" submitted='2004-06-05'> ...

(17)

Elemen Konten

 Konten sebuah elemen bisa text apa saja semisal UTF-8, termasuk unicode

(huruf china, jepang, arab dsb)

<?xml version="1.0" encoding="UTF-8" ?> <俄语>данные</俄语>

 Penulisan karakter/huruf yang dicadangkan harus menggunakan karakter

khusus, semisal tanda < ditulis &lt; dan & ditulis &amp; Kecuali penulisan di

(18)

Konflik Nama Eleman

 Perhatikan 2 contoh dokumen xml berikut:

 Jika 2 dokumen tersebut diolah bersama, maka akan konflik karena nama

elemen yang sama, yaitu table

Dokumen XML Furniture (meja) Tabel buah-buahan

<table>

<name>African Coffee Table</name> <width>80</width> <length>120</length> <price>USD 2000</price> </table> <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

(19)

Konflik Nama Eleman –cont

 Untuk menghindari konflik digunakan nama tambahan (prefik)

 Contoh diatas, sudah tidak ada konflik lagi karena <table> sudah mempunyai

nama yang berbeda

Dokumen XML Furniture (meja) Tabel buah-buahan

<f:table>

<f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> <f:price>USD 2000</f:price> </f:table> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>

(20)

XML Namespace

Jika menggunakan prefik, harus didefinisikan yang namanya Namespace

untuk prefik tersebut.

Namespace didefinisikan dengan atribut xmlns yang ditulis diawal tag (start

tag).

Sintak penulisan namespace adalah xmlns:prefix="URI"  Uniform Resource Identifiers (URI), bisa 2 jenis :

Unified Resource Locator (URL) - http://www.domain.com Uniform Resource Names (URN) - urn:uuid:2FAC1234-31F8-11B4-A222-090909889098

(21)

XML Namespace –cont

 Contoh penulisan namespace

<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.w3schools.com/furniture"> <f:name>African Coffee Table</f:name>

<f:width>80</f:width> <f:length>120</f:length> </f:table>

Ketika namespace untuk prefix elemen didefinisikan, maka prefix

anak/turunan elemen tsb menggunakan namespace yang sama

(22)

XML Namespaces –cont

 Namespaces dapat didefinisikan di root level dokumen, misalnya

<root

xmlns:h="http://www.w3.org/TR/html4/"

xmlns:f="http://www.w3schools.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>

...

(23)

XML Namespaces –cont

 URI sebuah namespace tidak digunakan oleh pengolah dokumen XML (parser)

untuk mencari informasi

 Tujuan namespace untuk memberikan nama unik, tetapi terkadang

namespace juga digunakan sebagai link/pengarah yang berisi informasi tentang namespace tersebut

Kombinasi antara prefik, tanda ‘:’ dan nama (local name) disebut juga

Qualified Name (Qname), contoh :

h:table

 Default namespace :

xmlns="http://www.w3.org/1999/xhtml"

(24)
(25)

XML Schema

 Sebuah dokumen XML dapat mempunyai referensi ke dokumen tambahan

(schema) yang memberikan spesifikasi bagaimana struktur dokumen XML

 Ketika disertakan Schema, aplikasi pengolah (parser) dapat mengecek

struktur dokumen menggunakan informasi schema tersebut

 Schema dapat digunakan untuk mengecek validitas sebuah dokumen XML  Schema di representasikan sebagai XML

 Tag untuk schema biasanya mempunyai prefik xsd: (XML Schema Definition),

yang berarti merupakan bagian dari schema yang mengarah pada http://www.w3.org/2001/XMLSchema

(26)

XML Schema—cont

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

<xsd:schema xmlns:xsd="http://www.x3.org/2001/XMLSchema"

xmlns="http://www.skatestown.com/ns/po"

targetNamespace ="http://www.skatestown.com/ns/po" > <xsd:annotation>

<xsd:documentation xml:lang="en">

This XML Schema document represents a PO

</xsd:documentation> </xsd:annotation>

...

(27)

Schema Data Types

 XSD menyertakan 19 data type utama, yaitu :

anyURI, base64Binary, boolean, date, dateTime, decimal, do

uble, duration, float, hexBinary, gDay, gMonth,gMonthDay,

gYear, gYearMonth, NOTATION, QName, string, dan time

 Tipe data baru dapat digunakan diturunkan dari 19 tipe data tersebut.  Prefik sebuah schema tidak harus xsd, meskipun xsd lebih disukai untuk

digunakan

(28)

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

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Address">

<xs:complexType> <xs:sequence>

<xs:element name="Recipient" type="xs:string" /> <xs:element name="House" type="xs:string" /> <xs:element name="Street" type="xs:string" /> <xs:element name="Town" type="xs:string" />

<xs:element name="County" type="xs:string" minOccurs="0" /> <xs:element name="PostCode" type="xs:string" />

<xs:element name="Country" minOccurs="0"> <xs:simpleType>

<xs:restriction base="xs:string"> <xs:enumeration value="ID" /> <xs:enumeration value="UK" /> <xs:enumeration value="US" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Contoh sebuah XML Schema, yang

mendefinisikan Alamat (Address)

(29)

Struktur XML

<root>

<child>

<subchild>...</subchild>

</child>

</root>

(30)

XML

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

<data>

<mahasiswa>

<nim>1122011xxx</nim>

<nama>endang</nama>

<jurusan>Teknik Informatika</jurusan>

</mahasiswa>

</data>

Data Mahasiswa

112011xxx

Endang

Teknik Informatika

(31)

XML

<?xml version="1.0" encoding="UTF-8"?> <data> <mahasiswa> <nim>112011xxx</nim> <nama>Heti</nama> <jurusan>Teknik Informatika</jurusan> </mahasiswa> <mahasiswa> <nim>11311xxx</nim> <nama>Andi</nama> <jurusan>Sistem Informasi</jurusan> </mahasiswa> </data>

Data Mahasiswa

112011xxx

Heti

Teknik Informatika

113011xxx

Andi

Sistem Informasi

(32)

XML Attribute

 Semua elemen XML dapat memiliki attribut, seperti HTML.

 Attribut didesain untuk menampung data yang spesifik terhadap elemen

(33)

Attribut vs Elemen

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

<data>

<mahasiswa>

<nim>112011xxx</nim>

<nama>Andi</nama>

<jurusan>Teknik Informatika</jurusan>

</mahasiswa>

</data>

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

<data>

<mahasiswa jurusan=“Teknik Informatika”>

<nim>112011xxx</nim>

<nama>Andi</nama>

</mahasiswa>

</data>

ATTRIBUT

ELEMEN

(34)

Aturan XML

 Semua elemen harus memiliki tag penutup.  XML Tags are Case Sensitive

 Elemen XML yang bersarang harus beraturan/berurutan.  Dokumen XML harus mempunyai elemen root.

 Value dari Attribut XML harus dikutip.  Dll.

(35)

TUGAS KELAS

 Buat dalam bentuk dokumen XML

DIARI

Judul : Kuliah di FTI Created :

Isi :

Hari ini saya masuk kuliah di FTI .

Senang bisa bergabung dengan kelas malam dan pagi. Tanggal : 01-03-2015

(36)
(37)

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

<Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="SimpleAddress.xsd"> <Recipient>Mr. Walter C. Brown</Recipient>

<House>49</House>

<Street>Featherstone Street</Street> <Town>LONDON</Town>

<PostCode>EC1Y 8SY</PostCode> <Country>UK</Country>

</Address>

(38)

Referensi / Daftar Pustaka

Cerami, E., 2002, Web Services Essentials Distributed Applications

with XMLRPC, SOAP, UDDI & WSDL, O’Reilly: North Sebastopol.

http://en.wikipedia.org/wiki/XML

http://www.w3schools.com/xml/xml_namespaces.asp

http://en.wikipedia.org/wiki/XML_Namespace

http://validator.w3.org/

http://en.wikipedia.org/wiki/XML_Schema_(W3C)

http://www.w3.org/TR/REC-xml-names/

Referensi

Dokumen terkait

Dari Tabel 1, instrumen self assessment berbasis web untuk menilai sikap ilmiah pada pembelajaran fisika dapat dikategorikan valid, sehingga bisa digunakan untuk

karena tidak memiliki deplesi redoks berkroma 2 atau kurang pada satu horison atau lebih di dalam 60 cm dari permukaan tanah mineral serta tidak berada kondisi.

Berdasarkan paparan data tentang aktivitas dan prestasi belajar siswa Kelas V SDN 3 Notorejo Tahun pelajaran 2012/2013, peneliti melakukan refleksi dari hasil

Dalam perkembangannya, masyarakat telah menunjukkan kepedulian terhadap masalah pendidikan, pengasuhan, dan perlindungan anak usia dini untuk usia 0 sampai dengan 6

Dilihat bahwa ada dua perusahaan mengalami penurunan kondisi keuangan dengan melihat bahwa pada tahun 2012 sebanyak 40% berada dalam keadaan grey area , 40%

Penelitian ini bertujuan untuk mengetahui produksi bahan kering (BK) jenis vegetasi dominan di areal rumput alam hutan produksi Kecamatan Tutur. Metode penelitian

Dari sisi beban pokok pendapatan, kenaikan harga beli gas dari pemasok mulai 1 April 2013 lalu memengaruhi kenaikan beban pokok pendapatan pada tanggal 30 September 2014 sebesar

Dalam manajemen pembelajaran, guru harus mempunyai perencanaan, pelaksanaan, dan evaluasi yang tepat dan sesuai untuk siswa, sehingga siswa dapat semangat belajar, cinta