2012-1-01224-if bab2001.pdf
Post on 08-Jan-2016
15 Views
Preview:
DESCRIPTION
TRANSCRIPT
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 143
8
BAB 2
LANDASAN TEORI
21 Teori-Teori Umum
Dalam penyusunan skripsi ini ada beberapa teori umum yang digunakan sebagai
landasan Di bawah ini adalah pemaparan teori-teori tersebut
211 Teori-Teori Database
2111 Basis Data
Menurut Connolly (2010 p65) basis data adalah suatu koleksi bersama
data-data yang saling terkait secara logis dan juga merupakan pendeskripsian
dari data-data tersebut yang dirancang untuk menyajikan informasi yang
dibutuhkan oleh sebuah organisasi
Database juga dapat diartikan sebagai serangkaian program komputer
yang mengendalikan pembuatan pemeliharaan dan pemanfaatan basis data
sebagai sebuah organisasi (OrsquoBrien 2003 p5)
Dalam basis data terdapat tiga istilah penting yakni entitas atribut dan
relationship Entitas adalah sebuah objek berbeda (bisa seseorang tempat
sesuatu konsep ataupun kejadian) dalam organisasi yang harus
direpresentasikan dalam basis data Atribut adalah sebuah properti yang
mendeskripsikan beberapa aspek dari objek yang ingin di-record Relationship
adalah asosiasi antar entitas (Connolly 2010 p65)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 243
2112 Konsep Model ERD
bull Relationship
Relationship adalah Kumpulan keterhubungan yang mempunyai arti
(meaningful associations) antara type entitas yang ada
(Connolly2010p374)
Gambar 2 1 Relationship Branch has Staff
(Connolly Database Systems p375)
bull Structural Constraints
Batasan utama pada relationship disebut multiplicity yaitu jumlah
(atau range) darikejadian yang mungkin terjadi pada suatu entitas yang
terhubung ke satu kejadian dari entitaslain yang berhubungan melalui
suatu relationship Relationship yang paling umum adalah binary
relationship Macam-macam binary relationship yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 343
ndash one-to-one (11)
Gambar 2 2 ER Diagram of Staff and Branch Entities and general constraint
(Connolly Database Systems p382)
ndash
one-to-many(1)
Gambar 2 3 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p388)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 443
ndash many-to-many()
Gambar 2 4 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p389)
bull Attributes
Menurut Connolly(2010p379) attributes merupakan sifat-sifat ( property)
dari sebuah entitas atau tipe relationship Attribute Domain adalah
himpunan nilai yang diperbolehkan untuk satu atau lebihatribut Macam-
macam atribut
bull
Simple Attribute yaitu atribut yang terdiri dari satu komponen
tunggal dengankeberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecillagi Dikenal juga dengan
nama Atomic Attribute
bull Composite Attribute yaitu atribut yang terdiri dari beberapa
komponen dimana masing-masing komponen memiliki
keberadaan yang independen Misalkan atribut Address dapat
terdiri dari Street City PostCode
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 543
bull Single-valued Attribute yaitu atribut yang mempunyai nilai
tunggal untuk setiapkejadian Misalnya entitas Branch memiliki
satu nilai untuk atribut branchNo padasetiap kejadian
bull Multi-valued Attribute yaitu atribut yang mempunyai beberapa
nilai untuk setiapkejadian Misal entitas Branch memiliki
beberapa nilai untuk atribut telpNo pada setiapkejadian
bull Derived Attribute yaitu atribut yang memiliki nilai yang
dihasilkan dari satu ataubeberapa atribut lainnya dan tidak harus
berasal dari satu entitas
bull Keys
ndash Candidate Key yaitu jumlah minimal atribut-atribut yang dapat
meng-identifikasikan setiap kejadian record secara unik
ndash Primary Key yaitu Candidate key yang dipilih untuk
mengidentifikasikan setiapkejadian record dari suatu entitas
secara unik
ndash Composite Key yaitu Candidate key yang terdiri dari dua atau
lebih atribut
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 243
2112 Konsep Model ERD
bull Relationship
Relationship adalah Kumpulan keterhubungan yang mempunyai arti
(meaningful associations) antara type entitas yang ada
(Connolly2010p374)
Gambar 2 1 Relationship Branch has Staff
(Connolly Database Systems p375)
bull Structural Constraints
Batasan utama pada relationship disebut multiplicity yaitu jumlah
(atau range) darikejadian yang mungkin terjadi pada suatu entitas yang
terhubung ke satu kejadian dari entitaslain yang berhubungan melalui
suatu relationship Relationship yang paling umum adalah binary
relationship Macam-macam binary relationship yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 343
ndash one-to-one (11)
Gambar 2 2 ER Diagram of Staff and Branch Entities and general constraint
(Connolly Database Systems p382)
ndash
one-to-many(1)
Gambar 2 3 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p388)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 443
ndash many-to-many()
Gambar 2 4 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p389)
bull Attributes
Menurut Connolly(2010p379) attributes merupakan sifat-sifat ( property)
dari sebuah entitas atau tipe relationship Attribute Domain adalah
himpunan nilai yang diperbolehkan untuk satu atau lebihatribut Macam-
macam atribut
bull
Simple Attribute yaitu atribut yang terdiri dari satu komponen
tunggal dengankeberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecillagi Dikenal juga dengan
nama Atomic Attribute
bull Composite Attribute yaitu atribut yang terdiri dari beberapa
komponen dimana masing-masing komponen memiliki
keberadaan yang independen Misalkan atribut Address dapat
terdiri dari Street City PostCode
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 543
bull Single-valued Attribute yaitu atribut yang mempunyai nilai
tunggal untuk setiapkejadian Misalnya entitas Branch memiliki
satu nilai untuk atribut branchNo padasetiap kejadian
bull Multi-valued Attribute yaitu atribut yang mempunyai beberapa
nilai untuk setiapkejadian Misal entitas Branch memiliki
beberapa nilai untuk atribut telpNo pada setiapkejadian
bull Derived Attribute yaitu atribut yang memiliki nilai yang
dihasilkan dari satu ataubeberapa atribut lainnya dan tidak harus
berasal dari satu entitas
bull Keys
ndash Candidate Key yaitu jumlah minimal atribut-atribut yang dapat
meng-identifikasikan setiap kejadian record secara unik
ndash Primary Key yaitu Candidate key yang dipilih untuk
mengidentifikasikan setiapkejadian record dari suatu entitas
secara unik
ndash Composite Key yaitu Candidate key yang terdiri dari dua atau
lebih atribut
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 343
ndash one-to-one (11)
Gambar 2 2 ER Diagram of Staff and Branch Entities and general constraint
(Connolly Database Systems p382)
ndash
one-to-many(1)
Gambar 2 3 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p388)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 443
ndash many-to-many()
Gambar 2 4 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p389)
bull Attributes
Menurut Connolly(2010p379) attributes merupakan sifat-sifat ( property)
dari sebuah entitas atau tipe relationship Attribute Domain adalah
himpunan nilai yang diperbolehkan untuk satu atau lebihatribut Macam-
macam atribut
bull
Simple Attribute yaitu atribut yang terdiri dari satu komponen
tunggal dengankeberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecillagi Dikenal juga dengan
nama Atomic Attribute
bull Composite Attribute yaitu atribut yang terdiri dari beberapa
komponen dimana masing-masing komponen memiliki
keberadaan yang independen Misalkan atribut Address dapat
terdiri dari Street City PostCode
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 543
bull Single-valued Attribute yaitu atribut yang mempunyai nilai
tunggal untuk setiapkejadian Misalnya entitas Branch memiliki
satu nilai untuk atribut branchNo padasetiap kejadian
bull Multi-valued Attribute yaitu atribut yang mempunyai beberapa
nilai untuk setiapkejadian Misal entitas Branch memiliki
beberapa nilai untuk atribut telpNo pada setiapkejadian
bull Derived Attribute yaitu atribut yang memiliki nilai yang
dihasilkan dari satu ataubeberapa atribut lainnya dan tidak harus
berasal dari satu entitas
bull Keys
ndash Candidate Key yaitu jumlah minimal atribut-atribut yang dapat
meng-identifikasikan setiap kejadian record secara unik
ndash Primary Key yaitu Candidate key yang dipilih untuk
mengidentifikasikan setiapkejadian record dari suatu entitas
secara unik
ndash Composite Key yaitu Candidate key yang terdiri dari dua atau
lebih atribut
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 443
ndash many-to-many()
Gambar 2 4 ER Diagram of Staff and PropertyForRent Entities and general
constraint
(Connolly Database Systems p389)
bull Attributes
Menurut Connolly(2010p379) attributes merupakan sifat-sifat ( property)
dari sebuah entitas atau tipe relationship Attribute Domain adalah
himpunan nilai yang diperbolehkan untuk satu atau lebihatribut Macam-
macam atribut
bull
Simple Attribute yaitu atribut yang terdiri dari satu komponen
tunggal dengankeberadaan yang independen dan tidak dapat
dibagi menjadi bagian yang lebih kecillagi Dikenal juga dengan
nama Atomic Attribute
bull Composite Attribute yaitu atribut yang terdiri dari beberapa
komponen dimana masing-masing komponen memiliki
keberadaan yang independen Misalkan atribut Address dapat
terdiri dari Street City PostCode
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 543
bull Single-valued Attribute yaitu atribut yang mempunyai nilai
tunggal untuk setiapkejadian Misalnya entitas Branch memiliki
satu nilai untuk atribut branchNo padasetiap kejadian
bull Multi-valued Attribute yaitu atribut yang mempunyai beberapa
nilai untuk setiapkejadian Misal entitas Branch memiliki
beberapa nilai untuk atribut telpNo pada setiapkejadian
bull Derived Attribute yaitu atribut yang memiliki nilai yang
dihasilkan dari satu ataubeberapa atribut lainnya dan tidak harus
berasal dari satu entitas
bull Keys
ndash Candidate Key yaitu jumlah minimal atribut-atribut yang dapat
meng-identifikasikan setiap kejadian record secara unik
ndash Primary Key yaitu Candidate key yang dipilih untuk
mengidentifikasikan setiapkejadian record dari suatu entitas
secara unik
ndash Composite Key yaitu Candidate key yang terdiri dari dua atau
lebih atribut
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 543
bull Single-valued Attribute yaitu atribut yang mempunyai nilai
tunggal untuk setiapkejadian Misalnya entitas Branch memiliki
satu nilai untuk atribut branchNo padasetiap kejadian
bull Multi-valued Attribute yaitu atribut yang mempunyai beberapa
nilai untuk setiapkejadian Misal entitas Branch memiliki
beberapa nilai untuk atribut telpNo pada setiapkejadian
bull Derived Attribute yaitu atribut yang memiliki nilai yang
dihasilkan dari satu ataubeberapa atribut lainnya dan tidak harus
berasal dari satu entitas
bull Keys
ndash Candidate Key yaitu jumlah minimal atribut-atribut yang dapat
meng-identifikasikan setiap kejadian record secara unik
ndash Primary Key yaitu Candidate key yang dipilih untuk
mengidentifikasikan setiapkejadian record dari suatu entitas
secara unik
ndash Composite Key yaitu Candidate key yang terdiri dari dua atau
lebih atribut
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 643
Gambar 2 5ER Diagram of Staff and Branch Entities and their Attributes
(Connolly Database Systems p382)
2113 Normalisasi
Menurut Connolly (2010 p416) tujuan utama dalam pengembangan
model data logical pada sistem basis relasionaladalah untuk menciptakan
representasi akurat suatu data keterhubungannya dan batasan-batasannyaUntuk
mencapai tujuan ini maka harus ditetapkandiidentifikasi sekumpulan relasi
Empat bentuk normal yang biasa digunakan yaitu first normal form (1NF)
second normalform (2NF) dan third normal form (3NF) dan BoycendashCodd normal
form (BCNF)Terdapat bentuk fourth normal form (4NF) dan fifth normal form
(5NF) untuk situasi yangjarang terjadi
Berdasarkan pada functional dependencies antar atribut dalam relasi
Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi
kemungkinanterjadinya pengulangan dari update yang tidak baikNormalisasi
adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-
sifat( properties) yang diinginkan memenuhi kebutuhan data pada enterprise
1 Data Redundacy
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 743
Menurut Connolly (2010 p418) tujuan utama dari desain basis data
relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-
relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan
tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasarMasalah-
masalah yang terkait dengan redundansi dapat dijelaskan dengan
membandingkanrelasi Staff dan Branch dengan relasi StaffBranchRelasi
StaffBranch memiliki data redundan yaitu detail dari branch dituliskan
berulang-ulanguntuk setiap staffSebaliknya informasi mengenai branch
muncul hanya satu kali pada relasi Branch danhanya branchNo saja yang
diulang dalam relasi Staff untuk merepresentasikan dimana setiap staff
tersebut bekerja
Gambar 2 6 Contoh Data Redundancy
(Connolly Database Systems p419)
2
Update Anomalies
Menurut Connolly (2010 p419) relasi yang mengandung informasi yang
redundan dapat diakibatkan oleh update anomalies Beberapa tipe dari update
anomalies diantaranya Insertion Deletion dan Modification
3 Functional dependency
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 843
Menurut Connolly (2010 p420) merupakan konsep inti yang terkait dengan
normalisasiFunctional dependency menjelaskan relationship antar atribut-
atribut dalam relasiMisalkan jika A dan B adalah atribut dari suatu relasi R
B dikatakan Functionally Dependent pada A (dinotasikan A --gt B) jika setiap
nilai A dihubungkan dengan tepat satu nilai B ( A dan B masing-masing
dapat terdiri atas satu atau lebih atribut) Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi Direpresentasikan
dalam diagram
Gambar 2 7 Contoh Functional dependency
(Connolly Database Systems p420)
Determinant dari functional dependency mengacu kepada atribut atau
himpunan atributdisebelah kiri anak panah
Gambar 2 8Contoh Functional dependency
(Connolly Database Systems p419)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 943
Aturan Functional Dependencies ( Armstrongrsquos Axioms)
bull Reflectivity
Jika B adalah bagian dari A maka AB
bull Augmentation
Jika AB maka ACBC
bull Transitivity
Jika AB dan BC maka AC
bull Decomposition
Jika ABC maka AB dan AC
bull Union
Jika AB dan AC maka ABC
bull Composition
Jika AB dan CD maka ACBD
212 Teori Perancangan Basis Data
2121 Pendekatan Perancangan Basis Data
Menurut Connolly (2010 p321) database adalah kumpulan aplikasi yang
berinteraksi dengan basis data
Terdapat berbagai pendekatan yang dapat digunakan dalam perancangan
basis data yaitu
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1043
1 Top-down
Pendekatan ini diawali dengan pembentukan model data yang berisi beberapa
entitas high level dan relationship kemudian entitas lower level relationship
dan atribut lainnya akan didefinisikan secara berurut ke bawah
2 Bottom-up
Pendekatan ini diawali dengan atribut-atribut dasar yang terdiri dari sifat entitas
dan relationship kemudian dilanjutkan dengan analisis dan penggabungan antar
atribut yang dikelompokkan di dalam suatu relasi yang menggambarkan tipe dari
entitas dan relationship antar entitas
3 Inside-out
Mirip dengan pendekatan bottom-up namun identifikasi awal dimulai dengan
entitas utama kemudian menyebar ke identifikasi entitas relationship dan
atribut lainnya yang masih terkait yang sebelumnya telah diidentifikasi terlebih
dahulu
4
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda
sesuai dengan kecocokan dan kemudian digabungkan
2122 Tahapan Perancangan Basis Data
Perancangan basis data terdiri dari tiga tahap utama yaitu
1 Perancangan basis data konseptual
Pada tahap ini model data dibuat dari sudut pandang dunia nyata dan terlepas
dari pertimbangan fisik Model desain hanya terdiri dari blok-blok dengan nama
tabel dan relasi yang terjadi antar-tabel
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1143
2 Perancangan basis data logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Sumber data berasal dari ERD
Model pada perancangan basis data konseptual
3 Perancangan basis data Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakanjuga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu
Menurut Connolly dan Begg (2010p320) perancangan basis data
merupakan suatu proses pembuatan sebuah desain database yang akan
mendukung tujuan dan operasi suatu enterprise
Tujuan utamanya adalah
bull Merepresentasikan data dan relationship antar data yang dibutuhkan oleh
seluruh area aplikasi utama dan user group
bull Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data
bull
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi
kebutuhan performa yang ditetapkan pada sistem (misal waktu respon)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1243
Contoh kasus
Kumpulan formulir-formulir penyewaan properti Berikut dimasukkan ke dalam
tabel
Tabel 2 1 Contoh Tabel Kasus Untuk Penyewaan Properti
NoPenyewaA
NoPropertiB
NamaPenyewa
C
AlamatProperti
D
TglMulaiE
TglAkhirF
PE001 PR01
PR03
Andri JLKebon
JLSawah
01012009
01012009
01062009
01122009
PE002 PR01
PR04
Reni JLKebon
JLRawa0101 983090983088983088983096
01012009
01122983088983088983096
983088983089983087983088983094 2009
Sewabulan
G
NoPemilik
H
Nama
Pemilik
I
500
1000
PE01
PE03
Michael
Roni
983093983088983088
1500
PE01
PE04983117983145983139983144983137983141983148
Tobi
Functional Dependencies yang terdapat pada relasi SewaProperti dari tabel kasus
penyewaan properti
Fd1 NoPenyewa NoProperti TglMulai TglAkhir (Primary Key)
Fd2 NoPenyewa NamaPenyewa (Partial Dependency)
Fd3 NoProperti AlamatProperti Sewabulan NoPemilik NamaPemilik
(Partial Dependency)
Fd4 NoPemilik NamaPemilik (Transitive Dependency)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1343
Gambar 2 9 Analisis Functional dependency dari Penyewaan Properti
Pada Segmen 1 1NF
bull A dan B adalah Primary Key
bull Mencari relasi fully dependency yaitu atribut non key yang tergantung
kepada seluruh atribut primary key
bull AB EFGHICD
Pada Segmen 2 2NF
bull Mencari relasi partial dependency yaitu atribut non key yang tergantung
kepada sebagian atribut primary key
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1443
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH I
B adalah Primary Key Menjadi tabel Properti
Pada Segmen 3 3NF
bull
Mencari relasi transitive dependency yaitu atribut non key yang
tergantung kepada atribut bukan primary key
bull AB EF
A dan B adalah Primary Key sekaligus Foreign Key Menjadi tabel
SewaProperti
A C
A adalah Primary Key Menjadi tabel Penyewa
B DGH
B adalah Primary Key H adalah Foreign Key Menjadi tabel Properti
HI
H adalah Primary Key Menjadi tabel pemilik
Transaksi sistem yang dibutuhkan
a Menampilkan data penyewa yang meliputi NoPenyewa dan Nama Penyewa
b
Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1543
c Menampilkan data SewaProperti berdasarkan Pemilik properti tertentu
2123 Perancangan Database Konseptual
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterpriseindependen dari keseluruhan aspek fisik Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user Model data
konseptual merupakan sumber informasi untuk fase desain logikal (Connolly
2010 p467)
Adapun langkah-langkahnya yaitu
1 Identifikasi tipe entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view
Mendefinisikan objekutama dimana user mempunyai ketertarikan dengan objek
tersebut Objekini adalah tipe entitas untuk model Salah satu metode untuk
mengidentifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari user
Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata
benda(nous phrases) yang disebutkan Kita juga dapat melihat objek utama
seperti orang tempat ataukonsep dari ketertarikan diluar kata benda lainnya yang
merupakan kualitas dari objek lain
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Tipe Entitas
Tabel 2 2 Tabel Kamus Entitias
Entitas Name Description Aliases Occurance
PenyewaMendeskripsikan
semua PenyewaPelanggan
Setiap penyewa dapat
memiliki satu atau banyakSewaProperti
PropertiMendeskripsikan
semua propertiRumah -
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1643
Pemilik
Mendeskripsikan
semua pemilik
yang mempunyai
properti
Pemilik
Setiap pemilik memiliki
satu atau lebih buktiSewaProperti
2 Identifikasi tipe relationship
Tujuannya untuk mengidentifikasikan relationship penting yang ada antara tipe
entitas yang telahdiidentifikasikan Kita dapat menggunakan grammar dari
spesifikasi kebutuhan tersebut untuk mengidentifikasi relationship biasanya
relationship dinyatakan oleh kata kerja verb atau ekspresi verbal Secara
langsung relationship tersebut adalah binary dengan kata lain relationship
tersebut berada antara dua type entitas
Berdasarkan contoh kasus di atas berikut adalah tabel kamus entitas
relationships
Tabel 2 3 Tabel Kamus Tipe Relasi
Entitas
NameMultiplicity Relationship
Entitas
NameMultiplicity
Penyewa 1 Memiliki Properti 1
Pemilik 11 Memiliki Properti 1
3 Identifikasi dan Hubungkan Atribut dengan Entitas atau Tipe Hubungan
Tujuannya untuk menghubungkan atribut dengan entitas atau tipe relationship
yang sesuai dan mendokumentasikan detail dari setiap atribut Atribut-atribut
bisa diidentifikasi dengan kata benda atau ungkapan kata benda (nouns phrases)
seperti property kualitas identifier atau karakteristik dari satu entitas atau
hubungan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1743
Berdasarkan contoh kasus di atas berikut adalah Tabel Kamus Hubungan Atribut
dengan Entitas
Tabel 2 4 Tabel Kamus Hubungan Atribut
Entitas
NameAttributes Description
Data type
amp lengthNulls
Multi-
valued
Penyewa
NoPenyewa
NamaPenyewa
Unik mengidentifikasi
setiap penyewaNama Penyewa
10 varchar
30 varchar
No
No
No
No
Properti
NoProperti
AlamatSewabulan
Unik mengidentifikasisetiap properti
Alamat properti
Harga sewa per bulan
10 varchar
50 varchar15 varchar
No
NoNo
No
NoNo
PemilikNoPemilik
NamaPemilik
Unik mengidentifikasisetiap pemilik
Nama Pemilik
10 varchar
35 varchar
No
No
No
No
4
Tetapkan domain atribut
Tujuannya untuk menetapkan domain atribut dalam model data konseptual lokal
dan mendokumentasikan setiap detail dari domain Domain merupakan
sekumpulan (pool) nilai-nilai darisatu atau lebih atribut yang menggambarkan
nilainya
Berdasarkan contoh kasus di atas berikut adalah tabel domain atributnya
Tabel 2 5 Domain Atribut
Entitas name Attributes Domain
PenyewaNoPenyewa
NamaPenyewaDi awali dengan PY
PropertiNoProperti
Alamat
Sewabulan
Di awali dengan PR
PemilikNoPemilik
NamaPemilik
Di awali dengan PE
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1843
5 Tetapkan Atribut Primary dan Candidate key
Untuk mengidentifikasikan candidate key untuk setiap entitas dan jika terdapat
lebih dari satucandidate key maka pilih satu sebagai primary key
Berdasarkan contoh kasus di atas berikut adalah tabel atribut primary dan
candidate key
Tabel 2 6 Tabel Atribut Primary Key dan Candidate Key
Penyewa(NoPenyewaNamaPenyewa)
Candidate Key NamaPenyewa
Primary Key NoPenyewa
Alternate Key NamaPenyewa
Properti (NoProperti Alamat Sewabulan)
Candidate Key NoProperti
Primary Key NoProperti
Alternate Key
Pemilik(NoPemilik NamaPemilik)
Candidate Key NoPemilik NamaPemilik
Primary Key NoPemilik
Alternate Key NamaPemilik
Gambar 2 10 Gambar ER dengan Primary Key
6 Periksa Model Untuk Pengurangan
Dalam langkah ini kita menguji model data konseptual lokal dengan tujuan
spesifik untuk mengidentifikasikan apakah ada redundancy dalam data dan
memindahkan data yang telah ada Dua aktifitas dalam langkah ini adalah
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 1943
bull Menguji ulang relationship 1-1 (one-to-one)
Berdasarkan contoh kasus di atas hubungan relationship 1-1 tidak ditemukan
selama proses analisis
bull Menghilangkan relationship yang redundan
Berdasarkan contoh kasus di atas tidak ada redundanrelationship yang terjadi
Dari 2 tahapan di atas maka dapat disimpulkan bahwa tidak ada redudansi data
yang terjadi
7 Validasi Model Konseptual Lokal Terhadap Transaksi User
Tujuannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkanoleh view Diuji dua pendekatan untuk memastikan model data
konseptual lokal mendukung transaksiyang dibutuhkan dengan cara
Mendeskripsikan transaksi-transaksi
Memeriksa seluruh informasi (entitas relationship dan atribut) yang dibutuhkan
oleh setiap transaksi telah disediakan oleh model dengan mendokumentasikan
setiap kebutuhan transaksi
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan data penyewa yang meliputi NoPenyewa dan Nama
Penyewa
b Menampilkan data pemilik yang meliputi NoPemilik dan Nama Pemilik
c
Menampilkan data Properti berdasarkan Pemilik properti tertentu
Mengunakan jalur-jalur transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2043
Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada
ER diagram
Gambar 2 11 Gambar ER dengan Jalur Transaksi
8 Review Model Data Konseptual Lokal Dengan User
Tujuannya untuk me-review model data konseptual lokal dengan user untuk
memastikan modeltersebut adalah representasi sebenarnya dari view Model data
konseptual ini termasuk ER diagramdan dokumentasi pendukung yang
mendeskripsikan model data Bila ada kejanggalan(anomali) dalam model data
maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan
pengulangan langkah-langkah sebelumnya
2124 Perancangan Database Logikal
Suatu proses pembentukan model dari informasi yang digunakan dalam
enterprise berdasarkan model data tertentu ( misal relasional) tetapi independen
terhadap DBMS tertentu dan aspek fisik lainnya Model data konseptual yang
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2143
telah dibuat sebelumnya diperbaiki dan dipetakan kedalam model data logikal
(Connolly2010 p490)
Adapun langkah-langkahnya yaitu
1 Menghilangkan fitur yang tidak sesuai dengan model relasional
bull Menghilangkan hubungan many to many ()
Pada ERD Konseptual terjadi hubungan entiti yang Hubungan ini harus
dihilangkan dengan menambah entiti baru
Dari contoh kasus di atas terdapat hubungan many to many () yang terdapat
pada penyewa dengan properti Cara mengatasinya dengan menciptakan Entiti
baru yaitu SewaProperti
bull Menghilangkan atribut yang multi-valued
Pada bagian identifikasi atribut ada beberapa entiti yang mempunyai atribut yang
multi-valued Hal ini harus dihilangkan dengan memisahkan atribut yang multi-
valued dari entitinya Biasanya multi-valued berupa atribut telepon
Pada contoh kasus di atas tidak terdapat multi-valued
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2243
Gambar 2 12 Gambar ER dengan menghilangkan fitur yang tidak sesuai
2 Menurunkan relasi untuk Model Data Logikal
Tahapan ini membentuk relasi dari model data logikal untuk merepresentasikan
relasi antar entiti dengan atribut yang telah didefinisikan Untuk mendapatkan
relasi dari data model yang ada makan digunakan cara-cara berikut ini
1 Strong entitas types
2 Weak entitas types
3 One-to-many (1) binary relationship types
4 One-to-one (11) recursive relationship types
5
One-to-one (11) binary relationship types
6 Superclasssubclass relationship types
7
Many-to-many () binary relationship types
8 Complex relationship types
Dari contoh kasus di atas hanya terdapat 4 tahapan yang perlu diturunkan yaitu
a
Strong Entitas
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2343
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoProperti Alamat Sewabulan)
Primary Key NoProperti
Penyewa(NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
b
Weak Entitas
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)Primary Key NoPenyewa NoProperti
c
One to Many Relationship (1)
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Properti(NoPropertiNoPemilik
Alamat Sewabulan)
Primary Key NoProperti
d
Many to Many Relationship ( )
Penyewa(NoPenyewa NamaPenyewa)Primary Key NoPenyewa
Properti(NoProperti AlamatSewabulan)
Primary Key NoProperti
SewaProperti(NoPenyewa NoProperti TglMulaiSewa TglAkhirSewa)
Primary Key NoPenyewa NoProperti
Foreign Key NoPenyewa references Penyewa (NoPenyewa)
Masukkan NoPemilik dalam Properti untuk model 1 relasi memiliki
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2443
Gambar 2 13 Menurunkan untuk Model Data Logikal
3 Memvalidasi relasi dengan normalisasi
Untuk merancang basis data yang baik biasa dilakukan normalisasi Normalisasi
merupakan sebuah teknik untuk menghasilkan set relasi dengan property yang
desirable dan memberikan data sesuai dengan kebutuhan enterprise
Tujuan normalisasi yaitu
bull mengidentifikasi hubungan antar atribut
bull mengkombinasikan atribut untuk membentuk relasi
bull mengkombinasikan relasi untuk membentuk database
bull
menghindari anomali
UNF
Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang
ada dalam suatu form yang ingin kita normalisasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2543
Berdasarkan contoh kasus di atas UNF yang terjadi sebagai berikut
SewaRumah (NoPenyewa NamaPenyewaNoProperti AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik )
1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak berisi atribut yang
berulang (repeating group) field hasil perhitungan dihilangkan dan sudah
mempunyai primary key
Berdasarkan contoh kasus di atas terjadi
SewaRumah (NoPenyewaNoProperti NamaPenyewa AlamatProperti
TglMulaiSewa TglAkhirSewa Sewabulan NoPemilik NamaPemilik)
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap
atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF
kita akan menghilangkan ketergantungan sebagian partial ketergantungan
field-field tertentu hanya kepada salah satu key yang composite
Berdasarkan contoh kasus di atas terjadi
Penyewa (NoPenyewa NamaPenyewa)
SewaRumah (NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti_Pemilik(NoProperti AlamatProperti Sewabulan NoPemilik
NamaPemilik)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2643
3NF
Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan
tidak ada atribut non-key yang tergantung fungsional kepada atribut non-key yang
lainnya (transitive dependency)
Berdasarkan contoh kasus di atas terjadi
Penyewa(NoPenyewa NamaPenyewa)
SewaRumah(NoPenyewaNoProperti TglMulaiSewa TglAkhirSewa)
Properti (NoProperti AlamatProperti Sewabulan NoPemilik)
Pemilik(NoPemilik NamaPemilik)
Gambar 2 14 Diagram Model Relasional
4 Memeriksa Integrity Constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2743
Tabel 2 7 Tabel Integrity Constraints
Pemilik(NoPemilik NamaPemilik)
Primary Key NoPemilik
Penyewa (NoPenyewa NamaPenyewa)
Primary Key NoPenyewa
Properti(NoProperti NoPemilik AlamatProperti Sewabulan)
Primary Key NoProperti
Foreign Key NoPemilik referencesPemilik (NoPemilik) ONUPDATE CASCADE ON DELETE NO ACTION
SewaProperti(NoProperti NoPenyewa TglMulaiSewaTglAkhirSewa)
Primary Key NoProperti NoPenyewa
Foreign Key NoProperti referencesProperti (NoProperti) ONUPDATE CASCADE ON DELETE NO ACTION
Foreign Key NoPenyewa referencesPenyewa (NoPenyewa) ON
UPDATE CASCADE ON DELETE NO ACTION
5 Review Model Data Logikal Dengan User
Review logical data model dengan pengguna dilakukan untuk memastikan bahwa
model yang telah dibuat sudah benar atau sesuai dengan kebutuhan pengguna
Dari hasil review dengan pengguna model data logikal yang dihasilkan sudah
sesuai dengan kebutuhan yang ada Sehingga sudah dapat dilanjutkan ke tahap
selanjutnya
6 Memeriksa Untuk Pertumbuhan di Masa Depan
Model data logikal yang dirancang sudah disesuaikan dengan kemungkinan yang
mungkin terjadi di masa depan kecuali jika terjadi perubahan pada kebutuhan
pengguna
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2843
2124 Perancangan Database Fisikal
Suatu proses yang menghasilkan deskripsi implementasi basis data
padapenyimpanan sekunder Menggambarkan struktur penyimpanan dan metode
aksesyang digunakan untuk mencapai akses yang efisien terhadap data Dapat
dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS
tertentu (Connolly 2010 p522)
Adapun langkah-langkahnya yaitu
1 Merancang relasi dasar
Dalam merancang relasi dasar digunakan DBDL ( Database Design Language)
untuk mendeskripsikan definisi relasi Untuk setiap relasi diberikan deskripsi
yang meliputi nama relasi atribut primary key alternate key foreign key atribut
yang merupakan hasil perhitungan referential integrity domain dan apakah
atribut boleh NULL
Pada contoh kasus di atas berikut ini merupakan DBDL dari relasi yang ada
PemilikDomain NoPemilik variable length character
string length 10diawali dengan PE
Domain NamaPemilik variable length character string
length 35
Pemilik(
NoPemilik Nomor Pemilik NOT NULL
NamaPemilik Nama Pemilik NOT NULL
Primary Key (NoPemilik))
PenyewaDomain NoPenyewa variable length character
string length 10diawali dengan PY
Domain NamaPenyewa variable length character
string length 30
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 2943
Penyewa(
NoPenyewa Nomor Penyewa NOT NULL
NamaPenyewa Nama Penyewa NOT NULL
Primary Key (NoPenyewa))
PropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain Alamat variable length character string
length 50
Domain Sewabulan integer value
Domain NoPemilik variable length character
string length 10diawali dengan PE
Properti (
NoProperti Nomor Properti NOT NULL
AlamatProperti Alamat Properti NOT NULL
Sewabulan Sewa per Bulan NOT NULL
NoPemilik Nomor Pemilik NOT NULL
Primary Key (NoProperti)
Foreign Key (NoPemilik) references Pemilik
(NoPemilik) ON UPDATE CASCADE ON DELETE NO ACTION )
SewaPropertiDomain NoProperti variable length character
string length 10diawali dengan PR
Domain NoPenyewa variable length character string
length 10diawali dengan PY
Domain TglMulaiSewa datetime
Damain TglAkhirSewa datetime
SewaProperti(
NoProperti Nomor Properti NOT NULL
NoPenyewa Nomor Penyewa NOT NULLTglMulaiSewa Tanggal Mulai Sewa NOT NULL
TglAkhirSewa Tanggal Akhir Sewa NOT NULL
Primary Key (NoProperti NoPenyewa)
Foreign Key (NoProperti) references Properti
(NoProperti) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key (NoPenyewa) references Penyewa
(NoPenyewa) ON UPDATE CASCADE ON DELETE NO ACTION )
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3043
2 Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari transaksi
yang akan berjalan pada basis data dan untuk menganalisis transaksi yang
penting
Berdasarkan contoh kasus di atas deskripsi transaksinya meliputi
a
Menampilkan dan mengubah data penyewa yang meliputi NoPenyewa dan
Nama Penyewa
b
Menampilkan dan mengubah data pemilik yang meliputi NoPemilik dan
Nama Pemilik
c Menampilkan data Properti berdasarkan Pemilik properti tertentu
Gambar 2 15 Validasi Transaksi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3143
3 Memilih Index
Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index
akan meningkatkan kinerja dari sistem Index Clustered artinya Index Non-
Clustered artinya Pada DBMS MySQL primary key didefinisikan ke dalam Index
Clustered (sumber httpdevmysqlcomdocrefman50eninnodb-index-
typeshtml) Dari contoh kasus di atas index yang akan digunakan adalah sebagai
berikut
Tabel 2 8 Tabel Index
Tabel Index Clustered Non-
ClusteredPemilik PemilikInd
Penyewa PenyewaInd
Properti PropertiInd
SewaProperti SewaPropertiInd
4 Merancang User View
Tujuan dari langkah ini adalah untuk melihat sudut pandang pengguna terhadap
tabel dan field yang ada di dalam database
5 Merancang mekanisme keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan pada
basis data seperti yang telah dispesifikasikan oleh user Mekanisme keamanan
tersebut adalah pembatasan hak akses guna menjaga keamanan data Selain itu
perlu juga diperhatikan keamanan DBMS dan sistem operasinya
6 Memperkirakan kebutuhan disk
Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang
dibutuhkan oleh basis data Hal yang harus diperhatikan adalah seberapa besar
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3243
ruang penyimpanan yang tersedia saat ini Penyimpanan yang tersedia saat ini
akan menentukan besarnya kapasitas penyimpanan yang dibutuhkan sekarang
dan lima tahun mendatang
MySQL Storage Requirement (sumber httpdevmysqlcomdocrefman50
enstorage-requirementshtml)
bull VARCHAR(M) ukurannya M+1 bytes
bull INT INTEGER ukurannya 4 bytes
bull TEXT ukurannya 65535 bytes
bull
DATE ukurannya 3 bytes
bull DATETIME ukurannya 8 bytes
bull NUMBER(MD) ukurannya M+2 bytes jika D gt 0 M+1 bytes jika D =
0 D+2 bytes jika M lt D
213 Teori Perancangan Web Database
Menurut Eaglestone (2001 p38) ldquoWeb Database System are systems in
which both Web and database technologies are used rdquo Dapat dikatakan web
database system adalah sistem dimana dipadukannya teknologi web dan
database
Menurut Eaglestone (2001 p262) perancangan Web Database mirip
seperti konvensional database namun terdapat dua hal yang perlu ditambahkan
bull Web Page Design hal ini meliputi
a Web data representation
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3343
Menampilkan web data mengambil dari database atau masukan dari
user
b Web data association
Kumpulan web data perancangan hubungan untuk petunjuk di dalam
maupun di antara web pages
c Web interface design
Perancangan web pages features
bull Perancangan koneksi antara Web Pages dan database meliputi
a
Web database logical mapping
Definisi mapping antara data displayed dalam web pages dan data
stored dalam database
b Web database physical mapping
Implementasi mekanisme data yang dilakukan di antara web pages dan
database Kinerja cepat dan bebas kesalahan
Adapun skema perancangan web database
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3443
Gambar 2 16 Perancangan Web Database
(Sumber Eaglestone 2001p264)
2131 Perancangan Konseptual Web Data
Pada tahap ini berhubungan dengan web data analysis Web data analysis
mendefinisikan sebuah konseptual model dari informasi yang mewakili halaman
web serta informasi yang mewakili basis data Data keluaran berupa ekstensi
dari konseptual data model yang meliputi hypermedia link (hubungan antara
halaman web) dan concept box (konsep web atau teknologi yang tidak dapat
digambarkan dengan basis data) (Eaglestone2001p288-p289)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3543
Dari contoh kasus di atas akan menghasilkan konseptual web data model seperti
berikut ini
Gambar 2 17 Konseptual Web Data Model
2132 Perancangan Logikal Web Data
Pada tahap ini mendefinisikan struktur data dari halaman web yang
sebenarnya termasuk hubungan antara bagian-bagian dan ke halaman web lain
Data masukan berasal dari ERD yang telah normal dari logikal data model dan
ekstensi dari konseptual web data model Data keluaran berupa Page Schema
yaitu data item dari basis data yang akan mewakili di dalam halaman web
(Eaglestone2001p311)
2133 Perancangan Fisikal Web Data
Pada tahap ini menjelaskan bagaimana halaman webharus dilaksanakan
dan terhubung ke database Berhubungan juga dengan alat dan teknik yang dapat
digunakan untuk membuat database dapat diakses melalui web
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3643
Komponen database dapat diimplementasikan sebagai ekstensi dari
server atau browser atau mungkin eksternal ke web Implementasi harus
menganalisa dan memutuskan bagaimana untuk mengakses basis data dari client
atau server dan di mana proses aplikasi Implementasi juga harus
mempertimbangkan web arsitektur (Eaglestone2001 p348-359)
a Two-Tier Client Server Arsitektur
Pada model ini aplikasi dibagi menjadi dua tier yaitu First Tier dan
Second Tier
bull
Layanan Presentasi (First Tier )
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada
mesin client Lapisan ini berfungsi untuk menangani interaksi user
dengan aplikasi
bull Layanan Data (Second Tier )
Layanan data merupakan sebuah database server atau DBMS
( Database Management Systems) yang menyediakan data bagi lapisan
layanan client atau presentasi
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3743
Gambar 2 18 Gambar Two-Tier Client Server
b
Three-Tier Client Server Arsitektur
Model three-tier merupakan langkah pengembangan dari Arsitektur
two-tier Model ini menambahkan komponen ketiga diantara aplikasi client
dengan aplikasi server yang disebut middle tier
bull Layanan Presentasi (First Tier )
Sebagaimana dalam two-tier layanan ini berfungsi untuk menangani
semua interaksiuser dengan aplikasi Namun demikian layanan ini
tidak langsung mengaksesdatabase server
bull Layanan Bisnis ( Middle Tier )
Layanan bisnis atau biasa disebut dengan middle tier merupakan
sebuah aplikasi yangmemberlakukan aturan-aturan bisnis memproses
data dan mengelola transaksiLogika yang semula ditempatkan pada
client dipindahkan ke dalam komponenlapisan bisnis ini
bull Layanan Data (Data Source Tier)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3843
Layanan data merupakan sebuah DBMS yang mewakili satu atau lebih
penyimpanandata Lapisan ini menyediakan permintaan data bagi
aplikasi client dengan melaluilapisan layanan bisnis
Gambar 2 19 Gambar Three-Tier Client Server
22 Teori-Teori Khusus
221 Teori-Teori Pemrograman Web
2211 PHP Hypertext Preprocessor
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web Di dalam page HTML dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L and Thomson L 2001)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 3943
Sklar (2004 p4-6) dalam bukunya Learning PHP 5 memberikan pendapat
mengenai keunggulan dari bahasa server-side scripting PHP ini yang adalah
sebagai berikut
bull PHP tidak berbayar
bull PHP bersifat open source
bull PHP bersifat cross-platform
bull PHP banyak digunakan
bull PHP menyembunyikan kompleksitasnya
bull
PHP dibuat untuk pemrograman Web
2212 CodeIgniter
Dalam CodeIgniter User Guideversi 213 CodeIgniter dituliskan sebagai
framework yang tidak membutuhkan banyak sumber daya dan diklaim sebagai
framework PHP tercepat Framework ini menggunakan pendekatan MVC
( Model-View-Controller ) di mana business logic dan presentation dipisahkan
secara jelas sehingga desainer dan programmer dapat bekerja secara terpisah
dalam pengembangan sebuah proyek
Gambar 2 20 Gambar Aliran Data CodeIgniter
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4043
2213 JavaScript
JavaScript digunakan pada jutaan halaman Web untuk meningkatkan
desain memvalidasi form mendeteksi browser membuat cookie dan banyak
lagi JavaScript menjadi bahasa scripting paling populer di Internet dan dapat
bekerja pada semua browser umum
2214 MySQL
Menurut Allen dan Honberger (2002 p220) dalam bukunya Mastering
PHP 41 MySQL merupakan bahasa pemrograman open source yang paling
banyak digunakan oleh para programmer terutama pada Linux karena query
basis datanya yang handal dan jarang bermasalah
2215 jQuery
jQuery adalah sebuah library untuk JavaScript yang ringan cepat dan
ringkas jQuery menyederhanakan HTML document traversing event handling
animation dan interaksi AJAX untuk rapid web development
222 Teori Rekayasa Perangkat Lunak
2221 Framework
Menurut Jeffrey LWhitten (2004p653) Framework adalah sebuah
subsistem dari kolaborasi objek yang menyediakan satu set layanan yang
berhubungan Developer menggunakan Oject Frameworks untuk memanfaatkan
kemampuan penggunaan kembali dan untuk mengurangi waktu pembuatan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4143
2222 Flowchart
Flowchart atau bagan alur merupakan metode untuk menggambarkan
tahap-tahap penyelesaian masalah (prosedur) beserta aliran data dengan simbol-
simbol standar yang mudah dipahami Tujuan utama penggunaan Flowchart
adalah untuk menyederhanakan rangkaian proses atau prosedur untuk
memudahkan pemahaman pengguna terhadap informasi tersebut
(Soeherman2008p133)
Gambar 2 21 Simbol Input
(Sumber Dewobroto 2005p14)
Gambar 2 22 Simbol Output
(Sumber Dewobroto 2005p14)
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4243
Gambar 2 23 Simbol Process atau Lainnya
(Sumber Dewobroto 2005p14)
2223 Work Flow
Menurut Jeffrey LWhitten (2004p62)Work Flow adalah aliran transaksi
melalui proses bisnis untuk memastikan pemeriksaan yang benar dan persetujuan
diimplementasikan
7172019 2012-1-01224-IF Bab2001pdf
httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343
top related