• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.3 Database Design/Perancangan Basis Data

Database design merupakan salah satu tahap yang dikerjakan dari tahap

desain pada siklus hidup pengembangan sistem. Tahap-tahap yang akan dikerjakan pada tahap perancangan database dapat dilihat pada gambar 2.2.

Gambar 2.2 Tahap-tahap Perancangan Database (Atzeni, 2000) Perancangan Database terdiri dari 3 tahap yang utama, yaitu:

1. Conceptual Design

Tahap conceptual design menggambarkan isi (content) dari database tanpa mempertimbangkan implementasi database tersebut dan efisiensi dari program yang memanfaatkan database tersebut.

Tahap conceptual design menghasilkan conceptual schema yang mengacu pada suatu conceptual model (saat ini conceptual model yang

Application Requirements Database Design Conceptual Schema Logical Schema Physical Schema

Database Structure and related documentation

Conceptual Design

Logical Design

banyak digunakan adalah ER Model (Entity Relationship Model)/ER Diagram (Entity Relationship Diagram).

Conceptual model mendeskripsikan organisasi data pada abstraksi

level tinggi dan tidak memperhatikan aspek implementasi.

Komponen utama yang membentuk ER Diagram, yaitu:

a. Entitas

Entitas adalah obyek (misal berupa orang, tempat, kejadian) yang nyata dan dapat dibedakan satu dengan yang lainnya. Himpunan entitas adalah kumpulan entitas yang sejenis. Setiap entitas memiliki atribut sebagai karakteristik masing-masing entitas. Macam-macam atribut:

1. Key (primary key) dan atribut deskriptif

Key adalah atribut yang membedakan antara satu record dengan

record yang lain. Key bersifat unik. Record adalah kumpulan dari isi

atau nilai atribut. Atribut deskriptif adalah atribut yang tidak menjadi primary key

2. Simple Attribute dan Composite attribute

Simple attribute adalah atribut yang tidak dapat diuraikan lagi.

Composite attribute adalah atribut yang dapat dibagi menjadi

3. Single Valued Attribute dan Multivalued Attribute

Single valued attribute adalah atribut yang memiliki satu dan hanya

satu nilai pada setiap record. Multivalued attribute adalah atribut yang dapat memiliki lebih dari satu nilai.

4. Mandatory attribute dan Nonmandatory attribute

Mandatory attribute adalah atribut yang harus memiliki nilai (tidak

boleh bernilai NULL). Nonmandatory attribute adalah atribut yang boleh tidak memiliki nilai (boleh NULL).

5. Derived Attribute

Derived attribute adalah atribut yang nilainya dapat diperoleh dari

atribut lain atau hasil pengolahan.

b. Relasi

Relasi adalah hubungan antar entitas. Relasi yang mungkin terjadi : 1. Relasi satu lawan satu (One To One Relationship)

Setiap entitas pada himpunan entitas yang satu tepat berelasi dengan satu entitas pada himpunan entitas yang lain.

2. Relasi satu lawan banyak ( One to Many Relationship)

Setiap entitas pada himpunan entitas yang satu berelasi dengan banyak (lebih dari satu) entitas pada himpunan entitas yang lain.

3. Relasi banyak lawan banyak (Many to Many Relationship) Banyak entitas pada himpunan entitas yang satu berelasi dengan banyak entitas pada himpunan entitas yang lain.

2. Logical Design

Tahap logical design berisi penerjemahan conceptual schema ke model data yang digunakan suatu DBMS. Pada tahap logical design juga dilakukan optimalisasi database yang digunakan, biasanya menggunakan teknik normalisasi.

Tahap logical design menghasilkan logical schema database yang mengacu pada logical data model (saat ini logical data model yang banyak digunakan adalah relational model).

Logical model mempresentasikan data tanpa melibatkan physical

details. Tahap logical design melakukan restrukturisasi ER Diagram dan

mentranslasikan ER Diagram tersebut ke bentuk relational model.

a. Restrukturisasi ER Diagram

Langkah-langkah dalam restrukturisasi ER Diagram:

1. Analisa redundansi

Redudansi pada ER Diagram adalah data yang diperoleh dari data yang lain.

Macam redundansi:

a) Redundansi akibat adanya nilai atribut yang didapat dari atribut yang lain pada entitas atau relasi yang sama.

b) Redundansi akibat adanya nilai atribut yang didapat dari proses perhitungan.

c) Redundansi akibat adanya relasi yang didapat dari relasi yang lain.

2. Hilangkan Generalisasi

Generalisasi yang ada pada ER Diagram tidak dapat langsung ditranslasikan ke bentuk relational model. Ada 3 cara untuk menghilangkan generalisasi:

a) Meleburkan entitas-entitas anak ke dalam entitas induk b) Memecah entitas induk ke dalam entitas-entitas anak. c) Mengganti generalisasi yang ada dengan relasi. 3. Memecah/menggabungkan entitas-entitas dan relasi-relasi

Memecah maupun menggabungkan entitas-entitas dan relasi-relasi dapat dilakukan dengan tujuan efisiensi operasional/akses. Akses akan berkurang dengan adanya pemisahan atribut konsep sama yang diakses dengan operasional yang berbeda. Akses juga akan berkurang dengan penggabungan atribut dari konsep berbeda yang diakses operasional yang sama. Pemecahan entitas dilakukan bila:

a) Informasi yang sering diakses hanya sebagian kecil dari atribut yang dimiliki entitas tersebut.

b) Atribut pada entitas yang bernilai banyak. 4. Tentukan Primary Key

Primary key merupakan komponen yang penting untuk dapat

b. Translasi ER Diagram ke bentuk relational model

Ada 2 langkah yang dilakukan dalam translasi ER diagram ke dalam bentuk relational model, yaitu:

1. Normalisasi

Normalisasi bertujuan untuk:

a) Memudahkan perancangan database b) Memperkecil redundansi

c) Memudahkan proses update pada database Langkah-langkah normalisasi:

a) Mentransformasikan semua data ke dalam tabel 2 dimensi Bentuk unnormalisasi dapat terjadi karena setiap record dapat memiliki lebih dari 1 nilai.

Pada langkah ini, data yang berulang akan dihilangkan.

b) Menentukan kunci/key dan item data yang berkaitan dengan kunci tersebut.

Dalam proses normalisasi ada 2 bentuk normal, yaitu:

1. Bentuk Normal Pertama

yaitu seluruh baris pada tabel bergantung terhadap seluruh kunci pada tabel tersebut.

2. Bentuk Normal Kedua

berisi pemecahan tabel normal pertama menjadi tabel-tabel yang baru. Pemecahan akan dilakukan bila ada atribut bukan kunci yang tidak tergantung penuh pada atribut kunci.

c) Memisahkan item data yang bergantung pada item data yang bukan kunci.

Pemisahan tabel normal kedua dilakukan bila ada item data yang bergantung secara tidak langsung (transitive dependency) pada item data bukan kunci.

2. Relational Model

Relational model adalah model yang menggambarkan database

dalam bentuk tabel 2 dimensi yaitu baris dan kolom. Tiap baris menggambarkan atribut sedangkan tiap kolom menggambarkan record. Sifat relational model:

a) Tidak ada baris yang sama nilainya b) Urutan baris dan kolom bebas

c) Nilai data atomic/tidak dapat dipecah lagi. Komponen dalam relational model:

a) Tabel

Setiap entitas dan relasi pada ER Diagram akan menjadi tabel pada relational model.

b) Kunci

Setiap record pada tabel harus mempunyai unsur unik dalam nilai tiap atributnya. Unsur unik tersebut dapat dikelompokkan dalam kolom tersendiri.

Setiap tabel memiliki jenis kunci yang berbeda dan antara kunci yang satu dengan kunci yang lain dapat digabungkan. Fungsi kunci adalah untuk menggambarkan relasi yang ada dan juga sebagai pengenal. Jenis kunci pada tabel:

a. Primary Key

Nilai atribut yang membedakan record yang satu dengan record yang lain.

b. Secondary Key

Nilai dari atribut yang tidak terlalu unik tetapi juga dapat digunakan untuk melengkapi primary key, dalam membedakan record yang satu dengan record yang lain.

c. Foreign Key

Nilai dari atribut pada record pada suatu tabel yang merupakan primary key pada record di tabel lain.

c) Relasi

Relasi yang ada pada relational model yaitu: relasi dalam tabel (relasi antar atribut dalam tabel) dan relasi antar tabel.

3. Physical Design

Tahap physical design menghasilkan logical schema, yang dilengkapi dengan detail-detail implementasi database secara fisik (organisasi file dan indeks) sesuai DBMS yang digunakan.

Dokumen terkait