library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang...

77
BAB 2 TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka Teori-teori yang digunakan dalam pembuatan aplikasi ini. 2.1.1 Interaksi Manusia dan Komputer 2.1.1.1 Pengertian Interaksi Manusia dan Komputer Menurut Ben Shneiderman (2010, pp.4-5), interaksi manusia komputer adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer yang mencakup perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia. Sebuah sistem dapat disebut interaktif apabila sistem tersebut dapat berkomunikasi dengan pengguna, dengan tujuan agar sistem dapat berguna bagi pengguna. 2.1.1.2 Delapan Aturan Emas (Eight Golden Rules) Dalam mendesain user interface yang baik, Ben Shneiderman dan Catherine Plaisaint (2010, pp.70-71) memberi delapan aturan yang dapat dijadikan pedoman: 1. Konsistensi 7

Transcript of library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang...

Page 1: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

BAB 2

TINJAUAN PUSTAKA

2.1 Tinjauan Pustaka

Teori-teori yang digunakan dalam pembuatan aplikasi ini.

2.1.1 Interaksi Manusia dan Komputer

2.1.1.1 Pengertian Interaksi Manusia dan Komputer

Menurut Ben Shneiderman (2010, pp.4-5), interaksi manusia

komputer adalah disiplin ilmu yang mempelajari hubungan

antara manusia dan komputer yang mencakup perancangan,

evaluasi, dan implementasi antarmuka pengguna komputer agar

mudah digunakan oleh manusia. Sebuah sistem dapat disebut

interaktif apabila sistem tersebut dapat berkomunikasi dengan

pengguna, dengan tujuan agar sistem dapat berguna bagi

pengguna.

2.1.1.2 Delapan Aturan Emas (Eight Golden Rules)

Dalam mendesain user interface yang baik, Ben Shneiderman

dan Catherine Plaisaint (2010, pp.70-71) memberi delapan

aturan yang dapat dijadikan pedoman:

1. Konsistensi

Konsistensi dilakukan pada urutan tindakan, perintah, dan

istilah yang digunakan pada prompt, menu serta layar

bantuan.

2. Menyediakan kebutuhan universal

Mengenali kebutuhan mulai dari perbedaan pengguna dari

pemula hingga ahli, rentang usia, disabilitas, dan perbedaan

teknologi yang dapat menjadi pertimbangan kebutuhan ketika

akan membuat suatu sistem. Menambahkan fitur untuk para

pengguna awam seperti tutorial singkat.

3. Memberikan umpan balik yang informatif

Untuk setiap tindakan operator, sebaiknya disertakan suatu

sistem umpan balik. Untuk tindakan yang sering dilakukan

7

Page 2: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

8

dan tidak terlalu penting, dapat diberikan umpan balik yang

sederhana. Tetapi jika tindakan tersebut merupakan hal yang

penting, maka umpan balik sebaiknya lebih substansial.

Misalnya seperti memberikan loading ketika user meng-input

data lalu memberitahu hasil dari inputannya apakah benar

atau tidak.

4. Merancang dialog untuk menghasilkan suatu penutupan

Urutan tindakan sebaiknya diorganisir dalam suatu kelompok

dengan bagian awal, tengah, dan akhir. Umpan balik yang

informatif akan meberikan indikasi bahwa cara yang

dilakukan sudah benar dan dapat mempersiapkan kelompok

tindakan berikutnya.

5. Memberikan penanganan kesalahan yang sederhana

Sebisa mungkin sistem dirancang sehingga pengguna tidak

dapat melakukan kesalahan fatal. Jika kesalahan terjadi,

sistem dapat mendeteksi kesalahan dengan cepat dan

memberikan mekanisme yang sedehana dan mudah dipahami

untuk penanganan kesalahan.

6. Mudah kembali ke tindakan sebelumnya

Hal ini dapat mengurangi kekuatiran pengguna karena

pengguna mengetahui kesalahan yang dilakukan dapat

dibatalkan; sehingga pengguna tidak takut untuk

mengekplorasi pilihan-pilihan lain yang belum biasa

digunakan.

7. Mendukung tempat pengendali internal

Pengguna ingin menjadi pengontrol sistem dan sistem akan

merespon tindakan yang dilakukan pengguna daripada

pengguna merasa bahwa sistem mengontrol pengguna.

Sebaiknya sistem dirancang sedemikan rupa sehingga

pengguna menjadi inisiator daripada responden.

8. Mengurangi beban ingatan jangka pendek

Keterbatasan ingatan manusia membutuhkan tampilan yang

sederhana atau banyak tampilan halaman yang sebaiknya

Page 3: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

9

disatukan, seragam, agar dapat beradaptasi dalam waktu

singkat.

2.1.2 Konsep Dasar OOP

Menurut Deitel dan Deitel (2012, pp.13) object oriented

programming adalah bahasa pemrograman yang memungkinkan

penerapan desain berorientasi objek sebagai sistem kerja. OOP

menggunakan modular, object oriented design (OOD) dan pendekatan

implementasi yang lebih meningkatkan produktivitas programmer jika

dibandingkan dengan structure programming. Berikut adalah konsep-

konsep dalam OOP, yaitu:

1. The Plane as an Object

Objek menyembunyikan mekanisme kompleks sebuah class

sehingga class dapat digunakan dengan mudah. Contoh sebuah objek

pesawat. Pesawat memiliki attribute: sayap dan bahan bakar. Mobil

memiliki methods: landing dan take off. Untuk landing, teknisi harus

mendesain mekanisme kerja semua attribute agar pesawat dapat

melakukan landing dengan sempurna. Keluaran dari teknisi tersebut

dapat dianalogikan sebagai class. Dan penggunaan keluaran tersebut

dapat dianalogikan sebagai objek dalam hal ini pesawat.

2. Methods and Classes

Methods adalah sekumpulan statement program yang disatukan

hingga menjadi sebuah subprogram atau lebih dikenal dengan fungsi.

Sedangkan class terdiri atas variable, constructor dan sekumpulan

methods yang melakukan tugas-tugas dalam class. Contoh: class

yang merepresentasikan rekening nasabah yang memiliki methods

untuk menabung dan menarik uang.

3. Instantiation

Objek dari sebuah class harus dibangun sebelum menjalankan

method yang didefinisikan oleh class, proses ini disebut

instantiation. Objek merupakan wakil dari keseluruhan isi class.

4. Reuse

Class dapat digunakan berulang kali untuk membangun lebih dari

satu objek. Penggunaan ulang class yang telah ada untuk

Page 4: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

10

membangun class atau program baru dapat menghemat waktu dan

tenaga.

Page 5: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

11

Penggunaan ulang juga membantu programmer membangun sistem

yang lebih tangguh dan efektif, karena class yang sudah ada secara

tidak langsung telah melewati tahap testing, debugging dan

performance tuning.

5. Messages and Methods Calls

Setiap message diimplementasikan sebagai methods call yang

berfungsi memerintah methods objek yang bersangkutan untuk

melakukan tugasnya. Contoh: program akan memanggil method

menabung pada objek rekening nasabah untuk menambah saldo.

6. Attributes and Instance Variables

Objek selalu memiliki attributes yang digunakan untuk menjalankan

program. Attributes merupakan bagian spesifik dari objek. Attributes

ditentukan dengan instance variable. Contoh: objek rekening bank

memiliki attribute saldo yang merepresentasikan jumlah uang pada

rekening tersebut.

7. Encapsulation

Class membungkus attributes dan methods dalam sebuah objek.

Attributes dan methods pada sebuah objek berhubungan dengan erat.

Objek dapat berkomunikasi dengan objek yang lain akan tetapi

biasanya objek tidak perbolehkan untuk mengetahui bagaimana

objek yang lain diimplementasikan.

8. Inheritance

Sebuah class baru dapat dibangun dengan mudah dan cepat dengan

inheritance karena class baru mengadopsi penuh karakter class

sebelumnya dan dapat melakukan penambahan karakter yang baru.

9. Object-Oriented Analysis and Design (OOAD)

OOAD adalah proses yang yang melibatkan analisis dan

perancangan sistem dari sudut pandang object-oriented. Object-

oriented merupakan pendekatan untuk membangun sebuah program

kompleks. Proses analisis merupakan tahap awal untuk membangun

sebuah program yang kompleks.

Page 6: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

12

2.1.3 Android

Menurut Google, Inc. (2015), Android adalah platform open source

untuk mobile yang dipakai lebih dari 1 miliar lebih pengguna

smartphone dan tablet dari seratus sembilan puluh (190) negara di

seluruh dunia. Android merupakan OS (Operating System) yang

berbasis Linux. Setiap versi pada Android dinamakan menurut nama-

nama dessert, seperti Cupcake, Donut, Eclair, Froyo – Frozen Yoghurt,

GingerBread, HoneyComb, Ice Cream Sandwich, Kitkat, Jelly Bean dan

Lollipop (dirilis pada 21 April 2015). Dan versi terbaru dari Android

yaitu Android 6.0 Marshmallow. Untuk membangun aplikasi berbasis

Android dapat menggunakan bahasa pemrograman C (core), C++

ataupun Java (UI). Dengan user interface yang didasarkan pada direct

manipulation, Android khusus didesain untuk pengguna smartphone

ataupun tablet layar sentuh (Touch Screen).

2.1.3.1 Arsitektur AndroidMenurut Burnette (2010, pp.30-35), Android dapat dibagi

menjadi lima lapisan, yaitu:

1. Linux Kernel

Android dibangun berdasarkan kernel Linux yang diciptakan

oleh Linus Torvalds pada tahun 1991. Linux menyediakan

lapisan abstraksi perangkat keras untuk Android. Android

menggunakan Linux untuk manajemen memori, manajemen

proses, jaringan, dan layanan sistem operasi lainnya.

2. Native Libraries

Native libraries merupakan perpustakaan asli pada Android.

Pustaka ini ditulis dalam bahasa pemrograman C atau C++,

dikompilasi untuk arsitektur perangkat keras tertentu yang

digunakan oleh smartphone dan preinstalled oleh vendor

ponsel. Beberapa native libraries yang tesedia, yaitu:

a. Surface Manager

Android menggunakan Window Manager yang mirip

pada sistem operasi Windows, tetapi jauh lebih

sederhana.

b. 2D and 3D graphics

Page 7: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

13

2D atau 3D dapat dikombinasikan pada satu tampilan

antarmuka pengguna dengan Android. Pustaka akan

menggunakan hardware 3D jika terdapat hardware

yang mendukung. Jika tidak ada, maka akan

menggunakan fast software render.

c. Media codecs

Android dapat merekam atau memainkan video dan

suara dengan format AAC, AVC (H.264), H.263, MP3,

dan MPEG-4.

d. SQL database

Android menggunakan database SQLLite untuk

menyimpan data.

e. Browser engine

Android menggunakan pustaka WebKit yang

digunakan juga dalam browser Google Chrome, Safari,

dan juga browser pada Iphone.

3. Android Runtime

Android runtime menggunakan library Java dan termasuk

mesin virtual Dalvik. Dalvik VM (Virtual Machine) adalah

implementasi Google Java yang dioptimalkan untuk

perangkat mobile. Semua kode yang anda tulis untuk Android

akan ditulis di Java dan dijalankan dalam mesin virtual.

4. Application Framework

Lapisan ini menyediakan alat tingkat tinggi yang akan dapat

digunakan developer untuk membuat aplikasi. Kerangka

kerja ini dating pre-installed dengan Android, tetapi

developer juga dapat menambahkan komponen sendiri sesuai

kebutuhan.

5. Application and Widgets

Lapisan tertinggi dalam diagram arsitektur Android adalah

lapisan Application and Widgets. Pengguna (end user) hanya

akan melihat program pada lapisan ini, dan tak sadar terhadap

semua tindakan yang terjadi dilapisan bawah. Aplikasi adalah

program yang dapat mengambil alih seluruh layar dan

Page 8: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

14

berinteraksi dengan pengguna, sedangkan widget atau gadget,

beroperasi hanya dalam bentuk persegi panjang kecil dari

aplikasi layar.

Gambar 2.1 Arsitektur Sistem Android

(Sumber: Burnette, 2010, pp.31)

2.1.3.2 Siklus Hidup Android

Menurut Burnette (2010, pp.23), selama dalam proses, setiap

activity dari program Android bisa di salah satu dari beberapa

keadaan. Keadaan tersebut tidak dapat dikontrol secara langsung

oleh developer, karena sudah diatur oleh sistem. Namun,

developer mendapat pemberitahuan ketika sebuah keadaan akan

berubah ketika sebuah fungsi dipanggil. Menurut Burnette

(2010, pp.37-38), terdapat sembilan fungsi yang digunakan pada

kelas activity, yaitu:

1. onCreate()

Fungsi ini dipanggil ketika activity pertama kali

dijalankan. Fungsi ini berguna untuk melakukan

inisialisasi awal. Fungsi ini mempunyai satu parameter

yang dapat diberisi null atau berupa informasi kondisi

sebelumnya yang disimpan pada fungsi

onSaveInstanceState().

Page 9: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

15

2. onStart()

Fungsi ini menunjukan adanya activity yang akan

ditampilkan kepada pengguna.

3. onResume()

Fungsi ini dipanggil ketika sebuah activity mulai

berinteraksi dengan pengguna. Fungsi ini biasanya

digunakan untuk menjalankan animasi dan musik.

4. onPause()

Fungsi ini dipanggil ketika activity tersebut akan masuk ke

proses background, hal ini terjadi karena ada activity

lainnya yang dipanggil.

5. onStop()

Fungsi ini dipanggil ketika sebuah tampilan activity tidak

digunakan lagi oleh pengguna (tidak digunakan sementara

waktu). Jika memori tidak mencukupi, fungsi ini mungkin

tidak akan dipanggil, melainkan sistem akan

menghancurkan proses activity tersebut.

6. onRestart()

Fungsi ini dipanggil pada saat sebuah activity kembali

ditampilkan kepada pengguna dari keadaan berhenti.

7. onDestroy()

Fungsi ini dipanggil sesaat sebelum sebuah activity

dihancurkan. Jika memori tidak mencukupi, fungsi ini

mungkin tidak akan dipanggil, melainkan sistem akan

menghancurkan proses activity tersebut.

8. onSaveInstanceState(Bundle)

Android akan memanggil fungsi ini untuk menyimpan

keadaan sebelumnya, seperti letak kursor pada kolom teks

sebelumnya. Fungsi ini tidak perlu diganti (override),

karena implementasi standar telah mengontrolnya secara

otomatis.

9. onRestoreInstanceState(Bundle)

Page 10: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

16

Fungsi ini dipanggil ketika activity melakukan inisialisasi

ulang dari kondisi sebelumnya yang disimpan dengan

fungsi onSaveInstanceState(). Implementasi standar

mengembalikan keadaan dari tampilan antarmuka

sebelumnya.

Gambar 2.2 Contoh Siklus Hidup Android

(Sumber: Burnette, 2010, pp.37)

2.1.3.3 Building Blocks

Menurut Burnette (2010, pp.39-40), terdapat beberapa

elemen penting untuk pengembangan aplikasi android, yaitu:

1. Activities

Activity adalah tampilan antarmuka. Aplikasi dapat

menentukan satu atau lebih activity untuk menangani

berbagai tahapan program. Setiap activity bertanggung

jawab untuk menyimpan kondisi sendiri sehingga dapat

dikembalikan sebagai bagian dari siklus hidup aplikasi.

Activity merupakan turunan dari kelas context, sehingga

developer dapat menggunakannya untuk mendapatkan

informasi global tentang sebuah aplikasi. Selain activity

terdapat juga Fragment. Fragment merupakan komponen

yang berjalan diatas activity. Sebuah fragment membungkus

Page 11: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

17

kode aplikasi sehingga dapat lebih mudah ketika akan

digunakan kembali dan juga bertujuan untuk mendukung

devices yang berbeda layar (Vogella, 2015).

2. Intents

Intents adalah mekanisme untuk menggambarkan tindakan

tertentu, seperti memilih foto. Di Android, hampir

semuanya berjalan melalui intents.

3. Services

Services adalah proses yang berjalan di background, tanpa

interaksi langsung dari pengguna. Sebagai contohnya adalah

pemutar musik yang terus berjalan walaupun pengguna

berpindah-pindah ke program yang berbeda.

4. Content Providers

Content Providers adalah sekumpulan data dibungkus

dalam custom Application Program Interface (API) untuk

membaca dan menulis. API digunakan untuk berbagi data

antar aplikasi. Sebagai contoh, Google menyediakan

penyedia konten untuk informasi kontak yang dapat

digunakan aplikasi lainnya.

2.1.4 SDK

Android SDK merupakan API (Application Programming Interface

modul atau library serta tool yang dibutuhkan developer untuk

membuat sebuah aplikasi android (Anonim1,

www.developer.android.com). Terdapat beberapa fitur pada android

SDK (Meier, 2010, pp.6):

1. Wi-Fi akses hardware.

2. GSM, EDGE, dan 3G untuk telepon atau mengirim data,

memungkinkan untuk membuat atau menerima panggilan atau

pesan SMS, atau mengirim dan mengambil data di jaringan mobile.

3. Pengaturan multimedia hardware, termasuk pemutaran dan

merekam dengan kamera dan microphone.

4. API untuk menggunakan sensor hardware, termasuk accelerometer

dan kompas.

Page 12: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

18

5. Membagi penyimpanan data

6. Latar belakang dari aplikasi dan proses.

7. Homescreen widgets, live folders, dan live wallpaper.

8. Kemampuan untuk mengintegrasikan hasil pencarian aplikasi ke

dalam pencarian sistem.

9. Media libraries untuk bermain dan merekam berbagai audio atau

video atau format gambar.

2.1.5 The Ten Principles of Mobile Interface Design

Menurut Stark (2012), terdapat sepuluh prinsip dari mobile

interface design, yaitu:

1. Mobile mindset

a. Be focused: Fitur yang banyak bukanlah hal yang terbaik,

melainkan berfokus pada fitur-fitur tertentu lalu dikembangkan

sebaik mungkin.

b. Be unique: Membuat aplikasi yang unik yang berbeda dengan

aplikasi lainnya.

c. Be charming: Aplikasi yang ramah, dapat diandalkan dan

menyenangkan dapat membuat pengguna sangat nyaman untuk

tetap terus menggunakannya.

d. Be considerate: Developer terlalu sering berfokus dengan hal

yang dikembangkan dan tujuan bisnis pribadi sehingga tidak

berpikir dari sisi pengguna. Para developer harus

menempatkan diri pada posisi pengguna untuk menciptakan

aplikasi dengan pengalaman yang menarik.

2. Mobile context

a. Bored: Harus ada pengalaman yang mendalam dan menarik

perhatian pengguna saat menggunakan aplikasi, sehingga

pengguna tidak mudah bosan. Contoh: Facebook, Twitter dan

Angry Birds.

b. Busy: Kemampuan untuk menyelesaikan tugas secara cepat

dan andal dengan satu tangan pada lingkungan sibuk adalah

hal yang penting. Contoh: email, calendar dan banking.

c. Lost: Pengguna mengeksplorasi sebuah tempat asing sehingga

membutuhkan penggunaan baterai yang lama. Dalam hal ini,

Page 13: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

19

daya tahan baterai merupakan perhatian pertama sehingga

diperlukan fitur offline untuk mengurangi penggunaan baterai.

Contoh: Maps, Yelp dan Foursquare.

3. Global guidelines

a. Responsiveness: Jika pengguna melakukan suatu tindakan,

aplikasi harus merespons tindakan tersebut secara instan.

b. Polish: Menyempurnakan aplikasi hingga hal-hal yang paling

detil.

c. Thumbs: Desain bedasarkan jempol, karena jari jempol hampir

selalu digunakan dalam berinteraksi dalam layar touch screen.

d. Targets: Menentukan letak antar tombol sehingga pengguna

tidak salah tekan.

e. Content: Revolusi layar sentuh adalah bahwa hal tersebut

memungkinkan pengguna untuk berinteraksi langsung dengan

konten tanpa menggunakan mouse dan keyboard.

f. Controls: Bila terdapat tombol kontrol, tempatkan tombol

tersebut di bagian bawah layar. Jika tidak, pengguna tidak akan

bisa melihat apa yang terjadi dengan konten pada saat

menggunakan tombol kontrol.

g. Scrolling: Bila memungkinkan, hindari scrolling. Memiliki

layar non-scrolling membuat tampilan dirasa lebih solid dan

dapat diandalkan daripada layar scrolling.

4. Navigation models

a. None: Aplikasi utilitas layar tunggal

b. Tab Bar: Tiga sampai enam tab dengan isi yang berbeda

c. Drill Down: List dan konten detail hierarki

5. User Input

a. Keyboard variations: Pertimbangkan setiap input dan pastikan

untuk menampilkan keyboard paling berguna untuk melakukan

entri data.

b. Keyboard options: Pertimbangkan setiap input dan

memutuskan mana pilihan entri otomatis yang harus diaktifkan

(auto-correct, autocapitalisation dan auto-complete).

Page 14: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

20

c. Keyboard orientations: Jika terdapat kebutuhan mengetik yang

sering, harus dipastikan bahwa orientasi landscape agar tombol

keyboard menjadi lebih besar dan mudah ditekan.

6. Gestures

a. Invisible: Gestures yang tidak terlihat, sehingga dibutuhkan

waktu untuk menemukannya. Developer harus memutuskan

bagaimana untuk mengungkapkan keberadaan Gestures

kepada pengguna.

b. Two Hands: Penggunaan aplikasi menggunakan dua tangan

untuk bekerja, seperti yang digunakan dalam aplikasi native

Maps app pada iOS untuk melakukan zoom out/in.

c. Nice to Have: Dalam banyak hal, gestures merupakan hal baik

untuk dimiliki, tapi tidak kritis. Seperti shortcut keyboard,

beberapa pengguna menyenanginya, tetapi kebanyakan

pengguna bahkan tidak akan tahu bahwa hal itu ada.

d. No Replacement: Sebuah kosa kata umum untuk gestures

belum ada sehingga diperlukan sebuah kontrol terlihat bagi

kebanyakan aplikasi.

7. Orientation

a. Portrait: Merupakan orientasi layar yang paling populer

sehingga harus dioptimalkan terlebih dahulu.

b. Landscape: Jika terdapat kebutuhan mengetik yang sering,

maka orientasi landscape harus diutamakan, sehingga

pengguna dapat mengakses keyboard yang lebih besar.

c. Orientation Lock: Jika orientasi yang digunakan berubah-ubah,

tambahkan sebuah orientasi kunci, sehingga pengguna dapat

menggunakan orientasi yang sesuai dengan keinginan.

8. Communications

a. Provide feedback: Memberikan umpan balik untuk setiap

interaksi. Jika tidak, pengguna akan bertanya-tanya apakah

aplikasi mengalami freeze, atau tindakan yang dilakukan tidak

tepat.

Page 15: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

21

b. Modal alerts: Memunculkan dialog error pada saat terjadi

kesalahan. Dialog error hanya digunakan ketika ada kesalahan

yang serius.

c. Confirmation: Memunculkan dialog konfirmasi pada saat

meminta pengguna untuk mengkonfirmasi.

9. Launching

Aplikasi yang telah digunakan sebelumnya, harus beroperasi

sesuai dengan kondisi terakhir sebelum pengguna tinggalkan. Hal

ini akan memberikan rasa kecepatan dan sifat aplikasi yang

responsif. Selain itu, sebaiknya memasang gambar sesedikit

mungkin pada saat loading pertama aplikasi. Banyaknya gambar

membuat pengguna merasa tidak nyaman karena seolah-olah

seperti melihat iklan.

10. First Impressions

a. Your Icon: Ikon yang dibuat harus menarik perhatian dan unik,

sehingga dapat bersaing dengan ikon-ikon lainnya. Ikon harus

dibuat simpel, tetapi mempunyai kesan yang kuat sehingga

memberikan kesan yang kuat terhadap aplikasi.

b. First Launch: Pengguna mungkin bingung ketika mencoba

untuk memperkenalkan diri dengan aplikasi baru. Pengguna

akan segera menghapus aplikasi tersebut jika dianggap tidak

user-friendly. Jika sebuah aplikasi menyediakan fungsionalitas

yang kompleks, lebih baik dibuatkan tips dan trik untuk

membantu pengguna.

2.1.6 Agile Software Development

Agile software development adalah metode pengembangan aplikasi

yang mementingkan kepuasan user dan mengembangkan aplikasi

secara bertahap. Pengembangan aplikasi ditekankan pada analisis dan

desain, dan komunikasi yang aktif dan kontinu diantara developers dan

user (Pressman & Maxine, 2015, pp.66).

2.1.6.1 Adaptive Software Development (ASD)

Metode ASD diajukan oleh Jim Highsmith dan Sam Bayer

pada tahun 2000 sebagai teknik untuk membangun software dan

Page 16: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

22

sistem yang kompleks. ASD memiliki prinsip yang berfokus

pada penciptaan cepat dan evolusi dari software. Metode ini

tumbuh menggantikan metode rapid application development.

Kedua metode tersebut memiliki struktur yang hampir sama,

perbedaanya terletak pada waktunya, dimana ASD tidak

memiliki waktu yang pasti kapan projek tersebut dapat

dikatakan selesai. Karena metodologi ini berfokus pada

computer code. Ketika ada sesuatu dari sistem yang harus

berubah atau beradaptasi terhadap sistem baru, maka para

coders akan langsung melakukannya. ASD memiliki 6 (enam)

karakteristik, yaitu:

a. Mission Focused

Memiliki pengertian bahwa semua yang terlibat didalam tim

harus fokus kepada tujuan, karena disini orang-orang

didalam tim harus dapat mengatur kolaborasi antar anggota

tim lain secara mandiri.

b. Feature Based

Yang cukup membedakan ASD dibanding metodologi lain

adalah pada pembagian tugasnya, dimana requirement user

akan di ditekankan perfitur.

c. Iterative

Ini merupakan karakteristik umum yang selalu ada pada

setiap Agile development. Memiliki pengertian berulang,

artinya pekerjaan yang dilakukan harus diulang untuk

mendorong terciptanya kepuasan pelanggan sehingga

mempercepat delivery perangkat lunak secara bertahap.

Namun ada hal yang berbeda pada iterasi ini, dimana

kesalahan kecil berdasarkan asumsi akan dicatat sehingga

tim akan menjadi lebih berpengalaman untuk menangani

masalah tersebut.

d. Timeboxed

Setiap tugas memiliki jangka/periode waktu yang tetap,

yang bertujuan untuk membuat setiap orang dalam tim

Page 17: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

23

dapat mengerjakan tugasnya sesuai dengan waktu yang

telah ditentukan.

e. Risk Driven

Risk Driven merupakan model yang dibuat oleh tim untuk

mengasumsikan berbagai masalah yang akan muncul, lalu

Page 18: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

24

mencari solusi untuk memecahkan masalah tersebut salah

satu caranya adalah mungkin dengan menyederhanakan.

f. Change Tolerant

Membuat software yang dapat dipelihara,diperbarui, dan

diubah sesuai dengan kebutuhan.

Gambar 2.3 Tahapan pada ASD

(Sumber: Pressman, Software Engineering: a practitioners approach 7th Edition,

2010, pp. 81)

Terdapat 3 (tiga) tahapan pada ASD, yaitu:

a. Speculation

Tahap pertama adalah speculation. Selama fase ini,

programmer mencoba untuk mengerti terhadap software

yang akan dibuat dan kebutuhan user. Salah satunya

dengan mendidefinisikan visi dan misi pengguna terhadap

software yang akan dibuat, selanjutnya mendefinisikan

project constraints, misalnya: waktu deliver. Fase ini juga

bergantung kepada bug dan laporan user.

Page 19: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

25

b. Collaboration

Tahap selanjutnya adalah collaboration, pada tahap ini

diorganisasikan tim kerja untuk membangun sistem. Fase

ini menuntut orang-orang di tim untuk memperkokoh

tentang apa yang mereka lakukan dan bagaimana

mengkombinasikan porsi dari pekerjaan tersebut.

c. Learning

Tahap terakhir adalah learning, pada fase ini software

yang terbaru diberikan ke user. Ini akan menghasilkan bug

dan laporan user yang digunakan selama fase pertama

project, dan selanjutnya tim ASD melakukan peninjauan

kembali terhadap komponen perangkat lunak untuk

memperbaiki dan meningkatkan kualitas perangkat lunak

yang sedang dibuat sehingga perputaran tahap akan

berulang dengan sendirinya.

2.1.7 Web Services dan WS-Security

Web services menurut W3.org mendefinisikan web service

sebagai sebuah software aplikasi yang dapat teridentifikasi oleh URI

dan memiliki interface yang didefiniskan, dideskripsikan, dan

dimengerti oleh XML dan juga mendukung interaksi langsung dengan

software aplikasi yang lain dengan menggunakan format berbasis

XML/JSON melalui protokol internet. Dengan demikian dengan

menggunakan web service komunikasi antar 2 software aplikasi

yang berbeda platform, sistem operasi tetap dapat terjalin. Selain

itu pada web service hubungan antara client dan server tidak terjadi

secara langsung. Hubungan antara client dan server dijembatani oleh

file web service dalam format tertentu, sehingga akses terhadap

database akan ditanggani tidak secara langsung oleh server,

melainkan melalui perantara yang disebut sebagai web service. Peran

dari web service ini akan mempermudah distribusi sekaligus integrasi

database yang tersebar di beberapa server sekaligus.

Page 20: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

26

Gambar 2.4 Proses komunikasi antara klien dan Web server melalui XML

(Sumber : http://images.wpapi.com/soap-webservice.gif)

Komponen-komponen dalam web service secara keseluruhan

memiliki 4 (empat) layer komponen seperti pada gambar

berikut:

Gambar 2.5 Empat layer komponen web service

(Sumber: http://files.ekowins.webnode.com/200000001-856f5864af/komponen.jpg)

Layer 1: Protokol internet standar seperti HTTP, TCP/IP.

Layer 2: Simple Object Access Protocol (SOAP), merupakan

protokol akses objek berbasis XML yang digunakan untuk

proses pertukaran data/informasi antar layanan.

Page 21: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

27

Layer 3: Web Service Definition Language (WSDL),

merupakan standar bahasa dalam format XML yang berfungsi

untuk mendeskripsikan seluruh layanan yang tersedia.

Layer 4: UDDI (Universal Description, Discovery and

Integration) adalah sebuah service registry bagi pengalokasian

web service.

Web service security (WS-Security) yaitu standar

keamanan dalam web service yang dirancang untuk

mengatasi ancaman yang diperkirakan akan terjadi. Media

komunikasi dalam web service adalah melalui pesan SOAP.

(Uluwiyah, 2013, pp.10) WS-Security mendefinisikan SOAP

pada elemen header untuk membawa data dengan aman.

WS-Security menyajikan solusi end-to-end untuk keamanan

layanan web dengan menjaga keamanan semua informasi

yang ada pada pesan SOAP. Dalam WS-Security dijelaskan

3(tiga) mekanisme utama untuk mengamankan pesan SOAP,

yaitu bagaimana menjamin integritas pesan SOAP,

bagaimana mengenkripsi pesan SOAP untuk menjamin

kerahasian dan cara melampirkan token keamanan untuk

memastikan identitas pengirim.

2.1.8 Representational State Transfer (REST)

Teknologi REST pertama diperkenalkan oleh disertasi doktoral

Roy Fielding pada tahun 2000. REST (Representational State Transfer)

adalah suatu jenis dari web server yang memungkinkan klien, baik

user-operated atau otomatis, untuk mengakses sumber daya (resources)

yang memodelkan data dan fungsi suatu sistem (Masse, 2011, pp.5).

Ketika klien berinteraksi dengan sistem maka akan membentuk

suatu request terhadap database pada server. Server mengolah dan

mengembalikan data ke klien yang berupa response dalam format XML

atau JSON. Pada web services, hubungan antar klien dan server tidak

terjadi secara langsung karena dijembatani oleh web services.

Page 22: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

28

Gambar 2.6 Arsitektur REST

(Kalin, 2009, pp. 123)

Dalam arsitektur diatas, klien mengirimkan dengan HTTP requests

untuk URL yang meminta untuk sumber daya pada server dan

merespon dengan HTTP responses yang kembali ke klien. Sebagai

contoh, request GET dari klien dapat mengirimkan biografi hacker

dalam bentuk halaman HTML. HTTP methods adalah kunci landasan

dari REST yang menentukan tindakan terhadap data. HTTP methods

terdiri dari POST, GET, PUT, dan DELETE dengan fungsi sebagai

berikut (Masse, 2011, pp.23-27):

1. POST

Klien menggunakan POST ketika mengirimkan sumber daya ke

server; digunakan untuk membuat (create) sumber daya baru ke

dalam koleksi

2. GET

Klien menggunakan GET dalam pesan request untuk mendapatkan

(retrieve) sebuah sumber daya. Pesan dapat berisikan headers saja,

tanpa isi (body).

3. PUT

PUT digunakan untuk menambahkan sumber daya ke penyimpanan

dengan URI ditentukan secara spesifik oleh klien; digunakan untuk

memperbaharui atau menggantikan sumber daya yang sudah ada.

Pesan PUT berisikan hal yang ingin diubah.

4. DELETE

Page 23: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

29

Klien menggunakan DELETE untuk menghapus sumber daya dari

penyimpanan atau koleksi. Ketika request untuk menghapus

diproses, sumber daya tidak dapat ditemukan lagi oleh klien. Maka

dari itu, status akan dikembalikan error 404 (Not Found). REST

menggunaan skema yang berorientasi pada sumber daya untuk

menggambarkan struktur representasi yang independen dari format

mereka. Orientasi pada sumber daya adalah orientasi yang

menyediakan sumber daya sebagai layanannya dan bukan

kumpulan dari aktifitas yang mengolah sumber daya (Masse, 2011,

pp.59).

2.1.9 JavaScript Object Notation (JSON)

JSON merupakan format pertukaran data yang ringan, mudah

dibaca dan ditulis serta mudah diterjemahkan dan dihasilkan oleh

komputer. JSON dibuat berdasarkan bagian dari bahasa pemrograman

JavaScript, Standar ECMA-262 Edisi ke 3 – Desember 1999, sehingga

membuat JSON lebih ringan dan lebih cepat daripada XML, karena

JSON merupakan bentuk asli dari JavaScript (Anonim4,

www.json.org). JSON menggunakan beberapa bentuk sebagai berikut:

a. Object

Sepasang nama atau nilai yang tidak terurutkan. Objek dimulai

dengan “ { “ (buka kurung kurawal) dan diakhiri dengan “ } ”

(tutup kurung kurawal), dan setiap nama diikuti dengan “ : ”

(titik dua) dan setiap pasangan nama atau nilai dipisahkan oleh “

, ” (koma).

Gambar 2.7 Object pada JSON

(Sumber: http://www.json.org/json-id.html)

Page 24: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

30

b. Array

Kumpulan nilai yang telah diurutkan, dimulai dengan “ [ “

(buka kurung kotak) dan diakhiri dengan “ ] ” (tutup kurung

kotak), setiap nilai dipisahkan oleh “ , ” (koma).

Gambar 2.8 Array pada JSON

(Sumber: http://www.json.org/json-id.html)

c. Value

Dapat juga berupa sebuah String dalam tanda kutip ganda,

ataupun angka, ataupun bentuk true or false atau null, ataupun

sebuah object atau array. Dan juga struktur-struktur tersebut

dapat tersusun bertingkat.

Gambar 2.9 Value pada JSON

(Sumber: http://www.json.org/json-id.html)

d. String

Kumpulan dari nol atau lebih karakter Unicode, yang dibungkus

dengan tanda kutip ganda, dalam string dapat digunakan

backslash escapes “ \ ” untuk membentuk karakter khusus.

Page 25: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

31

Gambar 2.10 String pada JSON

(Sumber: http://www.json.org/json-id.html)

e. Number

Sangat mirip dengan angka di C atau Java, kecuali format oktal

dan heksadesimal tidak digunakan.

Gambar 2.11 Number pada JSON

(Sumber: http://www.json.org/json-id.html)

2.1.10 MVC

Menurut Pressman dan Maxi (2015,pp.384), MVC merupakan

model arsitektur yang memisahkan user interface dari fungsi dan

content informasi webapp. Oleh karena itu MVC terbagi menjadi tiga

bagian yaitu model, view dan controller.

Page 26: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

Gambar 2.12 Arstiektur MVC

(Mihai Curteanu, 2010, pp.1)

32

Biasanya MVC digunakan untuk aplikasi yang besar dan memiliki

struktur data yang kompleks, karena keuntungan dari MVC yaitu

kemudahan dalam melakukan maintenance dan dalam pengembangan

aplikasi tersebut.

2.1.11 Bahasa Pemograman C#

Dibuat berdasarkan C++, C# adalah bahasa pemrograman

berorientasi objek yang dikembangkan oleh Anders Hejlsberg, arsitek

kepala di Microsoft dan seorang insinyur yang hebat. C# merupakan

bahasa pemrograman yang kuat, fleksibel dan berorientasi objek (OOP)

yang digunakan untuk menciptakan berbagai aplikasi. C# telah

digunakan untuk berbagai proyek seperti situs web dinamis, perangkat

pengembangan dan bahkan compiler. C# merupakan bahasa yang

berasal dari C dan C++ dengan menambahkan fitur baru agar bahasa

lebih mudah digunakan (Gary dan Misty, 2010, pp.671). C# (biasanya

disebut juga sebagai “C sharp”) adalah sebuah bahasa pemrograman

komputer yang baru. C# merupakan bahasa object-oriented seperti java

dan merupakan bahasa component-oriented yang pertama. Bahasa

Page 27: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

33

pemrograman ini dibuat berbasiskan bahasa C++ yang telah

dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada

bahasa-bahasa pemrograman lainnya seperti java, visual basic, dan

lain-lain dengan beberapa penyederhanaan. C# dititik beratkan pada:

1. C# adalah sebuah bahasa baru yang diturunkan dari keluarga

C/C++

2. Kode pada C# lebih sederhana dan lebih modern dari C++.

3. Merupakan bahasa componen-oriented yang pertama.

4. Merupakan bahasa yang didesain dari .Net framework.

5. Merupakan bahasa yang singkat dan modern.

6. Mengkombinasikan fitur-fitur terbaik dari banyak bahasa yang

umum  digunakan: produktivitas dari visual basic, kekuatan dari

C++ dan Java.

7. Mempunyai sintaks yang konsisten.

8. C# akan menjadi pilihan bahasa bagi pemrograman .Net.

9. Bagian terbesar dari .Net framework yang benar-benar dikodekan

dalam bahasa C#.

2.1.12 Konsep .NET

Gambar 2.13 Susunan kerangka kerja .NET

(Sumber: http://slideplayer.com/slide/4800385/)

Page 28: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

34

Pada gambar di atas (Bipin Joshi, 2007, pp.11), bagian paling dasar

dari kerangka .NET adalah sistem operasi. Aplikasi yang anda buat

sampai selesai akan menjadi bagian dari produk Windows, karena .NET

berjalan diatas platform Windows termasuk Windows XP hingga

Windows 10.

Pada lapisan kedua terdapat lapisan Common Language Runtime

(CLR). CLR merupakan inti dari kerangka .NET, yang menyediakan

lingkungan untuk mengeksekusi program kepada setiap aplikasi .NET.

Sehingga, untuk menjalankan aplikasi .NET, Anda harus memiliki CLR

yang telah terinstalasi. CLR dapat melakukan banyak hal terhadap

aplikasi Anda, termasuk untuk manajemen memory dan pemerikasan

keamanan.

Pada lapisan ketiga terdapat banyak kumpulan class yang diberi

nama Base Class Library. Base Class Library ini menyediakan banyak

class yang dapat melakukan hampir semua yang Anda butuhkan dalam

aplikasi Anda. Termasuk class untuk input/output (IO), mengakses

basis data, memanipulasi XML dan lainnya. Di lapisan keempat terdiri

atas aplikasi Windows, termasuk model aplikasi web. Model aplikasi

web ini diwakili oleh ASP.NET, termasuk Web Forms dan Web

Services. ASP.NET hadir dengan pengontrol Web Form yang tertanam

di dalamnya, yang berfungsi untuk menghasilkan tampilan antarmuka.

ASP.NET menirukan atribut khusus HTML, seperti text boxes atau

button. Apabila pengontrol ini tidak cocok dengan keinginan Anda,

Anda bebas untuk membuat sendiri pengontrolnya. Web Services

memberikan Anda sebuah model yang dapat mengikat aplikasi yang

berbeda melalui sebuah internet. Model ini berbasis pada infrastruktur

dan aplikasi yang sudah ada. Oleh karena itu, Web Services merupakan

model yang sederhana dan dapat beradaptasi. Di lapisan paling atas

terdapat beberapa bahasa pemrograman yang dapat digunakan untuk

mengembangkan aplikasi.NET. Kerangka.NET menyediakan 5 bahasa

program, yaitu Visual Basic .NET, Visual C#, Managed C++,

Jscript .NET dan Visual J#.

Page 29: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

35

2.1.13 Visual Studio

Visual studio merupakan perangkat pengembangan program dari

Microsoft berupa Integrated Development Environment (IDE) dirilis

sejak tahun 1995 (Patrick Desjardins, 2014, pp. 1). Tersedia lima edisi

Visual Studio untuk memenuhi kebutuhan yang berbeda-beda:

a. Express

Express merupakan edisi Visual Studio versi gratis yang tidak

dapat ditambahkan extentions karena memiliki template yang

terbatas. Keuntungan edisi express yaitu: proyek dapat dibuka di

berbagai edisi Visual Studio dan edisi express ini memiliki id

aplikasi sendiri sehingga dapat di-install secara paralel dengan edisi

yang lain.

b. Professional

Professional merupakan tiket masuk untuk menggunakan Visual

Studio IDE secara keseluruhan yang memungkinkan pengembang

untuk membuat berbagai jenis aplikasi dengan menggunakan IDE

yang sama.

c. Premium

Premium merupakan edisi Visual Studio pertama yang

menggunakan kode metrik untuk meningkatkan kualitas aplikasi.

Edisi premium terdapat diantara edisi professional dan edisi

ultimate sehingga edisi premium memiliki semua fungsi

professional dengan beberapa fungsi tambahan yang

memungkinkan pengembang untuk membaca arsitektur dan

pemodelan file grafis.

d. Ultimate

Ultimate merupakan edisi Visual Studio yang paling lengkap

sehingga memungkinkan pengembang untuk menggunakan semua

fitur Visual Studio yang ada. Pada edisi ultimate pengembang dapat

menambahkan extentions untuk menambah fitur pada proyek yang

dibuat. Edisi ultimate memiliki fitur yang tidak dimiliki edisi

lainnya yaitu web berbasis cloud dan pengujian performa proyek.

e. Tester and QA

Page 30: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

36

Tester and QA merupakan edisi untuk melakukan pengujian tetapi

pengujian yang dilakukan sangat terbatas.

2.1.14 SQL Server

Leiter (2009, pp.3) menyatakan bahwa SQL Server sangat dikenal

sebagai Relational Database Management System (RDBMS). Namun

tidak hanya itu saja, tetapi juga dapat lebih akurat digambarkan sebagai

data enterprise platform. Sementara itu, SQL Server dikenal dengan

peran sebagai RDBMS tradisional, SQL Server juga menyediakan

kemampuan reporting, analisis data yang kuat dan data mining. SQL

Server tentunya juga mempunyai fitur-fitur yang mendukung aplikasi

data yang berbeda, data driven event notification dan masih banyak

lagi. Menurut Leiter (2009, pp.39) semua sistem dan pengguna basis

data (termasuk sumber daya basis data) disimpan dalam file. Selalu ada

minimal dua file penyimpanan yaitu satu file data dan satu file

transaksi. Ekstensi default untuk file data adalah .MDF, dan default

untuk file log transaksi adalah .LDF.

2.1.15 SQLite

SQLite merupakan software yang menyediakan Relational

Database Management System (RDBMS) dan bersifat public domain

(Jay A. Kreibich, 2010, pp.1). Sistem relasional database digunakan

untuk menyimpan dan mengatur data, dapat diproses melalui perintah

query yang kompleks yang menggabungkan data dari beberapa tabel.

SQLite bersifat open source yang dapat digunakan pada sistem operasi

android yang mendukung fitur database relasional standar seperti

sintaks SQL, transactions dan prepared statements. Selain itu SQLite

mendukung tipe data text (seperti string di Java).

2.1.16 ASP.NET

Ken Cox (2008, pp.12) menjelaskan “ASP.NET adalah sebuah

teknologi untuk menyampaikan aplikasi web yang interaktif melalui

internet dan intranet.” Di dalam ASP.NET terdapat beberapa kontrol,

seperti text boxes, buttons, image, dan data grids, yang dapat disatukan,

dikonfigurasikan, dan dimanipulasi dengan kode untuk membuat

halaman HTML yang muncul pada browser – browser yang populer.

Page 31: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

37

Ketika dikombinasikan dengan logika pemrograman, ASP.NET

membiarkan Anda mengirimkan kode HTML yang khusus untuk

keadaan setiap pengguna komputer. Contohnya, jika seorang pengguna

komputer menginginkan sebuah halaman web untuk menampilkan tabel

HTML dengan warna teks hijau dan latar belakang ungu, kode Anda

dapat membaca request yang dating, memeriksa apakah kode tersebut

dapat dilaksanakan, dan merespon. Tidak seperti halaman HTML yang

statis dan tersimpan dalam keadaan lengkap, halaman ASP.NET

biasanya tampil dalam bentuk seperti kerangka. Halaman ASP.NET

menjadi lengkap ketika pengguna komputer me-request sebuah halaman

yang dianalisa oleh ASP.NET, dan mengisi semua content (biasanya

dari sebuah basis data), mengirimkannya dalam bentuk HTML yang

dapat dibaca oleh browser.

2.1.17 Internet Information Services (IIS)

Menurut Microsoft, Inc. (2015), IIS atau Internet Information

Services atau Internet Information Server adalah sebuah HTTP web

server yang digunakan dalam sistem operasi server Windows, mulai

dari Windows NT 4.0 Server, Windows 2000 Server atau Windows

Server 2003. Layanan ini merupakan layanan terintegrasi dalam

Windows 2000 Server, Windows Server 2003 atau sebagai add-on

dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung

protokol TCP/IP yang berjalan dalam lapisan aplikasi (application

layer). IIS juga menjadi fondasi dari platform Internet dan Intranet

Microsoft, yang mencakup Microsoft Site Server, Microsoft

Commercial Internet System dan produk-produk Microsoft BackOffice

lainnya.

2.1.18 HyperText Markup Language (HTML)

HTML adalah special formatting language yang digunakan oleh

programmer untuk memformat dokumen yang ditampilkan di web.

Tampilan yang ada didalam halaman web ditulis menggunakan HTML

dan ditampilkan didalam web browser seperti Internet Explorer, Safari,

Firefox, Opera, atau Google Chrome (Shelly dan Vermaat, 2010,

pp.678).

Page 32: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

38

2.1.19 Cascading Style Sheet (CSS)

CSS memiliki format dari suatu particular object yang akan

ditampilkan didalam sebuah web browser (Shelly dan Vermaat, 2010,

pp. 683). CSS dapat mengendalikan ukuran gambar, warna pada teks,

warna tabel, ukuran border, warna border, warna hyperlink, warna

mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan,

atas, bawah, dan parameter lainnya.

2.1.20 JavaScript

JavaScript merupakan sebuah interpreted language yang dapat

programmer gunakan untuk menambahkan konten dinamis dan elemen

yang interaktif ke dalam halaman web. Elemen-elemen ini seperti alert

messages, scrolling text, animasi, drop-down menus,data input forms,

pop-up windows, interactive quizzes, dan mouse rollovers (Shelly dan

Vermaat, 2010, pp. 682).

2.1.21 JQuery

JQuery merupakan JavaScript Library yang cepat, ringan, dan

memiliki banyak fitur. JQuery digunakan untuk memanipulasi dokumen

HTML, event handling, animasi dan AJAX yang menjadi lebih mudah

digunakan dengan bantuan Application Programming Interface (API)

yang telah disediakan (jQuery, 2014).

2.1.22 Database Management System (DBMS)

Connolly dan Begg (2010, pp.16) menjelaskan “DBMS (Database

Management System) adalah sebuah sistem software yang

memungkinkan pengguna untuk mendefinisikan, memuat, memelihara,

dan mengatur akses ke dalam database. DBMS merupakan sebuah

software yang berinteraksi dengan pengguna program aplikasi dan

database.”

2.1.23 Language INtegrated Query (LINQ)

Language INtegrated Query (LINQ) adalah ekstensi yang tersedia

untuk Visual Basic dan C# programming yang di desain untuk

menyederhanakan data queries dan interaksi data. LINQ ditujukan

untuk menyelesaikan masalah O/R Mapping dengan membuat query

Page 33: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

39

statement menjadi bagian dari bahasa pemrograman. Selain itu tersedia

juga dukungan untuk melakukan query di memory collection seperti

array atau list, XML, DataSets dan relational database (Marguerie dan

Eichert, 2008).

Gambar 2.14 LINQ Arsitektur

(Sumber: http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/84c85b/

using-linq-with-C-Sharp-2012/Images/LINQ%20architecture.jpg)

LINQ (Language-Integrated Query) pada C# merupakan model

pemrograman Microsoft yang pada dasarnya menambahkan

kemampuan query formal ke bahasa pemrograman Microsoft yang

berbasis .NET. LINQ menyediakan function untuk memanipulasi

database tanpa harus melakukan query atau bahkan mengerti query.

LINQ adalah keyword baru pada C# dan VB yang diperkenalkan

pada .NET versi 3.5 dan pada C# versi 3.0 yang telah menambahkan

beberapa fitur dalam rangka mendukung LINQ. Kemudian adanya

integrasi yang kuat terhadap bahasa pemrograman, LINQ

menambahkan sekumpulan API yang memungkinkan pengaksesan data

terhadap sumber data yang berbeda-beda. Secara singkat LINQ dapat

didefinisikan sebagai sebuah metode yang memudahkan dan

menseragamkan cara pengaksesan data. Sehingga dengan

menggunakan LINQ developer hanya perlu menggunakan sebuah

Page 34: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

40

teknik pengaksesan data saja. Karena jika kita lihat dunia

pemrogramman saat ini umumnya developer perlu menguasai skill yang

berbeda-beda untuk setiap media penyimpanan data.  Dengan

menggunakan LINQ, kita dapat melakukan query ke berbagai macam

data seperti ke database SQL Server (LINQ to SQL), ke object DataSet

(LINQ to DataSet), ke entity (LINQ to Entity Framework), data XML

(LINQ to XML) dan masih banyak lagi. Sebelum ada LINQ untuk

mengakses objek-objek seperti array, collection, database, dan XML

anda membutuhkan beberapa teknik yang berbeda, misal untuk

mengakses database anda harus menggunakan bahasa SQL, untuk

mengakses XML digunakan XPath atau XQuery tapi dengan

menggunakan LINQ objek yang berbeda-beda tersebut dapat

diseragamkan dengan teknik yang sama yaitu LINQ.

2.1.24 World Wide Web (WWW)

Connolly dan Begg (2010, pp. 1028) menjelaskan “WWW adalah

penjelajahan halaman informasi yang sangat besar yang berada di

dalam internet. Informasi yang ada di dalam web dipresentasikan di

dalam sebuah halaman web yang terbentuk dari sekumpulan teks,

grafik, gambar, suara dan video. Dengan tambahan, halaman web dapat

dapat berisi hyperlink yang tertuju ke halaman web lain yang membuat

user dapat mencari informasi lain” WWW terdiri atas jaringan dari

beberapa komputer yang dapat berperan sebagai server (yang

menyediakan informasi) dan client, umumnya disebut sebagai browser

(yang meminta informasi). Contoh dari server adalah Apache HTTP

Server, Microsoft Internet Information Server (IIS) dan Netscape

Enterprise Server. Contoh dari browser adalah Google Chrome, Mozilla

Firefox, dan Internet Explorer. Banyak informasi dari web tersimpan di

dalam dokumen yang menggunakan bahasa HTML (HyperText Markup

Language) dan browser harus memahami dan menerjemahkan HTML

untuk menampilkan dokumen ini. Protokol yang mengatur pertukaran

informasi antara server dengan browser di namakan HTTP (HyperText

Transfer Protocol). Dokumen dan lokasi dokumen tersebut

Page 35: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

41

diidentifikasikan oleh sebuah alamat, yang disebut sebagai Uniform

Resource Locator (URL).

Gambar 2.15 Komponen dasar web dan lingkungannya

2.1.25 Entity Framework

Menurut Microsoft, Inc. (2015), Entity Framework adalah object

relational mapper yang membuat developer .NET dapat bekerja

dengan relational data melalui suatu objek (EDM). Entity Data

Model (EDM) adalah representasi data model yang ada berada pada

sisiclient dan merupakan inti dari Entity Framework.

2.1.26 Google Cloud Messaging (GCM)

GCM atau sering disebut dengan Google Cloud Messaging

merupakan service yang diberikan oleh Google untuk membantu

developer untuk mengirimkan data dari server kedalam aplikasi

Android pada device Android. Dengan menggunakan GCM, setiap user

dapat mendapatkan informasi-informasi terbaru dari aplikasi yang di

bangun oleh developer. GCM menggunakan server Google dan

Android. GCM juga dapat menerima message dari multiple sender

tetapi maksimal 100 multiple sender

(https://developers.google.com/cloud-messaging/concept-options).

Untuk dapat menggunakan GCM, dapat mengikuti arahan yang telah di

berikan oleh Google yaitu pada https://developers.google.com/cloud-

messaging/. Pada website ini, Google sudah memberikan guide kepada

developer, developer tinggal memilih untuk guide pada Android atau

Page 36: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

42

guide pada iOS. Untuk menggunakan GCM pada Android, pertama-

tama setiap developer harus mendaftarkan nama aplikasi dan packages.

Setelah mendaftarkannya, Google akan memberikan file google-

services.json yang harus di download dan di masukkan ke dalam

project dan juga server API key. Untuk mendapatkan notifikasi kepada

setiap device, developer harus mendapatkan registration token dari

instanceID API. Token di gunakan untuk membedakan setiap device

yang akan menjalankan aplikasi, token tersebut kemudian akan di

berikan kepada server. Untuk meng-handle notifikasi yang masuk,

dapat menggunakan GcmListenerService yang akan di atur oleh

GcmReciever. Dengan meng-override method

GcmListenerService.onMessageRecieved, developer dapat mengatur

apa saja yang akan di tampilkan. Contoh:

@Overridepublic void onMessageReceived(String from, Bundle data) {    String message = data.getString("message");    Log.d(TAG, "From: " + from);    Log.d(TAG, "Message: " + message);

    if (from.startsWith("/topics/")) {        // message received from some topic.    } else {        // normal downstream message.    }

    // ...}

MyGcmListenerService.java

2.1.27 Java

Java dikenal sebagai bahasa program untuk aplikasi internet.

Bahasa pemrograman didesain untuk memudahkan orang-orang untuk

menuliskan dan memahaminya adalah yang dimaksud dengan bahasa

tingkat tinggi (High-Level Languages). Bahasa yang digunakan

komputer adalah bahasa mesin. Bahasa mesin atau bahasa yang hampir

sama dengan bahasa mesin disebut dengan bahasa tingkat rendah (Low-

Level Languages). Sehingga program yang dituliskan ke dalam bahasa

Page 37: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

43

tingkat tinggi harus diterjemahkan dahulu ke dalam bahasa mesin

sebelum dijalankan. Program yang digunakan untuk menerjemahkan

bahasa tersebut disebut dengan compiler dan proses penerjemahannya

disebut dengan compiling (Walter Savitch, 2012).

Sementara ada beberapa versi java yang diterjemahkan ke dalam

bahasa byte-code. Bahasa ini adalah bahasa mesin untuk komputer

tertentu yang dapat berjalan pada Java Virtual Machine (JVM). Byte-

Code adalah program java yang diterjemahkan oleh compiler ke dalam

bahasa byte-code. Sehingga sangat mudah untuk menerjemahkan ke

dalam bahasa mesin komputer tertentu. Setiap komputer dapat memiliki

perangkat lunak untuk mengimplementasikannya ke dalam JVM. Salah

satu keunggulan Java adalah bahasa program yang berbasis Object

Oriented Programming (OOP). OOP adalah metodologi pemrograman

yang terdiri dari objek yang saling berinteraksi satu sama lain melalui

tindakan (Walter Savitch, 2012).

2.1.28 Android Studio

Android Studio merupakan sebuah IDE untuk mengembangkan

aplikasi Android. Android Studio dapat di download di situs resmi

Andoid http://developer. Android .com/sdk/installing/studio.html ).

Perbedaan antara Android Studio dan Eclipse adalah pada Android

Studio terdapat Gradle untuk manajemen projeknya. Gradle

merupakan fitur bulid automation. File Gradle ini berisi library yang

digunakan oleh pengembang aplikasi, versi aplikasi, signed key

properties ataupun lokasi repository. Android Studio merupakan

official IDE (integrated development environment) untuk membangun

aplikasi Android berdasarkan IntelliJ IDEA. Dengan menggunakan

Android Studio, setiap developer dapat dengan mudah mengatur layout

atau tampilan sesuai dengan yang di harapkan dengan menggunakan

metode drag and drop.

2.1.29 UML

Menurut Whitten dan Bentley (2007), Unified Modelling Language

atau sering disebut dengan UML merupakan sekumpulan aturan yang

digunakan untuk menspesifikasikan dan mendenskripsikan sebuah

Page 38: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

44

sistem software yang berhubungan dengan objek. UML merupakan

standar yang biasa digunakan oleh dunia yang dibuat oleh Object

Management Group (OMG), sebuah badan yang bertugas

mengeluarkan standar-standar teknologi object oriented dan software

component. Menurut Whitten dan Bentley (2007), UML 2.0 dapat

digolongkan menjadi tiga jenis diagram, yaitu

Tabel 2.1 Jenis-jenis UML diagram

(Sumber: System Analysis and Design Method - Whitten dan Bentley, 2007)

Requirement

Analysis Phase

Logical Design

Phase

Physical Design

Phase

Use-case

DiagramActivity Diagram Sequence Diagram

System Sequence

DiagramClass Diagram

Class Diagram State Machine Diagram

Communication Diagram

Component Diagram

Deployment Diagram

1. Use Case Diagram

Use case diagram adalah sebuah diagram yang

menggambarkan berbagai peran pengguna dan bagaimana sebuah

sistem akan digunakan oleh pengguna tersebut. (Satzinger, 2012,

pp.78). Use case merupakan diagram UML utama yang dapat

digunakan sebagai tolak ukur untuk diagram-diagram lainnya

seperti sequence diagram dan activity diagram. Dalam Use Case

Diagram, fungsi-fungsi dari sistem dideskripsikan menggunakan

komponen bernama use case. Actor merupakan user yang akan

Page 39: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

45

melakukan interaksi dengan sistem, sedangkan jenis-jenis

interaksi yang dilakukan oleh Actor terhadap use case disebut

relationship. (Whitten dan Bentley, 2007, pp.247-248). Hubungan

yang terdapat pada Use Case diagram menurut Whitten dan

Bentley (2007) yaitu:

a. Association

Association merupakan hubungan terjadi antara aktor dan use

case. Association dengan tanda panah dari aktor menuju use

case menunjukan bahwa aktor berhubungan dengan use case,

dimana use case merupakan penerima. Sedangkan

Association tanpa tanda panah menunjukan interaksi antara

use case dan aktor dengan aktor sebagai penerima.

Gambar 2.16 Contoh penggunaan Association Use case

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp.248)

b. Extends

Extends merupakan penggambaran use case yang rumit

sehingga menjadi lebih mudah dan sederhana dengan

membaginya menjadi beberapa tahap.

Gambar 2.17 Contoh penggunaan Extends pada use case

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp.249)

Page 40: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

46

c. Uses (Includes) 

Uses (Includes) berfungsi untuk generalisasi use case yang

dapat mengurangi redundansi. Beberapa langkah yang mirip

atau sama dalam sebuah use case diagram disebut juga

dengan use case abstrak.

Gambar 2.18 Contoh Penggunaan include pada Use case

(Sumber: System Analysis and Design Method - Whitten dan Bentley, 2007, pp.249)

d. Depends On

Depends On merupakan gambaran adanya ketergantungan

antara satu use case dengan use case lainnya sehingga sebuah

aktivitas hanya dapat dilakukan apabila aktivitas sebelumnya

sudah dijalankan.

Gambar 2.19 Contoh penggunaan Depends On pada Use Case

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp.250)

Page 41: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

47

e. Inheritance

Inheritance digunakan ketika terdapat dua atau lebih

actor yang menunjuk atau melakukan use case yang sama.

Inheritance berguna untuk menciptakan sebuah abstract

actor yang dapat melakukan use case tersebut.

Gambar 2.20 Contoh penggunaan Inheritance pada Use Case

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp. 250)

Gambar 2.21 Contoh Use Case Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp. 256)

2. Use Case Narrative

Use case narrative adalah dokumentasi secara high-level

(tingkat tinggi atau secara luas) untuk memahami kejadian dan

tingkatan pada sistem (Whitten dan Bentley, 2007, pp.256).

Page 42: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

48

Setiap use case harus diperluas untuk memasukkan aliran khusus

dari kejadian dan aliran alternatifnya. Aliran khusus use case dari

kejadian adalah deskripsi langkah demi langkah yang dimulai dari

seorang aktor yang memulai proses dan berlanjut sampai akhir

kejadian. Aliran alternative mendokumentasi jalur bercabang dari

use case (Whitten dan Bentley, 2007, pp.258).

3. Class Diagram

Class diagram merupakan diagram yang menunjukkan

gambaran grafis dari struktur objek, yang menunjukkan kelas

objek yang ada pada suatu sistem dan hubungan antar kelas-kelas

objek tersebut (Whitten dan Bentley, 2007). Setiap class atau

objek pada class diagram dibagi menjadi 3 bagian, yaitu:

1. Nama kelas

Nama kelas harus bersifat unik sehingga dapat di bedakan

antara kelas yang satu dengan kelas yang lainnya.

2. Atribut kelas

Berisi atribut-atribut yang terdapat dalam class tersebut.

3. Operasi kelas

Berisi method-method yang di gunakan atau di jalankan di

class tersebut.

Berikut merupakan jenis hubungan yang terdapat pada class

diagram menurut Whitten dan Bentley (2007):

1. Visibillity

Pada class diagram terdapat visibility yang digunakan untuk

menentukan suatu kelas dapat diakses oleh kelas lainnya

atau tidak. Dalam visibility memiliki 3 (tiga) tingkatan,

yaitu (Whitten dan Bentley, 2007):

Page 43: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

49

Tabel 2.2 Tabel Visibility

Visibility Simbol Deskripsi

Private +

Atribut atau method tersebut

tidak dapat di panggil di Class

lainnya, hanya dapat di panggil

oleh Class itu sendiri.

Public -Atribut atau method tersebut

dapat di panggil di semua Class

Protected #

Atribut atau method tersebut

hanya dapat di panggil oleh

Class yang bersangkutan atau

Class anaknya

2. Multiplicity

Multiplicity merupakan jumlah banyaknya objek sebuah

kelas yang berelasi dengan sebuah objek lain pada kelas lain

yang berasosiasi dengan kelas tersebut (Whitten dan

Bentley, 2007).

Tabel 2.3 Tabel Multiplicity

Multiplicity Deskripsi

0..1 Nol atau satu

1 Hanya satu

0..* Nol atau lebih

1..* Satu atau lebih

a..z Antara a sampai z

3. Generalisasi

Page 44: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

50

Generalisasi merupakan suatu teknik dimana sebuah kelas

(subclass) dapat mewarisi atribut-atribut dan operasi-

operasi dari kelas lainnya (superclass) dimana

superclass bersifat lebih umum daripada subclass (Whitten

dan Bentley, 2007). Generalization dan Specialization

adalah hubungan antar class dimana terdapat super class,

yaitu sebuah class yang merupakan hasil pengelompokan

class-class berdasarkan attribute dan behavior yang sama

(generalization), dan sub class, yaitu class-class yang

mendapatkan attribute dan behavior turunan dari sebuah

super classnamun dapat memiliki attribute dan behavior-

nya sendiri (specialization).

Gambar 2.22 Contoh Generalization Class Diagram

(Sumber: System Analysis and Design Method - Whitten dan Bentley, 2007)

Gambar 2.23 Contoh Generalization/Specialization Class Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp.375)

Page 45: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

51

4. Association

Association menunjukan adanya hubungan antar dua class

atau lebih dalam sebuah class diagram. Association juga

menerangkan hubungan antar class yang meliputi

multiplicity. Dalam association terdapat dua jenis

hubungan, yaitu:

a. Bi-directional

Kedua class yang saling berhubungan, memiliki peran

dalam hubungan tersebut. Hubungan ini digambarkan

dengan garis lurus tanpa tanda panah.

b. Uni-directional

Kedua class yang saling terhubung, dan hanya salah

satu saja yang memiliki peran dalam hubungan

tersebut. Hubungan ini digambarkan menggunakan

garis lurus dengan tanda panah.

Gambar 2.24 Contoh Association Bi-Directional dan Uni-Directional Class

Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007)

5. Agregration dan Composition

Agregration menunjukan hubungan antar satu class adalah

bagian dari class lainya. Agregasi tidak termasuk dalam

inheritance. Misal, class A adalah bagian dari class B,

maka class B bukanlah bagian dari class A.

Page 46: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

52

Gambar 2.25 Contoh Agregation Class Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007)

Ada kemiripan antar composition dan agregation,

tetapi composition memiliki keterkaitan yang lebih erat.

Misal, jika class A adalah bagian dari class B, jika class B

tidak terbentuk, maka class A tidak akan ada.

Gambar 2.26 Contoh Composition Class Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007)

Gambar 2.27 Contoh Class Diagram

(Sumber: System Analysis and Design Method – Whitten and Bentley, 2007, pp. 406)

Page 47: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

53

4. Activity Diagram

Activity diagram merupakan diagram yang berisikan proses alur

dari aktivitas–aktivitas yang terdapat dalam sistem, biasa

digunakan untuk merancang spesifikasi berdasarkan use case

yang telah di buat. Activity diagram juga dapat menggambarkan

aktivitas pararel yang mungkin dapat terjadi pada sekali jalan.

Activity diagram dapat dibagi menjadi beberapa object swimlane

untuk menggambarkan objek mana yang bertanggung jawab

untuk aktivitas tertentu. Berikut adalah komponen-komponen

yang terdapat dalam Activity Diagram:

Tabel 2.4 Komponen-komponen Activity Diagram

Nama Simbol Deskripsi

Initial ModeAwal dari semua kegiatan/

activity dilakukan

ActivityKegiatan - kegiatan yang di

lakukan.

Flow

Menunjukan arah atau jalur

dari satu aktivitas ke

aktivitas lainya

Decision dan

Merge

Decision merupakan pilihan

yang dapat dilakukan oleh

user. Customer hanya dapat

melakukan salah satunya saja

seperti pilihan antara iya atau

tidak. Merge merupakan

penggabungan aktivitas yang

dipisahkan oleh decision.

Page 48: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

54

Nama Simbol Deskripsi

Fork dan

Join dan

Fork menggambarkan

bahwa adanya 2 aktivitas

yang akan berjalan. Join

menggambarkan

berakhirnya proses yang

telah berjalan bersamaan

sebelumnya.

Activity Final

Akhir dari setiap activity di

lakukan. Setiap activity

diagram dapat memiliki

lebih dari satu finish state.

Swimlane

Pemisah antara Customer

yang menggunakan pada

setiap aktivitas yang

dijalankan

Page 49: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

55

Gambar 2.28 Contoh Activity Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007,pp.393)

5. Sequence Diagram

Sequence diagram adalah salah satu UML diagram yang

menggambarkan model logika dari sebuah use case dengan

menggambarkan interaksi pesan antar objek dalam suatu urutan

waktu (Whitten dan Bentley, 2007).

Page 50: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

56

Tabel 2.5 Komponen-komponen Sequence Diagram

Nama Simbol Deskripsi

Actor

Customer yang

menggunakan sistem

Interface

Class<<interface>>

Suatu notasi yang berfungsi

untuk memastikan class

interface code, agar tidak

terjadi kebingungan atas

jenis class

Controller

Class<<controller>>

Setiap use case memiliki

satu atau lebih controller,

digambarkan sama seperti

notasi interface class

MessageMenyampaikan pesan dari

setiap method.

Object

Simbol yang

merepresentasikan class

pada class diagram

Entity

Classes:

Menambahkan kotak ke

dalam setiap entitas yang

diperlukan untuk

kolaborasi dalam urutan.

Activity

Bars

Menunjukan berapa

lamanya waktu objek

digunakan.

Page 51: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

57

Nama Simbol Deskripsi

Return

Message

Hasil dari masukan yang

dimasukan oleh objek

FrameMenunjukkan area pada

diagram

Self-callObjek yang memanggil

method-nya sendiri.

Gambar 2.29 Contoh Sequence Diagram

(Sumber: System Analysis and Design Method - Whitten dan Bentley, 200, pp.659)

Page 52: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

58

2.1.30 Entity Relationship Diagram (ERD)

ERD menurut Whitten dan Bentley (2007, pp.271) adalah suatu

model data yang memanfaatkan beberapa notasi untuk menggambarkan

data dari entitas dan hubungan yang dideskripsikan oleh data tersebut.

Terdapat 4 komponen ERD, yaitu:

a. Entities

Entitas (entities) adalah model individu dalam basis data yang

mewakili sesuatu yang nyata. Misalnya, pelanggan, pengguna,

pekerja dan lain-lain. Himpunan pelanggan merupakan himpunan

entitas.

b. Attributes

Atribut (attributes) adalah karakteristik atau properti yang

mendeskripsikan sebuah entitas. Misalnya, pelanggan mempunyai

atribut: id_pelanggan, nama_pelanggan, alamat_pelanggan.

c. Relationships

Relasi menunjukkan hubungan antara himpunan entitas yang satu

dengan himpunan entitas yang lain.

d. Key

Key merupakan sebuah atribut yang unik, tidak ada 2 entitas yang

memiliki key yang sama dalam sebuah himpunan entitas.

2.1.31 Black Box Testing

Menurut Pressman (2010, pp.484), black box testing adalah suatu

pengujian yang ditujukan pada tampilan perangkat lunak. Black box

testing memeriksa beberapa aspek penting dari sistem, seperti aspek

yang dilihat hanya pada fungsionalitas dan output, lebih fokus pada

hasil dan tanpa melihat proses yang terjadi di dalam sistem. Menurut

Pressman (2010, pp.495), tujuan utama dari black box testing adalah

mencari kesalahan atau error dengan kategori sebagai berikut:

1. Mencari fungsi yang salah atau kurang.

2. Mencari kesalahan pada tampilan.

3. Mencari kesalahan pada struktur data atau akses database.

4. Mencari kesalahan pada behavior atau performa.

Page 53: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

59

5. Mencari kesalahan pada inisialisasi (awal) dan akhiran.

2.1.32 Futsal

Menurut (Tenang, 2008, pp.15), futsal adalah singkatan dari fútbol

(sepak bola) dan sala (ruangan) dari bahasa Spanyol atau futebol

(Portugal/Brasil) dan salon (Prancis). Olahraga ini membentuk seorang

pemain agar selalu siap menerima dan mengumpan bola dengan cepat

dalam tekanan pemain lawan. Dengan lapangan yang sempit, permainan

ini menuntut teknik penguasaan bola tinggi, kerja sama antar pemain

dan kekompakan tim. Asal muasal futsal muncul pada 1930 di

Montevideo, Uruguay dan diperkenalkan oleh seorang pelatih sepak

bola bernama Juan Carlos Ceriani. Awalnya, Ceriani hanya ingin

memindahkan latihan ke dalam ruangan karena kecewa dengan kondisi

lapangan yang licin setelah diguyur hujan. Ternyata, latihan di dalam

ruangan sangat efektif. Dia lantas mencetuskan permainan sepak bola

dalam ruangan dengan lima lawan lima pemain. Hal ini ternyata

mendapat sambutan positif bahkan digandrungi di hampir seluruh

negeri di Amerika Selatan. Futsal ternyata sangat efektif menumbuh

kembangkan kemampuan pemain pemula dalam mengasah

keterampilan bermain bola di lapangan rumput. Dengan asumsi untuk

meningkatkan keterampilan bermain sepak bola, futsal berkembang

pesat di Brasil dan terus menyebar ke seluruh dunia. Bahkan menembus

ke Eropa, Amerika Serikat, Afrika, Asia dan Oseania.

2.1.33 Bootstrap

Menurut Spurlock (2013, pp.1), Bootstrap adalah suatu produk

open source yang diluncurkan pada bulan Agustus 2011 dari Mark Otto

dan Jacob Thornton yang keduanya saat itu bekerja pada sebuah

perusahaan media sosial, yaitu Twitter. Bootstrap ini merupakan suatu

kerangka kerja front end untuk merancang sebuah web yang responsif,

yang bisa menyesuaikan lebar tampilannya sesuai dengan media yang

digunakan, baik menggunakan ponsel, laptop, maupun PC desktop.

Selain itu Bootstrap juga memiliki fitur 12 column grid system,

maksudnya adalah Bootstrap akan membagi layar menjadi 12 bagian

Page 54: library.binus.ac.id · Web viewUmpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. Memberikan

60

sehingga pembagian kolom tampilan web akan menjadi lebih mudah.

(Spurlock, 2013, pp.3)

2.1.34 Dependency Injection (DI)

Menurut Mark Aeeman (2012, pp. 4) Dependency Injection adalah

rangkaian prinsip dan pola desain perangkat lunak yang memungkinkan

kita untuk mengembangkan loosely coupled code.

2.1.35 Ninject

Menurut Ninject, Org. (2015), Ninject merupakan framework .NET

yang berfungsi sebagai Dependency Injector yang bertujuan untuk

memberikan kemudahan kepada developer apabila ingin melakukan

perubahan code, karena Ninject berfokus kepada kesederhanaan dan

kemudahaan penggunaan.