BAB 2
LANDASAN TEORI
2.1 Teori umum
Data
Data
merupakan
aliran fakta
yang mewakili
kejadian
yang
terjadi
dalam
organisasi  atau  dalam  lingkungan  fisik  sebelum  mereka  diatur  menjadi  sebuah
bentuk
yang
dapat
dimengerti dan digunakan
oleh pengguna (Laudon,
2000, p8).
Sedangkan menurut Navathe dan Elmasri (2000, p4), data adalah fakta yang dapat
disimpan dan memiliki arti. Sehingga dapat disimpulkan bahwa data adalah fakta
yang telah terjadi, memiliki arti, dan dapat disimpan serta dapat diatur sedemikian
rupa sehingga dapat  digunakan untuk berbagai tujuan.
Secara tradisional, data diorganisasikan ke dalam suatu hirarki yang terdiri
atas elemen, rekaman (record), dan berkas (file).
Elemen data
Elemen data adalah satuan data terkecil yang tidak dapat dipecah
lagi
menjadi
unit
yang bermakna.
Istilah lain
untuk elemen data adalah
field, kolom, item, dan atribut.
Rekaman
Rekaman adalah gabungan sejumlah elemen data yang saling
terkait. Dalam sistem basis data relasional, rekaman biasa disebut dengan
istilah tuple atau baris.
6
  
7
Berkas
Himpunan seluruh rekaman yang bertipe sama membentuk sebuah
berkas.
Berkas
dapat
dikatakan
sebagai
kumpulan rekaman
data
yang
berkaitan  dengan  suatu  subyek.  Dalam  sistem  basis  data  relasional,
berkas mewakili komponen yang disebut tabel atau relasi.
Basis data
Basis
data
adalah
suatu
koleksi
data
yang
saling
berhubungan secara
logikal,
dan
sebuah
deskripsi
data
yang dirancang untuk
memenuhi kebutuhan
informasi
suatu
organisasi (Connolly,
2005,
p15).
Dapat
dikatakan
juga
basis
data
adalah kumpulan
file
yang
saling
berhubungan, hubungan
tersebut
biasa
ditunjukkan dengan kunci dari tiap file yang ada. Suatu basis data menunjukkan
satu
kumpulan
data
yang
dipakai
dalam
satu
lingkup
organisasi. Basis
data
menjadi salah satu bagian penting dari perusahaan untuk menyimpan informasi-
informasi yang diinginkan perusahaan tersebut.
Sistem basis data
Sistem
basis
data
pada
dasarnya
adalah
sekumpulan aplikasi
yang
berinteraksi dengan basis data yaitu DBMS dan basis data itu sendiri (Connoly
2005, p4). Keseluruhan sistem terkomputerisasi tersebut membolehkan pengguna
menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
  
8
2.2 Teori khusus
2.2.1 Pendekatan Basis Data
Basis data
adalah
suatu
koleksi
data
yang saling
berhubungan
secara
logikal, dan sebuah deskripsi data yang dirancang untuk memenuhi kebutuhan
informasi
suatu
organisasi (Connolly, 2005,
p15).
Basis
data
juga
dapat
diartikan sebagai dari file
yang
saling
berhubungan di
mana setiap baris pada
suatu
basis
data
juga
harus
saling
terhubung dengan
baris
pada
lain
file
(Whitten, 2004, p548).
Dapat disimpulkan bahwa basis
data
menyimpan data
yang
saling
berhubungan yang
dibutuhkan
oleh
suatu
organisasi
untuk
menyediakan informasi-informasi yang berguna.
Dengan
basis
data
dapat
mempercepat proses
pemenuhan
suatu
kebutuhan informasi
suatu
organisasi
di
mana
kebutuhan
informasi
tersebut
berbeda-beda pada tiap-tiap organisasi.
Sebuah
basis
data
yang
besar,
memerlukan sebuah
perangkat
lunak
untuk
mengatur basis
data tersebut secara keseluruhan. Perangkat
lunak
yang
dapat digunakan untuk membuat, mengakses, mengontrol, dan mengatur suatu
basis
data
dinamakan sistem
manajemen
basis
data,
biasa
disebut
dengan
database management system, disingkat DBMS (Whitten, 2004, p554).
Selain membutuhkan sebuah perangkat lunak untuk mengatur basis data
yang
ada, sebuah
organisasi
juga
membutuhkan seseorang
yang
bertanggung
jawab
terhadap basis data
yang ada.
Orang
yang bertanggung jawab terhadap
realisasi
fisikal
dari
suatu
basis
data,
yang
meliputi perancangan basis
data
fisikal,
implementasi, kontrol
keamanan
dan
integritas,
pemeliharaan
operasional sistem, dan
memastikan kepuasan pengguna terhadap unjuk kerja
  
9
aplikasi dinamakan dengan database administrator , disingkat DBA (Connolly,
2005, p22).
2.2.2 Database Application Lifecycle (DBLC)
Untuk merancang aplikasi sistem basis data diperlukan tahapan-tahapan
terstruktur
yang
harus diikuti
yang
dinamakan dengan
Siklus
Hidup
Aplikasi
Basis
Data
(Database Application Lifecycle)  atau
disingkat dengan
DBLC.
Perlu diingat bahwa tahapan dalam DBLC
tidak
harus
berurutan, namun juga
melibatkan  beberapa  pengulangan  ke  tahapan  sebelumnya  melalui  putaran
balik (feedback loops). Tahapan-tahapan tersebut terlihat pada gambar 2.1.
Tahapan
Aktivitas Utama
Database planning
Merencanakan bagaimana tahapan dari DBLC dapat terrealisasi
dengan efektif dan efisien
System definition
Menspesifikasikan ruang lingkup dari sistem basis data
Requirement collection and
analysis
Mengumpulkan dan menganalisa kebutuhan dari sistem basis
data yang baru
Database desain
Desain konseptual, logikal dan fisikal dari basis data
DBMS selection (optional)
Memilih DBMS yang sesuai dengan sistem basis data
Application Desain
Melakukan desain tampilan dan aplikasi yang menggunakan dan
memproses basis data
Prototyping (optional)
Membangun model untuk sistem basis data yang memungkinkan
pendesain untuk memvisualisasikan dan mengevaluasi
bagaimana sistem akhir
Implementation
Membuat definisi fisikal dari basis data dan aplikasinya
Data convertion and
loading
Memasukkan data lama ke dalam sistem basis data dan merubah
koneksi dari aplikasi lama ke sistem basis data baru
Testing
Basis data diperiksa untuk mengetahui kesalahan dan
divalidasikan terhadap kebutuhan pengguna
Operation maintenance
Sistem basis data diimplementasikan secara penuh dan diperiksa
secara kesinambungan. Saat dibutuhkan, kebutuhan baru bisa
ditembahkan melalui tahapan alur hidup
Tabel 2.1 Tahapan DBLC (Connolly, 2005, p285)
  
10
Database Planning
System Definition
Requirements Collection
and
Analysis
DBMS
Selection
(optional)
Database
Design
Conceptual
Database
Design
Logical Database
Design
Application Design
Physical
Database
Design
Prototyping (optional)
Implementation
Data Conversion
and
Loading
Testing
Operational
Maintenance
Gambar 2.1 Database Application Lifecycle (Connolly, 2005, p284)
  
11
2.2.3 Perencanaan Basis Data
Perencanaan  basis 
data 
adalah 
kegiatan 
pengaturan 
yang
memungkinkan tahap-tahap dalam aplikasi basis data dapat diwujudkan secara
efisien dan secara efektif mungkin (Connolly, 2005, p285). Tahap perencanaan
basis data juga harus menjelaskan :
Mission  statement 
dari  proyek  basis 
data.  Mission
statement 
ini
menjelaskan tujuan
utama
aplikasi
basis
data,
juga
membantu
menjelaskan tujuan proyek basis data,
dan
menyediakan maksud
yang
lebih  jelas  dalam  pembuatan
aplikasi  basis  data  secara  efektif  dan
efisien
(Connolly,
2005,
p286).
Dengan
merumuskan
apa
sebenarnya
yang
menjadi tujuan dari proyek basis data
ini
diharapkan dapat
lebih
memfokuskan pekerjaan pada tahap selanjutnya.
Mission objectives. Selain merumuskan tujuan dari sebuah proyek basis
data,
harus
diperhatikan juga
mengenai
tugas
apa
saja
yang
harus
didukung oleh
basis
data
tersebut.
Setiap
mission
objective
akan
menjelaskan tugas tertentu yang harus didukung oleh basis data, dengan
asumsi jika
basis
data
mendukung
mission
objectives,
maka
mission
statementnya juga akan sesuai (Connolly, 2005, p286).
2.2.4 Pendefinisian Sistem
Pendefinisian sistem (system definition)
menggambarkan ruang lingkup
dan batasan
aplikasi basis data
dan
kebanyakan
pandangan
pengguna
(major
user
view)
(Connolly, 2005,
p286).
Hal
ini
sangat
penting dilakukan dalam
  
12
proses perancangan basis data agar lebih terfokus pada proyek basis data yang
dibuat.
Pandangan pengguna
(user
view)
sangat
diperlukan untuk
mengidentifikasi
informasi-informasi
yang
dibutuhkan oleh
user.
Pandangan
pengguna
menggambarkan apa
yang dibutuhkan oleh
aplikasi basis
data dari
sudut pandang
jabatan
tertentu,
seperti
manajer
atau
pengawas,
maupun dari
sudut
pandang
area
aplikasi
perusahaan,
seperti
pemasaran, personalia, atau
pengawasan persediaan (Connolly, 2005, p287).
2.2.5 Pengumpulan Kebutuhan dan Analisis
Tahap selanjutnya
yang dilakukan setelah Pendefinisian Sistem adalah
tahap pengumpulan kebutuhan dan analisis. Dalam
tahap ini dilakukan proses
pengumpulan dan
analisa
informasi
tentang
bagian
organisasi
yang
akan
didukung
oleh
aplikasi
basis
data,
dan
menggunakan informasi
ini
untuk
mengidentifikasi kebutuhan pengguna
terhadap
sistem
yang
baru (Connolly,
2005, p288).
Suatu
proses
resmi
dalam
menggunakan teknik-teknik
seperti
wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan
kebutuhan-kebutuhannya  dinamakan  dengan  teknik  fact-finding (Connolly,
2005, p314). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu :
1.   Memeriksa dokumentasi
Pemahaman 
terhadap 
jalannya 
sistem 
akan 
cepat 
diperoleh
dengan 
memeriksa  dokumen-dokumen,
formulir,  laporan,  dan  berkas
yang 
terkait  dengan  sistem  yang  sedang  berjalan  pada  perusahaan.
  
13
Dengan pemeriksaan ini diharapkan dapat mengetahui data-data apa saja
yang akan disimpan di dalam basis data.
2.   Wawancara
Wawancara
bertujuan
untuk
mengumpulkan fakta-fakta,
memeriksa kebenaran
fakta
yang
ada
dan
mengklarifikasinya,
menimbulkan
antusiasme,
melibatkan
pengguna
akhir,
mengidentifikasi
kebutuhan-kebutuhan, dan
mengumpulkan
ide-ide
dan
pendapat
(Connolly, 2005, p317). Teknik ini memerlukan kemampuan komunikasi
yang
baik
untuk
menghadapi pengguna
yang
memiliki
nilai,
prioritas,
pendapat, motivasi, dan kepribadian yang berbeda-beda.
Keuntungan menggunakan teknik ini menurut Thomas Connolly (2002,
p3018) antara lain:
Memungkinkan
orang
yang
diwawancara
untuk
menanggapi
pertanyaan dengan bebas dan terbuka
Memungkinkan
orang
yang
diwawancara
merasa
bahwa
ia
merupakan bagian dari proyek
Memungkinkan  pewawancara  untuk 
menindaklanjuti  komentar-
komentar menarik yang dibuat oleh orang yang diwawancara
Memungkinkan  pewawancara  untuk 
mengubah  atau 
menyusun
kembali pertanyaan selama kegiatan wawancara
Memungkinkan pewawancara untuk mengamati bahasa tubuh orang
yang diwawancara
  
14
Kerugian teknik ini menurut Thomas Connolly (2002,p306) yaitu :
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis
Keberhasilannya
tergantung
pada
kemampuan
komunikasi
pewawancara
Keberhasilannya
tergantung
pada
keinginan
orang
yang
diwawancara untuk ikut serta dalam wawancara
3.   Mengamati operasional perusahaan
Pengamatan ini
memungkinkan untuk
ikut
serta atau
mengamati
seseorang  melakukan  kegiatan  untuk  mempelajari  sistem.  Salah  satu
faktor
pengamatan dapat
berhasil
adalah
dengan
mencari
informasi
sebanyak mungkin tentang aktivitas yang akan diamati serta orang
yang
melakukan aktivitas tersebut.
Keuntungan menggunakan teknik ini antara lain :
Validitas fakta dan data dapat diperiksa
Pengamat dapat melihat dengan jelas apa yang dikerjakan
Pengamat
juga
dapat
memperoleh
data
yang
menjelaskan
lingkungan fisik dari tugas yang diberikan
Relatif murah
Pengamat dapat membuat pengukuran kerja
  
15
Kerugian teknik ini yaitu :
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis
Dapat  terlewat  dalam  mengamati 
tugas-tugas 
yang 
melibatkan
tingkat kesulitan yang lain
Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat
pengamatan
4.   Penelitian
Selain
melakukan penelitian
yang
berasal dari
dalam organisasi
itu
sendiri,
dapat
juga
dilakukan
pengumpulan
informasi
yang
berasal
dari
luar organisasi tersebut. Beberapa contoh sumber informasi
tersebut
antara
lain
jurnal
komputer, buku-buku
referensi,
dan
internet.
Sumber
informasi
tersebut
juga
dapat
digunakan
untuk
memecahkan masalah
serupa.
Keuntungan menggunakan teknik ini antara lain :
Dapat menghemat waktu jika solusinya telah tersedia
Peneliti  dapat  mengamati
cara  orang  lain  memecahkan
masalah
yang sama atau menemui kebutuhan yang serupa
Membuat para peneliti selalu up-to-date dengan perkembangan baru
Kerugian teknik ini yaitu :
Dapat menjadi sangat memakan waktu
Membutuhkan akses ke sumber informasi yang tepat
Dapat  saja  tidak  membantu  memecahkan  masalah  karena  tidak
didokumentasikan
  
16
5.   Kuesioner
Teknik 
lain 
yang 
dapat 
digunakan  untuk 
mengumpulkan
informasi
yang
dibutuhkan
adalah
dengan
menggunakan kuesioner.
Kuesioner adalah
suatu
dokumen
dengan
tujuan
khusus
yang
memungkinkan fakta-fakta
dikumpulkan
dari
banyak
orang
sambil
menjaga
kontrol
terhadap
tanggapan yang
diberikan
(Connolly, 2005,
p320).
Keuntungan menggunakan teknik ini antara lain :
Orang dapat melengkapi dan mengembalikan kuesioner pada waktu
yang sebaik-baiknya
Tidak mahal untuk mengumpulkan data dari banyak orang
Responden
lebih
mudah
untuk
memberikan jawaban
yang
benar
karena jawaban yang diberikan dapat dijaga kerahasiaannya
Tanggapan dapat ditabulasikan dan dianalisa dengan cepat
Kerugian teknik ini yaitu :
Jumlah responden dapat saja rendah, sekitar 5% sampai 10%
Kuesioner dapat saja dikembalikan dengan tidak lengkap
Tidak
menyediakan kesempatan untuk
mengubah pertanyaan yang
salah diartikan
Tidak dapat mengamati dan menganalisa bahasa tubuh responden
Memakan waktu untuk menyiapkan kuesioner
  
17
2.2.6 Entity-Relationship Modelling (E-R Modelling)
Model
Entity-Relationship
merupakan salah
satu
model
yang
dapat
memastikan pemahaman yang
tepat
terhadap
data
dan
bagaimana
penggunaannya di
dalam suatu
organisasi
(Connolly, 2005,
p342). Model
ini
dimulai
dengan
identifikasi entitas
dan
relationship
antardata
yang
harus
direpresentasikan
di  dalam  model,  dan  kemudian  ditambahkan
atribut  dan
setiap constraint pada entitas, relationship, dan atributnya.
2.2.6.1 Konsep Dasar Model E-R
Beberapa konsep dasar dalam model E-R, yaitu:
A.  Tipe Entitas
Tipe   entitas   adalah   sekumpulan 
objek   yang   memiliki
properti
yang
sama,
yang
diidentifikasikan di
dalam
organisasi
karena
keberadaannya yang
bebas
(independent
existence)
(Connolly, 2005, p343). Sedangkan entity occurrence adalah sebuah
objek
dari
satu
tipe
entitas
yang
dapat
diidentifikasi secara
unik
(Connolly,
2005,
p345).
Keberadaan
objek-objeknya secara
fisik/nyata (physical existence), seperti entitas Pegawai, Rumah, dan
Pelanggan,
atau
secara
konseptual/abstrak (conceptual
existence),
seperti entitas Inspeksi, Penjualan, dan Peninjauan.
Setiap
tipe
entitas
dilambangkan dengan
sebuah
persegi
panjang
yang
diberi
nama
dari
entitas
tersebut.
Nama
tipe
entitas
biasanya adalah kata benda tunggal. Huruf pertama dari setiap kata
  
18
pada  nama  tipe  entitas
ditulis  dengan
huruf  besar.  Representasi
diagram tipe entitas terlihat pada gambar 2.2.
Gambar 2.2
Representasi diagram dari tipe entitas Pegawai dan Cabang
(Connolly, 2005, p345)
Tipe entitas dapat diklasifikasikan menjadi :
Tipe Entitas Kuat, yaitu tipe entitas yang keberadaannya tidak
bergantung pada tipe entitas lainnya (Connolly, 2005, p354).
Tipe
Entitas
Lemah,
yaitu
tipe
entitas
yang
keberadaannya
bergantung pada tipe entitas lainnya (Connolly, 2005, p355).
Gambar 2.3
Representasi diagram tipe entitas kuat dan tipe entitas lemah
(Connolly, 2005, p355)
B.  Tipe Relationship
Tipe  relationship adalah  sekumpulan  hubungan  antartipe
entitas  yang 
memiliki  arti  (Connolly,  2005,  p346).  Sedangkan
  
19
relationship
occurrence
adalah
sebuah
hubungan yang
dapat
diidentifikasikan secara
unik,
yang
meliputi
sebuah
kejadian
(occurrence)   dari   setiap   tipe   entitas   di   dalam   relationship
(Connolly, 2005, p346).
Tipe
relationship
digambarkan dengan
sebuah
garis
yang
menghubungkan
tipe
entitas-tipe
entitas
yang
saling
berhubungan.
Garis
tersebut diberi
nama
sesuai
dengan
nama
hubungannya
dan
diberi tanda panah satu arah di samping nama hubungannya.
Biasanya
sebuah
relationship
dinamakan dengan
menggunakan
kata  kerja,  seperti
Mengatur, atau dengan
sebuah
frase singkat yang meliputi sebuah kata kerja, seperti DisewaOleh.
Sedangkan tanda panah ditempatkan di
samping
nama relationship
yang mengindikasikan arah bagi pembaca untuk
mengartikan nama
dari suatu relationship.
Huruf pertama
dari
setiap kata
pada
nama
relationship ditulis dengan huruf besar. Representasi diagram dari
suatu tipe relationship terlihat pada gambar 2.4.
Pegawai
Memiliki
Cabang
'
Cabang
memiliki pegawai '
Gambar 2.4
Representasi diagram dari tipe relationship
(Connolly, 2005, p347)
Derajat dari Tipe Relationship
Derajat
dari
tipe
relationship
adalah
jumlah
tipe
entitas
yang ikut serta dalam sebuah relationship (Connolly, 2005, p347).
  
20
Complex
relationship
types
adalah sebuah
relationship
dengan
derajat
yang
lebih
dari
binary
(Connolly, 2005,
p348).
Sebuah relationship yang memiliki derajat dua dinamakan binary
(Connolly, 2005,
p348).
Gambar
2.4
juga
merepresentasikan
diagram relationship
derajat dua. Sedangkan sebuah relationship
derajat
tiga
dinamakan ternary,
dan
jika
sebuah
relationship
memiliki derajat empat dinamakan quarternary
(Connolly, 2005,
p348).
Lambang
belah
ketupat
merepresentasikan relationship
yang
memiliki derajat
lebih
dari
dua.
Nama
dari
relationship
tersebut ditampilkan di dalam lambang belah ketupat. Panah yang
biasanya  terdapat
di 
samping  nama 
suatu 
relationship
dihilangkan.  Representasi  diagram  derajat  tiga  dari  suatu  tipe
relationship terlihat pada gambar 2.5.
Pegawai
Mendaftarkan
Cabang
Klien
'Pegawai
mendaftarkan
seorang
klien
pada sebuah cabang'
Gambar 2.5
Representasi diagram derajat tiga dari suatu tipe relationship
(Connolly, 2005, p362)
  
21
Recursive Relationship
Recursive
relationship
adalah sebuah
tipe
relationship
dimana tipe entitas
yang
sama
ikut serta
lebih
dari sekali
pada
peran yang berbeda (Connolly, 2005, p349).
Relationship 
dapat 
diberikan  nama 
peran 
untuk
menentukan fungsi
dari
setiap
entitas
yang
terlibat
dalam
relationship
tersebut. Representasi diagram recursive relationship
beserta nama perannya terlihat pada gambar 2.6.
Nama
peran juga
dapat
digunakan jika
dua
buah
entitas
dihubungkan melalui
lebih
dari
satu
relationship.
Representasi
diagram  nama  peran  yang  digunakan  pada  dua  buah  entitas
terlihat pada gambar 2.7.
Nama peran
Mengawasi
Nama peran
Orang yang
diawasi
Pengawas
Pegawai
'Pegawai (Pengawas)
mengawasi pegawai (orang yang diawasi)'
Gambar 2.6
Representasi diagram recursive relationship dan nama peran
(Connolly, 2005, p349)
  
22
Pegawai
Cabang
Memiliki
'Manajer mengatur
kantor cabang'
Nama peran
Manajer
Mengatur
Kantor
Cabang
Anggota
Pegawai
Kantor
Cabang
Nama peran
'Kantor
cabang memiliki
anggota
pegawai'
Gambar 2.7
Representasi diagram entitas dengan dua
relationship berbeda beserta nama peran (Connolly, 2005, p350)
C.  Atribut
Atribut
adalah
properti sebuah
entitas
atau
relationship
(Connolly, 2005, p350).
Menurut Jeffery L. Whitten (2004,
p295),
atribut merupakan properti deskriptif atau
karakteristik dari
sebuah
entitas.
Atribut
menampung nilai
yang
menjelaskan
setiap
entity
occurrence
dan
menggambarkan bagian
utama
dari
data
yang
disimpan di dalam basis data.
Atribut
domain
adalah
sekumpulan nilai
yang
dibolehkan
bagi
satu
atau
lebih
atribut (Connolly,
2005, p350).
Atribut dapat
diklasifikasikan menjadi:
1)
Simple
attribute
adalah atribut yang
terdiri dari
komponen
tunggal dengan keberadaaannya  yang bebas (Connolly, 2005,
p351).
  
23
2)  Composit
attribute
adalah
atribut
yang terdiri dari
beberapa
komponen, dan
keberadaan setiap
komponen
tersebut
bebas
(Connolly, 2005, p351).
3)
Single-valued
attribute
adalah atribut yang
hanya
memiliki
sebuah nilai
untuk
setiap occurrence
dari
sebuah entitas
(Connolly, 2005, p351).
4)
Multi-valued
attribute
adalah
sebuah
atribut yang
memiliki
banyak nilai
untuk setiap occurrence dari sebuah tipe entitas
(Connolly, 2005, p352).
5)  Derived  attribute  adalah 
atribut 
yang   merepresentasikan
sebuah
nilai  
yang   diturunkan  
dari  
atribut  
lain  
yang
berhubungan  atau  kumpulan  dari  atribut  (Connolly,  2005,
p352).
2.2.6.2 Keys
Candidate
key
adalah
himpunan atribut
yang
minimal
yang
secara
unik
mengidentifikasikan setiap
occurrence
dari
sebuah
tipe
entitas (Connolly, 2005, p352).
Composite
key
adalah
sebuah
candidate
key
yang
terdiri
atas
dua atau lebih atribut (Connolly, 2005, p353).
Primary
key
adalah
candidate
key
yang
terpilih untuk
mengidentifikasikan secara
unik
setiap
occurrence
dari
sebuah
tipe
entitas
(Connolly, 2005,
p353).
Pada
sebuah
tipe
entitas
biasanya
terdapat lebih dari satu candidate key yang salah satunya harus dipilih
  
24
untuk
menjadi
primary
key.
Pemilihan
primary
key
didasarkan pada
panjang
atribut,   jumlah  
minimal   atribut   yang   diperlukan,   dan
keunikannya.
Alternate
key
adalah setiap
candidate
key
yang
tidak
terpilih
menjadi 
primary 
key,
atau 
biasa  disebut 
dengan 
secondary 
key
(Whitten, 2004, p298).
Foreign  key  adalah
sebuah  primary key pada
sebuah
entitas
yang digunakan pada entitas lainnya untuk mengidentifikasikan sebuah
relationship (Whitten, 2004, p301).
primary key
ruang untuk
menuliskan
atribut
Pegawai
noPeg {PK}
nama
jabatan
gaji
/totalPeg
Mengatur
Memiliki
derived
attribute
Cabang
noCab {PK}
alamat jalan
kota
kodepos
telp
[1..3]
composite
attribute
multi-valued
attribute
Gambar 2.8
Representasi diagram entitas Pegawai dan Cabang beserta
atribut dan primary keynya (Connolly, 2005, p354)
2.2.6.3 Batasan Struktural (Structural Constraints)
Batasan-batasan
yang
menggambarkan pembatasan
pada
relationship seperti yang ada pada real world
harus
diterapkan pada
tipe entitas yang ikut serta pada sebuah relationship. Jenis utama dari
  
25
batasan  pada  suatu  relationship dinamakan  multiplicity (Connolly,
2005, p356).
Multiplicity  adalah jumlah occurrence  yang mungkin  terjadi
pada
sebuah tipe
entitas
yang berhubungan ke
sebuah occurrence dari
tipe entitas lain pada suatu relationship (Connolly, 2005, p356).
Derajat
yang biasanya digunakan pada suatu relationship adalah
binary relationship, yang terdiri atas :
One-to-one (1:1) Relationship
Setiap
relationship
menggambarkan hubungan
antara
sebuah entity
occurrence
pada
entitas
yang
satu
dengan sebuah
entity
occurrence
pada
entitas
lainnya yang
ikut
serta
dalam
relationship tersebut.
Pegawai
tipe entiti
(noPeg)
SG5
Mengatur
tipe relationship
r1
Cabang tipe entiti
(noCab)
B003
SG37
SL21
r2 
B005
Gambar 2.9  Semantic net menunjukkan dua occurrence dari
relationship Pegawai Mengatur Cabang (Connolly, 2005, p357)
  
26
setiap cabang diatur
oleh satu orang pegawai
seorang pegawai dapat
mengatur nol  atau satu cabang
Pegawai
noPeg
Mengatur
1..1 
0..1
Cabang
noCab
Multiplicity
Gambar 2.10  Multiplicity dari relationship one-to-one (1:1)
(Connolly, 2005, p358)
One-to-many (1:*) Relationship
Setiap
relationship
menggambarkan hubungan
antara
sebuah entity occurrence pada entitas yang satu dengan satu atau
lebih entity occurrence pada entitas lainnya yang ikut serta dalam
relationship tersebut.
Pegawai
tipe entiti
(noPeg)
SG5
Melihat
tipe relationship
r1
RumahSewa tipe
entiti
(noRumah)
PG21
SG37
r2 
PG36
PA14
SA9
r3
PG4
Gambar 2.11  Semantic net menunjukkan tiga occurrence dari
relationship Pegawai Melihat RumahSewa (Connolly, 2005, p358)
  
27
setiap rumah sewa 
dilihat
oleh 
nol
atau  satu  pegawai
setiap pegawai
melihat nol
atau
lebih 
rumah sewa
Pegawai
noPeg
Melihat
0..1 
0..*
RumahSewa
noRumah
Gambar 2.12  Multiplicity dari relationship one-to-many (1:*)
(Connolly, 2005, p359)
Many-to-many (*:*) Relationship
Setiap
relationship
menggambarkan hubungan antara satu
atau
lebih
entity
occurrence
pada
entitas
yang
satu
dengan satu
atau
lebih
entity
occurrence
pada
entitas
lainnya
yang
ikut
serta
dalam relationship tersebut.
Koran tipe entiti
(namaKoran)
Glasgow Daily
The 
News West
Aberdeen Express
Mengiklankan
tipe 
relationship
r1
r2
r3
r4
RumahSewa tipe
entiti
(noRumah)
PG21
PG36
PA14
PG4
Gambar 2.13  Semantic net menunjukkan empat occurrence dari
relationship Koran Mengiklankan RumahSewa (Connolly, 2005, p360)
  
28
setiap
rumah
sewa diiklankan
pada nol atau lebih
koran
setiap koran
mengiklankan satu
atau lebih rumah
sewa
Koran
namaKoran
Mengiklankan
0..*
1..*
RumahSewa
noRumah
Gambar 2.14  Multiplicity dari relationship many-to-many (*:*)
(Connolly, 2005, p360)
2.2.7 Cardinality dan Participation Constraints
Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu:
A.  Cardinality
Cardinality
adalah
nilai
maksimum dari
relationship
occurrence
yang
mungkin terjadi
untuk
sebuah
entitas
yang
ikut
serta
pada
suatu
relationship (Connolly, 2005, 363).
B.  Participation
Participation menentukan apakah semua atau hanya beberapa entity
occurrence
yang
ikut
serta
dalam sebuah relationship
(Connolly,
2005,
363). Participation constraint dibagi menjadi :
Mandatory participation
Mandatory participation melibatkan semua entity occurrence
pada relationship tertentu (Connolly, 2005, p363).
Optional participation
Optional participation melibatkan beberapa entity occurrence
pada  relationship
tertentu  (Connolly,  2005, 
p363). 
Representasi
  
29
diagram
terhadap multiplicity
sebagai
cardinality
dan
participation
constraints dapat dilihat pada gambar 2.15.
Cardinality
sebuah cabang
diatur
oleh
seorang pegawai
seorang
pegawai
mengatur satu cabang
Pegawai
noPeg
Mengatur
1..1
0..1
Cabang
noCab
'semua cabang diatur'
(mandatory participation
pada Cabang)
'tidak semua
pegawai
mengatur
cabang' (optional
participation
pada Pegawai)
Participation
Gambar 2.15 
Multiplicity sebagai cardinality dan participation
constraints pada relationship one-to-one (1:1) Pegawai Mengatur
Cabang (Connolly, 2005, p363)
2.2.8 Specialization/Generalization
Konsep  dasar  dari  pemodelan  dengan  ER  Diagram  sering  kali  tidak
cukup mendukung untuk merepresentasikan kebutuhan dari aplikasi yang lebih
baru,
dan
kompleks.
Hal
ini
menstimulasikan kebutuhan
untuk
memberikan
tambahan
konsep
permodelan yang
semantik.
Permodelan ER
yang
telah
mendukung
konsep
semantik biasa
kita
sebut
Enhanced
Entity-Relationship
(ERR)
Model.
Pada
ERR
model,
kita
mengenal konsep
Specialization/Generalization. Specialization.
  
30
Konsep 
Specialization/Generalization 
memberikan  dukungan 
akan
adanya Subclass/Superclass dan proses attribute inheritance Superclass adalah
tipe
entitas
yang
memiliki satu
atau
lebih
anggota
yang
perlu
ditampilkan
didalam
model  data.  Sedangkan
Subclass  adalah  anggota
dari  sebuah  tipe
entitas yang perlu direpresentasikan dalam model data (Connolly, 2005, p372).
2.2.9 Perancangan Basis Data (Database Design)
Perancangan basis
data
(database
design)
adalah
proses
pembuatan
sebuah rancangan untuk basis
data
yang akan
mendukung operasi dan tujuan
perusahaan
yang
dibutuhkan
oleh
sistem
basis
data(Connolly, 2005,
p291).
Dalam
perancangannya diperlukan
metodologi
yang
benar
sehingga
perancangan dapat
berjalan
sesuai
dengan
konsep
yang
ada.
Metodologi
perancangan
(design
methodology)
adalah
pendekatan terstruktur
yang
menggunakan
prosedur-prosedur,
teknik-teknik, peralatan,
dan
dokumentasi
untuk
mendukung
dan
memudahkan proses
perancangan
(Connolly,
2005,
p438).
Teknik
ini
digunakan
untuk
membantu
merencanakan, mengatur,
mengontrol,
dan
mengevaluasi
proyek
pengembangan basis
data.
Tahapan
dalam metodologi perancangan ada tiga, yaitu :
2.2.9.1 Perancangan Basis Data Konseptual ( Conceptual Database Design)
Conceptual database
design
adalah proses
membangun
model
informasi yang digunakan organisasi, bebas dari semua
pertimbangan
fisik 
(Connolly,  2005, 
p439).  Pertimbangan  fisik 
yang 
dimaksud
meliputi 
DBMS 
yang 
akan 
digunakan, 
program 
aplikasi, 
bahasa
  
31
pemrograman, platform perangkat keras, unjuk kerja, dan pertimbangan
fisik
lainnya. Langkah-langkah dalam
metodologi conceptual database
design yaitu :
Langkah  1  -  Membangun  Local  Conceptual  Data  Model untuk
setiap pandangan pengguna
Bertujuan
untuk memecah
rancangan
menjadi tugas-tugas yang
dapat
diatur
dengan
memeriksa sudut
pandang
yang
berbeda
dari
pengguna di
dalam
organisasi (Connolly,
2005,
p442).
Hasil
dari
langkah
ini
berupa pembuatan satu
atau
lebih
local
conceptual
data
model  yang
merupakan
penggambaran
yang
tepat
dan 
lengkap
dari
suatu organisasi dilihat dari para pengguna yang berbeda.
Tugas-tugas
yang dilakukan pada langkah ini terdiri dari :
Langkah 1.1  Mengidentifikasi tipe entitas
Tipe entitas dapat
dikenali
dengan
mengidentifikasikan
kata
benda
atau
frase
kata
benda
pada
spesifikasi kebutuhan
pengguna, objek
besar
seperti
orang (people),
tempat
(place),
benda
(thing)
atau
konsep
(concept).
Alternatif lain
adalah
dengan mencari obyek yang keberadaannya bebas.
Langkah 1.2  Mengidentifikasi Relationship Type
Bertujuan
untuk
mengidentifikasi relationship
yang
penting
yang
ada
antara
tipe
entitas-tipe entitas
yang
telah
diidentifikasi
sebelumnya.
Tipe  relationship diidentifikasikan
  
32
dengan
mencari
kata kerja atau
suatu
kata
yang
berhubungan
dengan kata kerja.
Langkah 1.3  Mengidentifikasi dan menghubungkan atribut
dengan entitas dan relationship
Tujuannya untuk
menghubungkan atribut dengan entitas
dan  tipe  relationship yang  tepat.  Atribut  yang  dimiliki
oleh
setiap
entitas
dan
relationship
harus
memenuhi karakteristik
atribut yaitu
simple/composite
attribute,
single/multi-valued
attribute, dan derived attribute.
Langkah 1.4  Menentukan domain atribut
Domain adalah sekumpulan nilai dimana satu atau
lebih
atribut
memperoleh nilainya
(Connolly,
2005,
p450).
Contoh
menentukan
domain
pada
atribut
JenisKelamin di
entitas
Mahasiswa adalah dengan ‘L’ atau ’P’.
Langkah 1.5  Menentukan  atribut  Candidate  Key,  Primary
Key dan Alternate Key
Tujuannya
untuk
mengidentifikasi
candidate key
setiap
tipe entitas, dan jika terdapat lebih dari satu candidate key maka
terpilih satu sebagai primary key dan sisanya dapat kita jadikan
sebagai alternate key.
  
33
Langkah 1.6 
Pertimbangkan
penggunaan
enhance
modelling concepts (langkah pilihan)
Maksud 
dari 
langkah 
ini  adalah 
untuk 
menentukan
specialization, generalization, aggregation, composition.
Specialization
merupakan suatu proses
memaksimalkan
perbedaan-perbedaan antara
anggota-anggota
sebuah
entitas
dengan
cara
mengidentifikasi karakteristik
yang
membedakan
entitas tersebut (Connolly, 2005, p374).
Generalization
merupakan suatu
proses
meminimalkan
perbedaan-perbedaan antara
entitas-entitas
dengan
cara
mengidentifikasi sifat umum entitas (Connolly, 2005, p375).
Aggregation
menggambarkan
relationship has-a
atau
is-part-of
antara tipe
entitas dimana
yang
satunya
mewakili
whole’  (seluruhnya)
dan  yang  satunya  lagi  mewakili  ‘part
(bagian) (Connolly, 2005, p383).
Langkah 1.7  Memeriksa redudansi
Bertujuan
memeriksa conceptual
model
untuk
menghindari adanya
redundansi
atau
pengulangan data
dalam
model. Ada dua kegiatan yang dapat dilakukan pada tahap ini:
1) 
Memeriksa kembali one-to-one relationship (1:1)
Kemungkinan
ada  dua  entitas
yang
menggambarkan objek
yang
sama
dalam organisasi. Oleh
karena itu, kedua entitas tersebut harus digabungkan.
  
34
2) 
Menghilangkan relasi yang redundan
Suatu relationship menjadi redundan jika informasi
yang sama dihasilkan melalui
relationship
yang
lainnya.
Untuk
meminimalkan data model maka relationship
yang
redundan harus dihilangkan.
Langkah 1.8  Memvalidasi conceptual model dengan transaksi
Bertujuan untuk memastikan local conceptual data model
mendukung transaksi yang dibutuhkan oleh pandangan pengguna
(Connolly, 2005, p456). Dua pendekatan untuk memastikan local
conceptual data model mendukung kebutuhan transaksi :
1) 
Menggambarkan transaksi (describing the transaction)
Memeriksa semua
informasi
(entitas,
relationship,
dan
atributnya) yang
dibutuhkan
setiap
transaksi
yang
disediakan oleh model (Connolly, 2005, p456).
2) 
Menggunakan transaction pathways
Memvalidasi data
model
terhadap
kebutuhan
transaksi
dengan
menggambar diagram
yang
mewakili
pathway   yang  diambil   oleh  setiap  transaks secara
langsung pada E-R diagram (Connolly, 2005, p457).
  
35
Langkah 1.9  Melihat kembali conceptual data model dengan
pengguna
Langkah
ini
dilakukan dengan
tujuan
untuk
memastikan
bahwa data model merupakan representasi yang benar bagi setiap
pandangan.
2.2.9.2 Perancangan Basis Data Logikal (Logical Database Design)
Desain
basis
data
logikal
adalah
proses
membangun model
informasi
yang digunakan organisasi berdasarkan model data
tertentu,
tetapi tidak tergantung dari Database Management System (DBMS) dan
pertimbangan fisik
lainnya
(Connolly,
2005,
p439).
Langkah-langkah
dalam metodologi logical database design yaitu:
Langkah 2  Membangun dan validasi logical data model
Tujuannya
untuk
membangun sebuah
logical
data
model
dari
sebuah conceptual
data
model
yang
mewakili pandangan tertentu dari
organisasi
dan
kemudian
memvalidasi model
ini
untuk
memastikan
bahwa strukturnya benar (dengan menggunakan teknik normalisasi) dan
untuk
memastikan
dukungannya
terhadap
transaksi-transaksi yang
dibutuhkan. Kegiatan yang dilakukan pada langkah ini meliputi :
Langkah 2.1  Membuat relasi untuk logical data model
Bertujuan
untuk
menyaring conceptual
data
model
sehingga
fitur-fitur yang
tidak
sesuai
dengan
model
relasional
dihilangkan. Langkah-langkahnya antara lain :
  
36
1) 
Menentukan tipe entitas kuat
Untuk semua entitas
dengan jenis
kuat,
buatlah sebuah
entitas
yang
memiliki semua
atribut
yang
dimilikinya.
Untuk
Composit
attribute,
hanya
sertakan atribut
pokoknya saja.
2) 
Menentukan tipe entitas lemah
Untuk setiap entitas
lemah, buatlah sebuah entitas
yang
termasuk semua atribut yang dimilikinya. Namun begitu,
Primary  Key  dari entitas
ini  belum  bisa  ditentukan
sampai relasinya dengan entitas kuat dibuat.
3) 
Membuat One-to-many (1:*) Relationship
Pada relasi jenis ini, entitas pada ‘sisi
satu’ kita anggap
sebagai 
entitas 
induk 
sedangkan 
entitas 
pada   ‘sisi
banyak’
dianggap sebagai
entitas
anak.
Untuk
merepresentasikan hubungan
ini,
kita
kirimkan
Primary
Key dari
entitas induk sebagai Foreign Key pada entitas
anak
4) 
Membuat one-to-one (1:1) binary Relationship
Relasi
1:1
lebih
sulit
ditentukan
hubungannya. Hal
ini
disebabkan    karena    Cardinality   dan    Participation
  
37
Constraints
juga
akan
menentukan dalam
mengidentifikasi entitas
induk dan anak dalam relasi
ini.
a) 
Mandatory Participation pada kedua sisi
Pada
kasus
ini,
maka kita
harus
menggabungkan
kedua
entitas
yang
memiliki relasi
jenis
ini
dan
memilih salah satu dari kedua Primary
Key sebagai
Primary Key yang baru
b) 
Mandatory Participation pada satu sisi
Pada kasus
ini, kita bisa
mengidentifikasikan entitas
yang berada pada sisi Optional Participation sebagai
entitas
induk,
sedangkan yang
berada
pada
sisi
Mandatory 
Participation 
sebagai  entitas 
anak.
Seperti
pada
langkah
sebelumnya, kita
kirimkan
Primary Key dari entitas
induk sebagai Foreign Key
pada entitas anak.
c) 
Optional Participation pada kedua sisi
Pada
kasus
ini,
pemilihan induk
dan
anak
bisa
berubah-ubah. Untuk
bisa
menentukan,
maka
kita
harus mencari sisi Optional Participation mana yang
lebih
mendekati sebagai
Mandatory
Participation.
Atau
dengan
kata
lain, pemecahan untuk
relasi
ini
sangat tergantung dengan kondisi data.
  
38
5) 
Membuat one-to-one (1:1) recursive Relationship
Untuk pemecahan hubungan ini, kita bisa menggunakan
cara yang sama dengan yang kita terapkan dengan yang
kita gunakan pada 1:1 relationship.
6) 
Memecah Superclass/subclass relationship
Untuk
setiap Superclass/subclass
relationship
kita
mengidentifikasikan superclass
sebagai
entitas
induk
sedangkan subclass
sebagai
entitas
anak.
Cara
kita
merepresentasikan data
ini
sangatlah
tergantung dengan
Disjoint  constraint  dan Participation  constraint  dari
Superclass/subclass relationship.
Participation constraint
Disjoint constraint
Pemecahan
Mandatory
Nondisjoint {And}
Gabungkan  entitas 
induk
dan 
semua 
entitas 
anak
kedalam sebuah entitas
Optional
Nondisjoint {And}
Gabungkan
semua entitas
anak kedalam satu entitas,
sedangkan entitas
induk
tetap terpisah
Mandatory
Disjoint {Or}
Gabungkan  entitas 
induk
kedalam
masing-masing
entitas anak.
Optional
Disjoint {Or}
Setiap entitas tetap berdiri
sendiri
Tabel 2.2 Pemecahan Superclass/subclass relationship(Connolly, 2005, p468)
  
39
7) 
Menghilangkan
many-to-many
(*:*)
binary
relationship types
Dengan memecah relationship yang mengandung
many-to-many
(*:*)
untuk
mengidentifikasikan sebuah
entitas tengah (intermediate entity) sehingga relationship
ini
digantikan dengan
dua
buah
one-to-many
(1:*)
relationship, dengan entitas
tengah berada di antara dua
buah entitas yang lama.
8) 
Menghilangkan complex relationship types
Dihilangkan dengan
memecah
relationship
ini
untuk
mengidentifikasikan
entitas
tengah
(intermediate
entity).
Kemudian complex
relationship
ini
akan
digantikan dengan
beberapa
one-to-many
(1:*)
binary
relationship.
9) 
Menghilangkan multi-valued attributes
Cara menghilangkannya dengan memecah atribut
ini untuk mengidentifikasikan sebuah entitas. Setelah itu,
kirimkan 
Primary   Key   pada   entitas
induk 
sebagai
Foreign Key pada entitas anak.
  
40
Langkah 2.2 
Validasi
relasi
dengan
menggunakan
normalisasi
Normalisasi adalah
suatu
teknik
untuk
menghasilkan
himpunan
relasi dengan
properti
yang diinginkan berdasarkan
kebutuhan-kebutuhan data
suatu
organisasi
(Connolly,
2005,
p388).
Proses
normalisasi
dimulai
dengan
memindahkan data
sumber ke bentuk tabel dengan
format baris
dan kolom. Tabel
ini
berbentuk tidak
normal
dan
disebut
dengan
unnormalized
table (Connolly, 2005, p403).
Unnormalized 
form  (UNF)
adalah  suatu 
tabel 
yang
terdiri dari satu atau lebih kelompok yang berulang (repeating
group) (Connolly, 2005, p403). Repeating group adalah sebuah
atribut atau himpunan atribut di dalam tabel yang memiliki lebih
dari
satu nilai
(multiple value)
untuk sebuah primary key pada
tabel tersebut (Connolly, 2005, p403).
Tingkatan
normalisasi yang digunakan
sebagai landasan
penulisan skripsi ada tiga tahap yaitu :
1) 
First Normal Form (1NF)
Suatu relasi dikatakan 1NF
jika titik
temu tiap
baris dan kolom pada relasi tersebut mengandung satu
dan hanya satu nilai (Connolly, 2005, p403).
Sebuah
relasi akan berada dalam bentuk 1NF
jika   repeating  groupnya   sudah   hilang.   Ada   dua
  
41
Langkah 2.2 
Validasi
relasi
dengan
menggunakan
pada tabel yang tidak normal, yaitu:
Dengan 
memasukkan 
data 
yang 
sesuai 
ke
dalam kolom yang
kosong
dari
baris
yang
mengandung data berulang.
Dengan   menempatkan   data   yang   berulang
bersama salinan
atribut kunci pada
relasi
yang
terpisah.
Sebuah primary key diidentifikasikan
ke dalam relasi yang baru.
2) 
Second Normal Form (2NF)
Relasi
dikatakan 2NF
jika
relasi
tersebut
berada pada
1NF
dan
setiap
atribut yang
bukan
primary
key
bergantung penuh
(fully
functionally
dependent)
terhadap
primary
key
(Connoly, 2002,
p407).
Full functional dependency terjadi jika A dan
B   merupakan 
atribut   dari   suatu   relasi,   dan   B
dikatakan bergantung penuh terhadap A (A?B), jika
B
bergantung terhadap
A,
namun
bukan
subset dari
A (Connolly, 2005, p393).
Untuk   menghasilkan 
relasi 
dalam 
bentuk
2NF
melibatkan
penghilangan
ketergantungan
sebagian (partial dependency) dan menempatkannya
  
42
pada   relasi   yang   baru   bersama   salinan   atribut
penentunya (determinant attribute).
3) 
Third Normal Form (3NF)
Suatu 
relasi 
dikatakan  3NF
jika 
relasi
tersebut  berada  dalam  bentuk  1NF dan  2NF,  dan
tidak  ada 
atribut  bukan  primary key bergantung
secara
transitif (transitively
dependent)
terhadap
primary key (Connolly, 2005, p409).
Transitive
dependency
ialah
sebuah kondisi
dimana
A,
B,
dan
C
merupakan atribut
dari relasi
yang
jika
A?B
dan
B?C
maka C
disebut
bergantung secara
transitif
(transitively
dependent)
terhadap  A 
melalui 
(A 
tidak 
functionally
dependent 
terhadap  B  atau  C)  (Connolly,  2005,
p397).
Langkah 2.3 
Validasi relasi terhadap transaksi pengguna
Bertujuan
untuk
memastikan bahwa
relasi-relasi pada
local
logical
data
model
mendukung
transaksi-transaksi yang
dibutuhkan oleh
pengguna,
seperti
terinci
pada
spesifikasi
kebutuhan pengguna.
  
43
Langkah 2.4  Menentukan integrity constraint
Integrity
constraint
adalah
batasan-batasan yang
harus
ditentukan
untuk
melindungi basis
data
agar
tetap
konsisten
(Connolly,
2005,  p474).  Ada  lima  jenis  integrity constraint,
yaitu :
1) 
Required data
Beberapa atribut
harus
selalu
berisi
nilai
yang
benar
(valid),
tidak dapat
bernilai
null.
Constraint ini
harus
diidentifikasikan
pada saat
mendokumentasikan
atribut-atribut pada kamus data (langkah 1.3).
2) 
Attribute domain constraint
Setiap 
atribut 
memiliki  domain
yaitu
himpunan
nilai
yang
dibolehkan
(Connolly, 2005,
p475). Constraint ini
harus diidentifikasikan pada saat
pemilihan attribute domain untuk data model (langkah
1.4).
3) 
Multiplicity
Multiplicity  merepresentasikan batasan jumlah yang
ada antar data yang ada di basis data.
4) 
Entity integrity
Primary
key
dari
sebuah entitas tidak
boleh
bernilai  null.  Constraint
ini  harus  dipertimbangkan
  
44
pada  saat  penentuan  primary key bagi  setiap 
tipe
entitas (langkah 1.5).
5) 
Referential integrity
Jika  suatu  foreign key memiliki  nilai,  maka
nilai tersebut harus menunjuk ke sebuah baris yang ada
pada relasi ‘parent’.
6) 
General constraint
Kegiatan update entitas dibatasi oleh peraturan
atau  kebijakan  organisasi 
yang 
mengatur  transaksi
yang diwakilkan oleh update yang dilakukan.
Langkah 2.5  Meninjau  kembali  local logical data model
yang dibuat dengan pengguna
Tujuan yang
ingin
dicapai adalah
untuk
memastikan
bahwa
local
logical
data
model
dan
dokumentasi pendukung
yang menggambarkan
model merupakan perwakilan yang benar
dari pandangan pengguna.
Langkah
2.6 Menggabungkan
model
data
logikal
menjadi
sebuah model data global (langkah pilihan)
Langkah
ini
hanya
perlu
dilakukan apabila
saat
desain
dilakukan
dengan pandangan
masing-masing
user. Model data
logikal
adalah
cara
pandang
satu
atau
beberapa pengguna
terhadap    basis   
data.   
Sedangkan   
model   
data   
global
  
45
menggambarkan  pandangan  semua  pengguna  terhadap  basis
data.
Langkah
2.7
Memeriksa
untuk
mengantisipasi
perkembangan
Langkah
ini
kita
lakukan
untuk
memeriksa akan adanya
perubahan siknifikan dalam waktu dekat dan memeriksa apakah
model
data
logikal yang
kita
buat
bisa
mengakomodasi
perubahan itu.
2.2.9.3 Perancangan Basis Data Fisikal (Physical Database Design)
Perancangan basis data fisikal (physical database design) adalah
proses
untuk
menghasilkan penjelasan dari
pengimplementasian
suatu
basis
data
pada
media
penyimpanan kedua,
juga
menjelaskan base
relation, pengaturan
file, dan
indeks
yang
digunakan
untuk
mencapai
akses
data
yang
efisien, integrity
constraint,
serta
ukuran keamanan
(Connolly,  2005,  p294). 
Langkah-langkah  metodologi  perancangan
basis data fisikal terdiri dari:
Langkah 3  Menterjemahkan   logical   data   model   untuk   target
DBMS
Bertujuan
untuk
menghasilkan skema basis data relasional bagi
global
logical
data
model
yang
dapat
diimplementasikan
pada
target
DBMS.
  
46
Langkah 3.1  Membuat base relations
Untuk
setiap
relasi
yang
diidentifikasikan pada
global
logical
data
model,
definisinya
terdiri
dari
nama
relasi,
daftar
simple
attribute
diikuti tanda
kurung,
primary
key
berserta
alternate key dan foreign key jika ada, dan referential integrity
constraint bagi foreign key yang teridentifikasi.
Definisi setiap
atribut
pada
kamus
data
terdiri
dari
domainnya
yang
terdiri
atas
tipe
data,
panjang data,
setiap
constraint  pada
domain,  nilai
defaultnya
jika
ada,
dan
keterangan apakah atribut dapat memiliki nilai null.
Langkah 3.2  Membuat representasi dari derived data
Bertujuan
untuk
menentukan cara
untuk
merepresentasikan derived data
yang ada
dalam
global
logical
data model ke dalam target DBMS.
Biasanya  derived attribute tidak  terlihat  pada  logical
data
model
namun
didokumentasikan di
dalam
kamus
data.
Untuk
setiap derived
attribute
yang
ada,
tanda ‘/’
digunakan
untuk menandakan atribut tersebut adalah derived attribute.
Langkah 3.3  Merancang general constraints
Bertujuan
untuk
merancang
batasan-batasan organisasi
untuk 
target  DBMS.  Update terhadap 
relasi 
dibatasi 
oleh
  
47
peraturan organisasi yang mengatur transaksi ‘real world’ yang
diwakili oleh update tersebut.
Langkah 4  Merancang organisasi file dan indeks
Bertujuan
untuk
menentukan organisasi
file
yang
optimal
untuk
menyimpan base
relation
dan
indeks
yang
diperlukan untuk
mencapai
unjuk kerja
yang sesuai, dengan
cara 
penentuan 
penyimpanan 
relasi  dan 
baris-baris 
pada
tempat penyimpanan kedua.
Langkah 4.1  Menganalisis transaksi
Bertujuan untuk
memahami fungsi
dari
transaksi
yang
dijalankan pada
basis
data
dan
menganalisis transaksi-transaksi
yang penting. Dalam menganalisis transaksi, kriteria unjuk kerja
yang harus diidentifikasi seperti:
Transaksi 
yang  sering  digunakan  dan 
yang 
memiliki
dampak yang signifikan pada unjuk kerja
Transaksi yang penting bagi kegiatan operasional bisnis
Peak load, yaitu
saat-saat pada
hari
atau
minggu
dimana
akan
ada
permintaan yang
tinggi
terhadap
basis
data
(Connolly, 2005, p502)
  
48
Langkah 4.2 Memilih organisasi file
Untuk  menentukan
organisasi  file  yang  efisien  untuk
setiap base relation.
Langkah 4.3  Memilih indeks
Untuk 
menentukan  apakah  penambahan  indeks  akan
meningkatkan unjuk kerja sistem. Ada tiga jenis indeks yaitu:
Primary index
Pengindeksan  dilakukan  pada  kolom  kunci  (key field),
yang 
diurutkan  terlebih 
dahulu 
secara 
sekuensial
(Connolly, 2005, p1277).
Clustering index
Pengindeksan dilakukan pada kolom bukan kunci (non-key
field),
yang
sudah
diurutkan terlebih
dahulu
secara
sekuensial. Kolom
bukan
kunci
itu
disebut
juga
dengan
clustering attribute (Connolly, 2005, p1277).
Secondary index
Pengindeksan yang
dilakukan
pada
kolom
yang
tidak
terurut di dalam file data (Connolly, 2005, p1277).
Langkah 4.4  Memperkirakan
kebutuhan
ruang
penyimpanan
  
49
Memperkirakan besarnya
ruang
penyimpanan
yang
dibutuhkan
untuk
mendukung
implementasi basis
data
pada
tempat  penyimpanan  kedua.  Hal  ini  sangat  tergantung  pada
target
DBMS
dan
perangkat
keras
yang
digunakan. Perkiraan
ukuran dapat dilakukan dengan mengukur besar data
tiap baris
dan jumlah baris pada setiap relasi.
Langkah 5  Merancang pandangan pengguna (user views)
Bertujuan
untuk
merancang
pandangan pengguna
yang
diidentifikasikan
selama  tahap  pengumpulan  kebutuhan  dan  analisa
pada
daur
hidup
aplikasi
basis
data
relasional (database
application
lifecycle).
Langkah 6  Merancang mekanisme keamanan
Bertujuan
untuk
menentukan bagaimana
kebutuhan
keamanan
akan direalisasikan. Keamanan bagi basis data sangat diperlukan karena
basis data merupakan sumber daya perusahaan yang penting. Dua tipe
keamanan basis data (Connolly, 2005, p516), yaitu:
Keamanan
sistem
Memberikan perlindungan terhadap
akses
dan
penggunaan  basis  data  pada  tingkat  sistem,  seperti  user
name dan password.
  
50
Keamanan data
Memberikan perlindungan akses
dan
penggunaan
objek
basis
data, seperti relasi dan view
dan
aksi
terhadap
objek yang dapat dimiliki oleh pemakai.
2.2.10  Pemilihan DBMS (Database Management System)
DBMS (Database Management System) adalah perangkat lunak khusus
yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah
basis data (Whitten, 2004, p760).
Karena
suatu
organisasi
memerlukan perluasan
atau
perubahan
pada
sistem yang
sedang
berjalan, maka
akan
menjadi
hal
yang
perlu
untuk
mengevaluasi produk-produk
DBMS
yang
baru.
Tujuannya
untuk
memilih
sebuah sistem
yang
sesuai
dengan
kebutuhan perusahaan
saat
ini
maupun
di
masa yang akan datang,
yang seimbang dengan biaya-biaya yang dikeluarkan
termasuk dalam pembelian produk
DBMS, perangkat lunak maupun perangkat
keras
tambahan
yang
dibutuhkan untuk
mendukung
sistem
basis
data,
dan
biaya-biaya lain
yang
berhubungan dengan perubahan dan
pelatihan pegawai.
Tahapan utama dalam memilih DBMS antara lain :
1)  Mendefinisikan syarat-syarat sebagai referensi
Dibuat
dengan
menyatakan tujuan
dan
ruang
lingkup
pembelajaran,
tugas-tugas
yang
akan
dikerjakan,
penjelasan kriteria
(berdasarkan spesifikasi
kebutuhan
pengguna)
yang
akan digunakan
dalam  mengevaluasi  produk-produk  DBMS,  daftar  produk-produk
  
51
yang
dimungkinkan,
semua batasan-batasan
dan
skala
waktu
yang
dibutuhkan untuk pembelajaran.
2)  Daftar singkat dua atau tiga produk
Kriteria
yang
dianggap penting
dalam
keberhasilan
implementasi dapat
digunakan
untuk membuat daftar produk-produk
DBMS dalam evaluasi, seperti dana
yang
tersedia, tingkat dukungan
vendor,
kecocokan dengan
perangkat
lunak
lainnya,
dan
apakah
produk hanya berjalan pada perangkat keras tertentu.
3)  Evaluasi produk
Fitur-fitur yang
digunakan dalam
evaluasi
produk-produk
DBMS
dikelompokkan menjadi
definisi
data,
definisi
fisik,
kemampuan akses, penanganan keperluan-keperluan, pengembangan,
dan fitur-fitur lainnya.
4)  Merekomendasikan pilihan dan memproduksi laporan
Langkah
terakhir
dari
pemilihan DBMS
adalah
mendokumentasikan prosesnya
dan
membuat
pernyataan
dalam
penemuan dan rekomendasi atas produk DBMS tertentu.
2.3 Teori Data Flow Diagram
2.3.1
Pengertian Data Flows
Data flow represents an input of data to a process or the output of data
(or information) from a process.” (Whitten,2004,hal 357) yang artinya adalah
Data
flow
merepresentasikan masukan
dari
data
menuju
proses
atau
output
dari
data
(atau
informasi)
dari
sebuah
proses.  Proses  merespon
masukan
  
52
(input) dan menghasilkan keluaran (output) , satu proses minimal mempunyai
satu masukan dan satu keluaran.
2.3.2
Pengertian Data Flow Diagram
A data flow diagram (DFD)
is a graphical representation that depicts
information flow and the transforms that are applied as data move from input
to output.” (Pressman,2005,hal 305)
yang artinya adalah data flow diagram
adalah 
representasi 
grafis 
yang 
menggambarkan 
aliran 
informasi 
dan
transformasi yang terjadi saat data bergerak dari masukan menjadi keluaran.
Diagram aliran data mempunyai kegunaan untuk memperhatikan :
-
Informasi yang masuk dan keluar dari system
-
Apa yang merubah informasi
-
Dimana informasi disimpan
2.3.3
Merancang Data Flow Diagram
Dalam
diagram aliran
data
terdapat
levelisasi
yang
bertujuan
untuk
menghindari aliran data yang rumit dan kompleks. Levelisasi dimulai dengan
tingkatan tertinggi dan kemudian diuraikan ke dalam bentuk yang lebih rinci.
Tingkatan tersebut terdiri dari :
1.
Diagram konteks (Context Diagram)
Memperlihatkan karakteristik suatu sistem.
2.   Diagram nol
Menggambarkan proses-proses utama yang ada pada suatu sistem.
3.   Diagram rinci
  
53
Merupakan proses rinci dari proses yang terdapat dari tingkatan
sebelumnya.
Simbol-simbol yang digunakan untuk menggambarkan diagram aliran
data yaitu :
De Marco dan Yourdon
Gane dan Sarson
Process
Data Store
Source / Sink
Data Flow
Tabel 2.3  Perbandingan simbol diagram aliran data  berdasarkan De Marco dan
Yourdon dengan Gane dan Sarson
Terdapat beberapa peraturan yang harus diikuti saat menggambar diagram
aliran data (Jeffrey A. Hoffer ,2000,p286)
Process :
-
Tidak ada proses yang hanya mempunyai output. Jika sebuah objek
hanya mempunyai output maka itu adalah source.
  
54
-
Tidak ada proses yang hanya mempunyai input. Jika sebuah objek
hanya mempunyai input maka itu adalah sink.
-
Sebuah proses harus dilabeli dengan sebuah kata kerja.
Data Store :
-
Data tidak dapat bergerak dari sebuah data store menuju data store
lainnya. Data dapat bergerak melalui proses.
-
Data tidak dapat bergerak secara langsung dari source menuju data
store. Data harus bergerak melalui proses dimana data diterima dari
data source dan menempatkan data ke data store.
-
Data tidak dapat bergerak langsung menuju sink dari data store. Data
harus bergerak melalui proses.
-
Sebuah data store harus dilabeli dengan kata benda.
Source / Sink :
-
Data tidak dapat bergerak secara langsung dari source menuju sink.
Data harus melalui proses.
-
Sebuah source/sink harus dilabeli dengan kata benda.
Data Flow :
-
Sebuah data flow hanya mempunyai satu arah diantara simbol.
-
Sebuah cabang pada data flow berarti beberapa data yang sama menuju
dua atau lebih proses yang berbeda.
  
55
-
Sebuah penggabungan pada data flow berarti data yang sama muncul
dari dua atau lebih proses menuju sebuah lokasi yang sama.
-
Sebuah data flow tidak boleh menuju proses yang sama dengan sumber
prosesnya (rekursif). Harus ada minimal satu proses yang menangani
data flow, menghasilkan data flow, dan mengembalikan data flow
menuju proses awal.
-
Sebuah data flow menuju data store berarti memperbarui (update atau
delete) data.
-
Sebuah data flow dari data store berarti mengambil atau menggunakan
data.
-
Sebuah data flow mempunyai label berupa kata kerja. Bisa lebih dari
satu kata kerja yang muncul pada sebuah panah data flow dengan syarat
semua aliran / flows pada satu panah bergerak sebagai satu paket.