7 BAB 2 LANDASAN TEORI 2.1 Internet Internet

advertisement
BAB 2
LANDASAN TEORI
2.1
Internet
Internet adalah dua atau lebih jaringan yang mengkomunikasikan atau
menghubungkan antara satu perangkat dengan perangkat lainnya (Forouzan,
2007, p17).
2.2
World Wide Web (WWW)
WWW adalah protokol komunikasi yang digunakan untuk mengakses
bagian dari internet (Williams & Sawyer, 2011, p68).
2.3
Web 2.0
Web 2.0 merupakan versi terbaru dari World Wide Web yang dicetuskan
oleh tim O’reilly Media. Web 2.0 bergerak menuju generasi web yang lebih
sosial, kolaboratif, interaktif, dan responsif sehingga membuat situs web
menjadi lebih mudah digunakan dan memungkinkan user untuk berbagi
informasi di jaringan sosial dan berbagai media (Williams & Sawyer, 2011,
p98).
2.4
Hypertext Transfer Protocol (HTTP)
HTTP adalah protokol standar internet untuk mendefinisikan cara kerja
web. Cara kerja HTTP adalah mengkomunikasikan server dan web browser.
Ketika user mengakses sebuah halaman web baik dengan mengetikkan URL
web, menekan link, mengirimkan formulir atau melakukan tugas lain yang
membawa user ke halaman baru, maka pada saat itu browser akan membuat
HTTP request yang kemudian dikirimkan pada web server dan mengembalikan
hasil berupa halaman web yang diminta (Welling & Thompson, 2009, p856).
2.5
Database
Database adalah kumpulan data yang terhubung secara logikal yang
dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connolly &
Begg, 2010, p65).
7
8
2.6
Database Management System (DBMS)
DBMS merupakan sebuah sistem perangkat lunak yang memungkinkan
user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke
database (Connolly & Begg, 2010, p66).
Gambar 2.1 Database Processing (Connolly & Begg, 2010, p67)
Komponen-komponen dalam lingkungan DBMS (Connolly & Begg,
2010, p68-73):
1.
Perangkat Keras (Hardware)
DBMS dan aplikasi lain membutuhkan hardware untuk dapat
dioperasikan. Jangkauan hardware yang dibutuhkan dimulai dari single
personal computer, single mainframe, sampai jaringan komputer.
Pemilihan hardware tergantung pada kebutuhan organisasi dan DBMS
yang digunakan. Beberapa DBMS hanya dapat berjalan pada hardware
atau sistem operasi tertentu, sedangkan yang lainnya dapat berjalan di
berbagai hardware dan sistem operasi.
9
Gambar 2.2 Konfigurasi Perangkat Keras (Hardware) (Connolly &
Begg, 2010, p69)
2.
Perangkat Lunak (Software)
Komponen software terdiri dari DBMS dan program aplikasi
lainnya, termasuk di dalamnya sistem operasi, software jaringan yang
dibutuhkan ketika DBMS sedang digunakan dalam jaringan. Pada
umumnya suatu software ditulis dalam bahasa pemrograman generasi
ketiga (3GL) seperti C, C++, Java, Visual Basic, COBOL, Fotran, Ada,
Pascal, atau menggunakan bahasa generasi keempat (4GL) seperti SQL,
yang tertanam dalam bahasa generasi ketiga. DBMS mungkin memiliki
perangkat
generasi
keempat
tersendiri
yang
memungkinkan
pengembangan aplikasi secara pesat melalui penyediaan bahasa query
nonprocedural.
3.
Data
Data dipandang sebagai komponen terpenting dalam lingkungan
DBMS yang menghubungkan antara komponen mesin dan manusia.
Database terdiri dari data operasional dan meta data (data yang
10
memberikan penjelesan mengenai data). Struktur database disebut
skema.
4.
Prosedur (Procedure)
Prosedur mengacu pada instruksi dan aturan dalam desain dan
penggunaan database.
Instruksi-instruksi yang biasa dibutuhkan oleh orang yang
mengelola database ataupun user yang menggunakan database meliputi:
a.
Cara mengakses atau masuk ke dalam DBMS.
b.
Cara mengoperasikan fasilitas yang tersedia dalam DBMS.
c.
Start dan stop database.
d.
Membuat cadangan salinan DBMS.
e.
Menangani kegagalan atau kerusakan hardware atau software.
f.
Mengubah struktur suatu tabel, mengatur penempatan database di
beberapa disc, meningkatkan kinerja, atau mengarsipkan data ke
dalam tempat penyimpanan sekunder.
5.
Orang (People)
Komponen terakhir yang terlibat dengan sistem yaitu orang. Peran
orang dalam lingkungan database dibagi menjadi 4 (empat) yaitu:
1.
Data dan Database Administrators
a.
Data Administrator (DA)
DA adalah orang yang bertanggung jawab atas
manajemen sumber daya data, termasuk perancangan
database,
pengembangan
dan
pemeliharaan
standar,
kebijakan
dan
serta
perancangan
database
prosedur
konseptual/logikal. DA berkonsultasi dan meminta saran
senior manager untuk memastikan bahwa pengembangan
database tersebut dapat menunjang tujuan perusahaan.
b.
Database Administrator (DBA)
DBA adalah orang yang bertanggung jawab atas
realisasi database secara fisik, termasuk perancangan
database fisikal dan implementasinya, keamanan serta
pengaturan integritas, pemeliharaan sistem operasional, dan
memastikan kepuasan user terhadap kinerja aplikasi.
11
DBA memiliki peran yang bersifat lebih teknis
dibandingkan
dengan
DA
sehingga
membutuhkan
pengetahuan mendalam terkait target DBMS dan lingkungan
sistem.
2.
Database Designers
Dalam perancangan proyek database yang besar, database
designer dapat dibagi ke dalam 2 (dua) macam:
a.
Logical Database Designer
Seorang logical database designer berfokus pada
pengidentifikasian data (mencakup atribut dan entitas), relasi
di antara data, batasan-batasan bagi suatu data yang akan
dimasukkan dalam database. Peran seorang logical database
design
membutuhkan
pengetahuan
secara
menyeluruh
tentang data dalam suatu organisasi atau perusahaan serta
batasan-batasan data yang harus diperhatikan (batasan ini
biasa disebut business rules).
b.
Physical Database Designer
Peran physical database designer adalah menentukan
bagaimana perancangan database logikal dapat terwujud
secara fisik/nyata termasuk di dalamnya:
1.
Memetakan perancangan database logikal ke dalam
sekumpulan tabel dengan batasan integritas.
2.
Memilih struktur penyimpanan yang khusus dan
metode pengaksesan data untuk mencapai kinerja yang
baik.
3.
3.
Merancang tindakan keamanan bagi data.
Application Developers
Tanggung jawab application developer adalah memastikan
bahwa penyediaan fungsionalitas yang diperlukan oleh end-users
telah diterapkan dalam aplikasi.
12
Umumnya application developers bekerja dari spesifikasi
yang dihasilkan oleh system analyst.
4.
End Users
End users adalah klien dari database yang telah dirancang,
diimplementasikan, dan dipelihara guna menyajikan informasi
yang dibutuhkan. End users dapat dibagi menurut cara pemakaian
sistem:
1.
Naïve users yaitu jenis user yang tidak mengetahui cara
mengoperasikan DBMS. Cara mereka mengakses database
yaitu melalui program aplikasi khusus yang ditujukan untuk
membuat operasi menjadi sesederhana mungkin. Mereka
menjalankan operasi database dengan memasukkan perintah
sederhana atau memilih pilihan dari menu. Hal ini
menunjukkan bahwa end user tersebut tidak membutuhkan
pengetahuan apapun tentang database atau DBMS.
2.
Sophisticated users berbeda dengan naïve user. Sophisticated
user mengenal struktur dari database dan fasilitas-fasilitas
yang terdapat di dalam DBMS. User tipe ini mungkin
menggunakan bahasa query tingkat tinggi seperti SQL untuk
menjalankan operasi yang dibutuhkan bahkan membuat
sendiri aplikasi yang dibutuhkannya.
2.7
Keuntungan pemakaian DBMS:
Adapun keuntungan yang dihasilkan dari pemakaian DBMS adalah
(Connolly & Begg, 2010, p77-80):
1.
Mengendalikan dan mengatur data-data yang redundan di dalam
database dengan cara menandai setiap baris data dengan value yang unik
agar tidak mengalami duplikasi.
2.
Menjaga data agar tetap konsisten.
3.
Memberikan informasi yang lanjut mengenai data-data yang tersimpan
dalam database.
4.
Meningkatkan konsistensi dan keabsahan data dengan cara memberikan
batasan-batasan tertentu (constraint) pada data.
5.
Menjaga keamanan data dari akses atau user yang tidak memiliki izin.
13
6.
Menetapkan standar-standar yang berlaku seperti standar dokumentasi,
penamaan, prosedur perbaharuan, dan aturan pengaksesan.
7.
Melakukan penghematan biaya operasional dengan menggabungkan
semua data operasional organisasi ke dalam sebuah database dan
membangun serangkaian aplikasi yang mengakses data dari satu sumber.
8.
Kebutuhan yang berbeda-beda dari setiap user atau divisi mungkin akan
menimbulkan konflik dalam organisasi. Untuk menghindari konflik maka
keputusan mengenai perancangan dan penggunaan operasional database
akan ditangani oleh DBA. Setiap keputusan DBA dapat menghasilkan
sistem yang mampu menyediakan penggunaan sumber daya terbaik bagi
organisasi.
9.
Meningkatkan kemudahan dalam mengakses data.
10.
Meningkatkan produktivitas programmer serta mengurangi waktu
pengembangan sistem terkait dengan penghematan biaya.
11.
Meningkatkan pemeliharaan melalui data independen.
12.
Menjaga agar data tetap utuh dan valid dengan mengatur pengaksesan
data yang sama oleh dua atau lebih user dalam waktu yang bersamaan
melalui DBMS.
13.
Meningkatkan
kemudahan
dalam
membuat
cadangan
dan
mengembalikan data seperti semula ketika data mengalami kerusakan
atau kegagalan.
2.8
Fungsi DBMS
Fungsi dan fasilitas-fasilitas dalam DBMS adalah (Connolly & Begg,
2010, p100-104):
1.
Data storage, retrieval, and update
DBMS
harus
menyediakan
kemudahan
bagi
user
untuk
menyimpan, mengambil/mengakses, dan memperbaharui/memodifikasi
data di dalam database.
2.
A user-accessible catalog
DMBS harus menyediakan katalog yang berisi deskripsi dari setiap
data yang disimpan dan diakses oleh user.
14
3.
Transaction support
DBMS harus menyediakan mekanisme yang akan menjamin bahwa
setiap pembaruan atau modifikasi sesuai dengan transaksi yang telah
dibuat maupun yang tidak dibuat.
4.
Concurrency control services
DBMS harus menyediakan mekanisme yang dapat menjamin
bahwa pembaruan database dilakukan tepat sesuai dengan pembaruan
yang dilakukan oleh user.
5.
Recovery services
DBMS harus menyediakan mekanisme untuk mengembalikan
database pada keadaan sebelum terjadinya kerusakan.
6.
Authorization services
DBMS harus menyediakan mekanisme yang menjamin bahwa
hanya user yang berwenang dan memiliki izin yang dapat mengakses
database.
7.
Support for data communication
DBMS harus mampu diintegrasikan dengan software komunikasi.
8.
Integrity service
DBMS harus menjamin bahwa setiap data yang tersimpan di dalam
database dan setiap perubahan yang terjadi pada data sesuai dengan
aturan yang berlaku.
9.
Service to promote data independence
DBMS harus dilengkapi dengan fasilitas yang mendukung sistem
agar dapat mandiri dari struktur database.
10.
Utility services
DBMS harus menyediakan serangkaian layanan utilitas.
2.9
Database Language
Bahasa dalam database secara umum dibagi ke dalam 2 (dua) bagian
yaitu (Connolly & Begg, 2010, p92-93):
1.
Data Definition Language (DDL)
DDL adalah sebuah bahasa yang digunakan oleh database
administrator atau user untuk mendefinisikan atau melakukan modifikasi
terhadap struktur database, menghapus objek seperti skema, tabel, view,
15
domains, indexes, dan menamai atribut suatu entitas dalam database
dengan dilengkapi oleh integrity dan security constraint. Operasi-operasi
dalam DDL meliputi:
a.
CREATE untuk membuat objek dalam suatu database.
b.
ALTER untuk melakukan modifikasi struktur pada database.
c.
DROP untuk menghapus objek dari suatu database.
d.
TRUNCATE untuk menghapus semua record atau baris data dalam
sebuah tabel.
2.
Data Manipulation Language (DML)
DML adalah bahasa yang menyediakan seperangkat operasi untuk
mendukung manipulasi data dalam suatu database. DML dapat
dibedakan ke dalam 2 (dua) macam:
a.
Procedural DML
Procedural DML yaitu bahasa yang digunakan oleh user
untuk mengakses data yang diperlukannya dari sistem dengan
menyebutkan cara untuk mengakses data tersebut.
b.
Non-Procedural DML
Non-procedural DML yaitu bahasa yang digunakan oleh user
untuk mengakses data yang diperlukannya dari sistem tanpa
menyebutkan cara untuk mengakses data. Operasi-operasi dalam
DML meliputi:
1.
INSERT INTO untuk memasukkan data baru ke dalam
database.
2.
UPDATE untuk memodifikasi data yang tersimpan dalam
database.
3.
SELECT untuk mengambil atau mengakses data yang
tersimpan dalam database.
4.
DELETE untuk menghapus data yang tersimpan dalam
database.
16
2.10 Entity-Relationship Modelling (ER-Modelling)
ER-Modelling adalah perancangan database secara top-down yang
dimulai dengan mengidentifikasikan data penting yang disebut entitas dan
relationships antar-data (Connolly & Begg, 2010, p371).
Konsep utama dalam ER-Modelling yaitu (Connolly & Begg, 2010,
p372-391):
1.
Entity Types
Entitas adalah sekumpulan objek dengan karakteristik yang sama
yang diidentifikasi oleh perusahaan.
2.
Relationship Types
Relationship types adalah hubungan di antara tipe entitas.
3.
Atribut
a.
Atribut adalah karakteristik atau deskripsi mengenai entitas atau
hubungan di antara entitas tersebut.
b.
Atribut domain adalah sekumpulan value yang diizinkan untuk satu
atau lebih atribut.
c.
Keys
1.
Candidate
key
adalah
kumpulan
atribut
yang
mengidentifikasikan setiap entitas/tabel secara unik.
2.
Primary key adalah candidate key yang terpilih untuk
mengidentifikasikan setiap entitas/tabel secara unik.
3.
Composite key adalah candidate key yang mengandung dua
atau lebih atribut.
4.
Alternate key adalah candidate key yang tidak terpilih sebagai
primary key.
4.
Strong and Weak Entity Types
a.
Strong entity type adalah entitas yang tidak bergantung pada entitas
lain.
b.
5.
Weak entity type adalah entitas yang bergantung pada entitas lain.
Structural Constraints
a.
Multiplicity adalah jarak atau jumlah hubungan yang mungkin
terjadi dalam suatu entitas.
17
Gambar 2.3 Ringkasan untuk Mewakili Batasan Multiplicity (Connolly & Begg,
2010, p391)
b.
Cardinality adalah jumlah hubungan maksimum yang terjadi pada
entitas dalam hubungan tertentu.
c.
Participation menentukan apakah semua atau hanya beberapa
entitas saja yang berpartisipasi dalam suatu hubungan.
Gambar 2.4 Contoh Penggambaran Cardinality dan Participation
dalam Multiplicity (Connolly & Begg, 2010, p391)
2.11 Entity Relationship Digram (ERD)
ERD adalah suatu model untuk merepresentasikan suatu entitas dan
hubungan antar entitas-entitas tersebut secara sederhana (Connolly & Begg,
2010, p473).
18
Gambar 2.5 Entity Relationship Diagram (Connolly & Begg, 2010, p391)
2.12 Software
Software
adalah
program
komputer yang memiliki fitur serta
menjalankan instruksi ketika dieksekusi dan terdiri dari struktur data yang
digunakan untuk memanipulasi informasi (Pressman, 2010, p4). Terdapat 7
(tujuh) kategori dari software komputer yaitu:
1.
System software merupakan kumpulan program yang digunakan untuk
melayani program-program lain.
2.
Application software merupakan program yang bertujuan untuk
mengatasi proses dan operasi bisnis.
3.
Engineering/scientific software merupakan aplikasi yang digunakan
dalam bidang engineering/scientific.
4.
Embedded
software
merupakan
sistem
yang
digunakan
untuk
mengimplementasikan dan mengontrol fungsi-fungsi serta fitur-fitur pada
end user dan sistem tersebut.
5.
Product-line software merupakan program yang dirancang untuk
berbagai customer.
6.
Web applications merupakan kategori software yang dapat diakses secara
luas melalui suatu jaringan serta terintegrasi dengan databases dan
aplikasi bisnis suatu perusahaan.
7.
Artificial intelligence software merupakan program yang menggunakan
nonnumerical algorithms untuk memecahkan permasalahan yang
19
kompleks mencakup robotic, expert systems, pattern recognition (gambar
dan suara), artificial neural networks, pembuktian teori, dan game.
2.13 Extreme Programming (XP)
XP merupakan salah satu proses model pengembangan perangkat lunak
dari kelompok agile software development yang bertujuan untuk meningkatkan
kualitas dan fleksibilitas software terhadap adanya perubahan kebutuhan
(requirement).
Gambar 2.6 Proses Extreme Programming (Pressman, 2010, p74)
Adapun proses yang digunakan dalam extreme programming adalah
sebagai berikut (Pressman, 2010, p72):
1.
Planning (Perencanaan)
Aktivitas perencanaan dimulai dengan mengumpulkan kebutuhan
(requirement) dari user untuk memahami proses bisnis dan tujuan serta
fitur-fitur utama yang diperlukan. Berdasarkan kebutuhan yang telah
dikumpulkan maka akan dibuat story (use case) untuk menggambarkan
proses dari fungsi atau fitur yang akan dirancang. Lalu user dan
developer akan menentukan jangka waktu yang dibutuhkan untuk
mengembangkan aplikasi tersebut. Selama proses pengembangan
20
aplikasi, user dapat menambahkan, mengurangi, atau mengubah story.
Para developer akan menyusun dan memodifikasi perancangan
berdasarkan story tersebut.
2.
Design (Perancangan)
Proses desain pada XP mengikuti prinsip KIS (Keep It Simple).
Proses perancangan dapat terjadi sebelum dan sesudah tahap coding.
Refactoring berarti proses desain yang terjadi secara berkesinambungan
ketika sistem dibangun.
3.
Coding
Setelah story dikembangkan dan desain awal dikerjakan, para
developer tidak langsung melakukan coding tetapi mengevaluasi setiap
story yang telah didesain. Konsep mendasar yang digunakan selama
tahap ini adalah pair programming.
4.
Testing (Pengujian)
Dalam tahap ini terdapat dua pengujian yaitu individual unit test
dan acceptance test (customer test). Individual unit test merupakan tahap
pengujian
terhadap
validasi
fungsionalitas
sebuah
sistem
dan
penyelesaian bug atau error sebelum diserahkan ke user untuk diuji
kembali. Acceptance test yang dikenal dengan customer test merupakan
tahap pengujian terhadap fitur-fitur utama untuk dievaluasi kembali
sesuai dengan tahap perencanaan.
2.14 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah pemodelan yang digunakan
oleh developer untuk berkomunikasi mengenai pekerjaan mereka dengan para
stakeholder dan developer yang lain (Ambler, 2005, ix).
1.
Use Case Diagram
Use case diagram menunjukkan hubungan antara aktor dan use
case dalam sebuah sistem. Kegunaan use case antara lain sebagai berikut
(Ambler, 2005, p33):
1.
Memberikan gambaran dari kebutuhan penggunaan sistem atau
organisasi dalam bentuk model.
2.
Menggambarkan ruang lingkup dari pengembangan sistem.
21
3.
Menggambarkan analisis permintaan kebutuhan dalam bentuk use
case model.
Sebuah use case model terdiri dari satu atau lebih use case diagram
dan menyediakan dokumentasi seperti spesifikasi dari use case dan
definisi aktor.
Gambar 2.7 Use Case Diagram (Ambler, 2005, p36)
2.
Activity Diagram
Activity diagram menggambarkan struktur perancangan secara
object-oriented yang serupa dengan flow chart dan data-flow diagram.
Activity diagram digunakan untuk menjelaskan (Ambler, 2005, p113):
a.
Operasi yang kompleks
b.
Aturan bisnis yang kompleks
c.
Use case tunggal
d.
Beberapa use case
e.
Proses bisnis
f.
Proses yang terjadi secara bersamaan
g.
Proses software
22
Gambar 2.8 Activity Diagram (Ambler, 2005, p114)
3.
Sequence Diagram
Sequence diagram adalah teknik pemodelan dinamis. Sequence
diagram digunakan untuk (Ambler, 2005, p80-81):
a.
Validasi dan menyempurnakan logika serta melengkapkan skenario
yang dibutuhkan.
b.
Menggambarkan hasil perancangan dari setiap operasi yang
dijelaskan dalam kelas.
c.
Mendeteksi hambatan dalam perancangan object-oriented dengan
memperhatikan
pesan
yang
dikirimkan
ke
objek,
dan
memperhatikan berapa perkiraan waktu untuk memanggil sebuah
method.
Gambar 2.9 Sequence Diagram (Ambler, 2005, p82)
23
4.
Class Diagram
Class
diagram
menggambarkan
kelas-kelas
dalam
sistem,
hubungan, operasi, dan atribut dari kelas-kelas tersebut. Untuk membuat
sebuah class diagram dibutuhkan beberapa komponen antara lain classes,
methods,
attributes,
associations,
dependencies,
inheritance
relationships, aggregation associations, association classes (Ambler,
2005, p47).
Class diagram digunakan untuk:
a.
Menggambarkan konsep domain dalam bentuk model.
b.
Menganalisis kebutuhan dalam bentuk model analisis dan
konseptual.
c.
Menggambarkan desain secara rinci dari software berbasis objectoriented.
Gambar 2.10 Class Diagram (Ambler, 2005, p49)
Beberapa hubungan yang terdapat di dalam konsep UML:
1.
Association menggambarkan hubungan antara satu kelas dengan kelas
yang lain.
2.
Inheritance disebut juga generalization menggambarkan hubungan
pewarisan dari satu kelas kepada kelas yang lain.
3.
Aggregation menyatakan bahwa sebuah kelas merupakan bagian dari
kelas yang lain.
4.
Composition merupakan hubungan yang lebih erat dibandingkan
aggregation dimana sebuah kelas tidak dapat berdiri sendiri tanpa kelas
lain (kelas utama).
24
Di dalam sebuah kelas terdapat multiplicity yang menggambarkan
seberapa banyak suatu objek (kelas) berelasi dengan objek (kelas) lain.
Hubungan multiplicity yang terdapat dalam class diagram yaitu:
Gambar 2.11 UML Multiplicity Indicator (Ambler, 2005, p63)
2.15 Lima Faktor Manusia Terukur
Lima faktor manusia terukur adalah faktor-faktor yang dapat menjadi
bahan evaluasi dalam perancangan sistem. Kelima faktor tersebut adalah
sebagai berikut (Shneiderman & Plaisant, 2010, p32):
1.
Waktu belajar
Waktu belajar adalah lamanya waktu yang dibutuhkan oleh user
dalam mempelajari penggunaan suatu aplikasi melalui fitur-fitur yang
disediakan
dalam
aplikasi.
Kecepatan
user
dalam
mempelajari
penggunaan aplikasi menjadi salah satu pengukur seberapa baik tingkat
usability aplikasi tersebut.
2.
Kecepatan kinerja
Kecepatan kinerja suatu aplikasi diukur dari lamanya waktu yang
diperlukan oleh aplikasi tersebut untuk menjalankan perintah dan
merespon aksi dari user. Aplikasi yang baik harus memiliki waktu respon
aksi yang cepat.
3.
Tingkat kesalahan user
Dalam mengoperasikan suatu aplikasi seringkali user mengalami
kesalahan atau error. Aplikasi yang baik harus bisa menangani
seminimal mungkin terjadinya kesalahan baik melalui batasan-batasan
dalam user interface maupun melalui validasi code. Semakin sedikit
25
kesalahan yang timbul menandakan semakin baik aplikasi yang
dibangun.
4.
Daya ingat
Daya ingat setiap user berbeda-beda. Oleh sebab itu, perancangan
user interface sebaiknya menggunakan icon yang umumnya digunakan
dan dimengerti oleh semua user untuk memudahkan user ketika
mengoperasikan aplikasi.
5.
Kepuasan subjektif
Kepuasan subjektif yaitu tingkat kepuasan user terhadap aplikasi
yang digunakannya.
2.16 Eight Golden Rules (Delapan Aturan Emas)
Eight golden rules merupakan delapan standar aturan yang dapat
diaplikasikan dalam perancangan suatu sistem yang interaktif. Aturan-aturan
tersebut
dirangkumkan
berdasarkan
pengalaman
dan
mengalami
penyempurnaan selama tiga dekade sehingga dapat diterima dengan baik
sebagai panduan yang berguna bagi mahasiswa dan desainer.
Suatu sistem interaktif harus memiliki interface yang user friendly,
sehingga dapat memberikan kemudahan bagi penggunanya (Shneiderman &
Plaisant, 2010, p88).
Berikut 8 (delapan) aturan emas (eight golden rules) yang menjadi
panduan dalam perancangan suatu interface sistem yang baik (Shneiderman &
Plaisant, 2010, p88-p89):
1.
Strive for Consistency
Usahakan untuk konsisten dalam perancangan user interface
misalnya, pada tampilan menu, layar bantuan, pemilihan warna, tata
letak, pemakaian huruf besar, pemilihan jenis huruf yang digunakan, dan
lain sebagainya
2.
Cater to Universal Usability
Kebutuhan user berbeda-beda sehingga harus ada perbedaan dalam
penggunaan aplikasi bagi setiap user seperti perbedaan antara user
pemula dengan user yang sudah ahli (expert), user pada rentang usia
tertentu, atau user yang memiliki keterbatasan fisik. Misalnya, dengan
26
menambahkan fitur help atau tutorial penggunaan aplikasi bagi user
pemula dan fitur shortcut untuk user yang sudah ahli untuk mempercepat
penggunaan aplikasi.
3.
Offer Informative Feedback
Memberikan umpan balik (feedback) yang informatif bagi setiap
aksi yang dilakukan user. Untuk aksi yang sering dilakukan dapat
menggunakan respon yang sederhana dan respon yang lengkap bagi aksi
yang jarang dilakukan dan utama. Misalnya, dengan memberikan umpan
balik berupa sukses atau gagal ketika user selesai melakukan aksinya
atau memberikan peringatan (warning) ketika user salah memasukkan
data dan sebagainya.
4.
Design Dialogs to Yield Closure
Merancang
urutan
tindakan
yang
mencapai
hasil
akhir.
Pengelompokan aturan tersebut sebaiknya teratur dan terorganisir dengan
jelas mulai dari awal, pertengahan hingga akhir. Sertai dengan umpan
balik (feedback) yang informatif ketika sebagian atau seluruh aksi selesai
dilakukan untuk menunjukkan bahwa aksi tersebut telah memenuhi
aturan dan user dapat melanjutkan ke aksi berikutnya.
5.
Prevent Errors
Rancang sistem semaksimal mungkin untuk menghindari kesalahan
seriusyang dilakukan user ketika menjalankan aksinya. Jika user
melakukan kesalahan, siapkan umpan balik yang menunjukkan letak
kesalahan agar user dapat memperbaiki aksi yang dilakukannya serta
instruksi yang jelas mengenai cara mengatasi kesalahan. Misalnya, jika
user memasukkan huruf pada kolom inputan yang seharusnya diisi
angka, maka sistem dapat memunculkan pesan error pada sisi kanan
kolom inputan untuk menunjukkan kesalahan user serta memberikan
instruksi pada user untuk memasukkan inputan angka.
6.
Permit Easy Reversal of Actions
Lengkapi sistem dengan fitur yang memungkinkan untuk kembali
pada kondisi sebelumnya seperti fitur back atau undo untuk membantu
user yang melakukan kesalahan atau ingin membatalkan aksinya dapat
kembali pada tahap atau kondisi yang diinginkan oleh user.
27
7.
Support Internal Locus of Control
Sistem yang dirancang harus memberikan kemudahan bagi user
untuk mengontrol sendiri sistem tersebut dan tidak menjadikan seolaholah user yang dikontrol oleh sistem.
8.
Reduce short-term memory load
Untuk memudahkan user dalam penggunaan sistem, siapkan
tampilan yang sederhana, memiliki urutan jelas, tidak rumit serta
usahakan agar user tidak perlu mengingat banyak hal seperti tomboltombol tertentu. Karena tidak semua user memiliki ingatan yang kuat dan
keahlian khusus.
2.17 PHP Hypertext Preprocessor (PHP)
PHP adalah bahasa pemrograman server-side yang dirancang khusus
untuk web dan dapat ditanamkan ke dalam sebuah halaman HTML yang akan
dijalankan setiap kali halaman tersebut diakses. Script PHP akan
diterjemahkan oleh web server dan menghasilkan HTML atau output lainnya
yang dapat dilihat oleh user di web. PHP bersifat open source sehingga setiap
orang dapat mengakses, menggunakan, mengubah serta mendistribusikan
source code PHP tanpa dikenakan biaya (Welling & Thomson, 2009, p2-3).
Keuntungan menggunakan PHP sebagai bahasa pemrograman dalam
membangun aplikasi (Welling & Thomson, 2009, p4-6):
1.
Performance
Kinerja PHP yang sangat cepat, jutaan kunjungan user ke website
per hari dapat dilayani hanya dengan satu server yang hemat biaya.
2.
Scalability
Sebuah skala horizontal dengan sejumlah besar server dapat
diterapkan dengan efektif dan murah.
3.
Database Integration
PHP memiliki koneksi yang tersedia untuk banyak sistem
database, seperti MySQL, PostgreSQL, Oracle, dbm, FilePro, DB2,
Hyperwave, Informix, InterBase, Sybase databases, dan lainnya.
28
Setiap
database
yang
menyediakan
driver
ODBC
dapat
dikoneksikan dengan menggunakan Open Database Connectivity
Standard (ODBC).
4.
Built-in Libraries
Karena dirancang untuk pemakaian pada web, PHP memiliki
banyak fungsi built-in untuk melakukan banyak web task yang berguna.
Beberapa web task tersebut yaitu generate gambar dengan cepat,
terhubung dengan web dan layanan jaringan lainnya, parse XML,
pengiriman email, cookies, dan generate dokumen-dokumen PDF dapat
dilakukan hanya dengan beberapa baris kode.
5.
Cost
PHP merupakan bahasa pemrograman yang tidak berbayar. Source
code PHP dapat diunduh melalui http://www.php.net secara gratis.
6.
Easy of Learning PHP
Sintaks PHP didasarkan pada bahasa pemrograman lain terutama C
dan Perl sehingga jika sudah menguasai bahasa pemrograman seperti C,
Perl, C++, atau Java, maka PHP pun akan dikuasai dengan mudah.
7.
Object-Oriented Support
PHP 5 telah dilengkapi dengan fitur object oriented. Seperti
inheritance, private, protected attributes and methods, abstract classes
and methods, interface, constructors, dan destructors. Bahkan ada fitur
baru yang kurang umum namun tersedia di PHP 5. Sedangkan untuk
PHP 3 dan PHP 4, dukungan fitur object oriented yang tersedia belum
selengkap PHP 5.
8.
Portability
PHP tersedia dalam berbagai sistem operasi yang berbeda dimana
semua orang dapat menulis PHP code secara gratis pada banyak sistem
operasi yang tersedia seperti Linux, FreeBSD, Microsoft Windows, OS X,
atau dua Unix versi komersial yaitu Solaris dan IRIX.
9.
Flexibility of Development Approach
PHP menggunakan kerangka kerja dengan pola desain ModelView-Controller yang memungkinkan pengerjaan tasks yang sederhana
dan mudah disesuaikan untuk implementasikan dalam aplikasi besar.
29
10.
Source Code
Sebagai bahasa pemrograman yang open souce, source code PHP
dapat diakses kapan pun, dan dapat dengan bebas diubah serta
ditambahkan tanpa harus membayar lisensi atau khawatir produk tidak
didukung lagi oleh pengembang.
11.
Availability of Support and Documentation
Forum-forum
dokumentasi
dan
komunitas
pengembang
informasi-informasi
yang
PHP
menyediakan
dibutuhkan
dalam
pengembangan aplikasi menggunakan PHP.
2.18 MySQL
MySQL adalah sebuah relational database management system (RDBMS)
yang sangat cepat dan tangguh. Database MySQL membuat penyimpanan,
pencarian, dan pengambilan data dilakukan dengan mudah. Server MySQL
mengontrol akses ke data user untuk memastikan bahwa data tersebut dapat
digunakan oleh banyak user sekaligus, menyediakan akses yang cepat dan
menjamin hanya user yang berwenang dapat memperoleh akses. Oleh karena
itu, MySQL adalah aplikasi multiuser dan server yang multi-threaded. Sama
seperti RDBMS lainnya, MySQL menggunakan Structure Query Language
(SQL) sebagai bahasa query database standar (Welling & Thomson, 2009, p3).
Keuntungan menggunakan MySQL (Welling & Thomson, 2009, p8):
1.
Performance
Kinerja MySQL tidak diragukan lagi kecepatannya. Banyak
perbandingan yang dilakukan para pengembang terhadap 5 (lima)
aplikasi database dan hasilnya menunjukkan bahwa MySQL berkali-kali
lipat lebih cepat dibandingkan aplikasi database lain. Perbandingan ini
dapat
dilihat
pada
halaman
website
http://web.mysql.com/whymysql/benchmarks.
2.
Low Cost
MySQL tersedia secara gratis dan dapat dipakai tanpa harus terlebih
dulu membeli lisensi. Meskipun ada pilihan MySQL komersil yang
membutuhkan lisensi namun dapat dibeli dengan harga yang terjangkau.
30
Dua jenis ini bebas dipilih sesuai dengan kebutuhan pengembang
aplikasi.
3.
Easy of Use
Database
modern
telah
menerapkan
SQL
sehingga
tidak
membutuhkan usaha yang besar untuk menggunakan MySQL karena
penggunaannya sama seperti RDBMS lain. MySQL juga lebih mudah
digunakan dibandingkan produk-produk yang serupa.
4.
Portability
MySQL dapat digunakan dalam berbagai macam sistem operasi
Unix dan Microsoft Windows.
5.
Source Code
Source code MySQL dapat diperoleh dengan mudah dan
dimodifikasi sesuai dengan kebutuhan tanpa harus khawatir RDBMS ini
tidak lagi didukung oleh pengembangnya.
6.
Availability of Support
Memang tidak semua produk open source memiliki pelatihan,
konsultasi, sertifikat dan dukungan dari perusahaan pengembangnya.
Namun MySQL menyediakan semuanya di MySQL AB yang dapat
diakses melalui website www.mysql.com.
2.19 Model-View-Controller (MVC)
MVC merupakan metode atau pola desain yang memungkinkan
developer memisahkan code mereka ke dalam tiga bagian yaitu (Griffiths,
2010, p10-11):
1.
Models, yaitu bagian yang berhubungan dengan data yang digunakan
oleh aplikasi, dapat berupa database, RSS Feeds, pemanggilan API, dan
aksi lain seperti pengambilan, perubahan, dan penghapusan data.
2.
Views, bagian yang bertugas menampilkan data dan elemen-elemen dari
user interface.
3.
Controller, bagian yang mengatur business logic dari suatu aplikasi.
Bagian ini menjadi jembatan antara Models dengan Views.
31
Gambar 2.12 Ilustrasi Mengenai Hubungan antara Model, View, dan Controller
(Myer, 2008, p5)
Keuntungan menggunakan model MVC adalah:
a.
Mempermudah developer dalam memelihara aplikasi yang dibangun
karena code terbagi ke dalam tiga bagian.
b.
Mempermudah developer ketika melakukan modifikasi aplikasi.
2.20 CodeIgniter (CI)
CI adalah framework PHP yang dirancang untuk memungkinkan user
mengembangkan proyek atau aplikasi lebih cepat dibandingkan harus menulis
code dari awal. CI menyediakan sekumpulan libraries untuk tugas-tugas yang
biasa diperlukan, tampilan user interface yang sederhana, struktur logika untuk
mengakses libraries tersebut serta memungkinkan user untuk meminimalkan
jumlah code dalam perancangan aplikasi (http://ellislab.com/codeigniter/userguide/, 12 Desember 2013, 15:41 WIB).
Kondisi-kondisi
yang
membutuhkan
penggunaan
framework
CodeIgniter:
1.
Membutuhkan framework dengan footprint yang kecil.
2.
Membutuhkan kinerja yang luar biasa.
3.
Membutuhkan dokumentasi yang jelas dan menyeluruh.
4.
Membutuhkan kompatibilitas dengan hosting yang standar.
5.
Tidak memerlukan banyak konfigurasi.
6.
Framework yang tidak mengharuskan penggunaan command line.
32
7.
Tidak mengharuskan aturan coding yang ketat.
8.
Tidak perlu mempelajari template bahasa lain.
9.
Solusi yang sederhana untuk menyelesaikan kompleksitas.
Keuntungan menggunakan CI (Blanco & Upton, 2010, p8-14):
1.
Save time
Tidak dibutuhkan banyak waktu untuk mempelajari CI sehingga
dapat menghemat banyak waktu developer. Selain itu, dalam CI banyak
code yang tidak perlu ditulis secara manual. Hal ini memperkecil
kemungkinan untuk terjadinya kesalahan dalam penulisan code dan
mengurangi waktu untuk melakukan debugging.
2.
Robust
CI memiliki banyak fungsionalitas standar dan keamanan yang
baik.
3.
Keep links up-to-date automatically
CI mendukung penempatan URL dari site ke dalam file konfigurasi
sehingga dapat diakses oleh sisa site. Fungsi CI yang digunakan secara
otomatis
mengacu
ke
file
konfigurasi
sehingga
ketika
ingin
memindahkan situs, cukup mengubah code di file konfigurasi saja dan
semua hyperlink akan secara otomatis mengalami perubahan.
4.
Preventing database SQL injection attacks and form prepping
CI telah dilengkapi fungsi untuk mencegah terjadinya serangan
berbahaya dari pihak luar serta membersihkan data inputan dari simbolsimbol seperti apostrof dan tanda kutip yang tidak dapat disimpan secara
baik.
5.
Protect site from XSS attacks
CI membantu dalam validasi data agar code yang tidak diinginkan
tidak dieksekusi dalam aplikasi serta membantu menanggulangi aplikasi
dari serangan phising, maupun pencurian data.
6.
Make code bolder
CI memiliki seperangkat aturan sehingga ketika developer telah
menguasai sintaks-sintaks tersebut, seluruh bagian akan bekerja secara
bersamaan dengan tanpa mengalami bentrokan. Semua code telah ditulis
dengan baik dan dapat diandalkan serta diuji oleh komunitas pengguna
CI.
33
7.
Save bandwith
CI memiliki fasilitas untuk memungkinkan untuk mengubah file ke
dalam bentuk zip pada drive C: yang dapat di-unzip untuk mendapatkan
data asli. Hal ini membantu banyak dalam penghematan bandwith.
2.21 Asynchronous JavaScript and XML (AJAX)
Pemrograman AJAX biasanya menggabungkan pemrograman client-side
javascript dengan transfer data berformat XML dan bahasa pemrograman
server-side seperti PHP. Hasil pemrograman menggunakan AJAX biasanya
menampilan user interface yang lebih bersih dan cepat untuk aplikasi
interaktif. Contoh aplikasi berbasis AJAX seperti Facebook, Flickr, dan situs
jejaring sosial lain dengan fore front web 2.0.
Cara kerja AJAX memungkinkan user untuk melakukan banyak tugas
tanpa harus reload ulang seluruh halaman (Welling & Thomson, 2009, p856).
Gambar 2.13 Cara Kerja AJAX (Welling & Thomson, 2009, p856)
Keuntungan
yang dimiliki
oleh
AJAX
adalah
sebagai
berikut
(http://www.jscripters.com/ajax-disadvantages-and-advantages/, 13 Desember
2013, 18:14 WIB):
34
1.
Better interactivity
AJAX memungkinkan interaksi yang lebih mudah dan cepat antara
user dan website karena dalam memproses permintaan user, halaman
tidak di-load seluruhnya namun hanya pada bagian yang akan
ditampilkan.
2.
Easier navigation
Aplikasi AJAX di website dibangun untuk memudahkan navigasi
bagi user dalam menggunakan fitur traditional back dan tombol forward.
3.
Compact
Dengan AJAX, beberapa aplikasi dengan banyak tujuan dan fitur
dapat ditangani melalui satu halaman web.
4.
Backed by reputed brand
Aplikasi yang rumit dapat ditangani menggunakan AJAX. Contoh:
Google Maps.
2.22 JavaScript Object Notation (JSON)
JSON adalah format pertukaran data yang merupakan bagian dari objek
notasi literal dalam JavaScript. JSON tidak membutuhkan JavaScript sehingga
dapat digunakan sebagai format pertukaran data yang mudah pada bahasa
scripting lainnya (Holdener, 2008, p86).
Contoh JSON:
{‘detail’: { ‘
id’: 1,
‘type’: ‘book’,
‘author’: ‘Anthony T. Holdener III’,
‘title’: ‘Ajax: The Devinitive Guide’,
‘detail’: 960,
‘extra’: 20,
‘isbn’: 08596528388,
‘price’:{
‘us’: 49.99,
‘ca’:49.99
}
}
35
}}
Keuntungan JSON (http://www.json.org/xml.html, 14 Maret 2014, 11:17
WIB):
1.
JSON lebih simpel dari XML.
2.
JSON mudah dibaca dan ditulis oleh manusia dan mesin.
3.
JSON dapat digunakan sebagai format pertukaran yang memungkinkan
pengguna memindahkan data antar-aplikasi.
4.
JSON menyediakan struktur data sehingga kaya akan informasi.
5.
JSON mudah diproses karena memiliki struktur data yang simpel dan
standar.
2.23 Manajemen
Manajemen adalah proses mengkoordinasi dan mengawasi kegiatankegiatan kerja orang lain agar dapat diselesaikan secara efisien dan efektif
(Robbins & Coulter, 2009, p22).
Manajemen
penting
digunakan
dalam
suatu
organisasi,
karena
manajemen memastikan bahwa aktivitas kerja dapat selesai dan membuat
orang-orang yang bertanggung jawab dalam pekerjaan tersebut dapat dilakukan
secara efektif atau sesuai dengan apa yang dicita-citakan oleh seorang manajer.
2.24 Fungsi Manajemen
Fungsi manajemen terbagi dalam 4 (empat) fungsi yang saling berkaitan
terdiri dari (Robbins & Coulter, 2009, p24):
1.
Planning (Perencanaan)
Yaitu
mendefinisikan
mengembangkan
tujuan,
rencana
untuk
membentuk
strategi,
mengintegrasikan
dan
dan
mengkoordinasikan suatu kegiatan.
2.
Organizing (Pengaturan)
Yaitu menentukan tugas-tugas yang akan dikerjakan, siapa yang
mengerjakan, bagaimana tugas-tugas dikelompokkan, siapa yang
melapor pada siapa, dan di tingkat mana keputusan-keputusan harus di
buat.
36
3.
Leading (Kepemimpinan)
Yaitu meliputi kegiatan memotivasi bawahan, mengarahkan,
menyeleksi saluran komunikasi paling efektif, dan memecahkan konflik.
4.
Controlling (Pengendalian)
Yaitu memantau kegiatan-kegiatan untuk memastikan bahwa
semua orang dapat mencapai apa yang telah direncanakan, dan
mengoreksi penyimpangan-penyimpangan yang signifikan.
2.25 Manajemen Sumber Daya Manusia
Manajemen sumber daya manusia merupakan suatu proses yang
mencakup perekrutan, pemberian kerja, pelatihan, pemberian kompensasi,
penilaian, dan pengembangan karyawan. Selain itu manajemen sumber daya
manusia juga mencakup peninjauan dan perhatian terhadap masalah kesehatan,
keselamatan, dan keadilan karyawan. Kesimpulan dari manajemen sumber
daya manusia adalah suatu ilmu yang mengatur proses pengembangan dan
pemanfaatan tenaga kerja agar dapat menghasilkan kinerja yang baik sesuai
dengan prosedur yang ada demi tercapainya tujuan perusahaan (Dessler, 2005,
p04).
Beberapa aktivitas spesifik yang terlibat dalam manajemen sumber daya
manusia meliputi:
1.
Perekrutan
Informasi yang diperoleh dari hasil analisis pekerjaan dituangkan
ke dalam bentuk deskripsi dan spesifikasi pekerjaan yang digunakan
untuk membantu manajemen menentukan jenis orang yang akan direkrut
dan dipekerjakan. (Dessler, 2005, p117)
Namun
dalam
pengembangan
aplikasi
ini
penulis
tidak
menyertakan perekrutan karena untuk sistem perekrutan telah tersedia di
aplikasi yang berbeda.
2.
Pelatihan dan Pengembangan Karyawan
Proses memberikan ketrampilan yang dibutuhkan oleh karyawan
baru untuk melakukan pekerjaannya.
3.
Pemberian Kerja
37
Sebelum memberikan pekerjaan kepada karyawan, perusahaan
akan terlebih dahulu menuliskan deskripsi pekerjaan yang sesuai dengan
ketrampilan karyawan tersebut yang meliputi:
4.
a.
Identifikasi pekerjaan
b.
Ringkasan pekerjaan
c.
Tanggung jawab dan kewajiban
d.
Otoritas dari pemegang jabatan
e.
Standar prestasi
f.
Kondisi kerja
g.
Spesifikasi
Pemberian Kompensasi
Kompensasi (mencakup gaji dan bonus) yang diberikan kepada
karyawan biasanya bergantung pada ketrampilan dan tingkat pendidikan
yang dibutuhkan oleh pekerjaan tersebut, tingkat bahaya, kemanan
pekerjaan, tingkat tanggung jawab, dan lain-lain.
5.
Penilaian
Proses yang digunakan oleh perusahaan untuk memastikan
karyawan bekerja searah dengan tujuan yang ingin dicapai oleh
perusahaan. Penilaian biasanya dilakukan dengan membandingkan
prestasi dari setiap karyawan dengan standar prestasi yang ditetapkan
oleh perusahaan.
38
Download