tinjauan pustaka mesin. bisnis.library.binus.ac.id/ecolls/ethesisdoc/bab2/2013-1-01290-if...
TRANSCRIPT
5
Bab 2
TINJAUAN PUSTAKA
2.1 Teori yang berkaitan dengan Database
2.1.1 Pengertian Data
Menurut Connolly dan Begg (2010:36), data merupakan
jembatan yang menghubungkan antara komponen manusia dengan
mesin.
Menurut Indrajani (2011:2), data adalah fakta atau observasi
mentah yang biasanya mengenai fenomena fisik atau transaksi
bisnis.
2.1.2 Pengertian Basis Data
Menurut Connolly dan Begg (2010:65), database adalah
kumpulan data yang saling berhubungan secara logis dan deskripsi
data tersebut dirancang untuk memenuhi kebutuhan informasi dalam
suatu organisasi.
Menurut Indrajani (2011:2), basis data adalah kumpulan terpadu
dari elemen data logis yang saling berhubungan. Basis data
mengonsolidasi banyak catatan yang sebelumnya disimpan dalam
dokumen terpisah.
Jadi database merupakan kumpulan data yang saling
berhubungan satu sama lain yang digunakan untuk memenuhi
kebutuhan informasi suatu organisasi untuk diterapkan secara
sistematis maupun untuk pengambilan suatu keputusan.
2.1.3 Pengertian Sistem Basis Data
Menurut Connolly dan Begg (2010, p87), sistem basis data
adalah kumpulan dari program aplikasi yang berinteraksi dengan
basis data.
6
2.1.4 Pengertian Database Management System (DBMS)
Menurut Connolly dan Begg (2010:66) Database
Management system (DBMS) merupakan sistem software yang
memungkinkan user untuk mendefinisikan, membuat, merawat,
dan mengontrol akses data ke dalam suatu database.
Menurut Joseph (2007:142), DBMS adalah sebuah
komponen komputasi modern kritis, dan hasil dari berbagai
dekade penelitian dan pembangunan di kedua akademis dan
industri. Berdasarkan sejarahnya DBMS berada di antara multi-
user sistem awal server untuk dikembangkan, dan dengan
demikian banyak teknik sistem desain untuk skalabilitas dan
keandalan yang sekarang ini digunakan dalam konteks lain.
Menurut Yvette (2012:72), DBMS adalah paket perangkat
lunak dengan program komputer yang mengendalikan
pembuatan, pemeliharaan, dan penggunaan database.
Memungkinkan sebuah organisasi dengan mudah
mengembangkan database untuk berbagai aplikasi yang
dilakukan oleh administrator database dan spesialis database
lainnya.
Jadi DBMS merupakan sebuah sistem yang berfungsi untuk
mengatur dan menggunakan database sesuai kebutuhan dari
user.
Beberapa fasilitas yang disediakan dalam DBMS, yaitu :
- DBMS memungkinkan user untuk menentukan suatu
database, biasanya menggunakan Data Definition
Language (DDL). DDL memungkinkan user untuk
menspesifikasikan tipe data dan struktur data serta batasan-
batasan data yang akan disimpan dalam database.
7
- DBMS memungkinkan user untuk melakukan insert,
update, delete dan retrieve terhadap data-data yang ada di
dalam database melalui Data Manipulation Language
(DML). DML menyediakan suatu fasilitas umum bagi data
yang disebut query language.
- DBMS menyediakan kontrol terhadap pengaksesan suatu
database, misalnya sebuah sistem keamanan mencegah
pengguna yang tidak berkepentingan dapat mengakses
database.
2.1.5 Arsitektur Sistem Database
Menurut Thomas Connolly dan Carolyn Begg (2010:86),
tiga tingkat arsitektur basis data (Three Level ANSI-SPARC
Architecture) adalah:
a. External Level
External level merupakan apa yang dilihat oleh pengguna
terhadap basis. Level ini mendeskripsikan bagian basis data yang
berhubungan dengan tiap pengguna.
b. Conceptual Level
Conceptual level menggambarkan data apa saja yang disimpan
dalam basis data dan hubungan antara data tersebut.
c. Internal Level
Internal level merupakan representasi fisik dari basis data yang
ada di dalam komputer. Level ini menggambarkan bagaimana
data disimpan dalam suatu basis data.
Tujuan utama dari tiga tingkat arsitektur basis data adalah untuk
mendapatkan data independence. Dengan adanya data
independence pada basis data, maka data dapat diubah tanpa
mempengaruhi aplikasi yang berhubungan dengan basis data
tersebut.
8
2.1.6 Komponen Lingkungan Database Management System
Menurut Thomas Connolly dan Begg (2010: 68), komponen
DBMS terdapat 5 komponen penting, yaitu :
• Perangkat keras (Hardware)
Dibutuhkan untuk menjalankan DBMS dan aplikasi-
aplikasinya. Hardware meliputi dari PC, mainframe, dan
jaringan komputer.
• Perangkat lunak (Software)
Meliputi aplikasi software DBMS, sistem operasi dan juga
sistem jaringan jika dalam penggunaannya menggunakan
jaringan.
• Data
Merupakan komponen yang terpenting dan juga merupakan
penghubung antara komponen mesin (Hardware dan
Software) dan komponen manusia (Procedures dan people)
• Prosedur
Merupakan instruksi dan aturan yang mengatur perancangan
dan penggunaan database.
• People
Komponen ini meliputi database administrator, database
designers, application developers, dan end users.
• Database administrator merupakan seseorang yang
mempunyai tanggung jawab terhadap penanganan
database di dalam suatu organisasi, tanggung jawabnya
meliputi:
- Bertanggung jawab terhadap keamanan database
- Membuat dokumen sistem dan penggunaannya
- Menentukan organisasi data
- Penerapan terhadap DBMS
- Pengetesan dan pemeliharaan sistem database
- Bertanggung jawab terhadap seluruh operasi dari
database
9
- Melatih dan mendidik personil yang berhubungan
dengan database untuk penggunaan database
Database designer adalah seseorang yang bertugas untuk
mendesain database. Tugas database desainer ini dibagi
menjadi dua, yaitu:
• Merancang Desain Conceptual / Logical Database,
yaitu mengidentifikasi entitas, atribut, dan hubungan di
antara keduanya serta memberikan constraints
(batasan).
• Merancang desain database secara fisik, yaitu
memutuskan bagaimana logical database design
terealisasi secara fisik, misalnya memetakan logical
database design menajdi tabel-tabel yang terintegrasi.
Aplication Programmer adalah seseorang yang bertugas untuk
membuat program aplikasi untuk mengakses database.
End User adalah orang-orang yang menggunakan database
tersebut untuk kepentingan tertentu.
2.1.7 Keuntungan dan Kerugian Database Management System
Menurut Connolly dan Begg (2010: 77) keuntungan dari
DBMS, yaitu :
• Mengendalikan redundansi data
• Konsistensi data
• Mendapatkan informasi lebih banyak dari data yang sama
• Penggunaan data bersama
• Meningkatkan integritas data
• Meningkatkan keamanan
• Standardisasi
• Menyeimbangkan kebutuhan user
• Meningkatkan tingkat akses dan respon data
10
• Meningkatkan produktifitas
• Meningkatkan pemeliharaan melalui independensi data
• Meningkatkan konkurensi
• Meningkatkan fasilitas backup dan recovery data
Menurut Connolly dan Begg (2010: 80) kerugian dari DBMS
yaitu :
• Kompleksitas
• Ukuran
• Biaya DBMS
• Biaya hardware tambahan
• Biaya konversi
• Performance
• Dampak kegagalan yang besar
2.1.8 Siklus Pengembangan Sistem Basis Data
Untuk mengembangkan basis data, diperlukan tahapan-
tahapan terstruktur yang harus diikuti. Tahapan tersebut
dinamakan siklus hidup basis data (database application
lifecycle). Menurut Thomas Connolly dan Begg (2010: 314),
basis data dianalisis dan dirancang dalam tahapan-tahapan
berikut ini :
11
Gambar 2.1 Database System Development Life Cycle
Sumber (Connolly dan Begg, 2010:314)
a. Database planning
Dalam tahap ini dilakukan perencanaan bagaimana tahapan-
tahapan perancangan berikutnya dapat direalisasikan secara efektif
dan efisien. Perencanaan database ini harus terintegrasi dengan
strategi sistem informasi pada sebuah organisasi. Berikut ini
adalah 3 hal utama dalam proses memformulasi sebuah strategi
sistem informasi :
• Mengidentifikasi rencana dan tujuan perusahaan kemudian
menentukan sistem informasi yang dibutuhkan.
12
• Mengevaluasi sistem informasi yang sedang digunakan,
kemudian menentukan kelebihan dan kekurangan dari
sistem informasi tersebut.
• Melihat peluang sistem apa yang mampu mendapatkan
keuntungan yang kompetitif.
b. System Definition
Tahap ini menjabarkan spesifikasi jangkauan dan batasan dari
aplikasi basis data, penggunaannya dan lingkungan tempat
aplikasi diimplementasikan. Sebelum melakukan desain terhadap
sistem basis data, pertama–tama user harus mengidentifikasi
batas–batas dari sistem yang sedang diinvestigasi dan bagaimana
sistem dapat berinteraksi dengan bagian lain dari sistem informasi
organisasi tersebut. Sangat penting bagi user untuk tidak hanya
melibatkan pengguna dan aplikasi yang sudah ada, tapi juga
pengguna dan aplikasi di masa yang akan datang.
c. Requirement Collection dan Analysis
Pada tahap ini dilakukan proses pengumpulan dan analisis data
organisasi yang dapat membantu dalam sistem basis data dan
menggunakan informasi tersebut untuk mengidentifikasi
kebutuhan untuk sistem baru yang akan dibuat. Untuk
mengumpulkan informasi, terdapat berbagai macam teknik yang
disebut fact-finding techniques.
Menurut Connolly dan Begg(2010: 344) berikut ini adalah contoh
fact-finding techniques :
• Pemeriksaan dokumen
Mengumpulkan informasi dengan memeriksa dokumen –
dokumen yang memiliki informasi yang mendukung dalam
proses pembuatan sistem basis data.
13
• Interview/Wawancara
Merupakan teknik yang paling umum digunakan untuk
mengumpulkan data. Teknik ini dijalankan dengan cara
bertatap muka dengan orang–orang secara langsung untuk
mencari tahu fakta–fakta yang berguna, mengidentifikasi
kebutuhan, dan mengumpulkan ide dan opini.
• Observasi
Observasi merupakan teknik fact-finding paling efektif
untuk mengerti sebuah sistem. Teknik ini memungkinkan
untuk melihat secara langsung aktifitas sebuah sistem dan
mempelajarinya.
• Penelitian
Merupakan teknik yang cukup berguna untuk meneliti
sebuah aplikasi atau permasalahan yang serupa. Pertukaran
jurnal, referensi buku, dan internet adalah sumber
informasi yang baik. Dari sumber-sumber tersebut terdapat
informasi yang berguna tentang bagaimana cara
menyelesaikan sebuah permasalahan yang sama.
• Kuesioner
Kuesioner merupakan dokumen dengan tujuan khusus
yang digunakan untuk mendapatkan fakta dari orang–
orang dengan jumlah yang cukup banyak. Dengan
banyaknya informasi yang didapat, maka peneliti akan
membuat sebuah kesimpulan secara umum tentang apa
yang dihasilkan dari kuesioner tersebut.
d. Database design
Tahap ini menjelaskan tentang proses pembuatan desain yang
akan mendukung misi dan tujuan sebuah organisasi untuk sistem
14
basis data yang diperlukan. Pada tahap ini dilakukan perancangan
basis data secara konseptual, logikal dan fisikal.
e. DBMS Selection (optional)
Pada tahap ini dilakukan pemilihan DBMS yang paling cocok
dengan aplikasi database. Tahap ini hanya merupakan tahap
opsional. Apabila tidak terdapat DBMS yang cocok, maka setelah
tahap perancangan konseptual, user dapat langsung menuju ke
tahap perancangan logikal (lihat gambar 2.1)
Langkah – langkah dalam memilih DBMS :
• Mendefinisikan DBMS yang diinginkan
• Memilih 2 atau 3 DBMS
• Evaluasi DBMS yang sudah dipilih
• Menetapkan DBMS yang sesuai.
f. Application Design
Tahap ini merupakan tahap perancangan antarmuka pengguna
(user interface) dan program aplikasi yang digunakan untuk
memproses database. Tahap ini meliputi dua aktivitas penting
yaitu perancangan transaksi dan perancangan antarmuka.
g. Prototyping (optional)
Tahap ini ditujukan untuk membangun prototype dari aplikasi
basis data. Hasil prototype ini memungkinkan perancang atau
pengguna untuk memperkirakan dan mengevaluasi bagaimana
bentuk fungsionalitas sistem akhir. Tujuan dari Prototyping ini
adalah agar pengguna dapat mengidentifikasi fitur–fitur yang
terdapat dalam sistem dan memberikan saran untuk lebih
meningkatkan kinerja sistem atau mungkin dengan menambah
fitur baru ke dalam sistem basis data.
15
Terdapat dua jenis prototyping yaitu:
1. Requirement prototyping, menggunakan prototype untuk
menetapkan kebutuhan dari tujuan aplikasi basis data.
Ketika kebutuhan sudah terpenuhi, prototype tidak
digunakan lagi atau dibuang.
2. Evolutionary prototype, merupakan prototype yang
berevolusi dari generasi ke generasi. Hasil dari prototype
generasi saat ini bisa saja menjadi prototype generasi
berikutnya.
h. Implementation
Tahap ini merupakan realisasi fisik dari database dan desain
aplikasi. Implementasi database dapat dilakukan melalui
beberapa cara, yaitu:
• DDL, untuk membuat skema database dan database kosong
• DML, untuk membuat dari sudut pandang pengguna yang
diinginkan
i. Data Convertion and Loading
Dalam tahap ini dilakukan perpindahan data ke database yang
baru dan mengkonversi aplikasi agar dapat berjalan pada database
yang baru. Tahap ini hanya dapat dilakukan ketika sistem
database yang baru sudah menggantikan sistem database yang
lama.
j. Testing
Aplikasi basis data yang telah selesai akan diuji coba dengan
tujuan untuk mencari error pada aplikasi. Selain itu, dilakukan
pula validasi aplikasi atas kebutuhan yang telah dispesifikasikan
sebelumnya oleh pengguna. Setelah dilakukan uji coba terhadap
16
sistem, maka akan dilakukan evaluasi terhadap sistem. Berikut ini
adalah beberapa kriteria dalam melakukan evaluasi sistem :
• Kemudahan untuk dipelajari : berapa lama waktu yang
dibutuhkan seseorang untuk menjadi produktif dalam
memakai sistem.
• Performa : seberapa baik sistem dapat merespon kebutuhan
pengguna.
• Kekuatan sistem : seberapa kuat sistem dalam mengatasi
user error.
• Kemudahan untuk pemulihan : seberapa baik sistem untuk
melakukan pemulihan akibat dari user error.
• Kemampuan beradaptasi : seberapa mampu sistem dapat
beradaptasi dengan beberapa model kerja.
k. Operational Maintenance
Pada tahap ini implementasi basis data dilakukan secara
sepenuhnya. Sistem diawasi dan dipelihara secara berkelanjutan.
Jika diperlukan, kebutuhan-kebutuhan baru dimasukkan dalam
aplikasi basis data melalui tahapan basis data terlebih dahulu.
2.1.9 Entity Relationship Modeling
2.1.9.1 Entity type
Menurut Connolly dan Begg (2010: 372), entity type
adalah sekumpulan obyek-obyek dengan properti yang sama
yang diidentifikasikan dengan keberadaan yang independen
di perusahaan. Sebuah enitas mempunyai kumpulan properti
dan nilai dari properti tersebut mengidentifikasikan entitas
secara unik.
17
Entity terdiri atas 2 macam, yaitu :
- Strong Entity, yaitu tipe entitas yang keberadaannya
tidak bergantung kepada keberadaan entitas yang lain.
Contoh : sebuah ban bisa ada tanpa harus dihubungkan
dengan sebuah mobil.
- Weak Entity, yaitu tipe entitas yang keberadaannya
bergantung kepada keberadaan entitas yang lain.
Contoh : sebuah kamar hanya bisa ada di dalam sebuah
gedung.
2.1.9.2 Relationship type
Menurut Connolly dan Begg (2010: 374) relationship
type adalah sebuah relasi yang bermakna antara beberapa
jenis entitas. Setiap relationship type diberikan nama yang
menjelaskan fungsinya. Adapula relationship occurrence,
yaitu sebuah relasi unik yang diidentifikasi mencakup satu
kejadian dari setiap entitas yang berpartisipasi.
2.1.9.3 Degree of Relationship Type
Menurut Connolly dan Begg (2010: 376) degree of
relationship type adalah jumlah tipe entitas yang
berpartisipasi di dalam sebuah relasi. Relasi dengan tingkat
derajat dua disebut dengan binary.
2.1.9.4 Recursive Relationship
Connolly dan Begg (2010: 378) recursive relationship
adalah sebuah tipe relasi dimana ada tipe entitas yang sama
berpartisipasi lebih dari satu kali dengan peran yang berbeda.
18
2.1.9.5 Attributes
Menurut Connolly dan Begg (2010: 379) attributes adalah
sebuah properti khusus pada sebuah entitas atau pada tipe
relasi. Sebagai contoh, tipe entitas staff bisa dijelaskan
dengan atribut staffNo, name, position, dan salary.
Setiap atribut dihubungkan dengan seuah set nilai yang
disebut domain. Jadi, Attribute domain adalah sebuah set nilai
untuk satu atau lebih atribut.
2.1.9.6 Simple and Composite Attributes
Menurut Connolly dan Begg (2010: 379) simple attribute
adalah sebuah atribut yang terdiri dari sebuah komponen
dengan keberadaan yang independen.
Menurut Connolly dan Begg (2010: 380) composite
attribute adalah sebuah atribut yang terdiri dari beberapa
komponen, dimana setiap komponen tersebut memiliki
keberadaan yang independen.
2.1.9.7 Single-valued and Multi-valued Attributes
Menurut Connolly dan Begg (2010: 380), single-valued
attributes adalah sebuah atribut yang memiliki sebuah nilai
untuk setiap kejadian pada tipe entitas.
Menurut Connolly dan Begg (2010: 380), multi-valued
attributes adalah sebuah atribut yang memiliki banyak nilai
untuk setiap kejadian pada tipe entitas.
2.1.9.8 Derived Attributes
Menurut Connolly dan Begg (2010: 380), derived
attributes adalah sebuah atribut yang memiliki nilai yang
19
berasal dari atribut lain yang berhubungan, dan tidak harus
berasal dari satu tipe entitas yang sama.
2.1.9.9 Key
Menurut Connolly dan Begg (2010: 381) key dibedakan menjadi
4, yaitu :
• Candidate Key
Merupakan sebuah kumpulan minimal atribut yang secara unik
mengidentifikasi setiap kejadian pada sebuah tipe entitas
• Primary Key
Merupakan candidate key yang dipilih untuk secara unik
mengidentifikasi setiap kejadian pada sebuah tipe entitas
• Composite Key
Merupakan sebuah candidate key yang memiliki dua atau lebih
atribut.
• Foreign Key
Merupakan sebuah set atribut yang digunakan sebagai key
penghubung antara satu tabel dengan tabel lainnya.
2.1.9.10 Structural Constraint
Menurut Connolly dan Begg (2010: 385) Constraint harus
mencerminkan batasan – batasan pada relasi seperti yang ada pada
“dunia nyata”. Tipe utama sebuah constraint pada sebuah relasi
disebut multiplicity.
Menurut Connolly dan Begg (2010: 380) multiplicity adalah
sebuah angka atau jarak kejadian yang terjadi pada tipe entitas yang
20
mungkin terhubung kepada sebuah kejadian dari tipe entitas yang
terasosiasi melalui relasi khusus.
Multiplicity terdiri dari 3 tipe yaitu:
�One-to-One (1:1) Relationships
Contoh gambar :
Gambar 2.2 The multiplicity of Staff Manages Branch one-
to-one (1:1) relationship.
(Sumber : Connolly dan Begg 2010 : 386)
�One-to-Many (1:*) Relationships
Contoh gambar :
Gambar 2.3 The multiplicity of the Staff Oversees
PropertyForRent one-to-many (1:*) relationship
type.
(Sumber : Connolly dan Begg 2010 : 388)
21
�Many-to-Many (*:*) Relationships
Contoh gambar :
Gambar 2.4 The multiplicity of the Newspaper Advertises
PropertyForRent many-to-many (*:*)
relationship.
(Sumber : Connolly dan Begg 2010 : 389)
2.1.10 Normalisasi
Normalisasi adalah teknik untuk membuat kumpulan relasi dengan
properti yang diinginkan berdasarkan persyaratan data dari suatu
perusahaan (Connolly, 2010, p416). Proses dari normalisasi adalah
metode formal yang mengidentifikasi relasi berdasarkan primary key,
candidate key, dan functional dependency di mana functional
dependency itu sendiri menjelaskan tentang hubungan antara dua
atribut di dalam sebuah relasi. Proses normalisasi dimulai dari
memindahkan data dari sumber data. Misalnya, entry form ke dalam
bentuk tabel yang selanjutnya disebut Unnormalized Form (UNF).
Tabel 2.1 Tabel Request (UNF)
TransI
D
UserID Username TransDate ProductI
D
ProductNam
e
Qty
T01 U01 User1 10-01-2012 P0001 Product01 1
P0004 Product04 2
T02 U02 User2 10-02-2012 P0002 Product02 3
T03 U03 User3 10-02-2012 P0002 Product02 4
22
P0003 Product03 1
T04 U02 User2 10-03-2012 P0003 Product03 6
Normalisasi sendiri memiliki lima tahap yaitu 1NF, 2NF, 3NF,
BCNF, 4NF, dan 5NF. Namun pada praktiknya normalisasi dilakukan
hanya sampai pada tahap 3NF, BCNF, atau paling jauh sampai pada
tahap 4NF. Adapun penjelasan mengenai tahap normalisasi adalah
sebagai berikut:
1. 1NF
Untuk menghasilkan bentuk 1NF, akan dilakukan identifikasi
dan penghilangan repeating groups dari tabel UNF. Berikut
adalah contoh bentuk 1NF dari tabel UNF 2.1:
Tabel 2.2 Tabel Request (1NF)
TransI
D
UserID Username TransDate ProductID ProductName Qty
T01 U01 User1 10-01-2012 P0001 Product01 1
T01 U01 User1 10-01-2012 P0004 Product04 2
T02 U02 User2 10-02-2012 P0002 Product02 3
T03 U03 User3 10-02-2012 P0002 Product02 4
T03 U03 User3 10-02-2012 P0003 Product03 1
T04 U02 User2 10-03-2012 P0003 Product03 6
Pada bentuk 1NF ini, functional dependency dari setiap atribut
dipaparkan untuk dihilangkan pada tahap selanjutnya. Functional
dependency menjelaskan tentang hubungan antara dua atribut di
dalam sebuah relasi.
23
Contoh:
Gambar 2.5 Contoh Functional Dependency
A disebut dengan determinant dan B disebut dengan
dependent. Gambar di atas menunjukan functional dependency
antar atribut A dan B. Setiap nilai B bergantung atau ditentukan
oleh tepat satu nilai A (Connolly, 2010, p421). Ada tiga jenis
functional dependency yaitu:
1. Fully Functional Dependency
Sebuah atribut dapat dikatakan fully functional
dependency jika atribut tersebut bergantung pada seluruh
atribut primary key. Pengindikasian jika A dan B merupakan
atribut dalam suatu relasi. B bergantung penuh secara
fungsional pada A jika penghapusan atribut dari A
menghasilkan ketidaktergantungan.
2. Partial Functional Dependency
Sebuah atribut dapat dikatakan partial funstional
dependency jika atribut tersebut bergantung pada sebagian
atribut primary key. B bergantung sebagian secara fungsional
pada A jika penghapusan atribut dari A masih menghasilkan
ketergantungan.
3. Transitive Functional Dependency
Kondisi di mana A, B, dan C merupakan atribut dalam
suatu relasi. A → B dan B → C, maka C bergantung secara
transitif pada A melalui B.
2. 2NF
Pada tahap ini akan dilakukan penghilangan partial
dependencydaritabel 1NF,di mana partial dependency itu sendiri
adalah atribut non-primary key yang bergantung kepada sebagian
24
atribut primary key. Berikut adalah contoh perubahan dari bentuk
1NF ke 2NF:
Gambar 2.6 Functional Dependency 1NF Tabel Request
Gambar diatas merupakan bentuk functional dependency dari
tabel 2.2. A dan E merupakan primary key. Atribut F hanya
bergantung kepada atribut E yang merupakan sebagian atribut
primary key. Dengan kata lain, F merupakan partial dependency
yang harus dihilangkan untuk memenuhi syarat bentuk 2NF.
Begitu juga dengan atribut D dan B.
Gambar 2.7 Functional Dependency 2NF Tabel Request
25
3. 3NF
Pada tahap ini akan dilakukan penghilangan transitive
dependencydaritabel 2NF, di mana transitive dependency adalah
atribut non-primary key yang bergantung kepada atribut non-
primary key lain. Berikut ini adalah contoh perubahan dari bentuk
2NF menjadi 3NF:
Atribut C bergantung kepada B, sementara atribut B
merupakan atribut non-primary key, maka atribut B merupakan
transitive dependency yang harus dihilangkan untuk memenuhi
syarat bentuk 3NF.
BD
A E G
Keterangan:
A: TransID D:TransDate G: Qty
B: UserID E: ProductID
C: Username F: ProductName
A
FE
CB
Gambar 2.8 Functional Dependency 3NF Tabel Request
2.1.11 Data Flow Diagram ( DFD )
Menurut Indrajani (2011, p11), Data Flow Diagram adalah
sebuah alat yang menggambarkan aliran data sampai sebuah sistem
selesai, dan kerja atau proses dilakukan dalam sistem tersebut.Dalam
DFD ada 4 komponen utama, yaitu :
1. External Agent
External Agent mendefinisikan orang atau sebuah unit
organisasi, sistem lain, atau organisasi yang berada di luar
sistem proyek tapi dapat mempengaruhi sistem kerja.
26
Gambar 2.9 Simbol Eksternal Agent
2. Proses
Proses adalah penyelenggaraan kerja atau jawaban, datangnya
aliran data atau kondisinya.
Gambar 2.10 Simbol Proses
3. Data Flow
Mempresentasikan sebuah input data ke dalam sebuah proses
atau output dari data (atau informasi) pada sebuah proses.
Data flow juga digunakan untuk pembuatan, pembacaan,
penghapusan, atau pembaruan data dalam file atau database.
Gambar 2.11 Simbol Data Flow
4. Data Store
Suatu penyimpanan data yang ditujukan untuk pengguna
selanjutnya. Sinonimnya adalah file dan database.
Gambar 2.12 Simbol Data Store
27
2.2 Teori yang terkait tema penelitian (tematik)
2.2.1 PHP
Menurut Agus Saputra (2011:1) PHP atau yang memiliki
kepanjangan PHP: Hypertext Preprocessor merupakan suatu bahasa
pemrograman yang difungsikan untuk membangun suatu website
dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda
kondisi. HTML digunakan sebagai pembangun atau pondasi dari
kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya
sehingga dengan adanya PHP tersebut, web akan sangat mudah di-
maintenance.
PHP berjalan pada sisi server sehingga PHP disebut juga sebagai
bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk
menjalankan PHP, wajib adanya web server.
PHP ini bersifat open source sehingga dapat dipakai secara gratis
dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi
Windows maupun Linux. PHP juga dibangun sebagai modul pada
web server apache dan sebagai binary yang dapat berjalan sebagai
CGI.
2.2.1.1 Keunggulan PHP
Beberapa keunggulan dari PHP :
1. PHP mudah dipelajari.
2. PHP dapat / mudah diaplikasikan ke berbagai platform
OS (Operating Sytem) dan hampir semua browser juga
mendukung PHP.
3. PHP bersifat Open Source.
4. PHP memiliki tingkat akses yang cepat.
5. Didukung oleh beberapa macam web server, seperti
Apache, IIS, Lighttpd, Xitami.
6. Mendukung database, baik yang gratis maupun yang
berbayar, seperti MySQL, PostgreSQL, mSQL, Informix,
SQL server, Oracle.
28
2.2.1.2 Skrip Dasar PHP
PHP sebagai alternatif lain memberikan solusi sangat
murah (karena gratis digunakan) dan dapat berjalan
diberbagai jenis platform. Skrip PHP bersifat server-side
yang ditambahkan ke dalam HTML. PHP merupakan
singkatan dari Hypertext Preprocessor. Skrip ini akan
membuat suatu aplikasi dapat diintegrasikan ke dalam HTML
sehingga suatu halaman web tidak lagi bersifat statis, namun
menjadi bersifat dinamis. Sifat server side berarti pengerjaan
skrip dilakukan di server, baru kemudian hasilnya di kirimkan
ke browser.
Sintaks dasar PHP meliputi bagaimana cara memulai suatu
struktur pemrograman PHP. Ada empat cara untuk memulai
pemrograman PHP, diantaranya:
�<?php ...... ?>
�<? ...... ?>
�<script language=”php”> ...... </script>
�<% ...... %>
dari beberapa sintaks dasar tersebut, yang paling banyak
digunakan adalah cara yang pertama dan yang kedua dari
atas.
Cara penulisan skrip PHP ada dua macam, yaitu Embedded
Script dan Non Embedded Script. Contohnya:
�Embedded Script
<html>
<head>
</head>
<body>
<?php
echo “Hallo Dunia”;
?>
</body>
29
</html>
�Non Embedded Script
<?php
echo “<html>”;
echo “<head>”;
echo “<title>Mengenal PHP</title>”;
echo “<head>”;
echo “<body>”;
echo “<p>PHP cukup Menyenangkan</p>”;
echo “</body>”;
echo “</html>”;
?>
Dari contoh menjelaskan bahwa skrip PHP dapat berupa
embedded script yaitu meletakkan tag PHP diantara tag-tag
HTML sedangkan non embedded script yaitu semua tag
HTML diletakkan dalam tag PHP. Semua kode PHP
menyerupai dengan kode bahasa C, walaupun tidak
sepenuhnya sama
Untuk menampilkan nilai suatu variabel ke layar dapat
menggunakan perintah yaitu echo, print maupun printf.
Contohnya:
�echo
echo “$data”;
echo $data;
echo “nilai”;
echo $data. “Mahasiswa Binus”;
print (“$data”);
print ($data);
30
print (“nilai”);
print ($data. “Mahasiswa Binus”);
�printf
$data=”devie”;
printf (“%s”,$data);
printf (“%s Dosen Binus”, $data);
Sebagai contoh untuk menampilkan kata “Halo” pada
halaman web menggunakan PHP, maka sintaksnya sebagai
berikut:
<?PHP
Echo “Halo”;
?>
2.2.2 Structure Query Language (SQL)
Menurut Connolly dan Begg (2010:183) SQL adalah sebuah
bahasa yang muncul akibat dari pengembangan model relational.
Selama beberapa tahun terakhir SQL telah menjadi bahasa
standar relasi database. Sudah lebih dari ratusan DBMS
sekarang mendukung aplikasi SQL.
2.2.3 Definisi Perpustakaan
Menurut undang-undang perpustakaan (UU nomor 43 tahun
2007)
“Perpustakaan adalah institusi pengelola koleksi karya tulis,
karya cetak, dan/atau karya rekam secara professional dengan
sistem yang baku guna memenuhi kebutuhan pendidikan,
penelitian, pelestarian, informasi, dan rekreasi para
pustakawan.”
Dari pengertian di atas, dapat disimpulkan bahwa
perpustkaan merupakan sebuah tempat yang menyimpan
31
informasi dalam bentuk buku dan bentuk yang lain. Informasi
tersebut disimpan untuk digunakan oleh orang-orang lain untuk
keperluan dan kebutuhan tertentu seperti pendidikan,
penelitian, pelestarian informasi serta untuk hobi membaca
yang mana tidak perlu membayar sama sekali.
2.2.3.1 Fungsi dan Tujuan Perpustakaan
Menurut Suherlan Muchyidin pada buku
Perpustakaan (2008), tujuan perpustakaan adalah untuk
membantu masyarakat dalam segala umur dengan
memberikan kesempatan dengan dorongan melalui jasa
pelayanan perpustakaan agar mereka:
a. Dapat mendidik dirinya sendiri secara
berkesinambungan
b. Dapat tanggap dalam kemajuan pada berbagai
lapangan ilmu pengetahuan, kehidupan sosial dan
politik
c. Dapat memelihara kemerdekaan berfikir yang
konstruktif untuk menjadi anggota keluarga dan
masyarakat yang lebih baik
d. Dapat mengembangkan kemampuan berfikir kreatif,
membina rohani dan dapat menggunakan
kemampuannya untuk dapat menghargai hasil seni
dan budaya manusia
e. Dapat meningkatkan taraf kehidupan sehari-hari dan
lapangan pekerjaannya
f. Dapat menjadi warga negara yang baik dan dapat
berpartisipasi secara aktif dalam pembangunan
nasional dan dalam membina saling pengertian antar
bangsa
g. Dapat menggunakan waktu senggang dengan baik
yang bermanfaat bagi kehidupan pribadi dan social
32
2.3 Hasil Penelitian atau Produk sebelumnya
Jurnal 1
TEKNOLOGI INFORMASI UNTUK PERPUSTAKAAN:
DIGITAL LIBRARY SEBAGAI SOLUSI KETERBATASAN
INFORMASI. Henkie Ongowarsito. Jurnal Piranti Warta. Volume 11 /
Nomor 01 / Januari 2008.
Jurnal ini diambil karena kesesuaian dengan topik yang dibuat yaitu
perpustakaan digital yang salah satu manfaatnya mengatasi keterbatasan
tempat dan informasi yang didapat. Tujuan perpustakaan digital adalah
suatu solusi untuk menggantikan perpustakaan tradisional tetapi memiliki
manfaat yang lebih seperti data yang tersimpan dapat dibaca secara
langsung melalui media elektronik dan internet, meningkatkan akses
terhadap informasi, tidak perlu menunggu buku selesai dipinjam jika
tidak ada stok buku lagi. Tidak perlu khawatir terhadap rusaknya atau
hilangnya informasi karena dengan mudah dapat dilakukan penyimpanan
materi-materi informasi untuk mencegah terjadinya kehilangan informasi.
Perkembangan teknologi saat ini mendukung pemanfaatan teknologi
pada perpustakaan yang mana dapat mempermudah pengelolaan
perpustakaan, sebagai contohnya pada penyimpanan informasi dalam
bentuk digital, pencarian yang lebih mudah mengenai informasi yang
dicari serta menghemat tempat. Dalam pengelolaan informasi yang ada
diperlukan beberapa tahapan yaitu :
- Proses digitalisasi dokumen
Pada tahapan ini, dokumen-dokumen mentah seperti buku dan
majalah diproses menjadi dokumen elektronik melalui scanner.
- Proses penyimpanan
Pada tahapan ini dilakukan penyimpanan dokumen yang ada yang
dinamakan data entry. Pada bagian ini dilakukan pemisahan
33
terhadap kategori-kategori informasi yang ada berdasarkan
subyek-subyek tertentu untuk memudahkan pencarian nantinya.
- Proses pengaksesan dan pencarian dokumen
Pada tahap ini dilakukan pencarian terhadap informasi yang sudah
disimpan untuk digunakan sesuai keperluan.
Kriteria perpustakaan digital, yaitu :
- Tinta menuju biner
Pemprosesan data-data mentah seperti buku, majalah, thesis, dll
menjadi data elektronik.
- Pemindahan Bertahap
Pada tahapan ini proses pemindahan informasi dilakukan pada
buku atau majalah maupun media lain yang memilki frekuensi
peminjaman yang tinggi.
- Dikerjakan PC (Personal Computer)
Dibandingkan dikerjakan dengan metode manual, melalui
pengetikan satu persatu sehingga akan memakan waktu yang
lama, akan lebih baik meningkatkan potensi gadget seperti
scanner untuk memindahkan data mentah menjadi data elektronik.
- Kerahasian, Plagiat, dan Hak Cipta
Pentingnya untuk mematenkan hak cipta terhadap hasil karya
tertentu sehingga tidak dapat diambil oleh orang lain semena-
mena tanpa seizing penmbuat.
- Akses dan Download
Harus mudah untuk diakses dan dapat didownload dengan mudah
juga.
34
Jurnal 2
CONTENT MANAGEMENT STRATEGY FOR A COLLAGE
LIBRARY WEB SITE. Dahl, Mark. Information Technology and
Libraries 23.1 (Mar 2004): 23-.
Jurnal ini dipakai sebagai karena memiliki kesamaan dalam hal
penggunan HTML, CSS dan PHP dalam pembuatan website untuk
perpustakan. Penggunaan dari 3 hal tersebut agar memungkinkan website
tersebut dapat di perbaharui dengan mudah oleh staff dari Badan
Standardisasi Nasional (BSN) dan juga memperbolehkan tiap halaman di
tampilkan dengan lebih menarik.
HTML digunakan sebagai dasar dari website. Penggunaan HTML
dikarenakan HTML dapat dengan mudah di mengerti dan di pelajari oleh
staff dari BSN. Selain dari itu penggunaan HTML untuk memudahkan
untuk menghubungkan dengan website dari BSN tanpa ada pengaturan
khusus lainnya . CSS sebagai tampilan antarmuka website. CSS dipilih
sebagai tampilan antarmuka karena memiliki keunggulan dalam hal lebih
cepat dan ringan ketika website tersebut di load dibangdingkan dengan
menggunakan flash sebagai tampilan. Staff dari Badan Standardisasi
Nasional pun akan lebih mudah mengubah tampilan dari web untuk masa
depan . PHP digunakan sebagai penghubung dengan database. Website
akan lebih dinamis sehingga mudah untuk berkembang pada masa depan.
Jurnal 3
AN ANALYSIS OF AMERICAN ACADEMIC LIBRARIES’WEBISTES:
2000-2010. Aharony, Noa. The Electronic Library30.6 (2012): 764-776.
Jurnal ini digunakan sebagai dasar pengertian dasar dari
perpustakaan dan bagaimana perpustakaan berkembang dari hanya
perpustakaan biasa (fisik) menjadi perpustakaan virtual (online).
Karena pada dewasa ini, kebanyakan orang lebih sering mengunjungi
perpustakaan virtual dibandingkan dengan perpustkaan biasa.
35
Pada jurnal ini dilakukan pembahasan sejak pertama kalinya
dokumen-dokumen yang ada mulai diarsipkan ke internet yaitu pada
tahun 2010. Perpustakaan virtual berfungsi sebagai alat untuk
mendapatkan informasi, sebagai referensi dan untuk penelitian.
Banyak yang berubah, dari website yang hanya mempunyai versi teks
sekarang memiliki versi grafik yang mempermudah user dalam
penggunaan website. Tetapi masih terdapat masalah yaitu mengenai
copyright pada materi-materi yang dimiliki website tersebut, yang
mana pada saat ini masalah tersebut harus sudah dapat ditanggulani
dengan baik sehingga tidak menimbulkan masalah baru ke depannya.
36