Senin, 14 Januari 2019

PERANCANGAN BASIS DATA

PERANCANGAN BASIS DATA KONSEPTUAL

            Pada permodelan konseptual data kita harus melakukan analisis kebutuhan data secara keseluruhan untuk system informasi yang diusulkan. Hal ini berjalan dalam dua langkah. Pertama selama tahap inisiasi proyek dan perencanaan kita menggambarkan ERD sederhana (belum mencakup semua atribut yang berkaitan dengan entitas tertentu) yang menggambarkan data-data yang tercakup pada proyek pengembangan tanpa terlalu mempedulikan bagaimana kelak ia diimplementasikan. Hanya kategori peringkat tinggi dari data (entitas) dan hubungan (relasi) secara garis besar yang di gambarkan.
            Kemudian pada tahap analisis SDLC, kita akan menghasilkan model data ERD secara terperinci, yang mengidentifikasikan semua data yang terlibat pada organisasi yang harus dikelola oleh system informasi. Pada tahap analisis kita akan mendefinisikan semua atribut data, mendaftarkan kategori data, menampilkan seluruh hubungan antar entitas, serta menspesifikasikan setiap aturan yang akan memengaruhi integritas data. Juga, dalam tahap analisis ini kita akan melakukan pemeriksaan model data untuk memelihara konsistensi dengan model-model lain ( misalnya diagram alir data, diagram objek dan sebagainya) yang telah dikembangkan sebelumnya untuk menjelaskan dimensi lain dari system informasi yang akan kita kembangkan seperti tahapan pemrosesan, aturan-aturan yang dapat di terapkan untuk menangani data, serta perwaktuan dari peristiwa-peristiwa yang terjadi.
             Tujuan dari tahap ini adalah untuk menghasilkan skema konseptual untuk databse yang tidak tergantung pada sistem manajemen database yang spesifik. Penggunaan model data tingkat tinggi seperti ER/EER sering digunakan didalam tahap ini. Di dalam skema konseptual dilakukan perincian aplikasi–aplikasi database dan transaksi–transaksi yang diketahui .

Perancangan skema konseptual : 
Pada tahap ini kegiatan yang dilakukan mengecek tentang kebutuhan– kebutuhan pemakai  terhadap data yang dihasilkan dari tahap 1, dimana
tujuan dari proses perancangan skema konseptual adalah menyatukan pemahaman dalam struktur database, pengertian  semantik, keterhubungan dan batasan-batasannya, dengan membuat sebuah skema database konseptual dengan menggunakan model  data ER/EER tanpa tergantung dengan sistem manajemen database.

Ada dua pendekatan perancangan skema konseptual : 
·     Terpusat
Kebutuhan–kebutuhan dari aplikasi atau kelompok–kelompok pemakai yang berbeda digabungkan menjadi satu set kebutuhan pemakai kemudian dirancang menjadi satu skema konseptual.
·     Integrasi view–view yang ada
Untuk masing–masing aplikasi atau kelompok–kelompok pemakai yang berbeda dirancang sebuah skema eksternal  ( view ) kemudian view – view tersebut disatukan  ke dalam sebuah skema konseptual.
Ada 4 strategi dalam perancangan skema konseptual : 
¨     Top down
¨     Bottom Up
¨     Inside Out
¨     Mixed
·     Transaksi
Merancangan karakteristik dari transaksi–transaksi yang akan di implementasikan tanpa tergantung dengan DBMS yang telah dipilih. Transaksi–transaksi ini digunakan untuk memanipulasi database sewaktu diimplementasikan . Pada tahap ini diidentifikasikan input, output dan fungsional . Transaksi ini antara lain : retrieval, update dan delete, select dll.

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 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/multivalued 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.


PERANCANGAN BASIS DATA LOGICAL
Pada tahap perancangan basis data secara logika, kita melakukan pendekatan pengembangan basis data dengan dua cara pandang. Pertama kita akan menerjemahkan / mentransformasikan model data konseptual kebentuk relasi-relasi berdasarkan teori basis data relasional dan teori objek/kelas. Kemudian setiap program komputer dalam sistem informasi dirancang, termasuk format masukan serta keluarannya. Kemudian kita juga meninjau ulang transaksi, laporan, tampilan dilayar monitor dan sebagainya yang didukung oleh basis data.

Model logika berkisar pada kebutuhan bisnis bukan database, meskipun kebutuhan bisnis digunakan untuk menetapkan kebutuhan database.
Pemodelan logis dimulai dengan mengumpulkan kebutuhan bisnis dan mengkonversi kebutuhan tersebut ke dalam model. Model logis berkisar pada kebutuhan bisnis, bukan database, meskipun kebutuhan bisnis digunakan untuk menetapkan kebutuhan database.

Pemodelan logis melibatkan pengumpulan informasi tentang proses bisnis, badan usaha (kategori data), dan unit organisasi. Setelah informasi ini dikumpulkan, diagram dan laporan yang dihasilkan termasuk diagram hubungan entitas, diagram proses bisnis, dan akhirnya diagram alur proses.
Diagram yang dihasilkan harus menunjukkan proses dan data yang ada, serta hubungan antara proses bisnis dan data. Pemodelan logis harus akurat dalam membuat representasi visual dari kegiatan dan data yang relevan dengan bisnis tertentu.

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).

Logical Model dari sistem informasi lebih menjelaskan kepada user bagaimana nantinya fungsifungsi di sistem informasi secara logika akan bekerja. Logical Model dapat digambarkan dengan menggunakan diagram arus data (data flow diagram). Arus dari data di DAD dapat dijelaskan dengan menggunakan kamus data (data dictionary)


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.
4. 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 :
a. 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

 b. 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.

c. 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.

d. 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.

e. 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

f. 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.
Fitur dari model data logika meliputi :
 Termasuk semua entitas dan hubungan di antara mereka
 Semua atribut untuk setiap entitas ditentukan
 Primary Key untuk setiap entitas ditentukan
 Foreign key ( kunci mengidentifikasi hubungan antara entitas yang berbeda) yang di tentukan
 Normalisasi terjadi pada tingkat ini.

™Langkah-langkah merancang database yang baik :
• Pemilihan proses
• Pemilihan sumber
• Mengidentifikasi dimensi
• Pemilihan fakta
• Melengkapi tabel dimensi
• Pemilihan durasi database
• Menelusuri perubahan dimensi yang perlahan
• Menentukan prioritas dan mode query

Fase selanjutnya dari perancangan database adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan.

Tujuan perancangan desain data logical ialah :
 untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya.
• memudahkan pengertian struktur informasi
• mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space) 
















Tidak ada komentar:

Posting Komentar