Rabu, 25 November 2015

Tutorial Sistem Basis Data

Tutorial List


XML

     XML merupakan representasi data yang bisa didefinisikan sesuai keinginan pengguna. Karena formatnya yang standar dan fleksibel, XML sering dipergunakan pada berbagai pertukaran informasi


Keuntungan XML
          ·         Self documenting : dengan melihat tag dapat diketahui isi dari dokumen
          ·         Dapat dibaca oleh software dan juga manusia
          ·         Fleksibel
          ·         Dapat dikembangkan tanpa melanggar format lama
          ·         Dapat merepresentasikan data yang kompleks
          ·         Independen terhadap bahasa pemrograman


Contoh XML

<?xml version="1.0" encoding="UTF-8"?>
 <Resep nama="roti" waktu_persiapan="5 menit" waktu_masak="3 jam">  
<judul>Roti tawar</judul>
<bahan jumlah="3" satuan="cangkir">tepung</bahan>
<bahan jumlah="0,25" satuan="ons">ragi</bahan>  
<bahan jumlah="1,5" satuan="cangkir">air hangat</bahan>  
<bahan jumlah="1" satuan="sendok teh">garam</bahan>  
<Cara_membuat>  
<langkah>Campur semua bahan dan uleni adonan sampai merata.</langkah>  
<langkah>Tutup dengan kain lembap dan biarkan selama satu jam di ruangan yang hangat.</langkah>   
<langkah>Ulangi lagi, letakkan di loyang dan panggang di oven.</langkah>   
<langkah>Keluarkan, hidangkan</langkah>
</Cara_membuat>
</Resep>

Referensi
http://anggriawan.web.id/2008/06/basis-data-xml.html 
https://id.wikipedia.org/wiki/XML

Back End Programming

     Back end programming merupakan adalah program yang berjalan secara otomatis ketikan terdapat suatu pemicu tertentu. Terdapat dua hal yang menjadi back end programming dalam oracle yaitu stored procedure dan trigger

Stored Procedure

     Stored procedure adalah subprogram dari PL/SQL yang dipanggil dengan sekumpulan parameter dan biasanya digunakan untuk melakukan aksi yang sudah ditentukan. Subprogram terdiri dari procedure dan function.

Ciri-ciri stored procedure dalam oracle (PL/SQL)
          ·         Mirip dengan bahasa pemrograman pascal
          ·         Case sensitive
          ·         Semua variabel harus dideklarasikan


Struktur program dari PL/SQL

CREATE OR REPLACE PROCEDURE nama_proc AS   
            /* Deklarasi variables, types, dan local subprograms. */   
BEGIN   
            /* procedural and SQL masuk disini*/   
            /* blok ini yang wajib*/         
END;


Trigger

     Trigger adalah blok PL/SQL yang berada dalam database dan akan diaktivasi ketika terjadi (insert, update, delete) pada sebuah tabel.

     Manfaat dari trigger yaitu : 1) Dapat membuat integrity constraint yang kompleks, 2) Dapat mencata aktivitas suatu tabel, 3) Menyinkronkan antar tabel.


Struktur dari trigger sendiri yaitu

CREATE OR REPLACE TRIGGER <trigger_name>            <trigger_timing> [Before | After]            <trigger_event> [INSERT | UPDATE | DELETE ] ON <table_name>            <trigger_type> [FOR EACH ROW]            <trigger_restriction> (optional)DECLARE            <variable_declaration>BEGIN            <trigger_body>END;/

Referensi
https://simbuda.wordpress.com/

Transaksi dan Concurrency

Transaksi

     Transaksi dalam basis data adalah program atau bagian yang didalam pelaksanaanya akan mengakses atau mengubah data yang berada pada database. Tujuan dari transaksi adalah melindungi data dari kehilangan atau kerusakan.

     Transaksi yang berlangsung hanya mengenal dua hasil, yaitu berhasil secara keseluruhan atau gagal secara keseluruhan.

     Terdapat dua operasi penting dalam transaksi yaitu commit dan rollback. Commit menandakan bahwa transaksi sudah berhasil dan akan dimasukkan kedalam database. Rollback menandakan bahwa transaksi gagal dan data tidak akan dimasukkan kedalam database.

Transaksi memiliki 4 elemen :
           1.      Atomicity
           Transaksi harus berhasil secara keseluruhan atau transaksi digagalkan
           2.      Consistency
           Transaksi yang dilakukan mempertahankan konsistensi dari database
           3.      Isolation
           Transaksi terisolasi antara satu transaksi dan transaksi lainnya
           4.      Durability
           Transaksi yang sudah berhasil tidak boleh dikembalikan ke data awal kecuali terdapat update              dari sistem

Dalam sebuah sistem database. Transaksi yang dilakukan bisa lebih dari dua transaksi secara bersamaan. Dengan banyaknya transaksi yang dilakukan secara bersamaan timbul beberapa masalah. Masalah-masalah tersebut dapat diatasi dengan concurreny.


Concurrency

     Concurreny adalah proses pengaturan transaksi-transaksi yang dilakukan secara bersamaan dan tidak saling mengganggu sehingga menghasilkan data yang konsisten. Terdapat beberapa masalah yang berkaitan dengan concurrency yaitu:

        1.      Lost Update
        Masalah lost update terjadi apabila terdapat dua atau lebih transaksi yang sedang melakukan update sebuah data secara bersamaan. Ketika transaksi pertama selesai melakukan update lalu transaksi kedua melakukan update, yang menyebabkan update transaksi pertama menjadi tidak terbaca hanya update transaksi kedua. Hal tersebut biasa disebut dengan lost update

         2.      Uncommited Dependency (Dirty Read)
         Apabila terdapat transaksi yang mengubah nilai sebuah data, lalu transaksi tersebut merollback kembali perubahan data yang dilakukan. Disisi lain terdapat transaksi yang sudah mengambil data yang telah berubah. Hal ini biasa disebut dengan dirty read.

         3.      Inconsistent Analysis
         Apabila terdapat dua atau lebih transaksi yang mengakses beberapa data, ketika sebuah transaksi menggunakan sebuah data lalu data yang digunakan dirubah oleh transaksi lain, sedangkan transaksi yang sudah digunakan masih membaca data sebelum data dirubah.

     Untuk mengatasi masalah diatas muncullah yang dikenal dengan locking. Locking ditujukan apabila ingin data tidak bisa dirubah dalam waktu tertentu .Locking terdiri dari dua buah lock.

     ·         Exclusive Lock(XLOCK)
      XLOCK digunakan untuk mengunci data agar hanya bisa diubah oleh yang sedang memiliki XLOCK tersebut.

      ·         Shared Lock(SLOCK)
        SLOCK digunakan untuk mengambil data namun yang bisa mengambil data hanya yang sedang memiliki SLOCK tersebut.


     Terdapat permasalahan lain yang ditimbulkan dari locking sendiri yaitu deadlock. Deadlock yaitu suatu keadaan dimana dua atau lebih transaksi menunggu lock yang sedang dipegang oleh masing-masing transaksi. Sehingga proses akan terus menunggu hingga terdapat transaksi yang dirollback.



Referensi

Integritas Data

     Pengertian integritas data adalah konsistensi dan kebenaran data yang disimpan. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesbilitas, kualitas, dan menjaga agar data yang tidak valid masuk ke dalam database.

Jenis-jenis integritas data
           1.      Domain Integrity
           Menjaga agar tidak ada data yang melebihi jangkauan nilai tiap kolom data
           2.      Integrity Entity
           Menjaga agar tidak ada baris yang sama dalam sebuah tabel
           3.      Integrity Referential
           Menjaga relasi antar tabel yang berada dalam database
           4.      Redundant Data Integrity
           Menjaga agar tidak ada data yang redundan antar tabel yang ada di database

Constraint

Constraint merupakan aturan untuk membatasi data yang diperbolehkan untuk disimpan dalam database. Terdapat beberapa jenis constraint dalam sistem basis data

1.      Primary Key Constraint
Data kunci yang harus berbeda di setiap recordnya dan menjadi kunci acuan dalam merelasikan data
2.      Foreign Key Constraint
Digunakan untuk merujuk atau mengambil data dari sebuah tabel dan data digunakan dalam tabel yang lain. Foreign key akan selalu merujuk pada primary key dari sebuah tabel
3.      Unique Constraint
Digunakan untuk membatasi setiap data harus memiliki data yang berbeda tidak boleh ada yang sama
4.      Check Constraint
Digunakan untuk membatasi nilai yang masuk yang akan disimpan dalam database
5.      Not Null

Digunakan untuk memastikan tidak ada nilai kosong atau tidak ada data yang dimasukkan kedalam database


Referensi

Perbedaan Basis Data dan Sistem Basis Data


     Dalam sebuah system informasi, terdapat data yang disimpan secara terstruktur sehingga data tersebut dapat digunakan kembali dengan baik, hal ini biasanya disebut dengan database atau basis data.

     Basis data terdiri dari dua kata yaitu basis dan data. Basis bisa diartikan sebagai sebuah wadah, tempat, atau gudang untuk menampung sesuatu, sedangkan data merupakan sebuah informasi fakta dan aktual yang bisa dalam bentuk apapun. Basis data sendiri merupakan susunan atau kumpulan data-data yang terorganisir dan dikelola sehingga mampu menyediakan informasi yang optimal bagi penggunanya.

     Sistem basis data adalah sekumpulan data dan sistem penyusun untuk menyimpan serta memelihara keseluruhan data sehingga data bisa diambil kembali dengan optimal.

Terdapat beberapa fungsi dari sistem basis data, yaitu :
           1.      Mengurangi redundansi data
           2.      Menjaga kekonsistensian data
           3.      Menjaga integritas data
           4.      Menjaga keamanan data



referensi :