analisis dan perancangan perangkat lunak
DESCRIPTION
Analisis dan Perancangan Perangkat Lunak. PEMODELAN DATA . Quit. Konsep Pemodelan Data. 1. PEMODELAN DATA DENGAN E/R DIAGRAM. The data model also describes the relationship among data and any constraints that have to be defined on the data. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/1.jpg)
1
Analisis dan Perancangan Perangkat Lunak
Quit
PEMODELAN DATA
![Page 2: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/2.jpg)
2
Konsep Pemodelan Data
![Page 3: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/3.jpg)
3
1. PEMODELAN DATA DENGAN E/R DIAGRAM
The data model also describes the relationship among data and any constraints that have to be defined on the data.
Data models can broadly be classified into two categories:Object-based logical model – focuses on describing the
data, the relationship among the data, and any constraints defined.
Record-based logical model – focuses on describing the data structure and the access techniques in a Database Management System.
A data model is a description of the organization of data in a database.
![Page 4: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/4.jpg)
4
Entity-Relationship Model• There are various object-based models. The most
widely used is the entity-relationship model (E/R model).
• The entity-relationship model is based on a real-world perception that comprises a collection of objects or entities and the relationships among these.
• The diagram used to represent an E/R model is called an E/R diagram.
• The components of an E/R diagram are:• Entities• Relationships• Attributes
![Page 5: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/5.jpg)
5
Entities• An entity is any object, place, person, or
activity about which data is recorded.• Entities are named and represented inside a
box.• There are two types of entities:
• Dependent• Independent
• Dependent entities are also called weak entities, and independent entities are called regular entities.
• Weak entities are represented by double-lined boxes.
![Page 6: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/6.jpg)
6
Relationships• A relationship is an association among entities.• A relationship is depicted as a diamond with
the name of the relationship type.• A relationship can associate an entity with
itself.• Multiple relationships can also exist between
the same entities.• There are three types of relationships:
• One-to-One• One-to-Many• Many-to-Many
![Page 7: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/7.jpg)
7
Attributes• An attribute is a property of a given entity.• Attributes are depicted as ellipses, labeled with the
name of the property. The key properties are underlined.
• A relationship can also have attributes.
![Page 8: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/8.jpg)
8
One-to-One Relationship
![Page 9: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/9.jpg)
9
One-to-Many Relationship
![Page 10: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/10.jpg)
10
Many-to-Many Relationship
![Page 11: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/11.jpg)
11
Weak entityA weak entity is an entity whose existence
depends on some otherentity.
![Page 12: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/12.jpg)
12
Subtypes and Supertypes
Subtypes and Supertypes • A subtype is a subset of another entity.• A subtype is always dependent on the
supertype for its existence.• Each entity type (subtype or supertype) maps
to a separate table.• The primary key of the supertype is the
foreign key of the subtype. It creates a link between the two.
• The foreign key of the subtype is also its primary key.
![Page 13: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/13.jpg)
13
Subtypes and Supertypes
![Page 14: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/14.jpg)
14
Each entity type (subtype or supertype) maps to a separate table.
![Page 15: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/15.jpg)
15
If there are any entities with common attributes, merge the entities.
![Page 16: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/16.jpg)
16
Attributes may Become Entities
![Page 17: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/17.jpg)
17
Specialization
![Page 18: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/18.jpg)
18
Generalization
![Page 19: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/19.jpg)
19
The previous E/R diagram can be converted using aggregation
![Page 20: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/20.jpg)
20
The previous E/R diagram can be converted using aggregation
![Page 21: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/21.jpg)
21
2. Normalisasi dan Denormalisasi Data
![Page 22: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/22.jpg)
22
Dua Pendekatan dalam mendesain Database Relasional
Pendekatan Top – Down : menggunakan E/R Diagram
Pendekatan Bottom – Up : menggunakan proses Normalisasi dan denormalisasi
![Page 23: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/23.jpg)
23
Normalisasi dilakukan langkah-demi langkah, sehingga dari record data yang kompleks dapat diubah menjadi record data yang simple.
Pengulangan-pengulangan data direduksi tanpa menghilangkan informasi yang diinginkan.
![Page 24: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/24.jpg)
24
Contoh tabel tanpa proses normalisasi
Pada tabel tersebut, Student ID, Student Name muncul lebih dari sekali dengan nilai yang sama. Namun demikian ada antribut lain yang ikut diulang : StudentAddress, StudentBirthdate, StudentCity, StudentZip, yang merupakan pengulangan data yang tidak perlu.
![Page 25: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/25.jpg)
25
Keuntungan dari proses Normalisasi
Dengan mereduksi pengulangan data, maka akan mempercepat proses pengurutan dan pencarian data.
Data dengan nilai Null menjadi lebih minimal sehingga meminimalkan ketidakkonsistenan data
Dengan normalisasi, database menjadi lebih compact
![Page 26: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/26.jpg)
26
Normalisasi tahap I Setiap sell dari tabel harus memiliki satu nilai data yang
presisi. Pada berikut kolom Hours berisi data lebih dari satu
![Page 27: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/27.jpg)
27
Normalisasi tahap I Hasil normalisasi tahap I diperoleh tabel dengan setiap
sell hanya berisi satu nilai, walaupun akhirnya terdapat pengulangan data pada kolom tertentu
![Page 28: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/28.jpg)
28
Normalisasi tahap II Tahap kedua normalisasi dilakukan jika didapatkan
beberapa atribut berulang, sehingga memungkinkan beberapa atribut tadi dipecah pada tabel berbeda
![Page 29: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/29.jpg)
29
Normalisasi tahap II Dari normalisasi tahap II diperoleh dua buah tabel yaitu
tabel EmployeeDept dan tabel Project
![Page 30: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/30.jpg)
30
Normalisasi tahap III Normalisasi tahap ini dilakukan jika terdapat beberapa
atribut (bukan atribut kunci) pada suatu tabel dan muncul berulang –ulang, sehingga memungkinkan untuk dipecah pada tabel berbeda.
![Page 31: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/31.jpg)
31
Normalisasi tahap IIIAtribut Dept dan DeptHead masuk tabel
baru dengan nama Departement
![Page 32: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/32.jpg)
32
Boyce-Codd Normal FormJika pada suatu tabel terdapat lebih dari
satu atribut yang memungkinkan berfungsi sebagai kata kunci (overlapping candidate keys), maka candidate keys dapat dipecah pada tabel yang berbeda
![Page 33: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/33.jpg)
33
Fourth Normal Form
• If a relation has many-to-many relationships with two or more relations, then the attributes of all the three or more relations cannot be depicted in the same relation.
• When you model such situations in a relational database, you will either have redundant data or use null values.
• A condition that requires duplication of values and thus enforces mutual independence of multivalued attributes is called multivalued dependency.
![Page 34: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/34.jpg)
34
Fourth Normal Form (Contd..)
• You can use fourth normal form (4 NF) to remove multivalued dependencies.
• A table is in 4 NF if it is in 3 NF and has no multivalued dependencies.
• To apply 4 NF, you need to put all multivalued attributes in individual tables containing the key to which the attribute values apply.
![Page 35: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/35.jpg)
35
Fourth Normal Form
![Page 36: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/36.jpg)
36
Fourth Normal FormHasil Normalisasi ke 4
![Page 37: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/37.jpg)
37
Other Normal Forms
• Some constraints like business rules result in the need for fifth normal form (5 NF).
• For a table to be in 5 NF, it has to be in 4 NF and should abide by some business rules.
• The purpose of 5 NF is to have tables that cannot be further decomposed.
• If the business rule does not exist, then there is no need of 5 NF.
• In addition to 5 NF, there is another normal form called the domain-key normal form (DKNF).
• A table is in DKNF if every constraint on the table is a result of the definitions of domains and keys.
![Page 38: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/38.jpg)
38
Other Normal Forms Pada tabel berikut untuk departement Computer Science terdapat 3 kode
subject yang berbeda : CS150, CS103 dan CS104 yang masing masing diambil oleh 3 student yang berbeda.
Oleh karena itu departemen ini merupakan domain sehingga kita bisa memecah tabel baru kolaborasi antara atribut Departement dengan Subject, Departement dengan Student atau Subject dengan Student
![Page 39: Analisis dan Perancangan Perangkat Lunak](https://reader035.vdocuments.mx/reader035/viewer/2022062218/56816206550346895dd22bc7/html5/thumbnails/39.jpg)
39
Other Normal Forms
Diperoleh 3 tabel• Dept – Stud• Dept – Sub• Sub - Stud