Basis Data vs Sistem Basis Data, Integritas Data, Transaksi dan Concurrency, XML, Backend Programming




Basis Data VS Sistem Basis Data

Basis Data atau databases adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program computer untuk memperoleh informasi dari basis data tersebut.

Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.



Basis Data terdiri dari 2 kata, yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau gudang dimana tempat bersarang/berkumpul. Sedangkan Data adalah represntasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasisnya.

Database management system (DBMS) adalah merupakan suatu sistem software yang memungkinkan seorang user dapat mendefinisikan, membuat, dan memelihara serta menyediakan akses terkontrol terhadap data. Database sendiri adalah sekumpulan data yang berhubungan dengan secara logika dan memiliki beberapa arti yang saling berpautan.

Sistem Basis Data merupakan suatu sistem menyusun dan mengelola record-record menggunakan computer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan.

Salah satu cara menyajikan data untuk mempermudah modifikasi adalah dengan cara pemodelan data. Model yang akan dipergunakan pada pelatihan ini adalah Entity Relationship Model


Perkembangan DBMS dan Kelengkapannya

Berdasarkan Orientasi pemakainnya DBMS dikelompokkan dalam 2 kategori, yaitu:

1. DBMS yang berorientasi untuk satu atau sedikit pemakai. Contoh: MS-Access, dBase/Clipper, FoxBase, dan Borland-Paradox.

2. DBMS yang berorientasi untuk banyak pemakai. Contoh: IBM-DB2, Borland-Interbase, Informix, Oracle, MS-SQL Server, MySQL

  Berdasarkan perkembangan teknologinya:

1. DBMS Konvensional (Legacy DBMS)
2. DBMS Berorientasi Objek (Objek-Oriented DBMS/OODBMS)
3. DBMS Obejk Relasional (Objek-Relational DBMS/ORDBMS)
4. DBMS untuk Web/Internet (Internet DBMS)


Komponen Basis Data

Komponen Sistem Basis Data terdiri dari 6 Komponen , yakni :

1. Hadware
Biasanya berupa perangkat komputer standar, media penyimpan sekunder dan media komunikasi untuk sistem jaringan..

2. Operating System
Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer. Harus sesuai dengan DBMS yang digunakan.


3. Database
Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data.

4. DBMS (Database Management System)
Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase.

5. User ( Pengguna Sistem Basis Data )
Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir.

6. Optional Software
Perangkat lunak pelengkap yang mendukung. Bersifat opsional.


Keuntungan Menggunakan Sistem Basis Data

1. Mengurangi Redundansi, data yang sama pada beberapa aplikasi cukup disimpan sekali saja.

2. Menghindarkan Inkonsistensi, karena redundansi berkurang, sehingga umumnya update hanya sekali saja.

3. Terpeliharanya Integritas Data, Data tersimpan secara akurat

4. Data Dapat Diakai Bersama-sama, data yang sama dapat diakses oleh beberapa user pada saat bersamaan.

5. Memudahkan Penerapan Standarisasi, menyangkut keseragaman penyajian data.

6. Jaminan Sekuriti, Data hanya dapat diakses oleh yang berhak.

7. Menyeimbangkan kebutuhan, Dapat ditentukan prioritas suatu operasi, misalnya  antara update (mengubah data) dengan retrieval (menampilkan data) di dahulukan update.


Integritas Data


Integritas data artinya akurasi dan kebenaran data. Integritas data dalam sebuah sistem basis data harus dijaga untuk menjaga kebenaran data yang disimpan. Ada beberapa cara dan tujuan dalam menjaga integritas data, diantaranya :

1. Memasukkan aturan bisnis di dalam database
2. Menjaga agar data yang tidak valid tidak masuk ke database
3. Menjaga konsistensi data pada relasi keterkaitan antar tabel

Mengapa harus menangani integritas data pada level database programming ? Karena :

1. Menangani integritas data pada level database lebih murah dan mudah dibandingkan dengan  menanganinya di level aplikasi

2. Bugs akibat data yang tidak valid pada database tidak mudah ditemukan dan dapat muncul di kemudian hari

3. Ketahanan database akan lebih kuat untuk jangka panjang jika ditangani dengan benar
Pada umumnya ada beberapa jenis integritas data, diantaranya adalah sebagai berikut :

4. Create Domain,  yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri, contohnya membuat tipe data khusus untuk angka yang isinya hanya berisi bilangan 0 dan 1.



5. Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada valuenya. Contohnya NIM pada tabel mahasiswa tidak boleh kosong.



6. Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan record lainnya dalam tabel yang sama. Contohnya NIM pada tabel mahasiswa.

7. Primary key, merupakan gabungan antara not null dan unique, misalnya NIM pada tabel mahasiswa.



8. Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru. Contohnya sebelum memasukkan nilai ujian pada tabel nilai data tidak boleh bernilai negatif.



9. Referential Integrity, adalah integritas pada relasi antar tabel. Contohnya jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada tabel mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa, maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :

1.  Delete cascade, hapus record pada kedua tabel
2.  Delete set null, hapus record di tabel asal dan tabel yang mengacu di jadikan NULL

3.  Update cascade, perbarui isi record pada kedua tabel



Transaksi dan Concurrency

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 :

·         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

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

Untuk lojik recovery atau system recovery database dilakukan ketika terjadi kegagalan media, kegagalan system atau kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan checkpoint. Checkpoint adalah interval tertentu pada perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan untuk merecovery database secara backward (undo) maupun forward (redo).

Sedangkan 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 :
·         Exclusive Lock (Xlock)  write lock
·         Shared Lock (Slock)  read lock

Jadi cara kerjanya :

1. Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan.

2. Jika transaksi A memegang Slock pada record R maka :

1. Permintaan Xlock transaksi lain pada R ditolak
2. Permintaan Slock transaksi lain pada R diterima

Tapi, ada satu masalah yang dapat terjadi ketika melakukan proses locking ini, yaitu deadlock. Yaitu, situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Cara penanganannya adalah :

·         Deteksi dan pecahkan deadlock
·         Deteksi deadlock  wait-for-graph
·         Pecahkan deadlock  salah satu dirollback paksa
·         Ostrich Algorithm   diabaikan


XML

XML singkatan dari eXtensible Markup Language adalah bahasa markup yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung dengan tools tertentu (seperti editordbmscompiler, dsb).
XML merupakan suatu bahasa MarkupMarkup yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.
Pada android XML digunakan untuk merancang interface pada sebuah program yang akan dibuat.
Keuntungan dari xml :
         Self Documenting à dengan melihat tag, dapat diketahui isi dokumen.
         Dapat dibaca software dan manusia.
         Fleksibel
         Dapat dikembangkan tanpa melanggar format lama.
         Hirarkis à dapat merepresentasikan data kompleks
         Independen terhadap bahasa pemrograman, OS
Kerugian dari xml :
         Pengulangan tag à tidak efisien, ukuran membengkak.


Aturan dalam xml :
1.      Setiap tag harus ada penutupnya.
2.      Penamaan Tag harus cermat
3.      Case sensitive
4.      Setiap atribut harus dalam tanda petik (“ ”).
5.      Tidak diawali dengan angka
6.      Tidak mengandung spasi, gunakanlah garis bawah ( _ ) sebagai pengganti spasi
7.      Hindari penggunaan '-' dan '.'
8.      Urutan hirarki harus benar.
9.      Setiap XML harus mengandung root.
10.  Komentar dalam XML : <!--komentar-->




Backend Programming
Backend Programming adalah sebuah kode program yang tidak terlihat oleh user, bekerja dibelakang layar atau server untuk memudahkan proses. Backend programming merupakan penyempurnaan dari front programming, karena jika hanya mengandalkan front bisa saja menyebabkan redundansi data yang akan mengganggu database. Berikut adalah penjelasan mengenai berbagai macam backend programming.



1. Stored Procedure
Stored procedure merupakan salah satu jenis PL/SQL yang dapat menerima parameter masukan, melakukan pengolahan terhadap parameter masukan tersebut dan menampilkannya. Stored procedure dapat memeiliki parameter masukan atau tidak memiliki parameter. Parameternya dapat berupa masukan, keluaran, dan gabungan masukan dan keluaran. Stored procedure mampu menangani pesan kesalahan yaitu dengan Exception Handling. Stored procedure dapat digunakan secara stand-alone, digunakan bersama stored procedures lainnya, atau dapat digunakan bersama stored function.
Parameter pada stored procedure antara lain:

1.      IN: digunakn untuk menerima dan menyimpan nilai inputan dari luar stored procedure
2.      OUT: digunakan untuk menyimpan nilai hasil proses dari stored procedure yang akan ditampilkan
3.      INOUT: dapat berfungsi sebagai IN dan OUT
Berikut adalah contoh dari stored procedure :



2.Function
Selain Stored Procedure, terdapat juga function. Sedikit berbeda dengan stored procedure, function melakukan pengolahan suatu nilai dan mengembalikan nilai tertentu dan mempermudahnya.



3. Trigger
Secara keseluruhan trigger hampir sama dengan Procedure dan Function, hanya saja untuk trigger dioperasikan secara otomatis ketika terdapat suatu
kejadian (event) statement-statement SQL seperti insert, update dan delete tehadap table, view dan database. Trigger ini bisa diaktivasi sebelum atau pun sesudah terjadinya satatement-statement tersebut. . Biasanya trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga.
Berikut adalah contoh dari trigger :



Daftar Pustaka
Materi Pekuliahan : Budi Laksono Putro
Materi PPT : Yudi Wibisono (yudi@upi.edu)
Sumber : http://simbuda.blogspot.co.id/2013/05/integritas-data.html







1 opmerking:

  1. Perkenalkan, saya dari tim kumpulbagi. Saya ingin tau, apakah kiranya anda berencana untuk mengoleksi files menggunakan hosting yang baru?
    Jika ya, silahkan kunjungi website ini www.kbagi.com untuk info selengkapnya.

    Di sana anda bisa dengan bebas share dan mendowload foto-foto keluarga dan trip, music, video, filem dll dalam jumlah dan waktu yang tidak terbatas, setelah registrasi terlebih dahulu. Gratis :)

    AntwoordVee uit