02-Pemodelan Data Konseptual
-
Upload
kuning-eternia -
Category
Documents
-
view
393 -
download
1
Transcript of 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
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
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
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
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
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
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
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
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
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)
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
3/14/2011
12
Atribut Komposit
Atribut yang dibagi menjadi bagian komponen
Kunci Tunggal
Kunci digarisbawahi
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
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
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
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.
3/14/2011
17
Contoh Keterhubungan Unary
3/14/2011
Contoh Kardinalitas Binary
3/14/2011
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
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
3/14/2011
20
Keterhubungan sebagai Pengganti Atribut Bernilai Banyak atau Komposit (1)
Keterhubungan sebagai Pengganti Atribut Bernilai Banyak atau Komposit (2)
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
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
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
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
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
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
3/14/2011
27
Notasi Supertype dan Subtype
Notasi Supertype dan Subtype (MS Visio)
3/14/2011
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
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)
3/14/2011
30
Contoh Generalisasi
Contoh Spesialisasi (1)
Hanya
diaplikasikan
pada part yang
diproduksi
Diaplikasikan hanya
pada part yang dibeli
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
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
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
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
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
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
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…