BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1
Pengertian Data M enurut Whitten-Bentley-Dittman (2004, p27), data merupakan fakta mentah mengenai orang, tempat, kejadian, dan hal-hal penting di dalam sebuah organisasi dimana fakta-fakta tersebut tidak memiliki pengertian yang berarti.
2.1.2
Pengertian Basis Data M enurut Connolly-Begg (2005, p15), basis data merupakan kumpulan data yang terhubung secara logikal dan merupakan sebuah gambaran dari data yang dirancang untuk mencapai kebutuhan informasi dari sebuah organisasi. M enurut Ramakrishnan-Gehrke (2003, p4), basis data merupakan kumpulan data, biasanya menggambarkan aktivitas dari satu atau lebih organisasi yang saling berhubungan.
2.1.3
Pengertian Sistem Basis Data M enurut
Connolly-Begg (2005,
p15),
sistem basis
data
merupakan sekumpulan dari program aplikasi yang berinteraksi dengan basis data bersama dengan Database Management System (DBM S) dan basis data itu sendiri.
6
7 2.1.4
Pengertian Database Management System (DBMS ) M enurut Connolly-Begg (2005, p16), DBM S merupakan sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membentuk, memelihara, dan mengatur akses ke basis data. M enurut Ramakrishnan-Gehrke (2003, p4), DBM S merupakan perangkat lunak yang dirancang untuk membantu dalam memelihara dan menggunakan sekumpulan besar data. M enurut
Whitten-Bentley-Dittman
(2004,
p550),
DBM S
merupakan perangkat lunak khusus yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah basis data. 2.1.5
Fungsi DBMS M enurut Connolly-Begg (2005, p48), fungsi daripada DBM S, antara lain : •
M enyimpan, menampilkan, dan mengubah data DBM S melengkapi pengguna dengan kemampuan untuk menyimpan, menampilkan, dan mengubah data di dalam basis data dengan menyembunyikan detil implementasi fisikal internal DBM S.
•
M enyediakan user-accessible catalog DBM S melengkapi pengguna dengan sebuah katalog dimana deskripsi data disimpan di dalamnya dan dapat diakses oleh pengguna. Hal-hal yang disimpan dalam sistem katalog, antara lain : - Nama, tipe, dan ukuran data - Nama dari relasi antar entitas - Batasan integritas dalam data
8 - Nama pengguna yang memiliki hak akses ke basis data - Data yang dapat diakses pengguna dan tipe hak akses - Skema eksternal, konseptual, internal serta pemetaan antar skema - Statistik pemakaian •
M endukung transaksi DBM S melengkapi pengguna dengan sebuah mekanisme yang memastikan semua perubahan yang berhubungan dengan transaksi telah terjadi.
•
M emberi layanan kontrol konkurensi DBM S melengkapi pengguna dengan sebuah mekanisme untuk memastikan bahwa basis data telah diubah dengan benar ketika beberapa pengguna tengah mengubah basis data secara bersamaan.
•
M emberi layanan perbaikan DBM S melengkapi pengguna dengan sebuah mekanisme untuk memperbaiki basis data di tengah sebuah kejadian dimana basis data bermasalah.
•
M emberi layanan otorisasi DBM S melengkapi pengguna dengan sebuah mekanisme untuk memastikan bahwa hanya pengguna yang memiliki hak akses yang dapat mengakses basis data.
•
M endukung komunikasi data DBM S mampu terintegrasi dengan perangkat lunak untuk komunikasi data.
9 •
M emberi layanan integritas DBM S melengkapi pengguna dengan sebuah alat untuk memastikan bahwa baik data dalam basis data dan perubahan data mengikuti peraturan yang berlaku.
•
M emberi kemampuan independensi data DBM S memiliki fasilitas untuk mendukung independensi program dari struktur basis data.
•
M emberi layanan utilitas DBM S menyediakan sekumpulan layanan utilitas, seperti : - Fasilitas monitoring - Program analisis statistik - Fasilitas pengaturan ulang indeks - Garbage collection dan realokasi
2.1.6
Fasilitas DBMS M enurut Connolly-Begg (2005, p16), fasilitas yang disediakan oleh DBM S antara lain : a. Data Definiton Language (DDL) yang memungkinkan pengguna untuk menspesifikasikan tipe dan struktur data, serta batasan pada data yang disimpan dalam basis data. b. Data Manipulation Language (DM L) yang memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan menampilkan data dari basis data.
10 c. Kontrol akses ke sebuah basis data yang terdiri dari sistem sekuritas yang mencegah pengguna yang tidak memiliki hak akses untuk mengakses basis data, sistem integritas yang menjaga konsistensi data yang disimpan, sistem kontrol konkurensi yang mengijinkan pembagian pemakaian basis data, sistem kontrol perbaikan yang mengembalikan basis data ke kondisi awal jika terjadi masalah pada perangkat lunak atau perangkat keras, dan katalog deskripsi data. d. M ekanisme view yang berguna untuk menampilkan data yang hanya diperlukan oleh pengguna. 2.1.7
Komponen DBMS M enurut Connolly-Begg (2005, p19), komponen-komponen DBM S antara lain : a. Perangkat keras, yang berfungsi untuk menjalankan DBM S dan aplikasi yang dapat berupa personal computer, mainframe, hingga jaringan komputer. b. Perangkat lunak, yang terdiri dari DBM S itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBM S digunakan melalui jaringan. c. Data, yang berfungsi sebagai jembatan antara komponen mesin dengan komponen manusia. d. Prosedur, yang merupakan instruksi dan peraturan yang menentukan rancangan dan penggunaan basis data. e. M anusia, yang terdiri dari data and database administrator, database designer, application developer, dan end-user.
11 2.1.8
Kelebihan DBMS M enurut Connolly-Begg (2005, p26), kelebihan dari DBM S antara lain : a. Kontrol redundansi data : DBM S mengurangi kemungkinan adanya data yang sama dalam sebuah basis data. b. Konsistensi data : DBM S menjaga agar data yang ada dalam basis data sesuai dengan data baru yang telah diubah sebelumnya. c. Informasi lebih dari jumlah data yang sama : dengan adanya integrasi dari data-data operasional yang ada, memungkinkan untuk pihak organisasi mendapatkan informasi tambahan dari data-data yang sama. d. Share data : DBM S memungkinkan lebih banyak pengguna yang mengakses data karena basis data dimiliki oleh keseluruhan organisasi. e. M eningkatkan integritas data : DBM S meningkatkan validitas dan konsistensi data yang disimpan. f. M eningkatkan sekuritas : DBM S menjaga keamanan basis data dari pengguna yang tidak memiliki hak akses. g. M enjalankan
standar
:
integrasi
memungkinkan
database
administrator untuk menjalankan standar yang diperlukan seperti format data untuk memfasilitasi pertukaran data antar sistem, penamaan peraturan, standar dokumentasi, prosedur update, dan peraturan hak akses.
12 h. Skala ekonomi : dengan menggunakan DBM S, menggabungkan seluruh data operasional organisasi ke dalam sebuah basis data, dan menciptakan sekumpulan aplikasi yang bekerja pada satu sumber data ini, dapat menghasilkan penghematan biaya. i. Keseimbangan kebutuhan yang saling bertentangan : DBM S memungkinkan database administrator dapat membuat keputusan tentang rancangan dan penggunaan basis data untuk memberikan penggunaan sumber daya terbaik untuk keseluruhan organisasi jika ada kebutuhan yang bertentangan antar pengguna. j. M eningkatkan kemampuan akses dan respon : DBM S memungkinkan data yang melalui batasan departemen dapat langsung diakses oleh end-user. k. M eningkatkan produktivitas : DBM S menyediakan alat untuk memudahkan penggunaan basis data dan pengembangan aplikasi basis data. l. M eningkatkan perawatan melalui independensi data : DBM S memisahkan deskripsi data dari aplikasi yang menyebabkan aplikasi tidak terpengaruh oleh perubahan deskripsi data. m. M eningkatkan konkurensi : DBM S memungkinkan dua atau lebih pengguna mengakses basis data pada saat yang bersamaan. n. M eningkatkan layanan backup dan recovery : DBM S menyediakan fasilitas untuk meminimalisir jumlah pemrosesan yang hilang akibat permasalahan yang terjadi.
13 2.1.9
Database Application Life Cycle (DBLC) M enurut Connolly-Begg (2005, p283), basis data merupakan komponen
dasar
sistem informasi,
dimana pengembangan
dan
penggunaannya harus dilihat dari perspektif kebutuhan yang lebih luas dari perusahaan. Tahapan database application life cycle adalah :
Gambar 2.1 Database Application Life Cycle 1. Perencanaan Basis Data M enurut Connolly-Begg (2005, p285), perencanaan basis data adalah sebuah aktivitas manajemen yang mengijinkan tahapan
14 aplikasi basis data direalisasikan seefisien dan seefektif mungkin. Perencanaan sistem basis data harus terintegrasi dengan keseluruhan strategi sistem informasi dalam perusahaan. Terdapat tiga hal utama yang berkaitan dengan penyusunan strategi sistem informasi, yaitu : •
Identifikasi rencana dan tujuan perusahaan termasuk sistem informasi yang dibutuhkan,
•
Evaluasi sistem informasi yang ada untuk menentukan kekuatan dan kelemahan yang dimiliki,
•
Penilaian terhadap peluang teknologi informasi yang mungkin dapat memberikan keuntungan yang kompetitif.
2. Definisi Sistem M enurut
Connolly-Begg (2005,
p286), definisi sistem
mendeskripsikan cakupan dan batasan-batasan dari aplikasi basis data dan garis besar dari user view. User view mendefinisikan apa yang dibutuhkan aplikasi basis data dari perspektif peran kerja tertentu (seperti M anajer atau Supervisor) atau area aplikasi perusahaan (seperti marketing, personal, atau kontrol stok). Suatu aplikasi basis data dapat memiliki satu atau lebih user view.
Identifikasi
user
view
adalah
aspek
penting
dalam
pengembangan aplikasi basis data karena membantu menjamin tidak ada pengguna utama dari suatu basis data yang terlupakan ketika membangun kebutuhan-kebutuhan untuk aplikasi yang baru. User view juga membantu dalam pengembangan aplikasi basis data yang
15 kompleks dimana memungkinkan kebutuhan-kebutuhan dipecah menjadi bagian-bagian yang lebih mudah diatur.
Gambar 2.2 Multiple User View 3. Pengumpulan Kebutuhan dan Analisa M enurut
Connolly-Begg
(2005,
p288),
pengumpulan
kebutuhan dan analisa adalah proses mengumpulkan dan menganalisa informasi tentang bagian dari perusahaan yang didukung oleh aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna untuk sistem yang baru. Informasi yang dikumpulkan dari setiap user view yang penting, yaitu: •
Deskripsi dari data yang digunakan atau dihasilkan
•
Detil mengenai bagaimana data digunakan atau dihasilkan
•
Tambahan kebutuhan untuk aplikasi basis data yang baru
4. Perancangan Basis Data M enurut Connolly-Begg (2005, p291), perancangan basis data adalah proses membuat desain untuk basis data yang akan digunakan
16 untuk mendukung operasi dan tujuan perusahaan. Ada dua jenis pendekatan dalam merancang basis data, yaitu : •
Pendekatan bottom-up Pendekatan ini dimulai dari tingkatan dasar dari atribut, dimana melalui analisa antara asosiasi dan atribut, yang dikelompokkan ke dalam relasi yang merepresentasi tipe dari entitas dan hubungan antara entitas.
•
Pendekatan top-down Pendekatan ini dimulai dengan pengembangan model data yang mengandung beberapa high-level entities dan relationship yang kemudian dilakukan penyaringan untuk mengidentifikasi lowerlevel entities, relationship, dan atribut yang berhubungan.
5. Pemilihan DBMS M enurut Connolly-Begg (2005, p295), pemilihan DBM S adalah proses menyeleksi DBM S yang sesuai untuk mendukung aplikasi basis data. 6. Perancangan Aplikasi M enurut Connolly-Begg (2005, p299), perancangan aplikasi adalah proses perancangan tampilan pengguna dan program aplikasi yang menggunakan dan memproses basis data. 7. Prototipe M enurut Connolly-Begg (2005, p303), prototipe adalah pembangunan sebuah model dari aplikasi basis data. Tujuannya untuk memungkinkan pengguna menggunakan prototipe dalam meng-
17 identifikasi fitur-fitur yang terdapat pada sistem yang berjalan dengan baik atau tidak, dan apabila memungkinkan dapat menyarankan perbaikan atau pembuatan fitur baru pada aplikasi basis data. 8. Implementasi M enurut Connolly-Begg (2005, p304), implementasi adalah realisasi fis ik dari basis data dan perancangan aplikasi. Implementasi basis data dapat dilakukan dengan menggunakan Data Definition Language (DDL) dari DBM S yang terpilih atau Graphical User Interface
(GUI).
User
view
yang
sudah
ditentukan
juga
diimplementasi pada tahap ini. 9. Data Conversion and Loading M enurut Connolly-Begg (2005, p305), data conversion and loading adalah proses memindahkan semua data yang ada ke dalam basis data yang baru dan mengubah semua aplikasi yang ada untuk dijalankan pada basis data yang baru. Tahap ini dibutuhkan hanya ketika sistem basis data yang baru menggantikan sistem yang lama. DBM S pada umumnya memiliki kemampuan untuk memanggil ulang file yang sudah ada ke dalam basis data yang baru. 10. Pengujian M enurut Connolly-Begg (2005, p305), pengujian adalah proses mengeksekusi program aplikasi dengan
tujuan
untuk
menemukan kesalahan. Dalam perancangan basis data, pengguna dari sistem yang baru harus terlibat dalam proses pengujian.
18 11. Pemeliharaan Operasional M enurut
Connolly-Begg
(2005,
p306),
pemeliharaan
operasional adalah proses memonitor dan merawat sistem setelah instalasi dilakukan. Tahap ini melibatkan beberapa aktifitas, yaitu: •
M emonitor performa sistem. Jika performa turun maka perbaikan atau pengaturan ulang basis data mungkin diperlukan.
•
M emelihara dan meng-upgrade aplikasi basis data ketika dibutuhkan. Kebutuhan yang baru digabungkan ke dalam aplikasi basis
data melalui tahapan
sebelumnya dalam database
application life cycle. 2.1.10 Pemodelan Entity Relationship 1. Entitas M enurut Connolly-Begg (2005, p343), entitas merupakan sekumpulan obyek dengan sifat atau properti yang sama, yang diidentifikasikan oleh perusahaan dan memiliki keberadaan yang independen. Keberadaannya dapat bersifat nyata atau abstrak.
Gambar 2.3 Representasi dari Entitas 2. Atribut M enurut Connolly-Begg (2005, p350), atribut merupakan properti dari sebuah entitas.
19 -
Simple attribute : atribut yang terdiri dari komponen tunggal dengan keberadaan yang independen.
-
Single-valued attribute : atribut yang memegang nilai tunggal untuk tiap kejadian dari sebuah entitas.
-
Multi-valued attribute : atribut yang memegang banyak nilai untuk tiap kejadian dari sebuah entitas.
-
Derived attribute : atribut yang merepresentasikan sebuah nilai yang dapat diturunkan dari nilai atribut yang berhubungan dan tidak perlu berada dalam entitas yang sama.
3. Key M enurut Connolly-Begg (2005, p352), candidate key adalah sejumlah atribut yang dapat digunakan untuk mengidentifikasi entitas secara unik. Contoh : BranchNo adalah candidate key untuk tipe Branch dimana setiap Branch mempunyai sebuah BranchNo yang unik atau tidak mungkin sama. M enurut Connolly-Begg (2005, p353), primary key adalah candidate
key
yang
dipilih
sebagai
kunci
utama
untuk
mengidentifikasi setiap entitas. Contoh : StaffNo maksimum lima karakter (misalnya = SG016). NIN (National Insurance Number) maksimum 9 karakter (misalnya = WL220658D) berarti primary keynya = StaffNo, sedangkan NIN = alternate key (candidate key yang tidak dipilih sebagai primary key). M enurut Connolly-Begg (2005, p79), foreign key merupakan sebuah atau sekumpulan atribut di dalam sebuah relasi yang
20 menghubungkan candidate key dari beberapa relasi (mungkin relasi sama). Contoh : terdapat dua atribut BranchNo yakni di dalam entitas Branch dan Staff. Dalam entitas Branch, BranchNo adalah primary key.
Di
dalam
entitas
Staff,
BranchNo
berperan
untuk
menghubungkan Staff dengan Branch dimana mereka bekerja. Dalam relasi Staff, BranchNo adalah sebuah foreign key. 4. Relationship M enurut
Connolly-Begg
(2005,
p346),
relationship
merupakan sekumpulan relasi antara satu atau lebih entitas yang bergabung dengannya.
Gambar 2.4 Representasi dari Relationship 5. Batasan S truktural M enurut Connolly-Begg (2005, p356), tipe utama dari batasan relasi
dinamakan
multiplicity.
Multiplicity
adalah
jumlah
kemungkinan kejadian sebuah entitas yang mungkin berhubungan ke sebuah kejadian tunggal dari sebuah entitas yang tergabung melalui sebuah relasi khusus. Derajat relasi yang paling umum adalah binary. Relasi binary secara umum dibedakan menjadi :
21 •
Derajat relasi one-to-one (1:1) Derajat relasi ini terjadi bila tiap anggota entitas A hanya boleh berpasangan dengan satu anggota dari entitas B. Sebaliknya tiap anggota dari entitas B hanya boleh berpasangan dengan satu anggota dari entitas A.
Gambar 2.5 Relasi One-to-One •
Derajat relasi one-to-many (1:*) Derajat relasi ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A.
Gambar 2.6 Relasi One-to-Many •
Derajat relasi many-to-many (*:*) Derajat relasi ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya tiap anggota entitas B juga boleh berpasangan dengan lebih dari satu anggota entitas A.
Gambar 2.7 Relasi Many-to-Many
22 2.1.11 Normalisasi M enurut Connolly (2005, p388), normalisasi adalah sebuah teknik untuk
memproduksi sekumpulan
relasi
dengan
sifat-sifat
yang
diinginkan, sesuai dengan kebutuhan data dari pihak perusahaan. Proses
normalisasi
merupakan
metode
formal
yang
mengidentifikasi relasi berdasarkan primary key atau candidate key dan ketergantungan fungsional di antara atribut-atributnya. Proses normalisasi dieksekusi dalam beberapa langkah, dimana setiap langkahnya mengacu pada bentuk normal tertentu sesuai dengan sifat yang dimilikinya. Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas atau kuat bentuk formatnya dan mengurangi tindakan update yang anomali. Bentuk-bentuk dalam normalisasi, antara lain : a. Bentuk tidak normal (UNF) Suatu tabel yang berisikan satu atau lebih grup yang berulang. Cara membuat tabel tidak normal yaitu dengan memindahkan data dari sumber informasi ke dalam format tabel dengan baris dan kolom. b. Bentuk normal pertama (1NF) Suatu relasi dimana setiap potongan antara baris dan kolom hanya berisikan satu nilai saja. Langkah-langkah mengubah bentuk UNF menjadi 1NF adalah : a. Tentukan satu atau sekumpulan atribut sebagai kunci untuk tabel tidak normal. b. Identifikasi grup yang berulang dalam tabel tidak normal yang berulang untuk kunci atribut.
23 c. Hapus grup yang berulang dengan cara : •
M asukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang, atau
•
M enggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya ke dalam relasi terpisah.
c. Bentuk normal kedua (2NF) Suatu relasi dalam bentuk 1NF dan setiap atribut yang bukan primary key bersifat ketergantungan fungsional sepenuhnya pada primary key. Langkah-langkah mengubah bentuk 2NF menjadi 3NF adalah : •
Identifikasikan primary key untuk relasi 1NF,
•
Identifikasikan ketergantungan fungsional dalam relasi,
•
Jika terdapat ketergantungan parsial terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
d. Bentuk normal ketiga (3NF) Suatu relasi dalam 1NF dan 2NF dimana tidak terdapat atribut yang bukan primary key yang bergantung secara transitif pada primary key. Langkah-langkah mengubah bentuk 2NF menjadi 3NF adalah : •
Identifikasikan primary key dalam relasi 2NF,
•
Identifikasikan ketergantungan fungsional dalam relasi,
•
Jika terdapat ketergantungan transitif terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
24
Gambar 2.8 Bentuk-Bentuk Normalisasi 2.1.12 Metodologi Perancangan Basis Data M enurut Connolly-Begg (2005, p438), metodologi perancangan adalah sebuah pendekatan yang menggunakan prosedur, teknik, alat, dan dokumentasi yang mendukung dan memudahkan proses perancangan. Dalam metodologi perancangan, proses perancangan dibagi dalam tiga tahap utama, yaitu : 1. Perancangan Basis Data Konseptual M enurut Connolly-Begg (2005, p439), perancangan basis data konseptual merupakan proses pembentukan model dari informasi yang digunakan dalam perusahaan, independen terhadap semua pertimbangan fisik. Adapun langkah-langkah dalam perancangan basis data konseptual, antara lain : a. M engidentifikasi tipe entitas Langkah pertama dalam membangun sebuah
model data
konseptual adalah dengan menentukan obyek utama yang menjadi perhatian utama pengguna. Obyek-obyek inilah yang nantinya akan menjadi tipe-tipe entitas untuk model tersebut. Salah satu metode dalam mengidentifikasi entitas adalah dengan memeriksa
25 spesifikasi persyaratan pengguna.
Setelah
tipe-tipe entitas
diidentifikasi, pemberian nama terhadap entitas-entitas tersebut harus dilakukan. Simpan nama dan deskripsi dari tiap entitas dalam sebuah kamus data. Jika sebuah entitas memiliki nama lain atau alias, maka simpan juga dalam kamus data. b. M engidentifikasi tipe relasi Langkah berikutnya adalah mengidentifikasi semua relasi antar entitas. Cara yang dapat dilakukan adalah dengan mencari kata kerja pada spesifikasi kebutuhan pengguna. Langkah selanjutnya yang dapat dilakukan adalah menentukan multiplicity dari setiap relasi. Hal ini dilakukan untuk memeriksa dan memelihara data. Selain itu harus juga dilakukan pemeriksaan fan and chasm traps (pemeriksaan tiap relasi yang ada dalam model merupakan gambaran nyata kebutuhan organisasi) dan menyimpan deskripsi dan batasan-batasan dari tiap relasi ke dalam kamus data. c. M engidentifikasi dan mengasosiasikan atribut suatu entitas Langkah selanjutnya setelah mengidentifikasi relasi adalah menentukan atribut-atribut yang terkait dengan masing-masing entitas dan hubungan antar entitas. Atribut-atribut tersebut menggambarkan
mengenai
bagaimana
informasi
nantinya
tersimpan dalam basis data. d. M engidentifikasi domain atribut Domain adalah kumpulan nilai yang digunakan oleh satu atau lebih atribut untuk menggambarkan nilai mereka. Contoh domain
26 dari atribut ”JenisKelamin” pada entitas ”staff” adalah sebuah karakter tunggal yang bernilai ”L” untuk laki-laki dan ”P” untuk perempuan. M odel data yang telah sepenuhnya dikembangkan menspesifikasi domain untuk tiap atribut yang meliputi : -
Kumpulan nilai-nilai yang diijinkan untuk atribut
-
Ukuran dan format dari atribut
Setelah domain diidentifikasi, nama dan karakteristik seluruh domain disimpan dalam kamus data. e. M engidentifikasi atribut candidate key dan primary key Bertujuan untuk mengidentifikasi candidate key untuk tiap entitas dan jika terdapat lebih dari satu candidate key, memilih satu untuk menjadi primary key dan yang lain akan menjadi alternate key. f. M empertimbangkan konsep pemodelan enhanced (optional) Bertujuan untuk mempertimbangkan penggunaan pemodelan enhanced
seperti
spesialisasi,
generalisasi,
agregasi,
dan
komposisi. g. M emeriksa model terhadap redundansi Terdapat dua aktivitas yang dilakukan pada tahap ini, yaitu : -
M emeriksa kembali relasi one-to-one (1:1) Ketika mengidentifikasi entitas, mungkin akan teridentifikasi dua entitas yang merepresentasikan obyek yang sama dalam perusahaan. Dalam hal ini, kedua entitas tersebut harus digabungkan. Jika primary key berbeda, pilih satu dan biarkan yang lain menjadi alternate key.
27 -
M enghilangkan relasi yang redundan Sebuah relasi dikatakan redundan jika terdapat informasi yang sama yang didapatkan melalui relasi yang berbeda. M odel data yang seminimal mungkin harus dikembangkan agar dapat mengurangi redundansi.
h. M emvalidasi model konseptual terhadap transaksi pengguna Terdapat
dua pendekatan
yang
dapat
digunakan
untuk
memastikan bahwa model konseptual mendukung terhadap transaksi yang ada, yaitu : -
M endeskripsikan transaksi M emeriksa apakah semua informasi (entitas, relasi, dan atribut) yang diperlukan oleh tiap transaksi disediakan dalam model, dengan mendokumentasikan sebuah deskripsi dari tiap persyaratan transaksi.
-
M enggunakan jalur transaksi M emvalidasi model data terhadap transaksi yang dibutuhkan termasuk merepresentasikan secara singkat jalur yang diambil oleh tiap transaksi langsung pada diagram ER (Entity Relationship).
i. M eninjau kembali model data konseptual dengan pengguna Bertujuan untuk meninjau kembali model data konseptual yang dihasilkan dengan pengguna untuk memastikan bahwa model tersebut telah sesuai dengan kebutuhan perusahaan.
28 2. Perancangan Basis Data Logikal M enurut Connolly-Begg (2005, p462), perancangan basis data logikal adalah proses membangun model informasi yang digunakan dalam perusahaan berdasarkan model data yang spesifik, tetapi independen terhadap berbagai jenis DBM S dan pertimbangan fisikal lainnya. Adapun langkah-langkah dalam perancangan basis data logikal, antara lain : a. M enghilangkan fitur yang tidak sesuai dengan model relasional Tahap ini bertujuan untuk memperbaiki model data konseptual lokal dengan menghilangkan fitur-fitur yang tidak kompatibel dengan model relasional. Langkah-langkah dalam tahap ini antara lain : •
M enghilangkan tipe relasi biner many-to-many (*:*)
•
M enghilangkan tipe relasi rekursif many-to-many (*:*)
•
M enghilangkan tipe relasi kompleks
•
M enghilangkan tipe atribut multivalued
b. M endapatkan relasi untuk model data logikal lokal Tahap ini bertujuan untuk membuat relasi-relasi pada model data logikal lokal yang merepresentasikan entitas, hubungan, dan atribut yang sudah diidentifikasi sebelumnya. Relasi-relasi yang didapat dari model data logikal yang ada pada model data konseptual antara lain :
29 •
Tipe entitas kuat Pada masing-masing tipe entitas kuat dalam model data, dibuat suatu relasi yang berisi atribut-atribut dari entitas tersebut.
•
Tipe entitas lemah Pada tipe entitas lemah juga akan muncul suatu relasi yang berisi atribut-atribut dari entitas tersebut. Namun relasi tersebut tidak memiliki primary key karena primary key tersebut diperoleh dari masing-masing owner entity (entitas yang bertipe kuat).
•
Tipe relasi biner one-to-many (1:*) Pada tipe relasi ini akan ditentukan entitas parent dan entitas child untuk kemudian diduplikasi atribut primary key dari entitas parent ke dalam entitas child dimana key tersebut akan disebut sebagai foreign key.
•
Tipe relasi biner one-to-one (1:1) Pada tipe relasi ini akan diselidiki apakah tipe entitas yang terlibat dalam relasi lebih baik disatukan atau tetap dipisah dan atribut primary key pada satu entitas diduplikasi ke dalam entitas lain sebagai foreign key.
•
Tipe relasi biner many-to-many (*:*) Pada tipe relasi ini perlu ditentukan satu tipe entitas tambahan sebagai penengah antara kedua tipe entitas dengan maksud
30 agar relasi yang semula bersifat many-to-many akan berubah menjadi one-to-many. Atribute primary key dari entitas parent diduplikasi pada entitas child sebagai atribut foreign key sekaligus sebagai primary key pada entitas child. c. M emvalidasi relasi menggunakan normalisasi Tahap ini bertujuan untuk memvalidasi relasi-relasi yang terdapat pada model data logikal lokal menggunakan teknik normalisasi. Normalisasi digunakan untuk meningkatkan model sehingga terhindar dari duplikasi data. d. M emvalidasi relasi terhadap transaksi pengguna Tahap ini bertujuan untuk memastikan bahwa relasi pada model data logikal lokal mendukung transaksi-transaksi yang terjadi. Transaksi-transaksi yang kemungkinan akan terjadi dalam kondisi sesungguhnya akan dipecahkan dengan berpedoman pada model yang telah dibangun. Bila seluruh transaksi tersebut terpecahkan, maka berarti model yang telah dihasilkan telah memenuhi apa yang diharapkan pengguna. e. M enentukan batasan integritas Tahap ini bertujuan untuk menentukan batasan integritas. Batasan integritas itu sendiri merupakan batasan yang ingin dihilangkan agar basis data terhindar dari data yang tidak konsisten. Ada beberapa batasan integritas yang perlu diperhatikan, antara lain : •
Data yang dibutuhkan
•
Batasan domain atribut
31 •
Integritas entitas
•
Integritas referensial
f. M enggabungkan model data logikal lokal ke dalam model data logikal global Tahap ini bertujuan untuk menggabungkan model data logikal lokal yang telah terbentuk sebelumnya menjadi sebuah model data logikal global perusahaan. g. M emeriksa terhadap pertumbuhan di masa mendatang Tahap ini bertujuan untuk menentukan apakah ada perubahanperubahan yang signifikan di masa yang akan datang dan untuk memperkirakan
apakah
model data logikal
global dapat
mengakomodasi perubahan-perubahan tersebut. 3. Perancangan Basis Data Fisikal M enurut Connolly-Begg (2005, p439), perancangan basis data fisikal adalah proses penggambaran dari implementasi basis data pada media penyimpanan yang menggambarkan relasi dasar, organisasi file, dan indeks yang memungkinkan data diakses dengan lebih efisien, serta berbagai batasan integritas yang berhubungan dan ukuran
keamanan
lainnya.
Adapun
langkah-langkah
dalam
perancangan basis data fisikal, antara lain : a. M erancang relasi dasar Tahap ini bertujuan untuk menentukan bagaimana representasi relasi dasar diidentifikasikan di dalam model data logikal global dalam DBM S yang akan digunakan.
32 b. M erancang representasi data turunan Tahap ini bertujuan untuk menentukan bagaimana representasi data turunan yang terdapat dalam model data logikal global pada DBM S yang akan digunakan. c. M enganalisa transaksi Tahap ini bertujuan untuk memahami secara fungsional transaksi yang akan berjalan pada basis data dan untuk menganalisa transaksi-transaksi yang bersifat penting. d. M erancang batasan perusahaan Tahap ini bertujuan untuk merancang batasan-batasan perusahaan untuk DBM S yang akan digunakan. e. M emilih organisasi file Tahap ini bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. f. M emilih indeks Tahap ini bertujuan untuk menentukan apakah penambahan indeks akan meningkatkan kinerja sistem atau tidak. g. M emperkirakan kapasitas penyimpanan yang dibutuhkan Tahap ini bertujuan untuk memperkirakan kapasitas penyimpanan yang akan dibutuhkan oleh basis data. h. M erancang user view Tahap ini bertujuan untuk merancang user view yang telah diidentifikasi selama tahap pengumpulan kebutuhan dan analisis data dalam database application life cycle.
33 i. M erancang mekanisme keamanan Tahap ini bertujuan untuk merancang mekanisme keamanan untuk basis data sesuai dengan spesifikasi dari pengguna selama tahap pengumpulan
kebutuhan
dan
analisis
data dalam
siklus
pengembangan basis data. 2.1.13 Diagram 1. State Transition Diagram (S TD) M enurut
Whitten-Bentley-Dittman
(2004,
p673), STD
digunakan untuk menggambarkan urutan dan variasi layar yang dapat muncul ketika pengguna sistem mengunjungi terminal. Layar disini mengacu pada tampilan layar secara keseluruhan, window, atau kotak dialog. Biasanya di dalam STD digunakan notasi seperti : • State, simbolnya persegi panjang. State digunakan untuk menggambarkan tampilan layar yang akan muncul jika suatu aksi dijalankan. Simbol state :
•
Transition State, simbolnya anak panah. Transition
State
menggambarkan
aliran
kontrol
dan
menggerakkan kejadian yang akan menyebabkan layar menjadi aktif atau menerima fokus. Arah anak panah menunjukkan urutan munculnya tampilan-tampilan layar. Sebuah anak panah yang terpisah, masing-masing memiliki nama, digambar untuk setiap
34 arah karena tindakan yang berbeda akan menggerakkan aliran kontrol dari dan ke layar yang ada. Simbol transition state :
2. Data Flow Diagram (DFD) a. Pengertian Data Flow M enurut Whitten-Bentley-Dittman (2004, p357), data flow adalah gambaran komunikasi antara proses dan lingkungan sistem. Komunikasi tersebut berupa aliran data antara sistem dan lingkungannya atau antara dua proses dalam sebuah sistem. b. Pengertian Data Flow Diagram M enurut Whitten-Bentley-Dittman (2004, p344), data flow diagram adalah suatu model proses yang digunakan untuk menggambarkan
aliran
data
dalam
sebuah
sistem
serta
pemrosesan data yang dilakukan oleh sistem tersebut. c. Komponen Data Flow Diagram M enurut
Whitten-Bentley-Dittman
(2004, p347-366),
komponen-komponen yang digunakan dalam membangun data flow diagram terdiri dari : •
Proses Proses merupakan suatu pekerjaan yang dilakukan oleh sistem sebagai respon terhadap aliran data yang masuk atau kondisi.
35 Berikut adalah bentuk notasi pemodelan proses menggunakan lingkaran (notasi DeM arco/Yourdon) :
nama proses
•
Aliran data Aliran data menunjukkan aliran data yang masuk ke proses atau aliran data yang keluar dari proses. Berikut adalah bentuk notasi pemodelan aliran data : Nama aliran data
•
Agen eksternal Agen eksternal mendefinisikan orang, unit organisasi, sistem lain, atau organisasi lain yang berada di luar lingkup proyek, tetapi berinteraksi dengan sistem yang sedang dipelajari. Berikut adalah bentuk notasi pemodelan agen eksternal (bentuk DeM arco/Yourdon) :
•
Data store Data store adalah tempat penyimpanan data. Berikut adalah bentuk
notasi
DeM arco/Yourdon)
pemodelan
data
store
(bentuk
36 d. Diagram Aliran Data Konteks M enurut Whitten-Bentley-Dittman (2004, p372), diagram aliran data konteks adalah suatu model proses yang digunakan untuk mendokumentasikan lingkup sebuah sistem. Diagram aliran data konteks merepresentasikan satu dan hanya satu proses, dimana agen eksternal digambarkan di sekitar proses tersebut. 3. Flowchart M enurut Bodnar-Hopewood (1990, p50), flowchart adalah suatu diagram simbolik yang menggambarkan aliran data dan urutan operasi dalam suatu sistem. Beberapa simbol flowchart yang digunakan, antara lain : Tabel 2.1 Simbol-Simbol Flowchart Nama Gambar Keterangan Simbol flowline digunakan Flowline
hubungkan
suatu
simbol
untuk
meng-
dengan
simbol
lainnya. Simbol proses merepresentasikan setiap jenis Proses
fungsi pemrosesan. Simbol
Terminal
terminal
merepresentasikan
titik
terminal dalam suatu flowchart, seperti mulai, berhenti, atau interupsi. Simbol dokumen merepresentasikan fungsi
Dokumen
input / output yang menggunakan media dokumen. Simbol operasi manual merepresentasikan
Operasi manual
proses offline yang diarahkan pada kecepatan tindakan manusia, tanpa menggunakan bantuan mekanis.
37 Nama
Gambar
Keputusan
Keterangan Simbol keputusan merepresentasikan mengenai pemilihan jalur tertentu yang harus dilalui sesuai dengan keputusan yang dibuat.
Off-page connector
Simbol off-page connector merepresentasikan jalan keluar atau jalan masuk antar halaman dari suatu flowchart. Simbol auxiliary operation merepresentasikan
Auxiliary operation
operasi offline yang dilakukan dengan suatu peralatan yang tidak berada di bawah kontrol langsung dari central processing unit (CPU).
2.2
Teori Khusus 2.2.1
Definisi Sistem Akuntansi Persediaan M enurut M ulyadi (2001, p553), sistem akuntansi persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang.
2.2.2
Tipe Persediaan M enurut
M ulyadi
(2001,
p553-555),
dalam
perusahaan
manufaktur, persediaan terdiri dari persediaan produk jadi, persediaan produk dalam proses, persediaan bahan baku, persediaan bahan penolong, persediaan bahan habis pakai pabrik, persediaan suku cadang. Dari tiap persediaan, terdapat beberapa transaksi, sistem serta prosedur yang terkait dengan jenis persediaan tersebut. Dalam skripsi ini, jenis persediaan yang ditangani dibatasi pada persediaan bahan baku.
38 Tabel 2.2 Jenis Transaksi Persediaan Bahan Baku Tipe Transaksi yang Sistem dan Prosedur yang Persediaan Dilakukan Bersangkutan Pembelian
Prosedur pencatatan jumlah persediaan yang dibeli.
Retur pembelian
Prosedur pencatatan jumlah persediaan yang dikembalikan ke pemasok.
Persediaan bahan baku
Pemakaian barang
Prosedur permintaan dan pengeluaran
gudang
barang gudang.
Penyesuaian
Prosedur pengecekan dan pencatatan
jumlah barang
ulang jumlah persediaan di gudang.
gudang
2.2.3
Sistem Pencatatan Persediaan M enurut M ulyadi (2001, p556), sistem akuntansi persediaan dapat menggunakan dua catatan, yaitu catatan di fungsi gudang dan di fungsi akuntansi.
Bagian
gudang ditugaskan
untuk
mencatat
kuantitas
persediaan dan mutasi tiap jenis barang yang disimpan dalam gudang. Bagian akuntansi ditugaskan untuk mencatat kuantitas dan harga pokok barang yang disimpan di gudang. Catatan ini berfungsi sebagai alat kontrol catatan kuantitas barang dalam gudang dan sebagai rincian rekening kontrol persediaan. 2.2.4
Sistem Akuntansi Pembelian a. Pengertian Sistem Akuntansi Pembelian dan Fungsi yang Terkait M enurut M ulyadi (2001, p299), sistem akuntansi pembelian digunakan
dalam perusahaan
untuk pengadaan
barang yang
diperlukan oleh perusahaan. Fungsi-fungsi yang terkait dalam sistem akuntansi pembelian adalah :
39 -
Fungsi Gudang 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.
-
Fungsi Pembelian Fungsi pembelian
bertanggung
jawab
untuk
memperoleh
informasi mengenai harga barang, menentukan pemasok yang dipilih dan mengeluarkan order pembelian kepada pemasok yang dipilih. -
Fungsi Penerimaan Fungsi penerimaan
bertanggung jawab
untuk
melakukan
pemeriksaan terhadap jenis, mutu dan kuantitas barang yang diterima dari pemasok guna menentukan kelayakan barang tersebut. Selain itu, fungsi penerimaan juga bertanggung jawab untuk menerima barang dari transaksi retur barang dari proyek yang sedang dikerjakan. -
Fungsi Akuntansi Fungsi akuntansi yang terkait dalam transaksi pembelian adalah fungsi pencatat utang dan fungsi pencatat persediaan. Fungsi pencatat utang bertanggung jawab untuk mencatat transaksi pembelian ke dalam register bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan utang atau menyelenggarakan kartu
40 utang sebagai buku pembantu utang. Sedangkan, fungsi pencatat persediaan bertanggung jawab untuk mencatat persediaan barang yang dibeli ke dalam basis data persediaan. b. Prosedur dalam Transaksi Pembelian M enurut M ulyadi (2001, p300), secara garis besar transaksi pembelian mencakup prosedur sebagai berikut : •
Fungsi gudang mengajukan permintaan pembelian ke fungsi pembelian.
•
Fungsi pembelian meminta penawaran harga dari berbagai pemasok.
•
Fungsi pembelian menerima penawaran harga dari berbagai pemasok dan melakukan pemilihan pemasok.
•
Fungsi pembelian membuat order pembelian kepada pemasok yang dipilih.
•
Fungsi penerimaan memeriksa dan menerima barang yang dikirim oleh pemasok.
•
Fungsi penerimaan menyerahkan barang yang diterima kepada fungsi gudang untuk disimpan.
•
Fungsi penerimaan melaporkan penerimaan barang kepada fungsi akuntansi.
•
Fungsi akuntansi menerima faktur tagihan dari pemasok dan atas dasar faktur dari pemasok tersebut, fungsi akuntansi mencatat kewajiban yang timbul dari transaksi pembelian.
41 2.2.5
Sistem Penanganan Proyek Konstruksi a. Pengertian Proyek Konstruksi M enurut
Kadariah
(1988,
p1),
secara umum proyek
didefinisikan sebagai keseluruhan kegiatan yang menggunakan sumber-sumber untuk memperoleh manfaat (keuntungan); atau suatu kegiatan dengan pengeluaran biaya dan dengan harapan untuk memperoleh hasil pada waktu yang akan datang dan yang dapat direncanakan, dibiayai, dan dilaksanakan sebagai satu unit. Kegiatan suatu proyek selalu ditujukan untuk mencapai suatu tujuan dan mempunyai suatu titik tolak dan suatu titik akhir. M enurut Gould (1997, p16), suatu proyek konstruksi bertujuan untuk membangun sesuatu. Perbedaan proyek konstruksi dengan proyek pada umumnya adalah proyek konstruksi bersifat luas, built on-site, dan umumnya bersifat unik. b. Perkembangan Proyek Konstruksi M enurut Gould (1997, p16), setiap proyek konstruksi dibagi ke dalam suatu urutan langkah yang terdefinisi dan bersifat logis. Urutan langkah ini akan menjadi roadmap dari proyek konstruksi tersebut. Proyek konstruksi digambarkan dalam bentuk spiral. Tim akan memulai proyek dengan satu tujuan awal dan seiring dengan perkembangan proyek, tim akan semakin mengerti berbagai hal mengenai proyek yang sedang dikerjakan untuk mencapai tujuannya. Hal-hal tersebut mencakup teknologi yang tersedia, kebutuhan-
42 kebutuhan yang ada, dan melakukan definisi ulang proyek. Proses ini akan diulang secara terus menerus sampai proyek dinyatakan selesai. Berikut adalah penggambaran bentuk spiral dari proyek konstruksi :
Gambar 2.9 Perkembangan Proyek Konstruksi dalam Bentul Spiral c. Perhitungan Biaya Proyek M enurut Gould (1997, p313), perkiraan dan penjadwalan yang dibuat sebelum proyek dimulai merupakan dasar dari proyek konstruksi. Perkembangan aktual dari proyek ditentukan secara periodik sehingga pengaturan tambahan yang diperlukan dapat dikerjakan. Selanjutnya, informasi harga aktual proyek akan dikumpulkan melalui sistem yang ada. d. Pembayaran Proyek M enurut Peurifoy-Ledbetter-M artono(1988, p40), sebagian besar kontrak konstruksi menetapkan bahwa pemilik atau klien akan membayar sekian persen dari nilai pekerjaan yang telah diselesaikan untuk setiap bulannya.
43 2.2.6
Visual Basic .NET (VB.NET) Visual Basic.NET adalah teknologi pemrograman Microsoft yang dapat digunakan untuk membuat aplikasi di lingkungan kerja berbasis Windows. Visual Basic.NET merupakan versi terbaru dari Visual Basic. Visual Basic.NET masih menggunakan bahasa dasar yang sama yakni BASIC (Beginner’s All Purpose Symbolic Instruction Code) namun memiliki beberapa perbedaan dari versi sebelumnya. Perbedaan utama dengan versi sebelumnya terletak pada .NET framework yang dimiliki oleh Visual Basic.NET. Dalam .NET framework kompilasi yang terjadi pada source code program menjadi berbeda. Beberapa kelebihan Visual Basic.NET, antara lain : •
Visual Basic.NET dilengkapi dengan Common Language Runtime (CLR) yang merupakan execution environment untuk mengatur kodekode .NET pada saat dijalankan sehingga aplikasi menjadi stabil dan aman.
•
Visual Basic.NET bersifat object oriented.
•
Error handling yang berbeda. Adanya penambahan sintaks TryCatch-Finally.
•
Visual Basic.NET menyediakan model keamanan baru yakni code access security yang digunakan untuk mengontrol hak akses kode yang dibuat.
44 •
Visual Basic.NET menyediakan fitur garbage collector yang berfungsi untuk membersihkan memori dari obyek yang sudah keluar dari jangkauan aplikasi.
2.2.7
MySQL M enurut Prasetyo (2005, p1) MySQL merupakan database server yang dikembangkan oleh sebuah perusahaan bernama M ySQL AB. Secara garis besar dapat ditekankan lagi bahwa : •
MySQL merupakan suatu Database Management System (DBM S).
•
MySQL merupakan suatu Relational Database Management System (RDBM S).
•
Perangkat lunak MySQL didistribusikan secara open source.
•
Database server MySQL sangat cepat, dapat dipercaya, dan mudah digunakan.
•
Database server MySQL bekerja dalam lingkungan client / server.
•
Dukungan terhadap perangkat lunak M ySQL tersebar luas dan mudah ditemukan.
M enurut Syaukani (2005, p3), kelebihan dari M ySQL, antara lain : •
Portability MySQL dapat berjalan pada berbagai sistem operasi seperti Windows, LINUX, FreeBSD, M ac OS X Server, Solaris, Amiga, HPUnix, dan lain-lain.
45 •
Open source MySQL merupakan DBM S yang bersifat open source sehingga tidak dipungut biaya untuk dapat menggunakannya.
•
Multiuser MySQL dapat
menangani beberapa pengguna dalam waktu
bersamaan dan juga memungkinkan sebuah server MySQL diakses oleh beberapa klien secara bersamaan. •
Performance tuning MySQL mempunyai kecepatan yang cukup baik dalam menangani query sederhana serta mampu memproses lebih banyak query per satuan waktu
•
Column type MySQL didukung dengan tipe data yang sangat kompleks seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, datetime, timestamp, year, set serta enum.
•
Command and functions MySQL memiliki operator dan fungsi yang mendukung perintah SELECT dan WHERE dalam query.
•
Security Sistem sekuritas dalam MySQL mempunyai beberapa lapisan sekuritas seperti level subnetmask, nama host, dan ijin akses pengguna dengan sistem perijinan yang mendetil dan password yang terenkripsi.
46 •
Scalability and limits MySQL mempunyai kemampuan menangani basis data dalam skala cukup besar, dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu dapat menampung sampai dengan 32 indeks per tabelnya.
•
Connectivity MySQL mampu melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (Unix), atau Named pipes (NT).
•
Localization M emiliki kemampuan dalam mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa.
•
Interface MySQL memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman menggunakan fungsi API (Application Programming Interface).