Kamis, 29 Maret 2012

PROSES DESAIN DATABASE

Database adalah sekumpulan data yang saling berhubungan. Database yang baik adalah database yang dapat memberikan informasi bagi penggunanya. Untuk memberikan informasi sesuai dengan kehendak pengguna maka diperlukan pendesaian database.

Adapun langkah-langkah dalam proses desain database sebagai berikut :
1.   Analisis persyaratan
Langkah pertama dalam proses desain database adalah memahami dan mengetahui data apa yang akan disimpan dalam database. Aplikasi apa yang akan dibuat, jenis operasi apa yang digunakan, dan seterusnya.

2.   Desain database konseptual
Data yang diperoleh dari tahap analisis persyaratan digunakan untuk mengembangkan deskripsi data yang disimpan dalam database. Dalam proses ini kita menggunakan model ER yang tujuannya adalah untuk membuat gambar sederhana tentang data sesuai dengan pemikiran pengguna dan mengembangkan data tersebut secara lebih luas.

3.   Desain database logika
Langkah yang ketiga yaitu mengubah model ER menjadi skema database yang relasional. Disini kita harus memilih DBMS untuk mengimplementasikan desain database kita.
Berikut ini adalah langkah-langkah dalam merancang database logika :
a)   Mendefinisi entity yang dibutuhkan
Entity merupakan objek yang mewakili sesuatu yang nyata. Simbol dari entity biasanya digambarkan dengan persegi panjang.
Misalnya dalam sistem informasi akademik, yang bisa dijadikan entity adalah entity mahasiswa, entity dosen, dan entity mata kuliah.
b)   Menentukan atribut dari setiap entity beserta kuncinya
Setelah menentukan entity, langkah berikutnya adalah menentukan atribut dari entity tersebut.
Berikut ini adalah contoh atribut dan kunci dari entity mahasiswa, dosen, dan mata kuliah :

Entity
Atribut
Mahasiswa
NIM

Nama Mahasiswa

Tempat Tanggal Lahir

Jenis Kelamin

Agama

Alamat

Fakultas

Jurusan

Angkatan
Dosen
NIP

Nama dosen

Jurusan

Bidang keahlian

Alamat
Mata Kuliah
Kode matkul

Nama matkul

SKS

Semester

Keterangan : atribut yangbercetak tebal dan bergaris bawah merupakan primary key.
c)   Menentukan relasi antar entity
Setelah menentukan entity dan atribut, selanjutnya adalah kita menentukan relasi antar entity. Jika entity yang satu dengan entity yang lain saling berhubungan, maka hubungan tersebut dinyatakan sebagai entity baru. Entity hasil relasi mempunyai kunci tamu (foreign key). Simbol dari entity baru digambarkan dengan jajaran genjang.
Antara entity dosen dengan mata kuliah, kita bisa membuat entity baru yang yaitu entity jadwal kuliah, berikut adalah atributnya :
·         NIP
·         Kode matkul
·         Hari
·         Jam
·         Ruang
Antara entity mahasiswa dengan mata kuliah, kita bisa membuat entity baru yang yaitu entity KHS, berikut adalah atributnya :
·         NIM
·         Kode matkul
·         Nilai
Antara entity mahasiswa dengan dosen, kita bisa membuat entity baru yang yaitu entity jadwal kuliah, berikut adalah atributnya :
·         NIM
·         NIP
·         Tanggal mulai bimbingan
·         Tanggal selesai
d)   Menentukan derajat relasi
Derajat relasi yang terjadi antara entity satu dengan entity yang lain adalah one to one (1:1), one to many/many to one (1:N/N:1), dan many to many (M:N).
·    Derajat relasi antara dosen dengan mata kuliah adalah one to many,  karena seorang dosen bisa mengampu lebih dari satu mata kuliah dan satu mata kuliah biasanya hanya diampu oleh satu dosen.
·    Derajat relasi antara mahasiswa dengan mata kuliah adalah many to many, karena satu mahasiswa boleh mengambil lebih dari satu mata kuliah dan satu mata kuliah boleh diambil oleh banyak mahasiswa
·    Derajat relasi antara mahasiswa dengan dosen adalah one to many, karena satu mahasiswa hanya mempunyai satu dosen pembimbing tapi satu dosen pembimbing bisa mempunyai banyak mahasiswa bimbingan.

4.   Perbaikan skema
Dalam tahap ini kita harus mengecek sekumpulan relasi dalam skema database relasional agar kita dapat menemukan masalah yang muncul dan memperbaikinya. Langkah ini sering disebut juga dengan istilah Normalisasi.
Berikut adalah tingkatan bentuk normal dalam proses normalisasi :
·         Bentuk Normal Pertama (1NF)
·         Bentuk Normal Kedua (2NF)
·         Bentuk Normal Ketiga(3NF)
·         Bentuk Normal Boyce-Codd (BCNF)
·         Bentuk Normal Keempat (4NF)
·         Bentuk Normal Kelima (5NF)

5.   Desain database fisik
Proses perancangan fisik merupakan transformasi dari perancangan logis terhadap jenis DBMS yang digunakan sehingga dapat disimpan secara fisik dalam media penyimpanan.
·         Transformasi entity menjadi tabel

No
Entity
Tabel
1
Entity mahasiswa
Tabel mahasiswa
2
Entity mata kuliah
Tabel matakuliah
3
Entity dosen
Tabel dosen
4
Entity jadwal
Tabel jadwal
5
Entity KHS
Tabel KHS
6
Entity skripsi
Tabel skripsi


·         Transformasi atribut menjadi field

Entity
Atribut
Nama Field
Mahasiswa
NIM
NIM

Nama Mahasiswa
Nama

Tempat Tanggal Lahir
TTL

Jenis Kelamin
Jenis_kelamin

Agama
Agama

Alamat
Alamat

Fakultas
Fakultas

Jurusan
Jurusan

Angkatan
Angkatan
Dosen
NIP
NIP

Nama dosen
Nama_dosen

Jurusan
Jurusan

Bidang keahlian
Bidang_keahlian

Alamat
Alamat
Mata Kuliah
Kode matkul
Kode

Nama matkul
Nama_matkul

SKS
SKS

Semester
Semester
Jadwal Kuliah
NIP
NIP

Kode matkul
Kode

Hari
Hari

Jam
Jam

Ruang
Ruang
KHS
NIM
NIM

Kode matkul
Kode

Nilai
Nilai
Skripsi
NIM
NIM

NIP
NIP

Tanggal mulai bimbingan
Tanggal mulai

Tanggal selesai
Tanggal selesai


·         Menentukan tipe data dari field

Entity
Nama Field
Type Data
Mahasiswa
NIM
Text

Nama
Text

TTL
Text

Jenis_kelamin
Text

Agama
Text

Alamat
Text

Fakultas
Text

Jurusan
Text

Angkatan
Number
Dosen
NIP
Text

Nama_dosen
Text

Jurusan
Text

Bidang_keahlian
Text

Alamat
Text
Mata kuliah
Kode
Text

Nama_matkul
Text

SKS
Number

Semester
Number
Jadwal
NIP
Text

Kode
Text

Hari
Text

Jam
Date/Time

Ruang
Text
KHS
NIM
Text

Kode
Text

Nilai
Text
Skripsi
NIM
Text

NIP
Text

Tanggal mulai
Date/Time

Tanggal selesai
Date/Time


·         Menentukan ukuran dari field

Entity
Nama Field
Type Data
Ukuran
Mahasiswa
NIM
Text
15

Nama
Text
35

TTL
Text
20

Jenis_kelamin
Text
10

Agama
Text
8

Alamat
Text
50

Fakultas
Text
15

Jurusan
Text
15

Angkatan
Number
Byte
Dosen
NIP
Text
15

Nama_dosen
Text
35

Jurusan
Text
15

Bidang_keahlian
Text
20

Alamat
Text
50
Mata Kuliah
Kode
Text
8

Nama_matkul
Text
15

SKS
Number
Byte

Semester
Number
Byte
Jadwal
NIP
Text
15

Kode
Text
15

Hari
Text
6

Jam
Date/Time
Medium Date

Ruang
Text
6
KHS
NIM
Text
15

Kode
Text
15

Nilai
Text
1
Skripsi
NIM
Text
15

NIP
Text
15

Tanggal mulai
Date/Time
Medium Date

Tanggal selesai
Date/Time
Medium Date


6.   Desain aplikasi dan keamanan
Dalam tahap ini kita harus bisa mengidentifikasi entitas dan proses-proses yang terlibat dalam aplikasi database.