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

37
9 BAB 2 LANDASAN TEORI 2.1 Teori-teori Umum 2.1.1 Interaksi Manusia dan Komputer Menurut Ben Shneiderman & Catherine Plaisant dalam Interaksi Manusia Dan Komputer diketahui delapan aturan emas dalam merancang sebuah User Interface yang interaktif, delapan aturan emas ini harus diaplikasikan saat membentuk sebuah sistem yang baik (Shneiderman & Plaisant, 2010, p. 74), yaitu: a. Berusaha tetap konsisten Aturan ini adalah yang paling sering dilanggar, disebabkan aturan ini cukup rumit karena ada banyak bagian yang harus dijaga konsistensinya. Konsisten terhadap urutan tindakan harus dimiliki dalam setiap situasi. Konsistensi tersebut dapat dijabarkan, seperti warna, tata letak, huruf besar, font, dan lain- lain. b. Memenuhi kegunaan yang universal Kenali kebutuhan pengguna yang beragam dan desain yang mudah dilihat. Perbedaan pemula - ahli, rentang usia, cacat, dan keragaman teknologi yang masing-masing mampu memenuhi persyaratan dalam aturan desain. Menambahkan fitur untuk pemula, seperti penjelasan, dan fitur untuk para ahli, seperti shortcut dan cepat berpindah. Hal ini mampu memperkaya desain antarmuka dan meningkatkan kualitas sistem yang digunakan. c. Memberikan umpan balik yang informatif Untuk setiap tindakan pengguna, harus ada umpan balik sistem. Untuk tindakan yang sering dan kecil, respon dapat dibuat sederhana, sedangkan untuk tindakan yang jarang terjadi dan besar, respon harus lebih ditekankan. d. Merancang dialog untuk menghasilkan suatu penutupan Urutan suatu aksi haruslah diorganisasi berdasarkan kelompok tertentu dari awal, tengah dan akhir. Umpan balik yang

Upload: duongthuy

Post on 06-Mar-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

9

BAB 2

LANDASAN TEORI

2.1 Teori-teori Umum

2.1.1 Interaksi Manusia dan Komputer

Menurut Ben Shneiderman & Catherine Plaisant dalam

Interaksi Manusia Dan Komputer diketahui delapan aturan emas

dalam merancang sebuah User Interface yang interaktif, delapan

aturan emas ini harus diaplikasikan saat membentuk sebuah sistem

yang baik (Shneiderman & Plaisant, 2010, p. 74), yaitu:

a. Berusaha tetap konsisten

Aturan ini adalah yang paling sering dilanggar, disebabkan

aturan ini cukup rumit karena ada banyak bagian yang harus

dijaga konsistensinya. Konsisten terhadap urutan tindakan harus

dimiliki dalam setiap situasi. Konsistensi tersebut dapat

dijabarkan, seperti warna, tata letak, huruf besar, font, dan lain-

lain.

b. Memenuhi kegunaan yang universal

Kenali kebutuhan pengguna yang beragam dan desain

yang mudah dilihat. Perbedaan pemula - ahli, rentang usia, cacat,

dan keragaman teknologi yang masing-masing mampu memenuhi

persyaratan dalam aturan desain. Menambahkan fitur untuk

pemula, seperti penjelasan, dan fitur untuk para ahli, seperti

shortcut dan cepat berpindah. Hal ini mampu memperkaya desain

antarmuka dan meningkatkan kualitas sistem yang digunakan.

c. Memberikan umpan balik yang informatif

Untuk setiap tindakan pengguna, harus ada umpan balik

sistem. Untuk tindakan yang sering dan kecil, respon dapat dibuat

sederhana, sedangkan untuk tindakan yang jarang terjadi dan

besar, respon harus lebih ditekankan.

d. Merancang dialog untuk menghasilkan suatu penutupan

Urutan suatu aksi haruslah diorganisasi berdasarkan

kelompok tertentu dari awal, tengah dan akhir. Umpan balik yang

10

informatif pada akhir suatu aksi kepada user akan memberikan

kepuasan kepada user bahwa aksi yang mereka lakukan telah

berhasil dengan baik dan menjadi pertanda untuk melakukan aksi

selanjutnya.

e. Memberikan penanganan kesalahan

Sebisa mungkin, merancang sistem sehingga pengguna

tidak bisa membuat kesalahan serius. Misalnya, item menu yang

tidak mengizinkan karakter huruf di field entri numerik. Jika

pengguna membuat kesalahan, aplikasi harus bisa mendeteksi

kesalahan dan menawarkan instruksi sederhana, konstruktif, dan

khusus untuk pembenaran. Contohnya, pengguna tidak perlu

mengetik ulang seluruh nama-alamat jika memasukkan kode pos

yang tidak valid, melainkan harus dibimbing untuk memperbaiki

hanya bagian yang salah. Tindakan keliru tidak boleh merubah

posisi sistem, atau antarmuka harus memberikan petunjuk tentang

pembenaran.

f. Mudah dalam pembalikan tindakan

Sebisa mungkin, tindakan harus reversibel. Fitur ini

mengurangi kecemasan, karena pengguna tahu bahwa kesalahan

dapat dibatalkan, sehingga mendorong untuk mengeksplorasi

pilihan lain. Unit reversibilitas mungkin satu tindakan, tugas data-

entry, atau complete action, seperti masuknya nama dan alamat

blok.

g. Mendukung tempat pengendalian internal

Operator yang berpengalaman sangat menginginkan

pengertian bahwa mereka bertanggung jawab atas antarmuka dan

antarmuka merespon tindakan mereka. Tindakan antarmuka yang

mengejutkan, urutan data entri yang membosankan,

ketidakmampuan untuk mendapatkan atau kesulitan dalam

memperoleh informasi yang diperlukan, dan ketidakmampuan

untuk menghasilkan tindakan yang diinginkan semua membangun

kecemasan dan ketidakpuasan. Prinsip timbal balik ini, berguna

untuk membuat pengguna sebagai inisiator tindakan daripada

responden tindakan.

11

h. Mengurangi beban ingatan jangka pendek

Keterbatasan kemampuan manusia dalam mengola

informasi jangka pendek menuntut tampilan dibuat se-sederhana

mungkin, pengaturan dalam multipage, pergerakan window yang

sesedikit mungkin serta waktu training yang cuku dan optimal.

2.1.2 Data

Menurut (Connolly & Begg, Database Systems, 2015, p. 68),

data adalah komponen yang paling penting dalam DBMS, berasal dari

sudut pandang end-user. Data bertindak sebagai jembatan yang

menghubungkan antara mesin dengan pengguna.

2.1.3 Database

Basis data atau lebih dikenal dengan sebutan database adalah

suatu kumpulan atau koleksi logikal data yang berhubungan dan

dekripsi dari data tersebut yang dirancang untuk kebutuhan informasi

suatu organisasi (Connolly & Begg, Database Systems, 2015, p. 63).

Basis data tidak hanya merupakan kumpulan file, melainkan

kumpulan file yang saling terkait dan dapat diakses bersamaan.

Record pada setiap file harus memperbolehkan hubungan-hubungan

untuk menyimpan file lain. Dalam basis data ada tiga istilah penting,

yaitu entitas, atribut, dan relationship. Entitas adalah sebuah objek

yang berbeda (seseorang, tempat, benda, konsep, atau kejadian) dalam

organisasi yang harus direpresentasikan ke dalam database. Atribut

adalah sebuah properti yang mendeskripsikan beberapa aspek dari

objek yang kita inginkan untuk di-record. Relationship adalah sebuah

asosiasi antar entitas. Sebagai contoh, Gambar 2.1 memperlihatkan

Entity-Relationship (ER) diagram dari salah satu studi kasus. Studi

kasus tersebut terdiri dari:

a. Enam entitas: Branch, Staff, Property For Rent, Client,

PrivateOwner, and Lease;

b. Tujuh relationship: Has, Offers, Oversees, Views, Owns, LeasedBy,

and Holds;

12

c. Enam atribut: branchNo, staffNo, propertyNo, clientNo, ownerNo,

and leaseNo;

2.1.4 Database Management System (DBMS)

Menurut (Connolly & Begg, Database Systems, 2015, p. 64),

Database Management System adalah sebuah sistem perangkat lunak

yang memungkinkan pengguna untuk mendefinisikan, membuat,

memelihara, dan mengontrol akses ke database. DBMS mengizinkan

kita untuk mendefinisikan data dengan DDL (Data Definition

Language) dan memanipulasinya (insert, update, delete) dengan DML

(Data Manipulation Language).

Menurut Connolly & Begg, Database Management System

(DBMS) adalah sistem perangkat lunak yang memungkinkan

pengguna untuk mendefinisikan, membuat, memelihara, dan

mengawasi akses ke database. Ada beberapa keuntungan dari

Database Management System (DBMS) diantaranya :

a. Control of data redundancy

Pendekatan database mencoba mengeliminasi redudansi

data dengan cara mengintegrasikan semua file, agar beberapa

salinan data yang sama tidak tersimpan.

Gambar 2.1 Contoh Entity-Relationship Diagram

13

b. Data consistency

Dengan mengeliminasi atau mengontrol redundansi data,

dapat mengurangi resiko dari terjadinya data yang tidak

konsisten. Jika sebuah data disimpan hanya sekali dalam

database, update yang terjadi harus dilakukan hanya sekali dan

data yang sudah di-update harus langsung tersedia untuk semua

user. Dan jika sebuah data disimpan lebih dari sekali dan sistem

sadar akan hal ini, sistem dapat memastikan bahwa semua salinan

dari item tersebut disimpan konsisten.

c. More Information from the same amount of data

Dengan adanya integrasi antar data operasional,

memungkinkan bagi organisasi untuk menerima tambahan

informasi dari data yang sama.

d. Sharing of data

Database yang dimiliki organisasi dapat dibagikan kepada

semua user yang berwenang atau yang memiliki hak akses.

Dengan kata lain, terdapat beberapa user atau pengguna yang

dapat melakukan pembagian data diseluruh bagian perusahaan.

Semakin banyak user, jumlah data yang dibagikan akan semakin

banyak juga.

e. Improved data integrity

Integritas Database mengacu pada validitas dan

konsistensi data yang disimpan. Integritas biasanya diekspresikan

melalui Constraint.

f. Improved security

Database Security adalah proteksi Database dari pengguna

yang tidak berwenang atau tidak memiliki hak akses. Tanpa ada

Security data yang memadai, integrasi membuat data lebih rawan

dibandingkan dengan File-Based System.

g. Enforcement of standards

Integrasi memungkinkan DBA untuk mendefinisikan dan

memperkuat standar yang diperlukan. Hal ini dapat mencakup

departmental, organizational, national, atau standar internasional

14

seperti format data untuk menfasilitasi pertukaran data antar

sistem, Naming Convention, standar dokumentasi, prosedur untuk

update, dan aturan akses.

h. Economy of scale

Menggabungkan semua data operasional organisasi

kedalam satu database, dan membuat seperangkat aplikasi yang

bekerja dalam satu sumber data, yang dapat menghasilkan

penghematan biaya.

i. Balance of conflicting requirements

Setiap pengguna atau departemen memiliki kebutuhan

yang dapat bersinggungan dengan kebutuhan pengguna lain.

j. Improved data accessibility and responsiveness

Hasil dari integrasi data yang melewati batasan

departemen dapat diakses secara langsung pada pengguna akhir.

Hal ini menyediakan sistem dengan fungsi yang lebih berpotensi.

k. Increased productivity

DBMS menyediakan berbagai standar fungsi yang biasa

digunakan oleh programmer untuk membuat File-Based

Application. Oleh karena itu hal ini dapat meningkatkan

produktivitas programmer dan mengurangi waktu pembuatan.

l. Improved maintenance through data independence

Pada File-Based System, deskripsi dari data dan logika

dalam mengakses data dibuat untuk tiap-tiap program aplikasi,

membuat program bergantung pada data.

m. Increased concurrency

Pada beberapa File-Based System, jika dua atau lebih

pengguna diperbolehkan untuk mengakses file yang sama secara

berturut-turut, hal itu memungkinkan aksesnya dapat saling

bertabrakan satu sama lain, yang dapat menghasilkan kehilangan

informasi atau kehilangan integritas. Oleh karena itu banyak

DBMS mengatur Concurrent data akses dan memastikan masalah

seperti itu tidak dapat terjadi.

n. Improved backup and recovery services

15

Beberapa File-Based System menempatkan tanggung

jawab pada pengguna untuk menyediakan pengukuran untuk

melindungi data dari failure terhadap sistem komputer atau

program aplikasi.

Menurut (Connolly & Begg, Database Systems, 2015, p. 78),

ada juga beberapa kerugian dari Database Management System

(DBMS) diantaranya :

a. Complexity

Penyediaan fungsi yang kita harapkan dari DBMS yang

bagus membuat DBMS menjadi semakin kompleks. Perancang

dan pengembang database, data dan database administrator serta

para end-users harus memahami penggunaan fungsi tersebut untuk

menjadikannya keuntungan atau manfaat yang dapat berguna

menjalankan tugas-tugas mereka.

b. Size

Kompleksitas dan luasnya fungsi yang dimiliki DBMS

menjadikan DBMS sebuah perangkat lunak yang besar, dengan

menempati ruang penyimpanan berkapasitas megabyte serta

membutuhkan sejumlah memori yang besar untuk bisa

menjalankan fungsinya se-efisien mungkin.

c. Cost of DBMS’s

Biaya dari DBMS bervariasi secara signifikan tergantung

pada lingkungan dan fungsionalitas yang disediakan.

d. Additional hardware costs

Semakin besar lingkungan serta fungsinya, semakin besar

pula biaya DBMS tersebut.

e. Cost of conversion

Pada beberapa situasi biaya pada DBMS dan tambahan

hardware dapat tidak signifikan dibandingkan dengan biaya

mengkonversikan aplikasi yang sudah ada untuk dijalankan pada

DBMS baru dan hardware

f. Performance

File-Based System dibuat untuk aplikasi tertentu, seperti

invoicing. Oleh karena itu hasilnya secara umum sangat baik.

16

Namun, DBMS dibuat untuk lebih umum, untuk mendukung

berbagai aplikasi dibanding hanya satu aplikasi. Efek yang

ditimbulkan adalah beberapa aplikasi dapat berjalan tidak secepat

biasanya.

g. Higher impact of failure

Biaya kebutuhan akan penambahan ruang penyimpanan

DBMS dan database tentu membutuhkan biaya tambahan

tersendiri.

2.1.4.1 Data Definition Language (DDL)

Menurut (Connolly & Begg, Database Systems, 2015,

p. 90), DDL merupakan suatu bahasa yang memperbolehkan

seorang DBA atau user untuk mendeskripsikan dan memberi

nama suatu entitas, atribut, dan relasi data yang diperlukan

oleh aplikasi, bersama dengan integritas dan batasan keamanan

datanya.

2.1.4.2 Data Manipulation Language (DML)

Menurut (Connolly & Begg, Database Systems, 2015,

p. 90), DML merupakan bahasa yang menyediakan satu set

operasi untuk mendukung pengoperasian manipulasi data dasar

pada basis data. Pengoperasian data yang akan dimanipulasi

pada umumnya, meliputi (Connolly & Begg, Database

Systems, 2015, p. 90):

a. Penambahan data baru ke dalam basis data.

b. Modifikasi data yang disimpan dalam basis data.

c. Pengembalian data yang terdapat dalam basis data.

d. Penghapusan data dari basis data.

DML dibedakan berdasarkan pengambilan konstruksi :

a. Procedural DML

Bahasa yang mengizinkan pengguna untuk

memberitahukan sistem data apa yang dibutuhkan dan

bagaimana cara mendapatkan data.

17

b. Nonprocedural DML

Bahasa yang mengizinkan pengguna untuk

menguraikan data apa yang dibutuhkan diperlukan dari pada

cara mendapatkannya.

2.1.5 Web Application

2.1.5.1 Hypertext Markup Language (HTML)

Hypertext Markup Language (HTML) adalah sebuah

bahasa markup yang digunakan untuk membuat sebuah

halaman web, menampilkan berbagai informasi di dalam

sebuah penjelajah web internet dan pemformatan hiperteks

sederhana yang ditulis dalam berkas format ASCII agar dapat

menghasilkan tampilan wujud yang terintegerasi. Dengan kata

lain, berkas yang dibuat dalam perangkat lunak pengolah kata

dan disimpan dalam format ASCII normal sehingga menjadi

halaman web dengan perintah-perintah HTML (Mancunian,

2015).

2.1.5.2 Cascading Style Sheets (CSS)

Menurut Guidio Leonarde Ginting, Cascading Style

Sheets (CSS) adalah salah satu bahasa pemrograman desain

untuk web (Style Sheet Language) yang mengontrol format

tampilan sebuah halaman web yang ditulis dengan

menggunakan bahasa HTML. Biasanya CSS digunakan untuk

mendesain sebuah HTML dan XHTML, tetapi sekarang bahasa

pemrograman CSS bisa diaplikasikan untuk segala dokumen

XML, termasuk SVG dan XUL.

CSS dibuat untuk memisahkan kontek utama (biasanya

dibuat dengan menggunakan bahasa HTML dan sejenisnya)

dengan tampilan dokumen yang meliputi layout, warna dan

font. Pemisahan ini dapat meningkatkan daya akses konten

pada web, menyediakan lebih banyak fleksibilitas dan kontrol

dalam spesifikasi dari sebuah karakteristik dari sebuah

tampilan, memungkinkan untuk membagi banyak halaman

18

untuk sebuah formatting dan mengurangi kerumitan dalam

penulisan kode dan struktur dari konten, contohnya teknik

tables pada layout desain web (layout tanpa tabel).

CSS adalah rekomendasi dari W3C (World Wide Web

Consortium). W3C adalah sebuah konsorsium/ gabungan dari

pemilik web, universitas, perusahaan seperti Microsoft,

Netscape, Apple, Opera, Mozilla, dan Macromedia serta juga

para juga para ahli dalam bidang web. W3C dapat dikatakan

sebagai acuan dalam menentukan teknologi paling mutahir

pada web. W3C yang diprakarsai oleh TIM Benners Lee juga

bertujuan untuk mempertahankan World Wide Web serta

mengembangkannya lebih jauh.

Style Sheet adalah sebuah text file yang sederhana

(dimana berekstensi .css), ditulis menurut aturan bahasa yang

dipaparkan pada rekomendasi CSS1 atau CSS2. Berikut contoh

file CSS :

Body

{

Background-color: red;

}

Cara kerja CSS dengan menggunakan dua buah elemen

penting untuk pemformatan tampilannya, diantaranya selektor

dan deklarator. Dua buah elemen ini berfungsi sebagai penentu

format tampilan dan lainnya menempatkan format tampilan

tersebut. Deklarator berisi beberapa perintah-perintah CSS

untuk menentukan format dari sebuah elemen pada halaman

web. Sedangkan selektor adalah sebuah perintah lanjut dari

deklarator dan berfungsi menempatkan format tampilan dari

deklarator (Ginting, 2013, pp. 18-19).

Gambar 2.2 Cara penggunaan CSS

19

2.1.5.3 Javascript

Menurut Nugroho dan Anwar, Javascript adalah nama

implementasi Netscape Communication Corporation untuk

ECMA Script Standart, suatu bahasa skrip yang didasarkan

pada konsep bahasa pemrograman berbasis prototipe. Bahasa

ini terutama terkenal karena penggunaannya di situs web

(sebagai Javascript pada sisi klien) dan juga digunakan untuk

menyediakan akses skrip untuk objek yang disisipkan

(embedded) di aplikasi lain.

Walaupun memiliki nama serupa, Javascript hanya

sedikit berhubungan dengan bahasa pemrograman Java,

dengan kesamaan utamanya adalah penggunaan sintak bahasa

C. Secara semantik, Javascript memiliki lebih banyak

kesamaan dengan bahasa pemrograman Self.

Skrip Javascript yang dimasukkan di dalam berkas

HTML ataupun XHTML, harus dimasukkan di antara tag pada

gambar 2.3 (Nugroho & Anwar, 2008, p. 105).

<script>…<script>

Gambar 2.3 Gambar tag script

2.1.5.4 jQuery

jQuery itu cepat, ringan, dan kaya fitur akan library

JavaScript. Hal ini membuat hal-hal seperti HTML dokumen

traversal dan manipulasi, event handling, animasi, dan Ajax

jauh lebih sederhana dengan API yang mudah digunakan yang

bekerja di banyak browser. Dengan kombinasi fleksibilitas dan

diperpanjang, jQuery telah mengubah cara bahwa jutaan orang

menulis Javascript (jquery.com).

jQuery menyediakan bahasa scripting yang sering

digunakan, dan karena itu berguna dalam hampir setiap situasi

scripting. Dapat diperluas yang berarti bahwa kita tidak pernah

bisa mencakup semua kemungkinan penggunaan dan fungsi

20

dalam 1 library, seperti plugin yang terus dikembangkan untuk

menambah kemampuan baru (Resig, 2013, p. 8). Berikut fitur

inti dari jQuery:

a. Mengakses elemen dalam dokumen

Tanpa library Javascript, web developer sering

menulis banyak baris kode untuk mengakses tree Document

Object Model (DOM) dan menemukan bagian-bagian

tertentu dari struktur dokumen HTML. Dengan jQuery,

developer memiliki mekanisme selector yang kuat dan

efisien, memudahkan untuk mengambil potongan yang tepat

dari dokumen yang perlu diperiksa atau dimanipulasi.

Contoh: $('div.content').find('p');

b. Memodifikasi tampilan halaman web

CSS menawarkan metode yang kuat untuk

mempengaruhi dokumen, namun tidak semua web browser

mendukung standar yang sama. Dengan jQuery, developer

dapat menjembatani kesenjangan ini, dengan mengandalkan

standar yang sama mendukung di semua browser. Selain

itu, jQuery dapat mengubah class atau behavior dari

dokumen bahkan setelah halaman telah dibuat. Contoh:

$('ul> li: first’). addClass(‘active’);

c. Mengubah isi dokumen

Tidak terbatas pada perubahan tampilan, jQuery

dapat mengubah isi dari dokumen itu sendiri. Teks dapat

diubah, gambar dapat dimasukkan atau bertukar, daftar bisa

mengatur kembali, atau seluruh struktur HTML dapat

ditulis ulang dan diperpanjang dengan mudah digunakan

Application Programming tunggal Interface (API). Contoh:

$('#container').append('<a href=" more.html "> more </a>');

d. Menanggapi interaksi pengguna

Bahkan behavior yang paling rumit dan kuat tidak

berguna jika kita tidak dapat mengontrol kapan mereka

ditempatkan. Library jQuery menawarkan cara yang elegan

untuk menahan berbagai event, seperti pengguna mengklik

21

link, tanpa perlu mengacaukan kode HTML itu sendiri

dengan event handler. Pada saat yang sama, API event

handler menghapus browser yang inkonsistensi yang sering

mengganggu developer web. Contoh: $('button.show-

detail').click (function () {

$('div.details').show ();

});

e. Menganimasikan perubahan yang dibuat untuk dokumen

Untuk menerapkan secara efektif beberapa

interaktif, seorang desainer juga harus memberikan umpan

balik visual kepada pengguna. Library jQuery memfasilitasi

ini dengan menyediakan berbagai efek seperti memudar dan

menyusut, serta toolkit untuk kreasi yang baru. Contoh:

$('div.details').slideDown();

f. Mengambil informasi dari server tanpa me-reload halaman

Pola code ini dikenal sebagai Ajax, yang merupakan

singkatan dari Asynchronous Javascript and XML, tetapi

sejak datang untuk mewakili satu set teknologi untuk

berkomunikasi antara klien dan server. Library jQuery

menghilangkan kompleksitas browser dari responsifitas,

banyak proses yang memungkinkan pengembang untuk

fokus pada sisi server. Contoh: $('div.details').load('more.html

#content');

g. Menyederhanakan tugas umum Javascript

Library jQuery menyediakan perangkat tambahan

untuk konstruksi dasar Javascript seperti iterasi dan

manipulasi array. Contoh: $.each (obj, function(key, value) { Total

+ = value; });

2.1.6 Gantt Chart

Menurut website me.umn.edu (W, 2008), Gantt chart adalah

alat perencanaan proyek yang dapat digunakan untuk mewakili waktu

tugas yang dibutuhkan untuk menyelesaikan sebuah proyek. Karena

gantt chart yang sederhana untuk memahami dan mudah untuk

22

membangun, mereka digunakan oleh sebagian besar manajer proyek

untuk semua tapi proyek yang paling kompleks.

Dalam bagan Gantt, setiap tugas direpresentasikan dalam baris.

Tanggal pada bagian atas dengan penambahan hari, minggu atau

bulan, tergantung pada panjang total proyek. Ekspektasi waktu untuk

setiap tugas diwakili oleh bar horizontal, ujung kiri menunjukkan awal

dan ujung kanan menunjukkan ekspektasi suatu tugas selesai. Tugas

yang dijalankan dapat berupa sekuensial, paralel, atau saling beririsan

atau tumpang tindih.

Seiring proyek berlangsung, grafik diperbarui dengan mengisi

bar dengan panjang sebanding dengan fraksi pekerjaan yang telah

dicapai pada tugas. Dengan cara ini, seseorang bisa menganalisis

dengan cepat progres proyek dengan menggambar garis vertikal

melalui grafik pada tanggal saat ini.

2.1.7 Object Oriented Analysis and Design

Menurut Satzinger, Object Oriented Analysis (OOA),

menjelaskan semua tipe dari obyek yang terlibat dalam sistem dan

menunjukkan interaksi dari sistem. Object Oriented Design (OOD),

menjelaskan semua tipe obyek tambahan yang dibutuhkan untuk

berkomunikasi dengan pengguna dan sistem, menunjukkan bagaimana

obyek berinteraksi untuk menyelesaikan suatu tugas.

Menurut (Satzinger, Jackson, & Burd, p. 61) UML adalah set

standart dari model yang menjelaskan tentang konstruksi dan notasi

dari suatu pengembangan sistem suatu project, dan didefinisikan oleh

Grup Manajemen Obyek. Beberapa contoh UML grafik model adalah

Use Case, Class Diagram, Activity Diagram, dan Sequence Diagram.

2.1.7.1 Activity Diagram

Menurut Satzinger, Activity Diagram menggambarkan

workflow dari suatu kegiatan. Activity Diagram berfokus pada

urutan aktivitas secara berurutan. Kelebihan menggunakan

Activity Diagram adalah lebih kepada dokumentasi workflow

yang dapat dimengerti oleh pengguna dengan mudah.

Developer dapat menggunakan Activity Diagram untuk

23

menjelaskan kepada pengguna tentang alur kerja yang

dimengerti developer, apakah sesuai dengan keinginan

pengguna. Gambar 2.4 menunjukkan contoh dari Activity

Diagram.

Gambar 2.4 Contoh Activity Diagram

2.1.7.2 Use Case Diagram

Use Case Diagram adalah UML Model yang digunakan

untuk menunjukkan hubungan pengguna dan sistem

(Satzinger, Jackson, & Burd, p. 78). Pengguna sistem dalam

Use Case Diagram disebut sebagai aktor. Aktor selalu berada

di luar batas otomatisasi sistem tetapi dapat menjadi bagian

dari bagian pengguna sistem. Dalam beberapa kasus, aktor

untuk kasus penggunaan bukanlah orang. (Satzinger, Jackson,

& Burd, p. 81).

24

Notasi Keterangan

Aktor

Actor

Menspesifikasi seperangkat peranan

yang sistem dapat perankan ketika

berinteraksi dengan Use Case.

Usecase

Use Case

Sebuah deskripsi dan seperangkat

aksi-aksi yang berurutan yang

ditampilkan sebuah sistem

Association

Sebuah relasi structural yang

menghubungkan antara actor dengan

Use Case.

<<extend>>

Extend

Relasi use case yang bersifat

kondisional, yaitu Use Case

sebelumnya dapat dianggap selesai

tanpa harus menyelesaikan use case

yang di-extend

<<include>>

Include

Hubungan antara satu kasus

penggunaan dan Use Case lain adalah

stereotip atau Use Case yang termasuk

itu tidak dapat dianggap selesai jika

Use Case ini tidak dilakukan

System Boundary

Bagian dari aplikasi dan orang-orang

yang mengoperasikan aplikasi,

ditampilkan dengan bentuk persegi

panjang yang berisi Use Case di

dalamnya

Tabel 2.1 Notasi dan Keterangan Use Case

25

Menurut (Satzinger, Jackson, & Burd, p. 83) tahap-

tahap untuk mengembangkan Use Case Diagram :

a. Identifikasi semua stakeholder dan pengguna yang akan

mendapatkan manfaat dengan memiliki Use Case Diagram.

b. Tentukan kepentingan stakeholder atau kebutuhan

pengguna untuk meninjau dalam kasus penggunaan

diagram. Umumnya, Use Case Diagram mungkin

dihasilkan untuk masing-masing subsistem.

c. Untuk setiap kebutuhan komunikasi potensial, pilih kasus

penggunaan dan aktor untuk menunjukkan dan

menggambar Use Case Diagram. Ada banyak paket

perangkat lunak yang dapat digunakan untuk menggambar

menggunakan Use Case Diagram.

d. Tentukan nama dari masing-masing diagram Use Case dan

kemudian perhatikan bagaimana dan kapan diagram harus

digunakan untuk meninjau kasus penggunaan oleh

stakeholder dan pengguna.

2.1.7.3 Use Case Description

Use Case Description adalah model tekstual yang

menjelaskan rincian proses untuk masing-masing use case.

Informasi rinci tentang setiap Use Case digambarkan dengan

Use Case Description (Satzinger, Jackson, & Burd, p. 121).

Berdasarkan kebutuhan analisa, Use Case Description dibagi

menjadi dua yaitu Brief Use Case Description dan Fully

Developed Description. Brief Use Case Descriptions

digunakan untuk menjelaskan Use Case secara sederhana.

Pada umumnya Brief Use Case Description membagi antara

Use Case dan penjelasan dari tiap-tiap Use Case secara

singkan sehingga Brief Use Case Description lebih cocok

untuk aplikasi sederhana dan mudah dimengerti. Berikut

gambar 2.5 memperlihatkan salah satu contoh pembuatan

Brief Use Case Descriptions.

26

Gambar 2.5 Contoh pembuatan Brief Case Descriptions

Sedangkan Fully Developed Description adalah metode paling

formal untuk mendokumentasikan kasus Use Case dan juga lebih

digunakan untuk aplikasi yang besar (Satzinger, Jackson, & Burd, p.

123). Pada gambar 2.6 memperlihatkan sebuah contoh pembuatan

Fully Developed Description pada Use Case Create Customer

Account.

Gambar 2.6 Contoh pembuatan Fully Developed Description

27

2.1.7.4 Domain Model Class Diagram

Menurut Satzinger (Satzinger, Jackson, & Burd, p. 187)

Class diagram digunakan untuk menunjukkan objek class

untuk sebuah sistem. Notasi dari Unified Modelling Language

(UML) telah menjadi standar untuk model yang digunakan

dengan pengembangan system object oriented.

Salah satu tipe UML Class Diagram yang menunjukkan

domain user disebut sebagai Domain Model Class. Dalam

Class Diagram, bentuk persegi merepresentasikan suatu class,

dan garis yang menghubungkan antara class merepresentasikan

asosiasi antar class. Bentuk persegi dalam domain Class

Diagram terdiri dari dua bagian. Bagian atas mengandung

nama dari class, dan bagian bawah menunjukkan daftar dari

atribut. Nama class selalu diawali dengan huruf kapital dan

atribut selalu diawali dengan huruf kecil. Class Diagram

dilukis dengan menunjukkan class dan association antara

class. Gambar 2.7 merupakan notasi dari domain class.

Gambar 2.7 Notasi Domain Class

2.1.7.5 Rocky Mountain Outfitters Domain Model Class Diagram

Menurut Satzinger, dalam Rocky Mountain Outfitter

Domain Model Class Diagram, semua atribut utama dari setiap

class ditampilkan. Associated Class terbentuk pada asosiasi

antara dua class yang memiliki hubungan asosiasi many to

28

many. Tidak ada whole – part association (aggregation/

composition). Gambar 2.8 merupakan contoh dari Rocky

Mountain Outfitters Domain Model Class Diagram.

Gambar 2.8 Contoh Rocky Mountain Class Diagram

2.1.7.6 First Cut Design Class Diagram

Menurut Satzinger (Satzinger, Jackson, & Burd, p. 416)

First Cut Design Diagram dikembangkan dengan mengacu

pada Domain Class Diagram. Pada First Cut Diagram, data

type pada setiap atribut sudah terdefinisi, dan adanya hubungan

satu arah antar class yang disebut dengan panah navigasi

visibilitas. Gambar 2.9 menjelaskan contoh dari suatu First Cut

Class Diagram.

29

Gambar 2.9 Contoh First Cut Class Diagram

2.1.7.7 CRC Cards

Menurut Satzinger (Satzinger, Jackson, & Burd, p.

416), CRC merupakan singkatan dari Class-Responsibility-

Collaboration. Developer menggunakan CRC selama kegiatan

analisis dan membantu untuk mengidentifikasikan class dan

scope dari setiap class.

Bagian atas dari CRC adalah nama dari class, bagian

kiri adalah responsibilities dari object dalam class.

Responsibilities termasuk informasi dari yang class lakukan

dan maintain. Di bagian kanan berisi class lain yang

melakukan kolaborasi. Dibagian belakang berisi atribut dari

class tersebut. Gambar 2.10 menujukkan contoh dari CRC

cards dari class customer.

Gambar 2.10 Contoh CRC Cards

30

2.1.7.8 Multi-layer Design Sequence Diagram

Menurut Satzinger,tujuan dari desain Three Layer

Sequence Diagram adalah untuk menunjukkan respon sistem

untuk setiap input message. Sequence Diagram berguna untuk

mengidentifikasikan class yang melakukan kolaborasi, dan

pesan apa yang dikirim satu sama lain. Gambar 2.11

merupakan contoh dari Three Layer Sequence Diagram.

Gambar 2.11 Contoh Three Layer Sequence Diagram

2.1.7.9 Updated Class Diagram

Menurut Satzinger (Satzinger, Jackson, & Burd, p. 458)

dalam Updated Design Class Diagram, dalam satu class sudah

terdapat fungsi, atribut, handler / controller, dan navigasi

visibilitas. Updated Design Class Diagram merupakan

pengembangan lebih lanjut dari domain Class Diagram dan

First Cut Diagram. Updated Design Class Diagram merupakan

diagram yang akan menjadi panduan ketika programming.

Contoh dari Updated Design Class Diagram ditunjukkan pada

gambar 2.12.

31

Gambar 2.12 Contoh Updated Class Diagram

2.1.7.10 Package Diagram

Menurut Satzinger, Package Diagram adalah suatu

diagram sederhana tingkat tinggi yang menghubungkan

kelas-kelas dengan grup yang terelasi. Diagram ini

mengilustrasikan three-design layer, yaitu view layer, domain

layer, dan data access layer. Gambar 2.13 menunjukkan

contoh dari Package Diagram.

32

Gambar 2.13 Contoh Package Diagram

2.1.8 Data Dictionary

Menurut Dr. Russel Gordon (Russel, n.d.) data dictionary

merupakan sebuah alat untuk melakukan recording dan melakukan

processing informasi berkaitan dengan data yang dipakai oleh sebuah

organisasi. Fungsi utama dari data dictionary adalah menunjukkan

relasi antara conceptual dan implementation views. Data dictionary

dapat diintegrasikan dengan Database Management System (DBMS)

atau dapat juga secara terpisah. Keuntungan memakai data dictionary

adalah lebih kepada pusat informasi tentang database, keuntungan

lain di antaranya :

a. Meningkatkan dokumentasi

b. Konsistensi dalam penggunaan data

c. Mempermudah menganalisis data

33

d. Mengurangi redundancy data

e. Mempermudah pemrograman

f. Terdapatnya suatu standart

g. Dapat memperkirakan efek dari perubahan data

2.1.9 Storyboard

Storyboard merupakan salah satu cara untuk membuat desain

awal dari sebuah multimedia interaktif, yaitu dengan cara

menjabarkan proyek secara lengkap dan mendetail menggunakan

gambar dan tulisan untuk setiap gambar pada layar, suara, pemilihan

navigasi layar, dan elemen-elemen seperti font, warna, dan lainnya

(Wibisono & Massiliano, 2015).

2.1.10 Lima Faktor Manusia Terukur

Demi tercapainya tujuan dari IMK, maka

perancangan interface sebaiknya tidak lupa untuk mengikutsertakan

evaluasi terhadap lima faktor terukur dari manusia sebagai berikut

(Shneiderman & Plaisant, 2010, pp32-33):

a. Waktu untuk belajar

Ukuran berapa lama seorang user untuk mempelajari

fungsi-fungsi di dalam sebuah aplikasi hingga pada akhirnya dapat

menggunakan dengan baik.

b. Kecepatan performa

Ukuran berapa lama suatu fungsi atau serangkaian tugas di

dalam aplikasi tersebut dilakukan.

c. Tingkat error yang dilakukan pengguna

Ukuran berapa banyak dan jenis error yang dilakukan oleh

user di dalam melakukan serangkaian tugas.

d. Daya ingat pengguna

Ukuran berapa lama user mempertahankan ingatan dan

pengetahuannya setelah beberapa jam hari atau bahkan minggu.

e. Kepuasan subjektif

Ukuran seberapa puas user atas berbagai aspek dari suatu

sistem.

34 2.2 Teori-teori Khusus

2.2.1 Extreme Programming

Menurut Satzinger (Satzinger, Jackson, & Burd, p. 676),

Extreme Programming dibuat pada tahun 1990, kata “extreme”

membuat orang – orang berpikir bahwa metode ini merupakan metode

baru. Berikut adalah mengapa metode ini disebut “extreme”:

a. Telah terbukti dalam dunia industri dan fokus secara intensif.

b. Menggabungkan best practice dalam cara baru untuk menghasilkan

sesuatu yang lebih besar.

Secara garis besar memiliki XP core values dan XP practice

yang dapat dilihat pada gambar 2.14.

Gambar 2.14 Tabel XP Core Value dan XP Practices

Dalam Extreme Programming, ada 4 value atau nilai yang

digunakan sebagai pondasi dasar, yaitu communication, simplicity,

feedback, courage. Setiap poin tersebut digunakan pada setiap

kegiatan dalam Extreme Programming.

Untuk mencapai effective communication antara software

developer dan stake holder, Extreme Programming lebih menekankan

pada komunikasi verbal daripada dokumentasi sebagai media

komunikasi antara developer dan pengguna. Untuk mencapai

kesederhanaan, Extreme Programming membatasi Software

Developer untuk mendesain hanya untuk kebutuhan mendesak,

daripada kebutuhan di masa depan. Feedback berasal dari perangkat

lunak yang diimplementasi, pengguna, atau tim dari Software

35

Developer lainnya. Extreme Programming menuntut developer untuk

memiliki sikap disiplin dikarenakan sering ada tekanan yang

signifikan untuk merancang kebutuhan masa depan. Tim Extreme

Programming harus memiliki sikap displin untuk mengakui bahwa

persyaratan dalam berubah secara dramatis, dan menuntut untuk

mengulang desain dan kode yang sudah terimplementasi.

Secara garis besar yang dilakukan dalam Extreme

Programming adalah sebagai berikut:

1. Planning pada tahap pertama, pada tahap ini menghasilkan user

stories yang mendeskripsikan yang dapat sistem lakukan.

2. Test case dibuat terlebih dahulu sebelum melakukan programming,

sehingga pada saat proses pemrograman dapat lebih fokus pada

tingkat kelolosan dari test case tersebut.

3. Extreme Programming menerapkan Pair programming dimana

membutuh programmer yang fokus untuk melakukan coding dan

programmer yang lain melakukan pengecekan algoritma dan fokus

pada desain.

4. Simple design, yang dimaksud Simple design dalam Extreme

Programming adalah menggunakan class secara minimalis dan

tidak ada fungsi yang serupa atau duplikat

5. Refactoring the code, merupakan teknik melakukan peningkatan

code tanpa mengubah apa yang dilakukan. Extreme Programmers

secara terus menerus harus melakukan refactoring pada code.

Sebelum dan setelah menambah fungsi baru, Extreme

Programmers melakukan review terhadap code-nya dan melihat

apakah dapat dilakukan optimisasi dengan hasil yang serupa.

6. Owning the code collectively, dalam Extreme Programming harus

memiliki mindset, setiap anggota memiliki tanggung jawab dalam

code. Tidak ada anggota yang berkata,”Ini code saya”. Seseorang

dapat berkata, ”Saya yang menulis code-nya”, namun semua

anggota memiliki code tersebut.

7. Continously integration, merupakan perwujudan dari konsep

”growing” pada software. Potongan coding akan melewati test dan

36

diintegrasikan ke dalam sistem setiap hari. Tahapan ini berguna

untuk menjaga proyek agar selalu ada progress.

8. On-site customer, Extreme Programming membutuhkan

keterlibatan pengguna secara terus menerus yang dapat membuat

keputusan bisnis tentang fungsionalitas. Berdasarkan core value

dari Extreme Programming, yaitu communication, practice ini

menjaga agar proyek tetap dalam progress.

9. System metaphor, dalam tahap ini Extreme Programming harus

dapat menjawab pertanyaan, ”bagaimana sistem bekerja? Apa

komponen utamanya?” untuk mendefinisikan arsitektur dari sistem.

10. Small release, suatu titik dimana sistem baru dapat dilakuan user

acceptance test (UAT).

11. Forty – hour week and coding standart, lamanya jam yang

dibutuhkan oleh developer bukanlah masalah. Developer harus

mengikuti standarisasi untuk melakukan coding dan dokumentasi.

Satzinger (Satzinger, Jackson, & Burd, p. 679)

menggambarkan aktivitas proyek dalam diagram yang ditunjukkan

pada gambar 2.15.

Gambar 2.15 Diagram XP Practices

37

2.2.2 C#

Sintaks C# sangat ekspresif, namun juga sangat sederhana dan

mudah untuk dipelajari. Sintaks kurung kurawal dari C# dikenal oleh

siapapun yang familiar dengan C, C++, atau Java. Developers yang

tahu bahasa C, C++, atau java biasanya dapat mulai bekerja secara

produktif di C# dalam waktu yang sangat singkat. sintaks C#

menyederhanakan banyak kompleksitas C++ dan menyediakan fitur

canggih seperti nullable value types, enumerations, delegates, lambda

expressions dan direct memory access, yang tidak ditemukan di Java.

C# mendukung generic methods dan types, yang memberikan

peningkatan type safety dan performance, dan iterator, yang

memungkinkan pengguna dari collection classes untuk menentukan

iteration behaviors yang mudah digunakan oleh client code.

Sebagai bahasa berorientasi objek, C# mendukung konsep

encapsulation, inheritance, dan polymorphism. Semua variabel dan

methods, termasuk main methods, constractor, yang dikemas dalam

class definitions. Sebuah kelas dapat mewarisi langsung dari satu

kelas induk, tetapi dapat mengimplementasikan sejumlah interface.

Metode yang meng-override metode virtual dalam kelas induk

memerlukan kata kunci “override” sebagai cara untuk menghindari

redefinisi yang tidak sengaja. Dalam C #, struct seperti kelas yang

ringan, merupakan stack-allocated yang dapat mengimplementasikan

interface tetapi tidak mendukung inheritance (msdn.microsoft.com).

2.2.3 ASP.NET

ASP.NET sangat baik untuk membangun website berbasis

HTML5, CSS3, dan Javascript. ASP.NET mendukung tiga cara untuk

membuat web, antara lain ASP.NET Web Forms menggunakan

kontrol dan event-model untuk pengembangan berbasis komponen,

ASP.NET MVC menonjolkan pada pemisahan kepentingan dan

memungkinkan untuk uji-coba sehingga proses pengembangan lebih

mudah, dan ASP.NET Web Pages yaitu model halaman yang

mencampur kode HTML. Keunikannya ASP.NET mampu mencampur

semua cara pembuatan web tersebut terhadap satu project (ASP.NET).

38

Di Bina Nusantara menekankan framework untuk ASP.NET

yaitu memakai Duwamish. Duwamish adalah multi-tier, aplikasi

perusahaan terdistribusi dibangun khusus untuk Microsoft NET

Platform. Desain, pengembangan, dan penyebaran memberikan

wawasan tentang bagaimana pengembang dapat memanfaatkan

berbagai fitur dari NET Platform untuk membangun aplikasi handal,

terukur, dan berkinerja baik. Setiap versi menggunakan ASP.NET

dengan logika yang berada di berbagai lapisan arsitektur. Adapun

struktur Duwamish, sebagai berikut :

a. Web Layer : mengatur code untuk bagian design dan code behind.

b. Business Facade : mengatur hubungan antara web dan database.

c. Business Rules : mengatur validasi dan proses bisnis aplikasi.

d. Common : berisi kumpulan kelas-kelas.

e. Data Access : mengatur cara-cara pengambilan dan penyimpanan

data ke database.

2.2.4 Real Time

Laplante & Ovaska (2012:5) menjelaskan bahwa Real Time

System (sistem waktu-nyata) adalah kemampuan sistem komputer

untuk menghasilkan respon yang tepat dalam memenuhi batasan

response time. Sekumpulan aksi yang membutuhkan waktu untuk

melakukan input ke dalam sistem dan realisasi terhadap tanggapan

dari aksi tersebut sehingga menghasilkan suatu output, keadaan ini

disebut response time. Dalam hal ini sistem waktu-nyata akan

melakukan respon terhadap suatu kejadian dalam waktu tertentu dan

jika respon tersebut mengalami gangguan atau tidak terdapat respon

balasan, maka suatu sistem akan mengalami kegagalan. Dalam sistem

waktu-nyata, sistem bekerja secara logis berdasarkan ketepatan waktu

yang telah ditentukan dan hasil akhir dari sebuah proses.

Berdasarkan batasan waktu yang dimiliki oleh setiap sistem,

Laplante & Ovaska (2012:6) membagi sistem waktu-nyata menjadi

tiga kelas, yaitu :

a. Soft Real Time Systems

39

Suatu sistem yang berjalan dalam tenggang waktu tertentu

dan apabila suatu sistem mengalami kegagalan dalam memenuhi

tenggang waktu tertentu, hal itu tidak menyebabkan kegagalan

sistem.

b. Hard Real Time Systems

Suatu sistem yang berjalan dalam tenggang waktu tertentu

dan apabila sistem mengalami kegagalan dalam memenuhi

tenggang waktu yang ditentukan, hal ini akan berdampak

kegagalan pada sistem.

c. Firm Real Time Systems

Sistem yang berjalan dalam tenggang waktu tertentu,

apabila terdapat beberapa bagian sistem yang tidak memenuhi

tenggang waktu tertentu, hal itu tidak menyebabkan kegagalan

sistem namun, apabila terdapat banyak bagian dari sistem yang

tidak memenuhi tenggang waktu tertentu, hal ini akan

menyebabkan kegagalan sistem secara menyeluruh.

Sistem Klasifikasi

Real Time

Systems

Penjelasan

Konsol

permainan

virtual

Soft Keterlambatan dalam

melakukan aksi, tidak akan

menyebabkan kegagalan

sistem. Kerugian yang

terjadi hanya akan

mengganngu kenyamanan

pengguna.

Sistem

peluncuran

rudal ke udara

Hard Keterlambatan dalam

menekan tombol

peluncuran rudal pada

waktu tertentu akan

menyebabkan target untuk

dilewatkan. Hal ini

menyebabkan rudal

40

menghancurkan target lain.

Navigasi

pengendali

pada mesin

pemotong

rumput

Firm Keterlambatan dalam

pengendalian sistem mesin

pemotong rumput akan

menyebabkan mesin keluar

dari jalur yang telah

ditentukan.

Tabel 2.2 Klasifikasi Kelas Real Time Systems

(Sumber: Laplante & Ovaska, 2012:7)

2.2.5 ASP.NET SignalR

ASP.NET SignalR adalah library untuk pengembang

ASP.NET yang menyederhanakan proses penambahan fungsi real-

time web untuk aplikasi. Real-time web adalah kemampuan kode

server mendorong konten ke klien yang terhubung secara langsung

setelah konten tersedia, daripada harus menunggu server untuk klien

untuk meminta data baru. (Fletcher, Introduction to SignalR, 2014).

Menurut Ivan & Popa (2015, p. 186), SignalR adalah sebuah

library untuk .NET untuk membantu pembuatan aplikasi real-time,

multi-user interactive, yang berdasarkan pada teknik Long Polling.

Long Polling sendiri menurut Ivan & Popa adalah salah satu teknik

konvensional dan salinan dari informasi di-push dari server ke client.

Dengan Long Polling, request informasi client dari server memiliki

kesamaan cara dengan Normal Polling, namun jika server tidak

memiliki informasi yang dibutuhkan oleh client, dengan cara Long

Polling, server tidak akan mengirimkan response yang kosong. Server

akan menahan request dari client dan menunggu informasi yang

dibutuhkan tersedia. Ketika informasi tersedia, response akan

langsung dikirimkan ke client dari server. Client akan langsung

melakukan request ulang informasi dari server, sehingga server akan

selalu memiliki waiting request yang dapat digunakan untuk

mengirim data dalam response suatu event. Ivan & Popa juga

menambahkan bahwa SignalR merefleksikan penerapan dari long

41

polling, tetapi SignalR tidak sepenuhnya hanya berisi teknik long

polling karena signalR memiliki konsep lain dari transportasi data

yang memutuskan bagaimana data dikirim atau diterima dan

bagaimana data dikonesikan dan didiskoneksikan.

2.2.6 Arsitektur SignalR

Menurut Choudhry & Premchand (2014, p. 95), SignalR

menyediakan high level APIs untuk membuat Remote Procedure

Calls. Dengan menggunakan API ini, code dari server side dapat

memanggil fungsi dari client dan sebaliknya. API ini juga

menyediakan fungsi untuk connection mianagement seperti connect /

disconnect, connection group, dan lain lain. Arsitektur SignalR dapat

digambarkan seperti pada gambar 2.16.

Seperti yang ditunjukkan pada gambar 2.16, terdapat 2 tipe

APIs untuk melakukan komunkasi dalam SignalR yaitu Hubs API dan

Persistent API. Fungsi dari Hubs API adalah menangani method yang

ingin digunakan oleh developer dan fungsi dari Persistent API adalah

menangani koneksi.

Gambar 2.16 Arsitektur SignalR

42

2.2.7 Sekuritas koneksi dalam SignalR

Menurut Choudhry & Premchand (2014, p. 95), SignalR

melakukan maintance pada sekuritas keamanan dengan melakukan

validasi identity dari yang melakukan request. Ketika client manapun

melakukan request ke server untuk koneksi baru, server akan meng-

generate sebuah ID koneksi baru secara random dan

mengasosiasikannya ke response bersamaan dengan autentifikasi

username. ID koneksi dan username ini bertahan selama durasi

melakukan koneksi. SignalR menggunakan digital signature dan

encryption untuk keamanan koneksi.

Untuk setiap request, server akan melakukan validasi data

(berisi ID koneksi dan username) untuk memastikan request tersebut

berasal dari user yang sudah teridentifikasi. SignalR melakukan

validasi username dan ID koneksi untuk mencegah serangan

berbahaya. Jika ID koneksi dan username gagal tervalidasi oleh

server maka request akan dibatalkan. Gambar 2.17 menggambarkan

bagaimana sekuritas koneksi pada SignalR bekerja.

Gambar 2.17 Sekuritas SignalR

2.2.8 Performa SignalR

Menurut Choudhry & Premchand(2014, p. 96), Performa

SignalR dapat ditingkatkan dengan beberapa cara sebagai berikut:

43

a. Reduce Network Traffic, ketika mendesain aplikasi, developer

harus mendesain frekuensi dari pesan yang dikirim se-efisien

mungkin untuk mengurangi Network Traffic.

b. Reduce Message Size, mengurangi serial objek dapat menjadi

salah satu alternatif untuk mengurangi ukuran pesan dan

mengeliminasi penggunaan objek yang tidak dipakai.

c. Reduce Default Buffer Size, mengurangi memory per hub dalam

event Aplication_Start pada aplikasi ASP.NET menjadi suatu

alternatif untuk mengurangi Default Buffer Size.

d. Increase Max Concurrent Requesting IIS, dengan meningkatkan

Concurrent Value dalam IIS akan membantu memaksimalkan

Resource Server.

e. Increase Maximum Concurrent Request per CPU, cara lain untuk

meningkatkan performa secara signifikan adalah dengan

meningkatkan maksimal Concurrent Request per CPU.

2.2.9 Antrian

Antrian ialah suatu metode analisis yang digunakan untuk

mengevaluasi biaya dan keefektifan suatu sistem antrian. Teori antrian

berusaha mencari optimalitas dari suatu keadaan antrian, yaitu

meminimalkan biaya total yang timbul, baik yang dihadapi oleh

pelanggan maupun pemberi layanan secara bersama-sama (Herjanto

2009, p. 7).

2.2.9.1 Karakteristik Sistem Antrian

Sistem digambarkan sebagai suatu keadaan yang terdapat

dalam batasan sistem, terdapat input, masuk ke dalam proses

dan terdapat output keluar dari proses. Karakteristik sistem

diilustrasikan pada Gambar 2.18.

INPUT

PROSES

OUTPUT

Batas sistem

Gambar 2.18 Karakteristik Sistem Antrian

44

Sedangkan sistem antrian digambarkan sebagai suatu

keadaan dimana terdapat input yang akan dilayani, masuk ke

dalam daerah tunggu untuk mengantri, kemudian pelayanan

dan output yang keluar dari sistem antrian. Komponen utama

dalam Sistem antrian diilustrasikan pada Gambar 2.19.

2.2.9.2 Model Sistem Antrian

Terdapat empat macam model antrian, yaitu kanal

tunggal fase tunggal (Single Channel Single Phase), multi

kanal fase tunggal (Multi Channel Single Phase), kanal tunggal

multi fase (Single Channel Multi Phase), dan multi kanal multi

fase (Multi Channel Multi Phase) (Siswanto, 2007, p. 224).

a. Single Channel Single Phase

b. Multi Channel Single Phase

masuk keluar

antrian

keluar masuk

antrian

Area kedatangan Fasilitas pelayanan

Proses kedatangan

Populasi

Keluar Masuk

Gambar 2.19 Komponen utama dalam Sistem Antrian

Gambar 2.20 Single Channel Single Phase

Gambar 2.21 Multi Channel Single Phase

45

c. Single Channel Multi Phase

d. Multi Channel Multi Phase

2.2.10 Feedback

Fungsi feedback adalah memberikan motivasi atau

reinforcement. Menurut (Apruebo, 2005, p. 100), Reinforcement

diartikan sebagai suatu kejadian yang meningkatkan kemungkinan

bahwa respon tertentu akan terulang kembali atas kejadian serupa.

Dengan diperolehnya feedback perihal kemampuan atau pelayanan,

hal itu dapat memacunya lagi untuk berbuat yang lebih baik dari

yang sudah dilakukannya, dengan kata lain feedback akan menjadi

daya dorong dalam kemampuan maupun pelayanan. Secara umum

feedback terbagi dalam dua jenis yaitu intrinsic feedback dan

extrinsic feedback (Apruebo, 2005). Intrinsic feedback atau umpan

balik intrinsik berkaitan dengan penilaian terhadap dirinya sendiri.

Sedangkan extrinsic feedback adalah umpan balik yang berasal dari

luar dirinya.

masuk keluar

antrian

masuk keluar

antrian

Gambar 2.22 Single Channel Multi Phase

Gambar 2.23 Multi Channel Multi Phase