Minggu, 24 Februari 2013

Sistem Basis Data


Sistem Basis Data

Pengertian Sistem Basis Data
• Basis data (database) adalah kumpulan dari berbagai data yang saling berhubungan satu dengan yang lainnya. Basis data tersimpan di perangkat keras, serta dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data meliputi spesifikasi dari tipe data, struktur dan batasan dari data atau informasi yang akan disimpan. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi pada para pengguna atau user. • Penyusunan basis data meliputi proses memasukkan data kedalam media penyimpanan data dan diatur dengan menggunakan perangkat Sistem Manajemen Basis Data (Database Management System DBMS). Manipulasi basis data meliputi pembuatan pernyataan (query) untuk mendapatkan informasi tertentu, melakukan pembaharuan atau penggantian (update) data, serta pembuatan report data. • Tujuan utama DBMS adalah untuk menyediakan tinjauan abstrak dari data bagi user. Jadi sistem menyembunyikan informasi mengenai bagaimana data disimpan dan dirawat, tetapi data tetap dapat diambil dengan efisien. Pertimbangan efisien yang digunakan adalah bagaimana merancang struktur data yang kompleks, tetapi tetap dapat digunakan oleh pengguna yang masih awam, tanpa mengetahui kompleksitas struktur data. Basis data menjadi penting karena munculnya beberapa masalah bila tidak menggunakan data yang terpusat, seperti adanya duplikasi data, hubungan antar data tidak jelas, organisasi data dan update menjadi rumit. Jadi tujuan dari pengaturan data dengan menggunakan basis data adalah : • Menyediakan penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang dan masa yang akan datang. • Kemudahan pemasukan data, sehingga meringankan tugas operator dan menyangkut pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang dimiliki terhadap data yang ditangani. • Pengendalian data untuk setiap siklus agar data selalu up-to-date dan dapat mencerminkan perubahan spesifik yang terjadi di setiap sistem. • Pengamanan data terhadap kemungkinan penambahan, pengubahan, pengerusakan dan gangguan-gangguan lain.

Tujuan dibangun system basis data :
  • Kecepatan dan Kemudahan (Speed)
  • Efisiensi ruang penyimpanan (Space)
  • Keakuratan (Accuracy)
  • Ketersediaan (Avaiability)
  • Kelengkapan (Completeness)
  • Keamanan (Security)
  • Kebersamaan pemakai (Shareability)





Prinsip-prinsip dasar  

Pada dasar, bagi pengguna, sistem yang terdistribusi harus dirasakan sebagai sistem yang non terdistribusi. Atau dengan kata lain, bahwa pengguna pada sistem yang  terdistribusi harus berperilaku seperti halnya pengguna pada sistem yang tidak terdistribusi. Semua permasalahan yang ada pada sistem terdistribusi harus dipecahkan secara internal, bukan permasalahan eksternal atau tingkat pengguna yang didalam operasi terhadap basisdata menggunakan bahasa manipulasi  data (DML) seperti  SELECT, INSERT, UPDATE, dan DELETE, yang secara logikal haruslah tidak berubah. Mungkin bahasa definisi (DDL) mengalami beberapaperkembangan , misalnya saja bila suatu tabel dibuat di  site A, maka pembuat dapat menentukan misalnya datanya disimpan di site B. Kita namakan prinsip tersebut sebagai “Kaidah Nol” dari sistem terdidtribusi .  Prinsip-prinsip dasar  dari basis data terdistribusi adalah suatu hal sangat penting agar dapat dibedakan antara basisdata terdistribusi dengan apa yang disebut akses data secata remote  (yang kadangkadang disebut sistem pengolahan terdistribusi atau sistem jaringan) pada sistem ini user dapat beroperasi pada data yang letaknya berjauhan atau bahkan pada data di beberapa site secara simultan. 
Kaidah-kaidah dari sistem terdistribusi:
1. Otonomi Lokal
Suatu  site dalam sistem terdistribusi harus memiliki
otonomi. Otonomi lokal mempunyai arti bahwa semua operasi
yang dilaksanakan pada suatu  site yang sepenuhnya
dikendalikan oleh site tersebut, tidak ada site yang tergantung
pada site lain ataupun suatu site lokal tergantung (down) maka
site yang lain masih beroperasi dengan normal. Otonomi lokal
mempunyai implikasi bahwa data lokal dimiliki dan dikelola ,
secara lokal. Semua data benar-benar  dimiliki oleh basis data
lokal bersangkutan meskipun dapat diakses dari  site remote.
Berbagai aspek seperti keamanan, integritas dan representasi
penyimpanan data lokal tetap dalam pengendalian  site
bersangkutan.

2. Tidak tergantung pada site pusat
Otonomi lokal juga mempunyai implikasi bahwa semua
site harus diperlakukan setingkat, tidak ada ketergantungan
pada site induk pusat untuk mendapatkan berbagai dukungan,
seperti misalnya pengolahan  query terpusat atau manajemen
transaksi terpusat, sehingga seluruh sistem tergantung pada site
pusat. Ketergantungan pada site pusat sangat tidak diharapkan
karena dua alasan berikut: 14
a. Site pusat dapat menjadi “bottleneck” 
b. Sistem akan menjadi sangat rawan (“vulnerable”) yaitu
bila site pusat mati, maka seluruh sistem juga mati.

3. Operasi yang berlanjut
Pada sistem terdistribusi seperti halnya pada sistem yang
non distribusi, secara ideal tentunya sistem tidak pernah
dimatikan dalam kondisi apapun.

4. Transparan Lokasi (Independensi Lokasi)
Pengertian dasar dari transparan lokasi adalah  bahwa
pengguna tidak perlu mengetahui dimana data tersimpan secara
fisik, sebaliknya pengguna harus dapat berlaku secara logikal
seakan data berada di site sendiri meskipun secara fisik dapat
berada dimana saja. Transparan lokal sangat diperlukan, untuk
menyederhanakan program-program pengguna dan kegiatan di
terminal. Secara khusus memungkinkan adanya migrasi data
dari  site ke  site yang lain tanpa harus merubah program
ataupun kegiatan tersebut. Migrasi kadang-kadang sangat
diperlukan dalam rangka menyesuaikan terhadap kebutuhan
unjuk kerja yang lebih baik

5. Transparan Fragmentasi
Sistem terdistribusi  melaksanakan  fragmentasi data,
dimana suatu tabel dapat dipecah menjadi bagian bagian atau
fregmentasi dan disimpan terspisah secara fisik. Fragmentasi
ini biasanya diperlukan untuk meningkatkan unjuk kerja. Data
dapat disimpan pada lokasi dimana paling sering dipergunakan
sehingga dengan demikian operasi terhadap data dapat
dilakukan secara lokal dan mengurangi trafik jaringan. Pada
dasarnya ada dua macam bentuk fragmentasi , horisontal dan
vertikal yang berarti fragmentasi berdasarkan pada pengertian
operasi aljabar relasional restriksi dan proyeksi. Namun secara
umum, fragmentasi dapat merupakan berbagai bentuk subrelasi
yang diturunkan dari operasi restriksi dikombinasikan dengan
operasi proyeksi ( khususnya untuk proyeksi harus tetap
memperhatikan peranan primary key  dalam bentuk tabel asli).
Rekonstruksi tabel asli, dapat di lakukan dengan operasi join
dan union  (join untuk fragmentasi vertikal,sedang union untuk
fragmentasi horisontal dapat di catat di sini bahwa, fragmentasi
yang mudah dan rekontruksi yang  mudah pula merupakan
alasan  utama mengapa sistem terdistribusi  haruslah relasional,
karena model relasional menunjang operasi–operasi tersebut
secara tepat.
Sistem yang mendukung fragmentasi data harus juga
mempunyai kemapuan untuk mendukung transparansi
fragmentasi sehingga pengguna dapat berlaku seolah data tidak
difragmentasi paling tidak secara logikal. Transparansi
fragmentasi diperlukan untuk memudahkan program dan
kegiatan  access data di terminal. Dengan cara tersebut juga
memungkinkan refragmentasi tanpa harus merubah program
atau kegiatan terminal, misalnya dalam mencari  unjuk kerja
yang lebih baik.

6. Transparan Replikasi
Sistem terdistribusi juga mempunyai kemampuan
menggunakan bentuk replikasi data.  Replikasi data diperlukan
dengan alasan utama :
• Merupakan suatu cara meningkatkan unjuk kerja
(aplikasi dapat beroperasi  pada copy yang ada di site
sehingga mengurangi beban trafik jaringan).
• Merupakan suatu cara untuk meningkatkan
ketersediaan data (availability) artinya object yang diaccess selalu tersedia sepanjang terdapat minimum satu
copy. 
Namun replikasi mempunyai kerugian terutama bila kita
memutakhirkan suatu fragment tabel, maka semua copy dari
objek tersebut harus dimutakhirkan, masalah propagasi,
kesulitan juga akan muncul bila site  yang menyimpan copy
obyek bersangkutan tidak bisa  ditemukan, misalnya karena
tiba-tiba ada kerusakan di dalam jaringan pada saat terjadi
replikasi.

7. Pengolahan Query terdistribusi
 Tujuan untuk meminimumkan trafik jaringan mempunyai
implikasi proses optimasi  query-nya harus didistribusikan,
demikian pula proses eksekusi  query-nya sendiri.  Dengan
demikian proses biasanya akan terdiri langkah optimisasi
global, kemudian diikuti langkah optimasi lokal pada masingmasing site yang terlibat

8. Manajemen Transaksi Terdistribusi
 Dengan manajemen konkurensi, dalam sistem terdistribusi
akan sangat tergantung pada mekanisme locking, sama halnya
dalam sistem yang non distribusi. Namun pada sistem
terdistribusi permintaan tes  , men-set , dan pelepasan “lock”
menjadi pesan.

9. Transparansi Perangkat Keras 
 Perangkat keras merupakan kebutuhan dalam sistem
terdistribusi dan mempunyai peran yang sama untuk dapat
mengintegrasikan dalam sistem–sistem dan menyajikan pada
pengguna sebagi suatu sistem.  Sama halnya dengan sistem
operasi sebagai platform yang berbeda pula. Maka secara jelas
sistem tersebut harus bekerja pada berbagai jaringan
komunikasi.

10. Transparansi Sistem Operasi 
 Sasaran merupakan keterkaitan yang erat dengan
transparansi (independensi) perangkat keras diatas sangat jelas,
dengan menggunakan perangkat keras yang berbeda, tentunya
juga menggunakan sistem operasi sebagai  platform yang
berbeda pula. Jika tidak saja kita harus dapat menjalankan
DBMS pada mesin yang berbeda, tetapi juga pada sistem
Operasi yang berbeda pula , misalnya pada Sistem Operasi 
UNIX, PC DOS, dan lain sebagainya.

11. Transparansi Jaringan
 Jika  suatu sistem dapat bekerja pada banyak site yang
terpisah–pisah lokasinya, dengan berbagai perangkat keras
yang berbeda , dan dengan  sistem operasi yang berbeda pula , 19
maka secara jelas sistem tersebut harus dapat bekerja pada
berbagai jaringan komunikasi.

12. Transparansi DBMS
 Berdasarkan kaidah ini, maka kita berharap bahwa
lingkungan sistem terdistribusi seharusnya dapat dilaksanakan
dengan kondisi yang lebih  heterogen, menggunkan produkproduk DBMS yang berbeda. Hal ini agak sulit bisa
dilaksanakan, mengingat satu produk DBMS dengan produk
DBMS yang lain biasanya memiliki struktur perangkat lunak
yang sangat berbeda, meskipun menggunkan bahasa-bahasa
kueri yang standar. Namun dengan berbagai teknik  interface
ternyata dapat dibuktikan bahwa hal ini dimungkinkan untuk
dilaksanakan sehingga pada lingkungan yang multi DBMS
seorang pengguna pada satu DBMS yang lain seperti layaknya
menggunakan DBMS yang pertama.