Analisis Konversi Data Antar Sistem Pang
MARKUP LANGUAGE (XML) SKRIPSI MARIUS INDRA N GINTING 031401053 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009
ANALISIS KONVERSI DATA ANTAR SISTEM PANGKALAN DATA MICROSOFT EXCEL DAN SISTEM PANGKALAN DATA MYSQL PADA DEPARTEMEN ILMU KOMPUTER UNIVERSITAS SUMATERA UTARA MENGGUNAKAN EXTENSIBLE
MARKUP LANGUAGE (XML) SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana
Komputer MARIUS INDRA N GINTING 031401053 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009
HALAMAN PENGESAHAN PROPOSAL SKRIPSI ANALISIS KONVERSI DATA ANTAR SISTEM PANGKALAN DATA MICROSOFT EXCEL DAN SISTEM PANGKALAN DATA MYSQL PADA DEPARTEMEN ILMU KOMPUTER UNIVERSITAS SUMATERA UTARA MENGGUNAKAN EXTENSIBLE MARKUP LANGUAGE (XML)
Sebagai salah satu syarat untuk melaksanakan skripsi
Oleh : Nama : Marius Indra N Ginting
NIM : 031401053
Medan, 18 Desember 2008 Menyetujui
Pembimbing II Pembimbing I
Rahmat W. Sembiring, M.Sc, IT Drs. Suyanto,M. Kom NIP. 131 997 892
NIP. 131 572 440
Mengetahui Ketua Program Studi,
Prof. Dr. Muhammad Zarlis NIP. 131 570 434
PERSETUJUAN
Judul : Analisis Konversi Data antar Sistem Pangkalan Data Microsoft Excel dan Sistem Pangkalan Data MySQL pada Departemen Ilmu Komputer Universitas Sumatera Utara menggunakan Extensible Markup Language (XML)
: Marius Indra N Ginting
Nomor Induk Mahasiswa
Program Studi
: Sarjana (S1) Ilmu Komputer
Departemen
: Ilmu Komputer
Fakultas : Matematika dan Ilmu Pengetahuan Alam (FMIPA)
Universitas Sumatera Utara
Diluluskan di Medan, Februari 2009
Komisi Pembimbing
Pembimbing 2
Pembimbing 1
Rahmat W. Sembiring, M.Sc, IT Drs. Suyanto, M. Kom NIP. 131 997 892
NIP. 131 572 440
Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua,
Prof. Dr. Muhammad Zarlis NIP. 131 570 434
ABSTRAK
Analisis konversi data antar sistem pangkalan data Microsoft Excel dan sistem pangkalan data MySQL pada Departemen Ilmu Komputer Universitas Sumatera Utara menggunakan Extensible Markup Language (XML) dimaksudkan untuk mengetahui tingkat validitas data ketika data dikonversikan antar dua sistem pangkalan data tersebut, selain itu untuk mengetahui tingkat efektifitas dan efisiensi konversi datanya. Konversi data dilakukan terhadap data yang berada pada host yang berbeda melalui jaringan Local Area Network (LAN) dengan aplikasi Aioob XML Database Converter dan Advanced XML Database Converter. Dari hasil ujicoba dapat diperoleh bahwa validitas data kurang baik karena adanya data yang tidak valid pada saat konversi data. Namun hal ini dapat diatasi dengan melakukan perbaikan terhadap data yang tidak valid tersebut melalui fitur-fitur pada sistem pangkalan data Ms Excel, aplikasi konversi data dan sistem pangkalan data MySQL. Sedangkan tingkat efektifitas dan efisiensi konversi data cukup baik, karena konversi data dapat dilakukan dengan mudah dan cepat oleh aplikasi konversi datanya. Dengan demikian, dari penelitian ini akan diperoleh informasi tentang konversi data antar sistem pangkalan data, sehingga dapat menjadi acuan untuk perkembangan pengolahan data di masa mendatang.
DATA CONVERSION ANALYSIS BETWEEN MICROSOFT EXCEL DATABASE SYSTEM AND MYSQL DATABASE SYSTEM IN COMPUTER SCIENCE DEPARTMENT UNIVERSITAS SUMATERA UTARA USING EXTENSIBLE MARKUP LANGUAGE (XML)
ABSTRACT
Data conversion analysis between Microsoft Excel Database System and MySQL Database System in Computer Science Department Universitas Sumatera Utara using Extensible Markup Language (XML) its means to know the data validity level when the converting data with two database system. Others for know the effectivity and efficiency data’s conversion. Conversion done by the data which is in the different host through Local Area Network (LAN) by Aioob XML Database Conversion application and Advanced XML Conversion application. By the result of the research known that data validity level is not good enough because is founded invalid data while converting the data and after converting the data. But this problem can be resolve by doing improvement to the invalid data with some menu in Ms Excel database system, data conversion application and MySQL database system. The level of data effectivity and data efficiency is good enough. It is the convertion data can use in easy and fast application convertion data. By the research, will get the information about data conversion between database system, so that it could be a base for data processing development in future.
DAFTAR ISI
Halaman Persetujuan
ii Pernyataan
iii Penghargaan
iv Abstrak
v Abstract
vi Daftar Isi
vii Daftar Tabel
ix Daftar Gambar
x Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Permasalahan
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metodologi Penelitian
5 Bab 2 Landasan Teori
1.7 Sistematika Penulisan
2.1 Konversi Data
2.2 Konsep Dasar Pangkalan Data
2.2.1 Pendahuluan
2.2.2 Definisi Pangkalan Data
2.2.3 Tujuan Pangkalan Data
2.2.4 Manfaat Pangkalan Data
2.2.5 Operasi Dasar Pangkalan Data
2.3 Konsep Dasar Sistem Pangkalan Data
2.3.2 Sistem Pangkalan Data
2.3.3 Atribut Validitas Sistem Pangkalan Data
2.4 Extensible Markup Language (XML)
2.4.1 Pengertian XML
2.4.2 Struktur Dasar XML
2.4.2.1 Aturan Markup
2.4.2.2 Dokumen XML yang Well Formed
2.4.2.3 DTD dan Validasi XML
2.4.3 Kegunaan XML
2.4.4 Konsep XML dalam Konversi Data Antar Sistem Pangkalan
Data 31 Bab 3 Analisis Sistem
3.1 Analisis Data Pada Sistem Pangkalan Data Microsoft Excel
3.1.1 Analisis Validitas Data
3.1.2 Analisis Efektifitas dan Efisiensi Data
3.2 Analisis Konversi Data dari Sistem Pangkalan data Ms Excel ke
File XML
3.2.1 Analisis Validitas Data
3.2.1.1 File databaru mahasiswa 2003.xls
3.2.1.2 File databaru mahasiswa 2003(2).xls
3.2.1.3 File databaru mahasiswa 2005.xls
3.2.2 Analisis Efektifitas dan Efisiensi Konversi Data dari Sistem Pangkalan Data Ms Excel ke File XML menggunakan Aioob XML Database Converter
3.3 Analisis File XML Hasil Konversi
3.3.1 Analisis Well Formed
3.3.2 Analisis DTD (Document Type Definition)
3.4 Analisis Konversi Data dari File XML ke Sistem Pangkalan Data
3.5 Analisis Data Pada Sistem Pangkalan Data MySQL
3.5.1 Analisis Tabel nem_mahasiswa_stambuk_2003
3.5.2 Analisis Tabel nem_mahasiswa_stambuk_2005
3.5.3 Analisis Hubungan Data antar Tabel dalam Database
75 Bab 4 Pembahasan
4.1 Keadaan Data Awal
4.2 Keadaan Data pada Aplikasi Aioob XML Database Converter
4.3 Well-formed dan DTD
4.1 Well-formed dan struktur tag
4.4 Keadaan Data pada Aplikasi Advanced XML Converter
4.5 Keadaan Data Akhir
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2 Saran 100 Daftar Pustaka
102 Lampiran A: Data pada Sistem Pangkalan Data Microsoft Excel
103 Lampiran B: Data pada Sistem Pangkalan Data MySQL
111 Lampiran C: Hasil Pembacaan Data Oleh Aplikasi Konversi Data 116 Lampiran D: Kode Program File XML 119
DAFTAR TABEL
Halaman Tabel 2.1 Data Mahasiswa
11 Tabel 2.2 Nilai Mahasiswa
11 Tabel 2.3 Pembelian
12 Tabel2.4 Product 31 Tabel 4.1 Hasil analisis data pada sistem pangkalan data Ms Excel
94 Tabel 4.2 Hasil alisis data pada aplikasi konversi data
(keadaan data awal)
95 Tabel 4.3 Hasil analisis data dalam bentuk file XML
96 Tabel 4.4 Hasil analisis data pada sistem pangkalan data MySQL (keadaan data akhir) 96
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses pertukaran data antar sistem pangkalan data Microsoft Excel
dan MySQL pada Departemen Ilmu Komputer USU menggunakan
34 Gambar 3.1 Struktur tabel yang valid dan tidak valid untuk dikonversikan 36 Gambar 3.2 Memasukkan nilai data yang tipe datanya tidak sesuai dengan tipe data
Gambar 3.3 Analisis validitas data pada sistem pangkalan data Microsoft Excel
38 Gambar 3.4 Pembuatan dan pengeditan tabel pada sistem pangkalan data Ms Excel 40 Gambar 3.5 Perintah list untuk menampilkan data 40 Gambar 3.6 Kesalahan pembacaan tabel oleh aplikasi konversi data 43 Gambar 3.7 Penyebab kesalahan pembacaan data oleh Aioob XML Database
44 Gambar 3.8 Hilangnya data setelah dibaca oleh Aioob XML Datbase Converter 45 Gambar 3.9 Kesalahan pembacaan data bilangan real
Converter
46 Gambar 3.10 Penyebab kesalahan konversi data bilangan real
47 Gambar 3.11 Pembacaan tipe data oleh Aioob XML Database Converter 48 Gambar 3.12 Hasil compile File XML hasil konversi yang salah 49 Gambar 3.13 Hasil compile file XML yang sudah benar.
50 Gambar 3.14 Penyebab kesalahan data yang dikonversikan 50 Gambar 3.15 Konversi data ke file XML yang tidak konsisten 51 Gambar 3.16 Konversi data bilangan real yang valid 52 Gambar 3.17 Pembacaan data melalui fitur ODBC 53 Gambar 3.18 Hasil konversi file XML dalam bentuk Separate Files 54 Gambar 3.19 Diagram flow chart analisis validitas data pada file XML
55 Gambar 3.20 Hasil pembukaan file databaru mahasiswa 2003(2).xml melalui editor
57 Gambar 3.21 Pemeriksaan validitas file databaru mahasiswa 2003(2).xml oleh
XML
60 Gambar 3.22 Pemeriksaan file XMLyang tidak valid oleh Aioob XML Editor
Aioob XML Editor menggunakan DTD
61 Gambar 3.23 Pemeriksaan validitas file databaru mahasiswa 2003(2).xml oleh
menggunakan DTD
63 Gambar 3.24 Proses koneksi data antar dua host
Aioob XML Editor
Gambar 3.25 Konversi nama-nama kolom dari Sistem pangkalan data Ms Excel
ke Advanced XML Converter 67 Gambar 3.26 Konversi data bilangan real ke sistem pangkalan data MySQL yang tidak konsisten 70
Gambar 3.27 Konversi nama-nama kolom dari Sistem pangkalan data Ms Excel
ke sistem pangkalan data MySQL 71 Gambar 3.28 Struktur tabel nem_mahasiswa_stambuk_2003 72 Gambar 3.29 Konversi data bilangan real ke sistem pangkalan data MySQL
yang konsisten 74 Gambar 3.30 Struktur tabel nem_mahasiswa_stambuk_2005 75 Gambar 3.31 Bagan hubungan antar tabel pada database ilkom_stb03
76 Gambar 3.32 Bagan hubungan antar tabel pada database ilkom_stb05
menggunakan kolom primary key.
77
menggunakan kolom primary key.
Gambar 4.1 Memasukkan data bilangan bulat ke kolom suatu tabel yang bertipe
79
data real
Gambar 4.2 Memasukkan data bilangan real ke kolom suatu tabel yang bertipe
79 Gambar 4.3 Hasil konversi dari tabel yang mempunyai nilai data yang tipe datanya berbeda dengan tipe data kolomnya menggunakan Aioob XML
data real
80
Database Converter
Gambar 4.4 Memasukkan data bertipe numerik ke kolom suatu tabel yang bertipe
81 Gambar 4.5 Hasil konversi dari tabel yang suatu nilai datanya bertipe numerik pada suatu kolom yang bertipe karakter menggunakan Aioob XML Database Converter
data karakter dan sebaliknya
81 Gambar 4.6 Struktur tag XML file databaru mahasiswa 2003(2).xml yang well-formed 87 Gambar 4.7 Struktur tabel hasil perubahan tipe data yang salah 93 Gambar 4.8 Proses mengubah tipe data yang tidak valid menjadi valid
98
pada sistem pangkalan data MySQL
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Dewasa ini, perkembangan teknologi pengolahan data semakin pesat, seiring dengan bertambahnya waktu. Hal ini karena dalam teknologi pengolahan data selalu dilakukan perubahan untuk menjadi lebih baik. Salah satu masalah dalam pengolahan data adalah konversi data.
Sebuah perusahaan/instansi akan melakukan pengolahan data yang ada didalamnya untuk memperoleh informasi yang dibutuhkannya. Namun ada berbagai macam pengolahan data yang akan dilakukannya, sedangkan sebuah sistem pangkalan data belum tentu mendukung semua pengolahan data tersebut. Oleh sebab itu dibutuhkan pengkonversian data ke sistem pangkalan data yang lain, sehingga dapat dilakukan pertukaran data antar sistem pangkalan data. Konversi data harus berjalan dengan baik dan dilakukan dengan tepat, karena konversi data yang tidak tepat akan menimbulkan masalah dalam sebuah perusahaan, sehingga dapat mengakibatkan perusahaan tersebut mengalami kemunduran bahkan kemungkinan bangkrut. Jadi, karena dampak yang begitu besar dari suatu kesalahan dalam konversi data, maka sangat penting untuk diperhatikan dan diteliti proses konversi data tersebut.
Salah satu format data pertukaran data dan pengkonversian data secara elektronis adalah menggunakan format Extensible Markup Language (XML). Penggunaan XML dalam metode pertukaran data secara elektronis mempunyai keuntungan, karena XML merupakan format standar dalam pertukaran data saat ini Salah satu format data pertukaran data dan pengkonversian data secara elektronis adalah menggunakan format Extensible Markup Language (XML). Penggunaan XML dalam metode pertukaran data secara elektronis mempunyai keuntungan, karena XML merupakan format standar dalam pertukaran data saat ini
1.2 Rumusan Masalah
Ketika melakukan konversi sebuah data, yang berarti menukarkan data itu dari suatu sistem pangkalan data ke sistem pangkalan data yang lain, ada kemungkinan data itu mengalami perubahan. Hal ini terjadi karena format dan aturan yang dipakai dari suatu sistem pangkalan data yang merupakan tempat asal data itu berbeda dengan format dan aturan dari sistem pangkalan data yang merupakan tempat tujuan data itu dikonversikan.
Oleh sebab itu, ketika data mengalami perubahan, hal yang penting untuk diperhatikan adalah validitas data. Data yang valid adalah data yang dapat dipercaya, karena data tersebut sesuai dengan keadaan yang sebenarnya. Selain itu, efektifitas dan efisiensi konversi datanya juga perlu diperhatikan, apakah sesuai dengan yang dibutuhkan dan dapatkah kita meningkatkan kinerja dalam pengolahan data.
1.3 Batasan Permasalahan
Batasan-batasan masalah yang ditentukan dalam penyusunan skripsi ini, yaitu analisis dilakukan terhadap validitas data, efektifitas dan efisiensi konversi data. Validitas data dilihat dari konsistensi datanya yang meliputi konsistensi nilai data, tipe data dan struktur tabelnya. Validitas data dalam XML dilihat pada dokumen XML tersebut, apakah sudah memenuhi syarat well-formed dan valid. Syarat well formed suatu dokumen XML adalah jumlah tag pembuka (start tag) dan tag penutup (end tag) dokumennya seimbang, sedangkan syarat valid adalah sudah well formed dan memenuhi aturan DTD (Document Type Definiton).
Efektifitas dan efisiensinya dilihat dari kemampuan aplikasi-aplikasi dalam penanganan konversi data, apakah tepat guna dan hemat waktu, serta kemampuan penggunaan fitur-fitur, perintah-perintah (command), dan fungsi-fungsi yang digunakan oleh aplikasi tersebut.
Analisis ini dilakukan pada platform Windows. Jadi sistem pangkalan data yang digunakan dalam analisis ini adalah pangkalan data yang dapat dikoneksikan dengan pangkalan data dalam platform Windows, yaitu sistem pangkalan data MySQL dan Microsoft Excel.
1.4 Tujuan Penelitian
Untuk menjelaskan tingkat validitas data, efektifitas dan efisiensi dalam konversi data menggunakan XML, sehingga dapat menjadi acuan bagi programmer dalam pengembangan konversi data menjadi lebih baik di masa mendatang.
1.5 Manfaat Penelitian
Memberikan jalan bagi programmer aplikasi untuk merancang aplikasi konversi data yang lebih baik, demi meningkatkan kinerja pengolahan data.
1.6 Metodologi Penelitian
Ada berbagai cara atau metode untuk melakukan penelitian, namun metode-metode penelitian yang dilakukan dalam analisis konversi data antar sistem pangkalan data menggunakan Extensible Markup Language (XML) pada skripsi ini, antara lain: Ada berbagai cara atau metode untuk melakukan penelitian, namun metode-metode penelitian yang dilakukan dalam analisis konversi data antar sistem pangkalan data menggunakan Extensible Markup Language (XML) pada skripsi ini, antara lain:
Penelitian dilakukan dengan mengambil data untuk melakukan analisis dari proses konversi data antar sistem pangkalan data menggunakan XML melalui aplikasi konversi data di Departemen S1 Ilmu Komputer USU.
b. Interview
Melakukan interview dengan orang-orang yang memiliki pengetahuan tentang konversi data antar sistem pangkalan data menggunakan XML. Hal ini dilakukan untuk menambah wawasan penulis dalam melakukan penelitian, sehingga kualitas analisis data lebih baik.
c. Studi Kepustakaan
Melakukan penelitian dengan dukungan buku-buku bacaan yang berkaitan dengan XML, Pangkalan Data dan Konversi Data.
1.7 Sistematika Penulisan
Penulisan skripsi ini dilakukan secara sistematis. Jadi sebelum pembahasan skripsi ini dilakukan, maka terlebih dahulu akan disusun sistematika penulisannya. Berikut ini adalah sistematika penulisan skripsi ini:
BAB I PENDAHULUAN
Pada bab ini dijelaskan mengenai latar belakang pembuatan skripsi ini, rumusan masalahnya serta batasan terhadap masalah tersebut. Setelah itu, dijelaskan mengenai tujuan dan manfaat pembuatan skripsi ini, metodologi penelitian untuk melakukan analisis, dan sistematika penulisan skripsi ini untuk setiap bab.
BAB II TINJAUAN TEORITIS
Pada bab ini dirangkum mengenai teori-teori yang mendukung pembuatan skripsi ini, diantaranya penjelasan teori mengenai Konversi Data, Pangkalan Data, dan Extensible Markup Language (XML).
BAB III ANALISIS SISTEM
Pada bab dilakukan analisis terhadap sistem yang telah ada, diantaranya analisis terhadap sistem pangkalan data, yaitu sistem pangkalan data Microsoft Excel dan MySQL, analisis terhadap file XML, analisis terhadap konversi data, dan analisis terhadap aplikasi XML konversi data.
BAB IV PEMBAHASAN
Pada bab ini akan dilakukan pembahasan terhadap analisis yang telah dilakukan, serta diterangkan kesimpulan hasil pembahasan dari proses analisis tersebut.
BAB V KESIMPULAN DAN SARAN
Pada bab ini ditarik beberapa kesimpulan dari skripsi yang telah dibuat, serta memberikan saran untuk konversi data antar sistem pangkalan data, penggunaan dan perkembangan XML dalam konversi data di masa mendatang.
BAB 2 LANDASAN TEORI
2.1 Konversi Data
Konversi data merupakan tantangan bagi seorang database engineer. Inti dari konversi data adalah mengambil data lama dari sebuah sistem pangkalan data yang kemudian memasukkan data tersebut ke pangkalan data yang baru. Tidak ada standarisasi untuk konversi data, jadi kita dapat mengembangkannya sendiri. Pada dasarnya, ketika kita membangun aplikasi baru, perubahan-perubahan fitur dan entitas-entitas merupakan hal yang sering terjadi.
Konversi dibutuhkan karena aplikasi lama yang kita pakai misalnya menggunakan database .dbf atau .mdb atau yang lainnya, sedangkan yang aplikasi baru yang akan kita bangun menggunakan pangkalan data MySQL. Masalah akan muncul karena format pangkalan data lama dengan format pangkalan data baru berbeda, sedangkan data tetap diperlukan. Untuk mengubah format, telah tersedia banyak perangkat lunak database converter. Tidak hanya sampai di situ, konversi pangkalan data bukanlah sekedar mengubah format pangkalan data lama menjadi pangkalan data baru yang akan kita bangun aplikasinya. Tugas seorang database engineer adalah mengeliminasi maupun menambah tabel dan/atau field sesuai kebutuhan aplikasi. Jika ternyata ada data lama yang sudah diperlukan, maka dapat dilakukan eliminasi data. Sedangkan jika ada perubahan-perubahan, maka ada kemungkinan penambahan tabel dan field di pangkalan data baru. Untuk melakukan hal ini, seorang database engineer harus jeli dalam merancang pangkalan data yang baru dan mengkonversi pangkalan data yang ada. Kesalahan data bisa berakibat fatal.
2.2 Konsep Dasar Pangkalan Data
2.2.1 Pendahuluan
Pemrosesan pangkalan data sebagai perangkat andalan sangat diperlukan oleh berbagai institusi dan perusahaan. Dalam pengembangan sistem informasi diperlukan pangkalan data sebagai media penyimpanan data. Kehadiran pangkalan data dapat meningkatkan kinerja perusahaan dan dapat meningkatkan daya saing perusahaan tersebut.
Pangkalan data dapat mempercepat upaya pelayanan kepada pelanggan, menghasilkan informasi dengan cepat dan tepat sehingga membantu pengambilan keputusan untuk segera memutuskan suatu masalah berdasarkan informasi yang ada.
Banyak aplikasi yang dapat dibuat dengan berlandaskan pada pangkalan data antara lain: semua transaksi perbankan, aplikasi pemesanan dan penjadwalan penerbangan, proses registrasi dan pencatatan data mahasiswa pada perguruan tinggi, aplikasi pemrosesan penjualan, pembelian dan pencatatan data barang pada perusahaan dagang, pencatatan data pegawai beserta aktifitasnya termasuk operasi penggajian pada suatu perusahaan, dan sebagainya.
Beberapa informasi pada perusahaan retail seperti pencarian jumlah penjualan, mencari jumlah stok yang tersedia, barang apa yang paling laku dijual pada bulan ini, dan berapa laba bersih perusahaan dapat diketahui dengan mudah dengan pangkalan data.
Pada perpustakaan, adanya aplikasi pencarian data buku berdasarkan judul, pengarang atau kriteria lain dapat mudah dilakukan dengan pangkalan data. Pencarian data peminjam yang terlambat mengembalikan juga mudah dilakukan sehingga bisa dibuat aplikasi pembuatan surat tagihan berdasarkan informasi yang tersedia.
Dengan memanfaatkan teknologi jaringan, kemampuan pangkalan data dapat dioptimalkan, misalnya transaksi antar cabang pada sebuah perbankan secara online. Begitu banyak keuntungan yang dapat diperoleh dengan pemanfaatan pangkalan data. Pangkalan data dapat meningkatkan daya guna perangkat komputer yang mungkin tadinya hanya untuk keperluan game atau pengetikan dengan aplikasi office.
2.2.2 Definisi Pangkalan Data
Pangkalan data merupakan kumpulan dari file/tabel yang membentuk sebuah pangkalan data. Sebuah pangkalan data pada hakikatnya merupakan Computerized record-keeping system (Hutabarat, 2004).
Pangkalan data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau symbol).
Pangkalan data dapat didefenisikan dalam berbagai sudut pandang seperti berikut:
a. Himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah.
b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi kebutuhan.
c. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.
Untuk beberapa DataBase Management System yang disingkat DBMS, operasi di atas bisa saja tidak berlaku. Misalnya, membuat file baru ke pangkalan data, menghapus file di DBMS Microsoft Access, dan menampilkan isi file di DBMS Oracle.
DBMS memungkinkan kita membuat sebuah database, memasukkan data, modifikasi dan mengambil kembali (retrieve) data bila diperlukan. DBMS tersedia pada semua perangkat sistem yang canggih untuk lingkungan mainframe dan sistem pada PC yang mudah digunakan dan murah.
2.2.3 Tujuan Pangkalan Data
Pangkalan data bertujuan untuk mengatur data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali. Untuk mencapai tujuannya, syarat sebuah pangkalan data yang baik adalah sebagai berikut:
a. Tidak adanya redundansi dan inkonsistensi data
Redundansi terjadi suatu informasi di beberapa tempat. Misalnya, ada data mahasiswa yang memuat NIM, nama, alamat, dan atribut lainnya, sementara kita punya data lain tentang data nilai mahasiswa yang isinya terdapat NIM, nama, mata kuliah, dan nilai. Pada kedua data tersebut kita temukan ada atribut nama, seperti digambarkan dalam Tabel 2.1 dan Tabel 2.2 berikut:
Tabel 2.1 Data Mahasiswa
031401001 Safia Dhany Jl. Bogor No. 8 Bangkatan Binjai 031401002 Junius A L Tobing
Rinte IV / 117 Tanjung Sari
Tabel 2.2 Nilai Mahasiswa
Junius A L Tobing
Pangkalan Data
B 031401002
Safia Dhany
Stuktur Data
C 031401002
Marius Indra N G
Struktur Data
Marius Indra N G
Jaringan komputer
Jika terjadi keadaan seperti pada Tabel 2.1 dan Tabel 2.2, informasi nama seorang mahasiswa disimpan di beberapa tempat. Maka data tersebut di atas masih mengandung redundansi yang harus dihindari pada perancangan pangkalan data.
Akibat dari redundansi adalah inkonsistensi data atau data yang tidak valid. Sebagai contoh, perhatikan Tabel 2.1 dan Tabel 2.2. Pada tabel mahasiswa, NIM 031401002 bernama Junius A L Tobing, tetapi pada tabel nilai NIM 031401002 bernama Junius A L Tobing pada baris pertama, tetapi pada baris ke 3 dan 4 namanya Marius Indra N G. Jelas informasi ini menyesatkan.
Redundansi juga mungkin terjadi pada tabel yang sama. Contoh lain dari redundansi yang berakibat pada kesalahan data seperti itu, misalnya pada data Pembelian (tabel 2.3), dimana pada data tersebut disimpan informasi jumlah pembelian, harga satuan, dan harga total. Misal terjadi jumlah pembelian 5, harga satuan 1000 dan harga total 7000. Padahal diketahui bahwa harga total merupakan hasil perkalian dari jumlah pembelian dengan harga satuan. Informasi ini juga menyesatkan. Kita tidak tahu informasi mana yang dapat dipercaya.
Tabel 2.3 Pembelian
Harga_total Id_pembeli
Jumlah_pembeli
Harga_satuan
b. Kesulitan Pengaksesan Data
Pangkalan data memiliki fasilitas untuk melakukan pencarian informasi dengan menggunakan query ataupun dari tool untuk melihat tabelnya. Dengan fasilitas ini, kita bisa secara langsung melihat data dari software DBMS-nya.
Selain itu, pangkalan data bisa dihubungkan dengan program aplikasi sehingga memudahkan penggunaan dalam mengakses informasi. Misalnya program aplikasi untuk kasir yang terhubung dengan pangkalan data. Pengguna cukup menggunakan fasilitas pencarian ataupun laporan yang tersedia pada program aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan lain-lain.
Dalam pangkalan data, informasi yang diperoleh dari kumpulan data bisa berupa keseluruhan data, sebagian data, data dengan filter tertentu, data yang terurut, ataupun data summary.
Sebagai contoh sederhana ketika kita ingin mencatat data alamat dan telepon dari kolega kita. Sebagian orang akan menggunakan buku alamat. Metode pencatatan dilakukan dengan menuliskan data setelah catatan terakhir. Ketika kita menginginkan informasi alamat seseorang, kita akan kesulitan mencari karena informasi yang tersaji tidak terurut.
Ada juga orang yang mencatat dengan mengelompokkan nama berdasarkan abjad. Hal ini akan lebih mempermudah pencarian karena kita tidak perlu membaca keseluruhan data, tetapi cukup dalam satu kelompok saja. Tapi masalah baru muncul ketika jumlah data untuk sekelompok data abjad tertentu terlalu banyak sedangkan kelompok abjad yang lain masih terlalu sedikit. Dalam metode ini, ada banyak ruang yang tidak terpakai jika kita memberikan ruang yang sama untuk setiap kelompok. Dalam hal pencarian, kesulitan akan kita temui ketika informasi yang ingin kita cari dengan kata kunci sebagai namanya.
Pangkalan data bisa memberikan solusi terhadap permasalahan-permasalahan tersebut diatas.
c. Multiple User
Pangkalan data memungkinkan penggunaan data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan pangkalan data pada bagian server yang bisa diakses dari banyak client, kita sudah menyediakan akses ke semua pengguna dari komputer client ke sumber informasi yaitu pangkalan data. Tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya. Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa, pembayaran, dan lain-lain yang diletakkan dalam sebuah pangkalan data. Bagian akademik akan bisa mengakses data-data akademik Pangkalan data memungkinkan penggunaan data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan pangkalan data pada bagian server yang bisa diakses dari banyak client, kita sudah menyediakan akses ke semua pengguna dari komputer client ke sumber informasi yaitu pangkalan data. Tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya. Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa, pembayaran, dan lain-lain yang diletakkan dalam sebuah pangkalan data. Bagian akademik akan bisa mengakses data-data akademik
2.2.4 Manfaat Pangkalan Data
Banyak manfaat yang dapat kita peroleh dengan menggunakan pangkalan data. Manfaat pangkalan data di antaranya adalah:
a. Kecepatan dan kemudahan (speed)
Dengan menggunakan pangkalan data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Pangkalan data memiliki kemampuan dalam mengelompokkan, mengurutkan bahkan perhitungan dengan matematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.
b. Kebersamaan pemakai
Sebuah pangkalan data dapat digunakan oleh banyak user dan banyak aplikasi. Untuk data-data yang diperlukan oleh banyak bagian/orang, tidak perlu dilakukan pencatatan di masing-masing bagian, tetapi cukup dengan satu pangkalan data untuk dipakai bersama. Misalkan data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua bagian ini memiliki catatan data mahasiswa. Data cukup disediakan oleh sebuah pangkalan data dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.
c. Pemusatan kontrol data
Karena cukup dengan satu pangkalan data untuk banyak keperluan, pengontrolan terhadap data juga cukup dilakukan di satu tempat saja. Jika ada perubahan data Karena cukup dengan satu pangkalan data untuk banyak keperluan, pengontrolan terhadap data juga cukup dilakukan di satu tempat saja. Jika ada perubahan data
d. Efisiensi ruang penyimpanan (space)
Dengan pemakaian bersama, kita tidak perlu menyediakan tempat penyimpanan di berbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan yang dimiliki oleh sebuah organisasi. Dengan teknik perancangan pangkalan data yang benar, kita akan dapat menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.
e. Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antar data, dan lain-lain, dapat menekan ketidakakuratan dalam pemasukan/penyimpanan data.
f. Ketersediaan (Availability)
Dengan pangkalan data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.
g. Kelengkapan (Completeness)
Pangkalan data akan melengkapi informasi yang kita butuhkan dalam pengolahan data. Data-data akan diolah dalam sebuah pangkalan data untuk menghasilkan informasi yang kita butuhkan.
h. Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna. Pengguna diberikan hak akses yang berbeda-beda sesuai dengan kepentingan dan posisinya. Pangkalan data bisa diberikan password untuk membatasi orang yang mengaksesnya.
i. Kemudahan dalam pembuatan program aplikasi
Pengunaan pangkalan data merupakan bagian dari perkembangan teknologi. Dengan adanya pangkalan data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuat aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna.
j. Pemakaian secara langsung
Pangkalan data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke tabel ataupun dengan menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.
k. Kebebasan data
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan pangkalan data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program aplikasinya.
l. User view
Pangkalan data menyediakan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak di bidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tersebut. Mereka adalah Pangkalan data menyediakan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak di bidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tersebut. Mereka adalah
2.2.5 Operasi Dasar Pangkalan Data
Beberapa operasi dasar pangkalan data, yaitu:
a. Pembuatan pangkalan data
b. Penghapusan pangkalan data
c. Pembuatan file/tabel
d. Penghapusan file/tabel
e. Pengubahan tabel
f. Penambahan/pengisian
g. Pengambilan data
h. penghapusan data
2.3 Konsep Dasar Sistem Pangkalan Data
2.3.1 Sistem
Sistem adalah sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu.
Sebagai contoh, sistem kendaraan terdiri dari: komponen starter, komponen pengapian, komponen penggerak, komponen pengerem, komponen kelistrikan– Sebagai contoh, sistem kendaraan terdiri dari: komponen starter, komponen pengapian, komponen penggerak, komponen pengerem, komponen kelistrikan–
Contoh lain yaitu sistem perguruan tinggi, yang terdiri dari dosen, mahasiswa, kurikulum, dan lain-lain. Sistem ini bertujuan untuk menghasilkan mahasiswa- mahasiswa yang memiliki kemampuan di bidang ilmunya.
2.3.2 Sistem Pangkalan Data
Sistem pangkalan data merupakan perpaduan antara pangkalan data dan DataBase Management System (DBMS). Komponen-komponen sistem pangkalan data meliputi:
1. Perangkat Keras (Hardware) sebagai pendukung operasi pengolahan data.
Perangkat keras komputer adalah semua bagian fisik komputer. Contoh dari perangkat keras komputer yaitu: mouse, keyboard, monitor, CPU, memori, dan lain-lain.
2. Sistem Operasi (Operating System) atau perangkat lunak untuk mengelola pangkalan data. Sistem operasi merupakan suatu software sistem yang bertugas untuk melakukan kontrol dan manajemen hardware serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sementara software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, scheduling task, dan antar-muka user. Dengan demikian masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Contoh dari sistem operasi yang ada sekarang ini, yaitu DOS, Windows, Linux, Macintosh, dan lain-lain.
3. Pangkalan Data (Database) sebagai inti dari sistem pangkalan data. Pangkalan data merupakan kumpulan dari beberapa tabel yang saling berhubungan untuk membentuk suatu kesatuan data. Sistem pangkalan data terdiri dari beberapa pangkalan data yang membentuk suatu sistem, dimana pangkalan data-pangkalan data tersebut saling berhubungan untuk melakukan pengolahan data yang baik.
4. DataBase Management System (DBMS). DBMS adalah software yang menangani semua akses ke pangkalan data. Secara konsep apa yang terjadi adalah sebagai berikut:
a. User melakukan pengaksesan pangkalan data untuk informasi yang diperlukannya menggunakan suatu bahasa manipulasi data, biasanya disebut SQL.
b. DBMS menerima request dari user dan menganalisa request tersebut.
c. DBMS memeriksa skema eksternal user, pemetaan eksternal/konseptual, skema konseptual, pemetaan konseptual/internal, dan struktur penyimpanan.
d. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memenuhi permintaan user.
Contoh dari DBMS ini yaitu antara lain Microsoft SQL Server, Oracle, MySQL, Interbase, Paradox, Microsoft Excel, Microsoft Access, dan lain-lain.
5. Pemakai (user) Pemakai merupakan orang atau sistem yang akan mengakses dan merubah isi pangkalan data. Beberapa jenis pengguna pangkalan data, yaitu: 5. Pemakai (user) Pemakai merupakan orang atau sistem yang akan mengakses dan merubah isi pangkalan data. Beberapa jenis pengguna pangkalan data, yaitu:
b. User Mahir: orang yang mampu menggunakan pangkalan data secara langsung dengan menggunakan DBMS.
c. User Umum/End User: orang yang memakai pangkalan data dengan menggunakan perantara program aplikasi. Misalnya seorang kasir memasukkan data penjualan ke dalam pangkalan data dengan menggunakan aplikasi kasir.
d. User Khusus: bisa berupa sistem lain
6. Aplikasi Lain Aplikasi lain merupakan software yang dibuat untuk memberikan interface kepada user sehingga lebih mudah dan terkontrol dalam m`ngakses pangkalan data. Aplikasi lain ini merupakan komponen tambahan dalam sistem pangkalan data yang sifatnya opsional.
2.3.3 Atribut Validitas Sistem Pangkalan Data
Beberapa atribut validitas sistem pangkalan data, adalah sebagai berikut:
1. Keamanan Data (Data Security) Keamanan data merupakan atribut yang paling penting dari sebuah sistem pangkalan data, karena akan berpengaruh pada kepercayaan terhadap data. Data yang dapat dipercaya adalah data yang sudah dipastikan aman (valid) melalui analisis, pemeriksaan kesalahan dan percobaan, sedangkan data yang masih diragukan keamanannya akan tidak dipercaya oleh user maupun programmer, hal ini karena data tersebut kemungkinanan salah, sehingga informasi yang diterima tidak sesuai dengan faktanya.
2. Efektifitas Pengolahan Data Efektifitas pengolahan data merupakan hal yang sangat penting untuk mendukung kinerja pengolahan data. Efektifitas pengolahan data dapat dilihat ari tingkat kemampuan pengolahan datanya dan seberapa baik hasil yang dicapai. Semakin tinggi efektifitas pengolahan data, maka semakin tinggi kualitas pangolahan data yang dihasilkan dan semakin handal pengolahan data tersebut.
3. Efisiensi Data Efisiensi pengolahan data sangat penting dari sebuah sistem pangkalan data untuk mendukung pengolahan data yang besar. Dengan efisiensi yang baik pengolahan data yang besar dapat dilakukan dengan cepat. Semakin besar efisiensi pengolahan data, maka semakin besar data yang dapat diolah.
2.4 Extensible Markup Language (XML)
2.4.1 Pengertian XML
XML merupakan penyederhanaan subset SGML (Standard Generalized Markup Language). SGML distandarisasi pada 1986, berdasar pada Generalized Markup Language yang dikembangkan oleh IBM pada 1969. XML disederhanakan untuk penggunaan pada web dan sebagai format pertukaran data. Penyederhanaan tersebut tidak mengurangi ekstensibilitas XML, tetapi membuatnya lebih mudah bagi siapapun untuk menulis XML yang valid. Juga penyederhanaan tersebut membuat parser lebih mudah dan cepat memeriksa dokumen well-formed dan valid. Spesifikasi XML merupakan rekomendasi yang sudah diterima dari W3C (World Wide Web Consortium). Sebagai suatu teknologi, XML memiliki posisi yang unik dengan dukungan semua “pemain” dalam industri komputer.
XML menggunakan tag markup, tetapi tidak seperti HTML. Tag XML mendeskripsikan isi, daripada tampilan. Dalam contoh berikut kita mendefenisikan sebuah tag bernama <DATA>. Sekarang kita bisa menemukan mahasiswa dalam XML menggunakan tag markup, tetapi tidak seperti HTML. Tag XML mendeskripsikan isi, daripada tampilan. Dalam contoh berikut kita mendefenisikan sebuah tag bernama <DATA>. Sekarang kita bisa menemukan mahasiswa dalam
<DATA> <DATA1>Isi Data1</DATA1> <DATA2> Isi Data2</DATA2> <DATA3> Isi Data3</DATA3>
</DATA>
Dengan menghindari tag pemformatan pada data, tetapi menandai datanya sendiri dengan <DATA>, kita membuatnya lebih mudah bagi client untuk mencari data yang diinginkan.
Dalam contoh diatas, nampak bagaimana pencarian yang lebih bermakna bisa diterapkan dalam data XML, dan hasilnya bisa ditampilkan berbeda, tergantung dari perangkat tujuan. Perhatikan pemroses XML bisa berada pada server dan/atau client. Mempergunakan tag XML untuk menentukan apa arti dari data mempergunakan domain data yang alami adalah motivasi utama dari penemuan dan kegunaan XML.
Untuk menggunakan program XML, hanyalah diperlukan browser Internet Explorer versi 5 ke atas (yang mendukung XML) pada sistem operasi Microsoft Windows 9x/ME/NT/XP/2000. Dapat juga digunakan browser lain, dengan lebih dahulu memerikasa spesifikasi dukungannya terhadap XML, dan juga terhadap XSL. Selain itu juga diperlukan tool editor, misalnya Notepad, Wordpad, dan lain-lain.
2.4.2 Stuktur Dasar XML
XML dapat mengandung dua bagian yang berupa:
a. Isi/content data: analogi dengan pangkalan data.
b. Cara menampilkan data tersebut.
Maka XML membuat pertukaran data menjadi lebih mudah. Contohnya pada penerapan EDI (Electronic Data Interchange). Terdapat banyak cara menampilkan data tersebut, seperti: CSS, binding, DOM, XSL.
Prinsip dasar XML:
1. Pemisahan data dengan tampilan.
2. Adanya kebebasan membuat tag (extensible), artinya user bisa mendefenisikan tag sendiri. Tidak seperti pada HTML dimana tag sudah ditentukan, kalau tidak maka browser tidak akan membacanya. Contoh di mana user mendefenisikan tag sendiri sesuai dengan kepeluannya adalah WML (WAP Markup Language), CML (Chemical Markup Language) untuk rumus kimia, dan MathML untuk lingkungan matematika. Ketiganya merupakan XML yang dibuat untuk suatu domain aplikasi.
3. Pencarian (Searching) lebih tepat.
2.4.2.1 Aturan Markup
Perhatikan fitur tag dalam contoh berikut:
1. Pada XML, symbol “<” dan “>” dipergunakan untuk membedakan markup (nama tag) dan data (content). Tag-tag akan muncul berpasangan dan membentuk suatu elemen.
2. Adanya start tag dan end tag, dimana satu-satunya perbedaan antara keduanya adalah end tag memasukkan karakter ekstra, yaitu garis miring (/). Perbedaan lain tidak semua tag HTML mengharuskan end tag, sedangkan dalam XML semua tag ”normal” selalu sepasang. Ada kekecualian khusus yakni untuk tag-tag yang tidak perlu melampirkan apapun. Contoh baik dari HTML adalah tag <img> untuk menentukan grafis yang disisipkan secara inline – semua informasi ada di dalam 2. Adanya start tag dan end tag, dimana satu-satunya perbedaan antara keduanya adalah end tag memasukkan karakter ekstra, yaitu garis miring (/). Perbedaan lain tidak semua tag HTML mengharuskan end tag, sedangkan dalam XML semua tag ”normal” selalu sepasang. Ada kekecualian khusus yakni untuk tag-tag yang tidak perlu melampirkan apapun. Contoh baik dari HTML adalah tag <img> untuk menentukan grafis yang disisipkan secara inline – semua informasi ada di dalam
3. Tag-tag dalam XML bersifat case sensitive, artinya adanya perbedaan terhadap huruf kapital dengan huruf kecil.
Contoh: <DATA> Nilai data </data>
Dari contoh diatas tag </data> yang referensi ke tag <DATA> tidak akan dikenali sebagai hal yang sama. Sehingga program akan mengalami kesalahan.
2.4.2.2 Dokumen XML yang Well Formed
Secara umum, dokumen yang mempunyai jumlah start-tag dan end-tag yang seimbang disebut dengan well-formed document. Well formed artinya memenuhi aturan penulisan tag. Berdasarkan spesifikasi XML, well-formed document harus memenuhi kriteria sebagai berikut:
a. Dokumen dapat diturunkan dari aturan produksi dengan label document pada spesifikasi. Hal ini berarti dokumen dapat memiliki satu atau lebih elemen. Di antara elemen-elemen tersebut terdapat, ada tepat satu elemen yang disebut root atau document element. Untuk seluruh elemen, jika start-tag nya ada di dalam sebuah elemen, maka end-tag nya harus berada pada elemen yang sama.
b. Dokumen memenuhi seluruh batasan well-formedness yang dinyatakan pada spesifikasi.
c. Setiap parsed-entities yang diacu secara langsung maupun yang tidak langsung harus merupakan well-formed document.
Seperti halnya HTML, XML berdasarkan pada elemen terkecil yang disebut tag. Syarat pertama tag-tag tersebut harus berpasangan, dan tidak boleh overlapping. Contoh: <a> <b> </b> </a> Sedangkan contoh berikut bukanlah dokumen yang well-formed: <a> <b> </a> </b> Syarat kedua adalah adanya elemen puncak dokumen (root elemen). Contoh dokumen berikut tidak well-formed karena tidak adanya satu elemen puncak: <a> </a> <b> </b> Tetapi contoh berikut adalah well-formed: <a> </a> atau: <c> <a> </a> <b> </b> </c>
2.4.2.3 DTD dan Validasi XML
Di dalam XML dimungkinkan juga penggunaan DTD (Document Type Defenition) untuk menjaga validitas dari dokumen XML yang dibuat. Mengingat data yang akan kita konversikan berasal dari pangkalan data, penggunaan DTD di dalam dokumen XML juga akan sangat menguntungkan karena kita dapat menjaga konsistensi dan integritas data, baik dari struktur maupun tipe data yang digunakan.