LAPORAN
PRAKTIKUM SISTEM BASIS DATA
MODUL
3
PERANCANGAN
BASIS DATA
MENGGUNAKAN
E-R DIAGRAM MANUAL
Disusun oleh:
Nama : Fajar Eko Prasetyo
NIM : L200120010
Kelas : A
JURUSAN TEKNIK INFORMATIKA
FAKULTAS KOMUNIKASI DAN INFORMATIKA
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2014
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
A. Landasan Teori
Database dapat dimodelkan secara :
1.
Kumpulan dari entity (entitas)
2.
Hubungan antar entity (entitas)
- Entity Sets
Entity adalah 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.
Contoh :
attribute multi-fungsi : nomor telephone.
3. Derived (asal) attributes : dapat
diperhitungkan dari attribute 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 merupakan
property dari relationship set.
- Tingkatan Relationship
Sets
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 system
database 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 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): tidak tergantung baris-baris yang lain, dan urutan baris tidak
mempengaruhi model database.
2. Tiap baris harus unik: tidak
boleh ada 2 atau lebih baris yang sama.
3. Kolom harus berdiri sendiri
(independent): tidak tergantung kolom-kolom yang lain, dan urutan kolom tidak
mempengaruhi model database.
4. Nilai tiap kolom harus berupa
satu kesatuan: tidak berupa sebuah daftar.
- Tahap Pembuatan Database
1. Tentukan Entities
2. Tentukan Attributes
3. Tentukan relationships
4. Pembuat ERD
5. Proses normalisasi database
6. Implementasi Database
A. Alat dan Bahan
1. Komputer
dengan koneksi internet
2. Program
Lucidchart (Program Online)
3. Modul
Praktikum Sistem Basis Data
B. Langkah Kerja
Rancanglah sebuah database untuk
menyelesaikan masalah berikut:
Suatu perusahaan software 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)
a.
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))
b.
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.
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
A. 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!
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
|
-
|
n : 1
|
m : n
|
-
|
Dosen
|
-
|
n : 1
|
-
|
|
Mata_kuliah
|
-
|
1 : 1
|
||
Ruang
|
-
|
Hubungan
1.
Mahasiswa diampu oleh dosen :
· Tabel utama : Dosen
· Tabel kedua : Mahasiswa
· Relationship : many to one (n:1)
· Attribute : NIK (FK NIK di dosen)
2.
Mahasiswa mengambil mata_kuliah :
· Tabel utama : mahasiswa, mata_kuliah
· Tabel kedua : mhs_mengambil_mk
· Relationship : many to many (m;n)
· Attribute : NIM, kode_MK (FK NIM, kode_MK di mhs_mengambil_mk)
3.
Dosen mengampu Mata_kuliah
· Tabel utama : Mata_kuliah
· Tabe kedua : dosen
· Relationship : many to one (n:1)
· Attribute : kode_MK (FK kode_MK di mata_kuliah)
4.
Mata_kuliah menempati ruang :
· Tabel utama : ruang
· Tabel kedua : Mata_kuliah
· Relationship : one to one (1:1)
· Attribute : kode_ruang_kelas (FK kode_ruang_kelas
di Mata_kuliah)
d.
Menggambar E-R Diagram manual :
2.
Ambil contoh sembarang database. Buatlah
rancangan ER Diagram manual database tersebut dari tahap 1-4 dengan ketentuan
database minimal mengandung 4 buah entitas.
a) menentukan entitas
1. Karyawan: berisi data pribadi karyawan.
2. Obat: menyimpan semua informasi tentang obat.
3. Supplier: berisi semua data peribadi supplier
4. Faktur Penjualan: menyimpan semua faktur penjualan.
5. Faktur Supply: menyimpan semua informasi supply obat.
6. Pelanggan: berisi data pribadi pelanggan
b) Menentukan attributes
1.karyawan :
-
Id_karyawan : nomor id untuk karyawan (integer)
PK
-
nama : nama lengkap karyawan (varchar (45))
-
alamat : alamat lengkap karyawan (varchar(255))
-
no_tlp : nomor telepon karyawan (integer)
2.obat :
-
id_obat : nomor id obat (integer) PK
-
nama_obat : berisi nama obat (varchar(45))
-
jenis : berisi jenis obat (varchar(45))
-
harga : berisi informasi harga obat (varchar
(45))
-
stock : berisi informasi sisa stock obat
(integer)
3. supplier :
-
id_supplier : nomor id supplier (integer) PK
-
nama_supplier :nama lengkap supplier
(varchar(45))
-
Alamat : alamat lengkap supplier (varchar(255))
-
No_telp : no telephon supplier (integer)
-
No_penjualan : informsi tentang nomor faktur
penjualan (integer) PK
-
Tanggal : tanggal penjulan (date)
-
Id_pelanggan : nomor id pelanggan (integer)
-
Jumlah : jumlah pengambilan obat / penjualan
obat (varchar (20))
-
Total_bayar : informasi jumlah pembayaran dari
pelanggan (varchar (45))
5. Faktur_supply
:
-
No_supply : berisi nomor barang yang di supply
(integer) PK
-
Tanggal : tanggal barang yang masuk / di supply
ke apotik ( date)
-
Id_supplier : berisi nomor id supplier (integer)
-
Id_obat : nomor id obat yang masuk / di supply
ke apotik (integer)
-
Jumlah_obat :
jumlah obat yang masuk / disupply ke apotik (integer)
-
Pembayaran : jumlah uang yang dikeluarkan untuk
membayar obat yang masuk (varchar (45))
-
Id_pelanggan : nomor id pelanggan (integer)
-
Nama : nama lengkap pelanggan (varchar (45))
-
Alamat : alamat lengkap pelanggan (varchar
(255))
-
Jenis_kelamin : jenis kelamin pelanggan (varchar
(10))
-
Pekerjaan : informasi tentang pekerjaan
pelanggan (varchar (20))
c)
Menentukan
hubungan / relasi diantara entitas diatas
Karyawan
|
Obat
|
Supplier
|
faktur_penjualan
|
Faktur_supply
|
pelanggan
|
|
Karyawan
|
1:n
|
-
|
1:1
|
-
|
-
|
|
Obat
|
-
|
-
|
m:n
|
|||
Supplier
|
1:1
|
-
|
-
|
-
|
||
Faktur_penjualan
|
||||||
Faktur_suppplier
|
||||||
pelanggan
|
Hubungan :
a. Karyawan menjual obat
-
Tabel utama : karyawan
-
Tabel kedua : obat
-
Relasi : one to many
-
Attribute penghubung : id_karyawan (FK
id_karyawan di tabel obat)
b. Supplyer mensupply obat
-
Tabel utama : supplier, obat
-
Tabel kedua : supplier_has_obat
-
Relasi : many to many
-
Attribute penghubung : id_supplier, id_obat ( FK
id_supplier, id_obat di supplier_has_obat)
c. Pelanggan membeli obat
-
tabel utama : pelanggan , obat
-
tabel kedua : obat_has_pelanggan
-
relasi : many to many
-
attribute penghubung : id_pelanggan, id_obat (FK
id_pelanggan, id_obat di obat_has_pelanggan)
d. karyawan membuat faktur_penjualan
-
tabel utama : karyawan
-
tabel kedua : faktur_penjualan
-
relasi : one to one
-
attribute penghubung : id_karyawan (FK
id_kayawan di faktur_penjualan)
e.
supplier
membuat faktur_supply
-
tabel utama : supplier
-
tabel kedua : faktur_supply
-
relasi : one to one
-
attribute penghubung : id_supplier (FK
id_supplier di faktur_supply)
Menggambar
ER Diagram manual
0 komentar:
Posting Komentar