SlideShare a Scribd company logo
1 of 20
BAB II Konsistensi Data Dengan DTD
Riza Muhammad Nurman, S.Kom
Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
Monday, March 19, 2018 Riza Muhammad Nurman 2
CONTENT
 Pengenalan DTD
 Deklarasi Elemen Pada DTD
 Menghubungkan DTD Pada Dokumen XML
 Memvalidasi Dokumen XML
Monday, March 19, 2018 Riza Muhammad Nurman 3
Pengenalan DTD
• Menentukan struktur isi dokumen XML  konsisten
• Menentukan bagaimana elemen dan atribut-atributnya harus
dituliskan pada dokumen XML
• Menentukan sifat sebuah elemen apakah harus dituliskan
(mandatory) atau tidak.
Monday, March 19, 2018 Riza Muhammad Nurman 4
Deklarasi Elemen Pada DTD
Penulisan:
<!ELEMENT elementname (content-type atau content-
model)>
Keterangan:
element_name adalah nama elemen
content-type atau content-model menentukan isi dari element
(teks atau element lainnya)
Monday, March 19, 2018 Riza Muhammad Nurman 5
1. Terdiri atas huruf, angka atau
karakter lain.
2. Tidak boleh diawali oleh
angka ataupun symbol
karakter lain, kecuali garis
bawah/underscore ( _ ).
3. Tidak boleh diawali dengan
kata xml(atau XML, atau Xml,
dan kombinasi lainnya).
4. Nama elemen tidak boleh
mengandung spasi.
Best Practices
• Menjelaskan isi data yang
diwakilinya, jika nama
elemen terdiri atas 2 suku
kata atau lebih, boleh
digunakan underscore
• Dibuat sederhana dan
pendek
• Hindari penggunaan tanda
hubung ( - ), tanda titik ( . )
serta tanda titik dua ( : )
Aturan Penamaan
Elemen
Monday, March 19, 2018 Riza Muhammad Nurman 6
Contoh
• Dari elemen berikut ini, manakah penamaan yang sesuai dengan
aturan
– <Siswa1>
– <NO_TELEPON>
– <#HashTag>
– <_Jml_Barang>
– <1stYear>
– <@yahoo>
• Dari elemen berikut ini, manakah penamaan yang sesuai dengan
aturan
– <Siswa1> : benar
– <NO_TELEPON> : benar
– <#HashTag> : salah
– <_Jml_Barang> : benar
– <1stYear> : salah
– <@yahoo> : salah
Monday, March 19, 2018 Riza Muhammad Nurman 7
Tipe Elemen Dalam DTD
Tipe Element Deskripsi
Empty Elemen yang tidak memiliki isi data
Unrestricted
Dapat berisi elemen apapun yang dideklarasikan di
dalam DTD. Elemen ini adalah elemen yang sifatnya
merupakan kebalikan dari sifat empty element
Container
Dapat berisi data dalam bentuk karakter dan lain
sebagainya.
Monday, March 19, 2018 Riza Muhammad Nurman 8
Deklarasi Empty Element
• Penulisan:
<!ELEMENT elemen_kosong EMPTY>
• Elemen tidak berisi data
• Bisa memiliki atribut
Monday, March 19, 2018 Riza Muhammad Nurman 9
Deklarasi Unrestricted Element
• Penulisan:
<!ELEMENT elemen_kosong ANY>
• Elemen dapat berisi data
• Bisa memiliki atribut
Monday, March 19, 2018 Riza Muhammad Nurman 10
Deklarasi Container Element ( , )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 11
Deklarasi Container Element ( | )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan))>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 12
Deklarasi Container Element ( ? )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 13
Deklarasi Container Element ( * )
<!ELEMENT Data (Pegawai)*>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Baling Bambu No 1</Alamat>
<GajiPerBulan>3000</GajiPerBulan>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 14
Deklarasi Container Element ( + )
<!ELEMENT Data (Pegawai)+>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Baling Bambu No 1</Alamat>
<GajiPerBulan>3000</GajiPerBulan>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 15
Deklarasi Atribut
• Penulisan:
<!ATTLIST element_name attribute_name valuetype
[attributetype]["default"]>
Monday, March 19, 2018 Riza Muhammad Nurman 16
Atribut
<!ELEMENT DATA_REKENING (REKENING)+ >
<!ELEMENT REKENING (PEMILIK, SALDO)>
<!ATTLIST REKENING nomor ID #REQUIRED >
<!ELEMENT PEMILIK (#PCDATA) >
<!ELEMENT SALDO (#PCDATA) >
<DATA_REKENING>
<REKENING nomor="A1">
<PEMILIK>Si Fulan</PEMILIK>
<SALDO>3.000.000</SALDO>
</REKENING>
</DATA_REKENING>
DTD
XML
Ganti ID dengan CDATA apabila ingin nilai atribut bebas
Monday, March 19, 2018 Riza Muhammad Nurman 17
Atribut 2
<!ELEMENT DATA_REKENING (REKENING)+ >
<!ELEMENT REKENING (PEMILIK, SALDO)>
<!ATTLIST REKENING nomor CDATA #REQUIRED>
<!ATTLIST REKENING status (AKTIF|NONAKTIF) "AKTIF">
<!ATTLIST REKENING key CDATA #FIXED "123">
<!ELEMENT PEMILIK (#PCDATA) >
<!ELEMENT SALDO (#PCDATA) >
<DATA_REKENING>
<REKENING nomor="123" key="123" status="AKTIF">
<PEMILIK>Si Fulan</PEMILIK>
<SALDO>3.000.000</SALDO>
</REKENING>
</DATA_REKENING>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 18
Menghubungkan DTD Pada Dokumen XML
Internal DTD External DTD
Bagian dari sebuah dokumen
XML
Dibuat pada file terpisah, oleh karena
itu dibutuhkan perintah yang
mereferensikan dokumen XML pada
DTD tersebut
Hanya dapat digunakan oleh
dokumen XML dimana DTD
tersebut didefinisikan
Dapat digunakan oleh lebih dari satu
dokumen XML
Penulisan internal DTD:
<!DOCTYPE root_element[deklarasi element dan attribute]>
Penulisan external DTD:
<!DOCTYPE root_element PUBLIC|SYSTEM "path-of-file">
Monday, March 19, 2018 Riza Muhammad Nurman 19
Memvalidasi Dokumen XML
Non Validating Parser
• Non validasi parser memeriksa apakah sebuah dokumen XML sesuai
dengan aturan sintak penulisan XML.
Validating Parser
• Validating parser memproses dokumen XML dengan melakukan
pemeriksaan sintak, membangun struktur tree dan kemudian
membandingkan struktur pohon tersebut dengan struktur dokumen
XML yang telah didefinisikan pada DTD
XML - Chapter 2

More Related Content

More from Riza Nurman

XML - Chapter 8 WEB SERVICES
XML - Chapter 8 WEB SERVICESXML - Chapter 8 WEB SERVICES
XML - Chapter 8 WEB SERVICESRiza Nurman
 
XML - Chapter 6 SIMPLE API FOR XML (SAX)
XML - Chapter 6 SIMPLE API FOR XML (SAX)XML - Chapter 6 SIMPLE API FOR XML (SAX)
XML - Chapter 6 SIMPLE API FOR XML (SAX)Riza Nurman
 
XML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMXML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMRiza Nurman
 
DBA BAB 5 - Keamanan Database
DBA BAB 5 - Keamanan DatabaseDBA BAB 5 - Keamanan Database
DBA BAB 5 - Keamanan DatabaseRiza Nurman
 
DBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataDBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataRiza Nurman
 
DBA BAB 3 - Manage Database
DBA BAB 3 - Manage DatabaseDBA BAB 3 - Manage Database
DBA BAB 3 - Manage DatabaseRiza Nurman
 
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005Riza Nurman
 
DBA BAB 1 - Pengenalan Database Administrator
DBA BAB 1 - Pengenalan Database AdministratorDBA BAB 1 - Pengenalan Database Administrator
DBA BAB 1 - Pengenalan Database AdministratorRiza Nurman
 
RMN - XML Source Code
RMN -  XML Source CodeRMN -  XML Source Code
RMN - XML Source CodeRiza Nurman
 
ADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 5 Exploring JavaServer Pages TechnologyADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 5 Exploring JavaServer Pages TechnologyRiza Nurman
 
ADP - Chapter 4 Managing Sessions
ADP - Chapter 4 Managing SessionsADP - Chapter 4 Managing Sessions
ADP - Chapter 4 Managing SessionsRiza Nurman
 
ADP- Chapter 3 Implementing Inter-Servlet Communication
ADP- Chapter 3 Implementing Inter-Servlet CommunicationADP- Chapter 3 Implementing Inter-Servlet Communication
ADP- Chapter 3 Implementing Inter-Servlet CommunicationRiza Nurman
 
ADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 2 Exploring the java Servlet TechnologyADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 2 Exploring the java Servlet TechnologyRiza Nurman
 
ADP - Chapter 1 Introducing Web Application Development
ADP - Chapter 1 Introducing Web Application DevelopmentADP - Chapter 1 Introducing Web Application Development
ADP - Chapter 1 Introducing Web Application DevelopmentRiza Nurman
 
MIS BAB 4 - Sistem Penunjang Keputusan
MIS BAB 4 - Sistem Penunjang KeputusanMIS BAB 4 - Sistem Penunjang Keputusan
MIS BAB 4 - Sistem Penunjang KeputusanRiza Nurman
 

More from Riza Nurman (20)

XML - Chapter 8 WEB SERVICES
XML - Chapter 8 WEB SERVICESXML - Chapter 8 WEB SERVICES
XML - Chapter 8 WEB SERVICES
 
XML - Chapter 6 SIMPLE API FOR XML (SAX)
XML - Chapter 6 SIMPLE API FOR XML (SAX)XML - Chapter 6 SIMPLE API FOR XML (SAX)
XML - Chapter 6 SIMPLE API FOR XML (SAX)
 
XML - Chapter 5 XML DOM
XML - Chapter 5 XML DOMXML - Chapter 5 XML DOM
XML - Chapter 5 XML DOM
 
DBA BAB 5 - Keamanan Database
DBA BAB 5 - Keamanan DatabaseDBA BAB 5 - Keamanan Database
DBA BAB 5 - Keamanan Database
 
DBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataDBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery Data
 
DBA BAB 3 - Manage Database
DBA BAB 3 - Manage DatabaseDBA BAB 3 - Manage Database
DBA BAB 3 - Manage Database
 
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
 
DBA BAB 1 - Pengenalan Database Administrator
DBA BAB 1 - Pengenalan Database AdministratorDBA BAB 1 - Pengenalan Database Administrator
DBA BAB 1 - Pengenalan Database Administrator
 
RMN - XML Source Code
RMN -  XML Source CodeRMN -  XML Source Code
RMN - XML Source Code
 
XML - Chapter 1
XML - Chapter 1XML - Chapter 1
XML - Chapter 1
 
ADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 5 Exploring JavaServer Pages TechnologyADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 5 Exploring JavaServer Pages Technology
 
ADP - Chapter 4 Managing Sessions
ADP - Chapter 4 Managing SessionsADP - Chapter 4 Managing Sessions
ADP - Chapter 4 Managing Sessions
 
ADP- Chapter 3 Implementing Inter-Servlet Communication
ADP- Chapter 3 Implementing Inter-Servlet CommunicationADP- Chapter 3 Implementing Inter-Servlet Communication
ADP- Chapter 3 Implementing Inter-Servlet Communication
 
ADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 2 Exploring the java Servlet TechnologyADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 2 Exploring the java Servlet Technology
 
ADP - Chapter 1 Introducing Web Application Development
ADP - Chapter 1 Introducing Web Application DevelopmentADP - Chapter 1 Introducing Web Application Development
ADP - Chapter 1 Introducing Web Application Development
 
MIS BAB 10
MIS BAB 10MIS BAB 10
MIS BAB 10
 
MIS BAB 9
MIS BAB 9MIS BAB 9
MIS BAB 9
 
MIS BAB 8
MIS BAB 8MIS BAB 8
MIS BAB 8
 
MIS BAB 7
MIS BAB 7MIS BAB 7
MIS BAB 7
 
MIS BAB 4 - Sistem Penunjang Keputusan
MIS BAB 4 - Sistem Penunjang KeputusanMIS BAB 4 - Sistem Penunjang Keputusan
MIS BAB 4 - Sistem Penunjang Keputusan
 

Recently uploaded

Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...MuhammadSyamsuryadiS
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanAdePutraTunggali
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024editwebsitesubdit
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYNovitaDewi98
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptxModul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptxRIMA685626
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxIvvatulAini
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxMOHDAZLANBINALIMoe
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptxSusanSanti20
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXIksanSaputra6
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxJuliBriana2
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 

Recently uploaded (20)

Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptxModul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
Modul Projek Bangunlah Jiwa dan Raganya - Damai Belajar Bersama - Fase C.pptx
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 

XML - Chapter 2

  • 1. BAB II Konsistensi Data Dengan DTD Riza Muhammad Nurman, S.Kom Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
  • 2. Monday, March 19, 2018 Riza Muhammad Nurman 2 CONTENT  Pengenalan DTD  Deklarasi Elemen Pada DTD  Menghubungkan DTD Pada Dokumen XML  Memvalidasi Dokumen XML
  • 3. Monday, March 19, 2018 Riza Muhammad Nurman 3 Pengenalan DTD • Menentukan struktur isi dokumen XML  konsisten • Menentukan bagaimana elemen dan atribut-atributnya harus dituliskan pada dokumen XML • Menentukan sifat sebuah elemen apakah harus dituliskan (mandatory) atau tidak.
  • 4. Monday, March 19, 2018 Riza Muhammad Nurman 4 Deklarasi Elemen Pada DTD Penulisan: <!ELEMENT elementname (content-type atau content- model)> Keterangan: element_name adalah nama elemen content-type atau content-model menentukan isi dari element (teks atau element lainnya)
  • 5. Monday, March 19, 2018 Riza Muhammad Nurman 5 1. Terdiri atas huruf, angka atau karakter lain. 2. Tidak boleh diawali oleh angka ataupun symbol karakter lain, kecuali garis bawah/underscore ( _ ). 3. Tidak boleh diawali dengan kata xml(atau XML, atau Xml, dan kombinasi lainnya). 4. Nama elemen tidak boleh mengandung spasi. Best Practices • Menjelaskan isi data yang diwakilinya, jika nama elemen terdiri atas 2 suku kata atau lebih, boleh digunakan underscore • Dibuat sederhana dan pendek • Hindari penggunaan tanda hubung ( - ), tanda titik ( . ) serta tanda titik dua ( : ) Aturan Penamaan Elemen
  • 6. Monday, March 19, 2018 Riza Muhammad Nurman 6 Contoh • Dari elemen berikut ini, manakah penamaan yang sesuai dengan aturan – <Siswa1> – <NO_TELEPON> – <#HashTag> – <_Jml_Barang> – <1stYear> – <@yahoo> • Dari elemen berikut ini, manakah penamaan yang sesuai dengan aturan – <Siswa1> : benar – <NO_TELEPON> : benar – <#HashTag> : salah – <_Jml_Barang> : benar – <1stYear> : salah – <@yahoo> : salah
  • 7. Monday, March 19, 2018 Riza Muhammad Nurman 7 Tipe Elemen Dalam DTD Tipe Element Deskripsi Empty Elemen yang tidak memiliki isi data Unrestricted Dapat berisi elemen apapun yang dideklarasikan di dalam DTD. Elemen ini adalah elemen yang sifatnya merupakan kebalikan dari sifat empty element Container Dapat berisi data dalam bentuk karakter dan lain sebagainya.
  • 8. Monday, March 19, 2018 Riza Muhammad Nurman 8 Deklarasi Empty Element • Penulisan: <!ELEMENT elemen_kosong EMPTY> • Elemen tidak berisi data • Bisa memiliki atribut
  • 9. Monday, March 19, 2018 Riza Muhammad Nurman 9 Deklarasi Unrestricted Element • Penulisan: <!ELEMENT elemen_kosong ANY> • Elemen dapat berisi data • Bisa memiliki atribut
  • 10. Monday, March 19, 2018 Riza Muhammad Nurman 10 Deklarasi Container Element ( , ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> </Pegawai> </Data> DTD XML
  • 11. Monday, March 19, 2018 Riza Muhammad Nurman 11 Deklarasi Container Element ( | ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan))> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> </Pegawai> </Data> DTD XML
  • 12. Monday, March 19, 2018 Riza Muhammad Nurman 12 Deklarasi Container Element ( ? ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> </Data> DTD XML
  • 13. Monday, March 19, 2018 Riza Muhammad Nurman 13 Deklarasi Container Element ( * ) <!ELEMENT Data (Pegawai)*> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Baling Bambu No 1</Alamat> <GajiPerBulan>3000</GajiPerBulan> </Pegawai> </Data> DTD XML
  • 14. Monday, March 19, 2018 Riza Muhammad Nurman 14 Deklarasi Container Element ( + ) <!ELEMENT Data (Pegawai)+> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Baling Bambu No 1</Alamat> <GajiPerBulan>3000</GajiPerBulan> </Pegawai> </Data> DTD XML
  • 15. Monday, March 19, 2018 Riza Muhammad Nurman 15 Deklarasi Atribut • Penulisan: <!ATTLIST element_name attribute_name valuetype [attributetype]["default"]>
  • 16. Monday, March 19, 2018 Riza Muhammad Nurman 16 Atribut <!ELEMENT DATA_REKENING (REKENING)+ > <!ELEMENT REKENING (PEMILIK, SALDO)> <!ATTLIST REKENING nomor ID #REQUIRED > <!ELEMENT PEMILIK (#PCDATA) > <!ELEMENT SALDO (#PCDATA) > <DATA_REKENING> <REKENING nomor="A1"> <PEMILIK>Si Fulan</PEMILIK> <SALDO>3.000.000</SALDO> </REKENING> </DATA_REKENING> DTD XML Ganti ID dengan CDATA apabila ingin nilai atribut bebas
  • 17. Monday, March 19, 2018 Riza Muhammad Nurman 17 Atribut 2 <!ELEMENT DATA_REKENING (REKENING)+ > <!ELEMENT REKENING (PEMILIK, SALDO)> <!ATTLIST REKENING nomor CDATA #REQUIRED> <!ATTLIST REKENING status (AKTIF|NONAKTIF) "AKTIF"> <!ATTLIST REKENING key CDATA #FIXED "123"> <!ELEMENT PEMILIK (#PCDATA) > <!ELEMENT SALDO (#PCDATA) > <DATA_REKENING> <REKENING nomor="123" key="123" status="AKTIF"> <PEMILIK>Si Fulan</PEMILIK> <SALDO>3.000.000</SALDO> </REKENING> </DATA_REKENING> DTD XML
  • 18. Monday, March 19, 2018 Riza Muhammad Nurman 18 Menghubungkan DTD Pada Dokumen XML Internal DTD External DTD Bagian dari sebuah dokumen XML Dibuat pada file terpisah, oleh karena itu dibutuhkan perintah yang mereferensikan dokumen XML pada DTD tersebut Hanya dapat digunakan oleh dokumen XML dimana DTD tersebut didefinisikan Dapat digunakan oleh lebih dari satu dokumen XML Penulisan internal DTD: <!DOCTYPE root_element[deklarasi element dan attribute]> Penulisan external DTD: <!DOCTYPE root_element PUBLIC|SYSTEM "path-of-file">
  • 19. Monday, March 19, 2018 Riza Muhammad Nurman 19 Memvalidasi Dokumen XML Non Validating Parser • Non validasi parser memeriksa apakah sebuah dokumen XML sesuai dengan aturan sintak penulisan XML. Validating Parser • Validating parser memproses dokumen XML dengan melakukan pemeriksaan sintak, membangun struktur tree dan kemudian membandingkan struktur pohon tersebut dengan struktur dokumen XML yang telah didefinisikan pada DTD