Anda di halaman 1dari 26

PROPOSAL SKRIPSI NON KELAS

PENGEMBANGAN APLIKASI "Circlink" BERBASIS APLIKASI MOBILE

DEVELOPMENT OF THE “Circlink” APPLICATION BASED ON MOBILE

Topik: Mobile Application

<<2201835776>> <<Ridho Irfansyah Iskandar>> <<Computer Science>>


<<2201837491>> <<Muhammad Ridho Prianata>> <<Computer Science>>
<<2201843222>> <<Billy Yusuf Alghani Lusarno>> <<Computer Science>>

BINUS University
<< Tahun Ajaran 2021/2022 >>

Diperiksa oleh**

<< D3092- Irma Irawati Ibrahim, SS., M.Kom.>>


DAFTAR ISI

DAFTAR ISI .................................................................................................................................. ii

BAB 1 PENDAHULUAN ............................................................................................................... 1

1.1 Latar Belakang................................................................................................................. 1

1.2 Rumusan Masalah ........................................................................................................... 2

1.3 Ruang Lingkup ................................................................................................................. 2

1.4 Tujuan dan Manfaat ........................................................................................................ 3

1.4.1 Tujuan.................................................................................................................... 3

1.4.2 Manfaat ................................................................................................................ 3

1.5 Metodologi penelitian .................................................................................................... 3

1.5.1 Metode Pengumpulan Data .................................................................................. 3

1.5.2 Metode perancangan ............................................................................................ 4

Bab 2 Tinjauan Pustaka .............................................................................................................. 5

2.1 Flutter................................................................................................................................... 5

2.2 Database .............................................................................................................................. 5

2.3 DBMS.................................................................................................................................... 5

2.4 Firebase ................................................................................................................................ 6


2.5 SDLC - Waterfall ................................................................................................................... 7

2.6 Android................................................................................................................................. 8

2.7 Flowchart ............................................................................................................................. 8

2.8 Storyboard ........................................................................................................................... 8

2.9 Testing .................................................................................................................................. 9

2.10 Unified Modelling Language (UML) ................................................................................. 10

2.10.1 Use Case Diagram ................................................................................................ 10

2.10.2 Use Case Description ........................................................................................... 11

2.10.2.1 Brief Use Case Description ............................................................................... 11

2.10.2.2 Fully Developed Use Case Description ............................................................. 12

2.10.3 Class Diagram ...................................................................................................... 13

2.10.4 Sequence Diagram ............................................................................................... 14

2.10.5 Activity Diagram .................................................................................................. 14

2.11 Lima Faktor Manusia Terukur .......................................................................................... 16

2.12 Delapan Aturan Emas....................................................................................................... 16

2.13 Data Dictionary ................................................................................................................ 18

2.14 MVVM .............................................................................................................................. 18

2.15 Object Oriented Programming ........................................................................................ 19

BAB 3 METODE PELAKSANAAN ................................................................................................ 21

DAFTAR PUSTAKA .................................................................................................................... 23

ii
BAB 1 PENDAHULUAN

1.1 Latar Belakang

Pada zaman saat ini, perkembangan Teknologi Informasi mengalami kemajuan yang
sangat pesat dikarenakan semakin banyaknya generasi-generasi baru yang memiliki ide-
ide cemerlang dan cerdas dalam pengembangan Teknologi Informasi. Pada saat ini,
Teknologi Informasi sudah hampir mencakup banyak aspek seperti Pendidikan,
Kesehatan, Industri dan aspek lainnya. Dengan adanya perkembangan teknologi yang
terdapat diberbagai aspek ini, kegiatan manusia jadi lebih mudah. Salah satu teknologi
yang sangat membantu manusia pada zaman sekarang yaitu dengan adanya kehadiran
smartphone. Tidak bisa dipungkiri lagi bahwa peran teknologi seperti smartphone sangat
dibutuhkan oleh banyak manusia.

Pada masa pandemi covid-19 ini, banyak sekali masyarakat yang terkena
dampaknya. Sehingga menyebabkan banyak masyarakat tidak bisa kemana-mana dan
akhirnya hanya melakukan kegiatan di rumah saja. Kegiatan hanya di rumah ini lah yang
membuat banyak masyarakat merasa jenuh dan bosan sehingga melampiaskan kejenuhan
dan kebosanan itu dengan cara bermain game online. Berdasarkan informasi dari berita
“cnnindonesia.com”, mereka mendapatkan informasi adanya peningkatan pemain game
online selama pandemi covid. Menurut perusahaan Verizon menyatakan bahwa
penggunaan game online selama pandemi virus covid-19 mengalami peningkatan yang
signifikan. Perusahaan Verizon mencatat pengguna video game meningkat hingga 75%.

Berdasarkan informasi yang didapatkan dari “inews.id”, mereka telah melakukan


survey dan mecatat bahwa 16.5 persen masyarakat habiskan waktu main game online
selama pandemi covid-19. Asosiasi Penyelenggara Jasa Internet Indonesia (APJII)
mencatat salah satu bentuk hiburan yang banyak dipilih masyarakat di masa pandemi
covid-19 adalah bermain game online sebesar 16.5 persen. Bahkan, berdasarkan data yang
didapatkan dari Newzoo Global Games Market Report 2020 jumlah pendapatan dari
mobile gaming secara global pada 2020 bertambah 13 persen dan untuk pemain game
online sendiri melebihi 3 miliar pemain.

Karena sangat meningkatnya masyarakat di Indonesia yang bermain game online


selama pandemi ini, maka meningkat juga masyarakat yang ingin menjadikan game online
ini menjadi profesi. Salah satunya yang bisa dilakukan untuk menjadikan game online ini
menjadi profesi yaitu menjadi professional player pada game tersebut. Banyak masyarakat
yang menghabiskan waktu berjam-jam demi menjadi pemain unggulan pada game
tersebut. Pada zaman sekarang, menjadi professional player merupakan pekerjaan yang
cukup menjanjikan. Namun banyak juga masyarakat yang memiliki potensi dan skill yang
luar biasa yang memiliki peluang masuk ke dunia E-sports dan memenangkan berbagai
tournament. Namun masih banyak masyarakat kita yang tidak tahu bagaimana cara
menemukan tournament.
1
Untuk mempermudah para pemain game online untuk mencari tournament, dapat
diciptakannya sebuah aplikasi untuk komunitas pemain game online dengan target pasar
pemain game online yang ingin masuk ke dunia kompetitif. Aplikasi ini dibuat agar
pemain game online yang memiliki bakat dan cerdas di Indonesia dapat dengan mudah
menemukan atau mencari tournament maupun mencari teman pada aplikasi ini.

Terdapat beberapa fitur untuk mendukung para pemain game online seperti fitur
untuk mencari tournament. Fitur mencari tournament disini berguna untuk mempermudah
para pemain game online untuk mencari tournament-tournament yang tersedia. Setelah itu
terdapat fitur mencari teman. Pada fitur ini para pemain game online bisa mencari teman
baru dari game yang sama. Selain itu terdapat juga fitur posting dan chat. Fungsi fitur
posting ini berguna seperti sosial media lainnya seperti posting foto-foto ketika
memenangkan pertandingan dan lainnya. Fitur chat disini berguna agar pemain game
online yang menggunakan aplikasi ini bisa berbicara dengan pemain lainnya lewat fitur
chat.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang terjadi diatas, dapat diambil suatu perumusan masalah
sebagai berikut:

a. Bagaimana membuat aplikasi mobile berbasis android/ios untuk memberi peluang


kepada pemain game online yang memiliki bakat di Indonesia?
b. Bagaimana membuat aplikasi mobile berbasis android/ios untuk meningkatkan
kualitas E-sports di Indonesia?

1.3 Ruang Lingkup

Ruang lingkup dari perancangan dan pengembangan aplikasi ini yaitu:

a. Bahasa pemrograman yang pada aplikasi ini menggunakan bahasa Kotlin.


b. Database yang digunakan pada pengembangan aplikasi ini menggunakan Firebase
c. User yang menggunakan aplikasi ini adalah para pemain game online yang ingin
fokus ke dunia game online dan ingin menjadi professional gamer.

2
1.4 Tujuan dan Manfaat

1.4.1 Tujuan

Terdapat beberapa tujuan dari pembuatan aplikasi ini adalah sebagai berikut:

a. Membantu masyarakat Indonesia terutama anak muda di Indonesia yang gemar


bermain game online dan ingin fokus ke dunia E-sports.
b. Membuat aplikasi yang memiliki fitur tambah teman dan fitur chat yang berguna
untuk meningkatkan komunitas pemain game online di Indonesia.
c. Membuat aplikasi dengan fitur yang dapat memberikan informasi tournament
yang ada di Indonesia.

1.4.2 Manfaat

Terdapat beberapa manfaat dari pembuatan aplikasi ini adalah sebagai berikut:

a. Memudahkan masyarakat yang ingin fokus ke dunia E-sports


b. Memudahkan masyarakat yang hobi bermain game online untuk mendapatkan
teman dan memiliki komunitas game di Indonesia.
c. Memudahkan pemain game online Indonesia untuk mendapatkan informasi
mengenai tournament-tournament yang ada di Indonesia

1.5 Metodologi penelitian

1.5.1 Metode Pengumpulan Data

Pengumpulan data dapat dilakukan dengan 4 cara, yaitu:

a. Kuesioner
Teknik pengumpulan data pada cara ini dilakukan dengan membuat beberapa
pertanyaan yang ditujukan kepada masyarakat Indonesia yang hobi bermain
game online dengan minimal 30 responden.
b. Wawancara
Wawancara dilakukan untuk mendapatkan informasi yang tepat dari
narasumber dalam bentuk komunikasi antara dua orang atau lebih dengan cara
penyampaian sejumlah pertanyaan kepada narasumber.
c. Perbandingan aplikasi sejenis
Metode perbandingan aplikasi sejenis ini berguna untuk mengetahui fitur-fitur
yang sudah ada maupun yang belum ada dalam aplikasi sejenis. Hal ini dapat
menjadi pertimbangan dan referensi untuk pengembangan yang dapat
menambah manfaat dan menjadi nilai tambah pada aplikasi yang dibuat.

3
1.5.2 Metode perancangan

Metode perancangan yang digunakan untuk menunjang pengembangan aplikasi


ini dilakukan dengan tiga tahapan, yaitu:

a. Perancangan user interface dengan menggunakan storyboard


b. Perancangan database dengan menggunakan ERD
c. Perancangan system menggunakan UML

4
Bab 2 Tinjauan Pustaka

2.1 Flutter

Flutter adalah platform yang digunakan para developer untuk membuat aplikasi
multiplatform hanya dengan satu basis coding (codebase). Artinya, aplikasi yang dihasilkan
dapat dipakai di berbagai platform, baik mobile Android, iOS, web, maupun desktop. Flutter
memiliki dua komponen penting, yaitu, Software Development Kit (SDK) dan juga
framework user interface. Software Development Kit (SDK) merupakan sekumpulan tools
yang berfungsi untuk membuat aplikasi supaya bisa dijalankan di berbagai platform.
Framework UI merupakan komponen UI, seperti teks, tombol, navigasi, dan lainnya, yang
dapat Anda kustomisasi sesuai kebutuhan. Flutter juga merupakan platform yang gratis dan
open source. Jika Anda ingin menggunakan Flutter, Anda perlu mempelajari bahasa
pemrograman Dart. Berbeda dengan framework front-end pada umumnya yang menggunakan
JavaScript sebagai bahasa pemrogramannya.

2.2 Database

Database adalah koleksi informasi yang terstruktur yang tersimpan kedalam system
komputer. Database tidak hanya menyimpan data operasional, tetapi juga berisi sebuah
deskripsi dari data tersebut yang dibuat untuk menemukan keperluan informasi pada sebuah
perusahaan. Database adalah tempat penyimpanan data yang dapat digunakan secara
bersamaan oleh banyak pengguna dan berisi deskripsi dari data yang disimpan. Database
menyimpan data yang terhubung secara logis.

https://www.dicoding.com/blog/apa-itu-database/

2.3 DBMS

DBMS adalah singkatan dari Database Management System. DBMS adalah software
yang digunakan untuk menghubungkan database dengan pengguna agar proses pengelolaan
data dapat berjalan dengan baik. Sebuah DBMS pada dasarnya bertugas untuk mengelola data,
database engine, dan schema database agar proses manajemen data dapat berjalan dengan
lancar. DBMS memiliki fungsi yaitu:

• Data Definition Languange


Dibuat agar pengguna untuk mendefinisikan database misalnya memilih tipe
dan struktur data, danconstraint atau batasan dalam data yang akan disimpan
pada database.

5
• Data Manipulation Language
Dibuat untuk pengguna untuk melakukan manipulasi data, seperti memasukkan,
memperbarui, menghapus, dan mengambil data dari database.
• Data Control Language
menyediakan akses terkontrol ke database seperti system sekuritas, system
integritas, system recovery.

2.4 Firebase

Firebase merupakan suatu layanan yang dimiliki oleh Google yang digunakan untuk
mempermudah developer mengembangkan aplikasi mereka. Firebase memiliki banyak SDK
yang dapat digunakan untuk berintegrasi dengan beberapa platform seperti Android, iOS,
Javascript, C++ hingga Unity. Firebase memiliki beberapa fitur yaitu:

• Firebase Analytics
Merupakan fitur yang berfungsi untuk mengoleksi data yang bervariasi dan
reporting baik perangkat Android atau iOS. Berdasarkan fitur Firebase
Analytics bisa memberikan kemudahan bagi pengembang aplikasi untuk
membuat segmentasi pengguna berdasarkan fitur apa saja yang sering mereka
pakai.
• Firebase Authentication
Developer aplikasi bisa mengautentikasi user ke aplikasi lewat UI. Lalu
autentifikasi bisa memudahkan pengguna untuk masuk ke aplikasi yang
terintegrasi dengan penyedia identitas gabungan populer lain.
• Firebase Cloud Firestore
Merupakan database fleksibel dan terukur yang memudahkan pengembang
untuk membuat aplikasi yang responsif dan bisa bekerja tanpa jaringan internet.
• Firebase Realtime Database
Merupakan database yang di-host melalui cloud sehingga pengembang bisa
mengelola database dalam jumlah lebih besar. Firebase dapat menyimpan dan
mensinkronkan data antara user dan perangkat secara realtine menggunakan
database yang di share kepada semua user dan ketika terjadi perubahan data
pada database, user akan mendapatkan update data secara realtime yang
dihosting di cloud.

6
2.5 SDLC - Waterfall

SDLC (Software Development Life Cycle, Siklus Hidup Pengembangan Sistem) adalah
proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk
mengembangkan system. Model Waterfall atau yang biasa disebut dengan Model Linear
Sequential adalah model klasik atau paradigma tertua yang bersifat sistematis dan berurutan
dalam pengembangan software. Model Waterfall dimulai dengan spesifikasi requirements, lalu
dilakukan planning (perencanaan), modeling (pemodelan), construction (konstruksi,
pembangunan) dan deployment (penyebaran), kemudian diakhiri dengan dukungan terus-
menerus dalam pemeliharaan dan penyelesaian software. Berikut merupakan Langkah
Langkahnya :

• Communication (Project Initiation & Requirements Gathering)


Sebelum memulai pekerjaan yang bersifat teknis, sangat diperlukan adanya
komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin
dicapai. Hasil dari komunikasi tersebut adalah inisialisasi proyek seperti
menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang
diperlukan, serta membantu mendefinisikan fitur dan fungsi dari aplikasi.
Pengumpulan data-data tambahan bisa juga diambil dari jurnal, artikel, paper
dan internet.
• Planning (Estimating, Scheduling, Tracking)
Tahap berikutnya adalah tahapan perencanaan yang menjelaskan tentang
estimasi tugas-tugas teknis yang akan dilakukan, resiko-resiko yang dapat
terjadi, sumber daya yang diperlukan dalam membuat sistem, produk kerja yang
ingin dihasilkan, penjadwalan kerja yang akan dilaksanakan, dan tracking
proses pengerjaan sistem.
• Modeling (Analysis & Design)
Tahapan ini adalah tahap perancangan dan pemodelan arsitektur sistem yang
berfokus pada perancangan struktur data, arsitektur software, tampilan
interface, dan algoritma program. Tujuannya untuk lebih memahami gambaran
besar dari apa yang akan dikerjakan.
• Construction (Code & Test)
Tahapan ini merupakan proses penerjemahan bentuk desain menjadi kode atau
bentuk bahasa yang dapat dibaca oleh mesin. Setelah pengkodean selesai,

7
dilakukan pengujian terhadap sistem dan juga kode yang sudah dibuat.
Tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya
diperbaiki.
• Deployment (Delivery, Support, Feedback)
Tahapan terakhir ini merupakan tahapan implementasi software ke customer,
perbaikan software, evaluasi software, dan pengembangan software
berdasarkan umpan balik yang diberikan agar sistem dapat tetap berjalan dan
berkembang sesuai dengan fungsinya.

2.6 Android

Android merupakan sebuah sistem operasi berbasis Linux yang dirancang untuk
perangkat layar sentuh berupa telepon maupun tablet. Android juga sebagai sistem operasi
dengan sumber terbuka, dan Google merilis kodenya di bawah Lisensi Apache. Kode dengan
sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk
dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel,
dan pengembang aplikasi. Android sendiri mempunyai beberapa karakteristik utama menurut
Open Handset Alliance.

2.7 Flowchart

Flowchart merupakan representasi gambar dari algoritma. Dalam flowchart


menggunakan simbol yang mempunyai arti untuk menunjukkan berbagai jenis
instruksi. Programmer menulis intruksi aplikasi di dalam kotak menggunakan
pernyataan yang jelas dan ringkas. Garis lurus yang menghubungkan kotak ini
mengindikasikan arahan dari kegiatan yang ada – urutan di mana instruksi dijalankan
(Sinha & Sinha, 2016, p. 111).

2.8 Storyboard

Storyboard dapat menggambarkan proyek dengan detail menggunakan tulisan


dan sketsa gambar yang digunakan untuk pilihan layar gambar, suara, dan navigasi
setiap layarnya. Selain itu di dalam storyboard juga dapat mengatur warna dan corak,
isi teks, atribut, font dan bentuk tombol, style, tanggapan serta perubahan suara. Metode

8
yang akan digunakan tergantung pada apakah orang yang sama akan mengerjakan
semuanya atau apakah implementasi akan ditugaskan dan dikerjakan oleh tim baru yang
akan membutuhkan spesifikasi secara detail seperti storyboard dan sketsa. Di samping
itu, semakin banyak rencana yang ada dikertas, semakin baik dan mudah dalam
mengerjakan suatu proyek (Vaughan, 2011, p. 295).

2.9 Testing

Testing adalah proses pengujian aplikasi yang bertujuan untuk menemukan


kesalahan. Sebuah testing dapat dikatakan “good” test atau uji coba yang bagus jika
memiliki probabilitas yang tinggi untuk menemukan error (kesalahan).
Ciri-ciri “good” test:
- Memiliki probabilitas yang tinggi dalam menemukan error
Agar menghasilkan probabilitas yang tinggi dalam menemukan error, penguji
harus memahami software dan gambaran mengenai kemungkinan terjadi
kegagalan pada software.
- Tidak redundant
Waktu dan sumber daya yang dibutuhkan dalam melakukan testing terbatas,
sehingga pengujian tidak perlu dilakukan secara berulang dan setiap testing
yang dilakukan memiliki tujuan yang berbeda.
- Harus “best of breed”
Dengan adanya waktu dan sumber daya yang terbatas, maka hanya beberapa test
yang memiliki kemungkinan tertinggi yang dapat mengungkap seluruh
kesalahan.
- Sangat simple atau sangat kompleks
Meskipun terkadang dengan menggabungkan serangkaian testing menjadi satu
merupakan hal memungkinkan, namun disisi lain penggabungan tersebut dapat
menutupi kesalahan yang lain, sehingga testing perlu dieksekusi secara terpisah.
Testing atau uji coba dapat dilakukan dalam 2 cara, yaitu yang pertama
dengan mengetahui function secara spesik yang telah dirancang untuk dilakukan pada
produk yang dimana pengujian dilakukan dengan menunjukkan bahwa setiap fungsi
dapat beroperasi dan disaat yang bersamaan mencari error pada tiap fungsi, uji coba
tersebut merupakan Black-Box Testing, dan yang kedua uji coba dengan mengetahui
secara internal cara kerja dari sebuah produk dan dilakukan sesuai dengan spesifikasi

9
dari semua komponen yang cukup memadai, atau disebut juga dengan White-Box
Testing. Kedua uji coba tersebut berguna dalam integration testing (Pressman &
Maxim, 2020, pp. 396-397).

2.10 Unified Modelling Language (UML)

Menurut (Satzinger, Jackson, & Burd, 2012, p. 46) Unified Modeling Language
(UML) adalah satu set standar konstruksi model dan notasi yang dikembangkan secara
khusus untuk pengembangan berorientasi objek. Dengan menggungakan UML, analisis
dan pengguna akhir yang dapat menggambarkan dan memahami berbagai diagram
spesifik yang digunakan dalam proyek pengembangan system

2.10.1 Use Case Diagram

Use case Diagram adalah diagram yang digunakan untuk menunjukkan


secara grafis use case dan relasinya dengan pengguna (actor). Dengan kata lain,
use case diagram menggambarkan siapa yang akan menggunakan sistem dan
dengan cara seperti apa pengguna tersebut berinteraksi dengan sistem. Use case
diagram digunakan untuk mengetahui fungsi-fungsi yang ada di dalam suatu
sistem dan siapa saja pengguna (actor) yang dapat menggunakan fungsi-fungsi
tersebut (Satzinger, Jackson, & Burd, 2012, p. 78).
Notasi-notasi yang digunakan di use case diagram adalah sebagai berikut:

1. Use Case
Use case menggambarkan aktivitas atau fungsi yang dilakukan oleh sistem,
yang biasanya merupakan respons dari permintaan pengguna. Dalam use case
diagram, use case digambarkan dengan bentuk elips dengan nama use case di
dalamnya. Nama yang akan digunakan untuk suatu use case biasanya
merupakan kata kerja yang merepresentasikan suatu tujuan dari sistem.

2. Actor
Actor adalah suatu entitas yang berada diluar sistem yang berinteraksi
dengan sistem dengan cara menyediakan atau menerima data. Suatu actor dapat
merupakan suatu manusia, organisasi, sistem lain, mau pun perangkat eksternal.

10
Dalam use case diagram, seorang actor digambarkan dengan stick figure yang
diberi label dengan nama actor.

3. Automation Boundary
Automatic boundary adalah suatu pembatas diantara bagian yang
dikomputerisasi oleh sistem dan pengguna (actor) yang mengoperasikan
aplikasi. Dalam use case diagram, automation boundary digambarkan dengan
bentuk persegi panjang yang berisi use case. Pengguna selalu berapa di luar
automation boundary dan berinteraksi dengan use case dengan cara melintasi
automation boundary.

4. Relationship
Dalam use case diagram, suatu relationship digambarkan dengan suatu
garis yang menghubungkan suatu actor dan suatu use case. Relationship
menggambarkan hubungan antara actor dengan use case dalam sistem.

5. Includes Relationship
Includes Relationship merupakan suatu relasi diantara dua use case di
mana suatu use case termasuk dalam use case kain secara stereotip. Includes
relationship digunakan Ketika suatu use case menggunakan use case lain. Setiap
includes relationship diberi laberl “<<includes>>”

2.10.2 Use Case Description

Use case description merupakan suatu model dalam bentuk tulisan yang
menjelaskan detail pemrosesan suatu use case. Use case description
menyediakan deskripsi tentang bagaimana pengguna berinteraksi dengan sistem
selama use case berlangsung (Satzinger, Jackson, & Burd, 2012, p. 121).

2.10.2.1 Brief Use Case Description

Brief use case description digunakan untuk mendeskripsikan


beberapa use case yang sederhana, terutama ketika sistem yang
dikembangkan adalah aplikasi kecil yang dapat dipahami dengan

11
mudah. Use case yang sederhana biasanya hanya memiliki scenario
tunggal dan sedikit exception condition, sehingga brief use case
description menjadi pilihan yang ideal untuk mendeskripsikan use case
tersebut (Satzinger, Jackson, & Burd, 2012, pp. 121-122).

2.10.2.2 Fully Developed Use Case Description

Fully developed use case description digunakan untuk


membantu dalam memahami proses bisnis dan bagaimana cara kerja
sistem ketika pengguna berinteraksi dengan suatu use case. Fully
developed use case description digunakan untuk membantu
pengembang perangkat lunak dalam mendapatkan pemahaman yang
mendalam tentang kebutuhan pengguna (Satzinger, Jackson, & Burd,
2012, pp. 122-123).

Berikut adalah penjelasan dari gambar yang merupakan contoh


dari fully developed use case description:
a. Use case name
Nama dari use case yang didokumentasikan.
b. Scenario
Rangkaian peristiwa yang terjadi ketika pengguna berinteraksi
dengan use case yang didokumentasikan.
c. Triggering event
Peristiwa yang memicu pelaksanaan use case yang
didokumentasikan.
d. Brief description
Deskripsi singkat tentang bagaimana cara pengguna
berinteraksi dengan use case yang didokumentasikan.
e. Actors
Actor yang berinteraksi dengan use case yang
didokumentasikan.
f. Relate use cases
Deskripsi tentang bagaimana cara use case lain berhubungan
dengan use case yang didokumentasikan.
g. Stakeholders
Pemangku kepentingan atau kelompok lain yang bukan
merupakan actor, namun memiliki kepentingan dalam use case
yang didokumentasikan.
h. Preconditions
Keadaan dari sistem sebelum pengguna berinteraksi dengan use
case yang didokumentasikan. Biasanya mengacu pada use case
lain yang harus dilaksanakan terlebih dahulu
i. Postconditions

12
Keadaan dari sistem setelah pengguna berinteraksi dengan use
case yang didokumentasikan.
j. Flow of activities
Urutan aktivitas normal yang dilakukan oleh actor dan sistem
untuk memenuhi tujuan use case yang didokumentasikan.
k. Exceptions conditions
Kondisi ketika terjadi kesalahan (exception) dalam sistem atau
aktivitas alternatif yang dapat dilakukan oleh pengguna dan
sistem.

2.10.3 Class Diagram

Menurut (Satzinger, Jackson, & Burd, 2012, pp. 101, 310-311), class
diagram adalah suatu diagram yang terdiri dari beberapa class dan asosiasi
antara suatu class dengan class lain. Class diagram digunakan untuk
menggambarkan class dan asosiasinya secara grafis. Class diagram
menggambarkan detail dari attribute dan behavior yang dimiliki oleh class.
Class adalah suatu kategori atau klasifikasi dari sekelompok benda atau objek.
Suatu objek dimiliki oleh suatu suatu class.

Pada setiap objek, attribute dan behavior memiliki aksesibilitasnya


masing-masing yang didefinisikan oleh visibility. Visibility merupakan suatu
notasi yang menunjukkan tingkatan akses yang dimiliki oleh setiap attribute dan
behavior dari class. Visibility dibagi menjadi tiga tingkatan, yaitu:

a. Public

Public merupakan tingkat visibility di mana attribute atau behavior suatu


class dapat diakses oleh class mana saja. Dinotasikan dengan tanda ‘+’.

b. Protected
Protected merupakan tingkat visibility di mana attribute atau behavior dari
suatu class dapat diakses hanya class yang merupakan subclass tersebut.
Dinotasikan dengan tanda ‘#

c. Private
Private merupakan tingkat visibility di mana attribute atau behavior class
dapat diakses hanya class itu sendiri. Dinotasikan dengan tanda ‘-‘

13
2.10.4 Sequence Diagram

Menurut (Satzinger, Jackson, & Burd, 2012, pp. 332-349), sequence


diagram adalah suatu diagram yang menunjukkan dan menekankan
urutan dari message yang dikirim di antara objek (termasuk actor) atau
class untuk suatu use case yang spesifik. Notasi-notasi yang digunakan
dalam sequence diagram adalah sebagai berikut:

1. Actor: Actor berinteraksi dengan view layer atau antarmuka pengguna.


Actor pada sequence diagram digambarkan dengan stick figure seperti
simbol actor milik use case diagram.

2. Class: Digambarkan dengan bentuk persegi panjang yang diberi label


dengan nama class. Digunakan untuk merepresentasikan suatu class
yang menerima atau mengirim message serta berhubungan dengan actor
dan class lain.

3. Input Message: Digambarkan dengan garis panah horizontal yang


berfungsi untuk menunjukkan input atau message yang dikirim dari
suatu class ke class lain. Input message memanggil behavior atau method
milik class yang ditunjuk oleh tanda panah.

4. Lifeline dan Activation Lifeline : Lifeline digambarkan dengan garis


putus-putus vertikal yang menunjukkan berlalunya waktu untuk suatu
class. Activation Lifeline digambarkan dengan bentuk batang yang
berada di lifeline. Activation bar berfungsi untuk menunjukkan periode
ketika suatu Actor atau class sedang hidup dan beroperasi.

5. Return Message : Digambarkan dengan garis panah putus-putus


horizontal yang berfungsi untuk menunjukkan output atau message yang
dikirim dari suatu class ke class lain.

6. Frame: Digunakan untuk menunjukkan bahwa pemanggilan method


milik class serta pengiriman message yang berada dalam frame harus
dilakukan berulang kali (looping) atau bersifat opsional (opt dan alt).

2.10.5 Activity Diagram

Menurut (Satzinger, Jackson, & Burd, 2012, pp. 57-58, 125), activity
diagram adalah suatu diagram yang digunakan untuk menggambarkan berbagai

14
aktivitas yang dilakukan oleh actor dan sistem dalam suatu proses, Actor apa
saja yang melakukan aktivitas tersebut, dan urutan aktivitas atau flow dari suatu
proses. Satu activity diagram dapat dibuat untuk satu use case jika use case
tersebut sederhana, namun lebih dari satu activity diagram dapat dibuat untuk
satu use case jika use case tersebut kompleks.
Berikut adalah penjelasan dari notasi yang akan digunakan dalam
menggambarkan activity diagram:
a. Starting Activity: Digambarkan dengan lingkaran hitam yang merupakan
representasi dari permulaan suatu proses.

b. Activity: Digambarkan dengan persegi panjang bulat yang merupakan


representasi dari aktivitas tunggal.

c. Transition Arrow: Digambarkan dengan tanda panah yang menunjukkan


urutan aktivitas atau perpindahan dari suatu aktivitas ke aktivitas
berikutnya.

d. Decision: Digambarkan dengan bentuk diamond yang merupakan


representasi dari titik keputusan, di mana suatu proses akan bergerak ke
salah satu transition arrow jika kondisi untuk bergerak ke transition arrow
tersebut telah terpenuhi.

e. Split: Digambarkan dengan batang berwarna hitam dengan satu transition


arrow yang masuk dan dua atau lebih transition arrow yang keluar.
Digunakan untuk memisahkan beberapa aktivitas yang dapat dilaksanakan
secara bersamaan (concurrent)

f. Join: Digambarkan dengan batang berwarna hitam dengan dua atau lebih
transition arrow yang masuk dan satu transition arrow yang keluar. Join
menandakan akhir dari concurrent processing. Digunakan untuk
menggabungkan beberapa aktivitas yang dapat dilaksanakan secara
bersamaan (concurrent) menjadi transition arrow tunggal.

g. Ending Activity: Digambarkan dengan lingkaran hitam dalam lingkaran


kosong yang merupakan representasi dari akhir suatu proses.

h. Swimlane Heading: Merupakan representasi dari actor yang melakukan


suatu aktivitas.

i. Swimlane: Merupakan pembatas yang membagi seluruh aktivitas yang ada


dalam suatu proses berdasarkan actor yang yang melakukan aktivitas
tersebut.

15
2.11 Lima Faktor Manusia Terukur

Lima faktor manusia terukur (Shneiderman, et al., 2017, pp. 33-34):


1. Time to learn. Waktu belajar merancang antarmuka yang mudah untuk
pengguna. Sehingga penggunaan aplikasi mudah dimengerti.
2. Speed of performance. Kecepatan kinerja mengurangi kompleksitas proses
dalam aplikasi yang bertujuan untuk meningkatkan kinerja proses pada aplikasi.
3. Rate of errors by users. Tingkatan kesalahan meminimalisir tingkat kesalahan
yang mungkin terjadi dalam proses penggunaan dan memberikan penanganan
kepada pengguna.
4. Retention over time. Daya ingat membuat tampilan agar pengguna dapat dengan
mudah mengingat, dengan tujuan agar pengguna tidak membutuhkan waktu
lama untuk mempelajari penggunaan aplikasi.
5. Subjective satisfaction. Kepuasan subjektif hal ini dapat dicapai dengan
melakukan interview dan survey kepada beberapa pengguna untuk mendapat
tingkat kepuasan.

2.12 Delapan Aturan Emas

Dalam perancangan desain antar muka terdapat delapan aturan emas (Eight
Golden Rules) yang harus diperhatikan, yaitu (Shneiderman, et al., 2017, pp.
95-97):
1. Strive for consistency
Konsistensi sangat dibutuhkan dalam beberapa situasi, seperti pada penggunaan
warna, tata letak, kapitalisasi, font, hingga urutan tindakan. Prinsip ini paling
banyak dilanggar karena banyaknya bentuk konsistensi dalam perancangan.

2. Seek universal usability


Pengetahuan mengenali kebutuhan user yang beragam sehingga rancangan
interface yang dibuat bisa memfasilitasi perubahan transformasi konten sesuai
dengan kebutuhan user. Perbedaan tingkatan user seperti pemula atau ahli,
rentang usia, disabilitas, dan keberagaman teknologi membuat requirement
yang dibutuhkan semakin bertambah, sehingga memperkaya spektrum of
requirements yang menjadi panduan atau tolak ukur dalam desain. Contohnya
seperti pada user pemula ditambahkan penjelasan atau panduan pada interface,

16
atau pada user ahli ditambahkan shortcut yang membuat user dapat
mempersingkat aksi.

3. Offer informative feedback


Setiap tindakan yang dilakukan user harus ada interface feedback yang mudah
dimengerti dari sistem mengenai apa yang terjadi dari tindakan yang telah
dilakukan user, baik tindakan yang sering dan kecil maupun tindakan yang
jarang dan besar.

4. Design dialogs to yield closure


Urutan tindakan harus dikelompokkan menjadi bagian awal, tengah dan akhir.
Feedback atau dialog penutup yang informatif pada hasil akhir penyelesaian
tindakan akan membuat user merasa puas dan lega dari aksi yang telah
dilakukan, sehingga dapat menjadi indikator bagi user untuk mempersiapkan
tindakan selanjutnya.

5. Prevent errors
Desain interface dan sistem yang dirancang sebisa mungkin tidak membuat user
melakukan kesalahan. Contohnya, pada saat user harus memasukkan alamat e-
mail yang sesuai dengan format e-mail yang ada pada umumnya, jika terjadi
kesalahan, sistem harus dapat mendeteksi dan memberikan instruksi yang
mudah dimengerti, konstruktif dan spesifik.

6. Permit easy reversal of actions


Setiap tindakan yang telah dilakukan user harus dapat dikembalikan ke keadaan
semula untuk mengurangi rasa khawatir user pada saat mengetahui situasi error,
dan dapat mengembalikan tindakan pada sistuasi sebelum terjadi error.

7. Keep users in control


Pada dasarnya user merupakan pengendali sistem dan sistem merespons
terhadap aksi yang dilakukan user. Experience yang didapatkan akan membuat
user merasakan adanya tanggung jawab atas interface dan interface akan
merespon action yang dilakukan oleh user, sehingga user tidak merasakan

17
kesulitan dalam memperoleh informasi atau ketidakmampuan dalam
menghasilkan hasil yang diinginkan.

8. Reduce short-term memory load


User memiliki keterbatasan memori untuk memproses informasi, sehingga
sebuah aplikasi harus dirancang dengan tampilan yang sederhana agar mudah
dimengerti dan diingat oleh user.

2.13 Data Dictionary

Data dictionary adalah file atau sekumpulan file yang berisi metadata database. Data
dictionary berisi rekaman tentang objek lain dalam database, seperti kepemilikan data, data
relationship dengan objek lain, dan data lainnya. Data dictionary adalah komponen penting
dari setiap database relasional yang memberikan informasi tambahan tentang hubungan
antara tabel database yang berbeda, membantu mengatur data dengan cara yang rapi dan
mudah dicari, dan mencegah masalah redundansi data (Data Dictionary, 2020).

2.14 MVVM

MVVM atau Model-View-ViewModel merupakan sebuah pattern android


architecture yang tersturktur dalam penggunaanya. MVVM memiliki tujuan yang jelas
yaitu abstraksi dari view yang mengurangi jumlah business logic dalam kode-belakang.
MVVM juga memiliki beberapa keuntungan dalam penggunaannya (dicoding, 2020):
• Maintainability
Memisahkan berbagai kode yang bersih dan membuatnya mudah untuk masuk
ke bagian-bagian tertentu tanpa khawatir jika adanya perubahan
• Testability
Testability berfungsi dengan benar dan tetap bekerja meski ada perubahan
dalam pemeliharaan.
• Extensibility
Dengan menggunakan extensibility, developer memiliki peluang lebih baik
untuk membuat bagian-bagian yang reusable. Dan MVVM juga memiliki kemampuan
untuk mengganti atau menambah potongan kode baru yang sifatnya sama didalam
arsitektur.

18
2.15 Object Oriented Programming

Object-oriented programming adalah sebuah pendekatan pengembangan software di


mana struktur dari software tersebut berdasarkan pada interaksi antar object satu sama lain
untuk menyelesaikan tugas tertentu. Di dalam object-oriented programming terdapat
beberapa karakteristik yang perlu kita pahami, antara lain (Clark, 2013, p. 1):
a. Object
Object adalah sebuah struktur untuk menggabungkan data yang akan dikelola dan
prosedur-prosedur untuk bekerja dengan data tersebut. Object-object ini
diimplementasikan sebagai fungsi dari sebuah object-oriented programming (Clark,
2013, p. 3).
b. Class
Sebuah class mendefinisikan struktur dan metode yang akan terkandung dalam sebuah
object berdasarkan class tersebut. Sebuah class 18 bertanggung jawab dalam
mengatur data yang ada. Ketika mendefinisikan struktur dari sebuah class, kita harus
menentukan data apa yang akan dikelola oleh class tersebut. Atribut dari class
mengidentifikasikan informasi dari data yang ditangani oleh class (Clark, 2013, p. 16).
c. Encapsulation
Encapsulation adalah proses di mana akses langsung pada suatu data tidak diberikan,
namun disembunyikan. Apabila kita ingin mendapatkan akses suatu data, kita harus
berinteraksi dengan object yang bertanggung jawab terhadap data tersebut. Dengan
adanya encaplsulation pada data, kita membuat data yang kita miliki lebih aman dan
dapat diandalkan karena kita mengetahui bagaimana suatu data dapat diakses dan
operasi apa yang sedang bekerja pada data tersebut (Clark, 2013, p. 4).
d. Polymorphism
Polymorphism adalah kemampuan dua object berbeda untuk menanggapi pesan
permintaan yang sama dengan cara unik dari masing-masing object tersebut. Dalam
OOP, kita bisa mengimplementasikan polymorphism ini melalui sebuah proses yang
dinamakan overloading, yang memungkinkan kita mengimplementasikan method
yang berbeda dari sebuah object yang memiliki nama yang sama (Clark, 2013, p. 4).
e. Inheritance
Inheritance digunakan di OOP untuk mengklasifikasi object-object dalam program
kita yang memiliki karakteristik dan fungsi yang sama. Hal ini membuat kinerja
melalui object-object yang ada lebih mudah. Selain itu, proses pemrograman lebih

19
mudah karena ini memungkinkan kita untuk menggabungkan karakteristik umum ke
parent object dan menurunkan karakteristik tersebut ke child object (Clark, 2013, p.
5).

20
BAB 3 METODE PELAKSANAAN

3.1 Metode Penelitian


3.1.1 Metode Pengembangan Aplikasi
Metode yang digunakkan dalam perancangan dan pembuatan aplikasi ini yaitu
dengan menggunakan metode Waterfall Model. Waterfall Model adalah model
yang bersifat sistematis dalam membuat aplikasi.

Gambar 3.1 Waterfall Model

3.1.1.1 Communication
Sebelum mengerjakan pembuatan aplikasi, diperlukan adanya
komunikasi dengan calon customer sehingga developer dapat
memahami apa yang dibutuhkan calon customer dengan membagikan
kuisioner menggunakan google form dan melakukan wawancara secara
langsung terhadap calon customer.

3.1.1.2 Planning
Pada tahap ini, developer memutuskan kebutuhan dari calon
customer untuk dimasukan pada aplikasi yang akan dibuat. Selain itu,
developer membuat timeline yang akan dijadikan target dalam
pembuatan aplikasi sehingga lebih teroganisasi.

3.1.1.3 Modelling
Setelah melakukan planning pada aplikasi, developer mulai
mengerjakan desain aplikasi yang diinginkan sesuai dengan analisis
terhadap kuesioner yang telah disebarkan dan wawancara yang telah
dilakukan. Desain tersebut meliputi, arsitektur software, desain UI yang

21
dapat menggunakan storyboard sebagai gambaran kasar dari aplikasi,
dan desain database dari aplikasi.

3.1.1.4 Construction
Pada tahap ini, developer mulai mengerjakan coding pada
aplikasi. Coding dibuat sesuai dengan desain pada tahap modelling.
Aplikasi dibuat menggunakan Database dan Firebase, dimana
pengerjaannya menggunakan bahasa pemograman Kotlin sebagai
penyimpanan. Pada tahap ini juga dilakukan testing terhadap
fungsionalitas aplikasi. Testing dilakukan untuk menemukan bug yang
ada sehingga dapat diperbaiki.

3.1.1.5 Deployment
Pada tahap ini, aplikasi akan dirilis dan developer bertugas untuk
mengevaluasi kepuasan user saat menggunakannya. Evaluasi dilakkan
dengan survey berupa kuisioner dan wawancara secara langsung dengan
isi pertanyaan tentang pengalaman user terhadap aplikasi yang
dijalankan sehingga developer dapat menjadikan review user sebagai
bahan pertimbangan untuk memperbaiki dan mengimprovisasi aplikasi.

22
DAFTAR PUSTAKA

Pressman, R.S. (2015). Rekayasa Perangkat Lunak: Pendekatan Praktisi Buku I. Yogyakarta:
Andi

Clark, D. (2013). Beginning C# Object-Oriented Programming. In D. Clark, Beginning C#


Object-Oriented Programming (p. 1).
Shneiderman, B., & Plaisant, C. (2010). Designing the User Interface: Strategies for Effective
Human-Computer Interaction, 5th Edition. United States of America: Pearson.
Satzsinger, J. W., Jackson, R. B., & Burd, S. D. (2012). Systems Analysis and Design in a
Changing World, Sixth Edition. Boston: Cengage Learning

Pressman, R. S., & Maxim, B. R. (2015). SOFTWARE ENGINEERING: A PRACTITIONER’S


APPROACH, 8th EDITION New York. New York: McGraw-Hill Education.

Pressman, R.S. (2015). Rekayasa Perangkat Lunak: Pendekatan Praktisi Buku I. Yogyakarta:
Andi

Sinha, P. K., & Sinha, P. (2016). Information Technology: Theory and Practice. Delhi: PHI
Learning

https://www.dicoding.com/blog/apa-itu-kotlin-kenapa-kita-harus-mempelajari-kotlin/

https://www.dicoding.com/blog/apa-itu-database/

https://www.niagahoster.co.id/blog/pengertian-flutter/

https://www.dicoding.com/blog/apa-itu-database/

https://qwords.com/blog/firebase-adalah/

https://id.wikipedia.org/wiki/Android_(sistem_operasi)

Survei: 16,5 Persen Masyarakat Habiskan Waktu Main Game Online selama Pandemi Covid-
19 (inews.id)

23

Anda mungkin juga menyukai