Anda di halaman 1dari 46

1

Model data
relasional
INF 114 - Basis Data
oleh
Juwita, M.Kom
Viska Mutiawani, M.IT
Edited by
Sri Azizah Nazhifah, M.Sc

Jurusan Informatika USK


Brainstorming
 Masih ingat model data relasional?
 Apakah itu diagram?
 Pernah mendengar Entity Relationship Diagram?

Jurusan Informatika Unsyiah


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.

Jurusan Informatika USK


4

Jurusan Informatika USK


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:

Jurusan Informatika USK


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.

Jurusan Informatika USK


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 :

Jurusan Informatika USK


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.

Jurusan Informatika USK


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.

Jurusan Informatika USK


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.

Jurusan Informatika USK


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.

Jurusan Informatika USK


12

Step 4: Database implementation,


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.

Jurusan Informatika USK


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.

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


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.

Jurusan Informatika Unsyiah


Atribut
 Berfungsi untuk mendeskripsikan karakteristik entitas atau relationship.
 Misal entity pegawai memiliki atribut nip, nama, alamat, nohp, dll.

Jurusan Informatika Unsyiah


• Entitas
• Atribut
*nomesin
noplat
model
merk
harga
warna
thn_pembuatan

Jurusan Informatika Unsyiah


• Entitas • Atribut
*noktp
nama
alamat
tgl_lahir
jeniskelamin
status
nohp
foto

Jurusan Informatika Unsyiah


Varian Entitas
 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.

 Entitas kuat (Strong Entity)


Entitas yang berdiri sendiri, keberadaannya tidak tergantung
dengan entitas lain.
 Contoh:
 Entitas Mahasiswa, Pegawai, Buku, Produk.

Jurusan Informatika Unsyiah


Entitas kuat (Strong Entity)

Entitas Lemah (Weak Entity)

NIP Nama nama status

Pegawai miliki Tanggungan

Jurusan Informatika Unsyiah


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.

Jurusan Informatika Unsyiah


Atribut Key

nama

alamatlengkap Id_pegawai

Tgl_lhr PEGAWAI

idruang kapasitas
nohp
jk RUANG
agama
Gol_drh foto lokasi
Namaruang

Jurusan Informatika Unsyiah


Atribut Simple

idbarang

Nama

BARANG

Harga
Kualitas

Jurusan Informatika Unsyiah


Atribut Multivalue

agama

Gelar

Tgl_lhr PEGAWAI

Jurusan Informatika Unsyiah


Atribut Composite

namatengah
namadepan namabelakang

nama

Tgl_lhr PEGAWAI

Jurusan Informatika Unsyiah


Atribut Derivatif

agama

umur

Tgl_lhr PEGAWAI

Jurusan Informatika Unsyiah


Simbol-simbol ER diagram
Entity Atribut Multivalue

Relationship

Atribut
Atribut Composite

Weak Entity

Atribut Derivatif
Identifying Relationship
Pada entitas lemah

Atribut key

Jurusan Informatika Unsyiah


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.

Jurusan Informatika Unsyiah


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.

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


Kardinalitas Relasi
 One to One
 Hubungan satu ke satu.
 1 to 1
 Contoh:

NIP Nama ID_dept Nama_dept


1 1
Pegawai mengepalai Departemen

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


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

Jurusan Informatika Unsyiah


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.
Nm_dos Mt_kuliah
Kd_dos Alamat Kd_mk sks

M N
DOSEN AJAR MATAKULIAH

Kelas SEM

Jurusan Informatika Unsyiah


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.

Nm_dos Alamat

Kd_dos Kd_pem

M
DOSEN Koordinir

Jurusan Informatika Unsyiah


38

Jurusan Informatika USK


Contoh Diagram ER
1 n
Fakultas Daftar Mahasiswa
1 n

miliki ambil

n m
Dosen ajar Mata Kuliah
1 n

Jurusan Informatika Unsyiah


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).

Jurusan Informatika Unsyiah


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.

Jurusan Informatika Unsyiah


Latihan

Jurusan Informatika Unsyiah


Latihan 1
 Mahasiswa meminjam buku.
 Tentukan entitas dari deskripsi ini.

Jurusan Informatika Unsyiah


Latihan 2
 Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa
dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku
yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul,
pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
 Tentukan entitas, atribut dan relasi dari deskripsi di atas, dengan menggambar ERDnya.

Jurusan Informatika Unsyiah


Latihan 3
 Seperti deskripsi soal nomor 2, namun ada beberapa tambahan penjelasan berikut ini. Seorang
mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua
mahasiswa sangat perlu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Ada
buku yang sangat laris dipinjam mahasiswa, namun ada pula buku yang tidak pernah dipinjam sama
sekali. Satu buku dapat memiliki beberapa copy, namun untuk copy yang sama memiliki satu nomor buku.
Setiap peminjaman akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan
buku tepat satu minggu setelah peminjaman.
 Gambarkan ERDnya.
Latihan 4
 Seperti soal nomor 3, namun ada beberapa tambahan penjelasan berikut
ini. Mahasiswa kadang-kadang terlambat mengembalikan buku, sehingga
dikenakan denda. Besarnya denda adalah Rp 500,- per hari
keterlambatan. Mahasiswa dianggap terlambat jika mengembalikan buku
lebih lama dari 1 minggu.
 Gambarkan ERDnya.

Anda mungkin juga menyukai