Jumat, 28 Maret 2014

PERANCANGAN BASIS DATA MENGGUNAKAN E-R DIAGRAM MANUAL

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..
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)
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))
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.
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))
o   alamat: alamat tempat tinggal mahasiswa (varchar(255))
·      dosen:
o   nama_dosen: nama lengkap dosen (varchar(50))
o   NIK: nomor induk kepegawaian dosen (varchar(20))
·      mata_kuliah:
o   nama_mk: nama mata kuliah (varchar(40))
o   kode_mk: kode mata kuliah (varchar(15))
o   jumlah_sks: jumlah sks mata kuliah (integer)
·      ruang_kelas:
o   id_kelas: identitas kelas seperti gedung, lantai dan nomor ruang (char(5)) 
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 
·         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 
·         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
·         mata_kuliah menempati ruang_kelas:
o   Tabel utama: ruang_kelas
o   Tabel kedua: mata_kuliah
o   Relationship: 1:1
o   Attribute pendukung: id_kelas 
4)      Menggambar ER Diagram:


2.      Ambil contoh sembarang database (harus berbeda untuk setiap mahasiswa). Buatlah rancangan Diagram manual database tersebut dari tahap 1 sampai tahap 4, dengan ketentuan database minimal mengandung 4 buah entitas.
perpustakaan
1.      Menetukan entitas:
·         anggota: menyimpan data pribadi
·         buku: menyimpan semua data buku
·         rak_buku: menyimpan informasi rak buku.
2.      membercard: menyimpan informasi mengenai membercard
Menentukan atribut:
·         anggota:
o   nama: nama lengkap (varchar(50))
o   id_anggota: nomor id (integer)
·         buku:
o   judul_buku: judul buku (varchar(50))
o   id_buku: nomor id (integer)
·         rak_buku:
o   id_rak: kode rak buku (integer)
·         membercard:
o   nama : nama member (varchar(15)) PK
o   barcode : kode membercard (integer)
3.      Menentukan relasi antar entitas:

anggota
buku
rak_buku
membercard
anggota
-
1:n
-
1:1
buku
n:1
-
n:1
-
Rak_buku
-
1:n
-
-
membercard
1:1
-
-
-
Hubungan:
o   anggota meminjam buku:
o   Tabel utama: anggota
o   Tabel kedua: buku
o   Relationship: one to many (1:n)
o   Attribute penghubung: id_anggota
o   anggota memiliki membercard:
o   Tabel utama: anggota
o   Tabel kedua: membercard
o   Relationship: one to one (m:n)
o   Attribute penghubung: id_anggota
o   buku dipinjam anggota:
o   Tabel utama: buku
o   Tabel kedua: anggota
o   Relationship: many to one (n:1)
o   Attribute penghubung: id_buku
o   buku didalam rak_buku:
o   Tabel utama: buku
o   Tabel kedua: rak_buku
o   Relationship: many to one (n:1)
o   Attribute penghubung: id_buku
o   rak_buku didalam buku:
o   Tabel utama: rak_buku
o   Tabel kedua: buku
o   Relationship: one to many (1:n)
o   Attribute penghubung: id_rak
o   membercard dipunyai anggota:
o   Tabel utama: membercard
o   Tabel kedua: anggota
o   Relationship: one to one (1:1)
o   Attribute penghubung: id_buku
4.      Menggambar ER Diagram manual: