UAS
Sistem Basis Data
NIM: 1403972
Nama: Wildan Lukman Hakim
Kelas: KOM 3B 2014
Alamat Blog: wildzdrago.blogspot.co.id
Materi
1. Sebutkan
perbedaan basis data dan sistem basis data!
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.
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)
- Sistem
Operasi (Operating Sistem)
- Basis
data (Database)
- 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).
- Aplikasi
atau Perangkat Lunak yang lainnya.
- 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.
2. Apa itu integritas
data?
Integritas Data
secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas
data sangat penting karena dapat memastikan keakuratan, konsistensi,
aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting
untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai
integritas identik di pertahankan selama operasi apapun (seperti bisnis
transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah
bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan
dapat dirujukan.
Contoh :
Dari mekanisme integritas data adalah hunbungan orang tua
dan anak dengan record terkait. Jika dalam catatan orangtua memiliki satu
atau lebih dari catatan anak terkait semua proses integritas referensial akan
ditangani oleh database itu sendiri, yang secara otomatis menjamin keakuratan
dan integritas data sehingga tidak ada catatan anak bisa ada tanpa orang tua
(atau disebut juga yatim piatu) dan bahwa tidak ada orangtua kehilangan catatan
anak mereka. Ini juga menjamin bahwa tidak ada catatan induk dapat dihapus
sementara orangtua memiliki record setiap anak. Semua ini ditangani pada
tingkat database dan tidak memerlukan coding cek integritas ke dalam setiap
aplikasi.
Integritas Data dapat Di kelompokan menjadi 2 bagian :
1. Integritas data yang berada dalam relasi, yaitu
integritas entitas dan integritas domain.
2. Integritas yang berada di luar relasi, yaitu
integritas referensial
Selain itu ada juga integritas yang ditentukan sendiri di
dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user
Defined Integrity).
Secara garis besar integritas data dalam model relasional
meliputi :
1. Integritas Entitas
2. Integritas Domain
3. Integritas Referensial
4. Integritas Enterprise
INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai
sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada
baris yang di duplikat didalam suatu tabel.
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));
INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan
dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah
kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai
di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data
Contoh :
Create table biografi
(idpenulis smallint
unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)
INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel
yaitu antara foregin key dengan promary key. Integritas referensial memastikan
bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang
dihubungkanya.
Contoh :
create table account
(account-number char
(10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)
create table depositor
(costumer-name char
(20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update
cascade
INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan
spesifik business rules sendiri yang tidak sama pada kategori integritas yang
lainnya.
3. Pengertian Transaksi
dan Concurrency
Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun
lojik recovery 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)
·
Rollback, memberi tanda bahwa transaksi gagal.
Semua update harus di-undo
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 merecovery database secara backward (undo) maupun forward (redo).
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
·
Uncommited dependency problem, ketika user yang satu
meretrieve data dan user yang lain merollback data tersebut
·
Inconsistent analysis problem, ketika user yang satu
meretrieve data dan user yang lain mengupdate data tersebut
Untuk menangani masalah tersebut,
dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak
berubah dalam waktu tertentu maka dia meminta lock. Ada dua jenis lock yaitu :
·
Exclusive Lock (Xlock) à write lock
·
Shared Lock (Slock) à read lock
Jadi 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 :
o Permintaan Xlock
transaksi lain pada R ditolak
o 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
4. Back end Programming
Back end itu
dibelakang dan programming itu
pemogramman. Jadi, suatu program yang bekerja dibelakang atau yang tidak
dilihat oleh user. Contohnya dalam sistem basis data itu seperti PL/SQL. PL/SQL
itu dirancang khusus untuk pengolahan mulus dari perintah SQL. Ini memberikan
sintaks khusus untuk tujuan ini dan mendukung persis datatypes sama seperti
SQL. Server-side PL / SQL disimpan dan disusun dalam Oracle Database dan
berjalan dalam executable Oracle. Secara otomatis mewarisi ketahanan, keamanan,
dan portabilitas Oracle Database.
Kelebihan PL/SQL
Blok PL/SQL juga
mempunyai kelebihan tersendiri. Beberapa kelebihannya, antara lain adalah :
- Integritas ketat dengan SQL
- Performa yang lebih baik
- Produktifitas yang lebih tinggi
- Portabilitas penuh
- Keamanan ketat
- Akses ke paket-paket yang telah di tentukan
- Dapat mendukung pemograman berorientasi objek dan
mendukung pengembangan halaman dan aplikasi web dan server pages (PSPs).
Struktur PL/SQL
Blok PL/SQL
mempunyai struktur yang dibagi menjadi 3 bagian. Berikut ini strukturnya,
antara lain :
- Declaration Section (DECLARE)
- Execution Section (BEGIN, END)
- Exception Section (EXCEPTION)
Komponen Utama PL/SQL
PL/SQL
mempunyai komponen utama. Ada 3 komponen utama dalam blok PL/SQL, antara lain
adalah :
- Annonymous Blok
->Anonymous block ini tidak dibuat (CREATE) dan tak disimpan pada
database, biasanya dijalankan dari dalam aplikasi.
- Strored Subprogram
-> PL/SQL Block ini yang dipanggil dengan sekumpulan parameter. PL/SQL
memiliki dua jenis subprogram yaitu: procedure dan function. Secara umum
procedure digunakan untuk melaksanakan aksi dan function
digunakan untuk komputasi suatu nilai.
- Trigger
-> blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika
kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada
sebuah tabel. Trigger itu mempunyai event, nah event itu telah yang
menandakan bahwa trigger harus dijalankan.
CURSOR
Cursor itu sama seperti select pada SQL. Cursor mempunyai 3 macam, yaitu
antara lain :
- Cursor yang bertipe data refcursor dan dapat digunakan
untuk semua query
- Cursor yang memiliki query
- Cursor yang memilik query dan sekaligus berparameter.
5. XML
Pengertian XML
XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML
(Standart Generalized Markup Language) yang ada sebelumnya. XML hampir
sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML
dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide
Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri
telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada
tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan
berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah
hebatnya dengan SGML.
Secara sederhana XML adalah suatu bahasa yang digunakan untuk mendeskripsikan
dan memanipulasi dokumen secara terstruktur. Secara teknis XML didefinisikan
sebagai suatu bahasa meta-markup yang menyediakan format tertentu untuk
dokumen-dokumen yang mempunyai data terstruktur. Bahasa markup adalah mekanisme
untuk mengenal secara terstruktur di dokumen. XML adalah suatu aplikasi profil
dari SGML. Seperti yang didefinisikan dari ISO 8879, SGML adalah cara standart
dan vendor-independent.
XML tidak mempunyai definisi secara tepat karena ada yang berpendapat bahwa XML
bukanlah suatu bahasa pemrograman,melainkan XML merupakan sintaks yang
digunakan untuk menjelaskan bahasa markup lain (Dournaee,2002), sehingga
dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan
bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk
tujuan terpisah. Selain itu XML bukanlah solusi semua hal untuk tujuan semua
user. Sedangkan peran dari markup itu sendiri berupa:
1. Markup dapat menambah maksud arti (semantic) suatu data.
2. Dapat memisahkan data.
3. Dapat mendefinisikan peran data.
4. Dapat mendefinisikan batasan data.
5. Dapat menfenisikan keterhubungan data.
XML merupakan sebuah himpunan bagian (subset) dari SGML yang bertujuan agar
SGML secara generik dapat melayani, menerima, dan memproses di dalam web dengan
cara seperti yang dimungkinkan HTML saat ini. XML didesain untuk kemudahan
implementasi dan interoperabilitas dengan SGML maupun HTML. XML adalah bahasa
markup yang dirancang untuk penyampaian informasi melalui World
Wide Web (www) atau sering disebut web saja. (W3C,2000)
XML merubah cara kita berpikir untuk mengembangkan suatu software terutama
aplikasi web. Masalah yang kita sekarang adalah bagaimana caranya untuk
bertukar informasi antar satu aplikasi dengan aplikasi lain. Kadang kolaborasi
antara satu aplikasi dengan aplikasi yang lain masih harus ditentukan dengan
spesifikasi aplikasi tersebut. Padahal seharusnya kita hanya perlu mendapatkan
informasi data bukan mengerti cara kerja aplikasi lain itu, disinilah visi
internet yang belum tercapai. Visi ini adalah dunia internet dimana PC, server,
smart devices dan internet-based device dapat berkolaborasi tanpa ada halangan.
Bisnis-bisnis akan dapat bertukar data menyediakan customized dan comprehensive
solusi kepada customer. Dan yang paling utama adalah informasi yang dibutuhkan
dapat diakses dari mana saja dan dengan computing device, platform, atau
aplikasi yang kita gunakan. XML dapat memungkinkan pertukaran informasi atau
data antar device (server, PCs, smart device, aplikasi, dan situs web). Data
ini akan menjadi independent (unlocked), memudahkannya untuk diorganisir, diprogram,
dan dirubah, dan ditukar antar situs web atau aplikasi apa saja. Karena
kebutuhan ini, maka makin banyak teknologi berbasis XML yang
keluar. Contohnya adalah SOAP (Simple Project Acces Protocol) dan UDDI
(Universal Description Discovery and Integration).
Contoh program XML:
·
Sebuah contoh dokumen XML seperti pada
contoh dibawah ini dan simpan kedalam filecontoh1.xml :
<?xml version="1.0"?>
<product
barcode="2394287410">
<manufacturer>Verbatim</manufacturer>
<name>DataLife MF 2HD</name>
<quantity>10</quantity>
<size>3.5"</size>
<color>black</color>
<description>floppy
disks</description>
</product>
·
jika dokumen tersebut kita buka
menggunakan web browser, maka tampak seperti gambar dibawah ni :
·
Dokumen diatas menjelaskan sebuah data
produk yang ada pada suatu supermarket. Produk tersebut memiliki kode
barcode= 2394287410,manufacturer=Verbatim, name=DataLife MF 2HD,
quantity=10, size=3.5", color=black, description=floppy disks.
Sumber: