4. Pemrograman XML - XML Tree & DTD · merupakan parent, sedangkan tag dan ... elemen dalam XML....

Post on 10-Mar-2019

218 views 0 download

Transcript of 4. Pemrograman XML - XML Tree & DTD · merupakan parent, sedangkan tag dan ... elemen dalam XML....

Pemrograman XML

XML Tree & XML Tree & DTDDTD

Salhazan Nasution, S.KomSalhazan Nasution, S.Kom,,

XML TreeXML Tree

2Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

XML Tree<person>

<name>

<first_name>Michael</first_name>

<last_name>Heart</last_name>

</name>

<profession>computer scientist</profession>

<profession>musicians</profession>

<profession>volunteer</profession>

</person>

3Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Parent and ChildrenPada contoh sebelumnya tag <person> merupakan parent, sedangkan tag <name> dan <profession> adalah child.

Tapi tag <name> merupakan parent dari tag p g p p g<first_name> dan <last_name>

Tag child yang berada pada level yang samaTag child yang berada pada level yang sama dinamakan siblings (saudara kandung)

4Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

The Root ElementSetiap dokumen XML memiliki satu element yang tidak memiliki parent, inilah yang dinamakan root element

5Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

AttributAttribut merupakan informasi tambahan mengenai elemen dalam XML.

Setiap tag XML boleh memiliki lebih dari 1 atribut, untuk penulisan nilai dari attribut sebuah tag kirauntuk penulisan nilai dari attribut sebuah tag kiraharus menggunakan tanda ‘ atau “.

Contoh :Contoh :

<person gender="male">

Michael Heart

</person>

6

p

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

CommentsSama seperti HTML, di XML kita juga dapatmemberikan komentar.

Contoh :

<! ini merupakan komentar ><!–- ini merupakan komentar -->

<person gender="male">

Michael Heart

</person>

7Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

XML DefinitionDokumen XML dimulai (boleh juga tidak) dengandeklarasi XML. 

Contoh :

<?xml version="1 0" encoding="ASCII"<?xml version="1.0" encoding="ASCII" standalone="yes"?>

<person gender="male"><person gender="male">

Michael Heart

</person>

8Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

XML Naming RulesElement XML harus mengikuti aturan sebagai berikut :

Dapat mengandung kata, angka, dan karakterDapat mengandung kata, angka, dan karakter lainnya.

Tidak boleh diawali dengan angka dan tanda bacaTidak boleh diawali dengan angka dan tanda baca

Tidak boleh mengandung spasi

9Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Well formed‐DocumentSetiap dokumen XML harus memiliki bentuk yang benar (well formed). Ada beberapa aturan untuk membuat dokumen XML yang well formed :yang well formed :

Setiap tag harus ada penutupnya

Setiap element boleh bersarang, akan tetapi tidak boleh saling overlap 

Hanya boleh memiliki 1 root element

Atribut value harus memiliki tanda “ atau ‘

10Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Ciri‐ciri Tag XMLExtensible, penulis bisa mendefinisikan tag sendiri.

Tag XML selalu berpasangan.

Case sensitive.

Ekstensi file .xmlEkstensi file .xml

Hanya boleh memiliki 1 tag root.

T XML h di k t k b d t tid k t kTag XML hanya digunakan untuk membawa data, tidak untuk menampilkan data.

11Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh XMLBenar :

<daftarmahasiswa><nim>04523001</nim><nama>Budi</nama><nama>Budi</nama>

</daftarmahasiswa>

12Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh XMLSalah :

<daftarmahasiswa><nim>06523001<nama>Banu</nim><nama>Banu</nim></nama>

</daftarmahasiswa>/

13Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh XML<daftar><mahasiswa>

<nim>04523356</nim>/<nama>salhazan</nama>

</mahasiswa><mahasiswa>

<nim>04523293</nim><nama>ari wibowo</nama>

</mahasiswa><mahasiswa>

< i >04523117</ i ><nim>04523117</nim><nama>mursalim tonggiroh</nama>

</mahasiswa>

14

</daftar>

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh XML<daftar><mahasiswa>

<nim>04523356</Nim>/<nama>salhazan</nama>

</mahasiswA><mahasiswa>

<nim>04523293<nama>ari wibowo</nim></nama>

</mahasiswa><maha siswa>

< i >04523117</ i ><nim>04523117</nim><nama>manohara</nama>

</mahasiswa>

15

</daftar>

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Any Question?

16Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

DTD( f )(Document Type Definition)

17Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Document Type Definition (DTD)Bertujuan untuk mendefinisikan pembangunan blokpada dokumen XML. 

Dengan DTD, setiap dokumen XML dapat membawainformasi tentang format yang dibangun padainformasi tentang format yang dibangun padadokumen tersebut .

Digunakan untuk memvalidasi dokumen XMLDigunakan untuk memvalidasi dokumen XML, Sebuah dokumen XML tidak hanya memiliki bentukyang benar (well formed) akan tetapi juga harusyang benar (well formed) akan tetapi juga harusValid. Maka untuk itu digunakan DTD.

18Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Document Type Definition (DTD)Dokumen XML yang valid selalu mengikut sertakanDTD. DTD berisi daftar element,atribut dan entitiyang digunakan didalam sebuah dokumen XML.

Agar bisa dikatakan valid, semua yang ada didalamAgar bisa dikatakan valid, semua yang ada didalamdokumen XML harus dideklarasikan didalam DTD. Jika sebuah dokumen XML telah mengikut sertakangDTD maka dokumen XML tersebut bisa dikatakanValid.

19Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Document Type Definition (DTD)DTD tidak harus ditambahkan kedalam dokumenXML, namun konsekuensinya Dokumen XML tanpaDTD tidak dapat diperiksa validitasnya.

Dengan DTD, setiap dokumen XML dapat membawaengan T , setiap dokumen XM dapat membawainformasi tentang format yang dibangun padadokumen tersebut.

Dengan DTD, Aplikasi yang dibuat dapat melakukanverifikasi apakah boleh menerima data dari luar atauverifikasi apakah boleh menerima data dari luar atautidak.

20Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Well‐formed XML<daftarmahasiswa>

<nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

21Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh DTD<?xml version=“1.0”?><!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim nama jurusan)><!ELEMENT daftarmahasiswa (nim,nama,jurusan)><!ELEMENT nim (#PCDATA)><!ELEMENT nama (#PCDATA)><!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa><nim>04523001</nim><nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>

22

j j</daftarmahasiswa>

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Document Type Definition (DTD)Untuk mendeklarasikan DTD, bisa menggunakan 2 cara :

Internal DTD (menjadi satu dengan dokumen XML)<?xml version=“1.0” standalone=“yes”?><!DOCTYPE daftar [<!ELEMENT daftar (#PCDATA)><!ELEMENT daftar (#PCDATA)>]>

Eksternal DTD (terpisah pada file lainnya)<?xml version=“1.0” standalone=“no”?><!DOCTYPE daftar SYSTEM “daftar.dtd”>

23Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Internal DTD<?xml version=“1.0”?><!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim nama jurusan)><!ELEMENT daftarmahasiswa (nim,nama,jurusan)><!ELEMENT nim (#PCDATA)><!ELEMENT nama (#PCDATA)><!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa><nim>04523001</nim><nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>

24

j j</daftarmahasiswa>

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Eksternal DTD<?xml version=“1.0”?><!DOCTYPE daftarmahasiswa SYSTEM “mahasiswa.dtd”>

<daftarmahasiswa><nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

25Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Document Type Definition (DTD)Pada contoh sebelumnya elemen berisi (#PCDATA) yang berartibahwa isi dari elemen hanya teks biasa. Jika diinginkan elemenberisi teks dan elemen lain maka kita bisa menggunakan ANYberisi teks dan elemen lain maka kita bisa menggunakan ANY, adapun jika hanya elemen saja maka isikan dengan namaelemen.elemen.

26Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Element DefinitionSetiap element yang digunakan didalam dokumen XML harusdideklarasikan didalam Dokumen DTD

<!ELEMENT element_name content_specification>

27Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Tipe DataSetiap element pada dokumen XML harus memiliki tipe data

• #PCDATA  tipe data yang bisa di parserCth : <!ELEMENT phone_number (#PCDATA)> p _

• CDATA  tipe data yang tidak bisa diparser. Biasanyadigunakan pada atribut list

Cth : <!ATTLIST phone_number (CDATA)>

28Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

The Number of ChildrenSetiap element dalam dokumen XML yang telah dideklarasikanpada DTD  bisa ditampilkan sesuai dengan yang kita inginkan.

?  element BOLEH TIDAK muncul atau MAX 1 kali

*  element BOLEH TIDAK muncul atau BOLEH LEBIH 1 kali

+  element HARUS muncul dan BOLEH LEBIH 1 kali

|  element boleh berisi beberapa child atau karakter (seperti fungsi or)

tidak ada tanda  element harus muncul tepat 1 kali

29Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh DTD<?xml version=“1.0” standalone=“yes”?><!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim nama jurusan)><!ELEMENT daftarmahasiswa (nim,nama,jurusan)><!ELEMENT nim (#PCDATA)><!ELEMENT nama (#PCDATA)><!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa><nim>04523001</nim><nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>

30

j j</daftarmahasiswa>

Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

Contoh DTD<?xml version=“1.0” standalone=“yes”?><!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim nama jurusan)><!ELEMENT daftarmahasiswa (nim,nama,jurusan)><!ELEMENT nim (#PCDATA)><!ELEMENT nama (#PCDATA)><!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa><nim>04523001</nim><nim>04523001</nim><nama>Budi Anduk</nama>

</daftarmahasiswa>

31Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

<?xml version=“1.0” standalone=“yes”?><?xml version 1.0 standalone yes ?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (mahasiswa)>

<!ELEMENT mahasiswa (nama alamat+ telp?)><!ELEMENT mahasiswa (nama,alamat+,telp?)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT telp (#PCDATA)>

]>

<daftarmahasiswa>

<mahasiswa>

<nama>Budi Anduk</nama>

</mahasiswa>

<mahasiswa>

<nama>Sabria</nama>

<alamat>Jakal km 15</alamat><alamat>Jakal km 15</alamat>

<telp>08123456789</telp>

<telp>0219876543</telp>

</mahasis a>

32

</mahasiswa>

</daftarmahasiswa>Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

<?xml version=“1.0” standalone=“yes”?><?xml version 1.0 standalone yes ?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (mahasiswa+)>

<!ELEMENT mahasiswa (nama alamat+ telp*)><!ELEMENT mahasiswa (nama,alamat+,telp*)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT telp (#PCDATA)>

]>

<daftarmahasiswa>

<mahasiswa>

<nama>Budi Anduk</nama>

<alamat>Jakal km 10</alamat>

</mahasiswa>

<mahasiswa>

<nama>Sabria</nama><nama>Sabria</nama>

<alamat>Jakal km 15</alamat>

<telp>08123456789</telp>

<telp>0219876543</telp>

33

<telp>0219876543</telp>

</mahasiswa>

</daftarmahasiswa> Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom

See you next timeSee you next timeAny Question?

See you next time..See you next time..

34Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom