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 fiturfitur, 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)
10
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
menyelesaikan kebutuhan bisnis yang spesifik.
yang
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 pelangganpelanggan 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-toconsumer (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 Definition
user
Language
menentukan (DDL).
database
DDL
melalui
Data
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 objectrelational 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 Terminal
Kegunaan Mengindikasikan awal dan akhir program.
Proses
Input/Output
Kalkulasi atau transfer nilai.
Pernyataan apa saja yang menyebabkan
data
dimasukkan atau dikeluarkan. Keputusan
Keputusan
mengindikasikan
pertanyaan yang bisa dijawab ya atau tidak. Proses yang Ditentukan
Sekelompok pernyataan yang
Sebelumnya
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 seriseri
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 blackbox 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
ketidakmampuan
mengambil untuk
informasi
menghasilkan
penting, informasi
dan 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
36
waktu latihan yang dialokasikan untuk kode, mnemonics, dan urutan aksi.