Anda di halaman 1dari 40

1

FT420 - Basis Data


Model Data Edited by

Relasional Andriani Putri, S.Kom., M.Sc


3

Database life cycle


🞘 Dalam merancang sebuah basis data, ada beberapa tahapan yang
harus dilakukan. Tahapan-tahapan tersebut disebut dengan Database
Life Cycle.
🞘 Siklus hidup dari sebuah basis data mulai dari dirancang
sampai diimplementasikan.
🞘Gambarannya dapat dilihat pada slide berikut.
4
5

Step 1: Requirement analysis


🞘 Requirement analysis : analisis keperluan.
🞘 Identifikasi keperluan suatu basis data dimulai dari wawancara
pengguna yang akan menghasilkan spesifikasi keperluan.
🞘 Spesifikasi tersebut seperti: apa saja data yang terlibat dalam proses
bisnis, hubungan antar data tersebut, platform software untuk
implementasi dari basis datanya.
🞘Contoh pada kasus penjualan barang/jasa:
6

Step 2: Logical design


🞘Logical design : perancangan logik.
🞘Berupa skema umum dari permasalahan yang dikaji.
🞘Biasanya digambarkan dalam bentuk diagram yang menunjukkan semua
data dan relasinya.
🞘 Diagram yang terlibat seperti Entity-Relationship Diagram (ERD)
juga Unified Modelling Language (UML).
🞘 Model data yang dirancang berikutnya akan diubah ke bentuk tabel.
7

Step 2a: Conceptual data modeling


🞘Conceptual data modeling : pemodelan data konseptual.
🞘 Keperluan yang telah dianalisis akan dimodelkan dengan diagram seperti
ERD atau UML. Pendekatan dengan menggunakan diagram ini diharapkan
dapat menangkap keperluan data dalam bentuk yang sederhana dan
bermakna baik bagi perancang basis data maupun bagi programmer dan
pengguna.
🞘Contoh ERD :
8

Step 2b: View integration


🞘 View integration : penggabungan pandangan.
🞘 Ketika perancangan suatu masalah yang kompleks
dan melibatkan lebih dari 1 orang, maka akan ada
banyak pandangan/view terhadap data dan
relasinya. Sehingga muncul ketidakkonsistenan
akibat perbedaan persepsi.
🞘 Untuk menghindari redundancy dan
ketidakkonsistenan pada model, maka setiap
pandangan ini perlu dirasionalisasikan dan
digabungkan menjadi satu pandangan yang sama.
🞘 View integration melibatkan penghalusan pada
ERD seperti identifikasi sinonim, agregat, dan
generalization.
🞘 Pada contoh berikut, pandangan ERD dari sisi
product dan customer digabungkan berdasarkan
data yang sama untuk customer dan order.
9

Step 2c: Transform to SQL tables


🞘 Transformation of the conceptual
data model to SQL tables: perubahan
dari model konseptual ke bentul tabel SQL.
🞘 Berdasarkan pemodelan data yang telah
dibuat dalam bentuk diagram, berikutnya
akan dipetakan (mapping) ke dalam bentuk
tabel relasional sesuai dengan aturan-
aturan tertentu.
10

Step 2d: Normalize


🞘Normalization of tables : penormalan tabel.
🞘Penormalan melibatkan proses untuk menentukan Functional Dependency (FD)
dengan mempertimbangkan setiap atribut dan kunci (key) pada tabel.
🞘 Proses penormalan terdiri dari teknik-teknik tertentu yang berusaha untuk
menghilangkan redundancy. Selama proses tersebut bisa saja men-split tabel
yang ada.
11

Step 3: Physical design


🞘Physical design : perancangan fisikal.
🞘 Melibatkan langkah-langkah seperti pemilihan index (access
method), partitioning, dan data clustering.
🞘 Tujuan langkah ini untuk mengoptimisasi performa supaya lebih cepat
dan efisien.
Step 4: Database implementation, 12

monitoring, and modification

🞘Saat perancangan telah selesai, basis data akan dibuat dengan


menggunakan Data Definition Language (DDL) dari DBMS.
🞘 Kemudian Data Manipulation Language (DML) akan digunakan untuk
melakukan query dan memodifikasi basis data, juga membuat index dan
constraint (seperti referential integrity).
🞘 Basis data yang sudah diimplementasikan akan dimonitor dan dilakukan
modifikasi bila diperlukan.
Model Data Relasional
🞘Salah satu tahapan pada logical design adalah conceptual data modeling.
🞘 Pemodelan data konseptual yang akan dibahas di sini adalah model
data relasional.
🞘 Suatu model logika basis data yang menggambarkan entitas dan relasi
dalam bentuk tabel-tabel yang disebut relasi.
🞘 Suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri
atas baris dan kolom untuk menggambarkan sebuah file data.
Entity Relationship Diagram
🞘 Didasarkan atas persepsi terhadap dunia nyata yang terdiri dari
sekumpulan objek, disebut entity/entitas dan hubungan antar objek
tersebut, disebut relationship.
🞘 Pemodelan data dengan model data relasional menggunakan diagram E-
R (ERD).
🞘ERD terdiri dari 4 simbol utama:
🞘 Kotak persegi panjang : untuk entitas
🞘Elips : untuk atribut
🞘Diamond : untuk relasi
🞘Garis : untuk penghubung
Entitas/entity
🞘Adalah objek dalam dunia nyata, berupa
🞘 Objek fisik : Rumah, Manusia, Kendaraan, Peralatan, dll
🞘 Objek konsep : Pekerjaan, Perusahaan, Rencana, Kasus, dll
🞘 Adalah suatu objek yang dapat dibedakan atau dapat
diidentifikasikan secara unik dengan objek lainnya, dimana semua
informasi yang berkaitan dengannya dikumpulkan.
🞘 Kumpulan dari entity yang sejenis dinamakan Entity Set.
Atribut
🞘 Berfungsi untuk mendeskripsikan karakteristik entitas atau
relationship.
🞘 Misal entity pegawai memiliki atribut nip, nama, alamat, nohp, dll.
• Entitas
• Atribut
*nomesin
noplat
model
merk
harga
warna
thn_pembuatan
• Entitas • Atribut
*noktp
nama
alamat
tgl_lahir
jeniskelamin
status
nohp
foto
Varian Entitas
1. Entitas Lemah (Weak Entity)
• Berisi entitas yang kemunculannya tergantung pada eksistensinya dalam
sebuah relasi.
• 🞘Contoh:
• 🞘 entitas Orang tua mahasiswa pada relasi Mahasiswa - Orang tua mahasiswa.
• 🞘 Entitas tanggungan pada relasi Pegawai - Tanggungan.

2. Entitas kuat (Strong Entity)


• Entitas yang berdiri sendiri, keberadaannya tidak tergantung
dengan entitas lain.
🞘Contoh:
🞘 Entitas Mahasiswa, Pegawai, Buku, Produk.
Entitas kuat (Strong Entity)

Entitas Lemah (Weak Entity)

NIP Nama nama status

Pegawai miliki Tanggungan


Jenis Atribut
🞘 Atribut Key - atribut yang digunakan untuk membedakan data
secara unik. Misal NIP, NIM, no_peserta.
🞘 Atribut Simple – atribut bernilai tunggal, misal nama, harga, status.
🞘 Atribut Multivalue - atribut memiliki sekelompok nilai yang
banyak, misal kualitas, gelar, hobby.
🞘 Atribut Composite – atribut yang masih dapat diuraikan lagi,
misal alamat, waktu.
🞘 Atribut Derivatif – atribut yang dihasilkan dari turunan atribut
lain, misal umur dari tanggal lahir.
Atribut Key

nama

alamatlengkap Id_pegawai

Tgl_lhr PEGAWAI

idruang kapasitas
nohp
jk RUANG
agama
Gol_drh foto lokasi
Namaruang
Atribut Simple

idbarang

Nama

BARANG

Harga
Kualitas
Atribut Multivalue

agama

Gelar

Tgl_lhr PEGAWAI
Atribut Composite

namatengah
namadepan namabelakang

nama

Tgl_lhr PEGAWAI
Atribut Derivatif

agama

umur

Tgl_lhr PEGAWAI
Simbol-simbol ER diagram
Entity Atribut Multivalue

Relationship

Atribut
Atribut Composite

Weak Entity

Atribut Derivatif
Identifying Relationship
Pada entitas lemah

Atribut key
Derajat Relationship
Unary (Derajat Satu)
🞘 Adalah satu buah relationship menghubungkan satu buah entitas saja.
🞘Contoh:
Pegawai Mengepalai

Keterangan :
Pegawai mengepalai pegawai lainnya, relationship mengepalai hanya
menghubungkan entitas pegawai.
Derajat Relationship (2)
🞘Binary (Derajat Dua)
🞘 Adalah satu buah relationship yang menghubungkan dua buah
entitas.
🞘Contoh: Pegawai Departemen
Bekerja

Keterangan :
Pegawai bekerja pada departemen, sebuah relationship bekerja
mengubungkan entitas Pegawai dan entitas Departemen.
Derajat Relationship (3)
🞘Ternary (Derajat Tiga)
🞘 Adalah satu buah relationship menghubungkan tiga buah entitas.
🞘Contoh:
Pegawai Bekerja Proyek

Kota

Keterangan :
Pegawai pada kota tertentu mempunyai suatu Proyek.
Relationship Bekerja mengubungkan entitas Pegawai, Proyek dan Kota
Konektivitas / kardinalitas
🞘 Disebut juga relationship cardinality.
🞘 Konektivitas atau kardinalitas dari suatu hubungan menentukan
batasan jumlah maksimum entitas pada setiap hubungan.
🞘 Konektivitas atau kardinalitas menggambarkan berapa jumlah satu
entitas berelasi dengan entitas lainnya
🞘Ada 3:
🞘1 -1 : 1 to 1
🞘1 -N : 1 to many
🞘M-N : many to many
Kardinalitas Relasi
🞘One to One
🞘Hubungan satu ke satu.
🞘1 to 1
🞘Contoh:

NIP Nama ID_dept Nama_dept


1 1
Pegawai mengepalai Departemen
Kardinalitas Relasi (2)
🞘One to Many
🞘Hubungan satu ke banyak.
🞘1 to N
🞘Contoh:

ID_dept Nama_dept NIP Nama


1 N
Departemen memiliki Pegawai
Kardinalitas Relasi (3)
🞘Many to Many
🞘Hubungan banyak ke banyak.
🞘M to N
🞘Contoh:

NIP Nama ID_proyek Nama_proyek


M N
Pegawai menyelesaikan Proyek
Batasan Partisipasi
🞘 Batasan partisipasi menjelaskan keberadaan suatu entitas tergantung pada
entitas lain melalui suatu relasi apakah wajib (mandatory) ataupun pilihan
(optional).
🞘Ada 2 tipe batasan partisipasi yakni :
🞘Total Participation (partisipasi total) atau mandatory
🞘 Partial Participation (partisipasi sebagian) atau optional
Partisipasi Total / mandatory
🞘 Suatu entitas disebut dengan berpartisipasi total, jika keberadaan semua
anggota pada entitas tersebut akan berelasi dengan entitas lain.
🞘 Contoh entitas Dosen keberadaannya tergantung pada keberadaan entitas
Matakuliah dan sebaliknya artinya, jika ada seorang dosen maka harus ada
matakuliah yang diajarkan, begitu pula sebaliknya adanya entitas matakuliah
harus ada dosen yang mengajar matakuliah tersebut.
Partisipasi Sebagian / optional
🞘 Suatu entitas dikatakan berpartisipasi sebagian jika tidak semua
anggota pada entitas tersebut akan berelasi dengan entitas lain.
🞘 Contoh Tidak semua dosen menjadi koordinator sesama dosen.
38
Contoh Diagram ER
1 n
Fakultas Daftar Mahasiswa
1 n

miliki ambil

n m
Dosen ajar Mata Kuliah
1 n
Tahap Pembuatan ERD Awal
🞘 Mengidentifikasikan dan menetapkan seluruh himpunan entitas
yang akan terlibat.
🞘 Menentukan atribut-atribut key dari masing-masing himpunan entitas.
🞘 Mengidentifikasikan dan menetapkan seluruh himpunan relasi
diantara himpunan entitas yang ada beserta foreign key-nya.
🞘 Menentukan derajat dan kardinalitas rasio relasi untuk
setiap himpunan relasi
🞘 Melengkapi himpunan relasi dengan atribut-atribut yang bukan
kunci
(non-key).
Konvensi Penamaan
🞘 Pilih nama (untuk entitas, atribut, relasi) yang menggambarkan
maknanya.
🞘Gunakan nama tunggal untuk entitas.
🞘Gunakan huruf kapital untuk entitas dan relasi.
🞘Gunakan huruf kapital di awal kata untuk atribut.
🞘Nama entitas cenderung menggunakan kata benda.
🞘Nama relasi cenderung menggunakan kata kerja.

Anda mungkin juga menyukai