Anda di halaman 1dari 23

LECTURE NOTES

Introduction to Database System

Week 9
Web Technologies and DBMS

Introduction to Database System


LEARNING OUTCOMES

LO3: Organize database system for business sustainability through the availability of data in
the information system

OUTLINE MATERI (Sub-Topic):


1. The Webs
2. Scripting Language
3. Extending The Web Server
4. Introduction to XML
5. XML Query Language

Introduction to Database System


ISI MATERI

The Webs
Web adalah sebuah sistem berbasis hypermedia yang menyediakan sarana untuk
menelusuri informasi di Internet dengan cara yang tidak berurutan menggunakan hyperlink.
Sebagian besar keberhasilan Web disebabkan oleh kesederhanaan yang memungkinkan
pengguna untuk menyediakan, menggunakan, dan merujuk pada informasi yang
didistribusikan secara geografis di seluruh dunia. Selain itu, ini memberikan pengguna dengan
kemampuan untuk menelusuri dokumen multimedia secara independen dari perangkat keras
komputer yang digunakan. Ini juga kompatibel dengan protokol komunikasi data lain yang ada,
seperti Gopher, FTP (File Transfer Protocol), NNTP (Network News Transfer Protocol), dan
Telnet (untuk sesi login jarak jauh).
Web terdiri dari jaringan komputer yang dapat bertindak dalam dua peran: sebagai
server, menyediakan informasi; dan sebagai klien, biasanya disebut sebagai browser, yang
meminta informasi.
Sebagian besar informasi di Web disimpan dalam dokumen menggunakan bahasa yang
disebut HTML (HyperText Markup Language), dan browser harus memahami dan
menafsirkan HTML untuk menampilkan dokumen-dokumen ini. Protokol yang mengatur
pertukaran informasi antara server Web dan browser disebut HTTP (HyperText Transfer
Protocol). Dokumen dan lokasi dalam dokumen diidentifikasi oleh alamat, didefinisikan
sebagai Uniform Resource Locator (URL). Gambar 9.1 mengilustrasikan komponen dasar dari
lingkungan Web.

Introduction to Database System


Gambar 9.1. Komponen dasar dari lingkungan Web. (Source: Connoly & Begg (2015)

HYPER TEXT TRANSFER PROTOCOL (HTTP)


1. HyperText Transfer Protocol (HTTP)
HTTP adalah protokol yang digunakan untuk mentransfer halaman Web melalui Internet.
HyperText Transfer Protocol (HTTP) mendefinisikan bagaimana klien dan server
berkomunikasi. HTTP adalah protokol generik yang berorientasi objek, stateless untuk
mengirimkan informasi antara server dan klien (Berners-Lee, 1992).
HTTP didasarkan pada paradigma permintaan-respons. Transaksi HTTP terdiri dari
tahapan berikut:
a. Koneksi: Klien membuat koneksi dengan server Web.
b. Permintaan: Klien mengirim pesan permintaan ke server Web.
c. Respons: Server Web mengirim respons (misalnya, dokumen HTML) ke klien.
d. Tutup: Koneksi ditutup oleh server Web.
HTTP saat ini merupakan protokol stateless — server tidak menyimpan informasi di antara
permintaan. Dengan demikian, server Web tidak memiliki memori dari permintaan
sebelumnya. Untuk sebagian besar aplikasi, properti HTTP stateless ini adalah manfaat
yang memungkinkan klien dan server ditulis dengan logika sederhana dan menjalankan
"lean" tanpa memori tambahan atau ruang disk yang diambil dengan informasi dari
permintaan lama. Sayangnya, properti stateless HTTP membuatnya sulit untuk
mendukung konsep sesi yang penting untuk transaksi DBMS dasar. Berbagai skema telah
diusulkan untuk mengkompensasi sifat stateless HTTP, seperti mengembalikan halaman

Introduction to Database System


Web dengan bidang tersembunyi yang mengandung pengidentifikasi transaksi, dan
menggunakan formulir halaman Web di mana semua informasi dimasukkan secara lokal
dan kemudian diserahkan sebagai satu transaksi tunggal.

2. Multipurpose Internet Mail Extensions


Spesifikasi Multipurpose Internet Mail Extensions (MIME) menetapkan standar untuk
penyandian data biner ke ASCII, serta standar untuk menunjukkan jenis data yang
terkandung di dalam pesan. Meskipun awalnya digunakan oleh perangkat lunak klien
email, Web juga menggunakan standar MIME untuk menentukan cara menangani
beberapa jenis media. Tipe MIME diidentifikasi menggunakan format tipe / subtipe, di
mana tipe mengklasifikasikan tipe umum dari data yang dikirim, dan subtipe
mendefinisikan tipe spesifik dari format yang digunakan. Misalnya, gambar GIF akan
diformat sebagai gambar / gif. Beberapa tipe bermanfaat lainnya (dengan ekstensi file
default) tercantum dalam Gambar 9.2.

Gambar 9.2. Beberapa tipe MIME yang bermanfaat. (Source: Connoly & Begg (2015)

3. HTTP Request
Permintaan HTTP terdiri dari header yang menunjukkan jenis permintaan, nama sumber
daya, dan versi HTTP, diikuti oleh badan opsional. Header dipisahkan dari body oleh garis
kosong. Jenis permintaan HTTP utama adalah:

Introduction to Database System


a. GET. Ini adalah salah satu jenis permintaan yang paling umum, yang mengambil (gets)
sumber daya yang diminta pengguna.
b. POST. Jenis permintaan lain yang umum, yang mentransfer (post) data ke sumber yang
ditentukan. Biasanya data yang dikirim berasal dari formulir HTML yang telah diisi
oleh pengguna, dan server dapat menggunakan data ini untuk mencari di Internet atau
meminta database.
c. HEAD. Mirip dengan GET tetapi memaksa server untuk hanya mengembalikan header
HTTP alih-alih data respons.
d. PUT (HTTP/1.1). Unggah sumber daya ke server.
e. DELETE (HTTP/1.1). Menghapus sumber daya dari server.
f. OPTIONS (HTTP/1.1). Meminta opsi konfigurasi server.

4. HTTP Response
Respons HTTP memiliki header yang berisi versi HTTP, status respons, dan informasi
header untuk mengontrol perilaku respons, serta setiap data yang diminta dalam badan
respons. Sekali lagi, tajuk (header) dipisahkan dari tubuh (body) oleh garis kosong.

HYPERTEXT MARKUP LANGUAGE (HTML)


HyperText Markup Language (HTML) adalah sistem untuk menandai, atau menandai,
dokumen sehingga dapat diterbitkan di Web. HTML mendefinisikan apa yang umumnya
ditransmisikan antara node dalam jaringan. Ini adalah bahasa dokumen platform yang
sederhana, namun kuat, independen (Berners-Lee dan Connolly, 1993).
HTML telah dikembangkan dengan maksud bahwa berbagai jenis perangkat harus
dapat menggunakan informasi di Web: PC dengan tampilan grafik dengan beragam resolusi
dan kedalaman warna, telepon seluler, perangkat genggam, perangkat pidato untuk input dan
output, dan sebagainya.
HTML adalah aplikasi dari Standard Markalized Language Markup Language
(SGML), sebuah sistem untuk mendefinisikan tipe dokumen terstruktur dan bahasa markup
untuk mewakili contoh tipe dokumen tersebut (ISO, 1986). HTML adalah salah satu bahasa
markup tersebut.

Introduction to Database System


UNIFORM RESOURCE LOCATORS (URL)
URL adalah serangkaian karakter alfanumerik yang mewakili lokasi atau alamat
sumber daya di Internet dan bagaimana sumber daya itu harus diakses. Sintaks URL cukup
sederhana dan terdiri dari tiga bagian dasar: protokol yang digunakan untuk koneksi, nama
host, dan nama jalur pada host di mana sumber daya dapat ditemukan. Selain itu, URL secara
opsional dapat menentukan port yang melaluinya koneksi ke host harus dibuat (default 80
untuk HTTP), dan string kueri, yang merupakan salah satu metode utama untuk meneruskan
data dari klien ke server (untuk contoh, ke skrip CGI). Sintaks URL adalah sebagai berikut:
<protocol>:// <host> [:<port>] / absolute_path [? arguments]

STATIC AND DYNAMIC WEB PAGES


Dokumen HTML yang disimpan dalam file adalah contoh halaman Web statis: konten
dokumen tidak berubah kecuali file itu sendiri diubah. Di sisi lain, konten halaman Web
dinamis dihasilkan setiap kali diakses. Akibatnya, halaman Web dinamis dapat memiliki fitur
yang tidak ditemukan di halaman statis, seperti:
1. Dapat menanggapi input pengguna dari browser. Misalnya, mengembalikan data yang
diminta dengan mengisi formulir atau hasil kueri basis data.
2. Dapat dikustomisasi oleh dan untuk setiap pengguna. Misalnya, setelah pengguna
menentukan beberapa preferensi saat mengakses situs atau halaman tertentu (seperti
bidang minat atau tingkat keahlian), informasi ini dapat dipertahankan dan informasi yang
dikembalikan sesuai dengan preferensi ini.

WEB SERVICES
Dalam beberapa tahun terakhir layanan Web telah ditetapkan sebagai paradigma
penting dalam membangun aplikasi dan proses bisnis untuk integrasi aplikasi heterogen di
masa depan. Layanan web didasarkan pada standar terbuka dan fokus pada komunikasi dan
kolaborasi antara orang-orang dan aplikasi. Tidak seperti aplikasi berbasis web lainnya,
layanan Web tidak memiliki antarmuka pengguna dan tidak ditujukan untuk browser.
Sebaliknya, mereka terdiri dari komponen perangkat lunak yang dapat digunakan kembali
yang dirancang untuk dikonsumsi oleh aplikasi lain, seperti aplikasi klien tradisional, aplikasi
berbasis web, atau layanan Web lainnya.

Introduction to Database System


Inti dari pendekatan layanan Web adalah penggunaan teknologi yang diterima secara
luas dan standar yang umum digunakan, seperti XML, SOAP, WSDL, UDDI.

REQUIREMENTS FOR WEB–DBMS INTEGRATION


Meskipun banyak vendor DBMS bekerja untuk menyediakan solusi konektivitas
database berpemilik untuk Web, sebagian besar organisasi memerlukan solusi yang lebih
umum untuk mencegah mereka dari terikat ke dalam satu teknologi. Di bagian ini, kami secara
singkat mencantumkan beberapa persyaratan paling penting untuk integrasi aplikasi basis data
dengan Web. Persyaratan ini adalah cita-cita dan tidak sepenuhnya dapat dicapai pada saat ini,
dan beberapa mungkin perlu ditukar dengan yang lain. Tidak dalam urutan peringkat apa pun,
persyaratannya adalah sebagai berikut:
1. Kemampuan untuk mengakses data perusahaan yang berharga secara aman.
2. Konektivitas independen data dan vendor untuk memungkinkan kebebasan memilih dalam
pemilihan DBMS sekarang dan di masa depan.
3. Kemampuan untuk antarmuka ke database independen dari browser Web atau server Web
eksklusif.
4. Solusi konektivitas yang memanfaatkan semua fitur DBMS organisasi.
5. Pendekatan arsitektur terbuka untuk memungkinkan interoperabilitas dengan berbagai
sistem dan teknologi.
6. Solusi hemat biaya
7. Dukungan untuk transaksi yang menjangkau beberapa permintaan HTTP.
8. Dukungan untuk otentikasi berbasis sesi dan aplikasi.
9. Kinerja yang dapat diterima.
10. Biaya administrasi minimal.
11. Seperangkat alat produktivitas tingkat tinggi untuk memungkinkan aplikasi
dikembangkan, dipelihara, dan digunakan dengan relatif mudah dan cepat.

ADVANTAGES AND DISADVANTAGES OF THE WEB–DBMS APPROACH


Web sebagai platform untuk sistem basis data dapat memberikan solusi inovatif untuk
operasi bisnis antar dan antar perusahaan. Sayangnya, ada juga kelemahan yang terkait dengan
pendekatan ini.

Introduction to Database System


Keuntungan dari pendekatan Web-DBMS adalah Kesederhanaan, Kemandirian
platform, Antarmuka pengguna grafis, Standardisasi, Dukungan lintas platform, Akses
jaringan transparan, Penempatan scalable, dan Inovasi.
Kerugian dari pendekatan Web-DBMS adalah kurangnya Keandalan, Keamanan,
Biaya, Skalabilitas, Fungsionalitas HTML yang terbatas, statelessness, Bandwidth, Performa,
Ketidakmatangan alat pengembangan.

APPROACHES TO INTEGRATING THE WEB AND DBMSS


Di bagian berikut kami memeriksa beberapa pendekatan saat ini untuk
mengintegrasikan database ke lingkungan Web:
1. Bahasa scripting seperti JavaScript dan VBScript;
2. Common Gateway Interface (CGI), teknik awal, dan mungkin salah satu yang paling
banyak digunakan;
3. Cookie HTTP;
4. Ekstensi ke server Web, seperti Netscape API (NSAPI) dan Microsoft Internet Information
Server API (ISAPI);
5. Java, JEE, JDBC, SQLJ, JDO, JPA, Servlets, dan JavaServer Pages (JSP);
6. Platform Solusi Web Microsoft: .NET, Active Server Pages (ASP), dan ActiveX Data
Objects (ADO);
7. Platform Internet Oracle.

Scripting language
Bahasa scripting memungkinkan pembuatan fungsi yang tertanam dalam kode HTML.
Ini memungkinkan berbagai proses menjadi otomatis serta objek dapat diakses dan
dimanipulasi. Program dapat ditulis dengan logika pemrograman standar seperti loop,
pernyataan kondisional, dan operasi matematika. Beberapa bahasa scripting juga dapat
membuat HTML dengan cepat, memungkinkan skrip untuk membuat halaman HTML khusus
berdasarkan pilihan atau input pengguna, tanpa memerlukan skrip yang disimpan di server
Web untuk membangun halaman yang diperlukan.

Introduction to Database System


JAVASCRIPT AND JSCRIPT
JavaScript dan JScript adalah bahasa scripting yang ditafsirkan hampir identik masing-
masing dari Netscape dan Microsoft. Microsoft's JScript adalah tiruan dari JavaScript yang
sebelumnya dan banyak digunakan. Kedua bahasa ditafsirkan langsung dari kode sumber dan
izin skrip dalam dokumen HTML. Script dapat dieksekusi di dalam browser atau di server
sebelum dokumen dikirim ke browser. Konstruksinya sama, kecuali bahwa sisi server memiliki
fungsi tambahan — misalnya, untuk konektivitas basis data.
Bahasa JavaScript menyerupai Java, tetapi tanpa pengetikan statis dan pengecekan tipe
Java yang kuat. Berbeda dengan sistem waktu kompilasi kelas Java yang dibangun oleh
deklarasi, JavaScript mendukung sistem runtime berdasarkan sejumlah kecil tipe data yang
mewakili nilai numerik, Boolean, dan nilai string. JavaScript melengkapi Java dengan
memaparkan properti berguna dari applet Java ke pengembang skrip. Pernyataan JavaScript
dapat memperoleh dan mengatur properti yang diekspos untuk menanyakan keadaan atau
mengubah kinerja applet atau plug-in. Tabel 8.1 membandingkan dan membedakan JavaScript
dan applet Java.
Tabel 8.1. Perbandingan JavaScript dan applet Java.
JAVASCRIPT JAVA (APPLETS)
Diterjemahkan (tidak dikompilasi) oleh Dikompilasi di server sebelum dieksekusi
klien. pada klien.
Berbasis objek. Kode menggunakan objek Berorientasi pada objek. Applet terdiri dari
bawaan yang dapat diperluas, tetapi tidak ada kelas objek dengan inheritance.
kelas atau inheritance.

Kode terintegrasi dengan, dan tertanam Applet berbeda dari HTML (diakses dari
dalam, HTML. halaman HTML).
Tipe data variabel tidak dideklarasikan Tipe data variabel harus dideklarasikan
(loose typing). (strong typing).
Mengikat secara dinamis. Referensi objek Ikatan statis. Referensi objek harus ada pada
diperiksa pada saat runtime. waktu kompilasi.
Tidak dapat menulis ke hard disk secara Tidak dapat menulis ke hard disk secara
otomatis otomatis

Introduction to Database System


VBScript
VBScript adalah bahasa scripting yang ditafsirkan oleh Microsoft yang tujuan dan
operasinya hampir identik dengan JavaScript / JScript, meskipun tidak didukung oleh browser
seperti Firefox dan Opera. VBScript, bagaimanapun, memiliki sintaksis yang lebih mirip
Visual Basic daripada Java. Itu ditafsirkan langsung dari kode sumber dan memungkinkan
skrip dalam dokumen HTML. Seperti halnya JavaScript / JScript, VBScript dapat dijalankan
dari dalam browser atau di server sebelum dokumen dikirim ke browser.
VBScript adalah bahasa prosedural dan menggunakan subrutin sebagai unit dasar.
Visual Basic berbasis komponen: program Visual Basic dibangun dengan menempatkan
komponen pada formulir dan kemudian menggunakan bahasa Visual Basic untuk
menghubungkan mereka bersama-sama.

Perl and PHP


Perl adalah bahasa pemrograman tingkat tinggi yang ditafsirkan dengan kemampuan
pemrosesan teks yang luas, mudah digunakan. Bahasa ini dikembangkan untuk
menggabungkan mekanisme untuk membuat dan mengontrol file dan proses, soket jaringan,
konektivitas database, dan untuk mendukung fitur berorientasi objek. Sekarang merupakan
salah satu bahasa yang paling banyak digunakan untuk pemrograman sisi server.
PHP adalah bahasa scripting embedded HTML open source populer lainnya yang
didukung oleh banyak server Web termasuk Apache HTTP Server dan Microsoft Internet
Information Server, dan merupakan bahasa scripting Linux Web yang disukai. Tujuan dari
bahasa ini adalah untuk memungkinkan pengembang Web untuk menulis halaman yang
dihasilkan secara dinamis dengan cepat. Salah satu kelebihan PHP adalah ekstensibilitasnya,
dan sejumlah modul ekstensi telah disediakan untuk mendukung hal-hal seperti konektivitas
basis data, surat, dan XML.

Extending the Web Server


CGI adalah metode standar, portabel, dan modular untuk mendukung fungsionalitas
khusus aplikasi dengan memungkinkan skrip diaktifkan oleh server untuk menangani
permintaan klien. Meskipun memiliki banyak kelebihan, pendekatan CGI memiliki
keterbatasan. Sebagian besar keterbatasan ini terkait dengan kinerja dan penanganan sumber

Introduction to Database System


daya bersama, yang berasal dari kenyataan bahwa spesifikasi mengharuskan server untuk
menjalankan program gateway dan berkomunikasi dengannya menggunakan beberapa
mekanisme Komunikasi Antar-Proses (IPC). Fakta bahwa setiap permintaan menyebabkan
proses sistem tambahan yang akan dibuat menempatkan beban berat pada server.
Untuk mengatasi keterbatasan ini, banyak server menyediakan Application
Programming Interface (API), yang menambah fungsionalitas ke server atau bahkan mengubah
perilaku server dan mengubahnya. Untuk mengatasi pembuatan proses terpisah untuk setiap
skrip CGI, API menyediakan metode yang membuat antarmuka antara server dan aplikasi
back-end menggunakan tautan dinamis atau objek bersama. Script dimuat sebagai bagian dari
server, memberikan aplikasi back-end akses penuh ke semua fungsi I / O server. Selain itu,
hanya satu salinan aplikasi yang dimuat dan dibagikan di antara banyak permintaan ke server.
Ini secara efektif memperluas kemampuan server dan memberikan keunggulan dibandingkan
CGI, seperti kemampuan untuk:
1. Memberikan keamanan halaman atau situs Web dengan memasukkan "lapisan" otentikasi
yang memerlukan pengidentifikasi dan kata sandi di luar metode keamanan browser Web
sendiri;
2. Mencatat aktivitas masuk dan keluar dengan melacak lebih banyak informasi daripada
server Web, dan menyimpannya dalam format yang tidak terbatas pada yang tersedia
dengan server Web;
3. Sajikan data untuk menjelajah klien dengan cara yang berbeda dari yang dilakukan server
Web (atau bahkan bisa) dengan sendirinya.
Pendekatan ini jauh lebih kompleks daripada CGI, mungkin membutuhkan programmer
khusus dengan pemahaman yang mendalam tentang server Web dan teknik pemrograman
seperti multithreading dan sinkronisasi konkurensi, protokol jaringan, dan penanganan
pengecualian. Namun, ini dapat memberikan solusi yang sangat fleksibel dan kuat. Ekstensi
API dapat menyediakan fungsionalitas yang sama dengan program CGI, tetapi karena API
berjalan sebagai bagian dari server, pendekatan API dapat berkinerja lebih baik secara
signifikan daripada CGI.
Memperluas server Web berpotensi berbahaya, karena server yang dapat dieksekusi
sebenarnya sedang diubah, mungkin memperkenalkan bug. Beberapa API memiliki
mekanisme keamanan untuk melindungi dari peristiwa semacam itu. Namun, jika ekstensi API

Introduction to Database System


salah menulis ke data pribadi server, kemungkinan besar akan menyebabkan server Web
mogok.
Masalah yang terkait dengan penggunaan API server tidak semata-mata terkait dengan
kompleksitas dan keandalan. Kelemahan utama dalam menggunakan mekanisme semacam itu
adalah tidak dapat diangkut. Semua server sesuai dengan spesifikasi CGI sehingga penulisan
program CGI sebagian besar portabel antara semua server Web. Namun, API dan arsitektur
server sepenuhnya milik. Oleh karena itu, setelah API tersebut digunakan, pilihan server
terbatas.

Comparison of CGI and API


CGI dan API keduanya melakukan tugas yang sama — untuk memperluas kemampuan
server Web. Skrip CGI dijalankan di lingkungan yang dibuat oleh program server Web —
server membuat informasi khusus untuk skrip CGI dalam bentuk variabel lingkungan dan
mengharapkan respons tertentu kembali dari skrip CGI setelah dieksekusi. Yang penting, skrip-
skrip ini, yang dapat ditulis dalam bahasa apapun dan berkomunikasi dengan server hanya
melalui satu atau lebih variabel, jalankan hanya setelah server Web menginterpretasikan
permintaan dari browser, kemudian mengembalikan hasilnya ke server. Dengan kata lain,
program CGI hanya ada untuk mengambil informasi dari server dan mengembalikannya ke
server. Merupakan tanggung jawab program server Web untuk mengirim informasi itu kembali
ke browser.
Pendekatan API hampir tidak terbatas dalam kemampuannya untuk berkomunikasi.
Program berbasis API dapat berinteraksi dengan informasi yang datang langsung dari browser
sebelum server bahkan "melihatnya" atau dapat mengambil informasi yang datang dari server
ke browser, mencegatnya, mengubahnya dengan cara tertentu, kemudian mengarahkannya
kembali ke browser. Itu juga dapat melakukan tindakan atas permintaan server, seperti halnya
CGI. Ini, misalnya, memungkinkan server Web untuk menyajikan informasi yang sangat
berbeda. Saat ini, server Web mengirim header respons HTTP konvensional ke browser, tetapi
dengan pendekatan API, program yang dibuat untuk membantu server dapat melakukannya
sendiri, meninggalkan server untuk memproses permintaan lain, atau dapat memodifikasi
header respons untuk mendukung berbagai jenis informasi.

Introduction to Database System


Selain itu, ekstensi berbasis API dimuat ke ruang alamat yang sama dengan server Web.
Bandingkan ini dengan CGI, yang menciptakan proses terpisah di server untuk setiap
permintaan individu. Hasil akhirnya adalah bahwa pendekatan API umumnya memberikan
tingkat kinerja yang lebih tinggi daripada CGI dan mengkonsumsi memori jauh lebih sedikit.

Introduction to XML
Sebagian besar dokumen di Web saat ini disimpan dan dikirim dalam HTML. Kami
telah berkomentar bahwa salah satu kekuatan HTML adalah kesederhanaannya,
memungkinkannya untuk digunakan oleh berbagai macam pengguna. Namun,
kesederhanaannya bisa dibilang juga salah satu kelemahannya, dengan meningkatnya
kebutuhan dari pengguna yang menginginkan tag untuk menyederhanakan beberapa tugas dan
membuat dokumen HTML lebih menarik dan dinamis. Dalam upaya untuk memenuhi
permintaan ini, vendor telah memperkenalkan beberapa tag HTML khusus browser. Namun,
ini menyulitkan untuk mengembangkan dokumen Web yang canggih dan dapat dilihat secara
luas. Untuk mencegah perpecahan ini, W3C menghasilkan standar yang disebut eXtensible
Markup Language (XML), yang dapat mempertahankan kemandirian aplikasi umum yang
menjadikan HTML portabel dan kuat. XML 1.0 (Edisi Kedua) menjadi Rekomendasi W3C
pada Oktober 2000 (W3C, 2000b) dan XML 1.1 (Edisi Kedua), dengan dukungan Unicode 3,
menjadi Rekomendasi W3C pada Agustus 2006 (W3C, 2006a). XML 1.0 (Edisi Kelima)
menjadi Rekomendasi W3C pada bulan November 2008 dan cenderung menjadi versi yang
disarankan kecuali diperlukan fitur khusus XML 1.1.
Keuntungan menggunakan XML:
• Simplicity. XML adalah standar yang relatif sederhana, sekitar 65 halaman. Ini
dirancang sebagai bahasa berbasis teks yang dapat dibaca manusia dan cukup jelas.
• Open standard dan platform- / vendor-independen. XML adalah platform independen
dan vendor-independen, dan bentuk terbatas SGML, standar ISO. Hal ini juga
didasarkan pada ISO 10646, set karakter Unicode, dan juga memiliki dukungan built-
in untuk teks di semua alfabet dunia, termasuk metode untuk menunjukkan bahasa dan
pengkodean mana yang digunakan.

Introduction to Database System


• Extensible. Tidak seperti HTML, XML adalah extensible yang memungkinkan
pengguna untuk menentukan tag mereka sendiri untuk memenuhi persyaratan aplikasi
khusus mereka sendiri.
• Reuse. Extensibility juga memungkinkan pustaka dari tag XML untuk dibangun sekali
dan digunakan kembali oleh banyak aplikasi.
• Pemisahan konten dan presentasi. XML memisahkan isi dokumen dari bagaimana
dokumen akan disajikan (seperti di dalam browser). Ini memfasilitasi tampilan data
yang disesuaikan — data dapat dikirimkan ke pengguna melalui browser yang dapat
disajikan dengan cara yang disesuaikan, mungkin berdasarkan faktor-faktor seperti
preferensi atau konfigurasi pengguna. Sama halnya dengan Java yang kadang-kadang
disebut sebagai bahasa "tulis sekali, jalankan di mana saja", XML disebut sebagai
bahasa "tulis sekali, terbitkan di mana saja", dengan fasilitas seperti stylesheet yang
memungkinkan dokumen XML yang sama menjadi diterbitkan dengan cara berbeda
menggunakan berbagai format dan media.
• Improved load balancing. Data dapat dikirim ke browser pada desktop untuk komputasi
lokal, komputasi offloading dari server dan dengan demikian mencapai load balancing
yang lebih baik.
• Dukungan untuk integrasi data dari berbagai sumber. Kemampuan untuk
mengintegrasikan data dari berbagai sumber heterogen sangat sulit dan memakan
waktu. Namun, XML memungkinkan data dari berbagai sumber digabungkan dengan
lebih mudah. Agen perangkat lunak dapat digunakan untuk mengintegrasikan data dari
database backend dan aplikasi lain, yang kemudian dapat dikirimkan ke klien atau
server lain untuk diproses lebih lanjut atau presentasi.
• Kemampuan untuk mendeskripsikan data dari berbagai macam aplikasi. Karena XML
dapat dikembangkan, XML dapat digunakan untuk mendeskripsikan data yang terdapat
dalam berbagai macam aplikasi. Selain itu, karena XML membuat data yang
menggambarkan dirinya sendiri, data dapat diterima dan diproses tanpa perlu deskripsi
data yang sudah ada di dalamnya.
• Mesin pencari yang lebih canggih. Saat ini, mesin pencari bekerja pada informasi yang
terkandung dalam metatag HTML atau pada kedekatan satu kata kunci dengan kata

Introduction to Database System


kunci lainnya. Dengan XML, mesin pencari hanya akan dapat menguraikan tag-tag
deskripsi.
• Kesempatan baru. Mungkin salah satu keuntungan besar XML adalah kekayaan
peluang yang kini disajikan oleh teknologi baru.

Gambar 8.3 Contoh XML untuk merepresentasikan informasi Staff


(Source: Connoly & Begg (2015)

Dokumen XML dimulai dengan deklarasi XML opsional, yang dalam contoh kami
menunjukkan versi XML yang digunakan untuk menulis dokumen (1.1), sistem pengkodean
yang digunakan (UTF-8 untuk Unicode), dan apakah ada deklarasi markup eksternal yang
direferensikan.
Elemen, atau tag, adalah bentuk markup yang paling umum. Elemen pertama harus
merupakan elemen root, yang dapat mengandung elemen lain (sub). Dokumen XML harus
memiliki satu elemen root, dalam contoh kami <STAFFLIST>. Elemen dimulai dengan tag
awal (misalnya, <STAFF>) dan diakhiri dengan tag akhir (misalnya, </ STAFF>). Elemen
XML bersifat case-sensitive, jadi elemen <STAFF> akan berbeda dari elemen <staff>
(perhatikan bahwa ini tidak terjadi dengan HTML). sebuah elemen dapat kosong, dalam hal ini

Introduction to Database System


dapat disingkat menjadi <EMPTYELEMENT />. Elemen harus dituliskan bersarang dengan
baik, seperti yang diilustrasikan dalam 9.3
<STAFF>
<NAME>
<FNAME>John</FNAME><LNAME>White</LNAME>
</NAME>
</STAFF>

Dalam hal ini, elemen NAME sepenuhnya bersarang di dalam elemen STAFF dan elemen
FNAME dan LNAME bersarang di dalam elemen NAME.
Atribut adalah pasangan nama-nilai yang berisi informasi deskriptif tentang suatu
elemen. Atribut ditempatkan di dalam tag-mulai setelah nama elemen yang sesuai dengan nilai
atribut yang dilampirkan dalam tanda kutip. Sebagai contoh, kami telah memilih untuk
mewakili cabang yang anggota staf bekerja di menggunakan atribut branchNo dalam elemen
STAFF:
<STAFF branchNo = "B005">

Kami bisa mewakili cabang sama baiknya dengan subelemen STAFF. Jika kami harus
mewakili jenis kelamin dari staff, kami dapat menggunakan atribut dari elemen kosong;
sebagai contoh:
<SEX gender = "M"/>

Entitas memiliki tiga tujuan utama:


• Sebagai cara pintas untuk teks yang sering diulang atau untuk memasukkan isi file
eksternal.
• Untuk memasukkan karakter Unicode secara bebas ke dalam teks (misalnya, untuk
mewakili karakter yang tidak dapat diketik langsung pada keyboard).
• Untuk membedakan karakter yang dipesan oleh konten. Misalnya, kurung sudut kiri
(<) menandai awal dari tag awal atau tag akhir suatu unsur. Untuk membedakan simbol
ini dari konten yang sebenarnya, XML telah memperkenalkan entitas tersebut, dengan
diganti oleh simbol “<.”

Introduction to Database System


Setiap entitas harus memiliki nama yang unik, dan penggunaannya dalam dokumen XML
disebut referensi entitas. Referensi entitas dimulai dengan ampersand (&) dan diakhiri dengan
titik koma (;), misalnya, & lt;.
Komentar diapit dalam tag <! - dan -> dan dapat berisi data apa pun kecuali string literal
"-." Komentar dapat ditempatkan di antara markup di mana saja dalam dokumen XML,
meskipun prosesor XML tidak berkewajiban untuk mengirimkan komentar ke aplikasi.

Document Type Definitions


DTD adalah menentukan sintaks dokumen XML yang valid. DTD akan mendefinisikan
sintaks yang valid dari dokumen XML dengan mencantumkan nama elemen yang dapat terjadi
dalam dokumen, elemen mana yang dapat muncul dalam kombinasi dengan yang lain,
bagaimana elemen dapat disarangkan, atribut apa yang tersedia untuk setiap tipe elemen, dan
sebagainya. Istilah kosakata terkadang digunakan untuk merujuk pada elemen yang digunakan
dalam aplikasi tertentu. Tata bahasa ditentukan menggunakan EBNF (Extended Backus-Naur
Form), bukan sintaks XML.

Gambar 9.4 DTD untuk XML (Source: Connoly & Begg (2015)

XML Query Language


Ekstraksi data, transformasi, dan integrasi adalah masalah basis data yang dipahami
dengan baik yang bergantung pada bahasa query. Dua bahasa standar untuk DBMS yang kami
periksa di bagian awal buku ini — SQL dan OQL — tidak langsung diterapkan ke XML karena
ketidakteraturan data XML. Namun, data XML mirip dengan data semistructured yang kami
periksa dalam Bagian 30.1. Ada banyak bahasa query semiterstruktur yang dapat digunakan

Introduction to Database System


untuk permintaan dokumen XML, termasuk XML-QL (Deutsch et al., 1998), UnQL (Buneman
et al., 1996), dan XQL dari Microsoft (Robie et al., 1998) . Bahasa-bahasa ini memiliki gagasan
ekspresi jalur untuk menavigasi struktur bersarang XML. Sebagai contoh, XML-QL
menggunakan struktur seperti-XML bersarang untuk menentukan bagian dari dokumen yang
akan dipilih dan struktur hasil XML. Untuk menemukan nama keluarga staf yang
berpenghasilan lebih dari £ 30.000, kita bisa menggunakan kueri berikut:

WHERE <STAFF>
<SALARY>$S</SALARY>
<NAME><FNAME>$F</FNAME> <LNAME>$L</LNAME></NAME>
</STAFF> IN "http://www.dreamhome.co.uk/staff.xml"
$S > 30000
CONSTRUCT <LNAME>$L</LNAME>

Extending Lore and Lorel to Handle XML


Kami memperkenalkan Lore dan Lorel di Bagian sebelumya. Dengan munculnya
XML, sistem Lore telah bermigrasi untuk menangani XML (Goldman et al., 1999). Dalam
Lore terbaru XML telah berbasis data model, elemen XML adalah pasangan (eid, value), di
mana eid adalah pengenal elemen unik dan value adalah string atau nilai kompleks yang berisi
salah satu dari berikut ini:
• Tag string bernilai yang sesuai dengan tag XML untuk elemen itu.
• Daftar urutan nama atribut dan pasangan nilai, dengan nilai tipe dasar (misalnya, integer
atau string) atau ID, IDREF, atau IDREFS.
• Daftar urutan sub-tautan silang dari formulir (label, eid), di mana label adalah string
(sub-tautan silang diperkenalkan menggunakan IDREF atau IDREFS).
• Daftar urutan dari sub-elemen normal dari form (label, eid), di mana label adalah string
(subelements normal diperkenalkan menggunakan lexical nesting dalam dokumen
XML).

Introduction to Database System


Gambar 9.5 XML Dokumen Lore (Source: Connoly & Begg (2015)

Komentar dan spasi di antara elemen yang ditandai diabaikan, dan bagian CDATA
diterjemahkan ke dalam elemen teks atom. Gambar 9.3 mengilustrasikan pemetaan dari
dokumen XML pada Gambar 9.4 ke model data. Menariknya, Lore mendukung dua tampilan
data XML: semantik dan literal. Dalam mode semantik, database dilihat sebagai grafik yang
saling berhubungan dengan atribut IDREF dan IDREFS yang dihilangkan, dan perbedaan
antara subelemen dan tepi lintas tautan dihapus. Dalam mode literal, IDREF dan atribut
IDREFS hadir sebagai string tekstual dan tepi-tepi silang dihapus, sehingga database selalu
berupa pohon. Pada Gambar 9.5, tepi subelemen adalah sisi-sisi yang solid dan tepi-tepi silang
putus; Atribut IDREF ditampilkan dalam {}.
Lorel
Konsep ekspresi lintasan telah diperluas dalam versi XML dari Lorel untuk
memungkinkan navigasi dari kedua atribut dan sub-elemen, dibedakan oleh penentu ekspresi
lintasan (">" untuk pencocokan subelemen saja dan "@" untuk atribut). Ketika tidak ada
kualifikasi yang diberikan, atribut dan sub-elemen akan dicocokkan. Selain itu, Lorel telah
diperpanjang sehingga ekspresi [rentang] dapat secara opsional diterapkan ke komponen atau
variabel ekspresi jalur (rentang adalah daftar angka dan / atau rentang tunggal, seperti [1-3],
7).

Introduction to Database System


Contoh:
SELECT s.NAME.LNAME
FROM DREAMHOME.STAFF s
WHERE s.SALARY > 30000

Introduction to Database System


SIMPULAN

Kesimpulan dari materi ini adalah:


1. Data semistruktur adalah data yang memiliki beberapa struktur, tetapi strukturnya
mungkin tidak kaku, teratur, atau lengkap dan umumnya data tidak sesuai dengan
skema tetap.
2. Salah satu model yang diusulkan untuk semistructured data adalah Object Exchange
Model (OEM), model objek bertingkat. Data dalam OEM dapat dianggap sebagai grafik
berarah berlabel dimana simpul adalah objek. Objek OEM terdiri dari pengenal objek,
label tekstual deskriptif, tipe, dan nilai.
3. Contoh dari DBMS semiterstruktur adalah Lore (Lightweight Object REpository),
DBMS multi-pengguna, mendukung pemulihan kerusakan, tampilan terwujud,
pemuatan massal file dalam beberapa format standar (XML didukung), dan bahasa
pembaruan deklaratif yang disebut Lorel. Lore juga memiliki pengelola data eksternal
yang memungkinkan data dari sumber eksternal diambil secara dinamis dan
dikombinasikan dengan data lokal selama pemrosesan query. Lorel, ekstensi untuk
OQL, mendukung ekspresi jalur deklaratif untuk melintasi struktur grafik dan
pemaksaan otomatis untuk menangani data heterogen dan typeless data.
4. XML (eXtensible Markup Language) adalah meta bahasa (bahasa untuk
mendeskripsikan bahasa lain) yang memungkinkan desainer untuk membuat tag
kustom mereka sendiri untuk menyediakan fungsionalitas yang tidak tersedia dengan
HTML. XML adalah bentuk terbatas dari SGML yang dirancang sebagai bahasa
markup yang kurang kompleks daripada SGML yang, pada saat yang sama, jaringan-
sadar.

Introduction to Database System


DAFTAR PUSTAKA

Connolly, T., & Begg, C. (2015). Database System A Practical Approach to Design,
Implemetation, and Management 6th Edition. Pearson

Introduction to Database System

Anda mungkin juga menyukai