BAB 2
LANDASAN TEORI
2.1 Teori – Teori Dasar
2.1.1 Pengertian Data
Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah
representasi
dari
objek-objek
dan
event-event
yang
tersimpan,
yang
penting
dan mempunyai arti di dalam lingkungan pengguna.
2.1.2 Pengertian Sistem
Menurut
McLeod,
Raymond
Jr
(1996, p11),
sistem adalah
sekelompok
elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu
tujuan.
2.1.3 Pengertian Basis Data
Menurut
Connolly
and
Begg
(2002,
p14),
basis
data
adalah
kumpulan
data yang terhubung secara logikal, dan sebuah deskripsi data yang dirancang
untuk memenuhi kebutuhan informasi suatu organisasi.
Menurut Post, Gerald V (2005, p2), basis data adalah sekumpulan data
yang
disimpan
dalam bentuk
tertentu
yang
dirancang
agar
dapat
digunakan
oleh pengguna yang beragam.
6
  
7
Berdasarkan definisi
di
atas,
maka
dapat
disimpulkan
bahwa basis data
adalah
kumpulan data
yang
terhubung
secara
logikal,
yang dirancang untuk
memenuhi kebutuhan informasi dari pengguna yang beragam.
2.1.4 Pengertian Sistem Basis Data.
Menurut Date, C.J (2000, p5), suatu sistem basis data adalah suatu sistem
yang pada dasarnya menyimpan record-record di dalam suatu sistem yang
dilakukan
secara
komputerisasi
yang
tujuannya
secara
keseluruhan untuk
memelihara informasi
dan
untuk
membuat
infomasi
tersebut
tersedia
berdasarkan permintaan.
2.1.5 Karakteristik Basis Data
Menurut Mannino (2001, p4-5), basis data mempunyai beberapa
karakteristik, yaitu:
a)  Persistent
Sebuah
variabel
dalam
program komputer
tidak
akan
ada
terus
menerus
(persistent)
karena
berada
dalam memori
utama
dan
akan
hilang
setelah program dimatikan. Ketika data tidak diperlukan atau
tidak relevan lagi, maka data dapat dihilangkan atau tetap disimpan.
b)  Shared
Basis
data
dapat
digunakan
oleh multiple
user.
Sebuah
basis
data
menyediakan
memori yang secara umum mempunyai banyak
fungsi
dalam organisasi. Misalnya, basis data dapat mendukung perhitungan
gaji, evaluasi kinerja, menyediakan laporan-laporan dan sebagainya.
  
8
c) 
Interrelated
Data yang disimpan dalam unit-unit yang terpisah dapat dihubungkan
untuk
mendapatkan
suatu
gambaran
secara
keseluruhan. Misalnya
basis
data
konsumen
menghubungkan
dengan
data order
untuk
memfasilitasi proses order (pemesanan).
2.1.6 Kelebihan dan Kekurangan Basis Data
Menurut Hoffer, Prescott, dan McFadden (2005, p23-25) basis data
mempunyai beberapa kelebihan antara lain:
1.   Program Data Independence
Dengan adanya basis data, maka deskripsi data disimpan dalam lokasi
pusat yaitu repository. Properti sistem basis data memungkinkan data
untuk diubah dan dikembangkan tanpa mengubah aplikasi program
yang akan memproses data.
2.   Minimal Data Redundancy
Tujuan dari basis data adalah mengintegrasikan data yang dulunya
tersebar menjadi satu struktur logikal. Basis data tidak menghilangkan
semua redundancy tetapi membantu perancang untuk mengontrol tipe
dan jumlah redundancy itu.
3.   Improved Data Consistency
Dengan mengontrol atau menghilangkan redundancy data, maka akan
meningkatkan konsistensi antar data. Misalnya, jika alamat konsumen
hanya disimpan dalam satu tempat, maka alamat tersebut tidak dapat
lagi digunakan kebenarannya.
  
9
4.   Improved Data Sharing
Sebuah   basis   data   didesain   untuk   digunakan   sebagai   sumber
informasi perusahaan yang dapat digunakan oleh semua orang.
Pengguna yang terotorisasi internal maupun eksternal dapat
menggunakan basis data yang sama, tetapi dengan kemampuan yang
berbeda dalam menggunakan fasilitas basis data ini.
5.   Increased Productivity of Application Development
Keuntungan utama dari basis data adalah dapat meningkatkan
produktivitas untuk pengembangan aplikasi bisnis baru.
6.   Enforcement of Standards
Ketika basis data diimplementasikan dengan dukungan penuh dari
manajemen, maka administrator basis data seharusnya akan berfungsi
sebagai orang yang bertanggungjawab untuk menghasilkan suatu
standarisasi data untuk organisasi.
7.   Improved Data Quality
Dengan
adanya
basis
data
maka
sistem dapat
diberikan
batasan-
batasan (integrity constraints) sehingga kualitas data dapat terjamin.
8.   Improved Data Accessibility and Responsiveness
Dengan
basis
data
relasional,
end users
yang
tidak
mempunyai
kemampuan  ataupun  pengalaman  programming bisa  mendapatkan
dan menampilkan data bahkan melewati batasan departemen.
9.   Reduced Program Maintenance
Untuk
mengurangi
kegiatan
maintenance
program maka
data
yang
disimpan harus dapat sering diubah untuk beberapa alasan, misalnya
  
10
adanya   tambahan   data   yang   baru,   format   data   berubah   dan
sebagainya.
Selain  itu  penggunaan  basis  data 
menurut 
Hoffer,  Prescott,  dan
McFadden (2002, p23-24) mempunyai beberapa kekurangan, antara lain:
1.   New, Specialized Personnel
Sering kali, organisasi yang
menggunakan basis data perlu untuk
mempekerjakan
atau
melatih orang
untuk
mendesain
dan
mengimplementasikan basis data, menyediakan servis basis data, dan
mengatur staf yang terdiri dari orang-orang baru.
2.   Installation and Management Cost and Complexity
Multiuser database management system adalah software yang sangat
kompleks dan mempunyai harga initial yang tinggi, memerlukan staf
yang telah terlatih untuk meng-install,
mengoperasikan
serta
setiap
tahun memerlukan hardware yang lebih baik, dan sistem komunikasi
dalam organisasi.
3.   Conversion Cost
Biaya  juga  diperlukan  untuk  mengkonversi  sistem  lama  menjadi
sistem basis data
yang
modern,
yang dapat diukur dengan
uang dan
waktu.
4.   Need for Explicit Backup and Recovery
Basis data yang digunakan secara bersama haruslah akurat dan dapat
digunakan 
setiap 
saat.  Hal 
ini 
mengharuskan  prosedur-prosedur
seperti itu dikembangkan dan digunakan
untuk
menyediakan backup
dari data, untuk memulihkan basis data bila terjadi kerusakan.
  
11
5.   Organizational Conflict
Penggunaan
basis
data
secara
bersama
dalam satu
perusahaan
memerlukan  kesepakatan  dalam
hal  definisi  data  dan  kepemilikan
data, seperti halnya juga pertanggungjawaban terhadap keakuratan
dalam pemeliharaan data.
Pengalaman
membuktikan bahwa konflik
terjadi
pada
definisi
data,
format
data,
pemrograman
data
(coding),
dan kemampuan untuk update data menjadi masalah sulit untuk
diselesaikan.
Untuk
menangani
masalah ini memerlukan komitmen
dalam organisasi bisnis.
2.1.7 Struktur Data dalam Sistem Basis Data
Tingkatan struktur di dalam basis data antara lain:
a) 
Field, unit terkecil dari record yang disimpan dalam basis data.
b)  Record,  kumpulan  field-field yang  disimpan,  yang  saling  berelasi
membentuk data yang mempunyai arti.
c) 
File, kumpulan seluruh occurrence dari satu tipe record tersimpan.
d)  Database, kumpulan terintegrasi dari occurrence file atau tabel yang
merupakan representasi data dari suatu model enterprise.
2.1.8 DBMS (Database Management System)
Menurut Post, Gerald V (2005, p2)
Database Management System
(DBMS) adalah sebuah piranti lunak yang mendefinisikan database,
menyimpan data, mendukung
query language, menghasilkan laporan dan
membuat layar memasukkan data.
  
12
Menurut
Connolly
dan
Begg
(2002, p16)
DBMS adalah
sebuah piranti
lunak   yang   memungkinkan   pengguna   untuk   mendefinisikan,   membuat,
memelihara dan mengontrol akses ke basis data.
Dari definisi-definisi tersebut, dapat disimpulkan bahwa
DBMS adalah
sebuah piranti lunak yang mendukung query
language untuk
mendefinisikan,
membuat, memelihara dan mengontrol akses ke basis data.
Menurut   Connolly   dan   Begg   (2002,   p16)   secara   khusus   DBMS
menyediakan fasilitas – fasilitas berikut:
Mengijinkan
pengguna
untuk
menentukan
basis
data,
biasanya
melalui
Data
Definition
Language
(DDL).
DDL
menyediakan
fasilitas untuk
menspesifikasi tipe data, struktur, dan batasan data yang bisa disimpan di
basis data.
Mengijinkan pengguna untuk
memasukkan,
mengupdate,
menghapus dan
mengambil
data
dari
basis
data,
yang
dilakukan
melalui Data
Manipulation Language (DML).
DBMS  juga  menyediakan  akses  kontrol  terhadap  basis  data.  Contoh
akses kontrol yang tersedia di DBMS :
a) 
Security
system,
yang
dapat
mencegah
pengguna
yang
tidak
terotorisasi mengakses basis data.
b)  Integrity system, menangani konsistensi penyimpanan data.
c) 
Concurrency
and
Control
system,
yang
memungkinkan
pembagian
akses penggunaan ke basis data.
  
13
d)  Recovery
control
system,
yang dapat
mengembalikan
basis data
ke
keadaan  konsisten  awal  apabila  terjadi  kesalahan  pada  perangkat
lunak maupun perangkat keras.
e) 
User  accesible  catalog, yang berisi deskripsi data yang terdapat
dalam basis data.
a.   Komponen DBMS
Menurut Connolly dan Begg (2002, p18), terdapat 5 (lima) komponen
utama di dalam lingkungan DBMS, yaitu:
a) 
Perangkat Keras
DBMS  membutuhkan  jumlah  minimum  memori  utama  dan  disk
space, namun yang harus diperhatikan adalah kapasitas penyimpanan
karena basis data membutuhkan kapasitas yang besar.
b)  Piranti Lunak
Komponen piranti lunak terdiri dari piranti lunak DBMS itu sendiri,
piranti
lunak
jaringan (jika
diperlukan)
dan
program
aplikasi
pendukung lainnya.
c) 
Data
Data dalam basis data berperan sebagai jembatan antara mesin dengan
manusia. Data pada sebuah basis data, baik itu yang berupa data yang
single-user (hanya satu pengguna yang
mengoperasikan basis data)
maupun
multi-user (satu atau lebih pengguna
mengoperasikan
basis
data secara bersamaan), harus terintegrasi dan dapat dipakai bersama.
Pengertian terintegrasi di sini adalah suatu basis data dapat dipandang
sebagai suatu kumpulan
file-file yang terkait satu sama
lain dengan
  
14
menghilangkan redundansi yang ada. Pengertian dipakai bersama
adalah
setiap
bagian
data
yang terdapat
dalam basis
data
dapat
digunakan
oleh
lebih
dari satu
pengguna
dengan
fungsi
yang
sama
atau berbeda satu sama lain.
d)  Prosedur
Prosedur menunjuk ke instruksi-instruksi dan aturan-aturan yang
mengatur perancangan dan penggunaan
basis
data.
Pengguna
dari
sistem dan
staf
yang
mengatur
basis
data
membutuhkan
instruksi-
instruksi untuk menggunakan atau menjalankan sistem.
e) 
Pengguna
Ada 3 (tiga) kelas pengguna basis data, yaitu:
1.   Pemrogram aplikasi, bertanggung jawab dalam penulisan program
aplikasi
yang
diperlukan
dalam manajemen
basis
data
dengan
menggunakan berbagai bahasa pemrograman.
2. 
Pengguna
akhir
(end-user),
menggunakan data
dalam basis data
untuk keperluan tugas atau fungsinya.
3. 
Administrator
Basis Data
(DBA
atau
Database
Administrator),
bertanggung jawab pada keseluruhan sistem basis data.
b. 
Keuntungan dan Kerugian DBMS
Menurut  McLeod,  Raymond  Jr  (2004,  p193),  keuntungan  DBMS
antara lain :
1.   Mengurangi pengulangan data
Jumlah
total
file
dikurangi
dengan menghapus file-file duplikat. Di
dalam DBMS, hanya terdapat sedikit data yang sama di beberapa file.
  
15
2.   Mencapai independensi data
Spesifikasi
data disimpan
di
dalam skema dari
dalam tiap program
aplikasi. Perubahan dapat dibuat pada struktur data tanpa mengurangi
program yang mengakses data.
3.   Mengintegrasikan data dari beberapa file
Ketika  file  dibentuk  sehingga  menyediakan  kata  login,  organisasi
fisik tidak lagi menjadi kendala.
4.   Mengambil data dan informasi secara cepat
Hubungan-hubungan login dan DML (Data Manipulation Language)
serta query language memungkinkan pemakai mengambil data dalam
hitungan detik atau menit, yang sebelumnya memungkinkan
memerlukan beberapa jam atau hari.
5.   Meningkatkan keamanan
Baik DBMS mainframe maupun komputer mikro, dapat menyertakan
beberapa
lapis
keamanan
seperti
kata
sandi
(password), direktori
pemakai, dan bahasa sandi (encryption).
Sedangkan,  menurut  McLeod,  Raymond  Jr  (2004,  p152),  DBMS
memiliki kerugian  antara lain:
1.   Mempergunakan perangkat lunak yang mahal
DBMS mainframe masih sangat mahal. DBMS berbasis komputer
mikro, walaupun biayanya hanya beberapa ratus dolar, dapat
menggambarkan pengeluaran yang besar bagi organisasi yang kecil.
2.   Memerlukan konfigurasi perangkat keras yang besar
  
16
DBMS   yang   memerlukan   kapasitas   penyimpanan   primer   dan
sekunder
yang
lebih
besar
daripada yang diperlukan oleh program
aplikasi
lain. Kemudahan
yang dibuat oleh DBMS dalam mengambil
informasi
juga
mendorong
lebih banyak
terminal
pemakai
yang
disertakan dalam konfigurasi.
3.   Memperkerjakan staf Database Administrator (DBA)
DBMS
memerlukan
pengetahuan khusus
agar
dapat
dimanfaatkan
secara maksimal. Pengetahuan khusus ini disediakan paling baik oleh
para pengelola basis data (DBA).
2.1.9 RDBMS (Relational Database Management System )
Database
relational adalah sebuah kumpulan dari relasi dengan
membedakan
nama
relasi. Database disimpan dalam tabel dan tabel
mengandung 
data 
yang 
berhubungan 
atau  entity
seperti 
orang,  produk,
pesanan, dan lain-lain.
Tujuannya adalah menjaga tabel tetap kecil dan dapat
dikelola
serta
entity-entity
yang
terpisah
disimpan
di
dalam
tabel-tabel
yang
tersendiri.
Relational 
database 
management  atau
relational 
DBMS 
(RDBMS)
secara sederhana dapat diartikan sebagai suatu sistem dimana data dilihat oleh
penggunanya hanya sebagai tabel dan operator yang digunakan oleh pengguna,
misalnya untuk mengambil data adalah operator yang dapat menghasilkan tabel
baru dari tabel yang lama.
Menurut
Connolly
dan
Begg
(2002,
p69)
RDBMS
telah
menjadi
salah
satu cara memproses data yang populer saat ini. Perangkat lunak ini mewakili
  
17
generasi ke-2 DBMS yang berdasarkan model relasional data. Di dalam model
relasional,
semua
data
terstruktur
secara
logika
di
dalam tabel.
Setiap
tabel
mempunyai  nama 
yang  merupakan  nama  attribut  data.  Setiap  baris
mengandung 1 (satu) nilai per atribut.
2.1.10 Data Definition Language (DDL)
Menurut Connolly dan Begg (2002, p40)
DDL adalah bahasa yang
memungkinkan seorang administrator basis data atau pengguna untuk
mendeskripsikan dan menentukan entiti, atribut, dan relasi yang dibutuhkan
aplikasi, bersama dengan semua batasan –
batasan integritas dan keamanan
(integrity and security constraints). Hasil dari kompilasi statement DDL adalah
kumpulan dari tabel yang disimpan di file khusus yang disebut system catalog.
Sementara istilah
data
dictionary
dan
data
directory digunakan
untuk
mendeskripsikan system catalog.
2.1.11 Data Manipulation Language (DML)
Menurut Connolly dan Begg (2002, p41)
DML adalah bahasa yang
menyediakan sekumpulan operasi untuk
mendukung
operasi
manipulasi data
dasar dari data yang tersimpan di basis data. Secara umum, operasi DML
mencakup:
Pemasukan data baru ke dalam basis data (insert)
Pemodifikasian dari data yang telah tersimpan dalam basis data (update)
Pengambilan data yang terdapat dalam basis data (select)
  
18
Penghapusan data yang terdapat dalam basis data (delete)
2.1.12 Entity Relationshiop Modelling
a.   Entity
Menurut Connolly
dan Begg (2002,
p331),
entity type (tipe entitas)
adalah sekumpulan objek-objek dengan property yang sama, yang
diidentifikasikan dengan keberadaan yang independent di perusahaan.
Sebuah entity (entitas)
mempunyai kumpulan property dan nilai dari
property tersebut mengidentifikasikan entity secara unik.
b. 
Relationship
Menurut Connolly dan Begg (2002, p334), relationship type (tipe
relasi) adalah sebuah kumpulan yang memiliki arti antara entity type. Setiap
relationship type memiliki nama yang menjelaskan fungsinya.
c.   Attribute
Menurut
Connolly
dan
Begg
(2002,
p338),
atribut
adalah
property
dari sebuah entity atau tipe relationship.  Jenis-jenis atribut, antara lain:
1.   Attribute domain adalah sebuah kumpulan
nilai
yang diperbolehkan
untuk satu atau lebih atribut.
2.   Simple dan Compose Attributes
Simple
attribute
adalah
atribut
yang
terdiri
dari
satu
komponen
tunggal
dengan
keberadaan
yang bebas
dan
tidak
dapat
dibagi
menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama
Atomic Attribute.
  
19
Compose 
attribute 
adalah 
atribut  yang 
terdiri 
dari  beberapa
komponen, di mana masing-masing komponen memiliki
keberadaan yang bebas. Contohnya, atribut alamat dapat terdiri
dari jalan, kota, kode pos.
3. 
Single-value attribute adalah atribut yang mempunyai nilai tunggal
untuk setiap kejadian. Sedangkan multi-value attribute adalah atribut
yang mempunyai beberapa nilai untuk setiap kejadian.
4.   Derived attribute adalah atribut
yang
memiliki nilai
yang dihasilkan
dari satu atau beberapa atribut lainnya,
dan
tidak
harus berasal dari
satu entity.
d.   Key
Menurut Silberschatz (2002, p35), key digunakan
untuk
mengidentifikasi
kumpulan
atribut yang dapat
membedakan
entity satu
dengan yang lainnya.
Menurut Silberschatz (2002, p35), superkey adalah sebuah set satu
atau lebih atribut untuk mengidentifikasi secara unik untuk sebuah entity di
dalam entity set.
Menurut Connolly dan Begg (2002, p340), candidate key adalah
jumlah
minimal
atribut-atribut
yang dapat
mengidentifikasi tiap kejadian
atau record secara unik.
Menurut Silberschatz
(2002, p35) primary key adalah candidate key
yang dipilih oleh perancang basis data sebagai yang utama untuk
mengidentifikasikan
entity-entity
di
dalam
entity
set.
Primary
key
harus
  
20
merupakan  field-field yang  benar-benar  unik  dan  tidak  boleh  ada  nilai
NULL.
Foreign key adalah primary key dari entity yang digunakan oleh entity
lain untuk mengidentifikasikan kejadian dari suatu relationship.
e.   Strong and weak entity types
Menurut Connolly dan Begg (2002, p342), strong entity adalah entiti
yang keberadaannya tidak tergantung dengan entiti lain. Karakteristik dari
entiti dapat diidentifikasikan dengan primary key dari tipe entiti itu.
Menurut Connolly dan Begg (2002, p343), weak entity adalah entiti
yang
keberadaannya
tergantung
dari
entiti lain. Karakteristik
dari
weak
enitity adalah
atribut
yang
terdapat
pada
entiti
tersebut
tidak
dapat
mengidentifikasikan tipe entiti itu secara unik.
f.
Structural constraints
Menurut Connolly dan Begg (2002, p344), multiplicity merupakan
jumlah kemunculan (occurence) yang mungkin dari sebuah tipe entiti yang
berhubungan dengan kemunculan tunggal dari sebuah tipe entiti yang
berhubungan melalui relasi tertentu.
Tingkat  relasi  yang  umum  antar  entiti  adalah  binary.  Berikut  ini
adalah relasi binary yang sering terjadi:
1.   Relasi One-to-One (1 : 1)
Relasi  dimana  setiap  entiti  yang  ada  hanya  dapat  mempunyai
maksimal 1 (satu) relasi dengan entiti yang lain.
  
21
Joe
R1
A
Lila
Rika
R2
B
Staf
mengatur
Cabang
(Entiti)
(tipe relasi)
(Enititi)
Gambar 2.1 Relasi one-to-one antara staf dan cabang
Pada gambar diatas relasi yang terjadi adalah one-to-one, dimana
setiap staf yang ada hanya dapat mengatur satu cabang.
2.   Relasi One-to-Many (1 : *)
Relasi dimana setiap entiti yang ada dapat mempunyai satu relasi
atau lebih dari satu relasi dengan entiti yang lain.
Joe
R1
Lila
R2
Rika
R3
Free
Res
Sul
Staf
melayani
Konsumen
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.2 Relasi one-to-many antara staf dan konsumen
Pada gambar diatas relasi yang terjadi
adalah relasi one-to-many
dimana setiap staf dapat melayani lebih dari 1 konsumen.
  
22
3.   Relasi Many-to-Many (* : *)
Relasi dimana setiap entiti dapat mempunyai lebih dari satu relasi
dengan entiti lainnya.
Kompas
R1
P1
Tempo
R2
P2
R3
Media
P3
R4
Koran
mengiklankan
Rumah
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.3 Relasi many-to-many antara koran dan rumah
Cardinality dan Participation Constraints
Multiplicity terdiri
dari
dua
batasan
yaitu
cardinality
dan
participation.
Cardinality menggambarkan
jumlah
maksimum relasi
yang
mungkin
terjadi dari
sebuah entiti
yang berpartisipasi dalam tipe
relasi.
One-to-one (1:1),
one-to-many
(1:*),
dan
many-to-many
(*:*)
merupakan
cardinality
dari
relasi
binary.
Participation menentukan
apakah semua atau hanya sebagian dari entiti yang berpartisipasi dalam
relasi.
2.1.13 Normalisasi
Normalisasi adalah teknik untuk memproduksi sekumpulan relasi dengan
properti yang diinginkan, dengan kebutuhan data yang diberikan perusahaan.
  
23
Proses pembentukan tabel Norman (normalisasi) bertujuan untuk:
Membuat sekecil mungkin terjadinya data rangkap.
Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan
penghapusan atau penambahan data sebagai akibat adanya data rangkap.
Empat bentuk normal yang biasa digunakan, yaitu:
1.   Bentuk Normal Pertama (First Normal Form / 1NF)
Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg (2002,
p388) adalah sebuah relasi di mana setiap irisan antara baris dan kolom
berisikan satu dan hanya satu nilai.
2.   Bentuk Normal Kedua (Second Normal Form / 2NF)
Yaitu relasi yang terdapat di dalam 1NF dan tiap atribut non-primary key
bersifat bergantung fungsional penuh terhadap primary key.
3.   Bentuk Normal Ketiga (Third Normal Form / 3NF)
Yaitu relasi
yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut
non-primary key yang bergantung transitif terhadap primary key.
4.   Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)
Sebuah
relasi
dikatakan
BCNF
jika
dan
hanya
jika
setiap
determinan
merupakan
candidate
key.
Setiap
relasi
dalam
BCNF
juga
merupakan
3NF, tetapi relasi dalam 3NF belum tentu termasuk ke dalam BCNF.
2.1.14 Siklus Hidup Basis Data (Database Aplication Lifecycle)
Siklus  hidup  sebuah  aplikasi  basis  data  menurut  Connolly  dan  Begg
(2002, p271) digambarkan sebagai berikut:
  
24
Gambar 2.4 Siklus hidup basis data (Database Aplication Lifecycle)
a.   Perencanaan Basis Data (Database Planning)
Menurut Connolly dan Begg (2002, p273), perencanaan basis data
adalah aktivitas manajemen
yang mengatur atau merencanakan bagaimana
tahapan-tahapan
dalam siklus
hidup
basis
data
dapat
diterapkan
seefektif
dan   seefisien   mungkin.   Ada   3   (tiga)   masalah   pokok   yang   harus
diperhatikan dalam merumuskan strategi sistem informasi, yaitu:
  
25
Mengidentifikasikan
rencana
dan
tujuan
perusahaan
dengan
menentukan sistem informasi mana yang diperlukan.
Mengevaluasi
sistem
informasi
yang ada
untuk
melihat kelebihan
dan kekurangannya.
Penilaian   mengenai   peluang   IT   yang   mungkin   menghasilkan
keuntungan yang kompetitif.
b. 
Definisi Sistem Basis Data (System Definition)
Menurut Connolly dan Begg (2002, p274), aktivitas utama dalam
pendefinisian sistem basis data adalah mendeskripsikan ruang lingkup dari
aplikasi  basis  data  yang  akan  dibuat  termasuk  pengguna  dan  tempat
aplikasi diterapkan.
Sebelum mencoba
untuk merancang suatu aplikasi basis data, sangat
penting
untuk
mengidentifikasikan
batasan-batasan
sistem yang
ada
dan
bagaimana  sistem  tersebut  berinteraksi  dengan  bagian  sistem  informasi
yang lain dalam suatu perusahaan. Penting juga untuk mengikutsertakan di
dalam batasan-batasan sistem yang telah dibuat, tidak hanya untuk aplikasi
dan
pemakai
saat
ini saja,
tetapi
juga bisa
digunakan
di
masa
yang
akan
datang.
c.   Analisis
dan
Pengumpulan
Kebutuhan
(Requirements Collection
and
Analysis)
Menurut Connolly dan Begg (2002, p276), analisa dan pengumpulan
kebutuhan adalah proses mengumpulkan dan menganalisis informasi
mengenai bagian dari organisasi yang akan mendukung aplikasi basis data
  
26
dan
menggunakan
informasi
ini
untuk
mengidentifikasi
kebutuhan
pengguna
pada
sistem baru.
Untuk
melaksanakan
proses
itu
digunakan
teknik yang disebut dengan fact finding techniques. Terdapat 5 (lima) fact
finding techniques yang umum digunakan:
1.   Mengevaluasi dokumen-dokumen yang ada,
2.   Wawancara,
3.   Mengobservasi jalannya kegiatan kerja pada perusahaan,
4.   Penelitian, dan
5.   Kuisioner.
d. 
Perancangan Basis Data (Database Design)
Menurut Connolly
dan Begg (2002, p279), perancangan basis data
adalah proses membuat sebuah perancangan untuk sebuah basis data yang
mendukung kegiatan operasional dan
tujuan dari suatu perusahaan. Proses
ini dibagi menjadi 3 (tiga) tahap, yaitu:
Desain konseptual basis data
Proses membangun model informasi yang digunakan dalam sebuah
enterprise, terbebas dari semua pertimbangan fisik.
Desain logikal basis data
Proses membangun model informasi yang digunakan dalam sebuah
enterprise yang didasarkan oleh data model spesifik, dan terbebas
dari DBMS tertentu dan pertimbangan fisik lainnya.
Desain fisikal basis data
  
27
Proses memproduksi sebuah deskripsi dari implementasi basis data
dalam secondary storage, yang menjelaskan relasi dasar, organisasi
file, dan indeks yang digunakan untuk mencapai akses yang efisien
ke data, dan setiap integrity constraint yang saling berhubungan dan
juga pengukuran keamanan (security).
e.   Pemilihan DBMS (DBMS Selection)
Menurut
Connolly
dan
Begg
(2002,
p284), pemilihan
DBMS
dilakukan untuk memilih DBMS yang sesuai dengan aplikasi basis data.
Berikut ini adalah langkah-langkah utama dalam memilih DBMS :
1.   Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan.
2.   Membuat perbandingan mengenai dua atau tiga produk DBMS.
3.   Mengevaluasi produk-produk DBMS tersebut.
4.   Merekomendasikan
pemilihan
DBMS
dan
membuat
laporan
hasil
dari evaluasi produk DBMS tersebut.
f.
Perancangan Aplikasi (Application Design)
Menurut Connolly dan Begg (2002, p287), perancangan aplikasi
adalah merancang antar muka pemakai (user interface) dan program
aplikasi,
yang
akan
memproses
basis
data.
Dalam
siklus
hidup
aplikasi
basis 
data,  perancangan 
basis 
data 
dan 
perancangan 
aplikasi 
adalah
aktivitas
yang
dilakukan
bersamaan.
Dalam kasus
sebenarnya,
tidak
mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan
basis data selesai.
Dalam perancangan
aplikasi,
harus
dimastikan
semua
pernyataan
fungsional  
dari  
spesifikasi  
kebutuhan  
pemakai  
yang  
menyangkut
  
28
perancangan aplikasi program, mengakses basis data dan merancang
transaksi, yaitu cara akses ke basis data dan perubahan terhadap isi basis
data (retrieve, update dan kegiatan keduanya). Artinya, bagaimana
fungsi
yang dibutuhkan bisa terpenuhi dan merancang antar muka pemakai yang
tepat. Antar muka yang dirancang harus memberikan informasi yang
dibutuhkan dengan cara yang
user
friendly. Kebanyakan antar muka
pemakai  yang  diabaikan  akan  membuat  masalah.  Bagaimanapun  antar
muka harus diakui komponen penting dari sistem. Jika antar
muka
mudah
dipelajari 
dan 
mudah 
digunakan,  pemakai  akan  cenderung
mendayagunakan informasi yang disajikan.
g.   Pembuatan Model Kerja (Prototyping)
Menurut Connolly dan Begg (2002, p291), aktivitas utama pembuatan
model kerja adalah membangun suatu model kerja dari aplikasi basis data.
Tujuan
mengembangkan
suatu
prototype
aplikasi
basis data
adalah
mengijinkan
para
pemakai
untuk
menggunakan
prototype guna
menguji
apakah fitur-fitur sistem bekerja dengan
baik
sesuai
dengan
spesifikasi
pengguna dan jika memungkinkan memberikan perbaikan-perbaikan atau
mungkin
fitur-fitur baru untuk aplikasi basis data. Dengan cara
ini, dapat
diperjelas kebutuhan pemakai dan pengembang sistem dalam mengevaluasi
kelayakan perancangan sistem tertentu.
Menurut Connolly dan Begg (2002, p292), ada dua strategi membuat
prototype
yaitu requirements
prototyping
dan evolutionary
prototyping.
Requirements prototyping digunakan
untuk
menentukan
kebutuhan
suatu
aplikasi basis data yang diusulkan dan ketika kebutuhan dirasakan sudah
  
29
lengkap, 
maka 
prototype 
tersebut 
tidak  digunakan 
lagi. 
Evolutionary
prototyping  digunakan
untuk 
tujuan 
yang  sama,  perbedaannya  adalah
bahwa
ketika
kebutuhan
sudah
lengkap prototype
tidak
dibuang
tetapi
dikembangkan lebih lanjut sehingga menjadi aplikasi basis data tersebut.
h. 
Implementasi (Implementation)
Menurut Connolly dan Begg (2002, p292), implementasi
merupakan
perwujudan fisik dari basis data dan perancangan aplikasi. Tahap
implementasi
basis
data
dan
program aplikasi
dilakukan
setelah
menyelesaikan tahap perancangan (dengan atau tanpa
prototype).
Implementasi
basis
data
dicapai
dengan
menggunakan Data
Definition
Language (DDL) dari DBMS yang telah dipilih atau dengan menggunakan
Graphical User Interface (GUI), yang menyediakan fungsional yang sama
dengan pernyataan DDL yang low level. Pernyataan DDL digunakan untuk
menciptakan
sruktur
basis
data
dan mengosongkan
file
yang
terdapat
di
dalam basis data tersebut.
Program aplikasi
diterapkan
dengan
menggunakan
bahasa
generasi
ketiga
atau
keempat
(3GL
atau
4GL).
Bagian
dari
program aplikasi
ini
adalah
transaksi
basis
data, yang
diterapkan
dengan
menggunakan
Data
Manipulation Language (DML). Transaksi basis
data juga dapat dibuat
dalam bahasa pemrograman, seperti
Visual
Basic,
Delphi,
C,
C++,
Java,
COBOL,
Fortran, Ada,
atau Pascal.
Komponen
lain
dari
perancangan
aplikasi, seperti layar menu, format masukan data dan laporan juga
diterapkan.
  
30
Pengendalian
keamanan
dan
integritas
untuk
aplikasi
juga
diimplementasikan. Sebagian dari kendali ini telah diterapkan dengan
menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di
luar dari DDL, sebagai contoh, kegunaan yang disediakan DBMS atau
kendali sistem operasi.
i.
Data Conversion and Loading
Menurut Connolly dan Begg (2002, p292),
data conversion and
loading adalah pemindahan data
yang ada ke dalam basis data yang baru
dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam
basis data
yang baru. Tahap ini
dibutuhkan ketika sistem basis data baru
menggantikan sistem yang
lama. Pada
masa sekarang,
umumnya
DBMS
memiliki
kegunaan
untuk
memasukkan
file
ke
dalam basis
data
baru.
Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis data-
nya. Kegunaan ini memungkinkan pengembang untuk mengkonversi dan
menggunakan
aplikasi
program lama
untuk
digunakan
oleh
sistem baru.
Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan
untuk memastikan kelancaran transaksi untuk keseluruhan operasi.
j.
Pengujian (Testing)
Menurut Connolly dan Begg (2002,
p293), pengujian adalah suatu
proses
melaksanakan
program aplikasi
dengan
tujuan
menemukan
kesalahan.
Dalam melakukan
pengujian,
para
pemakai
sistem yang
baru
harus
dilibatkan
untuk
menguji
proses
aplikasi
dan
basis data
tersebut.
Situasi
yang ideal
untuk pengujian sistem adalah
memiliki suatu tes basis
data
pada
suatu
separate
sistem
perangkat
keras,
tetapi
ini
sering
tidak
  
31
tersedia. Jika data riil diharapkan untuk digunakan, maka penting untuk
memiliki backup. Setelah pengujian diselesaikan, maka sistem aplikasi dan
basis data ini telah siap digunakan.
k. 
Pemeliharaan Operasional (Operational Maintenance)
Menurut Connolly dan Begg (2002, p293), operational maintenance
merupakan
sebuah
proses
pengawasan
dan
pemeliharaan
sistem setelah
proses instalasi, yang melibatkan aktivitas yang berikut:
a. 
Mengawasi kinerja dari sistem. Jika kinerja jatuh di bawah suatu
tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data
mungkin diperlukan.
b.
Memelihara dan meningkatkan mutu aplikasi basis data (ketika
dibutuhkan). Kebutuhan baru disatukan ke dalam aplikasi basis data
dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam
siklus hidup basis data.
Ketika aplikasi basis data sedang beroperasi, perlu dilakukan
pengawasan
secara
dekat
untuk
memastikan
bahwa
kinerja
sistem dalam
tingkatan yang bisa diterima.
Pengawasan  proses  akan  terus  berlanjut  sepanjang  seluruh  hidup
suatu aplikasi basis data tersebut dan pada waktu tertentu boleh melakukan
reorganisasi basis data untuk mencukupi kebutuhan dari sistem. Hal ini
memungkinkan DBA untuk terlihat dalam perencanaan kapasitas dan untuk
memberitahu staf senior siaga untuk melakukan penyesuaian rencana. Jika
DBMS kekurangan kegunaan tertentu, DBA dapat mengembangkan
kegunaan yang diperlukan atau membeli tools tambahan, jika tersedia.
  
32
2.1.15 Desain Konseptual, Logikal, dan Fisikal Basis Data
Menurut Connolly dan Begg (2002, p273), terdapat 3 (tiga) tahapan atau
fase utama dalam perancangan basis data, yaitu :
a.   Perancangan Basis Data Konseptual (Conseptual Database Design)
Proses mengkonstruksikan atau membangun model informasi yang
digunakan  dalam  sebuah  enterprise,  terbebas  dari  semua  pertimbangan
fisik. Pada desain konseptual basis data ini, terdiri dari langkah-langkah
sebagai berikut:
Langkah
1:
Membangun
data
model
konseptual
lokal
untuk
setiap
view
1.1
Mengidentifikasi tipe entity
Pada tahapan ini, dilakukan identifikasi tipe entitas utama yang
diperlukan oleh sebuah
view. Salah satu metode dalam
mengidentifikasi
tipe entitas
adalah
dengan
memeriksa
kebutuhan
pengguna. Dari kebutuhan pengguna ini, kita dapat mengidentifikasi
kata benda atau frase yang ada (misalnya nama staf, alamat rumah),
selain itu kita bisa mendapatkan objek utama seperti orang (people),
tempat (place), benda (thing) atau konsep (concept).
Cara
lain
dalam
mengidentifikasi
entity
adalah
dengan
melihat
objek-objek yang akan tetap ada dan keberadaannya tidak tergantung
pada objek lain, misalnya staf merupakan entity karena staf tetap akan
ada walaupun kita tidak mengetahui nama, posisi, dan tanggal
lahirnya.
1.2
Mengidentifikasi tipe relasi
  
33
Pada tahapan ini dilakukan identifikasi relasi penting yang ada
antara tipe entitas yang telah teridentifikasi. Ketika mengidentifikasi
relasi kita dapat menggunakan kata kerja dalam spesifikasi kebutuhan
user, misalnya:
Staf mengatur property
PrivateOwner mempunyai property
Dengan adanya kebutuhan pengguna, membuktikan bahwa
relasi-relasi yang terjadi adalah penting dan harus dimasukkan dalam
model.
1.3
Mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe
entitas
Pada tahapan ini, atribut dihubungkan dengan entitas atau tipe
entitas yang tepat.
1.4
Menentukan domain atribut
Domain adalah sebuah penampung dari nilai
yang dapat
ditampung  oleh  atribut,  misalnya  domain  atribut  dari  nomor  staf
hanya dapat menggunakan 5 (lima) karakter string dengan 2 (dua)
karakter pertama adalah huruf dan 3 (tiga) karakter berikutnya adalah
angka.
1.5
Menentukan candidate dan primary key dari atribut
Candidate
key
adalah
set
atribut
minimal
dari
sebuah
entitas
yang secara unik mengidentifikasi setiap kemunculan dari entitas
tersebut. Candidate key dapat diidentifikasikan
lebih dari
satu, tetapi
harus dipilih satu sebagai primary key, sedangkan candidate key yang
  
34
lain
disebut
alternate
key.
Berikut
ini
adalah
acuan
dalam
menentukan primary key dari candidate key :
Candidate key dengan set atribut yang minimal.
Candidate key dengan nilai yang berubah paling sedikit.
Candidate key dengan karakter paling sedikit.
Candidate key dengan isi maksimum yang paling sedikit.
Candidate key yang
termudah digunakan dari sudut pandang
pengguna.
1.6
Mempertimbangkan  penggunaan  konsep  model  yang 
lebih  tinggi
(enhanced modeling concepts)
Tahap ini bersifat opsional, apakah akan digunakan
pengembangan
dari
entitas
model
dengan
menggunakan enhanced
modeling concepts, seperti spesialisasi atau generalisasi.
1.7
Memeriksa redundansi pada model
Tahapan
ini
memeriksa
model
data konseptual lokal apakah
terjadi duplikasi atau tidak dengan 2 (dua) langkah yaitu:
Memeriksa ulang relasi one-to-one.
Menghilangkan relasi yang terduplikasi (redundant).
1.8
Memvalidasi model data konseptual lokal terhadap transaksi
pengguna
Memeriksa model yang telah dihasilkan apakah mendukung
transaksi pada view. Pemeriksaan ini dapat menggunakan 2 (dua)
langkah yaitu:
  
35
Mendeskripsikan transaksi.
Menggunakan jalur transaksi.
1.9
Memeriksa model data konseptual lokal dengan pengguna
Memeriksa  model  data  konseptual  lokal  termasuk  ER,  jika
terjadi ketidakcocokan (anomaly) maka harus dilakukan perubahan.
b. 
Perancangan Basis Data Logikal (Logical Database Design)
Proses
membangun
model
informasi
yang digunakan
dalam sebuah
enterprise yang didasarkan pada data model spesifik, dan terbebas dari
DBMS dan semua pertimbangan fisik.
Pada desain logikal basis data terdiri dari langkah-langkah sebagai
berikut:
Langkah 2: Membangun dan memvalidasi model data logikal lokal
untuk setiap view
Dari
model data konseptual lokal yang telah dibangun pada tahapan
pertama
akan diubah
menjadi
model data logikal
lokal
yang
terdiri dari
entity
relationship diagram,
sebuah
skema
relationship dan dokumentasi-
dokumentasi pendukung.
2.1
Menghilangkan hal-hal yang tidak sesuai dengan model relasional
Model data konseptual
lokal yang telah ada dapat
mengandung
struktur yang tidak dapat dimodelkan oleh DBMS konvensional, oleh
karena itu pada tahap ini dilakukan perubahan menjadi bentuk yang
lebih mudah ditangani olah sistem ini.
Langkah-langkah yang dapat dilakukan dalam penyesuaian
struktur adalah:
  
36
Menghilangkan relasi binary many-to-many (* : *)
Menghilangkan relasi rekursif many-to-many (* : *)
Menghilangkan tipe relasi yang kompleks
Menghilangkan atribut multi-valued
2.2
Mendapatkan relasi untuk model data logikal
Membentuk relasi dari model data logikal lokal untuk
merepresentasikan relasi antar entitas dan atribut yang telah
diidentifikasikan.
Untuk mendapatkan relasi dari data model yang ada maka
digunakan cara-cara berikut ini:
Tipe entitas yang kuat
Tipe entitas yang lemah
Relasi binary one-to-many (1 : *)
Relasi binary one-to-one (1 : 1)
Relasi rekursif one-to-one (1 : 1)
Tipe relasi superclass atau subclass
2.3
Memvalidasi relasi menggunakan normalisasi
Normalisasi digunakan untuk meningkatkan model yang telah
terbentuk agar duplikasi data yang tidak diperlukan dapat dihindari.
2.4
Memvalidasi relasi dengan transaksi pengguna
Memastikan relasi yang telah ada pada model data logikal dapat
mendukung transaksi yang diperlukan oleh view.
2.5
Mendefinisikan integrity constraints
  
37
Integrity constraints
adalah
batasan
yang
digunakan
untuk
menjaga agar basis data tidak menjadi inkonsisten.
Ada 5 (lima) tipe integrity constraints, yaitu:
Required data (data atau nilai yang valid).
Batasan domain atribut.
Entity integrity (primary key tidak boleh null).
Referential  integrity  (foreign  key  pada suatu entitas harus
sesuai dengan candidate key pada entitas lain).
Enterprise constraint (batasan pada organisasi).
2.6
Memeriksa model data logikal lokal dengan pengguna
Memeriksa
model data
logikal lokal yang
terbentuk
merupakan
representasi
dari
user
view.
Untuk
memvalidasi
model
data
logikal
ini, digunakan Data Flow Diagram (DFD). DFD dapat menunjukkan
aliran data dari suatu organisasi.
Langkah 3: Membangun dan memvalidasi model data logikal global
Pada tahap ini, digabungkan semua model data logikal lokal menjadi
sebuah
model
data
logikal
global yang
merepresentasikan
organisasi
tersebut.
3.1
Menggabungkan model data logikal lokal ke dalam model global
Menggabungkan model data logikal individual ke dalam
model
data logikal global organisasi.
3.2
Memvalidasi model data logikal data logikal global
  
38
Memvalidasi relasi yang telah dibuat dari model data global
menggunakan teknik normalisasi dan memastikan relasi ini
mendukung transaksi yang diperlukan. Langkah ini sama
dengan
langkah  2.3  dan  2.4  yang  memvalidasi  setiap  model  data  logikal
lokal.
3.3
Memeriksa perkembangan yang akan datang
Memastikan apakah ada perubahan yang signifikan yang dapat
diperkirakan dan
memastikan
apakah
model
data
logikal
global
ini
dapat mendukung perubahan-perubahan ini.
3.4
Memeriksa model data logikal global dengan pengguna
Memastikan bahwa model data logikal global merupakan
representasi nyata dari organisasi.
c.   Perancangan Basis Data Fisikal (Physical Database Design)
Proses
memproduksi
sebuah
deskripsi dari
implementasi basis data
dalam
secondary
storage,
yang
menjelaskan akses
yang
efisien
ke
data,
serta
setiap
integrity constraint
yang
saling
berhubungan
dan
juga
pengukuran security.
Pada desain fisikal basis data terdiri dari langkah-langkah sebagai
berikut:
Langkah 4: Menerjemahkan
model data
logikal global untuk DBMS
yang akan digunakan
Pada tahap ini akan dihasilkan suatu skema basis data relasional dari
model data
logikal
global
yang dapat diimplementasikan ke dalam DBMS
yang akan digunakan.
  
39
4.1
Mendesain relasi dasar (base relations)
Memutuskan
bagaimana
merepresentasikan relasi-relasi yang
telah diidentifikasikan
pada
model
data logikal
global
pada
DBMS
yang akan dipakai.
4.2
Mendesain representasi dari data yang diturunkan
Memutuskan  bagaimana  merepresentasikan  derived attribute
dalam model data logikal global pada DBMS yang akan dipakai.
4.3
Mendesain enterprise constraints
Menentukan enterprise constraints untuk target DBMS.
Langkah 5: Mendesain gambaran fisik dari basis data
Menentukan organisasi file yang akan digunakan dan indeks untuk
menghasilkan performa yang diinginkan serta menentukan apa saja yang
akan disimpan dalam secondary storage.
5.1
Menganalisis transaksi
Memahami
fungsi-fungsi dari transaksi
yang akan dijalankan
pada basis data dan menganalisis transaksi yang penting.
5.2
Memilih organisasi file yang akan digunakan
Menentukan organisasi file yang efisien. Ada 5 (lima) tipe
organisasi file:
Heap
Hash
Indexed Sequential Access Method (ISAM)
B-Tree
  
40
Chasters
5.3
Memilih indeks yang digunakan
Memutuskan apakah
dengan menggunakan indeks akan
meningkatkan performa dari sistem.
t=primary+index&i=49667,00.asp, definisi dari primary
index adalah
index
yang
mengontrol
proses
yang
sedang
dilakukan
pada
sebuah
file database atau mengatur index dari primary key.
Menurut
secondary
index
merupakan
cara
untuk
mengakses
record di
dalam
database
secara efisien dengan mengambil
beberapa
bagian
dari
informasi
yang
berbeda
dengan primary
key.
Menurut
al/Defining_Database9.html,
secondary
index digunakan
secara
otomatis selama proses pencarian data yang dapat meningkatkan
efisiensi pencarian data.
Setiap
kolom
dapat
dispesifikasikan
sebagai secondary
index.
Kolom-kolom yang berisi primary key, foreign key, atau kolom
manapun yang didefinisikan secara unik, secara otomatis diindekskan
oleh
sistem,
dan
membuat
indeks dari
kolom-kolom
tersebut
tidak
akan meningkatkan performa. Sementara secondary index, dapat
meningkatkan
efisiensi
dalam mendapatkan
data,
tetapi
tidak
dapat
melakukan
perintah
seperti update, insert, dan delete.
Umumnya,
indeks  dibuat 
hanya  untuk  kolom-kolom  yang  sering  digunakan
  
41
dalam  pencarian.  Misalnya,  database yang  berisi  daftar 
tentang
’student’,
masing-masing
memiliki ‘student
ID number’
yang
unik.
Biasanya, database akan menggunakan ‘student ID number’ sebagai
key. Namun, sebuah hal yang beralasan jika
ingin 
melihat  data
‘student’ menggunakan ‘last name’.
Untuk melakukan hal tersebut,
maka secondary
index
yang
digunakan
sebagai
secondary key
yang
berisi
‘last
name’.
Di dalam SQL,
secondary index
dapat
dilakukan
dengan mengeksekusi perintah di bawah ini:
CREATE TABLE students(
student_id CHAR(4) NOT NULL,
lastname CHAR(15),
firstname CHAR(15),
PRIMARY KEY(student_id)
);
CREATE INDEX lname ON students(lastname);
Sedangkan untuk perintah SELECT dapat dilakukan dengan
mengeksekusi perintah di bawah ini:
SELECT
*
from
lname
WHERE
(lastname
=
"Churchill");
5.4
Memperkirakan disk space yang diperlukan
Memperkirakan
disk
storage yang
diperlukan
untuk
menggunakan
sistem
basis
data, disk
storage
yang
dimaksud
adalah
secondary storage.
Langkah 6: Mendesain user view
Mendesain user view yang telah diidentifikasi.
  
42
Langkah 7: Mendesain pengukuran keamanan (security)
Membatasi pengaksesan basis data
oleh para pengguna yang tidak
berhak dan menspesifikasikan pengguna terhadap basis data yang dapat
diakses.
Langkah 8: Menentukan apakah redundansi data telah dapat
dikontrol
Dilakukan normalisasi agar dapat meningkatkan performa dari sistem
dan menghilangkan redundansi.
Langkah 9: Memonitor sistem operasional
Memonitor
dan
meningkatkan
performa
dari
sistem dengan
memperbaiki desain yang tidak sesuai atau perubahan kebutuhan.
2.1.16 Oracle Database Express Edition (Oracle XE)
kali dibuat pada 1977 oleh Larry Ellison, Bob Miner, dan
Ed
Oates
sebagai
Software Development Laboratories
menjadi
non-commersial relational
database. Lalu berdiri perusahaan Oracle, yang menjadikan produk commersial
relational database management system (RDBMS) pertama di pasaran.
Oracle sebagai relational database, menyimpan semua data pada two-
dimensional tables yang terdiri dari baris dan kolom. Oracle Database mampu
untuk
menyimpan
data,
meng-update-nya, dan menerimanya dengan efisien.
Database terdiri dari physical dan logical structures di mana sistem, user, dan
informasi disimpan.
  
43
Oracle  10g  dengan teknologi grid, dideskripsikan sebagai dynamic
cluster, yang mana aplikasi server dapat ditambahkan menjadi kluster jika
diperlukan, dan resourse kluster dapat disusun ulang sesuai dengan kebutuhan
bisnis. Keuntungan dari 10g grid, mencakup fleksibilitas penggunaan
prosessing power dan meningkatkan fault tolerance.
Berdasarkan keterangan dari http://www.oracle.com/global/me/press/me-
o/oracle10g_express.html, Oracle Database Express Edition (Oracle XE)
merupakan
database entry level
yang bersifat
gratis
dari
Oracle
yang
dibuat
berdasarkan kode Oracle 10g release 2 tahun 2002 yang diperuntukkan bagi :
Developer Java, PHP, .Net, XML, dan aplikasi open source lainnya.
Database Administrator yang membutuhkan database server gratis untuk
pembelajaran dan development.
Institusi pendidikan dan pelajar yang membutuhkan database gratis.
Fitur di dalam Oracle XE, antara lain :
1.   Dapat digunakan untuk
membangun aplikasi
yang powerful dan
memiliki
infrastruktur industri level tinggi.
2.   Dapat di-upgrade ke Oracle 10g tanpa perlu banyak mengubah sistem.
3.   Mampu menyimpan sampai 4 GB data user data.
4.   Hanya
menggunakan satu resource prosesor, jika memiliki prosesor dual
core, bebannya tetap di satu prosesor.
5.   Menggunakan resource
RAM
maksimum 1
(satu) GB, jika
lebih dari itu,
harus upgrade resolusi basis data Oracle lain.
  
44
2.1.17 SQL (Structured Query Language)
Menurut
Connolly
dan
Begg
(2002,
p111),
SQL adalah
sebuah
contoh
dari
transform
oriented
language atau sebuah bahasa
yang dirancang untuk
menggunakan
relasi
untuk
mengubah
input
menjadi
output yang dibutuhkan.
Standar SQL memiliki 2 (dua) komponen utama, yaitu:
a) 
Data Definition Language (DDL) untuk mendefinisikan struktur basis data
dan mengontrol akses ke data, contohnya perintah:
Create Table
Digunakan untuk membuat table dengan mengidentifikasikan tipe data
untuk tiap kolom.
Alter Table
Digunakan untuk menambah atau membuang kolom dan konstrain.
Drop Table
Digunakan untuk membuang atau menghapus table beserta semua data
yang terkait di dalamnya.
b) 
Data  Manipulation  Language  (DML) untuk menerima dan melakukan
perubahan pada data, contohnya perintah:
Select
Pernyataan select digunakan untuk menampilkan sebagian atau seluruh
isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel.
Update
Pernyataan  update
digunakan 
untuk 
mengubah 
isi 
dari  satu 
atau
beberapa atribut dari suatu tabel.
  
45
Insert
Pernyataan insert digunakan untuk menambah satu atau beberapa baris
nilai baru ke dalam suatu tabel.
Delete
Pernyataan delete digunakan untuk menghapus sebagian atau seluruh isi
dari suatu tabel.
2.1.18 PL/SQL
,
PL/SQL
adalah bahasa pemrograman
yang digabungkan dengan SQL.
Dalam PL/SQL
dapat digunakan perintah
untuk
memanipulasi data
yang ada dalam database
oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.
,
PL/SQL digunakan dalam pembuatan:
Procedure : sekumpulan perintah untuk melakukan suatu proses dan tidak
mengembalikan suatu nilai.
Function  : sekumpulan perintah
untuk 
melakukan  suatu  proses  yang
mengembalikan suatu nilai / hasil.
Trigger procedure yang dijalankan secara otomatis pada saat terjadi.
Keuntungan penggunaan PL/SQL:
Integrasi
Memungkinkan
Aplikasi
dan
Oracle
Server
menggunakan
Library
yang
dapat digunakan bersama-sama dalam bentuk Stored Procedure.
  
46
Peningkatan kinerja
Penggunaan PL/SQL, memungkinkan pengiriman perintah secara blok
dalam satu perintah yang secara drastis dapat menurunkan trafic jaringan.
Modular
Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh.
Portable
PL/SQL
adalah sarana asli
milik Oracle Server, artinya, program PL/SQL
dapat dengan mudah dipindahkan dari satu Oracle Server ke Oracle Server
lainnya, meskipun dengan OS atau platform yang berbeda.
Dapat mendeklarasikan variabel
Dapat 
berupa  variable
constant,
cursor 
dan 
exception.
Penggunaan
variable   atau   identifier   sangat  memudahkan  dalam  membuat  suatu
perintah, 
misalnya  untuk 
membaca 
hasil 
suatu  perintah 
select 
untuk
diproses dan hasilnya digunakan untuk melakukan proses lainnya.
Dapat menggunakan struktur kontrol
Struktur kontrol yang dimaksud adalah seperti LOOP, FOR, dan WHILE.
Dapat menangani error
Error
bisa
dihasilkan
atau
dibangkitkan
oleh Oracle
Server
atau
bisa
dibangkitkan sendiri dengan sengaja. Untuk mengantisipasi berbagai hal
yang 
barangkali 
sulit 
untuk 
ditangani 
secara 
langsung 
menggunakan
kontrol program.
  
47
Arsitektur  PL/SQL  terlihat  pada  Gambar  2.5.  Oracle  Database
memanggil  program  kompilasi  ke  dalam  memori  dan  kemudian  PL/SQL
engine dan SQL engine mengeksekusi program yang ada.
Gambar 2.5 Arsitektur PL/SQL
2.1.19 NetBeans
java-ide-berbasiskan-swing/
,
NetBeans
adalah salah
satu open
source
IDE
berbasiskan
Java
yang berjalan
di
atas
swing. Swing
sebuah
teknologi
Java
untuk pengembangan aplikasi desktop yang multiplatform. Untuk mengubah
program Java
secara
langsung
dibutuhkan
Java
Integrated
Development
Environment 
(IDE), 
seperti 
IntelliJIDEA,  Oracle  JDeveloper,  Javelin,
NetBeans, Adobe Dreamweaver, dan Borland Jbuilder.
NetBeans 5.5 merupakan free and open source tools untuk membangun
aplikasi desktop, enterprise, dan web berbasis Java. Selain itu, NetBeans 5.5
juga  cross-platform  sehingga  program  yang  dibuat  dapat  dijalankan  pada
sistem-sistem operasi Windows, Linux, ataupun Apple MacOS.
  
48
2.1.20 Internet
Internet
didefinisikan
sebagai jaringan
fisik
yang
menghubungkan
komputer-komputer
seluruh
dunia,
terdiri atas
infrastruktur dari
server-server
jaringan dan hubungan komunikasi untuk area yang luas antar infrastruktur
server jaringan tersebut yang digunakan untuk menyimpan dan memindahkan
sejumlah besar informasi.
2.1.21 World Wide Web (WWW)
Menurut Ellsworth (1995, p39), WWW adalah:
Kumpulan dokumen yang sangat banyak yang terhubung bersama.
Kumpulan
protokol
yang
mendefinisikan
bagaimana
sistem
bekerja
dan
mengirimkan data.
Web yang
menggunakan tekhnik hypertext dan
multimedia ditujukan agar
internet
menjadi  
mudah   bagi   semua   orang   untuk   digunakan   dan
dikontribusikan.
Berdasarkan definisi
di
atas, maka
dapat
disimpulkan
bahwa
WWW
adalah
kumpulan
dokumen
dan
protokol
yang sangat banyak dan saling
terhubung satu sama lain sehingga membuat pengiriman data dan informasi
menjadi lancar.
Berikut ini adalah cara kerja WWW menurut Pohan, Sidik (2001, p4):
Informasi
web
disimpan
dalam
dokumen
yang
disebut
dengan
halaman
web (web pages),
  
49
Web
pages
adalah
file-file
yang
disimpan dalam
komputer
yang
disebut
web client,
Web client menampilkan page dengan menggunakan program yang disebut
dengan web browser, dan
Web   browser   yang   popular   adalah   Internet
Explorer   dan   Netscape
Navigator.
2.1.22 HyperText Markup Language (HTML)
Menurut Pohan, Sidik (2001, p9), HTML adalah file teks murni yang
dapat dibuat dengan editor teks sembarang. Dokumen ini dikenal sebagai web
page.
Dokumen
HTML
merupakan
dokumen
yang
disajikan
dalam
browser
web server. Dokumen ini umumnya berisi informasi ataupun interface aplikasi
di dalam internet.
Dokumen
HTML dapat
disiapkan
di
banyak
standar
teks
editor, meskipun akan lebih mudah dibuat dengan menggunakan editor yang
didesain untuk pembuatan HTML.
2.1.23 HyperText Transfer Protocol (HTTP)
Menurut Ellsworth (1995, p47), HTTP digunakan oleh World Wide Web
untuk mentransfer dan memproses file-file HTML.
adalah  protokol  dasar  world wide web.  Merancang  aturan  untuk  menukar
antara  browser  dan  server.  Menyediakan  pengiriman  hypertext  dan
hypermedia, untuk pengenalan tipe file dan fungsi lainnya.
  
50
Berdasarkan  definisi  di  atas,  maka  dapat  disimpulkan  bahwa  HTTP
adalah
komponen
dasar World
Wide
Web
yang
digunakan
untuk
menghubungkan
antara
web
server
dengan halaman HTML browser dan
mentransfer serta memproses file-file HTML.
2.1.24 Web Browser
Menurut Pohan, Sidik (2001, p5), web browser adalah software yang
digunakan
untuk
menampilkan
informasi
dari
web
server.
Software
ini
kini
telah dikembangkan dengan menggunakan
user interface grafis, sehingga
pemakai
dapat
melakukan
point and click
untuk
pindah
antar
dokumen.
Berikut ini adalah cara kerja browser:
Untuk mengambil page, browser mengambil
sebuah web pages dari server
dengan sebuah request. Sebuah page address terlihat seperti berikut:
Kemudian
untuk
menampilkan
page,
seluruh
web
page
berisi
instruksi-
instruksi   bagaimana   untuk   ditampilkan.   Browser  menampilkan   page
dengan membaca instruksi-instruksi ini. Instruksi yang paling umum untuk
menampilkan disebut tag HTML.
2.1.25 Web Server
Berdasarkan
web server
adalah
aplikasi client ataupun
server
yang
digunakan
untuk
menyimpan
dokumen-dokumen  web  dan  menyajikan  halaman  web  bagi  penggunanya
sesuai dengan permintaan url tertentu.
  
51
2.1.26 JavaServer Pages (JSP)
JSP (JavaServer Pages) merupakan teknologi yang didasarkan pada
bahasa Java, yang dapat digunakan untuk membentuk halaman web yang
bersifat   dinamis.   Teknologi   ini   dikembangkan   oleh   Sun   Microsystems.
Berbeda dengan applet, suatu fitur pada bahasa Java yang
memungkinkan
pengembang
membuat
aplikasi
web
yang dieksekusi
pada
sisi
klien,
JSP
menggunakan
pendekatan
pemrosesan di
sisi
server
(web server). Salah satu
keuntungan  permodelan  ini  adalah  memungkinkan  untuk  membuat  aplikasi
yang independen terhadap keberadaan sistem Java di sisi klien. Alasan penting
yang membuat JSP banyak digunakan oleh para pengembang aplikasi web :
1.
JSP
menggunakan
bahasa
Java.
Bagi para pemrogram yang telah
mengenal Java, sangatlah mudah untuk membuat aplikasi web dengan
JSP mengingat dasar JSP adalah bahasa Java.
2.
JSP mendukung multiplatfom. Keunggulan dari adanya dukungan
multiplatform
adalah
memungkinkan
kode
dapat
dipindah-pindahkan
ke berbagai
platform tanpa
perlu
melakukan
perubahan
apapun
pada
kode
tersebut.
Sebagai
contoh, kita bisa
menulis kode
JSP yang
pada
awalnya ditujukan untuk dijalankan pada lingkungan Windows, dan
kemudian dipindahkan ke lingkungan lain, misalnya Linux.
2.1.27 Data Flow Diagram (DFD)
Menurut Whitten (2004, p326), DFD
merupakan model
proses yang
digunakan untuk
menggambarkan aliran data
melalui sebuah sistem dan tugas
atau pengolahan yang dilakukan oleh sistem.
  
52
Ada beberapa kumpulan simbol untuk DFD. Penulis memilih
menggunakan notasi atau simbol DeMarco dan Yourdon, sebagai berikut:
a.   Process
Menyatakan suatu proses atau bagaimana tugas dikerjakan.
b.   Data flow
Data yang menjadi input atau output ke atau dari suatu proses.
c.   Source atau sink
Orang, 
unit  organisasi,  sistem,  atau  organisasi  luar 
yang  berinteraksi
dengan sistem. Disebut juga agen eksternal atau entitas eksternal.
d.   Data store
Penyimpanan
data
yang
ditujukan
untuk
penggunaan
selanjutnya.
Sinonimnya adalah file dan database
Di
dalam DFD
terdapat
istilah
balanced
DFD
dan
unbalanced
DFD.
Balanced DFD berarti banyaknya input untuk level di bawahnya sama dengan
banyaknya input untuk level yang lebih tinggi atau banyaknya output untuk
level  di  bawahnya  sama  dengan  banyaknya  output  untuk  level  yang  lebih
tinggi. Jika proses dari context diagram hanya memiliki satu input, sementara
  
53
input pada level-0 memiliki dua input, berarti terjadi unbalanced DFD, seperti
pada gambar berikut:
Gambar 2.6 Unbalanced DFD
2.2 Teori-teori Khusus
2.2.1 Pengertian Sistem Informasi Sumber Daya Manusia
Menurut  Dessler  (2003,  p5),  sistem  informasi  sumber  daya  manusia
adalah
komponen-komponen
terkait yang
bekerja
bersama
untuk
mengumpulkan, memproses, menyimpan, dan menyebarkan informasi
untuk
mendukung pengambilan keputusan, koordinasi, kontrol, analisis, dan
penggambaran aktifitas manajemen sumber daya manusia pada perusahaan.
2.2.2 Manajemen Sumber Daya Manusia (MSDM)
a.   Pengertian Manajemen Sumber Daya Manusia (MSDM)
Menurut Dessler (2003, p3), anajemen sumber daya manusia adalah
proses mendapatkan, melatih, menilai, memberi balas jasa kepada pekerja,
  
54
input pada level-0 memiliki dua input, berarti terjadi unbalanced DFD, seperti
dan masalah kebijakan dan keadilan.
b. 
Peran Manajemen Sumber Daya Manusia (MSDM)
Peran 
MSDM 
dalam  mengatur 
dan 
menetapkan 
program
kepegawaian, salah satunya mencakup
masalah
menetapkan
program
kesejahteraan.
Kesejahteraan
yang diberikan sangat bermanfaat
untuk
memenuhi kebutuhan fisik dan mental karyawan beserta keluarganya.
Pemberian kesejahteraan akan menciptakan ketenangan, semangat kerja,
dedikasi, disiplin, dan sikap loyalitas karyawan terhadap perusahaan,
sehingga labour turnover relatif rendah. Besarnya
manfaat kesejahteraan
karyawan
akan
mendorong
manajer
menetapkan
program kesejahteraan
karyawan
yang disusun
berdasarkan
peraturan
legal, berasaskan
keadilan
dan kelayakan dan berpedoman pada kemampuan perusahaan.
2.2.3 Pengertian Kesejahteraan Karyawan
Menurut Drs. H. Malayu S.P Hasibuan (1997, p202), kesejahteraan
karyawan
adalah
balas
jasa
pelengkap
(material
dan nonmaterial) yang
diberikan berdasarkan kebijaksanaan, bertujuan untuk mempertahankan dan
memperbaiki kondisi fisik dan mental karyawan, agar produktivitas kerjanya
meningkat.
Jenis-jenis kesejahteraan yang diberikan adalah finansial dan nonfinansial
yang bersifat ekonomis, fasilitas, dan pelayanan. Berikut ini adalah tabel dari
jenis-jenis kesejahteraan karyawan:
  
55
input pada level-0 memiliki dua input, berarti terjadi unbalanced DFD, seperti
Ekonomis
Fasilitas
Pelayanan
-
Uang pensiun
-
Uang makan
-
Mushala atau masjid
-
Kafetaria
-
Puskesmas atau dokter
-
Jemputan karyawan
-
Uang transport
-
Uang Lebaran atau Natal
-
Olahraga
-
Kesenian
-
Penitipan bayi
-
Bantuan hukum
-
Bonus atau gratifikasi
-
Uang duka kematian
-
Pendidikan atau seminar
-
Cuti dan cuti hamil
-
Penasihat keuangan
-
Asuransi atau Astek
-
Pakaian dinas
-
Uang pengobatan
-
Koperasi dan took
-
Izin
-
Kredit rumah
(Sumber: Drs. H. Malayu S.P Hasibuan (1997, p203). Manajemen
Sumber Daya Manusia: Dasar dan Kunci Keberhasilan)
Dari tabel di atas,
yang termasuk ke dalam
lingkup pembahasan sistem
pengobatan adalah uang pengobatan dan
puskesmas atau dokter, sedangkan
untuk sistem perjalanan dinas adalah uang makan dan uang transport.
2.2.4 Pengertian Sistem Pengobatan
Menurut McLeod, Jr (1996, p11), sistem adalah sekelompok elemen yang
terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan.
Menurut Kamus
Besar Bahasa
Indonesia (2002), pengobatan adalah
proses, perbuatan, atau cara mengobati.
Jadi,
sistem pengobatan
adalah
sekelompok
elemen
yang
terintegrasi
dalam hal pengobatan untuk mencapai suatu tujuan.
2.2.5 Pengertian Sistem Perjalanan Dinas
Menurut
Kamus
Besar
Bahasa
Indonesia (2002), perjalanan adalah
kepergian  (perihal  bepergian)  dari  suatu  tempat  ke  tempat  lain,  dan  dinas
  
56
adalah bertugas atau bekerja. Jadi, perjalanan dinas adalah kepergian dari suatu
tempat ke tempat lain dalam masa bertugas atau bekerja.
Sistem perjalanan
dinas
pada
PT
Iforte
Solusi
Infotek
dikenal
dengan
istilah Biaya Perjalanan Dinas (BPD). Menurut Surat Keputusan Direksi tahun
2005 PT Iforte Solusi Infotek, perjalanan dinas adalah suatu
perjalanan
yang
dilakukan oleh karyawan ke suatu tempat di
luar tempat kerja sehari-hari atau
rutin untuk melakukan tugas-tugas yang mempunyai ikatan langsung dengan
kegiatan
perusahaan,
yang
dilakukan
baik
di
dalam
negeri
maupun
di
luar
negeri dan setelah
mendapatkan izin dari Kepala Divisi, Kepala Unit, Kepala
Departemen, atau Direksi khususnya untuk perjalanan dinas ke luar negeri.
2.2.6 Pengertian Detasering
Menurut Kamus Besar Bahasa Indonesia (2002), detasering (detasiring)
adalah  penempatan  pegawai  untuk  bertugas  di  suatu  tempat  dalam  jangka
waktu
tertentu.
Di
dalam
PT
Iforte
Solusi
Infotek,
istilah detasering
dikenal
dengan istilah “detasiring”.