BAB 2 TINJAUAN PUSTAKA 2.1
Sistem Menurut Connolly dan Begg (2010, p266) sistem adalah cara untuk menjelaskan ruang lingkup dan batas-batas dari sistem database dan pandangan pengguna utama. Pengembangan sistem adalah pengembangan secara bertahap dari ideide awal dari klien tentang suatu masalah, memulai dengan tahapan transisi, melengkapkan pernyataan yang benar secara formal, yang dinyatakan dengan menggunakan bahasa pemrograman yang dapat dijalankan oleh mesin.
Problem
Problem
Problem
Problem
Problem
Problem
Problem
G Machine
Gambar 2.1 Diagram proses pengembangan sistem
Dalam gambar 2.1 menjelaskan suatu diagram proses disetiap tahap pengembangannya terdapat masalah yang dinyatakan dengan notasi pemodelan yang sesuai atau bahasa pemrograman. Gambar awan dijelaskan sebagai masalah besar yang akan dijadikan menjadi permasalahan yang lebih kecil dalam bentuk oval lalu selanjutnya akan dijadikan satu masalah tersebut yang masih belum adanya tindakan dalam mengidentifikasikan masalah lebih
5
6 jelas, sehingga mencapai proses dimana masalah akan dijadikan lebih di identifikasi menjadi sebuah mesin atau kesimpulan akhir dari sebuah masalah menjadi system. 2.1.1 Pendekatan Object Oriented (OOP) Menurut Satzinger (2005,p60) Pendekatan Object Oriented atau disingkat dengan istilah OOP adalah pendekatan pengembangan sistem yang menampilkan sistem sebagai kumpulan dari objek yang saling berinteraksi dan bekerja sama untuk menyelesaikan suatu tujuan. Menurut Whitten dan Bentley (2010, p33), perancangan sistem merupakan proses penspesifikasian atau konstruksi teknis dan rancangan solusi untuk kebutuhan bisnis yang telah diidentifikasi pada tahap analisis sistem. Pada tahap ini, komponen yang telah dipisahkan pada tahap analisis sistem disatukan kembali menjadi sebuah sistem yang
lengkap
dengan
adanya
beberapa
modifikasi
seperti
penambahan, pengurangan, dan perubahan komponen yang memiliki korelasi dengan sistem. 2.1.2
Konsep Object Oriented Menurut Satzinger , Jackson, dan Burd (2009) bahwa Object Oriented ada dua jenis, yaitu OOA (Object Oriented Analysis) dan OOD (Object Oriented Design). Menurut Satzinger, Jackson dan Burd dalam bukunya yang berjudul “System Analyst and Design in a Changing Word” mengenai konsep OOA yaitu mendefinisikan seluruh tipe objek yang melakukan kerja dalam sistem dan menunjukkan usecase yang diperlukan untuk menyelesaikan tugas. (2009,p60). Menurut Satzinger, Jackson dan Burd (2009, p60) konsep OOD yaitu mendefinisikan semua tipe objek yang dibutuhkan untuk berkomunikasi
dengan
orang
dan
perangkat
dalam
sistem,
menunjukkan bagaimana objek berinteraksi untuk menyelesaikan tugas dan mendefinisikan setiap tipe objek sehingga dapat diimplementasikan dengan bahasa atau lingkungan yang spesifik.
7 2.2
Data Menurut Connolly & Begg (2010, p68), data adalah komponen terpenting dalam Database Management System (DBMS) yang bertindak sebagai jembatan penghubung antara komponen mesin dan pengguna.
2.3
Basis Data Menurut Connolly dan Begg (2010,p65) basis data adalah kumpulan data dan deskripsi data yang terhubung secara logika dan dirancang untuk memenuhi kebutuhan informasi organisasi. Basis data juga dapat diartikan sebagai sekumpulan data yang memiliki hubungan secara logika dan diatur dengan susunan tertentu serta disimpan dalam media penyimpanan komputer. (Octaviani, 2008, p24). Tiga istilah penting dalam basis data menurut Connolly (2010,p65), yaitu: 1. Entitas Sebuah Objek berbeda dalam organisasi yang harus direpresentasikan dalam basis data. 2. Attribute Sebuah property yang mendeskripsikan beberapa aspek dari objek yang ingin di record. 3. Relationship Asosiasi antar entitas. 2.3.1 SQL (Structured Query Language) Menurut Connolly dan Begg (2010, p184), Structured Query Language atau biasa disebut SQL adalah bahasa yang dirancang untuk menggunakan hubungan antar data dengan mengubah input menjadi output yang dibutuhkan. Secara umum, SQL terbagi atas dua sub bahasa, yaitu DML(Data Manipulation
Language)
dan
DDL
(Data
Definition
Language). 2.3.2 NoSQL (Not Only SQL) NoSQL merupakan basis data yang non-relasional, terdistribusi, open-source, dan adanya suatu penambahan node
8 pada suatu sistem (Menurut http://nosql-database.org). Tujuan adanya NoSQL yaitu untuk menjadi basis data web yang berskala modern untuk menyelesaikan berbagai masalah yang tidak dapat ditangani oleh basis data relasional contohnya dalam bagian penyimpanan data. 2.3.3 Konsep Data Definition Language (DDL) Menurut Connolly dan Begg (2010, p42) Data Definition Language (DDL) atau disebut kamus data adalah suatu bahasa yang memperbolehkan Database Administrator (DBA) atau pengguna untuk mendefinisikan entitas, atribut, dan hubungan yang dibutuhkan oleh suatu aplikasi dan menambahkan fungsi khusus untuk mempermudah atau meningkatkan keamanan data. Bahasa yang terdapat pada kamus data, yaitu: •
Create Membentuk basis data, tabel atau index. Contoh: CREATE TABEL NAMA_TABEL ( NAMA_ATRIBUT
TIPE_DATA
[KETERANGAN], NAMA_ATRIBUT
TIPE_DATA
[KETERANGAN], … ); •
Drop Mengubah struktur table Contoh: Drop Tabel DROP TABEL_NAMA;
Drop Database DROP DATABASE NAMA_DATABASE
9 •
Alter Menghapus basis data, tabel dan index Contoh: ALTER TABEL NAMA_TABEL MODIFY FILED TYPE XXX;
Notasi pada struktur data untuk membuat spesifikasi elemen data sebagai berikut,
Tabel 2.1 Notasi Struktur data Notasi
Keterangan
=
Terdiri dari, sama dengan, diuraikan menjadi
+
Dan
()
Pilihan, boleh ada atau boleh tidak
n{ }m
Iterasi atau pengulangan mulai n kali sampai maksimu m kali
[]
Pilih salah satu pilihan
|
Pemisah pilihan di dalam tanda [ ]
*
Keterangan komentar atau catatan
@
Key Field
10 2.4
Multimedia Menurut
Vaughan
(2010,
p1)
multimedia
merupakan
kombinasi antara teks, seni, suara, animasi, dan video yang disampaikan kepada pengguna melalui komputer atau peralatan manipulasi elektronik dan digital yang lain. Menurut McCormick dalam buku M.Suyanto (2005,p21) multimedia adalah kombinasi dari paling sedikit dua media input atau output dari data, media ini dapat berupa audio, animasi, video, teks, grafik dan gambar. Elemen utama dalam multimedia: 1.
Teks Menurut Vaughan (2010, p19) teks menjadi sangat penting sejak berkembangnya internet dan World Wide Web
(WWW).
Dikarenakan
banyaknya
web
yang
menggunakan HTML, yang didesain untuk menampilkan dokumen teks sederhana dengan beberapa gambar tambahan sebagai ilustrasi. 2.
Gambar Menurut Vaughan (2010,p70) gambar dibedakan menjadi 2 jenis, yaitu: o Bitmap Merupakan matriks sederhana dari titik-titik kecil yang membentuk sebuah gambar dan kemudian ditampilkan dilayar komputer atau dicetak. o Vector Vector adalah garis yang dijelaskan oleh lokasi kedua titik. Vector menggunakan koordinat Cartesian di mana sepasang angka menjelaskan suatu titik dalam ruang dua dimensi sebagai perpotongan dari garis horisontal dan vertikal.
11 3.
Suara Menurut Vaughan (2010, p104) suara merupakan elemen multimedia yang paling sensual, yang
berarti
bahwa ucapan dalam bahasa apapun, dari bisikan hingga teriakan. Suara dapat memberikan perasaan nikmat untuk mendengarkan musik, special effect, atau mengatur suasana dan mood. 4.
Animasi Menurut Vaughan (2010, p140) animasi adalah sebuah teknik membuat sebuah presentasi statis menjadi hidup. Animasi juga merupakan perubahan visual sepanjang waktu dan memberikan kekuatan besar pada projek multimedia.
5.
Video Menurut Vaughan (2010, p164) video merupakan bagian penting multimedia yang paling memikat, dan merupakan piranti powerful yang membawa pengguna lebih dekat dengan dunia nyata.
Jenis
multimedia
berdasarkan
teknik
pengoperasiannya
menjadi 3 menurut Iwan Binanto (2010, p3) yaitu: 1. Multimedia Interaktif Pengguna dapat mengontrol elemen multimedia yang akan dikirimkan atau ditampilkan. 2. Multimedia Hiperaktif Terdapat
banyak
tautan
atau
koneksi
yang
menghubungkan elemen multimedia yang ada yang satu dengan yang lainnya. 3. Multimedia Linear Pengguna hanya menjadi pengamat dan menikmati produk multimedia yang telah disajikan dari awal hingga akhir.
12 2.5
Internet Menurut Williams dan Sawyer (2011, p18) internet adalah jaringan terbesar di dunia yang menghubungkan ratusan ribu jaringan dengan jaringan yang lebih kecil. 2.5.1 Web Menurut Yuhefizar (2008, p10), website atau world wide web (www) adalah kumpulan halaman-halaman web yang mengandung informasi. Menurut Jovan (2007, p1), website adalah media penyampai informasi di internet. 2.5.2 Akses Internet Berdasarkan pendapat Strauss dan Frost (2012, p27) ada tiga tipe mengakses internet, yaitu: •
Publik Internet Jaringan yang dapat diakses oleh siapa saja, dimana saja dan kapan saja secara global.
•
Intranet Jaringan internal dalam sebuah perusahaan dengan menggunakan standar internet. Dengan kata lain, intranet merupakan internet mini tetapi menggunakan proteksi password untuk digunakan secara internal perusahaan.
•
Extranet Jaringan ekslusif yang menggabungkan jaringan satu dengan yang lain, bertujuan bertukar informasi.
2.6
Rekayasa Piranti Lunak Menurut Pressman (2010,p28-30) mengenai definisi rekayasa piranti lunak adalah pengembangan dan penggunaan prinsip-prinsip dalam mengembangkan software sesuai dengan kebutuhan dalam sebuah mesin.
13 2.6.1 Framework 2.6.1.1 MVC Model-View-Controller (MVC) adalah sebuah konsep yang diperkenalkan oleh penemu Smalltalk (Trygve Reenskaug) untuk meng-enkapsulasi data bersama dengan pemrosesan (model), mengisolasi dari proses manipulasi (controller) dan tampilan (view) untuk direpresentasikan pada sebuah user interface (Deacon, 2009). MVC dibagi menjadi tiga lapisan dari arsitektur yaitu: 1. Model Digunakan untuk mengelola informasi dan memberitahu
pengamat
ketika
adanya
perubahan informasi. Model mengandung data dan
fungsi
yang
berhubungan
dengan
pemrosesan data. 2. View Bertanggung jawab untuk pemetaan grafis ke sebuah perangkat. Memiliki hubungan 1-1 dengan sebuah permukaan layar dan dapat mengetahui cara membuatnya. View dapat secara otomatis menggambar ulang bagian layar yang terkena perubahan untuk menunjukkan perubahan ketika model berubah. 3. Controller Menerima
input
menginstruksikan
dari model
pengguna dan
view
dan untuk
melakukan aksi berdasarkan masukan, sehingga controller bertanggung jawab untuk pemetaan aksi pengguna akhir terhadap respon aplikasi.
14 2.6.2 UML Menurut L.Whitten & D.Bentley (2007, p371) UML (Unified Modelling Language) merupakan sekumpulan ketentuan model yang digunakan untuk menentukan dan menggambarkan sebuah sistem software yang berbasis objek. 2.6.2.1 Diagram 2.6.2.1.1 Usecase Diagram Menurut Whitten dan Bentley (2007, p246), usecase diagram menggambarkan secara gambar sebuah sistem sebagai satu koleksi dari usecases, actors (user) dan relationships (hubungan) keduanya. Menurut Whitten dan Bentley (2007, pp248-250), ada 5 jenis hubungan yang ditemukan dalam usecase diagram, yaitu : •
Associations Sebuah hubungan antara actors dan sebuah usecase dimana interaksi terjadi antara mereka.
•
Extends Usecase yang mengandung langkah yang ditarik dari sebuah usecase yang lebih kompleks dengan tujuan untuk menyederhanakan kasus yang orisinil
dan
funsgsionalitasnya.
untuk Usecase
memperluas yang
diperluas
memperluas fungsionalitas dari usecase yang orisinil. •
Uses(or includes) Usecase yang mengurangi pengulangan yang terjadi antara dua atau lebih usecase yang lain
15 dengan menggabungkan langkah-langkah yang umum yang ditemukan dalam kasus. •
Depends on Sebuah
hubungan
antara
usecases
mengindikasikan bahwa satu usecase tidak dapat ditampilkan sampai usecase yang lain telah tampil. •
Inheritance Di dalam usecases, sebuah hubungan antara actors yang diciptakan untuk menyederhanakan gambar ketika
sebuah aktor yang abstrak
mewariskan perannya ke banyak aktor yang asli Tabel 2.2 Simbol yang terdapat pada usecase diagram Nama Komponen
Keterangan
Usecase
Usecase
Simbol digambarkan
sebagai
lingkaran elips dengan nama usecase dituliskan di dalam elips tersebut Actor
Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga dianggap sebagai actor.
Association
Asosiasi
digunakan
untuk
menghubungkan actor dengan usecase. Asosiasi digambarkan dengan sebuah garis
yang
menghubungkan
actor dengan usecase.
antara
Usecase named
16
Gambar 2.2 Contoh use case diagram
2.6.2.1.2 Usecase Narrative Menurut Whitten & Bentley (2007, p246), Usecase narrative adalah sebuah deskripsi yang lebih jelas dari sebuah Usecase diagram, dan pada usecase narrative menjelaskan
secara
detail
bagaimana
user
akan
berinteraksi dengan sistem yang ada sehingga bisa menyelesaikan tugas yang ada. Usecase narrative ini digunakan untuk dapat menerjemahkan usecase diagram agar setiap fungsi yang ada dapat dijelaskan dengan lebih spesifik. Beberapa bagian yang perlu diperhatikan pada saat menggunakan usecase narrative, antara lain : 1.
Author : nama dari orang yang berpartisipasi dalam menulis usecase dan orang yang menyediakan titik temu bagi yang membutuhkan informasi tentang usecase.
2.
Date : tanggal terakhir usecase dimodifikasi.
3.
Version : versi usecase tersebut.
4.
Usecase name : berisikan tujuan yang ingin dicapai oleh usecase. Nama yang ada harus diawali kata kerja.
5.
Usecase type : business-oriented dan merefleksikan tingkah laku dari sebuah sistem.
17 6.
Usecase ID : suatu tanda pengenal yang unik yang mengidentifikasikan sebuah usecase.
7.
Priority : menginformasikan tingkat kepentingan dari usecase berada di tingkat tinggi, sedang, atau rendah.
8.
Source : mendefinisikan aspek-aspek yang memicu dibentuknya usecase, bisa berupa kebutuhan, dokumen yang spesifik, atau stakeholder.
9.
Primary business actor : stakeholder utama yang mendapatkan benefit apabila usecase yang ada telah berjalan.
10. Other participating actors : aktor lain yang berpartisipasi dalam usecase untuk mencapai tujuan dari usecase tersebut. 11. Interested stakeholder(s) : siapa saja yang menopang pengembangan dan pengoperasian dari sistem software. 12. Description : ringkasan pendek yang mendeskripsikan maksud dari use-case dan aktivitas dari usecase tersebut.
Gambar 2.3 Contoh usecase narrative Setiap usecase narrative dapat menginformasikan langkah-langkah yang mendeskripsikan aktifitas aktor dari
18 awal memulai melaksanakan usecase hingga akhir. Adapun informasi yang harus dimasukkan adalah sebagai berikut : 1.
Precondition : kondisi yang harus dipenuhi sebelum melaksanakan usecase.
2.
Trigger : event yang dimulai saat usecase dieksekusi.
3.
Typical course of events : aktivitas normal yang dilakukan antara aktor dengan sistem yang ada untuk menyelesaikan tugas yang ada.
4.
Alternate courses : mendokumentasikan hal-hal yang terjadi pada saat usecase mengalami variasi dari aktivitas yang tidak biasanya.
5.
Conclusion : kesimpulan yang didapat apabila usecase berakhir dengan sukses. Dengan kata lain, ketika aktor menerima sesuatu dari sistem.
6.
Postcondition : statement pembatas ketika usecase berhasil dieksekusi.
7.
Business rules : prosedur dan kebijakan bisnis yang harus dipatuhi oleh sistem.
8.
Implementation
constraints
and
specifications
:
menjelaskan lebih lanjut kebutuhan non-fungsional yang dapat memberi dampak pada realisasi usecase. 9.
Assumptions : asumsi yang diperkirakan oleh pembuat ketika mendokumentasikan usecase.
10. Open issues : pertanyaan atau isu yang perlu dipecahkan sebelum usecase mencapai tahap akhir. 2.6.2.1.3 Sequence Diagram Menurut Whitten (2007, p394) Sequence Diagram adalah diagram yang menggambarkan interaksi antara aktor dan sistem untuk skenario dalam usecase. Menururt Whitten (2007, p394) dalam sequence diagram terdapat 2 simbol yaitu Actor yang digunakan untuk menggambarkan pengguna sistem dan lifeline yang
19 digunakan untuk menggambarkan kelas dan objek. Terdapat 3 relasi yaitu create yang digunakan untuk melakukan inisialisasi suatu objek, synchronous yang digunakan untuk memanggil operasi atau method yang dimiliki oleh suatu objek, dan Asynchronous yang digunakan untuk memanggil operasi atau method yang dimiliki
oleh
suatu
objek.
Gambar 2.4 Contoh sequence diagram
2.6.2.1.4 Activity Diagram Menurut Whitten dan Bentley (2007, p390), Activity
diagram
berfungsi
untuk
menggambarkan
langkah-langkah proses atau aktivitas dari sebuah sistem. Activity diagram serupa dengan flowcharts dalam hal mereka menggambarkan secara gambar aliran sekuensial dari aktivitas atau proses bisnis atau use case. Yang membedakan dari flowcharts adalah mereka menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi
20 secara paralel. Activity diagrams bersifat fleksibel dalam hal dapat digunakan dalam analisis dan desain.
Tabel 2.3 Simbol yang terdapat pada activity diagram Komponen
Simbol
Penjelasan
Initial node
Merupakan awal dari proses
Actions
Merupakan langkah-langkah individu yang membentuk aktivitas total yang ditunjukkan melalui diagram.
Flow
Menunjukkan perkembangan tindakan.
Decision
Menunjukkan kegiatan pemilihan yang menghasilkan keputusan.
Fork
Menunjukkan
tindakan
dilakukan
secara bersamaan
Join
Menandakan akhir dan penggabungan pross yang berlangsung bersamaan.
Activity Final
Merupakan akhir dari proses.
21
Gambar 2.5 Contoh activity diagram
2.6.2.1.5 Class Diagram Menurut Whitten dan Bentley (2007, p400), Class diagram adalah sebuah gambaran gambar dari sebuah sistem struktur objek statis, menampilkan kelas objek yang sistem susun sebaik hubungan antara tiap kelas objek. Class diagram digunakan untuk menggambarkan secara gambar objek-objek dan asosiasinya. Sebuah simbol class pada class diagram terdiri dari: •
Nama Kelas Digunakan untuk membedakan antara satu kelas dengan kelas yang lain.
22
•
Attribute Digunakan untuk menyimpan state, yang berupa field. Dengan kata lain digunakan untuk menampung apa saja yang dimiliki oleh objek.
•
Method Digunakan untuk menyimpan behaviour, nilai suatu method dapat dikembalikan (non void
method)
atau
tidak
mengembalikan nilai (void method).
G a Gambar 2.6 Contoh format class pada class diagram
dapat
23
Gambar 2.7 Contoh class diagram 2.6.3 Metode Scrum Menurut Pressman (2010,p82) scrum adalah metode cepat dalam pengembangan software yang diciptakan oleh Jeff Sutherland dan timnya di awal tahun 1990. Dalam beberapa tahun terakhir, pengembangan lebih lanjut dilanjutkan oleh Scwaber dan Beedle. Prinsip yang dimiliki pada metode scrum adalah konsisten dengan petunjuk
cepat
dan
digunakan
sebagai
petunjuk
aktifitas
pengembangan dalam mengambungkan aktifitas framework . Setiap aktifitas framework, tugas-tugas terjadi di dalam suatu proses yang disebut sprint. Pekerjaan yang dilakukan dalam sebuah sprint (banyaknya sprint yang diperlukan setiap aktifitas kerangka kerja akan bervariasi tergantung dengan banyaknya kompleksitas produk dan ukuran) akan diadaptasikan ke permasalahan yang terjadi, didefinisikan, dan dimodifikasi secara real time oleh tim scrum.
24
Gambar 2.8 Ilustrasi Proses Scrum
Di dalam metode Scrum terdapat tiga aktifitas utama yaitu : 1.
Backlog Daftar fitur dari aplikasi yang akan dikembangkan. Daftar fitur ini di urutkan oleh Product Owner berdasarkan prioritasnya dan dapat bertambah dan berubah sewaktuwaktu.
2.
Sprint Terdiri dari unit-unit kerja yang dibutuhkan untuk menyelesaikan fitur aplikasi yang ditetapkan di backlog sesuai waktu yang telah di tentukan. Perubahan pada backlog tidak diberikan selama sprint berjalan agar tim dapat bekerja dalam waktu yang cepat dan stabil.
3.
Scrum Meeting Pertemuan singkat yang dilakukan secara harian oleh tim scrum. 3 kunci pertanyaan yang ditanyakan kepada tim scrum selama scrum meeting adalah: a. Apa saja yang Anda lakukan sejak pertemuan terakhir? b. Apa halangan yang ada?
25 c. Pekerjaan apa yang akan Anda selesaikan sebelum pertemuan selanjutnya? Tiga role atau fungsi dalam menjalankan projek dalam metode scrum yaitu: 1. Product Owner Orang yang bertanggung jawab terhadap definisi produk yang dibentuk dengan kata lain bahwa product owner adalah tim yang menciptakan awal mula aplikasi akan dibentuk dan menjadi kunci utama hasil dari sebuah iterasi. 2. Scrum Master Seseorang yang akan berperan sebagai fasilitator dalam setiap proses atau ceremony yang ada dalam scrum seperti seorang project manager. 3. Scrum Development Team Tim yang akan menghasilkan iterasi suatu produk incremental yang telah disepakati bersama dan bertanggung jawab untuk membuat program dan menguji program (testing) sehingga hasil dari setiap iterasi dapat digunakan dan diimplementasikan. 2.7
Interaksi Manusia dan Komputer 2.7.1 Delapan Aturan Emas Interaksi Manusia dan Komputer memiliki 8 aturan emas yang ditulis dalam buku Designing the User Interface (Shneiderman, 2010, p88). Shneiderman menjelaskan berdasarkan prinsip dari pengalaman pada sebagian besar sistem interaktif setelah diperbaiki, ditambahkan dan diterjemahkan dengan benar dalam kurun waktu 3 dekade. Untuk meningkatkan kegunaan dari aplikasi, maka desain interface yang baik adalah sangat penting. Delapan aturan emas desain interface dari Scheniderman telah diterima dengan baik sebagai petunjuk yang baik untuk desain interface.
26
Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: 1. Konsistensi. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Memungkinkan pengguna untuk menggunakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan
kecepatan
interaksi,
sehingga
diperlukan
singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaliknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog untuk menghasilkan suatu penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informative akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana 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
27 dibatalkan,
sehingga
mengeksplorasi
pengguna
pilihan-pilihan
lain
tidak yang
takut
untuk
belum
biasa
digunakan. 7. Mendukung tempat pengendali internal (internal locus of control). Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikian 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 disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 2.7.2 Lima Faktor Manusia Terukur Lima faktor manusia terukur yang dapat diikutsertakan dalam perancangan
interface
dalam
hal
evaluasi
sebagai
berikut
(Shneiderman & Plaisant, 2010, p32-33): 1. Waktu untuk belajar Ukuran berapa lama seorang user untuk mempelajari fungsi-fungsi di dalam sebuah aplikasi hingga pada akhirnya dapat menggunakan dengan baik. 2. Kecepatan performa Ukuran berapa lama suatu fungsi atau serangkaian tugas di dalam aplikasi tersebut dilakukan. 3. Tingkat error yang dilakukan pengguna Ukuran berapa banyak dan jenis error yang dilakukan oleh user di dalam melakukan serangkaian tugas. 4. Daya ingat pengguna Ukuran berapa lama user mempertahankan ingatan dan pengetahuannya setelah beberapa jam, hari, atau bahkan mingu.
28 5. Kepuasan subjektif Ukuran seberapa puas user atas berbagai aspek dari suatu sistem. 2.8
Web Server. Menurut A. Hoffer, Prescott, & Topi (2009, p479) web server yang digunakan harus dapat menangani banyak pengguna pada suatu waktu.
Hal
ini
dimungkinkan
dengan
adanya
kemampuan
multiprocessing dimana beberapa processor akan bekerja bersamasama untuk mempercepat pemrosesan. Kegiatan pada web server dibagi menjadi empat langkah dasar : 1.
Komputer client menggunakan web browser untuk berhubungan dengan web server dan meminta sebuah halaman web.
2.
Selama menerima permintaan, web server menempatkan file atau program yang sesuai di dalam file sistem.
3.
Setelah mengalokasikan file, web server mengambil file dari file sistem.
4.
Web server kemudian mengirim file tersebut ke web browser. File hasil permintaan diterima web browser dan di render pada komputer client.
Beberapa contoh web server yang banyak digunakan antara lain : 1. Apache Tomcat Web Server 2. Lighttpd Web Server 3. WampServer 4. Nginx Web Server
2.9
Nginx Web Server Nginx (engine x) adalah server HTTP dan Proxy yang dibuat oleh Igor Sysoev. Nginx dikembangkan pada tahun 2002 dan di rilis untuk pertama kalinya pada tahun 2004. (http://wiki.nginx.org/NginxId)
29 Beberapa kelebihan nginx 1. Performa yang tinggi 2. Stabil 3. Memiliki bnayak fitur 4. Mudah di konfigurasi 5. Memakai sedikit sumber daya 2.10 PHP : Hypertext Prepocessor Menurut Luke Welling dan Laura Thomson (2009, p2) PHP merupakan bahasa pemrograman server-side scripting yang didesain khusus untuk Web. PHP dapat disisipkan pada kode HTML, dan dijalankan setiap page yang dikunjungi. Kode PHP diinterpretasi oleh web server dan menghasilkan HTML atau output lain yang dilihat oleh pengunjung web. Kelebihan PHP dibandingkan pesaingnya antara lain, Perl, Microsoft, ASP.NET, Ruby, Jsp, dan Cold Fusion menurut Luke Welling dan Laura Thomson (2009, p4) adalah: 1. Performance. PHP memiliki kinerja yang sangat cepat, dikarenakan PHP menggunakan server yang murah. Dan menurut Benchmarks yang dipubilkasikan oleh Zend Technologies bahwa PHP memperlihatkan kinerja yang mengalahkan kompetisi. 2. Scalability. Rasmus Lerdorf
mengatakan
bahwa
PHP
mempunyai
arsitektur dapat menjalankan horizontal scaling dengan komoditas server dalam jumlah yang besar secara efektif dan murah. 3. Interfaces to many different database system. PHP mempunyai hubungan yang tersedia dengan banyak sistem database. Selain MySQL, masih banyak yang terhubung, antara lain MongoDb, Oracle, dbm, FilePro, Hyperwave dan lain-lain. 4. Built in libraries for many common web tasks. PHP didesain khusus untuk web, maka PHP banyak fungsi built-in untuk berhubungan dengan banyak tugas dengan web
30 lainnya. Dengan adanya fungsi built-in ini maka PHP dapat digunakan
untuk
menghasilkan
gambar dengan
cepat,
terhubung dengan web services dan jaringan services lainnya, mengirim e-mail, bekerja dengan cookies, menghasilkan dokumen PDF, hanya dengan beberapa baris kode. 5. Low cost. PHP didapatkan secara gratis dengan mengunduh versi terakhir dari PHP kapan saja. 6. Ease of learning and use. Syntax dalam PHP berdasarkan dengan bahasa pemrograman yaitu primarily C dan Perl. Dengan bahasa pemrograman C++ dan Java, dapat menggunakan PHP secara produktif. 7. Strong object oriented support. Versi 5 dalam PHP mempunyai fitur object-oriented yang lebih baik. Fitur yang ada pada PHP antara lain adalah inheritance, atribut private dan protected, abstract classes dan methods, interfaces, contsructors, dan destructor. 8. Portability. PHP tersedia untuk berbagai macam sistem operasi. Dengan kode yang baik dan benar akan berjalan tanpa adanya modifikasi di dalam sistem yang berbeda. 9. Flexibility of development approach. PHP memungkinkan adanya penerapan terhadap tugas yang sederhana dan mudah menyesuaikan dengan menerapkan dengan aplikasi besar yang mengunakan framework Model-View-Controller (MVC). 10. Availability of source code. Kode dalam PHP mudah untuk diakses. Tidak perlu menunggu manufacturer untuk menerbitkan patch. 11. Availability of support and documentation. PHP dibangun dengan adanya dukungan dan hubungan dengan software didalam basis komersial.
31 2.11 Yii2 Yii adalah sebuah framework PHP yang memiliki perfoma yang tinggi dan berguna dalam pengembangan aplikasi web. Yii digunakan untuk pengembangan aplikasi web yang luas seperti portal, forum, CMS (Content Management System), e-commerce, RESTFul web service dan lainnya. Seperti framework lainnya, yii juga menggunakan konsep MVC dalam pengembangan aplikasi web. (http://www.yiiframework.com/doc-2.0/guide-intro-yii.html). Yii 2.0 adalah pengembangan dari yii 1.1. Yii 2.0 memiliki lebih banyak fitur baru, tetapi juga memiliki minimal persyaratan dalam penggunaannya yaitu PHP dengan versi minimal 5.4. Beberapa kelebihan Yii 2.0 adalah : i.
Arsitektur OOP dan MVC
ii.
Banyak
fitur
siap
pakai
yang
memudahkan
dalam
pengembangan aplikasi web seperti Class ActiveRecord untuk database relasional maupun NoSQL, pengembangan web menggunakan RESTFul API, multi-tier caching dan lain sebagainya. iii.
Dapat
dirancang
sesuai
keinginan
kita
menggunakan
ekstension yang sudah banyak ada di internet. iv.
Memiliki perfoma yang tinggi.
2.12 Web Service Menurut A.Hoffer, B.Prescott, & Topi (2009, p720), web service adalah seperangkat standar yang mendefinisikan protokol untuk komunikasi otomatis antara program software melalui web. 2.12.1 Restful REST
merupakan
seperangkat
prinsip
arsitektur
yang
diperkenalkan pada tahun 2000 oleh Roy Fielding dan digunakan untuk merancang web service. REST telah muncul dalam beberapa tahun sebagai model layanan web service dominan dan memiliki dampak besar dalam konsep web service, yang sebagian besar pengguna konsep SOAP dan WSDL-based interface design telah
32 beralih
menggunakan
REST
dikarenakan
kemudahan
dalam
penggunaan dari pada konsep yang lain. Ada empat prinsip dasar yang digunakan oleh RESTful Web Service: b. Menggunakan HTTP methods explicitly. c. Be stateless. d. Expose directory structure-like URIs. e. transfer XML, JavaScript Object Notation (JSON), atau keduanya. 2.13 MongoDb Menurut Manoj V (2014), mongoDb adalah database yang fleksibel dan berbasis JSON-document. Data model mongoDb adalah sebuah dokumen. Penggabungan dokumen yang sama akan membentuk sebuah collection. Setiap dokumen memiliki id unik yang berbeda dengan setiap dokumen lain. Id unik tersebut langsung di generate oleh mongodb setiap dokumen baru dibuat. Kelebihan yang ada pada mongodb antara lain : i.
Performa yang lebih cepat dibanding dengan MySQL karena menggunakan JSON.
ii.
Replikasi, fitur untuk melakukan backup data secara real time.
iii.
Auto sharding, fitur untuk memecah database menjadi beberapa bagian agar performa database lebih optimal
iv.
Mendukung banyak bahasa pemrograman seperti PHP, Perl, Phyton, Java, C, C++, C#, .NET, Ruby dan lain sebagainya.
v.
Cross-platform, mongodb dapat berjalan di platform Windows, Linux, OS X, dan Solaris.
vi.
Map / Reduce
33 2.14 JavaScript Object Notation (JSON) Menurut websitenya ( www.json.org ), JSON adalah format perpindahan data yang ringan. JSON mudah untuk dipahami oleh manusia ataupun mesin. Dalam JSON terdapat 5 bentuk yang digunakan, yaitu: •
Object Object berisi satu atau lebih pasangan nama dan value. Object dimulai dengan kurung kurawal kiri ( { ) dan ditutup dengan kurung kurawal kanan ( } ), setiap nama dan valuenya dipisahkan dengan lambang titik dua ( : ) dan setiap nama dipisahkan dengan lambang koma ( , ).
•
Array Array berisi satu atau lebih value. Array dimulai dengan kurung siku kiri ( [ ) dan ditutup dengan kurung siku kanan ( ] ). Setiap value dipisahkan dengan lambang koma ( , ).
•
Value Value dapat berupa string yang ditulis di antara lambang petik dua (“), number, false, true, null, object, dan array.
•
String
•
Number
2.15 Bootstrap Menurut websitenya ( www.getbootstrap.com ), bootstrap adalah framework HTML, CSS, dan JavaScript yang membantu pengembangan aplikasi website yang responsif. Bootstrap membuat pengembangan tampilan depan suatu website menjadi lebih cepat dan mudah.
34 Kelebihan bootstrap adalah: 1. Preprocessors 2. One framework, every device 3. Full of features 4. Open source 2.16 HTML Menurut Terry Ann Felke-Morris, Ed.D (2013, p24) HTML adalah kumpulan simbol-simbol markup atau kode pada suatu file yang ditujukan untuk ditampilkan pada halaman web. Simbol-simbol markup dan kode ini membentuk sebuah element seperti paragraf, tabel, form, heading, list, gambar, audio, video, dan lain lain. 2.17 CSS Menurut Terry Ann Felke-Morris, Ed.D (2013, p78) CSS adalah bahasa yang fleksibel, cross-platform, dan standar yang dikembangkan oleh w3c (www.w3c.org). Kelebihan yang dimiliki oleh CSS menurut Terry Ann Felke-Morris didalam bukunya yang berjudul “Web Developmet and Design Foundations with HTML5” (2013) adalah: 1. Tipografi dan susunan halaman dapat lebih di control. 2. Style terpisah dengan struktur. 3. Style dapat disimpan. 4. Ukuran dokumen mempunyai potensi yang lebih kecil. 5. Pemeliharaan situs lebih mudah. Menurut w3c di dalam website nya (www.w3c.org/style) style sheets mendeskripsikan proses suatu dokumen ditampilkan di layar, dicek atau dijelaskan. Dengan menambahkan style sheets ke dalam dokumen di web (HTML), makan tampilan akan terpengaruh tanpa harus menambah dan mengedit tag HTML.
35 2.18 AJAX AJAX merupakan singkatan dari Asynchronous Javascript an XML yang berdasarkan dengan Terry Ann Felke-Morris,Ed.D (2013, p471) mendefinisikan bahwa Ajax merupakan salah satu teknik web developing untuk membuat aplikasi web yang interaktif. Kelebihan Ajax adalah dapat melakukan request pada server, menerima hasil dan merubah sebagian dari HTML yang akan membuat browser untuk tidak perlu melakukan proses refresh kembali secara keseluruhan halaman web yang akan menggunakan banyak resource.
2.19 Java Script Menurut Terry Ann Felke-Morris,Ed.D (2013, p469) java script adalah bahasa pemrograman yang berbasis objek (object-based scripting languange). Di dalam java script adanya suatu kinerja yang bekerja sama dengan objek yang diasosiasikan dengan dokumen halaman web seperti window, dokumen dan elemen seperti form, link, dan lain-lain. Java Script dapat diletakkan secara terpisah dengan file yang mempunyai ekstensi “.js”. Java Script biasa digunakan untuk merespon suatu event, misalnya: •
Menggerakkan mouse,
•
Klik dalam suatu button,
•
Loading web,
•
Dan lain-lain.
Java Script dapat digunakan untuk berbagai macam, antara lain: 1. Menampilkan jendela pop-up dalam suatu web, 2. Menampilkan tanggal sekarang, 3. Menghitung angka secara matematik, 4. Dan lain-lain.
36 2.20 Jquery JQuery merupakan library JavaScript yang singkat dan cepat dalam menyederhanakan HTML document traversing, event handling, animating, dan interaksi Ajax untuk pengembangan web yang cepat. JQuery di desain untuk mengubah cara dalam menulis JavaScript. Dengan adanya JQuery makan suaru aplikasi atau program akan lebih mempunyai banyak interaktif yang mendukung. (http://jquery.com) 2.21 Sosial Media Menurut Berthon, Pitt, Plangger dan Shapiro (2012) sosial media adalah produk dari aplikasi berbasis internet yang membangun fondasi Web 2..0. Konten yang terdapat pada sosial media terdiri dari teks, gambar, video dan jaringan. Interaksi pada sosial media merupakan interaki sosial yang berbasis web di jaringan internet. Media sosial sering disebut sebagai situs jejaring sosial. Sosial media mempunyai keterkaitan dengan teknologi mobile dan web-based untuk menciptakan platform yang interaktif. Media Sosial mudah diakses, didapatkan, dan digunakan untuk orang dengan jumlah yang besar. 2.21.1 Twitter Twitter adalah situs web yang dimiliki dan dioperasikan oleh Twitter Inc., yang menawarkan jejaring sosial berupa mikroblog yang memungkinkan penggunanya unntuk mengirim dan membaca pesan yang disebut tweets. Tweets merupakan teks tulisan yang mempunyai maksimal karakter sebanyak 140 yang ditampilkan pada halaman profil pengguna. Pengguna juga dapat mengirim dan menerima tweets melalui situs Twitter, aplikasi eksternal yang kompatibel (telepon selular), atau dengan pesan singkat (SMS). Pada tahun 2007 sudah ada penelitian bahwa lebih dari 400.000 tweets sudah di post dan berkembang paditahun 2008 menjadi 100 juta tweets dan terus berkembang setara dengan sekitar 750 tweets yang diirim setiap detik. Penelitian ini dilakukan oleh perusahaan Twitter sendiri, dengan meningkatnya situs ini, maka untuk kalangan saat ini bahwa twitter
37 sudah terkenal dipandangan banyak orang di dalam negeri maupun luar negeri. 2.22 Live Streaming Live streaming adalah istilah yang mengacu pada konten yang disiarkan langsung melalui media internet. Dalam live streaming suatu media ada dua proses pada server komputer untuk pengiriman data dan komputer penerima yaitu proses coding dan decoding. Coding adalah proses mengkompres data yang akan dikirim pada komputer server, dan kemudian diubah ke dalam format yang sesuai dengan penerima komputer atau decoding sehingga data multimedia dikembalikan sesuai dengan aslinya. Dengan adanya live streaming akan memudahkan pengaksesan oleh siapa pun dan di mana pun karena tidak adanya pengaruh oleh kuat atau tidaknya sinyal radio. (http://www.pengertianmenurutparaahli.com/pengertian-live-streaming/)
38