Kamis, 06 November 2014

PENGANTAR BASIS DATA



Artikel Database Terdistribusi
Terdapat dua strategi utama dalam mendesain database terdistribusi yaitu pendekatan top-down dan pendekatan bottom-up, namun pendekatan bottom up baru dapat dilakukan jika sudah ada database yang tersebar di beberapa lokasi.
Dalam “Distrubution Design” dilakukan desain untuk mendistribusikan relasi ke semua lokasi dalam sistem terdistribusi. Kelemahan mendistribusikan sebuah relasi adalah harus menangani data yang besar, maka relasi dipecah-pecah menjadi sub relasi yang disebut fragmen. Desain untuk sistem terdistribusi dapat melalui langkah fragmentasi, penempatan data atau alokasi dan replikasi.
Distribusi data dengan cara fragmentasi, alokasi dan replikasi mempunyai tujuan :
1. Referensi lokalitas. Data harus diletakkan sedekat mungkin dengan lokasi pengakses data. Jika fragmen data digunakan pada beberapa lokasi maka akan lebih menguntungkan jika fragmen disimpan pada lokasi-lokasi tersebut.
2. Meningkatkan reliabitilas/kehandalan dan availabilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi : yaitu terdapat salinan data di lokasi lain jika salah satu lokasi mengalami kegagalan data.
3. Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan akan menghasilkan kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga menurunkan unjuk kerja.
4. Keseimbangan kapasitas penyimpanan dan biaya. Meskipun harus menjamin ketersediaan data, dan mempertimbangkan referensi lokalitas tetapi harus dipertimbangkan juga kapasitas penyimpanan yang tidak besar sehingga menjamin biaya penyimpanan lebih murah.
Biaya komunikasi minimal. Harus dipertimbangkan biaya komunikasi anta lokasi penyimpanan. Biaya pengambilan data minimal jika lokalitas maksimum (fragmen data ada di banyak lokasi). Tetapi jika terjadi update, maka harus dilakukan terhadap data di semua lokasi salinan fragmen data, sehingga biaya akan membengkak.
Fragmentasi
Alasan yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data untuk didistribusikan yaitu :
1. Penggunaan. Dalam kenyataan, data yang sering digunakan bukanlah data dalam seluruh tabel, tetapi hanyalah sebagian data atau sering disebut view
2. Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna yang sering mengakses sehingga data yang tidak sering dibutuhkan oleh lokasi tertentu tidak akan disimpan di lokasi yang bersangkutan
3. Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi yang berupa query tunggal dapat dipecah menjadi subquery yang dikenakan terhadap fragmen data, sehingga transaksi dapat dilakukan secara bersamaan (concurrent).
4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak akan disimpan dalam lokasi tersebut, sehingga user yang tidak memiliki hak untuk mengakses tidak akan bisa mengakses data lain.
Fragmentasi juga memiliki beberapa kelemahan yaitu :
1. Menurunnya unjuk kerja. View yang melibatkan lebih dari satu fragmen data pada lokasi yang berbeda akan mengalami penurunan unjuk kerja
2. Integritas. Pengendalian integritas lebih sulit jika atribut yang berperan dalam dependency didistribusikan ke beberapa lokasi.
Terdapat dua fragmentasi data yaitu :
Fragmentasi Horizontal
Terdapat syarat informasi untuk fragmentasi horizontal, yaitu :
Application Information Informasi kualitatif dari aplikasi paling mendasar adalah predicate yang digunakan dalam query. Dari predicate dapat dibentuk :
Fragmentasi Vertikal
Fragmentasi vertical dari tabel R adalah proses untuk mendapatkan fragmen R1, R2, …, Rn sedemikian rupa sehingga setiap fragmen memuat himpunan bagian dari atribut-atribut R dan kunci primer. Fragmentasi ini lebih sulit dibandingkan dengan fragmentasi horizontal, karena lebih banyak alternative hasil yang dimuat.
Tujuan utama fragmentasi vertical adalah membagi sebuah tabel ke dalam tabel-tabel yang lebih kecil sedemikian rupa sehingga user aplikasi hanya berjalan dalam satu tabel. Dengan demikian akan meminimalkan waktu eksekusi aplikasi yang berjalan dalam fragmen-fragmen tersebut.
Terdapat dua pendekatan, yaitu :
1. Pendekatan kelompok (Grouping)
Dimulai dengan menempatkan setiap atribut ke dalam sebuah fragmen. Kemudian setahap demi setahap dilakukan terhadap fragmen yang lain sampai kriteria yang diinginkan terpenuhi.
2. Pendekatan pemecahan (Splitting)
Dimulai dengan sebuah tabel kemudian proses pembagiannya dilakukan berdasarkan pada pola akses aplikasi terhadap setiap atribut.
Dengan alasan kemudahan untuk menjalankan dependensi fungsional sehingga menjamin keutuhan dalam koreksi data, maka pendekatan yang akan dipakai adalah pendekatan Splitting.





A. Pengertian Database terdistribusi
Database terdistribusi Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logic tetapi tersebar secara fisik pada suatu jaringan computer.  Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem terdistribusi berhubungan satu sama lain melalui bermacam-macam media komunikasi seperti high-speed buses atau telephone line.
Sebuah sistem database terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau beberapa site. Tiap-tiap site dapat memproses transaksi lokal yaitu sebuah transaksi yang mengakses data pada satu site di mana transaksi telah ditentukan. Sebuah site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di mana transaksi telah ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.

Ada 2 aspek penting dari Database Terdistribusi
  1. Distribusi : data tidak disimpan pada tempat (prosesor) yang sama,sehingga DDB dapat dibedakan dari database tunggal, sentralisasi.
  2. Korelasi logika : data memiliki property yang berhubungan sehingga DDB dapat dibedakan dari sekumpulan database lokal atau file yang disimpan pada tempat yang berbeda pada jaringan komputer.
 

B.  Definisi Karakteristik Database Terdistribusi
  1. Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah komputer yang berbeda.
  2. Komputer yang dihubungkan menggunakan jaringan komunikasi.
  3. Data pada masing-masing situs dapat menangani aplikasi-aplikasi lokal secara otonom.
  4. Data pada masing-masing situs di bawah kendali satu DBMS.
  5. Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global.
  6. Data di bagi menjadi beberapa fragment.
  7. Fragment mungkin mempunyai copy ( replika ).
  8. Fragment / replika nya di alokasikan pada yang digunakan.
  9. Setiap site berhubungan dengan jaringan komunikasi.
  10. Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.

C. Desain Database Terdistribusi
Ada beberapa pendekatan yang berkaitan dengan penyimpanan data/tabel dalam sebuah sistem basis data terdistribusi, yaitu :
1. Replikasi
  • Sistem memelihara sejumlah salinan/duplikat tabel-tabel data.
  • Setiap salinan tersimpan dalam simpul yang berbeda, yang menghasilkan replikasi data.
2. Fragmentasi
  • Data dalam tabel dipilah dan disebar ke dalam sejumlah fragmen.
  • Tiap fragmen disimpan di sejumlah simpul yang berbeda-beda.\Fragmentasi dapat berbentuk fragmentasi horizontal (pemilahan record data) atau fragmentasi vertikal (pemilahan field/atribut data).
3. Replikasi dan Fragmentasi
  • Merupakan kombinasi dari replikasi dan fragmentasi.
  • Data/tabel dipilah dalam sejumlah fragmen.
  • Sistem lalu mengelola sejumlah salinan dari masing-masing fragmen tadi di sejumlah simpul.




D. Arsitektur Database Terdistribusi
Terdapat tiga pendekatan alternatif untuk membagi fungsi pada proses DBMS yang berbeda. Dua arsitektur alternatif DBMS terdistribusi adalah Client Server dan Collaboration Server.
1. Client-Server
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal komputer dan mengirim query ke sebuah server yang berjalan pada mainframe.
Arsitektur ini menjadi sangat popular untuk beberapa alasan.Pertama, implementasi yang relatif sederhana karena pembagian fungis yang baik dan karena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah, dibandingkan antar muka pada server yang tidak user-friendly.
 
Sistem client-server
2. Collaboration Server
Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah query ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan server, sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan diguankan alternatif arsitektur client-server yaitu sistem Collaboration Server.
Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server. Jika server menerima query yang membutuhkan akses ke data pada server lain, sistem membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk menggabungkan jawaban menjadi query asal.
 
Collaboration System
 


E. Kelebihan dan Kekurangan Database Terdistribusi
1. Kelebihan
  • Kinerja yang lebih baik karena data ditempatkan di tempat yang sesuai dengan kebutuhan dan komputer-komputer dalam sistem dapat bekerja secara paralel, sehingga pembebanan pada komputer (server) menjadi seimbang.
  • Alasan ekonomis, yaitu bahwa merancang sistem yang terdiri atas jaringan komputer-komputer kecil (sederhana) dibandingkan dengan mengimplementasikan komputer tunggal yang canggih.
  • Alasan modularitas, yaitu bahwa sistem-sistem yang bekerja dalam basis data terdistribusi dapat dimodifikasi, ditambah, atau dikurangi tanpa memengaruhi modul lain (sistem lain dalam basis data terdistribusi). Dengan pembagian lokasi data, jika terjadi masalah atau musibah pada sistem, tidak semua data terancam, melainkan hanya data pada tempat-tempat tertentu.
  • Alasan organisasi dan otonomi pada sistem-sistem yang berpartisipasi, misalnya pada suatu kantor perusahaan, terdapat beberapa departemen. Dengan basis data terdistribusi, data-data perusahaan dapat disebar ke tiap-tiap departemen yang bertanggung jawab atasnya.
2. Kekurangan
  • Masalah kompleksitas, yaitu bukan pekerjaan yang mudah untuk membuat basis data yang tersebar terlihat sebagai satu kesatuan. Administrator basis data mempunyai tugas ekstra untuk menjaga agar basis data yang tersebar di berbagai lokasi terlihat transparan. Tingginya kompleksitas juga dapat menyebabkan pembengkakan biaya.
  • Masalah desain, yaitu bahwa desain yang dibuat harus memperhatikan arsitektur komputer yang terdiri atas sistem-sistem yang terpisah, selain itu juga memperhatikan data yang difragmentasi (dipecah-pecah) ke dalam lokasi berlainan.
  • Keamanan data, yaitu bukan hanya satu sistem yang harus diberi proteksi keamanan data, melainkan juga fragmen-fragmennya yang tersebar di berbagai lokasi, juga jalur komunikasi antarsistem.
  • Kendala mempertahankan integritas karena dalam menjaga integritas sistem melalui jaringan juga dapat memakan resource yang besar dari jaringan.

F. Ciri-ciri Database Terdistribusi
  1. Data disimpan di sejumlah tempat.
  2. Prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer.
  3. Setiap tempat secara mandiri memproses permintaan user yang membutuhkan akses ke data di tempat tersebut dan juga mampu untuk memproses data yang tersimpan di tempat lain.

G. Contoh Database Terdistribusi Dengan Oracle
Basis data terdistribusi dapat diimplementasikan dengan berbasiskan sistem Oracle. Dalam implementasinya, sistem basis data terdistribusi dengan Oracle dapat digolongkan menjadi dua, yaitu :
  1. Sistem basis data terdistribusi homogen : seluruh sistem menggunakan basis data Oracle yang bertempat di satu atau beberapa mesin Oracle yang digunakan boleh jadi berbeda versi, tetapi aplikasi harus dapat memahami perbedaan fungsionalitas yang ada di setiap simpul (basis data) sistem. Ilustrasi Sistem Basis Data Terdistribusi Homogen
  2. Sistem basis data terdistribusi heterogen : sedikitnya satu sistem bagian tidak menggunakan basis data Oracle; agar dapat saling berkomunikasi, perbedaan ini dapat dijembatani dengan menerapkan salah satu dari berikut:
    1. Oracle Transparent Gateway yang menggunakan layanan heterogen pada server Oracle (Oracle Heterogenous Services) dan agen yang spesifik terhadap sistem pada sistem non-Oracle
    2. konektivitas generik (generic connectivity), yang dapat diimplementasikan di server Oracle dan berupa Heterogenous Services ODBC agent atau Heterogenous OLE DB agent; dengan mengimplementasikannya, tidak diperlukan lagi aplikasi agen yang spesifik-sistem, tetapi sumber data harus kompatibel dengan ODBC atau OLE DB agar dapat diakses.
Ilustrasi Sistem Basis Data Terdistribusi Heterogen

 
 
DAFTAR PUSTAKA
2. http://nurcholis.student.umm.ac.id/pengantar-database-terdistribusi/
3. http://alanrk89.blogspot.com/makalah-database-terdistribusi.html
4. http://otrimatu.wordpress.com/definisi-database-terdistribusi/
Pengertian Sistem Terdistribusi
Sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network ataupun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer terintegrasi.

Proses dalam sistem terdistribusi dijalankan secara bersamaan (execute concurrently) dimana proses berinteraksi untuk bekerjasama dalam mencapai tujuan yang sama dan mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui jaringan komunikasi.

Struktur sistem terdistribusi dapat dilihat dari gambar dibawah ini :
Struktur-sistem-terdistribusi_thumb6

Dalam sistem terdistribusi prosesor yang dimiliki bervariasi, dapat berupa small microprocessor, workstation, minicomputer, dan lain sebagainya. Sebenarnya ada beberapa hal mendasar yang membedakan antara jaringan komputer yang merupakan dasar dari konsep sistem terdistribusi dengan sistem terdistribusi itu sendiri yaitu komputer otonom yang secara eksplisit terlihat, sedangkan pada sistem terdistribusi komputer otonom transparan dan juga memiliki lebih banyak masalah dibanding dengan jaringan komputer.
 

B. Karakteristik Sistem Terdistribusi

Ada tiga karakteristik sistem terdistribusi antara lain sebagai berikut:
1. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan
2. No global clock
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
3. Independent failures of components
Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
 

C. Tujuam Sistem Terdistribusi

Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai, diantaranya :
  • Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem.
  • Peningkatan kecepatan komputasi.
  • meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

Dalam penggunaanya sistem terdistribusi sangat diperlukan karena:
1. Performance  : Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
2. Distribution : Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial)
3. Reliability  : Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan
4. Incremental Growth : Mesin baru dapat ditambahkan jika kebutuhan proses meningkat
5. Sharing Data/Resource :
  • Segala hal yang dapat digunakan bersama dalam jaringan komputer.
  • Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
6. Communication  : Menyediakan fasilitas komunikasi antar manusia.
 
D. Model Sistem Terdistribusi
Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model), yaitu :
1. Sistem client - server
Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan: file server, time server, directory server, printer server, dan seterusnya.
 
BeST
 
2. Sistem point to point
Merupakan bagian dari model sistem terdistribusi dimana system dapat sekaligus berfungsi sebagai client maupun server.
3. Sistem terkluster
Adalah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih handal dan fault tolerant dalam melakukan komputasi.
 

E. Alasan Membangun Sistem Terdistribusi

Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:
1. Resource Sharing
Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A
2. Computation Speedup
Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup)
3. Reliability
Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik
4. Communication
Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.
 
Selain itu ada beberapa alasan lain membangun sistem terdistribusi, yakni :
· Distribusi fungsi : Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server, Host/terminal, Data gathering / data processing)
· Distribusi beban/keseimbangan : Pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi
· Replika Kekuatan : Kumpulan PC memiliki kekuatan yang lebih besar dari super komputer
· Pemisahan Fisik : Untuk kehandalan atau redundansi sistem
· Ekonomis : Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan mainframe.
 
F. Permasalahan Sistem Terdistribusi
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain berkaitan dengan :
  • Software - bagaimana merancang dan mengatur software dalam Distribusi Sistem
  • Ketergantungan pada infrastruktur jaringan
  • Kemudahan akses ke data yang di share, memunculkan masalah keamanan
Dalam setiap penggunaan suatu sistem, banyak sekali ditemui permasalahan -permasalahan yang muncul, begitu juga dengan sistem terdistribusi. Selain permasalahan-permasalahan yang akan dihadapi terdapat tantangan- tantangan dalam sistem terdistribusi.
 
G. Contoh dari sistem terdistribusi
1. Internet
Merupakan suatu bentuk jaringan global yang menghubungkan komputer denga satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol.
 
Internet
2. Intranet
  • Jaringan yang teradministrasi secara lokal
  • Biasanya proprietary
  • Terhubung ke internet (melalui firewall)
  • Menyediakan layanan internal dan eksternal

Intranet

3. Mobile dan sistem komputasi ubiquitous
  • Sistem telepon Cellular (e.g., GSM) Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
  • Komputer laptop, ubiquitous computing
  • Handheld devices, PDA, etc

Mobile dan sistem komputasi ubiquitous

5. World wide web
  • Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
  • Shared resources (melalui URL)
World wide web
Diposkan oleh Rahmat Taufik

ini hanya rangkuman dari internet yang saya baca saja dan bukan tulisan saya

Minggu, 04 Mei 2014

Analisa dan Perancangan Basis Data


Menurut Connoly (2002,p16), Database Management System adalah sistem software yang dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data.
dbms
Fasilitas yang disediakan oleh DBMS adalah:
  • Dapat mendefinisikan basis data dengan menggunakan Data Definition Language (DDL). DDL dapat memberi fasilitas kepada pengguna untuk menspesifikasikan tipe data, struktur dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data.
  • Pengguna dapat menambah, mengedit, menghapus dan mendapatkan kembali data dengan menggunakan data manipulation language.
  • Dapat mengontrol akses ke basis data, yaitu mencegah pengguna tanpa otoritas, sistem integrasi untuk memelihara konsistensi penyimpanan data, sistem control untuk memperbolehkan pengguna untuk akses, sistem kontrol untuk pengembalian data yang bisa mengembalikan data ke keadaan semula apabila ada kegagalan software atau hardware, catalog yang dapat diakses pengguna yang mendeskripsikan data dalam basis data.
Keuntungan:
  • Konsistensi data
  • Pengontrolan duplikasi data
  • Semakin banyak informasi yang didapat dari data yang sama
Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan (Connolly,2002,p279). Dalam merancang suatu basis data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan basis data. Metodologi perancangan adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat, serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan teknik metode disain ini dapat membantu dalam merencanakan, mengatur, mengontrol, dan mengevaluasi database development project (Connolly,2002,p418).
Proses dalam metodologi perncangan dibagi menjadi tiga tahap :
  1. Conseptual Database Design
  2. Logical Database Design
  3. Physical Database Design
Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan atau organisasi, tanpa pertimbangan perencanaan fisik (Connolly,2002,p419).
konsep
Langkah pertama : Membuat local conceptual data model untuk setiap pandangan yang spesifik. Local conceptual data model terdiri dari :
a. Entitiy types
Menurut Connoly (2002,p331), entity types adalah kumpulan objek yang mempunyai karakteristik yang sama, dimana telah diidentifikasi oleh perusahaan.Menurut Silberschatz (2002,p27), entity types adalah kumpulan dari entity yang memiliki tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua yaitu :
· Strong Entity : entity yang keberadaannya tidak tergantung kepada entity lain (Fathansyah,1999,p94).
· Weak entity : entity yang keberadaannya tergantung dari entity lain (Fathansyah,1999,p94).
Contohnya adalah entity mahasiswa dan orang tua. Dimana mahasiswa merupakan strong entity dan orang tua merupakan weak entity karena keberadaan entity orang tua tergantung dari entity mahasiswa.
b. Relationship types
Menurut Connolly (2002,p334) definisi dari relationship types adalah kumpulan antar entity yang saling berhubungan dan mempunyai arti.
c. Attribute dan attribute domains
Attribute adalah karakteristik dari suatu entity atau relasi (Connolly,2002,p338). Setiap attribute diperbolehkan untuk memiliki nilai yang disebut dengan domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
Ada beberapa jenis dalam attribute :
· Simple attribute dan Composite attribute
Simple attribute adalah attribute yang terdiri dari komponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan menjadi beberapa bagian. Contoh dari simple attribute adalah nama_barang sedangkan untuk composite attribute adalah alamat pada entity mahasiswa, karena dalam alamat bisa dibagi menjadi bagian entiti jalan, entiti kode_pos dan entiti kota (Silberchatz,2002,p29).
· Single-valued attribute dan Multi-valued attribute
Single-valued attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multi-valued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity (Connolly,2002,p340). Contoh dari single-valued attribute adalah Nim, nama_Mhs, tanggal_lahir, dan lain-lain. Sedangkan untuk multi-valued attribute contohnya adalah jam_pelajaran, hobi, dan lain-lain.
· Derived attribute
Derived attribute merupakan attribute yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain yang berhubungan (Silberschatz,2002,p30). Contohnya adalah attribute umur pada entity mahasiswa dimana attribute tersebut diturunkan dari attribute tanggal_lahir dan tanggal_hari_ini.
d. Primary key dan alternate keys
Primary key adalah key yang telah menjadi candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity types. Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types (Connolly,2002,p340).
Alternate key adalah key yang digunakan sebagai alternatif dari key yang telah didefinisikan (Fathansyah,1999,p104).
e. Integrity constraints
Integrity constraints adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent. (Connolly,2002,p457).
Pada tahap conceptual model, langkah-langkah yang dilakukan adalah sebagai berikut :
a. Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama yang dibutuhkan. Menentukan entity dapat dilakukan dengan memeriksa user’s requirement specification. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mata_kuliah.
b. Mengidentifikasikan relationship types
Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja seperti mempelajari, memiliki mempunyai dan lain-lain.
c. Mengidentifikasi dan menghubungkan attribute dengan entity atau relationship types
Bertujuan untuk menghubungkan attribute dengan entity atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite attribute, single/multi-valued attribute dan derived attribute.
d. Menentukan attribute domain
Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute sks pada entity mata_kuliah dengan ‘1’, ’2’, ‘3’ dan ‘4’.
e. Menentukan candidate key dan primary key attributes
Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari attribute dan keunikan key di masa datang.
f. Mempertimbangkan penggunaan enhance modeling concepts (pilihan)
Pada langkah ini bertujuan untuk menentukan specialization, generalization, aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization dan generalization adalah proses dalam mengelompokan beberapa entity dan menghasilkan entity yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah relationship types dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.
g. Mengecek redundansi
Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah :
· Memeriksa kembali one-to-one relationship.
Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya dijadikan alternate key.
· Menghilangkan relasi yang redundansi.
Untuk menekan jumlah model data, maka relationship data yang redundan harus dihilangkan.
h. Memvalidasi conceptual model dengan transaksi.
Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk mejamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu :
· Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities, relationship, dan attribute) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi.
· Mengunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram menggambarkan komponen-komponen dari entity dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang merepresentasikan seluruh fakta dari real-world yang kita tinjau (Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram dapat menyatakan keseluruhan struktur logical dari basis data dengan menggunakan bagan.
i. Melihat kembali conceptual data model dengan pengguna.
Bertujuan untuk melihat kembali conceptual model dan memastikan bahwa data model tersebut sudah benar.
Logical Database Design
Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik yang lain (Connolly,2002,p441).
view_level
DBMS adalah software yang memungkinkan pemakai untuk mendefinisi, membuat, memelihara, dan mengontrol akses ke basis data (Connolly,2002,p16). Fasilitas-fasilitas yang disediakan oleh DBMS antara lain :
1. Memperbolehkan user untuk mendefinisikan basis data.
2. Memperbolehkan user untuk menambah , mengubah, dan menghapus serta mengambil data dari basis data.
3. Menyediakan kontrol akses ke basis data. Seperti security, integrity, concurrency control, recovery control system dan user-accessible catalog.
Langkah kedua : membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang mempresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya (dengan menggunakan teknik normalisasi) dan menjamin bahwa model tersebut mendukung kebutuhan transaksi.
Menurut Conolly (2002,p376), normalisasi merupakan suatu teknik untuk menghasilkan suatu relasi yang sangat diperlukan dimana kebutuhan datanya diberikan oleh perusahaan. Dalam proses normalisasi membutuhkan beberapa tahap untuk dapat diimplementasikan. Tahap-tahap normalisasi menurut (Conolly,2002,p387) adalah :
a. Bentuk tidak normal (UNF)
Merupakan bentuk normalisasi dimana terdapat tabel yang memiliki satu atau lebih data yang berulang.
b. Bentuk normal pertama (1NF)
Merupakan bentuk normalisasi dimana data yang dikumpulkan menjadi satu field yang sifatnya tidak akan berulang dan tiap field mempunyai satu nilai.
c. Bentuk normal kedua (2NF)
Merupakan bentuk normalisasi dimana field yang bukan kunci tergantung secara fungsi pada suatu primary key.
d. Bentuk normal ketiga (3NF)
Merupakan bentuk normalisasi dimana tidak ada field yang bukan primary key tergantung transitive kepada primary key.
e. Bentuk BCNF (Boyce-Codd Normal Form)
Merupakan bentuk normalisasi dimana jika dan hanya jika setiap determinant adalah candidate key.
Pada perancangan model logical langkah kedua, tahapan-tahapannya adalah :
  1. Menghilangkan features yang tidak compatible dengan model relasional (pilihan). Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional. Yaitu dengan :
    • Menghilangkan many-to-many (*:*) binary relationship types
    • Menghilangkan many-to-many (*:*) recursive relationship types
    • Menghilangkan complex relationship types
    • Menghilangkan multi-valued attributes
  2. Memperoleh relasi untuk local logical data model.
Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi. Untuk memperoleh relasi untuk local data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.
Bahasa dalam basis data dapat dibedakan menjadi dua bentuk :
· Data Definition Language (DDL)
DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data, membuat atau menghapus tabel membuat struktur penyimpanan tabel. Hasil dari kompilasi DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut dengan kamus data.
· Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data, seperti menambah, mengubah, menghapus data dari suatu basis data.
  1. Memvalidasi relasi dengan menggunakan normalisasi
Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas yang maksimum.
  1. Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam model logikal tersebut mendukung user’s requirements specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi.
  1. Mendefinisikan Integrity constraints
Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu :
· Required data
· Attribute domain constraints
· Entity integrity
· Referential integrity
· Enterprise Constraints
  1. Melihat kembali local logical data model dengan pengguna
Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model yang sudah benar.
Langkah ketiga : Membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.
Pada perancangan model logikal langkah ketiga, tahapan-tahapannya adalah :
a. Menggabungkan local logical data model menjadi global model
Pada langkah ini, setiap local logical data model menghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut :
· Memeriksa lembali nama dan isi dari entities dari relationships dan candidate key.
· Memeriksa kembali nama dan isi dari relationships/ foreign keys.
· Menggabungkan entities atau hubungan dari local data model.
· Mengikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model.
· Menggabungkan relationships atau foreingn key dari local data model.
· Mengikutsertakan (tanpa menggabungkan) relationships atau foreign key unik pada tiap local data model.
· Memeriksa untuk entities (hubungan) dan relationships atau foreign key.
· Memeriksa integrity constraints.
· Menggambarkan ER-diagram.
· Melakukan update dokumen.
b. Memvalidasi global logical data model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi
c. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
d. Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logikal yang bersifat global telah tepat untuk perusahaan.
Physical Database Design
Phisical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly,2002,p478).
dbms_1
Langkah keempat : Menterjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplemetasikan ke DBMS.
Pada perancangan model physical, langkah-langkahnya adalah :
a. Merancang basis relasional
Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dan DDL.
b. Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS.
c. Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada perusahaan.
Langkah kelima : Merancang representasi physical. Bertujuan untuk menentukan organisasi file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa.
Terdapat tiga faktor yang memungkinkan digunakannya representasi physical :
1. Transaction throughput
2. Response time
3. Disk storage
Dalam langkah kelima ini perlu untuk memahami system resources untuk meningkatkan performa basis data.
  • Main memory
Dengan semakin besar main memory yang ada maka akan dapat meningkatkan performa DBMS dan aplikasi basis data yang digunakan.
  • CPU
CPU mengontrol tugas-tugas dari system resources lain dan mengeksekusi prosesnya.
  • Disk I/O
Dengan menggunakan DBMS yang besar, maka disk I/O yang diperlukan sangat signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka :
Ø File sistem operasi harus dipisahkan dari file basis data.
Ø File utama basis data harus dipisahkan dari file indeks.
Ø File recovery log harus dipisahkan dari basis data yang sedang tidak digunakan.
· Network
Ketika jumlah data yang ditransfer telah banyak, maka dengan menggunakan network sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer data.
Pada langkah kelima ini, tahapan-tahapannya adalah :
  1. Menganalisis transaksi
Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi adalah :
· Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa.
· Transaksi yang kritis pada operasi dan bisnis.
· Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat.
  1. Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan (Silberschatz,2002,p422), yaitu :
Ø Heap
Ø Hash
Ø Sekuensial berindeks
Ø Clusters
  1. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan adalah:
· Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien.
· Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut.
  1. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data.
Langkah keenam : Merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Contohnya pada branch terdiri dari direktur dan manajer pandangan.
Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. menurut Silberschatz (2002,p239) ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi :
· Sistem basis data : ada beberapa pengguna berwenang yang dizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna yang lain hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga.
· Sistem operasi : tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat keamanan perangkat lunak dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan secara fisik.
· Jaringan : seluruh sistem basis data memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan software-level dalam software jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi.
· Fisik : situs yang mengandung sistem komputer harus secara fisik aman dari entri secara diam-diam dan bahaya oleh para penyelundup.
· Manusia : otorisasi pada pengguna harus dilakukan secara hati-hati untuk mengurangi adanya kejadian dimana pengguna yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau lainnya.
Langkah kedelapan : Mempertimbangkan pengenalan dan redundansi kontrol. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara structural, konsisten, dan menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah :
· Denormalisasi membuat implementasi lebih kompleks
· Denormalisasi selalu mengorbankan fleksibilitas
· Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam update.
Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat retrieve data dari basis data.
Langkah kesembilan : Memonitor dan memasang sistem operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan.
Basis data dapat didefinisikan dalam sejumlah sudut pandang, seperti menurut Connolly (2002,p14), definisi basis data adalah kumpulan data yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang menyimpan data secara terpisah, pada basis data data tersimpan secara terintegrasi. Basis data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang dapat digunakan bersama.
Menurut Date (1990,p5), definisi dari basis data adalah kumpulan terintegrasi dari file yang merupakan representasi data dari suatu model enterprise.
Sedangkan menurut Fathansyah (1999,p2), basis data adalah :
  • Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
  • Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
  • Kumpulan file/ tabel/ arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Data dalam basis data disimpan dalam tiga struktur, yaitu file, tabel atau objek. File terdiri dari record dan field, tabel terdiri dari baris dan kolom. Objek terdiri dari data dan instruksi program yang memfungsikan data. Tabel terdiri dari kolom-kolom yang saling terkait, seperti file yang terdiri dari record yang saling terkait. File didalam basis data dapat terhubung kepada beberapa tabel. Dalam sebuah tabel, data pada tiap kolom terdiri dari ukuran dan tipe yang sejenis (char/ numeric).
bd_file_u
bd_harddisk_u
Keuntungan dari basis data:
  • Mengurangi duplikasi data
  • Meningkatkan integritas data
  • Memelihara independensi data
  • Meningkatkan keamanan data
  • Memelihara konsistensi data
  • Manipulasi data lebih canggih
  • Mudah untuk digunakan
  • Mudah untuk di akses
Kekurangan:
  • Sistem lebih rumit, jadi memerlukan tenaga ahli dalam disain, program dan implementasi
  • Lebih mahal
  • Bila ada akses yang tidak benar, kerusakan dapat terjadi
  • Karena semua data di tempat terpusat, kerusakan software dan hardware dapat terjadi
  • Proses pemeliharaan dapat memakan waktu karena ukurannya yang besar
  • Proses back up data memakan waktu
Keakuratan data dalam proses bisnis akan menjadi hal yang sangat penting terutama mengenai data security. Karena data tersebut diperlukan sebagai bahan pertimbangan dalam proses pengambilan keputusan, baik untuk perekrutan, pendidikan dan pelatihan serta penugasan security. Selain itu dengan basis data prosesnya cepat dan mudah, karena terdapat software pembantu pada basis data yang disebut Database Management System (DBMS) yang dapat mengorganisasi, memanipulasi (mengubah, menyimpan, menghapus) maupun mengambil data kembali. DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, dan menjamin konsistensi data. Kemudahan dalam pengoperasian ini dimaksudkan untuk pengguna demi meningkatkan kinerja pada bagian operasional dalam mengolah data. Dan proses kecepatan berguna untuk menampilkan data atau informasi tentang data security yang memiliki banyak record dengan cepat tanpa memakan banyak waktu dalam mencari file yang tersimpan di dalam arsip.
Oleh karena itu untuk mendukung sistem informasi security yang efektif perlu dirancang suatu sistem basis data security yang lebih komprehensif, sehingga akan mempermudah dalam mengolah data – data yang dibutuhkan.
Siklus Hidup Aplikasi Basis Data menurut Connoly dan Begg
Metodologi perancangan basis data yang digunakan dalam penulisan ini adalah metodologi yang dibuat oleh Connoly dan Begg seperti yang terlihat pada gambar berikut ini.
siklus
Keterangan gambar :
1. Database planning
Yakni kegiatan perencanaan, agar kegiatan di tiap-tiap stage pada siklus hidup dapat direalisasikan seefektif dan seefisien mungkin.
2. System Definition
Yakni kegiatan menentukan ruang lingkup dan batasan pada aplikasi basis data, pengguna, dan area aplikasi.
3. Requirements collection and analysis
Yakni kegiatan pengumpulan dan analisis informasi mengenai bagian dari perusahaan yang akan didukung oleh aplikasi basis data.
4. Database design
Yakni kegiatan perancangan konseptual, logikal, dan fisikal pada basis data.
5. DBMS selection (optional)
Yakni kegiatan menyeleksi DBMS yang cocok untuk diterapkan pada aplikasi basis data.
6. Application design
Yakni kegiatan perancangan user interface dan program aplikasi yang akan digunakan dan akan memproses basis data.
7. Prototyping (optional)
Yakni kegiatan membangun model pekerjaan atau kegiatan pada aplikasi basis data, yang memungkinkan perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana tampilan dan kegunaan dari sistem yang dihasilkan.
8. Implementation
Membuat bagian luar (external), konseptual, dan mendefinisikan basis data internal, serta program aplikasi.
9. Data conversion and loading
Yaitu peralihan dengan pemuatan sistem lama ke sistem yang baru.
10. Testing
Dengan menguji coba kesalahan atau error pada aplikasi basis data dan memvalidasikan penentuan kebutuhan pengguna.
11. Operational maintenance
Pada stage ini aplikasi basis data secara penuh diterapkan, dimana sistem secara terus menerus diawasi dan dipelihara. Akan sangat penting apabila kebutuhan yang baru tergabung pada aplikasi basis data melalui stage sebelumnya pada siklus hidup
Sebelum adanya sistem basis data, sistem yang digunakan untuk mengelola data adalah sistem file atau dikenal juga dengan file-based system.
Menurut Connoly (2002,p7), file-based system adalah kumpulan dari program aplikasi yang berfungsi untuk menghasilkan laporan untuk pengguna. Tiap program mempunyai dan mengelola datanya masing-masing.
File-based system sebagai sistem penyimpanan dan pengurutan data dengan cara mengumpulkan data-data yang sejenis, memberi judul atau label dan melakukan index berdasarkan alfabet, untuk memudahkan proses pencarian data kembali.
Sistem ini menggunakan metode desentralisasi yang berarti masing-masing departemen menyimpan dan mengontrol datanya masing-masing.
File-based system menggunakan program aplikasi yang dapat memproses data sehingga dapat menghasilkan laporan yang dapat digunakan oleh masing-masing departemen yang mengelolanya.
Sistem ini dapat bekerja dengan baik apabila jumlah data yang disimpan tidak terlalu banyak, bahkan dapat bekerja dengan baik pada data dengan jumlah banyak tetapi hanya bila proses yang dilakukan adalah simpan dan ambil data. Sistem mulai tidak bekerja dengan baik saat diperlukan proses cek silang antar data, atau saat data berhubungan dengan data lain.
Dari keterangan di atas dapat diambil kesimpulan yaitu sistem file adalah sistem penyimpanan data dengan sistem pengurutan tertentu dengan tingkat keterkaitan antar file yang sangat rendah. Beberapa kekurangan dari sistem file adalah:
1. Duplikasi data
Karena menggunakan metode desentralisasi, tiap departemen mempunyai file masing-masing dan terjadinya duplikasi data tidak dapat dihindari. Duplikasi data membuang biaya karena butuh tempat penyimpanan lebih, karena harus memasukkan data lebih dari satu kali, dan dapat menyebabkan hilangnya integritas data.
2. Pemisahan dan isolasi data
Saat data disimpan pada beberapa file, akan ada kesulitan saat kita perlu memproses suatu data yang berhubungan dengan data di file yang berbeda.
3. Ketergantungan data
Apabila data dalam beberapa file saling terkait maka bila kita ingin mengubah suatu spesifikasi dari data, misalnya mengubah nama field, maka kita harus mengetahui semua file dan data yang terhubung dan memodifikasi semua file dan data tersebut. Proses ini membutuhkan waktu yang tidak sebentar.
4. Ketidaksesuaian format
Struktur dari suatu file tergantung dari bahasa pemrograman yang membangunnya. Bila file dibangun menggunakan COBOL maka filefile yang dibangun menggunakan C. tersebut belum tentu bisa digabungkan dengan
5. Peningkatan jumlah program aplikasi secara cepat
Hal ini dapat menyebabkan kesulitan dalam pemeliharaan file sehingga dapat menyebabkan tidak sesuainya hasil yang diharapkan.
Karena beberapa kekurangan inilah maka dikembangkan sistem baru yaitu basis data.