bab 2 landasan teori 2.1 teori umum 2.1 -...
TRANSCRIPT
8
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Pengertian Dasar Sistem Basis Data
Data adalah fakta atau observasi tentang transaksi suatu bisnis. Selain itu,
data juga merupakan pengukuran objektif terhadap atribut pada suatu entitas
seperti orang, tempat, benda, dan kejadian (O’Brien, 2003, p4). Dapat
disimpulkan bahwa data adalah fakta tentang transaksi bisnis yang dapat
disimpan dapat digunakan kapan saja untuk berbagai kepentingan yang akan
datang.
Sistem basis data juga dapat diartikan sebagai serangkaian program
komputer yang mengendalikan pembuatan, pemeliharaan, dan pemanfaatan basis
data sebagai sebuah organisasi (O’Brien, 2003, p5).
Basis data adalah sebuah kumpulan data yang terhubung secara logikal
dan sebuah deskripsi tentang data tersebut yang dirancang untuk memenuhi
kebutuhan informasi suatu organisasi (Connoly, 2005, p15).
2.1.2 Database Management System (DBMS)
Sistem basis data merupakan sistem perangkat lunak yang
memungkinkan pengguna mendefinisikan, membuat, memelihara dan
mengendalikan akses ke database (Connoly, 2005, p16). Biasanya DBMS
menyediakan fasilitas sebagai berikut :
9
a) Data Manipulation Language (DML), memungkinkan user untuk
menyisipkan, meng-update, menghapus dan menerima data dari basis
data dengan menciptakan fasilitas permintaan data umum yang disebut
query language.
b) Data Definition Language (DDL), memungkinkan user untuk
mendefinisikan basis data, tipe dan struktur data, serta memberi batasan
pada data untuk disimpan dalam basis data.
2.1.3 Normalization (Normalisasi)
Menurut Connolly dan Begg (2005, p.388), normalisasi adalah sebuah
teknik untuk menghasilkan sebuah kumpulan dari relasi-relasi dengan atribut-
atribut yang diinginkan, yang berdasarkan kebutuhan-kebutuhan data sebuah
perusahaan.
Tahapan normalisasi menurut Connoly dan Begg (2005, p.401), adalah
sebagai berikut :
a. Unnormalized (UNF), sebuah tabel yang berisi satu atau lebih grup
yang berulang. Yang dimaksud grup yang berulang itu adalah atribut-
atribut yang multivalued.
b. Normalisasi pertama (1NF), menghilangkan perulangan. Sebuah
relasi dimana setiap baris dan kolom hanya berisi satu nilai saja.
Bentuk normal pertama ini, dicapai apabila setiap nilai atribut adalah
tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi
terhadap terjadinya data ganda (repeating groups). Pada kondisi
normal pertama ini kemungkinan masih terjadi adanya data rangkap.
10
c. Normalisasi kedua (2NF), bentuk ini mempunyai syarat yaitu data
harus memenuhi kriteria 1NF dan setiap data barang yang bukan key
harus bertanggung secara fungsional pada primary key-nya. Bentuk
normal kedua adalah berdasarkan konsep ketergantungan fungsional
penuh (full functional dependency). Full Functional dependency
dinyatakan jika A dan B adalah atribut dari suatu relasi, B adalah
fungsional ketergantungan penuh (full functional dependency) pada
A jika B adalah secara fungsional bergantung pada A, tetapi bukan
merupakan himpunan bagian dari A. Bentuk normal kedua
menciptakan sebuah relasi pada bentuk normal pertama dan semua
atribut yang bukan primary key adalah fungsional tergantung penuh
pada primary key.
d. Normalisasi ketiga (3NF), sebuah relasi dalam bentuk normal bentuk
normal pertama dan kedua serta setiap atribut bukan key yang
bergantung secara transitif kepada bukan key juga. Bentuk normal
ketiga adalah berdasarkan pada konsep peralihan ketergantungan
(transitive dependency). Transitive Dependency adalah sebuah
kondisi dimana A, B, dan C adalah atribut dari sebuah relasi bahwa
jika A B dan B C, maka C adalah transitive dependent pada
A melewati B (menyatakan bahwa A bukan functional dependent
pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk
normal pertama dan kedua serta dimana tidak ada atribut non-primary
key secara transitif bergantung (transitively dependent) pada primary
key.
11
2.1.4 Siklus Hidup Aplikasi Database (Database Application Lifecycle)
Berikut ini merupakan diagram tahap-tahap siklus hidup aplikasi
basis data, antara lain:
Gambar 2.1 Database Application Lifecycle
(Sumber: Connoly and Berg, 2005, p.284)
12
2.1.4.1 Database Planning (Perencanaan Database)
Mengatur atau merencanakan aktivitas-aktivitas dengan mengikuti
langkah-langkah dari aplikasi database dan diterapkan seefektif dan seefisien
mungkin. Ada tiga masalah pokok yang harus diperhatikan dalam
merumuskan strategi sistem informasi, yaitu :
a. Mengidentifikasi rencana dan tujuan perusahaan dengan menentukan
sistem informasi yang diperlukan.
b. Mengevaluasi sistem informasi yang ada untuk melihat kelebihan dan
kekurangannya.
c. Penilaian mengenai peluang IT yang mungkin dapat menghasilkan
keuntungan yang kompetitif.
2.1.4.2 System Definition (Definisi Sistem)
System Definition mendeskripsikan ruang lingkup dari aplikasi
database yang akan dibuat termasuk user views dan tempat aplikasi database
diterapkan.Menurut O’Brien (2001, p.8), konsep dari system dapat membantu
di dalam mengerti tentang teknologi, aplikasi, pembangunan dan manajemen.
2.1.4.3 Requirement Collection and Analysis (Pengumpulan
Kebutuhan dan Analisis)
Proses mengumpulkan dan menganalisa kebutuhan-kebutuhan
user. Langkah ini melibatkan pengumpulan dan analisa dari informasi
tentang bagian dari perusahaan. Ada banyak teknik untuk memperoleh
13
informasi, yang disebut fact finding techniques. Informasi yang
dikumpulkan mencakup :
a. Deskripsi tentang data yang digunakan.
b. Keterangan secara lengkap bagaimana data tersebut digunakan.
c. Kebutuhan tambahan lainnya untuk aplikasi data yang baru.
Informasi ini kemudian akan dianalisa untuk mengidentifikasikan
kebutuhan yang tercakup dalam aplikasi database yang baru.
2.1.4.4 Database Design (Desain Database)
Proses dalam membuat suatu design untuk database yang didukung
sistem operasi yang ada di perusahaan tersebut.
Dalam bagian ini terdapat tiga tahap dalam merancang suatu database
yaitu conceptual design, logical design, physical design. Tahap-tahap ini
akan dijelaskan di sub bab berikutnya.
2.1.4.5 DBMS Selection (Pemilihan DBMS)
Merupakan pemilihan suatu DBMS yang tepat untuk mendukung
aplikasi basis data.
2.1.4.6 Application Design (Desain Aplikasi)
Merupakan perancangan user interface dan program aplikasi yang
menggunakan dan memproses basis data.
14
2.1.4.7 Prototyping (Bentuk Dasar)
Membangun suatu model kerja dari aplikasi database. Tujuan utama
mengembangkan suatu prototype aplikasi database adalah mengizinkan user
untuk menggunakan prototype guna mengidentifikasikan model sistem,
apakah bekerja dengan baik dan jika mungkin meningkatkan model baru
pada aplikasi database.
Ada dua strategi yang digunakan saat ini yaitu requirement
prototyping dan evolutionary prototyping. Requirement prototyping
digunakan untuk menentukan kebutuhan suatu aplikasi database yang
diusulkan dan ketika kebutuhan terhadap suatu aplikasi database tidak
lengkap, maka prototype tersebut tidak digunakan lagi. Evolutionary
prototyping digunakan untuk tujuan yang sama, perbedaaan yang mendasar
adalah bahwa prototype tidak dibuang tetapi dengan pengembangan lebih
lanjut, prototype tersebut bekerja sama dengan aplikasi database.
2.1.4.8 Implementation (Implementasi)
Implementasi merupakan realisasi secara fisik dari database dan
desain aplikasi. Implementasi basis data menggunakan DDL untuk
menciptakan struktur basis data dan mengosongkan file yang terdapat dalam
basis data tersebut.
15
2.1.4.9 Data Conversion and Loading (Perubahan dan Pengambilan
Data)
Pemindahan data yang ada dalam basis data yang baru dan mengubah
aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang
baru. Langkah ini diperlukan hanya ketika suatu sistem basis data baru
sedang menggantikan suatu sistem basis data yang lama.
2.1.4.10 Testing (Pengujian)
Testing adalah suatu proses melaksanakan program aplikasi dengan
tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis
data harus dilakukan testing terlebih dahulu. Untuk merencanakan suatu test
dan data yang realistis, sedemikian sehingga keseluruhan proses pengujian
sesuai dengan metode dan dilaksanakan sesuai aturan yang ada.
2.1.4.11 Operational Maintenance (Perawatan Operasional)
Suatu proses untuk memonitor dan merawat sistem setelah instalasi.
Dalam langkah-langkah sebelumnya, aplikasi basis data telah secara penuh
diterapkan dan diuji. Sistem sekarang pindah ke suatu langkah pemeliharaan,
yang melibatkan aktifitas berikut :
a. Monitoring performance dari sistem. Jika performance jatuh dibawah
suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis
data mungkin diperlukan.
b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika
diperlukan). Kebutuhan baru disatukan ke dalam aplikasi data dengan
16
mengikuti langkah-langkah sebelumnya yang terdapat dalam
database lifecycle.
2.1.5 Conceptual, Logical, and Physical Database Design (Perancangan
Basis Data Konseptual, Logikal, dan Fisikal)
Menurut Connolly (2005, p293), metode yang dilakukan dalam tahap
database design pada database application lifecycle adalah sebagai berikut :
2.1.5.1 Conceptual Database Design ( Desain Basis Data Konseptual)
Langkah awal dalam conceptual database adalah dengan membuat
model data secara konseptual dari perusahaan yang bersangkutan. Data
tersebut merupakan informasi-informasi mengenai perusahaan. Data yang
ada dikembangkan dengan representasi secara konseptual yang mencakup
mengidentifikasi entity, relationship, dan atribut yang sangat penting dalam
perancangan basis data tersebut.
2.1.5.2 Logical Database Design ( Desain Basis Data Logikal)
Dalam logical database design, model data yang telah diperoleh
dalam conceptual database design diubah dalam bentuk logical model
dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basis
data (database). Hal ini dilakukan untuk menerjemahkan representasi
konseptual ke dalam bentuk struktur logic dalam database. Logical data
model merupakan sumber informasi dalam merancang physical database.
17
Logical database design memberikan sarana yang membantu perancang
dalam merancang physical database.
2.1.5.3 Physical Database Design ( Desain Basis Data Fisikal)
Physical database design dilakukan untuk memutuskan struktur logic
secara fisik diimplementasikan ke dalam tujuan Database Management
System (DBMS), para perancang juga harus membuat keputusan mengenai
bagaimana basis data (database) tersebut dapat diimplementasikan /
diterapkan dalam perusahaan. Oleh karena itu, physical database design
harus disesuaikan dengan DBMS yang spesifik. Terdapat hubungan antara
physical database design untuk meningkatkan kinerja dari basis data tersebut
dapat mempengaruhi logical data model.
2.1.6 Entity Relation Modelling
Salah satu bagian yang sulit dalam perancangan basis data adalah suatu
fakta bahwa para perancang, pembuat-pembuat program, dan end user cenderung
melihat data dan menggunakannya cara-cara yang berbeda. Kecuali kalau
diperoleh sebuah pemahaman sama yang mencerminkan bagaimana suatu
perusahaan beroperasi, suatu perancangan yang dihasilkan akan gagal untuk
memenuhi kebutuhan-kebutuhan user. Untuk menyakinkan bahwa didapatkan
sebuah pemahaman yang tepat dari suatu data dan bagaimana data tersebut
digunakan oleh suatu perusahaan, sudah seharusnya mempunyai sebuah model
untuk membuat komunikasi yang non teknikal dan tidak bersifat ambigu. Entity-
18
Relationship (ER) adalah salah satu contohnya. Entity Relationship (ER) Model
berdasarkan Connoly (2002, p343-344) memiliki beberapa konsep dasar yaitu :
2.1.6.1 Entity types
Menurut Connolly (2005, p.343), adalah sekumpulan object dengan
property sama, yang diidentifikasi oleh perusahaan sebagai independent
existence. Setiap objek yang dapat diidentifikasi secara unik dari jenis entitas
dikenal sebagai entity occurrence. Contoh-contoh entity type adalah Staff,
Branch.
Gambar 2.2 Notasi Entity Type Staff and Branch
(Sumber: Connoly and Berg, 2005, p.345)
2.1.6.2 Relationship types
Relationship type adalah sekumpulan asosiasi / hubungan diantara
satu atau lebih type entity. Masing-masing tipe relasi diberikan nama yang
mendeskripsikan fungsi relasi.
Pemodelan ER adalah sebuah pendekatan top-down untuk
perancangan basis data yang dimulai dengan mengindentifikasi suatu data
penting yang disebut entitas-entitas dan relationships diantara suatu data
19
yang harus direpresentasikan dalam suatu model. Lalu tambahkan perincian-
perincian lagi seperti suatu informasi yang ingin diambil tentang suatu
entitas-entitas dan relationships yang disebut atribut-atribut dan batasan-
batasan yang lain pada suatu entitas-entitas, relationships, dan atribut-atribut.
Berikut ini adalah notasi Entity-Relationship Modelling menurut
Connolly (2005,p.343):
Gambar 2.3 Notasi Entity Relationship Modelling
2.1.6.3 Atribut, jenis-jenis Atribut dan Keys
Atribut adalah property dari sebuah entity atau tipe relationship.
Atribut bisa diklasifikasikan menjadi beberapa jenis yaitu :
a. Simple dan Composite attributes
Simple attribut adalah atribut yang terdiri dari komponen tunggal
dengan independent existence.
Composite attributes adalah atribut yang terdiri dari banyak
komponen, masing-masing dengan independent existence.
b. Single-valued dan Multi-valued attributes
Single-valued attribute adalah atribut yang menampung suatu
nilai untuk masing-masing occurrence dari sebuah tipe entity.
20
Multi-valued attribute adalah sebuah atribut yang menampung
banyak nilai untuk masing-masing occurrence dari sebuah tipe entity.
c. Derived attributes
Derived attributes adalah sebuah atribut yang merepresentasikan
nilai yang dapat diturunkan dari nilai related attribute atau
sekumpulan atribut, tidak harus di dalam jenis kesatuan yang sama.
Atribut memiliki beberapa key yang bisa diklasifikasikan sebagai berikut:
a. Candidate Key
Candidate Key adalah minimal set dari atribut yang secara unik
mengidentifikasi masing-masing occurrence dari sebuah tipe entity
b. Primary Key
Primary Key adalah candidate key yang dipilih untuk
mengidentifikasikan secara unik masing-masing occurrence dari
sebuah tipe entity.
c. Composite Key
Composite Key adalah candidate key yang terdiri dari dua atau
lebih atribut.
2.1.6.4 Structural Constraints
Pengertian Multiplicity adalah sejumlah kemungkinan kejadian-
kejadian dari sebuah tipe entitas didalam sebuah hubungan n-nary ketika
nilai-nilai yang lain (n-1) ditentukan. Multiplicity biasanya terdiri dari
dua batasan terpisah, yaitu :
21
a. Cardinality : Mendeskripsikan jumlah maksimum dari kemungkinan
kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi
entitas dalam proses penentuan tipe relationship.
b. Participation: Menentukan apakah semua kejadian entitas akan ikut
berpartisipasi dalam sebuah relationship atau hanya beberapa saja
yang ikut berpatisipasi.
Jenis-jenis multiplicity adalah:
a. One-to-One (1:1) Relationships
Gambar 2.4 One-to-One Relationships
Pada gambar dapat dilihat bahwa A hanya terhubung One-to-One (1 :
1) dengan C, dan B hanya terhubung One-to-One (1 : 1) dengan D. Jadi
dari gambar tersebut dapat dituliskan notasi multiplicity-nya dengan
gambar di bawah ini.
Gambar 2.5 Notasi One-to-One Relationships
22
b. One-to-Many (1:*) Relationships
Gambar 2.6One to Many Relationships
Pada gambar dapat dilihat bahwa B terhubung One-to-Many (1 : *)
dengan D dan E. Jadi dari gambar tersebut dapat dituliskan notasi
multiplicity-nya dengan gambar di bawah ini.
Gambar 2.7 Notasi One-to-Many Relationships
c. Many-to-Many (*:*) Relationships
Gambar 2.8 Many-to-Many Relationships
23
Pada gambar, dapat dilihat bahwa A terhubung One-to-Many (1 : *)
dengan A dan B. Jadi dari entitas Group 1 (value-nya A dari gambar di atas)
dan Group 2 (value-nya E dari gambar di atas) terhubung Many-to-Many (*
: *). Dari gambar tersebut dapat dituliskan notasi multiplicity-nya dengan
gambar di bawah ini.
Gambar 2.9 Notasi Many-to-Many Relationships
2.1.7 Alat Bantu Analisis dan Perancangan Sistem
2.1.7.1 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah suatu gambaran grafis dari
suatu sistem yang menggunakan sejumlah bentuk-bentuk simbol untuk
menggambarkan bagaimana data mengalir melalui suatu proses yang
saling berkaitan (McLeod, 2001, p316). DFD hanya terdiri dari 4 macam
simbol, seperti pada tabel 2.1 di bawah ini :
24
Tabel 2.1 Simbol DFD
Simbol Nama Arti
Proses
Proses : menggambarkan apa yang
dilakukan oleh sistem. Berfungsi
mentransformasikan satu atau beberapa
data masukan menjadi satu atau beberapa
data keluaran sesuai dengan spesifikasi
yang diinginkan.
Data Flow
Data Flow : menggambarkan aliran data
dari suatu entity lainnya. Aliran data
terdiri dari :
a. Antara 2 proses yang berurutan
b. Dari data store ke proses dan
sebaliknya
c. Dari sumber ke proses
d. Dari proses ke sink
Data Store
Data store : tempat penyimpanan data.
Proses dapat mengambil data dari atau
memberikan data ke data store.
External
Entity
External Entity : entitas yang berada di
luar sistem yang memberikan data kepada
sistem (source) atau yang menerima
informasi dari sistem (sink).
25
2.1.7.1.1 Diagram Konteks (Context Diagram)
Diagram Konteks (Context Diagram) merupakan level tertinggi
dari DFD yang menggambarkan seluruh input ke atau output dari sistem,
memberikan gambaran tentang keseluruhan sistem. Dalam diagram
konteks hanya ada satu proses, tidak boleh ada data store.
2.1.7.1.2 Diagram Nol (Zero Diagram)
Diagram nol mengidentifikasikan proses-proses utama dari
sistem. Proses ini diperoleh dari pemecahan Diagram Konteks.
2.1.7.1.3 Diagram Rinci
Diagram rinci merupakan rincian dari diagram nol atau diagram
level di atasnya. Di dalam satu level sebaiknya tidak terdapat lebih dari 7
buah proses dan maksimal 9 buah
2.1.7.2 State Transition Diagram (STD)
State transition diagram (STD) menggambarkan bagaimana suatu
proses dihubungkan satu sama lain dalam waktu yang bersamaan (Jeffrey
. A et al 1996, p364), STD digambarkan dengan sebuah state yang berupa
komponen sistem yang menunjukkan bagaimana kejadian-kejadian
tersebut dari satu state ke state yang lain, sedangkan menurut Pressman
(2001, p317), State Transition Diagram (STD) menggambarkan
kebiasaan dari suatu sistem dengan menggambarkan kondisi dan kejadian
yang menyebabkan perubahan suatu kondisi.
26
Ada 2 macam simbol yang menggambarkan proses dalam State
Transition Diagram (STD), yaitu :
1. Gambar persegi panjang menunjukkan kondisi (state) dari sistem.
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi
label dengan ekspresi aturan. Label yang di atas menunjukkan
kejadian yang menyebabkan transisi terjadi. Label yang bawah
menunjukkan aksi yang terjadi akibat dari kejadian tadi.
Kondisi
aksi
2.1.8 Internet
2.1.8.1 Sejarah Internet
Berikut sejarah kemunculan dan perkembangan internet. Sejarah
internet dimulai pada 1969 ketika Departemen Pertahanan Amerika, U.S.
Defense Advanced Research Projects Agency (DARPA) memutuskan untuk
mengadakan riset tentang bagaimana caranya menghubungkan sejumlah
komputer sehingga membentuk jaringan organik. Program riset ini dikenal
dengan nama ARPANET. Pada 970, sudah lebih dari 10 komputer yang
berhasil dihubungkan satu sama lain sehingga bisa saling berkomunikasi dan
membentuk sebuah jaringan.
State 1
State 2
27
Tahun 1972, Roy Tomlinson berhasil menyempurnakan program e-
mail yang diciptakannya setahun yang lalu untuk ARPANET. Program e-
mail ini begitu mudah sehingga langsung menjadi populer. Pada tahun yang
sama, icon @ juga diperkenalkan sebagai lambang penting yang
menunjukkan "at" atau "pada". Tahun 1973, jaringan komputer ARPANET
mulai dikembangkan ke luar Amerika Serikat. Komputer University College
di London merupakan komputer pertama yang ada di luar Amerika yang
menjadi anggota jaringan Arpanet. Pada tahun yang sama, dua orang ahli
komputer yakni Vinton Cerf dan Bob Kahn mempresentasikan sebuah
gagasan yang lebih besar, yang menjadi cikal bakal pemikiran internet. Ide
ini dipresentasikan untuk pertama kalinya di Universitas Sussex.
Hari bersejarah berikutnya adalah tanggal 26 Maret 1976, ketika Ratu
Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar
Establishment di Malvern. Setahun kemudian, sudah lebih dari 100 komputer
yang bergabung di ARPANET membentuk sebuah jaringan atau network.
Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan
newsgroups pertama yang diberi nama USENET. Tahun 1981 France
Telecom menciptakan gebrakan dengan meluncurkan telepon televisi
pertama, dimana orang bisa saling menelpon sambil berhubungan dengan
video link.
Karena komputer yang membentuk jaringan semakin hari semakin
banyak, maka dibutuhkan sebuah protokol resmi yang diakui oleh semua
28
jaringan. Pada tahun 1982 dibentuk Transmission Control Protocol atau TCP
dan Internet Protocol atau IP yang kita kenal semua. Sementara itu di Eropa
muncul jaringan komputer tandingan yang dikenal dengan Eunet, yang
menyediakan jasa jaringan komputer di negara-negara Belanda, Inggris,
Denmark dan Swedia. Jaringan Eunet menyediakan jasa e-mail dan
newsgroup USENET. Untuk menyeragamkan alamat di jaringan komputer
yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang
kini kita kenal dengan DNS atau Domain Name System. Komputer yang
tersambung dengan jaringan yang ada sudah melebihi 1000 komputer lebih.
Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali
lipat manjadi 10.000 lebih.
Tahun 1988, Jarko Oikarinen dari Finland menemukan dan sekaligus
memperkenalkan IRC atau Internet Relay Chat. Setahun kemudian, jumlah
komputer yang saling berhubungan kembali melonjak 10 kali lipat dalam
setahun. Tak kurang dari 100.000 komputer kini membentuk sebuah jaringan.
Tahun 1990 adalah tahun yang paling bersejarah, ketika Tim Berners Lee
menemukan program editor dan browser yang bisa menjelajah antara satu
komputer dengan komputer yang lainnya, yang membentuk jaringan itu.
Program inilah yang disebut www, atau World Wide Web. Tahun 1992,
komputer yang saling tersambung membentuk jaringan sudah melampaui
satu juta komputer, dan di tahun yang sama muncul istilah surfing the
internet. Tahun 1994, situs internet telah tumbuh menjadi 3000 alamat
halaman, dan untuk pertama kalinya virtual-shopping atau e-retail muncul di
29
internet. Dunia langsung berubah. Di tahun yang sama Yahoo! didirikan,
yang juga sekaligus kelahiran Netscape Navigator 1.0.
2.1.8.2 Web Server
Web server adalah suatu program yang menawarkan pelayanan yang
bisa diperoleh seluruh jaringan. Web server merupakan suatu tipe server
khusus yang dapat berkomunikasi dengan client menggunakan HTTP. Web
server menerima permintaan dari client dan meresponsnya, biasanya dengan
mengembalikan sebuah dokumen atau gambar.
2.1.8.3 Web Browser
Web browser adalah software yang dijalankan pada komputer
pemakai yang meminta informasi dari web server dengan menampilkannya
sesuai dengan file data itu sendiri.
2.1.8.4 WWW (World Wide Web)
World Wide Web juga disebut web, www, dan w3 adalah ruang
informasi di internet tempat dokumen-dokumen hypermedia disimpan dan
dapat diambil melalui suatu skema alamat yang unik. Web menyediakan
metode untuk menyimpan dan mengambil dokumen-dokumennya (McLeod,
2001, jilid1, p75). Berdasarkan pendapat Oetomo et al (2003, p73) www
merupakan aplikasi internet yang paling diminati para pemakai. Www tidak
lagi disertai dengan utilitas baris dan instruksi yang merupakan cara paling
umum untuk menjelajah internet, tetapi dirancang dari ribuan halaman atau
30
dokumen yang saling berhubungan yang dapat ditampilkan di monitor.
Melalui www, perusahaaan dapat memasang halaman web yang interaktif
untuk memberi informasi atau menarik minat para calon konsumennya. Salah
satu istilah yang berkaitan dengan www adalah website atau situs web.
Berdasarkan pendapat Sardi (2004, p4) website atau situs web adalah
sekumpulan dokumen yang dipublikasikan melalui jaringan internet maupun
intranet sehingga dapat diakses oleh user melalui web browser. Dokumen
tersebut dapat terdiri dari satu atau lebih kombinasi beberapa jenis file seperti
file teks, gambar, suara, atau video.
2.1.8.5 B2C (Business to Customer)
Menurut buku Using Information Technology: A Practical
Introduction to Computers & Communications. Seventh Edition, McGraw-
Hill, New York. Williams, B.K, Stacy C. Sawyer (2007) Dalam bisnis untuk
konsumen, bisnis menjual barang atau jasa kepada konsumen, atau anggota
masyarakat umum. Sistem e-commerce semacam ini pada dasarnya
menghilangkan perantara dan bahkan sering dibutuhkan untuk toko fisik
(batu bata dan mortir) .
Contoh sistem B2C adalah dari amazon.com dan
Barnesandnoble.com, serta banyak lembaga keuangan dan pemerintah. B2C
adalah sebuah transaksi yang terjadi antara perusahaan dan customer.
Karateristik B2C menurut Purbo (2001). Terbuka untuk umum, dimana
informasi disebarkan secara umum. Service yang dilakukan juga bersifat
umum, sehingga mekanismenya dapat digunakan oleh banyak orang. Service
31
yang diberikan adalah berdasarkan permintaan. Konsumen berinisiatif
sedangkan produsen harus siap memberikan response terhadap inisiatif
terhadap konsumen tersebut. Sering dilakukan sistem pendekatan client-
server, dimana konsumen dipihak client menggunakan sistem yang minimal
(berbasis web) dan penyedia barang atau jasa (business procedure) berada
pada pihak server.
2.1.9 Interaksi Manusia dan Komputer
Berdasarkan Schneiderman (1998), IMK atau Human Computer
Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan,
evaluasi dan implementasi sistem komputer interaktif untuk digunakan oleh
manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya.
2.1.9.1 Delapan Aturan Emas Perancangan Dialog
Delapan aturan emas yang digunakan dalam perancangan dialog
menurut Shneiderman (1998, p74) ialah :
a. Berusaha keras untuk konsisten Desain tampilan yang ada harus
dibuat sekonsisten mungkin dalam hal penamaan label, grafik,
singkatan, header, footer, tampilan menu, tampilan logo perusahaan
dan lain sebagainya.
b. Memungkinkan frequent user menggunakan shortcut. Dengan
semakin meningkatnya frekuensi penggunaan, semakin tinggi pula
keinginan user untuk mengurangi jumlah interaksi dan untuk
meningkatkan kecepatan interaksi.
32
c. Memberikan umpan balik yang informatif. Untuk setiap aksi yang
dijalankan user, perlu diberikan feedback dari sistem. Untuk aksi
yang minor dan sering dilakukan, respons sistem bisa dalam bentuk
yang sederhana. Sedangkan untuk aksi yang utama dan jarang
dilakukan, respons dari sistem harus lebih khusus.
d. Merancang dialog untuk menghasilkan keadaan akhir (sukses,
selesai). Urutan aksi dapat dikelompokkan dengan bagian awal,
tengah, dan akhir. Feedback yang informatif pada penyelesaian
sekelompok aksi dapat memberikan kepuasan serta kelegaan pada
user dan memudahkan user untuk masuk ke kelompok aksi yang
berikutnya.
e. Memberikan penanganan kesalahan yang sederhana. Sedapat
mungkin, merancang sistem yang mana seorang user tidak dapat
membuat kesalahan yang serius. Contohnya, menonaktifkan karakter
alfabetik dalam field untuk entry data numerik. Jika user membuat
kesalahan, sistem harus dapat mendeteksi kesalahan tersebut serta
menawarkan perintah yang sederhana, membangun dan spesifik untuk
memperbaiki kesalahan tersebut.
f. Mengizinkan pembalikan aksi (undo) dengan mudah. Sedapat
mungkin, aksi yang dilakukan user dapat dibalik (di-undo). Fitur ini
dapat meredakan kekhawatiran user karena user mengetahui bahwa
kesalahan yang diperbuat dapat dibalik.
g. Mendukung pengendalian secara internal. User yang berpengalaman
menginginkan kesan bahwa user dapat mengendalikan sistem dan
33
sistem dapat meresponaksi yang user lakukan. Aksi sistem yang
mengejutkan, urutan entry data yang membosankan, ketidakmampuan
atau kesulitan dalam memperoleh informasi yang dibutuhkan dan
ketidakmampuan menghasilkan aksi yang diinginkan dapat membuat
user menjadi cemas dan tidak puas.
h. Mengurangi beban ingatan jangka pendek. Agar memudahkan beban
ingatan user, diperlukan tampilan yang sederhana, tampilan page
yang banyak tetap terkonsolidasi, ataupun frekuensi pergerakan
window dikurangi.
2.2 Teori Khusus
2.2.1 Web Database System
Web database system adalah sistem dimana teknologi web dan database
digunakan secara bersamaan. Web database system menyediakan akses yang
lebih luas ke sistem basis data, cara mendistribusikan sistem dan pelayanan yang
lebih melalui sistem integrasi (Barry Eaglestone and Mick Ridley, 2001, p38).
2.2.2 Web Pages
Berdasarkan sifatnya, web pages dibagi menjadi 2 macam, yaitu :
2.2.2.1 Static Pages
Ciri-ciri pages ini adalah web pages ini tidak pernah berubah, baik isi
maupun tampilannya. Programmer web harus melakukan pengaturan ulang
pada coding HTML untuk melakukan perubahan, sehingga perubahan yang
terjadi pada pages dilakukan secara manual.
34
2.2.2.2 Dynamic Pages
Ciri-ciri pages ini adalah web pages ini dapat berubah sesuai
permintaan user, perubahan yang terjadi bersifat otomatisasi, karena pages
men-generate sendiri perubahan yang terjadi, tanpa programmer web harus
meng-coding ulang.
Dynamic pages biasanya digunakan untuk mengidentifikasi user,
seperti login, atau dapat juga untuk mengecek tipe browser yang dipakai oleh
user, sehingga pages kita dapat mengoptimalkan kemampuan yang dimiliki
oleh browser. Melalui pages ini user dapat meminta suatu informasi, yang
mungkin saja setiap permintaan user satu dengan yang lain dapat berbeda-
beda.
Biasanya informasi terdapat dalam database, file text, file XML, dll.
Biasanya untuk menghasilkan dynamic pages digunakan suatu scripting,
karena hanya menggunakan pure-HTML mustahil untuk pages seperti ini.
Dynamic pages dapat dibedakan berdasarkan tempat pengolahannya yaitu
Client-Side Scripting dan Server-Side Scripting.
2.2.2.2.1 Client – Side Scripting
Client-Side Scripting merupakan scripting yang pengolahannya
dilakukan oleh browser, dan hasilnya ditampilkan di monitor. Pada
client-side scripting, user dapat melihat instruksi code yang terdapat pada
pages. Keuntungan dari Client-Side Scripting adalah :
35
a. Mempunyai response time yang lebih cepat, karena script
diproses oleh browser pada tiap client.
b. Mengurangi workload pada pada web server.
Kelemahan dari Client-Side Scripting adalah user dapat melihat
scripting yang terdapat dalam web pages kita, dan kelemahan pada web
pages kita dapat diketahui sehingga mudah dirusak (di-hack).
2.2.2.2.2 Server – Side Scripting
Server-Side Scripting merupakan scripting yang pengolahannya
dilakukan oleh web server, dan hasil pemrosesannya berupa HTML, dan
kemudian dikirim sebagai bagian dari HTTP response ke browser yang
melakukan permintaan. Keuntungan dari Server – Side Scripting adalah :
a. Server – side scripting memungkinkan web programmer
mengambil dan menyimpan informasi melalui databases dan file
text.
b. Scripting yang ada tidak dapat dilihat oleh user sehingga
keamanannya lebih terjamin.
Kelemahan dari Server-Side Scripting adalah mempunyai response
time yang relatif lebih lama dibandingkan client-side scripting, karena
pemrosesan scripting dilakukan di web server.
2.2.3 Hypertext Markup Language (HTML)
Hypertext Markup Language (HTML) merupakan sistem yang digunakan
untuk menciptakan halaman dan dokumen yang disajikan pada web (Ellswoth,
1997, p37). Dokumen HTML dapat dibuat menggunakan editor teks standar,
36
walaupun akan lebih mudah jika menggunakan editor yang dirancang untuk
pembuatan dokumen HTML seperti FrontPage, atau GNNPress.
Beberapa editor HTML dapat mengubah file teks biasa ke dokumen
HTML, dan membantu menciptakan dokumen yang lebih bagus dengan
menggunakan template yang disediakan. Pada kasus tertentu, perlu dipelajari
struktur dokumen HTML dan cara penggunaan komponen-komponennya.
2.2.4 Personal Home Page (PHP)
PHP adalah bahasa server side scripting yang di desain secara spesifik
untuk web. Di dalam page HTML, dapat dimasukkan kode PHP yang akan di
eksekusi setiap waktu page dikunjungi. Kode PHP diinterpretasikan pada web
server dan meng-generate HTML atau output lainnya yang akan dilihat oleh
pengguna (Welling L. and Thomson L., 2001). PHP adalah produk open source.
PHP ditempatkan dalam server dan diproses di server, dan hasilnya yang
dikirimkan ke client, tempat pemakai menggunakan browser, dengan sintaks-
sintaks yang mudah digunakan dan modul-modul library yang banyak dan kuat,
yang dapat menciptakan data-driven website yang kuat untuk ecommerce, portal
komunitas, dan aplikasi berbasis web lainnya.
Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya,
dapat membentuk suatu tampilan berdasarkan permintaan terkini. Pada
prinsipnya, PHP mempunyai fungsi yang sama dengan script-script seperti ASP
(Active Server Page), ColdFusion, ataupun Perl.
37
2.2.5 Javascript
Javascript digunakan untuk halaman aktif yang tidak berisi kode yang
besar atau kompleks. Daripada meng-compile sebuah applet ke dalam presentasi
byte code, javascript menyediakan sebuah bahasa script, dan mengaturnya pada
browser untuk membaca dan menginterpretasinya dalam form sumber (source
form). Lebih pentingnya lagi, javascript dapat berintegrasi dengan HTML.
Sebuah halaman HTML dapat berisi kode atau fungsi-fungsi javascript yang
menyediakan interaksi sederhana dengan user. Sebagai contoh, sebuah fungsi
javascript dapat meminta user untuk memasukkan informasi dan kemudian
mem-verifikasinya atau mengecek kevalidan dari informasi tersebut dan
memasukkannya dalam form yang dapat diterima sebelum user dapat
berkomunikasi langsung dengan server. Fungsi javascript juga dapat
menampilkan sebuah aksi seperti memainkan sebuah file audio.
Bahasa javascript mempunyai kelebihan dan kekurangan. Kelebihannya
adalah kesederhanaan dan kemudahan penggunaannya. Sebuah script kecil dapat
diintegrasikan ke dalam halaman web. Seperti halaman web pada umumnya,
script dapat diuji cobakan atau dites langsung pada browser, tanpa menggunakan
compiler tambahan.Kelemahan javascript yang utama adalah kecepatan dan
kemampuan skalanya (scalability), karena representasi sumbernya lebih kecil
kepadatannya daripada representasi bytecode, menjalankan source program
memakan waktu lebih lama. Lebih jauh lagi, sebuah script memakan waktu lebih
lama untuk diinterpretasikan daripada sebuah program yang telah diterjemahkan
ke dalam representasi bytecode (Comer, 2004, p580).
38
2.2.6 MySQL
MySQL adalah sebuah Relational Database Management Sistem
(RDBMS) yang bersifat open source, berlevel tinggi, mendukung multi-
threading. Dikembangkan oleh sebuah firma konsultan di Swedia yang
dinamakan TcX yang menciptakan sebuah sistem database sangat cepat dan
fleksibel yang berdasarkan sebuah Database Management Sistem (DBMS) yang
bernama MySQL. MySQL adalah sebuah RDBMS yang penuh fitur, sangat
stabil dan merupakan sebuah multi-threaded server. Multi-threaded berarti setiap
waktu seseorang melakukan koneksi dengan server, program di server
menciptakan thread atau proses untuk menangani permintaan tersebut. Ini
menjadikannya sebagai server yang sangat cepat. Efeknya, setiap klien yang
berkoneksi ke sebuah server MySQL mendapatkan thread atau prosesnya
masing-masing. (Welling L. and Thomson L., 2001)
2.2.7 AJAX
Asynchronous JavaScript and XML ( AJAX ) merupakan bahasa
pemrograman yang memanfaatkan JavaScript dan XML. AJAX bukanlah
teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai
bersamaan. Dengan adanya AJAX, aplikasi web akan bisa menjadi lebih
interaktif dan lebih mudah diakses. Tujuannya adalah untuk memindahkan
sebagian besar interaksi pada computer websurfer, melakukan pertukaran data
dengan server di belakang layar , sehingga halaman web tidak harus dibaca ulang
secara keseluruhan setiap kali seorang user melakukan perubahan. Hal ini akan
meningkatkan interaktivitas, kecepatan, dan usability.
39
Keuntungan dari menggunakan AJAX :
a. Dengan memakai AJAX, web dapat menyerupai aplikasi desktop sehingga
lebih interaktif
Kerugian dari menggunakan AJAX :
a. Beberapa orang men-disable Javascript pada browser yang dipakainya
dengan alasan security, sehingga dapat menyebabkan AJAX tidak dapat
berjalan
b. User yang mengakses situs tersebut tidak akan bisa menggunakan tombol
Back pada browser yang dipakainya
Kemungkinan terjadi error sangat tinggi karena menggunakan Javascript,
sehingga perlu dilakukan pengujian pada berbagai macam platform yang berbeda
2.2.8 Content Management System (CMS)
Content Management System, CMS adalah sebuah aplikasi web dinamis yang
dipersiapkan untuk dapat mengubah maupun meng-edit seluruh isi web dengan
hanya beberapa klik pada bagian administrator web, hal tersebut merupakan
salah satu poin penting dari sebuah website yang dinamis. CMS adalah sebuah
sistem yang memberikan kemudahan kepada para penggunanya dalam mengelola
dan mengadakan perubahan isi sebuah website dinamis tanpa sebelumnya
dibekali pengetahuan tentang hal-hal yang bersifat teknis
2.2.9 Cascading Style Sheet (CSS)
Cascading Style Sheet merupakan salah satu bahasa pemrograman web
untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan
40
lebih terstruktur dan seragam. Sama halnya styles dalam aplikasi pengolahan
kata seperti MicrosoftWord yang dapat mengatur beberapa style, misalnya
heading, sub bab, bodytext, footer, images, dan style lainnya untuk dapat
digunakan bersama-sama dalam beberapa file. Pada umumnya CSS dipakai
untuk memformat tampilan halaman web yang dibuat dengan bahasa HTMLdan
XHTML. CSS digunakan untuk menentukan warna, jenis huruf, tata letak, dan
berbagai aspek tampilan dokumen.
2.2.10 JQuery
JQuery adalah library JavaScript yang memungkinkan kita untuk membuat
program web pada suatu halaman web, tanpa harus secara eksplisit kita
menambahkan event atau pun properti pada halaman web tersebut. Dengan
JQuery, suatu halaman web yang menjadi aplikasi web, jika dilihat sourcenya,
akan terlihat seperti dokumen HTML biasa, namun tidak ada kode JavaScript
yang terlihat langsung. Teknik pemrograman web seperti ini disebut sebagai
unobstrusive JavaScript programming.
JQuery merupakan salah satu library yang membuat program web di sisi
klien, tidak terlihat sebagai program JavaScript biasa, yang harus secara eksplisit
disisipkan pada dokumen web. Pada teknik pemrograman sisi klien dengan
menggunakan JavaScript biasa, setiap elemen yang akan memiliki event, akan
secara eksplisit terlihat ada event yang dilekatkan pada elemen tersebut.