Software untuk
03 Model Relasional 04 membuat pemodelan
data
Software Development Life Cycle (SDLC)
● SDLC merupakan siklus hidup pengembangan perangkat lunak yang terdiri dari
beberapa tahapan
Planning
Implementation Analysis
Design
Tahapan SDLC
Implementation Analysis
Design
Tahapan SDLC
Testing
Documentation
Implementation Analysis
Installation
Design
Siklus Pengembangan Software:
Alur, Peran, dan Tahapan (Deliverable) (Tilley, 2012) (Dennis, 2016) (Valacich, 2017)
Apa peranan
?
data dalam
rekayasa
perangkat
lunak
8
Everything is Data
Data is Everything
9
Data dan Informasi
Data Informasi
10
Data Dan Basis Data
• Data Perlu disimpan dan diolah dengan
baik dan benar agar dapat mudah
digunakan kembali dengan baik dan benar
Konvensional
https://marketbusinessnews.com/financial-glossary/gigo-garbage-in-garbage-out/
Modern
Modern
Basis Data
11
Basis Data Relasional
• Data disimpan dalam suatu tabel-tabel yang saling berhubungan
tanpa pengulangan (redundansi) yang tidak perlu agar dapat Foreign
dimanfaatkan kembali dengan benar, cepat dan mudah. Key
Barang Domain Barang_yg_dijual
Relasi
Penjualan
• Keakuratan (Accuracy)
• Keakuratan (Accuracy), melalui basis data semua data yang tersimpan akan
lebih akurat karena setiap data diberi kode untuk keunikan data tersebut.
• Dengan cara penerapan secara ketat:
• Pengkodean atau pembentukan relasi antar data.
• Aturan/batasan (constraint).
• Tipe data.
• Domain data.
• Keunikan data.
• Ketersediaan (Availability)
• Ketersediaan (Availability). Data yang sudah tidak digunakan lagi dapat
dipisahkan dari database yang aktif
• Sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis.
• Dengan teknologi jaringan komputer, data yang berada di suatu lokasi, dapat juga diakses
(menjadi tersedia/available) bagi lokasi lain.
14
MANFAAT PENGGUNAAN BASIS DATA (3)
• Kelengkapan (Completeness)
• Memungkinkan untuk melakukan perubahan struktur dalam
basis data, baik dalam bentuk penambahan objek baru
(tabel) atau dengan penambahan field-field baru pada suatu
tabel.
• Keamanan (Security)
• Memungkinkan penerapan aspek keamanan data yang lebih
ketat.
• Dengan cara:
• Pembatasan pemakai(users) yang boleh menggunakan basis data
beserta objek-objek di dalamnya.
• Membatasi jenis-jenis operasi apa saja yang boleh dilakukannya.
15
MANFAAT PENGGUNAAN BASIS DATA (4)
16
Contoh Basis Data Relasional
Tabel Penjualan
Nilai
diperlukan normalisasi basis data ataukosong
Tabel Penjualan Tabel Barang
18
02 Entity Relationship
Diagram (ERD)
Entity Relationship Diagram (ERD)
• Merupakan perangkat untuk membuat model data konseptual yang
merupakan model data tingkat tinggi yang populer untuk model data
relasional.
• Model ini dengan sejumlah variasinya sering kali digunakan dalam
desain konseptual dari aplikasi database.
• Banyak “Database Design Tools“ yang melibatkan ER-Model
didalamnya.
• ERD merupakan suatu model untuk menjelaskan hubungan antar data
dalam basis data berdasarkan objek-objek dasar data yang
mempunyai hubungan antar relasi
20
Notasi dari ERD Versi CHEN
Notasi Penjelasan Simbol
Entity Entity merupakan objek yang mewakili sesuatu yang
nyata dan dapat dibedakan dari sesuatu yang lain
Contohnya : Mahasiswa, Barang
21
Entity
• Ada 2 jenis Entity :
• Strong Entity : Entity yang dapat berdiri sendiri tidak bergantung pada Entity
lain.
• Symbol :
• Contohnya : Pegawai
• Weak Entity : Entity yang bergantung pada Strong Entity.
• Symbol :
22
Attribute
• Ada 5 jenis attribute
• Atribut Key - atribut yang digunakan untuk • Atribut Composite – atribut yang
membedakan data secara unik. masih dapat diuraikan lagi.
• Simbol :
• Simbol :
24
25
Relationship
• Ada 3 hal terkait pada setiap Relationship, yaitu :
1. Derajat Relationship berkaitan dengan entity yang terlibat dalam relationship
ada 3 jenis :
1. Unary (derajat satu) : relasi dengan entity tunggal (self relationship)
2. Binary (derajat dua) : relasi yang menghubungkan dua relationship
3. Derajat tiga dan seterusnya : relasi yang menghubungkan tiga hingga lebih entitas
2. Cardinalitas Relationship berkaitan dengan jumlah maksimum entitas yang
dapat berelasi dengan entitas lainnya, ada 3 jenis :
1. One to One (1 : 1)
2. One to Many (1 : N) atau Many to One (N : 1)
3. Many to Many (N : N)
3. Participation Relationship berkaitan dengan keterlibatan entity didalam
relasi, ada 2 jenis :
1. Total participation
2. Partial participation
26
Relationship One To One
• One To One (1 : 1)
27
Relationship One To Many / Many To One
• One To Many (1 : N) / Many To One (N :1)
28
Relationship Many To Many
• Many To Many (M : M)
29
Yang Perlu Diperhatikan dalam Membuat ERD
• ERD dibuat dengan mengacu pada requirement data yang sudah
didapatkan pada tahapan pengembangan sistem sebelumnya (tahap
Analisis)
• Untuk sistem yang sama bisa menghasilkan ERD yang berbeda,
tergantung dari requirement datanya tepat tidaknya ERD diukur
dari kesesuaiannya dengan requirement data
30
Contoh Requirement Data Minimarket
• Pada minimarket diperlukan pencatatan data-data mengenai : barang, pembelian,
penjualan, kasir, dan supplier. Setiap barang memiliki kode yang unik, merk,
jumlah stok, harga, satuan. Data penjualan yang perlu dicatat adalah data-data
mengenai penjualan barang ke konsumen. Penjualan memiliki kode yang unik,
tgl penjualan, total penjualan, dan seorang kasir yang menangani penjualan. Pada
setiap penjualan dapat dijual banyak barang. Pada setiap barang yang dijual perlu
dicatat jumlah dari masing-masing barang. Pembelian menyimpan data-data
mengenai pembelian barang ke supplier. Pembelian memiliki kode yang unik, tgl
pembelian, total pembelian, dan supplier pembelian. Pada setiap pembelian dapat
dibeli banyak barang. Pada setiap barang yang beli perlu dicatat jumlah dan harga
dari masing-masing barang. Data kasir yang perlu dicatat berupa no pegawai
yang unik, no ktp yang unik, nama, alamat, no telp, jenis kelamin, tempat lahir,
dan tanggal lahir. Data supplier yang perlu dicatat berupa kode supplier yang
unik, nama perusahaan, alamat perusahaan, no telp perusahaan dan keterangan.
Setiap supplier dapat memiliki beberapa nama contact person
31
Langkah-Langkah Dalam Membuat ERD Minimarket
1. Menentukan Entitas. Ciri dari entitas adalah memiliki atribut, dan ada atribut kunci yang menjadi pembeda
antar satu data dengan data lainnya. Dari requirement data diatas entitas yang tulis tebal, yaitu: barang,
penjualan, pembelian, kasir, dan supplier.
2. Menentukan atribut dari setiap entitas, yaitu (tulisan dengan warna biru):
a. Barang : kode, merk, jumlah_stok, harga, satuan. Kode merupakan key attribute, atribut lainnya
simple attribute.
b. Penjualan : kode, tgl_penjualan, total_harga_jual. Kode merupakan key attribute, total_harga_jual
merupakan derivide attribute karena nilainya bisa diturunkan dari total harga x jumlah barang yang
dijual, tgl_penjualan merupakan simple attribute.
c. Pembelian : kode, tgl_pembelian, total_harga_beli. Kode merupakan key attribute, total_harga_beli
merupakan derivide attribute karena nilainya bisa diturunkan dari total harga x jumlah barang yang
dibeli, tgl_pembelian merupakan simple attribute.
32
Langkah-Langkah Dalam Membuat ERD Minimarket
d. Kasir : no_pegawai, no_ktp, nama, alamat, no telp, jenis kelamin, tempat lahir, dan tanggal lahir.
No_pegawai dan no_ktp merupakan key attribute, sedangkan atribut lainnya merupakan simple
attribute.
e. Supplier : kode supplier yang unik, nama perusahaan, alamat perusahaan, no telp perusahaan dan
keterangan, nama contact person. Kode_supplier merupakan key attribute, nama_cp merupakan
multivalue attribute, sedangkan atribut lainnya merupakan simple attribute.
3. Menentukan relasi. Relasi menghubungkan dua atau lebih entitas (tulisan dengan warna coklat). Dari
requirement diatas didapatkan relasi :
33
a.….seorang kasir yang menangani penjualan. Kasir dan penjualan adalah entity maka hal ini menunjukkan
adanya relasi antara kasir dan penjualan, diberi nama relasi menangani_penjualan. Satu penjualan ditangani
satu kasir dan satu kasir menangani banyak penjualan, maka kardinalitasnya adalah one-to-many (1 : M)
34
Langkah-Langkah Dalam Membuat ERD Minimarket
b. …Pada setiap penjualan dapat dijual banyak barang. Penjualan dan barang adalah entity maka hal ini
menunjukkan adanya relasi antara penjualan dan barang, diberi nama relasi penjualan_barang. Satu
penjualan dapat menjualan banyak barang dan satu barang dapat dijual dibanyak penjualan (selama
stok masih ada) maka kardinalitasnya adalah many-to-many (M : M)
35
c.…Pada setiap barang yang dijual perlu dicatat jumlah dari masing-masing barang. Penjualan barang
adalah relasi maka hal ini menunjukkan jumlah merupakan atribut dari relasi penjualan barang.
36
d. ….Pembelian memiliki kode yang unik, tgl pembelian, total harga beli, dan supplier pembelian. Pembelian
dan supplier adalah entitas maka hal ini menunjukkan adanya relasi antara supplier dan pembelian, diberi
nama relasi supplier_pembelian. Satu supplier bisa mensupply banyak pembelian dan satu pembelian hanya
disupply oleh satu supplier maka kardinalitasnya adalah one-to-many (1 : M)
37
Langkah-Langkah Dalam Membuat ERD Minimarket
e. …Pada setiap pembelian dapat dibeli banyak barang. Pembelian dan barang adalah entity maka hal ini
menunjukkan adanya relasi antara pembelian dan barang, diberi nama relasi pembelian_barang. Satu
pembelian dapat dibeli banyak barang dan satu barang bisa dibeli dibanyak pembelian (restok ulang)
maka kardinalitasnya adalah many-to-many (M : M)
f. …Pada setiap barang yang beli perlu dicatat jumlah dan harga dari
masing-masing barang. Pembelian_barang adalah relasi maka hal ini
menunjukkan jumlah dan harga merupakan atribut dari relasi pembelian barang
38
39
VARIASI ERD
ERD Martin
Entitas
• Sedangkan entity dan attribut:
- Atribut
40
VARIASI ERD
Relationship pada ERD Martin
Exactly one
Zero or one
One or more
41
03 Model Relasional
Model Relasional
• Model relasional merupakan pemodelan data untuk basis data
relasional
• Model ini dengan sejumlah variasinya sering kali digunakan dalam
desain logis/fisik dari aplikasi database.
• Pada model data ini terdapat relasi (tabel) dengan atribut
didalamnya. Atribut dapat berupa :
• Atribut primary key : Atribut yang menjadi pembeda antara satu data
(tuple/field) dengan data yang lain. Atribut ini ditulis dengan tanda garis
bawah
• Atribut biasa : Atribut yang berisi nilai tunggal (atomic)
• Atribut foreign key : Sebuah atribut (atau kombinasi atribut) dalam sebuah
tabel dimana nilainya cocok dengan primary key pada tabel lainnya.
43
Algoritma Mapping ERD ke Model Relasional
1. Untuk entity regular (non-weak)
a) Untuk setiap entity regular dengan tipe E dalam skema ER, buat satu relasi
R yang attributnya meliputi semua simple attribute dari E. Untuk suatu
composite attribute, hanya komponen simple attributnya yang dipetakkan.
b) Kemudian, pilih satu key attribute dari E sebagai primary key dari R. Jika
key terpilih adalah composite, maka primary key dari R dibentuk dari satu
set simple attribute dari composite. Pada step pertama ini, keterlibatan
kunci tamu dan relationship attribute jangan dipikirkan dulu.
44
Algoritma Mapping ERD ke Model Relasional
2. Untuk weak entity
a) Untuk weak entity dengan tipe W dalam skema ER dengan owner entity
tipe E, buat satu relasi R yang attributnya meliputi semua simple attribute
atau simple component dari composite attribute.
b) Masukkan sebagai foreign key dalam R, primary key attribute dari relasi-
relasi yang merupakan owner (pemilik) dari W.
c) Primary key dari R dibentuk dari kombinasi antara primary key dari relasi-
relasi pemilik dan partial key dari weak entity tipe W.
45
Algoritma Mapping ERD ke Model Relasional
3. Untuk multivalued attribute
a) Untuk setiap multivalued attribute A, buat satu relasi baru R yang
mencantumkan satu attribute yang mewakili A ditambah dengan primary
key K (sebagai foreign key dalam R) dari relasi yang mewakili tipe entity atau
tipe relationship yang mempunyai A sebagai attributnya.
b) Primary key dari R adalah kombinasi dari A dan
46
Algoritma Mapping ERD ke Model Relasional
4. Untuk relationship binary 1 : 1
a) Untuk setiap binary 1 : 1 relationship dengan tipe Rdalam skema ER,
perhatikan relasi-relasi S dan T yang berkorespondensi dengan entity tipe
yang berpartisipasi dalam R.
b) Kemudian, ambil salah satu relasi (misalkan S) dan cantumkan primary key
dari T sebagai foreign key dalam S.
c) Untuk kasus ini, S sebaiknya dipilih dari entity tipe yang berpartisipasi total
dalam R (untuk mengurangi NULL values dari foreign key yang diambil dai
T).
47
Algoritma Mapping ERD ke Model Relasional
4. Untuk relationship binary 1 : 1
48
Algoritma Mapping ERD ke Model Relasional
5. Untuk regular binary 1 : N relationship
a) Untuk setiap regular binary 1 : N relationship dengan tipe R, perhatikan
relasi S yang mewakili entity yang berpartisipasi pada sisi-N dari tipe
relationship.
b) Cantumkan primary key dari relasi yang berperan pada sisi-1 sebagai forein
key dalam S, karena setiap entity instance pada sisiN terkait dengan paling
banyak satu entity instance pada sisi-1 dari tipe relationship.
c) Kemudian cantumkan semua simple attribute atau simple component dari
composite attribute dari 1 : N relationship sebagai attribute dalam S.
49
Algoritma Mapping ERD ke Model Relasional
6. Untuk binary M : N relationship
a) Untuk setiap binary M : N relationship dengan tipe R,buat satu relasi baru S
untuk mewakili R.
b) Kemudian cantumkan sebagai foreign key dalam S, primary key dari relasi-
relasi yang mewakili entity yang berpartisipasi dalam R; dimana kombinasi
dari primary keys ini akan membentuk primary key dari S
c) Cantumkan juga semua simple attribute atau semua simple component dari
composite attribute dari M : N relationship sebagai attribute dari S.
50
ERD Company
51
Mapping ERD Company Ke Model Relasional
52
04
Software untuk
membuat pemodelan
data
CASE TOOLS ERD
Beberapa contoh ERDTools
• Berikut ini beberapa contoh tools untuk membuat ERD alternatif dari Ms Visio
(Komersial) atau Sybase PowerDesigner (Komersial)
https://github.com/rterrabh/TerraER/tree
TerraERD Desktop Open Source √ /master/terraer_project/dist
StarUML ERD
Extension Desktop Open Source √ http://staruml.io
https://www.edrawsoft.com/martin-erd-s
Edraw Desktop Komersial √ √ olutions.php
54
Latihan
Buatlah model data konseptual dan logis/fisik berdasarkan requirement data berikut.
Pada suatu Taman Kanak-Kanak untuk memudahkan monitoring data murid, kelas, dan guru saat ini
maka perlu dibuatkan basis data. Data kelas yang perlu dicatat seperti nama kelas yang unik dan
keterangan. Setiap kelas terdapat satu guru sebagai wali kelas. Setiap kelas juga memiliki satu guru
pendamping. Data guru yang perlu dicatat adalah kode yang unik, nama, alamat, satu nomor
hanphone, tempat dan tanggal lahir. Setiap kelas terdapat banyak siswa. Data siswa yang perlu dicatat
adalah nis yang unik, nama, alamat, nama bapak, nama ibu, no hp orangtua, hobi, status siswa (data
bisa berisi aktif atau tidak aktif), tempat dan tanggal lahir, serta usia. Setiap siswa bisa memiliki hobi
lebih dari satu.
Dari model logis/fisik buatlah tabel-tabelnya dan isikan contoh data yang benar. Masing-
masing tabel 2-3 data.