MODUL
3
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 satu attribute 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 dan Bahan
1.
Komputer dengan sistem operasi Windows
7.
2.
Software aplikasi..
3.
Modul Praktikum Sistem Basis Data.
D. Langkah Kerja
Suatu
perusahaan software database diminta membuatkan basis data yang akan menangani
data-data perbankan. Data-data yang akan ditanganinya adalah: data pribadi
mengenai nasabah, data account deposit yang dimiliki oleh nasabah, cabang bank
di mana nasabah membuka 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 dasar)
yang perlu ada di database.
·
nasabah:
menyimpan semua data pribadi semua nasabah.
·
rekening:
menyimpan informasi semua rekening yang telah dibuka.
·
cabang_bank:
menyimpan informasi tentang semua cabang bank.
·
transaksi:
menyimpan informasi tentang semua transaksi yang telah terjadi.
2.
Menemukan attributes (sifat-sifat)
masing-masing entity sesuai kebutuhan
database.
·
nasabah:
o
id_nasabah: nomor id untuk nasabah
(integer)
o
nama_nasabah: nama lengkap nasabah
(varchar(45))
o
alamat_nasabah: alamat lengkap nasabah
(varchar(255))
·
rekening:
o
no_rekening: nomor rekening (integer) PK
o
pin: personal identification number
(varchar(10))
o
saldo: jumlah saldo rekening dalam Rp
(integer)
·
cabang_bank:
o
kode_cabang: kode untuk cabang bank
(varchar(10))
o
nama_cabang: nama lengkap cabang bank
(varchar(20))
o
alamat_cabang: alamat lengkap cabang
bank (varchar(255))
·
transaksi:
o
no_transaksi: nomor transaksi (integer)
PK
o
jenis_transaksi: kredit atau debit
(varchar(10))
o
tanggal: tanggal terjadinya transaksi
(date)
o
jumlah: besarnya transaksi dalam Rp (integer)
3.
Menentukan relationships
(hubungan-hubungan) di antara entities tersebut.
|
nasabah
|
rekening
|
cabang_bank
|
transaksi
|
nasabah
|
-
|
m:n
|
-
|
1:n
|
rekening
|
|
-
|
n:1
|
1:n
|
cabang_bank
|
|
|
-
|
-
|
transaksi
|
|
|
|
-
|
Hubungan
·
nasabah
memiliki rekening:
o
Tabel utama: nasabah, rekening
o
Tabel kedua: nasabah_has_rekening
o
Relationship: many to many (m:n)
o
Attribute penghubung: id_nasabah, no_rekening (FK id_nasabah, no_rekening di nasabah_has_rekening)
·
nasabah
melakukan
transaksi:
o
Tabel utama: nasabah
o
Tabel kedua: transaksi
o
Relationship: one to many (1:n)
o
Attribute penghubung: id_nasabah (FK id_nasabah di transaksi)
·
cabang_bank
menangani
rekening:
o
Tabel utama: rekening
o
Tabel kedua: transaksi
o
Relationship: one to many (1:n)
o
Attribute penghubung: no_rekening (FK no_rekening di transaksi)
·
rekening
terlibat
dalam transaksi:
o
Tabel utama: rekening
o
Tabel kedua: transaksi
o
Relationship: one to many (1:n)
o
Attribute penghubung: no_rekening (FK no_rekening di transaksi)
4.
Menggambar E-R diagram manual:
E. Analisa
Dari
percobaan di atas, dapat diperoleh berbagai manfaat dari pembuatan E-R Diagram
(ERD). Dengan ERD, dapat lebih memudahkan kita untuk melihat hubungan antar
entitas serta memodelkan struktur data dan hubungan antar data.
F. Tugas
1.
Buatlah rancangan sebuah database untuk
menangani data-data kuliah. Data-data yang akan ditanganinya adalah: data
pribadi mengenai mahasiswa, data pribadi mengenai dosen, data mata kuliah 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 sampai tahap 4!
Langkah-langkah
perancangan:
1)
Menentukan entitas:
·
mahasiswa:
menyimpan semua data pribadi semua mahasiswa.
·
dosen:
menyimpan semua data pribadi semau dosen.
·
mata_kuliah:
menyimpan informasi tentang semua mata kuliah yang ada.
·
ruang_kelas:
menyimpan informasi tentang semua ruang kelas yang digunakan.
2)
Menentukan attributes:
· mahasiswa:
o
nama_mahasiswa: nama lengkap mahasiswa
(varchar(50))
o
NIM: nomor induk mahasiswa (char(10))
o
alamat: alamat tempat tinggal mahasiswa (varchar(255))
· dosen:
o
nama_dosen: nama lengkap dosen
(varchar(50))
o
NIK: nomor induk kepegawaian dosen
(varchar(20))
· mata_kuliah:
o
nama_mk: nama mata kuliah (varchar(40))
o
kode_mk: kode mata kuliah (varchar(15))
o
jumlah_sks: jumlah sks mata kuliah
(integer)
· ruang_kelas:
o
id_kelas: identitas kelas seperti
gedung, lantai dan nomor ruang (char(5))
o
kapasitas: jumlah kursi atau kapasitas
maksimal yang dapat ditampung (integer)
3)
Menetukan relationship antar entitas:
|
mahasiswa
|
dosen
|
mata_kuliah
|
ruang_kelas
|
mahasiswa
|
-
|
n:1
|
m:n
|
-
|
dosen
|
|
-
|
n:1
|
-
|
mata_kuliah
|
|
|
-
|
1:1
|
ruang_kelas
|
|
|
|
-
|
Hubungan:
·
mahasiswa
dibimbing
oleh dosen:
o
Tabel utama: dosen
o
Tabel kedua: mahasiswa
o
Relationship: many to one (n:1)
o
Attribute penghubung: NIK
·
mahasiswa
mengambil
mata_kuliah:
o
Tabel utama: mahasiswa, mata_kuliah
o
Tabel kedua: mhs_ambil_mk
o
Relationship: many to many (m:n)
o
Attribute penghubung: NIM, kode_mk
·
dosen
mengampu
mata_kuliah:
o
Tabel utama: mata_kuliah
o
Tabel kedua: dosen
o
Relationship: many to one (n:1)
o
Attribute penghubung: kode_mk
·
mata_kuliah
menempati
ruang_kelas:
o
Tabel utama: ruang_kelas
o
Tabel kedua: mata_kuliah
o
Relationship: 1:1
o
Attribute pendukung: id_kelas
4)
Menggambar ER Diagram:
2.
Ambil contoh sembarang database (harus
berbeda untuk setiap mahasiswa). Buatlah rancangan Diagram manual database
tersebut dari tahap 1 sampai tahap 4, dengan ketentuan database minimal
mengandung 4 buah entitas.
perpustakaan
1.
Menetukan entitas:
·
anggota:
menyimpan data pribadi
·
buku:
menyimpan semua data buku
·
rak_buku:
menyimpan informasi rak buku.
2.
membercard:
menyimpan informasi mengenai membercard
Menentukan
atribut:
·
anggota:
o
nama: nama lengkap (varchar(50))
o
id_anggota: nomor id (integer)
·
buku:
o
judul_buku: judul buku (varchar(50))
o
id_buku: nomor id (integer)
·
rak_buku:
o
id_rak: kode rak buku (integer)
·
membercard:
o
nama : nama member (varchar(15)) PK
o
barcode : kode membercard (integer)
3.
Menentukan relasi antar entitas:
|
anggota
|
buku
|
rak_buku
|
membercard
|
anggota
|
-
|
1:n
|
-
|
1:1
|
buku
|
n:1
|
-
|
n:1
|
-
|
Rak_buku
|
-
|
1:n
|
-
|
-
|
membercard
|
1:1
|
-
|
-
|
-
|
Hubungan:
o
anggota
meminjam buku:
o
Tabel utama: anggota
o
Tabel kedua: buku
o
Relationship: one to many (1:n)
o
Attribute penghubung: id_anggota
o
anggota
memiliki
membercard:
o
Tabel utama: anggota
o
Tabel kedua: membercard
o
Relationship: one to one (m:n)
o
Attribute penghubung: id_anggota
o
buku
dipinjam
anggota:
o
Tabel utama: buku
o
Tabel kedua: anggota
o
Relationship: many to one (n:1)
o
Attribute penghubung: id_buku
o
buku
didalam
rak_buku:
o
Tabel utama: buku
o
Tabel kedua: rak_buku
o
Relationship: many to one (n:1)
o
Attribute penghubung: id_buku
o
rak_buku
didalam
buku:
o
Tabel utama: rak_buku
o
Tabel kedua: buku
o
Relationship: one to many (1:n)
o
Attribute penghubung: id_rak
o
membercard
dipunyai
anggota:
o
Tabel utama: membercard
o
Tabel kedua: anggota
o
Relationship: one to one (1:1)
o
Attribute penghubung: id_buku
4.
Menggambar ER Diagram manual:
terimakasih
BalasHapus