BAB 2
LANDASAN TEORI
2.1
Pendekatan Basisdata
2.1.1
Pengertian Basisdata
Menurut Connoly dan Begg (2005, p15), basisdata adalah sebuah
kumpulan  data  yang  saling  terhubung  secara  logis  dan  deskripsi  dari
suatu
data yang dirancang sebagai informasi yang dibutuhkan oleh
organisasi.
Menurut Elmasri dan Navathe (2000,p4), sebuah basisdata adalah
kumpulan dari relasi –
relasi data. Dengan data, kita dapat mengetahui
fakta yang dapat direcord dan memiliki arti lengkap. Di dalam  basis data,
semua data diintegrasikan dengan menghindari duplikasi data.
2.1.2
Database  Management System (DBMS)
Menurut Connolly dan Begg (2005, p16),
Database Management
System (DBMS) merupakan suatu piranti
lunak
yang
membuat pemakai
dapat mendefinisikan, menciptakan, mengatur
dan
mengontrol akses ke
dalam basis data. DBMS menyediakan beberapa fasilitas sebagai berikut :
Data Definition Language (DDL)
:
memperbolehkan pemakai
untuk
membuat  spesifikasi  tipe  data,  mendefinisikan  basis  data,  struktur
data dan constraint data untuk disimpan dalam basis data.
9
  
10
Data  Manipulation  Language  (DML)  :  memperbolehkan  pemakai
untuk
memasukan,
memperbaharui, 
menghapus, dan
mengirim atau
mengambil data.
Menurut Ramakrishnan dan Gehrke (2000, p1), DBMS adalah
piranti
lunak
yang
dirancang
untuk
membantu
dalam memelihara
dan
memanfaatkan kumpulan data dalam jumlah besar, dan kebutuhan untuk
sistem maupun pemakaiannya yang berkembang dengan cepat.
2.1.2.1
Komponen
Lingkungan
Database
Management
System
(DBMS)
Menurut Connolly dan Begg (2005,p18), ada 5 (lima)
komponen
-
komponen
yang
terdapat
dalam lingkungan
Database Management System (DBMS) yaitu :
Hardware
DBMS
dan
aplikasi-aplikasi
memerlukan hardware
untuk
beroperasi. Hardware
tersebut
dapat
berkisar
dari
komputer
pribadi tunggal, ke suatu mainframe tunggal, ke suatu jaringan
komputer.
Software
Komponen 
software 
terdiri 
dari 
DBMS 
itu 
sendiri 
dan
program aplikasi,
bersama
dengan
sistem operasi,
termasuk
software jaringan jika DBMS sedang digunakan melalui suatu
jaringan.
Data
  
11
Barangkali komponen yang paling penting dari lingkungan
DBMS,
tentu
saja dari sudut pandang end-users, adalah data.
Data
berperan
sebagai
suatu jembatan antara komponen-
komponen mesin dan komponen-komponen manusia.
Prosedur
Merupakan instruksi dan
peraturan yang menguasai
perancangan dan penggunaan basisdata. Pengguna sistem dan
staff yang
mengatur
basisdata
yang
memerlukan
prosedur-
prosedur yang telah didokumentasikan pada bagaimana
menggunakan atau menjalankan sistem. Berikut ini terdiri dari
instruksi-instruksi:
 
Memasuki DBMS
 
Menggunakan suatu fasilitas DBMS khusus atau program
aplikasi
 
Menjalankan dan menghentikan DBMS
 
Membuat duplikat backup basisdata
 
Menangani kesalahan-kesalahan hardware atau software
Merubah  stuktur  dari  suatu  tabel,  mengatur  ulang
basisdata
melewati multiple
disks, meningkatkan kinerja,
atau menyimpan data ke secondary storage.
Manusia
Terdiri
dari
data
dan database
administrators,
database
designers, application developers, dan end-users.
  
12
Database
Administrator  
(DBA)  
bertanggungjawab  
atas
realisasi
fisik
dari
basisdata, termasuk perancangan
basisdata
fisik dan implementasi, keamanan dan kontrol integritas,
perawatan
sistem operasional,
dan
menyakinkan
kinerja
aplikasi yang memuaskan untuk pengguna.
Application Developers
bertanggungjawab
atas
setelah
basisdata
diimplementasikan,
program aplikasi
yang
menyediakan fungsionalitas yang diperlukan untuk end-users
harus diimplementasikan.
End-users adalah ‘klien’ untuk basisdata, yang telah dirancang
dan diimplementasikan, dan sedang dirawat untuk menyajikan
kebutuhan-kebutuhan
informasi
mereka.
End-users dapat
diklasifikasikan  berdasarkan  cara  mereka  menggunakan
sistem: Naïve users dan Sophisticated users.
2.1.3
Data Definition Language (DDL)
Menurut Connolly dan Begg (2005,p40), Data Definition
Language (DDL) merupakan suatu bahasa yang memperbolehkan Data
Base  Administrator  (DBA) atau pemakai  untuk mendefinisikan basis
data, menspesifikasikan tipe data, nama entity, atribut dan hubungan yang
diperlukan  untuk  mendukung  suatu  aplikasi,  bersama  –  sama  dengan
suatu manapun yang mempunyai batasan keamanan dan constraint data
untuk disimpan dalam basis data.
  
13
2.1.4
Data Manipulation Language (DML)
Menurut Connolly dan Begg (2005,p40),
Data  
Manipulation
Language (DML) adalah 
suatu bahasa yang menyediakan kumpulan
operasi – operasi  yang mendukung  operasi basic data manipulation di
dalam basis data.
Adapun operasi – operasi yang meliputi Data Manipulation antara lain :
Penyisipan  data baru  ke dalam basis data.
Modifikasi dari penyimpanan data ke dalam basis data.
Perolehan data kembali ke dalam basis data.
Penghapusan data dari basis data.
2.1.5
Fourth – Generation Language (4GLs)
Menurut  Connolly  dan 
Begg  (2005,p42),  Fourth Generation
Language  (4 GLs) merupakan suatu pemodelan pada teknik generasi
keempat yang menggunakan alat bantu piranti lunak. Alat bantu tersebut
dapat
secara
otomatis
menghasilkan
suatu
kode
program
yang
di
buat
dengan spesifikasi yang diberikan oleh pengembangan piranti lunak.
Tahap – tahap pemodelan pada teknik generasi keempat ini meliputi :
Pengumpulan data – data yang dibutuhkan.
Strategi perancangan.
Implementasi dengan menggunkan 4GL.
Produk.
  
14
2.1.6 
Database
System
Development
Lifecyle
Berikut
ini
merupakan diagram tahap-tahap siklus
hidup
aplikasi
basisdata,
antara
lain:
Database plannrng
System
ddlrution
Req\llfement; collection
and analym
Database
deSign
DBMS selection
(\.nceptua! database
........
Appbcahvn  ·ies1gn
(opl!Onal)
...................oL..
Log:tciil d&tabase
Physical database
-
--
-
-
Prototypmg
(ophonal)
Impl mentahon
Data
cvm>trs1vn
and lvwlmg
Testmg
Operational
mamtenance
Gambar 2.1    Tahap-tahap Siklus
Hidup 
Aplikasi Basisdata
  
15
2.1.6.1
Database Planning
Database Planning
merupakan
aktivitas-aktivitas
manajemen
yang
memungkinkan
tahap-tahap
dalam aplikasi
basisdata
direalisasikan se-efisien
dan
se-efektif
mungkin.
Database Planning harus diintegrasikan dengan keseluruhan
sistem informasi suatu organisasi. Ada 3 (tiga) persoalan pokok
yang terlibat dalam perumusan suatu strategi sistem informasi:
Identifikasi
rencana
dan
tujuan
perusahaan
dengan
penentuan kebutuhan sistem informasi.
Evaluasi 
sistem 
informasi 
yang 
sedang 
berjalan 
untuk
menentukan kelebihan dan kekurangan yang ada.
Penilaian terhadap peluang IT apakah mampu menghasilkan
keuntungan yang kompetitif.
Tahap  awal 
yang 
penting 
dalam  perencanaan  basisdata
adalah 
menentukan   dengan   jelas   mission   statement   untuk
proyek basisdata. Mission Statement ini menentukan tujuan
utama
aplikasi
basisdata. Mission
Statement
membantu
menjelaskan  tujuan  proyek  basisdata  dan  menyediakan  cara
yang lebih jelas untuk menciptakan suatu basisdata yang efektif
dan efisien.
Tahap
selanjutnya adalah mission objective. Setiap
mission objective harus mengidentifikasi tugas-tugas tertentu
yang akan didukung basisdata.
  
16
2.1.6.2
System Definition
System
Definition menggambarkan
ruang
lingkup
dan
batasan-batasan aplikasi basisdata dan
user
views
(gambaran
pengguna) utama. User Views menentukan apa yang dibutuhkan
oleh   aplikasi   basisdata   dari   perspektif   peranan   pekerjaan
tertentu
(seperti Manager
atau Supervisor)
atau
area
aplikasi
perusahaan (seperti marketing, personnel, atau stock control).
2.1.6.3
Requirements Collection and Analysis
Merupakan proses pengumpulan dan analisis informasi
bagian dari perusahaan yang akan didukung oleh aplikasi
basisdata,
dan
penggunaan
informasi untuk mengidentifikasi
kebutuhan-kebutuhan
pengguna
dari
sistem
yang
baru.
Tahap
ini melibatkan pengumpulan dan analisis informasi tentang
bagian-bagian perusahaan yang akan disajikan oleh basisdata.
Informasi yang diperoleh dari setiap pengguna antara lain:
Deskripsi data yang digunakan dan dihasilkan.
Rincian bagaimana data digunakan dan dihasilkan.
Kebutuhan
tambahan
lainnya
untuk aplikasi basisdata yang
baru.
Informasi ini kemudian dianalisis untuk mengidentifikasi
kebutuhan-kebutuhan
yang
akan
disertakan
dalam aplikasi
basisdata  yang  baru.  Ada  3  (tiga)  pendekatan  utama  untuk
  
17
pengaturan kebutuhan aplikasi basisdata dengan multiple
user
views, antara lain:
•   Pendekatan centralized
Kebutuhan-kebutuhan
untuk
setiap user
view
digabung
dalam
suatu  kumpulan  kebutuhan  tunggal  untuk  aplikasi  basisdata
baru.
•   Pendekatan view integration
Kebutuhan-kebutuhan
untuk setiap user
view digunakan
untuk
membangun
sebuah data
model
yang terpisah untuk
merepresentasikan pengguna itu sendiri. Hasil dari data model
akan digabung pada tahap perancangan basisdata.
•   Kombinasi antara keduanya
2.1.6.4
Database Design
Merupakan proses pembuatan suatu rancangan untuk
basisdata  yang  akan  mendukung  operasi 
dan  objektif
perusahaan. Ada 2 (dua) pendekatan perancangan basisdata:
•   Bottom-up
Pendekatan ini dimulai dari tingkat paling dasar dari atribut
(yakni properti dari entiti dan hubungan relasional) dimana
melalui analisis
gabungan antara atribut-atribut, dikelompokkan
ke  dalam  relasi-relasi  yang  merepresentasikan  tipe-tipe  entiti
dan
hubungan
antara
entiti.
Pendekatan
ini
lebih cocok
untuk
  
18
perancangan
basisdata
yang
sederhana
dengan
jumlah
atribut
yang relatif kecil.
•   Top-down
Pendekatan
ini
dimulai
dari
pengembangan data
model
yang
terdiri  dari  beberapa  hubungan  relasional  dan  entiti  tingkat
tinggi.
Tahap-tahap dalam perancangan basisdata:
•   Perancangan Konseptual
•   Perancangan Logikal
•   Perancangan Fisikal
2.1.6.5
DBMS Selection
Merupakan pemilihan dari suatu DBMS
yang tepat
untuk
mendukung aplikasi basisdata. Tahap-tahap pemilihan DBMS:
•   Menentukan istilah referensi studi
Istilah referensi
untuk pemilihan DBMS
sudah
ditetapkan,
penetapan objektif dan ruang
lingkup studi, dan tugas-tugas yang
harus dilakukan.
Membuat daftar sementara 2 (dua) atau 3 (tiga) produk
Kriteria
yang
dipertimbangkan
untuk
menjadi
kritis
agar
implementasi   dapat   berjalan   lancar   dapat   digunakan   untuk
membuat daftar persiapan produk DBMS untuk evaluasi.
•   Mengevaluasi produk
  
19
Fitur-fitur yang memungkinkan untuk evaluasi produk DBMS
dikelompokkan
berdasarkan data
definition, physical
definition,
accessibility,
transaction
handling, utilities, development, dan
fitur-fitur lainnya.
2.1.6.6
Application Design
Merupakan perancangan
user
interface dan program
aplikasi yang menggunakan dan memproses basisdata. Ada 2
(dua) aspek penting dalam perancangan aplikasi, yakni:
Transaction Design (Perancangan Transaksi)
Transaksi  merupakan  sebuah  aksi,  atau  serangkaian  aksi
yang
dilakukan
oleh
seorang
pengguna
atau
program aplikasi
yang mengakses atau mengubah isi dari basisdata.
Tujuan dari perancangan transaksi adalah untuk menetapkan
dan
mendokumentasikan
karakteristik tingkat tinggi dari
transaksi yang dibutuhkan pada basisdata, yang termasuk :
1.   data yang digunakan dalam transaksi
2.   karakteristik fungsional dari transaksi
3.   keluaran dari transaksi
4.   kepentingan pengguna
5.   nilai yang diharapkan dari pemakaian
Ada 3 (tiga) jenis transaksi, yaitu :
1.   Retrieval
transactions,
digunakan
untuk
mendapatkan
kembali data untuk ditampilkan di layar atau dalam laporan.
  
20
2.
Update transactions, digunakan untuk menambah data,
menghapus
data
lama,
atau
memodifikasi data yang ada
dalam basisdata.
3.   Mixed
Transactions,
melibatkan
retrieval
dan
update data
atau kombinasi antara keduanya.
User Interface Design (Perancangan Antarmuka)
Sebelum mengimplementasikan suatu form atau laporan, ada
perlunya merancang layout (tampilan) terlebih dahulu.
2.1.6.7
Prototyping (Optional)
Merupakan pembuatan suatu model pekerjaan dari aplikasi
basisdata.  Suatu  prototype adalah  model  yang  bekerja  yang
tidak
mempunyai
semua
fitur-fitur yang diperlukan atau
menyediakan
semua
fungsionaliti
dari
sistem terakhir.
Tujuan
utama
dari
pengembangan
suatu
aplikasi
basisdata prototype
adalah memungkinkan pengguna menggunakan prototype
tersebut
untuk
menentukan
fitur-fitur dari
sistem yang bekerja
dengan baik, dan jika mungkin mengusulkan peningkatan atau
bahkan fitur-fitur baru
pada aplikasi basisdata. Ada 2 (dua)
strategi prototyping pada zaman sekarang :
Requirements  prototyping, menggunakan suatu prototype
untuk
menentukan  
kebutuhan-kebutuhan  
dari  
aplikasi
basisdata yang diusulkan dan suatu waktu kebutuhan-
kebutuhan tersebut lengkap prototype dibuang.
  
21
Evolutionary 
prototyping,
digunakan 
untuk 
tujuan 
yang
sama, perbedaan yang penting adalah bahwa prototype tidak
dibuang tetapi dengan perkembangan yang lebih jauh
menjadi aplikasi basisdata yang berjalan.
2.1.6.8
Implementation
Merupakan realisasi fisik dari perancangan basisdata dan
aplikasi. Implementasi basisdata
dicapai dengan
menggunakan
Data Definition Language (DDL) dari DBMS yang dipilih atau
graphical user interface (GUI), dimana
menyediakan
fungsionaliti yang sama ketika menyembunyikan pernyataan
DDL tingkat-rendah. Pernyataan DDL tersebut digunakan untuk
membuat struktur basisdata dan file basisdata kosong.
2.1.6.9
Data Conversion and Loading
Merupakan pemindahan data yang ada ke dalam basisdata
baru dan merubah aplikasi yang ada untuk beroperasi pada
basisdata yang baru. Langkah ini diperlukan hanya ketika suatu
sistem basisdata baru menimpa sistem yang lama.
2.1.6.10  Testing
Merupakan proses pengeksekusian program aplikasi
dengan maksud pencarian kesalahan-kesalahan. Sebelum
ditunjukkan secara
langsung,
aplikasi
basisdata
yang
baru
dikembangkan seharusnya diuji sepenuhnya. Ini dicapai dengan
menggunakan  strategi  uji  yang  direncanakan  secara  hati-hati
  
22
dan
data yang
nyata sehingga
keseluruhan
proses
uji
diterima
secara teliti dan metodis.
2.1.6.11  Operational Maintenance
Merupakan proses pengawasan dan pertahanan sistem
berikut instalasi. Pada langkah sebelumnya, aplikasi basisdata
telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem
memasuki langkah perawatan, yang melibatkan aktivitas-
aktivitas berikut:
Mengawasi kinerja sistem. Jika kinerja jatuh di bawah
level
yang
dapat
diterima,
perbaikan
atau reorganisasi
basisdata
dibutuhkan.
Mempertahankan   dan   meng-upgrade  aplikasi   basisdata
(ketika dibutuhkan). Kebutuhan baru digabungkan ke dalam
aplikasi
basisdata
melalui
langkah terdahulu
dari
siklus
hidup.
2.1.7
Tahapan – Tahapan  Perancangan Basisdata
Menurut  Connolly  dan  Begg  (2005,p438)  metodologi
perancangan adalah pendekatan terstruktur yang menggunakan bantuan
aturan, teknik, alat -
alat, dan dokumentasi
yang bertujuan untuk
mendukung dan memfasilitasi proses perancangan basisdata. Metodologi
perancangan basisdata atas tiga tahapan, yaitu : perancangan konseptual,
logikal, dan fisikal.
  
23
2.1.7.1 Perancangan Basisdata Konseptual
Perancangan 
basisdata 
secara  konseptual  merupakan
proses
pemodelan
secara
khusus, Menurut Connolly dan Begg
(2005,p439)  dalam   
merancang  konseptual  basisdata  terdapat
tahap – tahap yang dimulai dengan pembuatan sebuah konseptual
data dari sebuah perusahaan, dimana semuanya
tergantung dari
detail-detail implementasi termasuk dari target 
DBMS, aplikasi
program – program, bahasa – bahasa pemrogramannya, perangkat
keras
yang
digunakan, performance
issues
dan
pertimbangan
pertimbangan yang lainnya.
Langkah 1 : Membangun model data konseptual
Langkah pertama dari konseptual ini bertujuan untuk
membangun  sebuah  model  data 
konseptual 
dari 
sebuah
perusahaan. Model data konseptual didukung dari documentasi
yang
terdiri
dari
ER
diagram dan
sebuah
kamus
data.
Adapun
langkah 
langkah  dari 
membangun 
model  data  konseptual
sebagai berikut :
Langkah 1.1 : Mengidentifikasi tipe entity
Tujuan
dari
langkah
ini
adalah mengidentifikasikan
tipe
data entity  
yang diperlukan. Langkah ini berguna untuk
memudahkan dan menarik user dalam  menspesifikan entity . Dari
langkah ini  User
dapat mengidentifikasikan
kata benda
seperti
:
staff number, staff name, property number, property address, rent,
dll.
  
24
Langkah 1.2 : Mengindentifikasi tipe relasi
Langkah ini bertujuan untuk mengidentifikasi pentingnya
relasi
yang exist di antara
tipe
entity.
Mengidentifikasikan
yang
didahului  dengan  spesifikasi  record relasi  sangat  dibutuhkan
dalam suatu perusahaan yang mempunyai basisdata.
Adapun langkah –
langkah dalam mengidentifikasi tipe
relasi adalah sebagai berikut :
Gunakan Entity Relationship Diagram (ERD)
ERD  digunakan  untuk  menghadirkan  kesatuan  dan  bagaimana
tipe
relasi
tersebut 
berhubungan dengan 
satu sama lain dengan
mudah. Selain itu ERD dapat kapan saja digunakan untuk
membantu
membangun suatu
gambar-an dari bagian 
perusahaan
yang akan dimodelkan.
Tentukan  multiplicity contraints dari tipe entity
Multiplicity constraint di
gunakan untuk mengecek dan merawat
data quality. Constraints dapat di terapkan ketika basisdata sedang
di-update, tentunya jika tidak melanggar aturan dari perusahaan.
Mengecek fan dan chasm traps
Setelah
mengidentifikasi
dari
hubungan
tipe
entity yang
diperlukan, memeriksa bahwa
masing-masing hubungan di ER
model yang sesuai dengan true representation.
Document relationship types
  
25
Tipe relasi yang diidentifikasi untuk menugaskan nama yang telah
diberi keterangan yang bertujuan untuk memperjelas keterangan
yang berguna bagi user.
Langkah 1.3 : Mengidentifikasi dan mengasosiasikan atribut
suatu entity
atau tipe relasi
Langkah ini bertujuan untuk mengidentifikasi dan
mengasosiasikan  atribut  dan  tipe  relasi.  Atribut  –  atribut  dari
entity dapat di
identifikasikan
melalui property,quality,indentifier
atau characteristic.
Langkah 1.4 : Mengidentifikasi domain attribute
Langkah ini bertujuan untuk menentukan
domains
dari
setiap
atribut
dalam
model
data
dan
mendokumentasikan
detail
dari setiap domains.
Langkah 1.5 : Mengidentifikasi candidate dan primary key
Tujuan dari langkah ini adalah mengidentifikasi
candidate
key
untuk setiap entity dan menyeleksi untuk dijadikan sebuah
primary key.
Langkah 
1.6 
Menggunakan 
konsep 
enhanced  modeling
(langkah optional)
Langkah
ini
digunakan
untuk  
spesialisasi, generalisasi,
agregasi dan kimposisi yang berguna untuk mendukung enhanced
modeling.
  
26
Langkah  1.7 : Mengecek redundancy
Langkah  ini  bertujuan  untuk  mengecek  apakah  di  dalam
suatu model terdapat redundancy
Adapun langkah – langkahnya sebagai berikut :
-
Memeriksa kembali one to one (1:1) relationship
Dalam mengidentifikasikan entity , ada kemungkinan bahwa
dua
entity
yang
merepresentasikan
hal
yang
sama
dalam perusahaan
diidentifikasikan ganda.
-
Menghilangkan redundancy pada relationship yang ada
Sebuah relationship dikatakan redundancy,apabila informasi yang
sama
dapat
di
peroleh
dari
relationship
yang
lain.
Model
data
yang dikembangkan diusahakan seminimal mungkin sehingga
relationship yang
redundancy tidak diperlukan dan harus di
hilangkan.
-
Menentukan dimensi waktu
Dimensi
wakitu
dari relationship
sangat penting
dalam
menilai
redundancy.
Langkah 1.8 : Memvalidasi
model konseptual local dengan
transaksi user
Bertujuan   untuk   memastikan   konseptual   data   model
mendukung data yang di perlukan dalam transaksi.
  
27
Langkah 1.9 : Mereview model data konseptual dengan user
Bertujuan untuk me-review model data konseptual dengan
user  
untuk memastikan apakah data model sudah benar dari
pengambilan data perusahaan.
Gambar 2.2
Contoh
gambar model data konseptual untuk view staff yang
menampilkan semua attribut
  
28
2.1.7.2 Perancangan Basisdata  Logikal
Perancangan basisdata
secara
logikal
merupakan
proses
pembuatan model informasi yang digunakan perusahaan
berdasarkan model khusus, tapi
bebas dari DBMS tertentu dan
pertimbangan fisik lainnya. Tahap ini memetakan model data
konseptual  pada sebuah model data logikal yang dipengaruhi oleh
data model untuk basisdata tujuan. Model data logikal merupakan
sumber  informasi  untuk  tahap  perancangan  physical,
menyediakan
suatu
kendaraan
bagi
para
perancang physical
database  untuk melakukan pertukaran yang sangat penting untuk
perancangan basisdata yang baik.
Langkah
2
:
Membangun
dan
memvalidasikan
model
data
logikal lokal untuk setiap view
Langkah   kedua   ini   bertujuan   untuk   menterjemahkan
model data konseptual ke dalam model data logikal dan
memvalidasikannya menggunakan teknik normalisasi untuk
memastikan bahwa model data logikal yang di terjemahkan benar
secara struktur dan mendukung transaksi yang diperlukan. Dalam
langkah ini, kita memetakan setiap model data konseptual lokal
yang di buat pada langkah pertama, menjadi sebuah model data
logikal local yang mengandung ER diagram, skema relasional dan
dokumentasi pendukung.
  
29
Langkah  2.1 
:  Membuat  relation 
untuk 
model 
basisdata
logikal
Tujuan dari
langkah
ini adalah untuk
membuat relasi dari
model data logikal yang merepresentasikan entities, relationships,
dan
attributes
yang
telah
diketahui.
Dalam langkah
ini,
kita
membuat relasi untuk model data logikal untuk merepresentasikan
entities,
relationships,
dan
attributes yang
di
definisikan
dalam
view.
Sekarang
kami
akan
memaparkan
bagaimana relasi dapat
di
buat
dari
stuktur-struktur yang memungkinkan dan berada di
model data.
1) 
Tipe Strong Entity
Untuk  setiap  Strong Entity yang  terdapat  dalam  model
data, buatlah relasi yang mencakup semua attribut sederhana pada
entity tersebut.
2) 
Tipe Weak Entity
Untuk setiap Weak Entity yang terdapat dalam model data,
buatlah  relasi  yang  mencakup  semua  attribusederhana  pada
entity  tersebut. 
Primary 
Key 
dari 
Weak 
Entity 
didapat 
dari
sebagian  atau  sepenuhnya 
entity 
yang 
memiliki 
weak 
entity
(Owner
Entity)
tersebut
sehingga
identifikasi primary
key
dari
sebuah
weak
entity tidak
dapat
dilakukan
sampai
semua
relationship dengan owner entity selesai di petakan.
3) 
Tipe One-to-many (1:*) binary relationship
  
30
Untuk setiap 1:* binary relationship, entity pada sisi 1
(one) pada relationship ditentukan sebagai parent entity dan entity
yang berada pada sisi * (many) pada relationship akan ditentukan
sebagai child entity. Pada hubungan 1:* binary relationship, copy
dari primary key parent entity harus ditambahkan ke dalam child
entity agar dapat tercipta relationship yang benar.
4) 
Tipe One-to-one (1:1) binary relationship
Membuat relasi pada tipe ini lebih kompleks karena
cardinality tak dapat di gunakan untuk mengidentifikasi parent
entity
dan
child
entity.
Participation Constraint yang
dipertimbangkan
dalam pembuatan
relasi
untuk
merepresentasikannya :
a.   Mandatory participation pada kedua sisi dari 1:1 relationship
Dalam kasus seperti ini, kita harus menggabungkan entity-
entity
yang
terlibat ke
dalam
1
relationship
dan
memilih
salah
satu
primary
key dari
entity
yang
ada
untuk
jadi
primary
key
relationship   yang   baru,   dan   yang   lainnya   (jika   ada)   akan
digunakan sebagai alternate key.
b.   Mandatory participation pada satu sisi dari 1:1 relationship
Dalam kasus seperti ini, kita dapat mengidentifikasikan
parent
entity
dan
child
entity menggunakan
participation
constraints.
  
31
c.   Optional participation pada kedua sisi dari 1:1 relationship
Dalam kasus
ini, penentuan parent entity dan child entity
dapat dengan sembarang, kecuali kita mendapat informasi yang
lebih dari relationship tersebut yang bisa membantu menentukan
keputusan yang lebih baik dari keputusan lainnya.
5) 
One-to-one (1:1) recursive relationship
Untuk kasus seperti ini, aturan pembuatan relasinya sama
dengan kondisi One-to-one (1:1) binary relationship.
a.   Bila terjadi Mandatory participation pada kedua sisi dati 1:1
recursive
relationship,
representasikan recursive relationship
sebagai relasi tunggal dengan dua copy dari primary key.
b.   Dan apabila mandatory participation hanya terjadi pada 1 sisi
dari
1:1 recursive
relationship,
maka
terdapat
pilihan
untuk
membuat
relasi
tunggal
dengan
dua
copy
dari
primary
key,
atau
membuat     relasi     baru     yang     merepresentasikan
relationship.
c.   Apabila terjadi optional participation pada kedua sisi dari 1:1
recursive
relationship, maka
buatlah relasi yang baru seperti
yang di jelaskan diatas.
6) 
Tipe superclass/subclass relationship
Untuk
membuat
relasi
pada
tipe
ini,
tentukan superclass
sebagai  parent entity  dan  subclass sebagai  child entity.  Ada
banyak
pilihan
dalam merepresentasikan relationship
tipe
ini ke
dalam               satu               atau               banyak               relasi.
  
32
Pilihan yang paling tepat di antara pilihan yang ada bergantung
pada
beberapa
faktor
seperti
disjointness dan
participation
constraints pada
superclass/subclass
relationship,
keterlibatan
subclasses
dalam relationship
yang
berbeda,
dan
jumlah
participants dalam superclass/subclass relationship.
7) 
Tipe Many-to-many (*:*) binary relationship
Pada tipe ini, buatlah relasi untuk merepresentasikan
relationshipnya dan masukkan semua attributes
yang merupakan
bagian dari relationship tersebut.
8) 
Tipe complex relationship
Buatlah relasi untuk merepresentasikan relationship ini
dengan  memasukkan  semua  attributes  yang  merupakan  bagian
dari relationship tersebut.
9) 
Tipe Multi-valued attributes
Buatlah relasi yang baru untuk merepresentasikan multi-
valued attributes dan masukkan primary key dari entity ke dalam
relasi yang baru untuk bertindak sebagai foreign key.
Langkah 2.2 : Validasikan relasi-relasi menggunakan
normalisasi
Dalam langkah ini kita
memvalidasikan relasi-relasi
yang
telah dibuat pada model data logikal dengan menggunakan teknik
normalisasi.
Tujuannya adalah untuk memastikan bahwa relasi-relasi
yang didapat setidaknya sudah dalam bentuk Boyce-Codd Normal
  
33
Form (BCNF).
Apabila tidak valid melalui
proses
normalisasi,
maka hal ini mengindikasikan ada bagian dari model data logikal
yang
salah
atau
terdapat
kesalahan
dalam pembuatan
relasi.
Langkah 2.3 : Validasikan relasi-relasi melalui transaksi user
Dalam langkah
ini kita memvalidasikan relasi-relasi yang
ada di
model data
logikal
lokal untuk
memastikan bahwa
relasi
dalam model data ini mendukung transaksi yang di butuhkan oleh
view seperti yang di sebutkan dalam spesifikasi kebutuhan user.
Langkah 2.4
:
Periksa integritas
dari
batasan-batasan
pada
model data (integrity constraint)
Tahap ini digunakan untuk mengecek
integritas
dari
batasan-batasan yang di representasikan pada model data logikal.
Hal ini meliputi :
•   Required Data (data yang dibutuhkan)
Beberapa 
attribut 
harus 
mengandung 
nilai 
yang 
valid. 
Atau
dengan kata lain, attribut tersebut tidak boleh mengandung null.
•   Attribute domain constraints (batasan domain attribut)
Setiap attribut mempunya sebuah domain, yaitu sekumpulan nilai
yang legal/diperbolehkan.
•   Multiplicity
•   Entity Integrity (Integritas entity)
Primary key dari sebuah entity tidak boleh mengandung null.
•   Referential Integrity (Integritas referensial)
  
34
Foreign key yang menghubungkan setiap tuple pada child relation
ke tuple pada parent relation harus mengandung nilai yang sesuai
di relasi-relasi yang berhubungan.
•   General Constraints (Batasan umum)
Langkah 2.5 : Review model data logikal dengan user
Langkah ini merupakan langkah untuk mereview
model
data
logical
dengan
user
untuk menjamin
bahwa
user
telah
menentukan
representasi
model yang benar dari kebutuhan data
enterprise.
Langkah 2.6 : Gabungkan model data logikal ke model global
(optional)
Dalam 
langkah 
ini, 
kita 
menggabungkan 
model 
data
logikal  
ke
dalam model
data logikal
global
tunggal
yang
merepresentasikan semua user views dari database.
1) 
Penggabungan    model    data    logikal    ke    model    global
Pada langkah ini langkah-langkah yang dikerjakan meliputi :
a.   Review nama-nama dan isi dari entity/relasi dan candidate
keysnya.
b.   Review nama-nama dan isi dari relationship/foreign keys
c.   Menggabungkan
entity-entity/relasi-relasi
model
data
local
d.   Memasukkan   entity-entity/relasi-relasi   secara   unik   ke
dalam model data lokal
  
35
e.   Menggabungkan relationship/foreign keys dari model data
lokal
f.
Memasukkan   relationship/foreign  keyssecara   unik   ke
dalam model data lokal
g.   Memeriksa
apakah
ada
entity/relasi
dan
relationship/foreign keys yang hilang
h.   Memeriksa foreign key
i.
Memeriksa integritas batasan-batasan yang ada.
j.
Menggambar Entity Relationship Diagram secara global.
k.   Update dokumentasi.
2) 
Validasi model data logikal global
Memvalidasikan relasi-relasi yang dibuat dari model data
logikal global menggunakan teknik normalisasi dan memastikan
bahwa  relasi-relasi  tersebut  mendukung  transaksi  yang
dibutuhkan.
3) 
Mereview model data logikal global dengan user
Dalam  langkah  ini,  kita  mereview  model  data  logikal
global dengan user untuk memastikan bahwa model yang dibuat
telah merepresentasikan data yang dibutuhkan oleh perusahaan.
2.1.7.3 Perancangan Basisdata  Fisikal
Perancangan  basisdata  fisikal  merupakan  proses
pembuatan deskripsi dari implementasi database pada secondary
strorage yang menjelaskan basis relasi, organisasi data, dan indeks
yang
digunakan
untuk
memperoleh
akses
pada
yang
baik,
dan
  
36
masalah 
integritas 
lainnya 
yang 
berkaitan, 
dan 
menentukan
mekanisme keamanan.
Perancangan fisikal
ini  
memiliki
langkah –
langkah
sebagai berikut :
Langkah 3 : Translate logical database design for target DBMS
(Menterjemahkan logikal data model ke dalam DBMS).
Langkah  ini  adalah  langkah  untuk  memproduksi  dasar
kerja relasional basisdata dari model data logical.
Dalam
langkah
ini
dibutuhkan
fungsionalitas dari
DBMS
target seperti bagaimana membuat base table dan apakah DBMS
mendukung definisi dari :
   PK, FK, dan AK;
   required data – apakah sistem mendukung NOT NULL;
   domains;
   relational integrity rules;
business rules.
Pada Langkah ini terdapat beberapa langkah lain:
Langkah 3.1  Design base tables (Merancang base table)
Langkah ini merupakan langkah untuk memutuskan
bagaimana
menghadirkan base
table
yang dikenali dalam model
logical di dalam DBMS target.
Untuk setiap table diperlukan pengertian dari :
   Nama tabel;
   Daftar kolom singkat yang diberi kurung;
  
37
   PK, AK dan FK;
   referential integrity constraints untuk setiap FK yang dikenali.
Untuk setiap kolom diperlukan pengertian dari :
domain, terdiri dari tipe data, panjang, dan constraints pada
domain;
   nilai default sebagai optional untuk kolom;
   apakah kolom dapat bernilai NULL.
Langkah
3.2
Design
representation
of
derived
data
(Merancang representasi dari derived data)
Langkah
ini
merupakan
langkah
untuk
merancang
representasi dari derived data dalam basisdata.
Pilihan yang ada berdasarkan :
   Penambahan   biaya   untuk   menyimpan   derived  data  dan
menjaganya agar tetap consistent dengan data dari tempat data
tersebut berasal;
   Biaya untuk mengkalkulasi setiap waktu diperlukan.
Langkah  3.3
Design  remaining  business  rules  (Merancang
peraturan bisnis yang tersisa)
Langkah 
ini  merupakan 
langkah 
untuk 
merancang  the
remaining business rules untuk DBMS target.
  
38
Langkah 4
:
Choose
file
organizations and indexes (Memilih
data organisasi dan indeks).
Langkah
ini
adalah
langkah
untuk menentukan organisasi
data yang optimal dalam menyimpan base table, dan indeks yang
diperlukan untuk mencapai bentuk persetujuan.
Langkah ini terdiri dari beberapa langkah berikut ini :
Langkah 4.1  Analyze transactions (Menganalisa transaksi)
Langkah ini merupakan langkah untuk mengartikan
fungsionalitas dari transaksi dan menganalisa transaksi penting
lainnya.
Langkah ini juga menjelaskan bentuk kriteria seperti :
-
transaksi   yang   berjalan   secara   berkala   dan   mempunyai
dampak penting dalam pertunjukan;
-
transaksi yang merupakan kritikal bisnis;
-
waktu
selama
sehari/seminggu
ketika
ada
permintaan
pembuatan basisdata yang tinggi (yang disebut peak load).
Untuk membantu mengindentifikasi mana transaksi yang
akan diinvestigasikan, dapat menggunakan :
  transaction/table
cross-reference matrix,
menunjukkan
table
yang diakses pada tiap transaksi,
   transaction
usage
map,
mengindikasikan
table
yang
berpotensial sering digunakan dalam transaksi.
  
39
Gambar 2.3 Contoh gambar  Pemakaian transaksi
untuk memetakan  beberapa transaksi
Setiap transaksi menentukan :
(a) table dan kolom yang diakses dan tipe pengaksesannya.
(b) kolom yang digunakan dalam search conditions.
(c) untuk query, meliputi kolom yang di join.
(d) frekuensi yang jelas dari transaksi.
(e) bentuk tujuan dari transaksi.
Langkah 4.2
Choose
file
organizations (Memilih
organisasi
data)
Langkah
ini
merupakan
langkah
untuk
menentukan
keefisienan organisasi data untuk setiap base table.
  
40
Organisasi  data  tersebut  meliputi  Heap, Hash, Indexed
Sequential Access Method (ISAM), B+-Tree, dan Clusters.
Beberapa 
DBMS 
(PC-based  DBMS
mempunyai
organisasi data pasti yang tidak dapat di alter.
Langkah 4.3  Choose indexes (memilih indeks)
Langkah   ini   merupakan   langkah   untuk   menentukan
apakah  penambahan  indeks  akan  meningkatkan  kinerja  sistem
atau tidak.
Pendekatannya
yaitu
menjaga record
tidak tersusun dan
membuat  indeks  secondary  sesuai  kebutuhan,  atau  dapat
menyusun record dalam table dengan menspesifikasikan primary
atau clustering index.
Garis-garis besar dalam pemilihan ‘wish-list’
(1) Jangan menunjuk table kecil.
(2) Tunjuk PK dari table jika bukan key dari organisasi data.
(3) Tambahkan indeks secondary ke dalam kolom yang digunakan
sebagai key secondary. (Add secondary index to any column that
is heavily used as a secondary key.)
(4) Tambahkan secondary index ke dalam FK jika sering diakses.
(5) Tambahkan secondary index ke dalam kolom yang meliputi :
selection atau join criteria; ORDER BY; GROUP BY; dan operasi
lain yang meliputi sorting (seperti UNION atau DISTINCT).
(6)  Tambahkan  secondary index ke  dalam
kolo  yang  meliputi
built-in functions.
  
41
(7)  Tambahkan  secondary index ke  dalam  kolom  yang  dapat
menghasilkan index-only plan.
(8) Hindari menunjukan kolom atau table yang sering diupdate.
(9)   Hindari   penunjukan   kolom   jika   query  akan   menerima
perbandingan yang jelas dari record dalam table.
(10) Hindari penunjukan kolom yang mengandung karakter string
yang panjang.
Langkah 5 : Design user views (Merancang user views)
Design
user views
dilakukan selama
tahap
Requirements
Collection and Analysis dari database application lifecycle.
Secara normal view dibuat menggunakan SQL atau fasilitas QBE-
like.
Langkah
6
:
Design
security
mechanisms
(Merancang
mekanisme keamanan)
Secara
umum
RDBMS
menyediakan
dua
tipe
dari
keamanan basisdata :
  system security
mengakses  dan  menggunakan  basisdata
pada level system (seperti username/password);
   data security
mengakses  dan  menggunakan  objek  pada
basisdata (seperti tables dan views).
  
42
Design Security Measures - SQL
Setiap  user  basisdata  yang  ditentukan  sebagai
authorization identifier dilakukan oleh DBA
(biasanya
merkaitan
dengan password).
Privileges
adalah
tindakan
dimana
user
diperbolehkan
untuk
mengatur
base
table
atau
view yang
diberikan
(seperti
SELECT, UPDATE).
Perintah GRANT membolehkan owner untuk memberikan
privileges kepada user lain.
Perintah REVOKE melepaskan privileges.
Langkah
7
:
Consider introduction of controlled redundancy
(Mempertimbangkan pengenalan     
dari pengontrolan
redundancy)
Langkah ini adalah langkah untuk menentukan apakah
pengenalan
redundancy
dalam controlled
manner
oleh
aturan
normalisasi akan meningkatan kinerja sistem atau tidak.
Selain itu juga perlu ditentukan bahwa denormalisasi :
   membuat implementasi lebih kompleks;
   sering mengorbankan kefleksibelan;
  dapat
meningkatkan
penerimaan
tapi
lama
dalam
mengupdate.
Menentukan 
denormalisasi 
dalam  situasi 
berikut
khususnya untuk meningkatkan transaksi berkala :
  
43
Langkah 7.1 Combining 1:1 relationships
Gambar 2.4 Combining 1:1 relationships
Langkah 7.2 Duplicating nonkey columns in 1:* relationships
to reduce joins
Gambar 2.5 Duplicating nonkey columns in 1:* relationships to reduce joins
  
44
Langkah
7.3 Duplicating
FK
columns
in 1:*
relationships to
reduce joins
Gambar 2.6 Duplicating FK columns in 1:* relationships to
reduce joins
Langkah 7.4 Duplicating columns in *:* relationships to reduce
joins
  
45
Gambar 2.7 Duplicating columns in *:* relationships to reduce
joins
Langkah 7.5 Introducing repeating groups
Gambar 2.8 Introducing repeating groups
  
46
Langkah 7.6 Creating extract tables
Langkah
ini
dapat
membuat extract
tabel
tunggal,
denormalisasi yang tinggi berdasarkan tabel yang diperlukan oleh
laporan, dan mengizinkan user untuk mengakses
extract tabel
secara langsung sebagai pengganti base tables.
Langkah 7.7 Partitioning tables
Sedikit mengkombinasikan tabel, dapat memisahkan tabel
ke dalam partisi yang lebih kecil.
Horizontal partition: menyebarkan records bersilangan
dengan beberapa tabel kecil.
Vertical 
partition:
menyebarkan 
kolom  bersilangan
dengan beberapa tabel kecil.
Duplikat PK memperbolehkan
rekonstruksi.
Partisi berguna untuk aplikasi yang menyimpan dan
menganalisa data yang besar.
   Keuntungan:
   Meningkatkan load balancing
   Meningkatkan performance
   Meningkatkan availability
   Meningkatkan recovery
   Keamanan.
   Kerugian:
   Complexity
   Reduced performance
  
47
   Duplication.
Langkah 8 : Monitor and tune operational system (Memonitor
sistem operasional).
Langkah ini merupakan langkah
untuk mengawasi sistem
operasional
dan
mengembangkan
kinerja
sistem untuk
memperbaiki perancangan keputusan yang tidak sesuai atau
menunjukan perubahan kebutuhan.
Beberapa factor yang mungkin digunakan untuk mengukur
keefisienan :
-
Transaction throughput:
transaksi
yang
diproses
pada
saat
interval waktu yang diberikan.
-
Response  time:
elapsed  time  untuk penyelesaian transaksi
tunggal.
-
Disk
storage:   banyaknya disk space yang diperlukan
untuk
menyimpan file basisdata.
Ada
4
komponen
penting
hardware
yang
dapat
berinteraksi
dan
mempengaruhi kinerja, yaitu :
   main memory
   CPU
   disk I/O
   network.
  
48
2.1.8
Entity-Relationship (ER) Modeling
Menurut Connolly dan Begg (2005,p342), salah satu aspek yang
sulit  dalam  perancangan  basisdata  adalah  kenyataannya  bahwa
perancang, programmer 
dan
pemakai
akhir
cenderung
melihat
data
dengan cara yang berbeda.
2.1.8.1 Entity Type
Tipe 
entity 
adalah 
kumpulan 
objek 
objek 
dengan
properti yang sama, yang didefinisikan oleh perusahaan yang
keberadaannya tidak tergantung.
Konsep dasar dari bentuk entity relationship adalah tipe
entity.
Sebuah
tipe
entity
memiliki
keberadaan
yang
bebas
dan
bisa
menjadi
objek
dengan keberadaan
fisik atau
menjadi objek
dengan keberadaan konseptual.
Entity Occurrence  adalah objek dan tipe entity yang dapat
di identifikasikan secara unik.
  
49
Nama Entity
Staff
Branch
Gambar 2.9
Contoh Gambar Tipe Entity
(Sumber Connolly dan Begg, 2005, p345)
2.1.8.2 Tipe Relationship
Tipe  relationship  adalah  sebuah  gabungan  yang
mempunyai arti di antara tipe – tipe entity. Setiap tipe relationship
diberi nama sesuai dengan fungsinya. Relationship Occurance
adalah gabungan yang dapat di identifikasikan secara unik, yang
meliputi suatu kejadian dari setiap tipe entity yang beradaptasi.
Derajat dari relationship adalah jumlah dari partisipasi tipe
entity
dalam
sebuah
tipe
relationship
tertentu.
Entity yang
berkaitan
dalam sebuah
tipe
relationship dikenal
sebagai
participant
dalam relationship
dan
sejumlah
participant
dalam
relationship disebut sebagai derajat dari relationship.
2.1.8.3 Attributes
Atribut
adalah
sifat
dari
sebuah
entity
atau
sebuah
tipe
relationship.
Atribut
menyimpan
nilai
dari
setiap
entity
  
50
occurrence dan mewakili bagian
utama dari data
yang disimpan
dalam basisdata.
Attribute
domain
adalah suatu
nilai-nilai
untuk satu atau
beberapa   atribut.   Setiap   atribut   yang   dihubungkan   dengan
sejumlah nilai disebut domain. Domain mendefinisikan nilai-nilai
yang
dimiliki
sebuah
atribut
dan
sama
dengan
konsep
domain
pada model relasional.
Simple
attribute
adalah
atribut
yang terdiri
dari
satu
komponen   tunggal   dengan   keberadaan   yang   bebas.   Simple
attribute disebut juga sebagai atomic attribute.
Composite Attribute adalah atribut yang terdiri dari banyak
komponen dengan sebuah keberadaan yang bebas. Dalam hal ini,
beberapa atribut dapat dipisahkan menjadi komponen yang lebih
kecil lagi dengan keberadaan yang bebas.
Single
value attribute 
adalah
atribut
yang
memiliki
nilai
tunggal untuk masing – masing kejadian dari entity.
2.1.8.4 Keys
Candidate key 
adalah
kunci
yang
secara
unik
mengenali
setiap kejadian di dalam tipe entity. Sebuah candidate key
tidak
boleh NULL. Sebuah entity mungkin punya lebih dari satu
candidate key.
Primary key 
adalah  candidate key
yang dipilih sebagai
kunci
primer
untuk
mengenali
secara unik setiap occurance dari
tipe entity.
  
51
Pemilihan primary
key  
untuk
sebuah
entity
adalah
berdasarkan pada pertimbangan panjang
atribut,
jumlah
minimal
dari kebutuhan atribut, dan memenuhi syarat unik.
2.1.8.5 Structural Constraints
Tipe
utama
dari 
batasan
hubungan di dalam relatioship
disebut 
multiplicity. Multiplicity jumlah
kemungkinan
kejadian
dari sebuah entity yang mungkin berhubungan ke sebuah kejadian
tunggal
dari
sebuah
entity
yang tergabung melalui
sebuah
hubungan khusus.
Hubungan binary secara umum dibedakan menjadi :
•   Derajat hubungan one to one ( 1:1 )
Derajat hubungan antar entity  1:1 terjadi bila tiap anggota entity
Staff 
hanya boleh berpasangan dengan satu anggota dari entity
Branch.
Sebaliknya,
tiap
anggota
dari
entity Branch 
hanya
berpasangan dengan satu anggota dari entity Staff.
Gambar 2.10
Contoh gambar Diagram representasi hubungan one-to-one
(1:1)
  
52
Penjelasan:
Gambar di atas menunjukkan setiap staf dapat me-manage 0 (nol)
atau 1 (satu) kantor cabang dengan
menempatkan
“0..1”
di
samping
entiti
Branch. Sedangkan untuk menunjukkan setiap
kantor cabang hanya mempunyai 1 (satu) staf, ditempatkan “1..1”
di samping entiti Staff.
•   Derajat hubungan One-to-Many (1:*)
Derajat
hubungan
ini terjadi bila
tiap anggota entity Staff
boleh
berpasangan dengan lebih dari satu anggota entity
PropertyForRent.  Sebaliknya  tiap  anggota  entity
PropertyForRent 
hanya
boleh
berpasangan dengan
satu
anggota
entity Staff.
Gambar 2.11 Contoh Gambar Diagram representasi hubungan one-to-
many (1:*)
Penjelasan:
Gambar
di atas
menunjukkan
setiap
staf
mengatur 0
(nol)
atau
lebih  properti  dengan 
menempatkan 
“0..*”  di  samping  entiti
  
53
PropertyForRent. Sedangkan untuk menunjukkan setiap properti
diatur  oleh  0  (nol)  atau  1  (satu)  staf,  ditempatkan  “0..1”  di
samping entiti Staff.
•   Derajat hubungan Many-to-Many (*:*)
Derajat hubungan antar entity ini terjadi bila tiap anggota entity
newspaper 
boleh berpasangan dengan lebih dari suatu anggota
entity PropertyForRent.  
Sebaliknya tiap anggota entity
PropertyForRent 
juga boleh
berpasangan dengan
lebih dari satu
anggota entity newspaper.
Gambar 2.12 Contoh Gambar Diagram representasi hubungan many-to-
many (*:*)
Penjelasan:
Gambar di atas
menunjukkan
setiap properti
diiklankan
dalam
0
(nol) atau lebih koran dengan
menempatkan “0..*” di samping
entiti
Newspaper.
Sedangkan
untuk
menunjukkan setiap koran
mengiklankan 1 (satu) atau lebih properti, ditempatkan “1..*” di
samping entiti PropertyForRent.
  
54
2.1.9
Normalisasi
2.1.9.1 Pengertian
Menurut Connolly dan Begg (2005,p387) normalisasi adalah
teknik untuk mengorganisasikan data ke dalam table – table untuk
memenuhi kebutuhan pemakai di dalam sebuah organisasi.
Tujuan dari normalisasi adalah untuk menghilangkan
kerangkapan data, untuk mengurangi kompleksitas dan untuk
mempermudah memodifikasi data.
Adapun  Manfaat dari normalisasi adalah sebagai berikut:
1.
Meminimalkan  jumlah  storage
space  yang diperlukan
untuk menyimpan data.
2.
Meminimalkan  resiko  data  yang  tidak  konsisten  dalam
suatu basisdata.
3.
Meminimalkan kemungkinan update dan delete anomally.
4.
Memaksimalkan stabilitas dari struktur data.
2.1.9.2 Tingkatan Normalisasi
1.   First Normal Form (1NF)
Adalah relasi dimana pertemuan antar setiap baris dan kolom
terdiri 1 (satu) dan hanya 1 (satu) nilai. Dalam normalisasi
pertama ini, data yang berulang-ulang dihilangkan.
2.   Second Normal Form (2NF)
Adalah
relasi
yang setiap
atributnya
adalah Full
Function
Dependency pada
seluruh
primary
key
dari
relasi
tersebut.
Dalam
normalisasi
kedua
ini,
atribut
yang
tergantung
pada
  
55
sebagian
dari
suatu
composite
key
sebuah
tabel
dipindahkan
ke sebuah tabel yang terpisah.
3.   Third Normal Form (3NF)
Adalah relasi dimana semua atribut yang non-key bersifat
mutually independent.
Dengan
demikian,
tidak
ada
non-key
atribut yang bersifat functional dependent terhadap non-key
atribut yang lain. Dalam normalisasi ketiga ini, atribut yang
tidak memberikan kontribusi terhadap penjelasan karakteristik
primary key, akan dipindahkan ke sebuah tabel yang terpisah.
Keuntungan
dari
tabel
relasional
dalam 3NF
adalah
menghilangkan data yang berulang-ulang dengan tujuan
menghemat tempat dan mengurangi keanehan manipulasi.
2.2
Pengertian Internet, Web, HTML, PHP, SQL, Asuransi, dan CRM
2.2.1
Internet
2.2.1.1 Pengertian Internet
Secara harafiah,
internet (kependekan daripada perkataan
'inter-network',    
ialah rangkaian komputer yang berhubung menerusi beberapa
rangkaian. Manakala Internet (huruf 'I' besar) ialah sistem
komputer  umum,  yang  berhubung  secara  global  dan
menggunakan TCP/IP sebagai protokol pertukaran paket (packet
switching communication protocol).
  
56
2.2.1.2 Kegunaan Internet
Banyak kegunaan yang menguntungkan yang didapatkan
dari  internet  dalam  semua  bidang  (bisnis,  akademis,
pemerintahan, organisasi, dan lain
sebagainya),
antara lain
(kegunaan internet,
a.   Informasi
yang didapatkan
lebih
cepat dan
murah dengan
aplikasi : email, WWW, NewsGroup, FTP, Gopher, dan
lain-lain.
b.   Mengurangi  biaya  kertas  dan  biaya  distribusi,  contoh  :
koran masuk internet, majalah, brosur, dan sebagainya.
c. Sebagai
media
promosi,
contoh
:
citra
perusahaan,
pengenalan dan pemesanan produk.
d.
Komunikasi  interaktif,  meliputi  :  email,  dukungan
pelanggan dengan WWW, Video Conferencing, Internet
Relay Chat, Internet Phone, dan sebagainya.
e. 
Sebagai
alat Research and Development
seperti
:
untuk
pertukaran data.
f.
Sebagai alat pertukaran data.
2.2.2
Web
World
Wide
Web ("WWW"
atau
singkatnya
"Web",
)
adalah suatu
ruang
informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh
pengenal global yang disebut Uniform Resource Identifier (URI). WWW
  
57
sering  dianggap  sama  dengan  internet  secara  keseluruhan,  walaupun
sebenarnya ia hanyalah bagian daripadanya.
2.2.3
HTML
HyperText
Markup
Language (HTML) (
http://id.wikipedia.org/wiki/HTML) adalah sebuah bahasa markup yang
digunakan untuk membuat sebuah halaman web dan
menampilkan
berbagai  informasi  di  dalam  sebuah  browser  internet.  Bermula  dari
sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan
dan  percetakan  yang  disebut  dengan  SGML,  HTML  adalah  sebuah
standar yang digunakan secara luas untuk menampilkan halaman web dan
HTML kini merupakan standar internet yang saat ini dikendalikan oleh
World Wide Web Consortium (W3C).
Versi terakhir dari HTML adalah HTML 4.01, meskipun saat ini
telah berkembang XHTML yang merupakan pengembangan dari HTML.
HTML  berupa  kode-kode  tag  yang  menginstruksikan  browser
untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Markup/Tanda
Secara garis besar, terdapat 4 jenis elemen dari HTML:
-
Structural. Tanda yang menentukan level atau tingkatan dari
sebuah teks (contoh, <h1>Golf</h¹> akan
memerintahkan browser
untuk menampilkan "Golf" sebagai teks tebal besar yang
menunjukkan sebagai Heading 1.
  
58
-
Presentational. Tanda yang menentukan tampilan dari sebuah
teks 
tidak 
peduli 
dengan 
level 
dari 
teks 
tersebut 
(contoh,
<b>boldface</b> 
akan 
menampilkan  bold
Tanda  presentational
saat
ini    sudah    mulai    digantikan    oleh    CSS    dan    tidak
direkomendasikan untuk mengatur tampilan teks.
-
Hypertext. tanda
yang 
menunjukkan  pranala  ke  bagian  dari
dokumen tersebut atau pranala ke dokumen lain (contoh,
<a href="h
ttp://www.wikipedia.org/">Wikipedia</a>
akan menampilkan Wikipedia
sebagai sebuah hyperlink ke URL tertentu).
-
Elemen
widget
yang
membuat
objek-objek
lain
seperti
tombol
(<button>), list (<li>), dan garis horizontal (<hr>).
2.2.4
PHP
Menurut Blake Schwendiman (2001,p.xv-xvi) PHP adalah bahasa
pemrograman yang diciptakan untuk memungkinkan para pengembang
web dalam membuat aplikasi web dinamis secara cepat. PHP
singkatan
dari “PHP : Hypertext Prepocessor”.
2.2.5
SQL
SQL (Structured Query Language,
http://id.wikipedia.org/wiki/SQL)   adalah   bahasa   yang   dipergunakan
untuk mengakses data dalam basis data relation. Bahasa ini secara defacto
adalah  bahasa  standar  yang  digunakan  dalam  manajemen  basis  data
  
59
relasional. Saat ini hampir semua server basis data yang ada mendukung
bahasa ini dalam manajemen datanya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM
bernama EF Codd yang membahas
tentang ide pembuatan basis data
relasional pada bukan juni tahun 1970. Dalam artikel ini juga dibahas
tentang kemungkinan pembuatan bahasa standar untuk mengakses data
dalam basis
data
tersebut.
Bahasa
tersebut
kemudian
diberi
nama
SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, maka IBM mengadakan proyek
pembuatan basis data relasional beserta SEQUEL. Akan tetapi karena
permasalah
hukum mengenai
penamaan
SQL,
maka
IBM
merubahnya
menjadi SQL. Implementasi basis data relasional dikenal dengan
System/R.
Di akhir tahun 1970-an muncul perusahaan bernama Oracle yang
membuat server basis data populer yang bernama sama dengan nama
perusahaannya.  Dengan  naiknya  kepopuleran  Oracle,  maka  SQL  juga
ikut populer sehingga saat ini menjadi standar defacto bahasa dalam
manajemen basis data.
2.2.6
Asuransi
2.2.6.1 Definisi Asuransi
Definisi-definisi asuransi : (Soeisno Djojosoedarso,2003,p73-74)
1.   Definisi
Asuransi
menurut pasal 246 Kitab
Undang-Undang
Hukum Dagang (KUHD) Republik Indonesia.
  
60
“Asuransi atau pertanggungan adalah suatu perjanjian, dengan
mana seorang penanggung mengikatkan diri pada tertanggung
dengan menerima suatu premi, untuk memberi penggantian
kepadanya
karena
suatu
kerugian, kerusakan
atau
kehilangan
keuntungan yang diharapkan, yang mungkin akan dideritanya
karena suatu peristiwa yang tidak tertentu.”
Berdasarkan 
definisi 
tersebut, 
maka 
dalam  asuransi
terkandung empat unsur, yaitu:
a.   Pihak tertanggung (insured)
Pihak yang berjanji untuk membayar uang premi kepada pihak
penanggung, sekaligus atau secara berangsur-angsur.
b.   Pihak penanggung(insurer),
Pihak yang berjanji akan membayar sejumlah uang (santunan)
kepada pihak tertanggung, sekaligus atau secara
berangsur-
angsur apabila terjadi sesuatu
yang
mengandung
unsur
tidak
tertentu.
c.   Suatu peristiwa (accident),
Suatu
peristiwa
yang tidak
tertentu
(tidak
diketahui
sebelumnya).
d.   Kepentingan (interest),
Yang  mungkin  akan  mengalami  kerugian  karena  peristiwa
yang tak menentu.
2.
Definisi Asuransi menurut Prof. Willet:
  
61
“Asuransi adalah alat sosial untuk mengumpulkan dana guna
mengatasi kerugian modal yang tidak tentu, yang dilakukan
melalui pemindahan resiko dari banyak individu kepada
seseorang atau sekelompok orang”.
3.   Definisi
Asuransi menurut C.Arthur William Jr dan Richard
M.Heins
Mendefinisikan asuransi berdasarkan dua sudut pandang :
a.   “Asuransi adalah suatu pengamanan terhadap kerugian
financial yang dilakukan oleh seorang penanggung.”
b. 
“Asuransi adalah suatu persetujuan dengan mana dua
atau lebih orang atau badan mengumpulkan dana untuk
menanggulangi kerugian finansial”.
Simpulan definisi asuransi adalah : “Asuransi adalah suatu
alat untuk mengurangi resiko yang
melekat
pada perekonomian,
dengan
cara
menggabungkan
sejumlah unit-unit yang terkena
resiko
yang
sama atau
hampir
sama, dalam jumlah
yang
cukup
besar, agar probabilitas
kerugiannya
dapat
diramalkan
dan
bila
kerugian
yang diramalkan terjadi akan dibagi secara proporsional
oleh semua pihak dalam gabungan itu”.
2.2.6.2 Prinsip-Prinsip Dasar Asuransi
Ada empat prinsip yang dimiliki asuransi, yaitu: ( Soeisno
Djojosoedarso, 2003,p109)
Insurable Interest (Kepentingan yang dapat diasuransikan)
  
62
Jika suatu kejadian dapat menimbulkan kerugian kepada
seseorang, maka berarti orang
yang bersangkutan mempunyai
kepentingan terhadap kerugian tersebut.
Indemnity (Indemnitas)
Suatu  perjanjian  penggantian  kerugian,  di  mana  ganti  rugi
yang  diberikan  tidak  boleh  melebihi  kerugian  yang
sebenarnya.
Subrogasi
Prinsip
ini
bertujuan
agar
penderita peril
tidak
memperoleh
keuntungan dari terjadinya
kerugian, maka
pihak yang
menyebabkan terjadinya kerugian juga memberikan ganti rugi.
Utmost Good Faith (Kejujuran Sempurna)
Merupakan 
prinsip  adanya 
itikad 
baik 
atas 
dasar  saling
percaya antara pihak penanggung dengan pihak tertanggung
dalam melaksanakan
kontrak penutupan pertanggungan
(asuransi).
2.2.7
CRM (CUSTOMER RELATIONSHIP MANAGEMENT)
Menurut  kalakota dan Robinson (1999,p111) CRM didefinisikan
sebagai suatu penjualan, pemasaran
dan
strategi
pelayanan
yang
terintegrasi
yang
menghindarkan kepemimpinan  
tunggal
dan
yang
bergantung pada tindakan perusahaan yang terkoordinasi secara luas.
  
63
Menurut Jill Dyche (2002,p4) definisi
dari
CRM
adalah
infrastruktur yang memungkinkan penggambaran dari pertambahan nilai
pelanggan
dan
dalam artian
untuk
memotivasi
customer
yang
bernilai
tinggi untuk tetap loyal (setia pada produk – membeli produk kembali).
Customer
Relationship
Management
adalah strategi pada level perusahaan yang berfokus pada pembuatan dan
pemeliharaan hubungan yang berkesinambungan dengan pelanggannya.
2.2.7.1 Aspek Implementasi CRM
Adapun
aspek
implementasi  CRM  (  Customer  Relationship
Management ) terdiri dari 3 ( tiga )
antara lain : (
onship_management)
-
Operasional CRM  yaitu pihak perusahaan yang memberi atau
menjual pelayanan kepada pelanggan untuk memproses yang
informasi  suatu perusahaan.
-
Collaborative  CRM   yaitu   pihak perusahaan berinteraksi
dengan pelanggan.
-
Analytical 
CRM yaitu 
menganalisa data 
pelanggan
setelah
menggunakan produk dan jasa perusahaan.
  
64
2.2.7.2  Tujuan CRM
Customer                       
Relationship                       
Management
Bertujuan dengan menggunakan teknologi berguna untuk
membantu
perusahaan
dalam menjalin
hubungan
dengan
pelanggan.
2.2.7.3 Strategi CRM
Adapun strategi dalam mewujudkan  CRM antara lain :
-
Perusahaan
menyediakan  jasa dan informasi produk.
-
Mengetahui keinginan pelanggan.
-
Menawarkan layanan yang baik kepada pelanggan.
-
Membantu perusahaan dalam penjualan produk.