ANALISIS &
PERANCANGAN SISTEM
Analisis dan Permodelan Data
(Data Modeling and Analysis)
Mulyadi, S.Kom, M.S.I
DATA MODELING
Data modeling – teknik mengorganisasikan dan
mendokumentasikan data (disebut pemodelan DB)
Entity relationship diagram (ERD) – pemodelan data
menggunakan beberapa notasi utk menggambarkan
data dengan menggunakan ENTITY dan RELATIONSHIP
atau hubungan diantaranya.
Sample Entity Relationship Diagram
(ERD)
Data Modeling Concepts: Entity
Entity – menunjukkan kelas dari orang, tempat, benda, kejadian
atau konsep yang diperlukan untuk disimpan.
Penamaan menggunakan kata benda tunggal
Orang : agency, contractor, customer,
department, division, employee, instructor,
student, supplier.
Tempat : sales region, building, room,
branch office, campus.
Objek : book, machine, part, product, raw material, software license,
software package, tool, vehicle model, vehicle.
Peristiwa : aplikasi, penghargaan, pembatalan, kelas, penerbangan,
faktur, order, pendaftaran, pembaharuan, permintaan, pemesanan,
penjualan, perjalanan.
Konsep: account, block of time, bond, course, fund, qualification,
stock.
Data Modeling Concepts: Attributes
Attribute – ciri atau karakteristik entity.
Disebut juga elemen, sifat atau field
Compound attribute –
terdiri gabungan atribut.
Disebut atribut gabungan (composit,
Concatenated atau struktur data
Data Modeling Concepts: Data Type
Data type – sifat/ciri dari atribut yang menentukan tipe
data yang disimpan dalam database
Representative Logical Data Types for Attributes
Logical Data Logical Business Meaning
Type
NUMBER Any number, real or integer.
TEXT A string of characters, inclusive of numbers. When numbers are included in a TEXT
attribute, it means that we do not expect to perform arithmetic or comparisons with those
numbers.
MEMO Same as TEXT but of an indeterminate size. Some business systems require the ability
to attach potentially lengthy notes to a give database record.
DATE Any date in any format.
TIME Any time in any format.
YES/NO An attribute that can assume only one of these two values.
VALUE SET A finite set of values. In most cases, a coding scheme would be established (e.g.,
FR=Freshman, SO=Sophomore, JR=Junior, SR=Senior).
IMAGE Any picture or image.
Data Modeling Concepts: Domains
Domain – sifat dari atribut yang mendefinisikan
nilai yang diperkenenkan di dalamnya (nilai
yang sah)
Default value – nilai yang otomatis diberikan
(Default) apabila user tidak memberikan
keterangan terhadap suatu data
Representative Logical Domains for Logical Data Types
Data Type Domain Examples
NUMBER For integers, specify the range. {10-99}
For real numbers, specify the range and precision. {1.000-799.999}
TEXT Maximum size of attribute. Text(30)
Actual values are usually infinite; however, users
may specify certain narrative restrictions.
DATE Variation on the MMDDYYYY format. MMDDYYYY
MMYYYY
TIME For AM/PM times: HHMMT HHMMT
For military (24-hour times): HHMM HHMM
YES/NO {YES, NO} {YES, NO} {ON, OFF}
VALUE SET {value#1, value#2,…value#n} {M=Male
{table of codes and meanings} F=Female}
Data Modeling Concepts: Identification
Key – atribut/gabungan yang memberikan
nilai yang unik terhadap isi dari entity
(disebut identifier)
Concatenated key - sekelompok atribut yang
secara unik mengidentifikasi suatu entitas.
Candidate key – salah satu dari sejumlah
kunci yang dapat berfungsi sebagai kunci
utama dari entitas.
Primary key – candidate key yang akan
paling sering digunakan untuk secara unik
mengidentifikasi entitas.
Alternate key – candidate key yang tidak
digunakan sebagai primary key (secondary
key).
Data Modeling Concepts: Relationships
Relationship – hubungan yang ada diantara entity
Dinyatakan dengan garis hubung diantara entity tsb
Student Is being studied by is enrolled in
Curriculum
Cardinality – minimum/maksimum jml kejadian (occurrence) dari suatu entity mempunyai
hubungan dengan lainnya
Karena hubungan timbal balik maka kardinalitas haru didefinisikan ke
dua arah (bidirectional)
bidirectional
Student Is being studied by is enrolled in
Curriculum
Cardinality Notations
Relationship
Data Modeling Concepts: Degree
Degree – jumlah entity yang terdapat dalam suatu relasi
Relasi diantara dua buah entity disebut binary relationship.
Relasi antara instance yang berbeda didalam satu entity disebut
recursive relationship.
Relasi diantara tiga entity disebut 3-ary or ternary relationship.
Data Modeling Concepts: Degree
Relasi bisa terjadi
antara lebih dari 2
entitas dan disebut N-
ary relationships.
Contoh ERD disamping
menggambarkan
ternary relationship.
Data Modeling Concepts: Degree
Associative entity –
an entity that inherits
its primary key from
more than one other Associative
entity (called Entity
parents).
Each part of that
concatenated key
points to one and
only one instance of
each of the
connecting entities.
Data Modeling Concepts: Foreign Keys
Foreign key – PK suatu entity yang digunakan pada
entity lain untuk mengidentifikasi isinya
A foreign key is a primary key of one entity that is
contributed to (duplicated in) another entity to identify
instances of a relationship.
A foreign key always matches the primary key in the
another entity
A foreign key may or may not be unique (generally not)
The entity with the foreign key is called the child.
The entity with the matching primary key is called the
parent.
Data Modeling Concepts: Foreign Keys
Primary Key
NIM Nama Tgl_lahir KodePA
2144 Arnold 10072003 Smith
3122 Taylor 05012003 Jones
3843 Simmons 15112004 Smith
9844 Macy 20042003 Smith
2837 Leath 14122004 Smith
2293 Wrench 10082004 Jones
Primary Key
Foreign Key
Duplicated from
KodePA Nama Dosen primary key of
Smith Andrea Fernandez Major entity
Jones Daniel Abidjan (not unique)