Kamus Data-ERD.pdf (576Kb)
Perancangan Perangkat Lunak
Pendahuluan Pendahuluan
- Kamus data adalah suatu daftar data Kamus data adalah suatu daftar data
elemen yang terorganisir dengan
definisi yang tetap dan sesuai definisi yang tetap dan sesuai dengan sistem, sehingga user dan analis sistem mempunyai pengertian li i t
i ti yang sama tentang input, output, dan komponen data strore. Pendahuluan Pendahuluan
- Pada ada ta ap tahap analisis, a a s s, kamus a us data data merupakan alat komunikasi antara user dan analis sistem tentang data yang dan analis sistem tentang data yang mengalir di dalam sistem, yaitu tentang data yang masuk ke sistem dan tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh user. Sementara Sementara itu itu, pada pada tahap tahap perancangan sistem kamus data di digunakan k untuk t k merancang input, i t laporan dan database.
- Suatu sistem dapat diuraikan ke dalam Suatu sistem dapat diuraikan ke dalam 4 form kamus data yang menerangkan isi database sistem dalam bentuk hirarki isi database sistem dalam bentuk hirarki seperti yang digambarkan sebagai berikut : b ik t
Data Flow Dictionary Entry Data Flow Dictionary Entry
- Data flow dictionary entry ini • Data flow dictionary entry ini menerangkan setiap data flow pada DFD. Data flow ini dapat berupa : DFD D t fl i i d t b
a. Satu struktur yang terdiri dari satu y g elemen data tunggal.
b. Satu struktur yang terdiri dari satu b S t t kt t di i d i t p paket elemen data.
c. Multiple struktur. Data Flow Dictionary Entry Data Flow Dictionary Entry
• Berdasarkan uraian di atas, maka B d k i di t k hubungan antara alur data pada DFD dan alur data pada elemen kamus data adalah one to one relationship data adalah one to one relationship (relasi satu-satu). Jika DFD berisi 40
alur data, maka kamus data harus alur data maka kamus data harus mempunyai 40 elemen alur data.
- Data flow dictionary entry berisi hanya y y y summary data atau data ringkasan, dan menerangkan alur yang mengidentifikasikan g y g g dari mana alur itu berasal dan kemana alur itu menuju. Contoh sbb: j
Data Store Dictionary Entry Data Store Dictionary Entry
- Data store dictionary enty Data store dictionary enty menerangkan setiap data store yang unik dalam DFD. Jika data store yang unik dalam DFD Jika data store yang sama muncul lebih dari satu, maka
h hanya satu bentuk tunggal yang akan t b t k t l k
digunakan. - Seperti halnya data flow dictionary entry, data store dictionary entry entry data store dictionary entry hanya berisi summary data.
Data Store Dictionary Entry Data Store Dictionary Entry
- Contoh • Contoh
Data Structure Dictionary Entry Data Structure Dictionary Entry
- Data structure dictionary entry ini dilengkapi dengan setiap struktur yang ada g p g p y g pada bentuk data store dan data flow.
- Tujuan dari data structure dictionary entry • Tujuan dari data structure dictionary entry adalah untuk menghubungkan summary description (deskripsi ringkasan) dari data description (deskripsi ringkasan) dari data flow dan data strore dictionary entry ke d deskripsi k i i detail d t il dari d i d t data element l t dictionary entry.
Data Structure Dictionary Entry Data Structure Dictionary Entry
- Contoh Contoh
- Data element dictionary entry D t l t di ti t menyediakan dasar untuk skema database. Bentuk ini menyediakan data element dictionary (DED) dari data element dictionary (DED) dari
kamus data yang berdasarkan
komputer. komputer
Data Element Dictionary Entry Data Element Dictionary Entry
- Tujuan dari data element dictionary T j d i d t l t di ti
entry adalah untuk menstandarkan
deskripsi dari suatu elemen sehingga elemen itu direferensikan dengan cara elemen itu direferensikan dengan cara yang sama setiap kali digunakan. • Hal ini sangat penting, khususnya jika H l i i t ti kh jik
suatu sistem dikembangkan dan dimaintain oleh sekelompok user dan
Data Element Dictionary Entry Data Element Dictionary Entry
- Contoh: • Contoh:
Pendefinisian Data Element Pendefinisian Data Element
• Menguraikan arti dari alur data dan data store dalam • Menguraikan arti dari alur data dan data store dalam DFD
• Menguraikan komposisi paket data pada alur data ke Menguraikan komposisi paket data pada alur data ke dalam alur yang lebih elementary (kecil) contoh :
alamat langganan yang terdiri dari nama jalan, kota dan kode pos.
• Menguraikan komposisi paket data dalam data store.
• Menspesifikasikan nilai dan unit informasi dalam alur data dan data store.
• Menguraikan hubungan yang terinci antara data store dalam suatu entity relationship diagram (ERD)
Notasi Notasi
Arti Arti
= terdiri dari, terbentuk dari, sama dengan
- dan dan +
( ) optional { } { } iterasi/ pengulangan, misal : 1 { ... } 10 iterasi/ pengulangan, misal : 1 { ... } 10 [ ] pilih satu dari beberapa alternatif (pilihan) misal :
[AIBICID] [AIBICID]
- komentar
@ @ identifier suatu data store | pemisah dalam bentuk [ ]
Contoh Kamus Data Contoh Kamus Data
- Nama = Nama Depan + Natama Belakang Nama Nama_Depan Natama_Belakang
- Current_Height = *Unit : 150 Cm*
• Nama_Langganan = (Title) + Nama_Depan + • Nama Langganan = (Title) + Nama Depan +
(Nama_Tengah) + Nama_Belakang- Customer_Address = (Shipping_Address) + • Customer Address = (Shipping Address) + (Billing_Address)
- Order = Customer_Name + Shipping_Address • Order = Customer Name + Shipping Address + 1{item}10
- Jenis_Kelamin = [ Pria I Wanita ] Jenis Kelamin = [ Pria I Wanita ]
Contoh Kamus Data Contoh Kamus Data
- Penjualan = *Jumlah penjualan • Penjualan = Jumlah penjualan selama satu tahun*
- Pajak rate = *Satuan pajak yang berlaku ditentukan oleh pemerintah p dalam %*
• Jumlah Pajak = *Jumlah pajak yang • Jumlah Pajak = Jumlah pajak yang
harus dibayar hasil perkalian dari
l * sales*
ERD
ENTITY RELATIONSHIP
DIAGRAMData modelling vs Process g Modelling
- Pemodelan proses (Co. DFD) menunjukkan menunjukkan simpanan data, simpanan data, bagaimana, dimana, dan kapan data digunakan atau diubah dalam sebuah digunakan atau diubah dalam sebuah Sistem Informasi
- Pemodelan data (Co. ER) menunjukkan definisi, , , g struktur, dan hubungan dalam data
Tahapan Peranc. Database (1) Miniworld Tahapan Peranc. Database (1) REQUIREMENTS COLLECTION & ANALYSIS Phase 1 : Requirements, Collection and Analysis
CONCEPTUAL DESIGN FUNCTIONAL ANALYSIS Functional Requirements Data Requirements Phase 2 : Conceptual Database Design LOGICAL DESIGN Conceptual Schema (In a high-level data model) High-level Transaction Specification DBMS-independent Phase 3 : Choice of DBMS Phase 4 : LOGICAL DESIGN (DATA MODEL MAPPING) APPLICATION PROGRAM Logical (Conceptual) Schema (In the data model of a specific DBMS) DBMS-specific Data Model Mapping (Logical design) PHYSICAL DESIGN (DATA MODEL MAPPING) APPLICATION PROGRAM DESIGN Phase 5 : Physical Design
Tahapan Peranc. Database (2) Tahapan Peranc. Database (2)
- Hasil dari tahap requirement p
p
q dan analisa berupa data‐data kebutuhan user
yang akan ditampung dan digambarkan pada tahap rancangan skema konsepsual (Conceptual
Design).
- Pada tahap Conceptual P d t h
b i i d t il d k i i d i ti ti
C t l D i
Design, berisi detail deskripsi dari tipe‐tipe
entity, relasi dan constraint (batasan). Hasil dari tahap ini berupa rancangan skema konseptual Database (ER g
p ( g ) Diagram).
- Setelah ER
Diagram yang dibuat dari rancangan skema konsepsual database, perlu dilakukan proses mapping ke skema relasi agar d t b database t b t d t dii l t ik d
R l ti l
tersebut dapat diimplementasikan dengan Relational DBMS (RDBMS).
Tahap ini disebut Logical Design (Data Model p p
Mapping). pp g) Hasil dari tahapan ini berupa Skema Fisik Database.
- Tahap akhir adalah Physical
Design, berupa pendefinisian struktur
internal storage, index, path serta organisasi file‐file dalam
ER Data Model ER Data Model
- Pemodelan sistem database dapat dilakukan melalui • Pemodelan sistem database
dapat dilakukan melalui pendekatan perancangan secara konsepsual yaitu
Entity Relationship Diagram (ERD atau ER Diagram). Entity Relationship Diagram (ERD atau ER Diagram).
- ER
Diagram menggambarkan tipe objek mengenai data itu di manajemen, serta relasi antara objek tersebut. j , j
- ER
Model dibuat berdasarkan persepsi atau pengamatan kondisi riil/nyata yang terdiri atas entitas dan relasi antar entitas
‐entitas tersebut.
- Sebuah database dapat dimodelkan sebagai:
- – Kumpulan Entity/Entitas,
- –
ER Data Model ER Data Model
- Entitas adalah sebuah obyek yang ada (exist) Entitas adalah sebuah obyek yang ada (exist) dan dapat dibedakan dengan obyek yang lain.
- Entitas • Entitas ada yang bersifat konkrit seperti: ada yang bersifat konkrit, seperti: orang (pegawai, mahasiswa, dosen, dll), buku,
perusahaan; perusahaan; dan ada yang bersifat abstrak
dan ada yang bersifat abstrak, seperti: peristiwa/kejadian (pendaftaran,pemesanan, pemesanan penagihan) konsep (rekening
penagihan), konsep (rekening,
kualifikasi), mata kuliah, pekerjaan, status dan sebagainya. sebagainya
ER Data Model ER Data Model
- Setiap entitas memiliki atribut sebagai keterangan g dari entitas, misal. entitas mahasiswa, yang memiliki atribut: NIM, nama nama dan alamat dan alamat.
- Setiap atribut pada entitas memiliki
kunci atribut (key kunci atribut (key atribut) yang bersifat atribut) yang bersifat unik.
ER Data Model ER Data Model
- Beberapa atribut juga dapat ditetapkan • Beberapa atribut juga dapat ditetapkan sebagai calon kunci (candidate key).
Mi l Misal
‐ Entitas Mahasiswa dengan atribut NIM sebagai key atribut
‐ Entitas Dosen dengan NIP sebagai key atribut, dan sebagainya.
- Beberapa entitas kemungkinan tidak memiliki p g atribut kunci sendiri, entitas demikian disebut
Simbol ER Data Model Simbol ER Data Model
Entitas Lemah (Weak Entity) Entitas Lemah (Weak Entity)
- Entitas
y g y
( y) Lemah (Weak Entity) adalah entitas yang keberadaannya
sangat bergantung dengan entitas lain. ‐ Tidak memiliki Key Attribute sendiri.
‐ Entitas tempat bergantung disebut Identifying Owner/Owner. y ‐ Entitas lemah tidak memiliki identifier‐nya sendiri. ‐ Atribut entitas lemah berperan sebagai Partial Identifier
(identifier yang berfungsi secara sebagian). Contoh:
Jenis Jenis Atribut (1) Jenis-Jenis Atribut (1)
- Simple
S p e / to c tt bute: ada a at but ya g t da dapat d bag
/ Atomic Attribute: adalah atribut yang tidak dapat dibagi‐bagi lagi menjadi atribut yang lebih mendasar.
- Composite
Attribute: atribut yang terdiri dari beberapa atribut
yang yang lebih mendasar lebih mendasar. Contoh:
Atribut ‐ Atribut ALAMAT, terdiri atas atribut JALAN, KOTA, ALAMAT, terdiri atas atribut JALAN, KOTA, KODE_POS.
‐ Atribut NAME, terdiri atas atribut FNAME,MNAME dan LNAME pada pada suatu entitas (EMPLOYEE)
suatu entitas (EMPLOYEE).
- Single
‐Valued Attribute: atribut yang hanya memiliki satu
harga/nilai. harga/nilai
Contoh:
Jenis Jenis Atribut (2) Multi Valued
Jenis-Jenis Atribut (2)
- Multi
‐Valued Attribute: adalah atribut yang memiliki isi lebih dari satu
Attribute: adalah atribut yang memiliki isi lebih dari satu nilai.
Contoh: b
- – Atribut d d b PENDIDIKAN TINGGI pada entitas PEGAWAI, dapat berisi lebih dari satu nilai: SMP, SMU, Perguruan Tinggi (Sarjana), Doktor, dll.
- – Atribut HOBBY pada entitas MAHASISWA, dapat memiliki lebih dari satu nilai: sepak bola, menyanyi, menari, tennis, dsb.
Atribut PRASYARAT pada entitas MATA KULIAH dapat memiliki – Atribut PRASYARAT pada entitas MATA_KULIAH, dapat memiliki lebih dari satu nilai: Konsep Pemrograman & Algoritma Struktur Data
untuk prasyarat mata kuliah Pemrograman Lanjut.
- Null
Values Attribute: adalah atribut dari entitas yang tidak memiliki nilai.
Jenis Jenis Atribut (3) Jenis-Jenis Atribut (3)
- Derived
Attribute: adalah atribut yang nilainya dapat diisi atau diturunkan dari perhitungan atau algoritma tertentu. Contoh: Atribut UMUR dapat dihitung dari atribut TGL LAHIR ‐ Atribut UMUR, dapat dihitung dari atribut TGL_LAHIR ‐ Atribut LAMA_KULIAH, dapat dihitung dari NIM yang merupakan kombinasi antara digit tahun dan digit yang lain (2696100…). ‐ Atribut INDEX_PRESTASI, dapat dihitung dari NILAI yang diperoleh NRP MAHASISWA. Nama Nama_MK NO_MK
Mahasiswa Mata Kuliah
Relasi dan Rasio Kardinalitas ( ) Relasi dan Rasio Kardinalitas (1)
- Relasi adalah g hubungan antar entitas.
- Relasi dapat
memiliki atribut, dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu.
Penjelasan: Penjelasan:
Bentuk ER diatas antara Mahasiswa Mengambil
Relasi dan Rasio Kardinalitas ( ) Relasi dan Rasio Kardinalitas (2) Penjelasan:
Jika atribut Nilai ditempatkan pada entitas Mahasiswa (dimana Nilai merupakan
salah satu atribut dari entitas Mahasiswa), maka semua mata kuliah yang diambil oleh seorang mahasiswa menghasilkan nilai yang sama (tidak ( )
realistis).
Jika atribut Nilai ditempatkan pada entitas Mata_Kuliah (dimana Nilai merupakan
salah satu atribut dari entitas Mata_Kuliah), maka semua mahasiswa yang mengambil mata kuliah tertentu akan memiliki nilai yang sama (tidak
realistis).
Relasi dan Rasio Kardinalitas (3) D j d R l i Relasi dan Rasio Kardinalitas (3) Derajad Relasi
- Derajad
Relasi adalah jumlah entitas yang berpatisipasi dalam suatu relasi.
- Derajad Relasi dapat berupa: j p p ‐ Unary Relationship (Relasi Berderajad 1) Binary Relationship (Relasi Berderajad 2) ‐ Binary Relationship (Relasi Berderajad 2) ‐ Ternary Relationship (Relasi Berderajad 3)
Relasi dan Rasio Kardinalitas (4) Relasi dan Rasio Kardinalitas (4)
Unary Unary Relationship (Relasi Berderajad 1) Relationship (Relasi Berderajad 1)
- adalah relasi dimana entitas yang terlibat hanya 1.
- Sering • Sering disebut relasi rekursif (recursive relationship) disebut relasi rekursif (recursive relationship).
Contoh:
Relasi dan Rasio Kardinalitas (5) Relasi dan Rasio Kardinalitas (5)
Binary Binary Relationship (Relasi Berderajad 2) Relationship (Relasi Berderajad 2)
- Atau relasi Biner adalah relasi yang melibatkan 2 entitas.
Contoh: Contoh:
Relasi dan Rasio Kardinalitas (6) Relasi dan Rasio Kardinalitas (6)
Ternary Ternary Relationship (Relasi Berderajad 3) Relationship (Relasi Berderajad 3)
- adalah
relasi tunggal yang menghubungkan 3 entitas yang berbeda.
Contoh:
Relasi dan Rasio Kardinalitas (7) Relasi dan Rasio Kardinalitas (7) Rasio Kardinalitas
- Dalam relasi binary antar 2 entitas, terdapat beberapa PEGAWAI MANAGE DEPARTEMEN kemungkinan:
p1 r1 d1
1
: 1 : One‐to‐One p2 r2 d2 p3 r3 d3 p4
PEGAWAI BEKERJA_PADA DEPARTEMEN p1 r1
N y
d1 d1
: 1 : Many‐to‐One p2 r2
d2 p3 r3
d3 p4 r4
M
: N : Many‐to‐Many
p1 r1 d1
Participation Constraint Dependencies D d i
- Menunjukkan • Menunjukkan apakah keberadaan suatu entitas bergantung
apakah keberadaan suatu entitas bergantung
penuh / tidak dengan entitas relasinya.
- Batasan (constraint) adalah jumlah minimum relasi dimana tiap Batasan (constraint) adalah jumlah minimum relasi dimana tiap entitas dapat ikut berpatisipasi.
- Ada
j p
2 jenis Participation Constraint: 1. Partisipasi Total ( ) adalah p p y g j g g
bentuk partisipasi yang menunjukkan ketergantungan
penuh suatu entitas (semua dan harus).
2.
Partisipasi Parsial ( ) adalah bentuk partisipasi yang menujukkan ketergantuan tidak
Participation Constraint Dependencies D d i
Rasio Rasio Kardinalitas Participation Participation Constraint
Kardinalitas Constraint1 PEGAWAI MANAGE DEPARTEMEN : 1 : One‐to‐One p1 p1 r1 d1 p3 p4 p2 r2 d2 r3 d3
N PEGAWAI BEKERJA_PADA DEPARTEMEN : 1 : Many‐to‐One p p1 r1
d1 d1
p2 r2 d2 p3 r3 d3 p4 r4M
: N : Many‐to‐Many
Mapping ke Skema Relasi (1) Mapping ke Skema Relasi (1)
Untuk pp g (p ) melakukan mapping (pemetaan) dari skema ER Diagram ke skema relasi terdapat langkah‐langkah yang harus diperhatikan.
Langkah ‐langkah mapping:
1. p Untuk setiap entitas skema relasi R yang y g y menyertakan
seluruh Simple Atribute dan Simple Attribute dari
Composite Attribute yangada, pilih salah satu atribut kunci sebagai Primary kunci sebagai Primary Key Key.
setiap Entitas Lemah, buatlah skema relasi R
dengan dengan mengikutsertakan seluruh Simple Attribute
mengikutsertakan seluruh Simple Attribute. TambahkanPrimary Key dari entitas kuatnya (Owner Entity
Mapping ke Skema Relasi (2) Mapping ke Skema Relasi (2) 3.
Untuk setiap relasi binary 1:1, tambahkan Primary Key dari sisi yang lebih ”ringan” ke sisi (entitas) yang lebih ”berat”.
Suatu sisi dianggap lebih ”berat” timbangannya apabila mempunyai
partisipasi total. Tambahkan juga Simple
Attribute yang
terdapat pada relasi tersebut ke sisi yang lebih ”berat”.
Apabila Apabila kedua partisipasi adalah sama total, maka kedua kedua partisipasi adalah sama total, maka kedua entitas
tersebut boleh digabung menjadi satu skema relasi.
4.
Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, lemah tentukan mana sisi yang lebih ”berat” Sisi dianggap tentukan mana sisi yang lebih berat . Sisi dianggap lebih
”berat” timbangannya adalah sisi‐N (Many). Tambahkan
Primary Key dari sisi yang ”ringan” ke skema relasi l i i i l bih ”b b hk j
t” T l h i l
sisi yang lebih ”berat”. Tambahkan juga seluruh simple
attribute yang terdapat pada relasi biner tersebut.
Mapping ke Skema Relasi (3) Mapping ke Skema Relasi (3) 5.
5. Untuk setiap relasi binary M:N, buatlah skema relasi baru R dengan Untuk setiap relasi binary M:N, buatlah skema relasi baru R dengan atribut
seluruh simple attribute yang terdapat pada relasi biner tersebut.
Tambahkan primary key yang terdapat pada kedua sisi ke skema k l i R K d did t d i k d i i
F i K
relasi R. Kedua Foreign Key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk Primary Key dari skema
relasi R.
6.
Untuk setiap Multivalued Attribute, buatlah skema relasi R yang menyertakan atribut dari multivalue tersebut. Tambahkan Primary
K Key d i l i iliki lti l d t b t K d t ib t dari relasi yang memiliki multivalued tersebut. Kedua atribut
tersebut membentuk Primary Key dari skema relasi R.
7 Untuk setiap relasi n Untuk setiap relasi n ary dengan n>2, buatlah skema relasi R yang ‐ary dengan n>2 buatlah skema relasi R yang menyertakan
7.
seluruh Primary Key dari entitas yang ikut serta. Sejumlah
n Foreign Key tersebut akan membentuk Primary Key
Mapping ke Skema Relasi (4) Mapping ke Skema Relasi (4) Diagram Skema Konsepsual / ER Diagram untuk Database COMPANY
Mapping ke Skema Relasi (5) Mapping ke Skema Relasi (5) EMPLOYEE
FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO
DEPARTMENT DEPARTMENT DNAME DNUMBER MGRSSN MGRSTARTDATEMapping Skema ER Diagram dengan R f i l I i C i Referential Integrity Constraint
E l Fname Minit Lname SSN Bdate Address Sex Salary SuperSSN DNO Employee Dname DNumber MgrSSN MgrStartDate
Departement DNumber DLocation Dept_Locations Pname PNumber PLocation DNum
Project PNO Works_On Hours ESSN
Contoh Implementasi Data Table Contoh Implementasi Data Table DEPARTMENT DEPARTMENT
Contoh Implementasi Data Table
Contoh Implementasi Data Table
DEPENDENTEMPLOYEE