Anda di halaman 1dari 16

Perancangan Basis Data Ke Dalam E-

R Diagram
MODUL 3

PERANCANGAN BASIS DATA

MENGGUNAKAN E-R DIAGRAM MANUAL

1. Tujuan

A. Mahasiswa mampu merancang basis data melalui tahap-tahap perancangannya.

B. Mahasiswa mampu mewujudkan hasil perancangan basis data ke dalam diagram E-


R secara manual.

2. Dasar Teori

Database dapat dimodelkan sebagai :

A. Kumpulan dari entity (entitas)

B. Hubungan antar entity (entitas)

 Entity Sets

Entity adalah suatu objek yang dapat dikenali dari obyek yang lain. Contoh :
seseorang yang khusus, perusahaan, peristiwa, tanaman dan lain-lain. Entity
mempunyai atribut , contoh : seseorang mempunyai nama dan alamt.
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 oeh seluruh anggota dalam kumpulan entity. Tipe
attributes :

 Simple (sederhana) dan composite (gabungan) atributes.


 Single-valued (satu-fungsi) dan multi_valued (multi-fungsi) attributes.
Contoh : atribut multi- fungsi : nomor telepon.

 Derived (asal) attributes : dapat diperhitungkan dari attribut 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 erupakan properti
dari relationship set.

sebagai contoh : depositor merupakan relationship set antara entity sets customer dan account
mungkin beratribut access-date.
 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 sistem database adalah
binary. Relationsip sets mungkin melibatkan lebih dari dua entity sets. Contoh
: seorang pegawai bank bekerja (bertanggung jawab) dalam beberapa cabang,
dengan tugas yang berlainan dalam setiap cabang yang berlainan pula. Maka
disini terdapat relationship set ternary antara entity sets pegawai (employee),
tugas (job) dan cabang (branch). Relationship 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 biner. Untuk relationship set biner cardinalitas
pemetaan harus merupakan salah satu dari tipe berikut:

 one to one (satu ke satu)


 one to many (satu ke banyak)

 many to one (banyak ke satu)

 many to many(banyak ke banyak)

catatan : beberapa elemen di A dan B mungkin tidak dipetakan ke elemen


manapun di himpunan lain.
catatan : beberapa elemen di A dan B mungkin tidak dipetakan pada elemen manapun di
himpunan lain. Mapping cadinalities mempengaruhi ER design.

 ERD : Entity Relationship Diagram

mencerminkan model database : hubungan antara entities (tabel-tabel) dan


relationships(hubungan-hubungan) di antara entities tersebut. Contoh ERD:

 rectangle 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

i. double ellipses mewakili attribute multivalued


ii. dashed ellipses menunjukkan sifat kunci pokok
 underline menunjukkan sifat kunci pokok (primary key)

 aturan untuk model database


 tiap baris harus berdiri sendiri(independent) : tidak tergantung baris-
baris yang lain, dan urutan baris tidak mempengaruhi model database.

 Tiap baris harus unik : tidak boleh ada 2 atau lebih baris yang sama
persis.

 Kolom harus berdiri sendiri(independent) : tidak tergantung kolom-


kolom yang lain, dan urutan kolom tidak mempengaruhi model
database.

 Nilai tiap kolom harus berupa satu kesatuan : tidak berupa sebuah
daftar.

 Tahapan pembuatan database

 tahap 1 : tentukan entities

tentukan entities (object-object dasar) yang perlu ada di database.

Sifat-sifat entity:

 signifikan : memang perlu disimpan di database


 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 attributes

tentukan attributes (sifat-sifat) masing-masing entity sesuai dengan


kebutuhan database:

 tentukan sifat-sifat (fields atau kolom) yang dimiliki tiap


entity,serta tipe datanya.

 Attribute yang sesuai harus:

a. signifikan : memang penting dan perlu dicatat di dalam


database.

b. Bersifat langsung(direct), bukan derived. Contoh attribut


derived : umur

 tentukan attribute yang menjadi Primary Key untuk entity yang


bersangkutan.

 Jika satu attribute tidak cukup, gabungan beberapa attribute bisa


menjadi composite primary key.

 Jika composite primary key banyak(lebih dari 3 attribute),


sebaiknya menambahkann attribute buatan yang menjadi primary
key yang tunggal.

 Tahap 3 : tentukan relationships

tentukan relationships(hubungan-hubungan) diantara entities tersebut:

 tentukan jenis hubungan diantara entity yang satu dengan entities


yang lain.

 Macam hubungan ada 3:

i. one-to-one (1:1)
ii. one-to-many(1:n)

iii. many-to-many(m:n)

 dalam membentuk hubungan diantara 2 entities, tentukan


attribute mana yang digunakan untuk menghubungkan kedua
entities tersebut.

 Tentukan entity mana yang menjadi tabel utama, dan entity mana
yang menjadi tabel ke dua.

 Attribute ( dari tabel utama) yang menghubungkannya dengan


tabel kedua menjadi Foreign Key di tabel kedua.

 Tahap 4 : Pembuatan ERD

 buat entity relationship diagram (ERD) berdasarkan hasil dari


tahap 1-3.

 ada berbagai macam notasi untuk pembuatan ERD.

 Anda bisa menggunakan software khusus untuk menggambar


ERD.

 Tahap 5: proses normalisasi database

 Tahap 6 : implementasi database

3. Alat dan Bahan

A. komputer dengan sistem operasi Windows XP

B. Modul praktikum sistem berkas dan basis data

C. 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 akan ditanganinya adalah : data pribadi
mengenai nasabah, data account deposit yang dimiliki oleh nasabah, cabang bank
dimana nasabah membuka depositnya, dan 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 :

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 semua informasi mengenai cabang bank.

 Transaksi : menyimpan semua informasi tentang semua transaksi yang telah


terjadi.

B. Menentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database.

 Nasabah :

 id_nasabah : nomor id untuk nasabah (integer) PK

 nama_nasabah : nama lengkap nasabah(varchar(45))

 alamat_nasabah : alamat lengkap nasabah(varchar(255))

 rekening :

 no_rekening : nomor rekening (integer) PK

 pin : personal identification number (varchar(10))

 saldo : jumlah saldo rekening dalam Rp (integer)

 cabang_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))

 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)

C. Menentukan relationships (hubungan-hubungan) diantara entities tersebut

nasabah rekening cabang_bank transaksi


nasabah – m:n – 1:n
rekening – n:1 1:n
cabang_bank – –
ransaksi –
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 : ida_nasabah (FK id_nasabah di transaksi)

 cabang_bank menangani rekening :

 tabel utama : cabang_bank


 tabel kedua: transaksi

 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)

D. menggambar ER diagram manual :

tugas

1. buatlah rancangan sebuah database untuk menangani data-data kuliah. Data-data yang akan
ditangani 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 lebih dari satu mahasiswa sekaligus(joint account)
buatlah ER diagram manua untuk kasus tersebut dari tahap 1 sampai 4!

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 entity.

jawab :

1. mahasiswa : menyimpan semua data pribadi mahasiswa.

dosen : menyimpan semua data pribadi dosen.

mata_kuliah : menyimpan informasi semua mata kuliah.

ruang_kelas : menyimpan semua data tentang ruang kelas.

mahasiswa :

nim : nomor id untuk mahasiswa (VARCHAR) PK

nama : nama lengkap mahasiswa(varchar(20))

alamat : alamat lengkap nasabah(varchar(255))

mata_kuliah:

kode_mata_kuliah : kode untuk mata kuliah (VARCHAR) PK

nama_mata_kuliah : nama untuk mata kuliah(varchar(20))

dosen :

nip : nomor id untuk dosen (VARCHAR) PK

nama : nama lengkap dosen (varchar(20))


ruang_kelas:

kode_ruang_kelas : nomor id untuk ruang kelas (VARCHAR) PK

tanggal : tanggal dimulainya kuliah(DATE)

jumlah : banyaknya mahasiswa yang mengikuti (INTEGER)

mahasiswa mengambil mata_kuliah

A. tabel utama : mahasiswa , mata_kuliah

B. tabel kedua : mahasiswa has mata kuliah

C. relationship : many to many (m:n)

D. Attribute penghubung : nim, kode_mata_kuliah,( FK mahasiswa_nim,


mata_kuliah_kode_mata_kuliah di mahasiswa_has_mata_kuliah)

 mata_kuliah diambil oleh mahasiswa

A. tabel utama : mata_kuliah

B. tabel kedua : mahasiswa

C. relationship : many to many (m:n)

D. attribute penghubung : nama_mata_kuliah, nim ( FK


mata_kuliah_kode_mata_kuliah, mahasiswa_nim di
mata_kuliah_has_mahasiswa)

 mahasiswa dibimbing dosen

A. Tabel utama : mahasiswa

B. tabel kedua : kode_ruang_kelas

C. relationship : many to one (n:1)

D. attribute penghubung : kode_mata_kuliah, nim (FK mahasiswa_nim di dosen)


 dosen terlibat dalam ruang_kelas

A. tabel utama : dosen

B. tabel kedua : ruang_kelas

C. relationship : one to one (1:1)

D. attribute penghubung : nip (FK dosen_nip di ruang_kelas)

setelah selesai langkah 1 sampai 3 maka langkah selanjutnya atau langkah 4 adalah
membuat ER diagramnya secara manual, hasilnya sebagai berikut :

database plan :
2. konsumen : menyimpan semua data pribadi konsumen.
sim_card : menyimpan data sim_card.

konter_pulsa : menyimpan semua data konter.

handphone : menyimpan data handphone.

konsumen :

id_konsumen : id untuk konsumen (varchar(20)) PK

alamat : alamat lengkap konsumen (varchar(255))

sim_card :

no_sim_card : nomor sim card (integer) PK

id_provider : id penyedia layanan (varchar(20))

konter_pulsa :

id_konter : id untuk konter (varchar(20))


nama_konter : nama konter(varchar(20))

alamat_konter : alamat konter(varchar(255))

handphone :

seri_handphone : seri handphone(varchar(20))

nama_handphone : nama handphone(varchar(20))

nama_vendor : nama pabrik pembuat(varchar(20))

konsumen memiliki sim_card

A. tabel utama : konsumen

B. tabel kedua : sim_card

C. relationship : many to many (m:n)

D. attribute penghubung : id_konsumen, no_sim_card (FK


konsumen_id_konsumen, sim_card_no_sim_card di konsumen has sim_card)

 sim_card dimiliki oleh konsumen

A. tabel utama : sim_card

B. tabel kedua : konsumen

C. relationship : many to many(m:n)

D. attribute penghubung : id_konsumen, no_sim_card (FK


sim_card_no_sim_card , konsumen_id_konsumen di
sim_card_has_konsumen)

 konter_pulsa menjual sim_card

A. tabel utama : konter_pulsa


B. tabel kedua : sim_card

C. relationship : many to many(m:n)

D. attribute penghubung : id_konter, no_sim_card (FK sim_card_no_sim_card,


konter_pulsa_id_konter di sim_card_has_konter_pulsa)
 konsumen memiliki handphone

A. tabel utama : konsumen

B. tabel kedua : handphone

C. relationship : many to many (m:n)

D. attribute penghubung : id_konsumen, seri_handphone (FK


konsumen_id_konsumen, handphone_serial_handphone di
konsumen_has_handphone)

setelah selesai langkah 1 sampai 3 maka langkah selanjutnya atau langkah 4 adalah
membuat ER diagramnya secara manual, hasilnya sebagai berikut :


database plan: