7
BAB 2
LANDASAN TEORI
2.1 Teori-teori Umum
2.1.1 Pengertian Data dan Sistem
Menurut Hoffer (2005, p5), data adalah fakta, atau bagian dari fakta
yang mengandung arti, yang dihubungkan dengan kenyataan, simbol-simbol,
gambar-gambar, kata-kata, angka-angka, huruf-huruf, atau simbol-simbol
yang menunjukkan suatu ide, objek, kondisi, atau situasi dan lain-lain. Data
adalah representasi objek yang disimpan dan kejadian-kejadian yang memiliki
maksud dan penting bagi user sedangkan menurut McLeod dan Schell (2004,
p9), data terdiri dari fakta-fakta dan simbol-simbol yang secara umum kurang
berguna dikarenakan jumlahnya yang besar dan sifatnya yang kasar atau
belum diolah. Menurut Whitten, Bentley dan Dittman (2004,p27), data adalah
fakta mentah tentang orang, tempat, kejadian, dan barang yang sangat penting
dalam organisasi.
Definisi Sistem menurut Connolly dan Begg (2010, p266), adalah cara
untuk menjelaskan ruang lingkup dan batas-batas dari sistem database dan
pandangan pengguna utama dan menurut James A.O’Brien (2002, p8), sistem
adalah sekumpulan komponen yang saling bekerja sama untuk mencapai
sasaran dengan menerima input dan menghasilkan output dalam sebuah proses
transformasi yang teroganisir.
8
2.1.2 Pengertian Basis Data
Menurut Connolly dan Begg (2010, p15), basis data yaitu kumpulan
berbagai data secara logis terkait dan deskripsi, yang dirancang untuk
memenuhi kebutuhan informasi dari suatu organisasi sedangkan definisi basis
data menurut Elmasri (2004, p4), adalah kumpulan dari relasi-relasi data.
Dengan data kita dapat mengetahui fakta yang di-record dan memiliki arti
lengkap.
2.1.3 Database Management System (DBMS)
Definisi Database Management System menurut Connolly (2010, p16),
adalah sistem perangkat lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, memelihara, dan kontrol akses ke database.
1. Komponen-komponen dalam lingkungan DBMS
Menurut Connolly dan Begg (2010, p18) DBMS memiliki 5
komponen, yaitu :
a. Hardware
Aplkasi DBMS memerlukan hardware untuk menjalankan prosesnya,
hardware tersebut bisa berupa satu unit komputer, satu unit
mainframe, hingga satu jaringan komputer.
b. Software
Komponen software terdiri dari software itu sendiri dan program-
program aplikasi, bersama-sama dengan sistem operasi, termasuk
software jaringan jika DBMS digunakan melalui sebuah jaringan.
9
c. Data
Data berfungsi sebagai sebuah jembatan, karena menghubungkan
komponen-komponen mesin (hardware dan software) dengan
komponen-komponen manusia (procedure dan people)
d. Procedure
Procedure merupakan instruksi dan aturan yang digunakan untuk
merancang dan menggunakan suatu database.
e. People
User yang terlibat dalam lingkungan DBMS adalah data dan database
administrators, database designers, application developers, dan end
users.
2. Fasilitas-fasilitas DBMS
Menurut Connolly dan Begg (2010, p16), fasilitas-fasilitas dalam
DBMS adalah sebagai berikut ini :
a. Mendefinisikan basis data, biasanya menggunakan suatu Data
Definition Language (DDL) yang berguna untuk memberikan fasilitas
kepada pengguna untuk mendeklarasikan tipe data, struktur dan isi
data yang disimpan ke dalam basis data tersebut.
b. Memperbolehkan pengguna untuk menambah data, mengubah data,
menghapus data, dan menemukan data. Dengan menggunakan suatu
Data Manipulation Language (DML) biasanya ada suatu fasilitas
untuk melayani pengaksesan data yang disebut sebagai Query
Language. Bahasa query yang paling sering diakui adalah Query
10
Language (SQL), yang secara de facto merupakan standar bagi
DBMS.
c. Menyediakan pengendalian akses ke dalam basis data. Contohnya :
1) Sistem keamanan, yang mencegah user asing untuk mengakses
basis data.
2) Sistem integritas, yang memelihara konsistensi dari data yang
tersimpan.
3) Sistem pengawasan konkurensi, yang memungkinkan akses secara
bersamaan dalam basis data.
4) Sistem pengawasan pemulihan, yang memungkinkan basis data
menyimpan ke kedudukan konsisten sebelumnya saat terjadi
kesalahan pada perangkat lunak atau perangkat keras.
5) Katalog akses user, yang berisikan deskripsikan dari data di dalam
basis data tersebut.
3. Data Definition Language (DDL)
Definisi dari Data Definition Language menurut Connolly dan
Begg (2010, p42), adalah suatu bahasa yang memperbolehkan Database
Administrator (DBA) atau pengguna untuk mendefinisikan entitas,
atribut, dan hubungan yang dibutuhkan oleh suatu aplikasi serta
menambahkan fungsi-fungsi khusus untuk mempermudah atau
meningkatkan keamanan data.
DDL digunakan digunakan untuk mendefinisikan basis data, tabel,
dan view.
11
a. Create Table
Pernyataan create table, digunakan untuk membuat tabel dengan
mengidentifikasikan tipe data untuk tiap kolom. Bentuk umum :
CREATE TABLE table_name
(Column_name DataType [NULL | NOT NULL]
[, Column_name DataType [NULL | NOT NULL]]...)
b. Alter Table
Pernyataan alter table digunakan untuk menambah atau membuang
kolom dan konstrain. Bentuk umum :
ALTER TABLE table_name
[ADD Column_name DataType [NULL | NOT NULL]]
[DROP Column_name DataType [RESTRICT | CASCADE]]
[ADD Constraint_name]
[DROP Constraint_name [RESTRICT | CASCADE]]
c. Drop Table
Pernyataan drop table digunakan untuk membuang/menghapus table
beserta semya data yang terkait didalamnya. Bentuk umum :
DROP TABLE table_name
d. Create Index
Pernyataan create index digunakan untuk membuat index pada suatu
tabel. Bentuk umum :
CREATE UNION [UNIQUE] INDEX index_name
ON table_name (column_name [, column_name]...)
12
e. Drop Index
Pernyataan drop index digunakan untuk membuang atau menghapus
index yang telah dibuat sebelumnya. Bentuk umum :
DROP INDEX index_name
4. Data Manipulation Language (DML)
Data Manipulation Language menurut Connolly dan Begg (2010,
p42), adalah suatu bahasa yang melakukan operasi-operasi standar pada
data yang ada di dalam basis data.
Pengoperasian data yang akan dimanipulasi biasanya meliputi :
a. Select
Pernyataan select digunakan untuk menampilkan sebagian atau
seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari
beberapa tabel. Bentuk umum :
SELECT Fields
FROM Table_name
WHERE Condition
b. Update
Pernyataan update digunakan untuk mengubah isi satu atau beberapa
atribut dari suatu tabel. Bentuk umum :
UPDATE Table_name
SET column1 = value1, column1 = value2, ...
WHERE Condition
13
c. Insert
Pernyataan insert digunakan untuk menambah satu atau beberapa
baris nilai baru ke dalam suatu tabel. Bentuk umum :
INSERT Table_name (Column list) VALUES (value list)
d. Delete
Pernyataan delete digunakan untuk menghapus sebagian/seluruh isi
dari suatu tabel. Bentuk umum :
DELETE FROM Table_name
WHERE Condition
5. Perancangan Basis Data
Menurut Connolly dan Begg (2010s, p270), Database Design
adalah proses membuat perancangan database yang mendukung operasi
dan objektivitas perusahaan.
Terdapat empat pendekatan yang dapat digunakan untuk merancan g
basis data, yaitu :
1. Bottom up Approach
Pendekatan Bottom Up dimulai dari atribut awal (entity dan
relationship) yang dianalisa asosiasi antar atribut, kemudian dibentuk
relation yang mewakili tipe dari entity dan relationship antar entity.
Pendekatan ini sesuai untuk perancangan database yang sederhana
dengan jumlah atribut sedikit.
14
2. Top down Approach
Pendekatan Top Down dimulai dengan pengembangan data model
yang terdiri dari sedikit atau banyak entity dan relationship, kemudian
melakukan perbaikan top down untuk mengidentifikasikan lower-level
entity, relationship, dan asosiasi antar atribut. Pendekatan ini
digambarkan dengan entity relationship (ER) model, yang dimulai dari
identifikasi entity dan relationship antar entity.
3. Inside-Out Approach
Pendekatan Inside-Out mirip seperti Bottom-Up. Perbedaaannya
adalah pada tahap awal mengidentifikasikan major entity, lalu
menguraikannya menjadi entity relasi-relasi dan atribut-atribut yang
berhubungan dengan major entity.
4. Mixed
Menggunakan Pendekatan Bottom-Up dan Top-Down.
2.1.4 Database System Development Lifecycle
Database System Development Lifecycle merupakan komponen yang
penting dalam sistem basis data karena aplikasi dari database lifecycle
berkaitan dengan sistem informasi yang ada (Connolly dan Begg, 2010,
p262).
15
Langkah-Langkah dari Database System Development Lifecycle :
Gambar 2.1 Tahapan siklus hidup aplikasi basis data
(Sumber : Connolly, 2010, p264)
Database planning
System definition
Requirement collection
Conceptual database design
Logical database design
Logical database design
Application design DBMS selection (optional)
Prototyping (optional)
Implementation
Data conversion and loading
Testing
Operational maintenance
Database design
Conceptual database design
Logical database design
Physical database design
16
A. Database Planning (Perencanaan Basis Data)
Tujuan dari database planning adalah Kegiatan manajemen yang
memungkinkan tahapan dari pengembangan siklus hidup sistem database
untuk direalisasikan seefisien dan seefektif mungkin (Connolly dan Begg,
2010, p263).
Database planning harus diintegrasikan dengan keseluruhan
strategi sistem informasi berikutnya. Ada 3 hal penting dalam menyusun
sebuah strategi sistem informasi, yaitu :
1. Identifikasi dari tujuan dan rencana perusahaan dengan penentuan
kebutuhan sistem informasi berikutnya.
2. Evaluasi dari sistem informasi saat ini untuk menentukan kelebihan
dan kelemahan yang ada saat ini.
3. Penilaian dari kesempatan-kesempatan TI yang mungkin menghasilkan
keuntungan komprehensif. Langkah penting dari tahap ini adalah
mendefinisikan secara jelas tentang pernyataan misi untuk proyek
basis data. Pernyataan tersebut mendefinisikan tujuan utama dari
aplikasi basis data. Bila pernyataan tersebut selesai maka langkah
selanjutnya adalah mengidentifikasikan sasarannya. Pernyataan dan
sasaran ini perlu didukung oleh informasi-informasi tambahan yang
menentukan pekerjaan yang harus diselesaikan, sumber-sumber yang
mendukungnya, dan biaya yang harus dikeluarkan.
B. System Definition (Definisi Sistem)
System Definition menjelaskan ruang lingkup dan batas-batas dari
sistem basis data dan pandangan pengguna utama (Connolly dan Begg,
17
2010, p266). Sebelum merancang aplikasi basis data,maka harus
mengidentifikasikan batasan dari sistem dan bagaimana sistem tersebut
berinteraksi dengan bagian lain dari informasi perusahaan. User view
menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari sudut
pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari
sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia,
atau pengawasan persediaan, dalam hubungannya dengan data yang akan
disimpan dan transaksi yang akan dijalankan terhadap data itu (Connolly
dan Begg, 2010, p266).
C. Requirement Collection and Analysis (Pengumpulan dan Analisis
Kebutuhan)
Pengumpulan dan analisis kebutuhan adalah Proses mengumpulkan
informasi menganalisis tentang bagian dari organisasi yang harus
didukung oleh sistem basis data, dan menggunakan informasi ini untuk
mengidentifikasi persyaratan untuk sistem baru. (Connolly dan Begg,
2010, p266). Informasi yang dikumpulkan termasuk :
1. Penjabaran dari data yang digunakan
2. Detail mengenai bagaimana data digunakan
3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru.
Informasi ini kemudian dianalisis untuk mengidentifikasikan
kebutuhan yang dimasukkan untuk aplikasi basis data yang baru
tersebut.
Ada 3 macam pendekatan untuk mengatur kebutuhan dari sebuah
aplikasi basis data dengan berbagai pandangan pemakai, yaitu :
18
1. Pendekatan Centralized
Kebutuhan untuk tiap pandangan pemakai disatukan menjadi satu set
kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai
jika basis datanya tidak terlalu kompleks.
2. Pendekatan View Integration
Kebutuhan untuk tiap pandangan pemakai digunakan untuk
membangun sebuah model data yang terpisah yang merepresentasikan
tiap pandangan pemakai tersebut. Hasil dari data-data model tersebut
kemudian disatukan di bagian desain basis data.
3. Kombinasi keduanya
Dalam pengumpulan data informasi ini, ada beberapa teknik dan
salah satunya adalah fact-finding technique. Teknik fact-finding adalah
suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara
atau kuisioner untuk mengumpulkan fakta-fakta tentang sistem dan
kebutuhan-kebutuhannya (Connolly dan Begg, 2010, p291). Ada lima
kegiatan yang dipakai dalam kegiatan ini, yaitu :
1. Memeriksa dokumentasi dan formulir
Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan
memeriksa dokumen-dokumen, formulir, laporan, dan file yang
berhubungan dengan sistem yang sedang berjalan.
2. Wawancara
Bertujuan untuk mengumpulkan fakta-fakta, memeriksa kebenaran
fakta yang ada dan mengklarifikasikannya, membangkitkan semangat,
melibatkan pengguna akhir, mengidentifikasi kebutuhan-kebutuhan,
19
dan mengumpulkan ide-ide dan pendapat (Connolly dan Begg, 2010,
p295). Teknik ini memerlukan kemampuan komunikasi yang baik
untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat,
motivasi, dan kepribadian yang berbeda-beda.
3. Mengamati operasional perusahaan
Memungkinkan untuk ikut serta atau mengamati seseorang dalam
melakukan kegiatan untuk mempelajari sistem. Salah satu faktor
pengamatan dapat berhasil adalah dengan mencari informasi sebanyak
mungkin tentang aktivitas-aktivitas yang akan diamati serta orang yang
melakukan aktivitas tersebut.
4. Penelitian
Jurnal komputer, buku-buku referensi, dan internet merupakan sumber
informasi yang baik yang menyediakan informasi bagaimana orang
lain memecahkan masalah yang serupa.
5. Kuisioner
Kuisioner adalah suatu dokumen dengan tujuan khusus yang
memungkinkan fakta-fakta dikumpulkan dari banyak orang sambil
menjaga kontrol terhadap tanggapan yang diberikan (Connolly dan
Begg, 2010, p296).
D. Database Design (Perancangan Basis Data)
Perancangan basis data adalah suatu proses menciptakan desain
yang akan mendukung pernyataan misi perusahaan dan tujuan misi untuk
sistem database yang diperlukan. (Connolly dan Begg, 2010, p270).
20
3 Kegunaan dari data berdasarkan pandangan pemakai. Kriteria
untuk model data, yaitu :
1. Structural validity
Konsistensi dengan cara yang didefinisikan perusahaan dan menyusun
informasi.
2. Simplicity
Kemudahan untuk pemahaman baik bagi yang profesional di bidang
sistem informasi maupun pemakaian non-teknis
3. Expressibility
Kemampuan untuk membedakan antara data yang berbeda dan
hubungan antar data.
4. Nonredudancy
Penghapusan informasi yang tak ada hubungannya, khususnya
representasi dari tiap potongan informasi tepatnya hanya sekali.
Dalam database design terdapat tiga fase utama, yaitu perancangan
konseptual (Conceptual Database Design), perancangan logikal (Logical
Database Design), dana perancangan fisik (Physical Database Design).
1. Perancangan Basis Data Konseptual (Conceptual Database
Design)
Perancangan basis data konseptual adalah proses membangun
suatu model data yang digunakan dalam suatu perusahaan, independen
dari semua pertimbangan fisik. (Connolly dan Begg, 2010, p272).
Tujuan dari perancangan basis data konseptual adalah untuk
membangun sebuah model data konseptual dari persyaratan data dari
21
perusahaan. (Connolly dan Begg, 2010, p420). Conceptual Database
Design secara keseluruhan terbebas dari detil penerapannya, seperti
Database Management System (DBMS) software, aplikasi program,
programming language, hardware platform atau pertimbangan fisik
lainnya. Tahapan yang dilakukan dalam conceptual database design
adalah membangun model data konseptual lokal untuk setiap view,
yang dapat diuraikan sebagai berikut :
a) Mengidentifikasi jenis entitas
b) Mengidentifikasi jenis hubungan
c) Mengidentifikasi dan asosiasi atribut dengan jenis entitas atau
hubungan
d) Menentukan domain atribut
e) Menentukan kandidat, primer, dan atribut kunci alternatif
f) Pertimbangkan penggunaan konsep-konsep pemodelan ditingkatkan
g) Memeriksa model redundansi
h) Memvalidasi model data konseptual terhadap transaksi pengguna
i) Tinjauan konseptual data model dengan pengguna
2. Perancangan Basis Data Logikal (Logical Database Design)
Tujuan perancangan logikal basis data adalah untuk
menerjemahkan data model konseptual ke dalam model data logis dan
kemudian untuk memvalidasi model ini untuk memeriksa bahwa itu
secara struktural benar dan dapat mendukung transaksi yang
diperlukan. (Connolly dan Begg, 2010, p440). Logical database design
adalah Proses membangun suatu model data yang digunakan dalam
22
suatu perusahaan berdasarkan data model spesifik, tetapi independen
dari DBMS tertentu dan pertimbangan fisik lainnya. (Connolly dan
Begg, 2010, p273).
Tahapan yang dilakukan dalam logical database design adalah
sebagai berikut :
1) Menganalisis relasi untuk logical model data.
2) Validasi hubungan menggunakan normalisasi.
3) Validasi hubungan terhadap transaksi pengguna.
4) Mendefinisikan integrity constraint.
5) Review logical model data lokal dengan user.
6) Menggabungkan model data logikal ke dalam model data global
(option step).
7) Periksa untuk pertumbuhan masa depan.
3. Perancangan Basis Data Fisikal (Physical Database Design)
Perancangan basis data fisikal adalah proses memproduksi
deskripsi implementasi basis data pada penyimpanan sekunder; itu
menggambarkan basis relasi, organisasi file, dan indeks yang
digunakan untuk mencapai akses yang efisien ke data, dan setiap
kendala integritas terkait dan langkah-langkah keamanan. (Connolly
dan Begg, 2010, p274).
Tahapan yang dilakukan dalam physical database design adalah
sebagai berikut :
23
a. Menerjemahkan logical data model global untuk target DBMS ,
yang dapat diuraikan sebagai berikut :
1) Merancang relasi-relasi dasar
2) Merancang representasi dari data yang diturunkan
3) Merancang general constraint.
b. Merancang representasi physical, yang dapat diuraikan sebagai
berikut :
1) Menganalisa transaksi.
2) Memilih organisasi file
3) Memilih indeks-indeks
4) Memperkirakan kebutuhan disk space
c. Merancang user view yang telah didefinisikan selama tahapan
pengumpulan dan analisis kebutuhan dari relational database
application lifecycle.
d. Merancang mekanisme keamanan
Menentukan tingkat keamanan database berdasarkan spesifikasi
user.
e. Mempertimbangkan pengenalan dari kontrol redudansi,
yang dapat diuraikan sebagai berikut :
a) Menggabungkan relasi one-to-one (1:1).
b) Menduplikasikan atribut non-key dalam relasi one-to-many
(1:*) untuk mengurangi join.
c) Menduplikasikan atribut foreign key dalam relasi one-to-
many (1:*) untuk mengurangi join.
24
d) Menduplikasikan atribut-atribut dalam relasi many-to-many
(*:*) untuk mengurangi join.
e) Memperkenalkan repeating groups.
f) Menggabungkan lookup tables dengan base relations.
g) Membuat extract tables.
f. Memonitor dan menjalankan sistem operasional
Memonitor sistem operasional dan meningkatkan performa
sistem untuk memperbaiki keputusan rancangan yang tidak
sesuai.
E. DBMS Selection (Pemilihan Sistem Manajemen Basis Data)
Database Management System adalah sebuah sistem piranti lunak
yang memungkinkan pengguna untuk mendefinisikan, menciptakan,
memelihara, dan mengontrol akses ke basis data (Connolly dan Begg,
2010, p16).
Sebuah DBMS mencakup proses yang mendukung aplikasi basis
data, yaitu :
1. Mendefinisikan syarat-syarat referensi studi
Menentukan sasaran, batasan masalah, dan tugas yang harus
dilakukan.
2. Mendaftar 2 atau 3 jenis barang
Membuat daftar barang-barang, misalkan darimana barang ini didapat,
berapa biayanya, serta bagaimana bila ingin mendapatkannya.
25
3. Mengevaluasi barang
Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk
mengetahui kelebihan dan kekurangan barang tersebut.
4. Merekomendasikan pilihan dan membuat laporan
Merupakan langkah terakhir dari seleksi DBMS yaitu
mendokumentasikan proses dan untuk menyediakan pernyataan
mengenai simpulan dan rekomendasi terhadap salah satu prodik
DBMS.
Tahapan utama dalam memilih DBMS antara lain :
1. Mendefinisikan syarat-syarat sebagai referensi
2. Daftar singkat dua atau tiga produk
3. Evaluasi Produk
4. Merekomendasikan pilihan dan memproduksi laporan
F. Application Design (Perancangan Aplikasi)
Application Design adalah desain dari antarmuka pengguna dan
program aplikasi yang menggunakan dan memproses basis data
(Connolly dan Begg, 2010, p279). Bertujuan merancang antarmuka
pemakai (user interface) dan program aplikasi yang menggunakan dan
memproses basis data agar pemakai dapat menggunakan sistem tersebut
dengan baik dan mengurangi human error.
Dua aspek merancang aplikasi yaitu :
26
a. Perancangan Transaksi (Transaction Design)
Transaksi adalah aksi atau rangkaian aksi yang dilakukan oleh seorang
pengguna atau program aplikasi yang mengakses atau mengubah isi
dari basis data (Connolly dan Begg, 2010, p280).
b. Perancangan Antarmuka Pengguna (User Interface Design)
Elemen-elemen dalam merancang suatu antarmuka pengguna (user
interface) (Connolly dan Begg, 2010, p281) antara lain penetapan
judul yang bermakna, instruksi-instruksi yang dapat dipahami,
pengelompokkan logika dan pengurutan kolom, bentuk form yang
menarik secara visual, judul kolom yang dikenal, penggunaan istilah
dan singkatan yang konsisten, penggunaan warna yang konsisten,
ruang dan batasan yang terlihat untuk menginput kolom, pergerakkan
kursor yang mudah, perbaikan kesalahan untuk satu huruf dan semua
kolom, mencegah kesalahan, menampilkan pesan kesalahan terhadap
nilai yang tidak sesuai, pemberian tanda terhadap kolom yang berupa
pilihan (optional field), pesan-pesan yang bersifat penjelasan untuk
suatu kolom, pemberian tanda penyelesaian.
G. Prototyping (Prototipe)
Prototyping adalah proses membangun sebuah model kerja dari
aplikasi basis data (Connolly dan Begg, 2010, p283). Tujuan utama
prototyping adalah untuk memungkinkan pengguna menggunakan
prototype untuk mengidentifikasi fitur-fitur yang bekerja dengan baik
pada sistem, atau kekurangannya, dan memberikan saran bagi
27
peningkatan kerja sistem atau bahkan memberikan masukan terhadap
fitur-fitur kedalam aplikasi basis data.
Ada dua strategi prototyping yang sering digunakan saat ini, yaitu :
a. Requirement prototyping
Menggunakan sebuah prototype untuk menentukan kebutuhan dari
aplikasi basis data yang diusulkan dan ketika kebutuhan-kebutuhannya
sudah terpenuhi prototype tidak digunakan lagi atau dibuang.
b. Evoutionari Prototyping
Digunakan untuk tujuan yang sama. Tetapi pada prototyping jenis ini,
prototypenya tidak dibuang namun untuk selanjutnya akan
dikembangkan menjadi aplikasi basis data yang akan berjalan.
H. Implementation (Implementasi)
Implementation adalah realisasi fisikal dari desain basis data dan
desain aplikasi (Connolly dan Begg, 2010, p283). Implementasi
merupakan realisasi dari basis data dan perancangan aplikasi.
Implementasi basis data dicapai menggunakan Data Defintion Language
(DDL) dari DBMS yang dipilih dan Graphical User Interface (GUI).
Pernyataan DDL digunakan untuk membuat struktur basis data dan file
basis data kosong. Pandangan pemakai (user view) lainnya juga
diimplementasikan dalam tahapan ini. Bagian dari aplikasi program
adalah transaksi basis data yang diimplementasikan dengan menggunakan
Data Manipulation Language (DML) dari sasaran DBMS, mungkin
termasuk host programming language.
28
Dalam tahap ini juga akan diimplementasikan komponen lain dari
aplikasi basis data seperti pemasukkan data, security dan kontrol
integritas.
I. Data Conversion and Loading (Konversi dan Pemuatan Data)
Data Conversion and Loading adalah suatu proses mentransfer data
yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk
dijalankan dalam basis data baru (Connolly dan Begg, 2010, p284).
Tahap ini hanya dibutuhkan ketika sistem basis data baru menggantikan
sistem yang lama.
J. Testing (Pengujian)
Testing adalah suatu proses mengeksekusi program aplikasi dengan
tujuan untuk menemukan kesalahan (Connolly dan Begg, 2010, p284).
Jika pengujian berhasil, maka dapat menampilkan error dari program
aplikasi dana struktur basis data. Testing memperlihatkan bahwa basis
data dan pemrograman aplikasi bekerja sesuai dengan sepesifikasinya dan
menampilkan kebutuhan-kebutuhan untuk kerja yang memuaskan.
K. Operational Maintenance (Pemeliharaan Operasional)
Operational Maintenance adalah suatu proses memonitor dan
memelihara sistem berdasarkan instalasi (Connolly dan Begg, 2010,
p285).
Tahap ini terdiri dari aktivitas – aktivitas berikut :
a. Memonitor untuk kerja sistem
b. Memelihara dan memperbaharui aplikasi basis data (jika diperlukan)
29
2.1.5 Normalisasi
Definisi normalisasi menurut Connolly dan Begg (2010, p366), adalah
sebuah teknik untuk menghasilkan suatu himpunan yang saling berhubungan
dengan sifat-sifat yang memenuhi kebutuhan suatu perusahaan. Tujuan dari
normalisasi adalah untuk menghasilkan representasi atau penyusunan yang
akurat dari data, hubungan, dan batasan-batasan.
Tujuan dilakukannya normalisasi :
1. Mencegah kemungkinan terjadinya update anomalies (redudansi data)
Update anomalies merupakan suatu bentuk kumpulan data dimana data-
data yang sudah ada disimpan secara berulang-ulang sehingga memperumit
proses dan sulit untuk dipahami.
2. Untuk memvalidasi apakah kebutuhan bisnis sebenarnya sudah sesuai
dengan bentuk relasinya.
Salah satu konsep utama yang berhubungan dengan normalisasi adalah
ketergantungan fungsional (Functional dependency). Ketergantungan
fungsional menggambarkan hubungan antara atribut dalam sebuah relasi.
Ketergantungan fungsional adalah sebuah sifat dari makna (semantic) pada
atribut dalam sebuah relasi. Maknanya (semantic) mengindikasikan
bagaimana atribut berelasi antara satu dengan yang lainnya, dengan
menentukan ketergantungan fungsional diantara atribut. Jika sebuah
ketergantungan fungsional muncul, atribut atau kumpulan atribut pada
sebelah kiri anak panah disebut sebagai determinan.
30
Hal yang perlu diperhatikan dalam proses normalisasi adalah hanya
bentuk normal pertama (First normal form / 1NF) yang menjadi kritis dalam
membuat relasi. Semua bentuk normal berikutnya adalah optional.
Tetapi untuk menghindarkan update anomalies biasanya dianjurkan
sampai tahap ketiga (3NF). Normalisasi yang umum dipakai adalah sampai
dengan bentuk normal ketiga. Berikut adalah penjelasan bentuk normal
pertama sampai ketiga :
1. Bentuk Tidak Normal (Unnormalized Form / UNF)
Unnormalized form (UNF) adalah sebuah table yang mengandung satu
atau lebih bagian yang berulang (repeating group).
2. Bentuk Normal Pertama (First Normal Form / 1NF)
Untuk membentuk normalisasi pertama (1NF) repeating groups harus
dihilangkan. Untuk mentransfer table unnormalized ke table normalisasi
pertama kita harus mencari dan memindahkan data-data yang berulang.
Suatu hubungan dikatakan normal pertama jika :
a. Setiap baris dalam kolom berisi atribut yang bernilai tunggal.
b. Primary key telah ditentukan
c. Multi value telah dihilangkan
3. Bentuk Normal Kedua (Second Normal Form / 2NF)
Normalisasi kedua (2NF) adalah sebuah relasi pada 1NF dan setiap
atribut yang non primary key adalah fully functionally dependent dapat
diciptakan dengan menghilangkan partial dependency.
Suatu hubungan dikatakan normal kedua jika :
a. Berada pada normal pertama.
31
b. Atribut non primary key telah dihilangkan atau semua atribut non
primary key bergabung sepenuhnya kepada primary key.
4. Bentuk Normal Ketiga (Third Normal Form / 3NF)
Normalisasi ketiga (3NF) dilakukan dengan cara melihat apakah terdapat
atribut non primary key yang bergantung secara fungsional terhadap
atribut non primary key lainnya (Transitive Dependence). Dengan cara
yang sama, maka setiap ketergantungan transitive dipisahkan.
Suatu hubungan dikatakan normal ketiga, jika :
a. Berada pada normal pertana dan normal kedua
b. Setipa atribut non primary key tidak memiliki dependency transitive
terhadap primary key
2.1.6 Model Entitas Relasional (Entity Relational Model)
Entity relational modelling merupakan sebuah model data yang
didasarkan pada konsep matematika dari relasi, yang secara fisik
direpresentasikan sebagai tabel. Dalam model relasional, semua data
terstruktur secara logis dalam sejumlah relasi. Setiap relasi memiliki nama,
dan terdiri dari sejumlah atribut.
1. Tipe Entitas (Entity Types)
Tipe entitas adalah sekumpulan objek yang memiliki properti
yang sama, didefinisikan oleh perusahaan yang keberadaannya independent
(Connolly dan Begg, 2010, p285). Sebuah tipe entitas memiliki keberadaan
32
yang bebas dan bisa menjadi objek dengan keberadaan fisik (nyata) atau
menjadi objek dengan keberadaan konseptual (abstrak). Ini menunjukan
bahwa perancangan yang berbeda akan menghasilkan indetifikasi entitas
yang berbeda pula. Suatu objek dan tipe entitas yang dapat
diindentifikasikan secara unik disebut juga entity occurence. Sebuah entitas
digambarkan dalam bentuk segiempat yang dijelaskan dengan nama dari
nama entitas tersebut, yang biasanya merupakan kata benda tunggal. Dalam
UML, huruf pertama dari entitas adalah huruf kapital.
Gambar 2.2 Contoh Tipe Entitas
(Sumber : Connolly, 2010, p324)
2. Atribut (Attribute)
Menurut Connolly dan Begg (2010, p329-330), sifat tertentu dari
entitas disebut atribut. Atribut menyimpan nilai dari setiap entity occurence
dan disimpan dalam basis data.
Attributes domain adalah sejumlah nilai yang diperkenankan untuk
satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah
Nama Entitas
Karyawan Cabang
33
nilai disebut domain. Domain menetapkan nilai potensial sebuah atribut
yang bisa disimpan atau sama dengan konsep domain pada model
relasional.
Simple Attribute adalah suatu susunan atribut dari komponen tunggal
dengan keberadaan yang bebas (independent existence). Simple attribute
tidak dapat dibagi ke dalam komponen yang lebih kecil lagi. Sedangkan
Composed attribute adalah sebuah susunan atribut dari banyak komponen
dengan sebuah keberadaan yang bebas dari masing-masing. Dalam hal ini
beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi.
Single value attribute adalah atribut yang hanya menyimpan nilai
tunggal untuk suatu sifat dari entitas. Multi-valued attribute adalah atribut
yang bisa menyimpan nilai lebih dari satu untuk suatu sifat entitas.
Derived attribute adalah atribut yang menunjukkan nilai, diperoleh
dari atribut atau kumpulan atribut yang berhubungan, tidak terlalu
ditentukan dalam tipe entitas yang sama.
3. Tipe Relasi (Relationship Types)
Menurut Connolly dan Begg (2010, p324), relationship types adalah
sekumpulan hubungan antara satu atau lebih tipe-tipe entitas.
Entitas yang berkaitan dalam sebuah tipe relasi dikenal sebagai
participant dalam relasi. Derajat dari relasi adalah jumlah dari partisipasi
entitas dalam sebuah tipe relasi tertentu. Sebuah relasi berderajat dua
disebut binary, relasi berderajat tiga disebut sebagai ternary, dan relasi
berderajat empat disebut sebagai quertenary.
Tipe-tipe relasi yaitu :
34
a. One-to-one Relationship
S taff entity Manage Branch entity type type (Staff no) Relationship type (Branch no)
Gambar 2.3 Relationship One-to-one (1:1)
Gambar diatas menggambarkan relationship One-to-one antara entitas
Staff dan entitas Branch, dimana satu orang staff hanya mengontrol satu
cabang dan satu cabang hanya dikontrol oleh satu orang staff.
b. One-to-many Relationship
S taff entity Oversees Property For type Rent entity
Gambar 2.4 Relationship One-to-many (1:*)
Gambar diatas menggambarkan relationship One-to-many yang sering
terjadi antara entitas Staff dengan entitas Property, dimana dalam relasi
ini seorang staff memungkinkan untuk mengurus (oversees) lebih dari
• •
• •
• • •
• • •
• • •
• •
35
satu property, sedangkan satu property hanya dapat diurus oleh satu
staff.
c. Many-to-many Relationship
Newspaper Advertises Property For entity Rent entity
Gambar 2.5 Relationship Many-to-many (*:*)
Gambar diatas menggambarkan relationship Many-to-many yang
sering terjadi diantara entitas Newspaper dengan entitas Property,
dimana dalam satu property dapat dipasarkan (advertise) pada lebih
dari satu koran, begitu juga satu buah koran dapat memasarkan lebih
dari satu property.
4. Key
Super key adalah sekumpulan dari satu atau lebih atribut yang
diambil untuk mengidentifikasikan secara unik sebuah entitas dalam
sebuah kumpulan entitas.
Candidate key adalah sejumlah kecil atribut yang secara unik
mengenali setiap occurence dalam setiap entitas.
Primary key adalah candidate key yang digunakan untuk mengenali
secara unik setiap occurence key. Pemilihan primary key untuk setiap
• • • •
• • • •
• • •
36
entitas adalah berdasarkan pada pertimbangan panjang atribut, dan jumlah
minimal dari kebutuhan atribut.
Alternate key adalah candidate key yang tidak terpilih menjadi
primary key.
Foreign key adalah suatu atribut atau kumpulan atribut di suatu tabel
yang digunakan di tabel lainnya sehingga berfungsi sebagai penghubung
informasi antara tabel.
Composite key adalah candidate key yang terdiri dari lebih dari satu
atribut.
5. Structural Constraint
Menurut Connolly dan Begg (2010, p339), batasan utama pada relasi
disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin
terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain
yang berhubungan melalui suatu relasi.
Menurut Connolly dan Begg (2010,p340)Multiplicity dibentuk dari
dua macam batasan pada relationship yaitu :
a. Cardinality, menjelaskan jumlah maksimum dari kejadian relasi yang
mungkin untuk entitas yang berpartisipasi di dalam relasi tersebut.
b. Participation, menetapkan apakah seluruh atau hanya sebagian
entitas yang berpartisipasi dalam suatu relasi.
2.1.7 Bagan Alir Dokumen (Document Flow Chart)
Menurut Mulyadi (2001, p60), sistem akuntansi dapat dijelaskan
menggunakan bagan alir dokumen. Untuk menggambarkan aliran dokumen
37
dalam sistem tertentu, digunakan simbol-simbol. Berikut adalah simbol-
simbol umum dengan penjelasannya masing-masing.
Gambar 2.6 Simbol Dokumen
Gambar 2.7 Simbol Dokumen dan Tembusannya
Gambar 2.8 Simbol Catatan
Gambar 2.9 Simbol Kegiatan Manual
Gambar 2.10 Simbol mulai/berakhir (Terminal)
38
Gambar 2.11 Simbol arsip sementara
Ya
Tidak
Gambar 2.12 Simbol Keputusan
Gambar 2.13 Simbol Garis Alir
Gambar 2.14 Simbol Penghubung pada Halaman yang Berbeda
39
2.2 Teori-teori Khusus
2.2.1 Teori Penjualan
Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi
penjualan barang atau jasa, baik secara kredit maupun secara tunai.
1. Penjualan Kredit
Dalam transaksi penjualan kredit, jika order dari pelanggan telah
dipenuhi dengan pengiriman barang atau penyerahan jasa, untuk jangka
waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
Kegiatan penjulan kredit ini ditangani oleh perusahaan melalui sistem
penjualan kredit.
2. Piutang
Menurut Mulyadi (2005, p257), produser pencatatan piutang
bertujuan untuk mencatat mutasi piutang perusahaan kepada setiap
debitur.
Mutasi piutang disebabkan oleh transaksi penjualan kredit
penerimaan kas dari debitur, retur penjualan, dan penghapusan piutang.
3. Retur Penjualan
Menurut Mulyadi (2001, p226), transaksi retur penjualan terjadi
jika perusahaan menerima pengembalian barang dari pelanggan.
Pengembalian barang dari pelanggan harus diotorisasi oleh fungs i
penjualan dan diterima oleh fungsi penerimaan.
2.2.2 Structured Query Language (SQL)
Menurut Connolly dan Begg (2002, p111). SQL adalah suatu bahasa
yang dirancang untuk operasi pengaksesan data pada struktur relational
40
database yang mentransformasikan input menjadi output yang diinginkan
pengguna operasi pengaksesan data meliputi penyisipan data (insert),
pengubahan data (update), pengambilan data (select), dan penghapusan data
(delete). Perintah-perintah diatas dilakukan atas kebutuhan pengguna.
2.2.3 Microsoft SQL Server
Microsoft SQL Server adalah sebuah sistem manajemen basis data
relasional (RDBMS) produk Microsoft. Bahasa Query utamanya adalah
Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO
yang digunakan oleh Microsoft. Umumnya SQL Server digunakan di dunia
bisnis yang memiliki basis data berskala kecil sampai dengan menengah,
tetepi kemudian berkembang dengan digunakannya SQL Server pada basis
data besar.
2.2.4 Visual Basic.NET (VB.NET)
Visual Basic.NET (VB.NET atau VB. NET) adalah versi lain dari
Microsoft Visual Basic sebagai bagian produk dari Microsoft.NET, ditujukan
untuk membuat aplikasi lebih mudah dikembangkan. VB.NET adalah aplikasi
pertama yang mendukung pemrograman berorientasi objek atau Object-
Oriented Programing (OOP) versi Visual Basic, dengan demikian, VB.NET
mendukung konsep-konsep OOP seperti abstraction, inheritance,
polymorphism, dan aggregation.