BAB II LANDASAN TEORI
2.1
Evaluasi Evaluasi adalah proses penilaian yang dapat diartikan sebagai proses pengukuran akan efektifitas strategi yang digunakan dalam upaya mencapai tujuan perusahaan. Data yang diperoleh dari hasil pengukuran tersebut akan digunakan sebagai analisis situasi program berikutnya (Duncan, 2005).
2.2
Evaluasi Kualitas Website Untuk mengevaluasi kualitas sebuah situs web, sejumlah upaya evaluasi situs web berorientasi konsumen telah dikembangkan. Ada yang dalam bentuk murni subjektif dari preferensi individu penilai, dan beberapa dalam bentuk tujuan pengukuran statistik, seperti pemantauan waktu download situs dan trafik data. Kualitas Situs Web (atau Kualitas Website) dapat diukur dari dua perspektif: Programmer, dan End-user. Aspek kualitas website dari programmer fokus pada tingkat Perawatan (maintenance), Keamanan (Security), Fungsi (Functionality). Sementara untuk pengguna akhir (Enduser) lebih fokus ke Usability, Efisiensi, Kredibilitas (Singh, 2014).
6
7
2.3
Kelebihan Ujian Berbasis Web Dalam jurnalnya Al-Smadi dan Guetl (2008) mengemukakan bahwa kelebihan ujian online yaitu: •
Lebih interaktif
•
Mengatasi masalah jarak
•
Waktu
pemeriksaan
berkurang
dan
ketepatan
pemeriksaan
meningkat •
Data tersimpan lebih baik
•
Efisiensi (paperless)
•
Soal yang dikeluarkan lebih bervariasi karena soal-soal tersebut sudah diacak terlebih dahulu
2.4
Prototype Prototype adalah suatu versi sistem potensial yang disediakan bagi pengembang dan calon pengguna yang dapat memberikan gambaran bagaimana kira-kira sistem tersebut akan berfungsi bila telah disusun dalam bentuk yang lengkap (Mcleod, Schell, 2007). Proses dalam memproduksi suatu Prototype dapat disebut sebagai Prototyping. Dengan tujuan untuk menghasilkan Prototype secepat mungkin, bahkan dalam satu malam, dan memperoleh umpan balik dari pengguna yang akan memungkinkan Prototype untuk tingkatan secepat mungkin. Proses ini bisa diulang beberapa kali sehingga menghasilkan Prototype yang dianggap sempurna.
8
Proses pada model prototyping yang dapat dijelaskan sebagai berikut: a. User Requirements Pada tahap ini developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan
dibutuhkan
berikutnya.
Detil
kebutuhan
mungkin
tidak
dibicarakan pada tahap ini. b. Develope Prototype Pada tahap ini dilakukan perancangan prototype sistem oleh developer, perancangan sistem dilakukan secara cepat dan rancangan diusahakan mewakili semua aspek software yang telah diketahui.
c. Revise Prototype
Pada tahap ini dilakukan evaluasi prototype sistem oleh klien. Apabila klien merasa prototype sistem yang telah dikembangkan sesuai dengan keinginannya maka prototype tersebut dapat digunakan, akan tetapi jika prototype tersebut tidak sesuai, maka prototype tersebut akan dilakukan revisi dan digunakan sebagai acuan dalam memperjelas kebutuhan selanjutnya.
software Siklus
dan ini
kemudian
dikembangkan
(develop-revise
prototype)
prototype akan
terus
berlangsung hingga didapatkan prototype aplikasi yang sesuai dengan kebutuhan klien atau user.
9
2.5
Keunggulan dan Kelemahan Prototyping Keunggulan dan kelemahan pada pengembangan software menggunakan metode prototyping. a. Keunggulan: 1. Meningkatnya komunikasi antara user dan developer 2. Peningkatan peran aktif user didalam proses pengembangan 3. Peningkatan efisiensi waktu 4. Implementasi sistem menjadi lebih mudah karena user turut berperan aktif didalam proses pengembangan b. Kelemahan: 1. Kurangnya fitur keamanan dan kontrol pada prototype akhir sistem 2. Sistem akan sulit terbentuk jika proses evaluasi pada siklus prototype tidak mendapatkan titik temu. 3. Dapat menyebabkan dokumentasi akhir yang tidak lengkap 4. Developer lebih sulit mengendalikan ekspektasi user
2.6
Website Quality Evaluation Method (WebQEM) Mebrate, Tsigereda (2010) mengemukakan bahwa sebuah website yang efektif memiliki beberapa kriteria. Web-site Quality Evaluation Method (WebQEM) merupakan salah satu metode yang digunakan untuk mengevaluasi kualitas website dari sisi user. Kriteria tersebut antara lain adalah sebagai berikut : a. Usability b. Functionality c. Reliability d. Efficiency
10
2.7
Level of Testing Dalam software testing, ada beberapa tingkat yang berbeda selama pengujian (Perry, E. W., 2006), di mana masing-masing tingkat pengujian meliputi beberapa metodologi testing yang berbeda. Berikut ini adalah beberapa tingkat software testing : 1. Pengujian fungsional 2. Pengujian non-fungsional
2.7.1 Pengujian Fungsional Pengujian fungsional adalah pengujian yang menggunakan metode black box testing yang didasarkan pada pengujian kode software berdasarkan spesifikasi software yang akan diuji. Apalikasi akan diuji dengan memberikan masukkan dan kemudian hasilnya diperiksa. Pengujian fungsional dari software ini dilakukan secara lengkap, berdasarkan kebutuhan sesuai dengan standar yang telah ditetapkan oleh perusahaan. Ada lima langkah dalam melakukan pengujian aplikasi secara fungsional : 1.
Menentukan bagian mana saja yang ingin diuji sesuai dengan kebutuhan.
2.
Menentukan data yang akan dijadikan masukkan (input) ketika pengujian berlangsung.
11
3.
Menentukan keluaran (output) berdasarkan masukkan yang telah ditentukan.
4.
Penulisan skenario pengujian dan pelaksanaan pengujian kasus.
5.
Perbadingan hasil aktual dan yang diharapkan didasarkan pada hasil pengujian yang telah dieksekusi. Sebuah praktek pengujian akan efektif jika mengikuti langkah di atas
sebagai standar pengujian pada semua organisasi. Langkah di atas memberikan standar yang ketat untuk pengujian sebuah perangkat lunak dalam sebuah organisasi. Di dalam fungsional testing dikenali beberapa jenis urutan ujian yang diterapkan sebagai standar pengujian, antara lain : 1. Unit Testing Jenis pengujian yang dilakukan oleh pengembang sebelum aplikasi diserahkan kepada tim penguji aplikasi secara resmi untuk melakukan uji kasus. Unit testing dilakukan oleh masing-masing pengembang aplikasi pada setiap bagian kode yang areanya telah ditentukan. Para pengembang menggunakan data uji yang terpisah dari data uji yang akan digunakan oleh tim penguji kualitas. Tujuan dari unit testing adalah mengisolasi setiap bagian dari program dan menunjukkan bahwa masing-masing dari bagian program itu tidak memiliki kesalahan baik dalam hal fungsionalitas maupun berdasarkan standar yang telah ditentukan oleh perusahaan. Keterbatasan dalam unit testing adalah tidak dapat menangkap semua bug dari aplikasi. Hal ini tidak dimungkinkan karena tidak mungkin
12
mengevaluasi setiap jalur eksekusi di dalam sebuah software. Keterbatasan jumlah skenario dan data uji bahwa pengembang dapat digunakan untuk memverifikasi sumber kode. Jadi setelah pengembang kehabisan opsi, maka biasanya pengujian terhenti karena dianggap telah berhasil. 2. Integration Testing Pengujian pengintegrasian sistem secara bersama-sama, baik dari hasil kode yang telah dibuat oleh developer maupun dari pihak organisasi. Pengujian ini ditujukan untuk mengetahui apakah hasil yang telah jadi sesuai dengan kesepakatan sebelumnya. Ada dua metode dalam melakukan integration testing, yakni bottom-up integration test dan top down integration test. Bottom-up integration test dimulai dari unit testing (testing internal dari tim developer), diikuti dengan test yang yang lebih jauh baik dalam hal pemanggilan modul/fungsionalitas secara lebih menyeluruh. Top down integration test dimulai dari pemanggilan modul/fungsionalitas yang lebih tinggi dan secara perlahan menuju ke modul/fungsionalitas yang lebih rendah. Dalam lingkungan pengembangan software yang baik, bottom-up testing biasanya tidak dilakukan bergantian dengan top-down testing. Proses meliputi berbagai macam test dari dari aplikasi secara menyeluruh berdasarkan skenario yang telah didesain guna mencegah kesalahan yang akan terjadi baik dari pihak pengguna, sistem itu sendiri maupun kesalahan teknis lainnya.
13
3. System Testing System testing adalah tingkat berikutnya dalam pengujian dan tes sistem secara menyeluruh. Setelah semua komponen terintegrasi, aplikasi secara keseluruhan diuji secara ketat untuk melihat bahwa aplikasi telah memenuhi standar mutu. Jenis pengujian dilakukan oleh tim khusus. Pengujian sistem ini sangat penting karena langkah ini adalah langkah pertama dalam Software Development Life Cycle, di mana aplikasi ini diuji secara keseluruhan. Aplikasi diuji secara menyeluruh untuk melakukan verifikasi bahwa aplikasi telah memenuhi spesifikasi fungsionalitas dan teknis. Aplikasi harus diuji di dalam lingkungan yang sangat dekat dengan lingkungan produksi di mana aplikasi akan diterapkan. Pengujian sistem memungkinkan kita untuk menguji, memverifikasi dan memvalidasi baik untuk kebutuhan bisnis maupun kepentingan arsitektur dari aplikasi itu sendiri. 4. Regression Testing Regression testing dilakukan apabila ada beberapa bagian dari software aplikasi mengalami perubahan, dan di mana perubahan itu akan mempengaruhi beberapa area lain dari aplikasi itu sendiri. Untuk memverifikasi bahwa bug tetap tidak menghasilkan fungsi yang salah pada beberapa bagian dari software maupun keseluruhan. Tujuan dari pengujian regresi adalah memastikan bahwa perubahan seperti perbaikan bug tidak menimbulkan masalah atau kesalahan lain yang ditemukan di dalam aplikasi. Pengujian regresi sangat penting karena meminimalkan kesenjangan dan kesalahan aplikasi terhadap perubahan yang telah dilakukan. Pengujian
14
baru yang dilakukan untuk memverifikasi bahwa perubahan tidak mempengaruhi area lain dalam aplikasi. Hal ini mengurangi resiko terjadinya kesalahan karena tes dapat dilakukan ketika perubahan terjadi tanpa memanjangkan jadwal pengembangan selanjutnya. Oleh karena itu pengujian regresi sangat penting untuk meningkatkan kecepatan dalam memverifikasi aplikasi sehingga aplikasi dapat dengan cepat digunakan ataupun dipasarkan. 5. Acceptance Testing Acceptance testing dapat dikatakan sebagai jenis tes yang paling penting dalam pengujian fungsionalitas. Pengujian ini dilakukan oleh tim penjamin mutu, dan tes ini dilakukan untuk mengukur sampai sejauh mana aplikasi telah memenuhi spesifikasi aplikasi yang diingikan dan diharapkan sebagaimana keinginan pengguna. Tim penjamin mutu akan memiliki satu set pra skenario tertulis dan uji kasus yang akan digunakan untuk menguji aplikasi. Banyaknya ide yang tercantum dalam pengujian dapat meningkatkan keakuratan aplikasi agar dapat diterima oleh pengguna. Tes ini tidak hanya ditujukan untuk menunjukkan kesalahan-kesalahan sederhana seperti ejaan, kesalahan tampilan atau kesenjangan interface, namun juga ditujukan untuk menunjukkan bug dalam apikasi yang akan menghasilkan kesalahan yang lebih besar berdasarkan kesalahan-kesalahan yang ditemukan di dalam aplikasi. Dengan melakukan acceptance test pada aplikasi yang diuji, tim dapat menyimpulkan sampai sejauh mana aplikasi dapat digunakan atau diterima oleh pengguna terutama pengguna yang dekat dengan area produksi atau
15
pengguna software secara langsung. Acceptance testing dibagi menjadi dua tahap, yakni : a. Alpha Testing Alpha testing adalah tahap pertama dari acceptance testing dan dilakukan hanya di dalam area tim pengembang aplikasi. Unit testing, integration testing dan system testing digabungkan untuk melakukan aplha testing. Selama fase ini ada beberapa hal yang biasanya diuji, hal-hal seperti kesalahan ejaan, pengecekan broken link, waktu yang dibutuhkan untuk membuka aplikasi dengan menggunakan mesin yang memiliki spesifikasi terendah untuk menjalankan aplikasi, serta masalah latency ketika aplikasi dijalankan. b. Beta Testing Beta testing dilakukan setelah alpha testing dilakukan. Dalam beta testing pengujian sampel dari audiens atau pengguna dibutuhkan sebagai tester utama dari aplikasi. Beta testing dikenal juga dengan istilah pre-release testing. Versi beta dari software idealnya didistribusikan kepada banyak orang, sebagai bentuk tes program dalam dunia nyata dan hasil preview dari tes ini akan digunakan sebagai acuan dasar untuk melakukan perilisan aplikasi. Dalam fase ini pengguna akan menggunakan dan menjalankan aplikasi guna menyediakan feedback kepada tim developer aplikasi. Setiap kesalahan kecil, baik dalam hal-hal yang menyulitkan pengguna baik dari sisi kesalahan penulisan kata di dalam aplikasi atau bahkan crash wajib dilaporkan pengguna agar perbaikan dapat dilakukan. Hasil feedback dari pengguna harus diteliti dan diperbaiki oleh tim developer agar memastikan masalah yang sama tidak muncul kembali dalam versi berikutnya. Semakin
16
banyak masalah yang muncul dan semakin banyak perbaikan yang dilakukan, maka tingkat kualitas aplikasi semakin tinggi. Hal ini dikarenakan semakin sedikit masalah yang muncul, berarti semakin tinggi tingkat aplikasi dapat diterima oleh pengguna. Tingginya kualitas dari sebuah aplikasi ditentukan oleh tingkat kepuasan pengguna.
2.7.2 Pengujian Non-Fungsional Pengujian non-fungsional dilakukan berdasarkan pengujian aplikasi tanpa didasarkan oleh fungsionalitas dari aplikasi itu sendiri. Pengujian ini melibatkan pengujian tingkat kinerja software, keamanan, user interface dan lain sebagainya. Berikut ini adalah beberapa jenis pengujian non-fungsional yang biasanya digunakan oleh dunia luas, antara lain : 1. Performance Testing Performance
testing
banyak
digunakan
untuk
menunjukkan
dan
memverifikasi permasalahan-permasalahan kinerja ataupun masalahmasalah yang lumrah terjadi seperti bottleneck. Performance testing tidak ditujukan untuk menunjukkan kesalahan-kesalahan aplikasi dari sisi kode (bugs) dalam software. Ada beberapa hal yang kerap menjadi permasalahan dalam penurunan performa software aplikasi, hal-hal seperti network delay, client side processing, database transaction processing, load balancing between servers maupun data rendering. Performance testing biasanya dilakukan sebagai salah satu bagian terpenting dan mandatori dalam pengujian aplikasi non-fungsionalitas. Aspek-aspek seperti kecepatan (baik dari sisi waktu respon aplikasi, data rendering dan pengaksesan), kapasitas, stabilitas dan skalabilitas.
17
Performance test dapat berupa kegiatan pengujian kualitatif ataupun kuantitatif dan dapat dibagi menjadi sub jenis pengujian seperti Load dan Stress testing. Load testing adalah sebuah proses testing yang menguji perilaku software dengan menerapkan beban maksimum dalam hal pengaksesan aplikasi dan mainpulasi data input dalam jumlah yang besar. Hal ini dapat dilakukan pada
kondisi
beban
normal
dan
puncak.
Jenis
pengujian
mengidentifikasikan kapasitas maksimum software dan perilakunya saat puncak. Biasanya load testing menggunakan tools untuk melakukan pengujian secara otomatis. Pengguna virtual (VUsers) dari automation tools tersebut didefinisikan dalam alat pengujian otomatis dan script yang dijalankan untuk memverifikasi pengujian beban pada software. Jumlah pengguna dapat dimanipulasi sesuai dengan kebutuhan, baik meningkat maupun menurun. Sedangkan stress testing adalah sebuah proses pengujian perilaku software dalam kondisi abnormal. Tes ini menggunakan sumber daya yang melebihi batas normal dari beban software, oleh karena itu tes ini disebut sebagai stress testing. Tujuan utama adalah untuk menguji software dengan menerapkan beban ke sistem dan mengambil sumber daya yang biasanya digunakan software untuk mengidentifikasikan titik putus (shut down). Test ini dapat dilakukan dengan cara mengacak port jaringan dan melakukan tindakan seperti restart atau shut down port jaringan tersebut, mematikan atau menghidupkan database dengan waktu acak maupun menjalankan proses yang berbeda guna mengurangi sumber daya komputer seperti CPU, memori ataupun hal lainnya dari server aplikasi.
18
2. Usability Testing Usability testing meliputi konsep dan definisi yang berbeda dari pengujian kegunaan dari sudut pandang software. Metode black box testing digunakan bukan untuk menangkap kesalahan dari software (bugs), namun kesalahan dari pengguna software tersebut ketika menggunakan dan menemukan
kesalahan
dalam
software.
Usability
testing
dapat
didefinisikan ke dalam lima faktor yakni efisiensi, learning (mudah dipelajari), satisfaction (memuaskan), software mudah untuk diingat serta mudah untuk digunakan. Software dapat berguna dan berjalan dengan baik apabila pengguna memiliki semua faktor di atas. Usability testing adalah persyaratan dari sebuah software agar dapat diterima dengan baik oleh pengguna, karena berkaitan dengan interaksi antara sistem dengan manusia. Apabila pengguna akhir puas dengan aplikasi yang telah jadi, maka software dapat secara efektif digunakan oleh pengguna. Hal ini ditetapkan dengan beberapa standar dan kualitas model dan metode yang menentukan kegunaan dalam bentuk atribut maupun sub atribut, seperti diterangkan di dalam ISO-9126, ISO-9241-11, ISO-13407 dan IEEE std.610.12 dan lain-lain. Pengujian Graphical User Interface (GUI) software memastikan bahwa software sesuai dan tepat dalam hal pemilihan warna, keselarasan, ukuran maupun sifat-sifat lainnya yang berhubungan dengan tampilan software agar dapat diterima dengan baik oleh pengguna. Pengujian usability sisi lain memastikan user interface bersifat user friendly dan dirancang agar mudah
digunakan,
mudah
diingat,
efisien,
tidak
menimbulkan
kebingungan bagi pengguna akhir (end user). Pengujian user interface
19
merupakan sub bagian dari pengujian usability. 3. Security Testing Security testing meliputi testing keamanan software dari sisi keamanan untuk mengidentifikasikan setiap celah yang terdapat dalam software. Hal ini penting karena setiap celah ataupun titik kerentanan software terhadap serangan siber dari luar maupun dari dalam. Setiap sudut software harus diperhatikan agar tidak menimbulkan permasalahan-permasalahan sosial seperti hilangnya data pribadi, pembajakan identitas pengguna, maupun pengoprekan software oleh pihak lain untuk dijadikan milik pribadi. Berikut ini adalah aspek-aspek utama yang perlu diperhatikan dalam pengujian keamanan, antara lain : a. Confidentiality b. Integritas c. Otentikasi d. Availability e. Ototisasi f. Non-repudiation g. Keamanan data h. Validasi input i. Pertahanan terhadap SQL injection j. Software sesuai dengan semua standar kebijakan yang ada k. Session management l. Penyerangan software dari cross site scripting m. Kerentanan buffer overflow n. Directory transversal attacks
20
4. Portability Testing Portability testing meliputi pengujian software yang dilakukan dengan tujuan mengecek apakah software dapat digunakan secara berulang (reuseable) dan dapat dipindahkan ke dalam bentuk operating system maupun software lain. Berikut ini adalah beberapa cara untuk melakukan portability testing, antara lain ; a. Percobaan melakukan instalasi software dari satu komputer ke komputer lainnya. b. Melakukan instalasi software dari satu platform ke dalam suatu platform yang berbeda (baik operating system, browser, dan lain sebagainya). Pengujian portabilitas dianggap sebagai salah satu pengujian yang cukup penting dari pengujian sebuah sistem, karena hal jenis pengujian ini dapat dijadikan titik ukur sampai sejauh mana software dapat menerima lingkungan yang berbeda (interopability). Perbedaan komputer, operating system serta browser menjadi fokus utama dari pengujian ini. Portability testing dapat dilakukan apabila software telah menetapkan aturan dasar bahwa software dapat ditempatkan di lingkungan yang berbeda. Pengujian ini dapat dilakukan setelah tahap-tahap pengujian lain seperti unit testing, integration testing telah dilakukan terhadap software yang terkait dan batasan lingkungan untuk melakukan testing telah dilakukan.
2.8
Interaksi Manusia dan Komputer Menurut Shneiderman (2010) interaksi manusia dan komputer adalah ilmu yang berhubungan dengan desain, evaluasi, dan pelaksanaan studi tentang bagaimana komunikasi antara komputer dan pengguna.
21
Interaksi Manusia dan Komputer merupakan sistem yang mampu menjembati interaksi antara user dengan komputer. (Daztbaz, 2003). Salah satu faktor penting dari IMK adalah user-friendly akan membentuk konsepsi yang berbeda atau model mental yang berbeda mengenai bagaimana mereka berinteraksi, belajar dan menyimpan pengetahuan dan keahlian. Pada akhirnya, preferensi pengguna akan berubah setelah mereka secara bertahap menguasai antarmuka baru.
2.8.1 Delapan Aturan Emas Perancangan Dalam merancang sistem interaksi manusia dan komputer yang baik maka harus diperhatikan aturan-aturan yang biasanya disebut 8 aturan emas (Shneiderman & Plaisant, 2010) antara lain sebagai berikut: a. Strive for consistency (harus konsisten) Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Urutan yang konsisten dari aksi-aksi yang seharusnya digunakan pada situasi-situasi yang mirip. Terminologi yang sama seharusnya digunakan dalam menu, prompt, dan help screen. Perintah konsisten yang seharusnya dijalankan
secara
menyeluruh
kecuali
seperti
tidak
adanya
pengulangan password atau konfirmasi untuk perintah delete atau hapus yang harus dapat dipahami dan terbatas jumlahnya. b. Enable frequent user to user shortcuts (memungkinkan pengguna untuk rutin dalam menggunakan shortcut)
22
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. Para pengguna biasanya ingin mengurangi jumlah interaksi-interaksi dan meningkatan langkah dari interaksi, singkatan-singkatan, kunci-kunci khusus, dan perintahperintah tersembunyi. c. Offer informative feedback (memberikan umpan balik yang informatif) Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. Presentasi visual dari objek-objek penting menyediakan suatu lingkungan yang sesuai untuk menunjukan perubahan secara eksplisit. d. Design dialogs to yield closure (merancang dialog untuk menghasilkan keadaan akhir) Urutan aksi dapat diorganisasikan menurut kelompok yang terdiri dari awal, tengah dan akhir. Umpan balik yang informatif kepada pengguna ketika
penyelesaian sekelompok aksi yang dapat memberikan
kepuasan bahwa sistem telah menyelesaikan keinginan mereka dengan baik. Hal ini memberikan kesan yang baik kepada pengguna sehingga mereka akan berusaha mempertahankaan penggunaan sistem tersebut.
23
e. Offer simple error handling ( menyediakan penanggulan error yang sederhana) Jika suatu kesalahan dibuat, sebaiknya sistem mengetahui kesalahan dan membuatnya menjadi mudah dengan mekanisme yang dapat dipahami dalam mengatasi kesalahan. Pengguna sebaiknya tidak mengetik
kembali
seluruh
perintah
tetapi
lebih
baik
hanya
membenarkan bagian yang salah. f. Permit easy reversal of actions ( mengijinkan pengembalian aksi atau undo yang mudah) Sebanyak mungkin dari aksi-aksi yang ada sebaiknya dapat dikembalikan ke awal. Fitur ini mengurangi ketidaknyamanan karena pengguna mengetahui bahwa kesalahan dapat diulang. Hal ini memberanikan penjelajahan terhadap pilihan-pilihan yang tidak dikenal. Kesatuan dari kemampuan untuk pengembalian mungkin sebagai sebuah aksi sendiri, sebuah data entry, atau sebuah kumpulan utuh dari aksi-aksi. g. Support internal locus of control ( mendukung pengengalian secara internal) Operator-operator berpengalaman memiliki keyakinan bahwa mereka bertanggung jawab terhadap sistem dan sistem menanggapi terhadap aksi mereka. Aksi yang tidak umum, urutan data entry yang tidak sesuai, kesulitan dalam memperoleh informasi yang dibutuhkan, dan ketidakmampuan untuk menghasilkan aksi yang meyakinkan semua ketidaknyamanan dan ketidakpuasan.
24
h. Reduce short term memory load ( mengurangi beban ingatan jangka pendek) Keterbatasan dari pemrosesan informasi manusia pada memori jangka pendek membutuhkan tampilan-tampilan yang dapat dijaga dengan mudah, tampilan halaman yang banyak dapat digabung, frekuensi pergerakan window dapat dikurangi dan waktu pelatihan yang cukup dapat dibagikan untuk codes, mnemonics, dan urutan dari aksi-aksi. Di saat yang tepat, akses online untuk form-form sintaks perintah, singkatan-singkatan, dan kode-kode, dan informasi lainnya sebaiknya disediakan.
2.8.2 Interface Menurut Pressman (Pressman, 2005), ada empat model yang berbeda apabila kita ingin membuat sebuah antarmuka pengguna, yakni: a. Software Engineer menciptakan sebuah model design b. Seorang human engineer sebagai sebuah model user c. End user menciptakan sebuah gambaran semu yang dikenal dengan sebutan system perseption. d. Para implementator dari sistem tersebut menciptakan sebuah system image. Selain itu, kita dapa mengklasifikasikan user kedalam 3 bagian yang spesifik :
25
1. Novice adalah user awam yang tidak memiliki pengenalan yang cukup terhadap sistem dan hanya mampu mengoperasikan komputer dalam secara umum. 2. Knowledge, intermitent user adalah user yang memiliki pengenalan semantic yang cukup terhadap sistem dan aplikasi yang digunakan namun kurang mengeksplorasi lebih jauh terhadap fitur yang disediakan oleh aplikasi. Knowledge, frequent user adalah user yang tidak hanya menguasai sistem namun juga mampu mengembangkan cara-cara yang kreatif dalam menggunakan aplikasi dan mampu mengajarkannya kepada user novice karena pemakaian dan pengenalan yang tinggi terhadap sistem.
2.8.3 Perancangan User Interface Dalam merancang sebuah user interface terdapat beberapa hal yang perlu diperhatikan. Vaughan (Vaughan, 2008) memberikan beberapa saran yang dapat digunakan dalam merancang sebuah user interface yaitu sebagai berikut : a. Kekontrasan yang terlihat jelas, misalnya besar atau kecil ukuran font dipakai, terang atau gelap warna yang digunakan, dan sebagainya. b. Layar yang bersih dan sederhana dengan banyak area putih. c. Penarik perhatian seperti drop caps atau sebuah objek berwarna terang dengan layar abu-abu. d. Bayangan dalam berbagai perbedaan.
26
e. Gradien. f. Grafik yang dibalik untuk menekankan teks penting atau gambar. g. Objek berbayang dan teks dalam dua dimensi dan tiga dimensi. Merancang web tidak terlepas dari kesalahan, karena itu beberapa kesalahan yang perlu dihindari adalah : a. Warna yang saling bertabrakan. b. Layar sibuk karena terlalu banyak content. c. Menggunakan
gambar
dengan
banyak
warna
atau
tingkat
kecermelangan yang kontras sebagai latar belakang. d. Pengulangan animasi yang tidak pada tempatnya. e. Memiliki pola yang terlalu ramai. f. Suara yang muncul ketika sebuah tombol ditekan. g. Kata-kata quote yang tidak pada tempatnya. h. Butuh menekan lebih dari dua tombol untuk keluar. i. Terlalu banyak tulisan. j. Terlalu banyak elemen kata benda yang dimunculkan dengan cepat.