Home » » All About Database

All About Database

Written By beni handoko on Selasa, 01 Desember 2015 | 23:28

1.1 Basis Data vs Sistem Basis Data

Sejarah Basis Data dan Sistem Basis Data
Menurut sejarah, sistem pemrosesan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak besar. Jika sesuatu berkas diperlukan, maka berkas tersebut harus dicari pada rak-rak tersebut. Bentuk seperti ini masih banyak dijumpai dalam kehidupan sehari-hari. Contoh lain adalah buku telepon saku dimana seseorang relatif mudah mencari nama-nama rekannya karena datanya telah disusun secara alfabetis. Namun demikian kemudahan seperti ini tetap kurang luwes. Data tidak dapat diurutkan menurut kata atau nomor telepon. Jika ingin melakukan hal tersebut, tidak ada cara lain selain menuliskannya kembali. Tentu saja hal itu tidak praktis.
Dalam ilmu komputer terdapat sebuah sistem dimana sistem ini berguna untuk mengatur pendataan dalam komputer. Basis Data merupakan sebuah sistem yang digunakan untuk mengatur pendataan dalam komputer itu sendiri. Sejak zaman dahulu basis data sudah menjadi fokus utama pada aplikasi. Pada awal tahun 1960, Charles Bachman di perusahaan General Electric mendesain generasi pertama DBMS yang disebut Penyimpanan Data Terintegrasi (Integrated Data Store). Kemudian, Bachman menerima CM Turing Award (penghargaan semacam nobel pada bidang ilmu komputer) pada tahun 1973.


Basis Data
Sebelum masuk kedalam istilah basis data akan lebih baik jika istilah daa dan informasi dibahas terlebih dahulu. Dalam beberapa buku, kedua istilah ini seringkali tertukar atau dianggap sama. Data adalah fakta mengenai objek, orang, barang, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Sejumlah penulis menggunakan data untuk menyatakan nilai-nilai yang secara aktual terkandung dalam basis data sedangkan informasi digunakan untuk menyatakan makna nilai tersebut ketika dipahami oleh pengguna. Informasi adalah hasil analisis terhadap data. Dengan kata lain, informasi dapat dikatakan sebagai data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang, entah itu manajer, staff, ataupun orang lain. Secara sederhananya informasi merupakan kumpulan data yang telah diolah. Adapun pengetahuan (knowledge) merupakan informasi yang diperoleh dari basis data tersebut selama rentang waktu tertentu. Biasanya pengetahuan ini digunakan dalam data mining. Contoh penggunaan pengetahuan misalnya dalam sebuah supermarket tentunya memiliki database dari barang-barang yang dijualnya, dalam rentang waktu misalnya 1 tahun dari situ dapat diketahui barang mana yang paling laku dan barang mana yang tidak laku. Kemudian dari situ bisa diambil keputusan sedemikian sehingga supermarket tersebut mendapatkan keuntungan maksimal dengan kerugian yang dapat diminimalisir. Dari pengertian-pengertian diatas dapat disimpulkan bahwa basis data merupakan kumpulan fakta-fakta yang terkumpul di dalam sebuah gudang (storage) yang kumpulan fakta-fakta tersebut diolah dengan sedemikian rupa, yang kemudian setelah data tersebut diolah akan menghasilkan informasi-informasi yang dibutuhkan atau yang ingin dicari. Basis data sendiri dapat di definisikan dalam sejumlah sudut pandang sebagai berikut:

  1. himpunan kelompok data atau arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
  2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan atau penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
  3. Kumpulan field, tabel atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. 
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/ arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan. jika lemari arsip menggunakan lemari sebagai media penyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket, harddisk). Yang perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Yang sangat ditonjolkan dalam basis data adalah pengelompokkan atau pengorganisasian data yang akan kita simpan sesuai fungsi atau jenisnya. Pemilahan atau pengelompokan ini dapat berbentuk sejumlah field atau tabel terpisah atau dalam bentuk pendefinisian kolom-kolom atau field-field.
Tujuan dibangunnya basis data adalah sebagai berikut :
1. Kecepatan & kemudahan (speed)
Dengan memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat dan mudah.
2. Efisiensi ruang penyimpanan (space)
Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
3. Keakuratan (accuracy)
Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data.
4. Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
5. Kelengkapan (completeness)
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data.

1.1.3 Sistem Basis Data
Sistem adalah tatanan yg terdiri atas sejumlah komponen fungsional yg saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses tertentu. (Fathansyah). Secara lengkap sistem basis data merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama yang diatur dalam sebuah sistem. Unsur yang terkandung dalam sistem basis data sebagai berikut.
1 Interface
Antarmuka (Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Jadi, interface ini merupakan media user untuk berkomunikasi dengan data. Contoh interface misalnya kita mempunyai kartu ATM BNI ketika kita hendak mengambil uang di ATM Bank lain akan tetap bisa, nah ATM Bank lain inilah yang menjadi interface sebagai penghubung untuk mengakses data yang ada di ATM BNI.
2. Proses
proses adalah serangkaian langkah sistematis, atau tahapan yang jelas, untuk mencapai hasil yang diinginkan. Proses ini yang mengatur bagaimana data itu disimpan dan bagaimana data itu ditampilkan kepada user, yang kemudian memunculkan informasi yang dibutuhkan.
3. Data
Data sendiri merupakan inti dalam basis data tersebut. Oleh karena itu ketika data ini sudah dirusak maka semuanya akan rusak. Berbeda ketika hanya interface yang rusak maka sistem akan tetap berjalan, karena yang menjadi inti dalam database itu sendiri adalah data.

Komponen-komponen utama penyusun sistem basis data sebagai berikut.
a. Perangkat Keras
b. Sistem Operasi
c. Basis Data
d. Sistem Pengelola Basis Data (DBMS)
e. Pemakai (Programmer, user umum, user mahir, user khusus)
Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah basis data haruslah abstrak dan deskripsi umum kebutuhan-kebutuhan informasi suatu organisasi harus digambarkan di dalam basis data.

Abstraksi Data
1. Sistem basis data biasanya menyembunyikan detil tentang bagaimana data disimpan dan diperlihara. Oleh karena itu, seringkali data yang terlihat oleh pemakai sebenarnya berbeda dengan yang tersimpan secara fisik.
2. Abstraksi data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data.

Penjelasan :
1. Conceptual view merupakan pandangan yang berkaitan dengan permasalahan data-data apa saja yang diperlukan untuk disimpan dalam basis data dan penjelasan mengenai hubungan antar data yang satu dengan lainnya. Conceptual view dapat disetarakan dengan schema, dilakukan database administrator.
2. Physical view merupakan bentuk implementasi dari conceptual view, yaitu pandangan tentang bagaimana data disimpan dalam media penyimpan data.
3. User view dapat disejajarkan dengan sub-schema.

1.2 Integritas Data
Integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan. Adapun tujuan integritas data sebagai berikut.
  1. Lebih murah dan mudah menjaga data integrity di level database dibandingkan ditangani di aplikasi. 
  2. Bugs akibat isi database yang tidak valid sulit untuk ditemukan (dapat muncul di kemudian hari).
Constraint
Constraint adalah istilah untuk menerapkan integritas data pada suatu database. Salah satu kelebihan yang menonjol dari penggunaan constraint adalah bahwa fasilitas constraint dapat ditambahkan atau dihapus dari suatu table tanpa harus menghapus atau mengubah table itu sendiri. Setiap constraint harus memiliki nama yang unik dalam suatu database
Jenis-jenis Constraint
1 .Primary Key
Primary key disebut sebagai constraint dengan tujuan untuk menjaga  integritas data, yaitu bahwa sebuah primary key tidak boleh mempunyai duplikat dan secara otomatis tidak null.
2. Foreign Key
Foreign key adalah field pada sebuah table yang menunjukkan bahwa field tersebut adalah primary key dari table lain. Untuk jelasnya foreign key.
3. Unique
Constraint unique fungsinya hamper sama dengan constraint primary key, dimana keduanya digunakan untuk menerapkan integritas entitas/table.
4. Check
Constraint check digunakan untuk menjamin bahwa nilai kolom berada dalam ruang lingkup nilai tertentu.
Secara garis besar integritas data meliputi :
1. Integritas Domain
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default ‘Kosong’);
create domain nilai numerik(3,2)
2. Integritas Referensial
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
Contoh :
Constraint fk_matkul foreign key (id_matkul) references matkul(id_matkul) on delete set null;

1.3 Transaksi dan Concurrency
1.3.1 Transaksi
Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data. DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan inkonsistensi basis data. Untuk itu transaksi selalu merubah basis data dari satu kondisi konsisten ke kondisi konsisten lain. Sebuah transaksi berpeluang untuk ‘mengganggu’ integritas basis data yang dapat membuat kondisi/hubungan antar data tidak seperti seharusnya. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
1. Atomik, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
2. Konsisten, dimana eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
3. Terisolasi, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.
4. Bertahan, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem menjadi mati.

Terhentinya suatu transaksi tidak selalu diakibatkan oleh kegagalan insidental baik dari perangkat keras (crash) ataupun kemacetan sistem operasi (hang). Tapi lebih sering terjadi karena user sengaja menghentikan transaksi atau karena penghentian transaksi oleh DBMS akibat adanya kondisi tak diinginkan, seperti deadlock atau timeout.

Sebuah transaksi dapat menghasilkan dua kemungkinan:
a. Jika dilaksanakan lengkap seluruhnya, transaksi tersebut telah di commit dan basis data mencapai keadaan konsisten baru.
b. ika transaksi tidak sukses, maka transaksi dibatalkan dan basis data dikembalikan ke keadaan konsisten sebelumnya (rollback).
Ada dua jenis transaksi yang paling penting dalam sistem basis data adalah :
Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).
Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo.

1.3.2 Concurrency
  Concurrency adalah banyaknya transaksi yang dijalankan secara bersamaan dalam satu waktu. Hampir semua DBMS adalah multiuser, sehingga berpeluang terjadinya inkonsistensi basis data. Maka perlu adanya pengendalian persaingan eksekusi transaksi (concurrency control). Adapun tujuan concurrency sebagai berikut.
1 .DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama.
2. Concurrency Control Mechanism (CCM) dibutuhkan agar transaksi tidak saling “menggangu”.
Alasan mengapa transaksi yang konkuren banyak dipilih dibandingkan transaksi secara serial:
a. Idle time (waktu menganggur) kecil.
Aktivitas transaksi terbagi 2, yaitu:
- Aktivitas I / O, seperti pengaksesan disk, penulisan ke monitor.
- Aktivitas CPU, seperti proses perhitungan, pembandingan.

Operasi I / O dan CPU bisa dikerjakan secara paralel, dan bisa terjadi dari transaksi yang berbeda. Jika keparalelan ini bisa dioptimalkan, maka akan meningkatkan performansinya, atau dengan kata lain waktu pakai perangkat CPU dan I/O lebih berdaya guna, karena idle time-nya kecil.
b. Response time (waktu tanggap) lebih baik.
Transaksi pada suatu sistem ada banyak/beragam. Ada yang singkat dan ringan, dan ada pula yang berat. Semua transaksi itu berbeda waktu prosesnya. Jika transaksi-transaksi itu dikerjakan secara serial maka dapat terjadi situasi dimana transaksi yang ringan dan butuh waktu singkat harus menunggu selesainya transaksi yang berat dan panjang, sehingga response time-nya menjadi rendah dan tidak dapat diprediksi.
Masalah umum yang terjadi pada sistem yang concurrency:
1 .Lost Update Problem
2. Uncommitted dependency problem
3. Incosistent analysis problem

1.4 XML
XML merupakan kepanjangan dari Extensible Markup Language, adalah jenis standard dokumen processing (seperti halnya HTML) yang dikontrol oleh W3C, badan organisasi yang sama yang mengontrol standard HTML yang salama ini dipakai oleh kita para web developer. Pada saat kini, versi terakhir yang umum digunakan adalah Versi 1.0. Memang sudah ada kabar bahwa W3C sedang mulai merancang versi 2.0, yang pada akhirnya menimbulkan pro dan kontra mengenai perlu tidak nya dan apakah fungsi baru di dalam versi 2.0 ini. Karena teknologi XML masih begitu baru, terutama di Indonesia sendiri, dalam arti penerapan ke situs-situs di Indonesia, sangat jarang di temukan pada saat ini. Sesungguhnya teknologi fundamental pada teknologi baru ini adalah pada standard dokumen berbentuk XML yang digunakan dalam exchange (pertukaran) data antara penyedia (provider) dan pengguna (subscriber). Perlu dicatat, bahwa dalam membuat dokumen XML, sama halnya seperti HTML, anda bisa menggunakan cukup text editor biasa seperti Notepad, berikut contoh XML.


Beberapa aturan XML:
a. Setiap tag harus ada penutupnya.
b. Penamaan Tag 
- case sensitive. tidak sama dengan .
- Tidak diawali dengan angka
- Tidak mengandung spasi
- Hindari ‘-’ dan ‘.’
c. Urutan hirarki harus benar. 
Elemen dan Atribut XML
Elemen: tag, isi, sampai tag penutup.


Document Type Definition
DTD bertujuan untuk mendefinisikan sebuah blok yang valid dari sebuah dokumen XML dan agar setiap dokumen XML memiliki deskripsi yang sesuai dengan formatnya DTD berisi aturan-aturan yang digunakan untuk memvalidasi sebuah dokumen XML DTD dapat ditulis bersama dengan dokumen XML (internal) ataupun terpisah menjadi file DTD sendiri (eksternal). Adapun contoh DTD sebagai berikut:


1.5 Back End Programming
Back-end programming adalah program yang berjalan di belakang pada database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle, back-end programming dilakukan dengan cara trigger, taupun stored procedure.
1. Stored Procedure 
bahasa pemrograman terstruktur di dalam SQL yang tersusun dalam blok-blok logical, yang dapat menjalankan perintah-perintah untuk menyelesaikan masalah. Parameter yang dapat digunakan adalah IN, OUT atau INOUT
2.Trigger 
Trigger merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT, DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Trigger dapat diaktivasi sesudah maupun sebelum statement ditulis (before/after). Back-end program sangat penting dalam sistem basis data karena proses DML pada data dapat dilakukan secara otomatis. Selain itu, source-code yang digunakan pun dapat dipakai kembali untuk pengaplikasian yang lain jika memiliki kasus yang sama.


Daftar Pustaka
Kadir, Abdul. (2002). Konsep dan Tuntunan Praktis Basis Data. Yogyakarta : ANDI Yogyakarta.
Laksono, Budi. (2015). Integritas Data. Bahan Kuliah: Sistem Basis Data. Universitas Pendidikan Indonesia, Bandung.
Laksono, Budi. (2015). Transaksi. Bahan Kuliah: Sistem Basis Data. Universitas Pendidikan Indonesia, Bandung.
Laksono, Budi. (2015). Concurrenccy Bahan Kuliah: Sistem Basis Data. Universitas Pendidikan Indonesia, Bandung.
Laksono, Budi. (2015). XML. Bahan Kuliah: Sistem Basis Data. Universitas Pendidikan Indonesia, Bandung.
Laksono, Budi. (2015). Stored Procedure dan Trigger. Bahan Kuliah: Sistem Basis Data. Universitas Pendidikan Indonesia, Bandung.
Widodo, Onno. P. (2002). Pengenalan Dasar Tentang XML. 






















Share this article :

0 komentar:

Posting Komentar

Followers

 
Support : Your Link | Your Link | Your Link
Copyright © 2013. Al-Indunisi - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger