BAB 2 LANDASAN TEORI

advertisement
7
BAB 2
LANDASAN TEORI
2.1 Teori – teori umum
2.1.1
Sistem Basis data
A. Data
Menurut O’Brien ( 2005, p206 ), data adalah sumber daya
penting organisasi yang perlu dikelola seperti mengelola aset
penting dalam bisnis lainnya.
Menurut Whitten ( 2004, p23 ), data adalah fakta mentah
mengenai orang, tempat, kejadian, dan hal – hal penting yang ada
dalam organisasi. Tiap fakta, tanpa disertai fakta lainnya, secara
relatif mempunyai arti.
Menurut Turban ( 2005, p38 ) data merupakan kumpulan
fakta atau dari sesuatu , kejadian, aktivitas, dan transaksi, yang
diambil, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur
untuk menyatukan suatu arti tertentu.
7
8
B. Basis Data
Menurut Connolly dan Begg ( 2010, p65 ), Basis data
adalah sekumpulan data yang saling terhubung secara logikal,
yang dirangcang dalam rangka memenuhi kebutuhan informasi
dalam sebuah organisasi.
Menurut O’Brien ( 2005, p211 ), database
adalah
kumpulan dari elemen data yang terintegrasi dan saling
berhubungan secara logikal. Data yang disimpan dalam database
independent dari program aplikasi yang menggunakannya dan dari
jenis peralatan penyimpanan tempat mereka disimpan.
2.1.2
Bahasa Basis Data
A. Data Definition Language ( DDL )
Menurut Fathansyah ( 2004, p13 ), DDL adalah Struktur
basis data yang menggambarkan desain basis data secara
keseluruhan dispesifikasikan dengan bahasa khusus yang disebut
Data Definition Language ( DDL ). Bahasa ini dapat digunakan
untuk membuat tabel baru, membuat indeks, mengubah tabel,
menentukan struktur penyimpanan tabel, dsb. Hasil dari kompilasi
perintah DDL adalah kumpulan tabel yang disimpan dalam file
khusus yang disebut kamus data ( Data Dictionary ).
9
Menurut ( Connolly dan Begg, 2010, p92 ),DDL adalah
merupakan suatu bahasa yang memperbolehkan seorang DBA
(Database Administrator) atau pengguna untuk menggambarkan
dan memberi nama suatu entitas, attribut dan relasi data yang
dibutuhkan oleh aplikasi, bersamaan dengan beberapa integritas
yang terasosiasi dan batasan keamanan datanya.
B. Data Manipulation Language (DML)
Menurut (Connolly dan Begg, 2010, p93), DML adalah
sebuah bahasa yang menyediakan sekumpulan operasi untuk
mendukung pengoperasian manipulasi data dasar pada basis data.
Pengoperasian data yang akan dimanipulasi pada umumnya
meliputi:
1. Penambahan data baru kedalam basis data
2. Modifikasi data yang tersimpan dalam basis data
3. Penerimaan data yang berada dalam basis data
4. Penghapusan data dari basis data
DML terdiri dari dua tipe, yaitu :
1.
Procedural DML, yaitu sebuah bahasa yang memberikan
fasilitas kepada user untuk memberitahukan kepada sistem,
data apa yang diperlukan dan bagaimana seharusnya data
tersebut diambil.
10
2.
Non-procedural
DML,
yaitu
sebuah
bahasa
yang
memberikan fasilitas kepada user untuk menyatakan data apa
yang diperlukan daripada tentang bagaimana data tersebut
diambil.
2.1.3 Database Managment System
A. Pengertian Database Managment System ( DBMS )
Menurut
Rangga
Praduwiratna
(2010,p5),
DBMS
merupakan suatu sistem perangkat lunak yang memungkinkan
pengguna komputer untuk membuat, memelihara, mengontrol,
serta mengakses data pada basis data secara praktis, cepat, dan
efisien. Dengan adanya DBMS, kontrol serta manipulasi terhadap
data menjadi jauh lebih mudah. Dalam dunia IT, dikenal pula
istilah RDBMS (Relational Database Management System) yang
merupakan salah satu jenis DBMS yang mendukung adanya
hubungan antar tabel-tabel di dalam basis data. Tentu saja,
RDBMS bukanlah satu-satunya jenis DBMS yang tersedia, masih
terdapat berbagai jenis-jenis DBMS lainnya yang disesuaikan
dengan proses pembuatannya.
Menurut Connolly dan Begg (2010, p66), DBMS adalah
sebuah sistem perangkat lunak yang memperbolehkan pengguna
untuk mendefinisikan, membuat, mengatur, dan mengontrol akses
ke basis data.
11
B. Komponen Lingkungan DBMS
Menurut Connolly dan Begg ( 2010, p68-p71 ), lingkungan
DBMS memiliki 5 komponen utama, yaitu:
a.
Hardware
DBMS dan suatu aplikasi tentu saja membutuhkan
hardware untuk berjalan. Contoh hardware bisa dimulai
dari pc (personal computer), sebuah mainframe sampai ke
jaringan sebuah komputer.
b.
Software
Komponen software terdiri dari software DBMS itu sendiri
danprogram aplikasi, bersama-sama dengan sistem operasi,
termasuk software jaringan jika DBMS sedang digunakan
pada jaringan.
c.
Data
Komponen paling penting menurut end-user tentu saja
adalah data. Data merupakan komponen jembatan antara
komponen hardware dan software dengan komponen
prosedur dan manusia.
d. Prosedur
Prosedur merupakan instruksi dan aturan yang mengatur
desain dan penggunaan basis data. User dan staff yang
12
mengatur
basis
data
memerlukan
prosedur
dalam
menjalankan sistem.
e. Manusia
Komponen terakhir adalah manusia yang terlibat dengan
sistem, diantaranya adalah:
1. Data Administration
DA lebih memperhatikan tahapan awal dari lifecycle.
DA mengatur sumber daya data, meliputi: perencanaan
database, pengembangan dan pemeliharaan standar,
kebijakan, prosedur, dan desain database logikal dan
konseptual.
2. Database Administration
DBA mengatur realisasi fisik dari aplikasi database
yang meliputi desain fisik database dan implementasi,
pengaturan
keamanan
dan
kontrol
integritas,
pengawasan performa sistem dan pengaturan ulang
database.
3. Database Designer
dalam proyek desain database yang besar, ada dua jenis
desainer yaitu :
-
Logical Database Designer
Logical
database
designer
berkaitan
dengan
mengidentifikasi data (entitas dan attribut), hubungan
13
antara data, dan constraits pada data yang akan
disimpan dalam database.
-
Physical Database Designer
Physical database designer memutuskan bagaimana
desain database logis adalah secara fisik diwujudkan
4. Application Developers
setelah database diimplementasikan, program aplikasi
yang menyediakan fungsionalitas yang diperlukan
untuk end-users harus diimplementasikan. ini adalah
tanggung jawab dari Application Developers.
5. End-Users
End - users adalah klien dari database, yang telah
dirancang , diimplementasikan dan dipertahankan untuk
melayani kebutuhan informasi mereka. End-users dapat
diklasifikasikan menurut cara mereka menggunakan
sistemnya yaitu :
-
Naive Users
biasanya tidak menyadari DMBS. akses database
melalui program aplikasi yang ditulis khusus yang
berupaya untuk membuat operasi sesederhana
mungkin
14
-
Sophisticated Users
Sophisticated end-users biasanya menggunakan
bahasa query seperti SQL untuk melakukan operasi
yang diperlukan.
C. Fungsi DBMS
Menurut Connolly dan Begg (2010, p66), DBMS memiliki
beberapa fungsi, yaitu:
a. Penyimpanan, pengembalian, dan update data DBMS harus
menyediakan
kemampuan
untuk
menyimpan,
mengembalikan maupun meng-update data pada
database.
b. Katalog yang dapat diakses user. DBMS menyediakan
katalog yang berisi deskripsi data yang tersimpan dan data
mana saja yang memang dapat diakses oleh user.
c. Dukungan transaksi. DBMS memiliki mekanisme untuk
memastikan apakah semua update berhubungan dengan
transaksi yang ada atau tidak.
d. Layanan untuk mendukung kekonsistensian data. DBMS
menyediakan mekanisme untuk memastikan database
sudah ter-update secara benar ketika user yang mengupdate pada saat bersamaan lebih dari satu.
15
e. Layanan
recovery.
DBMS
menyediakan
mekanisme
recovery database jika database mengalami kerusakan
dalam bentuk apapun.
f. Layanan pengaturan hak akses, dengan adanya pengaturan
hak akses maka hanya user-user yang berhak untuk
mengakses data-data tertentu di database.
g. Mendukung alat komunikasi. Data yang tersimpan pada
DBMS harus dapat terintegrasi langsung dengan alat
komunikasi.
h. Layanan integritas data, DBMS menyediakan cara untuk
meyakinkan data di dalam database dan perubahan yang
terjadi pada data mengikuti aturan-aturan tertentu.
i. Layanan untuk kemandirian data, DBMS memiliki fasilitas
untuk mendukung kemandirian program dari struktur
database yang sesungguhnya.
j. Layanan untuk memenuhi kebutuhan, Fungsi DBMS yang
terakhir ini sangat berguna untuk DBA dalam mengatur
database secara efektif.
D. Keuntungan dan Kerugian DBMS
1. Keuntungan DBMS
Menurut Connolly dan Begg (2010, p77-p80),
keuntungan DBMS adalah:
16
a. Mengontrol redundansi data
Redundansi data merupakan kerangkapan data yang
terjadi di dalam basis data (kumpulan data atau file)
yang dapat berakibat pada pembuangan ruang pada
media penyimpan. Dengan adanya DBMS, maka dapat
mengurangi redundansi data dan data yang terduplikasi
tidak akan disimpan.
b. Konsistensi data
Dengan mengeliminasi atau mengontrol redundansi
data, user mengurangi resiko dari ketidak konsistensian
yang mungkin saja terjadi.
c. Pembagian data
Melalui basis data, seluruh organisasi dapat mengakses
data yang ada dan dapat membagi data dengan user
yang memiliki hak.
d. Meningkatkan integritas data
Integritas data yang dimaksud adalah validitas dan
konsistensi data yang tersimpan.
e. Meningkatkan keamanan
Database security adalah perlindungan database dari
pengguna yang tidak sah.tanpa pengamanan yang
cocok, integrasi membuat data lebih rentan daripada
sistem berbasis-file.
17
2. Kerugian dari DBMS
Menurut Connolly dan Begg (2010, p80-p81),
kerugian dari DBMS adalah:
a. Kompleksitas
Penyediaan fungsi yang diharapkan dari DBMS yang
baik membuat DBMS menjadi bagian yang sangat
kompleks dari perangkat lunak.
b. Ukuran
Kompleksitas dan kedalaman fungsi menggunakan
DBMS menjadi sebuah software yang besar, butuh
space besar dalam disk dan butuh sejumlah memori
untuk berjalan.
c. Biaya DBMS
Biaya untuk DBMS sendiri bervariasi tergantung dari
lingkungan dan fungsi yang ditawarkan.
d. Tambahan biaya untuk hardware
Untuk mendapatkan hasil yang maksimal terkadang
dibutuhkan mesin yang besar untuk menjalankan
DBMS.
e. Dampak yang tinggi pada kegagalan
Sentralisasi sumber daya meningkatkan kerentanan
sistem.
Karena
semua
aplikasi
dan
pengguna
bergantung pada ketersediaan DBMS, kegagalan
18
komponen apapun dapat membuat operasi menjadi
gagal.
2.1.4 Database System Development Lifecycle
Menurut Connolly dan Begg (2010, p313- p314) , Database
System Development Lifecycle adalah suatu aplikasi basis data yang
dianalisis dan dirancang dalam tahapan-tahapan yang meliputi :
Gambar 2.1 Tahapan Database System Development Lifecycle
19
A. Database Planning
Menurut Connolly dan Begg ( 2010, p313-p315 ),
perencanaan basis data atau database planning merupakan
aktivitas manajemen yang memungkinkan tahapan-tahapan
dari
database
system
development
lifecycle
dapat
direalisasikan seefektif dan seefisien mungkin.
B. Sysem Definition
Menurut Connolly dan Begg( 2010, p316), system
definition
yaitu
menjelaskan jangkauan dan batasan dari
aplikasi basis data dan sudut padangan utama dari para
pengguna.
C. Requirements Collection And Analysis
Menurut Connolly dan Begg (2010, p316–p320 ),
requirement collection and analysis merupakan proses
mengumpulkan dan menganalisis informasi tentang organisasi
yang
akan
didukung
oleh
aplikasi
basis
data
dan
menggunakan informasi tersebut untuk mengidentifikasikan
kebutuhan-kebutuhan terhadap sistem yang baru.
Terdapat tiga pendekatan yang bisa digunakan dalam
menganalisis dan pengumpulan kebutuhan yaitu :
20
1. Centrallized Approach
Kebutuhan-kebutuhan untuk setiap pengguna dibuat
dalam satu set requirement untuk sistem basis data
yang baru.
Setiap user view memiliki kebutuhan–kebutuhan yang
berbeda-beda dimana seluruh kebutuhan tersebut akan
dikumpulkan dan dibuat menjadi suatu global data
model yang nantiya akan diperlukan dalam pembuatan
basis data.
2. View Integration Approach
Kebutuhan untuk setiap user view dibuat dalam model
data yang terpisah. Model data yang menggambarkan
single user view disebut model data lokal, disusun
dalam
bentuk
diagram
dan
dokumentasi
yang
mendeskripsikan kebutuhan user view basis data.
Model data lokal ini kemudian digabungkan untuk
menghasilkan model data global yang menggambarkan
seluruh user view untuk basis data.
3. Gabungan antara kedua pendekatan tersebut.
D. Database Design
Menurut
Indrajani
(2009,
p84),
database
design
merupakan proses pembuatan rancangan sebuah basis data
21
yang dapat mendukung kegiatan operasional dan tujuan
perusahaan.
Terdapat tiga pendekatan yang digunakan untuk merancang
sebuah basis data yaitu :
1. Top Down
Diawali dengan membuat data model. Pendekatan
top-down dapat di ilustrasikan menggunakan entityrelationship (ER) model , kemudian mengidentifikasikan
entity
dan
relationship
antar
entity
organisasi.
Pendekatan ini sesuai bagi basis data yang kompleks.
2. Bottom-Up
Dimulai dari level dasar attribute (properti entity
dan relationship), menganalisi hubungan antar-attribute,
mengelompokkannya
kedalam
suatu
relasi
yang
menggambarkan tipe entity dan relasi antara entity.
Pendekatan bottom-up ini sesuai bagi basis data dengan
jumlah attribute yang sedikit.
3. Inside-Out
Mirip seperti pendekatan bottom-up. Perbedaannya
adalah pada tahap awal mengidentifikasi major entity,
lalu menguraikannya menjadi entity relasi-relasi dan
22
attribute-attribute yang berhubungan dengan major
entity.
4. Mixed
Menggunakan pendekatan bottom-up dan top-down
E. DBMS Selection
Menurut Indrajani (2009, p87), DBMS selection adalah
kegiatan memilih DBMS yang akan digunakan dalam
pembuatan basis data. Pemilihan DBMS yang tepat sangat
mendukung aplikasi basis data.
Langkah utama dalam pemilihan DBMS adalah :
1. Definisikan waktu untuk melakukan studi referensi.
2. Catat dua atau tiga produk yang akan dievaluasi untuk
digunakan.
3. Evaluasi produk tersebut.
4. Rekomendasikan produk yang dipilih dan buat laporan
yang mendukung.
23
F. Application Design
Menurut Connolly dan Begg (2010, p329), application
design merupakan proses perancangan antar muka pengguna
dan program-program aplikasi yang akan menggunakan
serta memproses basis data. Basis data diciptakan untuk
mendukung aplikasi, sehingga harus ada arus informasi
antara perancangan aplikasi dengan perancangan basis data.
G. Prototyping
Menurut Indrajani (2009, p90), fungsi dari prototype
adalah membuat model kerja suatu aplikasi basis data dan
bersifat opsional. Tujuan utama dari tahapan prototype ini
adalah :
1. Untuk mengidentifikasi sistem fitur yang sedang berjalan.
2. Untuk memberikan penambahan atau perbaikan fitur baru.
3. Untuk klarifikasi kebutuhan user.
4. Untuk evaluasi kelayakan dan kemungkinan apa yang
terjadi dari desain sistem.
Terdapat 2 macam prototype yang digunakan pada saat ini
yaitu :
1. Requirements Prototyping
24
Menggunakan prototype yang menentukan kebutuhan
dari aplikasi basis data yang diinginkan dan ketika
kebutuhan tersebut terpenuhi maka prototype akan
dibuang.
2. Evolutionary prototyping
Digunakan untuk tujuan yang sama. Perbedaannya adalah
prototype ini tidak di buang, tetapi dikembangkan lebih
lanjut menjadi aplikasi basis data yang digunakan.
H. Implementation
Menurut
Connolly
implementation
perancangan
dan
adalah
basis
data
Begg
realisasi
dan
(2010,p333-p334),
fisik
dari
perancangan
proses
aplikasi.
Sedangkan pengertian Implementasi menurut Indrajani
(2009, p91), merupakan realisasi fisik dari basis data dan
desain aplikasi. Implementasi basis data dicapai dengan
menggunakan :
1. DDL untuk membuat skema basis data dan database files
yang kosong.
2. DDL untuk membuat user view yang diinginkan.
25
3. 3GL atau 4GL untuk membuat program aplikasi.
Termasuk transaksi basis data yang menggunakan DML
atau ditambahkan pada bahasa pemrograman.
I.
Data Loading And Convertion
Menurut Indrajani (2009, p91), data loading and
convertion adalah sebuah tahap pemindahan data yang ada
ke dalam basis data yang baru dan mengkonversikan
aplikasi yang ada agar dapat menggunakan basis data yang
baru. Tahapan ini dibutuhkan ketika sistem basis data baru
menggantikan yang lama. Database Management System
biasanya memiliki fitur untuk memanggil ulang file yang
telah ada ke dalam
basis data baru. Dapat juga
mengkonversi dan menggunakan program aplikasi dari
sistem yang lama untuk digunakan oleh sistem yang baru.
J.
Testing
Menurut Indrajani (2009, p91), testing adalah suatu proses
eksekusi program aplikasi dengan tujuan untuk menemukan
kesalahan dengan skenario tes yang direncanakan dan data
yang sesungguhnya.
K. Operational Maintenance
26
Menurut Indrajani (2009, p91), operational maintenance
adalah suatu proses pengawasan dan pemeliharaan sistem
setelah instalasi, yang mencakup :
1. Pengawasan kinerja sistem. Jika kinerja menurun,
diperlukan perbaikan atau pengaturan ulang basis data.
2. Pemeliharaan dan pembaharuan aplikasi basis data.
3. Penggabungan kebutuhan baru ke dalam aplikasi basis
data.
2.1.5 Normalisasi
Menurut Connolly dan Begg (2010,p415), normalisasi adalah
sebuah teknik untuk menghasilkan sekumpulan relasi dengan propertiproperti yang sesuai dengan persyaratan data yang diberikan sebuah
perusahaan. Tujuan dari dilakukannya normalisasi adalah untuk
mengidentifikasikan sekumpulan relasi yang mendukung persyaratan data
sebuah perusahaan.
Menurut Indrajani (2009, p119), ada beberapa hal yang perlu
diperhatikan dalam proses normalisasi diantaranya adalah :
a. Suatu teknik formal untuk menganalisis relasi berdasarkan
primary key dan functional dependencies antar atribut.
b. Dieksekusi dalam beberapa langkah. Setiap langkah mengacu
kebentuk normal tertentu sesuai dengan sifat yang dimilikinya.
27
c. Setelah normalisasi diproses, relasi secara bertahap menjadi
lebih terbatas atau kuat bentuk formatnya dan juga mengurangi
tindakan update yang teranomali.
Sedangkan tahapan dari normalisasi yang sering digunakan adalah :
1. Unnormalized Form (UNF)
Menurut Indrajani (2009, p121), merupakan suatu tabel yang
berisikan satu atau lebih grup yang berulang.
2. First Normal Form (INF)
Aturan pada normalisasi tahap pertama menurut Connolly dan
Begg (2010, p436), adalah sebuah relasi dimana setiap baris
dan kolom hanya berisi satu buah nilai. Dan cara melakukan
normalisasi pada tahap pertama ini adalah dengan cara
menghilangkan perulangan yang ada.
3.
Second Normal Form (2NF)
Aturan pada normalisasi pada tahap kedua menurut Connolly
dan Begg (2010, p434), adalah sebuah relasi yang telah berada
pada bentuk normalisasi pertama dan setiap atribut yang bukan
merupakan primary key bergantung secara fungsional penuh
kepada primary key.
4. Third Normal Form (3NF)
Aturan pada normalisasi tahap ketiga menurut Connolly dan
Begg (2010, p435), adalah sebuah relasi yang telah berada pada
28
bentuk normalisasi tahap pertama dan kedua dimana semua
tidak ada lagi atribut yang bukan merupakan primay key
bergantung secara transitif kepada primary key.
2.1.6 Metodologi Perancangan
A. Conceptual Database Design
Conceptual database design menurut Connolly dan Begg (2010,
p465), adalah suatu proses membangun sebuah model dari informasi
sebuah perusahaan dan bersifat independent dari segala pertimbangan
physical. Sedangkan menurut Indrajani (2009, p86),
Conceptual database design adalah suatu proses pembentukan
model yang berasal dari informasi yang digunakan dalam perusahaan
yang bersifat independent dari keseluruhan aspek fisik. Model data
tersebut dibangun dengan menggunakan informasi dalam spesifikasi
kebutuhan dan merupakan sumber informai untuk tahap desain
logikal.
Langkah-langkah dalam merancang basis data konseptual adalah
sebagai berikut :
i.
Mengidentifikasi tipe entitas.
Mengidentifikasi
tipe
entitas
kebutuhan dan akan dibangun.
ii.
Mengidentifikasi tipe relationship.
utama
yang
menjadi
29
Mengidentifikasi tipe relationship yang ada diantara tipe
entitas yang telah diidentifikasi.
iii. Mengidentifikasi dan mengasosiasikan atribut dengan tipe
entitas atau relationship.
Menghubungkan atribut-atribut yang dimiliki oleh entitas
maupun relasi.
iv. Menentukan domain atribut.
Menentukan domain untuk atribut pada model data
konseptual lokal.
v.
Menentukan atribut dari candidate key dan primary key.
Mengidentifikasi candidate key untuk setiap tipe entitas
dan jika lebih dari satu candidate key, pilih salah satu
untuk menjadi primary key.
vi. Mempertimbangkan penggunaan dari enhanced modeling
concept (opsional).
Mempertimbangkan kegunaan dari enhanced modeling
concept,
seperti
specialization,
generalization,
aggregation, dan composition.
vii. Memeriksa redundansi dari model.
Memeriksa ada atau tidaknya redundansi dari model.
viii. Memvalidasikan
model
konseptual
lokal
terhadap
transaksi pengguna.
Memastikan bahwa model konseptual lokal mendukung
transaksi yang dibutuhkan.
30
ix. Meninjau kembali model konseptual data lokal terhadap
kebutuhan pengguna.
Meninjau kembali model yang telah dibangun guna
memastikan bahwa model tersebut merupakan representasi
yang sesuai.
B. Logical Database Design
Logical database design menurut Indrajani (2009, p86), adalah
suatu proses pembentukan model yang berasal dari informasi yang
digunakan dalam perusahaan yang berdasarkan model data tertentu,
namun independent terhadap DBMS tertentu dan aspek fisik lainnya.
Model data konseptual yang telah di buat sebelumnya diperbaiki dan
dipetakan kembali dalam model data logikal.
Langkah-langkah dalam merancang basis data logical adalah sebagai
berikut :
1. Membangun dan memvalidasikan model data logikal untuk
setiap view
i.
Menghilangkan fitur-fitur yang tidak cocok dengan model
relasional (opsional).
Menyaring model data konseptual lokal agar fitur-fitur
yang tidak cocok dengan model relasional dapat
dihilangkan.
ii.
Menentukan relasi untuk model logikal data lokal
31
Membuat relasi untuk model data logikal lokal untuk
menggambarkan entitas, relationship, dan atribut yang
diidentifikasikan.
iii. Memvalidasikan relasi dengan menggunakan normalisasi.
Memvalidasi relasi dalam model data logikal lokal
menggunakan teknik normalisasi.
iv. Memvalidasikan relasi terhadap transaksi pengguna.
Memastikan bahwa relasi dalam model data logikal lokal
mendukung transaksi.
v.
Menentukan kendala integrity.
Mendefinisikan batasan – batasan yang meliputi required
data, attribute domain constraints, entity integrity,
referential integrity, serta enterprise constraints.
vi. Meninjau ulang model data logikal lokal terhadap
kebutuhan pengguna.
Memastikan bahwa model data logikal lokal mendukung
dokumentasi yang menjelaskan bahwa model data yang
digambarkan adalah benar.
2. Membangun dan memvalidasikan model data logikal global
i.
Menggabungkan model data logikal lokal kedalam model
data logikal global.
Menggabungkan model data logikal lokal perorangan
menjadi model data logikal lokal perusahaan.
ii.
Memvalidasikan model data logikal global.
32
Memvalidasikan relasi yang dibuat dari model data logikal
global menggunakan teknik normalisasi dan memastikan
model tersebut mendukung kebutuhan transaksi.
iii. Memeriksa untuk perkembangan dimasa yang akan
datang.
Menentukan apakah akan terjadi perubahan yang penting
dan yang terduga dimasa yang akan datang dan untuk
dinilai
apakah
model
data
logikal
global
dapat
menampung perubahan tersebut.
iv. Meninjau kembali model data logikal global terhadap
kebutuhan pengguna.
Memastikan
bahwa
model
data
logikal
global
menggambarkan perusahaan dengan benar.
C. Physical Database Design
Menurut Indrajani (2009, p87), Physical Database Design adalah
suatu proses yang menghasilkan deskripsi implementasi basis data
pada penyimpanan sekunder. Menggambarkan struktur penyimpanan
dan metode akses yang digunakan untuk mencapai akses yang efisien
terhadap data. Dapat juga dikatakan bahwa design fisik merupakan
cara pembuatan menuju DBMS tertentu.
1. Menerjemahkan model data logikal global untuk menjadi target
DBMS
i.
Merancang basis relasi.
33
Memutuskan
bagaimana
relasi
dasar
akan
direpresentasikan pada DBMS target.
ii.
Merancang representasi dari data turunan.
Memutuskan bagaimana merepresentasikan
data-data
turunan yang terdapat pada model dan menganalisis
transaksi yang penting.
iii. Merancang enterprise constraint.
Merancang entreprise constraints terhadap DBMS target.
2. Merancang representasi fisik.
i.
Analisa transaksi
Agar dapat memahami fungsionalitas dari transaksi akan
berjalan di dalam basis data serta menganalisa transaksi
yang penting.
ii. Memilih organisasi file
Menentukan organisasi file yang efisien untuk setiap basis
relasi.
iii. Memilih indeks.
Menentukan
apakah
penambahan
indeks
dapat
meningkatkan kinerja dari sistem.
iv. Memperkirakan kebutuhan disk space.
Memperkirakan kapasitas disk space yang akan dibutuhkan
oleh basis data.
3. Merancang user views.
34
Merancang user views yang telah diidentifikasi pada tahap
pengumpulan kebutuhan dan analisis pada daur hidup aplikasi
basis data.
4. Merancang tingkat pengamanan.
Merancang tingkat pengamanan basis data agar dapat diakses
oleh pengguna tertentu.
5. Mempertimbangkan penggunaan redundansi terkontrol.
Menentukan apakah pengguna redundansi terkontrol dapat
meningkatkan kinerja sistem.
6. Mengawasi dan memelihara sistem operasional.
Mengawasi sistem operasional dan meningkatkan kinerja
sistem guna memperbaiki rancangan-rancangan yang kurang
sesuai atau sebagai refleksi adanya perubahan kebutuhan.
2.1.7
Entity Relationship Modeling (ER Model)
A. Entity Type
Menurut Indrajani (2009, p149 ), Entity type merupakan
kumpulan
obyek-obyek
diidentifikasi
oleh
dengan
enterprise
sifat
(property)
yang
mempunyai
sama
yang
eksistensi
independen. Keberadaannya dapat berupa fisik ataupun abstrak.
Menurut Connolly dan Begg (2010, p373), entity occurrence
adalah sebuah obyek dari suatu entity type yang dapat diidentifikasi
secara unique.
Nama
entity
35
Cabang
Karyawan
Gambar 2.2 Entity Type
Entity type bisa dikelompokkan menjadi :
1.
Strong Entity
Entity yang keberadaannya tidak tergantung pada
entity lain. Terkadang disebut parent, owner dominant
2.
Weak Entity
Entity yang keberadaannya bergantung pada entity
lain. Disebut juga child dependent, subordinate
Strong
Entity
Client
ClientNo (PK)
Weak
Entity
Preference
prefType
36
Gambar 2.3 Strong dan Weak Entity
B. Relationship Type
Menurut Indrajani (2009, p150), relationship type adalah
kumpulan keterhubungan yang mempunyai arti tipe entitas yang
ada.
Menurut Indrajani (2009, p150), relationship occurence
merupakan keterhubungan yang diidentifikasikan secara unik
yang meliputi keberadaan setiap tipe entitas yang berpartisipasi.
Menurut
Indrajani (2009, p151), relationship type
memiliki derajat, yaitu jumlah entitas yang berpartisipasi dalam
suatu hubungan.
Derajat relationship terdiri dari :
1. Binary Relationship, merupakan keterhubungan antara dua tipe
entity.
37
PrivateOwner
Branch
Pown
Gambar 2.4 Contoh Binary Relationship
2. Ternary Relationship, merupakan keterhubungan antara tiga
tipe entity.
Staff
Register
s
Branch
Client
Gambar 2.5 Contoh Ternary Relationship
3. Quartenary Relationship, merupakan keterhubungan antara
empat tipe entity.
Financial
Institution
Buyer
Register
s
Bid
38
Solicitor
Gambar 2.6 Contoh Quartenary Relationship
4. Unary relationship, merupakan keterhubungan antara satu tipe
entity, dimana tipe entity tersebut berpartisipasi lebih dari satu
kali dengan peran yang berbeda. Kadang-kadang disebut
sebagai recursive relationship. Relationship dapat diberi role
names untuk mengidentifikasikan keterkaitan entity type dalam
relationship.
C. Atribute
Menurut Indrajani (2009, p153), atribut merupakan sifatsifat dari sebuah entity atau tipe relationship. Selain itu atribut
domain adalah himpunan nilai yang diperbolehkan untuk satu
atau lebih atribut.
Atribut domain terdiri atas :
1. Simple Attribute : atribut yang terdiri atas satu
komponen
tunggal
dengan
keterbatasan
yang
39
independen dan tidak dapat dibagi menjasi bagian yang
lebih kecil lagi. Dikenal juga dengan nama Atomic
Attribute.
2. Composite Attribute : atribut yang terdiri atas beberapa
komponen, dimana masing-masing komponen memiliki
keberadaan yang independen
3. Single – Valued Attribute : atribut yang mempunyai nilai
tunggal untuk setiap kejadian.
4. Multi – Valued Attribute : atribut yang mempunyai
beberapa nilai untuk setiap kejadian.
5. Derived Attribute : atribut yang memiliki nilai yang
dihasilkan dari satu atau beberapa atribut lainnya dan
tidak harus berasal dari satu entity.
Sedangkan key pada sistem basis data meliputi :
1. Candidate Key : jumlah minimal atribut-atribut yang
dapat mengidentifikasikan setiap kejadian atau record
secara unik. (Indrajani, 2009, p154)
2. Primary key : candidate key yang dipilih untuk
mengidentifikasikan setiap kejadian atau record dari
suatu entity secara unik (Indrajani, 2009, p154)
3.
Composite key : candidate key yang terdiri atas satu
atau lebih atribut. (Indrajani, 2009, p154)
40
4. Alternate key : candidate key yang tidak terpilih
menjadi primary key atau biasa disebut secondary key.
(Connolly dan Begg, 2010, p381)
5. Foreign Key : entity yang menghubungkan setiap baris
dalam child table yang berisi foreign key ke parent
table yang memiliki nilai candidate key yang cocok.
Connolly dan Begg (2010, p234)
D. Structural Constraint
Menurut Connolly dan Begg (2010, p385), jenis utama dari
batasan pada suatu relasi dinamakan multiplicity.
Menurut
Connolly
multiplicity adalah
dan
Begg
(2010,
p385-p388),
kejadian yang mungkin terjadi pada
sebuah tipe entity dimana memungkinkan berhubungan
dengan satu kejadian lain yang bergantung pada sebuah tipe
entity melalui hubungan yang nyata. Multiplicity membatasi
jalan setiap entity-entity yang terhubung.
Derajat yang biasa digunakan pada suatu relasi adalah
relasi binary yang terdiri atas :
1.
One to one (1 : 1) Relationship, terjadi bila setiap
anggota entity A hanya boleh berpasangan dengan satu
anggota dari entity anggota B. Dan begitu juga
sebaliknya.
41
2.
One to Many (1 : *) Relationship : terjadi bila setiap
anggota entity A boleh berpasangan dengan leih dari
satu anggota dari entity B. Sebaliknya, tiap anggota
entity B hanya boleh berpasangan dengan satu anggota
entity A.
3.
Many to Many ( * : * ) Relationship : terjadi bila tiap
anggota entity A boleh berpasangan dengan lebih dari
satu anggota dari entity B. Dan begitu juga sebaliknya.
E. Data Flow Diagram
Menurut Whitten (2004, p334), merupakan pemodelan
proses yang digunakan untuk menggambarkan aliran data
melalui sebuah sistem dan tugas atau pengolahan yang
dilakukan oleh sistem.
Sedangkan,
menurut
McLeod
(2004,
p171-172),
merupakan representasi berupa gambar dari suatu sistem yang
menggunakan empat buah simbol untuk mengilustrasikan
aliran data melalui proses yang saling terkait.
Tabel 2.2 Simbol Data Flow Diagram
42
Nama
Keterangan
Elemen Lingkungan
External
Elemen lingkungan yang dihadapi
Agent
oleh sistem. Elemen ini memberikan
data
input
untuk
sistem
dan
menerima data output dari sistem.
Untuk
mendeskripsikan
elemen
lingkungan, sering digunakan nama
terminator. Terminator menandakan
tempat
dimana
sebuah
sistem
berakhir. Teminator dilambangkan
dengan sebuah persegi atau kotak
dengan label nama dari elemen
lingkungan
terminator
tersebut.
dapat
Sebuah
berupa
orang,
organisasi atau sistem lainnya.
Proses
Proses
Proses adalah kerja yang dilakukan
oleh
sistem
sebagai
respons
terhadap aliran data masuk atau
kondisi. Proses mengubah masukan
menjadi
keluaran.
digambarkan
Proses
dengan
dapat
sebuah
43
linkaran atau persegi panjang atau
sebuah persegi dengan sudut yang
membentuk bulatan dengan label
nama
dari
proses
tersebut.
Penamaan proses pada umumnya
menggunakan
kata
benda
dan
obyek.
Aliran Data
nama
aliran data
Sebuah aliran data terdiri dari
sekelompok
elemen
data
yang
terhubung dan bergerak dari suatu
titik atau proses ke titik atau proses
lainnya. Aliran data digambarkan
dengan simbol panah.
Data Store
Data Store
Penyimpanan
data
merupakan
tempatdata yang digunakan dalam
sistem disimpan. Penyimpanan data
dilambangkan dengan persegi yang
terbuka
Menurut
McLeod
(2004,
p172
–
p173)
Proses
penggambaran DFD adalah dengan mengidentifikasi proses,
44
menghubungkan mereka dengan aliran data, mengidentifikasi
terminator yang menyediakan masukan dan menghasilkan
keluaran
dan
menambahkan
penyimpanan
data
bila
diperlukan.
Tingkatan dalam DFD, yaitu :
1. Diagram konteks, merupakan level tertinggi
dari DFD yang menggambarkan seluruh input
atau output ke sisi sistem.
2. Diagram
Nol,
merupakan
penggambaran
diagram konteks yang lebih rinci.
Hal-hal yang harus diperhatikan :
a.
Perlihatkan data store yang digunakan
b.
Untuk proses yang lebih rinci lagi pada level
selanjutnya, tambahkan tanda * pada akhir
nomor proses.
c.
Input dan output antara diagram konteks dan
diagram nol harus diseimbangkan.
3. Diagram Rinci,
merupakan
rincian
diagram nol dan diagram level diatasnya.
F. State Transition Diagram
dari
45
Adalah
model
atau
alat
yang
digunakan
untuk
menggambarkan urutan dari variasi screen yang dapat terjadi
selama satu sesi pengguna (Whitten, 2004, p636).
Komponen State Transition Diagram yaitu,
1. State, digambarkan dengan persegi panjang yang
menunjukkan state dari sistem.
Gambar 2.7 Simbol state dalam STD
2. Transition, digambarkan dengan arrows (panah) yang
menunjukkan transisi antar state. Tiap panah diberi label
dengan ekspresi aturan label yang diatas menunjukkan
kejadian yang menyebabkan transisi yang terjadi. Sedangkan
label yang dibawah menunjukkan aksi yang terjadi akibat dari
kejadian tadi.
Gambar 2.8 Simbol transisi dalam STD
Contoh STD :
Gambar 2.9 Contoh STD
2.2 Teori – Teori Khusus
46
2.2.1
Warehouse
Warehouse atau Pergudangan berfungsi menyimpan barang untuk
produksi atau hasil produksi dalam jumlah dan rentang waktu tertentu
yang kemudian didistribusikan ke lokasi yang dituju berdasarkan
permintaan. Kendala yang dihadapi dalam pengelolaan warehouse
adalah akurasi pergerakan barang dan menghitung rentang waktu barang
disimpan. Dibutuhkan kontrol aktivitas pergerakan barang dan dokumen
untuk meningkatkan efisiensi penggunaan warehouse agar jumlah dan
rentang waktu barang disimpan dalam nilai minimum atau sesuai
perencanaan.
Warehouse Management System yang didukung teknologi
informasi untuk membantu pengawasan pergerakan barang masuk,
pergerakan dalam warehouse dan barang keluar. Pengawasan dengan
menggunakan sistem, memberikan kemudahan pengelolaan dan nilai
tambah warehouse, yaitu:
1. Memudahkan
pengelola
warehouse
memberikan
informasi
ketersediaan suatu barang kepada bagian perencanaan produksi atau
pengiriman agar ketersediaan barang tetap pada tingkat yang aman.
2. Penempatan
barang
yang
ditentukan
oleh
sistem
sehingga
memudahkan penyimpanan, pengambilan dan perhitungan stok.
3. Mengurangi lead time dari aktivitas penyimpanan barang dan
pengiriman barang.
2.2.2
PHP
47
Menurut Zaki (2008, p2), PHP adalah sebuah bahasa
pemrograman scripting untuk membuat halaman web yang dinamis.
Walaupun dikenal sebagai bahasa untuk membuat halaman web,
tetapi PHP sebenarnya juga dapat digunakan untuk membuat aplikasi
command line dan juga GUI.
Website yang dibuat menggunakan PHP memerlukan software
bernama webserver, tempat proses kode PHP dilakukan. Server web
yang memiliki software PHP parser akan memproses input berupa
kode PHP dan menghasilkan output berupa halaman web. PHP
bersifat terbuka dan multiplatform, karenanya dapat dijalankan
dibanyak merk webserver (seperti Apache dan IIS). Saat ini pengguna
PHP sangat banyak, ada lebih dari dua puluh juta website yang
menggunakan PHP yang dijalankan lebih dari satu juta server.
2.2.3
SQL
Menurut Connolly dan Begg (2010, p184 – p185), SQL adalah
suatu bahasa yang dirancang
untuk menggunakan hubungan yang
mengubah input ke output yang diperlukan. standar ISO SQL memiliki
dua komponen utama yaitu:
- Bahasa definisi Data (DDL) untuk mendefinisikan database struktur
dan mengendalikan akses ke data
- Bahasa manipulasi Data (DML) untuk retieving dan memperbarui data.
2.2.4 MySQL
48
Menurut Huda (2010, p181), MySQL adalah sebuah perangkat
lunak sistem manajemen basis data SQL atau yang dikenal sebagai
DBMS (Database Management System) yang didistribusikan secara gratis
di bawah lisensi GPL (General Public License), database ini multithread,
multi-user.
Kekuatan MySQL tidak ditopang oleh sebuah komunitas, seperti
apache, yang dikembangkan oleh komunitas umum, dan hak cipta untuk
kode sumber dimiliki oleh pemilik masing – masing, tetapi MySQL
didukung penuh oleh sebuah perusahaan profesional dan komersial, yakni
MySQL AB dari Swedia.
2.2.5 HTML
Menurut Mercer (2004, p29) Hyper-text Markup Language
(HTML) adalah bahasa yang digunakan untuk membuat halaman web.
HTML ditulis hanya sebagai kode sumber (Kode ini dapat dilihat di
browser pada pilihan view lalu source dari menu), dan bahasa ini tidak
benar-benar dapat disebut bahasa pemrograman, bahasa yang digunakan
adalah hampir seluruhnya untuk tampilan. Keuntungan HTML adalah
dapat membuat teks, Gambar, form, tabel, dan sebagainya dengan benar
jika browser yang sedang digunakan berjalan lancar pada perangkat keras
dan sistem operasi sudah terinstal. siapapun dapat menulis halaman web
di HTML dan itu akan berjalan pada komputer manapun, tidak seperti
49
program terkompilasi yang berjalan hanya di kelas tertentu dari CPU dan
sistem operasi.
2.2.6 JQuery
Menurut Adi dan Sanjaya (2012, p2), JQuery merupakan sebuah
Javascripts Library atau bisa disebut juga sebagai perpustakaan dari
kumpulan kode / listing Javascript yang siap pakai. Dalam arti yang
sederhana, JQuery dapat digunakan untuk meringkas sebuah listing
javascript yang panjang dalam sebuah proyek pembuatan website.
2.2.7 Eight Golden Rules
Menurut Shneiderman dan Plaisant (2010, p88), Eight Golden
Rules adalah delapan aturan yang dapat digunakan sebagai petunjuk dasar
yang baik untuk merancang suatu user interface, yaitu:
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan
istilah yang digunakan pada prompt, menu, serta layar
bantuan.
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk
meningkatkan kecepatan interaksi, sehingga diperlukan
singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas
makro.
3. Memberikan umpan balik yang informatif
50
Untuk setiap tindakan operator, sebaiknya disertakan suatu
sistem umpan balik. Untuk tindakan yang sering dilakukan
dan tidak terlalu penting, dapat diberikan umpan balik yang
sederhana. Tetapi ketika tindakan merupakan hal yang
penting, maka umpan balik sebaiknya lebih substansial.
Misalnya muncul suatu suara ketika salah menekan tombol
pada waktu input data atau muncul pesan kesalahannya.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu
kelompok dengan bagian awal, tengah, dan akhir. Umpan
balik yang informatif akan memberikan indikasi bahwa cara
yang dilakukan sudah benar dan dapat mempersiapkan
kelompok tindakan berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna
tidak dapat melakukan kesalahan fatal. Jika kesalahan
terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan
memberikan
mekanisme
yang
sedehana
dan
mudah
dipahami untuk penanganan kesalahan.
6. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena
pengguna mengetahui kesalahan yang dilakukan dapat
dibatalkan;
sehingga
pengguna
tidak
takut
untuk
51
mengekplorasi pilihan-pilihan lain yang belum biasa
digunakan.
7. Mendukung tempat pengendali internal (internal locus of
control)
Pengguna ingin menjadi pengontrol sistem dan sistem
akan merespon tindakan yang dilakukan pengguna daripada
pengguna merasa bahwa sistem mengontrol pengguna.
Sebaiknya sistem dirancang sedemikan rupa sehingga
pengguna menjadi inisiator daripada responden.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan
yang sederhana atau banyak tampilan halaman yang
sebaiknya disatukan, serta diberikan cukup waktu pelatihan
untuk
kode,
mnemonic,
dan
urutan
tindakan.
52
Download