Saturday, 15 June 2013

2.1.      Konsep Dasar Sistem Basis Data

 Apa itu Data, Basis, Basis Data (Database), dan Sistem Basis Data (Database System) ?

Data : Representasi fakta dunia nyata yang mewakili suatu objek
Basis : Representasi sistem terpusat diartikan sebagai, sarang atau markas (base) bagi data
Basis Data : Kumpulan dari berkas data (integrated collection of data) yang memiliki kaitan satu dengan lainnya, dan dibuat untuk memenuhi kepentingan banyak pemakai pada suatu organisasi
Sistem Basis Data : Sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, perancang dan pengelola basis data, serta system yang mendukungnya
               
 Sistem Basis Data memungkinkan pengolahan basis data menjadi lebih berkualitas dengan manajemen pengolahan datanya.

2.2       Integritas Data (Data Intergrity)


            Informasi yang disimpan pada database dapat dikatakan berkualitas jika DBMS (Database Management System) mencegah pemasukan data yang tidak benar. Diperlukan Constraint atau batasan yang jelas tentang data yang hendak disimpan.


Untuk apa diperlukan data integrity?
Data Integrity mengacu kepada konsistensi dan akurasi data yang disimpan dalam basis data, data yang invalid tidak masuk ke database.
Contoh Integritas Data
-          Nilai Induk Mahasiswa tidak boleh dikosongkan pada tabel data mahasiswa.
-          Umur harus berupa angka antara 0 – 120


Jenis Integritas Data (SQL)
CREATE DOMAIN -> tipe baru
NOT NULL -> field value tidak boleh dikosongkan atau harus diisi
UNIQUE -> kode unik tiap row data contoh : kode_dosen
PRIMARY KEY -> kode unik tiap row yang dijadikan acuan konsistensi relasi antar tabel
CHECK -> pemeriksaan kondisi data , contoh 0<jumlah anak<5 , jumlah anak diantara 1-4
REFERENTIAL INTEGRITY -> integritas pada relasi antar tabel

2.3.      Pengelolaan Transaksi


Transaksi data diperlukan untuk melindungi database dari kehilangan dan kerusakan data ketika proses basis data.
Contoh kasus:
-          Sistem crash ketika program dieksekusi dan database berada pada state yang tidak diketahui
-          Dua program yang mengakses data yang sama dijalankan bersamaan sehingga saling mengganggu.
Operasi Transaksi
COMMIT -> menandakan transaksi telah selesai dan update atau perubahan dibuat permanen
ROLLBACK -> menandakan transaksi telah gagal dan update atau perubahan di-undo

Contoh Transaksi?
BEGIN TRANSACTION;
                update nasabah
                set saldo = saldo – 1000000
                where nomor = 111;
                IF <ada error> GOTO UNDO;

                update nasabah
                set saldo = saldo + 1000000
                where nomor = 222;
                IF <ada error> GOTO UNDO;
                COMMIT;
                GOTO FINISH;
UNDO: ROLLBACK;
FINISH: return;

2.4.      Concurrency


Dengan Concurrency, DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama dan transaksi tidak saling mengganggu.
Masalah Concurreny
-          Lost Update Problem - Data yang telah di  Retrieve pada transaksi A melakukan Updating pada Transaksi B
-          Uncomitted dependency problem - Data belum melakukan COMMIT, dilakukan ROLLBACK data
-          Incosistent analysis problem - Data tidak konsisten
Elemen Concurrency
-          Locking – Jika transaksi menginginkan record tidak berubah dalam waktu tertentu, lock request akan diminta
-          Deadlock – Situasi dimana dua atau lebih transaksi dalam kondisi wait-state/lock, jalan keluar : release lock atau melepaskan lock.
-          Isolation Level – derajat pengaruh antar transaksi (dirty read, nonrepeatable read, Phantoms)

2.5.      Back-end Programming


                                Di dalam database dikenalkan teknik pemrograman Stored Procedure dan Trigger yang dinamakan Backend Programming.
Stored Procedure
Penggunaan Procedure atau function di dalam database.

Struktur Stored Procedure (PL/SQL)
CREATE OR REPLACE <<PROCEDURE/FUNCTION>>  <<NAMA PROCEDURE>>  AS
                <<DEKLARASI VARIABLE>>
BEGIN
                <<DEKLARASI ALGORITMA>>
END;



Trigger
Bentuk khusus dari Stored Procedure dan dipanggil pada event kejadian tertentu :
-          BEFORE/AFTER INSERT
-          BEFORE/AFTER DELETE
-          BEFORE/AFTER UPDATE

Struktur Trigger
CREATE OR REPLACE TRIGGER  <<NAMA TRIGGER>>
AFTER DELETE OR INSERT OR UPDATE ON <<NAMA TABLE>>
DECLARE
                <<DEKLARASI VARIABLE>>
BEGIN
                <<DEKLARASI ALGORITMA>>
END;

2.6.      XML


XML (Extensible Markup Language) berfungsi sebagai Marking up untuk dokumen yang mengandung informasi terstruktur. Menjadi pertukaran dokumen via web. Standard de-facto untuk pertukaran data, penyimpanan data, pendeskripsian data.
Dengan struktur yang independen tergantung kebutuhan pengguna. Digunakan XML Parser untuk penerjemahan data.

Struktur XML
Tag : Didefinisikan sendiri tergantung pengguna

<nama>jidni</nama>


Atributte : Atribut yang dimiliki tag

<daftar_mahasiswa jumlah=”30”>…</daftar_mahasiswa>



Hierarchy : Nested tag

<mahasiswa>
     <nama>jidni</nama>
</mahasiswa>


Spesifikasi
-          DTD -> Document Type Declaration
-          XML Scheme -> Pengembangan dari DTD
-          XSL -> Extensible Style Language, bagaimana XML ditampilkan

2.7.      Database Security


Keamanan basis data sangat diperlukan untuk menjaga agar data tetap aman dan terjaga keberadaaanya.
Aspek Keamanan Basis Data
-          Network security  - Keamanan Jaringan.
-          Application security – Keamanan Aplikasi database.
-          Computer security – Keamanan computer (end-user).
Hal yang penting diperhatikan dalam Keamanan Basis data
-          Privacy / confidentiality – Proteksi data yang bersifat pribadi yang sensitive (Sniffer Shield)
-          Integrity – Proteksi terhadap data yang dirubah (Spoof, virus, Trojan Shield)
-          Authentication – Proteksi terhadap autentikasi palsu seperti password palsu
-          Availability – Proteksi terhadap ketersediaan data (server hang, down, crash terhadap serangan DoS (Denial of Service) Attack)
-          Non-repudiation – Proteksi terhadap penyangkalan data (Deception)
-          Access control – Proteksi terhadap penyalahgunaan hak akses privilege user (intruder attack)
Operasi Keamanan Basis Data
-          GRANT – memberikan kewenangan terhadap user

-          REVOKE – mencabut kewenangan terhadap user

No comments:

Post a Comment