DESAIN BASIS DATA
2. Pemodelan Data Dengan Menggunakan ER-Model
ER (Entity-Relationship) Model merupakan model data tingkat tinggi yang populer untuk model data relasional. Model ini dengan sejumlah variasinya sering digunakan dalam desain konseptual dari aplikasi basis data.
Model Data Konseptual Untuk Desain Basis Data
Fase-fase dalam desain basis data yang disederhanakan tampak sebagaimana gambar berikut :
Dalam ER model , skema konseptual untuk suatu aplikasi basis data ditunjukkan dengan menggunakan notasi-notasi grafis yang disebut “ER
Diagram”, sebagai berikut :
Mini-World REQUIREMENTS COLLECTION AND ANALYSIS Database Requirements CONCEPTUAL DESIGN LOGICAL DESIGN (DATA
MODEL MAPPING) Conceptual Schema (In
High-Level Data Model)
Logical (Conceptual) Schema (in the data model of) a
specific DBMS PHYSICAL DESIGN
Internal Schema (for the same DBMS) Functional Requirement FUNCTIONAL ANALYSIS TRANSACTION IMPLEMENTATION APPLICATION PROGRAM DESIGN High-Level Transaction Specification Application Programs DBMS-INDEPENDENT DBMS-SPECIFIC
Simbol Arti Entity Weak Entity Relationship Identifying Relationship Attribute Key Attribute Multivalued Attribute Composite Attribute Derived Attribute Total Participation of E2 in R Cardinality Ratio 1 : N For E1 : E2 in R
Structural Constraint (min,max) On Participation Of E in R
Untuk keperluan penjelasan konsep dan penggunaan ER model, digunakan satu contoh basis data “COMPANY” yang di dalamnya mencatat :
Data pegawai (Employee) Data departemen (Department) Data proyek (Project)
Penjelasan dari sebagian data COMPANY yang diperoleh setelah fase “Requirement Collection and Analyst” sebagaimana berikut :
COMPANY terdiri dari sejumlah departments. Setiap department mempunyai satu nama yang unik, nomor yang umik, dan seorang pegawai (Employee) yang bertindak sebagai manager dari department. Tanggal mulai bekerja dari manager juga dicatat dalam basis data ( tanggal pengangkatan sebagai manager ). Satu department dapat tersebar di sejumlah lokasi.
R E E (min,max) (min,max) R E2 E1 1 N R E2 E1
….
Suatu department dapat mengendalikan sejumlah pryek. Setiap proyek mempunyai satu nama yang unik, nomor yang unik, dan satu lokasi tertentu. Data pegawai yang perlu dicatat berupa : nama, social security number,
address, salary, sex, dan birthdate.
Seorang pegawai ditempatkan di satu department, tetapi dapat bekerja di sejumlah project yang tidak harus dikendalikan oleh department dimana pegawai tersebut ditempatkan. Jumlah jam perminggunya dari pegawai yang bekerja pada suatu project perlu dicatat. Juga perlu dicatat supervisor langsung dari setiap pegawai.
Untuk tujuan/keperluan asuransi pegawai, maka perlu dicatat anggota keluarga dari setiap pegawai. Data yang dicatat berupa : nama anggota keluarga, sex birthdate dan hubungan keluarga (relationship).
Gambar berikut merupakan skema (ER diagram) dari aplikasi contoh diatas.
Penerapan ER Diagram Dalam Perancangan Konseptual Ada beberapa langkah dalam perancangan konseptual, yaitu : o Menyusun kamus data (data dictionary)
o Memilih primary key dari kamus data yang tersusun, dengan syarat unik dan mewakili sebuah entity.
o Membentuk tabel-tabel entitas berdasarkan primary key yang terpilih. o Menganalisa relasi yang terjadi antar tabel entitas dan
menggambarkannya. Relasi yang terjadi bisa One to One, One to Many atau Many to Many.
o Menggambarkan hubungan antar entitas berdasarkan analisa relasi yang didapat dan memasang kunci-kunci relasi dengan aturan:
Bila relasi One to One, foreign key ditaruh pada ke-2 tabel atau dijadikan satu.
Bila relasi One to Many, foreign key ditaruh pada tabel yang Many. Bila relasi Many to Many, maka dibuat tabel konektor yang berisi 2
foreign key dari kedua tabel yang Many. Kemudian kedua foreign key
tersebut menjadi primary key pada tabel konektor.
o Untuk memahami lebih mendalam tentang perancangan ER diagram, amatilah berkas berikut ini, misalkan kartu peminjaman buku berikut adalah salah satu dari nama sebuah arus data dalam sebuah diagram DFD :
NIM :
NAMA :
Kd_buku Judul Pengarang Tgl_pinjam Tgl_kembali
KARTU PEMINJAMAN BUKU
Yaitu bahwa hasil “Requirement Collection and Analyst” :
“Di perpustakan ini, ada beberapa buku dengan judul dan pengarang yang sama, namun demikian masing-masing buku memiliki kode buku sendiri-sendiri. Seorang mahasiswa boleh meminjam buku lebih dari satu”
Dan misalkan Struktur Kamus Datanya adalah sebagai berikut :
NIM = nomor induk mahasiswa
Nama = nama mahasiswa
Kd_buku= kode buku Judul = judul buku
Pengarang = pengarang buku
Tgl_pinjam = tanggal peminjaman
Tgl_kembali = tanggal kembali buku yang dipinjam
Kemudian perlu ditentukan primary key : merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record, Jenis-jenis kunci :
Superkey Candidat key Primary key Alternate key Foreign key External key
Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk
mengidentifikasi entity atau record dari tabel tersebut secara unik
Candidate key : superkey dengan jumlah atribut minimal. Candidat key ini
tidak boleh berisi atribut dari tabel yang lain
ID_Cus Name NoOfPay Amount
112233 Tim 890 9000
112231 Kate 891 8000
112241 Tyson 895 10000
Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi
primary key dengan 3 kriteria sbb :
Key tersebut lebih natural untuk dijadikan acuan Key tersebut lebih sederhana
Key tersebut cukup unik
Alternate key :Setiap atribut dari candidate key yang tidak terpilih sebagai
primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay
Foreign key : merupakan sembarang atribut yang menunjuk kepada
primary key pada tabel lain.
Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau
many to many
KODE MK SKS KD-Dosen
TEL 100 Fisika 3 D-101
TEL 200 Isyarat 2 D-109 TEL 210 T.Kendali 2 D-101
Dari kamus data yang terbentuk, dapat ditentukan primary key adalah : NIM merupakan primary key dari mahasiswa
Kd_buku merupakan primary key dari buku Candidate Key
Foreign Key Primary Key
o Selanjutnya dapat dibuat tabel entitas beserta atribut dan primary key-nya (field yang belum ada tabel entitasnya sementara diabaikan)
o Selanjutnya adalah menganalisa relasi antar tabel entitas
Hasil analisa: Seorang mahasiswa bisa meminjam banyak buku dan satu buku dapat dipinjam oleh banyak mahasiswa.
o Dari ER Diagram diatas, dapat digambarkan hubungan antara entitas dan menambahkan field yang mencirikan hubungannya :
Keterangan:
One to One One to Many Many to Many
Dari diagram tersebut, File Pinjam adalah tabel konektor, yang berisi
foreign key (NIM dan Kd_buku) serta berisi field-field yang mencirikan tabel
tersebut, yaitu Tgl_pinjam dan Tgl_kembali. Perhatikan area yang berada dalam garis putus-putus. Area tersebut menggambarkan relasi yang terjadi antar entitas, yang sebelumnya digambarkan dengan ER diagram.
Mahasiswa NIM Nama …. ….. …… Buku Kd_buku Judul Pengarang ….. ……
Mahasiswa M pinjam M Buku
yang dipinjam yang meminjam Mahasiswa NIM Nama Alamat Tgl_lahir Telepon Buku Kd_buku Judul Pengarang Penerbit Thn_terbit Pinjam NIM Kd_buku Tgl_pinjam Tgl_kembali
3. Normalisasi
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang
non-redundant, stabil, dan fleksibel
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete, dan modifikasi pada satu atau beberapa
atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap normalisasi antara lain :
Bentuk Normal ke Satu (1NF) Syarat :
Tidak ada set atribut yang berulang atau bernilai ganda. Telah ditentukannya primary key untuk tabel atau relasi. Tiap atribut hanya memiliki satu pengertian.
Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal ke Dua (2NF) Syarat :
Bentuk data telah memenuhi kriteria bentuk normal ke satu.
Atribut bukan kunci (non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key
Bentuk Normal ke Tiga (3NF) Syarat :
Bentuk data telah memenuhi kriteria bentuk normal ke dua.
Atribut bukan kunci (non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi pada beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu (1NF).
Bentuk Normal 3 NF3
EVALUASI
1. Sebutkan dan jelaskan semua komponen basis data.
2. Jelaskan keterkaitan diantara ER Diagram dengan basis data
3. Sebutkan Simbol dan fungsi yang digunakan dalam penggambaran ER Diagram
4. Sebutkan apa yang dimaksud dengan Primary Key
5. Jelaskan keterkaitan antara Basis Data dengan Kamus Data
6. Jelaskan apa yang dimaksud dengan Relasi dan berikan contoh-contoh penggunaanya.
7. Buat sebuah contoh kasus normalisasi sampai dengan Normal 3 NF3 Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantu-ngan fungsional.
DAFTAR PUSTAKA
Burch, J.G., System, 1992, Analysis, Design, and Implementation, Boyd & Fraser Publishing Company.
Jogiyanto, 1990, Analisis dan Disain Sistem Informasi, ANDI OFFSET Yogyakarta.
John G. Burch, Jr, Felix R. Strater, Gary Grudnistski, 1979, Information Systems : Theory and Practice, Second Edition, John Wiley & Sons
Meilir Page-Jones, 1988, The Practical Guide to Structured Systems Design, Second Edition, Yourdon Press, Prentice Hall
I.T. Hawryszkiewycz, 1991, Introduction Systems Analysis and Design, Second Edition, Prentice Hall
Raymond McLeod, Jr, 1979, Management Information System : A Study of Computer-Based Information Systems, Sixth Edition, Prenctice Hall