Basis Data dan Sistem Basis Data
Basis
Data adalah suatu kumpulan data terhubung yang disimpan secara bersama-sama
pada suatu media, yang diorganisasikan berdasarkan sebuah skema atau struktur
tertentu, dan dengan software untuk melakukan manipulasi untuk kegunaan
tertentu.
Sistem
Basis Data merupakan sekumpulan basis data dengan para pemakai yang menggunakan
basis data secara bersama-sama, personil yang merancang dan mengelola basis
data, teknik-teknik untuk merancang dan mengelola basis data, serta sistem
komputer yang mendukungnya.
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.
Integritas Data
Integritas data adalah menjamin konsistensi data
terhadap semua konstrain yang diberlakukan terhadap data tersebut, sehingga
memberikan jaminan keabsahan data itu sendiri. Tujuannya adalah menjaga data
agar data yang tidak valid tidak masuk ke database. Menjaga konsistensi data
pada relasi keterkaitan antar tabel.
Integritas data menjamin kualitas data
dalam database, mencakup :
ü
menjamin keutuhan data
ü
menjamin agar perubahan terhadap basis
data tidak menghasilkan inkonsistensi data
ü
menjamin agar basis data tidak mengalami
kerusakan secara tidak sengaja
Menjaga Integritas Data Itu Apa?
ü Memasukkan aturan bisnis di dalam
database. Contoh: NIM tidak boleh kosong; UMUR harus antara 0 – 120, dst.
ü Menjaga agar data yang tidak valid
tidak masuk ke database
ü Menjaga konsistensi data pada relasi
keterkaitan antar table
Mengapa Harus Melakukan Ini?
ü Lebih murah dan mudah menjaga data
integrity di level database dibandingkan ditangani di aplikasi.
ü Bugs akibat isi database yang tidak
valid sulit untuk ditemukan (dapat muncul di kemudian hari).
Jenis-jenis Integritas Data :
ü Domain integrity (Integritas
jangkauan nilai)
Tidak ada item data yang melanggar
jangkauan nilai di tiap kolom data.
ü Integrity Entity (Integritas Entitas)
Tidak ada
baris data duplikat dalam satu tabel.
ü Integrity Referential (Integritas
acuan)
Menjaga
relasi atau korespondensi antar tabel.
ü Redudant Data Integrity (Integritas
Data Antar Tabel)
Data di
sebuah tabel tidak berulang di tabel lain.
ü Bussiness Rule Integrity (Integritas
Aturan Nyata)
Data di suatu
tabel harus memiliki nilai yang layak dan dapat diterima ditempat sistem basis
data itu diterapkan. Integritas jenis ini bersifat kasuistis, artinya
sangat bergantung pada jenis data, lokasi, lingkungan, dan waktu penerapan
basis data.
ü Membuat Constraint
Constraint
merupakan suatu aturan yang membatasi jenis data yang diijinkan untuk
dimasukkan ke dalam tabel.
Constraint Classification (Tipe-tipe Constraint) :
ü PRIMARY KEY Constraint
Berguna 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 foreign key pada suatu tabel. Foreign Key digunakan
untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi
beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary key
pada suatu tabel.
ü UNIQUE Constraint
Digunakan
untuk menjamin bahwa data pada suatu kolom atau beberapa kolom tidak diijinkan
sama.
ü CHECK Constraint
Digunakan
untuk membatasi suatu nilai pada kolom dengan nilai tertentu yang diijinkan
masuk.
ü DEFAULT Constraint
Merupakan
atribut opsional yang digunakan untuk memberikan suatu nilai tertentu pada
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
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
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
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
Back End Programming merupakan bagian
penting dalam pembuatan suatu aplikasi
baik berupa aplikasi desktop, web ataupun mobile. trigger atau bahkan
stored procedure. Stored Procedure dan Trigger adalah back and programming
dalam oracle PL/SQL. Stored Procedure adalah sebuah kelompok kode SQL yang
di simpan di katalog database dan dapat di panggil kemudian oleh program.
Stored Procedure
Stored procedure
merupakan salah satu jenis PL/SQL yang memiliki kemampuan menerima parameter input, melakukan
pengolahan terhadap parameter input tersebut dan menampilkannya. Stored procedure
dapat memeiliki parameter input atau
tidak memiliki parameter. Parameternya dapat berupa input, output, dan gabungan
input output.
Komponen
stored procedure :
CREATE OR REPLACE PROCEDURE nama_prc AS
bagian deklarasi
variabel dan tipe data
BEGIN
bagian
prosedural dan SQL, bagian ini wajib diisi
EXCEPTION
penanganan
eksepsi (Opsional)
END nama_prc;
/
Untuk mengeksekusi prosedur yang telah
dibuat: EXEC nama_prc;
Untuk mengatur agar output dapat
terlihat: SET SERVEROUTPUT ON;
Untuk menghapus stored procedure dari
database: DROP PROCEDURE nama_prc;
Function
Function atau
lebih sering disebut Stored Function merupakan salah satu modul dari PL / SQL yang dapat mempermudah melakukan
pengolahan suatu nilai dan mengembalikan nilai tertentu.
Struktur
badan Function secara umum:
CREATE OR REPLACE FUNCTION <nama
fungsi> RETURN <tipe data> AS
/*Deklarasi
variable, type, dan local subprogram*/
BEGIN
/*Bagian utama
fungsi*/
EXCEPTION
/*Penangan
error*/
RETURN(<Nilai yang dikembalikan>);
END <nama fungsi>;
/
Untuk mengeksekusi fungsi gunakan
perintah : EXECUTE <nama function>;
Sedangkan untuk menghapusnya menggunakan
perintah : DROP FUNCTION <nama function>;
Cursor
Cursor berfungsi
untuk menangkap / mengambil banyak data yang banyaknya telah ditentukan sesuai kebutuhan. Cursor digunakan
dalam script PL/SQL untuk menampilkan data yang tersimpan di dalam database.
Berikut
merupakan macam - macam cara penulisan cursor sesuai dengan penggunaan:
deklarasi cursor
Declare
ü Cursor_1
sys_refcursor;
ü Cursor cursor_2
is select nilai *from latihan;
ü Cursor cursor_3
(key integer) is select *from latihan where nilai=key;
Catatan:
ü Cursor_1 bertipe
data refcursor dan dapat digunakan untuk semua query.
ü Cursor_2 adalah
cursor yang memiliki query.
ü Cursor_3 adalah
cursor yang memiliki query dan sekaligus parameter. Key akan digantikan dengan nilai bertipe integer saat
cursor di buka / dieksekusi.
Trigger
Trigger
merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan
teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT, DELETE, UPDATE) terhadap table, view
dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai
kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan
terjaga.
Struktur
badan Trigger secara umum:
CREATE OR REPLACE TRIGGER <nama
trigger>
(BEFORE|AFTER) (INSERT|UPDATE [OF
<nama_kolom>, …]|DELETE) ON <nama_tabel>
[FOR EACH ROW] [WHEN (kondisi)]
DECLARE
/*Deklarasi
variable, tipe data*/
BEGIN
/*Bagian utama
trigger*/
END;
/
Trigger ini
memiliki status apakah dia aktif atau nonaktif. Untuk mengubah status Trigger
berikut sintaksnya :
ü ALTER TRIGGER
<nama_trigger> DISABLE | ENABLE; dimana DISABLE untuk menonaktifkan
Trigger, dan ENABLE untuk mengaktifkan Trigger.
ü Sintaks untuk
menghapus Trigger :
ü DROP TRIGGER
<nama_trigger>;
XML
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.
Keuntungan XML :
ü Ekstensibilitas
: dapat ditukar/digabung dengan dokumen XML lain
ü Memungkinkan
pemrograman yang lebih baik: maka dibuat suatu software pengolah XML
ü Memisahkan
data dan presentasi. Yang akan direpresentasikan dalam XML dan XSLT
ü Pencarian
data cepat karena XML merupakan data dalam format yang terstruktur
ü Plain
Text dan platform independent
ü Untuk
pertukaran data
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.
Daftar Pustaka
Perkuliahan Sistem Basis Data oleh Bapak Budi Laksono Putro, M.T.
Powerpoint Budi Laksono Putro, Modul Pengantar Basis Data Materi Pertama
Powerpoint Yudi Wibisono, Integritas data,Transaksi,Concurency
Modul Praktikum Sistem Basis Data Procedure, Function & Cursor, Trigger
http://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-basis.html
http://ghea-gayatri.blogspot.com/2012/03/integritas-data-dalam-basis-data.html
http://simbuda.blogspot.co.id/2013/05/integritas-data.html
https://id.wikipedia.org/wiki/XML
http://porsot.org/2014/09/pengertian-dan-kegunaan-xml-extensible-markup-language/
http://andrey-derma.com/article/detail/26/Menggunakan-cursor-di-database-oracle
http://www.haritsthinkso.com/2010/01/pengertian-trigger-pada-sql.html
http://gibranrabbany.blogspot.co.id/2013/10/integritas-data-dalam-basis-data.html
Perkuliahan Sistem Basis Data oleh Bapak Budi Laksono Putro, M.T.
Powerpoint Budi Laksono Putro, Modul Pengantar Basis Data Materi Pertama
Powerpoint Yudi Wibisono, Integritas data,Transaksi,Concurency
Modul Praktikum Sistem Basis Data Procedure, Function & Cursor, Trigger
http://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-basis.html
http://ghea-gayatri.blogspot.com/2012/03/integritas-data-dalam-basis-data.html
http://simbuda.blogspot.co.id/2013/05/integritas-data.html
https://id.wikipedia.org/wiki/XML
http://porsot.org/2014/09/pengertian-dan-kegunaan-xml-extensible-markup-language/
http://andrey-derma.com/article/detail/26/Menggunakan-cursor-di-database-oracle
http://www.haritsthinkso.com/2010/01/pengertian-trigger-pada-sql.html
http://gibranrabbany.blogspot.co.id/2013/10/integritas-data-dalam-basis-data.html


