bab 2 tinjauan referensi incremental model
TRANSCRIPT
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)
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).
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).
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.
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).
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
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).
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
28