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 EDraw Mind Map 1.
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) PK
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)) PK
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. ERD juga bisa
digunakan untuk mendokumentasikan data yang ada dengan mengidentifikasi tiap
entitas dan hubungannya.
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)) PK
o
alamat:
alamat tempat tinggal mahasiswa (varchar(255))
o
tempat_lahir:
kota tempat lahir mahasiswa (varchar(20))
o
tgl_lahir:
tanggal, bulan dan tahun lahir mahasiswa (varchar(20))
·
dosen:
o
nama_dosen:
nama lengkap dosen (varchar(50))
o
NIK:
nomor induk kepegawaian dosen (varchar(20)) PK
o
alamat:
alamat tempat tinggal dosen (varchar(255))
o
no_HP:
nomor handphone dosen (integer)
·
mata_kuliah:
o
nama_mk:
nama mata kuliah (varchar(40))
o
kode_mk:
kode mata kuliah (varchar(15)) PK
o
jumlah_sks:
jumlah sks mata kuliah (integer)
o
kelas:
kelas dan jam pada mata kuliah (varchar(2))
o
jadwal:
jadwal kuliah mata kuliah meliputi hari dan jam (varchar(20))
·
ruang_kelas:
o
id_kelas:
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
|
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 (FK NIK di dosen)
·
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 (FK NIM, kode_mk di mhs_ambil_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 (FK kode_mk di mata_kuliah)
·
mata_kuliah menempati ruang_kelas:
o
Tabel
utama: ruang_kelas
o
Tabel
kedua: mata_kuliah
o
Relationship:
1:1
o
Attribute
pendukung: id_kelas (FK id_kelas di ruang_kelas)
4)
Menggambar
ER Diagram:
2.
Ambil
contoh sembarang database (harus berbeda untuk setiap mahasiswa). Buatlah
rancangan ER Diagram manual database tersebut dari tahap 1 sampai tahap 4,
dengan ketentuan database minimal mengandung 4 buah entitas.
Saya
akan memnuat database tentang toko swalayan
Langkah-langkah
perancangan database toko swalayan:
1.
Menetukan
entitas:
·
member: menyimpan semua data tentang member.
·
barang: menyimpan semua data tentang barang
yang ada di toko.
·
supplier menyimpan informasi mengenai suplier
swalayan.
·
karyawan: menyimpan informasi mengenai karyawan
yang bekerja di swalayan.
2.
Menentukan
atribut:
·
member:
o
nama_member:
nama lengkap member (varchar(50))
o
id_member:
nomor id member (integer) PK
o
tgl_lahir:
tanggal lahir member (date)
·
barang :
o
Jmlh_barang:
jumlah barang tersedia (interger)
o
id_barang:
nomor id barang (integer) PK
o
harga:
harga barang (interger)
·
supplier:
o
id_suplier:
id suplier (integer) PK
o
tgl_lahir:
tanggal lahir dari supplier (date)
o
nama:
nama lengkap dari supplier (varchar(50))
·
karyawan:
o
id_karyawan:
id karyawan (interger) PK
o
password:
password karyawan (integer)
o
username
: username karyawan (varchar(50))
3.
Menentukan
relasi antar entitas:
|
member
|
barang
|
supplier
|
karyawan
|
member
|
-
|
1:m
|
-
|
-
|
barang
|
|
-
|
m:1
|
m:1
|
supplier
|
|
|
-
|
-
|
karyawan
|
|
|
|
-
|
Hubungan:
o
barang dibeli member:
o
Tabel
utama: barang
o
Tabel
kedua: member
o
Relationship:
one to many (1:m)
o
Attribute
penghubung: jmlah_brg (FK jmlh brg di barang)
o
karyawan menjual barang:
o
Tabel
utama: karyawan,barang
o
Tabel
kedua: barang
o
Relationship:
one to many (1:m)
o
Attribute
penghubung: tgl_penjualan, kode_barang (FK
id_barang, harga di barang)
o
Supplier menjual barang :
o
Tabel
utama: supplier
o
Tabel
kedua: barang
o
Relationship:
one to many (1:m)
o
Attribute
penghubung: jmlh_barang, tgl_pembelian (FK
jmlh_barang, tgl_pembelian di barang)
4.
Menggambar
ER Diagram manual:
Tidak ada komentar:
Posting Komentar