BAB 2
LANDASAN TEORI
2.1
Teori Umum
2.1.1
Pengertian Analisis Sistem
Menurut 
O’Brien 
(2003,p8), 
analisis 
adalah 
studi 
sistem  untuk
menentukan apa yang akan di lakukan di berbagai keadaan dan konsekuensi dari
apa
yang
dikerjakan.
Sedangkan
sistem adalah
sekumpulan
komponen
yang
berhubungan yang bekerja sama untuk tujuan yang sama dengan menerima
masukan
dan
menghasilkan
keluaran
dalam sebuah
proses
transformasi
yang
terorganisasi. Jadi
analisis sistem merupakan
proses
mempelajari
suatu
sistem
untuk menetapkan
apa
yang dilakukan sistem dalam berbagai keadaan dan apa
akibat
dari
yang
dilakukan
oleh
sistem tersebut.
Sedangkan
menurut
McLeod
(2001, p190), analisis sistem adalah penelitian atas sistem yang telah ada dengan
tujuan untuk merancang sistem baru atau diperbaharui.
Jadi dapat disimpulkan bahwa analisis sistem adalah memeriksa, meneliti,
mencari di
mana
letak kesalahan sistem yang sudah ada, serta menentukan apa
yang
akan
dilakukan
sistem,
kemudian
diperbaiki atau diperbaharui
untuk
merancang sistem yang baru. Analisis sistem juga merupakan bagian dari SDLC
(System
Development
Life
Cycle)
dimana
sistem analis
menentukan
jalannya
sistem informasi
yang
sudah
ada
didalam suatu
perusahaan,
kemudian
memperkirakan
kebutuhan
apa
yang
diinginkan
user
pada
sistem yang
baru.
Tujuan  utama  dari  analisis  sistem  adalah  untuk  memenuhi  kebutuhan  user,
sehingga  diperlukan 
gambaran 
yang  lengkap,  tidak  ambigu,  dan  konsisten
7
  
8
mengenai
kebutuhan
suatu
sistem
dan
apa
yang
perlu
dilakukan
oleh
sistem
tersebut.
2.1.2
Pengertian Perancangan Sistem
Menurut Valacich, George dan Hoffer (2004, p23), perancangan sistem
adalah suatu tahap dalam siklus pengembangan sistem (System Development Life
Cycle)
dimana sistem yang
dipilih
untuk pengembangan
dalam analisis
sistem
pertama kali dijabarkan secara
tersendiri dari semua platform komputer (desain
logika) dan kemudian diubah menjadi detil-detil teknologi secara spesifik (desain
fisik) dari semua rancangan pemrograman dari sistem yang dapat diselesaikan.
Menurut
McLeod
(2001,
p192),
perancangan
sistem adalah
penentuan
proses
dan
data
yang
diperlukan
oleh
sistem
baru.
Jika
sistem itu
berbasis
komputer,
rancangan
dapat
menyertakan spesifikasi jenis peralatan yang akan
dipergunakan.
Jadi
dapat
disimpulkan
bahwa
perancangan
sistem adalah
penentuan
bagaimana
sebuah
sistem yang
akan
dibuat,
dan
mengembangkannya
sesuai
dengan diinginkan oleh analisis sistem baik penentuan proses maupun datanya.
2.1.3
UML (Unified Modelling Language)
UML (Unified Modeling Language) (Whitten, Bentley dan Dittman, 2004,
p408), adalah sekumpulan konvensi pemodelan yang
digunakan untuk
menentukan
atau
menggambarkan
sebuah
sistem software
yang
terkait dengan
objek. Sedangkan menurut Roff, Jason T (2003, p35), UML adalah sebuah notasi
  
9
dan bahasa semantic yang bisa diaplikasikan pada setiap proses pengembangan
perangkat lunak.
Diagram UML dikelompokan menjadi beberapa perspektif
yang berbeda
untuk memodelkan suatu sistem, antara lain:
a.
Class Diagram
Class diagram adalah diagram yang menunjukkan serangkaian kelas,
antara muka, kolaborasi dan hubungan diantaranya (James Rumbaugh, Ivar
Jacobson, Grady Booch, 1998, p107).
Class Diagram
menggambarkan elemen – elemen data dalam sistem
yang hendak dikembangkan, cara mengelompokkan elemen – elemen data,
serta hubungan antar elemen data. Diagram ini mengidentifikasi atribut dan
operasi yang dimiliki oleh setiap class. ( Britton and Doake, 2001, p.69)
Pada
class
diagram 
terdapat beberapa
simbol
yang biasa digunakan
dalam pemodelan sistem, seperti yang ditunjukkan pada gambar.
-
                = Class
-
= Assosiation
-
= Generalization
  
10
Gambar 2. 1: Contoh Class Diagram
Sumber :
b.
Use case Diagram
Use case diagram merupakan gambaran yang digunakan untuk
memahami kebutuhan sistem. Suatu use case model dapat membantu dalam
perencanaan,
pengembangan
proyek, dan
dokumentasi
kebutuhan
sistem.
Use
case
adalah
suatu
interaksi
antara
user  
dengan
suatu
sistem yang
menggambarkan
keinginan
dari
user
dan
tanggapan
sistem terhadap
user.(Bahrami, 1999, p.129).
Pada   use   case  diagram   terdapat   beberapa   simbol   yang   biasa
digunakan 
(ditunjukkan 
pada 
gambar). 
Contoh 
penggunaan 
use  case
diagram ditunjukkan pada gambar
  
11
-
=
Aktor,
menggambarkan
user
yang
berperan
-
=   System boundary
-
=
Use
case, 
merupakan 
even 
yang
terjadi
-
Association, penghubung antara
aktor dan use case
Berikut adalah contoh dari use case diagram :
Gambar 2. 2 : Contoh Use case Diagram Sumber :
  
12
c.
Sequence diagram
Sequence
diagram
adalah
sebuah
bentuk
diagram interaksi
yang
menunjukan
objek
sebagai lifeline
beroperasi
dengan
interaksi
yang
merepresentasikan  sebagai  pesan 
bergambar, 
anak 
panah 
dari  sumber
lifeline
kepada
sasaran
lifeline.
Sequence
diagram sangat
efektif
untuk
menunjukan  bagaimana  komunikasi 
antar  objek,  dan  pesan  apa 
yang
menjadi  pemicu  dari  komunikasi  tersebut.  Selain  itu  Sequence diagram
tidak ditujukan untuk menunjukkan logika prosedural yang kompleks.
Komponen
komponen
yang
digunakan
dalam
Sequence
diagram
antara lain:
1.
Lifeline
merepresentasikan partisipasi individual ( object class ).
Gambar 2. 3 : Contoh Lifeline Sumber :
2.
Aktor
Aktor sebenarnya masih
termasuk dalam lifeline, tetapi
dalam kasus tertentu jika Sequence diagram dimiliki oleh use
case.
  
13
Gambar 2. 4 : Contoh aktor dalam Sequence diagram Sumber :
3.
Message (pesan)
Ditunjukkan sebagai anak panah.
Gambar 2. 5 : Contoh pesan dalam Sequence diagram Sumber :
  
14
4.
Self message
Mereprensentasikan pengulangan ( recursive ) dari suatu
operasi, atau metode yang memanggil metode yang sama.
Gambar 2. 6 : Contoh self message pada Sequence diagram Sumber :
5.
Start / end lifeline
Lifeline
dapat
di buat
atau
dihancurkan
selama
skala
waktu
yang
direpresentasikan
oleh
Sequence diagram.
Pada
kasus
tertentu lifeline   
berakhir dengan tanda stop yang
direprensentasikan oleh garis silang.
  
15
Gambar 2. 7 : Contoh Start/end lifeline pada Sequence diagram Sumber :
Berikut adalah contoh dari Sequence diagram :
Gambar 2. 8 : Contoh Sequence diagram Sumber :
  
16
d.
State Transition Diagram
Menurut 
Britton dan Doake (2001,
p.109), state
transition
diagram
menggambarkan tanggapan dari suatu objek terhadap suatu aksi, tanggapan
dapat berupa perpindahan objek dari suatu keadaan pada suatu waktu  ke
keadaan
lainnya,
atau objek
tetap
berada
pada keadaan
yang sama. State
transition diagram merupakan sifat ( behavior )  dari suatu class .
Notasi
yang
digunakan
pada
State Transation Diagram
ditunjukan
pada gambar di bawah ini :
1.
Initial State
2.
Final State
3.
Transition
4.
State
Keterangan :
1.
Initial state yaitu titik awal proses.
2.
Final State yaitu kondisi akhir proses.
3.
Transition 
yaitu 
suatu 
hubungan 
antara 
dua   state
yang
menunjukkan
bahwa
suatu
objek
pada state pertama
akan
melakukan
aksi
tertentu
dan
memasuki state kedua
ketika
terjadi suatu kejadian dan memenuhi kondisi tertentu.
  
17
4.
State merupakan suatu kondisi atau keadaan suatu objek pada
waktu
tertentu
selama
memenuhi
beberapa
kondisi,
melakukan aktivitas, atau menunggu suatu kejadian.
Gambar 2. 9 : Contoh State Diagram Sumber :
e.
Activity diagram
Activity diagrams menggambarkan berbagai alur aktivitas dalam
sistem yang
sedang
dirancang,
bagaimana
masing-masing
alur
berawal,
keputusan yang mungkin terjadi, dan bagaimana mereka berakhir.
Activity
diagram juga
dapat
menggambarkan
proses
paralel
yang
mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan State
Diagram khusus, di
mana
sebagian
besar state adalah
aksi dan sebagian
besar transisi dipicu oleh selesainya state sebelumnya (internal processing).
  
18
Oleh karena itu Activity diagram tidak
menggambarkan behaviour internal
sebuah sistem (dan interaksi antar subsistem)
secara
eksak,
tetapi
lebih
menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara
umum.
Sebuah
aktivitas
dapat
direalisasikan
oleh
satu use case
atau
lebih.
Aktivitas menggambarkan proses yang berjalan, sementara use case
menggambarkan
bagaimana
aktor
menggunakan
sistem untuk
melakukan
aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan
sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan
proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat
berupa titik, garis horizontal atau vertikal.
Activity  diagram  dapat dibagi menjadi beberapa object  swimlane
untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas
tertentu.
Notasi yang digunakan pada State Transation Diagram
ditunjukan
pada gambar di bawah ini :
=  Activity
=  intitial state
=  final state
  
19
= decision
= fork
= join
= control flow
Keterangan :
1.   Activity
=  spesifikasi dari sifat-sifat yang memiliki
parameter yang berurutan.
2.   Intial state
= posisi ( state ) dimana activity dimulai
3.   Final state
= posisi ( state ) dimana activity berakhir
4.   Decision
=
merupakan
sebuah
node, yang
mengharuskan
adanya pemenuhan tugas / activity untuk
dapat menuju ke activity berikut
5.   Fork
=   memisahkan sebuah activity menjadi 2
activity yang berbeda
  
20
6.   Join
=
menggabungkan  2  activity menjadi  sebuah
activity
7.   Control flo=
menunjukkan  arus  kontrol  dari  activity
ke
activity yang lain
Gambar 2. 10 : Contoh Activity diagram Sumber :
f.
Deployment Diagram
Deployment diagram digunakan untuk melayani pemodelan hardware
yang
digunakan
dalam
implementasi sistem
dan
asosiasinya
antara
komponen-komponen
tersebut. Elemen
yang
digunakan
dalam deployment
diagram
adalah
nodes (ditunjukkan
sebagai
sebuah
cube),
komponen
(ditunjukkan sebagai sebuah kotak bujursangkar) dan juga asosiasi.
  
21
Gambar 2. 11 : Contoh Deployment Diagram
Sumber :
2.1.4
Internet
Internet
adalah
suatu media
informasi
komputer
global
yang
dapat
dikatakan sebagai teknologi tercanggih abad ini. Dengan adanya internet dapat
melakukan 
semua 
aktivitas 
yang 
sulit 
dilakukan 
secara 
biasa 
mulai 
dari
menonton, baca berita, belanja, melakukan pemesanan produk secara online dan
lainnya. Secara etimologis internet berasal dari bahasa inggris, yakni inter berarti
antar dan net berarti jaringan sehingga dapat kita artikan hubungan antarjaringan
(Bunafit Nugroho, 2004, p1).
2.1.5
Protokol internet
Protokol Internet
(Inggris
Internet Protocol disingkat IP) adalah protokol
lapisan  jaringan  (network layer dalam  OSI Reference Model)  atau  protokol
lapisan internetwork (internetwork layer dalam DARPA Reference Model) yang
  
22
digunakan oleh protokol TCP/IP
untuk
melakukan
pengalamatan
dan routing
paket data antar host-host di jaringan komputer berbasis TCP/IP. Versi IP yang
banyak digunakan adalah IP versi 4 (IPv4) yang didefinisikan pada RFC 791 dan
dipublikasikan
pada
tahun
1981,
tetapi
akan digantikan
oleh
IP
versi
6
pada
beberapa waktu yang akan datang.
Protokol
IP merupakan
salah
satu
protokol
kunci
di
dalam
kumpulan
protokol TCP/IP. Sebuah paket IP akan membawa data aktual yang dikirimkan
melalui  jaringan  dari  satu  titik  ke  titik  lainnya.  Metode  yang  digunakannya
adalah connectionless yang berarti protokol tidak perlu membuat dan memelihara
sebuah sesi koneksi. Selain itu, protokol ini juga tidak menjamin penyampaian
data,
tapi
hal
ini
diserahkan
kepada protokol
pada
lapisan
yang
lebih
tinggi
(lapisan
transport
dalam
OSI Reference Model
atau
lapisan
antar
host
dalam
DARPA 
Reference  Model), yakni protokol Transmission  Control  Protocol
(TCP).  (http ://id.wikipedia.org/wiki/protokol internet)
2.1.6
HTTP (Hyper Text Transfer Protocol)
HTTP
(Hypertext Transfer Protocol) adalah
Protokol
yang dipergunakan
untuk mentransfer dokumen dalam world wide web (WWW). Protokol ini adalah
protokol ringan , tidak berstatus dan generik yang dapat dipergunakan berbagai
macam tipe dokumen.
Prosedur HTTP berkerja ketika client melakukan sebuah permintaan
(request)
akan
suatu
file
tertentu
dari server dalam suatu
hubungan
TCP/IP.
Kemudian  server yang  menerima  pesan  request tersebuat  akan  mencari  dan
  
23
mengirimkan file
yang diminta bila ada. Sedangkan bila tidak ada
maka server
akan mengirimkan sebuah pesan kesalahan.
Protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990.
Pada saat tersebut yang dipakai adalah protokol HTTP versi 0.9. Kemudian pada
tahun 1996 protokol
HTTP
diperbaiki
menjadi
HTTP
versi 1.0.
Perubahan
ini
untuk mengakomodasi tipe–tipe dokumen yang hendak dikirim beserta encoding
yang dipergunakan dalam pengiriman data
dokumen. Pada tahun 1999 sesuai
dengan perkembangan infrastruktur
internet 
maka dikeluarkan
HTTP versi
1.1
untuk  
mengakomodasi   proxy  cache  ,   dan   koneksi  
yang   persisten.(http
://id.wikipedia.org/wiki/HTTP)
2.1.7
TCP/IP
TCP/IP
(Transmission Control Protocol/Internet Protocol) adalah standar
komunikasi data yang digunakan oleh  komunitas internet dalam
tukar menukar
data dari satu komputer ke komputer lain.
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an
hingga awal
1980-an
sebagai
sebuah
protokol standar
untuk
menghubungkan
komputer-
komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN).
TCP/IP
merupakan
sebuah
standar
jaringan terbuka yang bersifat independen
terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat
digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang
sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga
beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya
di
internet.
Protokol
ini
juga
bersifat
routable
yang berarti
protokol
ini
cocok
  
24
untuk menghubungkan sistem-sistem berbeda
(seperti
Microsoft
Windows
dan
keluarga UNIX) untuk membentuk jaringan yang
heterogen.
Semakin hari pengguna komputer semakin banyak. Oleh karena itu,
protokol resmi diakui oleh semua jaringan sangatlah diperlukan. Pada tahun 1982
terbentuklah transmission
protokol 
dan
internet protokol
/
IP
sebagai sebuah
jaringan besar yang memberikan kesempatan
bagi
pengguna
untuk
saling
berkomunikasi.
2.1.8
WWW (World Wide Web)
World Wide Web (WWW atau Web) merupakan sistem informasi
terdistribusi yang berbasis hypertext. Dokumen-dokumen yang dikelola dalam
Web bisa beraneka jenis (pengolah kata, lembaran kerja, tabel basis data,
presentasi, hypertext dan lain-lain) dan beragam format ( .doc, .pdf dan lain-lain).
Jenis
dokumen
yang
paling
umum
adalah
dokumen hypertext
yang
dibentuk
berdasarkan format HTML (HyperText Markup Language). HTML sendiri
sesungguhnya
merupakan
varian
dari
SGML
(Standard
Generalized Markup
Language). Dokumen
HTML umumnya berisi teks dengan
spesifikasi font dan
berbagai intruksi format lainnya. Link ke dokumen yang lain (baik lokal maupun
jarak jauh atau remote) dapat diletakkan sebagai bagian dari teks. Begitu juga
dengan objek gambar yang dapat pula ditampilkan melalui perintah format yang
khusus untuk itu (Fathansyah, 2004, p325).
  
25
2.1.9
URL (Uniform Resource Locator)
Uniform  Resource  Locator  (URL)  adalah  rangkaian  karakter  menurut
suatu format standar tertentu, yang digunakan
untuk menunjukkan alamat suatu
sumber  seperti dokumen dan gambar  di internet.URL merupakan suatu inovasi
dasar bagi
perkembangan
sejarah
internet.
URL
pertama kali
diciptakan
oleh
Tim Berners
Lee
pada
tahun
1991,
agar
penulis–penulis
dokumen
dapat
mereferensikan makalahnya ke
Sejak tahun 1994 konsep URL telah
dikembangkan  menjadi  istilah  Uniform Resource Indentifier  atau  URL  yang
lebih umum sifatnya. (http://id.wikipedia.org/ wiki / URL).
2.1.10  HTML (Hyper Text Markup Language)
HTML (Hypertext Markup Language) adalah bahasa Markup yang
umum
digunakan dalam dunia internet. Kepopuleran HTML disebabkan karena HTML
ini mudah digunakan. Pembuatan dokumen web dengan HTML dapat dilakukan
dengan
mudah
dan
cepat.
Dokumen
web dapat
tersaji
dengan
cepat
kepada
pembaca
diseluruh
dunia
sekaligus.
Sebenarnya
HTML
bukanlah bahasa
pemograman,  melainkan  bahasa  interpreter.  Hal  ini  terlihat  dari  penamaan
HTML yang berarti bahasa markup (penandaan terdapat sebuah dokumen teks).
Halaman web dibangun oleh kode–kode HTML
yang disebut
juga dengan tag-
tag HTML.
Pada
masa
sekarang
ini
HTML
merupakan interface standar internet.
Kekuatan utama file HTML adalah kemampuannya dalam melakukan link
hypertext. Sebuah text
yang diberi
link dapat
membuat browser
melompat dari
satu halaman ke halaman lain.
Halaman–halaman
HTML
ini bisa mengandung
  
26
animasi suara, video, bahkan sampai program interaktif yang kompleks (Winasis,
T.A, 2001, p42).
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang
digunakan untuk membuat sebuah halaman
web dan menampilkan berbagai
informasi
di
dalam sebuah
browser
internet.
HTML
juga
merupakan
sebuah
standar yang digunakan secara luas untuk menampilkan halaman web dan HTML
kini merupakan standar internet yang saat ini.dikendalikan oleh World Wide Web
Consortium (W3C). (http://id.wikipedia. org/ wiki / HTML)
2.1.11 XML (Xtensible Markup Language)
Menurut Widodo Budiharto (2005, p151), XML ialah bahasa markup
berbasis teks yang menjadi bahasa standar pertukaran data di web. Tidak seperti
HTML, XML tag mengidentifikasikan data selain menentukan bagaimana
menampilkannya.  XML  menjadi  landasan  dari  pengguna  web services yang
mulai popular tahun 2001. XML merupakan sebuah ”Markup Language” seperti
HTML yang dipergunakan untuk menguraikan atau menjelaskan data–data.
Namun XML tidaklah sama dengan HTML , dan perbedaan tersebut adalah
XML  digunakan  untuk  menjelaskan  atau  menggambarkan  informasi
yang ada, sedangkan HTML digunakan untuk menampilkan informasi.
Tag  pada HTML telah didefinisikan sebelumnya dan tidak dapat
berubah, sedangkan tag pada
XML
tidak
didefinisikan
melainkan
ditentukan oleh pembuatnya sendiri sehingga tiap orang dapat membuat
tag–tag yang berbeda.
  
27
Berdasarkan keterangan di atas maka dapat dikatakan bahwa XML berupa
file  teks
yang  tidak 
tergantung 
pada 
hardware 
maupun 
software 
tertentu
sehingga XML dapat dipergunakan oleh banyak user
yang
berbeda
untuk
mengakses data–data dengan hardware dan software yang berbeda.
2.1.12  Web Browser
Web
Browser adalah suatu paket perangkat lunak yang membolehkan
seorang
pengguna
untuk
menampilkan dan
berinteraksi
dengan
dokumen-
dokumen
yang
di
host
oleh
server-server
web. Contoh web browser adalah
Mozilla Firefox, Internet Explorer, Netscape, dan lain-lain.. (http://id.wikipedia.o
rg/wiki /Web Browser).
2.1.13  E-mail
Surat eletronik (disingkat surel atau
surat-e) atau nama umumnya dalam
bahasa
inggris e-mail atau
email adalah
sarana
kirim
mengirim surat
melalui
jalur
internet.
Dengan
surat
biasa
seseorang perlu
membeli
perangko
sebagai
biaya
pengiriman,
tetapi surat elekronik tidak perlu
memakai
biaya
untuk
mengirim. Biaya
yang
mungkin
dikeluarkan
hanyalah
biaya
untuk
mem- bayar
koneksi internet.
Surat
elektronik sudah
memulai
dipakai di tahun 1960-an. Pada saat itu
internet
belum terbentuk,
yang
ada
hanyalah
kumpulan
mainframe
yang
terbentuk sebagai jaringan.
Mulai
tahun
1980-an,
surat elektronik
sudah
bisa
dinikmati oleh khalayak umum. Sekarang ini banyak perusahaan pos diberbagai
  
28
negara
menurun penghasilannya disebabkan
masyarakat
sudah
tidak
memakai
2.1.14  IMK (Interaksi Manusia dan Komputer)
Interaksi Manusia dan Komputer adalah displin ilmu yang berhubungan
dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk
digunakan oleh manusia, serta studi fenomena-fenomena
yang
berhubungan
dengannya (Shneiderman 1998, p95).
Delapan
Aturan
Emas
desain
antarmuka Shneiderman (1998, p95-96),
adalah sebuah petunjuk yang baik untuk desain yaitu :
1.   Berusaha untuk konsisten (Strive for consistency). Rangkaian aksi yang
konsisten sebaiknya digunakan dalam
situasi
yang
mirip.
Terminologi
yang
serupa
harus
digunakan
dalam
prompts,
menu
dan
layer
bantu.
Dan 
perintah 
yang 
konsisten 
harus 
digunakan 
pada 
keseluruhan
aplikasi.
2.   Memungkinkan penggunaan shortcut bagi user (Enable frequent users
to use shortcuts). Seiring dengan peningkatan penggunaan, begitu juga
keinginan user untuk mengurangi jumlah interaksi dan meningkatkan
kecepatan interaksi.
3.   Memberikan  reaksi 
yang 
informatif  (Offer informative feedback).
Untuk setiap aksi dari pengguna, seharusnya sistem memberikan reaksi
yang informatif. Untuk aksi yang sering terjadi, reaksi yang diberikan
bisa sederhana, sedangkan untuk aksi yang jarang terjadi, reaksi yang
diberikan harus lebih lengkap
  
29
4.   Mendesain dialog untuk menyatakan penutupan (Design dialog to yield
closure). Rangkaian aksi harus dikumpulkan kedalam suatu kelompok
dimana terdapat awal, tengah dan akhir.
5.   Penanganan 
error 
yang 
sederhana 
(Offer
simple  error 
handling).
Sebanyak
mungkin,
rancanglah
sistem agar
user
tidak
membuat
kesalahan
fatal.
Bila
terjadi
sebuah
kesalahan,
sistem harus
bisa
mendeteksi kesalahan tersebut dan memberikan mekanisme yang
sederhana dan mudah dimengerti untuk menangani kesalahan tersebut.
6.   Izinkan pembalikan aksi yang mudah (permit easy reversal of actions).
Fasilitas 
ini 
menghilangkan 
kegelisahan, 
karena 
user 
mengetahui
bahwa kesalahan dapat dibatalkan, dengan begitu maka akan
meningkatkan keinginan untuk mencoba pilihan-pilihan yang tidak
dikenal.
7.
Pusat kendali pada user (provide a sense of user control). User
berpengalaman sangat menginginkan perasaan bahwa mereka
mengendalikan 
sistem  dan 
sistem 
memberi  respon
terhadap 
aksi
mereka. Rancanglah sistem agar user yang memulai suatu aksi daripada
hanya merespon.
8.   Kurangi  beban  ingatan  jangka  pendek  (Reduce short-term memory
load). Keterbatasan dari kemampuan manusia untuk memproses
informasi dalam ingatan jangka pendek
menghasilkan suatu kebutuhan
akan tampilan untuk dibuat tetap sederhana, banyak halaman tampilan
digabungkan,  dan  waktu  pelatihan  yang  cukup  dialokasikan  untuk
kode-kode, menghafal dan rangkaian aksi.
  
30
2.1.15
Rekayasa Piranti Lunak
Software Engineering atau RPL (Pressman, 1997, p20) merupakan
aplikasi dari sebuah pendekatan sistematik yang dapat diukur untuk
mengembangkan,
mengoperasikan,
dan
memelihara software.
Software
engineering
ini juga
merupakan teknologi yang dibagi
menjadi beberapa layer
atau lapisan yaitu :
1.   Tools
Dimana tools tools dari
software engineering
ini menyediakan support
yang
automated atau
yang semi-automated untuk
process
dan
methods.
CASE
(Computer
Aided
Software
Engineering)
merupakan
sistem untuk
menopang perkembangan perangkat lunak.
2.   Methods
Dimana metode – metode dari software engineering ini menyediakan teknik
bagaimana cara untuk membuat atau membangun software. Method ini juga
termasuk
perencaan
proyek (projet planning)
dan
estimasi,
serta sistem
sistem,
software
requirements,
dan
seluruh
tahap
tahap
dalam SDLC
(Software Development Life Cycle).
3.   Process
Dimana pada lapisan ini berfungsi sebagai perekat antara lapisan –
lapisan
teknologi  (technology
layers) bersamaan dengan enables  rational  dan
dengan waktu pengembangan dari software komputer.
4.   Quality Focus
Dimana pada lapisan ini kebanyakan software masih berorientasi atau masih
berfokus pada kualitas yang akan dihasilkan dari software tersebut.
  
31
Software  merupakan sebuah elemen sistem
yang  lebih  mengarah  ke
suatu logika daripada mengarah ke suatu
yang bersifat fisikal.
Karakteristik
Software, antara lain:
1.   Software itu dikembangkan (developed) atau direkayasa (engineered).
2.   Software tidak bisa usang / rusak.
3.   Kebanyakan
software dibuat secara custom built, serta tidak dapat dirakit
dari komponen yang sudah ada.
2.1.16
Pengembangan Piranti Lunak
Seringkali seorang customer sulit menentukan input dan output yang
diharapkan. 
Tentu 
saja 
ini 
menyebabkan 
developer 
tidak 
yakin 
dengan
algoritma  yang  dibuatnya,  serta  interaksi  manusia  dan  mesin  yang  harus
diambil.
Dalam hal
seperti
ini,
menggunakan
prototype
untuk
software
engineering merupakan langkah yang terbaik. Prototyping (Bob Hughes, Mike
Cotterell, 2006, p78) sebenarnya adalah sebuah rangka kerja dari satu atau
beberapa aspek dari sistem yang akan dibuat.
Gambar 2.7 Model Prototype Paradigm
  
32
Proses Prototyping dimulai dari :
1.
Pengumpulan 
kebutuhan 
yang 
dilakukan 
oleh 
pengembang 
software
dengan klien.
2.
Hasil
dari
pengumpulan
kebutuhan
diteruskan
pada
Quick
Design.Quick
Design
ini
memfokuskan
pada
representasi aspek-aspek software yang
dapat dilihat oleh user, misalnya format input dan output.
3.
Quick  Design  diteruskan pada pembentukan prototype. Prototype ini
dievaluasi
oleh
customer
/
user dan
digunakan
untuk
memperbaiki
kebutuhan-kebutuhan software. Proses
iterasi
terjadi agar
prototype
yang
dihasilkan memenuhi kebutuhan customer,
juga
pada
saat
yang
sama
developer mengerti lebih baik tentang apa yang harus dikerjakan.
Masalah yang dihadapi oleh prototype paradigm ini adalah :
1.
Customer
hanya
melihat
pada
apa
yang
dihasilkan
oleh
software,
tidak
peduli
pada
hal-hal
yang
berhubungan dengan kualitas software dan
pemeliharaan jangka panjang.
2.
Developer seringkali
menyetujui apa
yang diterangkan oleh customer agar
prototype
dapat
dihasilkan
dengan cepat.
Akibatnya
timbul
pemilihan
sistem operasi / bahasa pemrograman yang tidak tepat.
(Pressman, 2002, p41)
  
33
Teori Khusus
2.2.1
Java
Java
ialah
bahasa
pemrograman
serbaguna atau bahasa pemrograman
berorientasi objek yang dibuat oleh Sun Microsystem pada tahun 1991. Java juga
merupakan
bahasa
pemrograman
tingkat tinggi (high level programming
language)
yang
berorientasi objek. Java
didesain
untuk
menjadi
suatu
bahasa
yang
kecil,
mudah
dan
portable terhadap berbagai
platform.
Ketika
sebuah
program dikompile, java akan mentranslasi ke kode mesin atau instruksi prosesor
yang spesifik pada prosesor.
Pada Lingkungan pengembangan java, ada 2 bagian  yaitu java compiler
dan java interpreter. Compiler
membangkitkan bytecode (sekumpulan
instruksi
yang meresemble kode mesin tetapi tidak spesifik pada prosesor), Disamping itu
ada kode mesin dan interpreter yang mengeksekusi program java. Kekurangan
menggunakan bytecode ialah kecepatan eksekusi. Untuk menulis sebuah program
java, dibutuhkan editor, compiler
java dan Java Runtime Environment (Widodo
Budiharto, 2005, p1). Java memiliki beberapa keuntungan yaitu :
1.
Simple
2.
Object oriented
3.
Multiplatform
4.
High Performance
5.
Reuse
Java tidak hanya sekedar bahasa pemrograman, tetapi 
juga merupakan
platform.
Banyak
bahasa
program yang
tidak
memiliki
fitur
seperti
multi-
threading, GUI-building, dan kemampuan dalam networking. Dimana harus
  
34
menggunakan
hardware
atau
operating-system dependent API
(Application
Program Interface) yang akan mengikat (binding) program. Sedangkan Java
platform merupakan
teknologi
pertama
yang
berintegrasi
penuh
untuk
dapat
menggunakan thread,    
socket,   
GUI component dan banyak lagi.
wikipedia.org/wiki/Java )
Sekitar tahun 1998, Sun spesifikasi java dan memperkenalkan java 1.2
beserta library
terbaru
yang
membuat
java
bukan
hanya
sebuah bahasa
tetapi
juga menjadikan java sebuah platform bernama Java 2 Standard Edition (J2SE).
Dengan
J2SE,
Sun
berusaha
memperbaiki
kekurangannya
dengan membundle
berbagai
macam library
menjadi
1
unit.
J2SE
menyediakan
library
untuk
dukungan GUI, jaringan, akses database dan lainnya. J2SE juga merupakan paket
dasar
untuk J2EE. J2SE hanya
mampu
membangun aplikasi standalone, namun
tidak
dapat
membangun
dan
mendistribusikan
aplikasi
berskala enterprise/
perusahaan. Edisi lain yang diluncurkan java untuk membangun aplikasi mobile
seperti HP dan PDA ialah J2ME (Java to Micro Edition).
J2EE diperkenalkan pada tahun 1998,
yang
mendefinisikan
sebuah
arsitektur
multi
tier
untuk
Enterprise
information
system (EIS). Platform J2EE
menentukan komponen aplikasi logis di dalam sebuah sistem dan mendefinisikan
aturan pada proses pengembangan. Gambar
2.15
menampilkan
arsitektur
dari
J2EE (Widodo Budiharto, 2005, p2).
  
35
Kode Java
Intermediate Compilation
Java Bytecode
Runtime VM Interpretation
Win32
HP-UX
Solaris
Gambar 2.15 Arsitektur J2EE
2.2.2
Macromedia Dreamweaver
Macromedia
Dreamweaver
adalah
sebuah
editor web
profesional
yang
digunakan
untuk
mendesain
dan
mengelola
situs
Web atau
halaman
Web.
Dreamweaver paling sering digunakan oleh Web desainer atau Web programmer
dalam mengembangkan suatu situs Web. Hal ini disebabkan area kerja, fasilitas,
dan kemampuan dreamweaver yang makin powerful dan menunjang peningkatan
produktifitas
dan
efektifitas
untuk mendesain
atau
membangun
situs
web.
Dreamweaver  juga  dilengkapi  dengan  fasilitas  untuk  manajemen  situs  yang
cukup lengkap. (http://id.wikipedia.org/wiki/Adobe Dreamweaver)
2.2.3
Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
(platform-independent).  Berikut  ini  adalah  sifat  dari  Eclipse:  Multi-platform:
  
36
Target sistem operasi
Eclipse adalah Microsoft Windows, Linux, Solaris,
AIX,
HP-UX dan Mac OS X. Mulit-language: Eclipse dikembangkan dengan bahasa
pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi
berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP,
dan lain sebagainya. Multi-role: Selain
sebagai
IDE
untuk
pengembangan
aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan
perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web,
dan
lain
sebagainya.
Eclipse
pada
saat ini merupakan salah satu IDE favorit
dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode
pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang
membuatnya populer adalah kemampuannya
untuk
dapat
dikembangkan
oleh
pengguna dengan komponen yang dinamakan plug-in.
2.2.4
Microsoft Visio
Microsoft Visio (atau sering disebut Visio) adalah sebuah program aplikasi
komputer yang sering
digunakan untuk
membuat diagram, diagram alir
(flowchart), brainstorm,
dan
skema
jaringan
yang
dirilis
oleh
Microsoft
Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagram-
diagramnya.
Visio aslinya bukanlah buatan Microsoft Corporation, melainkan buatan
Visio Corporation, yang diakusisisi oleh Microsoft pada tahun 2000. Versi yang
telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan
Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Professional
  
37
menawarkan
antarmuka
pengguna
yang sama,
tetapi
seri
Professional
menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih
lanjut
dan
juga
penataan
letak
(layout). Selain
itu,
edisi
Professional
juga
memudahkan
pengguna
untuk
mengkoneksikan
diagram-diagram terhadap
beberapa sumber data dan juga menampilkan informasi secara visual dengan
2.2.5
Corel Draw
Corel adalah perusahaan pembuat perangkat lunak komputer. Produk Corel
yang
paling terkenal
adalah Corel
Draw,
sebuah
perangkat
lunak
yang
dibuat
untuk gambar vektor atau pembuatan vektor. Corel menyediakan paket dalam
penjualan  perangkat  lunaknya,  yaitu  Corel  Graphic  Suite,  yang  didalamnya
terdiri
dari
Corel
Draw, Corel
R.A.V.E,
Corel
PhotoPaint, Corel
Trace, Corel
Capture,
Corel
update,
Font
Navigator, dan SB profiler. Perusahaan Corel
didirikan tahun 1985 dan memiliki markas di Ottawa, Kanada. Berdasarkan data,
pengguna produk Corel telah mencapai lebih dari 40 juta dan produk Corel telah
2.2.6
Adobe Photoshop
Adobe Photoshop (atau biasa disebut Photoshop) adalah perangkat lunak
editor citra buatan Adobe Systems
yang dikhususkan untuk pengeditan
foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh
fotografer digital dan perusahaan iklan sehingga dianggap
sebagai pemimpin
pasar  (market leader)  untuk  perangkat  lunak  pengolah  gambar  dan  bersama
  
38
Adobe
Acrobat, dianggap
sebagai produk terbaik
yang
pernah
diproduksi
oleh
Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS
dan 
versi sembilan disebut Photoshop CS2. (http://id.wikipedia.org/wiki/Adobe
Photoshop)
2.2.7
MVC (Model View Controller)
Model-View-Controller merupakan
sebuah
aplikasi
yang
dipecah
secara
fungsional ke dalam komponen utama, yaitu Model, View dan Controller. Model
merepresentasikan business obyek yang ditangani, diolah atau ditampilkan di
dalam aplikasi. View bertanggung jawab
untuk menampilkan model, dan secara
umum  sebagai  user  interface.  Controller  bertanggung  jawab  untuk
mengendalikan alur kerja aplikasi.
Dalam teknologi Java, Model diimplementasikan dengan Java
Bean, serta
Helper
Classes yang bertanggung jawab untuk
melakukan pengolahan data,
maupun interaksi dengan database. View diimplementasikan sebagai Java Server
Pages (JSP). Sedangkan Controller diimplementasikan dengan Java Servlet.
(ekobs@developerforce.net, 2003, p65)
2.2.8
JSP (Java Server Pages)
Untuk
membuat suatu halaman web dapat bersifat dinamis sesuai dengan
permintaan pemakai, pengembangan
aplikasi web bisa
menggunakan perangkat
lunak seperti JSP, PHP,
ASP,
dan PERL. JSP (Java Server Pages) merupakan
teknologi berdasarkan pada bahasa pemograman java yang dikembangkan oleh
Sun Microsistem.
  
39
Tujuan
JSP
adalah
mempermudah
pembuatan
manajemen
halaman web
dinamis, dengan memisahkan logic bisnis dengan presentasi/tampilan (Widodo
Budiharto, 2005, p115).
Perbedaan  dari  JSP  dengan  applet  yang  merupakan  suatu  fitur  dalam
bahasa pemrograman java adalah bahwa JSP melakukan pemrosesan pada sisi
server atau sering dikenal
sebagai ServerSide Programming.
Hal
ini
membuat
aplikasi web tidak tergantung terhadap keberadaan teknologi java pada sisi client.
Sedangkan pada applet client diharuskan
untuk
memiliki suatu sistem teknologi
java pada
komputernya agar
aplikasi dapat
dijalankan. Client
hanya
menerima
suatu halaman web yang sudah diproses web server menjadi HTML.
Beberapa kelebihan dari JSP adalah antara lain :
JSP mendukung multiplatform. Dengan
memiliki kemampuan multiplatform,
aplikasi yang menggunakan JSP dapat dipindahkan kedalam berbagai sistem
operasi tanpa perlu perubahan apapun. Walau dalam hal ini JSP bukan satu–
satunya yang memiliki kemampuan multiplatform
JSP
menggunakan
bahasa
pemrograman
java. Dengan
menggunakan
bahasa
pemrograman java sebagai dasar maka para pemrogram yang telah mengenal
java
tidak
akan
mengalami
kesulitan
untuk mempelajari
JSP.
Selain itu,
karena JSP menggunakan teknologi dari java maka JSP juga memiliki semua
keunggulan dari bahasa pemrograman  
java. Menurut
Widodo Budiharto
(2005, p115), perbedaan antara JSP dari servlet ialah :
Servlet ialah jawaban dari java untuk menggantikan CGI. Servlet
dieksekusi di server dan mengembalikan permintaan browser
  
40
JSP  memisahkan  isi  web dinamis  dan  statis,  dan  memisahkan
logic dan presentasi di aplikasi web.
2.2.9
Servlet
Servlet adalah
sebuah class
yang digunakan
untuk menerima request dan
memberikan response,
terutama
melalui
protokol
HTTP.
Servlet
merupakan
teknologi
inti
untuk
pengembangan
aplikasi web
dengan
java.
(ekobs@developerforce.net, 2003, p4)
Sedangkan
menurut
Widodo
Budiharto
(2005, p97), servlet ialah kelas-
kelas
di
java
yang
digunakan
untuk
memperluas
kemampuan server
yang
menyimpan aplikasi
yang akan diakses melalui
model pemograman berbasiskan
request-response. Servlet API (Application Programming Interface) terdiri dari 2
package, yaitu javax.servlet dan javax.servlet.http. Paket javax.servlet.http berisi
kelas dan interface yang spesifik ke HTTP.
2.2.10  Web server
Secara 
global 
Server 
dapat 
diartikan 
sebagai 
pusat  dan 
difungsikan
sebagai “ pelayan “ yang berguna untuk pengiriman data 
atau penerimaan data
serta mengatur pengiriman dan penerimaan data di antara komputer-komputer
yang tersambung atau dengan kata lain server berfungsi menyediakan pelayanan
terhadap kline (Bunafit Nugroho, 2004, p5-6).
Web Server adalah sebuah bentuk server yang
khusus digunakan untuk
menyimpan halaman website atau home page. Komputer dapat dikatakan sebagai
web server jika komputer tersebut memiliki suatu program server yang disebut
  
41
Personal Web Server (PWS). PWS ini berfungsi agar halaman web yang ada di
dalam sebuah
komputer
server
dapat
dipanggil
oleh
komputer
kline
(Bunafit
Nugroho , 2004, p6).
Macam–macam Web Server :
Apache (Open Source)
PWS (Personal Web Server)
Cara
kerja Web
Server
adalah
HTTP
memberikan
layanan
yang
sangat
bagus, dalam hal transfer dokumen yang mudah dan penyediaan fasilitas enkripsi
untuk 
keamanan. 
Nama 
dokumen  dalam  URL 
bisa 
juga 
mengidentifikasi
program tertentu
yang
dapat
dieksekusi
untuk
menghasilkan dokumen
HTML.
Ketika server HTTP
menerima
permintaan
(request)
untuk
dokumen tersebut,
server
akan
mengeksekusi
program
yang telah pembentuk dokumen, dan
mengirimkan kembali dokumen HTML yang telah dihasilkan ke kline. Di sisi
lain, kline Web juga dapat melewatkan argumen-argumen tambahan bersama
nama
dokumen,
yang
kemudian
dijadikan sebagai parameter pengeksekusian
program.Selanjutnya,dokumen dibentuk tergan- 
tung dari nilai argumen yang
dilewatkan tersebut (Bunafit Nugroho , 2004, p6).
2.2.11  Apache Tomcat
Tomcat, atau lengkapnya Apache Jakarta Tomcat adalah Servlet/JSP
container yang dibuat oleh Apache Software Foundation (ASF). Saat ini Tomcat
menjadi  reference  implementation  dari  spesifikasi  Servlet/JSP  (Java  Server
Pages) dari Sun Microsystem. Versi terakhir dari Tomcat adalah 5.5.9-alpha-3,
dengan
versi
yang
dianggap
stabil
5.5.7. Saat
ini
Tomcat
bahkan
telah
dapat
  
42
dijalankan sebagai service pada sistem operasi berbasis Windows. Tomcat versi
5.5.x adalah implementasi dari spesifikasi Servlet versi 2.4, dan spesifikasi JSP
versi 2.0. (http://tomcat.apache.org/ )
Tomcat
merupakan
Servlet/JSP
container,
dibangun
dalam bahasa
pemrograman
Java
dan
dijalankan
di atas
Java
Virtual Machine
(JVM). Untuk
terhubung
ke
sebuah
web
server
diperlukan
komponen
yang
disebut
sebagai
'connector'. Tomcat dapat berjalan sendiri (standalone) tanpa webserver lain
dengan
menggunakan
connector
Coyote. Apabila
dihubungkan
dengan
Apache
HTTP Server, diperlukan connector JK2.
Apache Tomcat merupakan open source produk dibawah lisensi Apache
Software Foundation. Apache Tomcat digunakan untuk aplikasi berskala besar
dan untuk aplikasi mission critical. Di dalam Jakarta Tomcat, Servlet dan JSP
akan
bekerja
melayani request dari client.
Untuk
menjalankan
Jakarta
Tomcat
harus membutuhkan
Java Development Kit (JDK). (ekobs@developerforce.net,
2003, p4)
2.2.12  WebWork
WebWork adalah sebuah projek Java yang mengadopsi model
pengembangan MVC (Model – Viewer – Controller), yang mana posisinya lebih
tepat
diarea
C
dari
MVC,
yaitu
Controller. WebWork
merupakan
framework
berbasis Java untuk membuat aplikasi web yang didevelop oleh OpenSymphony.
WebWork
juga
merupakan
implementasi dari
servlet
dispatcher,
yang bekerja
menghandle semua request dan response dari setiap akses Web.
  
43
WebWork diciptakan oleh Richard Oberg, salah satu orang jenius didunia
Java  dimuka  bumi. 
Beberapa  karyanya 
yang  mendunia  adalah  JBoss  dan
Xdoclet. Versi 2.0 dari WebWork dikembangkan oleh Patrick Lightbody dan
Jason Carreira, yang akhirnya membuat WebWork yang semua sebuah project
Open Source Java sendirian, masuk ke OpenSymphony.com, sebuah host Open
Source
Java
yang
tentu
saja
tidak
sebesar
Apache,
tetapi
telah berhasil
menghasilkan banyak perusahaan bernilai jutaan dolar, dengan mengadopsinya,
seperti JiveSoftware di NewYork, Amerika dan Atlassian di Sydney, Australia.
Dalam dunia
Java,
WebWork
adalah
sebuah
sleeping
elephant,
artinya
sebuah teknologi yang sangat stabil, tetapi timnya kurang giat berpromosi, malah
produk yang dikembangkan diatas WebWork yang lebih sering dipromosikan.
Diantaranya
adalah
JiveForum,
forum Java
paling
populer
yang
dipakai
oleh
java.sun.com, GE, Sony. Jadi kalau kita posting
forum di Java.sun.com, secara
langsung
kita
menggunakan
WebWork.
Inti dari
WebWork
adalah
XWork,
sebuah teknologi controller generic, yang dapat digunakan dalam solusi Web dan
non Web, tetapi tentu saja yang solusi Web adalah yang paling mature dan stabil.
Bilamana ingin mendalami bagaimana Xwork dikembangkan menjadi solusi
berbasis Swing, dapat mendalami pendulum (http://pendulum.sf.net).
WebWork  dapat  dikatakan  web  wrappernya  XWork,  sehingga  XWork
dapat
berjalan
didalam lingkungan
solusi
Web
atau
servlet.
WebWork
dibuat
spesifik agar developer lebih produktif,
menyederhanakan koding, reuse, server
side 
validasi 
dan 
lain 
lain. 
WebWork 
dibuat 
berdasarkan 
XWork, 
yang
  
44
merupakan
IoC
(Inversion
of
Control)
container.
Dalam web aplikasi standar Java Enterprise Edition (JEE), client biasanya
mengirim informasi
keserver
melalui
web
form.
Informasi
tersebut
kemudian
ditangani oleh Java Servlet, dimana memproses data dan berinteraksi kedatabase
dan menghasilkan HTML response, atau ditangani oleh Java Server Pages (JSP),
dimana Java code dan
HTML code disatukan dalam satu
halaman. Kedua cara
diatas 
akan 
membuat 
sulit 
dalam  pemeliharaan 
karena 
mencampurkan
application logic dan presentation logic.
Arsitektur WebWork menggunakan basis MVC (Model View Controller),
Dispatcher pattern dan prinsip prinsip dari IoC (Inversion of Control).WebWork
lifecycle adalah User mengirim action request yang ditangani oleh
FilterDispatcher. FilterDispatcher meneruskan request tersebut ke ActionMapper
untuk  menentukan  apa  yang  harus  dilakukan  dengan  request  tersebut.  Jika
request
tersebut
membutuhkan
action, maka
ActionMapper
akan
mengirim
kembali object ActionMapping ke FilterDispatcher. Jika tidak membutuhkan
action, maka ActionMapper mengembalikan nilai object null yang
mengindikasikan bahwa tidak ada action yang dibutuhkan. FilterDispatcher
meneruskan request dan object ActionMapper berinteraksi dengan ActionProxy
untuk menentukan action. ActionProxy memanggil  Configuration File Manager
untuk mendapatkan atribut dari action
tersebut
dan
membuat
object
ActionInvocation. File configurasi tersebut adalah xwork.xml.
ActionInvocation
object
terdiri
dari atribut
seperti
action,
invocation
context,  result,  result 
code,  dll. 
ActionInvocation 
object 
juga 
mempunyai
  
45
informasi
tentang
Interceptors yang perlu dipanggil sebelum atau setelah action
dijalankan. ActionInvocation memang gil semua Interceptors yang terdaftar di
object  ActionInvocation  dan  kemudian  memanggil  object  yang  real.  Ketika
action  selesai  dijalankan,  ActionInvocation  mendapatkan  hasil  action  berupa
code.
Code
tersebut
digunakan
untuk me-rendering
presentation
logic,
yang
biasanya
sebuah
halaman
JSP,
template
Velocity, atau template Freemarker.
ActionInvocation juga menjalankan Interceptors lagi dan mengembalikan
2.2.13  Hibernate ORM
Hibernate
merupakan
koneksi
kedatabase dengan metode OR (Object
Relation) Mapping.Hibernate diciptakan oleh Java developer seluruh dunia yang
dipimpin oleh
Gavin King dan perusahaan JBoss.
Hibernate
merupakan Object
Relational Mapping (ORM) library untuk bahasa pemrograman Java. Hibernate
menyediakan 
framework 
untuk 
memapping 
sebuah  object-oriented  domain
Dengan  Hibernate  kita  melakukan  query  dengan 
syntax  query 
yang
portabel
yaitu
HQL
(Hibernate Query
Language) sehingga 
jika ada perubahan
atau migrasi database hanya merubah konfigurasi tanpa harus merubah syntax
query. Hibernate memecahkan masalah tentang perbedaan syntax query yang
berbeda beda antar database dengan mengganti cara akses database dari akses
langsung
database
melalui
persistance (JDBC)
menjadi
akses
melalui
object
dengan
syntax
query
yang
standar yaitu 
Hibernate Query Language (HQL).
Fungsi hibernate yang utama adalah memapping Java class ke database table dan
  
46
juga memapping Java data types ke SQL data types. Hibernate mengenerate cara
pemanggilan SQL sehingga membuat aplikasi kita portable kesemua jenis
2.2.14  Apache Velocity
Apache 
Velocity 
merupakan 
template 
engine 
yang 
dapat 
digunakan
sebagai
teknologi
view
dalam aplikasi
yang
dibangun
dengan
arsitektur
MVC.Velocity merupakan alternatif pengganti JSP yang ideal jika kita
mengedepankan
kecepatan
dari
aplikasi yang kita
bangun.
Dengan
velocity,
kecepatan rendering page mencapai 3x lebih cepat
daripada
JSP.
2.2.15  Apache ANT (Another Neat Tool)
Ant adalah sebuah project open source Java yang paling harus dikenal dan
dipakai  oleh  programmer  Java,  baik  itu  untuk  pengembangan  aplikasi  yang
paling
sederhana
maupun
yang sangat kompleks. Ant adalah sebuah alat bantu
yang tidak ternilai harganya yang diberikan kepada dunia Open Source.Ant saat
ini
menyandang beberapa
gelar
dari Software
Development
2002
Productivity
Award dan JavaWorld's Editor Choice.
Ant dapat dikatakan sebuah halaman pertama bagi programmer Java untuk
memulai pekerjaannya. Ant bekerja seperti
halnya
make
pada
C.
Jika
anda
terbiasa
bermain-main dengan
aplikasi Linux atau Unix mungkin
sudah
sering
mendengar istilah make, gnumake, nmake, atau configure.Ant bekerja mirip
seperti mereka.
  
47
Ant  saat  artikel 
ini  dibuat 
menyandang 
versi  1.5,  dengan  dukungan
integrasi dengan Perl dan Python.
Ant diciptakan oleh James Duncan Davidson. Semula sebagai bagian dari
Tomcat, sebuah J2EE Servlet container. Gagasan Ant keluar karena keterbatasan
pengembangan menggunakan make. Sekitar Januari 2000, Ant keluar dari proyek
Tomcat dan mendapat CVS sendiri. Kehebatan Ant bukan hanya sekedar sebagai
utility untuk deployment juga, tetapi sekarang sudah banyak komponen yang
membuat Ant
menjadi sangat tidak ternilai,
seperti
XDoclet, JUnit,
HTTPUnit,
Cactus dan CVS. Saat ini semua IDE Java seperti JBuilder, Eclipse,Websphere
Studio, Netbeans, SUN Forte, JEdit, ataupun IDEA sudah mengintegrasikan Ant
ke dalam
paketnya.
Dengan Ant kita
dapat
melakukan kompilasi,
menjalankan
program Java, membuat file jar atau war dan tugas-tugas lainnya dengan mudah.
2.2.16  Jasper Report
JasperReports   merupakan   open   source   library   berbasis   Java   untuk
membuat report yang bisa untuk menampilkan data dilayar monitor, diprint, atau
disimpan dalam bentuk file PDF, HTML, Microsoft Excel, RTF, ODT, Comma
Separated Value (CSV) dan XML. JasperReports dapat digunakan untuk aplikasi
berbasis
web
atau
desktop.
ports/)
  
48
2.2.17  iReport
iReport merupakan tools untuk membuat desain report. Keunggulan
menggunakan iReport adalah :
1. Mudah digunakan
2. Drag and drop
3. WYSIWIG report designer
4. Support semua datasource standar maupun custom datasource
5. Dapat membuat sub-report, multiple datasource, custom code, java code
embedded
2.2.18  XDoclet
XDoclet merupakan tools open source
yang berfungsi
untuk
mengenerate
source code. Implementasi XDoclet dilakukan dengan cara menambah meta data
ke Java source code kita, dengan kata lain, dengan JavaDoc tags. XDoclet akan
mengenerate berbagai file konfigurasi seperti XML Pada awalnya XDoclet
diciptakan
untuk
mengenerate
EJB, namun seiring perkembangannya, XDoclet
telah berevolusi menjadi code generation engine yang serba guna.
  
49
2.2.19  Database
Database
atau
basis
data
adalah sekumpulan
data-data
yang
dapat
digunakan secara bersama-sama
yang berhubungan
secara logika, dan deskripsi
dari data tersebut dirancang untuk mendapatkan informasi yang dibutuhkan
organisasi (Connolly dan Begg, 2002, p14).
Tabel dalam
basis
data
berfungsi
untuk
menyimpan data
dan
merupakan
suatu kumpulan data yang berhubungan dengan topik tertentu, misalnya daftar
product. Tabel terdiri dari baris (record) dan kolom (field). Berikut ini beberapa
istilah dalam sebuah tabel basis data :
a.   Field
Field  adalah kolom pada tabel
untuk  menyimpan  data  dalam
kelompok yang sama.
b.   Record
Record
adalah
data
lengkap
dalam
jumlah
tunggal
yang
biasanya
tersimpan dalam bentuk baris secara horizontal paad tabel.
c.
Attribute
Attribute adalah nama dari kolom pada suatu tabel.
d.   Degree
Degree adalah jumlah attribute pada suatu tabel.
e.   Cardinality
Cardinality adalah jumlah record pada suatu tabel.
f.
Relation
Relation adalah sebuah tabel dengan kolom dan baris.
  
50
g.   Relationship
Relationship  atau relasi adalah keterlibatan dua atau lebih tabel
yang saling berhubungan.
h.   Primary Key
Primary key adalah kunci yang secara
unik
mengidentifikasi suatu
record
pada
tabel
atau candidate
key
yang
dipilih
untuk
mengidentifikasi setiap record dari suatu entity secara unik.
i.
Foreign Key
Foreign key adalah kolom-kolom yang
mengacu pada primary key
atau konstrain unik pada tabel lain. Primary key dan foreign key
dipilih untuk menghubungkan sebuah tabel dengan tabel lain.
j.
Candidate Key
Candidate key adalah jumlah minimal atribut-atribut yang dapat
mengidentifikasikan setiap record secara unik.
k.   Composite Key
Composite key adalah candidate key yang terdiri dari dua atau lebih
atribut.
2.2.20  ERD (Entity Relationship Diagram)
Konsep
hubungan
antar
entity
dapat
digambarkan
dengan
ER
diagram.
ERD merupakan salah satu contoh hasil pemodelan hubungan antar entity. Model
ini menggambarkan hubungan antar data yang dijelaskan pada spesifikasi
kebutuhan sistem (Connolly and Begg, 2002, p330).
  
51
Constraint
yang
umum membatasi
hubungan
antar entity
disebut
multiplicity. Untuk
entity relationship
yang
umum terdapat 3
jenis
multiplicity
yaitu :
One to one relationship (1:1)
One to many relationship (1:*)
Many to many relationship (*:*)
2.2.21  MySQL
MySQL (My Struktur Query Language) atau biasa dibaca ” mai-sei-kuel”
adalah
sebuah
program pembuat
database
yang
bersifat open
source.
(Bunafit
Nugroho, 2004, p29)
MySQL
sebenarnya
produk
yang berjalan
pada
platform Linux. Karena
sifatnya open source, MySQL dapat dijalankan pada semua platform baik
Windows   maupun   Linux.   Selain   itu,   MySQL   juga   merupakan   program
pengakses database yang bersifat jaringan sehingga dapat
digunakan
untuk
aplikasi multiuser (banyak pengguna). Saat ini database MySQL telah digunakan
hampir
oleh
semua
programmer
database,
apalagi
dalam pemrograman web.
Kelebihan lain dari MySQL adalah MySQL menggunakan bahasa Query
standar yang dimiliki SQL (Structur Query Language). SQL adalah suatu bahasa
permintaan
yang terstruktur yang telah distandarkan untuk semua program
pengakses seperti Oracle, Posgres, SQL, SQL Server, dan lain-lain. (Bunafit
Nugroho, 2004, p29)
  
52
Sebagai
sebuah program penghasil database, MySQL tidak dapat berjalan
sendiri tanpa adanya sebuah aplikasi lain (interface) . MySQL dapat didukung
oleh
hampir semua program aplikasi baik
yang open source
seperti PHP, Java
Server Pages (JSP) maupun yang tidak, yang ada pada platform Windows seperti
Visual Basic, Delphi, dan lainnya. (Bunafit Nugroho, 2004, p30).
Program-program yang menggunakan bahasa SQL, antara lain :
MySQL
Posgres SQL
Oracle
SQL Server 97, 2000
Interbase
Program-program aplikasi pendukung MySQL, antara lain :
PHP (Page Hypertext Preprosesor)
JSP (Java Server Pages)
Visual Basic
ASP (Active Server Pages)
Untuk mendapatkan software MySql dapat diperoleh di www.MySql.com
  
53
2.2.22  Call Center
Call Center adalah sebuah kantor pusat
yang
menerima dan
mengirimkan
sejumlah
besar
permintaan
telepon.
Hal  
seperti itu dikuasai oleh beberapa
perusahaan  yang  mengatur  produk  pendukung  yang  baru  masuk  dan
penyelidikan informasi klien. Call Center dapat memanggil panggilan sendiri
juga. Hal ini biasanya pemanggilan ke customer, pemanggilan untuk
telemarketing dan penagih
utang. Contact center adalah sejenis call center
yang
menangani fax, surat – surat dan email pada satu tempat.
Orang – orang yang beroperasi dalam call center disebut agen – agen call
center. Seluruh agen memakai perlengkapan khusus yang memasukkan telepon,
komputer, headset yang dihubungkan ke telecom switch. Agen – agen ini bekerja
sama dalam suatu ruang kerja yang luas dengan penempatan kerja untuk masing
masing  mereka  dan  lagi  di  sana  terdapat  setidaknya  satu  supervisor.  Call
Center bisa dioperasikan secara bebas atau
menjadi bagian dari sebuah jaringan
bersama   dengan   call   center   lainnya   yang   mana   sering   dihubungkan   ke
perusahaan jaringan komputer yang
boleh
memasukkan
microcomputers,
mainframes
dan LAN. Komunikasi suara dan data terhubung dalam suatu
mekanisme
yang
disebut computer telephony integration yang
memungkinkan
kita berinteraksi antara telepon dengan komputer.
Call
Center
kebanyakan
digunakan
dan diciptakan oleh perusahaan –
perusahaan
besar
agar
berpengaruh dengan
customer
-
customer
mereka.
Seringkali perusahaan –
perusahaan
itu
mengirim daftar pesanan perusahaan
perusahaan,  keperluan perusahaan, perusahaan – perusahaan yang memproduksi
hardware dan software. Kadang – kadang Call Center pernah melakukan fungsi
  
54
internal
misalnya
help
desk
dan
sales
support.