bab 2 landasan teori - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2015-1-00845-if...
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