A. Tujuan
Alat dan Bahan
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
Basis data dapat di modelkan sebagai :
1. Kumpulan dari entity (entitas)
2. Hubungan antar entity (entitas)
·
Entity Sets
Entity adalah suatu obyek yang dpat dikenali dari obyek yang
lain.
Contoh : seorang
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 liburan
dan lain-lain.
·
Attributes
Entity ditampilkan oleh sekumpulan attributes, yang mana
properti deskriptifnya dikuasai oleh seluruh anggota dalam kumpulan entitas.
Tipe attributes :
1. Simple (sederhana) dan composite
(gabungan) attributes.
2. Single-valued
(satu-fungsi) dan multi-valued (multi-fungsi) attributes.
Contoh : atribut multi-fungsi : nomor telepon.
3. Derived
(asal) attributes : dapat diperhitungkan dari atribut lain. Contoh : umur,
tanggal kelahiran.
·
Relationship Sets
Relationship adalah
kesesuaian antar beberapa entitas. Relationship set adalah hubungan matematika
antara entitas n>2, tiap bagiannya diambil dari satuan entitas {(e1,e2,.....
en) | e1 E E1, e2 E E2,.............,
en E En} dimana (e1,e2,..... en) adalah relationship.
Attribute dapat merupakan properti dari relationship set.
Sebagai contoh : depositor
merupakan relationship set antara entity sets costumer dan account
mungkin baratribut acces-date.
·
Tingkatan Relationship Set
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 sets dalam sistem basis data 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 lain pula. Maka disini 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 menggambarka relationship
biner. Biner cardinalitas pemetaan untuk relationship set harus
merupakan salah satu dari tipe berikut :
1. One to one (satu
ke satu)
2. One to many
(satu ke banyak)
3. Many to one (banyak
ke satu)
Catatan : Beberapa
elemen di A dan B mungkin tidak dipetakan pada elemen manapun dihimpunan lain. Mapping
Cardinalities mempengaruhi E-R Design.
·
ERD : Entity Relationship Diagram
Mencerminkan model basis data : hubungan antara entities
(tabel-tabel) dan relationships (hubungan-hubungan) diantara entities
tersebut.
* Rectangles melambangkan set-set entitas.
* Diamonds melambangkan set-set hubungan (relationship).
* Lines menghubungkan atribut dengan set-set entitas serta
set-set entitas dengan set-set hubungan (relationship).
* Ellipses mewakili attributes.
- Double ellipses
mewakili atribut multi-valued.
- Dashed ellipses
menunjukkan sifat yang didapat.
* Underline menunjukkan sifat kunci pokok (Primary Key).
·
Aturan untuk Model Basis Data
1.
Tiap baris harus berdiri sendiri (independent) :
tidak bergantung baris-baris yang lain, dan urutan baris tidak mempengaruhi
model basis data.
2.
Tiap baris harus unik : tidak boleh ada 2 atau lebih
baris yang sama persis.
3.
Kolom harus berdiri sendiri (independent) : tidak
bergantung kolom-kolom yang lain, dan urutan kolom tidak mempengaruhi model
basis data
4.
Nilai tiap kolom harus berupa satu kesatuan : tidak
berupa sebuah daftar.
·
Tahap Pembuatan Basis Data
Tahap 1: Tentukan Entities
Tentukan entities (obyek-obyek dasar) yang perlu
ada di basis data.
Sifat-sifat entity:
* Signifikan : memang perlu disimpan di basis data.
* Umum : tidak menunjuk pada sesuatu yang
khusus.
* Fundamental : dapat berdiri sendiri sebagai entity
yang dasar dan independent
* Unitary : merupakan satu kesatuan yang tidak
dapat dipecah lagi.
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 : memang penting dan perlu dicatat didalam
basis data.
2.Bersifat langsung (direct), bukan derived.
Contoh attribute direct : tanggal_lahir. Contoh attribute derived
: umur.
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 (lebih dari 3 atribut), sebaiknya menambahkan attribute
buatan yang menjadi Primary Key yang tunggal.
Tahap 3: Tentukan Relationships
Tentukan relationships (hubungan-hubungan)
diantara entitas tersebut:
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 mana yang
digunakan untuk menghubungkan kedua entitas tersebut.
d. Tentukan entity
mana yang menjadi tabel utama, dan entity mana yang menjadi tabel kedua.
e. Attribute
(dari tabel utama) yang menghubungkannya dengan tabel kedua menjadi Foreign
Key di tabel kedua.
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.
Tahap 5: Proses Normalisasi Database
Tahap 6: Implementasi Database
Alat dan Bahan
1.
Komputer dengan sistem operasi Windows 7
2.
Modul Praktikum Sistem Berkas dan Basis Data
Langkah-langkah Praktikum
Rancanglah sebuah database untuk menyelesaikan
masalah berikut:
Suatu perusahaan software diminta membuktikan
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 (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 informatika semua rekening yang telah dibuka.
·
Cabang_bank : menyimpan informasi 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 dan 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:
- 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 di nasabah_has_rekening)
·
nasabah
melakukan transaksi:
- Tabel utama : nasabah
- Tabel kedua : transaksi
- Relationship : one-to-many(1:n)
- Attribute penghubung : id_nasabah (FK id_nasabah di transaksi)
·
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)
·
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 ER Diagram manual:
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 entities (object-object dasar) yang
perlu ada di database
·
Mahasiswa : menyimpan semua data pribadi semua
mahasiswa.
·
Dosen : menyimpan semua data pribadi
semua dosen.
·
Matakuliah : menyimpan informasi tentang semua mata
kuliah yang ada.
·
Ruang : menyimpan informasi tentang semua
ruang kelas yang digunakan.
2. Menentukan attributes (sifat-sifat)
masing-masing entity sesuai kebutuhan database
·
Mahasiswa:
o NIM : nomor induk mahasiswa
(integer) PK
o Nama_mhs : nama lengkap mahasiswa
(varchar(60))
o Alamat_mhs : alamat mahasiswa (varchar(225))
o Jurusan : jurusan kuliah mahasiswa
(varchar(30))
·
Dosen:
o NIK : nomor induk kepegawaian
(integer) PK
o Nama_dosen : nama lengkap dosen (varchar(60))
o Alamat_dos : alamat lengkap dosen (varchar(225))
·
Matakuliah:
o Kode_Makul : kode mata kuliah (integer) PK
o Nama_Makul : nama mata kuliah (varchar(30))
·
Ruang:
o Kode_ruang : kode untuk ruang kelas (integer)
PK
o Nama_kls : nama ruang kelas (varchar(30))
o Area_kls : area/lantai ruang kelas
digedung (varchar(30))
3. Menentukan relationships (hubungan-hubungan) di antara
entities tersebut
4. Menggambar ER Diagram manual:
No comments:
Post a Comment