BAB 2
LANDASAN TEORI
2.1  Computer-Supported Cooperative Work (CSCW)
Menurut Shneiderman (1998, p479), definisi
CSCW adalah bidang studi yang
berfokus pada perancangan dan evaluasi teknologi baru untuk mendukung proses sosial
kerja, sering di antara mitra yang berjauhan. Hasil CSCW biasanya disebut Groupware.
Jenis-jenis kerja sama berdasarkan tujuan, antara lain :
Kemitraan terfokus: kerja sama antara dua user yang saling membutuhkan untuk
menyelesaikan tugas.
Kuliah
atau
demo.
Seseorang
membagikan
informasi
kepada
banyak
user
di
tempat lain. Waktunya dijadwalkan.
Konferensi. Komunikasi kelompok dengan tempat dan waktu yang berbeda.
Proses
kerja
terstruktur.
Orang
yang
peranannya berbeda
bekerja
sama
dalam
tugas yang berhubungan.
Electronic commerce. Kerja sama jangka pendek untuk
mencari informasi dan
memesan produk, dan jangka panjang untuk perjanjian atau kontrak bisnis.
Rapat  dan  dukungan  keputusan.  Rapat  tatap  muka  menggunakan  komputer
dengan membuat kontribusi simultan.
9
  
10
Teledemokrasi. Pemerintah melakukan
rapat
jarak jauh,
menampilkan komentar
dewan, mencari konsensus melalui konferensi, debat, dan pemungutan suara
online.
Matriks waktu-ruang untuk mengelompokkan sistem kerja sama:
Gambar 2.1 Matriks ruang-waktu
2.1.1
Groupware
Groupware
adalah jenis
software
yang
membantu
kelompok
kerja
(workgroup)
yang
terhubung
ke
jaringan
untuk mengelola aktivitas mereka.
Menurut Messerchmitt (2000, p31), ada lima hal yang menjadi titik berat dalam
penggunaan groupware yaitu :
Priority
Pendistribusian informasi sebaiknya diberi level prioritas sehingga penerima
informasi dapat mendahulukan yang lebih penting.
  
11
Filtering
Tanpa  adanya  filtering  pada  informasi  yang  masuk  maka  akan
mengakibatkan waktu terbuang untuk beberapa informasi yang sebenarnya
tidak 
penting. 
Identitas 
pengirim 
dan 
subyek/isi 
dari 
informasi 
dapat
dijadikan salah satu kriteria penyaringan.
Autentification
Untuk menanggulangi adanya seseorang yang memberikan informasi dengan
menggunakan identitas palsu dibutuhkan autentifikasi identitas pengirim.
Integrity
Dalam proses
distribusinya,
informasi
mungkin
mendapat
penambahan
ataupun penggurangan isi. Untuk itu pesan dengan integrity dibutuhkan agar
informasi yang diterima sama dengan apa yang dikirim.
Confidentiality
Beberapa informasi mungkin berisi hal-hal yang sensitif yang hanya boleh
sampai pada pihak yang bersangkutan. Confidentiality dibutuhkan untuk
mencegah terjadinya kebocoran informasi tersebut.
2.2  AJAX
Konsep
AJAX
diperkenalkan oleh
Jesse
James
Garret
dari
tim adaptive
path
dengan
mengeluarkan essay yang dipublikasikan di
adaptive path dengan kode essay bernomor 00385 (http://adaptivepath.com).
Sebelum AJAX
diperkenalkan,
aplikasi
web
kurang
populer
karena
memiliki
tingkat 
responsif 
yang 
rendah  dibanding 
aplikasi 
desktop 
yang 
memiliki 
tingkat
  
12
responsif
tinggi.
Hal
ini juga mengurangi pengalaman
pengguna
dalam
menggunakan
aplikasi.
Perbedaan tersebut kini dapat diatasi dengan adanya AJAX, yang telat diterapkan
dalam beberapa aplikasi yang dapat dengan gampang kita temui seperti Google Suggest
atau Google Maps, kita hanya perlu menggunakan scroll mouse kita untuk zoom secara
instant tanpa harus reload. AJAX
merupakan singkatan dari Asynchronous JavaScript
and XML.
AJAX
merupakan
gabungan
dari
beberapa
bagian
teknologi
yang memiliki
fungsinya masing-masing. AJAX merupakan gabungan dari :
-
Presentasi
berdasarkan
standar
dengan XHTML(eXtensible
Hypertext
Mark-up
Language) dan CSS (Cascading Style Sheet)
-
Tampilan dan interaksi yang dinamis dengan Document Object Model
-
Pertukaran dan manipulasi data dengan XML dan XSLT
-
Pengambilan data secara Asynchronous dengan menggunakan XMLHttpRequest
-
Semuanya digabung menjadi satu kesatuan aplikasi dengan JavaScript
Aplikasi web klasik
mengambil
semua data
yang diperlukan user dan nantinya
ditampilkan ketika user member request dan hal ini membuat user menunggu beberapa
saat setelah aplikasi dijalankan.
  
13
Secara perbandingan visual dapat dilihat dari gambar dibawah ini
Gambar 2.2 Perbedaan AJAX dengan model klasik
2.3  Web 2.0
Web 2.0, adalah sebuah istilah yang dicetuskan pertama kali oleh O'Reilly pada
tahun 2003, dan dipopulerkan pada konferensi web 2.0 pertama di tahun 2004, merujuk
pada
generasi
yang
dirasakan
sebagai
generasi
kedua
layanan
berbasis
webseperti
  
14
situs jaringan sosial, wiki, perangkat komunikasi, dan
folksonomi—yang menekankan
pada kolaborasi online dan berbagi antar pengguna.
Menurut
O'Reilly,
Web
2.0
adalah
sebuah
revolusi
bisnis
di
dalam industri
komputer
yang
terjadi akibat pergerakan ke internet sebagai platform, dan suatu usaha
untuk mengerti aturan-aturan agar sukses di platform tersebut.
Walaupun kelihatannya
istilah
ini
menunjukkan versi baru daripada web,
istilah
ini tidak mengacu kepada pembaruan kepada spesifikasi teknis World Wide Web, tetapi
lebih kepada bagaimana cara pengembang sistem di dalam menggunakan platform web.
2.4  PHP
PHP
merupakan
singkatan dari PHP
hypertext Prepocessor,
merupakan
script
yang ditempatkan dalam server dan diproses di server. Setelah diproses baru kemudian
hasilnyalah  yang  dikirimkan  ke  client,  tempat  user  menggunakan  browser.  Secara
khusus, PHP dirancang untuk membuat web dinamis, artinya dapat membentuk tampilan
sesuai permintaan terkini. Misalnya,
menampilkan
isi database ke
halaman web. Salah
satu kelebihan PHP adalah mampu digunakan bersama dengan berbagai bahasa database
terkenal (MySQL,Oracle,Microsoft access).
Konsep kerja PHP diawali dengan permintaan suatu halaman web oleh browser.
Berdasarkan
URL
atau
dikenal
dengan
alamat
internet,
browser
mendapatkan
alamat
dari
web server,
mengidentifikasi
halaman
yang
dikehendaki,
dan
menyampaikan
informasi yang dibutuhkan oleh web server. Selanjutnya berkas PHP yang didapat akan
diteruskan ke mesin PHP dan mesin inilah yang nantinya akan menerjemahkan isi script
  
15
tersebut dan memberikan hasilnya (berupa HTML) ke web server. Kemudian web server
menyampaikan ke client.
Gambar 2.3 Konsep PHP
2.5  Internet
2.5.1
Sejarah Internet
Menurut Leiner(2003,http://www.isoc.org/) internet yang kita kenal
dan
kita gunakan sehari-hari  
saat ini awalnya
bermula
dari
ARPANET
yang
merupakan jaringan komputer departemen
pertahanan Amerika
Serikat.
ARPANET digunakan saat terjadi perang dingin antara Amerika dengan Rusia.
ARPANET
kemudian
dikembangkan
menjadi jaringan lebih luas lagi yang
disebut
dengan
INTERNET.
Dengan
fasilitas-fasilitas
yang
dimiliki
seperti e-
mail, file transfer dan lain-lain internet dapat berkembang dengan sangat pesat.
Setiap
komputer
yang
mengakses
internet
diberi
“alamat”
yang
harus
unik dan direpresentasikan dalam dua wujud yaitu
nama domainnya dan
nomor
IP-nya. Alamat tersebut juga disebut dengan internet address.
  
16
2.5.2
Pengertian Internet
Menurut Purbo (2000, http://bebas.vlsm.org)
internet
adalah kumpulan
yang luas dari jaringan komputer besar dan kecil
yang saling bersambungan
menggunakan jaringan komunikasi yang ada diseluruh dunia.
Secara konsep
pelayanan internet terlihat pada gambar 2.4 dibawah ini
Gambar 2.4 Konsep Pelayanan internet
Berkomunikasi menggunakan standar protokol yang memungkinkan
beragam jaringan
komputer
dan
komputer
yang
berbeda
untuk
dapat
saling
berkomunikasi. Protokol ini secara resmi disebut TCP/IP (Transmission Transfer
Protocol/Internet Protocol).
Langkah kerja internet:
-
Untuk memindahkan data antara dua komputer yang berbeda dalam suatu
jaringan yang terdiri dari banyak komputer, dibutuhkan alamat tujuan dan
perantara
untuk
memindahkan
sinyal elektronik pembentuk data secara
aman dan langsung.
  
17
-
Internet
menggunakan
protokol
untuk
menjamin
sampainya
data
secara
aman di tempat tujuan. Pada TCP/IP ada dua bagian : TCP (Transmission
Control Protocol) dan IP (Internet Protocol).
-
Saat seorang pengguna internet mengirim sekelompok teks ke mesin lain,
TCP/IP
mulai
bekerja.
TCP
membagi
teks
tersebut
menjadi paket-paket
data
kecil,
menambahkan
beberapa informasi
(dapat
dianggap
sebagai
pengiriman
barang), sehingga
komputer
penerima
memastikan
bahwa
paket
yang    diterimanya    tidak    mengalami    kerusakan    sepanjang
pengiriman. IP menambahkan label yang berisikan informasi alamat pada
paket tesebut.
-
Deretan
paket-paket
TCP/IP berjalan
menuju
tujuan
yang sama dengan
menggunakan  berbagai  jalur  yang  berbeda.  Sebuah  perangkat  khusus
yang disebut router dipasang di titik persimpangan antar jaringan dan
memutuskan jalur mana yang paling efisien yang menjadi langkah berikut
dari sebuah paket. Router membantu mengatur arus lalu lintas di internet
dengan
membagi
beban,
sehingga
menghindari
kelebihan beban pada
suatu bagian dari sistem yang ada.
-
Saat 
paket-paket  TCP/IP  tiba 
di  tempat 
tujuannya, 
komputer  akan
membuka label alamat IP lalu menggunakan daftar pengiriman yang ada
pada  paket  TCP  untuk  memeriksa  apakah  ada  kerusakan  paket  yang
terjadi
selama
pengiriman, dan
menyusun kembali paket-paket tersebut
menjadi  
susunan  
teks   seperti  
aslinya.  
Saat  
komputer  
penerima
  
18
menemukan paket yang rusak, komputer tersebut akan meminta komputer
pengirim untuk mengirim salinan baru dari paket yang rusak.
-
Sebuah perangkat khusus
yang disebut gateway memungkinkan beragam
tipe jaringan yang ada di horizon elektronik untuk berkomunikasi dengan
internet
menggunakan
TCP/IP. Gateway
menerjemahkan
protokol
asli
jaringan komputer tersebut menjadi TCP/IP dan sebaliknya.
-
Bagi
seorang
user,
internet
hadir
seperti
jaringan
global
raksasa
yang
tidak terbatas, yang langsung merespon jika diminta. Komputer, gateway,
router, dan protokol yang membuat ilusi ini bekerja.
2.6  Client Side
Dalam jaringan
komputer,
client-side
dapat
diartikan
sebagai
operasi
yang
dijalankan di client dalam hubungan client-server. Biasanya, yang disebut sebagai client
adalah
aplikasi
komputer
seperti web
browser,
yang
berjalan
di
komputer
user
dan
terhubung ke sebuah server.
Operasi dilakukan di client biasanya karena membutuhkan informasi/fungsi yang
terdapat pada client tetapi tidak ada di server contohnya.
Atau disebabkan server tidak
kuat untuk menanggani semua request sehingga proses kerjanya menjadi lambat.
Keuntungan dari operasi yang dijalankan di client adalah karena tidak terdapat
pengiriman data melalui jaringan, maka proses dapat berjalan lebih cepat, memakan
bandwidth lebih sedikit, dan relatif lebih aman.
  
19
2.7
Server Side
Server
side
adalah
operasi
yang
dijalankan
di server
dalam
hubungan
client-
server. Biasanya, server berupa
software
program, seperti web server,
yang
dapat
di
akses oleh komputer dari sisi client. Server side dilakukan karena informasi/fungsi yang
dibutuhkan tidak tersedia di client atau membutuhkan perlakuan khusus yang tidak bisa
dijalankan di
client.
Keuntungan
dari
server side
adalah
pekerjaan
client
akan
lebih
mudah.
2.8  Unified Modeling Language (UML)
UML merupakan suatu bahasa grafis standar yang digunakan untuk modeling
object-oriented software (menciptakan suatu model software yang visual). (Lethbridge
dan Laganiere, 2002, p151). Diagram-diagram UML :
Class Diagram : Menggambarkan hubungan antar class.
Use Case Diagram : Menggambarkan hubungan antara actor dengan use
case.
Sequence Diagram : Menggambarkan suatu urutan pesan yang ditukar
oleh suatu rangkaian objek (dan dapat juga oleh aktor) yang melakukan
suatu tugas.
Collaboration Diagram : Menggambarkan beberapa objek yang bekerja
bersama-sama, yang digambarkan sebagai suatu grafik dengan kumpulan
objek dan actor sebagai puncaknya.
  
20
State Diagram : Menggambarkan informasi dinamis mengenai suatu
sistem, digunakan untuk menggambarkan prilaku yang terlihat pada suatu
sistem atau suatu objek.
Activity  Diagram  : Hampir sama dengan state  diagram,  tetapu pada
activity  diagram  terdapat  beberapa  symbol  tambahan  yang  digunakan
pada konteks yang berbeda.
2.8.1
Class Diagram
Simbol-simbol utama yang terdapat dalam class diagram yaitu :
Class, 
yang  berfungsi 
untuk 
merepresentasikan 
tipe  dari  data  yang
dimilikinya.
Gambar 2.5 Beberapa bentuk penyajian class diagram
Association,   menunjukkan  bagaimana  class   saling  berhubungan.
Association ditunjukkan dengan sebuah garis yang terdapat di antara dua
class. Di dalam setiap association terdapat multiplicity, yaitu simbol yang
menunjukkan  berapa  banyak  instance dari  class di  ujung  association
  
21
lainnya.
Association
juga
dapat
diberi
nama
sesuai
tugas
yang
dilakukannya.
Gambar 2.6 Contoh hubungan antar class dengan berbagai jenis multiplicity
Attributte, merupakan data sederhana yang terdapat di dalam class dan
instance-nya.
Operation, merepresentasikan fungsi-fungsi yang ditampilkan oleh class
dan instance-nya.
Generalization, 
berfungsi 
mengelompokkan 
class 
ke 
dalam 
hirarki
inheritance (turunan). (Lethbridge dan Laganiere, 2002, pp154-155).
Gambar 2.7 Contoh generalization
  
22
2.8.2
Use Case Diagram
Use case diagram merupakan suatu notasi UML yang menggambarkan
hubungan antara use case dengan actor. Use case diagram membantu software
engineer untuk menyampaikan suatu gambaran tingkat tinggi yang berhubungan
dengan kemampuan dari suatu sistem. (Lethbridge dan Laganiere, 2002, p237).
Gambar 2.8 Contoh Use Case
Gambar 2.9 Contoh Actor
2.8.3
Activity Diagram
Activity diagram merupakan cara lain untuk menampilkan informasi yang
dimanis  mengenai  suatu  sistem.    Digunakan  untuk  menggambarkan  perilaku
yang terlihat pada suatu sistem atau objek. Pada activity diagram sebagian besar
transisi disebabkan oleh internal event seperti penyelesaian dari satu aktivitas.
  
23
Pada Activity diagram juga terdapat representasi dari aktivitas yang
terjadi pada waktu yang bersamaan. Ini juga dapat digunakan untuk
memperlihatkan interaksi pada use case yang berbeda.
-
Fork, memiliki satu transisi yang masuk dan banyak transisi yang
keluar.
-
Join, memiliki banyak transisi yang masuk dan satu transisi keluar.
Transisi keluar akan dijalankan setelah semua transisi yang masuk
telah dijalankan.
Rendezvous, memiliki banyak transisi yang masuk dan banyak transisi
yang keluar. Saat
semua
transisi
yang
masuk dijalankan, sistem akan
menjalankan semua transisi yang keluar pada masing-masing bagian.
(Lethbridge dan Laganiere, 2002, pp284-285)
  
24
Gambar 2.10 Contoh activity diagram yang menggambarkan proses registrasi
2.8.4
Sequence Diagram
Sequence diagram menggambarkan suatu urutan pesan yang ditukar oleh
suatu rangkaian objek (dan dapat juga oleh actor) yang melakukan suatu tugas.
Pada sequence diagram objek disusun dari kiri ke kanan actor
yang
memulai suatu interaksi biasanya ditempatkan di sisi kiri. Dimensi (kotak) yang
vertical menunjukkan waktu. Bagian atas diagram merupakan titik awalnya, dan
waktu untuk melaksanakan tugas itu digambarkan menurun. Garis titik-titik yang
digambarkan  secara  vertical  yang  disebut  lifeline yang  dihubungkan  dengan
  
25
setiap objek atau actor. Lifeline menjadi suatu kotak yang disebut activation box
selama  suatu  periode  waktu  dimana  objek  tersebut  melakukan  perhitungan.
Objek dikatakan memiliki live activation selama waktu tersebut. (Lethbridge dan
Lagainiere, 2002, pp270-271).
Gambar 2.11 Contoh sequence diagram
2.9  Database
Menurut
Connolly
(2002,p14),
database
merupakan
koleksi
data
yang
secara
logis berhubungan, dan penjelasan dari data tersebut, yang didesain untuk
mengakomodasi kebutuhan informasi sebuah organisasi.
  
26
2.9.1    Database Management System (DBMS)
DBMS 
merupakan  sebuah  system  software  yang  memungkinkan
pengguna untuk mendefinisikan, membuat,
menjaga, dan mengontrol akses ke
database (Connolly,p16).
2.10  IMK
Interaksi Manusia dan Komputer (IMK) 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. (Definisi oleh ACM SIGCHI) . Dengan demikian fokus perhatian IMK tidak
hanya pada keindahan tampilannya saja atau hanya tertuju pada tampilan antarmukanya
saja,  tetapi  juga  memperhatikan  aspek-aspek  pamakai,  implementasi  sistem
rancangannya
dan
fenomena
lingkungannya,
dan
lainnya.
Misalnya,
rancangan
sistem
itu
harus
memperhatikan kenyamanan
user,
kemudahan
dalam
pemakaian,
dan
mudah
untuk dipelajari.
Menurut   Shneiderman   (1998,p74),   terdapat   delapan   aturan   pokok   untuk
membuat sebuah rancangan antarmuka user yang baik, antara lain :
1.   Konsistensi
Konsisten dalam
penggunaan bentuk
dan
ukuran
font,
pemberian warna
pada
teks dan latar belakang, pemakaian simbol yang tidak berubah-ubah baik letak
maupun bentuknya, dan penggunaan teknologi. Dengan demikian akan
meningkatkan
kinerja
user
karena tidak harus mempelajari
sesuatu
yang
baru
ketika pindah ke halaman lain.
  
27
2.   Memungkinkan penggunaan shortcut
Frequent user biasanya akan melakukan suatu aktivitas yang sama
secara
berulang-ulang.
Dengan
menyediakan shortcut untuk
aktivitas-aktivitas
yang
sering digunakan akan mempermudah dan mempercepat user dalam berinteraksi.
3.   Umpan balik yang informatif
Setiap aksi yang dilakukan oleh user harus diberikan umpan balik sehingga dapat
digunakan sebagai
pedoman
untuk
aksi
selanjutnya.
Tentu
user akan
kesulitan
jika
sistem tidak
memberikan
umpan
balik,
user
menjadi
tidak tahu
apa
yang
harus ia lakukan selanjutnya.
4.   Memberikan pencegahan kesalahan yang sederhana
Kesalahan adalah sebuah hal
yang wajar dilakukan oleh user. Oleh karena
itu,
sedapat
mungkin
perancangan
sistem dibuat
agar
user
tidak
dapat
melakukan
kesalahan serius. Misalnya pada saat pengisian sebuah
form, user
memasukan
numerik
kedalam field
yang
harus
diisi
dengan
alfhabet,
sistem harus
dapat
mendeteksi
kesalahan
tersebut
kemudian
memberitahukan
kepada user
agar
memperbaikinya.
5.   Merancang dialog yang memberikan penutupan (keadaan akhir)
Dengan 
adanya 
dialog 
yang 
menandakan 
akhir 
dari 
sebuah 
urutan 
aksi
sekuensial
akan
memberikan
perasaan
puas
dan
lega
kepada
user.
Selain
itu
dapat menjadi tanda untuk dapat memulai aksi berikutnya.
  
28
6.   Mengizinkan pembalikan aksi secara mudah
Jika pembalikan aksi dapat dilakukan secara mudah, akan mendorong user untuk
dapat lebih mengeksplor opsi-opsi yang ada, karena pembalikan aksi dapat
dengan mudah dilakukan apabila membuat sebuah kesalahan.
7.   Mendukung internal locus of control
User
diberikan
kebebasan
untuk
memegang
kendali
sistem dan
menghendaki
sistem merespon aksinya.
8.   Mengurangi beban ingatan jangka pendek user
Manusia memiliki keterbatasan dalam ingatan jangka pendek, untuk mengurangi
beban
ingatan
jangka
pendek user
sebaiknya
aplikasi
menampilkan daftar file
yang tersedia ketimbang meminta user untuk mengetikkan nama file tersebut.