bab 2 landasan teori - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2012-1-01320-if...

27
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)

Upload: lykhanh

Post on 15-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

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

36

waktu latihan yang dialokasikan untuk kode, mnemonics, dan

urutan aksi.