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. Landasan Teori
Database dapat dimodelkan secara :
1. Kumpulan dari entity (entitas)
2. Hubungan antar entity (entitas)
-Entity Sets, suatu obyek yang dapat dikenali dari objek yang lain.
Contoh : seseorang yang khusus,perusahaan, peristiwa, tanaman dan lain – lain. Entity mempunyai atribut, 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.
Example: attribute multi-fungsi : nomor telephone.
3. Derived (asal) attributes : dapat diperhitungkan dari attribute lain.
Example : umur, tanggal kelahiran.
- Relationship Sets,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.
- ingkatan Relationship Sets,Mengacu pada jumlah entity sets yang terlibat dalam relationship set. Relationship sets yang melibatkan dua entity sets adalah binary (atau tingkat dua).Example: 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 (Kardinalitas 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)
2. Tiap baris harus unik
3. Kolom harus berdiri sendiri (independent)
4. Nilai tiap kolom harus berupa satu kesatuan
-Tahap Pembuatan Database
1. Tentukan Entities
2. Tentukan Attributes
3. Tentukan relationships
4. Pembuat ERD
5. Proses normalisasi database
6. Implementasi Database
C. Alat dan Bahan
1. Komputer dengan system operasi Windows
2. Modul Praktikum Sistem Basis Data
D. Langkah Kerja
Rancanglah sebuah database untuk menyelesaikan masalah berikut:
Suatu perusahaan s
wqoftware 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 didatabase.
a. Nasabah : menyimpan semua data pribadi semua nasabah.
b. Rekening : menyimpan informasi semua rekening yang telah dibuka
c. Cabang_bank: menyimpan informasi tentang semua cabang bank
d. Transaksi: menyimpan informasi tentang semua transaksi yang telah terjadi
2. Menentukan attributes (sifat-sifat) mesing-masing entity sesuai kebutuhan database.
a. Nasabah
• id_nasabah : nomor id untuk nasabah (integer) PK
• nama_nasabah : nama lengkap nasabah (varchar(45))
• alamat_nasabah: alamat lengkap nasabah (varchar(255))
b. Rekening
• no_rekening : nomor rekening (integer) PK
• pin : Personal Identification Number (varchar(10))
• saldo : Jumlah saldo rekening dalam Rp (integer)
c. Cabank_bank
• kode_cabang : kode untuk cabang bank (varchar(10)) PK
• nama_cabang : nama lengkap cabang bank (varchar(20))
• alamat_cabang : alamat lengkap cabang bank (varchar(255))
d. Transaksi
• no_transaksi : nomor transaksi (integer) PK
• jenis_transaksi : kredit atau debit (varchar(10))
• tanggal : tanggal terjadinya transaksi (date)
• jumlah : besarnya transaksi dalam Rp (integer)
a. Nasabah
• id_nasabah : nomor id untuk nasabah (integer) PK
• nama_nasabah : nama lengkap nasabah (varchar(45))
• alamat_nasabah: alamat lengkap nasabah (varchar(255))
b. Rekening
• no_rekening : nomor rekening (integer) PK
• pin : Personal Identification Number (varchar(10))
• saldo : Jumlah saldo rekening dalam Rp (integer)
c. Cabank_bank
• kode_cabang : kode untuk cabang bank (varchar(10)) PK
• nama_cabang : nama lengkap cabang bank (varchar(20))
• alamat_cabang : alamat lengkap cabang bank (varchar(255))
d. Transaksi
• no_transaksi : nomor transaksi (integer) PK
• jenis_transaksi : kredit atau debit (varchar(10))
• tanggal : tanggal terjadinya transaksi (date)
• jumlah : besarnya transaksi dalam Rp (integer)
3. Menentukan relationship (hubungan) diantara entities tersebut.
Hubungan
a. nasabah memiliki rekening :
• Tabel utama : nasabah, rekening
• Tabel kedua : nasabah_has_rekening
• Relationship : Many-to-many (m : n)
• Attribute penghubung : id_nasabah, no_rekening (FK id_nasabah, no_rekening, dinasabah_has_rekening)
b. nasabah melakukan transaksi :
• Tabel utama : nasabah
• Tabel kedua : transaksi
• Relationship : One-to-many (1 : n)
• Attribute penghubung : id_nasabah, (FK id_nasabah, di transaksi)
c. cabang_bank menangani rekening :
• Tabel utama : cabang_bank
• Tabel kedua : rekening
• Relationship : One-to-many (1 : n)
• Attribute penghubung : kode_cabang (FK kode_cabang di rekening)
d. rekening terlibat dalam transaksi :
• Tabel utama : rekening
• Tabel kedua : transaksi
• Relationship : One-to-many (1 : n)
• Attribute penghubung : no_rekening (FK no_rekening, di transaksi)
4. Menggambar E-R Diagram Manual :
Nasabah
|
Rekening
|
Cabang_bank
|
Transaksi
|
|
Nasabah
|
-
|
m : n
|
-
|
1 : n
|
Rekening
|
-
|
n : 1
|
1 : n
|
|
Cabang_bank
|
-
|
-
|
||
Transaksi
|
-
|
Hubungan
a. nasabah memiliki rekening :
• Tabel utama : nasabah, rekening
• Tabel kedua : nasabah_has_rekening
• Relationship : Many-to-many (m : n)
• Attribute penghubung : id_nasabah, no_rekening (FK id_nasabah, no_rekening, dinasabah_has_rekening)
b. nasabah melakukan transaksi :
• Tabel utama : nasabah
• Tabel kedua : transaksi
• Relationship : One-to-many (1 : n)
• Attribute penghubung : id_nasabah, (FK id_nasabah, di transaksi)
c. cabang_bank menangani rekening :
• Tabel utama : cabang_bank
• Tabel kedua : rekening
• Relationship : One-to-many (1 : n)
• Attribute penghubung : kode_cabang (FK kode_cabang di rekening)
d. rekening terlibat dalam transaksi :
• Tabel utama : rekening
• Tabel kedua : transaksi
• Relationship : One-to-many (1 : n)
• Attribute penghubung : no_rekening (FK no_rekening, di transaksi)
4. Menggambar E-R Diagram Manual :
E. Analisa
ERD (Entity Relationship Diagram) menyediakan cara untuk mendiskripsikan perancangnan basis data pada peringkat logika. ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data dalam bentuk objek-objek dasar data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur data dan menggambarkannya menggunakan beberapa notasi dan simbol. ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD merupakan model jaringan data yang menekankan pada struktur – struktur dan relationship data. Langkah – langkah yang digunakan dalam perancangan database dengan menggunakan ERD adalah sebagai berikut :
1. Menentukan entities
2. Menentukan attributes (sifat – sifat)
3. Menentukan relationship
4. Menggambar ER Diagram manual
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!
2. Ambil contoh sembarang database. Buatlah rancangan ER Diagram manual database tersebut dari tahap 1-4 dengan ketentuan database minimal mengandung 4 buah entitas.
Jawab:
Nomor 1
a. Menentukan entitas
- Mahasiswa : menyimpan semua data pribadi semua mahasiswa
- Dosen : menyimpan semua data pribadi dosen
- Mata_kuliah : menyimpan informasi tentang semua mata kuliah
- Ruang : menyimpan inforamasi tentang semua ruang kelas.
b. Menentukan attributes
- Mahasiswa
• NIM : Nomor Induk Mahasiawa (char 10)
• Nama : nama lengkap mahasiswa (varchar 40)
• Alamat: berisi domisili mahasiswa (varchar 255)
• Tempat_lahir: tempat lahir mahasiswa (varchar 25)
• Tgl_lahir : tanggal lahir mahasiswa (varchar 20)
- Dosen
• NIK : Nomor Induk Kepegawaian dosen (varchar 50)
• Nama_Dosen : nama lengkap dosen (varchar 30)
• Alamat : berisi domisili dosen (varchar 255)
• No_Hp : nomor telepon dosen (integer)
- Mata_kuliah
• Kode_MK : kode dari mata kuliah (varchar 15)
• Nama_MK : nama mata kuliah (varchar 30)
• SKS : banyaknya sks per mata kuliah (varchar 2)
• Jadwal : jadwal mata kuliah, yaitu hari dan jam (varchar 15)
- Ruang
• kode_ruang_kelas : identitas ruang kelas (varchar 6)
• kapasitas_ruang_kelas : jumlah mahasiswa yang mampu ditampung dalam ruang kelas (integer)
c. Menentukan relationship (hubungan) diantara entities tersebut.
Mahasiswa
|
Dosen
|
Mata_kuliah
|
Ruang
|
|
Mahasiswa
|
-
|
M:n
|
||
Dosen
|
M:1
|
-
|
||
Mata_kuliah
|
-
|
M:1
|
||
Ruang
|
M:1
|
-
|
Hubungan
1. Dosen Mengampu Mahasiswa :
• Tabel utama : Dosen
• Tabel kedua : Mahasiswa
• Relationship : many to one (m:1)
• Attribute : NIK (Nama_mhs NIK di dosen)
1. Dosen Mengampu Mahasiswa :
• Tabel utama : Dosen
• Tabel kedua : Mahasiswa
• Relationship : many to one (m:1)
• Attribute : NIK (Nama_mhs NIK di dosen)
2. Mahasiswa mengambil mata kuliah :
• Tabel utama : mahasiswa
• Tabel kedua : Mata Kuliah
• Relationship : many to many (m;n)
• Attribute : NIM (RPL, Praktikum, Basisdata)
3. Mata kuliah Membutuhkan ruangan :
• Tabel utama : Mata Kuliah
• Tabel kedua : Ruangan
• Relationship : many to one (m:1)
• Attribute : kode_ruang_kelas (kode_ruang_kelas Mata_kuliah kapasitas)
• Tabel utama : mahasiswa
• Tabel kedua : Mata Kuliah
• Relationship : many to many (m;n)
• Attribute : NIM (RPL, Praktikum, Basisdata)
3. Mata kuliah Membutuhkan ruangan :
• Tabel utama : Mata Kuliah
• Tabel kedua : Ruangan
• Relationship : many to one (m:1)
• Attribute : kode_ruang_kelas (kode_ruang_kelas Mata_kuliah kapasitas)
4. Ruang Membutuhkan Dosen :
• Tabel utama : ruang
• Tabe kedua : dosen
• Relationship : many to one (m:1)
• Attribute : NIK (lantai, kapasitas_ruang_kelas, kapasitas)
• Tabel utama : ruang
• Tabe kedua : dosen
• Relationship : many to one (m:1)
• Attribute : NIK (lantai, kapasitas_ruang_kelas, kapasitas)
d. Menggambar E-R Diagram manual :
Nomor 2
a. Menentukan entitas
- Pasien : menyimpan semua data pribadi semua pasien
- Dokter : menyimpan semua data pribadi dokter
- Ruang : menyimpan inforamasi tentang semua ruang rawat inap
b. Menentukan attributes
- Pasien
• Nama_pasien : nama lengkap pasien (varchar 40)
• Alamat_pasien: berisi domisili pasien(varchar 255)
• JenisKelamin: berisi jenis kelamin pasien(varchar 10)
- Dokter
• Nama_Dokter : nama lengkap dokter (varchar 30)
• Jadwal_piket : berisi jadwal piket dokter (date)
• Spesialis_keahlian : berisi spesialis keahlian dokter (varchar 20)
- Ruang Rawat
• kode_ruang : berisi kode ruang rawat (varchar 6)
• kapasitas_ruang: jumlah pasien yang mampu ditampung dalam ruang rawat (integer)
• jenis_ruang : berisi jenis ruang rawat inap (varchar 10)
c. Menentukan relationship (hubungan) diantara entities tersebut.
Pasien
|
Dokter
|
Ruang rawat
|
|
Pasien
|
-
|
||
Dokter
|
M:1
|
-
|
|
Ruang rawat
|
M:1
|
-
|
Hubungan
1. Dokter mengobati Pasien :
• Tabel utama : Dokter
• Tabel kedua : Pasien
• Relationship : many to one (m:1)
• Attribute : Nama_pasien
2. Pasien Membutuhkan ruang rawat :
• Tabel utama : Pasien
• Tabel kedua : Ruangan
• Relationship : many to one (m:1)
• Attribute : kode_ruang (kode_ruang Spesialis_keahlian kapasitas)
3. Ruang rawat Membutuhkan Dokter :
• Tabel utama : Ruang rawat
• Tabe kedua : Dokter
• Relationship : many to one (m:1)
• Attribute :Kode_ruang (lantai_ruang, jenis_ruang, kapasitas)
d. Menggambar E-R Diagram manual :
1. Dokter mengobati Pasien :
• Tabel utama : Dokter
• Tabel kedua : Pasien
• Relationship : many to one (m:1)
• Attribute : Nama_pasien
2. Pasien Membutuhkan ruang rawat :
• Tabel utama : Pasien
• Tabel kedua : Ruangan
• Relationship : many to one (m:1)
• Attribute : kode_ruang (kode_ruang Spesialis_keahlian kapasitas)
3. Ruang rawat Membutuhkan Dokter :
• Tabel utama : Ruang rawat
• Tabe kedua : Dokter
• Relationship : many to one (m:1)
• Attribute :Kode_ruang (lantai_ruang, jenis_ruang, kapasitas)
d. Menggambar E-R Diagram manual :
Tidak ada komentar :
Posting Komentar