30
Desain Basis Data ( Minggu 2 ) Oleh : Andrew B. Osmond

Desain Basis Data (2)

Embed Size (px)

Citation preview

Page 1: Desain Basis Data (2)

Desain Basis Data( Minggu 2 )

Oleh :Andrew B. Osmond

Page 2: Desain Basis Data (2)

Objektif :• Range Aplikasi Basis Data• Enterprise Data Model• Metode Perancangan Basis Data• Pemodelan Data ( Skema basisdata, business rule, entity relationship

model, elemen ER )

Page 3: Desain Basis Data (2)

Range Aplikasi Basis Data• Basis data personal• Two-tier client / server database

Page 4: Desain Basis Data (2)

Range Aplikasi Basis Data• Multi-tier client / server database

Page 5: Desain Basis Data (2)

Enterprise Data Modeling• Merupakan langkah pertama dalam pengembangan database, di

mana ruang lingkup dan isi umum database yang terorganisir ditentukan.• Tujuannya adalah untuk menciptakan gambaran keseluruhan atau

penjelasan terhadap data yang terorganisir, tidak untuk mendesain basis data tertentu.

Page 6: Desain Basis Data (2)

Enterprise Data Modeling

Page 7: Desain Basis Data (2)

SDLCProject Identification

and Selection

Project Initiation and Planning

Analysis

Physical Design

Implementation

Maintenance

Logical Design

Pemodelan data secara konseptual

Meliputi skema logika dari basisdata, yakni : tabel,

kolom, baris, primary key, foreign key, constraint

Spesifikasi bagaimana data dari skema logis disimpan dalam memori sekunder komputer dengan sistem manajemen database.

Page 8: Desain Basis Data (2)

So?• Untuk mendesain basis data, analisis mutlak diperlukan untuk melihat

gambaran kebutuhan sistem secara keseluruhan.• Langkah berikutnya adalah menentukan objek yang diperlukan untuk

membuat konsep data.• Contoh :

Sebuah toko jual beli binatang peliharaan ( My Pets ) ingin membuat sistem jual beli sederhana. My Pets hanya menjual anjing & kucing. Anjing yang dijual berjenis husky, pitbull, dan herder. Sementara kucing yang dijual berjenis Anggora dan Persia. Pembeli yang membeli anjing / kucing akan dicatat datanya dalam aplikasi supaya dapat dikabari apabila toko sedang mempunyai promo.

Page 9: Desain Basis Data (2)

Memodelkan data • Objek apa saja yang muncul dari kasus di atas?

Page 10: Desain Basis Data (2)

Memodelkan data • Setelah objek terbentuk, aktfitas apa yang bisa kita definisikan dari

contoh di atas?

menjual

membeli

Page 11: Desain Basis Data (2)

Bussiness Rule• Sebuah pernyataan yang mendefinisikan atau membatasi beberapa

aspek bisnis. Hal ini dimaksudkan untuk menegaskan struktur bisnis atau untuk mengontrol atau mempengaruhi perilaku bisnis.• Contoh :• Seorang mahasiswa dapat mengambil 24 SKS apabila IP semesternya > 3.00• Mahasiswa tidak dapat mengajukan sidang tingkat apabila masih ada nilai E.

Page 12: Desain Basis Data (2)

Model RE

Model Relational Entitas

ENTITAS

RELASI

ATRIBUT

Page 13: Desain Basis Data (2)

Model RE

Page 14: Desain Basis Data (2)

Model RE

Page 15: Desain Basis Data (2)

EntitasSeharusnya

• Sebuah objek yang memiliki beberapa atribut.• Sebuah objek yang akan kita

modelkan

Tidak seharusnya

• Pengguna dalam sistem basis data.• Output dari sistem basis data

( contoh : laporan ).

Page 16: Desain Basis Data (2)

EntitasInappropriate entities

System user System output

Page 17: Desain Basis Data (2)

Atribut• Simple vs Composit

Mahasiswa

Nama Alamat

Jalan

Kota

Kabupaten

Kode Pos

composit

Page 18: Desain Basis Data (2)

Atribut• Single-valued vs Multivalue

Mahasiswa

Nama Alamat

Jalan

Kota

Kabupaten

Kode Pos

composit

Hobi*

multivalue

Page 19: Desain Basis Data (2)

Atribut• Stored vs Derivied

Mahasiswa

Nama

Jalan

Kota

Kabupaten

Kode Pos

composit

Hobi*

multivalue

Alamat

Tanggal_lahir

Umur

derivied

Page 20: Desain Basis Data (2)

Atribut• Identifier

Mahasiswa

Nama

Jalan

Kota

Kabupaten

Kode Pos

composit

Hobi*

multivalue

Alamat

Tanggal_lahir

Umur

derivied

NIM

Page 21: Desain Basis Data (2)

Identifier ( Keys )• Sebuah atribut ( kombinasi dari beberapa atribut ) yang membedakan

nilai dari masing-masing entitas.• Karakteristik identifier :• Nilainya tidak berubah• Tidak boleh null• Tidak ada intelligent identifier

Page 22: Desain Basis Data (2)

Relasi• Relasi digambarkan dalam bentuk belahketupat ( diamond ).• Relasi dapat mempunyai atribut entitas asosiatif

Page 23: Desain Basis Data (2)

Derajat Relasi• Merupakan jumlah entitas yang dapat berpartisipasi• Unary• Binary• Ternary

Page 24: Desain Basis Data (2)

Kardinalitas Relasi• One to One / 1 : 1

• Tiap entitas pada relasi berpasangan tepat satu.

• Many to Many / M : N• Banyak entitas A dapat berelasi dengan banyak entitas B.

• One to Many / 1 : M• Satu entitas A dapat berelasi dengan banyak entitas B.

Siswa Orang tuapunya

Siswa Mata kuliahmengambil

Kategori Buku Bukumengandung

Page 25: Desain Basis Data (2)

Bagaimana cara menentukan kardinalitas relasi?• Tidak ada aturan baku, tapi di sini saya akan mencoba mengenalkan

bagaimana menentukan kardinalitas sebuah relasi.• Penentukan relasi dapat ditentukan dari urutan 1 : 1, 1 : M, M : N.• Kardinalitas relasi bergantung pada data yang disediakan dan asumsi

pada sebuah aturan bisnis.

Page 26: Desain Basis Data (2)

Aturan 1 : 1 / M : N• Pada relasi 1 : 1 / M : N, relasi antar dua entitas akan menjadi entitas

asosiatif dan memunculkan minimal dua atribut baru, yakni atribut primer dari masing-masing entitas yang berelasi.

Entitas 1 Entitas 2Relasi 1

Atribut A Atribut B Atribut DAtribut C

Atribut CAtribut A Atribut E

Page 27: Desain Basis Data (2)

Aturan 1 : M• Pada relasi 1 : M, atribut primer dari entitas yang mempunyai

kardinalitas 1 akan muncul di entitas yang mempunyai kardinalitas M sebagai entitas lemah.

Entitas 1 Entitas 2Relasi 1

Atribut A Atribut B Atribut DAtribut C

Atribut A

Page 28: Desain Basis Data (2)

Contoh Kasus• Tentukan kardinalitas relasi pada bentuk relasi berikut :

Siswa Mata kuliahmengambil

NIM Nama Kode_mk MK

NIM Nama1104112345 Burhan1104112346 Agam1104112347 Rinai

Kode_mk MKCEG3C3 Desain Basis DataCEG3C4 Keamanan Sistem

Page 29: Desain Basis Data (2)

Contoh Kasus• Uji untuk relasi 1 : M 1 mahasiswa dapat mengambil banyak mata

kuliah. Maka bentuk tabel datanya sebagai berikut :

Untuk bentuk relasi 1 : M, maka terdapat duplikasi untuk kode MK CEG3C3 dan CEG3C4. Artinya 1 MK hanya dapat diambil oleh satu orang mahasiswa sehingga bentuk relasi 1 : M tidak dapat dipakai.

Kode_mk MK NIMCEG3C3 Desain Basis Data 1104112345CEG3C4 Keamanan Sistem 1104112345CEG3C3 Desain Basis Data 1104112346CEG3C4 Keamanan Sistem 1104112346CEG3C3 Desain Basis Data 1104112347CEG3C4 Keamanan Sistem 1104112347

Page 30: Desain Basis Data (2)

Contoh Kasus• Uji untuk relasi M : N banyak mahasiswa dapat mengambil banyak mata

kuliah. Maka bentuk tabel datanya sebagai berikut :

Untuk bentuk relasi M : N, kita lihat bahwa tidak terdapat data yang duplikat sehingga relasi M : N dapat dipakai. ( Ini hanya merupakan ilustrasi, apabila bentuk tabelnya masih seperti di atas maka tidak dapat mengakomodasi kebutuhan mahasiswa mengulang ).

Kode_mk NIMCEG3C3 1104112345CEG3C4 1104112345CEG3C3 1104112346CEG3C4 1104112346CEG3C3 1104112347CEG3C4 1104112347