02-pemodelan data konseptual

37
3/14/2011 1 02 Pemodelan Data Konseptual 3/14/2011 Chandra Lucky Pentingnya Pemodelan Data Para pengembang sistem meyakini bahwa pemodelan data adalah bagian terpenting dalam proses pengembangan sistem karena: Karakteristik data yang diperoleh selama pemodelan data sangat penting bagi perancangan basis data, program, dan komponen sistem lain Data merupakan aspek paling kompleks dalam berbagai sistem informasi modern yang menyediakan sumber data yang kaya dan mendukung berbagai jenis permintaan informasi Data cenderung lebih stabil daripada proses bisnis yang menggunakan data 3/14/2011

Upload: kuning-eternia

Post on 04-Jul-2015

391 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 02-Pemodelan Data Konseptual

3/14/2011

1

02

Pemodelan Data Konseptual

3/14/2011

Chandra Lucky

Pentingnya Pemodelan DataPara pengembang sistem meyakini bahwa pemodelan data adalah bagian terpenting dalam proses pengembangan sistem karena:

• Karakteristik data yang diperoleh selama pemodelan data sangat penting bagi perancangan basis data, program, dan komponen sistem lain

• Data merupakan aspek paling kompleks dalam berbagai sistem informasi modern yang menyediakan sumber data yang kaya dan mendukung berbagai jenis permintaan informasi

• Data cenderung lebih stabil daripada proses bisnis yang menggunakan data

3/14/2011

Page 2: 02-Pemodelan Data Konseptual

3/14/2011

2

Pengantar aturan bisnis

Lingkup aturan bisnis

3/14/2011

Aturan Bisnis• Aturan bisnis – pernyataan yang mendefinisikan atau

membatasi beberapa aspek bisnis▫ Diperoleh dari kebijakan, prosedur, peristiwa, fungsi bisnis

organisasi▫ Diungkapkan dalam bentuk pernyataan yang mudah

dipahami user▫ Cth: “Mahasiswa boleh mengikuti mata kuliah tertentu jika

mata kuliah prasyaratnya telah diikuti”

• Pemodelan data digunakan untuk mendokumentasi-kan aturan bisnis mengenai data▫ Aturan bisnis mengenai data mengatur bagaimana data

ditangani dan disimpan▫ Aturan bisnis dasar mengenai data berkisar mengenai nama

dan definisi data

3/14/2011

Page 3: 02-Pemodelan Data Konseptual

3/14/2011

3

Penggolongan Aturan Bisnis• Turunan – aturan yang diturunkan dari pengetahuan

lain, sering berupa rumusan yang menggunakan nilai atribut

• Pernyataan struktural – aturan yang menjelaskan struktur statis, mencakup: atribut, keterhubungan, dan definisi

• Pernyataan aksi – aturan yang menjelaskan batasan/kontrol terhadap aksi dalam organisasi.

5

Aturan Bisnis yang Baik Deklaratif – apa, bukan bagaimana

Tepat – maksud jelas dan sama bagi semua pihak yang terkait

Tunggal – pernyataan tunggal

Konsisten – tidak mengandung pertentangan maupun bertentangan dengan aturan bisnis lain

Dapat diungkapkan – dapat dinyatakan dengan bahasa alami

Berbeda – tidak redundan

Berorientasi bisnis – dipahami oleh pelaku bisnis

Page 4: 02-Pemodelan Data Konseptual

3/14/2011

4

Nama Data yang Baik Berkaitan dengan bisnis, bukan teknis

Cth: Customer, bukan File10

Bermakna

Unik

Mudah dibaca

Terdiri atas kata-kata yang telah dipahami bersama

Cth: Cust untuk customer

Dapat diulang

Cth: Tgl_Lhr_Mhs, Tgl_Lhr_Dsn

Definisi Data• Penjelasan dari istilah atau fakta; termasuk aturan bisnis

▫ Istilah: kata atau frase dengan arti khusus▫ Fakta: hubungan antara dua istilah atau lebih

• Definisi data yang baik:▫ Dikumpulkan dari sumber yang sama dengan semua persyaratan sistem informasi▫ Dilengkapi dengan diagram

• Definisi data akan menjelaskan:▫ Seluk beluk data▫ Kondisi khusus pada data▫ Contoh▫ Kapan, di mana, dan bagaimana data diciptakan▫ Apakah data statis atau berubah sepanjang waktu▫ Apakah data tunggal atau jamak dalam bentuk tunggalnya▫ Siapa yang menentukan nilai data▫ Siapa pemilik data▫ Apakah data boleh tidak bernilai▫ Apakah data dapat dipecah dalam bentuk yang lebih kecil

Page 5: 02-Pemodelan Data Konseptual

3/14/2011

5

Elemen model E-REntitas dan atributnyaKeterhubungan (relationship) dan kardinalitasnyaSupertype dan subtypePengelompokan (clustering) entitas

3/14/2011

Model E-R Diperkenalkan Chen (1976)

Tidak ada notasi standar untuk model E-R

Dimanfaatkan untuk memodelkan data secara konseptual

Model E-R digambarkan dalam bentuk diagram yang disebut ERD

3/14/2011

Page 6: 02-Pemodelan Data Konseptual

3/14/2011

6

Contoh ERD

3/14/2011

Elemen Model E-R• Entitas (entity): orang, tempat, objek, peristiwa, atau

konsep yang memiliki arti bagi organisasi dalam pengolahan data▫ Tipe entitas (entity type) – kumpulan entitas dengan

karakteristik bersama (menyerupai tabel)▫ Contoh entitas (entity instance) – kehadiran tunggal dari tipe

entitas (menyerupai baris dalam tabel)• Atribut – properti atau karakteristik dari suatu tipe entitas

(menyerupai field dalam tabel)• Keterhubungan (relationship)

▫ Contoh keterhubungan (relationship instance) – hubungan antarcontoh entitas (menyerupai ekivalensi kunci primer-kunci asing dalam relasi tabel)

▫ Tipe keterhubungan (relationship type) – hubungan antar tipe entitas

Page 7: 02-Pemodelan Data Konseptual

3/14/2011

7

Notasi E-R

Simbol atribut

Entitas khusus,

juga merupakan

simbol

keterhubungan

Derajat keterhubungan

menetapkan jumlah

entitas yang terlibat

Kardinalitas

keterhubungan

menetapkan banyaknya

tiap entitas yang

diperbolehkan

Apa yang Dimaksud Entitas? Harus merupakan:

Objek yang akan memiliki beberapa contoh dalam basis data

Objek yang akan terdiri atas beberapa atribut

Objek yang sedang dicoba untuk dimodelkan

Bukan merupakan:

Pengguna sistem basis data

Keluaran dari sistem basis data (mis: laporan)

3/14/2011

Page 8: 02-Pemodelan Data Konseptual

3/14/2011

8

Contoh Entitas yang Tepat dan Tidak Tepat

3/14/2011

Entitas Kuat dan Lemah serta Keterhubungan Pengidentifikasi Entitas kuat (strong entities)

Tidak bergantung pada tipe entitas yang lain

Memiliki pengenal (identifier) yang unik

Digambarkan dalam bentuk segi empat tunggal

Entitas lemah (weak entities) Bergantung pada strong entities

Tidak memiliki pengenal (identifier) yang unik

Digambarkan dalam bentuk segi empat ganda

Keterhubungan pengidentifikasi (identifying relationship) Menghubungkan strong entities dengan weak entities

Digambarkan dalam bentuk belah ketupat ganda

3/14/2011

Page 9: 02-Pemodelan Data Konseptual

3/14/2011

9

Entitas Kuat dan Lemah serta Keterhubungan Pengidentifikasi

3/14/2011 Entitas kuat Entitas lemahKeterhubungan

Pengidentifikasi

Penamaan Tipe Entitas Merupakan kata benda tunggal

Spesifik bagi organisasi

Singkat

Singkatan boleh diberikan pada setiap nama tipe entitas

Tipe entitas peristiwa dinamai dengan hasil peristiwa, bukan prosesnya

Nama tipe entitas yang telah digunakan akan berlaku sama pada semua ERD yang mengandung tipe entitas tersebut

3/14/2011

Page 10: 02-Pemodelan Data Konseptual

3/14/2011

10

Pendefinisian Tipe Entitas• Dimulai dengan “X adalah…”

• Mengandung pernyataan tentang karakteristik unik untuk setiap contoh entitas

• Menjelaskan contoh entitas yang termasuk dan yang tidak termasuk ke dalam tipe entitas

• Sering mengandung penjelasan kapan contoh entitas diciptakan dan dihapus

• Menjelaskan kapan contoh entitas akan berubah menjadi contoh entitas dari tipe entitas lain

• Menjelaskan histori yang akan disimpan mengenai contoh entitas

3/14/2011

Atribut• Tiap tipe entitas memiliki sekumpulan atribut

• Klasifikasi atribut:▫ Wajib vs opsional

Harus bernilai atau boleh kosong

▫ Tunggal vs komposit Tidak dapat dipecah atau bisa dipecah menjadi beberapa atribut

▫ Bernilai tunggal vs bernilai banyak Memiliki satu nilai atau beberapa nilai

▫ Atribut turunan Dapat diperoleh dari perhitungan terhadap nilai atribut-atribut lain

ataupun data yang tidak berada dalam basis data

▫ Atribut pengidentifikasi (identifier)

Page 11: 02-Pemodelan Data Konseptual

3/14/2011

11

Pengidentifikasi (Identifier)/Kunci Pengidentifikasi (identifier)/kunci – sebuah atribut

(atau kombinasi atribut) yang mengidentifikasi contoh tipe entitas secara unik

Kunci tunggal (simple key) vs kunci komposit (composite key)

Kunci kandidat (candidate key) – atribut yang dapat menjadi kunci atau memenuhi persyaratan menjadi sebuah kunci

Kriteria Pemilihan Pengidentifikasi/Kunci Nilainya tidak akan berubah sepanjang lifetime dari

setiap contoh entitas dalam tipe entitas

Nilai kunci dipastikan selalu sah dan tidak akan kosong

Hindari kunci intelijen (yang strukturnya mengandung berbagai jenis informasi yang berbeda)

Pertimbangkan mengganti kunci komposit dengan kunci tunggal

Page 12: 02-Pemodelan Data Konseptual

3/14/2011

12

Atribut Komposit

Atribut yang dibagi menjadi bagian komponen

Kunci Tunggal

Kunci digarisbawahi

Page 13: 02-Pemodelan Data Konseptual

3/14/2011

13

Kunci Komposit

Kunci terdiri dari

dua atribut

Atribut Bernilai Banyak dan Atribut Turunan

Atribut Turunan

dari Date_Employed dan tanggal sekarang

Atribut Bernilai Banyak

Page 14: 02-Pemodelan Data Konseptual

3/14/2011

14

Penamaan Atribut Merupakan kata benda tunggal

Unik

Mengikuti standar yang telah ditetapkan

3/14/2011

Pendefinisian Atribut• Menjelaskan atribut tersebut dan mengapa diperlukan• Memastikan nilai yang dapat dan tidak dapat dikandung

atribut• Menjelaskan nama alias yang dipakai untuk atribut• Menjelaskan sumber nilai atribut• Menjelaskan apakah nilai atribut harus ada atau boleh

kosong• Mengindikasikan apakah nilai atribut dapat berubah• Menjelaskan kehadiran minimum dan maksimum dari

nilai atribut bernilai banyak untuk suatu contoh entitas• Menjelaskan adanya hubungan tertentu antara atribut

dengan atribut lainnya

3/14/2011

Page 15: 02-Pemodelan Data Konseptual

3/14/2011

15

Keterhubungan (Relationship) Keterhubungan merekatkan entitas-entitas dalam

model E-R

Keterhubungan dimodelkan dengan bentuk belah ketupat dan garis antara tipe entitas

Dua entitas dapat memiliki lebih dari satu tipe keterhubungan

Entitas asosiatif – gabungan dari keterhubungan dan entitas

Contoh dan Tipe Keterhubungan

Page 16: 02-Pemodelan Data Konseptual

3/14/2011

16

Derajat Keterhubungan Derajat keterhubungan adalah jumlah tipe entitas

yang berperan di dalamnya

Keterhubungan unary

Keterhubungan binary

Keterhubungan ternary

Kardinalitas Keterhubungan One-to-one (satu-ke-satu)

Setiap entitas dalam keterhubungan akan berhubungan dengan tepat satu entitas

One-to-many (satu-ke-banyak)

Entitas pada satu sisi keterhubungan dapat memiliki banyak entitas yang berhubungan, tetapi entitas pada sisi lainnya akan memiliki maksimum satu entitas yang berhubungan

Many-to-many (banyak-ke-banyak)

Entitas pada kedua sisi keterhubungan dapat memiliki banyak entitas yang berhubungan pada sisi lainnya.

Page 17: 02-Pemodelan Data Konseptual

3/14/2011

17

Contoh Keterhubungan Unary

3/14/2011

Contoh Kardinalitas Binary

3/14/2011

Page 18: 02-Pemodelan Data Konseptual

3/14/2011

18

Contoh Keterhubungan Ternary

Keterhubungan

dapat memiliki

atribut sendiri

Keterhubungan dengan Atribut Atribut dapat ditambahkan pada keterhubungan

many-to-many atau one-to-one layaknya suatu entitas

Page 19: 02-Pemodelan Data Konseptual

3/14/2011

19

Entitas Asosiatif (Associative Entity)• Kehadiran satu atau beberapa atribut pada keterhubungan

memperlihatkan bahwa sebaiknya keterhubungan tersebut diubah menjadi entitas.▫ Digambarkan dalam bentuk segi empat dengan belah ketupat di

dalamnya.▫ Simbol kardinalitas banyak-ke-banyak menghadap ke arah entitas

asosiatif, bukan terhadap entitas lain.• Kapan harus mengubah keterhubungan dengan atribut menjadi

entitas asosiatif?▫ Semua keterhubungan untuk entitas-entitas yang terkait adalah

“many”▫ Entitas asosiatif memiliki makna tersendiri bagi user dan dapat

diidentifikasikan dengan kunci tunggal▫ Entitas asosiatif memiliki satu atau beberapa atribut selain kunci▫ Entitas asosiatif ikut dalam satu atau beberapa keterhubungan

tanpa bergantung pada entitas-entitas yang terkait dalam keterhubungan asosiasi

Contoh Entitas Asosiatif

Page 20: 02-Pemodelan Data Konseptual

3/14/2011

20

Keterhubungan sebagai Pengganti Atribut Bernilai Banyak atau Komposit (1)

Keterhubungan sebagai Pengganti Atribut Bernilai Banyak atau Komposit (2)

Page 21: 02-Pemodelan Data Konseptual

3/14/2011

21

Batasan Kardinalitas Batasan kardinalitas – jumlah contoh entitas yang

dapat atau harus berhubungan dengan tiap contoh entitas lainnya

Kardinalitas minimum

Jika nol, maka opsional

Jika satu atau banyak, maka wajib (mandatory)

Kardinalitas maksimum

Jumlah maksimum

Kardinalitas Maksimum dan Minimum

3/14/2011

Page 22: 02-Pemodelan Data Konseptual

3/14/2011

22

Pemodelan Data yang Bergantung Waktu Isi basis data berbeda dari waktu ke waktu

Basis data penjualan akan berisi harga tiap produk yang dapat berubah dari waktu ke waktu

Jika hanya harga terkini saja yang diperlukan, maka atribut tunggal sudah cukup

Jika histori harga dari waktu ke waktu diperlukan, maka pemodelan yang dilakukan harus memperhatikan waktu.

Time stamp – nilai waktu yang diasosiasikan dengan nilai data

Contoh Pemodelan Data yang Bergantung Waktu

Page 23: 02-Pemodelan Data Konseptual

3/14/2011

23

Keterhubungan Ternary sebagai Entitas AsosiatifAturan bisnis1. Setiap vendor dapat

menyuplai banyak part pada sejumlah warehouse atau tidak perlu menyuplai part apapun.

2. Setiap part dapat disuplai oleh vendor manapun kepada lebih dari satu gudang, tetapi sedikitnya satu vendor pada satu gudang

3. Setiap gudang dapat disuplai dengan part manapun dari lebih dari satu vendor, tetapi setiap gudang harus disuplai dengan sedikitnya satu part

Beberapa Keterhubungan (1) Dalam situasi tertentu, organisasi dapat memodelkan

beberapa keterhubungan antara tipe-tipe entitas yang sama

Page 24: 02-Pemodelan Data Konseptual

3/14/2011

24

Batasan

kardinalitas

maksimum = 4

Beberapa Keterhubungan (2)

Penamaan Keterhubungan Berupa kata kerja

Hindari kata-kata yang tidak jelas, gunakanlah kata kerja kuat yang deskriptif

3/14/2011

Page 25: 02-Pemodelan Data Konseptual

3/14/2011

25

Pendefinisian Keterhubungan• Menjelaskan aksi yang dilakukan dan mengapa perlu dilakukan• Memberikan contoh untuk menjelaskan aksi• Menjelaskan adanya partisipasi opsional• Menjelaskan alasan untuk setiap kardinalitas maksimum yang

eksplisit• Menjelaskan adanya keterhubungan yang bersifat mutually

exclusive (suatu contoh entitas hanya dapat berpartisipasi dalam satu keterhubungan)

• Menjelaskan segala pembatasan dalam keterhubungan• Menjelaskan histori yang disimpan dalam keterhubungan• Menjelaskan apakah contoh entitas yang ikut dalam suatu

contoh keterhubungan dapat memindahkan keikutsertaannya pada contoh keterhubungan lain.

3/14/2011

Contoh Diagram E-R Perusahaan Mebel

3/14/2011

Page 26: 02-Pemodelan Data Konseptual

3/14/2011

26

Contoh Diagram E-R Perusahaan Mebel (MS Visio)

3/14/2011

Supertype dan Subtype Subtype: bagian dari entitas dalam tipe entias yang

memiliki atribut yang berbeda dari entitas pada bagian lainnya

Supertype: tipe entitas umum yang memiliki keterhubungan dengan satu subtype atau lebih

Pewarisan atribut:

Entitas subtype mewarisi nilai dari semua atribut supertype

Contoh dari subtype juga merupakan contoh dari supertype

Page 27: 02-Pemodelan Data Konseptual

3/14/2011

27

Notasi Supertype dan Subtype

Notasi Supertype dan Subtype (MS Visio)

3/14/2011

Page 28: 02-Pemodelan Data Konseptual

3/14/2011

28

Contoh Supertype EMPLOYEESemua subtype employee

akan memiliki nomor

employee, nama, alamat,

dan tanggal disewa

Tiap subtype employee

juga akan memiliki atribut

sendiri

Keterhubungan dan Subtype Keterhubungan pada tingkat supertype menyatakan

bahwa semua subtype akan terlibat dalam keterhubungan

Contoh subtype mungkin terlibat dalam keterhubungan yang unik terhadap subtype itu. Dalam situasi ini, keterhubungan ditunjukkan pada level subtype

Page 29: 02-Pemodelan Data Konseptual

3/14/2011

29

Contoh Keterhubungan Supertype/SubtypeSemua pasien akan

dirawat dokter

Hanya pasien yang

menjalani rawat inap

yang ditempatkan ke

tempat tidur

Generalisasi dan Spesialisasi Generalisasi: proses pendefinisian tipe entitas umum

dari sekumpulan tipe entitas khusus (BOTTOM-UP)

Spesialisasi: proses pendefinisian satu atau beberapasubtype dari supertype, dan membentuk keterhubungan supertype/subtype (TOP-DOWN)

Page 30: 02-Pemodelan Data Konseptual

3/14/2011

30

Contoh Generalisasi

Contoh Spesialisasi (1)

Hanya

diaplikasikan

pada part yang

diproduksi

Diaplikasikan hanya

pada part yang dibeli

Page 31: 02-Pemodelan Data Konseptual

3/14/2011

31

Contoh Spesialisasi (2)

Ciptakan 2 subtype

Cttn: atribut bernilai banyak digantikan oleh keterhubungan dengan entitas lainnya

Batasan pada Supertype:Batasan Kelengkapan

Apakah contoh supertype HARUS merupakan anggota dari minimal satu subtype?

▫ Aturan spesialisasi total: Ya (garis ganda)

▫ Aturan spesialisasi sebagian: Tidak (garis tunggal)

3/14/2011

Page 32: 02-Pemodelan Data Konseptual

3/14/2011

32

Contoh Aturan Spesialisasi Total

3/14/2011

Pasien harus termasuk

yang rawat jalan atau

rawat inap

Contoh Aturan Spesialisasi Sebagian

3/14/2011

Kenderaan dapat berupa

mobil, truk, ataupun

yang lainnya

Page 33: 02-Pemodelan Data Konseptual

3/14/2011

33

Batasan pada Supertype:Batasan Pemisahan

Apakah contoh supertype HARUS secara serentak menjadi anggota dari dua (atau beberapa) subtype?

▫ Aturan pemisahan (disjoint): Contoh supertypehanya dapat merupakan satu subtype

▫ Aturan overlap: Contoh supertype dapat merupakan beberapa subtype

3/14/2011

Contoh Aturan Pemisahan

3/14/2011

Pasien dapat merupakan pasiwn

rawat jalan atau rawat inap, tapi

tidak keduanya sekaligus

Page 34: 02-Pemodelan Data Konseptual

3/14/2011

34

Contoh Aturan Overlap

3/14/2011

Part dapat

tergolong ke dalam

purchased part

maupun

manufactured part

Batasan pada Supertype:Diskriminator Subtype

Atribut dari supertype yang nilainya menentukan subtype tujuan

▫ Pemisahan: atribut sederhana dengan beberapa alternatif nilai untuk mengindikasikan subtypeyang mungkin

▫ Overlap: atribut komposit yang bagian-bagiannya terkait dengan subtype yang berbeda. Tiap bagian mengandung nilai boolean untuk mengindikasikan apakah contoh entitas tergolong dalam subtype yang terkait atau tidak.

3/14/2011

Page 35: 02-Pemodelan Data Konseptual

3/14/2011

35

Diskriminator Subtype – Aturan Keterpisahan

3/14/2011

Atribut sederhana

dengan nilai-nilai yang

berbeda sebagai

indikator subtype

Diskriminator Subtype – Aturan Overlap

3/14/2011

Atribut komposit dengan

subatribut bernilai “ya”

atau “tidak” untuk

menetapkan subtype-nya

Page 36: 02-Pemodelan Data Konseptual

3/14/2011

36

Contoh Hierarki Supertype/Subtype

71

Pengelompokan Entitas• Diagram E-R akan sulit dibaca jika mengandung

terlalu banyak entitas dan keterhubungan

• Solusi: gabungkan entitas-entitas dan keterhubungan-keterhubungan yang ada menjadi kelompok-kelompok entitas.

• Kelompok entitas (entity cluster): kumpulan dari satu atau beberapa tipe entitas dan keterhubungan yang terkait yang dikelompokkan menjadi satu tipe entitas abstrak

72

Page 37: 02-Pemodelan Data Konseptual

3/14/2011

37

Contoh Pengelompokan Entitas

3/14/2011

Kumpulan

entitas yang

berhubungan

dapat

menjadi

kelompok

Contoh Pengelompokan Entitas

3/14/2011

Menjadi lebih

mudah dibaca…