Apa itu Conseptual DB
Database Management System ( DBMS )
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
:
Conseptual Database Design
Logical Database Design
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 :
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
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.
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.
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.
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
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 :
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.
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
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.
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.
Komentar
Posting Komentar