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 direcord. 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 filefile 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
berwenang.
pengguna-pengguna
Akses
yang
yang
diperbolehkan
tidak 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 standarstandar 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
fungsionalitas,
dan
DBMS
kedalaman
memerlukan
dari
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
penyimpanan tambahan.
5.
Cost of conversion
pembelian
kapasitas
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.
No.
Nama
Alamat
Tgl. Mulai
Tgl. Akhir
Penyewa
Properti
Penyewa
Properti
E
F
A
B
C
D
PE001
PR01
Andri
JL. Kebon
01/01/2009
01/06/2009
JL. Sawah
01/01/2009
01/12/2009
PR03
23
PE002
PR01
Reni
PR04
Sewa/bulan G
No. Pemilik H
JL. Kebon
01/01/2008
01/12/2008
JL. Rawa
01/01/2009
01/06/2009
Nama Pemilik I
500
PE01
Michael
1000
PE03
Roni
500
PE01
Michael
1500
PE04
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. AC, 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. AC, A adalah Primary Key. Menjadi tabel Penyewa. B D,G,H ; B adalah Primary Key. H adalah Foreign Key. Menjadi tabel Properti. HI ; H adalah Primary Key. Menjadi tabel pemilik. Transaksi sistem yang dibutuhkan : a.
Menampilkan data penyewa yang meliputi 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 Setiap penyewa dapat
Mendeskripsikan Penyewa
Pelanggan
memiliki satu atau
semua Penyewa banyak SewaProperti Mendeskripsikan Properti
Rumah
-
semua properti Mendeskripsikan Setiap pemilik memiliki semua pemilik Pemilik
Pemilik
satu atau lebih bukti
yang mempunyai SewaProperti properti
2.
Identifikasi tipe relationship Tujuannya untuk mengidentifikasikan relationship
penting
yang
diidentifikasikan. spesifikasi
ada
antara
Dapat
kebutuhan
tipe
entitas
menggunakan tersebut
untuk
yang
grammar
telah dari
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
Entitas Multiplicity
Relationship
Multiplicity
Name
Name
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
Data type Attributes
Description
Name
MultiNulls
& length No. Penyewa
Unik, mengidentifikasi
10 varchar
Valued No No
setiap penyewa Penyewa NamaPenyewa
Nama Penyewa
30 varchar
No No
29
No. Properti
10 varchar
No
No
50 varchar
No
No
15 varchar
No
No
10 varchar
No
No
35 varchar
No
No
Unik, mengidentifikasi setiap properti Alamat
Properti
Alamat properti Sewa/bulan Harga sewa per bulan
No. Pemilik
Unik, mengidentifikasi
Pemilik
setiap pemilik NamaPemilik
4.
Nama Pemilik
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
No. Penyewa
Di awali dengan PY
Penyewa NamaPenyewa No. Properti Properti
Alamat
Di awali dengan PR
Sewa/bulan 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
Penyewa dan Nama Penyewa.
No.
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:*)
Masukkan No. Pemilik dalam Properti untuk model 1:* relasi memiliki
Pemilik(No.Pemilik,
Properti(No.Properti,No.
NamaPemilik)
Pemilik,
Primary Key
Sewa/bulan)
No.Pemilik
Primary No.Properti
Alamat,
Key
35
d.
Many to Many Relationship ( * : *)
Penyewa(No.
Penyewa,
Properti(No.
Properti,
NamaPenyewa)
Sewa/bulan)
Primary Key No. Penyewa
Primary Key No. Properti
Alamat,
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, TglAkhirSewa)
No.Properti,
TglMulaiSewa,
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 NamaPenyewa
NOT NULL,
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
NOT NULL,
Alamat Properti
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
NonClustered
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/storagerequirements.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),
jika D >
0, M+1 bytes
ukurannya
M+2
bytes
0, D+2
bytes
keterhubungan
yang
jika D =
jika M < D.
2. 1. 6 Konsep Model ERD • Relationship Relationship
adalah
kumpulan
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 sifatsifat (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 AB •
Augmentation
Jika AB, maka A,CB,C •
Transitivity
Jika AB dan BC, maka AC •
Decomposition
Jika AB,C, maka AB dan AC •
Union
Jika AB dan AC, maka AB,C •
Composition
Jika AB dan CD, maka A,CB,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, p348359). 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-ViewController) 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.