Integritas Data, Transaksi, Concurrency, Backend Programming dan XML

Integritas Data, Transaksi, Concurrency, Backend Programming dan XML pada basis data

Integritas Data

Dalam basis data integritas data mengacu kepada menjaga dan memastikan keakurasian dan kekonsistensian data yang disimpan, ditambahkan maupun digunakan. Data yang sahih (valid) menjadi syarat wajib basis data yang handal. Dalam praktik penggunaan basis data, berbagai sebab dapat mengakibatkan rusaknya konsistensi data, maka dari itu perlu diambil langkah untuk menjaga integritas data. Dalam menjaga hal-hal tersebut biasanya dilakukanlah serangkaian Constraints Integrity.

Berikut beberapa jenis  Constrain Integrity:

·        Entity Integrity (integritas entitas)

Integritas yang dicapai pada suatu entitas (tabel) dimana setiap data dalam tabel tersebut sesuai dengan konsep atau tujuan tabel tersebut. Integritas dicapai dengan menetapkan batasan (constraint) not null, unique, primary key.

·        Domain Integrity (Integritas Domain)

Memastikan nilai suatu kolom valid dengan membatasi himpunan nilai yang diperbolehkan untuk mengisi suati kolom. Dengan menggunakan create domain dan check.

–          Create Domain : Mendefinisikan batasan nilai dan tipe data untuk suatu kolom.

–          Check: Memeriksa nilai suatu kolom sesuai dengan rentang nilai tertentu

·        Referential Integrity (integritas referensial)

Integritas refernsial tercapai jika kolom pada suatu tabel mereferensi pada tabel lain (dengan foreign key) dengan konsisten. Dimana suatu kolom tidak dapat dirubah atau dihapus jika kolom tersebut menjadi referensi atau foreign key dalam tabel lain.

Transaksi

Transaksi dalam dunia IT berarti suatu aksi/perbuatan yang dilakukan oleh program bertujuan untuk mengakses atau mengubah data yang terdapat di database. Transaksi yang berlangsung tersebut, hanya mengenal dua hasil, yaitu berhasil secara keseluruhan, atau gagal sama sekali. Transaksi tersebut berarti tidak boleh berhasil setengah-setengah, harus berhasil secara keseluruhan.

Tujuan dari transaksi tersebut adalah untuk mencegah database dari kehilangan atau kerusakan data.

Transaksi haruslah memiliki 4 elemen, yaitu :

  • Atomicity : Ini berarti bahwa transaksi haruslah berhasil secara keseluruhan, atau gagal sama sekali.
  • Consistency : Menjaga konsistensi data di database
  • Isolation : Transaksi yang dilakukan secara bersamaan haruslah bisa dimulai dan bisa berakhir.
  • Durability : Setelah transaksi berakhir, data yang berubah tidak boleh kembali ke data awal walaupun sistem mati.

Dalam Transaksi terdapat 2 operasi untuk menjaga integritas data, yaitu Commit diibaratkan sebagai ijab qonul yang berfungsi bahwa transaksi telah selesai dilaksanakan, dan Rollback yang berfungsi untuk memberi tahu bahwa transaksi harus diulang. Rollback biasa digunakan dengan menggunakan save point. Save Point secara sederhana merupakan sebuah titik aman, dimana kita telah menyelesaiakan satu atau beberapa transaksi. Save point dianalogikan seperti sebuah check point saat kita bermain game. Fungsi dari save point adalah supaya pada saat kita ingin rollback atau ada transaksi yang gagal, transaksi tidak berjalan dari awal kembali, tetapi dari save poin yang telah kita buat.

Concurrency

Dalam basis data, penggunaan data secara bersamaan sangatlah memungkinkan. Penggunaan data secara bersamaan ini disebut concurrency atau dalam kata lain concurrency  merupakan transaksi data yang dilakukan dalam satu waktu. Penggunaan data secara bersamaan dapat menimbulkan beberapa masalah diantaranya:

  • Lost update problem

Hal ini terjadi ketika dua atau lebih user mengaskses data yang sama dalam satu waktu dan mengupdate data tersebut dengan hasil yang berbeda. Contoh :

Time

Transaksi 1 Transaksi 2
1 Retrieve A
2 Retrieve A
3 Update A
4 Update A
  • The Dirty Read Problem

Masalah ini terjadi akibat dari melakukan transaksi dengan pembacaan data hasil transaksi yang dibatalkan dan seharusnya tidak dibaca. Contoh:

Time Transaksi 1 Transaksi 2
1 Update A
2 Retrieve A
3 Rollback
4 Update A
  • Inconsistent Analysis Problem

Hal ini terjadi ketika transaksi membaca ulang data yang telah diubah oleh transaksi lainya. Contoh, nilai A = 50, B = 20, C = 40

Time Transaksi 1 Transaksi 2
1 Retrieve A

Total = 50

2 Retrieve B

Total = 70

3 Retrieve C
4 Update C 40 → 10
5 commit
6 Retrieve C

Total = 80 (bukan 110)

 

Dalam mencegah 3 masalah diatas, dilakukanlah Locking. Terdapat 2 jenis lock, yaitu Exclusive Lock (Xlock) dimana transaksi lain bisa melakukan pembacaan dan perubahan data, dan Shared Lock (Slock) dimana transaksi lain hanya bisa melakukan pembacaan data saja.

Dengan menggunakan locking, maka tidak ada transaksi yang akan kehilangan modifikasi.  Tapi, terdapat keadaan / masalah baru yaitu Deadlock, yaitu suatu kondisi dimana ke-2 transaksi dalam keadaan menunggu, sehingga keduanya tidak akan pernah selesai dieksekusi. Jika pelepasan kunci terlalu cepat dilakukan, maka bisa terjadi inkonsistensi informasi.  Tapi bila dilepas di akhir transaksi, bisa terjadi deadlock.  Hal ini merupakan kondisi dilematis pada sebuah sistem konkuren yang memanfaatkan mekanisme locking.

XML

XML (eXtended Markup Language) adalah merupakan suatu bahasa Markup. Markup yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti. Hampir sama dengan Markup Languange lainya seperti HTML, XML juga memiliki tag-tag didalamnya. Hanya saja tag-tag tersebut bisa dinamakan sendiri, contoh nya <nama> </nama>. Tag-tag tersebut juga bisa memiliki atribut seperti <barang warna=”merah”> </barang>.

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 XMLdan XSLT.
  • Pencarian data cepat karena XML merupakan data dalam format yang terstruktur.
  • Plain Text dan platform independent.
  • Untuk pertukaran data.

Back-end Programming

Backend adalah bagian belakan tempat administrator web mangatur keseluruhan bagian depan atau dengan kata lain memprogram tampilan web. Beberapa jenis fungsi-fungsi yang sering dipakai dalam back-end programming antara lain:

  • Stored Procedure : Stored Procedure adalah sekumpulan perintah SQL yang disusun dalam sebuah prosedur yang memiliki nama dan fungsi tertentu.
  • Function : Selain Stored Procedure, terdapat juga Function. Sedikit berbeda dengan Stored Procedure, disini ada nilai yang dikembalikan.
  • Trigger : Secara keseluruhan trigger hampir sama dengan Procedure dan Function, hanya saja untuk Trigger dioperasikan secara otomatis ketika terdapat aktivitas statement-statement SQL seperti Insert, Update dan Delete. Trigger ini bisa diaktivasi sebelum atau pun sesudah terjadinya satatement-statement tersebut.

Keamanan Basis Data

Keamanan basis data merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Untuk menjaga keamanan Basis Data, dapat dilakukan beberapa cara berikut ini :

  • Penentuan perangkat lunak Data Base Server yang handal.
  • Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data- data yang ada.

Tujuan Keamanan Basis data :

  • Confidentiality
  • Integrity
  • Availability

Ancaman keamanan terhadap Basis data

  • Interuption
  • Interception
  • Modification
  • Fabrication

Tingkatan Pada Keamanan Database :

1. Fisikal

2. Manusia

3. Sistem Operasi

4. Sistem Database

Pengaturan Keamanan Basis Data :

1. Otorisasi

Pemberian wewenang atau hak istimewa (privilege) untuk mengakses sistem atau obyek database kepada pengguna yang bertanggung jawab

2. Tabel View

Tabel view merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.

3. Backup data dan recovery

Backup adalah proses secara periodik untuk membuat duplikat dari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.

Recovery merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s