5 BAB II LANDASAN TEORI 2.1 Teori Dasar 2.1.1

advertisement
BAB II
LANDASAN TEORI
2.1
2.1.1
Teori Dasar
Sistem
Menurut McLeod dan Schell (2007:11) sistem merupakan sekelompok
elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan
Sedangkan menurut O’Brien dan Marakas (2011:60) sistem merupakan
sekumpulan komponen yang berhubungan yang mempunyai batasan yang jelas, dan
yang saling bekerja sama untuk mencapai suatu tujuan tertentu dengan cara
menerima input dan menghasilkan output dari proses transformasi yang terorganisasi.
O’Brien dan Marakas (2011:60) menyatakan bahwa sistem terdiri dari 3
fungsi dasar yang terdiri dari:
-
Input, merupakan kumpulan elemen yang akan dimasukkan ke dalam
sistem untuk di proses, sebagai contoh adalah bahan mentah, energi, data,
dan lainnya.
-
Process, merupakan kegiatan untuk merubah input menjadi output.
-
Output, merupakan elemen yang dihasilkan setelah melalui proses
perubahan, sebagai contoh adalah hasil jadi produk dan jasa manusia.
2.1.2
Informasi
Menurut O’Brien dan Marakas (2011:68), informasi merupakan data yang
telah diubah menjadi suatu konteks yang mempunyai makna dan berguna bagi para
end-user tertentu.
Sedangkan menurut McLeod dan Schell (2007:11) informasi adalah data hasil
pemrosesan yang mempunyai makna, dan biasanya menceritakan suatu hal yang
belum diketahui kepada pengguna.
Dengan demikian dapat disimpulkan bahwa informasi adalah data yang telah
diolah sehingga memiliki suatu makna tertentu.
2.1.3
Sistem Informasi
Menurut McLeod dan Schell (2007:11), sistem informasi dinyatakan sebagai
sistem virtual yang memungkinkan manajemen untuk mengendalikan operasi sistem
fisik perusahaan.
5
6
Menurut O’Brien dan Marakas (2011:38) sistem informasi merupakan
kombinasi dari manusia, hardware, software, jaringan komunikasi, sumber data,
prosedur dan kebijakan yang menyimpan, mengambil, mengubah, dan menyebarkan
informasi dalam organisasi.
2.1.4
Data
Menurut O’Brien dan Marakas (2011:68), datum atau yang dalam bentuk
jamak disebut juga sebagai data dapat didefinisikan sebagai fakta mentah atau hasil
observasi yang biasanya berupa fenomena fisik atau transaksi bisnis.
Dengan demikian dapat disimpulkan bahwa data merupakan fakta tentang
suatu kejadian, ataupun kegiatan yang direkam atau disimpan.
2.1.5
Database
Menurut Connolly dan Begg (2010:65), database dapat dinyatakan sebagai
kumpulan dari data yang terkait secara logikal dan dideskripsikan, serta didesain
untuk memenuhi kebutuhan informasi di suatu organisasi.
Kemudian menurut Honny, Marcelino, dan Yohanes Radjali (2011:403),
basis data merupakan kumpulan data atau rangkaian file yang telah terstandarisasi
dan dapat dimanipulasi untuk memenuhi kebutuhan informasi suatu perusahaan.
Menurut Haiyang dan Guolong (2012:830) Database merupakan istilah dari
tempat penyimpanan di komputer yang terorganisasi, dapat disebar, dan merupakan
manajemen pengkoleksian data yang terpusat.
Database merupakan komponen yang sangat penting dalam sistem
terkomputerisasi. Hal ini didukung oleh pernyataan Murray (2010:62) yang
menyatakan bahwa teknologi basis data merupakan komponen inti dari banyak
computing system. Karena database merupakan unsur yang penting, maka database
membutuhkan penanganan keamanan yang tinggi. Murray (2010:63) menyatakan
bahwa database security (keamanan database) itu dibangun berdasarkan framework
yang melibatkan tiga bagian, yaitu kerahasiaan, keintegrasian, dan ketersediaan. Dari
tiga bagian tersebut, disimpulkan bahwa database security di bagian manapun harus
mendukung aspek-aspek access control, application access, vulnerability, inference,
dan auditing mechanism.
7
2.1.6
Database Management System (DBMS)
Menurut O’Brien dan Marakas (2011:238) Database Management System
adalah software utama dari pendekatan manajemen basis data yang mengontrol
pembuatan, pemeliharaan, dan penggunaan database dari suatu organisasi termasuk
end-user nya.
Sedangkan menurut Connolly dan Begg (2010:66), pengertian dari database
management system adalah suatu sistem software yang memungkinkan user untuk
mendefinisinikan, menciptakan, memelihara, dan mengontrol akses ke database.
Gelogo dan Lee (2012:72) menyatakan database management system sebagai
suatu paket perangkat lunak beserta program komputernya yang mengontrol
pembuatan, pemeliharaan, dan penggunaan dari database.
Sedangkan
menurut
Rusli
(2010:51)
database
management
system
merupakan suatu software yang dirancang untuk membantu dalam hal pemeliharaan
dan utilitas kumpulan data dalam jumlah besar.
Dengan melihat beberapa pengertian diatas dapat disimpulkan bahwa
database management system adalah suatu perangkat lunak yang didesain khusus
untuk pengelolaan basis data yang meliputi kontrol proses pembuatan, pemeliharaan
dan pemakaiannya.
2.1.6.1 Fungsi DBMS
Menurut Connolly dan Begg (2010:100) fungsi-fungsi yang layak terdapat
dalam suatu DBMS adalah sebagai berikut:
Data storage, retrieval, dan update
Merupakan fungsi dasar dari DBMS. Suatu DBMS harus bisa
menyediakan kemampuan untuk menyimpan, mengambil, dan update data
dalam database kepada user. Dalam menyajikan kemampuan ini, suatu DBMS
harus menyembunyikan detil internal implementasi fisik seperti file organisasi
ataupun struktur penyimpanan dari user.
User-accessible catalog
DBMS harus menyediakan suatu katalog yang di dalamnya terdapat
deskripsi dari data items dan dapat diakses oleh user. Menurut Connolly dan
Begg (2010:100) suatu katalog sistem merupakan tempat penyimpanan
informasi yang menjelaskan data dalam database, yang disebut juga sebagai
metadata atau data tentang data. Katalog sistem DBMS merupakan salah satu
8
komponen yang penting dalam sistem. Beberapa keuntungan dari katalog
sistem adalah:
-
Informasi tentang data dapat dikumpulkan dan disimpan secara
terpusat. Hal ini akan membantu untuk mempertahankan kontrol
terhadap data yang digunakan sebagai sumber.
-
Makna dari data dapat dijelaskan sehingga dapat membantu user lain
mengerti tujuan dari adanya data tersebut.
-
Komunikasi menjadi lebih sederhana karena pengertian pasti telah
disimpan. Dalam sistem katalog bisa terdapat identifikasi atas user
siapa saja yang mempunyai atau dapat mengakses data.
-
Redudansi dan inkonsistensi dapat diidentifikasi lebih mudah karena
data di sentralisasi.
-
Perubahan terhadap database dapat dicatat.
-
Dampak dari perubahan dapat ditentukan sebelum sistem di
implementasi karena katalog sistem mencatat tiap data item yang ada,
seluruh relationship yang ada, dan seluruh user yang ada.
-
Integritas dapat dijamin.
-
Informasi audit dapat disediakan.
-
Pengamanan dapat dilakukan.
Transaction Support
Suatu DBMS harus dapat menyediakan mekanisme yang dapat
memastikan bahwa seluruh update yang terjadi yang berhubungan dari
transaksi yang dilakukan itu benar telah terubah semuanya atau jika ada yang
tidak dapat berubah, maka semua yang lain juga tidak berubah. Jika suatu
waktu terdapat kegagalan ketika transaksi dilakukan, perubahan terhadap
database yang telah terjadi sebagian akan menyebabkan database berada
dalam kondisi tidak konsisten, oleh karena itu sebagian perubahan yang telah
terjadi tersebut harus dikembalikan ke kondisi seperti saat sebelum transaksi
dilakukan untuk mengembalikan database ke kondisi yang konsisten.
Concurrency control service
Suatu DBMS harus dapat menyediakan mekanisme yang memastikan
bahwa database di update dengan benar bahkan ketika banyak user melakukan
update di waktu yang bersamaan.
9
Recovery services
Suatu DBMS harus menyajikan mekanisme untuk menyelamatkan
database jika suatu waktu terdapat kejadian yang menyebabkan database
menjadi rusak atau error. Salah satu sebab yang dapat menyebabkan DBMS
menjadi error adalah jika terdapat kegagalan transaksi entah dikarenakan oleh
system crash, hardware error, atau software error sehingga transaksi
dihentikan sebelum transaksi tersebut selesai. DBMS harus menyediakan
mekanisme yang dapat mengembalikannya ke kondisi konsisten terakhir
sebelum error tersebut terjadi.
Authorization services
Suatu DBMS harus menyediakan mekanisme untuk memastikan bahwa
hanya user yang mempunyai otorisasi yang dapat mengakses database. DBMS
harus dapat menyediakan fungsi ini untuk menjaga agar data tetap aman.
Support for data communication
Suatu DBMS harus mampu berintegrasi dengan perangkat lunak
komunikasi atau jaringan. Kebanyakan user mengakses database dari
workstation, baik menggunakan workstation yang langsung terhubung dengan
komputer yang menyimpan DBMS ataupun menggunakan workstation yang
terhubung dengan komputer yang menyimpan DBMS melalui jaringan.
Umumnya, DBMS akan menerima permintaan dalam bentuk pesan komunikasi
dan akan merespon dengan cara yang sama juga. Transmisi yang dilakukan
akan diurus oleh Data Communication Manager (DCM) dan walau DCM
bukan merupakan bagian dari DBMS, DBMS tetap memerlukannya agar dapat
terintegrasi dengan berbagai jenis DCM supaya user tetap dapat mengakses
centralized database dari lokasi yang jauh sekalipun.
Integrity services
Suatu DBMS harus menyediakan cara untuk menjamin bahwa data yang
ada di dalam database dan perubahan yang terjadi benar mengikuti suatu
aturan tertentu. Integritas dari suatu database merujuk kepada kebenaran dan
konsistensi dari data yang disimpan. Integritas biasanya di representasikan
dalam bentuk constraints, yakni aturan konsistensi yang tidak boleh dilanggar
database.
10
Services to promote data independence
Suatu DBMS harus memasukkan fasilitas yang mendukung independensi
program dari struktur aktual database tersebut. Data independensi biasanya
dicapai melalui view atau mekanisme subschema. Independensi dari data fisik
lebih mudah dicapai melalui beberapa perubahan yang dapat dilakukan
terhadap karakteristik fisik dari database tanpa mempengaruhi views.
Utility services
Suatu DBMS harus menyediakan berbagai macam layanan utilitas. Suatu
program utilitas akan membantu Database Administrator untuk mengelola
database secara efektif. Contoh dari jenis layanan utilitas adalah:
-
Fasilitias untuk import, yaitu untuk mengisi database dari flat files.
-
Fasilitas untuk export, yaitu untuk membongkar database menjadi flat
files.
-
Fasilitas pengawasan, untuk mengawasi pemakaian database dan
pekerjaannya.
-
Program analisis statistik, untuk memeriksa statistik peforma atau
pemakaiannya.
-
Fasilitas pengorganisasian index, untuk mengorganisasi index yang
ada beserta alurnya.
-
Pengkoleksian sampah dan alokasinya, untuk menghilangkan deleted
records dari tempat penyimpanan, mengkonsolidasikan ruang yang
tersisa dan mengalokasikannya ke tempat yang membutuhkan
2.1.6.2 Komponen Lingkungan DBMS
Gambar 2.1 Database Management System Environment
(Connolly dan Begg, 2010:68)
Menurut Connolly dan Begg (2010:68), Database Management System
(DBMS) memiliki 5 komponen penting, yaitu:
1.
Hardware (Perangkat keras)
11
Untuk menjalankan suatu DBMS dan aplikasinya dibutuhkan hardware.
Hardware yang digunakan dapat beragam mulai dari satu komputer, satu
mainframe, atau dari kumpulan komputer. Penentuan hardware yang digunakan
bergantung dari persyaratan organisasi dan DBMS yang digunakan. Beberapa
DBMS hanya dapat berjalan di suatu spesifikasi hardware atau Operating System
(OS) tertentu namun ada juga DBMS yang dapat berjalan di banyak variasi OS
atau spesifikasi hardware.
2.
Software (Perangkat lunak)
Komponen perangkat lunak meliputi software DBMS untuk pengelolaan
basis data, kemudian program aplikasi yang mengakses basis data, beserta sistem
operasi untuk menyediakan lingkungan kerja bagi sistem basis data agar dapat
beroperasi.
Termasuk
pula perangkat
lunak
pengelola
jaringan
untuk
menghubungkan komputer-komputer yang terlibat dalam network. Program
aplikasi biasanya ditulis menggunakan bahasa pemrograman generasi ke 3 seperti
C, C++, Java, Visual Basic dan bahasa pemrograman generasi ke 4 seperti SQL.
3.
Data
Komponen terpenting dalam sebuah DBMS. Data merupakan penghubung
antara mesin dengan manusia atau user yang mengakses mesin. User yang
mengakses aplikasi dan melakukan transaksi di dalamnya akan menghasilkan
output berupa data yang akan dicatat oleh mesin. Selain itu, terdapat juga
metadata, yakni ‘data mengenai data’. Setiap data memiliki ciri-ciri atau identitas,
contohnya seperti kapan user menginput data yang bersangkutan.
4.
Prosedur
Prosedur berkaitan dengan tata cara bagaimana user menggunakan basis
data. Baik user maupun staff yang mengelola basis data memerlukan SOP
(Standard Operating Procedure) untuk memandu user maupun staff agar data
yang dimiliki perusahaan tetap konsisten dan terjaga dengan benar, sesuai dengan
apa yang direncanakan pada saat perancangan. Prosedur – prosedur diantaranya
seperti cara log on kedalam DBMS, menggunakan suatu fasilitas DBMS,
membuat backup atau cadangan data.
5.
Manusia
Komponen terakhir yakni manusia selaku pengguna yang terlibat dalam
sistem. Peran manusia ini dapat dibagi – bagi menjadi data dan database
administrator, database designer, application developer, hingga end user.
12
2.1.6.3 Keuntungan dan Kekurangan DBMS
Menurut Connolly dan Begg (2010:77) keuntungan dari pemanfataan
Database Management System (DBMS) adalah:
Pengendalian redudansi data
Dengan mengintegrasi database maka data yang sama tidak akan disimpan
dalam database dan sekaligus akan menghilangkan redudansi data. Namun
pendekatan database ini tidak menghilangkan seluruh redudansi yang ada,
dan sebagai gantinya dilakukan pengontrolan jumlah redudansi yang melekat
dalam database karena pada beberapa kasus, memang dibutuhkan untuk
menduplikasi key data items ataupun menduplikasi beberapa data items untuk
meningkatkan peforma.
Konsistensi data
Dengan mengeliminasi atau mengontrol redudansi akan mengurangi resiko
dari terjadinya ketidak konsistenan dalam database.
Memperkaya nilai informasi
Dengan adanya integrasi data operasional, bukan menjadi hal yang tidak
mungkin bagi perusahaan untuk mendapatkan informasi tambahan dari
jumlah data yang sama.
Data dapat digunakan bersama
Secara tipikal, suatu files biasanya dimiliki oleh orang atau departemen
yang menggunakannya. Di lain hal database tergolong milik seluruh
organisasi dan dapat dibagikan kepada seluruh pengguna yang mempunyai
izin. Dengan cara ini seluruh data dapat dibagikan ke seluruh pengguna yang
mempunyai hak akses.
Meningkatkan integritas data
Integritas suatu basis data merujuk kepada validasi dan konsistensi data
yang disimpan. Integritas biasanya diekspresikan dalam istilah constraint
yang berupa aturan konsistensi yang tidak boleh dilanggar oleh database.
Integrasi memungkinkan DBA untuk menjelaskan batasan integritas dan
DBMS harus dapat melaksanakannya.
13
Meningkatkan keamanan
Dengan adanya integritas data, data akan lebih rentan digunakan oleh
banyak user. Akan tetapi dengan adanya integritas juga membuat seorang
DBA dapat menetapkan keamanan database dan membuat DBMS
melaksanakannya. Bentuk keamanan biasanya berupa username dan
password untuk mengidentifikasi user yang masuk mendapat akses ke bagian
mana dan tipe aksi apa saja yang dapat dilakukan terhadap database.
Pelaksanaan standar
Dengan adanya integrasi, DBA dapat menetapkan standar yang
dibutuhkan dan membuat DBMS untuk melaksanakannya. Standar yang
ditetapkan bisa untuk skala departemen, organisasi, nasional, atau
internasional terhadap sesuatu seperti format data untuk memfasilitasi
pertukaran data antar sistem, penamaan data, dokumentasi standar, update
prosedur, dan aturan akses.
Ekonomis
Dengan mengkombinasikan seluruh data operasional ke dalam satu
database dan membuat set aplikasi yang dapat berjalan memanfaatkan satu
sumber data ini dapat meminimalisasi biaya yang dikeluarkan. Biaya yang
seharusnya dikeluarkan untuk tiap departemen untuk membangun dan
memelihara file-based system dapat digabungkan dan menghasilkan biaya
yang lebih rendah, sehingga lebih ekonomis.
Menyeimbangkan persyaratan yang konflik
Database Administrator dapat membuat keputusan akan kebutuhankebutuhan antar departemen yang saling konflik, dengan membuat keputusan
akan desain dan penggunaan operasional dari database yang menyediakan
sumber terbaik bagi organisasi secara keseluruhan. Keputusan ini akan
meningkatkan peforma yang optimal terhadap aplikasi yang penting.
Meningkatkan kemampuan akses dan respon
Dengan adanya integrasi, data yang melintasi batasan departemen dapat
secara langsung diakses oleh end user. Hal ini dapat menyediakan sebuah
sistem dengan lebih banyak fungsinya seperti fungsi untuk menyediakan
layanan yang lebih baik pada pengguna akhir atau iklan organisasi. Banyak
14
DBMS menyediakan query language yang memungkinkan pengguna untuk
menanyakan pertanyaan ad hoc dan memperoleh informasi yang diperlukan
dengan segera pada terminal mereka, tanpa memerlukan programmer
menuliskan beberapa software untuk mengubah informasi tersebut dari
database.
Meningkatkan produktifitas
DBMS menyediakan kemampuan dalam menangani file rutin tingkat
rendah yang tipikal terdapat dalam program aplikasi sehingga programmer
dapat fokus ke fungsi spesifik yang dibutuhkan.
Meningkatkan pemeliharaan melalui data yang independen
DBMS menyediakan pendekatan yang membuat perubahan dalam data
tidak membuat program harus diubah. DBMS memisahkan deskripsi data dari
aplikasi sehingga aplikasi tidak akan terpengaruh jika terdapat perubahan di
deskripsi data. Hal ini yang disebut sebagai independensi data.
Meningkatkan konkurensi
Dalam sistem file-based, dua atau lebih user diperbolehkan untuk
mengakses file yang sama dalam satu waktu, dan akses yang dilakukan
bersamaan mempunyai kemungkinan untuk saling mengganggu dan
mengakibatkan hilangnya informasi atau bahkan integritasnya. Dengan
DBMS akan mengatur konkurensi akses ke database dan memastikan
masalah tersebut tidak akan terjadi.
Meningkatkan layanan backup dan recovery
DBMS melindungi user dari efek kegagalan sistem. Jika suatu waktu
terdapat kegagalan, DBMS dapat mengembalikan data sebagaimana kondisi
saat sebelum terjadi kegagalan melalui fasilitas backup dan recovery
database.
Sedangkan kekurangan dari penggunaan DBMS ini menurut Connolly dan
Begg (2010:80) adalah sebagai berikut :
Kompleksitas
Ketentuan dari fungsi-fungsi yang diharapkan ada dalam DBMS yang
membuat DBMS menjadi software yang kompleks. Kegagalan dalam
15
memahami sistem dapat mengarah kepada keputusan desain yang buruk dan
akan berdampak serius bagi sistem.
Ukuran
Tingkat kompleksitas dan keluasan fungsi dari DBMS akan memakan
banyak tempat penyimpanan serta membutuhkan jumlah memory yang cukup
besar jika ingin bekerja lebih efisien.
Biaya
Biaya dari DBMS bervariasi tergantung dari lingkungan dan fungsi yang
harus disediakan. Perbedaan harga bisa menjadi sangat besar tergantung
fungsi yang ada. Selain itu terdapat biaya pemeliharaan tahunan yang juga
harus dipikirkan.
Biaya tambahan untuk hardware
Adanya persyaratan besar tempat penyimpanan DBMS dan database
mungkin akan mengarah kepada pembelian tempat penyimpanan tambahan.
Bahkan mungkin mesin baru yang didedikasikan untuk menjalankan DBMS.
Biaya perubahan / konversi
Dalam beberapa kasus, biaya DBMS dan hardware tambahan mungkin
lebih murah daripada biaya mengkonversi aplikasi yang ada agar dapat
dijalankan di hardware dan DBMS yang baru. Biaya ini juga meliputi biaya
pelatihan karyawan tentang sistem yang baru dan mungkin juga biaya
memperkerjakan orang spesialis untuk membantu dalam perubahan dan
menjalankan sistem. Biaya yang tinggi ini merupakan salah satu alasan utama
mengapa organisasi bertahan dengan sistem yang lama dan tidak mau
berubah ke teknologi database yang lebih modern.
Performa
DBMS dirancang untuk lebih ke umum, dibuat untuk memenuhi banyak
aplikasi tidak cuma satu, dan sebagai hasilnya kecepatan menjalankan
aplikasi tidak sebagus dengan kecepatan menjalankan aplikasi yang
dilakukan oleh sistem file-based yang terfokuskan untuk spesifik bagian
tertentu.
Dampak kegagalan besar
16
Basis data yang tersentralisasi berarti kerentanan sistem terhadap
kerusakan juga besar, karena berdampak pada seluruh data. Dikarenakan
DBMS sebagai sumber utama untuk mengakses database itu tersentralisasi,
sehingga seluruh user dan aplikasi sangat bergantung pada kehadiran DBMS,
oleh karena itu jika terdapat kegagalan di salah satu komponennya dapat
memberhentikan seluruh operasi.
2.1.7
The Three Level ANSI-SPARC
Gambar 2.2 The ANSI-SPARC three-level architecture
(Connolly dan Begg, 2010:87)
Menurut Connolly dan Begg (2010:86) arsitektur dari the three level ANSISPARC terdiri dari 3 bagian yaitu:
1. External Level
Level ini berupa pandangan pengguna terhadap basis data. Tingkatan ini
menjelaskan suatu bagian dari basis data yang berhubungan dengan user.
Tingkatan ini mencakupi entitas, atribut, dan hubungan menurut pandangan
masing-masing user.
2. Conceptual Level
Level ini berupa pandangan suatu komunitas terhadap basis data.
Tingkatan ini mendeskripsikan data apa saja yang tersimpan di dalam basis
data dan hubungan antar data. Tingkatan ini merupakan pandangan
17
keseluruhan kebutuhan basis data organisasi yang bersifat independen dari
pertimbangan
penyimpanan
data
secara
fisik.
Tingkat
konseptual
merepresentasikan keseluruhan entitas, atribut dan hubungannya, batasan dari
data, informasi semantik suatu data, dan informasi akan keamanan dan
integritas.
3. Internal Level
Level ini berupa representasi fisik basis data di dalam komputer.
Tingkatan ini menjelaskan bagaimana cara data disimpan di dalam basis data
meliputi alokasi kapasitas tempat penyimpanan data dan index, deskripsi
record suatu tempat penyimpanan data, penempatan record, teknik enkripsi
dan teknik kompresi.
Arsitektur ANSI-SPARC ini memiliki tujuan untuk memisahkan setiap
pandangan user terhadap basis data dengan cara fisik suatu basis data
direpresentasikan.
2.1.8
Database Language
Menurut Connolly dan Begg (2010:91-93), bahasa basis data yang disebut
data sublanguage meliputi dua bagian, yaitu:
•
Data Definition Language (DDL)
Connolly dan Begg (2010:91) menyatakan DDL sebagai bahasa yang
mengizinkan database administrator atau user untuk mendeskripsikan dan
membuat penamaan pada suatu entitas, atribut, dan hubungan yang
dibutuhkan aplikasi, bersamaan dengan batasan integritas dan batasan
keamanan yang terasosiasi. DDL digunakan untuk mendefinisikan atau
mengubah skema. Rusli (2010:51) juga menyatakan bahwa DDL digunakan
untuk mendefinisikan skema eksternal dan konseptual. Berikut merupakan
beberapa statement DDL menurut pendapat Connolly dan Begg (2010:236),
yaitu :
a. Create Database
Merupakan statement untuk membuat struktur database.
b. Create Table
Merupakan
statement
untuk
membuat
mengidentifikasikan tipe data untuk tiap kolom.
tabel
dengan
18
c. Alter Table
Merupakan statement untuk mengganti atau mengubah struktur
dari tabel yang sudah dibuat sebelumnya.
d. Drop Table
Merupakan statement untuk membuang atau menghapus tabel
beserta semua data yang terkait didalamnya.
e. Create Index
Merupakan statement untuk membuat index pada suatu tabel.
Index ialah struktur yang menyediakan kecepatan akses terhadap
suatu baris tabel berdasarkan nilai satu kolom atau lebih.
f. Drop Index
Merupakan statement untuk membuang atau menghapus index
yang sudah dibuat sebelumnya.
•
Data Manipulation Language (DML)
DML merupakan suatu bahasa yang menyediakan sekumpulan operasi
untuk mendukung kegiatan memanipulasi data yang tersimpan di dalam basis
data. Operasi manipulasi data meliputi pemasukan data baru ke dalam basis
data, modifikasi, pengambilan, dan penghapusan data yang tersimpan di basis
data. DML dibagi menjadi 2 jenis, yaitu :
a. Procedural DML
Bahasa yang mengizinkan user memberitahukan kepada sistem
tentang apa saja data yang dibutuhkan dan bagaimana cara untuk
mengambil data.
b. Non-procedural DML
Bahasa yang mengizinkan user untuk menyatakan data apa saja
yang digunakan bukan bagaimana data tersebut didapatkan.
Menurut Connolly dan Begg (2010:188) Statements DML meliputi :
-
SELECT
Pernyataan untuk mengambil dan menampilkan data dari
satu atau banyak tabel.
-
INSERT
Pernyataan untuk menambah baris baru ke dalam tabel.
19
-
UPDATE
Pernyataan untuk mengubah data yang sudah ada di
dalam tabel.
-
DELETE
Pernyataan untuk menghapus baris data di dalam tabel.
2.1.9
Fact-Finding Techniques
Untuk dapat membangun suatu sistem basis data harus dilakukan
pengumpulan fakta-fakta yang dibutuhkan dalam proyek pembangunan basis data
tersebut. Menurut Connolly dan Begg (2010:344) seorang pengembang basis data
umumnya menggunakan teknik pencarian fakta di bawah ini:
Examining Documentation
Pemeriksaan dokumentasi merupakan teknik untuk mengumpulkan
informasi
dengan
memeriksa
dokumentasi
yang
ada.
Pemeriksaan
dokumentasi dapat bermanfaat untuk mendapatkan wawasan tentang apa saja
kebutuhan yang diperlukan untuk membangun basis data. Dengan memeriksa
dokumen, formulir, laporan, dan files yang terasosiasi dengan sistem yang
berjalan dapat memberikan pengertian tentang sistem tersebut. Contoh
dokumen yang dapat diperiksa bisa berupa memos, e-mails, keluhan
pelanggan atau karyawan, struktur organisasi, kamus data, invoice, dan
sebagainya.
Interviewing
Wawancara merupakan teknik untuk mendapatkan informasi dan fakta
dari individu dengan bertatap muka dengan mereka dan bertanya untuk
mencari tahu akan fakta, mengklarifikasi fakta, mengidentifikasi persyaratan,
menghasilkan entusiasme, serta mengumpulkan ide dan opini. Terdapat dua
tipe dalam wawancara, wawancara terstruktur dan wawancara tidak
terstruktur. Dalam wawancara terstruktur, pewawancara sudah mempunyai
kumpulan pertanyaan yang akan ditanyakan kepada pihak yang diwawancarai.
Jenis pertanyaan dapat berupa pertanyaan terbuka yang membutuhkan
klarifikasi atau ekspansi suatu jawaban dan pertanyaan tertutup yang
merupakan pertanyaan yang membutuhkan jawaban langsung Sedangkan
untuk wawancara tidak terstruktur, pewawancara hanya mempunyai
gambaran akan topik yang akan ditanya kepada orang yang di wawancarai.
20
Pertanyaan spesifiknya akan berkembang sendiri saat wawancara dilakukan.
Berikut adalah keuntungan dan kerugian dari melakukan wawancara menurut
Connolly dan Begg (2010:345):
Keuntungan :
-
Mengijinkan orang yang di wawancarai untuk merespon secara
bebas dan terbuka terhadap pertanyaan.
-
Memungkinkan orang yang di wawancarai untuk merasa
terlibat dalam proyek.
-
Mengijinkan pewawancara untuk mengetahui lebih lanjut akan
komentar menarik yang disebutkan oleh pihak yang di
wawancara.
-
Mengijinkan pewawancara untuk menyesuaikan pertanyaan
saat wawancara.
-
Mengijinkan pewawancara untuk mengobservasi gerakan tubuh
pihak yang di wawancara.
Kerugian :
-
Memakan banyak waktu dan biaya
-
Keberhasilan bergantung pada ketrampilan komunikasi sang
pewawancara
-
Keberhasilan juga bergantung pada kesediaan pihak yang di
wawancara untuk dilakukan wawancara.
Observing the Enterprise in Operation
Observasi merupakan suatu teknik untuk mengumpulkan informasi yang
dibutuhkan dengan cara mengobservasi seseorang saat menjalankan
aktifitasnya atau turut berpartisipasi dalam aktifitas tersebut supaya dapat
memahami tentang sistem yang berjalan. Teknik ini sangat berguna ketika
validasi data yang dikumpulkan melalui metode lain menjadi pertanyaan atau
kompleksitas suatu aspek sulit dideskripsikan dengan jelas oleh pengguna.
Menurut Connolly dan Begg (2010:346), keuntungan dan kerugian dari
penggunaan observasi adalah sebagai berikut :
Keuntungan :
-
Mengijinkan validitas data dan fakta untuk di cek.
-
Observer dapat mengetahui dengan pasti hal-hal yang dilakukan.
21
-
Observer dapat mendapatkan data yang mendeskripsikan
lingkungan fisik dari pekerjaan.
-
Tidak mahal.
-
Observer dapat mengukur pekerjaan yang harus dilakukan.
Kerugian :
-
Orang dapat secara sadar atau tidak sadar bekerja beda dengan
biasanya ketika diobservasi.
-
Beberapa pekerjaan mungkin tidak dilakukan ketika sedang
diobservasi.
-
Kemungkinan tidak dapat dipraktekkan.
-
Kemungkinan lalai dalam observasi terhadap tugas yang
melibatkan tingkat kesulitan yang berbeda atau jumlah yang
berbeda dari yang biasanya dilakukan.
Research
Penelitian merupakan suatu teknik pengumpulan fakta dengan melakukan
penelitian terhadap suatu masalah atau aplikasi dengan cara mengidentifikasi
penyelesaian suatu masalah yang sama melalui jurnal, buku referensi, dan
internet. Menurut Connolly dan Begg (2010:346), keuntungan dan kerugian
dari penelitian adalah sebagai berikut :
Keuntungan :
-
Menghemat waktu jika solusi sudah tersedia.
-
Peneliti
dapat
melihat
bagaimana
orang
lain
telah
menyelesaikan masalah yang mirip atau bertemu dengan
persyaratan yang mirip.
-
Peneliti akan update dengan proses pengembangan terkini.
Kerugian :
-
Membutuhkan akses kepada sumber yang tepat.
-
Memungkinkan pada tidak membantu dalam memecahkan
masalah karena problem tidak terdokumentasi dimana-mana.
Questionnaires
Kuisioner merupakan suatu teknik pengumpulan fakta dengan melakukan
survey dan pencarian informasi dalam menghadapi audience dengan jumlah
yang banyak. Jenis pertanyaan kuisioner dibagi menjadi dua, yaitu freeformat questions, dimana responden mempunyai kebebasan dalam mengisi
22
jawaban dan fixed-format questions yang membutuhkan jawaban spesifik dari
suatu pertanyaan. Menurut Connolly dan Begg (2010:347), keuntungan dan
kerugian dari kuisioner adalah sebagai berikut :
Keuntungan :
-
Responden dapat menyelesaikan dan mengembalikan kuisioner
sesuai kemauan mereka.
-
Biaya cenderung murah untuk teknik mengumpulkan data dari
banyak orang.
-
Responden cenderung mengatakan fakta karena data responden
dirahasiakan.
-
Respon dapat disusun sebagai tabel dan dianalisis dengan cepat.
Kerugian :
-
Jumlah responden bisa hanya sedikit, sekitar 5% atau 10%
-
Kuisioner bisa dikembalikan dalam keadaan tidak selesai.
-
Pertanyaan memungkinkan disalahpahami dan tidak ada
kemungkinan untuk menyesuaikan pertanyaan yang sudah
disalahpahami.
-
Tidak dapat mengobservasi dan menganalisis bahasa tubuh dari
responden.
2.1.10 Database System Development Lifecycle
Menurut Connolly dan Begg (2010:313) dalam membangun suatu sistem
database terdapat siklus yang terdiri dari sebagai berikut:
23
Gambar 2.3 Database System Development Lifecycle
(Connolly dan Begg, 2010:314)
Database Planning
Untuk membangun suatu sistem basis data, diperlukan perencanaan yang
matang terlebih dahulu. Database Planning merupakan aktifitas manajemen
yang memungkinkan tahap dalam Database System Development LifeCycle
bisa direalisasikan secara efisien dan efektif. Suatu sistem basis data yang
akan dibangun harus bisa mendukung strategi informasi, oleh karena itu tahap
pertama yang penting dalam database planning adalah menentukan dengan
24
jelas mission statement untuk sistem basis data tersebut. Dengan adanya
mission
statement
akan
membantu
mengklarifikasikan
tujuan
dari
dibentuknya sistem basis data dan membantu menyediakan alur yang jelas
untuk mencapai efektifitas dan efisiensi dari pembuatan sistem basis data
yang dibutuhkan.
Setelah menentukan mission statement, selanjutnya adalah menentukan
mission objectives. Suatu mission objectives harus mendefinisikan suatu tugas
tertentu yang akan didukung oleh sistem basis data. Dalam mission statement
dan mission objectives dapat juga disertai informasi tambahan yang
memperjelas pekerjaan yang harus dilakukan, sumber yang dibutuhkan, dan
biaya yang dibutuhkan untuk membayar semuanya. Dalam database planning
juga harus menyertakan pembangunan standar yang menentukan:
- Bagaimana data dikumpulkan
- Format spesifikasi
- Dokumen apa saja yang dibutuhkan
- Bagaimana proses desain dan implementasi yang harus dilakukan.
System Definition
Merupakan suatu tahap untuk mendeskripsikan cakupan dan batasan dari
aplikasi basis data dan sudut pandang pengguna (user view) yang utama.
Suatu sistem basis data dapat mempunyai satu atau lebih user views. User
Views mendefinisikan apa yang dibutuhkan sistem basis data dari perspektif
peran tertentu (seperti Manager atau Supervisor) atau area dari Enterprise
Application ( seperti marketing, personnel, atau stock control). Identifikasi
user views merupakan aspek penting dalam membangun suatu sistem basis
data karena dapat membantu dalam memastikan bahwa tidak ada para
pengguna database utama yang terlupakan ketika membangun persyaratan
sistem basis data tersebut.
Requirement Collection and Analysis
Dalam tahap ini terdapat proses pengkoleksian dan menganalisis
informasi mengenai bagian-bagian dari organisasi yang akan menggunakan
sistem
basis
data.
Informasi
yang
didapat
akan
dianalisis
untuk
mengidentifikasi persyaratan atau fitur yang harus ada dalam sistem basis
data. Informasi yang dikumpulkan untuk setiap user view utama meliputi :
25
-
Deskripsi data yang digunakan atau dihasilkan
-
Detil mengenai bagaimana data dihasilkan
-
Kebutuhan tambahan untuk sistem basis data yang baru
Jumlah data yang dikumpulkan untuk dianalisis bergantung dari
kompleksitas masalah dan kebijakan organisasi. Informasi yang didapat di
tahap ini bisa jadi tidak terstruktur dan terdapat permintaan informal, dimana
dua hal tersebut nantinya harus diubah menjadi pernyataan persyaratan yang
terstruktur. Hal ini dicapai dengan memanfaatkan requirements specification
techniques seperti Analysis and Design (SAD) techniques, Data Flow
Diagrams (DFD), dan Hierarchical Input Process Output (HIPO) charts yang
didukung dokumentasi. Terdapat 3 pendekatan yang dapat digunakan untuk
mengatur persyaratan dari suatu sistem basis data dengan banyak user views,
yaitu:
1) Centralized Approach
Dalam Centralized Approach, persyaratan tiap user views akan
disatukan menjadi satu kumpulan persyaratan untuk sistem basis data.
Suatu data model yang merepresentasikan seluruh user views dibuat di
tahap desain basis data.
2) View Integration Approach
Dalam view integration approach, persyaratan untuk tiap user view
tetap berada di list yang terpisah. Data model yang dibuat yang
merepresentasikan user views akan digabung belakangan di tahap
desain basis data. Data model untuk satu user views disebut sebagai
local data models, dan penggabungan seluruh local data models akan
menghasilkan global data model.
3) Combination of Both Approach
Dalam pendekatan kombinasi yang biasa digunakan untuk sistem
basis data yang kompleks, pendekatan centralized dan view integration
sama-sama digunakan untuk mengatur benyak user views. Sebagai
contoh dua peryaratan user views digabung menjadi satu menggunakan
centralized approach untuk membentuk local data model, dan
kemudian baru memanfaatkan view integration approach dengan cara
local data models dikumpulkan dan digabung menjadi satu global data
model.
26
Database Design
Database design merupakan tahap dimana terdapat proses untuk
membuat suatu desain yang akan mendukung mission statements dan mission
objectives organisasi untuk sistem basis data yang akan dibuat. Terdapat
beberapa pendekatan dalam mendesain suatu database, yaitu:
-
Top-Down Approach
Top-Down approach dimulai dari pembentukan model data yang
berisi beberapa entitas high-level dan relationship, yang kemudian
menggunakan
pendekatan
top-down
secara
berturut-turut
untuk
mengidentifikasi entitas lower level, relationship dan atribut lainnya.
-
Bottom-Up Approach
Bottom-Up approach dimulai dari atribut dasar seperti sifat-sifat
entitas dan relationship, dengan analisis dari penggabungan antar atribut,
yang dikelompokan ke dalam suatu relasi yang merepresentasikan tipe
dari entitas dan relationship antar entitas. Pendekatan ini cocok
dilakukan dalam mendesain basis data yang simple dan relatif
mengandung atribut yang sedikit.
-
Inside-Out Approach
Pendekatan ini berhubungan dengan pendekatan bottom-up akan
tetapi mempunyai sedikit perbedaan dengan identifikasi awal entitas
utama dan kemudian menyebar kelainnnya seperti entitas, relationship,
dan atribut lainnya yang terkait dengan entitas yang terlebih dulu di
identifikasi.
-
Mixed Strategy Approach
Dalam pendekatan ini menggunakan pendekatan top-down approach
dan bottom-up approach pada berbagai macam bagian dari model yang
kemudian seluruh bagian akan digabungkan menjadi satu.
Dalam mendesain basis data, terdapat tiga tahapan yang harus dilalui
menurut Connolly dan Begg (2010:322-324), yaitu:
-
Conceptual Database Design
Fase pertama dalam database design yang melibatkan suatu proses
untuk membangun suatu model dari data yang digunakan dalam
perusahaan yang berdiri sendiri dan terpisah dari segala pertimbangan
aspek fisik.
27
-
Logical Database Design
Fase kedua dalam database design yang melibatkan proses untuk
membangun model data dari data yang digunakan perusahaan dengan
berbasiskan suatu model data spesifik, namun berdiri sendiri, terpisah
dari pertimbangan aspek fisik maupun DBMS.
-
Physical Database Design
Fase ketiga dalam database design yang melibatkan proses untuk
memproduksi suatu deskripsi dari implementasi database dalam
secondary storage yang menjelaskan dasar suatu relasi, file atau
organisasi, penggunaan index untuk mencapai efisiensi akses terhadap
data, asosiasi integrity constraints dan pertimbangan keamanan.
DBMS Selection
DBMS Selection merupakan suatu proses pemilihan DBMS yang sesuai
untuk mendukung sistem basis data yang akan dibuat. Langkah utama dalam
melakukan pemilihan DBMS adalah sebagai berikut:
-
Define Terms of Reference of study
Penentuan terms of references dilakukan dengan menyatakan
objektif dan ruang lingkup dan tugas yang harus dilakukan berbasiskan
dari persyaratan user.
-
Shortlist two or three products
Merupakan proses untuk melakukan evaluasi perbandingan dua atau
tiga produk DBMS.
-
Evaluate products
Merupakan proses mengevaluasi produk DBMS yang akan
digunakan. Pengevaluasian dikelompokkan menjadi data definition,
physical
definition,
accessibility,
transaction
handling,
utilities,
development, dan other features
-
Recommend selection and produce report
Tahap
terakhir
dalam
pemilihan
DBMS
yang
melibatkan
dokumentasi proses dan menyajikan statement dari penemuan yang
didapat serta rekomendasi produk DBMS tertentu.
28
Application Design
Application Design melibatkan proses perancangan User Interface dan
program aplikasi yang akan digunakan untuk memproses database. Desain
suatu user interface harus dapat memenuhi seluruh fungsi-fungsi yang telah
dinyatakan dalam spesifikasi persyaratan user untuk sistem basis data.
Aktifitas antara database design dengan application design terjadi secara
paralel, namun desain aplikasi tidak dapat dibentuk sampai perancangan basis
data yang dibuat untuk mendukung aplikasi dan juga alur informasi antara
application design dan database design terancang dengan jelas. Desain user
interface merupakan salah satu tahap penting dan user interface yang
didesain sebisa mungkin harus mudah dimengerti, mudah digunakan, bersifat
langsung, dan toleran. Jika user interface yang dirancang tidak mengandung
karakteristik diatas, maka sistem yang dibuat pasti akan menimbulkan
masalah. Terdapat dua aspek dalam mendesain suatu aplikasi, yaitu:
1) Transaction Design
Dalam mendesain suatu aplikasi basis data untuk perusahaan, kita harus
meneliti transaksi apa saja yang ada dalam alur kegiatan perusahaan yang
akan didukung oleh sistem basis data. Pengertian transaksi menurut Connolly
dan Begg (2010:339) adalah suatu aksi atau kumpulan aksi yang dilakukan
oleh satu user atau program aplikasi, yang mengakses atau merubah data
dalam database. Suatu DBMS harus menjamin konsistensi dari database
bahkan jika terdapat kesalahan sekalipun. Oleh karena itu DBMS harus
menjamin transaksi yang telah lengkap dilakukan, perubahan yang terjadi
terhadap database dari transaksi tersebut harus tersimpan secara permanent di
database tersebut, dan sebaliknya jika terdapat transaksi yang gagal,
perubahan yang sempat terjadi harus bisa dikembalikan ke awal kondisi
seperti saat transaksi belum dilakukan. Tujuan dari mendesain transaksi
adalah untuk mendefinisikan dan mendokumentasikan karakteristik dari
transaksi yang dibutuhkan dalam database, meliputi:
-
Data yang dibutuhkan dalam transaksi
-
Karakteristik fungsional dari transaksi
-
Hasil dari transaksi
-
Kepentingan untuk user
29
-
Rata-rata yang diharapkan dari pemakaian
Terdapat tiga jenis utama transaksi, yaitu :
•
Retrieval Transaction : Digunakan untuk mengambil data untuk
ditampilkan pada layar atau didalam hasil laporan
•
Update Transaction : Digunakan untuk memasukkan record baru,
menghapus record lama, atau memodifikasi record yang ada
didalam database.
•
Mixed Transaction : Melibatkan pengambilan dan proses update
data
2) User Interface Design Guidelines
Dalam tahap ini terdapat proses untuk untuk mendesain layout dari user
interface aplikasi yang akan dibuat. Dibawah ini adalah petunjuk yang kirakira bermanfaat dalam mendesain forms atau laporan menurut Connolly dan
Begg (2010:331), yaitu:
o Judul yang bermakna
o Instruksi yang mudah dimengerti
o Pengelompokkan secara logis dan mengurutkan fields
o Desain layout dari form atau laporan yang memikat secara visual
o Label fields yang dikenal
o Istilah dan singkatan yang konsisten
o Konsisten dalam penggunaan warna
o Ruang dan batasan yang jelas pada tempat untuk mengisi data
o Pergerakan cursor mudah
o Pembenaran kesalahan terhadap suatu kata dan atau keseluruhan
fields
o Terdapat pesan jika terdapat nilai yang tidak dapat diterima sistem
o Fields opsional harus ditandai dengan jelas
o Ada pesan penjelasan untuk fields
o Terdapat sinyal atau tanda pada penyelesaian
Prototyping
Dalam tahap mendesain sistem basis data, terdapat pilihan untuk
membuat prototype dari sistem basis data tersebut. Menurut Connolly dan
Begg (2010:333) Prototyping merupakan proses membangun model sistem
30
basis data yang dapat dijalankan namun biasanya model prototype hanya
mengandung sebagian dari seluruh fitur yang dibutuhkan. Tujuan dari
pembuatan prototype adalah untuk memungkinkan user menggunakan hasil
prototype untuk mengidentifikasi fitur dari sistem apakah berjalan dengan
baik atau terdapat hal yang tidak memadai, dan jika bisa menyarankan
perbaikan yang diperlukan atau penambahan fitur baru ke dalam sistem.
Prototype yang dibuat harus mempunyai keuntungan utama yaitu tidak mahal
dan cenderung cepat dibuat. Dua strategi umum dalam melakukan
prototyping adalah requirements prototyping dan evolutionary prototyping.
Strategi requirement prototyping adalah menggunakan prototype untuk
menentukan persyaratan dari sistem basis data yang diajukan dan ketika
semua persyaratan sudah komplit, prototype akan dibuang. Sedangkan
strategi evolutionary prototyping mirip dengan requirement prototyping
hanya saja yang membedakan adalah setelah persyaratan sudah komplit,
prototype tidak dibuang melainkan dikembangkan lebih lanjut untuk menjadi
suatu sistem basis data yang berjalan.
Implementation
Menurut Connolly dan Begg (2010:333) implementasi adalah realisasi
fisik dari basis data dan desain aplikasinya. Proses implementasi database
dicapai dengan memanfaatkan Data Definition Language (DDL) dari DBMS
dan atau Graphical User Interface (GUI) yang dipilih, yang menyediakan
fungsi yang sama sambil menyembunyikan low-level DDL statements. DDL
statements
digunakan
untuk
menciptakan
struktur
basis
data
dan
menghilangkan file yang terdapat dalam basis data tersebut. User view juga
diterapkan pada tahap ini. Program aplikasi diimplementasikan dengan
menggunakan bahasa generasi ke 3 atau generasi ke 4 yang dipilih. Bagian
dari program aplikasi ini adalah transaksi basis data yang diterapkan dengan
menggunakan Data Manipulation Language dari target DBMS yang terdapat
dalam bahasa pemprograman seperti Visual Basic (VB), VB.NET, Phyton,
Delphi, C, C++, C#, Java. Selain itu juga mengimplementasikan komponenkomponen yang lain dari desain aplikasi seperti layar menu, form pengisian
data, dan laporan. Pengendalian keamanan dan integritas untuk aplikasi juga
diimplementasikan. Sebagian dari kendali ini telah diterapkan dengan
31
menggunakan DDL tetapi yang lain mungkin perlu untuk digambarkan diluar
dari DDL sebagai contoh kegunaan yang disediakan DBMS atau kendali
sistem operasi.
Data Conversion and Loading
Dalam membangun sistem basis data, tahap ini hanya digunakan saat
sistem basis data yang baru dibangun akan menggantikan sistem basis data
yang sedang digunakan. Data conversion and loading merupakan tahap
mentransfer data yang ada ke dalam sistem basis data yang baru dan
mengubah aplikasi yang sudah ada agar dapat digunakan ke dalam basis data
yang baru. Di masa sekarang, sudah menjadi hal yang biasa bagi sebuah
DBMS untuk mempunyai utilitas yang dapat memuat keseluruhan file yang
ada kedalam basis data yang baru. Utilitas biasanya membutuhkan spesifikasi
dari sumber dan tujuannya, sehingga mengubah data sesuai dengan format
basis data yang baru.
Testing
Tahap testing merupakan tahap dimana dilakukan proses untuk
menjalankan sistem basis data dengan tujuan untuk mencari kesalahan yang
ada. Hal ini dicapai menggunakan strategi testing yang direncanakan dengan
hati-hati dan data realistik supaya seluruh proses testing dijalankan dengan
ketat dan sesuai metode. Situasi yang ideal untuk pengujian sistem adalah
mempunyai suatu pengujian basis data pada suatu sistem perangkat keras
yang terpisah tetapi ini sering tidak tersedia. Jika data asli yang akan
digunakan maka back-up penting untuk dilakukan. Setelah pengujian
diselesaikan, maka sistem aplikasi dan basis data ini siap digunakan dan
diberikan pada user.
Operational Maintenance
Setelah sistem basis data diimplementasikan dan dilakukan testing, maka
sistem akan masuk ke tahap selanjutnya yaitu tahap pemeliharaan. Menurut
Connolly dan Begg (2010:335) pengertian dari Operational Maintenance
adalah suatu proses untuk mengawasi dan memelihara sistem basis data
setelah dilakukan proses instalasi. Dalam tahap pemeliharaan, terdapat
aktifitas sebagai berikut:
32
1) Mengawasi peforma dari sistem
Jika peforma jatuh dibawah level yang dapat diterima, reorganisasi
basis data mungkin perlu dilakukan.
2) Memelihara dan meningkatkan sistem database saat diperlukan
Persyaratan baru akan dimasukkan ke dalam sistem basis data
melalui tahap-tahap sebelumnya yang terdapat dalam lifecycle.
Ketika aplikasi basis data sedang beroperasi, perlu dilakukan proses
pengawasan secara dekat untuk memastikan bahwa peforma sistem berada
dalam tingkatan yang bisa diterima. Proses pengawasan akan terus berlanjut
sepanjang seluruh hidup suatu aplikasi basis data tersebut dan ada waktu
tertentu boleh melakukan reorganisasi basis data untuk mencukupi kebutuhan
dari sistem. Perubahan ini menyediakan informasi pada evolusi sistem dan
sumber daya yang pada masa akan datang mungkin diperlukan. Hal ini
memungkinkan Database Administrator dapat mengembangkan kegunaan
yang diperlukan atau membeli peralatan tambahan jika diperlukan.
2.1.11 Database Design Methodology
Menurut Connolly dan Begg (2010:466) database design methodology adalah
suatu pendekatan terstruktur yang memanfaatkan prosedur, teknik, alat, dan bantuan
dokumentasi untuk mendukung dan memfasilitasi proses desain. Metodologi desain
basis data terdiri dari fase-fase dimana tiap fase mengandung sejumlah langkah yang
memandu
designer
untuk
membuat
rencana,
mengatur,
mengontrol,
dan
mengevaluasi proyek pengembangan basis data. Fase database design methodology
terdiri dari tiga fase utama, yaitu fase konseptual, fase logical, dan fase physical.
2.1.11.1 Fase Konseptual
Fase konseptual dari database design meliputi pembangunan suatu model
data konseptual perusahaan yang sepenuhnya independen dari detil implementasi
seperti program aplikasi, DBMS yang dipilih, bahasa pemrograman, hardware yang
digunakan, dan segala pertimbangan fisik lainnya. Connolly dan Begg (2010:468)
membagi langkah-langkah dalam membangun model data konseptual menjadi
dibawah ini:
1. Identifikasi Tipe Entitas
2. Identifikasi Tipe Hubungan
33
3. Identifikasi dan asosiasi atribut dengan entitas atau relationship types
4. Menentukan atribut domain
5. Menentukan atribut yang menjadi candidate keys, primary key, dan
alternate keys
6. Pertimbangan
untuk
menggunakan
enchanced
modeling
concepts
(merupakan tahap opsional)
7. Memeriksa model untuk mencari redudansi
8. Validasi model data konseptual terhadap user transactions
9. Review model data konseptual dengan user
2.1.11.2 Fase Logical Database Design untuk Model Relasional
Dalam tahap ini, Connolly dan Begg (2010:490) menyatakan bahwa tujuan
utama dilakukannya pembangunan logical data model adalah untuk menterjemahkan
model data konseptual
menjadi
suatu logical data model
dan kemudian
menvalidasi model tersebut apakah sudah terstruktur secara benar dan mampu untuk
mendukung transaksi. Langkah-langkah yang terdapat dalam fase membangun
logical data model ini menurut Connolly dan Begg (2010:490) terdiri dari sebagai
berikut:
1. Mengambil relations untuk logical data model
2. Validasi relations dengan menggunakan normalisasi
3. Validasi relations dengan user transactions
4. Cek integrity constraints
5. Review logical data model dengan user
6. Menggabungkan logical data model menjadi suatu global data model
(langkah opsional)
7. Cek perkembangan untuk ke depannya
2.1.11.3 Fase Physical Database Design untuk Basis Data Relasional
Dalam tahap ini, Connolly dan Begg (2010:523) menyatakan bahwa pada
fase physical database design merupakan fase dimana terdapat proses untuk
menghasilkan deskripsi dari implementasi basis data di dalam secondary storage,
dimana dalam deskripsi tersebut terdapat deskripsi tentang dasar relations, file
organisasi, indeks yang digunakan untuk mencapai akses terhadap data yang efisien,
dan segala batasan integritas serta ukuran sekuritas yang terasosiasi. Langkah-
34
langkah yang terdapat dalam fase ini menurut Connolly dan Begg (2010:523) adalah
sebagai berikut:
1. Menterjemahkan logical data model untuk DBMS tujuan
1.1 Desain dasar relations
1.2 Desain representasi dari data yang akan diambil
1.3 Desain general constraints
2. Desain file organisasi dan indeksnya
2.1 Analisis transaksi
2.2 Memilih file organisasi
2.3 Memilih indeks
2.4 Memperkirakan besar tempat penyimpanan yang dibutuhkan
3. Desain user views
4. Desain mekanisme untuk pengamanan
5. Mempertimbangkan pengontrolan redudansi
6. Mengawasi dan menyesuaikan sistem operasional
2.1.12 Entity Relationship Diagram
Menurut Connolly dan Begg (2010:371), entity relationship modelling
merupakan pendekatan top-down untuk database design yang dimulai dari
mengidentifikasi data penting yang dinamakan entitas, serta hubungan antar datanya
yang direpresentasikan di dalam model.
Menurut Connolly dan Begg (2010:371-396), Konsep dasar dari ER model
terdiri dari beberapa bagian, yaitu:
•
Entity Type
Connoly dan Begg (2010:372) menyebutkan entity type sebagai
kumpulan objek-objek yang memiliki sifat yang sama, dimana sifat tersebut
diidentifikasi oleh perusahaan memiliki keberadaan yang independen. Tipe
entitas merupakan salah satu konsep dasar dari model ER yang
merepresentasikan kumpulan dari objek yang memiliki sifat yang sama.
Contoh dari tipe entitas misalnya mahasiswa dimana merupakan representasi
dari sekumpulan orang yang mempunyai ciri-ciri belajar di suatu universitas
tertentu.
35
Gambar 2.4 Representasi diagram dari tipe entitas Staff dan Branch
(Connolly dan Begg, 2010:374)
•
Relationship Types
Menurut Connoly dan Begg (2010: 374), Relationship Type merupakan
sekumpulan hubungan antara satu atau lebih tipe-tipe entitas dimana tiap tipe
entitas diberikan nama yang menjelaskan fungsinya. Sedangkan relationship
occurrence adalah asosiasi yang teridentifikasi secara unik, dimana setiap tipe
entitas yang berpartisipasi terlibat satu kejadian. Suatu relationship
direpresentasikan sebagai garis yang menghubungkan antara satu tipe entitas
dengan entitas lainnya. Garis tersebut diberi nama sesuai dengan
hubungannya dan diberi tanda panah satu arah disamping nama hubungannya.
Gambar 2.5 Contoh relationship types Branch has Staff
(Connolly dan Begg, 2010:376)
Setiap entitas yang terlibat di relationship type tertentu dinamakan
participant, dan jumlah partisipan di dalam relationship type dinamakan
degree di dalam hubungan tersebut. Sebuah relationship berderajat dua
disebut binary, relationship, sedangkan berderajat tiga disebut dengan
ternary; dan relationship berderajat empat disebut dengan quartenary.
•
Attribute
36
Gambar 2.6 Contoh Atribut dalam entitas Staff dan Branch
(Connolly dan Begg, 2010:382)
Menurut Connolly dan Begg (2010: 379), atribut merupakan suatu sifat
dari sebuah entitas atau sebuah relationship type. Attribute domain
merupakan kumpulan nilai yang diijinkan untuk satu atau lebih atribut dan
setiap atribut mempunyai attribute domain. Klasifikasi dari atribut terdiri dari
dibawah ini:
1. Simple Attribute, yaitu atribut yang terdiri dari suatu komponen tunggal
dengan keberadaan yang independent. Simple Attribute tidak dapat
dibagi menjadi lebih kecil lagi dan disebut juga sebagai atomic attribute.
2. Composite Attribute, yaitu atribut yang terdiri dari banyak komponen,
dimana masing – masing komponen mempunyai keberadaan yang
independent. Sebagai contoh atribut alamat dapat dibagi menjadi kota,
jalan, dan kode pos.
3. Single-Valued Attribute, yaitu atribut yang hanya mempunyai nilai
tunggal untuk setiap kejadian dari tipe entitas. Sebagai contoh untuk
tipe entitas mahasiswa hanya mempunyai satu atribut nomor induk.
4. Multi-Valued Attribute, yaitu atribut yang memiliki beberapa nilai dari
setiap kejadian. Sebagai contoh untuk tipe entitas mahasiswa dapat
mempunyai atribut nomor telepon lebih dari satu.
5. Derived-Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari
satu atau beberapa atribut – atribut lainnya, dan tidak harus berasal dari
satu entitas.
6. Keys, yang terdiri dari tiga jenis yaitu candidate keys, primary keys, dan
composite keys. Candidate keys merupakan sekumpulan atribut yang
masing-masing nilai mengidentifikasi secara unik setiap kejadian
37
entitas.
Primary
keys
adalah
key
unik
yang
dipilih
untuk
mengidentifikasikan suatu entitas. Composite keys adalah key yang
terdiri dari dua atau lebih atribut.
•
Strong Entity and Weak Entity
Menurut Connolly dan Begg (2010:383), suatu entitas dapat
dikategorikan menjadi strong entity dan weak entity. Strong Entity adalah
suatu entitas yang keberadaannya tidak bergantung dengan entitas lainnya.
Sedangkan Weak Entity adalah entitas yang keberadaannya bergantung pada
entitas yang lain. Contoh dari strong entity misalnya entitas Staff yang dapat
berdiri sendiri tidak bergantung dengan entitas lainnya sedangkan contoh dari
weak entity misalnya entitas purchase order detail dimana entitas tersebut
bergantung kepada entitas purchase order dan entitas item.
•
Attributes on relationships
Relationship type yang terasosiasi dengan entitas dapat mempunyai
suatu atribut. Cara untuk membedakan atribut relasi dengan atribut entitas
adalah dari kotak dibuat yang dihubungkan dengan garis putus-putus dan
kemudian disambungkan diantara hubungan entitas.
•
Structural constraints
Merupakan batasan yang mencerminkan kejadian sebenarnya dari
setiap entitas. Tipe utama batasan dalam hubungan disebut sebagai
multiplicity. Multiplicity adalah kemungkinan jumlah atau jarak dari kejadian
suatu entitas yang berhubungan dengan kejadian entitas yang terasosiasi
melalui relasi tertentu. Multiplicity dibagi menjadi dua bagian yang dikenal
sebagai cardinality dan participation.
Cardinality menunjukkan angka atau jarak maksimal dari kemungkinan
kejadian hubungan dari entitas yang berpartisipasi sedangkan participation
menentukan jumlah kejadian entitas di dalam suatu hubungan. Suatu
multiplicity dapat dibagi menjadi tiga jenis, yaitu:
- One-to-one 1:1 relationship
38
Gambar 2.7 Contoh hubungan one-to-one 1:1
(Connolly dan Begg, 2010:386)
- One-to-many 1:* relationship
Gambar 2.8 Contoh hubungan one-to-many 1:*
(Connolly dan Begg, 2010:388)
- Many-to-many *:* relationship
Gambar 2.9 Contoh hubungan many-to-many *:*
(Connolly dan Begg, 2010:389)
2.1.13 Normalisasi
Menurut Connoly dan Begg (2010:416) normalisasi merupakan suatu teknik
untuk menghasilkan sejumlah relasi table dengan properties yang diinginkan yang
sesuai dengan persyaratan data dari perusahaan. Normalisasi dapat juga disebut
teknik dalam perancangan logical sebuah basis data, yakni teknik pengelompokan
39
atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa
redundansi).
Dengan kata lain normalisasi merupakan proses mengubah suatu relasi yang
memiliki masalah tertentu ke dalam dua relasi atau lebih yang tidak memiliki
masalah tersebut. Masalah yang dimaksud tersebut itu sering disebut dengan istilah
anomali. Anomali merupakan kejadian yang tidak diharapkan yang menyebabkan
ketidak konsistenan data dan muncul dalam proses perancangan database.
2.1.13.1 Tujuan Normalisasi
Menurut Connolly dan Begg (2010:416) tujuan dari dilakukannya normalisasi
adalah untuk mengidentifikasi kumpulan dari relations yang mendukung persyaratan
data dari suatu perusahaan. Karakteristik dari kumpulan relations yang cocok
digunakan meliputi hal-hal berikut ini:
- Jumlah minimal dari atribut yang dibutuhkan untuk mendukung persyaratan
data perusahaan.
- Atribut dengan hubungan logical yang dekat diletakkan dalam satu relations
yang sama
- Redudansi yang minimal, dimana tiap atribut hanya direpresentasikan sekali,
kecuali atribut yang digunakan sebagai foreign keys.
2.1.13.2 Proses Normalisasi
Connolly dan Begg (2010: 428-438) menyatakan bahwa proses normalisasi
dapat dibagi menjadi beberapa tingkatan, yang biasanya terdiri dari tingkatantingkatan dibawah ini :
1.
Unnormalized Form (UNF)
Unnormalize Form (UNF) adalah sebuah tabel yang mengandung satu atau
lebih kelompok data yang berulang.
2.
First Normal Form (1NF)
First normal form (1NF) adalah suatu relasi dimana persimpangan dari
setiap baris dan kolom hanya mengandung satu nilai. Terdapat dua pendekatan
umum untuk mengubah tabel UNF ke 1NF, antara lain :
-
Pendekatan pertama dimulai dari menempatkan data yang tidak
berulang ke dalam suatu kolom dan baris yang kosong sehingga
menghasilkan tabel dengan nilai tunggal.
40
-
Pendekatan kedua dengan cara menempatkan data yang berulang
bersamaan dengan copy dari key attributes aslinya di suatu relasi yang
terpisah karena terkadang unnormalized table mengandung kumpulan
pengulangan dalam grup pengulangan, sehingga penempatan data harus
dilakukan berulang-ulang sampai tidak ada kumpulan data berulang
yang tersisa.
Hasil dari normalisasi 1NF masih bisa menyebabkan update anomalies,
sehingga diperlukan normalisasi bentuk kedua (2NF).
3.
Second Normal Form (2NF)
Second Normal Form / 2NF dilakukan berdasarkan konsep ketergantungan
fungsional penuh (full function dependency) dimana setiap atribut non primary
key bergantung secara penuh ke atribut primary key. Full function dependency
dinyatakan dengan jika A dan B adalah atribut dari suatu relasi, B adalah
fungsional ketergantungan penuh (fully functional dependency) pada A jika B
secara fungsional bergantung pada A akan tetapi bukan merupakan himpunan
bagian dari A. Dengan kata lain bentuk 2NF merupakan sebuah relasi didalam
1NF dan setiap atribut yang bukan primary key adalah fungsional tergantung
pada primary key. Proses normalisasi dari relasi 1NF ke 2NF melibatkan
penghilangan dari bagian ketergantungan (partial dependency).
4.
Third Normal Form (3NF)
Third Normal Form / 3NF dilakukan berdasarkan konsep ketergantungan
transitif (Transitive Dependency). Transitive dependency adalah sebuah kondisi
dimana A, B, dan C merupakan suatu atribut dari sebuah relasi yang jika A -> B
dan B -> C, maka C secara transitif bergantung pada A melewati B (menyatakan
bahwa A tidak secara fungsional bergantung kepada B atau C). Pada 3NF,
sebuah relasi pada bentuk 1NF dan 2NF tidak ada non primary key secara
transitif bergantung pada primary key. Proses nomalisasi dari 2NF ke 3NF
melibatkan penghilangan dari transitive dependency. Jika sebuah transitive
dependency antara attribute nya dengan menempatkan attribute tersebut ke
dalam relasi baru, selanjutnya dengan sebuah salinan dari determinannya.
Teknik ini menghasilkan kumpulan relasi dengan properties yang diinginkan
berdasarkan kebutuhan data dalam organisasi. Tujuannya adalah untuk
menghilangkan redudansi data, mengurangi kompleksitas, dan memodifikasi
data.
41
2.2
Teori Khusus
2.2.1 Pembelian
Pooler, Pooler dan Farney (2004:3) menyatakan pembelian sebagai aktifitas
yang rumit dan kompleks yang mempertemukan penjual dengan pembeli dimana
transaksi permintaan terjadi di antara keduanya.
2.2.2 Persediaan
Menurut Warren, Reeve, dan Fess (2008:398), Persediaan merupakan barang
dagang yang disimpan untuk kemudian dijual dalam operasi bisnis perusahaan, dan
untuk kebutuhan bahan yang digunakan dalam proses produksi yang disimpan untuk
tujuan itu (produksi).
2.2.3 Manajemen Aset
Menurut Weygandt, Kimmel, Kieso (2010:12), Aset merupakan sumber daya
yang dimiliki sebuah bisnis.
Sedangkan Menurut Hastings (2010:4) manajemen aset merupakan
serangkaian himpunan yang saling terkait dengan (1) mengidentifikasi apa saja aset
yang dibutuhkan, (2) mengidentifikasi kebutuhan biaya, (3) mengakuisisi aset, (4)
menyediakan dukungan untuk sistem logistik dan pemeliharaan untuk aset, (5)
menghapus atau memperbaharui aset sehingga secara efektif dan efisien dapat
memenuhi tujuan yang diinginkan.
2.2.4 PHP
Menurut Welling dan Thomson (2005:2-7), PHP merupakan bahasa
pemrograman yang didesain untuk pengembangan web dan dieksekusi di dalam web
server dan selanjutnya ditampilkan di halaman website. PHP yang merupakan produk
open-source mempunyai kelebihan sebagai berikut :
-
Performa
PHP dapat melayani akses sampai berjuta-juta dalam sehari walaupun
menggunakan server yang relative murah. PHP memberikan solusi yang
efisien dalam menanggapi performa yang dihasilkan.
-
Integrasi database
PHP dapat dikoneksikan ke berbagai macam database seperti MySQL,
postgreSQL, Oracle, Microsoft SQL Server dan lainnya.
42
-
Biaya
Penggunaan PHP tidak memungut biaya dikarenakan PHP merupakan
produk open-source.
-
Mendukung pemrograman berbasis objek
PHP menyediakan fasilitas atau metode pemrograman berbasis objek
seperti inheritance, methods, constructor, dan sebagainya.
-
Portabilitas
PHP dapat berjalan di banyak sistem operasi, sehingga pengguna dapat
mengakses dari mana saja.
2.2.5 MySQL
MySQL merupakan sebuah database management system yang bersifat
relational dan merupakan perangkat lunak yang “open source”. MySQL bisa
didapatkan secara gratis dan bayar dimana perangkat lunak MySQL yang gratis
berada dibawah lisensi General Public License (GPL) dan yang bayar berada
dibawah lisensi komersial. MySQL saat ini dikembangkan oleh Oracle yang
sebelumnya MySQL dikembangkan oleh Sun Microsystem dan MySQL AB.
Menurut Pachev (2003:4), terdapat beberapa kelebihan dan kekurangan MySQL,
yaitu:
Kelebihan :
1. Speed (Kecepatan)
2. Reliability (Dapat diandalkan)
3. Low system Resource requirements (Persyaratan sumber sistem rendah)
4. Scalability (Skalabilitas)
5. Platform diversity (Keragaman Platform)
6. Support for a large number of host languages (Mendukung banyak ‘Host
Languages’)
7. ODBC support (Mendukung ODBC)
8. Free or low-cost licensing (Bebas biaya atau murah biaya lisensi)
9. Inexpensive commercial support (Dukungan komersil dengan harga yang
tidak mahal)
10. Availability of the source code (Ketersediaan kode sumber)
Kekurangan:
1. Lack of certain SQL features (Kurangnya fitur SQL)
43
2. Lack of thorough testing on certain platforms (Kurangnya pengujian
lanjut untuk platform tertentu)
3. Difficulty of working with the source code (Susah bekerja dengan sumber
kode yang ada)
44
Halaman ini sengaja dikosongkan
Download