MODUL 3
PERANCANGAN BASIS DATA
MENGGUNAKAN E-R
DIAGRAM MANUAL
A. Tujuan
1. Mahasiswa mampu merancang basis data
melalui tahap-tahap perancangan.
2. Mahasiswa mampu mewujudkan hasil
perancangan basis data ke dalam diagram E-R secara manual.
B. Landasan 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, peristiwa, tanaman, dan
lain-lain. Entity mempunyai attribute, contoh : seseorang mempunyai nama
dan alamat. Kumpulan entity adalah suatu kumpulan entity dengan tipe yang sama
yang berbagi properti yang sama pula. Contoh : kumpulan orang, perusahaan,
tanaman, tempat hiburan, dan lain-lain.
· Attributes
Entity ditampilkan oleh sekumpulan attribute, yang mana properti
deskriptifnya dikuasai oleh seluruh anggota dalam kumpulan entity.
Tipe attribute:
1. Simple (sederhana)
dan composite (gabungan) attributes.
2. Single-valued (satu-fungsi)
dan multi-valued (multi-fungsi) attributes. Contoh : attribute
multi-fungsi : nomor telephone.
3. Derived (asal) attributes
: dapat diperhitungkan dari attribute lain.
Contoh : umur, tanggal kelahiran.
· Relationship Sets
Relationship adalah kesesuaian antar
beberapa entity. Relationship set adalah hubungan matematika
antara entity n>2, tiap bagiannya diambil dari satuan entity {(e1, e2, … en)
| e1 € E1, e2 € E2, …, en € En} dimana (e1, e2, …, en)
adalah relationship.
Attribute dapat merupakan property dari relationship set.
· Tingkatan
Relationship Set
Mengacu pada jumlah entity sets yang terlibat
dalam relationship set. Relationship sets yang melibatkan
dua entity sets adalah binary (atau tingkat dua).
Umumnya, hampir semua relationship sets dalam system database
adalah binary.
Relationship sets mungkin melibatkan lebih dari dua entity sets.
Contoh : misal seorang pegawai bank bekerja (bertanggung jawab) dalam
beberapa cabang, dengan tugas yang berlainan dalam setiap cabang yang berlainan
pula. Maka di sini terdapat relationship set ternary antara
entity sets pegawai (employee), tugas (job) dan cabang (branch).
Relationships antara lebih dari dua entity sets sangat
jarang.
· Mapping
Cardinalities (Cardinalitas Pemetaan)
Mengungkap jumlah entitas ke entitas yang lain bisa dihubungkan
melalui relationship set. Cardinalitas pemetaan paling banyak
digunakan dalam menggambarkan relationship set biner.
Untuk relationship set biner cardinalitas pemetaan harus merupakan
salah satu 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 (table-tabel) dan
relationships (hubungan-hubungan) diantara entities tersebut.
· Aturan untuk Model
Database
1. Tiap baris harus berdiri sendiri
(independent): tidak tergantung baris-baris yang lain, dan urutan baris tidak
mempengaruhi model database.
2. Tiap baris harus unik: tidak boleh
ada 2 atau lebih baris yang sama.
3. Kolom harus berdiri sendiri
(independent): tidak tergantung kolom-kolom yang lain, dan urutan kolom tidak mempengaruhi
model database.
4. Nilai tiap kolom harus berupa satu
kesatuan: tidak berupa sebuah daftar.
C. Alat dan Bahan
1. Komputer dengan sistem operasi
Windows Xp/Vista/7/8
2. Modul praktikum sistem Berkas dan
Basis Data
D. Langkah-langkah Praktikum
Rancanglah sebuah database untuk menyelesaikan masalah berikut:
Suatu perusahaan software diminta membuatkan basis data yang akan menangani
data-data perbankan. Data-data yang 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 (join 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. Menentukan 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) diantara 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, dinasabah_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 : cabang_bank
o Tabel kedua : rekening
o Relationship : One-to-many (1 : n)
o Attribute penghubung : kode_cabang (FK
kode_cabang di rekening)
· 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 ER Diagram manual:
E. Tugas
Soal
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!
Jawab :
1. Langkah-langkah perancangan database
data-data kuliah:
· Menentukan entities
(object-object dasar) yang perlu ada di database.
o mahasiswa
o dosen
o mata_kuliah
o ruang_kelas
2. Menentukan attributes (sifat-sifat)
masing-masing entity sesuai kebutuhan database.
· mahasiswa :
o id_mahasiswa
o nama_mahasiswa
o angkatan_mahasiswa
· dosen :
o id_dosen
o nama_dosen
o MK_dosen
· Mata_kuliah :
o kode_mata_kuliah
o nama_mata_kuliah
o waktu_mata_kuliah (jadwal)
· ruang_kelas :
o kode_ruang_kelas
o kapasitas_ruang_kelas
o fasilitas_ruang_kelas
3. Menentukan relationships
(hubungan-hubungan) diantara entities tersebut
|
mahasiswa
|
dosen
|
mata_kuliah
|
ruang_kelas
|
|
|
mahasiswa
|
-
|
1 : n
|
1 : n
|
-
|
|
dosen
|
-
|
1 : n
|
-
|
|
|
mata_kuliah
|
-
|
m : 1
|
||
|
ruang_kelas
|
-
|
4. Menggambar ER Diagram manual:
Soal
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.
ER – Diagram APOTEK
penyelesaian
Langkah-langkah pembuatan E – R Diagram :
1) Identifikasi entitas dan atribut key untuk masing-masing entitas
Entitas beserta atribut key adalah sebagai berikut:
1. Karyawan: ID karyawan, nama, alamat, kota, status, dan no tlp.
2. Obat: ID obat, nama, jenis, harga, stock, dan ID supplier.
3. Supplier: ID supplier, nama, alamat, kota, no tlp.
4. Faktur Penjualan: No, tanggal, ID pelanggan, ID karyawan, ID obat, jumlah, total, pajak, total bayar
5. Faktur Supply: No, tanggal, ID karyawan, ID supplier, ID obat, jumlah obat, total, pajak, total bayar.
6. Pelanggan: ID pelanggan, nama, alamat, jenis kelamin, pekerjaan.
2) Identifikasi seluruh relasi
1. Karyawan dengan obat relasinya menjual.
2. Supplier dan obat relasinya supply.
3. Pelanggan dan obat relasinya membeli.
4. Karyawan dengan faktur penjualan relasinya membuat.
5. Supier dengan Faktur suply relasinya membuat
3) Identifikasi atribut non key (bukan kunci) pada entitas dan relasi
Primary Key pada setiap entitas sebagai berikut:
1. Karyawan: ID karyawan
2. Obat: ID obat
3. Supplier: ID supplier
4. Faktur Penjualan: No penjualan
5. Faktur Supply: No supply
6. Pelanggan: ID pelanggan
Non Primary Key pada setiap entitas sebagai berikut:
1. Karyawan: nama, alamat, kota, status, dan no tlp.
2. Obat: nama, jenis, harga, stock, dan ID supplier.
3. Supplier: nama, alamat, kota, no tlp.
4. Faktur Penjualan: tanggal, ID pelanggan, ID karyawan, ID obat, jumlah, total, pajak, total bayar
5. Faktur Supply: tanggal, ID karyawan, ID supplier, ID obat, jumlah obat, total, pajak, total bayar.
6. Pelanggan: nama, alamat, jenis kelamin, pekerjaan.
5) Identifikasi bilangan kardinalitas
Bilangan kardinalitas pada relasi dua entitas sebagai berikut:
1. Karyawan dan obat: One to Many
2. Karyawan dan faktur penjualan: One to One
3. Suplier dan faktur supply: One to One
4. Obat dan pelanggan: Many to Many
5. Obat dan supplier: Many to Many
1) Identifikasi entitas dan atribut key untuk masing-masing entitas
Entitas beserta atribut key adalah sebagai berikut:
1. Karyawan: ID karyawan, nama, alamat, kota, status, dan no tlp.
2. Obat: ID obat, nama, jenis, harga, stock, dan ID supplier.
3. Supplier: ID supplier, nama, alamat, kota, no tlp.
4. Faktur Penjualan: No, tanggal, ID pelanggan, ID karyawan, ID obat, jumlah, total, pajak, total bayar
5. Faktur Supply: No, tanggal, ID karyawan, ID supplier, ID obat, jumlah obat, total, pajak, total bayar.
6. Pelanggan: ID pelanggan, nama, alamat, jenis kelamin, pekerjaan.
2) Identifikasi seluruh relasi
1. Karyawan dengan obat relasinya menjual.
2. Supplier dan obat relasinya supply.
3. Pelanggan dan obat relasinya membeli.
4. Karyawan dengan faktur penjualan relasinya membuat.
5. Supier dengan Faktur suply relasinya membuat
3) Identifikasi atribut non key (bukan kunci) pada entitas dan relasi
Primary Key pada setiap entitas sebagai berikut:
1. Karyawan: ID karyawan
2. Obat: ID obat
3. Supplier: ID supplier
4. Faktur Penjualan: No penjualan
5. Faktur Supply: No supply
6. Pelanggan: ID pelanggan
Non Primary Key pada setiap entitas sebagai berikut:
1. Karyawan: nama, alamat, kota, status, dan no tlp.
2. Obat: nama, jenis, harga, stock, dan ID supplier.
3. Supplier: nama, alamat, kota, no tlp.
4. Faktur Penjualan: tanggal, ID pelanggan, ID karyawan, ID obat, jumlah, total, pajak, total bayar
5. Faktur Supply: tanggal, ID karyawan, ID supplier, ID obat, jumlah obat, total, pajak, total bayar.
6. Pelanggan: nama, alamat, jenis kelamin, pekerjaan.
5) Identifikasi bilangan kardinalitas
Bilangan kardinalitas pada relasi dua entitas sebagai berikut:
1. Karyawan dan obat: One to Many
2. Karyawan dan faktur penjualan: One to One
3. Suplier dan faktur supply: One to One
4. Obat dan pelanggan: Many to Many
5. Obat dan supplier: Many to Many

Tidak ada komentar:
Posting Komentar