BAB 2
LANDASAN TEORI
1.1 Data
Menurut Atzeni (2003, p2), data adalah informasi mentah terekam yang
dapat menyediakan informasi lainnya. Data informasi mentah dapat tidak berarti
jika tidak digabungkan dengan data yang lain.
Menurut Hoffer (2009, p46), data adalah sebuah fakta yang menjelaskan
objek atau kejadian yang dapat disimpan pada media komputer. Contohnya adalah
sebuah data sales person yang berisi nama pelanggan, alamat dan telepon
dikualifikasikan sebagai suatu struktur data.
Jadi, dapat disimpulkan di sini bahwa data merupakan sebuah fakta yang
dapat mendukung informasi lain dan menjadikannya sebuah informasi yang lebih
berarti.
1.2 Basis Data
Menurut Connolly dan Begg (2010, p65), basis data adalah sekumpulan data
yang saling terhubung secara logikal dan dirancang untuk memenuhi kebutuhan
informasi pada suatu organisasi.
Definisi basis data menurut Ramakrishnan (2003, p4), adalah koleksi data
yang menjelaskan aktifitas dari satu atau lebih organisasi yang berelasi.
2
Menurut Date (2004, p10), basis data merupakan kumpulan data persistent yang
digunakan pada sistem aplikasi pada beberapa organisasi.
Sehingga dapat dikatakan basis data itu merupakan sekumpulan data yang saling
berhubungan untuk menjelaskan kegiatan yang ada di dalam suatu organisasi atau lebih
yang saling berhubungan dan biasa digunakan di dalam sistem aplikasi.
1.3 DBMS
Menurut Connolly (2010, p66), DBMS adalah sebuah piranti lunak yang
memungkinkan user untuk mendefinisikan, membuat, merawat dan mengontrol akses ke
dalam database. Dengan dibantu Data Definition Language (DDL) dan Data Manipulation
Language (DML), DBMS sangat memungkinkan bagi user untuk memanipulasi data
dengan fleksible. Penggunaan DBMS dapat menjamin keamanan, kesatuan serta
ketersediaan data dalam proses penyimpanannya.
DBMS memiliki beberapa fasilitas, yaitu :
1. Fasilitas untuk mendefinisikan basis data yang biasanya menggunakan suatu Data
Definition Language (DDL). Suatu DDL memberikan fasilitas kepada user untuk
dapat menspesifikasikan tipe, struktur serta batasan aturan mengenai data yang
akan disimpan ke dalam basis data tersebut.
2. Fasilitas yang memperbolehkan user untuk menambah, mengedit, menghapus data
dan mendapatkan kembali data yang biasanya menggunakan suatu Data
3
Manipulation Language (DML). Ada suatu fasilitas yang melayani pengaksesan
data yang disebut Query Language. Bahasa query yang paling diakui adalah
Structured Query Language (SQL) yang secara de facto merupakan standar bagi
DBMS.
3. Fasilitas untuk melakukan akses yang terkontrol terhadap basis data, sebagai
contoh :
a. Suatu sistem keamanan yang mencegah user yang tidak memiliki otoritas
untuk mengakses data.
b. Suatu sistem yang terintegrasi dimana berguna untuk memelihara
konsistensi penyimpanan data.
c. Suatu sistem kontrol yang memperbolehkan sharing akses ke dalam basis
data.
d. Suatu sistem kontrol pengembalian data dimana dapat mengembalikan
data ke keadaan sebelumnya apabila terjadi kegagalan perangkat keras atau
perangkat lunak.
e. Terdapat suatu katalog yang dapat diakses oleh user untuk
mendeskripsikan data di dalam basis data tersebut.
4
DBMS memiliki komponen utama dalam lingkungannya, komponen-komponen
tersebut adalah :
1. Hardware
Dibutuhkan untuk menjalankan DBMS dan juga aplikasi-aplikasinya.
Hardware mencakup mini computer, network computer, personal computer dan
mainframe.
2. Software
Meliputi software aplikasi, software DBMS, operating systems dan software
network (apabila dalam penggunaannya menggunakan network).
3. Data
Merupakan komponen yang terpenting dan juga merupakan komponen
penghubung antara komponen mesin (perangkat keras dan lunak) dan manusia.
4. Prosedur
Prosedur merupakan instruksi-instruksi dan aturan-aturan yang mengatur
desain dan penggunaan basis data.
5. People
Merupakan komponen yang juga terlibat dalam sistem. Komponen ini
meliputi data, database administrator, database designer, application developer
dan end users.
5
DBMS juga memiliki beberapa keuntungan dan kerugian :
1. Keuntungan DBMS yaitu :
a. Terdapat kontrol terhadap pengulangan data
b. Konsistensi data
c. Semakin banyak informasi yang didapat dari data yang sama
d. Dapat melakukan share data
e. Menambah intergritas data
f. Menambah keamanan data
g. Mempermudah pengolahan data
1. Meningkatkan produktivitas
2. Kerugian DBMS yaitu :
a. Kompleks
b. Ukuran / size DBMS
c. Biaya
d. Memungkinkan adanya penambahan perangkat keras lainnya
Dari penjelasan di atas, dapat disimpulkan kembali bahwa DBMS merupakan sebuah
piranti lunak yang dapat membantu penggunanya untuk memanajemen, mengontrol dan juga
membuat sebuah database sendiri dimana DBMS tersebut memiliki karakteristik dan peraturan
penggunaan tersendiri yang harus dimengerti oleh penggunanya.
6
1.4 DDL
Menurut Connolly (2010, p92) DDL adalah sebuah bahasa yang memungkinkan bagi
user untuk mendeskripsikan / memberikan nama pada suatu database, table, atribut dan
hubungan yang diperlukan pada suatu aplikasi. Penggunaan DDL menjamin segala hal
yang menyangkut intergritas data dan juga kendala keamanan. DDL tidak dapat digunakan
untuk memanipulasi data yang ada pada database. Secara teori, definisi DDL untuk setiap
skema dalam 3 level arsitektur :
1. DDL untuk skema eksternal
2. DDL untuk skema konseptual
3. DDL untuk skema internal
1.5 DML
Menurut Connolly (2010, p92) DML adalah bahasa yang menyediakan
sekumpulan operasi untuk mendukung operasi dasar manipulasi data dalam database :
1. Memasukkan data baru (insert)
2. Mengubah data (update)
3. Menghapus data (delete)
4. Melihat data yang ada (select)
7
DML ada 2 macam, yaitu :
1. Procedural DML
Merupakan sebuah bahasa yang memungkinkan user untuk dapat
memberitahukan kepada sistem data apa yang sedang dibutuhkan dan bagaimana
cara untuk memperoleh data tersebut.
2. Non Procedural DML
Merupakan sebuah bahasa yang memungkinkan user untuk dapat
memberitahukan kepada sistem data apa yang sedang dibutuhkan namun tidak
mempedulikan bagaimana data tersebut dapat diperoleh.
1.6 UML (Unified Modeling Language)
Menurut Bentley dan Whitten (2007, p371), UML adalah satu set dari ketentuan
modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem
software dalam suatu kondisi dari objek. UML dibagi menjadi beberapa komponen :
1.6.1 Class Diagram
Menurut Bentley dan Whitten (2007, p400), class diagram menggambarkan
struktur sistem suatu objek. Diagram ini menampilkan class-class objek yang
sistemnya tersusun seperti hubungan antara class-class objek.
Menurut Mathiassen (2009, p336) menyatakan bahwa class diagram
mendeskripsikan kumpulan dari class dan hubungan strukturalnya. Sedangkan objek
adalah suatu entitas yang memiliki identitas, kondisi dan perilaku. Event
didefinisikan sebagai suatu kejadian langsung yang melibatkan suatu objek atau
8
lebih. Class didefinisikan sebagai suatu deskripsi dari kumpulan objek yang memiliki
struktur, perilaku, pola perilaku dan atribut yang serupa.
Class diagram terdiri dari elemen-elemen yang menggambarkan struktur
sebuah sistem dengan menunjukkan kelas-kelas yang membentuk sistem dan
bagaimana kelas-kelas tersebut berhubungan satu sama lain secara statis. Kelas
adalah kumpulan atribut dan operasi.
Di dalam class diagram, class digambarkan dengan sebuah kotak yang terdiri
dari tiga bagian seperti pada gambar berikut:
Nama
Atribut
Operasi
Contoh Class :
Buku +judul : String +pengarang : String +idJenis : byte
+ambilJenis (String) +ambilHalaman () : int
Secara umum, struktur kelas adalah nama kelas, atribut kelas dan operasi kelas.
Tanda plus (+) dan minus (-) yang ada di dalam kelas menggambarkan ruang lingkup
dari atribut atau operasi. Tanda plus berarti public (boleh di akses oleh semua kelas)
dan minus berarti private (akses terbatas hanya untuk class itu sendiri). Tanda ketiga
adalah tanda pagar (#) yang berarti protected (hanya bis diakses oleh subclass nya).
Kata sete
operasi.
Menurut
1. Gen
pro
me
yan
(inh
2. Clu
Me
elah tanda
Mathiassen
neralization
Merupak
operti-proper
nunjukkan c
ng berada p
heritance) n
uster
erupakan sua
titik dua (:
(2000, p72)
kan suatu c
rti umum
class khusu
pada class u
amun class k
G
atu kumpulan
9
) menyatak
), struktur an
class umum
dari class
us pada hub
umum akan
khusus juga
Gambar 2.1
n class yang
an tipe atri
ntar class terd
m (super cla
khusus (s
bungan gene
dimiliki jug
dapat memi
Generaliza
g saling berh
ibut atau tip
diri dari:
ass) yang
sub class).
eralisasi ini.
ga oleh sem
iliki properti
ation
hubungan
pe pengemb
mendeskrip
Kata “ad
Semua pro
mua class kh
inya sendiri.
balian
sikan
dalah”
operti
husus
Menurut
1. Agg
obj
2. Ass
dap
“m
Mathiassen
gregation
Merupak
ek (the parts
sociation
Merupak
pat diartikan
memiliki” me
(2000, p75)
kan suatu ob
s)
kan suatu rela
n mejadi seb
ncirikan hub
10
Gambar
), struktur an
bjek superior
Gambar 2.3
asi berarti an
uah kelas m
bungan asosi
2.2 Cluster
ntar object te
r (the whole
3 Aggregati
ntara sejuml
memiliki inst
iasi
1..2
1..*
r
erdiri dari:
e) yang terd
ion
lah objek. Su
tansi dari ke
diri dari seju
uatu relasi b
elas lainnya.
umlah
erarti
Kata
1.6
Di
digambar
tersendiri
class diag
Tabel 1.1
Multipl
*
0
1
0..*
1..*
0..1
1..1
6.2 Use C
Me
menggam
grafikal
seperti ap
dalam cla
rkan melalu
i, berikut pe
gram :
1 Multiplic
licity Arti
Bany
Nol
Satu,
Anta
Anta
Nol a
Tepa
Case Diagram
enurut Ben
mbarkan inte
mendeskrips
pa sesuai den
ass diagram
i multiplicity
enjelasan me
city Class Di
yak
, bisa ditulis
ara Nol samp
ara Satu samp
atau Satu
at Satu
m
tley dan
eraksi antara
sikan siapa
ngan yang d
11
Gambar 2.
m, hubunga
ty. Setiap mu
engenai mul
iagram
bisa tidak
pai banyak
pai banyak
Whitten (2
a user dan si
yang akan
iharapkan us
4 Associatio
an antar c
ultiplicity ya
ltiplicity yan
2007, p246
istem ekstern
menggunak
ser untuk be
on
class-class
ang digunak
ng dapat dig
6-250), use
nal. Dengan
kan sistem d
erinteraksi de
yang ada
kan memilik
gunakan di d
case dia
n kata lain, s
dan dengan
engan sistem
juga
ki arti
dalam
agram
ecara
cara
m.
12
Gambar 2.5 Contoh Use Case Diagram
Use case diagram memiliki komponen sebagai berikut :
a. Pelaku
Pada use case diagram, pelaku adalah sebuah peran dari seorang
pengguna yang perlu berinteraksi dengan sistem untuk pertukaran informasi.
Pelaku di dalam use case tidak harus seorang manusia, pelaku dapat berupa
sebuah organisasi, sistem informasi ataupun peralatan luar seperti sensor panas.
Berikut lambang yang digunakan untuk merepresentasikan pelaku di dalam use
case
13
Gambar 2.6 Pelaku Use Case b. Relationship (Hubungan)
Pada use case diagram, hubungan digambarkan dalam sebuah garis di
antara dua simbol. Pengertian hubungan antara 2 simbol ini dapat berbeda-beda
tergantung dari bagaimana garis tersebut digambar. Relationship di dalam use
case ada beberapa macam, yaitu :
1. Associations
Merupakan sebuah hubungan antara pelaku dengan use case di
mana sebuah interaksi terjadi di antara mereka. Ada 2 macam hubungan
associations di dalam use case yaitu unidirectional dan bidirectional.
Unidirectional merupakan suatu hubungan dimana terjadi interaksi
satu arah saja, sedangkan bidirectional merupakan suatu hubungan
dimana terjadi interaksi 2 arah baik dari pelaku maupun dari use case.
14
2. Extends
Di dalam suatu use case terkadang ada sebuah fungsionalitas yang
sangat kompleks di dalamnya dimana dapat berisi beberapa langkah
sehingga membuat use case tersebut menjadi susah dimengerti. Use case
yang kompleks tersebut dapat dibuatkan sebuah use case tersendiri untuk
dijabarkan dengan lebih detail dan jelas sehingga dapat lebih mudah
dimengerti.
Berikut adalah contoh extension use case :
3. Uses (or includes)
Merupakan sebuah use case yang dapat mengurangi redudansi
dikarenakan memiliki langkah-langkah yang sama atau hampir sama
namun dari action yang berbeda. Berikut adalah contoh penggunaan dari
uses :
Generate Warehouse Packing Order
Calculate Oder Sintotal & Sales Tax
Place New Member Order
<<extends>> <<extends>>
Extension Use Case
15
4. Depends On
Merupakan sebuah use case yang bergantung pada use case
lainnya. Jika ada use case a bergantung pada use case b, maka use case a
tidak akan dapat dilakukan sebelum use case b dilakukan terlebih dahulu.
Berikut contoh ketergantungan use case :
5. Inheritance
Ketika beberapa pelaku menggunakan use case yang sama, maka
dapat dibuat sebuah pelaku abstrak untuk mengurangi komunikasi yang
redudansi dengan sistem. Contoh inheritance di dalam use case :
Place New Member Order
Submit Change of Postal Address
Revise Postal Address
<<uses>> <<uses>>
Abstract
Use Case
Establish Bank Account
Make a Deposit
Make a Withdrawal
<<depends on>>
<<depends on>>
16
Gambar 2.7 Contoh Inheritance Dalam Use Case
1.6.3 Sequence Diagram
Bennett, McRobb, dan Farmer (2010, p. 479) menggambarkan sequence
diagram untuk use case ”Check campaign budget” pada gambar di bawah ini.
Gambar 2.8 Sequence Diagram untuk Use Case "Check Campaign Budget"
17
Kelas pengendalian yang utama dapat mengaktifkan kelas pembatas,
memperbolehkan user untuk memilih klien tertentu. Ditampilkan pada gambar di
bawah ini.
Gambar 2.9 Bagian Pertama Use Case "Check Campaign Budget"
Kembali ke sequence diagram untuk kolaborasi ini, event berikutnya yang akan
berlangsung adalah bahwa pengguna akan memilih klien dari dropdown yang telah
diisi dengan klien dengan proses yang telah dijelaskan. Ketika seorang klien tertentu
telah dipilih, maka daftar promosi di kelas perbatasan harus diisi dengan hanya
promosi dalam database milik klien.
1.6.4 Activity Diagram
Menurut Satzinger, Jackson & Burd ( 2008, p141), Activity diagram adalah
sebuah jenis dari workflow diagram yang mudah yang menggambarkan kegiatan dari
beberapa user atau sistem, orang yang melakukan setiap proses dan alur kerja dari
setiap aktifitas.
18
Gambar 2.10 Activity Diagram
Activity diagram memiliki komponen sebagai berikut :
a. Titik Solid
Pada activty diagram, titik solid menggambarkan awal sebuah proses
b. Segi empat dengan sudut tumpul
Pada activity diagram, segi empat dengan sudut tumpul menggambarkan tugas
yang perlu dilakukan
c. Panah
Pada activity diagram, panah menggambarkan sasaran yang mengawali suatu
kegiatan
d. Diamond
Pada activity diagram, diamond menggambarkan sebuah kegiatan yang
menyangkut sebuah keputusan
19
e. Titik solid di dalam lingkaran
Pada activity diagram, titik solid di dalam lingkaran menggambarkan akhir
sebuah proses
f. Synchronization Bar
Sebuah simbol yang dapat memisahkan serta menggabungkan aktifitas yang
berjalan secara bersamaan
1.7 Piranti Lunak
Menurut Pressman (2005, p34-36), perangkat lunak didefinisikan sebagai berikut :
1. Perintah (program komputer) yang bertujuan untuk menjalankan suatu fungsi
yang diinginkan saat eksekusi
2. Struktur data yang memungkinkan program memanipulasi informasi
3. Dokumen yang menggambarkan bagaimana suatu program bekerja dan kegunaan
dari program tersebut
Piranti lunak berfungsi untuk mentransformasikan informasi – informasi penting
termasuk data-data personal seperti transaksi keuangan pribadi ke dalam bentuk yang lebih
sederhana sehingga informasi tersebut dapat lebih mudah diakses, diatur, ditampilkan
maupun di manage dari peralatan apapun termasuk telepon selular sekalipun.
Ada beberapa karakteristik dari piranti lunak yang harus dimengerti menurut
Pressman (2005, p37), yaitu :
1. Piranti lunak itu adalah sesuatu yang dikembangkan bukan diproduksi dalam
bentuk klasik
2. Piranti lunak bukanlah sesuatu yang dapat habis dalam jangka waktu tertentu
20
3. Pengembangan piranti lunak dilakukan secara custom
1.8 Rekayasa Piranti Lunak
Menurut Pressman (2005, p53) Rekayasa piranti lunak adalah penggunaan prinsip-
prinsip pengembangan yang tepat untuk menghasilkan piranti lunak yang dapat diandalkan,
dapat bekerja dengan baik pada mesin nyata dan juga ekonomis.
Rekayasa piranti lunak dikategorikan atas tiga fase, yaitu :
1. Fase pendefinisian.
Fokus pada fase ini adalah :
a. Apa informasi yang harus diproses ?
b. Fungsi dan performan apa dikehendaki ?
c. Perilaku sistem apa yang diharapkan?
d. Antarmuka apa yang akan dibentuk ?
e. Batasan perancangan apa yang ada ?
f. Kriteria validasi apa yang diperlukan untuk mendefinisikan kesuksesan satu
sistem ?
2. Fase pengembangan.
Fokus pada fase ini adalah :
a. Bagaimana data distrukturkan?
b. Bagaimana mengimplementasikan satu fungsi didalam satu arsitektur
perangkat lunak?
c. Bagaimana mengimplementasikan satu prosedur detail?
d. Bagaimana mengkarakteristikkan antarmuka?
21
e. Bagaimana mentranslasikan perancangan ke dalam satu bahasa pemograman
dan bagaimana satu pengujian akan dilakukan ?
3. Fase dukungan.
Fokus pada fase ini adalah :
a. Koreksi
b. Adaptasi
c. Peningkatan
d. Pencegahan
1.9 Feature Driven Development (FDD)
Menurut Abrahamsson, Salo, & Rokainen (2002, p47) yang disadur dari Palmer &
Felsing (2002), Feature Driven Development (FDD) adalah pendekatan yang cepat dan
adaptif dalam pengembangan sebuah aplikasi. Pendekatan FDD tidak membahas
pengembangan software secara keseluruhan tetapi lebih berfokus kepada fase desain dan
pembuatan program. FDD terdiri dari 5 tahapan proses.
Pada bagian yang terus berulang di FDD (desain dan pembuatan sistem) yang
mendukung agile development dengan adaptasi yang cepat untuk memenuhi perubahan
pada proses bisnis.
Berikut a
1. Dev
me
2. Bui
Fitu
fitu
kel
3. Pla
prio
4. Des
adalah tahapa
velop an ove
Pada tah
ngenai prog
ild a feature
Fitur – fi
ur – fitur ini
ur ini kem
engkapanny
an By Featur
Merencan
oritasnya da
sign by Feat
Gambar
an dari meto
erall model
hap awal ini
ram yang ak
e list
itur besar di
i menjelaska
mudian dilih
ya.
re
nakan mulai
n ketergantu
ture and Bui
22
r 2.11 Featur
odologi ini :
i, client me
kan dibuat da
ibagi kemba
an lebih spes
hat oleh c
i pembuatan
ungannya ke
ild by Featur
re Driven D
emberikan g
an fitur – fitu
ali menjadi f
sifik tentang
client untu
n fitur – fitu
pada fitur –
re
Development
gambaran se
ur yang perlu
fitur – fitur
g sistem di s
uk diperiksa
ur secara seq
fitur lain.
t
ecara garis b
u dibuat.
yang lebih k
uatu tempat
a validitas
quential me
besar
kecil.
t. List
dan
nurut
23
Tahapan ini adalah pembuatan program sesuai fitur – fitur yang telah
disusun. Proses design by feature dan build by feature ada proses yang
prosedur yang berulang selama sebuah fitur ini dibuat. Setelah sebuah fitur
telah selesai dibuat, maka fitur tersebut akan dipindahkan kepada fitur utama
dalam program untuk dijadikan satu kesatuan.
1.10 Internet
Menurut Turban Rainer dan Potter (2001, p208), Internet adalah jaringan
telekomunikasi dan elektronik raksasa terbesar di dunia. Internet tidak hanya merupakan
kumpulan dari jaringan komunikasi elektronik antara komputer-komputer bisnis,
konsumen, pemerintahan, sekolah-sekolah dan organisasi-organisasi lainnya tetapi juga
telah membuka kemungkinan-kemungkinan baru yang menantang cara tradisional dari
interaksi, berkomunikasi, dan melakukan bisnis.
1.11 World Wide Web
World Wide Web atau WWW adalah kumpulan dari sejumlah dokumen hypertext
yang saling berkaitan dan ditempatkan pada server khusus, yang disebut dengan Web
Server atau server HTTP di seluruh dunia. (Hoffer et al, 2009, p470).
Sedangkan menurut Kadir (2003, p4), World Wide Web (WWW) atau biasa disebut
dengan Web, merupakan salah satu sumber daya Internet yang berkembang dengan pesat.
Informasi Web didistribusikan melalui pendekatan hypertext, yang memungkinkan suatu
teks pendek menjadi acuan untuk membuka dokumen yang lain. Dengan adanya
24
pendekatan hypertext ini, seseorang dapat memperoleh informasi dengan meloncat dari
suatu dokumen ke dokumen yang lain. Dokumen-dokumen yang diakses pun dapat
tersebar di berbagai mesin dan di berbagai negara.
1.12 Web Server
Web server adalah server yang melayani permintaan klien terhadap halaman web.
Apache, IIS (Internet Information Server), dan Xitami merupakan contoh perangkat lunak
Web Server. (Kadir, 2003, p6).
Cara kerja web melibatkan komunikasi antar dua komputer, satu server, dan satu
client. Server akan mengirimkan file ketika client memintanya. Vaughan ( 2006, pg294).
Menurut Hoffer et al (2009, p479), web server yang digunakan harus dapat
menangani banyak pengguna pada suatu waktu. Hal ini dimungkinkan dengan adanya
kemampuan multiprocessing, di mana beberapa processor akan bekerja bersama-sama
untuk mempercepat pemrosesan.
Kegiatan pada web server akan dibagi menjadi empat langkah dasar, dan ada dua
komponen yang terlibat, yaitu sebuah web browser dan web server.
Langkah-langkah tersebut adalah sebagai berikut :
1. Komputer klien menggunakan web browser untuk berhubungan dengan web
server dan meminta sebuah halaman web.
2. Selama menerima permintaan, web server menempatkan file atau program yang
sesuai di dalam file sistem.
25
3. Setelah mengalokasikan file, web server mengambil file dari file sistem.
4. Web server kemudian mengirim file tersebut ke web browser. File hasil
permintaan diterima web browser dan di-render pada komputer klien.
1.13 Web Browser
Browser atau web browser adalah perangkat lunak di sisi klien yang digunakan untuk
mengakses informasi web. Internet Explorer, Netscape dan Mozilla merupakan contoh-
contoh browser yang ada. (Kadir, 2003, p6).
Pada awalnya web hanya berupa tulisan saja. Kemudian pada tahun 1992, peneliti
dari National Center Supercomputing Application di University of Illinois mengembangkan
Mosaic, yaitu web browser pertama yang menampilkan gambar. Penggunaan Web Browser
kemudian menjadi sangat universal, karena web browser dapat memberikan interface yang
sama pada sistem operasi yang berbeda. Browser mampu berkomunikasi melalui HTTP,
mengatur HTML, dan menampilkan tipe data tertentu seperti GIF (Graphic Interchange
Format) dan JPEG (Joint Photographic Expert Group) untuk grafik dan Microsoft
Windows WAV untuk suara. (Turban, Rainer dan Potter, 2001, p224).
1.14 Istilah-istilah yang Berhubungan dengan Internet dan Web
Berikut ini merupakan istilah-istilah yang berhubungan dengan internet dan web :
1. Hypermedia
Struktur dari elemen yang ditautkan, di mana pengguna dapat menavigasi
suatu media atau informasi yang disimpan pada web. (Vaughan, 2006, p449)
2. URL
26
Alamat dokumen atau file dalam internet. (Vaughan, 2006, p458)
3. Hypertext Markup Language (HTML)
HTML merupakan bahasa standar bagi web yang memformat dokumen
dan menyatukan link dynamic hypertext ke penyimpanan dokumen lain pada
komputer yang sama ataupun berbeda. (Turban, Rainer dan Potter, 2001, pg223)
4. Hypertext Transfer Protocol (HTTP)
HTTP menjelaskan bagaimana klien dan server berkomunikasi. HTTP
merupakan sebuah protokol yang digunakan untuk mentransfer halaman web
melalui internet. (Connolly dan Begg, 2010, pg1029).
1.15 Bahasa Pemrogramman Internet
Dalam proses pengembangan aplikasi yang berkaitan dengan internet, penggunaan
scripting language merupakan salah satu hal pendukung utama yang menentukan dinamis
dan statisnya sebuah aplikasi tersebut. Scripting language adalah sebuah bahasa yang dapat
menambah fitur – fitur tambahan pada HTML. Bahasa scripting ini dibagi ke dalam 2 jenis
yaitu client-side scripting dan server-side scripting.
1.15.1 Client Side Scripting
Client-side scripting adalah scripting yang berjalan di sisi client, dalam hal
ini yaitu web browser. Client-side scripting ini biasa digunakan untuk fungsi –
fungsi standar yang tidak berkaitan dengan basis data. Dua contoh client-side
scripting yang paling banyak digunakan adalah Javascript dan VB Script.
27
1.15.2 Javascript
Menurut Eaglestone dan Ridley (2001, p242), javascript merupakan sebuah
cross platform scripting language dengan fitur object oriented yang dapat
menyediakan programming interface pada DOM. Javascript menawarkan pada
penggunanya untuk membuat sebuah halaman web yang bersifat dinamis.
Javascript ini dapat dikombinasi dengan HTML yang dibatasi oleh tag
<script></script> ketika akan digunakan.
1.15.3 Server Side Scripting
Server-side scripting adalah scripting yang dieksekusi melalui web server
seperti Apache, IIS dan yang lainnya. Server-side scripting sangat berguna ketika
dibutuhkan suatu fungsi ataupun validasi yang terhubung dengan basis data,
keamanan server, ataupun proses melalui server. Penggunaan server-side
scripting biasanya merupakan indikasi bahwa aplikasi web tersebut bersifat
dinamis.
Cara kerja server-side scripting dapat diibaratkan sebagai satu set instruksi
yang diproses oleh server, dan menghasilkan HTML. HTML yang dihasillkan
dikirim sebagai bagian dari tanggapan HTTP ke browser. Browser kemudian
menampilkan HTML tersebut.
28
1.16 PHP
PHP merupakan html-embedded scripting language, atau maksudnya adalah sebuah
bahasa pemprograman yang penggunaannya dimasukkan ke dalam html. PHP mudah
digunakan, dan juga merupakan alat yang multiguna.
Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah.
Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan
menggunakan script PHP.
PHP dapat berjalan pada semua jenis sistem operasi, antara lain pada LINUX dan
varian UNIX, Microsoft Windows, MAC OS X, serta RISC OS. Selain itu PHP juga dapat
berjalan pada beberapa jenis web server, antara lain Apache, Microsoft Internet
Information, Services, Personal web server, Netscape, dan Iplanet server, Caudium,
Xitami, OmniHTTPd, dan masih banyak lagi.
PHP juga memiliki banyak basis data populer yang sering digunakan dalam beberapa
web server, antara lain Adabas D, Ingres, Oracle, dBase, InterBase, Ovrimos, Empress,
FrontBase, PostgreSQL, mSQL, Solid, HyperWave, Direct MS-SQL, Sybase, IBM DB2,
MySQL, Velocis, Informix, ODBC, dan Unix dbm.
1.17 Keunggulan PHP
Berikut adalah beberapa keunggulan dari PHP :
1. PHP mampu berjalan di beberapa server, misalnya Apache, Microsoft, IIS,
PHTTPD, FHTTPD dan yang lainnya.
29
2. PHP mendukung akses kebeberapa basis data yang sudah ada, seperti MySQL,
mSQL, dBase, Unix dan yang lainnya.
3. PHP mampu berjalan di LINUX sebagai platform sistem operasi, windows, dan
yang lainnya.
4. PHP merupakan salah satu scripting language yang termudah untuk dipelajari.
5. PHP merupakan program open source atau gratis, serta mudah di-share dan
diubah di antara komunitas pengembangan web.
1.18 MySQL
MySQL adalah sebuah sistem manajemen relasi basis data yang bersifat open source,
memiliki level enterprise, dan multithreaded. Maksudnya adalah selain bebas digunakan
karena bersifat open source, MySQL juga dapat digunakan pada aplikasi yang berbeda
pada waktu yang bersamaan. (Maslakowski, 2000, p10).
1.19 Keunggulan MySQL
MySQL adalah sistem manajemen relasi basis data (Relational Database
Management System / RDBMS) yang bersifat free dan termasuk dalam kategori open
source. Selain karena sifatnya yang free, adapun kelebihan MySQL adalah sebagai berikut:
1. Open source software, MySQL dilengkapi dengan source code yang lengkap. Ini
berarti kita bisa mempelajari source code tersebut dan mengubahnya sesuai
dengan kebutuhan kita. Karena merupakan open source software, bisa
ditemukan banyak support dari software lain.
30
2. SQL Support, karena seperti yang bisa dilihat, terdapat kata 'SQL' di dalam
MySQL, hal ini dikarenakan MySQL men-support SQL, yaitu sebuah bahasa
yang digunakan untuk membuat query data dari sebuah basis data.
3. Superb performance and reliability, MySQL memiliki performa yang sangat
cepat dan terpercaya, bahkan di lingkungan yang memiliki kebutuhan yang
kompleks.
4. Ease of use, MySQL merupakan sebuah manajemen relasi basis data yang
sederhana namun memiliki fitur-fitur yang kuat. MySQL juga mudah untuk di-
install dan digunakan, dilengkapi dengan aplikasi client atau server, serta
dilengkapi dengan tools lain yang berfungsi memudahkan administrasi basis
data.
1.20 Interaksi Manusia dan Komputer (IMK)
Menurut Shneiderman (2010, p58-p59) tujuan penting bagi desainer adalah user
interface yang konsisten. Bagaimanapun definisi dari konsistensi sendiri susah dipahami
dan memiliki banyak tingkatan yang terkadang saling bertabrakan. Argumen untuk
konsistensi adalah bahwa bahasa perintah atau serangkaian tindakan harus terurut, dapat
diprediksi dan dapat dideskripsikan oleh beberapa aturan sehingga mudah untuk dipelajari
dan dikuasai.
Menurut Shneiderman (2010, p5), ada delapan hal yang perlu diperhatikan dalam
membuat desain yang dinamakan dengan istilah 8 aturan emas. Menurut Shneiderman
(2010, p74-p75), terdapat delapan aturan emas dalam merancang antarmuka / user
interface :
31
1. Berusaha untuk konsisten
Tindakan konsisten diperlukan dalam situasi yang serupa. Hal ini biasa
digunakan dalam pembuatan prompt, menu dan help screens. Begitu juga
dengan pembuatan command user.
2. Menyediakan sebuah fungsional yang bersifat universal
Ketika pertama kali menggunakan sistem, pengguna yang masih baru
dan masih tidak familiar dapat dibantu melalui sebuah prosedur yang bersifat
dasar sehingga dapat dengan lebih mudah dimengerti. Seiring meningkatnya
frekuensi penggunaan, pengguna juga ingin mengurangi jumlah interaksi dan
meningkatkan laju dari interaksi tersebut. Singkatan, tombol fungsi, perintah
tersembunyi dan fasilitas makro sangat membantu expert users
3. Memberikan umpan balik yang informatif
Untuk setiap tindakan dari operator, harus ada sistem umpan balik.
Untuk tindakan-tindakan sering dan kecil, tanggapan dapat bersifat sederhana
sedangkan untuk tindakan jarang dan utama, respon harus bersifat lebih
detail.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan – urutan dari tindakan-tindakan yang ada harus diatur menjadi
bagian awal, tengah dan akhir. Umpan balik informatif pada sekumpulan
tindakan-tindakan yang ada memberikan kepuasan penyelesaian, rasa lega,
tanda untuk menghentikan suatu rencana serta pilihan dari pikiran mereka dan
indikasi bahwa caranya jelas yaitu untuk mempersiapkan sekelompok
tindakan-tindakan yang ada berikutnya
32
5. Memberikan penanganan kesalahan yang sederhana
Sebisa mungkin desain yang dibuat berasal dari sistem yang ada agar
pengguna tidak berbuat kesalahan yang serius. Namun, jika ada kesalahan
yang dibuat oleh user maka sistem harus dapat mendeteksi kesalahan tersebut
dan melakukan sebuah mekanisme yang mudah dipahami sebagai
penanganan kesalahan.
6. Memperbolehkan user untuk kembali ke tindakan yang sebelumnya
Fitur ini bertujuan untuk mengurangi kecemasan, karena pengguna tahu
bahwa kesalahan dapat dibatalkan. Sehingga mendorong pengguna dalam
mejelajah pilihan-pilihan tindakan yang tidak biasanya dilakukan. Bentuk dari
pembalikan tindakan dapat berupa satu tindakan, entri data atau sekelompok
lengkap dari tindakan-tindakan yang ada
7. Mendukung tempat pengendali internal (Internal Locus of Control)
Pengguna juga ingin menjadi pengontrol sistem dan berharap sistem
tersebut akan merespon tindakan yang dilakukan pengguna daripada
pengguna hanya merasa seperti seseorang yang dikontrol oleh sistem.
Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna menjadi
inisiator daripada responden
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia dalam mengolah informasi dalam jangka
waktu pendek memerlukan sesuatu yang dapat ditampilan namun diberikan
dalam bentuk yang sederhana. Halaman-halaman ganda diperketat, diberikan
33
cukup waktu untuk dapat berlatih mengenai kode, mnemonic dan urutan
tindakan
Menurut Shneiderman (2010, p32), terdapat lima faktor manusia terukur yang dapat
dijadikan sebagai pusat evaluasi, yaitu :
1. Waktu belajar, berapa lama waktu yang diperlukan user untuk mempelajari
cara yang relevan untuk melakukan suatu tugas?
2. Kecepatan kinerja, berapa lama waktu yang diperlukan user untuk
mengerjakan suatu tugas?
3. Tingkat kesalahan user, berapa banyak kesalahan dan jenis kesalahan
apakah yang bisa terjadi saat user mengerjakan tugas tersebut?
4. Daya ingat, bagaimana user melakukan manajemen pengetahuan setelah
beberapa waktu? Ingatan mungin dapat dihubungkan dengan waktu belajar
dan frekuensi penggunaan yang dilakukan.
5. Kepuasan yang subjektif, seberapa banyak user menyukai penggunaan
bermacam aspek dalam antarmuka? Jawaban dapat dipastikan melalui
wawancara atau melakukan survey, termasuk skala kepuasan dan tempat
untuk komentar bebas dari user.
1.21 Sepuluh Kesalahan Utama Pada Design Web
Menurut Nielsen (2000), dalam membuat sebuah design untuk website yang akan
dibangun terdapat beberapa kesalahan dan kesalahan tersebut terus terulang tanpa ada yang
34
mengetahui. Sehingga Nielsen merumuskan 10 kesalahan yang paling sering dilakukan.
Kesalahan-kesalahan tersebut diantaranya adalah :
1. Proses pencarian yang tidak baik
Secara keseluruhan sebuah mesin pencari dapat mengurangi kegunaan
ketika tidak bisa mengantisipasi kesalahan tulis, kata jamak dan beberapa
macam kesalahan lainnya.
2. PDF sebagai bacaan online
Banyak pengguna tidak suka membuka file PDF ketika sedang browsing
karena untuk melakukan pekerjaan mudah seperti mencetak dan menyimpan
dokumen menjadi sulit karena untuk standar command di browser tidak
berlaku.
3. Tidak mengubah warna dari tautan yang pernah dikunjungi
Pengetahuan tentang halaman sebelumnya dapat membantu mengerti
lokasi tempat sekarang berada. Mengetahui keadaan sebelum dan keadaan
sekarang akan membuat lebih mudah ketika menentukan langkah selanjutnya.
4. Tulisan yang sulit dibaca
Kumpulan tulisan adalah sebuah kesalahan yang fatal untuk interaksi
karena membosankan, dan cukup melelahkan untuk dibaca. Tulislah di web
untuk online bukan untuk hal akan dicetak.
5. Ukuran tulisan yang statis
35
CSS stylesheets kadang membuat website tidak bisa diubah ukuran
tulisannya melalui web browser. Tulisan yang kecil akan mengurangi
kemampuan membaca untuk sebagian besar orang yang diatas umur 40 tahun.
6. Judul dari halaman tidak jelas dalam pencarian search engine
Pencarian adalah hal yang paling penting untuk pengguna dalam
menemukan sebuah website. Pencarian juga merupakan hal yang penting untuk
pengguna dalam pencarian mereka untuk website pribadi. Judul dari halaman
website merupakan salah satu alat utama untuk menarik pengunjung dari list
pencarian dan membantu pengguna yang sudah ada untuk mencari halaman –
halaman khusus yang mereka butuhkan
7. Semua yang kelihatan seperti iklan
Pengguna web sudah belajar untuk berhenti untuk memperhatikan semua
iklan yang menghalangi dari tujuan utama mereka. Secara garis besar, ketika
mengabaikan sesuatu, pengguna tidak akan melihat lagi secara lebih detail
untuk mengetahui apa itu.
8. Melanggar konvensi desain
Konsistensi adalah aturan utama yang paling besar. Ketika sebuah hal
selalu berlaku sama, pengguna tidak perlu khawatir akan selanjutnya terjadi.
Sebaliknya, pengguna akan tahu apa yang akan terjadi dari pengalaman
sebelumnya.
9. Membuka halaman browser baru
36
Para desainer membuka sebuah halaman browser baru dengan teori
bahwa untuk membuat user tetap berada di website mereka. Akan tetapi,
strategi ini mempunyai umpan balik yang kurang baik karena hal ini
menyebabkan tombol back tidak dapat digunakan yang biasanya pengguna
menggunakan untuk kembali ke website sebelumnya.
10. Tidak menjawab pertanyaan dari user
Seorang user mempunyai sebuah tujuan ketika berkunjung ke sebuah
website. Mereka berkunjung karena ingin mencapai suatu pencapaian.
Kesalahan utama dari sebuah website adalah gagal dalam menyediakan
informasi yang dicari oleh user.