Upload
lykhanh
View
225
Download
0
Embed Size (px)
Citation preview
10
BAB 2
LANDASAN TEORI
2.1 Pengertian Software Engineering
2.1.1 Pengertian Software
Menurut Pressman (2010, p4), software adalah kumpulan
instruksi (program komputer) yang saat dieksekusi menyediakan fitur-
fitur, fungsi, dan performa yang diinginkan; struktur data yang
memungkinkan program untuk memanipulasi informasi, dan
infromasi yang bersifat deskriptif dalam bentuk hard copy dan virtual
yang mendeksripsikan operasi dan kegunaan program-programnya.
Dari pengertian software diatas, dapat disimpulkan bahwa
software itu memiliki tiga komponen utama, yaitu instruksi, struktur
data, dan informasi dalam program.
2.1.2 Pengertian Software Engineering
Mengambil kutipan IEEE Standards Collection: Software
Engineering, 1993 yang mengatakan bahwa software enginnering
adalah (1) aplikasi yang sistematis, terdisiplin, menggunakan
pendekatan kuantitatif pada pengembangan, operasi, dan maintenance
software. (2) Ilmu dari pendekatan seperti yang dijelaskan di (1).
(Pressman, 2010, p13)
11
Sasaran utama dari software engineering adalah menciptakan
suatu usaha untuk membangun program dengan kualitas tinggi.
(Munassar & Govardhan, 2010)
Munassar & Govardhan(2010) menggambarkan konsep
software engineering seperti gambar berikut ini :
Gambar 2.1 Konsep software engineering
2.1.3 Domain Application Software
Berikut ini adalah tujuh kategori software komputer pada saat ini
(Pressman, 2010, p7):
• System Software - Kumpulan program yang ditulis untuk
menyokong program lainnya.
• Application Software - Program stand-alone yang
menyelesaikan kebutuhan bisnis yang spesifik.
12
• Engineering/Scientific Software - Aplikasi yang
berkarakteristik "number crunching algorithm".
• Embedded Software - Berdampingan dengan sistem atau
produk yang digunakan untuk mengimplementasikan dan
mengontrol fitur pada end user dan untuk sistem itu juga.
• Product-line Software - Dirancang untuk menyediakan
kemampuan spesifik agar dapat digunakan pelanggan-
pelanggan yang berbeda.
• Web applications - Disebut juga WebApps, software yang
berpusat pada jaringan ini berentang luas pada susunan
aplikasi. WebApps dapat lebih dari himpunan hypertext files
yang merepresentasikan informasi menggunakan teks dan
gambar.
• Artificial intelligence software - Memanfaatkan nonnumerical
algorithms untuk menyelesaikan masalah kompleks yang tidak
dapat diterima oleh analisis sederhana.
2.1.4 Sisi Unik Dari Web Apps
Web application (WebApps) didefinisikan sebagai sistem web
yang terdiri dari server web, jaringan (network), HTTP dan browser,
di mana input dari user (navigasi dan data input) mempengaruhi
keadaan bisnis itu. (Ahmad et al., 2012).
Pada 2.1.3 disebutkan Web Application adalah bagian dari
kategori software yang berbeda. WebApps meliputi segala hal mulai
13
dari halaman web sederhana, sebagai contoh aplikasi web yang
membantu customer menghitung biaya penyewaan mobil hingga
website komprehensif yang menyediakan layanan travel untuk pelaku
bisnis dan wisatawan. (Pressman, 2010, p10).
Berikut ini adalah atribut-atribut yang ditemukan dalam WebApps
(Pressman, 2010, p11):
• Network Intensiveness
Suatu WebApp yang berdampingan dengan jaringan (network)
harus melayani kebutuhan komunitas atau klien.
• Concurrency
Jumlah pemakai WebApps dapat dalam jumlah yang banyak pada
suatu waktu .
• Unpredictable Load
Jumlah user WebApps dapat berubah-ubah dalam hari ke hari.
• Performance
Jika user WebApps harus menunggu lama untuk pemrosesan,
mereka akan berpindah ke WebApps lain.
• Avaliability
Walaupun ekspektasi 100 persen itu tidak masuk akal, user
WebAps populer umunya meminta akses yang berbasiskan
24/7/365.
14
• Data Driven
Fungsi utama dari beberapa WebApps adalah untuk menggunakan
hypermedia untuk merepresentasikan gambar, teks, audio, video
pada user.
• Content Sensitive
Kualitas dan estetika konten tetap menentukan kualitas dari
WebApps.
• Continuous Evolution
Tidak seperti aplikasi konvensional yang berkembang melalui
rangkaian release yang terencana dan kronologis, WebApps
berkembang secara terus-menerus.
• Immediacy
WebApps sering memperlihatkan time-to-market dapat dalam
hitungan beberapa hari atau minggu.
• Security
Karena WebApps tersedia melalui akses network, susah untuk
membatasi angka end user yang memungkinkan akses ke aplikasi.
2.2 Pengertian Internet
Menurut Tanenbaum (2003, p26), internet adalah kumpulan dari
network (jaringan) yang saling berhubungan.
Williams & Sawyer (2007, p60) mengatakan, "International network
atau internet terdiri dari ratusan ribu jaringan kecil yang menghubungjan
organisasi pendidikan, komersial, nirlaba, militer, dan bahkan perorangan."
15
Sehingga dari dua kutipan di atas, internet dapat disimpulkan sebagai
kumpulan beberapa jaringan yang bersifat independen yang saling
berhubungan.
2.2.1 Pengertian HTML
Long & Long (2002, p266) mengatakan, "HTML adalah
bahasa scripting, tugas-tugas (tasks) terprogram yang akan dilakukan
diutarakan dalam script."
Bahasa scripting diinterpretasikan dengan program lainnya.
Internet browser, yang menjadi client software dalam hal ini,
menginterpretasikan HTML tersebut. Instruksi script akan
diinterpretasikan oleh browser itu.
2.2.2 Pengertian PHP
Menurut Welling dan Thomson (2009, p2-3), "PHP adalah
bahasa server-side scripting yang dirancang untuk web. Dalam suatu
halaman HTML, kode PHP dapat disisipkan yang kemudian akan
dieksekusi seitap kali halaman itu dikunjungi. PHP diinterpretasikan
pada server web dan mengeluarkan HTML atau output lainnya yang
akan dilihat oleh pengunjung halaman itu."
PHP adalah open source project, yang berarti user dapat
mengakses source code dan dapat menggunakannya, mengubah,
melakukan redistribusi tanpa dikenakan biaya.
16
PHP awalnya singkatan dari Personal Home Page tetapi
kemudian berganti menjadi PHP Hypertext Preprocessor.
2.3 Pengertian E-Commerce
Untuk kalangan umum, kata "electronic commerce" bermakna
berbelanja (shopping) pada bagian internet yang dikenal dengan web.
bagaimanapun juga, electronic commerce (e-commerce) juga termasuk
aktivitas lainnya seperti transaksi bisnis dengan proses internal atau bisnis
yang perusahaan gunakan untuk mendukung pembelian mereka. (Schneider,
2010, p4).
Transaksi sendiri adalah pertukaran nilai, seperti penjualan,
pembelian, atau konversi dari bahan mentah menjadi bahan jadi (Schneider,
2010, p6).
Ada tiga kategori umum yang dipakai dalam e-commerce yaitu :
• Customer berbelanja pada web, sering diistilahkan dengan business-to-
consumer (B2C)
• Transaksi yang dilakukan antar bisnis pada web diistilahkan dengan
business-to-business (B2B)
• Transaksi dan proses bisnis yang oleh perusahaan, pemerintahan, dan
organisasi lain menggunakan teknologi internet untuk mendukung
aktivitas jual-beli
17
Menurut Samin & Awais (2012), proses dari e-commerce dapat
digambarkan sebagai berikut :
Gambar 2.2 Proses e-commerce
2.3.1 Pengertian B2C
B2C yang juga dikenal sebagai business-to-customer dapat
dideskripsikan sebagai bisnis yang menjual produk atau jasa kepada
individu pelanggan. (Schneider, 2010, p7)
Contoh dari B2C ini adalah walmart.com yang menjual
merchandise kepada pelanggan melalui web site mereka.
2.4 Pendekatan Database
Database tentunya penting dalam suatu proses bisnis. Menurut
Connoly & Begg (2010, p54), "Databse adalah sekumpulan data yang
18
berhubungan (berelasi) dan suatu Database Management System (DBMS)
sebagai software yang mengatur dan mengendalikan akses ke database."
Tidak jauh berbeda,Taylor (2003, p9) mengutarakan, "database adalah
kumpulan dari record yang saling terintegrasi. Database itu bersifat
terintegrasi (integrated) karena database itu mengandung tidak hanya data
items tetapi juga hubungan (relationships) antar kumpulan data items itu."
Istilah record di atas sendiri bermakna representasi beberapa objek
fisikal atau konseptual. (Taylor, 2003, p9)
Database System adalah suatu program yang berinteraksi dengan
database bersamaan dengan DBMS dan database itu sendiri. (Connoly &
Begg, 2010, p54)
2.4.1 Database Management System (DBMS)
Connoly & Begg (2010, p66) mengutarakan "DBMS adalah
software yang berinteraksi dengan database". DBMS menyediakan
fasilitas berikut ini :
• Memungkinkan user menentukan database melalui Data
Definition Language (DDL). DDL memungkinkan user
menentukan tipe data, struktur, serta constraints untuk data yang
disimpan dalam database.
• Memungkinkan user melakukan insert, update, delete, dan
retrieve data dari database itu sendiri melalui Data Manipulation
19
Language (DML). DML memungkinkan permintaan umum untuk
data, yang biasa disebut query language. Query language yang
paling umum adalah Structured Query Language (SQL)
• Menyediakan akses kontrol ke database.
Contoh umum DBMS adalah MySQL, Microsoft Access, Microsoft
SQL Server, PostgreSQL, dan sebagainya.
2.4.2 Structured Query Language (SQL)
SQL adalah bahasa yang dirancang untuk memungkinkan user
membuat database, menambah data ke database, melakukan maintain
pada data, melakukan retrieve pada bagian data. SQL dikembangkan
untuk beroperasi pada database yang mengikuti relational model.
Saat ini, standar internasional SQL sudah tergabung pada bagian
object model, menghasilkan struktut hybrid yang dinamakan object-
relational databases. (Taylor, 2003, p7)
2.4.3 MySQL
MySQL merupakan relational database management system
yang kuat dan cepat. MySQL server mengontrol akses ke data untuk
memastikan bahwa user dalam jumlah banyak dapat bekerja dengan
MySQL secara bersamaan, untuk menyediakan akses cepat, dan untuk
memastikan bahwa hanya pihak berwenang yang mendapatkan akses
itu. Dengan demikian, MySQL bersifat multiuser, multithreaded
20
server. MySQL menggunakan SQL sebagai standar bahasa query
untuk database. (Welling & Thomson, 2009, p3)
2.4.4 Program Aplikasi Database
Merupakan program komputer yang berinteraksi dengan
database melalui request yang sesuai (dengan SQL statement) ke
DBMS. User berinteraksi dengan database melalui sejumlah program
aplikasi yang digunakan untuk membuat dan menjaga database serta
untuk menghasilkan informasi. (Connoly & Begg, 2010, p67)
2.5 Pendekatan Sistem Informasi
Sistem informasi adalah kombinasi yang terorganisir antara manusia,
hardware, software, jaringan komunikasi, dan sumber data yang
mengumpulkan, mengubah, dan menyebarluaskan informasi dalam sebuah
organisasi. (O'Brien, 2005, p6)
O'Brien (2005, p6) menambahkann bahwa para profesional bisnis
mengandalkan beberapa tipe sistem informasi yang memakai beberapa variasi
teknologi informasi. Computer-based information systems menggunakan
beberapa teknologi informasi berikut ini :
• Computer hardware technologies, meliputi mikrokomputer, midsize
servers, sistem mainframe yang besar, dan perangkat input, output,
storage yang menyokong.
• Computer server technologies, meliputi software sistem operasi (OS),
web browsers, software productivity suites, dan software untuk aplikasi
21
bisnis seperti customer relationship management dan supply chain
management.
• Telecommunications network technologies, meliputi media
telekomunikasi, prosesor, dan software yang diperlikan untuk menyokong
akses wired dan wireless serta dukungan pada internet dan jaringan
private internet-based seperti intranet dan extranet.
• Data resource management technologies, meliputi Database Management
Software untuk pengembangan, akses, dan pemeliharaan (maintenance)
pada database organisasi.
2.6 Data flow diagram (DFD)
Perancangan dari web application ini akan mengusung pembuatan
Data Flow Diagram (DFD) sebagai bahan rancangan dan penggambaran
sistem.
Menurut Kendall & Kendall (2005, p224), DFD adalah analisis
terstruktur dan alat bantu perancangan yang memungkinkan pemahaman
sistem dan subsistem secara visual sebagai suatu himpunan aliran data yang
saling berhubungan.
Keuntungan yang dapat diambil dari pendekatan data flow pada
pergerakan data dari sistem adalah sebagai berikut (Kendall & Kendall, 2005,
p192):
• Kebebasan dari komitmen untuk implementasi teknikal yang terlalu
dini.
22
• Pemahaman lebih jauh dari ketergantungan sistem dan subsistem.
• Mengkomunikasikan pengetahuan sistem yang berjalan ke User
dengan DFD.
• Analisa dari sistem yang diajukan untuk menentukan data yang
penting dan proses yang sudah ditentukan.
2.6.1 Notasi DFD
Berikut ini adalah beberapa notasi DFD yang sering digunakan
pada pembuatan DFD :
• External agents
External agents mendefinisikan orang, unit organisasi, sistem
lainnya, atau organisasi lainnya yang berada di luar dari scope dari
proyek tetapi berinteraksi dengan sistem yang dibuat. External
entity merupakan istilah lain yang sering diucapkan untuk
menggantikan istilah external agents ini.
Kata external dari external agents ini berarti "di luar dari sistem
yang sedang dianalisa atau dirancang". Pada praktiknya, external
agent bisa berada di luar dari bisnis (misalkan agensi pemerintah,
customer, suppliers, dan kontraktor). Tetapi bisa juga berada
dalam lingkup bisinis itu tetapi di luar dari scope proyek dan
sistem (misalkan departemen lain atau sistem informasi lain).
(Whitten et al., 2004, p363&365). Notasi ini digambarkan dengan
segiempat sama sisi (notasi Gane & Sarson) atau dengan persegi
23
panjang (notasi DeMarco/Yourdon) dengan nama agent di tengah
notasi itu.
Gambar 2.3 Notasi Entity pada DFD
• Data Flow
Data Flow adalah komunikasi antara process dengan lingkungan
dari sistem, data flow dapat dideksripsikan dengan data yang
bergerak (data in flow). Data flow juga digunakan untuk
merepresentasikan pembuatan, pembacaan, penghapusan, atau
pembaharuan (update) pada file atau database. Digambarkan
dengan arah panah yang berlabelkan nama dari data yang bergerak
melewati panah itu. (Whitten et al., 2004, p357)
Gambar 2.4 Notasi Data Flow pada DFD
• Data Stores
Hampir semua sistem informasi menangkap data untuk digunakan
di masa depan. Data itu disimpan dalam data store. Data stores
juga dapat didefinisikan sebagai inventory dari data. Data stores
dapat diduplikasi pada DFD untuk menghindari data flow yang
saling bersinggungan.Notasi data stores ini ada dua dua, yaitu dua
24
garis sejajar sama panjang (notasi DeMarco/Yourdon) atau dengan
persegi panjang yang satu sisinya tidak bergaris (notasi Gane &
Sarson). (Whitten et al., 2004, p366-367)
Gambar 2.5 Notasi Data Store pada DFD
• Process
Notasi process ini ada tiga bentuk, yaitu segiempat dengan ujung
elips (notasi Gane & Sarson), lingkaran (notasi
DeMarco/Yourdon), dan segiempat (notasi SSADM/IDEF0)
dengan nama proses di tengah notasi ini. Proses yang dimaksud di
sini adalah pekerjaan yang dilakukan, atau untuk menanggapi data
flow yang masuk atau suatu kondisi. Proses ini dapat dilakukan
oleh manusia, departemen, robot, mesin, atau komputer. (Whitten
et al., 2004, p347)
Gambar 2.6 Notasi Process pada DFD
25
2.7 Flowchart
Merupakan bagan yang secara grafis menampilkan rangkaian langkah
detail (algoritma atau aliran logika) yang diperlukan untuk memecahkan
masalah pemrograman. (Williams & Sawyer, 2007, p521-522)
2.7.1 Notasi dalam Flowchart
Berikut ini adalah tabel yang menggambarkan notasi-notasi berupa
simbol beserta keterangan nama dan kegunaan masing-masing notasi itu.
Tabel 2.1 : Notasi Flowchart
Simbol Nama Kegunaan
Terminal Mengindikasikan awal dan
akhir program.
Proses Kalkulasi atau transfer nilai.
Input/Output Pernyataan apa saja yang
menyebabkan data
dimasukkan atau dikeluarkan.
Keputusan Keputusan mengindikasikan
pertanyaan yang bisa dijawab
ya atau tidak.
Proses yang Ditentukan
Sebelumnya
Sekelompok pernyataan yang
bersama-sama menyelesaikan
satu tugas
26
Konektor Mengindikasikan satu simbol
dihubungkan ke yang lain
Aliran Anak Panah mengindikasikan sekuensi
operasi
2.8 State Transition Diagram (STD)
State Transition Diagram merupakan alat yang digunakan untuk
menggambarkan urutan dan variasi layar yang terjadi atau berlangsung dalam
suatu user session. (Whitten et al., 2004, p673).
Dalam STD segiempat menggambarkan display screens. Arah panah
menggambarkan alur kontrol dan trigger event yang menyebabkan tampilan
berubah.
2.9 Software Process
Pressman (2010, p31) mendefinisikan software process sebagai
framework pada aktivitas, aksi, dan tugas yang diperlukan untuk membangun
software. Software Process menentukan pendekatan apa yang diambil saat
sotware direkayasa (engineered).
Sementara definisi proses itu sendiri adalah kumpulan aktivitas, aksi,
dan pekerjaan yang dilakukan saat produk dibuat. (Pressman, 2010, p14)
Pressman(2010, p15) mengutarakan umumnya framework dari
software process itu sendiri ada 5 aktivitas, yaitu :
27
• Communication
Sebelum pekerjaan teknis dilakukan, sangat penting untuk
berkomunikasi dan berkolaborasi dengan customer atau pelanggan
yang membantu menentukan fitur dan fungsi software.
• Planning
Software project adalah perjalanan yang rumit, dan aktivitas
planning membuat panduan untuk membantu tim berjalan. Dalam
planning ditentukan tugas apa yang dilakukan, resiko yang
dihadapi, sumber daya yang dibutuhkan, dan work product yang
akan dihasilkan.
• Modeling
Software engineer membuat model untuk pemahaman yang lebih
baik mengenai requirements dari software dan rancangan yang
akan didapat.
• Construction
Aktivitas ini memadukan code generation dan testing yang
digunakan untuk menyingkap errors.
• Deployment
Software diberikan pada customer yang melakukan evaluasi pada
delivered product dan menyediakan feedback dari evaluasi.
Tambahan umbrella activities yang berupa project tracking and control,
risk management, quality assurance, configuration management, technical
reviews, dan lainnya diaplikasikan seiring proses berjalan. (Pressman, 2010,
31)
28
2.9.1 Spiral Model
Spiral Model diusulkan awalnya oleh Barry Boehm pada tahun
1986, spiral model adalah software process yang melakukan
prototyping secara iteratif dengan aspek-aspek sistematik di waterfall
model. Model ini memungkinkan potensi rapid development dari
software.
Dengan model spiral ini, sotfware dikembangkan dalam seri-
seri release. Setiap iterasi akan menghasilkan model atau
prototype.Saat iterasi yang lebih lanjut dilakukan, versi yang lebih
matang dari sistem yang direkayasa akan dihasilkan. (Presmann,
2010, p46)
Gambar 2.7 Spiral Model
Sama seperti prototyping model, versi awal dari sistem
dikembangkan, dan dimodifikasi secara berulang-ulang berdasarkan
input yang diterima dari evaluasi customer. Bagaimanapun juga,
pengembangan setiap versi dari sistem secara teliti dirancang
29
menggunakan langkah-langkah pada waterfall model. (Sasankar &
Chavan, 2011)
Karena software berkembang seiring jalannya proses,
developer dan customer dapat lebih memahami dan bereaksi pada
setiap level evolutionary. Spiral model memakai metode prototyping
untuk mengurangi resiko. (Presmann, 2010, p47)
2.10 Pendekatan Software Testing
Software testing adalah aktivitas yang ditujukan untuk mengevaluasi
atribut atau kemampuan dari program dan memastikan bahwa program itu
sesuai dengan hasil yang diinginkan. (Khan, 2010)
Gagasan dasar dari testing melibatkan ekseskusi dari software dan
observasi dari behaviour atau outcome. Jika kegagalan diamati, execution
record dianalisa untuk mengetahui dan membenahi masalah yang membuat
kegagalan itu. (Tian, 2005, p67)
Lethbridge & Laganiere (2002, p348) menambahkan, "frekuensi dari
kegagalan, sebagaimana yang dihadapi para penguji (testers) dan end-users,
memungkinkan pengukuran dari kehandalan (reliability) dari sistem."
2.10.1 Manfaat Testing
Tian (2005, p67-68) menambahkan bahwa tidak berbeda pada
beberapa sistem fisikal dan produk, manfaat dari testing adalah untuk
30
meyakinkan bahwa software systems bekerja sebagaimana diharapkan
saat digunakan oleh customer dan user.
Karena fleksibilitas dari software, yang mana masalah dapat
dibenahi dengan lebih mudah daripada proses manufacturing
tradisional atau produk fisikal dan sistem, keuntungan ini dapat
dimanfaatkan dari pengujian dengan membenahi masalah yang
teramati saat proses pengembangan. Dengan demikian, testing
menjadi sangat berarti untuk mendeteksi dan membenahi kecacatan
software dalam lingkungan pengembangan.
Sehingga dengan singkatnya, testing memenuhi dua tujuan berikut ini:
• Mendemonstrasikan kualitas atau behaviour yang sesuai
• Mendeteksi dan membenahi masalah
2.10.2 Aktivitas Utama Dalam Testing
Tian (2005, p68) menjabarkan aktivitas utama testing mengikuti
langkah kronologis berikut ini :
• Tes planning and preparation, yang didalamnya menentukan
sasaran dari testing, memilih strategi testing, dan mempersiapkan
test cases dan prosedur umum pengujian.
• Test execution dan aktivitas yang berhubungan, yang juga meliputi
observasi dan pengukuran dari product behaviour.
• Analysis and follow-up, yang meliputi pemeriksaan dan analisis
untuk menentukan jika kesalahan teramati, dan jika ada, aktivitas
31
follow-up dilakukan dan diawasi untuk memastikan penghilangan
dari penyebab kesalahan.
2.10.3 Test Strategies Untuk WebApps
Strategi pengujian untuk WebApps mengadopsi prinsip dasar dari
semua software testing dan mengaplikasikan strategi dan taktik yang
digunakan untuk sistem object-oriented. Langkah-langkah berikut ini
meringkaskan pendekataan strategi ini (Pressman, 2010, p532) :
• Content model untuk WebApp ditinjau ulang untuk menemukan
errors.
• Interface model ditinjau untuk memastikan bahwa semua use
cases terakomodasi.
• Design model untuk WebApp ditinjau untuk menemukan errors
pada navigasi.
• User interface diuji untuk menemukan errors pada presentasi
dan/atau mekanika navigasi.
• Setiap komponen fungsi diuji
• Navigasi pada arsitektur diuji
• WebApp diimplementasikan pada lingkungan dengan konfigurasi
yang berbeda dan diuji untuk kecocokan pada setiap konfigurasi
• Security test dilakukan untuk mengeksploitasi kerentanan dalam
WebApp atau dalam lingkungan WebApp itu.
• Performance test dilakukan.
• WebApp diuji oleh end-users yang dikontrol dan diawasi.
32
2.10.4 Functional Atau Black Box Testing (BBT)
Functional testing memverifikasi handling yang benar untuk
external functions dari software. Karena software diperlakukan
seumpama black-box, dengan external behaviour diamati lewat input,
output, dan karakteristik yang dapat diamati lainnya, maka testing ini
sering disebut dengan black-box testing (BBT). (Tian 2005, p75)
Lethbridge dan Laganiere (2002, p349) menggambarkan
black-box testing dengan penguji meberikan sistem dengan
sekumpulan input dan melihat hasil output, tetapi penguji tidak dapat
melihat apa yang terjadi dalamnya (dalam proses itu).
Dari kutipan-kutipan di atas, dapat disimpulkan bahwa black-
box testing adalah pengujian external behaviour dari sistem dengan
menguji sistem lewat sekumpulan input dan melihat output dari hasil
proses input itu.
2.11 Interaksi Manusia Dan Komputer
Dalam perancangan web application perlu dipertimbangkan interaksi
manusia dan komputer. Pembangunan aplikasi yang interaktif membutuhkan
implementasi dasar dari ilmu interaksi manusia komputer yang benar.
33
2.11.1 Usability Measures
Perkiraan yang matang dari komunitas user dan patokan dari
tugas-tugas adalah basis untuk memungkinkan tercapainya sasaran
pada masalah human factor.
Berikut ini adalah faktor-faktor pada pengukuran usability:
(Shneiderman & Plaisant, 2010, p33-34):
• Waktu untuk belajar
Berapa lama waktu yang dibutuhkan untuk mempelajari
penggunaan command yang relevan dengan tugas-tugas yang
dilakukan?
• Kecepatan performa
Berapa lama waktu yang diperlukan untuk menyelesaikan
tugas-tugas patokan (benchmark tasks)?
• Angka kesalahan (errors) dari user
Berapa banyak dan jenis error apa yang user lakukan biasanya
saat mengerjakan benchmark tasks?
• Daya ingatan jangka lama
Sebaik apa user dapat mempertahankan ingatan mereka
setelah beberapa jam, hari, atau minggu? Hal ini berhubungan
dengan butir ke-1, yaitu waktu untuk belajar.
• Kepuasan subjektif
Sepuas apakah user saat menggunakan sistem? Wawancara
atau survei tertulis dapat dilakukan untuk melihat kepuasan
subjektif ini.
34
2.11.2 Delapan Aturan Emas (8 Golden Rules)
Berikut ini adalah prinsip-prinsip yang sudah diturunkan dari
pengalaman dan diperhalus dalam dua dekade lebih. (Shneiderman &
Plaisant, 2010 , p88-89):
• Usahakan adanya konsistensi.
Urutan konsisten dari aksi-aksi diperlukan untuk sistuasi yang
sama; istilah-istilah atau terminologi yang identik yang
digunakan pada prompts, menu, halaman bantuan; warna yang
konsisten, susunan, kapitalisasi, huruf, harus dikerjakan
sunguh-sungguh.
• Memenuhi kegunaan yang universal
Sebuah antarmuka hendaknya dapat digunakan oleh berbagai
macam tipe user, sebagai contoh, fitur tutorial untuk novice
user dan fitur shortcut untuk expert user.
• Berikan umpan balik (feedback) yang informatif.
Untuk setiap aksi user, harus selalu ada umpan balik.
Representasi visual dari objek dari pergantian lingkungan
terlihat jelas.
• Rancang dialog untuk penutupan.
Urutan kumpulan aksi awal, pertengahan, dan akhir harus
terorganisir. Feedback saat selesainya dari kumpulan aksi
memberikan kepuasan operator.
• Berikan pencegahan kesalahan dan penanganan error yang
mudah.
35
Rancang sistem yang membuat user dapat terhindar dari error;
contohnya berikan menu berupa pilihan untuk diisi dan jangna
perkenankan karakter alfabetis di field yang bersifat numerik,
Jika user mebuat kesalahan, sistem harus mendeteksi
kesalahan dan menawarkan instruksi mudah, konstruktif, dan
spesifik untuk menangani kesalahan itu.
• Mungkinkan adanya aksi pembalikan yang mudah
Aksi yang bersifat reversible harus dibuat semaksimal
mungkin. Fitur ini meringankan kegelisahan, karena user tau
kesalahan dapat dilepaskan (undone).
• Menyokong kontrol dari internal locus.
Operator yang berpengalaman menginginkan mereka merasa
mereka yang yang mengendalikan sistem dan sistem yang
merespon aksi mereka. Aksi sistem yang mengherankan,urutan
yang membosankan dari data entry, ketidakmampuan atau
kesulitan dalam mengambil informasi penting, dan
ketidakmampuan untuk menghasilkan informasi yang
diinginkan akan menimbulkan ketidakpuasan.
Sebagaimana mungkin buatlah user sebagai intiator dari aksi
sistem, bukan responser dari aksi.
• Kurangi beban memori jangka pendek
Batasan dari interaksi manusia pada memori jangka pendek
membutuhkan tampilan yang sederhana, beberapa halaman
dapat digabungkan, pergerakan alur tampilan dikurangi, dan