43
 8 BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umum Dalam penyusunan skripsi ini ada beberapa teori umum yang digunakan sebagai landasan. Di bawah ini adalah pemaparan teori-teori tersebut. 2.1.1 Teori-Teori  Database 2.1.1.1 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 (O’Brien, 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).

2012-1-01224-IF Bab2001.pdf

Embed Size (px)

DESCRIPTION

2012-1-01224-IF Bab2001.pdf

Citation preview

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

7172019 2012-1-01224-IF Bab2001pdf

httpslidepdfcomreaderfull2012-1-01224-if-bab2001pdf 4343