BAB 2 TINJAUAN PUSTAKA
2.1
Teori Utama 2.1.1 Website Menurut Bud E. Smith dan Arthur Bebak (2007, pp. 13) Website adalah sebuah kumpulan Web page yang memiliki tema dan tujuan yang sama dan pada umumnya pengguna mengakses melalui halaman home page situs. Web page adalah sebuah teks dokumen yang diterbitkan pada sebuah Web server yang memiliki tag HTML di dalamnya, hampir selalu memuat hypertext links, dan biasanya mencakup grafis. Ketika Anda mengklik tombol back di Web browser Anda, Anda akan pindah ke Web page yang sebelumnya Anda sudah kunjungi. Sedangkan Home page adalah Web page pertama yang dikunjungi pada saat pertama kali mengakses sebuah Website. Anda membiarkan orang mengetahui URL (alamat) dari home page Anda dan mencoba untuk mendapatkan pencipta Web page lainnya untuk menyediakan link ke sana.
2.1.2
HTML Menurut David R. Brooks (2007, pp. 10) HTML merupakan singkatan dari HyperText Markup Language yang merupakan fondasi dari segala konten yang ada di World Wide Web (WWW). HTML menurut David R. Brooks (2007, pp. 10) bukan merupakan bahasa pemrograman melainkan lebih seperti sebuah kumpulan instruksi tentang bagaimana cara menampilkan sebuah konten. Untuk menampilkan hasil instruksi HTML diperlukan sebuah program untuk menerjemahkan yaitu Web browser. Kata Markup memiliki arti yang sama seperti pada industri penerbitan buku dimana, sebelum sebuah buku dicetak editor terlebih 7
8 dahulu harus mengecek isi dari buku tersebut. Jika ada hal yang kurang sesuai dengan penilaian sang editor maka editor akan memberikan sebuah tanda diatasnya. Dengan tanda-tanda inilah, maka sang editor konten dapat mengetahui teks apa yang harus diubah dan format apa yang harus digunakan untuk memperbarui teks tersebut. Sebuah dokumen HTML sederhana paling tidak terdiri dari empat element berikut: … …
… …
Setiap element HTML terdiri dari dua tags yaitu tag pembuka dan tag penutup. Kedua tags tersebut juga berfungsi sebagai pembatas scope dari element tersebut. Kedua tag memiliki syntax yang hampir sama yaitu diawali dengan simbol “<” lalu nama dari element lalu diakhiri dengan simbol “>” akan tetapi khusus untuk tag penutup diawali dengan simbol “”. Setiap element memiliki fungsi yang berbeda, sebagai contoh element “p” yang berfungsi untuk teks paragraf, element “title” yang berfungsi untuk judul halaman.
2.1.3 CSS Menurut Ian Pouncey dan Richard York (2011, pp. 3) Cascading Style Sheets (CSS) merupakan bahasa yang dirancang untuk menjelaskan penampilan dari sebuah dokumen yang ditulis dengan markup language seperti HTML. Dengan menggunakan CSS programmer dapat mengubah ukuran teks, warna teks, bentuk dari sebuah button, dan lain lain. Salah satu keuntungan dari menggunakan CSS adalah dapat digunakan di beberapa page berbeda dengan menggunakan code yang sama. CSS dapat ditulis dengan teks editor apapun seperti Windows Notepad, Notepad++, dan lain lain. CSS
9 memiliki file extension .css. Berikut ini adalah contoh dari sebuah code CSS sederhana: body { width: 650px; margin: auto; color: #FFF; }
Setiap code CSS diawali dengan memilih element / class (.nama class) / id (#nama id) yang disebut selector. Setelah selector diikuti oleh simbol “{ }”, simbol ini berfungsi sebagai pembatas scope atau biasa disebut declaration block. Di dalam declaration block berisi deklarasi dari CSS atau disebut declaration. Sebuah declaration terdiri dari sebuah property, simbol “:”, sebuah value, dan diakhiri dengan simbol “;”. Property dalam contoh di atas adalah width, margin, dan color. Sedangkan value dalam contoh di atas adalah 650px, auto, dan #FFF.
2.1.4 JavaScript Menurut Jeremy Mcpeak dan Paul Wilton (2015, pp. 2), JavaScript adalah bahasa scripting yang memungkinkan Anda untuk meningkatkan aplikasi web statis menjadi dinamis, personalisasi, dan konten
interaktif. Bahasa
pemrograman ini dirancang untuk
penggunaan pada client side. Penggunaan JavaScript dapat dilakukan pada file HTML. Kode JavaScript dituliskan pada file HTML. Terdapat dua cara untuk menuliskan kode-kode JavaScript agar dapat ditampilkan pada halaman HTML, yaitu:
-
JavaScript ditulis pada file yang sama
10 Untuk penulisan dengan cara ini, perintah yang digunakan adalah <script language =”JavaScript” > Program javascript here
Perintah tersebut biasanya diletakkan diantara Tag … Contoh Penulisan:
……… tittle > <script language=”Javascript”> code JavaScript here code html here -
Javascript ditulis pada file terpisah Kode JavaScript bisa juga kita buat dalam file terpisah dengan tujuan agar dokumen HTML isinya tidak terlalu panjang. Atribut yang digunakan adalah <script src=”namefile.js”>… script > Diantara tag <script …> dan tidak diperlukan lagi kode JavaScript-nya karena sudah dibuat
11 dalam file terpisah. File yang mengandung kode JavaScript berekstensi .js
2.1.5 PHP Menurut Steve Suehring, Tim Converse, dan Joyce Park (2009, pp. 3) PHP merupakan bahasa pemogramman web yang dibuat oleh dan untuk web developers. PHP merupakan singkatan dari PHP: Hypertext Preprocessor. PHP adalah server-side scripting language yang biasanya digunakan untuk membuat web applications yang dikombinasikan dengan sebuah web server seperti Apache. PHP juga dapat digunakan untuk membuat command-line scripts yang mirip dengan Perl atau shell scripts. Dokumen PHP memiliki file extension .php. Menurut Brett McLaughlin (2013, pp. 2) PHP bermula sebagai sebuah set alat untuk melakukan tugas-tugas sederhana yang berhubungan dengan Web. PHP pertama kali muncul dalam Web pada tahun 1994. Awalnya, PHP tidak melakukan apa pun selain melacak kunjungan ke halaman Web tertentu (resume online Rasmus Lerdorfpenemu PHP). PHP kemudian dikembangkan untuk berinteraksi dengan database, serta menyediakan toolset untuk buku tamu online dan pengolahan form HTML. Seiring berjalannya waktu, PHP menjadi sangat populer sebagai alternatif untuk bahasa yang kurang web-friendly seperti C. Menurut
Robin
Nixon
(2015,
pp.
6)
dengan
PHP,
memasukkan dynamic activity di halaman Web menjadi sangatlah mudah. Ketika anda memberikan ekstensi .php pada suatu halaman, halaman tersebut memiliki akses instan ke bahasa scripting. Dari sudut pandang developer, yang harus Anda lakukan adalah menulis kode seperti berikut:
12
Here's the latest news.
Tag pembuka . Di luar tag ini, semuanya dikirim ke client sebagai HTML biasa. Jadi teks “Here's the latest news.” hanya dioutput ke Browser. Dalam tag PHP, fungsi built-in date menampilkan hari apa hari ini sesuai dengan waktu sistem server. Hasil akhir dari dua output akan terlihat seperti berikut:
Today is Wednesday. Here's the latest news.
2.1.6 Framework 2.1.6.1
Bootstrap Menurut Jake Spurlock (2013, pp. ix) Bootstrap adalah front-end framework untuk membangun Website yang responsif. Baik itu application frameworks, blog, atau aplikasi CMS lainnya, Bootstrap dapat menjadi pilihan terbaik yang Anda inginkan. Kombinasi dari HTML, CSS, dan JavaScript membuat mudah untuk membangun Website yang kuat tanpa menambahkan banyak kode. Dengan sistem default grid, layout menyatu dengan mudah, dan styling tombol, navs, dan tabel membuat markup dasar tampak bagus. Plugin JavaScript yang tersedia dalam Bootstrap memudahkan Anda menambahkan elemen interaktif ke Website Anda. Bootstrap merupakan sebuah produk open source dari Mark Otto dan Jacob Thornton yang, ketika awal dirilis, keduanya merupakan karyawan di Twitter. Ketika itu ada kebutuhan untuk membakukan frontend toolsets milik
13 developer
di
seluruh
perusahaan.
Sejak
Bootstrap
diluncurkan pada Agustus 2011, popularitas Bootstrap meroket. Bootstrap telah berkembang dari sebuah CSSdriven project hingga memasukkan sejumlah plugin JavaScript dan ikon yang sesuai dengan form dan tombol.
2.1.6.2
jQuery jQuery adalah JavaScript library open source yang menyederhanakan interaksi antara dokumen HTML, atau lebih tepatnya Document Object Model (DOM) dan JavaScript. Script jQuery dibuat untuk memudahkan pengaturan dokumen seperti menyeleksi object dengan elemen DOM dan membuat aplikasi dengan AJAX. jQuery juga menyediakan layanan atau support para developers untuk membuat plug-ins di dalam bahasa Javascript
tentunya.
Sehingga
memungkinkan
para
developer website untuk membuat website lebih interaktif dengan animasi, efek – efek, tema dan widget. jQuery mudah untuk digunakan. Sama seperti dengan perpustakaan lainnya seperti JavaScript, masukkan pada bagian atas pada halaman HTML antara head> tag. Berikut adalah cara untuk menyertakan perpustakaan jQuery <script type=”text/javascript” src=”jquery1.4.2.js”>
14 2.1.6.1
Codeigniter Menurut Ibnu Daqiqil (2011, pp. 3) Codeigniter adalah web application framework yang bersifat open source yang digunakan untuk membangun aplikasi php dinamis. Tujuan utama pengembangan Codeigniter adalah untuk membantu developer untuk mengerjakan aplikasi lebih cepat dari pada menulis semua kode dari awal dan juga menyediakan
berbagai
macam
library
yang
dapat
mempermudah dalam pengembangan. Codeigniter dibangun dengan
menggunakan
konsep
Model-View–Controller
(MVC) development pattern. Codeigniter sangat ringan, terstruktur, mudah dipelajari, dokumentasi lengkap dan dukungan yang luar biasa dari forum Codeigniter.
Gambar 2.1 Aliran Codeigniter (Sumber: Sebuah panduan dan Best Practice Framework Codeigniter, Ibnu Daqiqil, 2011, pp. 6).
15 2.1.7 Database Database menurut Thomas M. Connolly dan Carolyn E. Begg (2005, pp. 15) adalah Kumpulan data bersama yang terkait secara logis dengan deskripsi data yang dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. Data yang terhubung secara logis dalam Database terdiri dari: -
Entity Entity adalah objek yang berbeda (orang, tempat, benda, konsep, atau event) dalam organisasi yang akan diwakili dalam sebuah database.
-
Attribute Attribute adalah sebuah property yang menjelaskan beberapa aspek dari objek yang kita ingin merekam/ simpan.
-
Relationship Relationship adalah hubungan antara entity. Dalam relational database,
kolom (column) disebut attribute,
sedangkan baris (row) disebut tuple. Gambaran relasi secara lengkap terdapat juga tiga macam relasi dalam hubungan atribute dalam satu file. 1. One to one relationship 2. One to many relationship 3. Many to many relationship
Dalam merancang sebuah database, ada tiga fase yaitu: -
Conceptual database design Conceptual
database
design
merupakan
proses
membangun model data yang digunakan dalam suatu perusahaan yang independen dari semua pertimbangan fisik yang ada.
16
-
Logical database design Logical database design adalah proses untuk membangun model data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya.
-
Physical database design Physical database
design merupakan proses
memproduksi sebuah deskripsi dari implementasi database pada penyimpanan sekunder yang menjelaskan hubungan dasar, organisasi file dan indeks yang digunakan untuk mencapai akses yang efisien ke data, setiap integrity constraints terkait dan langkah-langkah keamanan.
2.1.8 Database Management System (DBMS) Database Management System (DBMS) menurut Thomas M. Connolly dan Carolyn E. Begg (2015, pp. 64) adalah sebuah sistem software yang memungkinkan penggunanya untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. DBMS adalah software yang digunakan untuk berinteraksi dengan program aplikasi
pengguna
dan
database.
Biasanya,
sebuah
DBMS
menyediakan fasilitas sebagai berikut: -
Memungkinkan pengguna untuk mendefinisikan sebuah database, biasanya melalui Data Definition Language (DDL). DDL dapat memungkinkan pengguna untuk menentukan tipe data, struktur, dan batas pada data yang akan disimpan ke dalam sebuah database.
-
Memungkinkan pengguna untuk memasukkan, memperbarui, menghapus, dan mengambil data dari database, biasanya melalui Data Manipulation Language (DML). Dengan memiliki sebuah repositori pusat untuk semua data dan
17 deskripsi data memungkinkan DML untuk memberikan fasilitas permintaan umum untuk data ini, yang biasa disebut sebagai
query
language.
Penyediaan
query
language
mengurangi permasalahan yang terkait dengan file-based systems dimana pengguna harus bekerja dengan sebuah set queries yang tetap atau ada pertambahan program, yang dapat menyebabkan
software
management
problems.
Query
language yang paling umum adalah Structured Query Language (SQL) yang sekarang merupakan standar bahasa yang formal dan de facto untuk relational DBMS. -
Menyediakan akses terkontrol ke database. Sebagai contoh, dapat menyediakan: -
Sistem keamanan, yang mencegah pengguna yang tidak memiliki akses untuk mengakses database.
-
Sistem integritas, yang mempertahankan konsistensi data yang disimpan.
-
Sistem concurrency control, yang memungkinkan akses bersama ke database.
-
Sistem
recovery
control,
yang
mengembalikan
database ke kondisi sebelumnya jika mengalami kegagalan hardware atau software. -
Sebuah katalog yang dapat diakses oleh pengguna, yang berisi deskripsi dari data yang tersedia di dalam sebuah database.
2.1.9 UML (Unified Modelling Language) Menurut Whitten dan Bentley (2007), UML (Unified Modeling Language) merupakan kumpulan konvensi pemodelan untuk menentukan atau menggambarkan suatu sistem piranti lunak yang berhubungan dengan objek.
18 2.1.9.1 Use Case Diagram Menurut Whitten dan Bentley (2007), Use Case Diagram dipakai untuk menggambarkan relasi antara sistem dan sistem eksternal dan pengguna, dengan kasus yang disesuaikan dengan langkah-langkah yang telah ditentukan. Use Case Diagram merupakan cara /metode yang cocok untuk digunakan untuk dapat menggambarkan interaksi yang jelas antara sistem dengan pengguna. -
Use Cases Use case menjelaskan fungsi sistem dari perspektif terminologi
eksternal pengguna agar
dapat
dan secara
dimengerti
oleh
pengguna.
Gambar 2.2. Use Cases (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 246)
-
Actors Actor merupakan sesuatu yang perlu untuk berinteraksi dengan sistem agar dapat bertukar informasi. Actors tidak harus berupa manusia, tetapi dapat berupa suatu organisasi atau sistem informasi.
19
Gambar 2.3. Actors (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 247)
-
Relationships Sebuah relasi antar sistem dan sistem atau user dan sistem digambarkan dengan sebuah garis di antara keduanya. Arti relasi yang digambarkan bisa beragam tergantung pada bagaimana garis itu digambarkan dan apa yang mereka hubungkan. Ada beberapa macam relasi, antara lain associations, extends, dan uses. •
Associations Associations
adalah
sebuah
relasi
antara seorang actor dengan sebuah use case di mana terjadi interaksi antar mereka.
Asosiasi
dengan
panah
tertutup (1) di ujung yang menyentuh use case mengindikasikan bahwa actor di ujung yang satu lagi melakukan use case tersebut. Sedangkan asosiasi tanpa panah (2) mengindikasikan sebuah interaksi dari use case ke actor yang menerima hasil dari use case tersebut.
20
Gambar 2.4. Associations dalam Use Case Diagram (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 248)
•
Extends Bertujuan untuk menyederhanakan use case dengan fungsionalitas yang kompleks seperti beberapa langkah yang perlu dilakukan menjadi lebih mudah dipahami.
Gambar 2.5. Extends dalam Use Case Diagram (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 249)
21 •
Uses/Include Uses
bertujuan
untuk
mengurangi
redundansi di antara dua use case atau lebih dengan menggabungkan langkah-langkah yang sama tersebut.
Gambar 2.6. Uses dalam Use Case Diagram (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 249)
2.1.9.2 Activity Diagram Menurut Carol Britton & Jill Doake (2005, pp. 202), Activity Diagram dibuat untuk menggambarkan aliran proses yang kompleks. Activity diagram menunjukkan aktivitasaktivitas pada use case diagram secara lebih rinci. Activity diagram juga dapat mengilustrasikan aktivitas-aktivitas baik yang berurutan maupun berjalan secara paralel. Berikut elemen-elemen pada activity diagram:
22 1. Activity Activity, digambarkan dengan roundedrectangle, menyatakan aktivitas yang dijalankan sistem.
Gambar 2.7 Simbol Activity (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
2. Start State Start state, menyatakan awal dari alur proses yang dijalankan. Hanya ada satu start state pada tiap activity diagram ataupun subdiagramnya.
Gambar 2.8 Simbol Start State (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
23 3. Stop State Stop state, menyatakan akhir dari alur kerja suatu diagram. Dalam satu diagram bisa terdapat beberapa stop state.
Gambar 2.9 Simbol Stop State (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
4. Transition Transition, menyatakan transisi dari satu aktivitas ke aktivitas lain.
Gambar 2.10 Simbol Transition (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
5. Decision Decision, menyatakan awal atau akhir percabangan alur yang bergantung pada suatu kondisi tertentu.
24
Gambar 2.11 Simbol Decision (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
6. Join Join,
menyatakan
awal
atau
akhir
percabangan alur yang berjalan paralel.
Gambar 2.12 Simbol Join (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 203)
25
Gambar 2.13 Activity Diagram (Sumber: A Student Guide To Object-Oriented Development, Carol Britton & Jill Doake, 2007, pp. 212)
26 2.1.9.3 Sequence Diagram Menurut Whitten dan Bentley (2007). Sequence Diagram adalah sebuah diagram yang menggambarkan interaksi antara aktor dan sistem untuk skenario dari use case. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima antara objek dan urutan yang seperti apa. Diagram ini lebih detail dalam penggambaran aliran data, termasuk data yang dikirim ataupun diterima.
Gambar 2.14 Sequence Diagram (Sumber: System Analysis & Design Method, Whitten dan Bentley, 2007, pp. 395)
27 Berikut elemen-elemen pada sequence diagram: 1. Actor Actor, merupakan simbol yang digunakan untuk actor pada usecase 2. System System, merupakan kotak untuk menunjukkan sistem yang bersangkutan secara keseluruhan. 3. Lifelines Lifelines, garis vertikal putus-putus yang mengindikasikan masa hidup sistem/aktor. 4. Activation Bars Activation
bars
merupakan
balok
yang
bergantung pada Lifelines yang menggambarkan masa waktu interaksi aktif. 5. Input message Input message merupakan garis horizontal berbentuk panah dari actor menuju kanan untuk mengindikasikan pesan masuk. 6. Output message Output message merupakan garis horizontal berbentuk panah terputus-putus dari kiri untuk mengindikasikan pesan balik.
2.1.9.4 Class Diagram
Menurut Whitten dan Bentley (2007, pp. 373-381), Class Diagram digunakan untuk menggambarkan pengorganisasian obyek-obyek bisnis dan asosiasinya terhadap satu sama lain pada sebuah sistem. Dalam hal ini, obyek bisnis disebut sebagai class. Di dalam class diagram, class – class yang ada dapat dihubungkan satu sama lain menggunakan garis lurus. Di dalam
28 sebuah class, terdapat elemen berupa nama, attribute, dan operation.
Berikut adalah beberapa jenis hubungan di dalam class diagram menurut Whitten dan Bentley (2007, pp. 373-381): 1.
Multiplicity
Multiplicity menunjukkan
adalah banyaknya
indikator
yang
hubungan
antar
class.
Tabel 2.1 Jenis-Jenis Multiplicity Multiplicity
Deskripsi
1
Hanya satu.
0..1
Nol atau satu
*
Nol atau lebih.
1..*
Satu atau lebih.
x..y
Antara jumlah x dan jumlah y
2.
Association
Association adalah hubungan antara dua class atau lebih di dalam sebuah class diagram. Pada setiap association terdapat multiplicity. Terdapat dua jenis hubungan association di dalam class diagram, yaitu: a.
Bi-directional
Adanya
hubungan
antar
class dimana kedua class sama-
29 sama memiliki peran terhadap satu sama lain. Hubungan bidirectional digambarkan dengan garis lurus tanpa tanda panah yang
menghubungkan
kedua
class. b.
Uni-directional
Adanya
hubungan
antar
class dimana hanya salah satu class memiliki peran dalam hubungan tersebut. Hubungan uni-directional
digambarkan
dengan
lurus
garis
yang
memiliki tanda panah di salah satu ujungnya.
Gambar 2.15 Contoh Association Bi-Directional dan Uni-Directional Class Diagram
3.
Generalization dan Specialization
Generalization dan Specialization adalah hubungan antar class dimana terdapat super class, yaitu sebuah class yang merupakan
30 hasil pengelompokan class-class berdasarkan attribute
dan
behavior
yang
sama
(generalization), dan sub class, yaitu classclass
yang
mendapatkan
attribute
dan
behavior turunan dari sebuah super class namun dapat memiliki attribute dan behaviornya sendiri (specialization).
Gambar 2.16 Contoh Generalization/Specialization Class Diagram (Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007, pp. 375)
4.
Aggregation dan Composition
Aggregation dan Composition adalah hubungan antar class dimana sebuah class merupakan bagian dari class lainnya.
31
Gambar 2.17 Contoh Aggregation Class Diagram (Sumber: System Analysis and Design Method – Whitten and Bentley, 2007, pp. 379) Perbedaan
antara
composition
dan
aggregation adalah pada composition terdapat hubungan yang lebih erat antar class. Misalnya, jika class A adalah bagian dari class B, maka class B tidak akan bisa berdiri sendiri tanpa class A. Pada UML 2.0 notasi aggregation tidak lagi digunakan karena fungsinya kurang terlihat
perbedaannya
dengan
bentuk
association dengan multiplicity satu atau lebih (one or more). Hal ini menyebabkan beberapa praktisi
menganggap
aggregation
tidak
memiliki arti penting pada penggunaannya.
32
Gambar 2.18 Contoh Composition Class Diagram (Sumber: System Analysis and Design Method - Whitten and Bentley, 2007, pp. 379)
Gambar 2.19 Contoh Class Diagram (Sumber: System Analysis and Design Method – Whitten and Bentley, 2007, pp 406)
2.1.10 ERD (Entity Relationship Diagram) Menurut Whitten dan Bentley (2007, pp. 271), ERD adalah sebuah model data yang memanfaatkan beberapa notasi untuk menggambarkan data dalam beberapa ketentuan dari entitas-entitas
33 dan hubungan-hubungan yang dideskripsikan oleh data tersebut. Dari pengertian diatas, dapat disimpulkan bahwa Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa notasi untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain. Adapun komponen-komponen yang membentuk Entity Relationship Diagram: 1. Entity Entity adalah sebuah kelas dari orang, tempat, objek, kejadian atau konsep yang perlu diambil dan disimpan datanya (Whitten dan Bentley, 2007, pp. 271) 2. Attribute Attribute
adalah
sebuah
elemen-elemen
penjelas dari karakteristik sebuah entity dan juga berupa serpihan-serpihan data yang spesifik yang kita ingin simpan dari sebuah entity. (Whitten dan Bentley, 2007, pp. 272). 3. Relationship Relationship adalah bisnis alami yang ada di antara satu atau lebih entitas. Relationship dapat mewakili suatu peristiwa yang menghubungkan entitas atau hanya pertalian logis yang ada antara entitas (Whitten dan Bentley, 2007, pp. 272).
2.1.11 Eight Golden Rules Menurut Schneiderman dan Plaisant (2010) dalam merancang antarmuka terdapat Eight Golden Rules (Delapan Aturan Emas) yang sering digunakan, antara lain:
34 -
Upayakan untuk konsisten, seperti dalam penggunaan petunjuk, menu, screen help, warna, jenis harus dan yang lainnya harus konsisten.
-
Memungkinkan pengguna dapat menggunakan shortcut untuk mendapatkan informasi yang dibutuhkan sehingga dapat mempermudah pengguna.
-
Memberikan umpan balik yang informatif kepada pengguna dalam setiap aksi yang dilakukannya.
-
Merancang dialog untuk menghasilkan suatu penutupan akhir dari suatu proses.
-
Memberikan pencegahan kesalahan serta penanganan kesalahan yang sederhana.
-
Memungkinkan pengguna untuk dapat kembali pada aksi yang sebelumnya (bersifat reversible).
-
Dapat menjadikan pengguna sebagai pusat kendali dari sistem antarmuka. Sehingga pengguna dapat dengan bebas bernavigasi sesuai dengan yang dikehendaki.
-
Mengurangi beban ingatan jangka pendek, dengan cara merancang sistem antarmuka yang sederhana dengan tidak terlalu
banyak
perintah
yang
dapat
menyebabkan
kebingungan oleh pengguna. 2.1.2.12
Lima Faktor Manusia Terukur
Menurut
Schneiderman
dan
Plaisant
(2010, pp.32), dalam merancang sistem sebelumnya harus memperhatikan 5 faktor berikut: 1. Waktu untuk belajar Berapa lama waktu yang diperlukan bagi pengguna untuk belajar menggunakan perintah.
35 2. Kecepatan kinerja Berapa lama waktu yang diperlukan untuk melaksanakan tugas. 3. Tingkat kesalahan oleh pengguna Berapa banyak dan apa saja jenis kesalahan yang membuat pengguna untuk melakukan tugas-tugas. 4. Retensi dari waktu ke waktu (daya ingat) Seberapa baik pengguna memelihara pengetahuan yang telah mereka pelajari.
5. Kepuasan subjektif Seberapa besar ketertarikan pengguna aplikasi terhadap aspek- aspek interface aplikasi tersebut. -
2.1.13 Scrum Menurut James (2015), Scrum merupakan sebuah menagemen kerangka kerja dengan pengembangan produk satu atau lebih lintas fungsional. Scrum menggunakan fixed-length iterations, yang disebut dengan Sprint, yang biasanya memiliki waktu pengerjaan selama dua minggu atau 30 hari.
36
Project Continue End
Project Vision Start Iteration 1
Iteration 2
Iteration 3
Iteration 4
Implementation & Developer Testing
Design &
QA / Acceptance
Analysis
Iteration
Testing
Detail
Detailed
( Deployment
Requirements
)
Evaluation / Prioritization
Gambar 2.20 Tahap-tahap dalam metode perulangan (iteration) Sumber: http://scrumreferencecard.com/scrum-referencecard/
Prinsip
Scrum
sesuai
dengan
prinsip-prinsip
metode
pengembangan piranti lunak secara cepat (Agile) yang digunakan untuk menuntun kegiatan pengembangan piranti lunak yang terdiri dari 6 tahap didalam metode perulangan (iteration), yaitu: 1. Evaluation/Prioritization 2. Detailed Requirements 3. Design & Analysis 4. Implementation & Developer Testing 5. QA/Acceptance Testing 6. Deployment
Di setiap tahap pengembangan, terjadi aktivitas kerja yang terlingkup di dalam suatu pola proses yang dinamakan sprint. Setiap pola proses yang terjadi, akan terdapat seperangkat kegiatan berikut:
37
•
Sprint Planning Meeting Sprint planning merupakan rapat perencanaan tujuan sprint antar semua tim untuk bernegosiasi perkara proyek yang akan dikerjakan. Didalam sprint planning membuat sprint backlog yaitu daftar dari pekerjaan yang akan dilakukan selama sprint. Sprint backlog merupakan bagian product backlog yang didetailkan.
•
Daily Scrum meeting Daily Scrum merupakan rapat harian yang dilakukan tim pengembang dengan batasan waktu maksimal 15 menit. Daily Scrum bertujuan untuk meninjau perkembangan dari proyek yang dikerjakan serta rencana pengerjaan selama 24 jam kedepan.
•
Sprint review meeting Sprint
review
meeting
merupakan
rapat
peninjauan aktivitas penyelesian sprint yang berakhir. Tim Scrum serta stakeholder berkolaborasi membahas pengerjaan apa saja yang telah di dikerjakan. Serta mempersiapkan pekerjaan untuk sprint berikutnya sehingga dapat mengoptimalkan nilai product.
•
Sprint Retrospective meeting Sprint
Retrospective
merupakan
sebuah
kesempatan bagi Tim Scrum untuk meninjau dirinya sendiri
dan
membuat
perencanaan
mengenai
peningkatan yang akan dilakukan di Sprint berikutnya. Sprint Retrospective dilangsungkan setelah Sprint Review
selesai
dan
sebelum
Sprint
Planning
berikutnya. Ini adalah acara dengan batasan waktu maksimum selama tiga jam untuk Sprint yang berdurasi satu bulan. Untuk Sprint yang lebih pendek, batasan waktunya biasanya lebih singkat.
38
Sprint Planning Meeting
Daily Scrum
Backlog ReÞnement Meeting
Sprint Review Meeting
Sprint Retrospective Meeting
Gambar 2.21 Scrum Flow Sumber: http://scrumreferencecard.com/scrumreference-card/
2.1.13.1 Tim Scrum Tim
Scrum
terdiri
dari
Product
Owner,
Tim
Pengembang dan Scrum Master. Tim Scrum mengatur diri mereka sendiri dan berfungsi antar-lintas. Tim Scrum menghantarkan produk secara berkala dan bertahap untuk memperbesar kesempatan mendapatkan masukan.
•
Product Owner Product Owner merupakan satu-satunya orang yang bertanggung-jawab untuk mengelola Product Backlog. Peran dari Product Owner antara lain:
39
-
Satu
orang
atau
beberapa
orang
yang
bertanggung jawab untuk memaksimalkan Return On Invesment (ROI) dari upaya pembuatan produk.
-
Bertanggung jawab untuk visi produk.
-
Menerima atau menolak setiap penambahan produk.
-
Dapat
memprioritaskan
Product
Backlog,
menyesuaikan harapan jangka panjang seperti rencana rilis.
•
-
Dapat berkontribusi sebagai anggota tim.
-
Memiliki peran kepemimpinan.
Scrum Master Scrum
Master
bertanggung
jawab
untuk
memastikan Scrum telah dipahami dan dilaksanakan. Scrum Master melakukannya dengan memastikan Tim Scrum mengikuti teori, praktik, dan aturan main Scrum. Scrum Master adalah seorang pemimpin yang melayani Tim Scrum. Peran dari scrum master antara lain:
•
-
Memfasilitasi proses Scrum.
-
Membantu menyelesaikan hambatan.
-
Menciptakan lingkungan yang kondusif untuk tim
-
Memiliki peran kepemimpinan
Tim Pengembang Tim Pengembang terdiri dari para profesional yang bekerja untuk menghasilkan suatu produk. Tim Pengembang dibentuk dan didukung oleh organisasi untuk mengatur dan mengelola pekerjaannya secara mandiri. Karakteristik dari tim pengembang antara lain:
40
-
Memiliki otonomi tentang bagaimana untuk mencapai komitmen
-
Terdiri dari ± 2 anggota.
-
Memiliki peran kepemimpinan.
-
Melakukan negosiasi komitmen dengan Product Owner, satu sprint dalam satu waktu.