BINUS University
<< Tahun Ajaran 2021/2022 >>
Diperiksa oleh**
1.4.1 Tujuan.................................................................................................................... 3
2.1 Flutter................................................................................................................................... 5
2.3 DBMS.................................................................................................................................... 5
2.6 Android................................................................................................................................. 8
ii
BAB 1 PENDAHULUAN
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%.
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.
Berdasarkan latar belakang yang terjadi diatas, dapat diambil suatu perumusan masalah
sebagai berikut:
2
1.4 Tujuan dan Manfaat
1.4.1 Tujuan
Terdapat beberapa tujuan dari pembuatan aplikasi ini adalah sebagai berikut:
1.4.2 Manfaat
Terdapat beberapa manfaat dari pembuatan aplikasi ini adalah sebagai berikut:
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
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:
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 :
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
2.8 Storyboard
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
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).
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
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>>”
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).
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).
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.
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.
a. Public
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. 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.
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.
15
2.11 Lima Faktor Manusia Terukur
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.
16
atau pada user ahli ditambahkan shortcut yang membuat user dapat
mempersingkat aksi.
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.
17
kesulitan dalam memperoleh informasi atau ketidakmampuan dalam
menghasilkan hasil yang diinginkan.
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
18
2.15 Object Oriented Programming
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.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
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