7 BAB 2 LANDASAN TEORI 2.1 Teori-teori Umum 2.1.1 Pengertian Data Data adalah fakta-fakta atau deskripsi dari sesuatu, peristiwa, aktivitas, dan transaksi yang ditangkap, direkam, disimpan, dan dikelompokkan, tetapi belum tersusun sehingga memiliki suatu makna. (Turban, 2003, p15) Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah representasi dari objek- objek dan kejadian yang disimpan yang memiliki makna dan kepentingan di dalam lingkungan user. 2.1.2 Pengertian Basis Data Menurut Connolly dan Begg(2005, p15), basis data merupakan kumpulan data logikal yang saling berhubungan, dan deskripsi dari sebuah data, dibuat untuk memenuhi kebutuhan informasi dalam sebuah organisasi. Basis data menjadi suatu bagian penting dari perusahaan untuk menyimpan informasi-informasi yang diinginkan perusahaan tersebut. Menurut W.H. Inmon (2002, p388), basis data adalah koleksi data yang saling berkaitan sesuai dengan skemanya, basis data juga dapat melayani satu atau banyak aplikasi.
53
Embed
BAB 2 LANDASAN TEORI 2.1 Teori-teori Umumthesis.binus.ac.id/Asli/Bab2/2009-1-00169-IF bab 2.pdfaktivitas, dan transaksi yang ditangkap, direkam, disimpan, dan dikelompokkan, tetapi
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
7
BAB 2
LANDASAN TEORI
2.1 Teori-teori Umum
2.1.1 Pengertian Data
Data adalah fakta-fakta atau deskripsi dari sesuatu, peristiwa,
aktivitas, dan transaksi yang ditangkap, direkam, disimpan, dan
dikelompokkan, tetapi belum tersusun sehingga memiliki suatu makna.
(Turban, 2003, p15)
Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah
representasi dari objek- objek dan kejadian yang disimpan yang memiliki
makna dan kepentingan di dalam lingkungan user.
2.1.2 Pengertian Basis Data
Menurut Connolly dan Begg(2005, p15), basis data merupakan
kumpulan data logikal yang saling berhubungan, dan deskripsi dari sebuah
data, dibuat untuk memenuhi kebutuhan informasi dalam sebuah organisasi.
Basis data menjadi suatu bagian penting dari perusahaan untuk
menyimpan informasi-informasi yang diinginkan perusahaan tersebut.
Menurut W.H. Inmon (2002, p388), basis data adalah koleksi data
yang saling berkaitan sesuai dengan skemanya, basis data juga dapat
melayani satu atau banyak aplikasi.
8
2.1.3.1 Perancangan Basis Data
Menurut Connolly dan Begg (2005, p437), langkah-langkah dalam
perancangan basis data diantaranya :
2.1.3.1 Perancangan basis data konseptual
Perancangan basis data konseptual adalah proses
membangun sebuah model data yang digunakan di dalam
perusahaan, bebas dari segala pertimbangan fisik.(Connolly dan
Begg, 2005, p439)
Tahap-tahap dalam perancangan basis data konseptual
diantaranya (Connolly dan Begg, 2005, p442) :
Langkah 1 : Membangun model data konseptual
Tujuannya adalah untuk membangun model data konseptual dari
kebutuhan data dalam perusahaan. Tahapan-tahapan dari
membangun model data konseptual diantaranya :
Mengidentifikasikan tipe entitas
Tujuannya untuk mengidentifikasikan tipe entitas yang
dibutuhkan.
Gambar 2.1 Kamus Data Entity
(Connolly dan Begg, 2005, p444)
9
Mengidentifikasikan tipe relasi
Tujuannya untuk mengidentifikasikan relasi yang
penting yang ada diantara tipe-tipe entitas.
Gambar 2.2 Kamus Data Relationship
(Connolly dan Begg, 2005, p447)
Mengidentifikasikan dan mengasosiasikan atribut dengan entitas atau tipe relasi
Tujuannya untuk mengasosiasikan atribut dengan tipe-
tipe entitas atau relasi yang tepat.
Menentukan domain atribut
Tujuannya untuk menentukan domain dari atribut di
dalam model data konseptual lokal.
Menentukan atribut-atribut candidate, primary, dan alternate key
Tujuannya untuk mengidentifikasikan candidate key dari
setiap tipe entitas dan jika ada lebih dari 1 candidate key,
salah satu akan terpilih menjadi primary key dan yang lain
menjadi alternate key.
10
Primary key adalah candidate key yang dipilih untuk
secara unik mengidentifikasikan suatu tipe entitas.(Connolly
dan Begg, 2005, p451)
Candidate key adalah kumpulan minimal dari atribut
yang secara unik mengidentifikasikan setiap tipe
entitas.(Connolly dan Begg, 2005, p451)
Untuk memilih sebuah primary key dari antara candidate
key yang ada maka sebaiknya menggunakan tahapan-tahapan
di bawah ini :
• Candidate key dengan satu set atribut yang paling sedikit.
• Candidate key yang paling sedikit mempunyai nilai yang
sering berubah.
• Candidate key yang memiliki karakter yang paling sedikit.
• Candidate key dengan nilai maksimum yang paling kecil.
• Candidate key yang paling mudah digunakan dari sudut
pandang user.
1.6 Mempertimbangkan penggunaan konsep enhanced modeling
(optional)
Tujuannya untuk mempertimbangkan penggunaan
konsep enhanced modeling seperti spesialisasi/generalisasi,
agregasi, dan komposisi.
1.7 Memeriksa model untuk redundansi
Tujuannya untuk memeriksa adanya redundansi di
11
dalam model.
Dua aktivitas yang ada di dalam tahapan ini adalah :
• Memeriksa kembali one-to-one(1:1) relationship
Dalam mengidentifikasikan entitas kita mungkin telah
mengidentifikasikan dua entitas yang merepresentasikan
objek yang sama di perusahaan.
• Menghapus relationship yang berlebihan
Sebuah relationship disebut berlebihan atau redundant
bila informasi yang sama dapat diperoleh melalui
relationship yang lain.
1.8 Memvalidasi model konseptual dengan transaksi user
Tujuannya untuk memastikan model konseptual
mendukung kebutuhan transaksi.
Ada dua pendekatan yang dapat memastikan bahwa
model data konseptual mendukung kebutuhan transaksi :
• Menjelaskan transaksi tersebut
Memeriksa semua informasi yang ada (entity, relationship,
dan semua atribut) yang dibutuhkan oleh setiap transaksi
yang disediakan oleh model, dengan mendokumentasikan
sebuah deskripsi setiap kebutuhan transaksi.
• Menggunakan jalur transaksi
Pendekatan kedua ini untuk memvalidasikan model data
dengan transaksi yang dibutuhkan.
12
1.9 Mengkaji ulang model data konseptual dengan user
Tujuannya untuk mengkaji ulang model data konseptual
dengan user untuk memastikan bahwa mereka akan
mempertimbangkan model tersebut menjadi perwakilan yang
sebenarnya dari kebutuhan data dalam perusahaan.
2.1.3.2 Perancangan basis data logikal
Perancangan basis data logikal adalah proses membangun
sebuah model dari data yang digunakan oleh perusahaan yang
berdasar pada data model yang spesifik, tetapi tidak terikat pada
DBMS tertentu dan pertimbangan fisikal lainnya.(Connolly dan
Begg, 2005, p439)
Langkah 2 : Membangun dan memvalidasi model data logikal
Tujuannya untuk menerjemahkan model data konseptual
menjadi model data logikal dan kemudian untuk memvalidasi
model ini untuk memeriksa bahwa model tersebut benar secara
struktural dan dapat digunakan untuk mendukung transaksi yang
dibutuhkan. Tahapan-tahapan dari membangun model data logikal
diantaranya :
2.1 Menciptakan relasi untuk model data logikal
Tujuannya untuk menciptakan hubungan atau relasi untuk
model data logikal untuk mewakili entitas-entitas, hubungan-
hubungan, dan atribut-atribut yang sudah diidentifikasi.
13
Pendeskripsian bagaimana relasi dapat diturunkan dari
struktur data model yang ada, antara lain :
- tipe strong entity
- tipe weak entity
- tipe relasi binary one-to-many (1:*)
- tipe relasi binary one-to-one (1:1)
Terdiri dari :
1. mandatory participation on both sides of 1:1
relationship
2. mandatory participation on one side of 1:1 relationship
3. optional participation on both sides of 1:1 relationship
- tipe relasi rekursif one-to-one (1:1)
- tipe relasi superclass/subclass
- tipe relasi binary many-to-many
- tipe relasi kompleks
- attribut multi-value
2.2 Memvalidasi hubungan menggunakan normalisasi
Tujuannya untuk memvalidasi hubungan di dalam
model data logikal menggunakan normalisasi.
Tahapan dari normalisasi antara lain :
• First Normal Form (1NF), menghilangkan grup yang
berulang.
14
• Second Normal Forn (2NF), menghilangkan partial
dependencies atau ketergantungan parsial pada
primary key.
• Third Normal Form (3NF), menghilangkan transitive
dependencies atau ketergantungan transitif pada
primary key.
2.3 Memvalidasi hubungan dengan transaksi user
Tujuannya untuk memastikan bahwa hubungan di dalam
model data logikal mendukung kebutuhan transaksi (biasanya
penggambaran dalam bentuk view).
2.4 Memeriksa integrity constraint
Tujuannya untuk memeriksa integrity constraint yang
diwakili di dalam data model logikal.
Beberapa tipe dari integrity constraint adalah sebagai
berikut :
• Required data
Beberapa atribut harus selalu berisi data yang resmi
sehingga atribut tersebut tidak diperbolehkan berupa
null.
• Attribute domain constraint
Setiap atribut mempunyai domain yang merupakan
sekumpulan nilai yang sah.
15
• Multiplicity
Multiplicity mewakili constraint yang ditempatkan
pada hubungan diantara data di dalam basis data.
• Entity integrity
Primary key di dalam sebuah entitas tidak dapat
menerima null.
• Referential integrity
Jika foreign key berisi nilai maka nilai tersebut harus
menunjuk kepada tuple yang ada
• General constraint
Update pada entitas akan dikontrol oleh constraint
yang menentukan transaksi yang “real world” dimana
diwakili oleh update itu sendiri.
• Document all integrity constraint
Mendokumentasikan semua integrity constraint di
dalam kamus data untuk pertimbangan selama desain
fisikal.
2.5 Mengkaji ulang model data logikal dengan user
Tujuannya untuk meninjau ulang model data logikal
dengan user untuk memastikan bahwa mereka
mempertimbangkan model tersebut untuk menjadi
representasi nyata dari kebutuhan data di dalam sebuah
perusahaan.
16
2.6 Menggabungkan data model logikal menjadi model global
(optional)
Tujuannya untuk menggabungkan model data logikal
menjadi model data global single yang mewakili semua user
view dari basis data.
2.7 Memeriksa pertumbuhan lebih lanjut
Tujuannya untuk menentukan apakah ada perubahan
yang signifikan untuk masa depan yang sudah dapat diduga
sebelumnya dan menilai apakah model data logikal dapat
mengakomodasi perubahan ini.
2.1.3.3 Perancangan basis data fisikal
Perancangan basis data fisikal adalah proses memproduksi
sebuah deskripsi dari implementasi dari basis data pada secondary
storage, yang juga akan mendeskripsikan dasar dari suatu relasi,
organisasi file, dan index yang digunakan untuk mencapai akses
efisien menuju ke data dan beberapa batasan-batasan integritas
serta ukuran keamanan.(Connolly dan Begg, 2005, p496)
Langkah 3 : Menerjemahkan model data logikal ke dalam
target DBMS
Tujuannya untuk memproduksi skema relasi basis data dari
model data logikal yang dapat diimplementasikan di dalam target
DBMS.
3.1 Mendesain relasi dasar
17
Tujuan dari langkah ini adalah untuk memutuskan
bagaimana merepresentasikan relasi dasar yang
diidentifikasikan di dalam model data logikal ke dalam target
DBMS.
Untuk setiap relasi yang diidentifikasi pada model data
logikal global, definisinya terdiri dari:
• Nama relasi
• Suatu list untuk atribut yang sederhana
• Primary key, alternate key, dan foreign key
• Suatu daftar dari atribut turunan dan bagaimana
pembuatannya.
• Batasan integrasi untuk setiap foreign key yang
diidentifikasi.
Dari kamus data, dari setiap atributnya dapat diketahui :
• Domain atribut tersebut, yang terdiri dari tipe data,
panjang, dan berbagai batasan dalam domain.
• Sebuah optional nilai default untuk atribut.
• Atribut boleh bernilai null.
• Atribut diperoleh dan bagaimana atribut tersebut
dikomputerisasi.
18
3.2 Merancang representasi dari data turunan
Tujuannya adalah untuk memutuskan bagaimana untuk
merepresentasikan berbagai data turunan pada model data
logikal di dalam DBMS.
3.3 Merancang batasan general
Tujuannya adalah untuk merancang batasan general
untuk DBMS yang digunakan.
Langkah 4 : Merancang organisasi file dan index
Tujuannya untuk menentukan organisasi file yang optimal
untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk
mencapai performance yang dapat diterima, dimana setiap relasi
dan tuple akan disimpan di dalam penyimpanan kedua (secondary
storage).
4.1 Menganalisis transaksi
Tujuannya adalah untuk memahami fungsionalitas dari
transaksi tersebut yang akan berjalan di dalam basis data dan
untuk menganalisis transaksi yang penting.
Dalam menganalisa transaksi, dapat diidentifikasi
kriteria performansi sebagai berikut :
• Transaksi yang sering digunakan dan akan berdampak
besar terhadap keseluruhan performance.
• Transaksi yang merupakan operasi bisnis yang bersifat
kritis.
19
• Durasi waktu dalam hari/minggu dimana akan ada
permintaan yang tinggi pada basis data (peak load).
Untuk fokus ke dalam area yang mungkin akan
bermasalah, maka salah satu cara untuk memprosesnya antara
lain :
• Petakan semua jalur transaksi ke relasi
• Menentukan relasi mana yang lebih sering diakses oleh
transaksi tersebut.
• Menganalisis penggunaan data dari transaksi yang dipilih
dimana transaksi tersebut terlibat dengan relasi yang
dimaksud.
4.2 Memilih organisasi file
Tujuannya untuk menentukan organisasi file yang efektif
untuk setiap relasi dasar. Beberapa tipe organisasi file adalah
sebagai berikut :
• Heap
• Hash
• Indexed Sequential Office Access Method (ISAM)
• B+-tree
• Cluster
4.3 Memilih index
Tujuannya untuk menentukan apakah dengan menambah
indeks akan meningkatkan performa sistem. Biasanya,
20
pemilihan atribut untuk ordering atau clustering tuple adalah
sebagai berikut :
• Sebuah atribut yang dipake paling sering untuk operasi
gabungan, hal ini akan membuat operasi penggabungan
menjadi lebih efisien.
• Sebuah atribut yang digunakan lebih sering untuk
mengakses tuple di dalam relasi yang ada.
4.4 Memperkirakan kapasitas disk yang dibutuhkan
Tujuannya untuk memperkirakan kira-kira berapa besar
kapasitas disk yang akan dibutuhkan oleh basis data.
Langkah 5 : Merancang user views
Tujuannya adalah untuk merancang user view yang
diidentifikasikan selama tahap pengumpulan dan analisa
kebutuhan dari sistem siklus pengembangan basis data.
Langkah 6 : Merancang mekanisme keamanan
Tujuannya adalah untuk merancang mekanisme keamanan
untuk basis data yang dispesifikasikan berdasarkan user selama
tahapan requirements and collection pada siklus pengembangan
sistem basis data.
2.1.4 Siklus Pengembangan Sistem Basis Data
Menurut Connolly dan Begg(2005, p283), sistem basis data
merupakan komponen pokok dalam sistem informasi dari organisasi yang
21
besar, siklus pengembangan basis data tak terpisahkan dengan siklus sistem
informasi.
Aktivitas-aktivitas yang ada dalam siklus pengembangan basis data
diantaranya :
• Database Planning
Merencanakan bagaimana bagian-bagian dalam siklus dapat
direalisasikan dengan efektif dan efisien.
• System Definition
Menspesifikasikan jangkauan dan batasan dari sistem basis data, meliputi
major user views, user itu sendiri, dan area aplikasi.
• Requirements Collection and Analysis
Mengumpulkan dan menganalisis kebutuhan untuk sistem basis data baru.
• Database Design
Merancang desain konseptual, logikal, dan fisikal dari basis data.
• DBMS Selection (optional)
Memilih DBMS yang sesuai dengan sistem basis data.
• Application Design
Merancang antarmuka user dan program aplikasi yang menggunakan dan
memproses basis data.
• Prototyping (optional)
Membangun model kerja dari sistem basis data dimana mengizinkan
perancang atau user untuk memvisualisasikan dan mengevaluasi
bagaimana sistem akhir akan terlihat dan berfungsi.
22
• Implementation
Menciptakan definisi basis data fisikal dan program aplikasi.
• Data Conversion and Loading
Memuat data dari sistem lama ke sistem baru dan, jika memungkinkan,
mengubah beberapa aplikasi yang sudah ada untuk dijalankan pada basis
data baru.
• Testing
Sistem basis data diuji terhadap kesalahan-kesalahan dan memvalidasi
dengan kebutuhan yang diinginkan user.
• Operational and Maintenance
Sistem basis data diimplementasikan secara penuh. Sistem ini diawasi
dan dipelihara secara terus menerus. Jika diperlukan, kebutuhan baru
akan dimasukkan ke dalam sistem basis data melalui tahapan siklus
sebelumnya.
Berikut ini adalah siklus hidup aplikasi basis data :
23
Gambar 2.3 Siklus Hidup Aplikasi Basis Data
(Connolly dan Begg, 2005, p284)
24
2.1.5 Database Management System (DBMS)
Menurut Connolly dan Begg (2005, p16), DBMS adalah sebuah
sistem perangkat lunak yang memungkinkan user untuk mendefinisikan,
menciptakan, memelihara, dan mengontrol akses terhadap sistem basis data.
Menurut Gerald V. Post (2005, p2), DBMS adalah perangkat lunak
yang mendefinisikan basis data, penyimpanan data, mendukung bahasa
query, menghasilkan laporan, dan membuat layar untuk memasukkan data.
Komponen-komponen DBMS diantaranya :
• Hardware
DBMS dan aplikasi membutuhkan hardware untuk berjalan.
• Software
Komponen software terdiri dari perangkat lunak DBMS itu sendiri dan
program aplikasi, bersama dengan sistem operasi, meliputi perangkat
lunak jaringan jika DBMS digunakan dalam jaringan.
• Data
Data boleh jadi merupakan komponen yang paling penting dalam
lingkungan DBMS.
• Procedure
Prosedur mengacu pada instruksi dan aturan yang menentukan desain dan
kegunaan dari basis data.
• People
Komponen akhir ialah orang yang terlibat dengan sistem.
25
Gambar 2.4 Komponen-komponen dalam lingkungan DBMS
(Connolly dan Begg, 2005, p19)
2.1.5.1 Fungsi DBMS
Menurut Connolly dan Begg (2005, p48), fungsi-fungsi
dari DBMS diantaranya :
1. Data storage, retrieval, and update
Sebuah DBMS harus melengkapi user dengan kemampuan
untuk menyimpan, mendapatkan kembali, dan membaharui
data dalam basis data.
2. A user-accessible catalog
Sebuah DBMS harus dilengkapi dengan sebuah katalog yang
mendeskripsikan data item yang tersimpan dan yang dapat
diakses user.
3. Transaction support
Sebuah DBMS harus dilengkapi sebuah mekanisme yang akan
menjamin baik seluruh update yang berhubungan dengan
sebuah transaksi yang dapat dilakukan atau yang tidak
dilakukan.
26
4. Concurrency control services
Sebuah DBMS harus dilengkapi sebuah mekanisme untuk
memastikan basis data terupdate secara benar ketika banyak
user melakukan update secara bersamaan.
5. Recovery services
Sebuah DBMS harus dilengkapi sebuah mekanisme untuk
memperbaiki basis data saat basis data mengalami kerusakan.
6. Authorization services
Sebuah DBMS harus dilengkapi sebuah mekanisme untuk
memastikan bahwa hanya user yang mempunyai wewenang
yang dapat mengakses basis data.
7. Support for data communication
Sebuah DBMS harus dapat berintegrasi dengan software
komunikasi.
8. Integrity services
Sebuah DBMS harus dilengkapi dengan sebuah cara untuk
memastikan bahwa data dalam basis data dan perubahan
terhadap data mengikuti aturan-aturan tertentu.
9. Services to promote data independence
Sebuah DBMS harus mencakup fasilitas untuk mendukung
ketidaktergantungan program dari struktur aktual dari basis
data.
10. Utility services
Sebuah DBMS harus menyediakan sebuah set untuk layanan
27
kegunaan.
2.1.5.2 Keuntungan DBMS
Keuntungan dari DBMS antara lain :
1. Kontrol terhadap redundansi data
2. Data yang konsisten
3. Semakin banyak informasi yang didapat dari data yang sama
4. Data yang dibagikan (shared data)
5. Menambah integritas data
6. Menambah keamanan data
7. Penetapan standarisasi
8. Menyeimbangkan konflik kebutuhan
9. Memperbaiki pengaksesan data dan hasilnya
10. Menambah produktivitas
11. Memperbaiki pemeliharaan data melalui data independence
2.1.5.3 Kerugian DBMS
Kerugian dari DBMS antara lain :
1. Kompleksitas
2. Size / ukuran
3. Biaya dari suatu DBMS
4. Biaya penambahan perangkat keras
28
2.1.5.4 Fasilitas-fasilitas DBMS
Menurut Connolly dan Begg (2005, p16), fasilitas-fasilitas
dalam DBMS adalah sebagai berikut :
o Memberikan izin kepada user untuk mendefinisikan basis data,
biasanya melalui Data Definition Language (DDL). DDL
memperbolehkan user untuk menspesifikasi tipe-tipe, struktur dan
constraint dari data yang akan disimpan di dalam basis data.
o Memperbolehkan user untuk menambah data, mengubah data,
menghapus data, dan menemukan data dari basis data, biasanya
melalui Data Manipulation Languange (DML). Query Language
merupakan fasilitas yang mempunyai tempat penyimpanan untuk
semua data dan deskripsi data. Bahasa query yang paling umum
digunakan adalah Structured Query Language (SQL).
o Selain itu juga menyediakan akses kontrol ke basis data, yang
antara lain terdiri dari :
- Sistem Keamanan (Security System)
Untuk mencegah user yang tidak berwenang untuk mengakses
basis data.
- Sistem Integrasi (Integrity System)
Untuk menjaga konsistensi data.
- Sistem Control (Concurrency Control System)
Mengijinkan banyak user untuk mengakses basis data.
- Sistem Kontrol Pengembalian (Recovery Control System)
29
Untuk memperbaiki data jika sebelumnya terjadi kerusakan
pada software maupun hardware.
- Katalog yang dapat diakses user (User Accessible Catalog)
Berisi deskripsi dari sebuah data di dalam basis data.
2.1.5.5 Data Definition Language (DDL)
Definisi dari Data Definition Language menurut Connolly
dan Begg (2005, p40) adalah suatu bahasa yang memperbolehkan
Database Administrator (DBA) atau user untuk mendefinisikan
entitas, atribut, dan relationship yang dibutuhkan oleh suatu aplikasi,
bersama dengan beberapa integritas yang berhubungan dan security
constraint.
2.1.5.6 Data Manipulation Language (DML)
Definisi dari Data Manipulation Language menurut
Connolly dan Begg (2005, p40) adalah suatu bahasa yang
menyediakan satu set operasi yang digunakan untuk mendukung
operasi manipulasi data dasar yang ada di dalam basis data.
Operasi dari manipulasi data biasanya meliputi :
1. Menambahkan data baru di dalam basis data
2. Memodifikasi data yang tersimpan di dalam basis data
3. Memanggil data yang terdapat di dalam basis data
4. Penghapusan data dari basis data
30
Ada 2 tipe dari DML yaitu :
1. Procedural DML
Suatu bahasa yang mengijinkan user untuk memberitahukan
kepada sistem data apa saja yang dibutuhkan dan bagaimana
cara yang tepat untuk memanggil data tersebut.
2. Non Procedural DML
Suatu bahasa yang mengijinkan user untuk menentukan data apa
saja yang dibutuhkan daripada bagaimana data tersebut
dikembalikan.
2.1.6 Entity Relationship Diagram (ERD)
2.1.6.1 Pengertian ERD
Menurut Hoffer, Prescott, dan McFadden (2005, p93),
ERD (Entity Relationship Diagram) adalah representasi grafis
dari entity-relationship model. Entity Relationship Model (E-R
Model) adalah representasi logikal dari data untuk sebuah
organisasi atau untuk sebuah area bisnis.
Menurut Whitten (2004, p295), ERD adalah model data
yang menggunakan beberapa notasi untuk menggambarkan data
dalam hubungan antar entity dan relationship yang digambarkan
oleh data tersebut.
Menurut Rob, Coronel (2002, p815), ERD adalah diagram
yang menggambarkan entity, atribut, dan relasi dalam ERM
(Entity Relational Model)
31
2.1.6.2 Komponen ERD
1. Entitas (Entity)
Menurut Rob, Coronel (2002, p814), entitas adalah
sesuatu yang digunakan untuk tempat penyimpanan data
biasanya data-data tersebut berupa orang, tempat, objek,
kejadian atau konsep.
Strong Entity adalah entitas yang keberadaannya tidak
bergantung pada entitas lain.
Gambar 2.5 Simbol Strong Entity
Weak Entity adalah entitas yang keberadaannya bergantung
pada entitas lain.
Gambar 2.6 Simbol Weak Entity
Composite Entity adalah entitas yang dihasilkan dari
relationship many to many.
Entity
Entity
CLASS STUDENT Enrolls in
32
Gambar 2.7 Contoh Composite Entity
2. Relasi (Relationship)
Menurut Rob,Coronel (2002, p124), relasi adalah
asosiasi hubungan antara entitas. Entitas yang berhubungan
dalam relasi disebut participants.
Konektivitas antar relasi, antara lain:
a. Relasi 1:1
Gambar 2.8 Contoh Relasi 1:1
b. Relasi 1:M
teaches
Gambar 2.9 Contoh Relasi 1:M
User Password has
STUDENT Stu_Num Stu_Name
Is found in
Is written in
ENROLL Stu_Num (FK) Class_ID (FK) Enroll Grade
CLASS Class_ID Class_Time Room_Code CRS_Code
Lecturer Class
33
c. Relasi M:M
Gambar 2.10 Contoh Relasi M:M
Relationship Participants terdiri dari 2 jenis, antara lain:
a. Optional
Entitas yang ada tidak memerlukan occurrence yang
sama di dalam entitas yang berhubungan. Ditunjukkan
dengan menggambar sebuah lingkaran kecil di salah
satu sisi dari entitas optional di dalam ERD.
Gambar 2.11 Contoh Optional Relationship
b. Mandatory
Entitas memerlukan occurrence yang sama di dalam
entitas yang saling berhubungan. Jika tidak ada simbol
optional yang ditunjukkan di dalam ERD, maka itu
adalah mandatory.
PROFESSOR CLASS teaches
Student Class takes
34
Gambar 2.12 Contoh Mandatory Relationship
Derajat relasi ada 3 yaitu :
a. Unary
Merupakan single entitas, bersifat rekursif, dan terjadi
pada entitas yang sama.
Gambar 2.13 Contoh Unary Relationship
b. Binary
Merupakan 2 entitas yang saling berhubungan.
Gambar 2.14 Contoh Binary Relationship
c. Ternary
Merupakan 3 entitas yang saling berhubungan.
PROFESSOR CLASS teaches
COURSE generates CLASS
COURSE requires
35
Gambar 2.15 Contoh Ternary Relationship
3. Atribut (Attribute)
Menurut Rob & Coronel (2002, p808), atribut adalah
karakter dari sebuah entitas atau objek. Atribut memiliki nama
dan tipe data.
a. Simple Attribute
Menurut Rob,Coronel (2005,p121), Simple Attribute
adalah atribut yang tidak dapat dibagi lagi.
Contohnya umur, jenis kelamin.
Gambar 2.16 Simbol Atribut
Contributor Recipient
Fund
Receives from
Is distributed in
Contributes to
CFR
STUDENT Stu_Name Stu_Initial Stu_Email
36
b. Composite Attribute
Menurut Rob,Coronel (2002,p121), Composite Attribute
adalah atribut yang dapat dibagi menjadi atribut tambahan.
Contohnya atribut Alamat dapat dibagi menjadi jalan, kota,
propinsi, dan kode pos.
c. Single-valued Attribute
Menurut Rob,Coronel (2002,p121), Single-valued
Attribute adalah atribut yang hanya dapat memiliki 1 nilai.
Contohnya 1 orang hanya dapat memiliki 1 nomor KTP.
d. Multi-valued Attribute
Menurut Rob,Coronel (2002,p121), Multi-valued Attribute
adalah atribut yang dapat memiliki banyak nilai.
Contohnya seseorang dapat memiliki banyak nomor
telepon (HP, kantor, rumah).
e. Derived Attribute
Menurut Rob,Coronel (2002,p123), Derived Attribute
tidak butuh disimpan secara fisikal di dalam database.
Derived Attribute adalah atribut yang memiliki nilai yang
merupakan nilai turunan dari atribut lainnya. Contohnya
atribut EMP_AGE bisa didapatkan dari atribut lain yaitu
dari tanggal sekarang dikurangi dengan nilai EMP_DOB