9
BAB 2
LANDASAN TEORI
2.1
Teori Umum
2.1.1
Basis Data
Menurut Connolly dan Begg (2005, p15), Basis data adalah suatu
kumpulan data yang berelasi secara
logis dan deskripsi
dari
data
tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari
suatu organisasi.
Menurut Indrajani (2009, p2), Basis data merupakan suatu
kumpulan data yang berhubungan secara logis dan deskripsi data
tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan
oleh suatu organisasi. 
Dengan demikian, arti dari basis data merupakan suatu tempat
penyimpanan yang besar yang dapat digunakan secara bersamaan oleh
banyak pengguna. Seluruh item
basis data tidak lagi dimiliki oleh satu
departemen, tetapi menjadi sumber daya perusahaan yang dapat
digunakan bersama.
Berdasarkan pengertian-pengertian di atas, maka dapat
disimpulkan bahwa basis data adalah
suatu tempat penyimpanan dari
kumpulan data-data berelasi yang telah diolah dan disusun sedemikian
rupa, yang dapat digunakan secara bersamaan oleh beberapa pengguna
untuk memenuhi kebutuhan informasi suatu perusahaan.
  
10
2.1.2
Database Management System (DBMS)
Menurut Connolly dan Begg (2005, p16), DBMS adalah sebuah
sistem perangkat lunak yang memungkinkan
pengguna untuk
mendefinisikan, membuat, memelihara, dan mengendalikan akses
terhadap basis data. Di samping itu, pengertian lain dari DBMS adalah
suatu perangkat lunak yang berinteraksi diantara program aplikasi
pengguna dan basis data.
2.1.2.1
Komponen DBMS
DBMS memiliki komponen-komponen utama dalam
lingkungannya. Menurut Connolly
dan Begg (2005, p18-24),
Ada lima komponen utama di dalam lingkungan DBMS yaitu :
1.
Hardware (Perangkat Keras)
Menurut Connolly dan Begg (2005, p19), DBMS dan
aplikasi membutuhkan hardware agar dapat dijalankan.
Hardware dapat berupa
sebuah PC, sebuah mainframe,
dan jaringan dari komputer-komputer.
Hardware tertentu bergantung pada kebutuhan
perusahaan dan DBMS yang digunakan. Beberapa DBMS
hanya dapat bekerja pada hardware atau sistem operasi
tertentu. DBMS membutuhkan jumlah minimum dari main
memory dan space disk untuk bekerja.
2.
Software (Perangkat Lunak)
Menurut Connolly dan Begg (2005, p20), Komponen
software terdiri dari software
DBMS itu sendiri dan
  
11
program aplikasi, bersama dengan sistem operasi,
termasuk network software
jika DBMS digunakan pada
jaringan. Pada umumnya, program aplikasi ditulis dalam
bahasa pemrograman generasi ketiga (3GL), seperti C,
C++, C#, Java, Visual Basic, COBOL, dan sebagainya atau
menggunakan bahasa pemrograman generasi keempat
(4GL) seperti SQL yang di-embed
dalam bahasa generasi
ketiga.
Selain itu, DBMS memiliki 4th
generation tools
sendiri yang memungkinkan aplikasi dikembangkan secara
tepat. Kegunaan dari 4th
generation tools adalah dapat
meningkatkan produktivitas secara signifikan dan
menghasilkan program yang lebih mudah dipelihara.
3.
Data
Menurut Connolly
dan Begg (2005, p20), Data
merupakan komponen terpenting dari DBMS, terutama
dari sudut pandang end user. Data merupakan
jembatan
penghubung antara komponen mesin dan komponen
manusia. Basis data memiliki data operasional dan meta
data. Struktur dari basis data disebut schema.
Schema
terdiri dari satu atau beberapa tables, dan sebuah tables
dapat terdiri dari satu atau beberapa field (attribute).
4.
Prosedur
Menurut Connolly
dan Begg (2005, p20), Prosedur
dapat diartikan sebagai instruksi dan aturan yang mengatur
  
12
desain dan penggunaan dari basis data. Pengguna sistem
dan staff yang mengatur basis data biasanya membutuhkan
dokumentasi prosedur mengenai bagaimana menggunakan
atau menjalankan sistem. Dokumentasi prosedur tersebut
dapat terdiri dari instruksi-instruksi :
a.
Log in pada DBMS.
b.
Menggunakan fasilitas DBMS atau aplikasi program
tertentu.
c.
Memulai dan menghentikan DBMS.
d.
Membuat backup atau salinan data dari basis data.
e.
Mengatasi kegagalan hardware atau software. Hal ini
termasuk prosedur bagaimana mengidentifikasikan
komponen yang gagal, bagaimana memperbaiki
komponen yang gagal, dan mengembalikan basis data
ke keadaan semula.
f.
Mengubah struktur dari table, mengatur ulang
basis
data melalui multiple disks, meningkatkan performa,
atau menyimpan data pada secondary storage.
5.
Manusia
Menurut Connolly
dan Begg (2005, p21-24),
Komponen terakhir adalah semua orang yang terlibat
dengan sistem. Komponen
manusia terdiri dari 5 (lima)
tipe yang berbeda yaitu :
a.
Data administrator (DA)
adalah orang yang
berwenang untuk mengatur sumber data termasuk
  
13
perencanaan
basis data, pengembangan dan
pemeliharaan ketentuan, kebijakan dan prosedur, serta
desain konseptual atau logikal basis data.
b.
Database administrator (DBA)
adalah orang yang
bertanggung jawab untuk realisasi fisikal dari basis
data, termasuk desain fisikal basis data, implementasi,
kontrol keamanan dan integritas, memelihara sistem
operasional, dan memastikan kepuasan performa
aplikasi untuk user.
c.
Database Designer
terbagi menjadi dua yaitu logical
database designer dan physical database designer.
1.
Logical database designer adalah orang yang
mengidentifikasi data (entitas dan atribut),
hubungan antar data, dan constraint data yang
disimpan dalam basis data.
Logical database designer harus mengerti
data perusahaan dan peraturan bisnis secara
keseluruhan. Peraturan bisnis menjelaskan
karakteristik utama dari data yang dilihat oleh
perusahaan.
2.
Physical database designer adalah orang yang
memutuskan bagaimana desain logikal basis data
direalisasikan
secara fisikal. Hal ini termasuk
mapping
desain logikal basis data ke dalam tables
dan integrity constraints, memilih struktur
  
14
penyimpanan spesifik dan metode akses untuk data
disimpan dalam performa yang baik, dan
mendesain ukuran sekuritas yang dibutuhkan data.
d.
Application developers adalah orang yang bertanggung
jawab mengimplementasikan program aplikasi, dimana
program aplikasi yang dibuat
menyediakan
fungsionalitas sesuai dengan kebutuhan end user.
e.
End users terdiri dari dua macam yaitu näive users dan
sophisticated users.
1.
Näive users
yaitu orang yang secara umum tidak
mengetahui mengenai DBMS. Mereka mengakses
basis data melalui
program aplikasi yang secara
khusus ditulis semudah mungkin.
2.
Sophisticated users yaitu orang yang familiar
dengan struktur basis data dan fasilitas yang
disediakan DBMS, sehingga memungkinkan
mereka
menulis program aplikasi untuk  digunakan
sendiri.
2.1.2.2
Fasilitas DBMS
DBMS menyediakan beberapa fasilitas yaitu sebagai
berikut :
1.
Data Definition Language (DDL)
yang memungkinkan
user untuk mendefinisikan basis data, menspesifikasikan
  
15
tipe data, struktur, dan constraint
pada data yang akan
disimpan ke dalam basis data.
2.
Data Manipulation Language (DML)
yang
memungkinkan user
untuk melakukan insert, update,
delete, dan retrieve
data dari basis data.  Terdapat pusat
penyimpanan untuk seluruh data dan deskripsi data yang
memungkinkan DML untuk menyediakan fasilitas umum
untuk penyelidikan data, yang disebut bahasa query.
Structured Query Language (SQL) merupakan bahasa
query yang menjadi standar untuk DBMS yang melayani
pengaksesan data.
3.
Mengontrol akses ke basis data, seperti :
a.
Sistem keamanan yang mencegah pengguna yang tidak
berwenang untuk mengakses basis data.
b.
Sistem integrasi yang memelihara konsistensi
penyimpanan data.
c.
Sistem kendali konkurensi yang memungkinkan
pembagian hak akses terhadap basis data.
d.
Sistem control recovery
yang mengembalikan basis
data ke dalam keadaan sebelumnya apabila terjadi
kegagalan perangkat keras atau perangkat lunak.
e.
Sistem katalog yang dapat diakses oleh pengguna yang
memuat deskripsi dari dara yang ada di dalam basis
data.
  
16
2.1.2.3
Database Language
1.
Data Definition Language (DDL)
Menurut Connolly dan Begg (2005, p40), Pengertian
data definition language
adalah suatu bahasa yang
mengijinkan Database Administrator
(DBA) atau
pengguna untuk mendeskripsikan dan memberi nama suatu
entitas, atribut dan relasi data yang dibutuhkan untuk
aplikasi, bersama dengan integritas data yang terkait dan
batasan keamanan data.
Menurut Connolly dan Begg (2005, p168),
Penggunaan DDL digunakan untuk create, change, dan
destroy
struktur yang dibuat oleh skema konseptual
:
CREATE SCHEMA, CREATE DOMAIN, CREATE
TABLE, CREATE VIEW, ALTER DOMAIN, ALTER
TABLE, DROP SCHEMA, DROP DOMAIN, DROP
TABLE, DROP VIEW.
2.
Data Manipulation Language (DML)
Pengertian data manipulation language
menurut
Connolly dan Begg (2005, p40) adalah bahasa yang
menyediakan seperangkat operasi untuk mendukung
manipulasi data yang berada pada basis data.
Menurut Connolly
dan Begg (2005, p117),
Penggunaan DML adalah sebagai berikut :
a.
SELECT untuk query data di dalam basis data
(retrieval).
  
17
b.
INSERT untuk memasukkan data ke dalam sebuah
tabel.
c.
UPDATE untuk melakukan update
data di dalam
sebuah tabel (modification).
d.
DELETE untuk menghapus data dari sebuah tabel.
2.1.2.4
Keuntungan dan Kerugian DBMS
Menurut Connolly
dan Begg (2005, p26-30), DBMS memiliki
beberapa keuntungan dan kerugian, diantaranya adalah sebagai berikut :
Keuntungan DBMS
1.
Mengontrol pengulangan data (data redundancy)
Basis data berusaha untuk menghilangkan pengulangan
dengan mengintegraskan file sehingga berbagai salinan dari data
yang sama tidak tersimpan. Pendekatan ini tidak menghilangkan
pengulangan secara menyeluruh, tetapi mengendalikan jumlah
pengulangan dalam basis data.
2.
Konsistensi data
Dengan menghilangkan atau mengendalikan pengulangan,
resiko ketidakkonsistenan yang terjadi telah dikurangi. Jika item
data disimpan hanya sekali di dalam basis data, maka berbagai
update
bagi nilai data tersebut harus dibuat hanya sekali dan nilai
baru tersebut harus tersedia dengan segera kepada semua pengguna.
Jika item
data disimpan lebih baik dari sekali, sistem dapat
memasitikan bahwa semua salinan dari item tersebut tetap
konsisten.
  
18
3.
Semakin banyak informasi yang didapat dari data yang sama
Dengan data operasional yang terintegrasi, hal ini
memungkinkan bagi organisasi untuk mendapatkan informasi
tambahan dari data yang sama.
4.
Pembagian data (sharing of data)
Basis data termasuk bagian dari keseluruhan organisasi dan
dapat dibagikan oleh semua pengguna yang berotoritas. Dalam hal
ini, banyak pengguna membagikan lebih banyak data.
5.
Meningkatkan integritas data
Integritas basis data mengacu pada validitas dan konsistensi
data yang disimpan. Integritas biasanya diekspresikan dalam istilah
batasan yang berupa aturan konsistensi yang tidak boleh dilanggar
oleh basis data. Integrasi memungkinkan DBA untuk menjelaskan,
dan memungkinkan DBMS untuk membuat batasan integritas.
6.
Meningkatkan keamanan data
Keamanan basis data yaitu melindungi basis data dari
pengguna yang tidak berotoritas. Hal ini dapat dilakukan dengan
menggunakan sistem username dan password
untuk
mengidentifikasikan orang yang berotoritas untuk menggunakan
basis data. Akses pengguna yang berotoritas pada basis data
mungkin dibatasi oleh jenis operasi seperti pengambilan,
memasukkan, mengubah, dan penghapusan data.
  
19
7.
Penetapan standarisasi
Integrasi memungkinkan DBA untuk mendefinisikan dan
membuat standar yang diperlukan. Standar ini termasuk standar
departemen, organisasi, nasional, atau internasional dalam hal
format data, untuk memfasilitasi pertukaran data antara sistem,
ketetapan penamaan, standar dokumentasi, prosedur update, dan
aturan akses.
8.
Pengurangan biaya
Dengan menyatukan semua
data operasional organisasi ke
dalam satu basis data dan pembuatan sekelompok aplikasi yang
bekerja pada satu sumber data dapat menghasilkan pengurangan
biaya. Penyatuan biaya pengembangan dan pemeliharaan sistem
pada setiap departemen akan menghasilkan total biaya yang lebih
rendah. Sehingga biaya lainnya dapat digunakan untuk membeli
konfigurasi sistem yang sesuai bagi kebutuhan organisasi.
9.
Menyeimbangkan konflik kebutuhan
Setiap pengguna mempunyai kebutuhan yang mungkin
bertentangan dengan kebutuhan pengguna lain. Sejak basis data
dikendalikan oleh DBA, DBA dapat membuat keputusan berkaitan
dengan perancangan dan pengguna operasioanl basis data yang
menyediakan pengguna terbaik dari sumber daya bagi keseluruhan
organisasi.
10. Meningkatkan kemampuan akses dan respon pada data
Dengan pengintegrasian data yang melintasi batasan
departemen dapat secara langsung diakses pada pengguna akhir. Hal
  
20
ini dapat menyediakan sebuah sistem dengan lebih banyak fungsi
untuk menyediakan layanan yang lebih baik pada pengguna akhir
atau klien organisasi. Banyak DBMS menyediakan query language
yang memungkinkan pengguna untuk menanyakan pertanyaan ad
hoc dan memperoleh informasi yang diperlukan dengan segera pada
terminal mereka, tanpa memerlukan programmer menulis beberapa
software untuk mengubah informasi ini dari basis data.
Kerugian DBMS
1.
Kompleksitas
Ketentuan dari fungsi yang diharapkan dari DBMS yang baik
membuat DBMS menjadi sebuah software
yang sangat kompleks.
Perancang dan pengembang basis data, DA (Data Admnistrator)
dan DBA (Database Administrator), Serta pengguna akhir harus
memahami fungsi tersebut untuk mendapatkan banyak keuntungan
dari DBMS ini.
2.
Ukuran
Fungsi yang kompleks dan luas membuat DBMS menjadi
software yang sangat besar, memerlukan banyak ruang harddisk dan
jumlah memory yang sangat besar untuk berjalan dengan efisien.
3.
Biaya dari suatu DBMS
Biaya DBMS bervariasi, tergantung pada lingkungan dan
fungsi yang disediakan, disitu juga terdapat biaya pemeliharaan
yang juga dimasukkan dalam daftar harga DBMS.
  
21
4.
Biaya penambahan perangkat keras
Kebutuhan tempat penyimpanan bagi DBMS dan basis data
amat memerlukan pembelian tempat penyimpanan tambahan. Lebih
lanjut, untuk mencapai performa yang diperlukan, mungkin
diperlukan untuk membeli mesin yang lebih tinggi spesifikasinya
tergantung dari perangkat keras yang dibutuhkan.
5.
Biaya konversi
Dalam situasi tertentu, biaya dari DBMS dan perangkat
keras yang berlebihan memungkinkan adanya
tambahan biaya yang
termasuk biaya training, dan biaya staff spesialis untuk membantuk
mengkonversi dan menjalankan sistem.
6.
Kinerja
Sistem berbasis file biasanya ditulis untuk aplikasi khusus,
sehingga menghasilkan performa yang sangat baik. Akan tetapi,
DBMS ditulis lebih umum sehingga mengakibatkan beberapa
aplikasi tidak berjalan sebagaimana mestinya.
7.
Dampak yang lebih besar dari kegagalan
Jika semua bergantung pada ketersediaan DBMS, kegagalan
komponen dapat berdampak besar pada operasi perusahaan.
2.1.3
Database Application Lifecycle
Sistem basis data  merupakan komponen dasar dari sebuah sistem
informasi yang luas pada suatu organisasi. Dalam hal ini, database
application
lifecycle
memiliki kaitan yang tetap dengan siklus hidup
sebuah sistem informasi. 
  
22
Hal penting yang perlu diperhatikan dalam sebuah database
application lifecycle
adalah bahwa tingkatannya tidak sepenuhnya
berurutan (sequential), dimana ada beberapa tingkatan yang berulang
dengan alur-balik (feedback loop). 
Menurut Connolly dan Begg (2005, p283), Siklus hidup
pengembangan database
(Database System Development Lifecycle)
merupakan tahapan yang digunakan dalam merancang suatu sistem
basis data.
Adapun siklus hidup pengembangan database digambarkan
dalam gambar 2.1.
Gambar 2.1  Tahapan siklus database application life cycle (Connolly dan Begg, 2005, p272)
  
23
1.
Perencanaan Basis Data (Database Planning)
Perancangan basis data merupakan sebuah kegiatan
manajemen yang memungkinkan tahapan-tahapan dalam aplikasi
basis data terealisasi dengan seefektif
dan seefisien mungkin.
(Connolly dan Begg, 2005, p285). 
Adapun langkah penting dalam perencanaan basis data yaitu:
a.
Menetapkan mission statement untuk sistem basis data
Mission statement mendefinisikan tujuan utama dari aplikasi
basis data. Mission statement membantu menjelaskan tujuan
dari aplikasi basis data dan menyediakan alur yang lebih
jelas untuk mencapai hasil yang efektif dan efisien dari
aplikasi basis data yang dibutuhkan
b.
Mengidentifikasi mission objectives
Setelah mendefinisikan mission statement, langkah
berikutnya adalah mendefinisikan mission objectives. Setiap
mission objectives
harus mengidentifikasikan tugas khusus
yang harus didukung oleh basis data, jadi bila basis data
telah mendukung mission objectives, maka seharusnya
mission statement dapat dicapai.
2.
Definisi Sistem (System Definition)
Definisi sistem menggambarkan ruang lingkup dan batasan
dari aplikasi basis data dan sudut pandang pengguna (user view)
yang utama (Connolly dan Begg, 2005, p286). 
  
24
Sebelum memulai untuk merancang suatu
aplikasi basis
data, kita perlu mengidentifikasi batasan-batasan sistem yang ada
dan bagaimana sistem tersebut dapat berinteraksi dengan bagian
sistem informasi yang lain dalam perusahaan tersebut.
User view mengidentifikasi apa yang dibutuhkan dari aplikasi
basis data yang dilihat dari sudut pandang sebuah peran kerja
(seperti manajer atau supervisor) atau area aplikasi (seperti
marketing, personalia, atau kontrol stok) (Connolly
dan Begg,
2005, p287).
Identifikasi user view ini merupakan aspek yang penting
dalam pengembangan sebuah aplikasi basis data karena user view
membantu untuk memastikan bahwa tidak ada pengguna utama
yang terlupakan saat mengembangkan aplikasi yang baru. Selain
itu, user view juga membantu dalam pengembangan aplikasi basis
data yang relatif rumit dengan memungkinkan kebutuhan dipecah
menjadi bagian bagian yang dapat diatur.
3.
Pengumpulan dan Analisis Data (Requirement Collection and
Analysis)
Requirement collection and analysis merupakan proses
mengumpulkan dan menganalisis informasi
mengenai bagian dari
perusahaan yang akan didukung oleh aplikasi basis data, serta
menggunakan informasi tersebut untuk mengidentifikasi
kebutuhan-kebutuhan pengguna untuk sistem yang baru (Connolly
dan Begg, 2005, p288). 
  
25
Teknik yang digunakan untuk memperoleh informasi disebut
fact finding techniques. Adapun teknik-teknik yang biasa
digunakan adalah memeriksa dokumen (examining document),
wawancara (interview), kuesioner, observasi, dan riset. 
Informasi yang dikumpulkan untuk setiap user view yang
utama meliputi (Connolly dan Begg, 2005, p288) :
1.
Deskripsi dari data yang digunakan atau dihasilkan.
2.
Detail mengenai bagaimana data digunakan atau dihasilkan.
Kebutuhan tambahan untuk aplikasi basis data yang baru.
4.
Perancangan Basis Data (Database Design)
Database design  merupakan proses perancangan basis data
yang akan mendukung kegiatan (operations) dan tujuan
perusahaan (Connolly dan Begg, 2005, p291). Ada dua
pendekatan utama dalam database design, yaitu :
1.
Pendekatan bottom up
Pendekatan bottom up
dimulai dari tingkatan atribut-
atribut (properti dari entity dan relationship), lalu menganalisis
hubungan antara atribut, kemudian dikelompokkan ke dalam
suatu relasi yang merepresentasikan tipe dari entity-entity dan
hubungannya. Pendekatan ini lebih cocok untuk
perancangan
basis data yang sederhana dengan jumlah atribut yang relatif
kecil, dan biasanya diilustrasikan melalui konsep normalisasi.
  
26
2.
Pendekatan top down
Pendekatan ini dimulai dengan membangun model data
tingkat tinggi, kemudian mengidentifikasi entity, hubungan,
dan atribut yang berhubungan dalam level
yang lebih rendah.
Pendekatan ini diilustrasikan melalui konsep model Entity
Relationship (ER).
Menurut Connolly dan Begg (2005, p293), Perancangan
basis data dibagi ke dalam tiga tahapan utama, yaitu :
1.
Perancangan Basis Data Konseptual (conceptual database
design)
Perancangan basis data konseptual merupakan proses
membangun sebuah model dari informasi yang digunakan
dalam perusahaan, yang tidak bergantung pada pertimbangan
fisikal (Connolly dan Begg, 2005, p293).
Model data tersebut dibuat dengan menggunakan
informasi yang didokumentasi dalam spesifikasi kebutuhan
user. Perancangan basis data konseptual tidak bergantung
sama sekali pada detail implementasi seperti DBMS, program
aplikasi, bahasa pemrograman, dan pertimbangan fisikal
lainnya.
Tahapan yang dilakukan dalam perancangan basis data
konseptual dapat diuraikan sebagai berikut (Connolly dan
Begg, 2005, p442-458) :
  
27
a.
Menentukan tipe entitas yang dibutuhkan
Menentukan objek utama yang menarik perhatian user.
b.
Menentukan tipe relationship
Mengidentifikasi hubungan-hubungan yang penting antar
tipe entitas yang telah diidentifikasi.
c.
Menentukan dan menghubungkan atribut dengan
entitas (relationship)
Menentukan atribut-atribut apa saja yang terdapat dalam
suatu entitas.
d.
Menentukan atribut domain
Menentukan domain pada setiap atribut yang ada di dalam
model data konseptual lokal.
e.
Menentukan atribut candidate key dan primary key
Menentukan candidate key dari suatu entitas yang
kemudian akan dipilih sebuah primary key dari candidate
key yang ada.
f.
Mempertimbangkan penggunaan enhanced modeling
concepts
Mempertimbangkan perlu tidaknya menggunakan konsep
model spesialisasi atau generalisasi, agregasi, dan
composition.
g.
Cek model untuk redundansi
Memeriksa model untuk menemukan adanya redundansi
dalam model.
  
28
h.
Validasi model lokal dengan transaksi user
Memeriksa apakah model konseptual lokal sudah dapat
memenuhi segala transaksi yang dilakukan user, jika
masih
ada transaksi yang tidak dapat dilakukan secara
manual maka perlu dilakukan perbaikan terlebih dahulu.
i.
Review model data konseptual lokal dengan user
Melakukan pemeriksaan ulang dengan user untuk
memastikan apakah model konseptual ini sudah selesai.
2.
Perancangan Basis Data Logikal (Logical Database Design)
Perancangan basis data logikal merupakan proses
membangun sebuah model dari informasi yang digunakan
dalam perusahaan berdasarkan model data spesifik, tetapi
tidak bergantung pada DBMS tertentu dan pertimbangan fisik
lainnya (Connolly dan Begg, 2005, p294).
Gambar 2.2 Contoh ERD Conceptual Database Design (Connolly dan Begg, 2005, p446)
  
29
Tahapan yang dilakukan dalam perancangan basis data
logikal adalah (Connolly dan Begg, 2005, p462-491):
Membangun dan memvalidasi data model logikal 
Menerjemahkan data model konseptual menjadi data
model logikal dan memvalidasi model untuk memeriksa
bahwa secara struktural benar dan mampu mendukung
transaksi yang dibutuhkan (Connolly dan Begg, 2005, p462). 
Langkah-langkah yang akan dilakukan adalah sebagai berikut :
a.
Menurunkan relasi untuk data model logikal 
Membuat relasi data model logikal lokal untuk
merepresentasikan entitas,  relationship,  dan atribut yang
telah diidentifikasi.
b.
Memvalidasi relasi-relasi menggunakan normalisasi
Memvalidasi model data logikal global dengan
menggunakan teknik normalisasi dan meyakinkan relasi
tersebut mendukung kebutuhan transaksi yang ada.
c.
Memvalidasi relasi melalui transaksi user
Memeriksa relasi yang telah dibuat pada tahap sebelumnya
apakah transaksi ini mendukung transaksi user, dan untuk
memastikan tidak ada kesalahan yang dibuat selama
membuat relasi-relasi.
d.
Mendefinisikan batasan integritas (constraint)
Dilakukan untuk menjaga agar basis data tetap konsisten.
Data yang disimpan ke dalam sebuah basis data harus valid
dan konsisten.
  
30
e.
Melakukan pemeriksaan model data kembali dengan
user
Menentukan apakah model ini sudah sesuai dengan
representasi perusahaan.
f.
Menggabungkan model data logikal lokal ke dalam
model logikal global yang menggambarkan perusahaan
Menggabungkan entitas pada model data lokal yang sama,
memasukkan hubungan yang unik dari setiap model data
lokal, melakukan pemeriksaan untuk entitas yang hilang,
foreign key, dan batasan integritas, kemudian
menggambarkan global ER, dan memperbaharui
dokumentasi.
g.
Menentukan perubahan di masa mendatang 
Menentukan apakah akan sering terjadi perubahan yang
drastis di masa yang akan datang dan menilai apakah
model data logikal global ini dapat mengakomodasi
perubahan yang terjadi.
3.
Perancangan Basis Data Fisikal (Physical database design)
Perancangan basis data fisikal adalah proses
menghasilkan deskripsi dari implementasi basis data dalam
secondary storage. Perancangan ini menjelaskan basis relasi,
organisasi file, dan penggunaan indeks untuk mencapai
pengaksesan data yang efisien dan hal lain yang berhubungan
  
31
dengan batasan integritas dan masalah keamanan (Connolly
dan Begg, 2005, p496).
Tahapan yang dilakukan pada perancangan basis data
fisikal adalah (Connolly dan Begg, 2005, p496-497):
Menerjemahkan model data logikal untuk target DBMS
Dilakukan untuk menghasilkan skema basis data
relasional dari model data logikal bahwa dapat
diimplementasikan di dalam DBMS yang diinginkan
Gambar 2.3 Contoh ERD Logical Database Design (Connolly dan Begg, 2005, p489)
  
32
(Connolly dan Begg, 2005, p497).  Adapun langkah-langkah
yang dilakukan adalah sebagai berikut :
a.
Merancang relasi-relasi dasar
Menentukan bagaimana merepresentasikan relasi dasar
yang telah didentifikasikan di dalam model data logikal
global ke dalam DBMS.
b.
Merancang representasi dari data yang diturunkan
Menentukan bagaimana merepresentasikan beberapa data
yang diturunkan dalam model data logikal data logikal
global ke dalam DBMS.
c.
Merancang batasan perusahaan
Merancang representasi fisikal
Dilakukan untuk menentukan organisasi file yang
optimal untuk menyimpan hubungan dasar dan indeks yang
diperlukan untuk mencapai kinerja yang dapat diterimam yaitu
cara dimana relasi dan tuple akan diselenggarakan pada
penyimpanan sekunder (Connolly dan Begg, 2005, p501). 
Adapun langkah-langkah yang akan
diuraikan adalah
sebagai berikut :
a.
Menganalisa transaksi 
Bertujuan untuk memahami fungsi dari transaksi-transaksi
yang akan berjalan pada basis data dan menganalisa
transaksi yang penting.
  
33
b.
Memilih organisasi file 
Bertujuan untuk menentukan organisasi file yang efisien
pada masing-masing base relation.
c.
Memilih indeks-indeks
Memilih dan menentukan dimana saja indeks harus dibuat
untuk meningkatkan performa dari sistem.
d.
Memperkirakan kebutuhan disk space yang
dibutuhkan oleh basis data.
Merancang user view
Merancang user view
dan menentukan bagaimana cara
mengimplementasikan masing-masing user view.
Merancang mekanisme keamanan
Merancang mekanisme keamanan untuk melindungi data
agar tidak dapat diakses oleh pihak yang tidak berwenang
termasuk merancang kontrol akses yang dibutuhkan pada base
relation.
Mempertimbangkan pengenalan redundansi terkontrol
Melakukan proses denormalisasi yang ditujukan untuk
membiarkan dan mengontrol redundansi pada model data
logikal untuk meningkatkan performa sistem secara
keseluruhan.
  
34
Mengawasi dan menyempurnakan sistem operasional
Memonitor sistem operasional untuk mengidentifikasi
dan memecahkan semua permasalahan yang terjadi setelah
perancangan dan mengimplementasi kebutuhan yang baru atau
perubahan kebutuhan.
5.
Pemilihan DBMS (DBMS Selection) (optional)
Tahap ini merupakan tahap pemilihan DBMS yang tepat
untuk mendukung aplikasi basis data. (Connolly dan Begg, 2005,
p295). Pendekatan sederhana dalam pemilihan DBMS adalah
dengan memeriksa fitur yang terdapat pada DBMS apakah mampu
memenuhi permintaan kebutuhan aplikasi yang akan dirancang.
Pemilihan DBMS yang baik bertujuan untuk memenuhi
kebutuhan perusahaan di masa sekarang dan akan datang,
menyeimbangkan pengeluaran yang terjadi karena pembelian
produk DBMS, mengantisipasi biaya tambahan software
/
hardware
yang dibutuhkan untuk mendukung sistem basis data,
dan biaya pergantian serta pelatihan staff.
Berikut ini adalah langkah-langkah utama dalam pemilihan
DBMS :
1.
Mendefinisikan persyaratan studi referensi
Dibuat dengan menyatakan tujuan dan ruang lingkup
pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan
kriteria (berdasarkan spesifikasi kebutuhan pengguna) yang
  
35
akan digunakan dalam mengevaluasi produk-produk DBMS,
dan daftar produk-produk yang memungkinkan.
2.
Mendaftarkan dua atau tiga produk
Kriteria yang dianggap penting dalam keberhasilan
implementasi dapat digunakan untuk membuat daftar produk-
produk DBMS dalam evaluasi, seperti dana yang tersedia,
tingkat dukungan vendor, kecocokan dengan perangkat lunak
lainnya, dan apakah produk hanya berjalan pada perangkat
keras tertentu.
3.
Mengevaluasi produk
Fitur-fitur yang digunakan dalam evaluasi produk-
produk DBMS dikelompokkan menjadi definisi data, definisi
fisik, kemampuan akses, penanganan keperluan-keperluan,
pengembangan, dan fitur-fitur lainnya.
4.
Merekomendasikan pilihan dan menghasilkan laporan
Langkah terakhir dari pemilihan DBMS adalah
mendokumentasikan prosesnya dan membuat pernyataan
dalam penemuan dan rekomendasi atas produk DBMS
tertentu.
6.
Perancangan Aplikasi (Application Design)
Perancangan aplikasi
merupakan suatu tahap
perancangan
antar muka pemakai (user interface), program aplikasi yang
digunakan,
dan proses
basis data (Connolly dan Begg, 2005,
p299). Ada 2 (dua) aspek dalam perancangan aplikasi yaitu :
  
36
1.
Perancangan transaksi (transaction design)
Merupakan tindakan ataupun serangkaian tindakan yang
dilakukan oleh satu pengguna ataupun program aplikasi, yang
mengakses atau mengubah isi dari basis data (Connolly, 2005,
p300).
Tujuan dari perancangan transaksi adalah untuk
mendefinisikan dan mendokumentasikan karakteristik tingkat
tinggi dari transaksi yang dibutuhkan pada basis data,
meliputi:
a.
Data yang akan digunakan oleh transaksi.
b.
Karakteristik fungsional dari transaksi.
c.
Hasil dari transaksi.
d.
Kepentingan untuk pengguna.
e.
Nilai yang diharapkan dari pemakaian.
Perancangan ini harus dilakukan lebih awal dalam proses
perancangan untuk memastikan bahwa basis data yang
diimplementasikan mampu mendukung semua transaksi yang
dibutuhkan. Ada tiga jenis transaksi, yaitu:
a.
Retrieval transactions
Digunakan untuk mengambil data untuk ditampilkan pada
layar atau pada laporan.
b.
Update transactions
Digunakan untuk memasukkan record
baru, menghapus
record lama, atau mengubah record yang terdapat di dalam
basis data.
  
37
c.
Mixed transactions
Meliputi retrieval (pengambilan) dan update (pengubahan)
data.
2.
Perancangan antarmuka (user interface design)
Perancangan antarmuka yang sesuai dilakukan agar
fungsionalitas yang dibutuhkan tercapai dalam sebuah aplikasi
basis data. Tampilan antar muka ini harus menyajikan
informasi yang dibutuhkan secara user friendly
7.
Membuat Prototype (Prototyping
Prototyping merupakan tahap pembuatan model kerja dalam
sebuah sistem database (Connolly dan Begg, 2005, p304).
Prototype adalah sebuah model kerja yang memiliki seluruh fitur
sesuai kebutuhan atau menyediakan semua fungsi dalam sistem
akhir. Tujuan utama dalam pengembangan prototype
sistem
database adalah memungkinkan pengguna untuk menggunakan
prototype untuk mengidentifikasi fitur sistem yang bekerja dengan
baik.  
8.
Implementasi (Implementation)
Implementasi merupakan realisasi fisik dari basis data dan
perancangan aplikasi (Connolly dan Begg, 2005, p304).
Implementasi dari basis data dicapai dengan menggunakan DDL
(Data Definition Language)
dari DBMS terpilih atau GUI
(Graphical User Interface), yang mendukung fungsi yang sama
  
38
ketika menyembunyikan statement DDL tingkat rendah. Statement
DDL juga digunakan untuk membuat struktur dan file basis data
yang kosong. Beberapa sudut pandang pengguna yang spesifik
juga diimplementasikan pada tahap ini.
9.
Konversi dan Pemuatan Data (Data Conversion and Loading)
Konversi dan pemuatan data adalah suatu proses
pemindahan data yang ada ke dalam basis data yang baru dan
mengubah aplikasi yang ada agar dapat digunakan pada basis data
yang baru (Connolly dan Begg, 2005, p305). Tahapan ini
dibutuhkan ketika
sistem basis data yang baru menggantikan
sistem yang lama.
10.
Pengujian (Testing)
Pengujian merupakan suatu proses eksekusi program
aplikasi dengan tujuan untuk menemukan kesalahan-kesalahan
(Connolly dan Begg, 2005, p305). Sebelum digunakan dalam
suatu sistem, aplikasi basis data yang baru harus diuji terlebih
dahulu dengan menggunakan strategi testing
yang direncanakan
dan menggunakan data yang sebenarnya.
11.
Pemeliharaan Operasional (Operational Maintenance)
Pemeliharaan operasional merupakan suatu proses
pengawasan (monitoring) dan pemeliharaan sistem basis data
setelah dilakukan instalasi (Connolly dan Begg, 2005, p306).
  
39
Adapun tahapan-tahapan yang terlibat dalam
pemeliharaan
operasional meliputi :
a.
Pengawasan (monitoring) kinerja sistem, jika kinerja menurun
maka diperlukan perbaikan atau pengaturan ulang basis data.
b.
Pemeliharaan dan pembaharuan aplikasi basis data (jika
diperlukan).
2.1.4
Model Relasional
A.
Terminologi
Struktur data relasional
Ada beberapa istilah dalam struktur data relasional seperti (Connolly
dan Begg, 2005, p72-p74) :
1.
Relasi
Relasi adalah sebuah tabel yang memiliki beberapa kolom dan
baris, digunakan untuk memegang informasi mengenai objek yang
akan direpresentasikan dalam basis data. Sebuah relasi digambarkan
dengan tabel dua dimensi yang memiliki baris yang
merepresentasikan
sebuah record
dan nama kolom yang
direpresentasikan atribut.
Relasi memiliki sifat-sifat sebagai berikut (Connolly, 2005, p77):
a.
Nama relasi berbeda satu sama lain dalam skema relasional.
b.
Setiap sel dari relasi berisi satu nilai atomik.
c.
Setiap atribut memiliki nama yang berbeda.
d.
Nilai satu atribut berasal dari domain yang sama.
e.
Setiap tuple berbeda, dan tidak ada duplikasi tuple.
  
40
2.
Atribut
Seperti yang telah dijelaskan sebelumnya, atribut adalah nama
kolom dari sebuah relasi. Atribut dapat muncul dalam urutan apapun
dan relasinya akan tetap relasi yang sama, dan oleh sebab itu
memilik arti yang sama (Connolly dan Begg, 2005, p72).
3.
Domain
Domain adalah kumpulan dari nilai yang diijinkan untuk satu
atau lebih atribut. Konsep domain penting karena domain
memperbolehkan user
untuk mendifinisikan arti dan sumber nilai
yang dapat atribut gunakan (Connolly dan Begg, 2005, p72).
4.
Tuple
Tuple adalah elemen dari relasi atau dapat dikatakan sebagai
baris dari suatu relasi. Tuple dapat muncul dalam urutan apapun dan
relasinya akan tetap relasi yang sama, dan oleh sebab itu memiliki
arti yang sama (Connolly dan Begg, 2005, p73).
5.
Degree
Degree pada suatu relasi adalah jumlah atribut yang terdapat
pada relasi tersebut. Sebuah relasi yang terdiri dari satu atribut
disebut
unary relation
atau one tuple. Relasi dengan dua atribut
disebut binary, tiga atribut disebut ternarym dan lebih dari tiga
disebut n-ary (Connolly dan Begg, 2005, p74).
6.
Cardinality
Cardinality adalah jumlah dari tuple yang terdapat pada relasi.
Cardinality berubah-ubah bergantung pada tuples
yang ditambah
atau dihapus (Connolly dan Begg, 2005, p74).
  
41
7.
Basis data relasional
Basis data relasional adalah sekumpulan relasi yang telah
dinormalisasi dengan nama relasi yang berbeda (Connolly dan
Begg, 2005, p74).
a.
Basis data relasi
Dari beberapa pengertian diatas, maka skema relasi dapat
didefinisikan yaitu sebuah nama relasi yang mendefinisikan
sekumpulan pasangan atribut dan domain. Skema basis data
relasi adalah kumpulan dari skema relasi yang berbeda nama
(Connolly dan Begg, 2005, p76).
b.
Relational Keys
Seperti yang telah disebutkan diatas bahwa tidak ada
tuples yang sama dalam sebuah relasi. Oleh sebab itu,
diperlukannya relational keys untuk mengidentifikasikan satu
atau lebih atribut agar dapat membedakan tuple
dalam sebuah
relasi. 
Berikut ini merupakan beberapa relational keys tersebut
(Connolly dan Begg, 2005, p78):
1.
Superkey
Superkey adalah sebuah atribut atau kumpulan dari
atribut yang secara unik mengidentifikasikan sebuah tuple
dalam sebuah relasi (Connolly dan Begg, 2005, p78).
2.
Candidate key
Candidate key adalah sebuah atribut unik yang
mengidentifikasikan sebuah table. Jumlah minimal atribut
  
42
yang dapat mengidentifikasikan record
secara unik. Jika
sebuah key terdiri lebih dari satu atribut disebut composite
key (Connolly dan Begg, 2005, p78).
3.
Primary key
Candidate key yang terpilih untuk mengidentifikasi
tuple dengan uniknya di dalam suatu relasi disebut primary
key. Primary key adalah sebuah atribut atau kumpulan
atribut dalam satu relasi yang cocok pada beberapa
candidate key dari beberapa relasi (Connolly dan Begg,
2005, p79). Candidate key
yang tidak dipilih menjadi
primary key dinamakan alternate key.
4.
Foreign key
Foreign key
adalah sebuah atribut atau kumpulan
atribut dalam satu relasi yang cocok pada beberapa
candidate key
dari beberapa relasi (Connolly dan Begg,
2005, p79).
B.
Integritas Constraints
Data yang disimpan ke dalam sebuah basis data harus valid dan
konsisten. Integrity biasanya diekspresikan sebagai
constraint,
dimana constraint
merupakan aturan yang tidak boleh dilanggar
oleh basis data. 
Berikut ini adalah definisi dari istilah yang digunakan
(Connolly dan Begg, 2005, p81-83):
  
43
a.
Nulls
Null merepresentasikan nilai untuk sebuah atribut yang
tidak diketahui atau tidak memiliki nilai pada tuple
b.
Integritas entitas
Dalam sebuah base relation, tidak ada atribut pada
primary key
bernilai null. Primary key digunakan untuk
mengidentifikasikan tuple
secara unik. Hal ini
menyebabkan
tidak ada subset dari primary key
yang cukup untuk
menyediakan pengidentifikasian tuple yang unik.
c.
Integritas referensial
Jika terdapat foreign key
dalam relasi, maka nilai foreign
key tersebut akan dibandingkan dengan nilai candidate key dari
beberapa tuple pada relasi tersebut atau nilai foreign key harus
null semuanya.
d.
General Constraints
Aturan tambahan yang dispesifikasikan user atau database
administrator pada basis data dari suatu aspek dari enterprise.
2.1.5
Entity Relationship Modeling
Menurut Connolly dan Begg (2005, p342), Salah satu aspek yang
paling sulit dari desain
database
adalah kenyataan bahwa perancang,
programmer, dan end-user cenderung melihat data dan penggunaannya
dengan cara berbeda.
Menurut Connolly dan Begg (2005, p342), ERD adalah
penggambaran dari sebuah kebutuhan penyimpanan data dengan cara
  
44
kerja dari suatu perusahaan atau organisasi tersebut yang bebas dari
ambiguitas. ERD digunakan untuk mengidentifikasikan data yang akan
disimpan, diolah dan diubah untuk mendukung aktivitas bisnis suatu
organisasi.
ER-Modelling
adalah pendekatan top-down
dari desain
database yang dimulai dengan mengidentifikasi data-data penting yang
disebut entitas dan hubungan antara data yang harus direpresentasikan
dalam model
yang disebut relasi, serta informasi yang lebih detail
mengenai entitas yang disebut atribut.
Ada beberapa hal yang perlu
diperhatikan dalam pembuatan ERD yaitu :
1.
Tipe Entitas
Tipe entitas adalah sekumpulan objek yang memiliki sifat
yang sama, yang diidentifikasi oleh perusahaan dan memiliki
keberadaan yang independen (Connolly dan Begg, 2005, p343).
Keberadaan dari entitas yang independen ini dapat berupa bentuk
fisik (nyata) maupun konseptual (abstrak). 
Entity occurrence
merupakan objek yang dapat diidentifikasi
secara unik dari tipe entitas (Connolly dan Begg, 2005, p342).
2.
Tipe relationship
Tipe relationship merupakan sebuah hubungan yang memiliki
arti diantara beberapa tipe entitas (Connolly dan Begg, 2005, p346).
Setiap tipe relasi diberi nama yang menjelaskan fungsinya.
Relationship occurrence merupakan sebuah hubungan yang
dapat diidentifkasikan secara unik, yang meliputi satu kejadian dari
masing-masing tipe entitas yang berpartisipasi.
Terdapat tiga dari
jenis relationship :
  
45
a.
One-to-One (1:1) Relationship
Hubungan one-to-one terjadi ketika ada satu record dari
tabel pertama yang berkorepondensi dengan satu record
dari
tabel lain. Contohnya setiap nama karyawan hanya memiliki
satu  ID karyawan.
Pada gambar 2.4 menerangkan bahwa setiap cabang
dikelola oleh satu member dari staff dan setiap member dari staff
bisa mengelola nol atau satu branch.
b.
One-to-many (1:*) Relationship
Hubungan one-to-many
terjadi ketika setiap record dalam
tabel A bisa memiliki beberapa link dari tabel B namum masing-
masing record dari tabel B hanya bisa berkorespondensi dengan
satu record dari tabel A. Contohnya sebuah perusahaan dengan
semua karyawannya bekerja di gedung Z (Merupakan tabel A).
Nama gedung memiliki hubungan dengan banyak karyawan
(merupakan tabel B). Jadi, satu record
dari tabel A, yaitu tabel
nama gedung, memiliki relasi dengan banyak nama karyawan
dari tabel B.
Mengelola
Branch
branchNo
Staff
staffNo
0..1
1..1
Gambar 2.4 Multiplicity dari Staff mengelola Branch
(Connolly dan Begg, 2005, p358)
Staff
staffNo
PropertyForRent
propertyNo
Mengawasi 
0..1
0..*
Gambar 2.5 Multiplicity dari Staff mengawasi PropertyForRent 
(Connolly dan Begg, 2005, p359)
  
46
Pada gambar 2.5 menerangkan bahwa setiap property for
rent
diawasi oleh nol atau satu member dari staff dan setiap
member dari staff
mengawasi nol atau lebih dari satu property
for rent.
c.
Many-to-many  (*:*) Relationship
Hubungan many-to-many
terjadi ketika setiap record
dari
tabel A memiliki hubungan dengan record-record
yang ada di
tabel B dan sebaliknya.
Pada gambar 2.6 menerangkan bahwa setiap property for
rent diiklankan di dalam nol atau lebih dari satu newspapers dan
setiap newspaper
mengiklankan satu atau lebih dari satu iklan
property for rent.
3.
Atribut
Atribut merupakan properti atau sifat dari sebuah entitas atau
tipe relationship (Connolly dan Begg, 2005, p350).
Domain atribut merupakan suatu kumpulan nilai yang
diperbolehkan untuk satu atau lebih atribut (Connolly dan Begg,
2005, p350). Atribut dapat diklasifikasikan sebagai berikut :
0..*
1..*
Mengiklankan 
Newspaper
newspaperName
PropertyForRent
propertyNo
Gambar 2.6
Multiplicity dari Newspaper mengiklankan PropertyForRent 
(Connolly dan Begg, 2005, p360)
  
47
a.
Simple and composite attributes
Simple atribute merupakan sebuah atribut yang terdiri dari
satu komponen dengan keberadaan yang independen (Connolly
dan Begg, 2005, p351).
Composite attribute merupakan sebuah atribut yang tediri
dari beberapa komponen, masing-masing dengan keberadaan
yang independen (Connolly dan Begg, 2005, p351).
b.
Single-valued dan multi-valued attributes
Single-valued attribute
adalah sebuah atribut yang
memiliki nilai tunggal untuk setiap konkurensi dalam sebuah
tipe entitas (Connolly dan Begg, 2005, p352).
Multi-valued attribute adalah sebuah atribut yang memiliki
beberapa nilai untuk setiap konkurensi dalam sebuah tipe entitas
(Connolly dan Begg, 2005, p352).
c.
Atribut turunan (derived attribute)
Derived attribute merupakan sebuah atribut yang mewakili
sebuah nilai yang dapat diturunkan dari nilai dari atribut yang
berelasi atau sekumpulan atribut, dan tidak harus dalam tipe
entitas yang sama (Connolly dan Begg, 2005, p352).
d.
Keys
Candidate key merupakan sekumpulan atribut yang
minimal yang secara unik mengidentifikasikan setiap kejadian
dari entitas (Connolly dan Begg, 2005, p352).
Primary key merupakan candidate key yang memiliki dua
atau lebih atribut (Connolly dan Begg, 2005, p353).
  
48
Composite key merupakan candidate key yang terdiri atas
dua atau beberapa atribut. (Connolly dan Begg, 2005, p353).
4.
Tipe entitas kuat dan lemah
Tipe entitas kuat merupakan tipe entitas yang keberadaannya
tidak bergantung pada entitas lain (Connolly dan Begg, 2005, p354).
Karakteristik dari entitas kuat ini adalah setiap kejadian entitas
diidentifikasikan secara unik menggunakan atribut primary key dari
tipe entitas berikut.
Tipe entitas lemah merupakan tipe entitas yang keberadaannya
bergantung pada entitas lain (Connolly dan Begg, 2005, p355).
Karakteristik dair entitas lemah ini adalah setiap kejadian entitas
tidak bisa diidentifikasikan secara unik dengan hanya menggunakan
atribut yang berhubungan dengan tipe entitas tersebut.
5.
Structural Constraint
Batasan utama dari relationship
disebut multiplicity, yang
artinya jumlah dari kejadian-kejadian yang mungkin terjadi pada
entitas yang berhubungan dengan kejadian tunggal dari entitas
melalui relationship khusus (Connolly dan Begg, 2005, p356-359).
2.1.6
Normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan
relasi dengan sifat-sifat yang diinginkan, memenuhi kebutuhan data
pada perusahaan (Connolly dan Begg, 2005, p388).
Menurut Indrajani (2009, p109-110), Normalisasi adalah suatu
teknik formal yang dapat digunakan dalam perancangan basis data.
  
49
Suatu teknik yang menghasilkan sekumpulan hubungan dengan sifat-
sifat yang diinginkan dan memenuhi kebutuhan perusahaan.
Dengan demikian, normalisasi adalah suatu teknik
pengelompokkan
data elemen menjadi tabel-tabel yang menunjukkan
entitas dan relasinya
sesuai dengan sifat yang diinginkan, untuk
memenuhi kebutuhan perusahaan. Pada proses normalisasi selalu diuji
pada beberapa kondisi, apakah ada kesulitan pada saat menambah,
menghapus, mengubah, dan membaca basis data. Apabila ada kesulitan
pada pengujian tersebut, maka relasi tersebut dapat dipecah pada
beberapa tabel lagi atau dengan kata lain perancangan belum
mendapatkan basis data yang optimal.
Tujuan utama dalam pengembangan model data logikal pada
sistem basis data relasional adalah menciptakan representasi akurat
suatu data, relationship
antardata dan batasan-batasannya. Untuk
mencapai tujuan ini, maka harus ditetapkan sekumpulan relasi.
Sedangkan tujuan utama dari desain basis data relasional adalah
untuk mengelompokan atribut-atribut ke dalam relasi-relasi sehingga
meminimalisasi redundansi data dan mengurangi penggunaan tempat
penyimpanan yang dibutuhkan untuk sebuah relasi dasar.
BENTUK NORMALISASI
Ada beberapa bentuk normalisasi, yaitu:
1.
Unnormalized Form (UNF)
Sebuah relasi dimana masih terdapat redundansi data dan
belum melalui proses normalisasi.
  
50
Bentuk ini merupakan kumpulan data yang akan disimpan,
dan tidak ada keharusan untuk mengikuti suatu format tertentu.
Data dikumpulkan apa adanya, dan terdapat
suatu
tabel yang
berisikan satu atau lebih grup yang berulang (Connolly dan Begg,
2005, p403).
Membuat tabel unnormalized
yaitu dengan
memindahkan data dari sumber informasi kedalam format tabel
dengan baris dan kolom.
2.
First Normal Form (1NF)
Bentuk normal pertama mempunyai ciri yaitu data dibentuk
dalam satu record
dan mulai menghilangkan adanya perulangan
data. Merupakan sebuah relasi di mana setiap irisan antara baris
dan kolom berisikan satu dan hanya satu nilai
(Connolly dan
Begg, 2005, p403).
3.
Second Normal Form (2NF)
Menurut Connolly dan Begg (2005, p407), Bentuk normal
kedua mempunyai syarat yaitu bentuk data telah memenuhi
kriteria bentuk normal pertama. Atribut bukan kunci haruslah
bergantung secara fungsi pada kunci utama, sehingga untuk
membentuk normal kedua sudah ditentukan kunci-kunci field.
Kunci
field
haruslah unik dan dapat mewakili atribut lain yang
menjadi anggotanya.
Berdasarkan pada konsep full functional dependency, yaitu
A dan B. Second normal form merupakan atribut dari sebuah
relasi, B dikatakan fully dependent
(bergantung penuh) terhadap
A, jika B functionally dependent pada A tetapi tidak sebenarnya
  
51
merupakan bagian (proper subset) dari A. Second Normal Form
merupakan sebuah relasi dalan 1NF dan setiap atribut non-
primary-key bersifat fully functionally dependent
pada primary
key.
4.
Third Normal Form (3NF)
Menurut Connolly dan Begg (2005, p409), Untuk menjadi
bentuk normal ketiga, maka
suatu
relasi haruslah memenuhi
bentuk normal kedua dan setiap atribut yang bukan kunci harus
bergantung hanya pada kunci primer secara menyeluruh. 
Berdasarkan pada konsep ketergantungan transitif
(transitively dependent), yaitu suatu kondisi di mana A,
B dan C
merupakan atribut dari sebuah relasi, maka jika A
?B dan B?C,
maka C bergantung secara transitif pada A melalui B ( Jika A
tidak functionally dependent pada B atau C). Third normal form
adalah sebuah relasi dalam 1NF dan 2NF dan di mana tidak
terdapat atribut non-primary-key
yang bersifat bergantung secara
transitif pada primary key.
5.
Boyce – Codd Normal Form (BCNF)
Menurut Connolly dan Begg (2005, p419), Relasi yang jika
dan hanya jika setiap determinan adalah candidate key.
6.
Fourth Normal Form (4NF)
Menurut Connolly dan Begg (2005, p430), Relasi yang
terdapat pada Boyce-Codd normal form
dan tidak mengandung
ketergantungan bernilai banyak (multi-valued dependency). Multi-
valued dependency merupakan ketergantungan antar atribut dalam
  
52
suatu relasi, misalnya untuk setiap nilai dari A merupakan satu set
nilai untuk B dan C, dimana nilai-nilai B dan C tidak bergantung
satu sama lain.
7.
Fifth Normal Form (5NF)
Menurut Connolly dan Begg (2005, p431), 5NF
Didefinisikan sebagai relasi yang tidak mempunyai join
dependency (lossless join dependency). Lossless join dependency
merupakan property of decomposition, yang meyakinkan tidak ada
spurious tuples
yang dihasilkan ketika relasi-relasi disatukan
melalui operasi natural join.
PROSES NORMALISASI
Proses normalisasi merupakan suatu teknik formal untuk
menganalisis relasi berdasarkan primary key
dan ketergantungan
fungsional antar atribut. Proses ini dieksekusi dalam beberapa langkah.
Setiap langkah mengacu ke bentuk normal tertentu,sesuai dengan sifat
yang dimilikinya. Setelah normalisasi diproses, relasi menjadi secara
bertahap lebih terbatas atau kuat bentuk formatnya dan juga mengurangi
tindakan update yang anomali. 
Proses-proses yang terjadi yaitu:
a.
UNF ke 1NF
Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel
unnormalized. Identifikasikan grup yang berulang dalam tabel
unnormalized yang berulang untuk kunci atribut. Hapus grup yang
berulang dengan cara :
  
53
1.
Masukkan data yang semestinya ke dalam kolom yang kosong
pada baris yang berisikan
data yang berulang (flattening the
table).
2.
Menggantikan data yang ada dengan salinan dari kunci atribut
yang sesungguhnya ke dalam relasi terpisah.
b.
1NF  ke 2NF
1.
Identifikasikan primary key untuk relasi 1NF.
2.
Identifikasikan ketergantungan fungsional dalam relasi.
3.
Jika terdapat ketergantungan parsial terhadap primary key, maka
hapus dengan menempatkannya dalam relasi yang baru bersama
dengan salinan determinannya.
c.
2NF ke 3NF
1.
Identifikasikan primary key untuk relasi 1NF.
2.
Identifikasikan ketergantungan fungsional dalam relasi.
3.
Jika terdapat ketergantungan transitif terhadap primary key,
maka hapus dengan menempatkannya dalam relasi yang baru
bersama dengan salinan determinannya.
d.
3NF ke BCNF
1.
Merupakan relasi yang sama dengan relasi yang ada di dalam
3NF.
2.
Untuk ketergantungan fungsional A
?B, ditetapkan dalam relasi
maka A harus merupakan candidate key.
  
54
e.
BCNF ke 4NF
1.
Menghilangkan multi-valued dependency
dari relasi dengan
menempatkan atribut-atribut ke dalam suatu relasi baru bersama
dengan copy of determinant.
2.1.7
Database Security
Menurut Connolly dan Begg (2005, p542), Database security
adalah mekanisme yang digunakan untuk memproteksi database dalam
melawan ancaman dari luar maupun dari dalam. Database security
mencakup hardware, software, user, dan data. Untuk menjalankan
sistem keamanan secara efektif, diperlukan beberapa kontrol yang
sesuai, yang didefinisikan pada mission objectives
secara khusus dari
sistem. Database security termasuk dalam hubungan situasi
seperti
berikut :
1.
Pencurian dan memanipulasi data
2.
Kehilangan kerahasiaan data
3.
Kehilangan privacy
4.
Kehilangan integrity
5.
Kehilangan availability
Dalam sebuah database security
terdapat mekanisme keamanan
yang disebut dengan authorization
dan authentification. Authorization
adalah pemberian hak akses apa saja yang dapat dilakukan oleh user
kepada suatu sistem, sedangkan authentification
adalah suatu
mekanisme yang menentukan user
manakah yang boleh masuk ke
dalam sistem.
  
55
2.1.8
Structured Query Language (SQL)
Menurut Connolly dan Begg (2005, p112), Structured Query
Language
(SQL) merupakan bahasa yang digunakan untuk database
relational dan didukung oleh semua produk di pasaran. SQL awalnya
dikembangkan oleh IBM Research pada awal tahun 1970 dan pertama
kali diterapkan pada prototype komputer IBM yang bernama System R.
Structured Query Language
(SQL) adalah suatu bahasa standard
untuk implementasi operasi-operasi pada sistem basis data model
relational Standard ANSI-SQL92 atau International Standard Database
Query Language.
2.1.9
System Development Life Cycle (SDLC)
Dalam pembuatan sebuah software
dikenal istilah System
Development Life Cycle
(SDLC), yaitu serangkaian kegiatan yang
dilakukan selama masa perancangan software.
Menurut Turban, Rainer, Potter (2003, p463-471), SDLC adalah
kerangka terstruktur yang terdiri dari beberapa proses yang berurutan
yang digunakan untuk membangun suatu sistem informasi. 
System Development Life Cycle
(SDLC) atau siklus hidup
pengembangan sistem merupakan tahapan-tahapan pekerjaan yang
dilakukan oleh seorang analisis sistem dan programmer
dalam
membangun sebuah sistem informasi. Dengan adanya siklus System
Development Life Cycle
(SDLC), proses membangun sistem dapat
dibagi menjadi beberapa langkah dan pada sistem yang besar, sehingga
masing-masing langkah dikerjakan oleh tim yang berbeda.
  
56
Adapun beberapa model proses yang diantaranya The Classic Life
Cycle
atau yang biasa dikenal dengan Waterfall Model, Prototyping
Model, Fourth Generation Techniques
(4GT), Spiral Model, dan
Combine Model. Dalam SDLC digunakan pendekatan waterfall dimana
setiap tingkatan harus diselesaikan terlebih dahulu sebelum
mengerjakan pekerjaan pada tingkat selanjutnya.
WATERFALL MODEL
Menurut Pressman (2005, p79), Model air terjun adalah
paradigma tertua untuk rekayasa perangkat lunak. Waterfall model
terkadang disebut sebagai siklus hidup klasik (classic life cycle) yang
menunjukkan pendekatan berurutan yang sistematis dalam
pengembangan perangkat lunak. Waterfall model
dimulai pada
persyaratan kebutuhan pelanggan dan kemajuan melalui perencanaan,
desain
modelling, construction, dan deployment
untuk mendukung
kelengkapan perangkat lunak.
Adapun beberapa tahapan pada
model proses Waterfall Pressman
(2005, p56) adalah :
a.
Communication
Pada tahap ini dilakukan analisis dan terhadap kebutuhan
software, dan mengadakan pengumpulan data dengan melakukan
pertemuan dengan customer. Pengumpulan data-data tambahan juga
dapat dilakukan melalui internet, jurnal, dan artikel. Komunikasi
dan kolaborasi
dilibatkan untuk mencapai kesepakatan user
  
57
requirement atau kebutuhan pengguna dan system requirement atau
kebutuhan sistem.
b.
Planning
Planning
merupakan tahap berikutnya dari proses
communication (analysis requirement). Tahapan ini akan
menghasilkan dokumen user requirement atau bisa dikatakan
sebagai data yang berhubungan dengan keinginan user
dalam
pembuatan software, termasuk rencana yang akan dilakukan.
Selain itu, pada tahap ini
juga
ditetapkan suatu rencana
pengembangan dari peranti lunak, antara lain tugas-tugas teknis
yang harus dipenuhi, resiko-resiko yang kemungkinan akan
dihadapi, sumber daya yang dibutuhkan, hasil kerja, dan jadwal
kerja.
c.
Modelling 
Proses modeling ini akan
menghasilkan suatu model yang
memungkinkan
pengembang dan pelanggan untuk memiliki
pemahaman lebih lanjut mengenai kebutuhan software
dan
perancangan-perancangan untuk memenuhi kebutuhan tersebut
sebelum dibuat coding. Proses ini berfokus pada rancangan struktur
data, arsitektur software, tampilan
antar mukam dan detail
procedural  / algoritma. Pada tahapan
ini akan menghasilkan
dokumen yang disebut software requirement.
d.
Construction
Construction
merupakan suatu proses pembuatan kode.
Coding atau pengkodean merupakan penerjemahan desain dalam
  
58
bahasa yang bisa dikenali oleh komputer. Programmer akan
menerjemahkan transaksi yang diminta oleh user.
Tahap ini merupakan tahapan nyata dalam mengerjakan suatau
software, artinya komputer akan digunakan secara maksimal dalam
tahapan ini. Setelah pengkodean selesai, maka akan dilakukan
testing terhadap sistem yang telah dibuat. Tujuan dilakukan testing
adalah untuk menemukan kesalahan-kesalahan terhadap sistem agar
bisa diperbaiki.
e.
Deployment
Tahap ini merupakan tahap final dalam pembuatan sebuah
software
atau sistem. Setelah melakukan analisis, desain dan
pengkodean, maka sistem yang telah jadi akan digunakan oleh user.
Software dikirimkan kepada customer yang dimaksudkan untuk
mengevaluasi hasil kerja dan memberikan
feedback / umpan balik
berdasarkan evaluasi tersebut. Kemudian software yang telah dibuat
harus dilakukan pemeliharaan secara berkala.
Gambar 2.7 Waterfall Model Process (Pressman, 2005, p79)
  
59
Kelebihan dari Waterfall Model adalah :
a.
Penerapannya lebih mudah.
b.
Software
dapat berjalan dengan baik dan tanpa masalah ketika
semua kebutuhan sistem didefinisikan secara utuh, eksplisit, dan
benar di awal proyek.
c.
Lebih ekonomis dalam hal uang, usaha, dan waktu yang terbuang
lebih sedikit dibandingkan masalah yang muncul pada tahap
selanjutnya.
Kekurangan dari Waterfall Model adalah :
a.
Sulit dalam melakukan perubahan setelah proses dijalankan karena
sifatnya yang kaku. Fase sebelumnya harus lengkap dan selesai
sebelum mengerjakan fase berikutnya. 
b.
Karena sifat kakunya, model ini cocok ketika kebutuhan
dikumpulkan secara lengkap, sehingga perubahan dapat ditekan
sekecil mungkin. Namun pada kenyataannya, jarang sekali
pengguna dapat memberikan kebutuhan secara lengkap, dan
perubahan kebutuhan adalah sesuatu yang wajar.
c.
Waterfall pada umumnya digunakan untuk rekayasa sistem yang
besar.
2.1.10
Diagram Alir (Flow Chart)
Menurut Mulyadi (2001, p60-63), Sistem akuntansi dapat
dijelaskan dengan menggunakan bagan alir dokumen. Berikut ini
merupakan simbol-simbol standar yang digunakan oleh analis sistem
  
60
untuk membuat bagan alir dokumen yang menggambarkan sistem
tertentu :
Tabel  2.1 Tabel Flow Chart
Simbol
Makna
Dokumen
Simbol ini digunakan untuk
menggambarkan semua jenis
dokumen, yang merupakan formulir
yang digunakan untuk merekam data
terjadinya suatu transaksi.
Kegiatan Manual
Simbol ini digunakan untuk
menggambarkan kegiatan manual
seperti :
a.
Menerima order dari pembeli.
b.
Mengisi formulir.
c.
Membandingkan dan memeriksa
berbagai jenis kegiatan klerikal
yang lain.
Uraian singkat kegiatan manual
dicantumkan di simbol ini.
Keterangan / Komentar
Simbol ini memungkinkan ahli sistem
menambahkan keterangan untuk
memperjelas pesan yang disampaikan
dalam bagan alir.
Keputusan
Simbol ini menggambarkan keputusan
yang harus dibuat dalam proses
pengolahan data. Keputusan yang
dibuat ditulis di dalam simbol.
Garis alir / flowline
Simbol ini mengambarkan arah proses
pengolahan data. Anak panah tidak
digambarkan jika arus dokumen
mengarah ke bawah dan ke kanan.
Jika arus dokumen mengalir ke atas
atau ke kiri, anak panah perlu
  
61
dicantumkan.
Mulai/ berakhir ( terminal)
Simbol ini untuk menggambarkan
awal dan akhir suatu sistem akuntansi.
Dokumen dan Tembusannya
Simbol ini digunakan untuk
menggambarkan dokumen asli dan
tembusannya.
Penghubung halaman yang sama
(onge page connector)
Dalam menggambarkan bagan alir,
arus dokumen dibuat mengalir dari
atas ke bawah dan dari kiri ke kanan.
Namun, dengan keterbatasan ruang
halaman kertas untukmenggambar,
maka simbol penghubung digunakan
untuk memungkinkan aliran dokumen
berhenti di suatu lokasi pada halaman
tertentu dan kembali berjalan di lokasi
lain pada halaman yang sama.
Penghubung halaman yang berbeda
(Off=page connector)
Apabila menggambar bagan alir suatu
sistem akuntansi melebihi satu
halaman, maka simbol ini harus
digunakan untuk menunjukkan
kemana dan bagaimana bagan alir
terkait satu dengan lainnya. Nomor
yang tercantum di dalam simbol
penghubung menunjukkan bagaimana
bagan alir yang tercantum pada
halaman tertentu terkait dengan bagan
alir yang tercantum pada halaman
yang lain.
  
62
2.1.11
Data Flow Diagram (DFD)
Menurut Whitten (2001, p308), Data Flow Diagram adalah alat
yang menggambarkan aliran data yang melewati sistem beserta hasil
yang diperoleh dari sistem tersebut. 
Selain itu, pengertian lain mengenai Data Flow Diagram menurut
Whitten (2001, p308) adalah model proses yang digunakan untuk
menggambarkan aliran data melalui sebuah sistem dan tugas atau
pengolahan yang dilakukan oleh sistem.
Menurut McLeod (2010, p214), Data Flow Diagram
(DFD)
adalah suatu penyajian
grafis dari suatu sistem yang mengilustrasikan
bagaimana data mengalir melalui proses-proses yang saling tersambung.
Ada beberapa simbol yang digunakan dalam DFD dimana simbol-
simbol tersebut mencerminkan :
1.
Unsur-unsur lingkungan dengan sistem yang berinteraksi.
2.
Proses.
3.
Arus data.
4.
Penyimpanan data.
Berdasarkan pengertian di atas, Data Flow Diagram (DFD) adalah
penggambaran
grafis yang menampilkan aliran data dari sumber ke
dalam objek, dengan melewati proses yang mentransformasikannya ke
tujuan yang ada pada objek lain.
Data Flow Diagram (DFD) memperlihatkan hubungan fungsional
dari nilai yang dihitung oleh sistem, termasuk nilai masukan, nilai
keluaran, serta tempat penyimpanan internal. DFD membuat proses
yang mentransformasi data, aliran data yang menggerakan data, objek
  
63
yang mengkonsumsi serta memproduksi data, serta data store
yang
menjadi tempat penyimpanan data.
Menurut McLeod (2010, p215-217), Diagram nomor 0 (figure 0
diagram) mengidentifikasi proses-proses utama sistem. Sebuah diagram
yang mendokumentasikan sistem pada tingkat yang lebih ringkas
disebut diagram konteks (context diagram), sedangkan sebuah diagram
yang memberikan lebih banyak detail disebut diagram nomor n (figure
n diagram). Ada 3 (tiga) tingkatan dalam DFD yaitu :
a.
Diagram Konteks
Diagram yang menggambarkan sistem secara garis besar atau
merupakan tingkatan yang paling awal, yang menggambarkan
hubungan antara sistem dengan bagian luar dari sistem.
Diagram ini
terdiri atas satu simbol proses tunggal yang melambangkan
keseluruhan sistem. Berikut ini merupakan  beberapa aturan yang
dapat digunakan dalam menggambarkan sebuah diagram konteks :
1.
Hanya menggunakan satu simbol.
2.
Memberikan label pada simbol proses untuk mencerminkan
keseluruhan sistem.
3.
Jangan memberikan nomor pada simbol proses tunggal.
4.
Memasukkan seluruh terminator untuk sistem.
5.
Menunjukkan seluruh arus yang terjadi antara terminator
dan
sistem.
b.
Diagram Nol
Merupakan level tertinggi dari fungsi yang ada di dalam
sistem. Selain itu, pada diagram ini digambarkan proses-proses
  
64
penting yang ada di dalam sistem. Proses ini diperoleh dari
pemecahan diagram konteks.
c.
Diagram Rinci / Diagram Level 1
Pada diagram ini digambarkan rincian dari setiap proses yang
ada pada diagram 0 (nol) sampai ketingkat proses yang paling rinci.
d.
Diagram Level 2
Merupakan penjabaran rinci dari setiap proses yang baru
muncul pada diagram level 1 secara khusus. Dalam hal ini juga
memungkinkan munculnya proses-proses detilnya.
DFD terdiri dari simbol-simbol sebagai berikut :
Simbol
Keterangan
Proses adalah sesuatu untuk mengubah input dan
output. Proses dapat digambarkan dengan sebuah
lingkaran, sebuah persegi panjang horizontal, atau
sebuah persegi panjang tegak bersudut melingkar.
Setiap simbol proses diidentifikasikan dengan
label. Teknik pembuatan label yang paling umum
adalah dengan menggunakan kata kerja atau
obyek, tetapi juga dapat menggunakan sistem atau
program komputer.
Aliran
data
terdiri dari sekelompok unsur-unsur
data yang
berhubungan secara logis, yang
bergerak dari satu titik atau proses ke titik atau
proses yang lain. Simbol panah dapat
digambarkan sebagai garis lurus atau lengkung.
Aliran data menggambarkan perpindahan
informasi dari satu bagian ke bagian lain dari
sistem. Awal panah menggambarkan asal data
sedangkan arah panah menggambarkan tujuan.
Penyimpanan data
(data store) adalah suatu
tempat penyimpanan
data. Proses dapat
memasukkan atau mengambil data dari data store.
Tabel 2.2 Tabel Simbol DFD
  
65
Terminator
(external entities) digunakan untuk
menyatakan unsure-unsur lingkungan yang
menunjukkan titik-titik dimana sistem berakhir,
dan dapat berupa orang, organisasi, dan sistem
lain yang memiliki antarmuka dengan sistem.
2.1.12
State Transition Diagram (STD)
Menurut Pressman (2001, p317-318), Behavioral modelling
adalah sebuah prinsip operasional yang membutuhkan semua kebutuhan
metode analisis. State Transition Diagram (STD) merepresentasikan
kelakuan dari sistem dengan menggambarkan state dan event yang
menyebabkan sistem merubah state. Sebagai tambahan, STD
mengindikasikan aksi apa yang diambil sebagai akibat dari event
tertentu.
Menurut Marakas (2006, p135), State transition diagram
menggambarkan bermacam-macam keadaan sebuah komponen sistem
yang terdapat dalam relasi pada kejadian-kejadian atau kondisi-kondisi
yang menyebabkan sebuah perubahan dari sebuah keadaan ke keadaan
lainnya.
State Transition Diagram
(STD) merupakan suatu tools
permodelan yang menggambarkan sifat ketergantungan pada waktu dari
suatu sistem. Adapun simbol yang digunakan adalah sebagai berikut :
Gambar 2.8 State / keadaan (Marakas, 2006, p136)
  
66
Ada dua jenis state yaitu State Awal (Initial State) dan State Akhir
(Final State). Initial State
hanya diperbolehkan satu saja, sedangkan
Final State dapat lebih dari satu. Dikatakan Final State
jika tidak ada
perubahan keadaan dari keadaan tersebut ke keadaan lainnya. Akan
tetapi, jika masih ada dan Final State-nya hanya satu, maka akan terjadi
looping terus menerus tanpa pernah berhenti.
Notasi lainnya ialah transisi state / perubahan state. Setiap panah
diberikan label yang menunjukkan kejadian (event) yang akan
menyebabkan perubahan dari satu state ke state lainnya. 
Label tersebut adalah kondisi dan aksi. Kondisi adalah sebuah
sinyal yang menyebabkan perubahan terhadap state dari state
satu ke
state berikutnya. Aksi adalah sesuatu yang dilakukan sistem bila terjadi
perubahan state atau merupakan reaksi terhadap kondisi.
Gambar 2.9 
Perubahan state / keadaan (Marakas, 2006, p136)
Ada 2 (dua) cara pendekatan dalam membuat State Transition Diagram
yaitu :
a.
Identifikasi setiap kemungkinan state
dari sistem dan gambarkan
masing-masing pada sebuah kotak, lalu buatlah hubungan antar
state tersebut.
b.
Mulai dengan state pertama dan dilanjutkan dengan state berikutnya
sesuai dengan aliran yang diinginkan.
Berdasarkan pengertian-pengertian di atas, State Transition
Diagram
merupakan suatu diagram yang menggambarkan kelakuan
  
67
dari sebuah sistem melalui state dan event, yang menunjukkan adanya
perubahan sebagai indikasi terhadap aksi yang dilakukan akibat event
tertentu.
2.1.13
Interaksi Manusia dan Komputer (IMK)
Menurut Shneiderman (2010, p22-23), Interaksi Manusia dan
Komputer (IMK) atau Human-Computer Interaction (HCI) adalah
disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia,
serta studi fenomena-fenomena besar yang berhubungan dengannya.
Fokus dari IMK adalah perancangan dan evaluasi antarmuka
pemakai (user interface). User interface adalah bagian sistem komputer
yang memungkinkan manusia berinteraksi dengan komputer.  
2.1.14
Program Interaktif
Menurut Shneiderman (2010, p32), Ada lima kriteria yang harus
dimiliki oleh suatu program sehingga dapat berinteraksi dengan baik
dan bersifat user friendly, yaitu :
1.
Memiliki waktu belajar yang relatif singkat.
2.
Mampu memberikan informasi yang diperlukan dengan cepat.
3.
Mudah untuk dioperasikan oleh user.
Gambar 2.10 Fokus IMK
  
68
4.
Kemudahan untuk mengingat program tersebut walaupun telah lama
tidak mengoperasikannya.
5.
Kepuasan pribadi.
2.1.15
Eight Golden Rules
Menurut Shneiderman (2010, p88-89), Ada delapan aturan emas
dalam perancangan sistem interaksi antara manusia dan komputer yang
baik, yaitu sebagai berikut : 
a.
Berusaha untuk konsisten
Aturan ini adalah aturan yang paling sering dilanggar, karena
aturan ini memiliki banyak bentuk konsistensi dan rumit. Semua
urutan tindakan harus konsisten dalam situasi yang sama, seperti
pemakaian istilah, warna, tampilan, dan jenis huruf yang sama. 
b.
Memenuhi kegunaan yang universal
Mengenali kebutuhan pengguna yang beragam dan kejelasan
dari desain, memfasilitasi perubahan konten. Pemula sampai
tingkat ahli, rentang usia, keterbatasan fisik, dan keragaman
teknologi yang memperkaya spektrum kebutuhan yang mendasari
desain. Menambahkan fitur bagi pemula,
seperti penjelasan, dan
fitur untuk tingkat ahli seperti jalan pintas atau shortcut dan aksi
balik lebih cepat sehingga dapat memperkaya desain antarmuka
dan meningkatkan kualitas sistem.
  
69
c.
Memberikan umpan balik yang informatif
Memberikan respon yang sesuai dengan aksi yang dilakukan
pengguna, sehingga dapat membantu pengguna untuk mengerti
sistem yang telah dibuat dalam suatu aplikasi
dan tidak tersesat
dalam pencarian informasi.
d.
Merancang dialog yang menjelaskan keadaan akhir
Urutan aksi harus diatur menjadi bagian awal, tengah, dan
akhir. Hal ini
dilakukan agar pengguna mengetahui bahwa
sekelompok tindakan telah dilakukan sehingga memberikan
kepuasan pada pengguna dan memberikan kesiapan untuk
melakukan tindakan selanjutnya.
e.
Memberikan pencegahan kesalahan 
Sistem harus dirancang sedemikian rupa agar tidak membuat
kesalahan yang serius. Jika terjadi kesalahan, sistem harus
mendeteksi dan menawarkan mekanisme penanganan yang
sederhana dan mudah dimengerti.
f.
Memungkinkan pembalikan aksi yang mudah
Sedapat mungkin, suatu aksi harus bisa dibalik untuk
mengurangi kegelisahan dari pengguna jika dia menjelajah ke
bagian yang tidak dikenal. Hal ini dapat mengurangi kegelisahan
pengguna, karena kesalahan yang dilakukan oleh pengguna dapat
diperbaki.
g.
Mendukung pusat kendali internal
Pengguna harus merasa menguasai sistem dan sistem bekerja
sesuai dengan keinginannya. Kesulitan memperoleh informasi
  
70
yang penting atau informasi yang diinginkan akan memberikan
ketidakpuasan bagi pengguna.
h.
Mengurangi beban ingatan jangka pendek
Manusia memiliki ingatan yang terbatas,
oleh karena itu
aplikasi harus dibuat sedemikian rupa agar pengguna tidak terlalu
banyak menyimpan memori.
2.1.16
VB.NET
Menurut Deitel (2001, p7-8),
Visual Basic. NET berevolusi dari
BASIC (Beginner’s All-Purpose Symbolic Instruction Code),
dikembangkan pada pertengahan 1960-an oleh Profesor John Kemeny
dan Thomas Kurtz dari Dartmouth College sebagai bahasa untuk
menulis program sederhana.
Pada awal didirikannya Microsoft
Corporation oleh Bill Gates, ia
mulai
menerapkan BASIC pada
beberapa komputer pribadi. Seiring dengan
pengembangan antarmuka
pengguna pada GUI dari Microsoft Windows di akhir tahun 1980 dan
awal 1990-an, evolusi BASIC adalah Visual Basic, yang diperkenalkan
Microsoft pada tahun 1991.
Adanya kemajuan alat pemrograman dan perangkat elektronik
menciptakan banyak tantangan, sehingga para pengembang menyadari
bahwa klien mereka tidak hanya dibatasi pada aplikasi desktop
dan
kebutuhan komponen untuk berinteraksi melalui internet pun meningkat
secara dramatis.
Untuk mengatasi kebutuhan ini, Microsoft mengumumkan
pengenalan Microsoft. NET (Diucapkan "dot-net") strategi pada tahun
  
71
2000. Platform. NET adalah salah satu dari yang berbasis Web aplikasi
dapat didistribusikan ke berbagai perangkat (seperti ponsel) dan ke
desktop
komputer. Platform .NET menawarkan model pemrograman
baru yang memungkinkan program yang dibuat dalam bahasa
pemrograman yang berbeda untuk berkomunikasi satu sama lain. Selain
itu, dengan adanya .NET yang sangat penting untuk strategi Microsoft
.NET, pengembang juga dapat bermigrasi dari Visual Basic dengan
lebih mudah.
Visual Basic .NET yang dikenal sebagai VB.NET adalah suatu
bahasa pemrograman komputer berorientasi objek yang
diimplementasikan pada Framework .NET. 
Microsoft telah merancang versi Visual Basic untuk .NET dengan
kemampuan berorientasi obyek, dimana pada versi Visual Basic
sebelumnya tidak ada. Visual Basic .NET menawarkan orientasi objek
yang ditingkatkan sehingga memungkinkan programmer
untuk
mengembangkan aplikasi dengan lebih cepat. 
Visual Basic. NET merupakan event-driven, bahasa pemrograman
visual dimana program yang dibuat menggunakan Integrated
Development Environment
(IDE). Dengan IDE, programmer dapat
menulis, jalankan, menguji dan men-debug program Visual Basic
nyaman, sehingga mengurangi waktu yang dibutuhkan untuk
menghasilkan program kerja untuk sebagian kecil dari waktu itu akan
diambil tanpa menggunakan IDE.
Visual Basic. NET juga memungkinkan adanya peningkatan
bahasa interoperability
yaitu komponen software
dari bahasa yang
  
72
berbeda dapat
berinteraksi dengan yang belum pernah sebelumnya.
Di
samping itu, VB.NET juga memungkinkan pengguna untuk berinteraksi
melalui internet, dengan menggunakan standar industry seperti Simple
Object Access Protocol
(SOAP) dan XML. Dengan adanya kemajuan
tersebut, gaya pemrograman baru akan muncul dimana aplikasi yang
dibuat dari komponen yang disebut Web Services
tersedia melalui
internet.
2.2
Teori Khusus
2.2.1
Teori Pembelian
Menurut Render (2001, p414) dalam Wawan Saputra pada Jurnal
ComTech Volume 1, Pembelian adalah perolehan
barang dan jasa.
Secara umum, Pembelian adalah suatu usaha pengadaan barang atau
jasa dengan tujuan yang akan digunakan untuk kebutuhan sendiri, untuk
kepentingan proses produksi, maupun untuk dijual kembali.
Menurut Mulyadi (2001, p299), Pembelian didefinisikan sebagai
suatu usaha yang digunakan oleh perusahaan dalam pengadaan barang
yang diperlukan oleh perusahaan.
Menurut McLeod (2004, p248) dalam Hendra Alianto pada Jurnal
ComTech Volume 2, Sistem pembelian terjadi dipicu dari adanya
transaksi penjualan yang terjadi secara operasional pada perusahaan dan
sebelum inventory tersebut persediaannya habis atau mencapai batas
persediaan kembali maka bagian pembelian harus men-stock
kembali
persediaannya.
Bagian pembelian memiliki tanggung jawab memilih
pemasok yang mana yang akan bekerja sama dalam pengisian kembali
  
73
persediaan dan merundingkan pengaturannya seperti harga dan tanggal
pengiriman. Setelah memutuskan pemasok yang akan menyediakan
inventory, bagian pembelian akan membuat data pembelian yang akan
diberikan kepada pihak pemasok untuk dipenuhi dan barang pesanan
pembelian inventory diterima perusahaan.
Berdasarkan
pengertian-pengertian di atas, Pembelian adalah
suatu kegiatan untuk memperoleh barang atau jasa yang muncul karena
adanya transaksi penjualan.
Tujuan pembelian menurut Render (2001, p414)
dalam
Wawan
Saputra pada Jurnal ComTech Volume 1 adalah :
Membantu identifikasi produk dan jasa yang dapat diperoleh secara
eksternal
Mengembangkan, mengevaluasi dan menentukan pemasok, harga
dan pengiriman yang terbaik bagi barang dan jasa tersebut.
Menurut Jones dan Rama (2003, p18) dalam Purwoko pada Jurnal
CommIT Volume 4, Tahap-tahap dalam siklus proses transaksi sistem
informasi akuntansi pembelian adalah :
a.
Melakukan konsultasi dengan pemasok. 
Sebelum melakukan pembelian, perusahaan menghubungi beberapa
pemasok terlebih dahulu untuk mendapat pemahaman tentang
barang dan jasa yang tersedia, dan juga harganya.
b.
Proses permintaan.
Pertama-tama karyawan mempersiapkan dokumen permintaan
barang / jasa dan disahkan oleh supervisor.
  
74
c.
Mengadakan perjanjian dengan pemasok untuk pembelian barang
atau jasa di masa depan.
Perjanjian ini mencakup pembelian pesanan dan kontrak dengan
pemasok.
d.
Penerimaan barang atau jasa dari pemasok.
Perusahaan harus memastikan bahwa barang yang diterima benar
dan dalam kondisi yang baik.
e.
Mengenali klaim penerimaan untuk barang dan jasa.
Jika
bon tersebut benar, maka Departemen Pembayaran dapat
mencatat tagihan tersebut.
f.
Memilih catatan tagihan untuk pembayaran.
Biasanya perusahaan melakukan aktivitas ini setiap bulannya.
g.
Menulis cek.
Setelah catatan tagihan dipilih, cek ditulis, ditandatangani dan
dikirim oleh pemasok.
2.2.2
Teori Penjualan
Penjualan adalah suatu aktivitas perusahaan yang paling utama
dan penting dalam memperoleh pendapatan, baik untuk perusahaan
besar maupun perusahaan kecil. Penjualan juga merupakan sasaran
akhir dari kegiatan pemasaran. Pada bagian ini terjadi penetapan harga
melalui perundingan dan perjanjian serah terima barang, cara
pembayaran yang disepakati oleh kedua pihak, sehingga tercipta suatu
titik kepuasan.
  
75
Menurut Mulyadi (2001, p202), Penjualan merupakan suatu
transaksi dari pelanggan ke perusahaan, yang melibatkan sumber daya
dalam suatu perusahaan, prosedur, data serta sarana pendukung untuk
mengoperasikan sistem penjualan itu sendiri sehingga menghasilkan
informasi yang bermanfaat bagi pihak manajemen dalam pengambilan
keputusan.
Menurut Mulyadi (2001, p204), Kegiatan penjualan terdiri dari
transaksi penjualan barang atau jasa, baik secara kredit maupun secara
tunai. Menurut Mulyadi (2001, p474), Transaksi penjualan ada dua
jenis, yaitu :
1.
Penjualan secara Tunai
Dalam penjualan secara tunai, barang atau jasa akan diserahkan oleh
perusahaan kepada pembeli jika perusahaan telah menerima kas dari
pembeli. Kegiatan penjualan secara tunai ini ditangani oleh
perusahaan melalui sistem penjualan tunai. 
2.
Penjualan secara Kredit
Penjualan kredit dilakukan jika order dari pelanggan telah dipenuhi
dengan pengiriman barang atau penyerahan jasa dan untuk jangka
waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
Kegiatan penjualan secara kredit ini ditangani oleh perusahaan
melalui sistem penjualan kredit.
2.2.3
Teori Persediaan
Menurut Assauri (1998 : 176) dalam Purwoko pada Jurnal
CommIT Volume 4, Persediaan adalah sejumlah bahan-bahan, parts-
  
76
parts yang disediakan dan bahan-bahan dalam proses yang terdapat
dalam perusahaan untuk proses produksi, serta barang-barang jadi /
produk yang disediakan untuk memenuhi permintaan dari konsumen /
pelanggan setiap waktu.
Menurut Niswonger, Warren, Reeve, dan Fess (2002 : 350) dalam
Suryanto, dkk
pada Jurnal CommIT Volume 3, “Inventory is
merchandise held for sell in the normal course of business and
materials in the process of production or held for production”. Secara
garis besar, dapat diartikan bahwa persediaan digunakan untuk
menjelaskan :
1.
Barang-barang yang disimpan untuk penjualan dalam proses bisnis.
2.
Bahan baku dalam proses produksi yang disimpan serta digunakan
untuk keperluan produksi.
Menurut Handoko (1999, p393)  dalam Suryanto, dkk pada Jurnal
CommIT Volume 3, Persediaan (inventory) adalah suatu istilah umum
yang menunjukkan segala sesuatu atau sumber daya organisasi yang
disimpan dalam antisipasinya terhadap pemenuhan permintaan.
Berdasarkan pengertian-pengertian di atas, maka persediaan dapat
diartikan sebagai bahan baku yang dapat berupa barang atau jasa, yang
dibeli oleh suatu perusahaan dan digunakan untuk melakukan proses
produksi, dijual kembali
untuk memenuhi permintaan pelanggan,
maupun habis dipakai oleh perusahaan.
Menurut McLeod (2001, p475) dalam Wawan Saputra pada Jurnal
ComTech Volume 1, Pendekatan yang paling sederhana dalam
mengendalikan persediaan adalah pendekatan reaktif, yaitu menunggu
  
77
hingga saldo suatu jenis barang mencapai tingkat tertentu dan kemudian
memicu pemesanan pembelian atau suatu proses produksi. Tingkat
barang yang berfungsi sebagai pemicu disebut titik pemesanan kembali
(reorder point
ROP) dan sistem yang mendasarkan keputusan
pembelian pada titik pemesanan kembali disebut sistem titik pemesanan
kembali. Jika perusahaan dalam kondisi kehabisan persediaan (stock
out), perusahaan mengantisipasi keadaan itu dan melakukan pemesanan
kepada pemasok ketika saldo mencapai titik pemesanan kembali.
Jumlah waktu yang dibutuhkan pemasok untuk mengisi pesanan disebut
leadtime. Sebagai ukuran berjaga-jaga maka disediakan sejumlah
persediaan yang disebut safety stock, tetapi biasanya perusahaan
berusaha untuk tidak menggunakan safety stock-nya, tetapi disediakan
untuk berjaga-jaga.
Menurut Handoko (1999, p334-335) dalam Suryanto, dkk
pada
Jurnal CommIT Volume 3, Persediaan dibedakan menurut jenis dan
posisi barang tersebut dalam urutan pengerjaan produk  yaitu : 
1.
Persediaan bahan baku
(raw material stock), yaitu persediaan
barang-barang berwujud yang digunakan dalam proses produksi.
Barang tersebut diperoleh dari sumber-sumber alam ataupun dibeli
dari pemasok atau perusahaan lain. Contohnya adalah baja, kayu,
dan lain-lain.
2.
Persediaan komponen-komponen rakitan
(purchased
parts/components
stock), yaitu persediaan yang terdiri dari
komponen-komponen, yang diperoleh dari perusahaan lain yang
langsung dapat dirakit menjadi sesuatu produk.
  
78
3.
Persediaan barang pembantu
/ barang perlengkapan
(supplies
stock), yaitu persediaan yang diperlukan dalam proses produksi
untuk membantu proses produksi, tetapi tidak merupakan bagian
atau komponen barang jadi.
4.
Persediaan barang setengah jadi atau barang dalam proses
(work
in progress
/
progress stock), yaitu persediaan yang
merupakan keluaran dari bagian dalam proses produksi yang telah
diolah menjadi suatu bentuk, tetapi masih perlu diproses lebih lanjut
menjadi barang jadi.
5.
Persediaan barang jadi (finish goods stock), yaitu persediaan yang
telah selesai diproses atau diolah dalam pabrik dan siap untuk
dipasarkan.