Menurut Connolly & Begg (2010:19), Data merupakan komponen...

Post on 13-Aug-2019

240 views 0 download

Transcript of Menurut Connolly & Begg (2010:19), Data merupakan komponen...

7

BAB 2

TINJAUAN PUSTAKA

2. 1 Teori Yang Berkaitan Dengan Basis Data

2. 1. 1 Data

Data merupakan suatu pernyataan yang diterima secara apa

adanya atau data mentah untuk suatu informasi. Data yang dikumpulkan

harus jelas dan akurat agar dapat diolah menjadi informasi yang

bermanfaat dan mudah dimengerti oleh orang lain.

Menurut Connolly & Begg (2010:19), Data merupakan komponen

yang paling penting dalam DBMS. Berasal dari sudut pandang terakhir.

Data bertindak sebagai jembatan antara mesin dan pengguna.

Menurut O’Brien & Marakas (2010:34), Data adalah fakta mentah

atau pengamatan, biasanya tentang fenomena fisik atau transaksi bisnis.

Data adalah nilai-nilai dan fakta – fakta mentah yang belum diproses

untuk menyatakan pengertiannya kepada pengguna.

Data adalah satu set diskrit, dimana fakta-fakta obyektif tentang

peristiwa (Jurike V.Moniaga, 2009:1). Dalam konteks organisasi, data

yang paling berguna digambarkan sebagai catatan terstruktur transaksi,

dimana organisasi biasanya menyimpan data seperti sistem teknologi.

Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan

bahwa Data adalah sekumpulan nilai-nilai dan fakta-fakta yang belum di

olah.

2. 1. 2 Basis Data

Menurut Connolly (2010, p65), basis data adalah suatu

koleksi bersama data-data yang saling terkait secara logis,

8

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.

Dalam basis data, terdapat tiga istilah penting, yakni

entitas, atribut, dan relationship. Entitas adalah sebuah obyek

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 obyek yang ingin di-

record. Relationship adalah asosiasi antar entitas (Connolly,

2010, p65).

2. 1. 3 Sistem Basis Data

Pada akhir tahun 1980, banyak bidang sistem basis data

yang dikembangkan. Penelitian pada bidang basis data

meliputi bahasa query yang powerful, model data yang

lengkap dan penekanan pada dukungan analisis data yang

kompleks dari semua bagian organisasi.

Menurut Connolly & Begg (2010:54), Sistem basis data

merupakan kumpulan program aplikasi yang berinteraksi

dengan basis data bersama dengan Database Management

System (DBMS) dan basis data itu sendiri.

9

Jadi, berdasarkan definisi di atas, dapat disimpulkan

bahwa Sistem basis data merupakan sistem yang terdiri dari

kumpulan file atau tabel yang saling berhubungan dan

sekumpulan program yang memungkinkan beberapa

pemakaian.

2. 1. 4 Database Management System (DBMS)

Menurut Connolly dan Begg (2010, p66), Database

Management System adalah sistem perangkat lunak yang

memungkinkan pengguna untuk melakukan definisi, membuat,

mengelola, dan mengatur akses terhadap basis data.

Menurut Kroenke dan Auer (2010, p8), Database

Management System adalah program komputer yang

digunakan untuk membuat, memproses, dan mengatur

administrasi basis data.

Berdasarkan sumber definisi diatas, dapat disimpulkan

bahwa Database Management System adalah sistem perangkat

lunak yang digunakan untuk mendefinisikan, membuat,

memproses, dan memungkinkan penggunanya untuk

melakukan berbagai manipulasi terhadap data.

2. 1. 4. 1 Komponen lingkungan DBMS

Menurut Connolly dan Begg (2010, p68-71), terdapat 5

komponen utama dalam DBMS Environment, yaitu

hardware, software, data, procedures, dan people.

10

Gambar 2. 1 Komponen DBMS Environment

(Sumber: Connolly dan Begg, 2010, p68)

1. Hardware

Agar dapat berjalan, pengaplikasian DBMS

memerlukan perangkat keras yang terdiri dari single

personal computer, single mainframe, atau network of

computers. Tidak semua DBMS dapat berjalan pada

bermacam-macam perangkat keras serta sistem operasi.

2. Software

Komponen perangkat lunak terdiri atas perangkat

lunak DBMS dan program aplikasi beserta sistem operasi

termasuk perangkat lunak jaringan apabila DBMS

digunakan dalam sebuah jaringan.

3. Data

Data sebagai salah satu komponen penting dalam

DBMS berdasarkan sudut pandang pengguna adalah

sebagai penghubung antara komponen mesin (perangkat

keras) dengan komponen manusia.

4. Procedures

Prosedur berisi instruksi-instruksi dan aturan-aturan

yang mengatur suatu rancangan dan penggunaan basis

data. Proses yang terdapat di dalamnya adalah:

11

a. login ke dalam basis data

b. penggunaan fasilitas DBMS

c. memulai dan mengakhiri DBMS

d. membuat backup basis data

e. menangani kegagalan perangkat keras dan perangkat

lunak

f. mengubah struktur tabel, mengatur ulang basis data

melalui multiple disk, meningkatkan kinerja atau arsip data

pada secondary storage.

5. People

Manusia sebagai salah satu komponen yang terlibat

dalam proses sistem basis data, dapat diidentifikasikan

sebagai data administrators, database administrators,

database designers, application developers, dan end users.

2. 1. 4. 2 Keuntungan DBMS

Menurut Connolly dan Begg (2010, p77-81),

terdapat 14 keuntungan dari penggunaan DBMS yaitu:

1. Control of data redundancy

Pendekatan basis data yang ditujukan untuk

mengeliminasi redundansi dengan mengintegrasikan file-

file sehingga banyaknya file dari data yang sama tidak

disimpan. Pendekatan tersebut tidak menghilangkan

redundansi secara keseluruhan, tetapi mengontrol jumlah

redundansi yang terjadi.

12

2. Data consistency

Dengan menghilangkan atau mengontrol

redundansi akan meminimalisir resiko tidak konsisten

yang muncul terhadap data. Data disimpan hanya sekali

dalam basis data, setiap update yang dilakukan

menghasilkan perubahan untuk semua pengguna

sesegera mungkin.

3. More information from the same amount of data

Dengan terintegrasinya data operasional,

memungkinkan organisasi untuk memperoleh informasi

tambahan melalui data tersebut.

4. Sharing of data

Basis data suatu organisasi digunakan oleh

pengguna yang memiliki otorisasi. Sejauh ini,

penggunaan data dalam membangun sebuah aplikasi

adalah data yang sudah disediakan, sedangkan untuk data

yang akan ditambahkan belum tentu masuk kedalam

DBMS melainkan hanya digunakan untuk

mendefinisikan persyaratan yang ada.

Aplikasi yang baru juga dapat digunakan untuk definisi

dan manipulasi data.

5. Improved data integrity

Integritas basis data menunjukkan validitas dan

konsistensi data yang disimpan. Integritas biasanya

disesuaikan dengan constraint.

6. Improved security

13

Keamanan basis data adalah perlindungan basis

data terhadap pengguna-pengguna yang tidak

berwenang. Akses yang diperbolehkan terhadap

pengguna yang memiliki wewenang dibatasi oleh operasi

tertentu (retrieval, insert, update, delete).

7. Enforcement of standards

Integrasi memperbolehkan Database Administrator

(DBA) untuk mendefinisikan dan menegaskan standar-

standar yang diperlukan, meliputi skala departemen,

organisasi, nasional, maupun internasional.

8. Economy of scale

Dengan menggabungkan seluruh data operasional

organisasi kedalam suatu basis data dan membuat sebuah

set aplikasi pada satu sumber data yang berdampak

terhadap penghematan biaya.

9. Balance of conflicting requirements

Setiap pengguna atau departemen memiliki

kebutuhan-kebutuhan yang memungkinkan terjadinya

konflik terhadap kebutuhan dari pengguna lainnya.

Karena basis data dikendalikan DBA, maka DBA dapat

membuat keputusan tentang perancangan dan

operasional dari basis data. Keputusan yang dihasilkan

akan mendukung performa yang optimal pada aplikasi

tersebut.

10. Improved data accessibility and responsiveness

14

Sebagai dampak dari integrasi, data dapat diakses

secara langsung oleh end user melalui batasan antar

departemen.

11. Increased productivity

DBMS menyediakan berbagai fungsi standar yang

memungkinkan programmer untuk berkonsentrasi pada

fungsionalitas spesifik yang dibutuhkan oleh user tanpa

harus mengkhawatirkan rincian low-level

implementation. Hal ini meningkatkan produktivitas dari

programmer dan mengurangi waktu pengembangan serta

efisiensi terhadap biaya.

12. Improved maintenance through data independence

Deskripsi dari data dan logika yang digunakan

untuk mengakses data antar aplikasi satu sama lainnya,

menyebabkan program tergantung dengan data.

DBMS memisahkan deskripsi data dari aplikasi sehingga

menghilangkan ketergantungan.

13. Increased concurrency

Dalam basis data, jika terdapat dua atau lebih

pengguna mengakses data yang sama secara bersamaan,

maka akan mengakibatkan terjadinya kehilangan

informasi atau kehilangan integritas. DBMS mengelola

akses konkurensi basis data dan meyakinkan agar

masalah pengaksesan data tersebut tidak terjadi.

14. Improved backup and recovery services

15

File-based systems menyediakan batasan dan

ukuran untuk melindungi data dari kegagalan sistem

operasi maupun program aplikasi melalui layanan

backup dan recovery.

2. 1. 4. 3 Kerugian DBMS

Menurut Connolly dan Begg (2010, p80-81),

terdapat 7 kerugian dari penggunaan DBMS yaitu:

1. Complexity

Ketentuan yang diharapkan dari fungsionalitas

DBMS yang baik, menjadikannya sebagai perangkat

lunak dengan kompleksitas yang sangat tinggi.

2. Size

Karena kompleksitas dan kedalaman dari

fungsionalitas, DBMS memerlukan kapasitas

penyimpanan yang besar.

3. Cost of DBMS

Variasi dari biaya DBMS secara signifikan

bergantung pada lingkungan dan fungsionalitas yang

tersedia.

4. Additional hardware costs

Kapasitas penyimpanan yang dibutuhkan DBMS dan

basis data menyebabkan pembelian kapasitas

penyimpanan tambahan.

5. Cost of conversion

16

Biaya yang dibutuhkan DBMS dan perangkat keras

tambahan dibandingkan dengan biaya konversi aplikasi

yang telah ada sebelumnya untuk menjalankan DBMS

dan perangkat keras yang baru.

6. Performance

DBMS digunakan untuk melayani lebih dari satu

aplikasi, sehingga tidak memiliki performa yang

sebagaimana mestinya.

7. Greater impact of a failure

Sentralisasi dari sumber daya meningkatkan

kerentanan dari sebuah sistem dikarenakan semua

pengguna dan aplikasi bergantung pada DBMS.

2. 1. 4. 4 Fungsi DBMS

Menurut Connolly dan Begg (2010, p100-104),

fungsi-fungsi yang terdapat pada Database Management

System (DBMS) meliputi:

1. Data storage, retrieval, dan update

DBMS harus menyediakan kemampuan untuk

melakukan store, retrieve, dan update data terhadap basis

data bagi pengguna.

2. A user-accesible catalog

DBMS harus menyediakan sebuah catalog yang

mendeskripsikan data items yang disimpan dan diakses

oleh pengguna.

3. Transaction support

17

DBMS harus menyediakan mekanisme yang

memastikan bahwa seluruh updates dari transaksi yang

diberikan berhasil dibuat atau tidak ada transaksi yang

dibuat.

4. Concurrency control services

DBMS harus menyediakan mekanisme yang

memastikan bahwa basis data di-update dengan benar

jika beberapa pengguna melakukan update basis data

secara bersamaan.

5. Recovery services

DBMS harus menyediakan mekanisme

pengembalian basis data jika mengalami kerusakan.

6. Authorization services

DBMS harus menyediakan mekanisme agar

hanya pengguna berwenang yang dapat melakukan akses

pada basis data.

7. Support for communication data

DBMS harus mampu diintegrasikan dengan

perangkat lunak komunikasi.

8. Integrity services

DBMS harus menyediakan sarana agar seluruh

data dan perubahan data di dalamnya mengikuti aturan

tertentu.

9. Services to promote data independence

18

DBMS harus mencakup fasilitas yang

mendukung independence programs dari struktur aktual

basis data.

10. Utility services

DBMS harus menyediakan utility services

tertentu, contohnya:

a. Fasilitas import untuk load basis data dari flat

files, dan sebaliknya fasilitas export untuk unload basis

data kepada flat files.

b. Fasilitas monitoring untuk mengawasi

penggunaan dan operasi basis data.

c. Statistical analysis programs untuk memeriksa

kinerja dan statistik pemakaian.

d. Fasilitas index reorganization untuk merombak

indexes dan overflow.

e. Garbage collection dan reallocation untuk

menghapus records secara fisik dari storage devices,

konsolidasi terhadap space released, dan alokasi kembali

saat dibutuhkan.

2. 1. 4. 5 Fasilitas yang terdapat di DBMS

Menurut Connolly dan Begg (2010, p66), secara

khusus, sebuah DBMS menyediakan fasilitas-fasilitas

sebagai berikut:

19

1. Memperbolehkan pengguna untuk melakukan

definisi terhadap basis data, umumnya melalui Data

Definition Language (DDL). DDL memungkinkan

pengguna melakukan spesifikasi terhadap tipe-tipe data

dengan struktur beserta constraints dari data tersebut

untuk disimpan ke dalam basis data.

2. Memperbolehkan pengguna untuk melakukan insert,

update, delete dan retrieve data dari basis data,

umumnya melalui Data Manipulation Language (DML).

Memiliki central repository terhadap seluruh data dan

deskripsinya yang memungkinkan DML untuk

menyediakan fasilitas general inquiry terhadap data

tersebut yang dikenal sebagai query language.

3. Menyediakan akses kontrol terhadap basis data

sebagai berikut:

a. Sistem keamanan yang mencegah pengguna tidak

berwewenang melakukan akses terhadap basis data.

b. Sistem integritas yang mengelola konsistensi data

yang disimpan.

c. Sistem pengendalian konkurensi yang mengijinkan

berbagi akses basis data.

d. Sistem pengendalian pemulihan yang melakukan

restorasi basis data terhadap kondisi sebelumnya terkait

kegagalan perangkat lunak maupun perangkat keras.

20

User-accessible catalog yang berisi deskripsi-deskripsi

data di dalam basis data.

2. 1. 5 Perancangan Basis Data

2. 1. 5. 1 Pendekatan Perancangan Basis Data

Menurut Connolly (2010, p321), system basis data

adalah kumpulan aplikasi yang berinteraksi dengan basis

data.

Terdapat berbagai pendekatan yang dapat digunakan dalam

perancangan basis data, yaitu :

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 secaara 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

21

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.

2. 1. 5. 2 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.

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 pada penyimpanan sekunder.

Menggambarkan struktur penyimpanan dan metode akses

yang digunakan untuk mencapai akses yang efisien terhadap

22

data. Dapat dikatakan juga, desain fisikal merupakan cara

pembuatan menuju sistem DBMS tertentu

Menurut Connolly dan Begg (2010,p320), perancangan

data merupakan suatu proses pembuatan sebuah desain

database yang akan mendukung tujuan dan operasi suatu

enterprise.

Tujuan utamanya adalah :

• Merepresentasikan data dan relationship antar data yang

dibutuhkan oleh seluruh area aplikasi utama dan user

group.

• Menyediakan model data yang mendukung segala

transaksi yang diperlukan pada data.

• Menspesifikasikan desain minimal yang secara tepat

disusun untuk memenuhi kebutuhan performa yang

ditetapkan pada sistem (misal : waktu respon).

Contoh kasus :

Kumpulan formulir-formulir penyewaan properti. Berikut

dimasukkan ke dalam tabel :

Tabel 2. 1 Contoh Tabel Kasus Untuk Penyewaan Properti

No.

Penyewa

A

No.

Properti

B

Nama

Penyewa

C

Alamat

Properti

D

Tgl. Mulai

E

Tgl. Akhir

F

PE001 PR01

PR03

Andri JL. Kebon

JL. Sawah

01/01/2009

01/01/2009

01/06/2009

01/12/2009

23

PE002 PR01

PR04

Reni JL. Kebon

JL. Rawa

01/01/2008

01/01/2009

01/12/2008

01/06/2009

Sewa/bulan

G

No. Pemilik

H

Nama Pemilik

I

500

1000

PE01

PE03

Michael

Roni

500

1500

PE01

PE04

Michael

Tobi

Functional Dependencies yang terdapat pada relasi SewaProperti dari

tabel kasus penyewaan properti :

Fd1 No. Penyewa, No. Properti � Tgl. Mulai, Tgl. Akhir (Primary

Key)

Fd2 No. Penyewa � NamaPenyewa (Partial Dependency)

Fd3 No. Properti � AlamatProperti, Sewa/bulan, No. Pemilik,

NamaPemilik (Partial Dependency)

Fd4 No. Pemilik � NamaPemilik (Transitive Dependency)

24

Gambar 2. 2 Analisis Functional dependency dari Penyewaan

Properti

Pada Segmen 1 / 1NF :

• A dan B adalah Primary Key.

• Mencari relasi fully dependency, yaitu atribut non key

yang tergantung kepada seluruh atribut primary key.

• A,B � E,F,G,H,I,C,D

Pada Segmen 2 / 2NF :

• Mencari relasi partial dependency, yaitu atribut non

key yang tergantung kepada sebagian atribut primary key.

• A,B � E,F

25

A dan B adalah Primary Key, sekaligus Foreign Key.

Menjadi tabel SewaProperti.

A � C ,

A adalah Primary Key. Menjadi tabel Penyewa.

B � D,G,H ,I ,

B adalah Primary Key. Menjadi tabel Properti.

Pada Segmen 3 / 3NF :

• Mencari relasi transitive dependency, yaitu atribut non

key yang tergantung kepada atribut bukan primary key.

• A,B � E,F

A dan B adalah Primary Key, sekaligus Foreign Key.

Menjadi tabel SewaProperti.

A � C ,

A adalah Primary Key. Menjadi tabel Penyewa.

B � D,G,H ;

B adalah Primary Key. H adalah Foreign Key. Menjadi tabel

Properti.

H�I ;

H adalah Primary Key. Menjadi tabel pemilik.

Transaksi sistem yang dibutuhkan :

a. Menampilkan data penyewa yang meliputi No. Penyewa

dan Nama Penyewa.

b. Menampilkan data pemilik yang meliputi No. Pemilik

dan Nama Pemilik.

26

c. Menampilkan data SewaProperti berdasarkan Pemilik

properti tertentu.

2. 1. 5. 3 Perancangan Database Konseptual

Suatu proses pembentukan model dari informasi yang

digunakan dalam enterprise, independen 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 obyek utama dimana

user mempunyai ketertarikan dengan obyek tersebut. Obyek

ini adalah tipe entitas untuk model. Salah satu metode untuk

mengidentifikasi entitas adalah dengan menguji spesifikasi

kebutuhan dari user. Spesifikasi ini dapat

mengidentifikasikan kata benda dan ungkapan kata benda

(nous phrases) yang disebutkan. Dapat juga melihat obyek

utama seperti orang, tempat atau konsep dari ketertarikan

diluar kata benda lainnya yang merupakan kualitas dari

obyek lain.

27

Tabel 2. 2 Tabel Kamus Entitias

Entitas Name Description Aliases Occurance

Penyewa Mendeskripsikan

semua Penyewa Pelanggan

Setiap penyewa dapat

memiliki satu atau

banyak SewaProperti

Properti Mendeskripsikan

semua properti Rumah -

Pemilik

Mendeskripsikan

semua pemilik

yang mempunyai

properti

Pemilik

Setiap pemilik memiliki

satu atau lebih bukti

SewaProperti

2. Identifikasi tipe relationship

Tujuannya untuk mengidentifikasikan relationship

penting yang ada antara tipe entitas yang telah

diidentifikasikan. 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:

28

Tabel 2. 3 Tabel Kamus Tipe Relasi

Entitas

Name Multiplicity Relationship

Entitas

Name Multiplicity

Penyewa 1. . * Memiliki Properti 1. . *

Pemilik 1. . 1 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.

Berdasarkan contoh kasus di atas berikut adalah

Tabel Kamus Hubungan Atribut dengan Entitas:

Tabel 2. 4 Tabel Kamus Hubungan Atribut

Entitas

Name Attributes Description

Data type

& length Nulls

Multi-

Valued

Penyewa

No. Penyewa

NamaPenyewa

Unik, mengidentifikasi

setiap penyewa

Nama Penyewa

10 varchar

30 varchar

No

No

No

No

29

Properti

No. Properti

Alamat

Sewa/bulan

Unik, mengidentifikasi

setiap properti

Alamat properti

Harga sewa per bulan

10 varchar

50 varchar

15 varchar

No

No

No

No

No

No

Pemilik

No. Pemilik

NamaPemilik

Unik, mengidentifikasi

setiap 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 dari satu 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

Penyewa No. Penyewa

NamaPenyewa

Di awali dengan PY

Properti

No. Properti

Alamat

Sewa/bulan

Di awali dengan PR

Pemilik No. Pemilik Di awali dengan PE

30

NamaPemilik

5. Tetapkan Atribut Primary dan Candidate key

Untuk mengidentifikasikan candidate key untuk setiap

entitas dan jika terdapat lebih dari satu candidate 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(No. Penyewa,NamaPenyewa)

Candidate Key NamaPenyewa

Primary Key No. Penyewa

Alternate Key NamaPenyewa

Properti (No. Properti, Alamat, Sewa/bulan)

Candidate Key No. Properti

Primary Key No. Properti

Alternate Key

Pemilik(No. Pemilik, NamaPemilik)

Candidate Key No. Pemilik, NamaPemilik

Primary Key No. Pemilik

Alternate Key NamaPemilik

6. Periksa Model Untuk Pengurangan

Langkah ini menguji model data konseptual lokal

dengan tujuan spesifik untuk mengidentifikasikan apakah ada

31

redundancy dalam data dan memindahkan data yang telah

ada. Dua aktifitas dalam langkah ini adalah:

• Menguji ulang relationship 1-1 (one-to-one)

Berdasarkan contoh kasus di atas hubungan relationship 1-1

tidak ditemukan selama proses analisis.

• Menghilangkan relationship yang redundan

Berdasarkan contoh kasus di atas tidak ada redundan

relationship 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 dibutuhkan oleh view. Diuji

dua pendekatan untuk memastikan model data konseptual

lokal mendukung transaksi yang 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 No.

Penyewa dan Nama Penyewa.

32

b. Menampilkan data pemilik yang meliputi No. Pemilik

dan Nama Pemilik.

c. Menampilkan data Properti berdasarkan Pemilik

properti tertentu.

� Mengunakan jalur-jalur transaksi

Untuk validasi model data terhadap transaksi yang

dibutuhkan termasuk representasi diagram jalur yang

digunakan oleh setiap transaksi langsung pada ER diagram.

Gambar 2. 3 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 model tersebut adalah

representasi sebenarnya dari view. Model data konseptual ini

termasuk ER diagram dan 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.

33

2. 1. 5. 4 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

telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam

model data logikal (Connolly,2010, p490).

Adapun langkah-langkahnya yaitu :

1. Menghilangkan fitur yang tidak sesuai dengan

model relasional

• 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.

Gambar 2. 4 Gambar ER dengan menghilangkan fitur yang tidak sesuai

34

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, maka digunakan cara-cara berikut ini :

Dari contoh kasus di atas hanya terdapat 4 tahapan

yang perlu diturunkan, yaitu:

a. Strong Entity

Pemilik(No. Pemilik, NamaPemilik)

Primary Key No. Pemilik

Properti(No. Properti, Alamat, Sewa/bulan)

Primary Key No. Properti

Penyewa(No. Penyewa, NamaPenyewa)

Primary Key No. Penyewa

b. Weak Entity

SewaProperti(No.Penyewa, No.Properti, TglMulaiSewa,

TglAkhirSewa)

Primary Key No. Penyewa, No. Properti

c. One to Many Relationship (1:*)

Pemilik(No.Pemilik,

NamaPemilik)

Primary Key

No.Pemilik

Properti(No.Properti,No.

Pemilik, Alamat,

Sewa/bulan)

Primary Key

No.Properti

Masukkan No. Pemilik dalam Properti untuk model 1:* relasi memiliki

35

d. Many to Many Relationship ( * : *)

Penyewa(No. Penyewa,

NamaPenyewa)

Primary Key No. Penyewa

Properti(No. Properti, Alamat,

Sewa/bulan)

Primary Key No. Properti

SewaProperti(No. Penyewa, No. Properti, TglMulaiSewa, TglAkhirSewa)

Primary Key No. Penyewa, No. Properti

Foreign Key No. Penyewa references Penyewa (No. Penyewa)

Gambar 2. 5 Menurunkan untuk Model Data Logikal

36

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:

• mengidentifikasi hubungan antar atribut

• mengkombinasikan atribut untuk membentuk relasi

• mengkombinasikan relasi untuk membentuk database

• menghindari anomali

UNF

Dalam proses normalisasi UNF ini menampilkan

semua field atau atribut yang ada dalam suatu form yang

ingin dinormalisasi.

Berdasarkan contoh kasus di atas UNF yang terjadi

sebagai berikut

SewaRumah (No. Penyewa, NamaPenyewa,{No. Properti,

AlamatProperti, Tgl. MulaiSewa, Tgl. AkhirSewa,

Sewa/bulan, No. Pemilik, 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

37

SewaRumah (No. Penyewa,No. Properti, NamaPenyewa,

AlamatProperti, Tgl. MulaiSewa, Tgl. AkhirSewa,

Sewa/bulan, No. Pemilik, 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 ini akan

menghilangkan ketergantungan sebagian / partial :

ketergantungan field-field tertentu hanya kepada salah satu

key yang composite.

Berdasarkan contoh kasus di atas terjadi

Penyewa (No.Penyewa, NamaPenyewa)

SewaRumah (No.Penyewa, No.Properti, TglMulaiSewa,

TglAkhirSewa)

Properti_Pemilik(No.Properti, AlamatProperti, Sewa/bulan,

No. Pemilik, NamaPemilik)

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(No.Penyewa, NamaPenyewa)

SewaRumah(No.Penyewa, No.Properti, TglMulaiSewa,

TglAkhirSewa)

38

Properti (No. Properti, AlamatProperti, Sewa/bulan, No.

Pemilik)

Pemilik(No. Pemilik, NamaPemilik)

Gambar 2. 6 Diagram Model Relasional

4. Memeriksa Integrity Constraints

Integrity constraints adalah batasan-batasan yang harus

ditentukan untuk melindungi basis data agar tetap konsisten.

Tabel 2. 7 Tabel Integrity Constraints

Pemilik(No. Pemilik, NamaPemilik)

Primary Key No. Pemilik

Penyewa (No. Penyewa, NamaPenyewa)

Primary Key No. Penyewa

Properti(No. Properti, No. Pemilik, AlamatProperti, Sewa/bulan)

Primary Key No. Properti

Foreign Key No. Pemilik referencesPemilik (No. Pemilik) ON

UPDATE CASCADE ON DELETE NO ACTION

39

SewaProperti(No. Properti, No. Penyewa, Tgl. MulaiSewa, Tgl.

AkhirSewa)

Primary Key No. Properti, No. Penyewa

Foreign Key No. Properti referencesProperti (No. Properti) ON

UPDATE CASCADE ON DELETE NO ACTION

Foreign Key No. Penyewa referencesPenyewa (No. Penyewa)

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.

2. 1. 5. 5 Perancangan Database Fisikal

Suatu proses yang menghasilkan deskripsi

implementasi basis data pada penyimpanan sekunder.

Menggambarkan struktur penyimpanan dan metode

aksesyang digunakan untuk mencapai akses yang efisien

terhadap data. Dapat dikatakan juga, desain fisikal

40

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 :

Pemilik

Domain No. Pemilik : variable length character string,

length 10,diawali dengan PE

Domain NamaPemilik : variable length character string,

length 35

Pemilik(

No. Pemilik Nomor Pemilik NOT NULL,

NamaPemilik Nama Pemilik NOT NULL,

Primary Key (No. Pemilik));

Penyewa

Domain No. Penyewa : variable length character

string, length 10,diawali dengan PY

41

Domain NamaPenyewa : variable length character string,

length 30

Penyewa(

No. Penyewa Nomor Penyewa NOT NULL,

NamaPenyewa Nama Penyewa NOT NULL,

Primary Key (No. Penyewa));

Properti

Domain No. Properti : variable length character string,

length 10,diawali dengan PR

Domain Alamat : variable length character string, length

50

Domain Sewa/bulan : integer value

Domain No. Pemilik : variable length character string,

length 10,diawali dengan PE

Properti (

No. Properti Nomor Properti NOT NULL,

AlamatProperti Alamat Properti NOT NULL,

Sewa/bulan Sewa per Bulan NOT NULL,

No. Pemilik Nomor Pemilik NOT NULL,

Primary Key (No. Properti),

Foreign Key (No. Pemilik) references Pemilik (No.

Pemilik) ON UPDATE CASCADE ON DELETE NO

ACTION );

42

SewaProperti

Domain No. Properti : variable length character string,

length 10,diawali dengan PR

Domain No. Penyewa : variable length character string,

length 10,diawali dengan PY

Domain Tgl. MulaiSewa : date/time

Damain Tgl. AkhirSewa : date/time

SewaProperti(

No. Properti Nomor Properti NOT NULL,

No. Penyewa Nomor Penyewa NOT NULL,

Tgl. MulaiSewa Tanggal Mulai Sewa NOT NULL,

Tgl. AkhirSewa Tanggal Akhir Sewa NOT NULL,

Primary Key (No. Properti, No. Penyewa),

Foreign Key (No. Properti) references Properti (No.

Properti) ON UPDATE CASCADE ON DELETE NO

ACTION,

Foreign Key (No. Penyewa) references Penyewa (No.

Penyewa) ON UPDATE CASCADE ON DELETE NO

ACTION );

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 :

43

a. Menampilkan dan mengubah data penyewa yang meliputi No.

Penyewa dan Nama Penyewa.

b. Menampilkan dan mengubah data pemilik yang meliputi No.

Pemilik dan Nama Pemilik.

c. Menampilkan data Properti berdasarkan Pemilik properti

tertentu.

Gambar 2. 7 Validasi Transaksi

3. Memilih Index

Tujuan dari langkah ini adalah untuk menentukan

apakah penambahan index akan meningkatkan kinerja dari

sistem. Pada DBMS MySQL primary key didefinisikan ke

dalam Index Clustered (sumber:http://dev.mysql.com/

doc/refman/5.0/en/innodb-index-types.html). Dari contoh

kasus di atas index yang akan digunakan adalah sebagai

berikut :

44

Tabel 2. 8 Tabel Index

Tabel Index Clustered Non-

Clustered

Pemilik 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 ruang

penyimpanan yang tersedia saat ini. Penyimpanan yang

45

tersedia saat ini akan menentukan besarnya kapasitas

penyimpanan yang dibutuhkan sekarang dan lima tahun

mendatang.

MySQL Storage Requirement (sumber :

http://dev.mysql.com/doc/refman/5.0/en/storage-

requirements.html) :

• VARCHAR(M), ukurannya M+1 bytes.

• INT, INTEGER, ukurannya 4 bytes.

• TEXT, ukurannya 65535 bytes .

• DATE, ukurannya 3 bytes.

• DATETIME, ukurannya 8 bytes.

• NUMBER(M,D), ukurannya M+2 bytes

jika D > 0, M+1 bytes jika D = 0, D+2 bytes

jika M < D.

2. 1. 6 Konsep Model ERD

• Relationship

Relationship adalah kumpulan keterhubungan yang

mempunyai arti (meaningful associations) antara type entitas yang

ada (Connolly, 2010, p374).

46

Gambar 2. 8 Relationship Branch has Staff

(Connolly, Database Systems, p375)

• Structural Constraints

Batasan utama pada relationship disebut multiplicity,

yaitu jumlah (atau range) dari kejadian yang mungkin terjadi

pada suatu entitas yang terhubung ke satu kejadian dari

entitas lain yang berhubungan melalui suatu relationship.

Relationship yang paling umum adalah binary relationship.

Macam-macam binary relationship yaitu :

– one-to-one (1:1)

Gambar 2. 9 ER Diagram of Staff and Branch Entities and

general constraint

(Connolly, Database Systems, p382)

47

– one-to-many(1:*)

Gambar 2. 10 ER Diagram of Staff and PropertyForRent

Entities and general constraint

(Connolly, Database Systems, p388)

– many-to-many(*:*)

Gambar 2. 11 ER Diagram of Staff and PropertyForRent

Entities and general constraint

(Connolly, Database Systems, p389)

• Attributes

Menurut Connolly(2010,p379) attributes merupakan sifat-

sifat (property) dari sebuah entitas atau tipe relationship. Attribute

Domain adalah himpunan nilai yang diperbolehkan untuk satu atau

lebih atribut. Macam-macam atribut :

• Simple Attribute, yaitu atribut yang terdiri dari satu

komponen tunggal dengan keberadaan yang independen dan

48

tidak dapat dibagi menjadi bagian yang lebih kecil lagi.

Dikenal juga dengan nama Atomic Attribute.

• 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.

• Single-valued Attribute, yaitu atribut yang mempunyai

nilai tunggal untuk setiap kejadian. Misalnya entitas Branch

memiliki satu nilai untuk atribut branchNo pada setiap

kejadian.

• Multi-valued Attribute, yaitu atribut yang mempunyai

beberapa nilai untuk setiap kejadian. Misal entitas Branch

memiliki beberapa nilai untuk atribut telpNo pada setiap

kejadian.

• Derived Attribute, yaitu atribut yang memiliki nilai

yang dihasilkan dari satu atau beberapa atribut lainnya dan

tidak harus berasal dari satu entitas.

• Keys

– Candidate Key, yaitu jumlah minimal atribut-atribut

yang dapat meng-identifikasikan setiap kejadian/record

secara unik.

– Primary Key, yaitu Candidate key yang dipilih untuk

mengidentifikasikan setiap kejadian/record dari suatu entitas

secara unik.

49

– Composite Key, yaitu Candidate key yang terdiri dari

dua atau lebih atribut.

Gambar 2. 12 ER Diagram of Staff and Branch Entities

and their Attributes

(Connolly, Database Systems, p382)

2. 1. 7 Normalisasi

Menurut Connolly (2010, p416) tujuan utama dalam

pengembangan model data logical pada sistem basis relasion

aladalah untuk menciptakan representasi akurat suatu data,

keterhubungannya dan batasan-batasannya. Untuk mencapai tujuan

ini, maka harus ditetapkan/diidentifikasi sekumpulan relasi.

Empat bentuk normal yang biasa digunakan yaitu, first normal

form (1NF), second normal form (2NF) dan third normal form (3NF)

dan Boyce–Codd 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

50

untuk mengatasi kemungkinan terjadinya pengulangan dari update

yang tidak baik. Normalisasi adalah suatu teknik untuk menghasilkan

sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan,

memenuhi kebutuhan data pada enterprise.

1. Data Redundacy

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 dasar. Masalah-masalah yang terkait dengan

redundansi dapat dijelaskan dengan membandingkan relasi Staff dan

Branch dengan relasi StaffBranch. Relasi StaffBranch memiliki data

redundan, yaitu detail dari branch dituliskan berulang-ulang untuk

setiap staff. Sebaliknya, informasi mengenai branch muncul hanya

satu kali pada relasi Branch dan hanya branchNo saja yang diulang

dalam relasi Staff, untuk merepresentasikan dimana setiap staff

tersebut bekerja.

Gambar 2. 13 Contoh Data Redundancy

(Connolly, Database Systems, p419)

51

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

Menurut Connolly (2010, p420) merupakan konsep inti yang

terkait dengan normalisasi. Functional dependency, menjelaskan

relationship antar atribut-atribut dalam relasi. Misalkan, jika A dan

B adalah atribut dari suatu relasi R, B dikatakan Functionally

Dependent pada A (dinotasikan A --> 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. 14 Contoh Functional dependency

(Connolly, Database Systems, p420)

Determinant dari functional dependency mengacu kepada

atribut atau himpunan atribut disebelah kiri anak panah.

52

Gambar 2. 15 Contoh Functional dependency

(Connolly, Database Systems, p419)

• Reflectivity

Jika B adalah bagian dari A, maka A�B

• Augmentation

Jika A�B, maka A,C�B,C

• Transitivity

Jika A�B dan B�C, maka A�C

• Decomposition

Jika A�B,C, maka A�B dan A�C

• Union

Jika A�B dan A�C, maka A�B,C

• Composition

Jika A�B dan C�D, maka A,C�B,D

2. 1. 8 Teori Perancangan Web Database

Menurut Eaglestone (2004, p38) “Web Database System are

systems in which both Web and database technologies are used”.

53

Dapat dikatakan web database system adalah sistem dimana

dipadukannya teknologi web dan database.

Menurut Eaglestone (2004, p262), perancangan Web Database

mirip seperti konvensional database namun terdapat dua hal yang

perlu ditambahkan :

• Web Page Design, hal ini meliputi :

a. Web data representation

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.

• 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 :

54

Gambar 2. 16 Perancangan Web Database

(Sumber : Eaglestone, 2004,p264)

2. 1. 8. 1 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) (Eaglestone,2004,p288-p289).

55

Dari contoh kasus di atas akan menghasilkan konseptual

web data model seperti berikut ini :

Gambar 2. 17 Konseptual Web Data Model

2. 1. 8. 2 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.

(Eaglestone,2004,p311).

2. 1. 8. 3 Perancangan Fisikal Web Data

Pada tahap ini menjelaskan bagaimana halaman web

harus dilaksanakan dan terhubung ke database. Berhubungan

juga dengan alat dan teknik yang dapat digunakan untuk

membuat database dapat diakses melalui web.

56

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 (Eaglestone,2004, p348-

359).

a. Two-Tier Client Server Arsitektur

Pada model ini aplikasi dibagi menjadi dua tier, yaitu First

Tier dan Second Tier.

• Layanan Presentasi (First Tier)

Layanan presentasi atau logika antarmuka pengguna

ditempatkan pada mesin client. Lapisan ini berfungsi

untuk menangani interaksi user dengan aplikasi.

• Layanan Data (Second Tier)

Layanan data merupakan sebuah database server atau

DBMS (Database Management Systems) yang

menyediakan data bagi lapisan layanan client atau

presentasi.

57

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.

• Layanan Presentasi (First Tier)

Sebagaimana dalam two-tier, layanan ini

berfungsi untuk menangani semua interaksi user

dengan aplikasi. Namun demikian, layanan ini

tidak langsung mengakses database server.

• Layanan Bisnis (Middle Tier)

Layanan bisnis atau biasa disebut dengan middle

tier merupakan sebuah aplikasi yang

memberlakukan aturan-aturan bisnis, memproses

data dan mengelola transaksi. Logika yang semula

ditempatkan pada client dipindahkan ke dalam

komponen lapisan bisnis ini.

58

• Layanan Data (Data Source Tier)

Layanan data merupakan sebuah DBMS yang

mewakili satu atau lebih penyimpanan data.

Lapisan ini menyediakan permintaan data bagi

aplikasi client dengan melalui lapisan layanan

bisnis.

Gambar 2.19 Gambar Three-Tier Client Server

59

2. 2 Teori Yang Terkait Tema Penelitian (Tematik)

2. 2. 1 Teori-Teori Pemrograman Web

2. 2. 1.1 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. , 2004).

Sklar (2004, p4-6) dalam bukunya Learning PHP 5

memberikan pendapat mengenai keunggulan dari bahasa server-side

scripting PHP ini yang adalah sebagai berikut :

• PHP tidak berbayar

• PHP bersifat open source

• PHP bersifat cross-platform

• PHP banyak digunakan

• PHP menyembunyikan kompleksitasnya

• PHP dibuat untuk pemrograman Web

2. 2. 1. 2 CodeIgniter

CodeIgniter merupakan 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.

60

Gambar 2. 20 Gambar Aliran Data CodeIgniter

2. 2. 1. 3 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.

2. 2. 1. 4 MySQL

Menurut Allen dan Honberger (2005, p220) dalam bukunya

Mastering PHP 4. 1 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.

2. 2. 1. 5 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.

61

2. 2. 2 Teori Rekayasa Perangkat Lunak

2. 2. 2. 1 Framework

Menurut Jeffrey L. Whitten (2004,p653) Framework adalah

sebuah subsistem dari kolaborasi obyek yang menyediakan satu set

layanan yang berhubungan. Developer menggunakan Oject

Frameworks untuk memanfaatkan kemampuan penggunaan

kembali dan untuk mengurangi waktu pembuatan.

2. 2. 2. 2 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.

(Soeherman,2008,p133)

Gambar 2. 21 Simbol Input

(Sumber : Dewobroto, 2005,p14)

62

Gambar 2. 22 Simbol Output

(Sumber : Dewobroto, 2005,p14)

Gambar 2. 23 Simbol Process atau Lainnya

(Sumber : Dewobroto, 2005,p14)

2. 2. 2. 3 Work Flow

Menurut Jeffrey L. Whitten (2004,p62) Work Flow adalah

aliran transaksi melalui proses bisnis untuk memastikan

pemeriksaan yang benar dan persetujuan diimplementasikan.

63

2. 2. 3 Teori Penjualan

Dalam jurnal “Strategi Pemasaran Produk Wisata” oleh

Wayan Suardana (2009) menyatakan penjualan adalah ilmu dan seni

mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak

orang lain agar bersedia membeli barang atau jasa yang

ditawarkannya, mengembangkan keunggulan bersaing yang

berkesinabungan melalui pasar yang dimasuki dengan program

pemasaran yang digunakan untuk melayani pasar sasaran tersebut.

2. 2. 4 Teori Persediaan

Dalam jurnal “Analisis Dan Perancangan Sistem Informasi

Persediaan, Pembelian, Dan Penjualan Pada Toko Sinar Jaya” oleh

Wawan Saputra (2009) menyatakan persediaan merupakan aset

pengadaan barang di dalam sebuah bisnis, atau yang sedang dalam

proses produksi untuk penjualan tertentu, atau dalam wujud material

atau pendukung untuk digunakan dalam proses produksi atau

penyumbangan jasa.

Dalam jurnal “Just in Time” oleh Ign. Sarto Kothson

Budiman (2003) menyatakan bahwa persediaan adalah salah satu

pengeluaran terbesar yang dilakukan oleh perusahaan, yaitu meliputi

kurang lebih 40% dari modal yang diinvestasikan. Persediaan

merupakan stok yang digunakan untuk memudahkan produksi atau

memuaskan permintaan pelanggan.

Menurut jurnal “Pemilihan Supplier Untuk Industri Makanan

Menggunakan Metode Promethee” oleh Vivi Triyanti dan M. T.

Gadis (2008) menyatakan bahwa untuk sebuah perusahaan

64

manufaktur, ketersediaan bahan baku tergantung pada performa dari

supplier. Terdapat dua metode penilaian supplier yang dapat

digunakan yaitu metode Entropy untuk menghitung bobot kriteria

dan menghasilkan reject rate sebagai kriteria utama. Sedangkan

metode Promethee (Preference Rangking Organization Method for

Enrichment Evaluation) untuk menentukan peringkat dari supplier.