Selasa, 01 April 2014

ER DIAGRAM

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