Rabu, 25 November 2015

Sistem Basis Data

BASIS DATA DAN SISTEM BASIS DATA
Pengertian basis data dan sistem basis data
Basis data adalah, basis data terdiri dari 2 (dua) kata, yaitu kata Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga  kombinasinya. Jadi pengertian basis data adalah kumpulan terorganisasi dari data – data yang saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses ( seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
Tujuan Basis data sendiri adalah sebagai berikut ini:
·      Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
·         Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
·         Keakuratan (Accuracy) data.
·         Ketersediaan (Availability) data.
·     Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
·    Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
·         Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.

Beberapa Istilah yang Digunakan Pada Basis Data
1. Enterprise :
Suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional :
– data keuangan
– data mahasiswa
– data pasien
2. Entitas :
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data.
Contoh :
Entitas dalam lingkungan Bank terdiri dari :
– Nasabah
– Simpanan
– Hipotik
Contoh :
Entitas dalam lingkungan Pabrik terdiri dari :
– Supplier
– Part
– Shipment
Kumpulan dari entitas disebut Himpunan Entitas.
Contoh :
semua nasabah, semua supplier
3. Atribut (Elemen Data) :
Karakteristik dari entitas tsb.
Contoh :
Entitas Nasabah, atributnya terdiri dari : Kode Nasabah, Nama Nasabah, Alamat Nasabah.
4. Nilai Data (Data Value) :
Isi data / informasi yang tercakup dalam setiap elemen data.
Contoh :
Atribut Nama Nasabah dapat berisi Nilai Data : Nina, Rika, Gema, dsb.
5. Kunci Elemen Data (Key Data Elemen) :
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh:
Entitas Nasabah yang mempunyai atribut-atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah, dsb menggunakan Kunci Elemen Data Kode Nasabah.
6. Record Data :
Kumpulan isi elemen data (atribut) yang saling berhubungan.
Contoh:
kumpulan Atribut Kode Nasabah, Nama Nasabah, Alamat Nasabah berisikan “931109”, “Nina”, “Jl. Keamanan 63A”.
Contoh Informasi Dari Suatu Enterprise
ENTITAS ATRIBUT NILAI DATA
Pelanggan Kode Pelanggan 123H
Nama Pelanggan PT. Maju Terus
Alamat Jl. Salemba Raya 53
Rekening Kode Rekening 63H250
Jenis Rekening Cek
Jumlah Rekening 1.000.000
Penyalur Kode Penyalur 3H20
Nama Penyalur PT. Jaya Elektronik
Alamat Jl. Margonda Raya 100

Sedangkan pengertian sistem basis data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang saling berhubungan dan program-program untuk mengakses data tersebut. Komponen Utama Sistem Basis Data :
·         Perangkat Keras (Hardware)
Biasanya berupa perangkat komputer standar, media penyimpan sekunder dan media komunikasi untuk sistem jaringan..
·         Sistem Operasi (Operating Sistem)
Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer. Harus sesuai dengan DBMS yang digunakan.
·         Basis data (Database)
Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data.
·         Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS)
Yaitu pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya.
·         Pemakai (User).
Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir.
·         Aplikasi atau Perangkat Lunak yang lainnya.
Perangkat lunak pelengkap yang mendukung. Bersifat opsional.

Tujuan Utama Sistem Basis Data sendiri adalah :
Menunjukkan suatu lingkungan yang tepat dan efisien didalam melakukan pengambilan (retrieving) dan penyimpanan (storing) informasi basis data, serta menyediakan antarmuka yang lebih ramah kepada user dalam melihat data.
Kegunaan atau Fungsi Sistem Basis Data, mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
·         Redudansi data dan juga inkonsistensi data.
·         Kesuliatan dalam pengaksesan data.
·         Data Isolation.
·         Konkurensi pengaksesan.
·         Masalah keamanan.
·         Masalah Integritas.

Pemakai sistem basis data diantaranya:
·         Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
·         User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
·         User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
·         User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.

Keuntungan dari Sistem Basis Data
1. Data dapat dipakai secara bersama.
2. Data dapat distandarisasi.
3. Mengurangi redudancy (kerangkapan data).
4. Kemandirian data.
Dapat digunakan oleh bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.
5. Keamanan data terjamin.
Data dapat dilindungi dari pemakai yang tidak berwenang.
6. Keterpaduan data terjaga.
Memelihara keterpaduan data berarti data harus akurat, hal ini sangat erat hubungannya dengan pengontrolan kerangkapan data dan pemeliharaan keselarasan data.


Kerugian dari Sistem Basis Data
1. Storage yang digunakan menjadi besar.
2. Dibutuhkan tenaga yang terampil dalam mengelola data.
3. Perangkat lunaknya mahal.
4. Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait.

INTEGRITAS DALAM BASIS DATA
Integritas data adalah jaminan konsistensi data terhadap semua status konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri. Integritas data sangat erat kaitannya dengan keamanan keberadaan data, dimana dapat terjadi secara institusional atau asidental.
 Jenis-Jenis Integritas Data dapat dikelompokkan sebagai berikut :
1.Entity Integritas
2.Domain Integritas
3.Refrential Integritas
4.User Defined Integritas

 1. Entity Integritas
Entity Integritas mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Entity integritas memaksa integritas dari column atau primary key dari suatu tabel (melalui index, unique, constraints, primary key). Primary key tidak boleh null.
2. Domain Integritas
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui check constraints dan rules), atau range nilai-nilai yang mungkin (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules).
3. Refrential Integritas
Refrential Integritas memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkan.
4. User Defined Integritas
User–defined integritas mengizinkan Anda untuk menentukan spesific business rules sendiri yang tidak sama pada kategori integrity yang lain.

Tipe Integritas Data
Bagian ini menggambarkan atauran yang dapaat diterapkan pada kolom tabel ayang menekankan perbedaan tipe data pada integritas data.
1. Null Rule
Aturan null  adalah definisi aturan pada single column yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian rows kosong (the absence of a value) pada kolom ini.
2. Unique Column Values
Aturan nilai unique didefinisan pada sebuah column (or set of columns) yang membolehkan insert or update hanya pada row jika itu berisi  sebuah nilai unique dalam sebuah kolom (or set of columns).
3. Primary Key Values
Aturan nilai primary key didefinisikan pada sebuah key (a column or set of columns) tertentu bahwasetiap each row dalam table dapat mengidentifikasi keunikan dengan nilai kunci tersebut

4. Referential Integrity Rules
Aturan referential integrity adalah definsi aturan pada sebuah kunci key (a column or set of columns) dalam sebuah table yang menjamin bahwa data dalam kunci cocok dengan nilai dalam sebuah relasi table (the referenced value).

 Aturan-Aturan Referential Integrity
Referential integrity mengacu pada kaitan antar row/record dari 2 tabel yang berhubungan melalui Foreign Key yang bersangkutan.
Pada insert, record harus dimasukkan di tabel utama dahulu, kemudian baru di tabel kedua.
Pada delete, record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama.
Field yang dihubungkan dari tabel utama haruslah berupa Primary Key.
Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama.
Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.

Macam action dalam Referential Integrity:
NO ACTION atau RESTRICT : update atau delete tidak dilakukan. Ini merupakan pilihan default.
CASCADE : nilai kolom di tabel kedua disesuaikan dengan nilai kolom di tabel utama
SET NULL : nilai kolom di tabel kedua dijadikan NULL
SET DEFAULT : nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai DEFAULT harus ditentukan pada waktu pembuatan tabel).



Membuat Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan  untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat pembuatan tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah pembuatan tabel, maka  constraint tersebut hanya mengecek data yang ada (yang telah dimasukkan dalam  tabel). Jika ada beberapa pelanggaran maka constraint akan ditolak.

 Tipe-Tipe Constraint
 Microsoft SQL Sever menyediakan beberapa tipe Constraint, yaitu :
·         PRIMARY KEY Constraint, untuk menspesifikasikan kolom dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu tabel dengan tabel lain.
·         FOREIGN KEY Constraint, digunakan untuk menspesifikasikan kolom foreing key pada suatu tabel. Foreing key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang  selalu merujuk pada kolom primary keypada suatu tabel. SQL Server 2000 / MySQL – Navicat 2005 @ 2010 : www.didiksetiyadi.com 2 , dds@didiksetiyadi.com
·         UNIQUE Constraint, digunakan untuk menjamin bahwa data pada suatu kolom atauy beberapa kolom tidak diijinkan sama. CHECK Constraint, digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentuyang diijinkan masuk.
·         DEFAULT Constraint, merupakan atribut opsionalyang digunakan untuk memberikan suatu nilai tertentupada suatu kolom jika kolom tersebut tidak dimasukkan suatu data.
·         Not Null, digunakan untuk menjamin tidak ada nilai null ( kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka akan muncul error.

Transaksi dan Concurrency
Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery (pemulihan) yang bisa terdiri dari beberapa intruksi. Tujuan dari transaksi adalah menjaga database dari kehilangan data dan kerusakan, seperti system crash dan pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan.
Ada empat elemen dalam transaksi yang biasa disingkat ACID, yaitu :
§  Atomicity,  semua berhasil atau semua gagal
§  Consistency,  transaksi mempertahankan konsistensi database
§  Isolation,  transaksi terisolasi satu dengan yang lain
§  Durability,  setelah commit update harus survive di database
Dan ada dua jenis transaksi yang paling penting dalam sistem basis data adalah :
§     Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system). Pada implementasinya, contohnya di konsol SQL command, setelah proses transaksi selesai untuk commit tinggal ketikkan -> commit;
§  Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo. Pada implementasinya, contohnya di konsol SQL command, setelah proses transaksi selesai untuk membatalkan transaksi tadi tinggal ketikkan -> rollback;
Untuk lojik recovery atau system recovery database dilakukan ketika terjadi kegagalan media, kegagalan system atau kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan checkpoint. Checkpoint adalah interval tertentu pada perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan untuk me-recovery database secara backward (undo) maupun forward (redo).
Sedangkan concurrency adalah sebuah mekanisme pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya gangguan. Pada umumnya terdapat 3 masalah utama pada concurrency :
§  Lost update problem, ketika dua user mengupdate dua buah data yang sama
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Retrieve r
2
Retrieve r
3
Update r
4
Update r

Dari contoh diatas, maka transaksi A tidak akan dianggap dan data update pada transaksi A akan di overwrite oleh transaksi B Ini akan menimbulkan lost update problem pada transaksi A.
§  Uncommited dependency problem, ketika user yang satu me-retrieve data dan user yang lain me-rollback data tersebut
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Update r
2
Update r
3
Rollback

Dari contoh diatas, maka transaksi A akan menerima data yang salah karena pada transaksi B saat di update terjadi kesalahan kemudian di rollback.
§  Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Retrieve r1
2
Retrieve r2
3
Update r1
4
Commit

Dari contoh diatas, maka transaksi A akan menghasilkan data yang salah dan tidak sesuai database karena saat analisis di transaksi A terjadi update data pada salah satu datanya.

Untuk menangani masalah-masalah tersebut, dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia bisa meminta lock. Ada d
ua jenis lock yaitu :
§  Exclusive Lock (Xlock) -> write lock
§  Shared Lock (Slock) -> read lock
Bagaimana cara kerjanya?
§  Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan.
§  Jika transaksi A memegang Slock pada record R maka :
§  Permintaan Xlock transaksi lain pada R ditolak
§  Permintaan Slock transaksi lain pada R diterima
Tapi, ada satu masalah yang dapat terjadi ketika melakukan proses locking ini, yaitu deadlock. Yaitu, situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Cara penanganannya adalah :
§  Deteksi dan pecahkan deadlock
§  Deteksi deadlock -> wait-for-graph
§  Pecahkan deadlock -> salah satu dirollback paksa
§  Ostrich Algorithm  -> diabaikan

BACK-END PROGRAMMING
Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan stored procedure.

Trigger
Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.

Berikut adalah daftar yang mungkin untuk aktivasi trigger :

Event
Keterangan
Before Insert
Diaktifkan sekali sebelum statement insert
After Insert
Diaktifkan sekali setelah statement insert
Before Update
Diaktifkan sekali sebelum statement update
After Update
Diaktifkan sekali setelah statement update
Before Delete
Diaktifkan sekali sebelum statement delete
After Delete
Diaktifkan sekali setelah statement delete

Model-model yang digunakan untuk menspesifikasi aturan basis data aktif adalah model ECA (Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
·         Event, yang memicu suatu rule tersebut biasanya berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal yang lain.
·         Condition, menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition (bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.
·         Action, biasanya berupa statement sql.

Manfaat trigger antara lain adalah :
·         Membuat integrity constraint yang kompleks.
·         Mencatat aktivitas suatu tabel (logging).
·         Sinkronisasi

Contoh Kasus :
Pada database supermarket, jika ada pembelian baru maka otomatis stok barang pada tabel barang akan berkurang sesuai dengan jumlah barang yang dibeli. Maka sintaks lengkapnya dalam pl / sql adalah sebagai berikut :
create table barang(
kode_barang varchar2(10) primary key,

 nama varchar2(50),

 stok_barang number

);



create table pembelian(

 id_pembelian number primary key,

 kode_barang varchar2(10),

 constraint fk_kd_brg foreign_key (kode_barang) references barang(kode_barang)

 jumlah_beli number,

 harga number

);



create or replace trigger trg_stok_brg after insert on jumlah_beli for each row

begin

 update barang set stok_barang =stok_barang – :new.jumlah_beli where id_pembelian = :new.id_pembelian;

end;

/



Stored Procedure
Subprogram adalah PL/SQL Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.
Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure, meliputi :
§  Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
§  Tools DBA -> praktis, selalu tersedia di database server.
§  Dapat digunakan oleh banyak aplikasi
o   Standarisasi business logic.
o   SP dapat dipanggil oleh aplikasi luar
§  Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
§  Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
§  Hampir semua RDBMS mensupport.
§  Walaupun syntax berbeda, umumnya menggunakan prinsip yang sama

XML (Extensible Markup Language)
Pernahkah Anda membutuhkan format dokumen yang dapat Anda gunakan untuk bertukar data baik di internet atau di intranet? Yah, bahasa extensible markup xml mungkin hanya penyelesaian. Pada kenyataannya, industri yang berbeda telah menemukan keajaiban xml dan menggunakannya secara ekstensif untuk membantu mengatur dan mengklasifikasikan data mereka.
XML adalah bahasa markup – menggunakan tag label, mengkategorikan dan mengatur informasi dalam spesifikasi cara. Markup menjelaskan dokumen atau data struktur dan organisasi. Konten, seperti teks, Gambar, dan data, adalah bagian dari kode yang berisi markup Tag. Hal ini juga yang paling menarik untuk kebanyakan manusia sehari-hari yang membaca atau berinteraksi dengan data dan kebutuhan dokumen. fleksibilitas XML telah berkembang yang menyebabkan digunakan untuk bertukar data dalam berbagai bentuk.

Pengertian XML
Definisi xml adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam.

XML didesain untuk mempu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data (jamak dari datum) yang jika diolah bisa memberikan informasi.

XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan suatu cara yang standar.

Tipe XML
·         XML, merupakan standar format dari struktur berkas (file).
·         XSL, merupakan standar untuk memodifikasi data yang diimpor atau diekspor.
·         XSD, merupakan standar yang mendefinisikan struktur database dalam XML.

Keunggulan XML
·         Pintar (Intelligence). XML dapat menangani berbagai tingkat (level) kompleksitas.
·         Dapat beradaptasi. Dapat mengadaptasi untuk membuat bahasa sendiri. Seperti Microsoft membuat bahasa MSXML atau Macromedia mengembangkan MXML.
·         Mudah pemeliharaannya.
·         Sederhana. XML lebih sederhana.
·         Mudah dipindah-pindahkan (Portability). XML mempunyai kemudahan perpindahan (portabilitas) yang lebih bagus.

Penggunaan XML
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format yang tidak mengandung format standard layaknya heading, paragraph, table dan lain sebagainya.

Contoh XML

Penulisan tag pada XML adalah bebas, tidak seperti HTML yang sudah ada.

Belajar XML

Penulisan secara formal XML adalah sbb.


Mari kita bahas XML di atas.


Baris pertama adalah heading standard pada XML. Versi yang digunakan adalah versi 1.0. encoding iso-8859-1 adalah nama resmi dari character encoding yang biasa disebut ANSI. iso-8859-1 banyak digunakan di Eropa dan Amerika. Bila anda menggunakan text editor yang mendukung penggunaan character encoding yang lainnya, anda bisa menggunakannya juga.



syntax diatas adalah heading standard untuk XLST. Atribut xmlns:xsl maksudnya adalah mendeklarasikan namespace XML bahwa awalan xsl akan digunakan untuk elemen yang didefinisikan pada W3C XSLT Specification.

Bagian Dokumen XML

Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node-node itu adalah:
·         Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.
·         Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/> . Root node biasa juga disebut root element.
·         Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.
·         Text node adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup.
·         Comment node adalah baris yang tidak dieksekusi oleh parser.
·         Processing Instruction node adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.
·         NameSpace Node node ini mewakili deklarasi namespace.



Pengertian dan Fungsi XML – Porsot

Membuat XML

Heading Standar XML
 Biasakanlah setiap membuat dokumen XML diawali dengan heading standard XML. Formatnya adalah sebagai berikut:


Dokumen XML harus memiliki Root tag.
 Sebuah dokumen XML yang baik harus memiliki root tag. Yaitu tag yang melingkupi keseluruhan dari dokumen. Tag-tag yang lain, disebut child tag, berada didalam root membentuk hirarki.



Tag XML harus berpasangan, Tag tunggal hanya diperbolehkan untuk elemen kosong.


 Tag HTML Case Sensitive
 Artinya penulisan tag A dengan a berbeda.

Struktur penulisan tag XML adalah LIFO
 Artinya struktur penulisannya Last In First Out.

XML mempertahankan spasi
 Spasi yang terdapat antara 2 kata elemen, tidak akan dihilangkan secara otomatis oleh XML.

Isi atribut tag diletakkan diantara kutip 2 “
Jika tag memiliki atribut, dan atribut tsb memiliki value/nilai maka wajib diletakkan antara ” ” (kutip 2). Contoh pada value atribut judul.

Penamaan tag
 Nama tag bisa terdiri dari huruf, angka dan underscore(“_”). Karakter awal nama tag harus berupa huruf atau underscore (“_”), tidak diawali dengan kata xml atau XML, (misal:<xmlstring>), dan tidak mengandung spasi. Aturan penamaan atribut sama dengan aturan penamaan tag.

Menyisipkan Komentar
 Pada bahasa pemrograman atau scripting kita mengenal adanya komentar (comment). Komentar adalah kalimat/baris yang tidak dieksekusi oleh compiler, browser atau parser. Untuk menyisipkan komentar pada dokumen XML caranya adalah sebagai berikut:


Karakter Ilegal pada XML
 Sama seperti pada HTML, anda tidak bisa menggunakan karakter seperti kurung siku (< atau >), petik tunggal (‘), dan petik ganda (“) . Contoh dibawah ini akan menghasilkan error kalau di eksekusi oleh browser.


Maka < harus diganti dengan entity reference &alt.






Referensi :