pemodelan basis data dengan er - universitas indonesia · pdf file basis data, anda diharapkan...

Click here to load reader

Post on 07-Aug-2020

4 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Pemodelan Basis Data dengan ER

    Mata Ajar Basis Data 1

  • Content Development GDLN Batch 2 2

    Tujuan Pemelajaran Setelah mengikuti pemelajaran pada topik ini, jika diberikan requirement basis data, Anda diharapkan dapat memodelkan basis data dengan tepat mengunakan Entity Relationship Diagram

  • Content Development GDLN Batch 2 3

    Outline

    1. Review Tahapan Perancangan Basis Data

    2. Contoh Aplikasi Basis Data

    3. Konsep-Konsep dan Notasi Model ER

    4. Pembuatan Diagram ER

    5. Keterbatasan Diagram ER

  • Content Development GDLN Batch 2 4

    Review Tahapan Perancangan Basis Data

  • Content Development GDLN Batch 2 5

    Tahapan Perancangan & Implementasi Basis Data

    1 2 3 4 5 6

    Pengumpulan dan analisa

    kebutuhan.

    Pembuatan rancangan konseptual

    Pemilihan DBMS

    Pembuatan rancangan

    lojikal

    Pembuatan rancangan

    fisikal

    Implementasi dan tuning

    sistem basis data

  • Content Development GDLN Batch 2 6

    Skema Bisnis ♦ Tahap pengumpulan dan analisa requirement

    menghasilkan skema bisnis organisasi/ perusahaan

    ♦ Skema bisnis antara lain berupa:   Aktivitas-aktivitas bisnis, cakupannya, dan semua

    aspek terkait   Struktur organisasi   Kebijakan, standar, prosedur operasi untuk

    memanage aktivias-aktivitas bisnis ♦ Diagram Entity Relationship merupakan

    diagram skema bisnis

  • Content Development GDLN Batch 2 7

    Contoh Aplikasi Basis Data

  • Content Development GDLN Batch 2 8

    Requirements Basis Data COMPANY ♦ Company memiliki beberapa DEPARTMENTs

      Tiap DEPARTMENT memiliki nama, nomor, lokasi dan seorang pegawai yang memanage DEPARTMENT

      Satu DEPARTMENT dapat berlokasi di beberapa tempat

      Tanggal mulai kerja dari manajer perlu disimpan ♦ Tiap DEPARTMENT mengontrol PROJECTs

      Tiap PROJECT memiliki nama, nomor dan berlokasi di satu tempat

  • Content Development GDLN Batch 2 9

    Requirements Basis Data COMPANY ♦ Data pribadi PEGAWAI meliputi SSN,

    address, salary, sex, birthdate   Tiap EMPLOYEE bekerja pada satu

    DEPARTMENT, namun dapat terlibat pada beberapa PROJECT

      Jumlah jam kerja pegawai pada tiap project dicatat   Supervisor langsung dari setiap EMPLOYEE juga

    dicatat

  • Content Development GDLN Batch 2 10

    Requirements Basis Data COMPANY ♦ Pegawai dapat memiliki tanggungan

    (DEPENDENTs)   Dicatat nama, jenis kelamin, tanggal lahir, dan

    hubungan tanggungan dengan pegawai

  • Content Development GDLN Batch 2 11

    Diagram ER untuk basis data COMPANY

  • Content Development GDLN Batch 2 12

    Konsep-Konsep dan Notasi Model ER

  • Content Development GDLN Batch 2 13

    Komponen Diagram ER ♦ Entity ♦ Attribute ♦ Relationship (between entities):

     Relationship types  Role  Cardinality

  • Content Development GDLN Batch 2 14

    Entity ♦ Entity adalah objek atau benda tertentu dalam

    miniworld yang direpresentasikan pada basis data

    ♦ Entity dapat berupa:   Benda yang ada secara fisik (orang, mobil, rumah,

    dll)   Benda yang ada secara konseptual (perusahaan,

    pekerjaan, mata kuliah, dll)

  • Content Development GDLN Batch 2 15

    Contoh Entity

    Person

    Tempat

    Objek

    Event

    Konsep

    Agen, kontraktor, pembeli, departemen, divisi, pegawai, guru, siswa, supplier

    Area penjualan, gedung, ruang, kantor cabang, kampus

    Buku, mesin, produk, material, lisensi software, paket software, alat, kendaraan

    penerbangan, penagihan, pemesanan, lomba, perjalanan, penjualan, pembatalan

    akun, blok waktu, kuliah, kualifikasi, stok

    Entity dapat berupa person, tempat, objek, events, konsep dimana kita meng-capture dan menyimpan data

  • Content Development GDLN Batch 2 16

    Attribute

    ♦ Attribute adalah sifat-sifat yang digunakan untuk menerangkan entity

    ♦ Suatu entity tertentu akan memiliki nilai untuk tiap attributnya.   Contoh: employee entity tertentu memiliki Name=‘Budi',

    SSN='123456789', Address =‘Depok', Sex='M', BirthDate='05-JAN-55‘

    ♦ Setiap attribute memiliki himpunan nilai yang berasosiasi dengannya.   Disebut juga tipe data   Contoh: integer, string, subrange, enumerated type, …

  • Content Development GDLN Batch 2 17

    Tipe-Tipe Attribute (1)

    ♦  Simple   Tiap entity memiliki nilai atomik tunggal   Contoh: SSN, Jenis Kelamin.

    ♦  Composite   Attribute terdiri dari beberapa komponen   Contoh:

    •  Address (Apt#, House#, Street, City, State, ZipCode, Country) •  Name (FirstName, MiddleName, LastName).

      Komposisi dapat berupa hirarki dimana komponen attribute juga merupakan composite attribute.

    ♦  Multi-valued   Sebuah entity dapat memiliki beberapa nilai   Contoh:

    •  Warna dari sebuah MOBIL •  Gelar dari PEGAWAI •  Dinyatakan dalam: {Warna}, {Gelar}.

  • Content Development GDLN Batch 2 18

    ♦ Attributes composite and multi-valued dapat dibuat bersarang (nested)

    ♦ Contoh: {PreviousDegrees (College, Year, Degree, Field)}.

    ♦ PreviousDegrees merupakan attribute yang bersifat composite dan multi-valued.

    Tipe-Tipe Attribute (2)

  • Content Development GDLN Batch 2 19

    ♦ Stored vs Derived Attibutes   Stored: regular attribute  Derived: attribute yang diturunkan/dikalkulasi

    dari stored attribute  Contoh: BirthDate vs Age

    Tipe-Tipe Attribute (3)

    Stored attribute

    Derived attribute

  • Content Development GDLN Batch 2 20

    ♦ Nilai Null   “nothing”, bukan nol, bukan spasi kosong!

    ♦ Mengapa attribute dapat bernilai null?   Not applicable, misal nama pasangan untuk orang

    yang belum menikah   Unknown:

    •  Missing: Nilainya ada tapi belum diketahui. Misal tinggi badan seseorang.

    •  Not known: Anda tidak tahu apakah nilai tersebut ada. Misal nomor telepon rumah.

    Tipe-Tipe Attribute (4)

  • Content Development GDLN Batch 2 21

    e1: employee c1: company

    Contoh Entity beserta Nilai Attribute-nya

    e1

    Name = Miranda Putri

    Address = Jl. Diponegoro No 2 Jakarta Pusat

    Age = 40

    Phone = 021 1234567

    c1

    Name = PT Terus Maju

    Headquarters = Jakarta

    President = Fahmi Ali

  • Content Development GDLN Batch 2 22

    Contoh Hirarki dari Composite Attributes

    Address

    StreetAddress City State Zip

    Number AppartmentNumber Street

  • Content Development GDLN Batch 2 23

    Entity Type ♦ Mendefinisikan himpunan entity dengan

    kesamaan attributes ♦ Contoh: ‘employee type’ merupakan

    himpunan pegawai pada perusahaan

  • Content Development GDLN Batch 2 24

    ♦ Apa yang membuat sebuah entity itu unik?   An employee: SSN   A company: name   A project: number, name   A purchase slip: date & time

    Key Attribute dari Entity Type

  • Content Development GDLN Batch 2 25

    Key Attribute ♦ Pemilihan key attributes merupakan hal yang

    penting dalam perancangan basis data   Mempengaruhi validasi integritas data dan kinerja

    basis data   Dengan mendeklarasikan suatu attribute sebagai

    key dan mendeklarasikan 'duplicates not allowed' akan mencegah user memasukkan data yang sama yang tidak diinginkan

      Sebuah key juga akan memelihara integritas dengan cara menghubungkan key ini dengan key pada tabel lain.

  • Content Development GDLN Batch 2 26

    Aturan dalam Pemilihan Key Attribute ♦ Key merupakan attribute yang tidak berubah

      Contoh: ssn, employee_ID, SKU (stock-keeping- unit), license plate number.

    ♦ Key tidak dapat bernilai null, harus punya nilai yang valid   Contoh: Tanggal kelulusan siswa merupakan

    pilihan yang buruk untuk dijadikan key. ♦ Hindari key yang memiliki intelligence tertentu

    atau codes built in   Contoh: Kode bangunan (yang dapat berubah di

    kemudian hari)

  • Content Development GDLN Batch 2 27

    ♦ Key dapat berupa composite attribute   Contoh: VehicleTagNumber (Number, State)

    merupakan key untuk entity type CAR ♦ Sebuah entity type dapat memiliki lebih dari

    satu key. Contoh key untuk CAR   VehicleIdentificationNumber (popularly called VIN)

    dan   VehicleTagNumber (Number, State), juga dikenal

    sebagai license_plate number.

    Key Attributes

  • Content Development GDLN Batch 2 28

    DEPARTMENT Name, Number, Locations, Manager, ManagerStartDate

    PROJECT Name, Num