bab 2 landasan teori 2.1 pendekatan basis data 2.1 ... -...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Pendekatan Basis Data
2.1.1 Basis Data
2.1.1.1 Definisi Basis Data
Pengertian basis data menurut Whitten, Bentley, dan Dittman
(2004, p548), basis data adalah sekumpulan file yang saling
berhubungan.
Pengertian basis data menurut David M. Kroenke (2002,
p258), basis data adalah sekumpulan record – record yang terintegrasi
yang dapat menjelaskan dirinya sendiri. Basis data menggambarkan
dirinya sendiri karena berisi sebuah deskripsi tentang dari dirinya
sendiri dalam sebuah kamus data. Basis data adalah sekumpulan
record–record yang terintegrasi karena adanya hubungan antara
record – record yang disimpan di dalam database.
Pengertian basis data menurut Connolly dan Begg (2002,
p14), basis data adalah penggunaan bersama dari data yang terhubung
secara logic dan deskripsi dari data, yang dirancang untuk keperluan
informasi dari suatu perusahaan.
Dalam praktek, penggunaan istilah basis data menurut Elmasri
(2000, p4) lebih dibatasi pada arti implisit yang khusus yaitu :
1. Basis data merupakan penyajian suatu aspek dari dunia nyata
(“real world” atau “miniworld”).
8
2. Basis data merupakan kumpulan data dari berbagai sumber yang
secara logika mempunyai arti implisit. Sehingga data yang
terkumpul secara acak dan tanpa mempunyai arti, tidak dapat
disebut basis data.
3. Basis data perlu dirancang, dibangun, dan data dikumpulkan
untuk suatu tujuan. Basis data dapat digunakan oleh beberapa
pemakai dan beberapa aplikasi yang sesuai dengan kepentingan
pemakai.
Dari batasan tersebut dapat dikatakan bahwa basis data
mempunyai berbagai sumber data dalam pengumpulan data bervariasi
derajat interaksi kejadian dari dunia nyata, dirancang dan dibangun
agar dapat digunakan oleh beberapa pemakai untuk berbagai
kepentingan.
Jadi dapat disimpulkan, basis data adalah sekumpulan file
yang saling berhubungan / terintegrasi yang dapat menggambarkan
dirinya sendiri yang diatur dan dirancang sedemikian rupa untuk
keperluan informasi dari suatu perusahaan atau organisasi.
2.1.1.2 Konsep Basis Data
Menurut McLeod (2001, p259), dua tujuan konsep basis data
adalah meminimumkan pengulangan data (data redundancy) dan
mencapai independensi data. Pengulangan data (data redundancy)
adalah duplikasi data, artinya data yang sama disimpan dalam
beberapa file. Independensi data adalah kemampuan untuk membuat
9
perubahan dalam struktur data tanpa membuat perubahan pada
program yang memproses data. Independensi data dicapai dengan
menempatkan spesifikasi data dalam tabel dan kamus yang terpisah
secara fisik dari program. Perubahan pada struktur data hanya
dilakukan sekali, yaitu dalam tabel.
2.1.1.3 Komponen Basis Data
Menurut Kroenke (2002, pp25 – 29), basis data berisi empat
elemen utama, yaitu:
1. User data
Sebagian besar basis data menggambarkan user data sebagai
relasi dan dipertimbangkan untuk menjadi sebuah tabel dari data.
Kolom – kolom dari tabel berisi field atau attribute – attribute dan
baris dari tabel berisi record untuk entitas tertentu dalam
lingkungan bisnis. Tidak semua relasi sesuai dengan yang
diinginkan. Beberapa relasi lebih terstruktur dibanding yang lain.
2. Meta data
Sebuah basis data menggambarkan dirinya sendiri, artinya
basis data mengandung sebuah dekripsi dari struktur basis data
sebagai bagian dari basis data sendiri. Deskripsi dari struktur
tersebut dinamakan meta data. Sejak DBMS dirancang untuk
menyimpan dan memanipulasi tabel, kebanyakan DBMS
menyimpan meta data dalam bentuk tabel, kadang – kadang
disebut system table.
10
3. Indexes
Merupakan elemen ketiga dari basis data, yang berguna untuk
meningkatkan kemampuan untuk mengakses basis data. Data
tersebut, yang kadang disebut overhead data, secara prinsip
mengandung indexes, walaupun beberapa tipe dari struktur data,
seperti linked list, kadang digunakan. Indexes digunakan tidak
hanya untuk sorting tetapi juga untuk mempercepat akses ke data.
4. Apllication meta data
Kamus data, data yang berfokus pada struktur dan berisi
aplikasi menu, form, dan report.
Menurut Subekti (2004, p4) terdapat empat komponen penting
dalam sistem basis data yaitu data, hardware (piranti keras), software
(piranti lunak), pengguna.
1. Data
Data dalam basis data harus terintegrasi dan dapat dipakai
bersama. Pengertian terintegrasi di sini adalah suatu basis data
dapat dipandang sebagai suatu kumpulan file-file yang terkait satu
sama lain dengan menghilangkan redudansi yang ada. Pengertian
dipakai bersama (share) adalah setiap bagian data yang terdapat
dalam basis data dapat digunakan oleh lebih dari satu pengguna
dengan fungsi yang sama atau berbeda satu sama lain.
11
2. Hardware
Untuk manajemen basis data hanya dibutuhkan mesin
standard, namun yang harus diperhatikan adalah kapasitas
penyimpanan karena pada basis data akan membutuhkan kapasitas
yang besar.
3. Software
Piranti lunak untuk sistem basis data disebut dengan DBMS
(Database Management System). DBMS memungkinkan
pengguna untuk membentuk file (create), penambahan data
(insert), penghapusan (delete), dan lain-lain.
4. Pengguna (user)
Pengguna basis data dibagi menjadi tiga kelompok, yaitu :
a. Administrator Basis Data ( DBA )
Seorang atau grup personil pengolahan data yang
bertanggung jawab terhadap kontrol keseluruhan basis data.
Tugas-tugas dari DBA adalah :
• Menentukan isi informasi basis data.
• Menentukan struktur penyimpanan dan strategi akses.
• Penghubung antar pengguna.
• Menentukan prosedur cek otorisasi dan validasi.
• Menentukan strategi back up dan recovery.
• Memonitor penampilan dan memberikan respond terhadap
permintaan dan perubahan oleh pengguna.
12
b. Programmer
Programmer adalah seseorang atau sekelompok orang
yang menjadi tenaga ahli komputer yang berfungsi untuk
mengembangkan program-program aplikasi yang diperlukan
dalam manajemen basis data.
c. Pengguna Akhir
Yang termasuk dalam kategori pengguna akhir adalah
pemilik sistem, para manager, operator, dan sebagainya yang
terlibat langsung dalam penggunaan basis data.
2.1.2 Database Management System (DBMS)
2.1.2.1 Definisi DBMS
Menurut Connolly dan Begg (2002, p16), DBMS adalah
sebuah sistem piranti lunak (software) yang memungkinkan para
perngguna untuk mendefinisikan, menciptakan, memelihara, dan
mengontrol akses ke basis data.
Menurut Whitten, Bentley, dan Dittman (2004, p 554), DBMS
adalah perangkat lunak tertentu yang digunakan untuk menciptakan,
mengakses, mengontrol, dan mengatur basis data.
2.1.2.2 Fungsi-Fungsi DBMS
Menurut Petroutsos (2000, p5), DBMS menyediakan fungsi-
fungsi sebagai berikut :
13
1. DBMS mengijinkan aplikasi mendefinisikan struktur dari basis
data dengan pernyataan SQL. Pernyataan SQL yang
mendefinisikan atau mengedit struktur ini disebut dengan Data
Definition Language (DDL).
2. DBMS mengijinkan aplikasi memanipulasi informasi yang
disimpan didalam basis data dengan pernyataan SQL. Pernyataan
SQL yang memanipulasi informasi ini disebut dengan Data
Manipulation Language (DML).
3. DBMS melindungi integritas basis data dengan menerapkan
beberapa aturan, yang dimasukkan kedalam perancangan basis
data tersebut.
2.1.2.3 Komponen-Komponen DBMS
Menurut Connolly dan Begg (2002, pp18-20), Database
Management System (DBMS) memiliki lima komponen penting,
antara lain :
1. Hardware (perangkat keras)
Dalam menjalankan aplikasi dan DBMS diperlukan perangkat
keras. Perangkat keras dapat berupa a single personal computer
single mainframe, komputer jaringan berupa server.
2. Software (perangkat lunak)
Komponen perangkat lunak meliputi DBMS software dan
program aplikasi beserta Sistem Operasi (OS), termasuk
14
perangkat lunak tentang jaringan bila DBMS digunakan dalam
jaringan seperti LAN.
3. Data
Data mungkin merupakan komponen terpenting dari DBMS
khususnya sudut pandang dari end user mengenai data.
4. Prosedur
Prosedur berupa panduan dan instruksi dalam membuat desain
dan menggunakan basis data. Pengguna dari sistem dan staf dalam
mengelola basis data membutuhkan prosedur dalam menjalankan
sistem dan mengelola basis data itu sendiri. Demikian prosedur di
dalam basis data dapat berupa : login di dalam basis data,
penggunaan sebagian fasilitas DBMS, cara menjalankan dan
memberhentikan DBMS, membuat salinan backup database,
memeriksa hardware dan sofware yang sedang berjalan,
mengubah struktur basis data, meningkatkan kinerja atau
membuat arsip data pada secondary storage.
5. Manusia
Komponen terakhir yaitu manusia sendiri yang terlibat dalam
sistem tersebut.
2.1.3 Entity - Relationship Modelling
Meurut Jeffrey A. Hoffer, Mary R. Prescott dan Fred R.
Mcfadden (2002, p82), entity-relationship modelling adalah perwakilan
detil dan logikal dari data untuk sebuah organisasi atau area bisnis.
15
Menurut Connolly dan Begg (2002, p330), Entity Relationship
Modelling adalah pendekatan top-down untuk perancangan basis data
yang dimulai dengan mengidentifikasi data yang penting, yang disebut
entities dan relationships antara data uang harus direpresentasikan di
dalam suatu model.
2.1.3.1 Entity Type
Menurut Connolly dan Begg (2002, p331), Entity type adalah
sekumpulan objek dengan properties yang sama yang
diidentifikasikan oleh perusahaan sebagai sesuatu yang memiliki
keberadaan yang bebas.
Menurut Jeffrey A. Hoffer, Mary R. Prescott dan Fred R.
Mcfadden (2002, p86), entity type adalah kumpulan entitas yang
memiliki properti atau karakteristik yang sama.
2.1.3.2 Attributes
Menurut Connolly dan Begg (2002, pp338-342), atribut
adalah sifat dari sebuah entitas atau tipe relationship. Atribut
menyimpan nilai dari setiap entity occurrence dan disimpan didalam
basis data.
Menurut Gerald U. Post (2002, p34), atribut adalah fitur atau
karakteristik dari sebuah entitas. Sebuah atribut akan menjadi kolom
16
dalam data table. Employee atribut mencakup name, address, data
hired, dan phone.
Menurut David M. Kroenke (2002, p52), atributte adalah
properti yang menggambarkan karakteristik dari entity.
Attribute domain adalah sejumlah nilai yang diperkenankan
untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan
sejumlah nilai disebut domain. Domain menetapkan nilai potensial
yang sebuah atribut bisa simpan atau sama dengan konsep domain
pada model relasional.
Simple attribute adalah sebuah susunan atribut dari komponen
tunggal (single component) dengan keberadaan yang bebas
(independent existence). Simple attribute tidak bisa dibagi lagi ke
dalam komponen yang lebih kecil. Contohnya, posisi dan gaji dari
entitas pegawai, sedangkan Composed attribute adalah sebuah
susunan atribut dari banyak komponen dengan sebuah keberadaan
yang bebas dari masing-masingnya. Dalam hal ini beberapa atribut
dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan
keberadaan yang bebas dari masing-masingnya. Contohnya atribut
alamat dari entitas kantor cabang yang mengandung nilai (jalan, kota,
kode pos) bisa dipecahkan menjadi simple attribute jalan, kota, dan
kode pos.
Single value attribute adalah atribut yang hanya menyimpan
nilai tunggal untuk suatu sifat dari entitas. Sedangkan Multi-valued
attribute adalah atribut yang bisa menyimpan nilai lebih dari satu
17
untuk suatu sifat dari entitas. Contohnya atribut telepon pada entitas
kantor cabang yang bisa memiliki lebih dari satu nomor telepon.
Derived attribute (atribut turunan) adalah atribut
menunjukkan nilai yang diperoleh dari atribut yang berhubungan atau
kumpulan atribut yang berhubungan, tidak terlalu dibutuhkan dalam
tipe entitas yang sama. Atribut turunan (derived attribute) mungkin
juga menyangkut hubungan dari atribut pada tipe entitas yang
berbeda.
2.1.3.3 Relationship Type
Pengertian Relationship Type menurut Connolly dan Begg
(2002, p334), adalah sekumpulan hubungan antara satu atau lebih
tipe-tipe entitas.
Menurut Jeffrey A. Hoffer, Mary R. Prescott dan Fred R.
Mcfadden (2002, p86), relationship type adalah hubungan yang
memiliki arti diantara entity type.
Derajat dari relationship adalah jumlah dari partisipasi
(participating) tipe entitas dalam sebuah tipe relationship tertentu.
Entitas yang berkaitan dalam sebuah tipe relationship dikenal sebagai
participant dalam relationship dan jumlah participant dalam
relationship disebut sebagai derajat (degree) dari relationship.
Sebuah relationship berderajat dua disebut binary, relationship
berderajat tiga disebut sebagai ternary, dan relationship berderajat
empat disebut sebagai quartenary.
18
2.1.3.4 Kunci (Key)
Menurut David M. Kroenke (2002, p12), key ialah sebuah
field yang digunakan untuk mengidentifikasi sebuah record.
Customer number, vendor name, part number adalah merupakan
contoh keys. Untuk proses basis data, keys dapat unique atau
nonunique. Jika unique, nilai dari key diidentifikasi hanya satu
record. Social security number ialah unique key. Nomor 500-00-001
diidentifikasi satu dan hanya satu.
Menurut Connolly dan Begg (2002, pp340-341), key terdiri
atas Candidate key, Primary key, Alternate key dan Composite key.
Candidate key : sebuah atribut atau lebih yang secara unik
mengidentifikasi sebuah baris. Atribut ini mempunyai nilai yang unik
pada hampir tiap barisnya. Fungsi dari Candidate key ialah sebagai
calon primary key.
Primary key : candidate key yang telah dipilih untuk
mengidentifikasi tiap baris secara unik. Primary key harus merupakan
field yang benar-benar unik dan tidak boleh ada nilai NULL.
Alternate key : candidate key yang tidak dipilih sebagai
primary key.
Composite key : pada kondisi tertentu, suatu atribut tidak
dapat digunakan untuk mengidentifikasi baris secara unik dan
membutuhkan kolom yang lain untuk digunakan sebagai primary
key.
19
Foreign key : jika sebuah primary key terhubung ke tabel lain.
Fungsinya sebagai penghubung antar tabel.
2.1.4 Data Definition Language (DDL)
Menurut Jeffrey A. Hoffer, Mary R. Prescott dan Fred R.
Mcfadden (2002, p86), DDL adalah perintah yang digunakan untuk
create, alter, dan drop tabel.
Menurut Connolly dan Begg (2002, p40), DDL adalah suatu
bahasa yang memungkinkan DBA atau user untuk mendeskripsikan atau
memberi nama suatu entities, attributes, dan relationship yang
dibutuhkan untuk aplikasi, bersamaan dengan integrity apapun yang
terasosiasi, dan security constraints.
DDL digunakan untuk mendefinisikan basis data, tabel, dan view.
1. 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] ] ... )
2. Alter Table
Pernyataan alter table dapat dipakai untuk menambah atau
membuang kolom dan konstrain. Bentuk umum :
ALTER TABLE Table_name
[ADD Column_name DataType [NULL | NOT NULL] ]
20
[DROP Column_name DataType [RESTRICT | CASCADE] ]
[ADD Constrain_name]
[DROP Constrain_name [RESTRICT | CASCADE] ]
3. Drop Table
Pernyataan drop table digunakan untuk membuang atau
menghapus tabel beserta semua data yang terkait didalamnya. Bentuk
umum :
DROP TABLE Table_name;
4. Create Index
Pernyataan create index digunakan untuk membuat index pada
suatu tabel. Bentuk umum :
CREATE [UNIQUE] INDEX index_name
ON Table_name
( Column_name [ , Column_name ] ... )
5. Drop Index
Pernyataan drop index digunakan untuk membuang atau
menghapus index yang telah dibuat sebelumnya. Bentuk umum :
DROP INDEX Index_name
2.1.5 Data Manipulation Language (DML)
Menurut Jeffrey A. Hoffer, Mary R. Prescott dan Fred R.
Mcfadden (2002, p86), DML adalah perintah utama dari sql, digunakan
untuk updating, inserting, modifying, dan querying data dalam basis data.
21
Menurut Connolly dan Begg (2002, p41), DML adalah suatu
bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi
manipulasi data yang dasar pada suatu data yang ada di dalam database.
1. Select
Pernyataan select digunakan untuk menampilkan sebagian atau
seluruh isi dari suatu table dan menampilkan kombinasi isi dari
beberapa tabel. Bentuk umum :
SELECT Fields
FROM Table_name
WHERE Condition
2. Update
Pernyataan update digunakan untuk menambah satu atau beberapa
baris nilai baru ke dalam suatu tabel. Bentuk umum :
UPDATE Table_name
SET column1 = value1, column2 = value2, ...
WHERE Condition
3. 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 )
4. Delete
Pernyataan delete digunakan untuk menghapus sebagian atau
seluruh isi dari suatu tabel. Bentuk umum :
22
DELETE FROM Table_name
WHERE Condition
2.1.6 Normalisasi
Pengertian normalisasi Connolly dan Begg (2002, p376),
normalisasi adalah suatu teknik untuk menghasilkan relasi dengan
properti-properti yang diinginkan, memberikan kebutuhan data dari
sebuah perusahaan.
Menurut Petroutsos (2000, p71), ada beberapa aturan dalam
perancangan basis data, yang disebut dengan aturan normalisasi. Aturan-
aturan ini akan merancang basis data yang normal, atau setidaknya
memverifikasi rancangan.
Menurut Gerlad U. Post (2002, p66), normalisasi adalah proses
menentukan tabel yang cocok untuk basis data.
Menurut David M. Kroenke (2002, p121), normalisasi adalah
proses untuk merubah sebuah relasi yang memiliki masalah tertentu
menjadi dua atau lebih relasi yang tidak memiliki masalah tersebut.
Basis data dianggap normal jika basis data tersebut tidak
mengulangi data (data redundancy) atau tidak menimbulkan keanehan
pada proses update, delete, atau insert.
Proses pembentukkan tabel normal (normalisasi) bertujuan untuk :
1. Membuat sekecil mungkin terjadinya data rangkap.
23
2. Menghindarkan adanya data yang tidak konsisten terutama bila
dilakukan penghapusan atau penambahan data sebagai akibat adanya
data rangkap.
3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan
semua atribut.
Proses normalisasi tabel secara detil dibagi menjadi lima tahap
sehingga dikenal bentuk–bentuk tabel normal sesuai dengan tahapan
normalisasi yang telah dilakukan bentuk normal pertama, kedua, ketiga,
boyce-codd, keempat dan kelima.
1. Bentuk Normal Pertama (First Normal Form / 1 NF)
Aturan bentuk normal pertama(1NF) menurut Connolly dan Begg
(2002, p388), adalah sebuah relasi dimana tiap baris dan kolom berisi
hanya berisi satu nilai.
Bentuk normal pertama dicapai bila tiap nilai atribut adalah
tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi
terjadinya data ganda (repeating groups). Pada kondisi normal
pertama ini kemungkinan masih terjadi adanya data rangkap.
2. Bentuk Normal Kedua (Second Normal Form / 2NF)
Aturan bentuk normal kedua (2NF) menurut Connolly dan Begg
(2002, p392), adalah sebuah relasi dalam bentuk normal pertama dan
setiap atribut bukan primary key yang bergantung secara fungsional
kepada primary key.
Bentuk normal kedua adalah berdasarkan konsep ketergantungan
fungsional penuh (full functional dependency). Full functional
24
dependency dinyatakan dengan jika A dan B adalah atribut dari suatu
relasi (relation), B adalah fungsional ketergantungan penuh (fully
functional dependency) pada A jika B adalah secara fungsional
bergantung pada A, tetapi bukan merupakan himpunan bagian dari A.
Bentuk normal kedua menciptakan sebuah relasi pada bentuk normal
pertama dan semua atribut yang bukan primary key adalah fungsional
tergantung penuh pada primary key.
3. Bentuk Normal Ketiga (Third Normal Form / 3NF)
Aturan bentuk normal ketiga (3NF) menurut Connolly dan Begg
(2002, p394), adalah sebuah relasi dalam bentuk normal pertama dan
kedua dan setiap atribut bukan primary key yang bergantung secara
transitif kepada primary key.
Bentuk normal ketiga adalah berdasarkan pada konsep peralihan
ketergantungan (transitive dependency). Transitive dependency
adalah sebuah kondisi dimana A,B dan C adalah atribut dari sebuah
relasi bahwa jika A B dan B C, maka C adalah transitive
dependent pada A melewati B (menyatakan bahwa A bukan
functional dependent pada B atau C). Pada bentuk normal ketiga,
sebuah relasi pada bentuk normal pertama dan kedua dan dimana
tidak ada atribut non-primary key secara transitif bergantung
(transitively dependent) pada primary key.
4. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)
25
Aturan bentuk normal Boyce-Codd (BCNF) menurut Connolly
dan Begg (2002, p398), adalah sebuah relasi disebut BCNF, jika dan
hanya jika setiap determinannya adalah sebuah candidate key.
Untuk menguji apakah suatu relasi sudah dalam BCNF, dilakukan
identifikasi semua determinan dan memastikan bahwa determinan
tersebut adalah candidate key. Determinan adalah sebuah atribut,
atau kumpulan atribut, dimana beberapa atribut yang lain masih
bergantung secara fungsional penuh (fully functionally dependent).
Perbedaan antara 3NF dan BCNF dalam hal functional
dependency. A B, 3NF mengijinkan ketergantungan ini dalam
sebuah relasi jika B adalah atribut primary key dan A bukan
candidate key. Sedangkan dalam BCNF ketergantungan ini tetap ada
di dalam sebuah relasi, dimana A harus sebuah candidate key.
5. Bentuk Normal Keempat (Fourth Normal Form / 4 NF)
Aturan bentuk normal keempat (4NF) menurut Connolly dan
Begg (2002, pp407-408), adalah sebuah relasi dalam Boyce-Codd
normal form (BCNF) dan tidak mengandung ketergantungan multi-
valued nontrivial (nontrivial multi-valued dependencies).
Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat
dari BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued
dependency dan data redundancy. Normalisasi dari BCNF ke 4NF
meliputi pemindahan multi-valued dependency dari relasi dengan
menempatkan atribut dalam sebuah relasi baru bersama dengan
determinan.
26
Multi-Valued dependency (MVD) menggambarkan
ketergantungan antara atribut-atribut dalam suatu relasi.
6. Bentuk Normal Kelima (Fifth Normal Form / 5NF)
Aturan bentuk normal kelima (5NF) menurut Connolly dan Begg
(2002, p410), adalah sebuah relasi yang tidak mempunyai
ketergantungan gabungan (join dependency).
Join dependency menggambarkan sebuah tipe ketergantungan.
Sebagai contoh, untuk sebuah relasi R dengan subset-subset atribut
dari R yang dimisalkan dengan A,B,…,Z , sebuah relasi R
menunjukkan join dependency, jika dan hanya jika, setiap nilai dari R
sama dengan gabungan dari proyeksi-proyeksinya pada A,B,…,Z.
2.1.7 Fourth Generation Languages (4GLs)
Menurut Connolly dan Begg (2002, p42), 4GL adalah bahasa
pemrograman yang lebih sederhana daripada 3GL. 3GL bersifat
prosedural, sedangkan 4GLs bersifat non-prosedural. Pada 4GL,
pengguna menentukan apa yang akan dilakukan, bukan menentukan
bagaimana harus dilakukan.
4GL meliputi :
a. presentation languages, seperti query languages dan report
generators.
b. Speciality languages, seperti spreadsheets dan databaselanguages.
27
c. Application generators yang mendefinisikan, insert, update, dan
retrieve data dari basis data ke aplikasi yang dibangun.
d. Very high-level languages yang digunakan untuk menghasilkan kode
aplikasi.
2.1.8 Database Application Lifecycle
Adapun dalam perancangan basis data itu sendiri, perlu
diperhatikan tentang siklus hidup dari aplikasi basis data itu sendiri.
Suatu sistem basis data seperti didefinisikan oleh Connoly (2002,
p217), disebutkan bahwa merupakan suatu dasar bagi komponen dari
organisasi dengan sistem informasi yang besar.
Itu sangatlah penting untuk deperhatikan bahwa struktur dari
siklus hidup aplikasi basis data tidaklah harus benar-benar sekuensial,
tetapi terlibat dalam suatu perulangan bagan-bagan dari yang sebelumnya
melalui umpan balik. Sebagai contoh, masalah yang dihadapi selama
perancangan basis data untuk masih diperhatikannya analisis dan
pengumpulan data tambahan.
Untuk aplikasi basis data kecil dengan jumlah pengguna yang
sedikit, siklus hidup tidaklah sangat kompleks. Bagaimanapun juga,
ketika perancangan sedang dilakukan pada suatu aplikasi basis data
ukuran sedang dengan jumlah pengguna antara sepuluh sampai dengan
ribuan user, dengan menggunakan ratusan queries dan program aplikasi,
28
siklus hidup akan menjadi kompleks. Berikut adalah gambar dari siklus
hidup aplikasi basis data :
Gambar 2.1 Tingkatan dari Database Application Lifecycle
(Connolly dan Begg, 2002, p272)
29
2.1.8.1 Perencanaan Basis Data (Database Planning)
Menurut Connolly dan Begg (2002, pp273-274), perencanaan
basis data (database planning) merupakan aktivitas manajemen yang
mengijinkan tingkatan dari aplikasi basis data untuk direalisasikan se-
efisien dan se-efektif mungkin. Database Planning harus
diintegrasikan dengan keseluruhan strategi sistem informasi dari
perusahaan. 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. Penilaiaan dari kesempatan–kesempatan TI yang mungkin
menghasilkan keuntungan kompetitif.
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 apa saya yang harus diselesaikan, sumber–sumber yang
mendukungnya, dan biaya yang harus dikeluarkan.
30
2.1.8.2 Pendefinisian Sistem (System Definition)
Menurut Connolly dan Begg (2002, p274) definisi sistem
(System definition) adalah memaparkan jangkauan dan batasan dari
aplikasi basis data dan pandangan–pandangan utama para pemakai.
Sebelum mendesain suatu aplikasi basis data penting untuk terlebih
dahulu mengidentifikasikan batasan-batasan dari sistem yang sedang
diteliti dan bagaimana kaitannya dengan bagian lain sistem informasi
perusahaan. Perlu dipikirkan untuk kebutuhan yang akan datang
selain dari keadaan saat ini. Dan tak lupa untuk mengidentifikasi
pandangan pemakai yang merupakan aspek penting dari
pengembangan aplikasi basis data karena membantu untuk
memastikan bahwa tidak ada pemakai utama basis data yang terlupa
ketika pengembangan aplikasi baru tersebut.
2.1.8.3 Analisa dan Pengumpulan Kebutuhan (Requirement Collection
and Analysis)
Menurut Connolly dan Begg (2002,p276), analisis dan
pengumpulan kebutuhan (requirement collection and analysis) adalah
proses pengumpulan dan analisis informasi tentang bagian dari
perusahaan yang akan didukung oleh aplikasi basis data, dan
menggunakan informasi ini untuk mengidentifikasikan kebutuhan
pemakai terhadap sistem baru.
Informasi yang dikumpulkan termasuk :
31
1. Penjabaran dari data yang digunakan.
2. Detail mengenai bagaimana data digunakan.
3. Kebutuahan 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,
antara lain :
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.
2.1.8.4 Desain Basis Data (Database Design)
Menurut Connolly dan Begg (2002,p279), perancangan basis
data (database design) merupakan proses pembuatan suatu desain
32
untuk sebuah basis data yang akan mendukung operasional dan
sasaran suatu perusahaan.
Ada 2 pendekatan untuk mendesain sebuah basis data, yaitu :
1. Pendektan Bottom-Up
Yang dimulai pada tingkat awal dari atribut (yaitu, properti
dari entiti dan relationship), yang mana melalui analisis dari
asosiasi antar atribut, dikelompokkan menjadi hubungan yang
merepresentasikan jenis-jenis entitas dan hubungan antar entitas.
Pendekatan ini cocok untuk medesain basis data yang simple
dengan jumlah atribut yang tidak banyak.
2. Pendekatan Top-Down
Digunakan pada basis data yang lebih kompleks, yang dimulai
dengan pengembangan dari model data yang mengandung
beberapa entitas dan hubungan tingkat tinggi dan kemudian
memakai perbaikan top-down berturut-turut untuk
mengidentifikasi entitas, hubungan dan atribut berkaitan tingkat
rendah. Pendekatan ini biasanya digambarkan melalui ER (Entity
Relationship). Pada tahap ini ada bagian yang disebut data
modeling yang digunakan untuk membantu pemahaman dari data
dan untuk memudahkan komunikasi tentang kebutuhan informasi.
Dengan dibuatnya model data dapat membantu memahami:
1. Pandangan tiap pemakai mengenai data
2. Kealamian data itu sendiri, kebebasan representasi fisiknya
3. Kegunaan dari data berdasarkan pandangan pemakai
33
Kriteria untuk model data, yaitu:
1. Structural validity
Konsistensi dengan cara yang didefinisikan perusahaan
dan menyusun informasi.
2. Simpicity
Kemudahan untuk pemahaman baik bagi yang profesional
di bidang sistem informasi maupun pemakai yang non teknis.
3. Expressibility
Kemampuan untuk membedakan antara data yang
berbeda, dan hubungannya antar data.
4. Nonredundancy
Pembuangan informasi yang tak ada hubungannya;
khusunya, representasi dari tiap potongan informasi tepatnya
hanya sekali.
5. Shareability
Tidak spesifik untuk aplikasi dan teknologi khusus apapun
dan dengan demikian dapat digunakan oleh banyak orang.
6. Extensibility
Kemampuan mengembangkan untuk mendukung
kebutuhan baru dengan efek yang minimal bagi pemakai yang
ada.
34
7. Integrity
Konsistensi terhadap cara yang digunakan perusahaan dan
mengatur informasi.
8. Diagramatic Representation
Kemampuan untuk merepresentasikan sebuah model
menggunakan notasi diagram yang dapat dipahami dengan
mudah.
Menurut Connoly dan Begg (2002, pp419-437) Database
Design dibagi dalam tiga tahapan, yaitu :
• Conceptual Database Design, merupakan suatu proses pembuatan
model dengan menggunakan informasi yang diperoleh dari
perusahaan, bebas dari semua physical consideration.
• Logical Database Design, merupakan suatu proses pembuatan
model dengan menggunakan informasi yang diperoleh dari
perusahaan serta berdasarkan pada model data spesifik, tetapi
bebas dari particular DBMS dan physical consideration lainnya.
• Physical Database Design, merupakan proses pembuatan
deskripsi dari suatu implementasi basis data pada secondary
storage, hal ini mendeskripsikan base relation, organisasi file, dan
indeks yang digunakan untuk mencapai efisiensi akses ke dalam
data, dan associated integrity constraints yang lainnya dan
security measure.
35
2.1.8.5 Seleksi DBMS (DBMS Selection)
Menurut Connoly dan begg (2002, p284), pemilihan DBMS
yang sesuai untuk mendukung aplikasi basis data. Yang mencakup:
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 dari mana barang ini
didapat, berapa biayanya, serta bagaimana bila ingin
mendapatkannya.
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 kesimpulan dan rekomendasi terhadap salah satu
produk DBMS.
2.1.8.6 Desain Aplikasi (Application design)
Menurut Connoly dan Begg (2002, pp287-288), perancangan
aplikasi (application design) adalah merancang antarmuka pemakai
(user interface) dan program aplikasi, yang akan memproses basis
36
data. Ditinjau dari gambar 2.1 bahwa, perancangan basis data dan
perancangan aplikasi adalah aktivitas bersamaan pada database
application lifecycle. Dalam kasus ini sebenarnya, adalah tidak
mungkin untuk menyelesaikan perancangan aplikasi sebelum
perancangan basis data selesai.
Dalam perancangan aplikasi harus memastikan semua
pernyataan fungsional dari spesifikasi kebutuhan pemakai (user
requirement spesification) yang menyangkut perancangan aplikasi
program yang mengakses basis data dan merancang transaksi yaitu
cara akses ke basis data dan perubahan terhadap isi basis data
(retrieve, update dan kegiatan keduanya). Artinya bagaimana fungsi
yang dibutuhkan bisa terpenuhi dan merancang antarmuka pemakai
(user interface) yang tepat. Antarmuka yang dirancang harus
memberikan informasi yang dibutuhkan dengan cara untuk
menciptakan ‘user-friendly’. Kebanyakan antarmuka pemakai yang
diabaikan akan niscaya membuat masalah. Bagaimanapun, antarmuka
harus diakui sebagai komponen dari sistem yang penting, dimana agar
mudah dipelajari dan mudah digunakan, sehingga pemakai akan
cenderung untuk memberdayagunakan informasi yang disajikan.
2.1.8.7 Prototyping
Pada kondisi tertentu kita dapat memilih apakah akan
membuat prototyping atau langsung mengimplementasikan aplikasi
basis data. Suatu prototype adalah suatu model aplikasi basis data
37
yang mempunyai semua corak yang diperlukan dan menyediakan
semua kemampuan sistem. Tujuan utama prototype adalah
mengijinkan para pemakai untuk menggunakan prototype itu untuk
mengetes apakah fitur-fitur pada sistem telah bekerja sesuai dengan
spesifikasi pengguna. Dengan cara ini, kita dapat memperjelas
kebutuhan pemakai dan pengembang sistem dan mengevaluasi
kelayakan desain sistem tertentu.
Ada dua cara strategi membuat prototype, yaitu requirements
prototyping dan evolutionary prototyping (Connoly, 2002, p291).
Untuk requirements prototyping digunakan prototype untuk
menentukan kebutuhan suatu aplikasi basis data yang diusulkan dan
ketika kebutuhan dirasakan sudah lengkap maka prototype tersebut
tidak digunakan lagi. Prototype evolusioner digunakan untuk tujuan
yang sama, perbedaannya adalah bahwa prototype tidaklah dibuang
tetapi dikembangkan lebih lanjut sehingga aplikasi basis data tersebut
dapat bekerja.
2.1.8.8 Implementasi (Implementation)
Menurut Connoly dan Begg (2002, p292), Implementasi
adalah realisasi fisik dari desain basis data dan desain aplikasi. Dalam
penyelesaian tahap desain (yang mungkin melibatkan prototyping),
kita sekarang berada di posisi untuk menerapkan basis data dan
program aplikasi. Penerapan basis data dicapai dengan menggunakan
38
Data Definition Language (DDL) dari DBMS yang dipilih atau
Graphical User Interface (GUI), yang menyediakan fungsi yang sama
ketika menyembunyikan pernyataan DDL tingkat rendah.
Pernyataan DDL digunakan untuk menciptakan struktur basis data
dan untuk mengosongkan file basis data. Setiap tampilan user yang
ditetapkan juga diimplementasikan pada tahapan ini. Pandangan
pemakai (user view) lainnya juga diimplementasikan dengan
menggunakan Data Manipulation Language (DML) dari sasaran
DBMS.
2.1.8.9 Data Conversion and Loading
Menurut Connoly dan Begg (2002, pp292-293), data
conversion and loading adalah mencakup pengambil data dari sistem
yang lama untuk dipindahkan kedalam sistem yang baru. Tahapan ini
dibutuhkan ketika sistem basis data baru menggantikan sistem yang
lama Pada masa sekarang, umumnya DBMS memiliki kegunaan
(utility) untuk memasukan file kedalam basis data yang baru.
Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis
data-nya. Kegunaan ini memungkinkan pengembang (developer)
untuk mengkonversi dan menggunakan aplikasi program lama untuk
digunakan oleh sistem baru. Ketika conversion and loading
dibutuhkan, prosesnya harus direncanakan untuk memastikan
kelancaran transaksi untuk keseluruhan operasi.
39
2.1.8.10 Testing
Menurut Connoly dan Begg (2002, p293), testing adalah
proses menjalankan program aplikasi untuk menemukan kesalahan-
kesalahan. Sebelum digunakan, aplikasi basis data yang baru
dikembangkan harus diuji secara menyeluruh. Untuk mencapainya
harus hati-hati dalam menggunakan perencanaan strategi uji dan
menggunakan data asli untuk semua proses pengujian. Di dalam
definisi testing ini tidak menggunakan pandangan yang biasa, testing
adalah proses demonstrasi tanpa kesalahan. Jika testing menunjukkan
keberhasilan, maka pengujian akan menemukan kesalahan pada
program aplikasi dan mungkin basis data strukturnya.
Didalam merancang basis data, users dari sistem baru
seharusnya terlibat di dalam proses testing. Situasi yang ideal untuk
melakukan uji sistem adalah menguji basis data pada perangkat keras
yang berbeda, tetapi hal ini sering tidak dilakukan. Jika data asli yang
digunakan, perlu backup untuk mengantisipasi kesalahan atau error.
Setelah testing selesai, sistem aplikasi siap digunakan dan diserahkan
ke users.
2.1.8.11 Operational Maintenance
Menurut Connoly dan Begg (2002, pp293-294) operational
maintenace adalah proses memonitor dan memelihara instalasi
sistem. Tahapan pemeliharaan melibatkan aktifitas-aktifitas sebagai
berikut :
40
• Memonitor performance dari system
• Pemeliharaan dan peningkatan level aplikasi basis data (ketika
diperlukan).
Proses monitoring berlanjut ke dalam keseluruhan hidup
aplikasi basis data dan pada waktunya mungkin menuju reorganisasi
basis data untuk memuaskan kebutuhan yang berubah. Ketika aplikasi
basis data baru dijalankan online, user harus menjalankannya secara
parallel dengan sistem yang lama untuk jangka waktu tertentu.
Operasi pengamanan ini dilakukan untuk menanggulangi masalah
yang tidak diantisipasi oleh sistem baru.
2.1.9 Desain Konseptual, Logikal, dan Fisikal Basis Data
2.1.9.1 Desain Konseptual Basis Data
Merupakan suatu proses pembuatan model dengan
menggunakan informasi yang diperoleh dari perusahaan, bebas dari
semua physical consideration. Conceptual database design
seluruhnya independent dari implementasi seperti target DBMS
software, program aplikasi, bahasa pemrograman, atau physical
consideration lainnya.
Jelasnya conceptual database design merupakan tahapan
pertama dari tahapan perancangan basis data dan menciptakan model
data konseptual (conseptual data model) dari bagian perusahaan yang
akan dibuat basis datanya. Model data (data model) dibuat dengan
41
menggunakan suatu dokumentasi informasi yaitu spesifikasi
kebutuhan yang dimiliki oleh user.
Membangun model data local konseptual, tujuannya untuk
membangun suatu model data konseptual local dari suatu perusahaan
atau institusi lain. Langkah-langkah untuk membuat model data
konseptual dapat digambarkan sebagai berikut:
1. Identify entity types
Untuk menentukan entitas utama yang dibutuhkan, dengan
kata lain membuat kelas-kelas dari objek-objek yang ada berikut
penjelasannya. Misalkan:
Staff, yang menggambarkan seluruh tingkatan staff yang ada.
PropertyForRent, menggambarkan semua property yang
disewakan.
2. Identify relationship types
Untuk menentukan hubungan-hubungan penting yang ada
antara jenis-jenis entitas yang telah didefinisikan. Misalkan:
• Staff Manages PropertyForRent, yaitu staff mengatur entitas
property
• PrivateOwner Owns PropertyForRent, yaitu entitas
PropertyOwner memiliki yang ada pada entitas
PropertyForRent
• PropertyForRent AssociatedWith Lease, yaitu entitas
ProperyForRent saling bekerja sama dengan entitas Lease.
42
Biasanya dilanjutkan dengan membuat diagram hubungan
tersebut yang disebut ER diagram serta menentukan hubungan
kemajemukannya.
3. Identify and associate attributes with entity or relationship types
Untuk menentukan atribut yang berkaitan dengan entitas yang
telah ditentukan. Misalkan untuk entitas staff ditentukan atribut
seperti staffNo(yang mengandung nomor-nomor kode setiap staf),
name, position,sex. Begitu pun untuk setiap entitas lainnya.
4. Determine attribute domains
Untuk menentukan atribut yang berkaitan dengan entitas yang
telah ditentukan. Misalkan untuk entitas staff ditentukan atribut
seperti staffNo(yang mengandung nomor-nomor kode setiap staf),
name, position,sex. Begitu pun untuk setiap entitas lainnya.
5. Determine candidate and primary key attributes
Untuk mengidentifikasi candidate key dan primary key dari
kumpulan atribut pada tiap-tiap entitas. Primary key merupakan
satu atribut yang dipakai sebagai ciri khas dari suatu entitas.
Misalkan pada entitas Staff primary key-nya adalah staffno yang
mewakili atribut lainnya, sehingga pada saat kita mengakses suatu
basis data hanya dengan memasukan nilai staffno kita dapat
mengetahui nilai-nilai atribut lainnya yang ada dalam entitas Staff.
6. Consider use of enhanced modeling concepts (optional)
Memikirkan kegunaan dari model konsep yang telah
dikembangkan. Tahap ini tidak perlu pembahasan lebih lanjut
43
dikarenakan hanya merupakan langkah tambahan saja, boleh
dilakukan boleh juga tidak.
7. Check model for redudancy
Untuk memeriksa kelebihan entitas maupun atribut yang ada
pada model tersebut. Pertama yang dilakukan adalah memeriksa
kembali hubungan yang ada apabila terdapat suatu hubungan yang
mirip misalnya entitas klien dengan entitas penyewa yang
memiliki hubungan dengan ke satu entitas tapi dengan jenis
hubungan yang sama yaitu menyewa. Langkah kedua yaitu
menggabungkan kedua entitas yang dianggap memiliki kesamaan
dan bisa digabung.
8. Validate local conceptual model against user transactions
Untuk memastikan bahwa model konsep tersebut mendukung
proses transaksi yang dibutuhkan. Misalkan menggambarkan
transaksi dengan memeriksa semua informasi yang ada.
Contohnya dengan adanya hubungan Staff manages
PropertForRent kita dapat mengetahui detil dari property dan staf
yang menangani property tersebut.
9. Review local conceptual data model with user
Untuk mengkaji ulang model konsep yang telah kita buat
dengan pemakai sehingga para pemakainya dapat memahami
maksud basis data yang telah dibuat.
44
2.1.9.2 Desain Logikal Basis Data
Merupakan suatu proses pembuatan model dengan
menggunakan informasi yang diperoleh dari perusahaan serta
berdasarkan pada model data spesifik, tetapi bebas dari particular
DBMS dan physical consideration lainnya. Model data konseptual
yang dibangun pada fase sebelumnya diperhalus dan dipetakan pada
model data logical. Model data logical didasarkan pada target model
data untuk basis data (sebagai contoh : model data relasional). Model
data logical merupakan sumber informasi untuk fase selanjutnya,
yang dinamakan physical database design. Aktivitas pada logical
database design adalah terdiri dari dua langkah besar, dimana
langkah pertama adalah membangun sebuah model data logical local
dari model data konseptual local yang menggambarkan pandangan
(view) tertentu dari perusahaan dan kemudian mengesahkan model ini
untuk memastikan strukturnya telah benar atau menggunakan teknik
normalisasi. Sedangkan langkah kedua atau langkah selanjutnya
adalah untuk mengkombinasikan model data logical local individual
ke dalam sebuah model data logical global tunggal yang
menggambarkan perusahaan.
Hasil akhir dari tahapan ini berupa kamus data yang berisi
semua atribut beserta key-nya (primary key, alternate key dan foreign
key) dan ERD keseluruhan (relasi global) dengan semua atribut key-
nya.
45
2.1.9.3 Desain Fisikal Basis Data
Merupakan proses pembuatan deskripsi dari suatu
implementasi basis data pada secondary storage. Hal ini
mendeskripsikan base relation, organisasi file, dan indeks yang
digunakan untuk mencapai efisiensi akses kedalam data, dan
associated integrity constrains yang lainnya dan security measures.
Physical database design merupakan fase ketiga dan terakhir dari
proses desain basis data. Dimana desainer memutuskan bagaimna
basis data tersebut diimplementasikan. Secara garis besar, tujuan
utama dari physical database design adalah untuk mendeskripsikan
bagaimana desainer bermaksud untuk mengimplementasikan secara
fisik dari logical database design.
Tujuan utama dari physical database design adalah untuk
mendeskripsikan bagaimana perancang bermaksud untuk
mengimplementasikan secara fisik dari logical database design.
Untuk model relational, meliputi:
1. membuat sejumlah atau kumpulan table relasional dan constraints
pada table tersebut dari informasi yang didapatkan dalam model
data logical(logical data model).
2. Mengidentifikasi struktur penyimpanan tertentu dan metode akses
terhadap data untuk mencapai performa optimal dari sistem basis
data.
3. Merancang proteksi keamanan untuk sistem.
46
2.1.10 Database Security
Pertimbangan penerapan keamanan tidak hanya pada data dalam
suatu basis data : pelanggaran atas keamanan mungkin akan
mempengaruhi bagian lain dari sistem, yang mana mungkin akan
memepengaruhi basis data itu. Keamanan basis data meliputi perangkat
keras, perangkat lunak, data dan orang. Secara efektif menerapkan
keamanan basis data memerlukan kontrol yang tepat. Kebutuhan ini
sering dilalaikan atau dilewatkan di masa lalu, kini sistem keamanan
semakin dikenali oleh organisasi. Alasan untuk perubahan ini adalah
terus meningkatnya sejumlah data penting yang disimpan pada komputer
dan membahayakan perusahaan bila tidak disediakan sistem keamanan
untuk data penting ini.
Suatu basis data mempresentasikan sumber daya penting yang
harus dipastikan keamanan untuk kontrol yang tepat. Kita
mempertimbangkan keamanan untuk data penting ini :
1. Pencurian data
2. Hilangnya kerahasiaan
3. Hilangnya privasi
4. Hilangnya integritas
47
2.1.11 DFD (Data Flow Diagram)
Pengertian DFD menurut Whitten, Bentley, dan Dittman (2004, p548)
adalah sebuah alat yang dapat digunakan untuk menggambarkan aliran
data yang melalui sebuah sistem dan kerja atau proses yang dilakukan
oleh sistem tersebut. Di dalam DFD terdapat hanya tiga simbol dan satu
koneksi yaitu :
1. Rounded rectangles menggambarkan proses–proses atau
pekerjaan yang akan dilakukan.
2. Square menggambarkan external agents atau batasan dari
sistem.
3. Open-ended boxes menggambarkan data stores, kadang-
kadang disebut file-file atau database.
4. Arrow menggambarkan aliran data, atau input-input atau
output-output ke dan dari proses.
2.2 Teori-teori Pembelian dan Persediaan
2.2.1 Pembelian
2.2.1.1 Definisi Pembelian
Pembelian dilakukan untuk memenuhi kebutuhan. Pemenuhan
kebutuhan tersebut ada dua macam :
1. Dikonsumsikan, umumnya oleh perusahaan industri dan rumah
tangga.
48
2. Dijual kembali, meskipun tujuannya berbeda, bagaimanapun
sifatnya adalah membali barang dan jasa sesuai dengan
kebutuhan.
Menurut Mulyadi (2001, p299), pembelian adalah suatu usaha
yang digunakan dalam perusahaan untuk pengadaan barang yang
diperlukan oleh perusahaan.
2.2.1.2 Jenis-Jenis Pembelian
Berdasarkan jenis transaksinya, pembelian dibedakan menjadi
dua, yaitu:
1. Pembelian tunai, yaitu jenis transaksi dimana pembayaran
langsung dilakukan pada saat penerimaan barang.
2. Pembelian kredit, yaitu jenis transaksi dimana pembayaran tidak
dilakukan pada saat penyerahan barang, tetapi dilakukan selang
beberapa waktu sesuai perjanjian dengan pihak pemasok.
Sedangkan berdasarkan jenis pemasok, pembelian dapat
dibedakan menjadi dua, yaitu:
1. Pembelian lokal, yaitu pembelian yang dilakukan dari pemasok
dalam negeri.
2. Pembelian impor, yaitu pembelian yang dilakukan dari pemasok
luar negeri.
49
2.2.1.3 Fungsi Yang Terkait Dalam Pembelian
Menurut Mulyadi (2001, p300) fungsi yang terkait dalam
sistem pembelian adalah :
1. Fungsi gudang, bertanggung jawab untuk mengajukan permintaan
pembelian sesuai dengan posisi persediaan yang ada di gudang
dan untuk menyimpan barang yang telah diterima oleh fungsi
penerimaan.
2. Fungsi pembelian, bertanggung jawab untuk memperoleh
informasi mengenai harga barang, menentukan pemasok yang
dipilih dalam pengadaan barang, dan mengeluarkan purchase
order kepada pemasok yang dipilih.
3. Fungsi penerimaan, bertanggung jawab untuk melakukan
pemeriksaan terhadap jenis, mutu, kuantitas bahan yang diterima
dari pemasok guna menentukan dapat tidaknya barang tersebut
diterima oleh perusahaan.
4. Fungsi akuntansi yang berkaitan dengan transaksi pembelian
adalah fungsi pencatatan hutang yang bertanggung jawab untuk
mencatat transaksi pembelian ke register bukti kas keluar untuk
menyelenggarakan arsip dokumen sumber bukti kas keluar yang
berfungsi sebagai catatan hutang atau menyelenggarakan kartu
hutang sebagai buku pembantu hutang.
50
2.2.1.4 Jaringan Prosedur Yang Membentuk Sistem Pembelian
Menurut Mulyadi (2001, pp301-303), jaringan prosedur yang
membentuk sistem pembelian adalah :
1. Prosedur permintaan pembelian dalam form surat permintaan
pembelian kepada fungsi pembelian.
2. Prosedur permintaan penawaran harga dan pemilihan pemasok,
fungsi pembelian mengirim surat permintaan penawaran harga
kepada pemasok untuk memperoleh informasi mengenai harga
barang dan berbagai syarat pembelian yang lain untuk
memungkinkan pemilihan pemasok yang akan ditunjuk sebagai
pemasok barang yang diperlukan oleh perusahaan.
3. Prosedur order pembelian, fungsi pembelian mengirim surat order
pembelian kepada pemasok yang dipilih dan memberitahukan
kepada unit-unit organisasi lain dalam perusahaan mengenai order
pembelian yang telah dikeluarkan oleh perusahaan.
4. Prosedur penerimaan barang, dalam prosedur ini fungsi
penerimaan barang melakukan pemeriksaan mengenai jenis,
kuantitas, dan mutu bahan yang diterima dari pemasok dan
kemudian membuat laporan penerimaan barang untuk
menyatakan penerimaan barang dari pemasok tersebut.
5. Prosedur pencatatan utang, dalam prosedur ini, fungsi akuntansi
memeriksa dokumen-dokumen yang berhubungan dengan
pembelian (surat order pembelian, laporan penerimaan barang,
51
faktur dari pemasok) dan menyelenggarakan pencatatan ulang
atau pengarsipan dokumen sumber sebagai catatan hutang.
6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi
rekening yang didebet dari transaksi pembelian untuk kepentingan
pembuatan laporan manajemen.
2.2.1.5 Dokumen Yang Digunakan Dalam Kegiatan Pembelian
Menurut Mulyadi (2001, pp303 – 308) dokumen yang
digunakan dalam kegiatan pembelian adalah :
1. Surat permintaan pembelian, formulir ini diisi oleh fungsi gudang
atau fungsi pemakai barang untuk meminta fungsi pembelian
melakukan pembelian barang untuk meminta fungsi pembelian
melakukan pembelian barang dengan jenis, jumlah dan mutu
seperti yang disebutkan dalam surat tersebut, dan biasanya terdiri
dari 2 lembar untuk setiap permintaan, satu lembar untuk fungsi
pembelian dan tembusannya untuk arsip fungsi yang meminta
barang.
2. Surat permintaan penawaran harga, digunakan untuk meminta
penawaran harga bagi barang yang pengadaannya tidak bersifat
berulang kali terjadi, yang menyangkut jumlah rupiah pembelian
yang besar.
3. Surat order pembelian, digunakan untuk memesan barang kepada
pemasok yang telah dipilih.
52
4. Laporan penerimaan barang, dokumen ini dibuat oleh fungsi
penerimaan untuk menunjukkan bahwa barang yang diterima dari
pemasok telah memenuhi jenis, spesifikasi, dan kuantitas seperti
yang tercantum dalam surat order pembelian.
5. Surat perubahan order pembelian, digunakan untuk bila terjadi
perubahan terhadap isi surat order pembelian yang sebelumnya
telah diterbitkan.
6. Bukti kas keluar, dokumen ini dibuat oleh fungsi akuntansi untuk
dasar pencatatan transaksi pembelian dan juga berfungsi sebagai
perintah pengeluaran kas untuk pembayaran hutang kepada
pemasok dan sekaligus berfungsi sebagai surat pemberitahuaan
kepada kreditur mengenai maksud pembayaran.
2.2.2 Persediaan
2.2.2.1 Definisi Persediaan
Menurut Ronald G.A dan Jeffrey B.G (2003, p28), persediaan
adalah kumpulan barang-barang fisik yang akan digunakan untuk
produksi. Persediaan dimulai dari pengiriman bahan mentah dan
bagian-bagiannya dari supplier dan berakhir dengan pengiriman
barang jadi ke pelanggan.
Menurut Mulyadi (2001, p553), sistem akuntansi persediaan
bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan
di gudang. Persediaan dalam perusahaan manufaktur, persediaan
terdiri dari : persediaan produk jadi, persediaan produk dalam proses,
53
persediaan bahan baku, persediaan bahan penolong, persediaan bahan
habis pakai pabrik, persediaan suku cadang. Persediaan dalam
perusahaan dagang, persediaan hanya terdiri dari satu golongan, yaitu
: persediaan barang dagangan, yang merupakan barang yang dibeli
untuk tujuan dijual kembali.
Dengan demikian dapat disimpulkan bahwa persediaan adalah
barang-barang yang dibeli untuk diproduksi, serta dijual kembali dan
habis dipakai oleh perusahaan.
2.2.2.2 Metode Pencatatan Persediaan
Menurut Mulyadi (2001, p556), ada dua macam metode
pencatatan persediaan :
1. Metode Mutasi Persediaan (perpetual inventory method)
Dalam metode mutasi persediaan, setiap mutasi persediaan
dicatat dalam kartu persediaan.
2. Metode Persediaan Fisik (physical inventory method)
Dalam metode persediaan fisik, hanya tambahan persediaan
dari pembelian saja yang dicatat, sedangkan mutasi berkurangnya
persediaan karena pemakaian tidak dicatat dalam kartu
persediaan.
2.2.2.3 Fungsi Yang Terkait
Menurut Mulyadi (2001, pp579-580), fungsi yang terkait
dalam perhitungan fisik persediaan adalah :
54
1. Panitia Perhitungan Fisik Persediaan
Panitia ini berfungsi untuk melaksanakan perhitungan fisik
persediaan dan menyerahkan hasil perhitungan tersebut kepada
bagian kartu persediaan untuk digunakan sebagai dasar
adjustment terhadap catatan persediaan dalam kartu persediaan.
2. Fungsi Akuntansi
Dalam sistem penghitungan fisik persediaan, fungsi ini
bertanggung jawab untuk :
a. Mencantumkan harga pokok satuan persediaan yang
dihitung ke dalam daftar hasil penghitungan fisik
b. Mengalikan kuantitas dan harga pokok per satuan yang
tercantum dalam daftar hasil penghitungan fisik
c. Mencantumkan harga pokok total dalam daftar hasil
penghitungan fisik
d. Melakukan adjustment terhadap kartu persediaan
berdasarkan data hasil penghitungan fisik persediaan
e. Membuat bukti memorial untuk mencatat adjustment data
persediaan dalam jurnal umum berdasarkan hasil
penghitungan fisik persediaan
3. Fungsi Gudang
Dalam sistem penghitungan fisik persediaan, fungsi gudang
bertanggung jawab untuk melakukan adjustment data kuantitas
persediaan yang dicatat dalam kartu gudang berdasarkan hasil
penghitungan fisik persediaan.
55
2.2.2.4 Sistem Dan Prosedur Yang Bersangkutan Dengan Sistem
Akuntansi Persediaan
Sistem dan prosedur yang bersangkutan dengan sistem
akuntansi persediaan adalah :
1. Prosedur Pencatatan Produk Jadi
Dalam prosedur ini dicatat harga pokok produk jadi yang
didebitkan kedalam rekening persediaan produk jadi dan
dikreditkan kedalam rekening barang dalam proses.
2. Prosedur Pencatatan Harga Pokok Produk Jadi Yang Dijual
Prosedur ini merupakan salah satu prosedur dalam sistem
penjualan disamping prosedur lainnya, seperti : prosedur order
penjualan, prosedur persetujuan kredit, prosedur pengiriman
barang, prosedur penagihan, prosedur pencatatan piutang.
3. Prosedur Pencatatan Harga Pokok Produk jadi Yang Diterima
Kembali Dari Pembeli
Jika produk jadi yang telah dijual dikembalikan oleh pembeli,
maka transaksi retur penjualan ini akan mempengaruhi persediaan
produk jadi, yaitu menambah kuantitas produk jadi dalam kartu
gudang yang diselengarakan oleh bagian gudang dan menambah
kuantitas dan harga pokok produk jadi yang dicatat oleh bagian
kartu persediaan dalam kartu persediaan produk jadi. Prosedur ini
merupakan salah satu prosedur yang membentuk sistem retur
penjualan.
56
4. Prosedur Pencatatan Harga Pokok Persediaan Produk Dalam
Proses
Pencatatan persediaan produk dalam proses umumnya
dilakukan oleh perusahaan pada akhir periode, pada saat dibuat
laporan keuangan bulanan dan laporan keuangan tahunan.
5. Prosedur Pencatatan Harga Pokok Persediaan Yang Dibeli
Prosedur ini merupakan salah satu prosedur yang membentuk
sistem pembelian. Dalam prosedur ini dicatat harga pokok
persediaan yang dibeli.
6. Prosedur Pencatatan Harga Pokok Persediaan Yang Dikembalikan
Kepada Pemasok
Jika persediaan yang telah dibeli dikembalikan kepada
pemasok, maka transaksi retur pembelian ini akan mempengaruhi
persediaan yang bersangkutan, yaitu : mengurangi kuantitas
persediaan dalam suatu gudang yang diselengarakan oleh gudang
dan mengurangi kuantitas dan harga pokok persediaan, yang
dicatat oleh bagian kartu persediaan dalam kartu persediaan yang
bersangkutan. Prosedur ini merupakan salah satu prosedur yang
membentuk sistem retur pembelian.
7. Prosedur Permintaan Dan Pengeluaran Barang Gudang
Prosedur ini merupakan salah satu prosedur yang membentuk
sistem akuntansi biaya produksi. Dalam prosedur ini dicatat harga
pokok persediaan bahan baku, bahan penolong, bahan habis pakai
57
pabrik, dan suku cadang yang dipakai dalam kegiatan produksi
dan kegiatan non produksi.
8. Prosedur Pengembalian Barang Gudang
Transaksi pengembalian barang gudang mengurangi biaya dan
menambah persediaan barang di gudang.
9. Sistem Perhitungan Fisik Persediaan
Sistem penghitungan fisik persediaan umumnya digunakan
oleh perusahaan untuk menghitung secara fisik persediaan yang
disimpan di gudang, yang hasilnya digunakan untuk meminta
pertanggungjawaban bagian gudang mengenai pelakasanaan
fungsi penyimpanan, dan pertanggungjawaban bagian kartu
persediaan mengenai keandalan catatan persediaan yang
diselengarakannya, serta untuk melakukan penyesuaian atau
adjustment terhadap catatan persediaan di bagian kartu
persediaan. Dalam bagian ini diuraikan sistem penghitungan fisik
persediaan yang merupakan salah satu unsur pengendalian interen
melekat terhadap persediaan
2.2.2.5 Tipe-Tipe Persediaan
Menurut Ronald G.A dan Jeffrey B.G (2003, pp29-30), tipe-
tipe persediaan antara lain :
1. Persediaan Bahan mentah
Disimpan untuk memastikan ketersediaannya untuk produksi.
Bahan mentah yang tidak mahal, yang sangat penting dalam
58
proses produksi sering disimpan dalam kuantitas yang besar pada
batasannya.
2. Persediaan Barang Jadi
Merupakan produk yang sudah jadi yang menunggu untuk
dikirim kepada pelanggan. Ini termasuk barang dalam gudang,
dan juga dalam retail outlet, dan bahkan yang berada dalam peti
kemas yang siap untuk dikirim.
3. Persediaan Work-In-Process (WIP)
Terdiri dari kumpulan produk yang setengah jadi dalam
produksi. Ini termasuk kumpulan material dan bagian purchase
part dari waktu mereka dilepas di toko sampai dengan mereka
selesai disahkan sebagai good status. persediaanWIP menunggu
urutannya untuk digunakan dalam mesin atau dipindahkan
diantara pabrik.
4. Persediaan Pipeline
Terdiri dari barang-barang yang berada dalam pengiriman
menuju pelanggan atau gudang. Dalam hal ini, termasuk bahan
mentah yang sedang dikirim dengan pesawat, dan barang jadi
yang berada di kapal untuk dikirim ke gudang atau pelanggan.
2.2.2.6 Dokumen Yang Digunakan Dalam Kegiatan Persediaan
Dokumen–dokumen yang digunakan dalam kegiatan
persediaan antara lain adalah sebagai berikut :
59
1. Laporan produk selesai.
2. Bukti memorial.
3. Surat order pengiriman.
4. Faktur penjualan.
5. Laporan penerimaan barang.
6. Laporan pengiriman barang.
7. Bukti kas keluar.
8. Memo kredit.
9. Memo debit.
10. Bukti permintaan dan pengeluaran barang gudang.
11. Bukti pengembalian barang gudang.
12. Kartu perhitungan fisik
13. Daftar hasil perhitungan fisik.