View
218
Download
0
Category
Preview:
Citation preview
5
BAB 2
LANDASAN TEORI
2.1 Teori Sistem Basis Data
2.1.1 Basis Data
Menurut Connolly dan Begg (2010 ,p65) basis data dapat dianggap
sebagai sekumpulan data yang saling terkait secara logis yang disertai
deskripsi data tersebut , dan dirancang untuk memenuhi kebutuhan informasi
perusahaan. Sedangkan basis data menurut Date (1999, p5) adalah suatu
sistem yang pada dasarnya menyimpan record-record di dalam suatu
sistem yang dilakukan secara komputerisasi yang tujuannya adalah menjadi
suatu kumpulan data yang terhubung dan Database Management System
(DBMS) menjadi program yang mengatur dan mengontrol akses ke basis
data, serta memelihara informasi dan membuat informasi tersebut tersedia
berdasarkan permintaan.
2.1.2 Relational Database
Menurut Connolly dan Begg (2010, p87), relational database adalah
suatu kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang
berbeda satu dengan yang lain.
Relational database terdiri dari kumpulan tabel yang menyimpan data
tertentu. Relational database menghasilkan informasi dalam tabel dan kolom.
Tabel diartikan sebagai relasi yaitu sekumpulan data yang berasal dari jenis
yang sama. Data- data dalam tabel dihubungkan sesuai dengan keys yang
ada.
6
2.1.3 Database Management Sistem
Menurut Connolly dan Begg (2010, p66), DBMS adalah sebuah
sistem perangkat lunak yang memampukan user untuk mendifinisikan,
membuat, memelihara, dan mengendalikan akses terhadap sistem basis data
2.1.3.1 Komponen DBMS
Komponen DBMS terdiri dari 5 yang utama yaitu :
1. Hardware (Perangkat Keras)
Dibutuhkan perangkat keras untuk menjalankan DBMS dan
aplikasinya seperti personal computer, mainframe, maupun
jaringan yang terdiri dari banyak computer.
2. Software (Perangkat Lunak)
Komponen dari perangkat lunak terdiri dari perangkat
lunak DBMS itu sendiri dan program aplikasi.
3. Data
Data pada sebuah sistem basis data baik itu single-user
system maupun multi-user system harus terintegrasi dan dapat
digunakan bersama.
4. Prosedur
Intruksi dan aturan yang harus disertakan dalam mendesain
dan menggunakan data dalam basis data dan DBMS.
5. Manusia
Orang-orang yang terlibat dalam DBMS antara lain :
a. Data Administrator, orang yang berwenang untuk membuat
keputusan strategi dan kebijakan mengenai data yang ada.
7
b. Database Administrator, orang yang menyediakan dukungan
teknis untuk implementasi kebutuhan tersebut dan bertanggung
jawab atas kontrol sistem pada level teknis.
c. Database Designer, ada dua tipe dari database designer yaitu
:
i. Logical Database Designer, tugasnya berhubungan
dengan mengidentifikasi relasi antar data dan batasan pada
data yang akan disimpan pada basis data.
ii. Physical Database Designer, bertugas untuk memutuskan
bagaimana desain logikal basis data direalisasikan.
d. Aplication Programmer, bertanggung jawab untuk membuat
aplikasi basis data dengan menggunakan bahasa pemrograman
yang ada.
e. End User, terdiri dari pengguna yang tidak perlu mengetahui
basis data dan DBMS (Naive), serta pengguna yang familiar
dengan struktur basis data dan DBMS (Shopisticated).
2.1.3.2 Fasilitas DBMS
Fasilitas yang dimiliki DBMS yaitu :
1. Data Definition Language (DDL), digunakan untuk
menspesifikasikan tipe data, struktur, dan constraint data. Semua
spesifikasi disimpan d dalam basis data.
2. Data Manipulation Language (DML), digunakan untuk
memberikan fasilitas query data.
8
3. Pengendalian akses basis data, digunakan untuk mengontrol
keamanan sistem, integritas sistem, pengendalian share data,
backup dan recovery system, dan katalog deskripsi data dalam
basis data.
4. Mekanisme View, digunakan untuk ditampilkan kepada pengguna
data yg diperlukan dan digunakan.
2.1.4 Database System Development Lifecycle
Gambar 2.1 Tahapan dari Database Application Lifecycle
9
Tahapan Database System Development Lifecycle adalah :
1. Database Planning, perencanaan basis data merupakan aktivitas
menajemen yang memungkinkan tahapan dari database lifecycle
direalisasikan seefektif dan dan se-efisien mungkin (Connolly and Begg,
2010, p313). Tahap perancangan basis data juga harius menjelaskan :
a. Mission Statement, sasaran utama sistem basis data. Mission
Statement menjelaskan tujuan sistem basis data dan menyediakan
maksud lebih jelas dalam pembuatan aplikasi basis data secara efisien
dan efektif (Connolly and Begg, 2010, p313).
b. Mission Objectives, selain merumuskan tujuan dari sebuah proyek
basis data namun harus diperhatikan mengenai tugas apa saja yang
harus didukung oleh basis data tersebut. Setiap Mission Objectives
akan menjelaskan tugas tertentu yang harus didukung oleh basis data,
dengan asumsi jika basis data mendukung Mission Objectives, maka
Mission Statement juga akan sesuai (Connolly and Begg, 2010, p314).
2. System Definition, proses menspesifikasikan ruang lingkup dan batasan
dari aplikasi sistem basis.Menjelaskan batasan dan cakupan dari aplikasi
basis data dan sudut pandang user (user view) utama (Connolly and Begg,
2010, p316).
3. Requirement Collection and Analysis, proses pengumpulan dan analisa
informasi mengenai bagian dari organisasi yang akan didukung oleh
aplikasi sistem basis data dan mengggunakan informasi ini untuk
mengidentifikasi kebutuhan pada sistem yang baru.Ada banyak teknik
untuk mengumpulkan informasi. Teknik tersebut dinamakan fact-finding.
10
4. Database Design, proses dari pembuatan sebuah rancangan yang
mendukung visi dan misi perusahaan yang dibutuhkan untuk sebuah
sistem basis data. Menurut Conolly dan Begg, metodologi perancangan
sistem basis data terdiri dari 3 tahap, yaitu :
Tahap 1: Perancangan Sistem Basis data secara koseptual, yaitu proses
membuat model dari data yang digunakan dalam perusahaan
tanpa pertimbangan fisikal.
Tahap 2: Perancangan sistem basis data secara logikal, yaitu proses
membuat model dari data yang akan digunakan dalam
perusahaan berdasarkan sebuah model data yang spesifik.
Tahap 3: Perancangan sistem basis data secara fisikal, yaitu proses
menghasilkan sebuah deskripsi implementasi dari database
pada penyimpanan sekunder.
5. DBMS selection, Pemilihan DBMS yang tepat untuk mendukung sistem
basis data. Tahap-tahap utama untuk memilih DBMS (Connolly dan
Begg, 2010, p325) :
a. Mendefinisikan terminologi studi referensi
Dibuat dengan menyatakan tujuan dan ruang lingkup
pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan kriteria
(berdasarkan spesifikasi kebutuhan pengguna) yang akan
digunakan dalam mengevaluasi produk-produk DBMS, daftar
produk-produk yang dimungkinkan, semua batasan-batasan dan
skala waktu yang dibutuhkan untuk proses pembelajaran.
11
b. Mendaftar dua atau tiga produk
Kriteria yang dianggap penting dalam keberhasilan
implementasi dapat digunakan untuk membuat daftar produk-
produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat
dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan
apakah produk hanya berjalan pada perangkat keras tertentu.
c. Evaluasi produk
Ada berbagai fitur yang dapat digunakan untuk
mengevaluasi produk DBMS (Connolly dan Begg, 2010, p326).
dikelompokkan menjadi definisi data, definisi fisik, kemampuan
akses, penanganan keperluan-keperluan, pengembangan, dan fitur
lainnya.
d. Rekomendasi pilihan dan laporan produk
Langkah terakhir dari pemilihan DBMS adalah
mendokumentasikan prosesnya dan membuat pernyataan dalam
penemuan dan rekomendasi atas produk DBMS tertentu.
6. Application Design, Desain aplikasi adalah rancangan dari user interface
dan programprogram aplikasi yang di gunakan dan proses suatu basis
data. Desain basis data dan aplikasi merupakan aktivitas paralel yang
meliputi dua aktivitas penting, yaitu (Connolly dan Begg, 2010, p329) :
a. Perancangan transaksi (transaction design)
Transaksi adalah satu aksi atau serangkaian aksi yang
dilakukan oleh pengguna tunggal atau program aplikasi, yang
mengakses atau merubah isi dari database. Kegunaan dari desain
12
transaksi adalah untuk menetapkan dan keterangan karakteristik
high-level dari suatu transaksi yang dibutuhkan pada database,
diantaranya :
i. Data yang akan digunakan oleh transaksi
ii. Karakteristik fungsional dari suatu transaksi
iii. Output transaksi
iv. Keuntungannya bagi user
v. Tingkat kegunaan yang diharapkan
Terdapat tiga tipe transaksi yaitu :
i. Retrieval transaction, digunakan untuk pemanggilan data untuk
ditampilkan di layar atau menghasilkan suatu laporan,
ii. Update transaction, digunakan untul menambahkan record baru,
menghapus record lama, atau memodifikasi record yang sudah
ada di dalam basis data.
iii. Mixed transaction, meliputi pemanggilan dan perubahan data.
b. Perancangan antarmuka pengguna (user interface design).
Tujuan dari Perancangan Antarmuka Pengguna adalah
merancang interface yang efektif untuk sistem perangkat lunak.
7. Prototyping, Membuat model kerja dari sebuah aplikasi basis data.
Tujuan utama dari pembuatan prototyping adalah (Connolly dan Begg,
2010, p333):
a. Untuk memungkinkan pengguna untuk menggunakan prototipe
b. Untuk mengidentifikasi feature dari sistem yang berkerja dengan baik
atau tidak.
13
c. Untuk menyarankan / memberikan perbaikan-perbaikan atau
penambahan feature baru.
d. Untuk klarifikasi kebutuhan user.
e. Untuk evaluasi kemungkinan yang terjadi dari desain sistem
khusus.
Terdapat dua macam strategi prototyping yang digunakan saat ini :
a. Requirements prototyping, menggunakan prototype untuk
menentukan kebutuhan dari aplikasi database yang diinginkan dan
ketika kebutuhan itu terpenuhi maka prototype akan dibuang.
b. Evolutionary prototyping, digunakan untul tujuan yang sama.
Perbedaannya protoype tidak dibuang tetapi dengan pengembangan
lanjutan menjadi aplikasi database yang digunakan.
8. Implementation, Implementasi merupakan realisasi secara fisik dari basis
data dan desain aplikasi (Connolly dan Begg, 2010, p333). Implementasi
basis data dilakukan dengan menggunakan Data Definition Language
(DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI).
Aplikasi program diimplementasikan menggunakan third or forth
generation language (3GL atau 4GL). Bagian dari aplikasi program dan
transaksi basis data, yang diimplementasikan menggunakan Data
Manipulation Language (DML), kemungkinan sudah ada dalam host
pemrograman.
9. Data Conversion dan Loading, Pemindahan data yang ada dalam basis
data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat
digunakan dalam basis data yang baru (Connolly dan Begg, 2010, p334)
14
langkah ini diperlukan hanya ketika suatu sistem basis data baru
sedang menggantikan suatu sistem basis data yang lama.
10. Testing, proses menjalankan sistem basis data dengan tujuan mencari
kesalahan(error).
11. Operational Maintanance, Suatu proses untuk memonitor dan
merawat sistem aplikasi setelah instalasi. Dalam langkah-langkah yang
sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji.
Sistem sekarang pindah kesuatu langkah pemeliharaan yang melibatkan
aktivitas yang berikut (Connolly dan Begg, 2010, p335) :
a. Monitoring performance dari sistem. Jika performance jatuh
dibawah suatu tingkatan yang bisa diterima penyetelan atau
reorganisasi basis data mungkin diperlukan.
b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika
diperlukan).
2.1.5 SQL
SQL adalah contoh dari transformasi - bahasa rorientasi (transform
oriented language), atau bahasa yang dirancang untuk menggunakan
hubungan untuk mengubah input menjadi output yang diperlukan. sebagai
bahasa, standard ISO SQL memiliki dua komponen utama, yaitu (Connolly
dan Begg, 2010, p184) :
2.1.5.1 Data Definition Language (DDL)
Connolly and Begg (2010, p92) mendifinisikan DDL sebagai
suatu bahasa yang mengijinkan administrator sistem basis data atau
15
user untuk menggambarkan dan memberi nama entitas, atribut, dan
relasi yang dibutuhkan untuk aplikasi disertai dengan batasan-
batasan integritas dan keamanan (Integrity Constraint and Security
Constraint). Contoh operasinya adalah sebagai berikut:
1. Membuat tabel baru ke dalam database (Create)
2. Menghapus tabel dari database (Drop)
3. Memodifikasi tabel dalam database (Alter)
2.1.5.2 Data Manipulation Language (DML)
Connolly and Begg (2010, p92) mendifinisikan DML
merupakan suatu bahasa yang menyediakan seperangkat operasi
untuk mendukung dasar operasi untuk manipulasi data dasar dari
data yang tersimpan pada sistem basis data. Operasi manipulasi data
biasanya adalah sebagai berikut:
1. Memasukkan data baru ke dalam database (Insert)
2. Memodifikasi data yang tersimpan dalam database (Update)
3. Pengambilan data yang terdapat dalam database (Select)
4. Penghapusan data dari database (Delete / Drop)
2.1.6 Entity Relationship Modeling
Menurut Connolly dan Begg (2010, p371), salah satu aspek yang sulit
dalam perancangan database adalah kenyataannya bahwa, perancang,
programmer, dan end-user cenderung melihat data dengan cara yang
berbeda. Karena itu, untuk memastikan pemahaman secara alamiah dari data
16
dan bagaimana data digunakan oleh perusahaan membutuhkan sebuah bentuk
komunikasi yang non- teknis (non-technical) dan bebas dari kebingungan.
2.1.6.1 Entity Relationship Diagram
Menurut pendapat Kronke (2006, p37) Entity-Relationship
Diagram (ERD) adalah adalah suatu pemodelan konseptual yang
didesain secara khusus untuk mengidentifikasikan entitas yang
menjelaskan data dan hubungan antar data, yaitu dengan menuliskan
dalam cardinality.
2.1.6.2 Tipe Entity
Konsep dasar dari model ER adalah tipe entity, yaitu
kumpulan dari objek-objek dengan sifat yang sama, yang
diidentifikasi oleh enterprise mempunyai eksistensi yang
independen. Keberadaannya dapat berupa fisik maupun abstrak
(Connolly dan Begg, 2010, p372).Entity occurence, yaitu
pengidentifikasian objek yang unik dari sebuah tipe entity.Setiap
entity diidentifikasikan dan disertakan property-nya (Connolly dan
Begg, 2010, p374).
Gambar 2.2 Representasi Diagram dari Tipe Entity
17
2.1.6.3 Tipe Relationship
Tipe relationship merupakan kumpulan keterhubungan
yang mempunyai arti antara tipe entity yang ada (Connolly dan Begg,
2010, p374). Relationship occurence, yaitu keterhubungan yang
diidentifikasi secara unik yang meliputi keberadaan tiap tipe entity
yang berpartisipasi.
Gambar 2.3 Representasi Diagram dari Relationship
2.1.6.4 Derajat Relationship
Yaitu jumlah entity yang berpartisipasi dalam suatu
relationship (Connolly dan Begg, 2010, p376). Derajat relationship
terdiri dari :
1. Binary relationship, keterhubungan antar dua tipe entity.
Gambar 2.4 Contoh Binary Relationship
18
2. Ternary relationship, keterhubungan antar tiga tipe entity.
Gambar 2.5 Contoh Ternary Relationship
3. Quaternary relationship, keterhubungan antar empat tipe entity.
Gambar 2.6 Contoh Quaternary Relationship
4. Recursive relationship, keterhubungan antar satu tipe entity,
dimana tipe entity tersebut berpartisipasi lebih dari satu kali
dengan peran yang berbeda
19
Gambar 2.7 Contoh Recursive Relationship
2.1.6.5 Atribut
Atribut merupakan sifat-sifat dari sebuah entity atau tipe
relationship (Connolly dan Begg, 2010, p379). Attribute domain
adalah himpunan nilai yang diperbolehkan untuk satu atau lebih
atribut. Macam-macam atribut antara lain :
1. Simple attribute, yaitu atribut yang terdiri dari satu komponen
tunggal dengan keberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecil lagi (Connolly dan Begg,
2010, p379).
2. Composite attribute, yaitu atribut yang terdiri dari beberapa
komponen, dimana masing-masing komponen memiliki
keberadaan yang independen.
3. Single-valued attribute, yaitu atribut yang mempunyai nilai
tunggal untuk setiap kejadian.
4. Multi-valued attribute, yaitu atribut yang mempunyai beberapa
nilai untuk setiap kejadian.
20
5. Derived attribute, yaitu atribut yang memiliki nilai yang
dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus
berasal dari satu entity.
2.1.6.6 Keys
Candidate key adalah kumpulan attribute minimal yang
unik untuk mengidentifikasikan suatu entity types (Connolly dan
Begg, 2010, p381).
Primary key adalah key yang telah menjadi candidate key
yang dipilih secara unik untuk mengidentifikasi suatu entity types.
Composite key adalah candidate key yang terdiri dari dua atau
lebih atribut.
Alternate key adalah key yang digunakan sebagai alternatif
dari key yang telah didefinisikan (Fathansyah,1999,p104).
Foreign key adalah primary key pada sebuah entity yang
digunakan pada entity lainnya untuk mengidentifikasikan sebuah
relationship (Navathe dan Elmasri, 2002, p28).
2.1.6.7 Strong Entity dan Weak Entity
Strong entity (entity kuat) : entity yang mandiri, yang
keberadaannya tidak bergantung pada keberadaan entity yang
lainnya(Connolly dan Begg 2010, p383). Instansiasi entity kuat selalu
memiliki karakteristik yang unik disebut identifier (sebuah atribut
21
tunggal atau gabungan atribut-atribut yang secara unik dapat
digunakan untuk membedakannya dari entity kuat yang lain).
Weak entity (entity lemah) : entity yang keberadaannya sangat
bergantung pada keberadaan entity yang lainnya (Connolly dan Begg,
2010, p383). Entity lemah tidak memiliki arti apa-apa dan tidak
dikehendaki kehadirannya dalam ER diagram tanpa kehadiran entity
di mana mereka bergantung.
Gambar 2.8 Contoh Strong Entity dan Weak Entity
2.1.6.8 Structural Constraints
Multiplicity adalah jumlah occurence yang mungkin terjadi
pada sebuah entity yang berhubungan ke sebuah occurence dari tipe
entity lain pada suatu relationship (Connolly dan Begg, 2010, p385).
Relationship yang terjadi diantara dua himpunan entity (misalnya A
dan B) dalam satu basis data yaitu (Kadir, 2008, p48) :
1. One-to-One (1:1) Relationships : Hubungan relasi satu ke satu
yaitu setiap entity pada himpunan entity A berhubungan paling
banyak dengan satu entity pada himpunan entity B.
22
Gambar 2.9 Contoh One-to-One (1:1) Relationships
2. One-to-Many (1:*) Relationships : Setiap entity pada himpunan
entity A dapat berhubungan dengan banyak entity pada himpunan
entity B, tetapi setiap entity pada entity B dapat berhubungan
dengan satu entity pada himpunan entity A.
Gambar 2.10 Contoh Many-to-Many (1:*) Relationships
3. Many-to-Many (*:*) Relationships : Setiap entity pada himpunan
entity A dapat berhubungan dengan banyak entity pada himpunan
entity B.
23
Gambar 2.11 Contoh Many-to-Many (*:*) Relationships
2.1.7 Normalisasi
Proses normalisasi pertama kali dikembangkan oleh E.F.Codd.
Menurut Connolly dan Begg (2010, p416), normalisasi adalah teknik untuk
menghasilkan sejumlah relations dengan property yang diperlukan,
memberikan data yang dibutuhkan perusahaan. Berikut ini adalah tahap-
tahap dalam melakukan normalisasi:
1. Unnormalized form (UNF)
Merupakan bentuk dimana sebuah table berisi satu atau lebih
repeating group. Untuk mengubah unnormalized table menjadi 1NF,
repeating group dalam table diidentifikasi dan dihilangkan. Repeating
group adalah sebuah atau sekelompok atribut di dalam sebuah table yang
memiliki banyak nilai untuk sebuah kejadian dari atribut key. Ada dua
pendekatan untuk menghilangkan repeating group dari unnormalized
table yaitu:
a. Repeating group dihilangkan dengan memasukkan data
yang tepat pada baris kolom kosong yang berisi data yang berulang.
24
b. Repeating group dihilangkan dengan menempatkan data
yang berulang bersama dengan salinan key atribut asli.
2. First normal form (1NF)
Relasi yang dimana di tiap persimpangan baris dan kolomnya
hanya berisi satu nilai saja. Dalam 1 NF ini, repeating group
dihilangkan dengan cara memasukkan data yang benar ke dalam
kolom yang kosong.
3. Second normal form (2NF)
Relasi yang berada di dalam normal form dan setiap atribut
nonprimary key nya bergantung secara fungsional kepada primary key.
Normalisasi relasi 1NF menjadi 2NF dengan menghilangkan partial
dependency.Jika terdapat partial dependency, atribut yang bergantung
secara fungsional dihilangkan dari relasi dengan meletakkannya pada
relasi baru bersama dengan salinan determinannya.
4. Third normal form (3NF)
Relasi yang ada di 1NF dan 2NF dan atribut yang tidak
mempunyai non-primary key mempunyai ketergantungan transitif
kepada primary key. Normalisasi 2NF menjadi 3NF menghilangkan
transitive dependency. Jika terdapat transitive dependency, atribut yang
bergantung secara transitif dihilangkan dari relasi dengan meletakkan
atribut pada relasi baru bersama dengan salinan determinan.
25
2.1.8 Perancangan Basis Data Konseptual, Logikal, dan Fisikal
2.1.8.1 Perancangan Basis Data Konseptual (Conceptual Database
Design)
1. Membangun data model konseptual
Suatu proses pembentukan model dari informasi yang
digunakan dalam enterprise, independen dari keseluruhan aspek
fisik (Connolly dan Begg, 2010, p322). Model basis data
dibangun dengan menggunakan informasi dalam spesifikasi
kebutuhan dari user.Model data konseptual merupakan sumber
informasi untuk fase desain logikal.
Langkah ini bertujuan untuk membagi rancangan menjadi
tugas-tugas yang dapat diatur dengan melihat sudut pandang
yang berbeda dari pengguna di dalam suatu organisasi. Hasil dari
langkah ini berupa pembuatan satu atau lebih local
conceptual data model yang merupakan gambaran yang tepat dan
lengkap dari suatu organisasi dilihat dari para pengguna yang
berbeda-beda. Langkah-langkah yang terdapat dalam
perancangan basis data konseptual antara lain :
a. Mengidentifikasikan tipe-tipe entity
Bertujuan untuk menentukan tipe-tipe entity utama
yang dibutuhkan. Menentukan entity dapat dilakukan
dengan memeriksa spesifikasi kebutuhan pengguna. Setelah
terdefinisi, entity diberikan nama yang tepat dan jelas
26
dengan menggunakan kata benda atau frase kata benda pada
spesifikasi kebutuhan pengguna.
b. Mengidentifikasikan tipe-tipe relationship
Bertujuan untuk mengidentifikasi suatu
relationship yang penting yang ada antar entity yang telah
diidentifikasi. Nama dari suatu relationship menggunakan
kata kerja atau suatu kata yang berhubungan dengan kata
kerja.
c. Mengidentifikasikan dan menghubungkan atribut-
atribut dengan tipe entity dan relationship.
Bertujuan untuk menghubungkan atribut dengan tipe-
tipe entity atau relationship yang tepat (Connolly dan Begg,
2010, p474). Atribut yang dimiliki setiap entity atau
relationship memiliki identity atau karakteristik yang sesuai
dengan memperhatikan atribut berikut : simple atau
composite attribute, single atau multi-valued attribute dan
derived attribute.
d. Menentukan domain atribut
Domain adalah sekumpulan nilai dimana satu atau
lebih atribut memperoleh nilainya (Connolly dan Begg,
2010, p478). Bertujuan untuk menentukan atribut domain
pada conceptual data model. Contohnya yaitu menentukan
nilai atribut jenis_kelamin pada entity mahasiswa dangan
‘M’atau ‘F’.
27
e. Menentukan atribut-atribut candidate key dan primary
key
Bertujuan untuk mengidentifikasi candidate key pada
setiap entity dan memilih primary key jika ada lebih dari
satu candidate key untuk memilih satu untuk menjadi
primary key dan yang lainnya menjadi alternate
keys.(Connolly dan Begg, 2010, p479).
f. Mempertimbangkan penggunaan enhanced modeling
(optional).
Pada langkah ini bertujuan untuk menentukan
specialization, generalization, aggregation, composition.
Dimana masing-masing pendekatan dapat dilakukan
sesuai dengan kebutuhan yang ada. Specialization dan
generalization adalah proses dalam mengelompokan
beberapa entity dan menghasilkan entity yang baru (Connolly
dan Begg, 2010, p480). Beda dari keduanya adalah cara
prosesnya, dimana spesialisasi menggunakan proses top-
down dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah tipe entity dengan
sebuah tipe relationship dimana suatu relasi hanya akan ada
jika telah ada relationship lainnya.
g. Memeriksa model dari redudancy
28
Bertujuan untuk memeriksa conceptual model
untuk menghindari dari adanya informasi yang redundan.
Yang dilakukan pada langkah ini adalah :
i. Memeriksa kembali one-to-one relationship.
ii. Menghilangkan relasi yang redundansi.
iii. Mempertimbangkan dimensi waktu.
h. Memvalidasi local conceptual model dengan transaksi-
transaksi user
Tujuanya adalah untuk menjamin bahwa conceptual
data model mendukung kebutuhan transaksi (Connolly dan
Begg, 2010, p483). Ada dua pendekatan yang mungkin untuk
mejamin bahwa local conceptual data model mendukung
kebutuhan transaksi yaitu :
i. Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities,
relationship, dan attribute) yang diperlukan pada
setiap transaksi yang disediakan oleh model dengan
mendokumentasikan penggambaran dari tiap kebutuhan
transaksi.
ii. Mengunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data
model dengan keperluan transaksi yang melibatkan
diagram yang mewakili path ways diambil dari tiap
29
transaksi secara langsung yang terdapat pada ER
diagram.
i. Meninjau kembali local conceptual model dengan
pengguna.
Bertujuan untuk me-review kembali conceptual
model dan memastikan bahwa data model tersebut sudah
benar.
2.1.8.2 Perancangan Basis Data Logikal (Logical Database Design)
2. Membangun data model logical
Adalah untuk menerjemahkan conceptual data model
ke logical data model dan kemudian melakukan validasi model
ini untuk memeriksa bahwa secara struktural benar dan
mampu mendukung transaksi yang diperlukan.
Tujuan utama adalah untuk menerjemahkan conceptual
data model yang dibuat pada langkah pertama ke dalam logical
data model dari persyaratan data perusahaan. Langkah- langkah
yang dilakukan :
a. Menghilangkan fitur yang tidak compatible dengan
model relasional (optional).
Bertujuan untuk menghasilkan model yang
kompatibel dengan model relasional. Yaitu dengan :
30
i. Menghilangkan many-to-many (*:*) binary relationship
types
ii. Menghilangkan many-to-many(*:*) recursive relationship
types
iii. Menghilangkan complex relationship types
iv. Menghilangkan multi-valued attributes
b. Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model
yang mewakili entity, relationship dan attribute yang telah
didefinisi. Mendeskripsikan komposisi tiap hubungan
memakai Database Definition Language (DBDL) untuk
relasi yang diikuti dengan daftar dari relasi attribute yang
mudah lalu mengidentifikasikan primary key dan foreign key
dari suatu relasi. Untuk memperoleh relasi untuk local data
model, maka diperluka penjelasan untuk mendeskripsikan
struktur yang mungkin dalam data model saat ini.
c. Memvalidasi relasi dengan menggunakan normalisasi
Dengan menggunakan normalisasi, maka model yang
dihasilkan mendekati model dari kebutuhan perusahaan,
konsisten dan memiliki sedikit redundansi dan stabilitas yang
maksimum.
d. Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam model
logikal tersebut mendukung spesifikasi kebutuhan
31
pengguna secara detail. Selain itu juga untuk meyakinkan
bahwa tidak ada kesalahan yang muncul sewaktu membuat
suatu relasi.
e. Memeriksa kendala-kendala integritas (Check Integrity
Constraints)
untuk memeriksa kendala-kendala integritas
dinyatakan dalam model data logis (logical data model).
Terdapat lima tipe integrity constraints yang harus
diperhatikan, yaitu :
i. Required data
Beberapa atribut harus selalu berisi nilai yang benar
(valid), tidak dapat bernilai null. Constraint ini harus
diidentifikasikan pada saat pemilihan atribut domain
untuk data model.
ii. Attribute domain constraints
Setiap atribut memiliki domain, yaitu himpunan nilai
yang dibolehkan. Constraint ini harus diidentifikasikan
pada saat pemilihan atribut domain untuk data model.
iii. Entity integrity
Primary key dari sebuah entity tidak boleh bernilai null.
Constraint ini harus dipertimbangkan pada saat
penentuan primary key bagi setiap tipe entity.
iv. Referential integrity
32
Jika suatu foreign key memiliki nilai, maka nilai tersebut
harus menunjuk ke sebuah baris yang ada pada relasi
‘parent’.
v. Enterprise constraints
Kegiatan update entity dibatasi oleh peraturan atau
kebijakan organisasi yang mengatur transaksi yang
diwakilkan oleh update yang dilakukan.
f. Melihat kembali local logical data model dengan
pengguna
Bertujuan untuk menjamin local logical data model
dan mendukung dokumentasi yang menggambarkan model
yang sudah benar.
g. Menggabungkan local logical data model menjadi
global model
Pada langkah ini, setiap local logical data model
menghasilkan ER diagram, skema relasional, kamus data dan
dokumen pendukung yang mendeskripsikan constraints
dari model. Beberapa tugas yang harus dikerjakan adalah
sebagai berikut :
i. Memeriksa lembali nama dan isi dari entities dari
relationship dan candidate key.
33
ii. Memeriksa kembali nama dan isi dari relationships atau
foreign keys.
iii. Menggabungkan entities atau hubungan dari local data
model.
iv. Mengikutsertakan (tanpa menggabungkan) entities atau
relationships yang unik pada tiap local data model.
v. Menggabungkan relationships atau foreign key dari local
data model.
vi. Mengikutsertakan (tanpa menggabungkan) relationships
atau foreign key unik pada tiap local data model.
vii. Memeriksa untuk entities (hubungan) dan relationships
atau foreign key.
viii. Memeriksa integrity constraints.
ix. Menggambarkan ER diagram.
x. Melakukan update dokumen.
h. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan
yang signifikan seperti keadaan yang tidak terduga dimasa
mendatang dan menilai apakah model logikal tersebut
dapat menampung atau menyesuaikan perubahan yang
terjadi.
2.1.8.3 Perancangan Basis Data Fisikal (Physical Database Design)
34
Suatu proses yang menghasilkan deskripsi implementasi basis
data pada pemyimpanan sekunder. Itu menggambarkan hubungan
dasar, organisasi file, dan indeks yang digunakan untuk arsip akses
yang efisien terhadap data, dan setiap kendala terkait integritas dan
keamanan diukur. Dapat dikatakan juga desain fisikal merupakan
cara pembuatan menuju sistem DBMS tertentu. Tugas-tugas yang
dilakukan dalam langkah ini antara lain :
3. Menerjemahkan model data logikal untuk DBMS yang
ditargetkan. Langkah- langkahnya sebagai berikut :
a. Merancang basis relasional
Dalam memulai merancang physical design,
diperlukan untuk mengumpulkan dan memahami informasi
tentang relasi yang dihasilkan dari logical database design.
Informasi yang penting bisa didapatkan dari kamus data dan
DBDL (Database Design Language).
b. Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data
yang diperoleh mewakili global logical data model ke dalam
DBMS.
c. Merancang enterprise constraints
bertujuan untuk merancang batasan-batasan umum
yang ada pada perusahaan.
4. Merancang organisasi file dan index
a. Menganalisis transaksi
35
Bertujuan untuk mengerti fungsi dari transaksi yang
dijalankan pada basis data dan menganalisis transaksi yang
penting. Kriteria kemampuan yang harus diidentifikasikan
dalam menganalisis transaksi adalah :
i. Transaksi dapat berjalan secara sering dan akan
mempunyai dampak yang signifikan pada performa.
ii. Transaksi yang kritis pada operasi dan bisnis.
iii. Waktu selama sehari atau seminggu ketika akan ada
permintaan yang tinggi pada saat basis data dibuat.
b. Memilih file organisasi
Untuk menentukan organisasi file yang efisien untuk
setiap hubungan dasar.
c. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu
sistem basis data. Salah satu pendekatan untuk memilih
organisasi file yang cocok untuk relasi adalah untuk
menyimpan tuples yang tidak disimpan dan dibuat
sebanyak secondary Indexes sebagaimana diperlukan. Oleh
karena itu, atribut yang digunakan adalah:
i. Atribut yang sering digunakan untuk joint operations
untuk membuat lebih efisien.
ii. Atribut yang sering dipesan untuk mengakses tuples pada
suatu relasi didalam urutan yang menunjukkan atribut.
Terdapat tiga jenis index yaitu :
36
i. Primary Index
Pengindeksan dilakukan pada kolom kunci (key
field), yang diurutkan terlebih dahulu secara sekuensial.
ii. Clustering Index
Pengindeksan dilakukan pada kolom bukan kunci
(non-key field), yang diurutkan terlebih dahulu secara
sekuensial (Connolly dan Begg, 2010, p535).
iii. Secondary Index
Pengindeksan yang dilakukan pada kolom
yang tidak terurut di dalam file data (Connolly dan Begg,
2010, p536).
d. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang
penyimpanan yang akan diperlukan dalam basis data.
Perkiraannya didasari pada ukuran setiap tabel dalam suatu
relasi. Contohnya dalam lima tahun mendatang berapa
kapasitas hard disk yang dibutuhkan untuk menampung data.
5. Merancang User Views
Bertujuan buntuk merancang pandangan pengguna yang
telah diidentifikasi selama mengumpulkan kebutuhan dan
menganalisis langkah dari relasional Database System
Development Lifecycle.
6. Merancang keamanan
37
Untuk mendesain sebuah mekanisme security untuk basis
data (database) seperti yang di spesifikasikan oleh user pada
tahapan requirement dan collection dari Database System
Development Lifecycle. Perancang database harus menyadari
fasilitas yang ditawarkan oleh DBMS target. DBMSs relasional
umumnya memberikan dua jenis keamanan database :
a. Sistem Keamanan (System Security), mencakup akses dan
penggunaan database di tingkat sistem, seperti user name
dan password.
b. Keamanan Data (Data security), mencakup akses dan
penggunaan objek database (seperti hubungan dan
pandangan) dan tindakan yang dapat dimiliki user pada object
tersebut.
7. Mempertimbangkan pengenalan atasredundansi kontrol
Pada langkah physical database design ini
mempertimbangkan denormalisasi skema relational untuk
meningkatkan performa. Hasil dari normalisasi adalah
perancangan basis data logikal secara struktural, konsisten, dan
menekan jumlah redudansi. Faktor yang perlu dipertimbangkan
adalah :
a. Denormalisasi membuat implementasi lebih kompleks.
b. Denormalisasi selalu mengorbankan fleksibilitas.
c. Denormalisasi akan membuat cepat dalam retrieve data tetapi
lambat dalam meng-update.
38
Ukuran performa dari suatu perancangan basis data dapat
dilihat dari sudut pandang tertentu yaitu melalui pendekatan
efisiensi data(normalisasi) atau pendekatan efisiensi proses
(denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan
kapasitas disk, dan efisiensi proses dimaksudkan untuk
mempercepat proses saat retrieve data daribasis data.
8. Memonitor dan memasang sistemoperasi
Bertujuan untuk memonitor sistem operasi, meningkatkan
performa dan menentukan perancangan sistem yang tepat atau
menggambarkan perubahan kebutuhan.
2.2 Teori Khusus
2.2.1 Proses Bisnis Perusahaan
Proses bisnis merupakan proses yang memberikan pandangan dari
struktur organisasi relatif terhadap suatu proyek tertentu.
2.2.1.1 Penjualan
Proses penjualan dalam perusahaan sangat menentukan
keberhasilan perusahaan tersebut. Kegiatan penjualan meliputi
pengorderan barang kepada customer hingga penerimaan
pembayaran dari customer. Setiap penjualan barang dikerjakan oleh
beberapa orang dalam perusahaan mulai dari sales, gudang, teknisi.
Penjualan barang dapat dipesan langsung oleh customer dan akan
langsung dilayani oleh sales-sales perusahaan.
39
2.2.1.2 Pembelian
Proses pembelian merupakan proses pendukung kegiatan
penjualan, dimana terjadi penambahan barang dan jasa dalam proses
pembelian, sehingga perusahaan memiliki ketersediaan sumber daya
ketika melakukan proses penjualan kepada customer. Semakin kecil
nilai/harga dari sumber daya yang dibeli dan semakin besar kualitas
sumber daya yang dibeli oleh perusahaan maka dapat menekan biaya
produksi sekecil mungkin.
2.2.1.3 Persediaan
Proses persediaan merupakan sejumlah barang yang
disediakan untuk memenuhi permintaan dari pelanggan. Dalam
perusahaan perdagangan pada dasarnya hanya ada satu golongan
inventory (persediaan), yang mempunyai sifat perputaran yang sama
yaitu yang disebut “Merchandise Inventory” (persediaan barang
dagangan). Persediaan ini merupakan persediaan barang yang selalu
dalam perputaran, yang selalu dibeli dan dijual, yang tidak
mengalami proses lebih lanjut didalam perusahaan tersebut yang
mengakibatkan perubahan bentuk dari barang yang bersangkutan.
2.2.2 PHP
Hypertext Preprocessor adalah sebuah bahasa script yang dapat
ditanamkan atau disisipkan ke dalam code HTML. PHP banyak dipakai
dalam pemrograman situs web dinamis. Pada awalnya PHP merupakan
40
singkatan dari Personal Home Page (situs personal). PHP pertama kali dibuat
oleh Rasmus Lerdorf pada tahun 1995. Pada saat itu PHP masih bernama
Form Interpreted (FI), yang wujudnya berupa sekumpulan scrip yang
digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus
merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI.
Dengan perilisan menjadi sumber terbuka, banyak programmer yang
tertarik untuk ikut mengembangkan PHP. Pada tahun 1997, sebuah
perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih
bersih, lebih baik, dan lebih cepat. Kemudian pada Juni1998, perusahaan
tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut
sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP:
Hypertext Preprocessing.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari
interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan
model pemrograman berorientasi objek ke dalam PHP untuk menjawab
perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
PHP sebagai suatu bahasa scripting open source yang tersedia untuk
sejumlah platform biasanya dihubungkan dengan MySQL atau Postgre SQL,
karena kombinasi dari database yang tersedia (untuk Unix) dan bahasa
scripting yang gratis mampu memberikan sebuah paket lengkap guna
membangun aplikasi web database (Eaglestone, 2001, p 363).
Beberapa kelebihan PHP, yaitu:
1. Bahasa pemrograman PHP adalah sebuah bahasa script
yang tidak melakukan sebuah kompilasi dalam penggunaannya.
41
2. Web Server yang mendukung PHP dapat ditemukan di
mana-mana dari mulai Apache, IIS, Lighttpd, hingga Xitami
dengan konfigurasi yang relatif mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya
milis-milis dan developer yang siap membantu dalam
pengembangan.
4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang
paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan
diberbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat
dijalankan secara runtime melalui console serta juga dapat
menjalankan perintah-perintah sistem.
2.2.3 HTML/XHTML (Hypertext/Extensible Markup Language)
XHTML merupakan penerus dari HTML. XHTMLmerupakan
sebuah rekomendasi yang terpisah dari HTML.W3C tetap
merekomendasikan untuk tetap menggunakan XHTML 1.0, XHTML 1.1,
dan HTML 4.01 untuk digunakan dalam web publishing. Perlunya
reformulasi HTML menjadi XHTML disebabkan karena W3C merasa adanya
kebutuhan agar sebuah konten World Wide Web dapat diakses dari
perangkat mobile selain komputer-komputer tradisional karena
kompleksitas sintaks dari HTML yang memerlukan sumber daya dan waktu
yang cukup banyak.
42
2.2.4 CSS (Cascading Stylesheet)
CSS atau Cascading Stylesheet adalah sebuah bahasa stylesheet
berbentuk markup language yang digunakan untuk mendeskripsikan sebuah
representasi tampilan untuk sebuah dokumen. CSS biasanya digunakan untuk
menghias halaman web dalam bentuk HTML atau XHTML.
2.2.5 Java Script
Java Script adalah bahasa yang digunakan untuk membuat program
yang digunakan agar dokumen HTML yang ditampilkan dalam browser
menjadi lebih interaktif, tidak sekedar indah saja. Java Script memberikan
beberapa fungsionalitas ke dalam halaman web, sehingga dapat menjadi
sebuah program yang disajikan dengan menggunakan antarmuka web.
Umumnya program Java Script adalah program yang ditanamkan
(disisipkan) ke dalam halaman web, sehingga halaman (dokumen) web
menjadi sebuah aplikasi yang berjalan di dalam browser web. Beberapa
sistem operasi menggunakan Java Script untuk membuat aplikasi non-web,
seperti sistem operasi MS Windows, yang menggunakan istilah Windows
Scripting Host (WSH) sebagai interpreter Java Script dan VB Script,
sehingga program yang dibuat dengan Java Script dan VB Script dapat
langsung dijalankan di atas sistem operasi, tanpa harus menggunakan
browser web terlebih dahulu.
2.2.6 MySQL
43
MySQL adalah sebuah server database open source yang terkenal
yang digunakan berbagai aplikasi terutama untuk server atau membuat WEB.
MyAQL berfungsi sebagai SQL (Structured Query Language) yang dimiliki
sendiri dan sudah diperluas oleh MySQL umumnya digunakan bersamaan
dengan PHP untuk membuat aplikasi server yang dinamis dan powerfull.
2.2.7 Apache
Server HTTP Apache atau Server Web/WWW Apache adalah server
web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux,
Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna
untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk
melayani fasilitas web/www ini mengunakan HTTP.
Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang
dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga
didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang
memungkinkan penanganan server menjadi mudah.
Apache merupakan perangkat lunak sumber terbuka dikembangkan
oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah
naungan Apache Software Foundation.
Recommended