Menurut Connoly (2002,p16), Database Management System adalah sistem software yang dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data.
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).
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 entitydan orang tua merupakan weak entity karena keberadaan entity orang tua tergantung dari entitymahasiswa.
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 attributediperbolehkan 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 attributetersebut 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, entitydiberikan 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. Attributeyang 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 nilaiattribute 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 bahwalocal 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).
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 tergantungtransitive 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 :
1. Menghilangkan many-to-many (*:*) binary relationship types
2. Menghilangkan many-to-many (*:*) recursive relationship types
3. Menghilangkan complex relationship types
4. Menghilangkan multi-valued attributes
1. Memperoleh relasi untuk local logical data model.
Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship danattribute 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 :
v 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.
v 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.
2. 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.
3. 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
4. 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.
PROSES PERANCANGAN BASIS DATA
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).
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 menyimpantuples 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.
Pengertian Basis
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 darirecord 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 darirecord 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).
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 datasecurity.
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.
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 fileatau 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 filedan 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 filedibangun 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.
MODEL DATA DAN BENTUKNYA
Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan
data-data, hubungannya satu sama lain, semantiknya, serta batasan
konsistensi.
data-data, hubungannya satu sama lain, semantiknya, serta batasan
konsistensi.
Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model
relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan
basis data pada peringkat logika.
relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan
basis data pada peringkat logika.
* Model ERD atau Conceptual Data Model (CDM) : model yang dibuat
berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar
yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-
entitas itu.
* Model Relasional atau Physical Data Model (PDM) : model yang menggunakan
sejumlah tabel untuk menggambarkan data serta hubungan antara data-data
tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom
memiliki nama yang unik.
berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar
yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-
entitas itu.
* Model Relasional atau Physical Data Model (PDM) : model yang menggunakan
sejumlah tabel untuk menggambarkan data serta hubungan antara data-data
tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom
memiliki nama yang unik.
Bangun sebuah ER-Diagram untuk perusahaan asuransi mobil yang costumer–
costumernya masing-masing memiliki satu atau lebih mobil. Setiap mobil
memiliki 0 sampai banyak catatan kecelakaan. Serta bangun tabel-tabel untuk
ER-diagram!
costumernya masing-masing memiliki satu atau lebih mobil. Setiap mobil
memiliki 0 sampai banyak catatan kecelakaan. Serta bangun tabel-tabel untuk
ER-diagram!
* Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak
bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat
selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal
atau gabungan atribut-atribut yang secara unik dapat digunakan untuk
membedakannya dari entitas kuat yang lain).
bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat
selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal
atau gabungan atribut-atribut yang secara unik dapat digunakan untuk
membedakannya dari entitas kuat yang lain).
* Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.
Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).
Agregasi
adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan
setelah relasi yang lain ada terlebih dahulu. Relasi yang bertipe
agregasi tidak dimungkinkan ada jika relasi yang menjadi prasyaratnya
tidak terealisasi.
Contoh agregasi :
Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umumnya
(yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari relasi lain
(relasi prasyarat) yang secara kronologis lebih dulu terbentuk, maka
pengimplementasiannya juga harus dilakukan setelah relasi prasyarat tersebut
terimplementasikan. Selanjutnya kita tinggal meninjau derajat relasi dari relasi
agregasinya.
(yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari relasi lain
(relasi prasyarat) yang secara kronologis lebih dulu terbentuk, maka
pengimplementasiannya juga harus dilakukan setelah relasi prasyarat tersebut
terimplementasikan. Selanjutnya kita tinggal meninjau derajat relasi dari relasi
agregasinya.
Jika terdapat kejadian sebagai berikut :
Bagaimana jika terdapat set entitas yang sama muncul beberapa kali dalam satu
set ER-Diagram. Mengapa hal ini harus dihindari? Jelaskan!
* Untuk menghindari redundancy
* Menghemat penyimpanan (storage) data
* Mengurangi efektifitas dan kecepatan akses
* Untuk menghindari terjadinya asinkronisasi data pada saat diupdate
* Menghemat penyimpanan (storage) data
* Mengurangi efektifitas dan kecepatan akses
* Untuk menghindari terjadinya asinkronisasi data pada saat diupdate
Desain sebuah generalisasi– spesialisasi hirarki untuk sebuah perusahaan
kendaraan bermotor. Perusahaan menjual sepeda motor, passenger car, van,
dan bis. Tentukan penempatan atribut Anda pada setiap level hirarki.
kendaraan bermotor. Perusahaan menjual sepeda motor, passenger car, van,
dan bis. Tentukan penempatan atribut Anda pada setiap level hirarki.
* Total constraint adalah constraint yang mana data dalam entitas yang memiliki
constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.
* Constraint partial adalah constraint yang mana data dalam entitas yang
memiliki constraint tersebut terhubung ke dalam entitas dari relasinya.
constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.
* Constraint partial adalah constraint yang mana data dalam entitas yang
memiliki constraint tersebut terhubung ke dalam entitas dari relasinya.
* Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan
maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
* Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan
maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
* Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan
maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
Relasi dua :
* Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0
maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling
ketergantungan.
* Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.
maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling
ketergantungan.
* Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.
Relasi tiga
* Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan
detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak
saling ketergantungan.
detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak
saling ketergantungan.
Relasi empat
* Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0
maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling
ketergantungan.
* Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan.
Relasi lima
maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling
ketergantungan.
* Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan.
Relasi lima
* Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0
maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling
ketergantungan.
maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling
ketergantungan.
* Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1
maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling
maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling
ketergantungan.
Relasi tujuh
* Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0
maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14.
maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14.
* Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13. Normalisasi adalah proses penyusunan data untuk mengurangi terjadinya
duplikasi dan inkonsistensi.
maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13. Normalisasi adalah proses penyusunan data untuk mengurangi terjadinya
duplikasi dan inkonsistensi.
* First Normal Form (1NF) : tidak boleh ada kelompok yang berulang pada tabel,
penguraian atribut multivalued dan composit.
penguraian atribut multivalued dan composit.
* Second Normal Form (2NF) : atribut bukan kunci tidak boleh bergantung pada
sebagian primary key, artinya atribut bukan kunci harus bergantung pada semua
atribut yang termasuk primary key à functional dependency pada primary key.
sebagian primary key, artinya atribut bukan kunci harus bergantung pada semua
atribut yang termasuk primary key à functional dependency pada primary key.
* Third Normal Form (3NF) : tidak boleh ada atribut bukan kunci yang
bergantung pada atribut selain primary key.
bergantung pada atribut selain primary key.
* Boyce-Codd Normal Form (BCNF) : atribut yang ditentukan bukan bagian dari
key attribute.
key attribute.
Perbedaan antara tahap 1NF dengan tahap BCNF :
* 1NF : tahap normalisasi dasar, yang mana masih belum sampai pada tingkat
efektifitas maksimal, masih banyak kemungkinan terjadinya redundancy data
atau duplikasi data.
efektifitas maksimal, masih banyak kemungkinan terjadinya redundancy data
atau duplikasi data.
* BCNF : tahap normalisasi setelah 3NF , yang mana efektifitas telah mencapai
maksimal, kemungkinan terjadinya redundancy data dan duplikasi data lebih
kecil daripada 1NF.
sumber : http://lombok-it.blogspot.com/2010/08/artikel-pemrograman-basis-data.html
maksimal, kemungkinan terjadinya redundancy data dan duplikasi data lebih
kecil daripada 1NF.
sumber : http://lombok-it.blogspot.com/2010/08/artikel-pemrograman-basis-data.html
No comments:
Post a Comment