menurut connolly & begg (2010:19), data merupakan komponen...
TRANSCRIPT
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.