PERANCANGAN
BASIS DATA
MENGGUNAKAN
E-R DIAGRAM MANUAL
A.
Tujuan
1. Mahasiswa
mampu merancang basis data melalui tahap-tahap perancangannya.
2. Mahasiswa
mampu mewujudkan hasil perancangan basis data ke dalam diagram E-R secara
manual.
B.
Dasar
Teori
Database dapat dimodelkan sebagai:
1. Kumpulan
dari entity (entitas)
2. Hubungan
antar entity (entitas)
·
Entity Sets
Entity
adalah
suatu obyek yang dapat dikenali dari obyek yang lain. Contoh: seseorang yang
khusus, perusahaan, tanaman, dan lain-lain.
·
Attributes
Entity
ditampilkan oleh sekumpulan attribute,
yang mana properti deskriptipnya dikuasai oleh seluruh anggota dalam kumpulan entity.
Tipe attribute:
1. Sederhana
dan gabungan attribute
2. Satu
fungsi dan multi fungsi
3. Asal
attribute
·
Relationship Sets
Relationship
adalah kesesuaian antar beberapa entity.
Relationship set adalah hubungan
matematika antara entity n > 2,
tiap bagiannya diambil dari satuan entity.
·
Tingkatan
Relationship Sets
Mengacu pada jumlah entity set yang terlibat dalam relationship set.Relationship sets yang
melibatkan dua entity sets adalah binary (atau tingkat dua). Umumnya
hampir semua relationship set dalam
sistem database adalah binary.
·
Mapping Cardinalities (Cardinalitas Pemetaan)
Menangkap jumlah entitas ke entitas
yang lain yang bisa dihubungkan melalui relationship
set. Cardinalitas pemetaan paling banyak digunakan dalam menggambarkan relationship sets biner. Untuk relationship set biner cardinalitas
pemetaan harus merupakan salah satudari tipe berikut:
1. One to one (satu
ke satu)
2. One to many (satu
ke banyak)
3. Many to one (banyak
ke satu)
4. Many to many (banyak
ke banyak)
·
ERD:
Entity Relationship Diagram
Mencerminkan model database:
hubungan antara entities (tabel-tabel) dan relationships (hubungan-hubungan) di
antara entities tersebut.
1.
Rectangles melambangkan
set-set entitas.
2.
Diamonds
3.
Lines menghubungkan
atribut dengan set-set entitas serta set-set entitas dengan set-set hubungan (relationship).
4.
Ellipses
mewakili attributes.
·
Aturan
untuk Model Database
1. Tiap
baris harus berdiri sendiri.
2. Tiap
baris harus unik.
3. Kolom
harus berdiri sendiri.
4. Nilai
tiap kolom harus berupa satu kesatuan.
·
Tahap
Pembuatan Database
1.
Tahap
1: Tentukan Entities
Sifat-sifat entity:
a. Signifikan
b. Umum
c. Fundamental
d. Unitary
2.
Tahap
2: Tentukan Atribut
Tentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database:
a. Tentukan
sifat-sifat (fields atau kolom) yang
dimiliki tiap entity, serta tipe
datanya.
b. Attribute yang
sesuai harus:
1. Signifikan
2. Bersifat
langsung
c. Tentukan
attribute yang menjadi Primary Key untuk entity yang bersangkutan.
d. Jika
satuattribute tidak cukup, gabungan
beberapa attribute bisa menjadi Composite Primary Key.
e. Jika
Composite Primary Key banyak
sebaiknya menambahkan attribute buatan
yang menjadi Primary Key yang
tunggal.
3.
Tahap
3: Tentukan Relationships
Menentukan hubungan-hubungan antar
entitas:
a. Tentukan
jenis hubungan di antara entity yang
satu dengan entitas yang lain.
b. Macam
hubungan ada 3:
1. One to one (1:1)
2. One to many
(1:n)
3. Many to many
(m:n)
c. Dalam
membentuk hubungan di antara 2 entitas, tentukan attribute nama yang digunakan untuk menghubungkan kedua entitas
tersebut.
d. Tentukan
entity mana yang menjadi tabel utama
dan mana yang menjadi tabel kedua.
e. Attribute (dari
tabel utama) yang menghubungkannya dengan tabel kedua menjadi Foreign Key di tabel kedua.
4.
Tahap
4: Pembuatan ERD
a. Buat
Entity Relationship Diagram (ERD)
berdasarkan hasil dari Tahap 1-3.
b. Ada
berbagai macam notasi untuk pembuatan ERD.
c. Menggunakan
software khusus untuk menggambar ERD.
5.
Tahap
5: Proses normalisasi database
6.
Tahap
6: Implementasi Database
C.
Alat
Bahan
1. Komputer
dengan sistem operasi Windows XP
2. Modul
Praktikum Sistem Berkas dan Basis Data
D.
Langkah
Kerja
Rancanglah sebuah database untuk
menyelesaikan masalah berikut:
Suatu
perusahaan software diminta membuktikan basis data yang akan menangani
data-data perbankan. Data-data yang ditanganinnya adalah: data pribadi mengenai
nasabah, data accoun membauka depositnya, dan data nasabah, cabang bank di mana
nasabah mebuka depositnya, dan data transaksi yang dilakukan nasabah. Nasabah
boleh mempunyai lebih dari satu account deposit, dan satu account deposit boleh
dimiliki oleh lebih dari satu nasabah sekaligus (joint account).
Langkah-langkah
perancangan database perbankan:
1. Menentukan
entities (object-object) yang perlu ada di database.
·
Nasabah:
menyimpan
semua data pribadi semua nasabah.
·
Rekening:
menyimpan informatika semua rekening yang telah dibuka.
·
Cabang_bank:
menyimpan informasi semua cabang bank
·
Transaksi:
menyimpan informasi tentang semua transaksi yang telah terjadi
2. Menentukan
antribut masing-masing entity sesuai kebutuhan database
·
Nasabah:
o
Id_nasabah
o
Nama_nasabah
o
Alamat_nasabah
·
Rekening:
o
No_rekening
o
Pin
o
saldo
·
Cabang_bank:
o
Kode_cabang
o
Nama_cabang
o
Alamat_cabang
·
Transaksi:
o
No_transaksi
o
Jenis_transaksi
o
Tanggal
o
Jumlah
3.Menggambar ER Diagram manual:
E.
Analisa
Dengan
menggunakan ERD, dapat mempermudah kita
untuk melihat hubungan antar entitas serta memodelkan struktur data dan
hubungan antar data. ERD juga bisa diigunakan untuk
mendokumentasikan data yang ada dengan cara mengidentifikasikan tiap entitas
dan hubungannya.
F.
Tugas
1. Buat
rancangan sebuah database untuk menangani data-data kuliah. Data-data yang akan
ditanganinya adalah: data pribadi mengenai mahasiswa, data pribadi mengenai
dosen, data matakuliah dan data ruang kelas. Mahasiswa boleh mengambil lebih
dari satu mata kuliah, dan satu mata kuliah boleh diambil oleh lebih dari satu
mahasiswa sekaligus (joint account).
Buatlah
ER Diagram manual untuk kasus tersebut dari tahap 1- tahap 4!
1)
Menentukan
entitas:
·
Mahasiswa: menyimpan semua data pribadi
semua mahasiswa.
·
Dosen: menyimpan semua data pribadi
semau dosen.
·
Matakuliah: menyimpan informasi tentang
semua mata kuliah yang ada.
·
Ruang: menyimpan informasi tentang
semua ruang kelas yang digunakan.
2)
Menentukan
attributes:
·
Mahasiswa:
o
NAMA_MAHASISWA
: nama lengkap mahasiswa (varchar(20))
o
NIM
: nomor induk mahasiswa (char(10)) PK
o
ALAMAT
: alamat lengkap mahasiswa (varchar(30))
·
Dosen:
o
NAMA_DOSEN
: nama lengkap dosen (varchar(20))
o
NIK/NIP
: nomor induk kepegawaian dosen (varchar(20)) PK
o
ALAMAT
: alamat lengkap mahasiswa (varchar(30))
·
Matakuliah:
o
NAMA_MK
: nama mata kuliah (varchar(40))
o
JUMLAH_SKS
: jumlah sks mata kuliah (integer)
o
KODE_MK
: kode mata kuliah (varchar(15)) PK
·
Ruang:
o
NAMA_RUANG:
identitas kelas seperti gedung, lantai dan nomor ruang (char(5)) PK
o
KAPASITAS
: jumlah kursi atau kapasitas maksimal yang dapat ditampung (integer)
3)
Menetukan
relationship antar entitas:
Mahasiswa
|
Dosen
|
Matakuliah
|
Ruang
|
|
Mahasiswa
|
-
|
n:1
|
m:n
|
-
|
Dosen
|
-
|
n:1
|
-
|
|
Matakuliah
|
-
|
1:1
|
||
Ruang
|
-
|
Hubungan:
·
Mahasiswa dibimbing oleh Dosen:
o
Tabel
utama: dosen
o
Tabel
kedua: mahasiswa
o
Relationship:
many to one (n:1)
o
Attribute
penghubung: NIK/NIP (FK NIK/NIP di dosen)
·
Mahasiswa mengambil Matakuliah:
o
Tabel
utama: Mahasiswa, Matakuliah
o
Tabel
kedua: mhs_ambil_mk
o
Relationship:
many to many (m:n)
o
Attribute
penghubung: NIM, KODE_MK (FK NIM, KODE_MK)
·
Dosen mengampu Matakuliah:
o
Tabel
utama: Matakuliah
o
Tabel
kedua: Dosen
o
Relationship:
many to one (n:1)
o
Attribute
penghubung: NIK/NIP(FK Kode_mk di Matakuliah)
·
Matakuliah menempati Ruang:
o
Tabel
utama: Ruang
o
Tabel
kedua: Matakuliah
o
Relationship:
1:1
o
Attribute
pendukung: Nama(FK Nama di Ruang)
4)
Menggambar
ER Diagram:
2. Ambil
contoh sembarang database. Buatlah rancangan ER Diagram manuual database
tersebut dari tahap 1 sampai tahap 4, dengan ketentuan database minimal
mengundang 4 buah entitas.s
1)
Menentukan
entitas:
·
Pasien: menyimpan semua data pribadi
semua pasien.
·
Paramedis: menyimpan semua data pribadi
semau paramedis.
·
Obat: menyimpan informasi tentang
semua obat.
·
Ruang: menyimpan informasi tentang semua
ruang pasien yang digunakan.
2)
Menentukan
attributes:
·
Mahasiswa:
o
Nama_pasien:
nama lengkap pasien (varchar(50))
o
Id_pasien:
identitas pada pasien (char(10)) PK
o
Pekerjaan_pasien:
data tentang pekerjaan pasien (varchar(45))
o
Alamat:
alamat pada pasien (varchar 70))
·
Paramedis:
o
Keahlian:
ketrampilan yang dimiliki para medis (varchar(50))
o
Nama:
nama pada paramedis (varchar(20))
o
NIK:
nomor induk pegawai rumahsakit (varchar(20))PK
·
Obat:
o
Nama_obat:
nama obat (varchar(40))
o
Kode_obat:
kode pada obat (varchar(15)) PK
·
Ruang:
o
Nama:
identitas pada ruang seperti gedung, lantai dan nomor ruang (char(5)) PK
o
Kapasitas:
jumlah kursi atau kapasitas maksimal yang dapat ditampung (integer)
o
Gologan:
golongan yang pada setiap ruang (varchar(5))
3)
Menetukan
relationship antar entitas:
Pasien
|
Paramedis
|
Obat
|
Ruang
|
|
Pasien
|
-
|
n:m
|
m:n
|
n:1
|
Paramedis
|
-
|
-
|
-
|
|
Obat
|
-
|
-
|
||
Ruang
|
-
|
Hubungan:
·
Paramedis mengobati Pasien:
o
Tabel
utama: Paramedis
o
Tabel
kedua: Pasien
o
Relationship:
many to many (n:m)
o
Attribute
penghubung: NIK (FK NIK di Paramedis)
·
PasienmengkonsumsiObat:
o
Tabel
utama: Pasien
o
Tabel
kedua: Obat
o
Relationship:
many to many (m:n)
o
Attribute
penghubung: Id_pasien, Kode_obat (FK
kode_obatdi Obat)
·
Pasien menempati Ruang:
o
Tabel
utama: Ruang
o
Tabel
kedua: Pasien
o
Relationship:
one to many (n:1)
o
Attribute
pendukung: Nama (FK Nama di Ruang)
4)
Menggambar
ER Diagram: