bab 2 tinjauan referensi incremental model

22
7 BAB 2 TINJAUAN REFERENSI 2.1 Incremental Model Menurut Amninder Singh (Singh & Kaur, 2017), untuk mengembangkan perangkat lunak aplikasi, model standar yang dikenal dan digunakan adalah incremental model. Dalam model ini memiliki proses yang berbeda seperti designing, testing, implementation yang harus dilakukan sampai selesai maka baru akan mendapatkan produk yang dibutuhkan. Model ini digunakan untuk mempertimbangkan perubahan pelanggan sesuai dengan kebutuhan mereka. Tidak seperti waterfall model yang tidak mempertimbangkan perubahan sebelumnya. Tahapan-tahapan yang terdapat pada incremental model mencakup: 1. Requirement phase: Menganalisis permintaan produk, mengidentifikasi persyaratan dasar, membuat dokumen dan mengkategorikan cara kerja sistem. Dalam analis dokumentasi diputuskan bagaimana menyelesaikan tugas secara langkah demi langkah. 2. Design and Development phase: Perancangan sistem dan proses pengembangan dilakukan secara efektif. Produk baru atau perubahan pada produk didesain dan dikembangankan pada tahap ini. 3. Testing phase: Menggunakan metode pengujian yang berbeda-beda, sehingga dalam tahap ini didapatkannya respon dari sistem. 4. Implementation phase: Mengimplementasikan pengkodean yang sudah dikembangkan oleh pengembang. Gambar 2.1 Incremental Model (Singh & Kaur, 2017)

Upload: others

Post on 01-May-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 TINJAUAN REFERENSI Incremental Model

7

BAB 2

TINJAUAN REFERENSI

2.1 Incremental Model

Menurut Amninder Singh (Singh & Kaur, 2017), untuk mengembangkan perangkat

lunak aplikasi, model standar yang dikenal dan digunakan adalah incremental model.

Dalam model ini memiliki proses yang berbeda seperti designing, testing,

implementation yang harus dilakukan sampai selesai maka baru akan mendapatkan

produk yang dibutuhkan. Model ini digunakan untuk mempertimbangkan perubahan

pelanggan sesuai dengan kebutuhan mereka. Tidak seperti waterfall model yang tidak

mempertimbangkan perubahan sebelumnya. Tahapan-tahapan yang terdapat pada

incremental model mencakup:

1. Requirement phase: Menganalisis permintaan produk, mengidentifikasi

persyaratan dasar, membuat dokumen dan mengkategorikan cara kerja sistem.

Dalam analis dokumentasi diputuskan bagaimana menyelesaikan tugas secara

langkah demi langkah.

2. Design and Development phase: Perancangan sistem dan proses

pengembangan dilakukan secara efektif. Produk baru atau perubahan pada

produk didesain dan dikembangankan pada tahap ini.

3. Testing phase: Menggunakan metode pengujian yang berbeda-beda, sehingga

dalam tahap ini didapatkannya respon dari sistem.

4. Implementation phase: Mengimplementasikan pengkodean yang sudah

dikembangkan oleh pengembang.

Gambar 2.1 Incremental Model (Singh & Kaur, 2017)

Page 2: BAB 2 TINJAUAN REFERENSI Incremental Model

8

2.2 Database

Database (DB) adalah kumpulan data yang tersimpan, terintegrasi, dikelola, dan

dikendalikan secara terpusat. Database biasanya menyimpan informasi tentang

puluhan hingga ratusan kelas atau entitas. Relasi Database (basis data) yang berisikan

dari sekumpulan file atau table yang dapat berkaitan dan berhubungan antara satu sama

lain, dan di dalam file atau table tersebut berisikan data yang tersimpan secara

menyeluruh yang diatur melalui Database Management System (DBMS) (Satzinger et

al., 2016).

2.3 Database Management System (DBMS)

DBMS adalah komponen perangkat lunak sistem yang umumnya dibeli dan dipasang

secara terpisah dari komponen lainnya. DBMS menyediakan fasilitas yang

memungkinkan pengguna untuk mendefinisikan database melalui Data Definition

Language (DDL) serta memungkinkan pengguna untuk melakukan menambah,

mengubah, menghapus dan mengambil data dari database melalui Data Manipulation

Language (DML).

DBMS memiliki empat komponen utama: antarmuka pemrograman aplikasi (API),

antarmuka SQL atau query langsung, antarmuka administratif, dan serangkaian

program akses data dan subrutin. Selain itu, DBMS telah berevolusi melalui beberapa

tahap teknologi sejak tahun 1960-an. Perubahan DBMS yang paling signifikan adalah

tipe model yang digunakan untuk mewakili dan mengakses konten dari penyimpanan

data fisik. Awal model, termasuk model hierarkis dan jaringan, telah digantikan oleh

model relasional dan berorientasi objek (OO), sehingga meski paling modern

perangkat lunak dirancang dan diimplementasikan dengan menggunakan teknik dan

pemrograman berorientasi objek.

Contoh dari DBMS modern adalah Microsoft SQL Server, Oracle, dan MySQL

(Satzinger et al., 2016).

Page 3: BAB 2 TINJAUAN REFERENSI Incremental Model

9

2.4 Entity Relationship Diagram (ERD)

Entity Relationship Diagram adalah jenis diagram struktural untuk digunakan dalam

desain database. ERD bukanlah diagram UML, tetapi sering digunakan dan sangat

mirip dengan diagram kelas model domain UML. ERD biasanya digunakan oleh analis

tradisional dan analis database. Diagram ERD menggunakan simbol kotak yang

merpresentasikan entitas dan sebuah garis yang merepresentasikan kardinalitas

tertentu (Satzinger et al., 2016). Elemen ERD adalah sebagai berikut:

1. Entitas: merupakan fondasi yang membangun data model dan memiliki banyak

event (orang, tempat, item, dan lain-lain).

2. Atribut: merupakan informasi yang memiliki sebuah identitas.

3. Relationship: merupakan asosiasi yang berhubungan terhadap antar entitas.

4. Cardinality: merupakan suatu hubungan yang memiliki rasio.

a. one to one.

b. one to many.

c. one to zero.

d. many to many.

e. many to zero.

2.5 MySQL

My SQL (My Structure Query Language) merupakan aplikasi atau sistem untuk

mengelola suatu database atau manajemen data. Untuk menyimpan segala informasi

kedalam komputer menggunakan data. MySQL memiliki tugas yaitu mengatur dan

mengelola data-data didalam database, selain itu MySQL juga dikenal sebagai sebuah

sistem yang efisien, proses query yang cepat, dan mudah. Beberapa keunggulan

MySQL adalah memungkinkan pengguna untuk memodifikasi struktur dari database,

mengubah/mengisi/menghapus isi dari database, memindahkan suatu data antara

database yang berbeda. Sehingga sangat cocok digunakan untuk aplikasi berbasis

website. Secara umum bahasa SQL dibagi menjadi tiga bagian yaitu:

1. DDL (Data Definition Language) yang digunakan untuk membangun objek-

objek dalam sebuah database seperti tabel.

2. DML (Data Manipulation Language) yang digunakan dalam manipulasi suatu

tabel didalam database (menambah, mengedit,mencari dan menghapus).

Page 4: BAB 2 TINJAUAN REFERENSI Incremental Model

10

3. DCL (Data Control Language)

Digunakan untuk menangani masalah kemanan dalam database server, dan

hak-hak pada objek-objek database (Hasugian, 2018).

2.6 CodeIgniter

Codeigniter adalah sebuah web application framework yang bersifat open-source yang

digunakan untuk membangun aplikasi web. Tujuan utama pengembangan

menggunakan codeigniter adalah untuk membantu developer dalam membuat aplikasi

dengan lebih cepat daripada menulis semua kode dari awal. CodeIgniter menyediakan

berbagai macam library yang dapat mempermudah dalam pengembangan, karena

template kodenya sudah tersedia. Codeigniter juga merupakan salah satu framework

php tercepat yang ada sampai saat ini. CodeIgniter diperkenalkan kepada publik pada

tanggal 28 februari 2006 (Novianto, 2016).

2.7 Model View Controller (MVC)

MVC (Model-View-Controller) adalah sebuah pola desain perangkat lunak yang

dibangun di sekitar interkoneksi tiga utama jenis komponen, dalam bahasa

pemrograman seperti PHP, seringkali dengan fokus yang kuat pada berorientasi Object

Oriented Program (OOP). Tiga jenis komponen adalah model, view, controller (Pitt,

2012):

1. Model adalah tempat dimana logika bisnis disimpan. Lebih spesifik, model

merupakan cara aplikasi menyimpan data. Contohnya adalah mengatur

bagaimana aplikasi berinteraksi dengan database.

2. View adalah tempat dimana user interface suatu aplikasi disimpan. Di dalam

view dapat ditempatkan kode HTML, file CSS, maupun file JavaScript. View

merupakan tempat bagaimana user berinteraksi dengan aplikasi.

3. Controller adalah tempat dimana seluruh pengaturan aplikasi dilakukan.

Controller bertugas untuk memisahkan logika model dari view, dan

memberikan respon dari interaksi manusia dalam view.

Page 5: BAB 2 TINJAUAN REFERENSI Incremental Model

11

2.8 Hypertext Preprocessor (PHP)

PHP merupakan singkatan rekursif Hypertext Preprocessor. Definisi dari PHP adalah

bahasa pemrograman server-side yang dirancang untuk pengembangan web.

Menurut Lengstorf (2010) PHP adalah bahasa scripting yang dapat beroperasi secara

otomatis dengan menggunakan command line dari computer yang sudah terdapat PHP

didalamnya. PHP tidak mengharuskan untuk melakukan compile terlebih dahulu

sebelum dijalankan, dan PHP biasanya digunakan sebagai server-side scripting

language.

Berdasarkan dari pendapat diatas, penulis menyimpulkan PHP adalah bahasa

pemograman yang menggunakan script-script secara on the fly untuk membuat

dokumen HTML yang dieksekusi di server web untuk membuat aplikasi web yang

bersifat dinamis (Lengstorf, 2010).

2.9 HyperText Markup Language (HTML)

HTML (HyperText Markup Language) adalah bahasa penulisan yang biasa digunakan

untuk membuat dokumen pada halaman web. HTML bukanlah bahasa pemrograman,

tetapi merupakan bahasa markup, artinya HTML merupakan sistem untuk

mengidentifikasi dan mendeskripsikan berbagai komponen dokumen seperti headings,

paragraphs, dan lists. Namun tidak semua browser dapat support HTML dengan cara

yang sama, namun teks generic dari HTML dapat ditampilkan sehingga fungsinya

tetap sama (Robbins, 2018).

2.10 Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) berfungsi untuk memberikan kesan hidup pada halaman

HTML. CSS mengatur suatu pengembangan dari halaman yaitu font, warna, gambar

latar belakang, spasi baris, tata letak halaman, dan sebagainya. Bukan hanya dapat

menambahkan efek khusus dan animasi dasar ke halaman HTML. Spesifikasi CSS

menyediakan metode untuk mengatur bagaimana dokumen akan disajikan ke dalam

konteks selain browser, seperti di cetak atau dibacakan oleh screen reader (Robbins,

2018).

Page 6: BAB 2 TINJAUAN REFERENSI Incremental Model

12

2.11 JavaScript

JavaScript adalah bahasa script yang menambahkan interaktivitas dan perilaku ke

halaman website, seperti Memeriksa entri formulir untuk entri yang valid, swapping

styles untuk satu elemen atau seluruh situs, membuat scrolling feed dengan lebih

banyak konten secara otomatis, dan juga bisa untuk membuat sebuah widget

antarmuka seperti embedded video players. Selain itu, JavaScript juga dikenal dengan

dynamic programming language yang berarti tidak perlu dijalankan dengan segala

macam bentuk compiler sehingga browser dapat membaca kode dengan efektif dan

secara dinamis. JavaScript juga bersifat loosely typed yang berarti javaScript secara

langsung dapat mengenali jenis variable yang ada (Robbins, 2018).

2.12 Tawk.to

Tawk.to adalah perangkat lunak live chat gratis yang dapat menghubungkan dan

berbicara langsung dengan pengunjung di situs website. Tawk.to dirancang untuk

meningkatkan keefektifan dalam mengelola pengalaman keterlibatan pelanggan

online, memungkinkan banyak situs web dan agen dalam satu antarmuka dasbor untuk

mengobrol dengan pengunjung di situs website.

Tawk.to kompatibel dengan semua browser modern, live chat secara gratis yang dibuat

dari kebutuhan bisnis yang meningkat untuk merespons secara waktu nyata, dengan

orang-orang nyata.

Tawk.to menawarkan aplikasi iOS, Android, Windows, dan Mac OSX gratis untuk

tetap terhubung, atau anda dapat masuk melalui browser modern apa pun (tawk.to,

2020).

2.13 XAMPP

XAMPP adalah sebuah software web server yang memiliki kegunaan sebagai

pengembangan website yang didalamnya sudah terdapat database server MySQL dan

juga dapat mendukung pemrograman PHP. XAMPP merupakan software gratis yang

dapat dijalankan di sistem operasi Windows, Linux maupun Mac OS yang dimana

fungsinya adalah sebagai server yang berdiri sendiri atau localhost, yang terdiri atas

Page 7: BAB 2 TINJAUAN REFERENSI Incremental Model

13

program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis

dengan bahasa pemrograman PHP (Maulana et al., 2015)

2.14 Web Browser

Web browser adalah suatu program atau software yang digunakan untuk menjelajahi

internet atau mencari informasi dari suatu website yang tersimpan didalam komputer.

Awalnya, web browser berorientasi pada teks dan belum dapat menampilkan gambar.

Namun, web browser sekarang tidak hanya menampilkan gambar dan teks saja, tetapi

juga memutar file multimedia seperti video dan suara.

Menurut Syahputra (2018) web browser adalah sebuah perangkat lunak yang berfungsi

untuk menampilkan dan melakukan interaksi dengan dokumen-dokumen yang

disediakan oleh server web. Web browser merupakan jenis perantara pengguna dengan

server web yang paling sering digunakan sebagai pintu ruang informasi yang dikenal

sebagai world wide web (Syahputra, 2018).

2.15 PhpMyAdmin

Pada umumnya phpMyAdmin berfungsi sebagai salah satu aplikasi untuk mengelola

database. Menurut Mulyanto dan Khasanah (2018) phpMyAdmin adalah suatu aplikasi

Open-Source yang berbasis website. Aplikasi ini dibuat menggunakan pemograman

PHP, fungsi dari aplikasi ini yaitu untuk mengakses database MySQL. phpMyAdmin

dapat mempermudah dan mempersingkat kinerja dalam mengelola database MySQL.

Dengan adanya kelebihan yang dimiliki aplikasi ini, para pengguna baru tidak wajib

menguasai semua perintah pada MySQL dalam membuat database dan tabel. Untuk

mengakses phpMyAdmin juga dapat mengunakan form yang sudah tersedia pada

phpMyAdmin atau langsung menggunakan script pada menu SQL, PhpMyAdmin juga

dapat dijalankan dengan mengetik https://localhost/phpmyadmin pada web browser

(Mulyanto & Khasanah, 2018).

Page 8: BAB 2 TINJAUAN REFERENSI Incremental Model

14

2.16 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah model grafis yang digambarkan

dengan notasi-notasi yang sudah ditentukan oleh UML untuk pengembangan suatu

sistem. UML adalah kosakata yang bersifat umum berbasis objek dan diagram teknik

yang efektif digunakan untuk memodelkan setiap proyek pengembangan sistem mulai

dari tahap analisis sampai dengan tahap desain dan implementasi (Dennis et al., 2015).

2.16.1 Use Case Diagram

Use case adalah sebuah diagram yang digunakan untuk menggambarkan

interaksi secara sistem. Use case diagram memiliki tujuan untuk mengetahui

fungsi-fungsi yang ada dalam sebuah sistem dan fungsi tersebut dapat

digunakan oleh siapa saja, agar dapat dimengerti oleh pengguna. Use case

diagram adalah suatu diagram yang menampung kebutuhan bisnis untuk

sistem dan untuk menggambarkan suatu interaksi antara sistem dengan

lingkungannya (Dennis et al., 2015). Berikut adalah notasi-notasi pada use case

diagram:

1. Use Case

Notasi use case digambarkan dalam bentuk oval. Tujuan utama notasi

ini mewakili bagian utama dari fungsionalitas sistem, dapat

memperluas use case, dapat memasukan use case lain. Use case

ditempatkan dalam system boundary, dilabeli dengan susunan kata

kerja yang mewakili satu dari banyak tujuan pada sistem. Bentuk use

case seperti pada gambar dibawah ini.

2. Actor

Notasi actor digambarkan dalam stick figures, actor adalah peran yang

dapat dimainkan user saat berinteraksi dengan sebuah sistem. Actor

juga dapat mewakili sistem lain yang saat berinteraksi.

3. Subject Boundary

Menampung nama subject dibagian atas atau di dalam. Subject

Boundary mewakili lingkup subject, seperti sebuah sistem atau sebuah

proses bisnis.

Page 9: BAB 2 TINJAUAN REFERENSI Incremental Model

15

4. Association Boundary

Notasi ini menghubungkan antara actor dengan use case yang sedang

berinteraksi.

5. Include Relationship

Include Relationship adalah sebuah tanda relasi sebuah use case (1)

dengan use case (2), dimana use case (1) memerlukan use case (2)

untuk menjalankan fungsinya. Notasi ini mewakili penyertaan fungsi

dari satu use case dengan use case lainnya. Arah panahnya dari base

use case ke used use case.

6. Extend Relationship

Extend Relationship adalah sebuah tanda relasi use case (1) ke use case

(2), dimana use case (2) dapat berdiri sendiri tanpa adanya use case (1).

Notasi ini merupakan perpanjangan dari use case untuk menyertakan

perilaku tambahan.

7. Generalization

Notasi ini mewakili penggunaan khusus yang lebih umum. Memiliki

bentuk panah yang ditarik dari use case khusus ke base use case.

2.16.2 Use Case Description

Use Case Description adalah gambaran umum tentang fungsionalitas suatu

proses kegiatan yang di dalamnya melibatkan sebuah sistem (Dennis et al.,

2015). Berikut adalah beberapa elemen dari Use Case Description:

1. Overview Information

Elemen ini menyediakan informasi dasar dari sebuah use case.

Informasi yang diberikan mencakup:

a. Use case name: merupakan informasi tentang nama use case

yang akan jabarkan.

b. Use case ID: merupakan kode unik dari setiap use case,

biasanya merupakan urutan dari use case.

Page 10: BAB 2 TINJAUAN REFERENSI Incremental Model

16

c. Importance level: merupakan informasi tentang seberapa

penting use case yang dibuat, memiliki tiga tipe, yaitu: high,

middle, dan low.

d. Primary actor: merupakan informasi tentang actor yang

menjalankan use case tersebut.

e. Use case type: merupakan informasi tentang tipe dari setiap use

case, pilihannya bisa overview atau esensial.

f. Stakeholder: merupakan informasi tentang seseorang yang

nantinya memiliki peran penting terhadap use case yang dibuat.

g. Brief description: merupakan informasi mengenai use case

secara umum.

h. Trigger: merupakan informasi tentang sebuah event yang

memicu agar use case dibuat.

i. Trigger type: merupakan informasi tentang tipe dari pemicu

dimana use case itu terjadi dan terdapat dua macam tipe pemicu,

yaitu: external trigger dan temporal trigger. External trigger

merupakan kehadiran external yang memicu terjadinya sebuah

use case dibuat, sedangkan temporal trigger adalah suatu

jangka waktu yang akan memicu sebuah use case dibuat.

2. Relationship

Elemen ini menjelaskan bagaimana sebuah hubungan use case dengan

use case lainnya, atau hubungan antara use case dengan actor-nya.

Terdapat empat tipe elemen relationship di dalam sebuah use case:

a. Association relationship: merupakan hubungan antara use case

dengan actor yang terlibat dalam use case tersebut.

b. Include relationhip: merupakan inclusion dari masing-

masing use case, dimana di dalam include ini bertujuan untuk

memecah sebuah use case yang kompleks menjadi beberapa

bagian.

c. Extend relationship: merupakan ekstensi dari masing-

masing use case yang ada, ekstensi dari use case ini tidak bisa

Page 11: BAB 2 TINJAUAN REFERENSI Incremental Model

17

dijalankan jika use case utamanya tidak dijalankan terlebih

dahulu.

d. Generalization relationship: merupakan generalisasi dari

masing-masing use case.

3. Flow of Event

Elemen ini merupakan elemen terakhir dalam penyusunan use case

description yang menjelaskan tentang proses bisnis dari setiap use case

yang ada. Flow of event dibagi menjadi tiga langkah, yaitu:

a. Normal flow: merupakan langkah-langkah umum dari proses

bisnis yang ada dari setiap use case.

b. Sub-flow: merupakan pecahan proses bisnis dari normal flow

yang terlalu kompleks, sehingga menjadi sebuah proses lain

yang tetap berhubungan dengan normal flow tersebut.

c. Alternative or Exceptionial Flow: merupakan informasi tentang

kendala yang menyebabkan proses bisnis tidak berjalan dengan

semestinya.

2.16.3 Class Diagram

Class diagram adalah suatu diagram yang digunakan untuk menggambarkan

hubungan antar class yang dimodelkan pada sistem. Class Diagram digunakan

di fase analisis dan desain (Dennis et al., 2015). Class diagram berisikan class

yang menggambarkan struktur suatu sistem dari segi pembuatan class. Berikut

adalah notasi-notasi yang terdapat pada class diagram:

1. Class

Notasi class mewakili orang, tempat, atau sesuatu yang dibutuhkan

sistem menyimpan suatu informasi. Class digambarkan dengan kotak

yang terdiri dari beberapa bagian, yaitu nama yang ditulis dengan huruf

tebal dan diletakan di bagian atas, daftar attribute yang terletak di

bagian tengah, dan daftar operation yang terletak di bagian bawah.

Page 12: BAB 2 TINJAUAN REFERENSI Incremental Model

18

Tidak secara ekplisit menunjukan operation yang ada untuk

semua class.

2. Attribute

Merupakan keadaan suatu objek, dapat diturunkan dari attribute lain,

dan ditunjukan dengan menempatkan garis miring sebelum

nama attribute.

3. Operation

Merupakan aksi-aksi atau fungsi-fungsi yang dapat dilakukan oleh

sebuah class. Dapat diklasifikasikan sebagai constructor, query, atau

update operation. Termasuk dengan memberikan parameter atau

informasi yang dibutuhkan operation.

4. Association

Merupakan hubungan antar class dengan class-nya sendiri,

menggunakan frasa kata kerja atau nama peran, dan menyesuaikan

dengan hubungan antar class tersebut. Association dapat berada pada

beberapa class yang ditandai dengan simbol multiplicity.

5. Generalization

Merupakan “a-kind-of relationship” antara banyak class.

6. Aggregation

Merupakan bentuk khusus dari association dan mewakili “logical a-

part-of relationship” antara banyak class atau dengan class itu sendiri.

7. Composition

Merupakan bentuk khusus dari association dan mewakili “physical a-

part-of relationship” antara banyak class atau dengan class itu sendiri.

Page 13: BAB 2 TINJAUAN REFERENSI Incremental Model

19

2.16.4 Activity Diagram

Activity diagram adalah suatu diagram yang digunakan untuk menggambarkan

alur kerja bisnis yang independen. Alur aktivitas dalam use case atau desain

yang dijabarkan dari suatu method. Activity diagram digunakan pada fase

analisis dan desain (Dennis et al., 2015). Berikut adalah notasi-notasi yang

terdapat pada activity diagram:

1. Action

Action mewakili suatu potongan perilaku yang tidak dapat diuraikan

secara sederhana dari keseluruhan perilaku yang dimodelkan.

2. Activity

Activity dapat diuraikan lebih lanjut ke dalam serangkaian activities

atau action.

3. Object Node

Object nodes digambarkan dengan bentuk persegi panjang dalam

activity diagram. Object nodes mewakili aliran informasi dari satu

activity ke activity lain dan objek yang mempunyai hubungan ke

sekumpulan object flows. Dilabeli sesuai dengan nama “class”-nya.

4. Control Flow

Melambangkan jalur eksekusi melalui proses bisnis. Control flow

digambarkan dengan garis lurus berujung panah yang menunjukkan

arah aliran atau flow. Control flow harus dicantumkan pada actions atau

activities, karena fungsi dari control flows adalah menunjukkan urutan

eksekusi.

5. Object Flow

Notasi yang melambangkan aliran dari objects melalui proses bisnis.

Object flows digambarkan sebagai garis putus-putus dengan kepala

panah di atasnya yang menunjuk ke arah aliran atau flow. Sebuah object

flow harus ditempatkan pada sebuah action atau activity di satu ujung

Page 14: BAB 2 TINJAUAN REFERENSI Incremental Model

20

dan object node di ujung lain. Object flow menunjukkan aliran atau flow

suatu objek dari satu activity ke activity lainnya.

6. Initial Node

Initial Node adalah tanda awal dari activities atau actions.

7. Final Activity Node

Final Activity Node adalah tanda akhir dari semua activities atau

actions, terlepas dari actions dan activites itu sudah diselesaikan atau

belum. Final Activity Node digambarkan dengan lingkaran hitam yang

dilingkupi lingkaran.

8. Final-flow Node

Final-flow Node digunakan untuk menghentikan sebuah jalur eksekusi

tertentu melalui proses bisnis, tetapi mengizinkan jalur paralel lain

untuk melanjutkan prosesnya. Final-flow node digambarkan sebagai

sebuah lingkaran kecil dengan sebuah ‘X’ didalamnya.

9. Decision Node

Decision Node adalah kondisi pengujian untuk memastikan bahwa

control flow atau object flow hanya turun satu jalur. Decision Node

dilabeli dengan kriteria keputusan (decision criteria) untuk

melanjutkan ke jalur tertentu yang mau dieksekusi.

10. Merge Node Notasi ini digunakan untuk menyatukan kembali dua jalur yang terpisah

oleh proses decision node.

11. Fork Node Notasi ini digunakan untuk membagi perilaku ke dalam sekumpulan

activities atau actions yang dijalankan secara paralel atau bersamaan.

Page 15: BAB 2 TINJAUAN REFERENSI Incremental Model

21

12. Join Node Join Node digunakan untuk menyatukan kembali sekumpulan activities

atau actions yang sebelumnya dilakukan oleh proses fork node.

13. Swimlane Swimlane digunakan untuk memecah sebuah activity diagram menjadi

rows dan columns untuk menetapkan individual activities atau actions

kepada objects yang mengeksekusi activity atau action tersebut.

Swimlane sangat berguna ketika menggambarkan activity diagram,

karena dapat menyederhanakan pemahaman dan keterbacaan activity

diagram.

2.16.5 Sequence Diagram

Sequence diagram digunakan untuk menggambarkan behaviour dari objek-

objek dalam sebuah use case. Dibentuk berdasarakan urutan waktu dari suatu

kegiatan (Dennis et al., 2015). Berikut adalah notasi-notasi pada sequence

diagram:

1. Actor

Actor adalah orang atau sistem yang memperoleh suatu manfaat dari

sistem dan berada di luar sistem. Berpartisipasi dalam suatu sequence

dengan mengirim dan menerima pesan. Ditempatkan dibagian atas

diagram, digambarkan dengan stick figure (default) dengan nama dari

actor tersebut, dibawahnya apabila ada actor yang bukan human yang

terlibat digambarkan dalam persegi panjang dengan <actor> di

dalamnya.

2. Object

Object yang berada di dalam sequence yang bisa mengirimkan atau

menerima pesan, berada dibagian atas dan di sepanjang diagram. Object

digambarkan dengan sebuah kotak yang bertuliskan: [nama_objek] di

dalamnya. Object disini mewakili satu buah Object, bukan class dari

Object yang sejenis.

Page 16: BAB 2 TINJAUAN REFERENSI Incremental Model

22

3. Lifeline

Lifeline digambarkan seperti garis yang terputus-putus yang berada

dibawah objek atau actor. Object lifeline digunakan untuk

menunjukkan durasi hidup objek.

4. Execution Occurrence

Execution Occurrence berfungsi untuk memberi tahu periode hidupnya

suatu sistem, Execution Occurrence digambarkan dengan berbentuk

kotak.

5. Message

Message berfungsi untuk menyampaikan informasi dari satu objek ke

objek lainnya. Panggilan operasi diberikan label dengan pesan yang

dikirim dengan garis panah yang tebal. Sedangkan pengembalian

diberikan label dengan nilai yang dikembalikan dan digambarkan

dengan garis panah yang putus-putus.

6. Guard Condition

Merupakan pengujian yang harus ada dan terpenuhi untuk pesan yang

akan dikirim.

7. Object Destruction

Object Destruction dilambangkan dengan ‘X’ dan ditempatkan di akhir

dari lifeline. Object Destruction biasanya milik object yang

menunjukan bahwa akan keluar dari existence.

8. Frame

Frame menunjukan konteks pada sequence diagram.

Page 17: BAB 2 TINJAUAN REFERENSI Incremental Model

23

2.17 Testing

Menurut standar American Natuonal Standards Institute / Institute of Electrical and

Electronics Engineers 1059 (ANSI / IEEE 1059), Testing dapat didefinisikan sebagai

proses menganalisis item perangkat lunak untuk mendeteksi perbedaan antara kondisi

yang ada dan yang diperlukan (yaitu defects, error atau bugs) dan mengevaluasi fitur-

fitur dari entitas perangkat lunak.

2.17.1 Whitebox Testing

Menurut (Pressman & Maxim, 2015), pengujian whitebbox atau glassbox

adalah metode test-case design yang menggunakan struktur kontrol desain

procedural untuk memperoleh test-case. Dengan menggunakan metode

whitebox testing, perekayasa sistem memperoleh hasil test-case yang:

1. Memberikankan jaminan bahwa semua jalur independent pada suatu

modul telah digunakan paling tidak satu kali.

2. Menggunakan semua keputusan logis dari sisi true dan false.

3. Mengeksekusi semua batas fungsi loops dan batas operasionalnya.

4. Menggunakan struktur internal untuk menjamin validitasnya.

2.17.2 Blackbox Testing

Menurut (Pressman & Maxim, 2015), blackbox testing, juga disebut pengujian

perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya,

teknik pengujian blackbox memungkinkan anda untuk membuat beberapa

kumpulan kondisi masukan yang sepenuhnya akan melakukan semua

kebutuhan fungsional untuk program. Pengujian blackbox bukanlah teknik

alternatif untuk whitebox. Sebaliknya, ini merupakan pendekatan pelengkap

yang mungkin dilakukan untuk mengungkap kelas kesalahan yang berbeda dari

yang diungkap oleh metode pengujian whitebox. Pengujian kotak hitam

berupaya untuk menemukan kesalahan dalam kategori berikut:

1. Fungsi yang salah atau hilang.

2. Kesalahan antarmuka.

3. Kesalahan dalam struktur data atau akses basis data eksternal.

4. Kesalahan perilaku atau kinerja.

5. Kesalahan inisialisasi dan penghentian.

Page 18: BAB 2 TINJAUAN REFERENSI Incremental Model

24

2.18 Eight Golden Rules of Interface Design

Eight Golden Rules of Interface Design adalah suatu prinsip perancangan tampilan

yang berlaku di sebagian besar sistem interaktif dan lingkungan yang diperkaya.

Prinsip-prinsip ini, yang berasal dari pengalaman dan disempurnakan selama tiga

dekade, membutuhkan validasi untuk perancangan domain tertentu. Berikut prinsip-

prinsip dalam eight golden rules (Shneiderman et al., 2017 , p. 95-96):

1. Strive for consistency

Konsistensi dalam setiap aksi yang dilakukan dalam suatu situasi serupa

adalah suatu keharusan. Konsistensi tata letak, warna, huruf kapital, layout,

font dan komponen lainnya sangat diperlukan agar pengguna mengenali

halaman yang dilihat dalam lingkup atau memiliki hubungan dengan

aplikasi yang digunakan.

2. Seek universal usability

Kenali kebutuhan beragam pengguna dan desain untuk plastisitas,

memfasilitasi transformasi konten. Perbedaan pemula hingga pakar,

kecacatan, rentang usia, variasi internasional, dan keanekaragaman

teknologi masing-masing memperkaya spektrum persyaratan yang

memandu desain. Menambahkan fitur untuk pemula, seperti penjelasan,

dan fitur untuk pengguna yang sudah terbiasa menggunakan aplikasi,

seperti sebagai pintasan dan langkah lebih cepat, memperkaya desain

antarmuka dan meningkatkan persepsi kualitas.

3. Offer informative feedback

Untuk setiap tindakan pengguna, harus ada umpan balik antarmuka. Untuk

tindakan yang sering dan kecil, responsnya bisa sederhana, sedangkan

untuk tindakan yang jarang dan besar, responsnya harus lebih besar.

Presentasi visual dari objek yang menarik menyediakan lingkungan yang

nyaman untuk menunjukkan perubahan secara eksplisit.

4. Design dialog to yield closure

Urutan tindakan harus diatur ke dalam kelompok dengan awal, tengah, dan

akhir. Umpan balik informatif pada penyelesaian sekelompok tindakan

Page 19: BAB 2 TINJAUAN REFERENSI Incremental Model

25

memberi pengguna kepuasan pencapaian, rasa lega, sinyal untuk

membatalkan rencana pembangunan dari pikiran mereka, dan indikator

untuk mempersiapkan kelompok tindakan selanjutnya. Untuk Contohnya,

situs web e-commerce memindahkan pengguna dari memilih produk

checkout, diakhiri dengan halaman konfirmasi yang jelas untuk melengkapi

transaksi.

5. Prevent errors

Sebisa mungkin, rancang antarmuka agar penggunanya tidak dapat

membuat kesalahan serius; misalnya, menghapus item menu yang tidak

sesuai dan tidak memungkinkan karakter alfabet dalam entri numerik

bidang. Jika pengguna membuat kesalahan, antarmuka harus menawarkan

instruksi sederhana, konstruktif, dan spesifik untuk pemulihan. Sebagai

contoh, pengguna tidak perlu mengetik ulang seluruh formulir jika mereka

memasukkan kode pos yang tidak valid tetapi harus dipandu untuk

memperbaiki hanya bagian yang salah. Tindakan yang salah harus

membuat keadaan antarmuka tidak berubah, atau antarmuka harus

memberikan instruksi tentang memulihkan keadaan.

6. Permit easy reversal of action

Pengguna aplikasi pemula maupun yang sudah terbiasa dengan aplikasi

membutuhkan tombol back pada setiap aplikasi. Namun tombol back

hanya untuk kembali ke halaman sebelumnya, belum tentu membatalkan

aksi. Maka dibutuhkan tombol untuk membatalkan aksi untuk mengurangi

kecemasan pengguna jika terjadi kesalahan. Sebisa mungkin, tindakan,

seperti entri blok nama-alamat.

7. Keep users in control

Pengguna berpengalaman ingin memiliki kendali penuh atas antarmuka

dan bahwa antarmuka merespons tindakan mereka dengan tingkatan yang

sama. Mereka tidak menginginkan tampilan dan perubahan yang muncul

secara tiba-tiba dan mereka terganggu oleh urutan entri data yang

membosankan, kesulitan dalam mendapatkan informasi yang diperlukan,

dan ketidakmampuan untuk menghasilkan hasil yang diinginkan.

Page 20: BAB 2 TINJAUAN REFERENSI Incremental Model

26

8. Reduce short-term memory load

Kapasitas manusia yang terbatas untuk pemrosesan informasi dalam

memori jangka pendek (aturan praktisnya adalah bahwa orang dapat

mengingat "tujuh plus atau minus dua potongan" informasi) mengharuskan

perancang menghindari antarmuka di mana pengguna harus mengingat

informasi dari satu layar dan kemudian menggunakan informasi itu pada

tampilan lain. Ini berarti bahwa ponsel tidak perlu memasukkan kembali

nomor telepon, lokasi situs web harus tetap terlihat, dan formulir yang

panjang harus dipadatkan agar sesuai dengan satu tampilan.

2.19 Five Measurable Human Factors

Menurut (Shneiderman et al., 2017, pp. 33-34), terdapat beberapa faktor terukur untuk

mengukur usabilitas sebuah aplikasi, sebagai berikut:

1. Time to learn

Seberapa lama pengguna mempelajari aplikasi untuk dapat mengerjakan

suatu aksi. Apabila pengguna dapat mempelajari antarmuka yang ada, hal

ini menandakan bahwa antarmuka sudah cukup baik, sehingga tidak

membuat pengguna merasa kesulitan.

2. Speed of performance

Waktu yang dibutuhkan untuk suatu aksi berjalan hingga selesai.

Contohnya adalah waktu yang dibutuhkan untuk berpindah dari halaman

satu ke halaman lain, efek dari suatu tombol yang ditekan. Semakin cepat

respon dari aksi tersebut, maka akan semakin sedikit waktu yang

dibutuhkan, maka semakin baik.

3. Rate of errors by users

Jumlah kesalahan pengguna pada saat melakukan suatu aksi. Apabila

terdapat banyak kesalahan ketika pengguna melakukan aksi tersebut, maka

dapat disimpulkan bahwa user interface belum cukup baik sehingga

menyebabkan kesalahan.

Page 21: BAB 2 TINJAUAN REFERENSI Incremental Model

27

4. Retention over time

Ukuran berapa lama pengguna mempertahankan pengetahuan dan ingatan

mereka tentang aplikasi dan user interface yang ada. Apabila desain

tersebut mudah untuk diingat oleh pengguna, maka pengguna akan lebih

efisien dalam menggunakan aplikasi.

5. Subjective satisfaction

Kepuasan pengguna ketika menggunakan suatu aplikasi. Apabila Sebagian

besar pengguna merasa puas dalam menggunakan suatu aplikasi, hal ini

menandakan bahwa user interface yang ada sudah cukup baik.

Page 22: BAB 2 TINJAUAN REFERENSI Incremental Model

28