Wednesday, 25 November 2015

Sistem Basis Data

Sebelum mempelajari sistem basis data, akan lebiih baik jika kita ketahui terlebih dahulu apa itu 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. Sedangkan sistem basis data adalah suatu sistem penyusunan dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.
            Tujuan penggunaan sistem basis data antara lain:
1.      Mencegah data redudancy dan inconsistency
2.      Mempermudah dalam melakukan akses terhadap data
3.      Mempertimbangkan data isolation
4.      Mencegah concurent access anomaly
5.      Mempertimbangkan masalah keamanan data
6.      Mempertimbangkan masalah integritas
Bahasa basis data merupakan perantara bagi pemakai dengan basis data dalam berinteraksi, yang telah ditetapkan oleh pembuat DBMS. Dapat dibedakan menjadi 2, yaitu :
1. Data Definition Language (DDL)Dengan bahasa ini kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur tabel, dll. Hasil dari kompilasi perintah DDL menjadi Kamus Data, yaitu data yang menjelaskan data sesungguhnya. Contoh : Create, Modify report, Modify
2. Data Manipulation Language (DML)
Berguna untuk melakukan manipulasi dan pengambilan data pada suatu bsis data, yang berupa insert, update, delete, dll.
A.    Integritas 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

a.       Types of Data Integrity
Bagian ini menggambarkan atauran yang dapat 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).
B.     Transaksi dan Konkurensi
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 :
1.      Atomicity: Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya atau jika gagal , maka tidak berpengaruh apapun terhadap database.
2.      Consistency: Setiap transaksi adalah sebuah aksi kombinasi secara logikal dari sebuah state database yang konsisten ke state yang lain dengan tetap menjaga kekonsisten-an database tersebut.
3.      Isolation: Meskipun ada beberapa transaksi yang berlangsung bersamaan, masing-masing transaksi tidak boleh mengetahui transaksi lain yang sedang berlangsung. Hasil transaksi sementara harus disembunyikan dari transaksi lain yang sedang berlangsung . (level transparansi transaksi dapat di set).
4.      Durability: Setelah sebuah transaksi sukses dilakukan, perubahan-perubahan yang dibuatnya terhadap database bersifat permanen, bahkan jika terjadi kegagalan sistem sekalipun.
Dan ada dua jenis transaksi yang paling penting dalam sistem basis data adalah :
1.       Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).
2.      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 :
  1. Lost update problem, ketika dua user mengupdate dua buah data yang sama
2.       Uncommited dependency problem, ketika user yang satu meretrieve data dan user yang lain merollback data tersebut
3.  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 :
  1. Exclusive Lock (Xlock) -> write lock
  2. Shared Lock (Slock)  ->read lock
C.     Back end Programming
Back end Programming adalah program yang berjalan pada database secara otomatis ketika terjadi pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back end programming, yaitu dengan trigger dan stored procedure.
1.      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 tersebuh sehungga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger di dunia nyata adalah untuk mengset dan mengubah nilai kolom dalam seuatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga.
Manfaat trigger antara lain:
a.       Membuat integrity constraint yang kompleks
b.      Mencatat aktifitas suatu tabel(logging)
c.       Sinkonisasi 
2.      Stored procedure
Subprogram adalah PL/SQL blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: Procedure dan Function.
Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL dan bahasa prosedural. Beberapa kelebihan yang diperoleh dengan menggunakan stored procedure antara lain:
a.       Dijalankan di database server
b.      Tools DBA
c.       Dapat digunakan oleh banyak aplikasi
d.      Dapat menggunakan tipe, fungsi yang disediakan DBMS
e.       Powerfull, tool sangat penting bagi DB designer, DB programmer, dan DBA
f.       Hampir disupport semua DBMS
D.    XML
Xml adalah markup language seperti halnya HTML untuk dokumen yang mengandung informasi terstruktur da ditujukan untuk pertukaran dokumen via web. XML berbentuk file yang cross platform, independen terhadap software dan hardwaare.
1.      Tag didefinisikan sendiri
Donni
2.      Tag dapat mempunyai atribut
. . .

3.      Hirarki tag dalam tag
Ani
            Kelebihan XML:
1.      Self documenting
2.      Dapat dibaca software dan manusia
3.      Fleksibel
4.      Dapat dikembangkan tanpa melanggar format lama
5.      Hirarkis artinya dapat mempresentasikan data kompleks
6.      Independen terhadap bahasa pemrograman dan sistem operasi
Beberapa atuaran XML
1.      Setiap tag harus ada penutupnya
2.      Penamaan tag
a.       Case sensitive
b.      Tidak boleh diawali dengan angka
c.       Tidak boleh mengandung spasi
d.      Hindari penggunaan ‘-‘ dan ‘.’
3.      Urutan hirarki harus benar
4.      Setiap XML harus mengandung root (akar)


Sumber:
Perkuliahan Sistem Dasis Data UPI, yang diampu oleh bapak Budi Laksono Putro M.T.
Diktat Kuliah bapak Yudi Wibisono
http://simbuda.blogspot.co.id/2013/05/integritas-data.html

2 comments:

  1. thanks gan atas informasinya, ditunggu ya informasi terbarunya

    ReplyDelete
  2. Nice! Saya sangat suka dengan blog anda. Bahasa penulisan yang sangat baik dan bisa enjoy ketika dibaca.

    ReplyDelete