Oleh :
KoTA 209
iii
Nama : Firstdeyan Septiana Putra
NIM : 191511044
NIM : 191511039
iv
Nama : Kynara Rissalati Arsy
NIM : 191511050
v
ABSTRAK
vi
ABSTRACT
vii
viii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, karena berkat rahmat, ridho,
karunia, dan ilmu-Nya penulis dapat menyelesaikan laporan tugas akhir dengan
judul “Pengembangan Aplikasi Onboarding Karyawan Di CV Garuda Infinity
Kreasindo”.
Selain sebagai syarat untuk lulus dari program studi D3-Teknik Informatika
Jurusan Teknik Komputer dan Informatika Politeknik Negeri Bandung, tugas
akhir ini juga bertujuan untuk membantu CV Garuda Infinity Kreasindo dalam
melaksanakan program onboarding yang selalu dilaksanakan Ketika mendapat
pegawai baru.
Tugas akhir ini tidak akan bisa selesai tanpa bantuan berupa arahan, bimbingan,
serta dukungan berupa materil maupun moril dari berbagai pihak. Oleh karena itu,
terimakasih yang sebesar-besarnya penulis ucapkan kepada:
ix
8. Orang tua penulis yang telah memberikan dukungan dan do’a.
9. Alumni Jurusan Teknik Komputer dan Informatika Politeknik Negeri
Bandung.
10. Rekan-rekan Jurusan Teknik Komputer dan Informatika Politeknik Negeri
Bandung.
11. Semua pihak yang terlibat dalam pelaksanaan tugas akhir ini yang tidak
bisa penulis sebukat satu-satu.
Penulis menyadari masih banyak kekurangan pada laporan tugas akhir ini, oleh
karenanya kritik dan saran sangat kami harapkan upaya memperbaiki dan
meningkatkan kualitas laporan ini. Semoga laporan tugas akhir ini dapat
bermanfaat bagi penulis dan bagi setiap pihak yang membaca laporan.
12.
x
DAFTAR ISI
PERNYATAAN PENULIS....................................................................................iii
ABSTRAK..............................................................................................................vi
ABSTRACT...........................................................................................................vii
KATA PENGANTAR..........................................................................................viii
DAFTAR ISI............................................................................................................x
DAFTAR GAMBAR............................................................................................xvi
DAFTAR TABEL..................................................................................................xx
DAFTAR SINGKATAN....................................................................................xxvi
DAFTAR SIMBOL...........................................................................................xxvii
BAB I PENDAHULUAN........................................................................................1
I.1 Latar Belakang...........................................................................................1
I.2 Rumusan Masalah......................................................................................2
I.3 Tujuan........................................................................................................3
I.4 Ruang Lingkup...........................................................................................3
I.5 Batasan Aplikasi........................................................................................4
BAB II TINJAUAN PUSTAKA..............................................................................6
II.1 Dasar Teori.................................................................................................6
II.1.1 Onboarding.......................................................................................6
II.1.2 Sistem Informasi...............................................................................7
II.1.3 Aplikasi Mobile................................................................................7
II.1.4 SDLC Incremental............................................................................8
II.2 Teknologi Yang Digunakan.......................................................................9
II.2.1 Flutter...............................................................................................9
II.2.2 .Net Framework..............................................................................10
II.2.3 Web API.........................................................................................10
II.2.4 PostgreSQL.....................................................................................11
BAB III METODOLOGI PELAKSANAAN.......................................................12
III.1 Alur Pelaksanaan.....................................................................................12
III.1.1 Pendefinisian Masalah....................................................................13
xi
III.1.2 Studi Literatur.................................................................................13
III.1.3 Pengumpulan Data..........................................................................13
III.1.4 Penguasaan Teknologi....................................................................14
III.1.5 Pengembangan Aplikasi.................................................................14
III.1.6 Penyelesaian Laporan TA...............................................................14
III.2 Pengembangan Aplikasi...........................................................................14
BAB IV ANALISIS..............................................................................................19
IV.1 Analisis Sistem Saat ini...........................................................................19
IV.1.1 Analisis Stakeholder.......................................................................19
IV.1.2 Pelaksanaan Onboarding................................................................19
IV.1.2.1 Pengenalan Perusahaan................................................................20
IV.1.2.2 Visi Misi.......................................................................................20
IV.1.2.3 Anggota Tim................................................................................20
IV.1.2.4 Budaya Kerja................................................................................20
IV.1.3 Pemberian Materi...........................................................................21
IV.1.4 Pencatatan dan Pengawasan Peserta...............................................21
IV.1.5 Analisis Aturan Bisnis....................................................................22
IV.2 Analisis Kebutuhan Pihak CV Garuda....................................................22
IV.3 Analisis Aplikasi Sejenis.........................................................................23
IV.4 Evaluasi dan Usulan Solusi......................................................................26
IV.4.1 Evaluasi Masalah pada Stakeholder...............................................26
IV.4.2 Solusi Pelaksanaan Onboarding.....................................................27
IV.4.3 Solusi Pemberian Materi................................................................28
IV.4.4 Solusi Pencatatan dan Pengawasan................................................28
IV.4.5 Evaluasi Masalah pada Aturan Bisnis............................................29
IV.4.6 Prosedur Aplikasi...........................................................................30
IV.5 Analisis Aplikasi Yang Akan Dibangun..................................................34
IV.5.1 Analisis Stakeholder.......................................................................34
IV.5.2 Analisis Pembagian Kerja Client Dan Server................................34
IV.5.3 Increment 1.....................................................................................35
IV.5.3.1 Analisis Fitur Yang Dikembangkan.............................................35
xii
IV.5.3.1.1 Fitur Web Admin..................................................................35
IV.5.3.1.2 Fitur Aplikasi Mobile (peserta Onboarding).........................36
IV.5.3.1.3 Fitur Aplikasi Mobile (mentor).............................................36
IV.5.4 Increment 2.....................................................................................36
IV.5.4.1 Analisis Fitur Yang Dikembangkan.............................................36
IV.5.4.1.1 Fitur Web Admin..................................................................36
IV.5.4.1.2 Fitur Aplikasi Mobile (peserta Onboarding).........................37
IV.5.4.1.3 Fitur Aplikasi Mobile (mentor).............................................38
IV.5.5 Increment 3.....................................................................................38
IV.5.5.1 Analisis Fitur Yang Dikembangkan.............................................38
IV.5.5.1.1 Fitur Web Admin..................................................................38
IV.5.5.1.2 Fitur Aplikasi Mobile (peserta Onboarding).........................39
IV.5.5.1.3 Fitur Aplikasi Mobile (mentor).............................................40
IV.5.6 Analisis Aturan Bisnis....................................................................41
IV.5.7 Analisis Data Yang Dibutuhkan.....................................................42
IV.5.7.1 Data Role......................................................................................42
IV.5.7.2 Data Job Title...............................................................................42
IV.5.7.3 Data Admin..................................................................................43
IV.5.7.4 Data User......................................................................................44
IV.5.7.5 Data Activity Category................................................................45
IV.5.7.6 Data Activity................................................................................46
IV.5.7.7 Data Activity Owned...................................................................46
IV.5.7.8 Data Activity Detail.....................................................................47
IV.5.8 Analisis Penggunaan Teknologi Pengembangan Aplikasi.............48
IV.5.9 Domain Model................................................................................50
IV.6 Kesimpulan Analisis................................................................................51
BAB V PERANCANGAN...................................................................................52
V.1 Perancangan Model Statis........................................................................52
V.1.1 Perancangan Arsitektur Aplikasi....................................................52
V.1.1.1 Deskripsi Layer Back-End Aplikasi.............................................57
V.1.1.2 Deskripsi Layer Aplikasi Web.....................................................58
xiii
V.1.1.3 Deskripsi Layer Aplikasi Mobile.................................................60
V.1.1.4 Deskripsi Layer Aplikasi Mobile Mentor....................................61
V.1.2 Perancangan Kelas..........................................................................63
V.1.3 Perancangan Data Model................................................................78
V.1.3.1 Perancangan Logical Data Model................................................79
V.2.3.1 Perancangan Physical Data Model...............................................80
V.2 Perancangan Model Dinamis...................................................................80
V.2.1 Perancangan Interaksi Antar Objek................................................80
V.2.1.1 Increment 1..................................................................................81
V.2.1.1.1 Proses Pada Aplikasi Web....................................................81
V.2.1.1.2 Proses Pada Aplikasi Mobile Peserta Onboarding................93
V.2.1.1.3 Proses Pada Aplikasi Mobile Mentor....................................96
V.2.1.2 Increment 2..................................................................................96
V.2.1.2.1 Proses Pada Aplikasi Web....................................................96
V.2.1.2.2 Proses Pada Aplikasi Mobile Peserta Onboarding..............108
V.2.1.2.3 Proses Pada Aplikasi Mobile Mentor..................................113
V.2.1.3 Increment 3................................................................................117
V.2.1.3.1 Proses Pada Aplikasi Web..................................................117
V.2.1.3.2 Proses Pada Aplikasi Mobile Peserta Onboarding..............124
V.2.1.3.3 Proses Pada Aplikasi Mobile Mentor..................................127
V.2.2 Perancangan UI Aplikasi..............................................................136
V.2.2.1 Increment 1................................................................................136
V.2.2.1.1 Perancangan UI Aplikasi Web............................................136
V.2.2.1.2 Perancangan UI Aplikasi Mobile Peserta Onboarding.......143
V.2.2.1.3 Perancangan UI Aplikasi Mobile Mentor...........................147
V.2.2.2 Increment 2................................................................................147
V.2.2.2.1 Perancangan UI Aplikasi Web............................................147
V.2.2.2.2 Perancangan UI Aplikasi Mobile Peserta Onboarding.......152
V.2.2.2.3 Perancangan UI Aplikasi Mobile Mentor...........................156
V.2.2.3 Increment 3................................................................................160
V.2.2.3.1 Perancangan UI Aplikasi Web............................................160
xiv
V.2.2.3.2 Perancangan UI Aplikasi Mobile Peserta Onboarding.......163
V.2.2.3.3 Perancangan UI Aplikasi Mobile Mentor...........................165
V.2.3 Perancangan Alur Kegiatan Actor terhadap Sistem.....................171
V.2.3.1 Increment 1................................................................................171
V.2.3.1.1 Activity Diagram Aplikasi Web.........................................171
V.2.3.1.2 Activity Diagram Aplikasi Mobile Peserta Onboarding.....175
V.2.3.1.3 Activity Diagram Aplikasi Mobile Mentor.........................177
V.2.3.2 Increment 2................................................................................177
V.2.3.2.1 Activity Diagram Aplikasi Web.........................................177
V.2.3.2.2 Activity Diagram Aplikasi Mobile Peserta Onboarding.....180
V.2.3.2.3 Activity Diagram Aplikasi Mobile Mentor.........................183
V.2.3.3 Increment 3................................................................................185
V.2.3.3.1 Activity Diagram Aplikasi Web.........................................185
V.2.3.3.2 Activity Diagram Aplikasi Mobile Peserta Onboarding.....188
V.2.3.3.3 Activity Diagram Aplikasi Mobile Mentor.........................190
V.3 Matriks Keterhubungan Perancangan dengan Requirement..................194
BAB VI IMPLEMENTASI................................................................................200
VI.1 Hasil Implementasi Increment 1............................................................200
VI.1.1 Implementasi Aplikasi Web.........................................................200
VI.1.2 Implementasi Aplikasi Mobile.....................................................206
VI.1.3 Implementasi Aplikasi Mobile Mentor........................................210
VI.2 Hasil Implementasi Increment 2............................................................210
VI.2.1 Implementasi Aplikasi Web.........................................................211
VI.2.2 Implementasi Aplikasi Mobile.....................................................214
VI.2.3 Implementasi Aplikasi Mobile Mentor........................................218
VI.3 Hasil Implementasi Increment 3............................................................222
VI.3.1 Implementasi Aplikasi Web.........................................................223
VI.3.2 Implementasi Aplikasi Mobile.....................................................225
VI.3.3 Implementasi Aplikasi Mobile Mentor........................................226
VI.4 Perbedaan Hak Akses............................................................................231
VI.5 Matriks Keterhubungan Implementasi...................................................233
xv
BAB VII PENGUJIAN.......................................................................................237
VII.1 Lingkup Pengujian.................................................................................237
VII.1.1 Unit Test.......................................................................................237
VII.1.1.1 Aplikasi Web...........................................................................237
VII.1.1.2 Aplikasi Mobile Peserta Onboarding......................................237
VII.1.1.3 Aplikasi Mobile Mentor..........................................................238
VII.1.2 Integration Test.............................................................................238
VII.2 Rencana Pengujian.................................................................................238
VII.2.1 Tahapan Pengujian.......................................................................238
VII.2.2 Jenis Pengujian.............................................................................239
VII.3 Kesimpulan Hasil Pengujian..................................................................239
VII.3.1 Unit Test.......................................................................................239
VII.3.1.1 Aplikasi Web...........................................................................239
VII.3.1.2 Aplikasi Mobile Peserta Onboarding.......................................240
VII.3.1.3 Aplikasi Mobile Mentor..........................................................241
VII.3.2 Integration Test.............................................................................241
VII.3.3 UAT..............................................................................................242
VII.3.3.1 UAT Aplikasi Web..................................................................242
VII.3.3.2 UAT Aplikasi Mobile Peserta Onboarding.............................243
VII.3.3.3 UAT Aplikasi Mobile Mentor.................................................244
BAB VIII PENUTUP...........................................................................................245
VIII.1Kesimpulan............................................................................................245
VIII.2Saran......................................................................................................246
DAFTAR PUSTAKA..........................................................................................247
xvi
DAFTAR GAMBAR
xvii
Gambar V.20 SD Mengubah Data Jobtitle............................................................91
Gambar V.21 SD Menghapus Data Jobtitle...........................................................92
Gambar V.22 SD Login Peserta Onboarding.........................................................93
Gambar V.23 SD Menampilkan Profile Peserta Onboarding................................94
Gambar V.24 SD Mengubah Profile Peserta Onboarding.....................................95
Gambar V.25 SD Menampilkan Daftar Activity...................................................97
Gambar V.26 SD Menambah Data Activity..........................................................98
Gambar V.27 SD Mengubah Data Activity...........................................................99
Gambar V.28 SD Menghapus Data Activity........................................................100
Gambar V.29 SD Menampilkan Data Activity Owned.......................................102
Gambar V.30 SD Assign Activity.........................................................................103
Gambar V.31 SD Menampilkan Daftar Kategori Activity...................................104
Gambar V.32 SD Menambah Data Kategori Activity..........................................105
Gambar V.33 SD Mengubah Data Kategori Activity...........................................106
Gambar V.34 SD Menghapus Data Kategori Activity.........................................107
Gambar V.35 SD Mengubah Password Peserta Onboarding..............................108
Gambar V.36 SD Menampilkan Activity Berdasarkan Kategori.........................109
Gambar V.37 SD Menampilkan Detail Activity..................................................110
Gambar V.38 SD Submit Activity........................................................................111
Gambar V.39 SD Menampilkan Progress Bar....................................................112
Gambar V.40 SD Login Mentor..........................................................................113
Gambar V.41 SD Menampilkan Profile Mentor..................................................114
Gambar V.42 SD Mengubah Profile Mentor.......................................................115
Gambar V.43 SD Mengubah Password Mentor...................................................116
Gambar V.44 SD Menampilkan Daftar Home Activity........................................117
Gambar V.45 SD Menambah Data Home Activity...............................................118
Gambar V.46 SD Mengubah Data Home Activity...............................................120
Gambar V.47 SD Menghapus Data Home Activity..............................................121
Gambar V.48 SD Mengubah Password Admin...................................................122
Gambar V.49 SD Mengubah Password Peserta Onboarding dan Mentor...........123
Gambar V.50 SD Menampilkan LeaderBoard....................................................125
xviii
Gambar V.51 SD Menampilkan Home Activity...................................................126
Gambar V.52 SD Menampilkan Detail Home Activity........................................127
Gambar V.53 SD Menampilkan Daftar Peserta...................................................128
Gambar V.54 SD Menampilkan Progress Bar....................................................129
Gambar V.55 SD Menampilkan Daftar Activity Owned Berdasarkan Peserta....130
Gambar V.56 SD Menampilkan Daftar Activity Owned Yang Perlu Validasi....131
Gambar V.57 SD Menampilkan Daftar Activity Owned Berdasarkan Status......132
Gambar V.58 SD Menampilkan Detail Activity Owned......................................133
Gambar V.59 SD Validasi Activity......................................................................134
Gambar V.60 SD Menampilkan Leaderboard.....................................................135
Gambar V.61 Activity Diagram Authentication Admin......................................172
Gambar V.62 Activity Diagram Pengelolaan Admin..........................................173
Gambar V.63 Activity Diagram Pengelolaan User..............................................174
Gambar V.64 Activity Diagram Pengelolaan Admin..........................................175
Gambar V.65 Activity Diagram Authentication Peserta......................................176
Gambar V.66 Activity Diagram View dan Edit Profile.......................................176
Gambar V.67 Activity Diagram Pengelolaan Activity.........................................178
Gambar V.68 Activity Diagram Assign Activity Kepada Peserta Onboarding...178
Gambar V.69 Activity Diagram Pengelolaan Kategori Activity.........................179
Gambar V.70 Activity Diagram Daftar Activity Owned.....................................179
Gambar V.71 Activity Diagram Lihat Activity...................................................181
Gambar V.72 Activity Diagram Change Password.............................................182
Gambar V.73 Activity Diagram Lihat Detail Activity.........................................183
Gambar V.75 Activity Diagram Authentication Mentor.....................................184
Gambar V.76 Activity Diagram view dan edit profile........................................185
Gambar V.77 Activity Diagram Change Password.............................................185
Gambar V.78 Activity Diagram Pengelolaan Home Activity...............................186
Gambar V.79 Activity Diagram Change Password Admin.................................187
Gambar V.80 Activity Diagram Change Password Oleh Admin........................187
Gambar V.81 Activity Diagram Notifikasi..........................................................188
Gambar V.82 Activity Diagram Notifikasi..........................................................188
xix
Gambar V.83 Activity Diagram Progress Bar.....................................................189
Gambar V.84 Activity Diagram Leaderboard......................................................189
Gambar V.85 Activity Diagram Lihat Home Activity.........................................190
Gambar V.86 Activity Diagram Lihat Activity Berdasarkan Peserta..................192
Gambar V.87 Activity Diagram Validasi Penyelesaian Activity.........................192
Gambar V.88 Activity Diagram Notifikasi..........................................................193
Gambar V.89 Activity Diagram Progress Bar.....................................................193
Gambar V.90 Activity Diagram Leaderboard......................................................194
xx
DAFTAR TABEL
xxi
Tabel V.23 SD Mengubah Data Jobtitle................................................................91
Tabel V.24 SD Menghapus Data Jobtitle...............................................................92
Tabel V.25 SD Login Peserta Onboarding............................................................93
Tabel V.26 SD Menampilkan Profile Peserta Onboarding....................................94
Tabel V.27 SD Mengubah Profile Peserta Onboarding.........................................95
Tabel V.28 SD Menampilkan Daftar Activity.......................................................97
Tabel V.29 SD Menambah Data Activity..............................................................98
Tabel V.30 SD Mengubah Data Activity...............................................................99
Tabel V.31 SD Menghapus Data Activity...........................................................100
Tabel V.32 SD Menampilkan Data Activity Owned...........................................102
Tabel V.33 SD Assign Activity.............................................................................103
Tabel V.34 SD Menampilkan Daftar Kategori Activity.......................................104
Tabel V.35 SD Menambah Data Kategori Activity..............................................105
Tabel V.36 SD Mengubah Data Kategori Activity...............................................106
Tabel V.37 SD Menghapus Data Kategori Activity.............................................107
Tabel V.38 SD Mengubah Password Peserta Onboarding.................................108
Tabel V.39 SD Menampilkan Activity Berdasarkan Kategori............................109
Tabel V.40 SD Menampilkan Detail Activity......................................................110
Tabel V.41 SD Submit Activity............................................................................111
Tabel V.42 SD Menampilkan Progress................................................................112
Tabel V.43 SD Login Mentor..............................................................................113
Tabel V.44 SD Menampilkan Profile Mentor.....................................................114
Tabel V.45 SD Mengubah Profile Mentor...........................................................115
Tabel V.46 SD Mengubah Password Mentor.....................................................116
Tabel V.47 SD Menampilkan Daftar Home Activity...........................................118
Tabel V.48 SD Menambah Data Home Activity..................................................119
Tabel V.49 SD Mengubah Data Home Activity...................................................120
Tabel V.50 SD Menghapus Data Home Activity..................................................121
Tabel V.51 SD Mengubah Password Admin.......................................................123
Tabel V.52 SD Mengubah Password Peserta Onboarding dan Mentor...............124
Tabel V.53 SD Menampilkan LeaderBoard........................................................125
xxii
Tabel V.54 SD Menampilkan Home Activity.......................................................126
Tabel V.55 SD Menampilkan Detail Home Activity............................................127
Tabel V.56 SD Menampilkan Daftar Peserta.......................................................128
Tabel V.57 SD Menampilkan Progress Bar........................................................129
Tabel V.58 SD Menampilkan Daftar Activity Owned Berdasarkan Peserta........130
Tabel V.59 SD Menampilkan Daftar Activity Owned Yang Perlu Validasi.......131
Tabel V.60 SD Menampilkan Daftar Activity Owned Berdasarkan Status.........132
Tabel V.61 SD Menampilkan Detail Activity Owned..........................................133
Tabel V.62 SD Validasi Activity.........................................................................134
Tabel V.63 SD Menampilkan Leaderboard........................................................135
Tabel V.64 Deskripsi GUI-01-Website...............................................................136
Tabel V.65 Deskripsi GUI-02-Website...............................................................137
Tabel V.66 Deskripsi GUI-03-Website...............................................................138
Tabel V.67 Deskripsi GUI-04-Website...............................................................138
Tabel V.68 Deskripsi GUI-05-Website...............................................................139
Tabel V.69 Deskripsi GUI-06-Website...............................................................140
Tabel V.70 Deskripsi GUI-07-Website...............................................................140
Tabel V.71 Deskripsi GUI-08-Website...............................................................141
Tabel V.72 Deskripsi GUI-09-Website...............................................................142
Tabel V.73 Deskripsi GUI-01-Mobile.................................................................143
Tabel V.74 Deskripsi GUI-02-Mobile.................................................................144
Tabel V.75 Deskripsi GUI-07-Mobile.................................................................145
Tabel V.76 Deskripsi GUI-08-Mobile.................................................................146
Tabel V.77 Deskripsi GUI-10-Website...............................................................147
Tabel V.78 Deskripsi GUI-11-Website...............................................................148
Tabel V.79 Deskripsi GUI-12-Website...............................................................149
Tabel V.80 Deskripsi GUI-13-Website...............................................................149
Tabel V.81 Deskripsi GUI-17-Website...............................................................150
Tabel V.82 Deskripsi GUI-19-Website...............................................................151
Tabel V.83 Deskripsi GUI-09-Mobile.................................................................152
Tabel V.84 Deskripsi GUI-03-Mobile.................................................................153
xxiii
Tabel V.85 Deskripsi GUI-04-Mobile.................................................................154
Tabel V.86 Deskripsi GUI-05-Mobile.................................................................155
Tabel V.87 Deskripsi GUI-01-Mobile_Mentor...................................................156
Tabel V.88 Deskripsi GUI-07-Mobile_Mentor...................................................157
Tabel V.89 Deskripsi GUI-08-Mobile_Mentor...................................................158
Tabel V.90 Deskripsi GUI-09-Mobile_Mentor...................................................159
Tabel V.91 Deskripsi GUI-14-Website...............................................................160
Tabel V.92 Deskripsi GUI-15-Website...............................................................161
Tabel V.93 Deskripsi GUI-16-Website...............................................................162
Tabel V.94 Deskripsi GUI-18-Website...............................................................162
Tabel V.95 Deskripsi GUI-06-Mobile.................................................................163
Tabel V.96 Deskripsi GUI-10-Mobile.................................................................164
Tabel V.97 Deskripsi GUI-02-Mobile_Mentor...................................................165
Tabel V.98 Deskripsi GUI-03-Mobile_Mentor...................................................166
Tabel V.99 Deskripsi GUI-04-Mobile_Mentor...................................................167
Tabel V.100 Deskripsi GUI-05-Mobile_Mentor.................................................168
Tabel V.101 Deskripsi GUI-06-Mobile_Mentor.................................................169
Tabel V.102 Deskripsi GUI-10-Mobile_Mentor.................................................170
Tabel V.103 Keterhubungan Design Item dengan Requirement..........................194
Tabel VI.1 Deskripsi IM-01-Website..................................................................200
Tabel VI.2 Deskripsi IM-02-Website..................................................................201
Tabel VI.3 Deskripsi IM-03-Website..................................................................202
Tabel VI.4 Deskripsi IM-04-Website..................................................................202
Tabel VI.5 Deskripsi IM-05-Website..................................................................203
Tabel VI.6 Deskripsi IM-06-Website..................................................................203
Tabel VI.7 Deskripsi IM-07-Website..................................................................204
Tabel VI.8 Deskripsi IM-08-Website..................................................................204
Tabel VI.9 Deskripsi IM-09-Website..................................................................205
Tabel VI.10 Deskripsi IM-01-Mobile..................................................................206
Tabel VI.11 Deskripsi IM-02-Mobile..................................................................207
Tabel VI.12 Deskripsi IM-07-Mobile..................................................................208
xxiv
Tabel VI.13 Deskripsi IM-08-Mobile..................................................................209
Tabel VI.14 Deskripsi IM-10-Website................................................................211
Tabel VI.15 Deskripsi IM-11-Website................................................................211
Tabel VI. 16 Deskripsi IM-12-Website...............................................................212
Tabel VI.17 Deskripsi IM-13-Website................................................................212
Tabel VI.18 Deskripsi IM-17-Website................................................................213
Tabel VI.19 Deskripsi IM-19-Website................................................................214
Tabel VI.20 Deskripsi IM-09-Mobile..................................................................214
Tabel VI. 21 Deskripsi IM-03-Mobile.................................................................215
Tabel VI.22 Deskripsi IM-04-Mobile..................................................................216
Tabel VI.23 Deskripsi IM-05-Mobile..................................................................217
Tabel VI.24 Deskripsi IM-01-Mobile_Mentor....................................................218
Tabel VI.25 Deskripsi IM-07-Mobile_Mentor....................................................219
Tabel VI.26 Deskripsi IM-08-Mobile_Mentor....................................................220
Tabel VI.27 Deskripsi IM-09-Mobile_Mentor....................................................221
Tabel VI.28 Deskripsi IM-14-Website................................................................223
Tabel VI.29 Deskripsi IM-15-Website................................................................223
Tabel VI.30 Deskripsi IM-16-Website................................................................224
Tabel VI.31 Deskripsi IM-18-Website................................................................224
Tabel VI.32 Deskripsi IM-06-Mobile..................................................................225
Tabel VI.33 Deskripsi IM-02-Mobile_Mentor....................................................226
Tabel VI.34 Deskripsi IM-03-Mobile_Mentor....................................................227
Tabel VI.35 Deskripsi IM-04-Mobile_Mentor....................................................228
Tabel VI.36 Deskripsi IM-05-Mobile_Mentor....................................................229
Tabel VI.37 Deskripsi IM-06-Mobile_Mentor....................................................230
Tabel VI.38 Perbedaan Hak Akses......................................................................231
Tabel VI.39 Matriks Keterhubungan Implementasi.............................................233
Tabel VII.1 Resume Testing Aplikasi Web.........................................................239
Tabel VII.2 Resume Testing Aplikasi Mobile Peserta........................................241
Tabel VII.3 Resume Testing Aplikasi Mobile Mentor........................................241
Tabel VII.4 Resume Integration Test...................................................................241
xxv
Tabel VII.5 Resume UAT Aplikasi Web.............................................................242
Tabel VII.6 Resume UAT Aplikasi Mobile Peserta............................................243
Tabel VII.7 Resume UAT Aplikasi Mobile Mentor............................................244
xxvi
DAFTAR SINGKATAN
SD Sequence Diagram 89
xxvii
DAFTAR SIMBOL
xxviii
BAB I
PENDAHULUAN
Sumber Daya Manusia atau SDM merupakan salah satu pilar penting dalam
berdirinya suatu bisnis atau perusahaan. Karyawan tentu saja merupakan sumber
daya manusia yang dimiliki oleh suatu perusahaan yang merupakan salah satu
aspek penentu keberhasilan sebuah perusahaan. Oleh karena itu, pengelolaan
karyawan di perusahaan juga harus menjadi hal penting yang harus diperhatikan.
Dimulai dari pencarian talent terbaik dari kandidat yang ada untuk kemudian
ditempatkan pada posisi yang dibutuhkan, proses onboarding, hingga proses
pengembangan karyawan menjadi SDM yang berkualitas dalam artian dapat
memberikan feedback yang diharapkan oleh perusahaan.
1
2
Kemudian untuk mencatat dan memonitor apa saja yang sudah atau sedang
dikerjakan oleh peserta onboarding, mentor harus mengisi Spreadsheet yang
disediakan oleh CV Garuda supaya progres dari setiap karyawan dapat diketahui.
Hal tersebut dianggap kurang efisien, oleh karena itu CV Garuda menginginkan
proses tersebut didigitalisasi sehingga mempermudah pekerjaan mentor.
Maka dari itu dengan mengoptimalkan teknologi dibuat aplikasi sebagai sarana
digitalisasi untuk menerapkan cara yang lebih efisien dalam pengolahan data
materi dan progres onboarding agar lebih mudah diproduksi, disimpan, dikelola,
dan didistribusikan. Pengoptimalisasian teknologi tersebut diwujudkan dalam
sebuah aplikasi yang mampu mendigitalisasi proses pemberian materi,
pengaksesan materi, pengawasan, dan pencatatan pada onboarding di CV Garuda
secara terpusat.
I.3 Tujuan
Pada bab ini, dicantumkan dasar teori, dan teknologi yang dipakai untuk
mendukung pelaksanaan tugas akhir serta pengembangan aplikasi.
II.1.1 Onboarding
6
7
Sistem informasi (SI) secara umum adalah suatu sistem yang mengkombinasikan
antara aktivitas manusia dan penggunaan teknologi untuk mendukung manajemen
dan kegiatan operasional. Dimana, hal tersebut merujuk pada sebuah hubungan
yang tercipta berdasarkan interaksi manusia, data, informasi, teknologi, dan
algoritma. Tujuan dari pengembangan sistem informasi adalah untuk
menghasilkan sebuah produk yang berisi kumpulan informasi. Sebuah sistem
tentunya melibatkan berbagai jenis dan tipe data yang mampu diolah agar dapat
ditampilkan dengan mudah kepada pengguna (user) (Adani, 2021).
Aplikasi ini menjadi salah satu sistem informasi yang ada di CV Garuda.
diharapkan dengan adanya sistem informasi khususnya pada kegiatan onboarding
dapat meningkatkan kualitas sumber daya manusia yang akan menjadi karyawan
di perusahaan dengan aksesibilitas data yang baik sehingga data dan informasi
yang didapatkan oleh perusahaan maupun karyawan lebih cepat dan akurat.
Aplikasi mobile atau sering juga disebut dengan istilah Mobile Apps adalah
aplikasi dari sebuah perangkat lunak yang dalam pengoperasiannya dapat berjalan
di perangkat mobile (Smartphone, Tablet, iPod, dll), dan memiliki sistem operasi
yang mendukung perangkat lunak secara standalone. Platform pendistribusian
aplikasi mobile yang tersedia, biasanya dikelola oleh owner dari mobile operating
system, seperti store (Apple App), store (Google Play), Store (Windows Phone)
dan world (BlackBerry App) (Putra, 2022).
Aplikasi ini dibangun berbasis mobile, tentunya dengan aplikasi mobile, user
interface dan user experience lebih mudah dimengerti. selain itu aplikasi mobile
8
Pada tahap ini melakukan analisis desain, mulai dari desain arsitektur
sistem, desain database, desain proses bisnis, desain UML, dan desain
user interface sekaligus memperkirakan alur dari sistem yang dibangun.
3. Code
Pada tahap ini dilakukan implementasi dari hasil perancangan yang sudah
dilakukan untuk satu increment. Implementasi dilakukan dengan
menggunakan framework Flutter dan .NET.
4. Test
Pada tahap ini merupakan tahap untuk proses pengujian terhadap hasil
perancangan dan hasil implementasi. Luaran dari tahap ini adalah
dokumen UAT (User Acceptance Test).
II.2.1 Flutter
Flutter merupakan SDK untuk mengembangkan aplikasi yang dirilis oleh Google.
Tidak hanya untuk mobile seperti React Native yang dirilis oleh Facebook, Flutter
dapat digunakan untuk mengembangkan aplikasi mobile, web dan desktop. Untuk
pengembangan aplikasi mobile, Flutter dapat digunakan untuk membuat aplikasi
Android dan iOS menggunakan bahasa Dart. Dart merupakan bahasa
pemrograman berbasis class dan berorientasi objek dengan menggunakan sintaks
bahasa pemrograman C yang dirilis secara open source oleh Google. Selain untuk
membuat aplikasi mobile, Dart dapat digunakan untuk mengembangkan platform
web, server dan perangkat IoT (Internet of Things) (Firmansyah, 2019).
Pada pembuatan aplikasi berbasis mobile digunakan Flutter sebagai Framework.
Hal tersebut dikarenakan Flutter memiliki beberapa kelebihan diantaranya dalam
satu kode dapat digunakan dalam dua platform seperti android dan IOS. Saat ini
aplikasi hanya dibuat untuk android sehingga apabila aplikasi akan dikembangkan
ke platform IOS akan lebih cepat dan efisien.
10
.NET Framework adalah inti dari .NET Initiative milik Microsoft yang
diluncurkan pada tahun 2000. Initiative adalah sebuah visi untuk menyediakan
platform teknologi yang memungkinkan pengembangan aplikasi, yaitu bahasa
pemrograman, perangkat keras, dan perangkat lunak yang independen. Dengan
menggunakan .NET Framework, sebuah aplikasi dapat dibangun dalam bahasa
pemrograman apapun dan dapat dijalankan pada sistem operasi dan platform
perangkat keras yang ada. .NET Framework memiliki 2 komponen utama, yaitu
CLR dan .Net Framework Class Library. Program - program yang ditulis
untuk .NET Framework dijalankan pada suatu lingkungan software yang
mengatur persyaratan-persyaratan runtime program. Runtime environment ini,
yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai
Common Language Runtime (CLR) (Pramana, 2018).
Pengembangan aplikasi ini juga menggunakan salah satu teknologi dari .NET
Framework. Teknologi tersebut, yaitu Asp.Net, pemilihan Asp.Net Dikarenakan
dalam internal perusahaan CV Garuda sendiri sudah terbiasa menggunakan
teknologi ini. Selain itu .NET Framework cukup mudah untuk dipelajari karena
dalam penggunaannya sangat cepat, simple dan efisien.
desktop. Selain itu layanan berbasis web ini akan dapat diakses dan dimanfaatkan
pada berbagai platform atau 1-3 teknologi, artinya layanan ini bisa diakses oleh
aplikasi yang dibangun dengan .NET, Java, PHP, Python, Ruby, Javascript dan
lain-lain (Faisal, 2014).
Web API digunakan sebagai media komunikasi antara aplikasi web dan aplikasi
mobile. konfigurasi menggunakan Web API memiliki keunggulan dibanding
konfigurasi data secara manual, dengan Web API proses pengambilan dan
pengiriman data ke database akan dilakukan secara otomatis, selain itu integrasi
data ke platform apapun dapat digunakan dengan mudah. Karena dalam topik ini
sistem yang terintegrasi dibuat dalam web admin, mobile apps. maka Web API
dapat membantu proses integrasi data.
II.2.4 PostgreSQL
Pada bab ini, alur pelaksanaan dari pengembangan aplikasi akan dijelaskan secara
rinci.
12
13
dasar teori maupun teknologi yang digunakan. Tahap pengumpulan data menjadi
tahap yang selanjutnya dilakukan, pada tahap ini semua data dapat dikumpulkan
melalui hasil wawancara, maupun analisa keseluruhan sistem, yang selanjutkan
diimplementasikan pada tahap pengembangan dengan menggunakan SDLC
incremental.
Tahap awal yang dilakukan adalah mengidentifikasi masalah yang ada di sekitar.
Setelah mengumpulkan masalah yang ada, terdapat beberapa masalah yang
dijadikan topik tugas akhir. Kemudian dilakukan diskusi dengan dosen
pembimbing, untuk menentukan topik mana yang lebih realistis untuk dilakukan,
dan terpilih satu topik.
Penyelesaian laporan tugas akhir ini merupakan tahap terakhir dari pengerjaan
Tugas Akhir. Penyusunan laporan ini dilakukan di setiap tahap pada increment,
sehingga ketika tahap pengembangan sudah selesai dilakukan, dilakukan finalisasi
laporan serta perbaikan laporan yang telah dibuat sebelumnya.
Penyelesaian laporan tugas akhir ini merupakan tahap terakhir dari pengerjaan
Tugas Akhir. Penyusunan laporan ini dilakukan di setiap tahap pada increment,
sehingga ketika tahap pengembangan sudah selesai dilakukan, dilakukan finalisasi
laporan serta perbaikan laporan yang telah dibuat sebelumnya.
Pada sub-bab ini menjelaskan peran dari pihak-pihak atau aktor yang terlibat
dalam pelaksanaan onboarding saat ini. Analisis yang telah dilakukan dipaparkan
melalui tabel IV.1.
No Stakeholder Peran
19
20
Peserta onboarding akan diberi materi yang berisi visi misi perusahaan. Materi
tersebut harus dipahami oleh setiap peserta onboarding agar dapat bekerja di CV
Garuda dengan mencapai tujuan bersama sesuai visi misi yang ditetapkan.
Peserta onboarding akan dikenalkan terhadap budaya kerja yang ada pada CV
Garuda, meliputi:
1. Daily Check-in
Karyawan akan melaporkan pekerjaannya selama 24 jam kebelakang,
pekerjaan yang akan dilakukan selama 24 jam kedepan, dan kendala
yang dialami saat melakukan pekerjaan.
21
2. Sharetech
Sharetech merupakan sebuah kegiatan untuk berbagi ilmu pengetahuan
mengenai teknologi. Setiap karyawan akan mendapatkan giliran untuk
menjadi pembicara di Sharetech.
3. Energizing (bonding karyawan)
Energizing merupakan kegiatan yang bertujuan untuk membentuk
ikatan dari setiap karyawan lewat permainan. Setiap minggunya akan
dipilih salah satu karyawan untuk menjadi pemandu berjalannya
permainan.
4. Fortnight Meeting (meeting 2 minggu sekali)
Fortnight Meeting merupakan meeting dimana setiap project manager
dari tim proyek akan menyampaikan progres proyeknya masing-masing
dan kendala yang dialami.
Materi yang diberikan berupa bahan bacaan yang harus dipahami dijadikan
panduan selama menjadi karyawan di CV Garuda. Proses pemberian materi pada
kegiatan onboarding dilakukan dengan cara disampaikan langsung secara lisan
atau dipresentasikan oleh mentor kepada peserta onboarding. Artinya mentor
harus selalu melayani setiap kebutuhan peserta onboarding agar pemberian materi
dapat tersampaikan. Namun pada pelaksanaannya mentor tidak selalu bersedia
untuk memenuhi kebutuhan peserta onboarding setiap saat karena keterbatasan
waktu dan tempat. Sehingga peserta onboarding juga tidak bisa mendapatkan
materi yang diberikan kapanpun dan dimanapun. Selain itu, ada beberapa materi
onboarding yang akan diberikan lewat sosial media oleh mentor kepada peserta
onboarding. Hal tersebut memicu kemungkinan peserta onboarding sulit untuk
mencari materi yang telah diberikan karena materi tercecer, dan membuat peserta
onboarding baru kerap kali bertanya kembali mengenai materi yang telah
diberikan sebelumnya kepada mentornya.
22
Business rules atau aturan bisnis menjelaskan mengenai aturan atau kebijakan
bisnis dalam mengatur jalannya suatu sistem (Larman, 2004). Aturan bisnis yang
berlaku pada CV Garuda dijelaskan pada Tabel IV.2.
No Aturan Bisnis
1 Mentor bertugas untuk memberi materi, mengawasi, dan mencatat progres dari
peserta onboarding.
2. Activity bisa terdiri dari rangkaian teks, dokumen, foto, dan video.
3. Progress dari setiap peserta dapat dimonitor.
4. Adanya report atau laporan berupa progress bar dari setiap peserta dan
leaderboard dari seluruh peserta.
Aplikasi ruang kerja adalah aplikasi berbasis mobile yang mendukung proses
onboarding karyawan baru. Aplikasi ini dikembangkan oleh PT. Ruang Raya
Indonesia. Aplikasi ruang kerja memiliki beberapa fitur diantaranya terdapat
learning journey, forum diskusi, leaderboard, notifikasi, dan lain-lain. Fitur pada
aplikasi ini yang berkaitan dengan tugas akhir adalah fitur progress bar,
leaderboard, dan notifikasi untuk aplikasi Mobile, dan juga role-base control dan
content management untuk Web Admin.
Fitur progress bar pada aplikasi ruang kerja mengakomodasi user untuk dapat
melihat progress learning journey yang telah dikerjakan. Data ini disajikan dalam
bentuk bar.
Fitur leaderboard pada gambar IV.2 berisi peringkat peserta berdasarkan nilai
ujian. User dapat melihat daftar peringkat hasil ujian yang diurutkan dari nilai
tertinggi.
Fitur notifikasi pada gambar IV.3 akan mengirim secara otomatis melalui email
ataupun push notification apabila ada informasi penugasan pelatihan maupun
pengingat penyelesaian kelas.
Fitur role-base control pada gambar IV.4 mengakomodasi user untuk dapat
mengatur hak akses administrator dengan peran/tugas yang berbeda-beda.
Fitur content management pada gambar IV.5 mengakomodasi user untuk dapat
mengelola konten dari materi pada aplikasi LMS ruang kerja.
Didalam aplikasi ini juga terdapat halaman home pada gambar IV.1 yang berisi
progress bar dan kelas yang sedang dikerjakan oleh peserta.
24
Bagian ini menjelaskan mengenai evaluasi dari masalah yang ada, dan pengusulan
solusi untuk memecahkan masalah yang ada.
Berdasarkan analisis yang tercantum pada sub-bab IV.1.1. terdapat masalah pada
stakeholder yang telah dievaluasi dengan tujuan untuk memecahkan permasalahan
tersebut. Masalah yang teridentifikasi yaitu:
1. CV Garuda menginginkan pengaksesan dan pencatatan progres
onboarding bagi peserta menjadi self-service. Maka peran mentor yang
menyampaikan materi kepada peserta dan mengisi check list untuk peserta
akan berkurang dan peran peserta akan bertambah yaitu dapat mengisi
checklist dan pencatatan activity notes secara mandiri, dan dapat
melakukan submit bahwa activity telah dilakukan.
27
No Stakeholder Peran
Berdasarkan analisis yang tercantum pada sub-bab IV.1.5, masalah yang terjadi
adalah mentor harus melakukan pengecekan Spreadsheet monitoring secara
berkala dan harus mengisi check list untuk peserta pada Spreadsheet monitoring.
Solusi yang akan diterapkan untuk mengatasi permasalahan yaitu dengan
menggunakan fitur leaderboard dan progress bar. Selain itu, untuk mengatasi
permasalahan mentor yang harus mengisi check list pada spreadsheet monitoring
untuk masing-masing peserta onboarding, dan juga mempertimbangkan keinginan
dari mitra agar pengaksesan materi dan pencatatan progress onboarding ini dapat
dilakukan secara self-service, maka pada activity peserta onboarding akan
melakukan check list secara mandiri pada setiap activitynya.
29
Berdasarkan analisis yang tercantum pada sub-bab IV.1 dan IV.2 terdapat
beberapa aturan bisnis yang perlu dimodifikasi dan ditambahkan, penjelasan
mengenai evaluasi aturan bisnis dapat dilihat pada tabel IV.4.
3 Tidak Berubah Apabila peserta onboarding telat mengerjakan activity, maka mentor
akan mengingatkan peserta onboarding.
5 Ditambahkan Hak akses user atas aplikasi sesuai dengan role yang didaftarkan oleh
super admin.
6 Ditambahkan Password user untuk masuk ke aplikasi mobile akan diberikan oleh
super admin setelah dilakukan penambahan user.
9 Ditambahkan Apabila activity sudah dibuka dan belum di submit oleh peserta
onboarding, maka status activity adalah on progress.
10 Ditambahkan Apabila activity telah di submit oleh peserta onboarding, maka status
activity adalah submitted.
12 Ditambahkan Apabila validasi activity diterima oleh mentor, maka status activity
adalah completed.
13 Ditambahkan Apabila validasi activity ditolak oleh mentor, maka status activity
adalah rejected.
14 Ditambahkan Apabila data peserta onboarding dihapus dari database, maka data
activity yang pernah dikerjakan tidak akan bisa diakses.
30
15 Ditambahkan Apabila data activity dihapus dari database, maka data activity detail
(konten dari activity) juga akan terhapus.
16 Ditambahkan Data jobtitle tidak bisa dihapus apabila terdapat data user.
17 Ditambahkan Data kategori activity tidak bisa dihapus apabila terdapat data
activity.
Stakeholder yang terlibat yaitu Super Admin, Admin, Mentor, dan Peserta
Onboarding. Tiap stakeholder pada sistem memiliki peran dan batasannya Peran
dan batasan tersebut tercantum pada tabel IV.5.
No Stakeholder Peran
Pada dasarnya client hanya bekerja untuk menampilkan data dan menerima input
data dari user, namun ada beberapa proses yang juga ditangani oleh client setelah
mendapatkan data dari server, sebagai berikut.
1. Proses sorting data peserta onboarding berdasarkan progres untuk
menampilkan leaderboard.
35
Sub-bab ini menjelaskan fitur yang akan dikembangkan pada aplikasi. Aplikasi
terbagi menjadi aplikasi web admin dan aplikasi mobile. Berikut akan dijelaskan
fitur yang menjadi target increment 1.
Berikut merupakan fitur web admin yang akan dikembangkan pada increment 1.
1. Authentication
Pada fitur ini dilakukan proses validasi email dan password user terhadap
admin yang ingin mengakses aplikasi web untuk admin.
2. Pengelolaan Admin
Aplikasi ini hanya akan digunakan oleh internal CV Garuda, sehingga
penambahan dan penghapusan admin yaitu pengguna dari aplikasi web akan
dilakukan oleh super admin. Fitur ini memungkinkan super admin untuk
menambah admin dengan role terdaftar yaitu super admin dan admin yang
membutuhkan untuk mengakses aplikasi web.
3. Pengelolaan User Mobile
Aplikasi ini hanya akan digunakan oleh internal CV Garuda, sehingga
penambahan dan penghapusan pengguna (user) dari aplikasi mobile akan
dilakukan oleh super admin dan admin. Fitur ini memungkinkan super
admin dan admin untuk menambah user dengan role terdaftar yaitu mentor
dan peserta onboarding yang membutuhkan untuk mengakses aplikasi
mobile.
4. Pengelolaan Jobtitle
Fitur ini memungkinkan super admin dan admin untuk mengelola data
jobtitle, mulai dari menambah, mengubah, menghapus data jobtitle pada
36
aplikasi. Jobtitle juga menjadi salah satu data identitas yang dimiliki setiap
akun yang terdaftar pada aplikasi.
5. Melihat Role
Fitur ini memungkinkan super admin dan admin untuk melihat data role
yang ada pada aplikasi web maupun mobile. Berbeda dengan fitur
sebelumnya, data role pada aplikasi hanya bisa dilihat saja tidak bisa diubah
ataupun dihapus, karena untuk saat ini data role akan digunakan untuk
pengaturan hak akses aplikasi web maupun mobile dan dibuat statis.
Berikut merupakan fitur aplikasi mobile untuk peserta yang akan dikembangkan
pada increment 1.
1. Authentication
Pada fitur ini dilakukan proses validasi email dan password user terhadap
peserta yang ingin mengakses aplikasi mobile onboarding karyawan.
2. View dan Edit Profile
Pada fitur ini aplikasi akan menampilkan halaman profile yang berisi data
user dan memungkinkan peserta untuk dapat mengubah data pribadinya
pada halaman profile.
Tidak ada fitur aplikasi mobile untuk mentor yang akan dikembangkan pada
increment 1.
IV.5.4 Increment 2
Sub-bab ini menjelaskan fitur yang akan dikembangkan pada aplikasi. Aplikasi
terbagi menjadi aplikasi web admin dan aplikasi mobile. Berikut akan dijelaskan
fitur yang menjadi target increment 2.
37
Berikut merupakan fitur web admin yang akan dikembangkan pada increment 2.
1. Pengelolaan Activity
Fitur ini digunakan untuk menambah, melihat, mengubah, dan mengedit
activity yang nantinya akan diberikan pada peserta lewat aplikasi mobile.
Activity merupakan kegiatan yang harus dilakukan oleh peserta onboarding.
Activity terdiri dari serangkaian activity detail. Activity detail dapat berupa
teks, gambar, dokumen, video, maupun to do list.
2. Assign Activity Kepada Peserta Onboarding
Fitur ini digunakan untuk mengirimkan activity baru kepada peserta
onboarding. Data yang akan dikirimkan yaitu activity yang sudah dibuat
sebelumnya. Selain itu juga akan dikirim data tanggal dan waktu mulai,
tanggal dan waktu berakhir, beserta status dengan nilai awal assigned.
3. Pengelolaan Kategori Activity
Fitur ini digunakan untuk menggolongkan activity kedalam kategori-
kategori yang diinginkan oleh pihak CV Garuda. Kategori yang sudah ada
yaitu 1 Week Activity, 1 Months Activity, 2 Months Activity, dan 3
Months Activity, namun kategori tersebut bisa diubah nama dan juga
durasinya.
4. Melihat Activity Owned
Fitur ini digunakan untuk melihat daftar peserta onboarding beserta activity
yang dimiliki atau sudah diberikan oleh admin. Activity owned akan terdiri
dari waktu dimulai dan berakhir, juga status yang terdiri dari assigned, on
progress, submitted, late, rejected dan completed.
Berikut merupakan fitur aplikasi mobile untuk peserta yang akan dikembangkan
pada increment 2.
1. Lihat Activity
38
Fitur ini merupakan fitur dimana peserta dapat mengakses materi pada
activity yang tersedia. Peserta harus memilih kategori activity untuk dapat
melihat semua daftar activity yang ada. Kemudian, peserta dapat memilih
salah satu activity untuk melihat detail lengkapnya.
2. Submit Activity
Fitur ini digunakan apabila peserta telah selesai mengerjakan suatu
activity, yang kemudian tinggal menunggu validasi dari mentor.
3. Change Password
Fitur ini dapat diakses di halaman profile apabila peserta ingin mengubah
passwordnya, dikarenakan password awal akan ditentukan oleh admin.
Berikut merupakan fitur aplikasi mobile untuk mentor yang akan dikembangkan
pada increment 2.
1. Authentication
Pada fitur ini dilakukan proses validasi email dan password user terhadap
mentor yang ingin mengakses aplikasi mobile onboarding karyawan.
2. View dan Edit Profile
Pada fitur ini aplikasi akan menampilkan halaman profile yang berisi data
user. Kemudian mentor dapat mengubah data pribadinya pada halaman
profile jika terdapat kesalahan.
3. Change Password
Fitur ini dapat diakses di halaman profile apabila mentor ingin mengubah
passwordnya, dikarenakan password awal akan ditentukan oleh admin.
IV.5.5 Increment 3
Sub-bab ini menjelaskan fitur yang akan dikembangkan pada aplikasi. Aplikasi
terbagi menjadi aplikasi web admin dan aplikasi mobile. Berikut akan dijelaskan
fitur yang menjadi target increment 3.
39
Berikut merupakan fitur web admin yang akan dikembangkan pada increment 3.
1. Pengelolaan Home Activity.
Home Activity pada dasarnya hampir sama dengan activity hanya saja,
home activity akan ditampilkan di halaman home aplikasi mobile peserta
onboarding, dan tidak memiliki tenggat waktu maupun status.
2. Change Password
Fitur digunakan apabila superadmin/admin ingin mengubah passwordnya,
dikarenakan password awal akan ditentukan oleh superadmin/admin yang
membuat akun tersebut.
3. Change Password pengguna aplikasi lain oleh admin
Superadmin dan admin bisa mengubah password pengguna lainnya. Fitur
ini digunakan apabila pengguna lain baik aplikasi web maupun mobile
lupa dengan password yang dimiliki.
Berikut merupakan fitur aplikasi mobile untuk peserta yang akan dikembangkan
pada increment 3.
1. Notifikasi, jika activity telah divalidasi oleh mentor
Fitur ini digunakan untuk memberi follow up kepada peserta bahwa activity
sudah divalidasi oleh mentor.
2. Progress Bar
Fitur ini digunakan untuk melihat progres onboarding yang telah dilakukan
oleh peserta onboarding. Perhitungan yang dilakukan adalah jumlah
activity yang sudah diselesaikan dibagi jumlah activity keseluruhan yang
kemudian ditampilkan persentasenya.
3. Leaderboard
Fitur ini mengakomodasi peserta untuk dapat melihat peringkat peserta
berdasarkan activity yang telah diselesaikan. Leaderboard ini ditampilkan
40
Berikut merupakan fitur aplikasi mobile untuk mentor yang akan dikembangkan
pada increment 3.
1. Lihat daftar activity berdasarkan peserta
Fitur ini digunakan untuk melihat daftar activity yang dimiliki oleh setiap
peserta beserta status dari activity tersebut. Status dari activity terdiri dari
assigned, on progress, dan completed. Mentor bisa memilih salah satu dari
peserta yang ada untuk ditampilkan activity yang dimiliki olehnya.
2. Validasi penyelesaian activity
Fitur ini mengakomodasi user (mentor) untuk melakukan validasi terhadap
activity yang telah diselesaikan oleh peserta onboarding. Mentor dapat
melakukan validasi apakah activity yang telah dikerjakan itu benar ataupun
tidak. Apabila validasi ditolak maka status activity user belum completed.
3. Notifikasi, jika ada peserta yang baru submit activity
Fitur ini digunakan untuk memberi follow up kepada mentor. Follow up
yang diberikan adalah berupa notifikasi apabila ada peserta yang sudah
menyelesaikan suatu activity.
4. Progress Bar
Fitur ini digunakan mentor untuk mengawasi perkembangan setiap peserta.
Perhitungan yang dilakukan adalah jumlah activity yang sudah diselesaikan
dibagi jumlah activity keseluruhan yang kemudian ditampilkan
persentasenya.
5. Leaderboard
Fitur ini mengakomodasi mentor untuk dapat melihat peringkat peserta
berdasarkan activity yang telah diselesaikan. Leaderboard ini ditampilkan
41
Analisis ini dibuat berdasarkan evaluasi masalah pada aturan bisnis yang telah
dipaparkan sebelumnya pada subbab IV.4.5 dan bertujuan untuk mengetahui
analisis aturan bisnis pada sistem yang dibangun. Analisis aturan bisnis pada
sistem yang dibangun dapat dilihat pada tabel IV.6.
No Aturan Bisnis
1 Mentor bertugas untuk mengawasi dan memvalidasi penyelesaian dari peserta onboarding.
3. Apabila peserta onboarding telat mengerjakan activity, maka mentor akan mengingatkan
peserta onboarding.
4. Super admin bertugas mengelola user untuk menambah dan menghapus user untuk semua
role.
5. Hak akses user atas aplikasi sesuai dengan role yang didaftarkan oleh super admin.
6. Password user untuk masuk ke aplikasi mobile akan diberikan oleh super admin setelah
dilakukan penambahan user.
7. Super admin bertugas mengelola activity untuk menambah, mengedit dan menghapus.
8. Apabila activity telah di assign oleh admin kepada peserta onboarding, namun activity
tersebut belum pernah dibuka oleh peserta onboarding, maka status activity adalah
assigned.
9. Apabila activity sudah dibuka dan belum di submit oleh peserta onboarding, maka status
activity adalah on progress.
10. Apabila activity telah di submit oleh peserta onboarding, maka status activity adalah
submitted.
11. Apabila peserta onboarding telat menyelesaikan activity dan telah melebihi batas waktu,
maka status activity adalah late.
12. Apabila validasi activity diterima oleh mentor, maka status activity adalah completed.
13. Apabila validasi activity ditolak oleh mentor, maka status activity adalah rejected.
14. Apabila data peserta onboarding dihapus dari database, maka data activity yang pernah
42
No Aturan Bisnis
15. Apabila data activity dihapus dari database, maka data activity detail (konten dari activity)
juga akan terhapus.
16. Data jobtitle tidak bisa dihapus apabila terdapat data user.
17. Data kategori activity tidak bisa dihapus apabila terdapat data activity.
18. Password minimal 8 karakter yang terdiri dari karakter kapital, karakter non kapital, dan
angka.
Pada bagian ini akan dijelaskan mengenai analisis data yang akan diperlukan, data
yang akan diproses, dan data yang dihasilkan oleh sistem. Agar sistem dapat
berjalan sebagaimana mestinya.
Data Role merupakan data seluruh role pengguna yang ada dalam sistem. Data ini
digunakan untuk menentukan hak akses dari setiap pengguna. Selain itu data ini
akan berelasi dengan data user dan data admin. Data Role dihasilkan dari analisis
yang dilakukan pada increment 1. Data ini berupa tabel yang didalamnya terdapat
beberapa kolom yang berisi data berikut :
1. id, digunakan untuk membedakan setiap role pada sistem. Contoh : “1”.
2. role_name, digunakan untuk mengetahui nama dari role yang ada pada
sistem. Contoh : “admin”.
3. role_description, digunakan untuk menjelaskan hak akses apa saja yang
dimiliki oleh role tersebut. Contoh : “Dapat mengelola seluruh user dan
mengelola konten activity”.
4. role_platform, digunakan untuk mengetahui platform yang digunakan role
tersebut antara platform mobile atau website. Contoh : “Mobile”.
43
Data Job Title merupakan data seluruh pekerjaan atau jabatan dalam perusahaan
yang terdapat dalam sistem. Data ini hanya akan menjadi pelengkap dari data
setiap user, namun kedepannya bisa dikembangkang supaya data ini bisa
digunakan untuk menentukan activity yang dapat diakses peserta onboarding
sesuai dengan job title, pekerjaan, atau jabatan dalam perusahaan. Selain itu data
ini akan berelasi dengan data user. Data Job Title dihasilkan dari analisis yang
dilakukan pada increment 1. Data ini berupa tabel yang didalamnya terdapat
beberapa kolom yang berisi data berikut :
1. id, digunakan untuk membedakan setiap job title pada sistem. Contoh :
“1”.
2. jobtitle_name, digunakan untuk mengetahui nama job title, pekerjaan atau
jabatan yang ada pada sistem. Contoh : “Mobile Developer”.
3. jobtitle_description, digunakan untuk menjelaskan apa yang dilakukan
oleh job title, pekerjaan atau jabatan tersebut pada kenyataannya. Contoh :
“Membangun aplikasi berbasis mobile”.
Data Admin merupakan data seluruh pengguna dengan role superadmin dan
admin pada sistem. Data ini digunakan untuk mengetahui pengguna dengan role
superadmin dan admin agar dapat menggunakan aplikasi sesuai dengan hak
aksesnya. Selain itu data ini akan berelasi dengan data role. Data Admin
dihasilkan dari analisis yang dilakukan pada increment 1. Data ini berupa tabel
yang didalamnya terdapat beberapa kolom yang berisi data berikut.
1. email, digunakan untuk membedakan setiap akun pengguna dengan role
superadmin atau admin pada sistem. Contoh : “admin@example.com”.
2. password, digunakan untuk memverifikasi akun pengguna yang terdapat
dalam sistem. Contoh : “12345/*****”.
3. admin_name, digunakan untuk mengetahui nama pemilik akun pengguna
dengan role superadmin atau admin tersebut. Contoh : “Dean”.
44
Data User merupakan data seluruh pengguna aplikasi mobile yaitu mentor dan
peserta onboarding, perbedaannya terdapat pada role yang dimiliki. Apabila
sebuah user terdaftar sebagai peserta onboarding, maka dia hanya bisa mengakses
aplikasi mobile khusus peserta onboarding. Apabila sebuah user terdaftar sebagai
mentor, maka dia hanya bisa mengakses aplikasi mobile khusus mentor. Data ini
digunakan untuk mengetahui pengguna dengan role mentor dan peserta agar dapat
menggunakan aplikasi sesuai dengan hak aksesnya. Selain itu data ini akan
berelasi dengan data role, data job title. Data User dihasilkan dari analisis yang
dilakukan pada increment 1. Data ini berupa tabel yang didalamnya terdapat
beberapa kolom yang berisi data berikut :
1. email, digunakan untuk membedakan setiap akun pengguna dengan role
mentor atau peserta pada sistem. Contoh : “peserta@example.com”.
2. password, digunakan untuk memverifikasi akun pengguna yang terdapat
dalam sistem. Contoh : “12345/*****”.
45
Data Activity Category merupakan data seluruh category yang dimiliki oleh setiap
activity ada dalam sistem. Data ini digunakan untuk mengelompokan setiap
activity sesuai dengan category yang dimilikinya. Selain itu data ini akan berelasi
dengan data actvities dan data activities_owned. Data Activity Category
dihasilkan dari analisis yang dilakukan pada increment 2. Data ini berupa tabel
yang didalamnya terdapat beberapa kolom yang berisi data berikut :
1. id, digunakan untuk membedakan setiap category pada sistem. Contoh :
“1”
2. category_name, digunakan untuk mengetahui nama dari category yang ada
pada sistem. Contoh : “1 week”.
3. category_description, digunakan untuk mendeskripsikan arti atau maksud
dari category tersebut. Contoh : “Activity yang harus dikerjakan dalam
waktu satu minggu”.
Data Activity merupakan data seluruh activity yang harus dilakukan oleh peserta
onboarding. Data ini digunakan untuk mengetahui activity apa saja yang ada pada
pelaksanaan onboarding . Selain itu data ini akan berelasi dengan data activity
category, activity detail, data activities owned. Data Activity dihasilkan dari
analisis yang dilakukan pada increment 2. Data ini berupa tabel yang didalamnya
terdapat beberapa kolom yang berisi data berikut :
1. id, digunakan untuk membedakan setiap activity pada sistem. Contoh :
“1”.
2. activity_name, digunakan untuk mengetahui nama activity yang ada pada
sistem. Contoh : “Sharetech”.
3. activity_description, digunakan untuk menjelaskan apa yang dilakukan
pada activity tersebut. Contoh : “Kegiatan untuk berbagi ilmu pengetahuan
mengenai teknologi”.
47
Data Activity Owned merupakan data seluruh activity yang dimiliki oleh peserta
onboarding. Data ini digunakan untuk mengetahui activity apa saja yang telah
diberikan atau dimiliki oleh peserta onboarding. Selain itu data ini akan berelasi
dengan data activity category, activity, dan user. Data Activity Owned dihasilkan
dari analisis yang dilakukan pada increment 2. Data ini berupa tabel yang
didalamnya terdapat beberapa kolom yang berisi data berikut :
1. user_email, digunakan untuk mengetahui email peserta onboarding atau
akun peserta onboarding mana yang memiliki activity owned tersebut.
Contoh : “peserta@example.com”.
2. activity_id, digunakan untuk mengetahui activity owned tersebut termasuk
ke dalam activity yang mana. Contoh : ”1”.
3. start_date, digunakan untuk mengetahui tanggal dimulainya activity
owned yang diberikan kepada peserta onboarding. Contoh ; “2022-05-22”.
4. end_date, digunakan untuk mengetahui tanggal berakhirnya activity
owned yang diberikan kepada peserta onboarding. Contoh ; “2022-05-29”.
5. status, digunakan untuk mengetahui status activity owned yang berikan
kepada peserta onboarding. Contoh : “1”.
6. mentor_email, digunakan untuk mengetahui email mentor mana yang
memiliki activity owned tersebut. Contoh : “mentor@example.com” .
7. activity_note, digunakan untuk memberikan catatan yang dapat disertakan
pada activity owned yang diberikan kepada peserta onboarding. Contoh :
“Pahami peraturan perusahaan yang ada pada dokumen”.
48
Data Activity Detail merupakan data seluruh activity detail yang dimiliki oleh
activity. Data ini digunakan untuk mengetahui konten apa saja yang terdapat di
dalam activity. Selain itu data ini akan berelasi dengan data activity. Data Activity
Detail dihasilkan dari analisis yang dilakukan pada increment 2. Data ini berupa
tabel yang didalamnya terdapat beberapa kolom yang berisi data berikut :
1. id, digunakan untuk membedakan setiap activity detail pada sistem.
Contoh : “1”.
2. activity_id, digunakan untuk mengetahui activity detail tersebut termasuk
ke dalam activity yang mana. Contoh : ”1”.
3. detail_name, digunakan untuk mengetahui nama activity detail yang ada
pada sistem. Contoh : “Video Sharetech”.
4. detail_description, digunakan untuk menjelaskan apa yang terdapat pada
activity detail tersebut. Contoh : “Video kegiatan sharetech selama 10
menit”.
5. detail_link, digunakan untuk memperoleh url yang akan menampilkan
konten yang dapat berupa gambar, video, atau pdf pada activity detail
tersebut. Contoh : “api/ShowVideo/sharetech.mp4”.
6. detail_type, digunakan untuk mengetahui type activity detail tersebut
termasuk ke dalam type yang mana. Contoh : “video””.
7. detail_urutan, digunakan untuk menentukan urutan tampilan dari activity
detail. Contoh : “1”.
a. Provider
Library Provider digunakan sebagai state management tool dalam
mengembangkan aplikasi. Penjelasan mengenai provider dan state
management terdapat pada bab V.1.1.2 Deskripsi Layer Aplikasi
Web.
b. HTTP
Library HTTP digunakan untuk berhubungan dengan back-end
dari aplikasi menggunakan API.
c. File Picker
Berdasarkan kebutuhan pihak mitra, activity bisa terdiri dari
rangkaian teks, dokumen, foto, dan video. Karena itu aplikasi
memerlukan sebuah library untuk memilih file yang ada pada
device pengguna, yaitu library File Picker.
d. Chewie
Berdasarkan kebutuhan pihak mitra, activity bisa terdiri dari
rangkaian teks, dokumen, foto, dan video. Karena itu aplikasi
memerlukan sebuah pemutar video, maka digunakanlah library
Chewie sebagai pemutar video.
e. Flutter Downloader
Apabila terdapat sebuah dokumen pdf pada activity aplikasi tidak
akan menampilkan konten dokumen tersebut, melainkan akan
menyediakan fitur untuk mengunduh dokumen tersebut. Maka dari
itu library Flutter Downloader digunakan.
2. Teknologi Back-End
Teknologi yang digunakan dalam pengembangan aplikasi di bagian back-
end adalah asp.net dari .NET Framework. Teknologi ini digunakan dalam
pembuatan fungsi dan logika bisnis dari aplikasi, membuat API. hingga
pengelolaan database. Dalam implementasinya, metode atau pattern yang
diterapkan untuk memisahkan fungsi dari setiap logika bisnis adalah
dengan membuat beberapa hal berikut.
50
a. Model yaitu data yang sesuai dengan entitas class setiap objek yang
sesuai dengan kebutuhan database
b. Form yaitu model yang digunakan untuk mengelola data sesuai
dengan client request untuk diterima oleh controller lalu di
generate sehingga sesuai dengan model yang sesuai dengan data
dalam database
c. Controller yaitu fungsi yang berisi method untuk mengolah data
sehingga menghasilkan API yang nantinya dapat digunakan oleh
bagian front-End.
Selain metode dan pattern yang digunakan dalam implementasi
pengelolaan data dan pembuatan API, pada teknologi asp.net ini juga
menggunakan package atau library untuk memenuhi kebutuhan aplikasi,
diantaranya sebagai berikut.
a. Entity Framework Core digunakan agar aplikasi dapat bekerja
dengan database dengan object framework ini juga dapat
mengurangi kode program untuk mengakses database, karena
digantikan oleh class dan method yang telah disediakan oleh
framework ini.
b. AspNetCore.Authorization digunakan untuk memverifikasi
pengguna apakah diizinkan menggunakan aplikasi atau tidak.
c. AspNetCore.Cors digunakan untuk memverifikasi aplikasi
digunakan sesuai dengan role pengguna.
3. Teknologi RDBMS
Teknologi yang digunakan sebagai RDBMS pada aplikasi yang
dikembangkan adalah PostgreSQL. Di dalam database ini data disimpan
dalam tabel database. Namun setiap tabel database dibuat otomatis hasil
dari generate program di back-end sehingga PostgreSQL ini hanya
digunakan sebagai media penyimpanan semua data pada aplikasi kecuali
data file yang disimpan di server.
51
Pada bagian ini dijelaskan terkait domain model yang diusulkan berdasarkan hasil
analisis yang telah dipaparkan sebelumnya yang digambarkan pada gambar IV.8.
Pada bab ini, dijelaskan perancangan dari aplikasi yang akan dikembangkan.
Perancangan dibuat dengan memperhatikan analisis dijelaskan pada BAB IV.
BAB perancangan ini terbagi menjadi dua jenis yaitu perancangan model statis
yang berisi penjelasan tentang perancangan arsitektur aplikasi, perancangan kelas,
perancangan database, dan perancangan data model. Sementara perancangan
dinamis terdiri dari perancangan interaksi antar objek, perancangan tampilan
aplikasi dan perancangan alur kegiatan actor terhadap sistem. Lalu terdapat juga
matriks untuk menjelaskan keterkaitan perancangan dengan requirement.
Pada sub bab ini, dijelaskan mengenai perancangan model statis yang terdiri dari
perancangan arsitektur aplikasi beserta deskripsi setiap layernya, perancangan
kelas yang digambarkan dengan class diagram, perancangan database yang
digambar dengan skema database, dan perancangan data model yang terbagi
menjadi perancangan logical data model dan perancangan physical data model.
Pada sub bab ini dijelaskan mengenai perancangan arsitektur aplikasi yang dapat
dilihat pada gambar V.1 s.d. V.4. Perancangan arsitektur aplikasi dijelaskan
menggunakan packages diagram. Pembuatan packages diagram ini akan mengacu
pada sub bab IV.4.8 mengenai analisis penggunaan teknologi pada aplikasi. Selain
itu packages diagram ini juga menggambar secara detail mengenai apa saja isi
dari package yang berkaitan dengan setiap komponen pada aplikasi ini, seperti
yang telah digambarkan pada SRS bab II.1.
54
Keterangan mengenai isi dari package diagram tersebut akan dijelaskan pada
tabel V.1 s.d. V.4 yang dibagi menjadi tiga yaitu, deskripsi layer Back-End
Aplikasi Onboarding, layer Aplikasi Web, layer Aplikasi Mobile, dan layer
Aplikasi Mobile Mentor.
V.1.1.1 Deskripsi Layer Back-End Aplikasi
3. Model Berisi class untuk memetakan tabel data yang ada pada
database
5. API - Controller Berisi fungsi untuk menggunakan API dari fitur aplikasi
sesuai dengan yang diinginkan package Front-End
Aplikasi Onboarding
10. ActivityCategory - Model Berisi class yang berhubungan dengan tabel activity
category di database
11. Activity - Model Berisi class yang berhubungan dengan tabel activity di
database
12. ActivityDetail - Model Berisi class yang berhubungan dengan tabel activity
detail di database
13. ActivityOwned - Model Berisi class yang berhubungan dengan tabel activity
owned di database
14. login - Form Berisi class yang berfungsi untuk menerima data dari
form login pada aplikasi
59
15. registerUser - Form Berisi class untuk menerima input data dari form register
user pada aplikasi
16. registerAdmin - Form Berisi class untuk menerima input data dari form register
admin pada aplikasi
17. editUser - Form Berisi class untuk menerima input data dari form edit
user pada aplikasi
18. editAdmin - Form Berisi class untuk menerima input data dari form edit
admin pada aplikasi
19. editPassword - Form Berisi class untuk menerima input data dari form edit
password pada aplikasi
20. addActivityOwned - Form Berisi class untuk menerima input data dari form add
activity owned pada aplikasi
21. editActivityOwned - Form Berisi class untuk menerima input data dari form edit
activity owned pada aplikasi
22. addCategory - Form Berisi class untuk menerima input data dari form add
activity category pada aplikasi
23. editCategory - Form Berisi class untuk menerima input data dari form edit
activity category pada aplikasi
24. addActivity - Form Berisi class untuk menerima input data dari form add
activity pada aplikasi
25. editActivity - Form Berisi class untuk menerima input data dari form edit
activity pada aplikasi
26. addActivityDetail - Form Berisi class untuk menerima input data dari form add
activity detail pada aplikasi
27. editActivityDetail - Form Berisi class untuk menerima input data dari form edit
activity detail pada aplikasi
28. Database Server Berisi tempat sekumpulan data aplikasi yang tersimpan
29. PostgreSQL - Database Server RDBMS yang digunakan untuk meyimpan data
Flutter, yaitu framework yang digunakan dalam pengembangan aplikasi web dan
juga mobile bersifat deklaratif, artinya UI yang dibangun akan didasarkan pada
state(status/keadaan aplikasi) yang sedang berlaku sebagaimana digambarkan
60
pada gambar V.5. Ketika state dari aplikasi berubah maka flutter akan
menggambar ulang UInya.
Provider adalah salah satu state management pada flutter yang memungkinkan
aplikasi untuk tidak menggambar ulang seluruh komponen pada UI sehingga
aplikasi bisa berjalan lebih cepat. Selain itu juga provider akan digunakan sebagai
media komunikasi dengan API yang sudah disediakan oleh back-end aplikasi.
4. MainPage - View Halaman utama yang berisi komponen lain pada layer
Dashboard
5. DashboardPage - View Berisi fungsi untuk menampilkan data sesuai menu yang
dipilih
7. Provider Berisi class yang akan mengatur state yang ada pada UI,
dan berkomunikasi dengan server melalui API
61
12. Model Berisi class untuk memetakan data yang didapat dari
pemanggilan API
15. ActivityDetail - Model Berisi fungsi untuk menampung data activity detail
17. ActivityCategory - Model Berisi fungsi untuk menampung data activity category
20. ActivityOwned - Model Berisi fungsi untuk menampung data activity owned
4. DashboardPage - View Halaman utama yang berisi komponen lain pada layer
View
9. Provider Berisi class yang akan mengatur state yang ada pada UI,
dan berkomunikasi dengan server melalui API
10. AuthProvider - Provider Berisi fungsi untuk mengatur state LoginPage dan
memanggil API untuk login.
11. DashboardProvider - Provider Berisi fungsi untuk mengatur state DashboardPage dan
memanggil API
12. LeaderboardProvider - Provider Berisi fungsi untuk mengatur state LeaderboardPage dan
memanggil API
13. HomeProvider - Home Berisi fungsi untuk mengatur state HomePage dan
memanggil API
14. ProfileProvider - Provider Berisi fungsi untuk mengatur state ProfilePage dan
memanggil API
15. ActivityProvider - Activity Berisi fungsi untuk mengatur state ActivityPage dan
memanggil API
16. Model Berisi class untuk memetakan data yang didapat dari
pemanggilan API
19. ActivityDetail - Model Berisi fungsi untuk menampung data activity detail
21. ActivityCategory - Model Berisi fungsi untuk menampung data activity category
23. ActivityOwned - Model Berisi fungsi untuk menampung data activity owned
1. Aplikasi Mobile Mentor Berisi aplikasi flutter dengan state management provider
4. DashboardPage - View Halaman utama yang berisi komponen lain pada layer
View
9. Provider Berisi class yang akan mengatur state yang ada pada UI,
dan berkomunikasi dengan server melalui API
10. AuthProvider - Provider Berisi fungsi untuk mengatur state LoginPage dan
memanggil API untuk login.
11. DashboardProvider - Provider Berisi fungsi untuk mengatur state DashboardPage dan
memanggil API
12. LeaderboardProvider - Provider Berisi fungsi untuk mengatur state LeaderboardPage dan
memanggil API
13. HomeProvider - Home Berisi fungsi untuk mengatur state HomePage dan
memanggil API
14. ProfileProvider - Provider Berisi fungsi untuk mengatur state ProfilePage dan
memanggil API
15. ActivityProvider - Activity Berisi fungsi untuk mengatur state ActivityPage dan
memanggil API
16. Model Berisi class untuk memetakan data yang didapat dari
pemanggilan API
20. ActivityCategory - Model Berisi fungsi untuk menampung data activity category
22. ActivityOwned - Model Berisi fungsi untuk menampung data activity owned
Pada subbab ini akan dijelaskan mengenai perancangan kelas yang akan
digambarkan dengan sebuah class diagram. Pada pembuatannya, class diagram
akan mengacu pada domain model yang sudah dibuat pada sub bab IV.4.9, di
mana class diagram akan dikembangkan dari domain model tersebut. Selain itu
class diagram juga menggambarkan setiap method yang ada untuk memenuhi
functional requirement pada SRS bab II.2. Rancangan class diagram dapat dilihat
pada gambar V.7 beserta deskripsi dari setiap kelas pada tabel V.5 s.d. V.12.
65
Deskripsi Class yang berfungsi untuk menampung informasi role pengguna pada
aplikasi.
Attributes
Methods
Responsibility Collaborators
67
Attributes
Methods
Responsibility Collaborators
Deskripsi Class yang berfungsi untuk menampung informasi admin pada aplikasi
Attributes
Methods
Responsibility Collaborators
Melakukan logout
Deskripsi Class yang berfungsi untuk menampung informasi pengguna pada aplikasi
Attributes
progres user.
Methods
Responsibility Collaborators
Melakukan logout
Deskripsi Class yang berfungsi untuk menampung informasi kategori dari activity.
Attributes
Methods
Responsibility Collaborators
Attributes
Methods
activity.
Responsibility Collaborators
Deskripsi Class yang berfungsi untuk menampung informasi detail sebuah activity.
Attributes
deskripsi detail
activity.
Methods
Responsibility Collaborators
Attributes
Methods
activity owned
berdasarkan id
category
Responsibility Collaborators
Bagian ini menjelaskan tentang perancangan data model yang digunakan pada
aplikasi. Perancangan data model akan digambarkan melalui Logical Data Model
dan Physical Data Model. Perancangan data model merupakan pengembangan
dari domain model yang tercantum pada bab V.4.9 dengan menentukan primary
key dan foreign key dari setiap tabelnya. Data model yang dirancang kemudian
digunakan untuk membangun isi dari RDBMS yang digunakan.
80
Bagian ini berisi Logical Data Model yang digambarkan pada gambar V.8. Logical Data Model dibuat berdasarkan Logical
Database Requirments yang telah dirancang pada dokumen SRS Bab III.4.
Bagian ini berisi Physical Data Model yang digambarkan pada gambar V.9.
Physical Data Model merupakan pengembangan dari Logical Data Model dan
akan digunakan pada database aplikasi.
Pada sub bab ini, dijelaskan mengenai perancangan model dinamis yang terdiri
dari perancangan interaksi antar objek yang digambarkan dengan sequence
diagram. perancangan tampilan aplikasi, dan perancangan alur kegiatan aktor
terhadap sistem yang digambarkan dengan activity diagram. Setiap perancangan
akan dibagi menjadi tiga increment dan tiga proses aplikasi yaitu aplikasi web,
aplikasi mobile peserta dan aplikasi mobile mentor.
Pada sub bab ini dijelaskan mengenai rancangan interaksi antar objek berdasarkan
model perilaku proses yang dijelaskan pada dokumen SRS bab III.2.1. Tujuan dari
perancangan ini adalah untuk menggambarkan proses komunikasi yang terjadi
antar objek pada aplikasi dan juga pembagian kerja client dan server seperti yang
dijelaskan pada bab V.4.2, yaitu server akan mengatasi hampir semua proses
kecuali beberapa proses berikut.
1. Proses sorting data peserta onboarding berdasarkan progres untuk
menampilkan leaderboard.
82
V.2.1.1 Increment 1
Pada bagian ini dijelaskan proses pada aplikasi web pada increment 1. Rancangan
proses pada aplikasi web dijelaskan pada gambar V.10 hingga gambar V.21 dan
tabel V.13 hingga tabel V.24.
1. Proses Login Superadmin dan Admin
Proses login ini dilakukan oleh superadmin dan admin sebelum dapat
mengakses web admin sesuai dengan hak akses masing-masing role.
Sequence Diagram dari proses ini dijelaskan pada gambar berikut
ALGORITMA
FUNCTION login(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variabel bertipe string
password : variabel bertipe string
BEGIN
email ← SELECT ALL FROM admin WHERE request.email =
email
IF(email != NULL AND request.password = password) THEN
return ‘Authorized’
ENDIF
ELSE
return ‘Unauthorize’
END
ENDFUNCTION login
ALGORITMA
FUNCTION getAdmin()
Kamus Data (Variabel Lokal)
admin : variabel bertipe objek
BEGIN
admin ← SELECT ALL FROM admin
return admin
END
ENDFUNCTION getAdmin
ALGORITMA
FUNCTION createAdmin(admin)
Kamus Data (Variabel Lokal)
admin : parameter input bertipe objek passing parameter
by value
BEGIN
INSERT INTO admin VALUES admin
return ‘Data admin Berhasil Ditambahkan’
END
ENDFUNCTION createAdmin
ALGORITMA
FUNCTION deleteAdmin(email)
Kamus Data (Variabel Lokal)
email : variabel bertipe string passing parameter by
value
BEGIN
DELETE FROM admin WHERE admin.email = email
return ‘Data admin berhasil dihapus’
END
ENDFUNCTION deleteAdmin
ALGORITMA
FUNCTION getUser()
Kamus Data (Variabel Lokal)
user : variabel bertipe objek
BEGIN
user ← SELECT ALL FROM user
return user
END
ENDFUNCTION getUser
ALGORITMA
FUNCTION createUser(user)
Kamus Data (Variabel Lokal)
user : parameter input bertipe objek passing parameter by
value
BEGIN
INSERT INTO user VALUES user
return ‘Data user Berhasil Ditambahkan’
END
ENDFUNCTION createUser
:UserModel
ALGORITMA
Kamus Data
email : variabel bertipe string passing parameter by value
FUNCTION deleteUser(email)
BEGIN
DELETE FROM user WHERE user.email=email
return ‘Data user berhasil dihapus’
END
ENDFUNCTION deleteUser
ALGORITMA
FUNCTION getRole()
Kamus Data (Variabel Lokal)
role : variabel bertipe objek
BEGIN
role ← SELECT ALL FROM role
return role
END
ENDFUNCTION getRole
ALGORITMA
FUNCTION getRole()
Kamus Data (Variabel Lokal)
jobtitle : variabel bertipe objek
BEGIN
jobtitle ← SELECT ALL FROM jobtitle
return jobtitle
END
91
ENDFUNCTION getRole
ALGORITMA
FUNCTION createJobtitle(jobtitle)
Kamus Data (Variabel Lokal)
jobtitle : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO jobtitle VALUES jobtitle
return ‘Data jobtitle Berhasil Ditambahkan’
END
ENDFUNCTION createJobtitle
92
ALGORITMA
FUNCTION updateJobtitle(jobtitle)
Kamus Data (Variabel Lokal)
jobtitle : parameter input bertipe objek passing
parameter by value
jobtitle_id : variable bertipe integer
BEGIN
UPDATE jobtitle SET jobtitle WHERE
jobtitle.jobtitle_id = jobtitle_id
return ‘Data jobtitle Berhasil Diubah’
END
ENDFUNCTION updateJobtitle
93
ALGORITMA
FUNCTION deleteJobtitle(jobtitle_id)
Kamus Data (Variabel Lokal)
jobtitle_id : variabel bertipe integer passing parameter
by value
BEGIN
DELETE FROM jobtitle WHERE jobtitle.jobttle_id =
jobtitle_id
return ‘Data jobtitle berhasil dihapus’
END
ENDFUNCTION deleteJobtitle
94
Pada bagian ini dijelaskan proses pada aplikasi mobile pada increment 1.
Rancangan proses pada aplikasi mobile dijelaskan pada gambar V.22 hingga
gambar V.24 dan tabel V.25 hingga tabel V.27.
1. Proses Login Peserta Onboarding
Proses login ini dilakukan oleh peserta onboarding sebelum dapat
mengakses aplikasi mobile sesuai dengan hak aksesnya. Sequence
Diagram dari proses ini dijelaskan pada gambar gambar berikut.
ALGORITMA
FUNCTION login(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
95
by value
email : variabel bertipe string
password : variabel bertipe string
BEGIN
email ← SELECT ALL FROM user WHERE request.email =
email
IF(email != NULL AND request.password = password) THEN
return ‘Authorized’
ENDIF
ELSE
return ‘Unauthorize’
END
ENDFUNCTION login
ALGORITMA
96
FUNCTION getUser(email)
Kamus Data (Variabel Lokal )
email : variabel bertipe string passing parameter by
value
user : variable bertipe objek
BEGIN
user ← SELECT ALL FROM user WHERE user.email=email
return user
END
ENDFUNCTION getUser
ALGORITMA
FUNCTION updateUser(user)
97
Tidak ada perancangan interaksi antar objek yang dilakukan untuk aplikasi mobile
mentor pada increment 1.
V.2.1.2 Increment 2
Pada bagian ini dijelaskan proses pada aplikasi mobile pada increment 2.
Rancangan proses pada aplikasi mobile dijelaskan pada gambar V.25 hingga
gambar V.34 dan tabel V.28 hingga tabel V.37.
1. Proses Menampilkan Daftar Activity
Proses ketika superadmin/admin ingin melihat daftar activity, kemudian
sistem akan menampilkan tabel data activity. Sequence Diagram dari
proses ini dijelaskan pada gambar berikut.
98
ALGORITMA
FUNCTION getActivity()
Kamus Data (Variabel Lokal)
activity : variabel bertipe objek
BEGIN
activity ← SELECT ALL FROM activity
return activity
END
ENDFUNCTION getActivity
ALGORITMA
BEGIN
createActivity(activity)
WHILE (create detail) DO
createActivityDetail(activity_detail)
END WHILE
END
FUNCTION createActivity(activity)
Kamus Data (Variable Lokal)
activity : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity VALUES activity
return ‘Activity berhasil ditambahkan’
END
ENDFUNCTION createActivity
FUNCTION createActivityDetail(activity_detail)
Kamus Data (Variable Lokal)
activity_detail : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity_detail VALUES activity_detail
return ‘Activity Detail berhasil ditambahkan’
END
ENDFUNCTION createActivityDetail
ALGORITMA
BEGIN
updateActivity(activity)
WHILE (edit detail) DO
updateActivityDetail(activity_detail)
END WHILE
END
FUNCTION updateActivity(activity)
Kamus Data (Variable Lokal)
activity : parameter input bertipe objek passing
parameter by value
activity_id : variabel bertipe integer
BEGIN
UPDATE activity SET activity WHERE
activity.activity_id = activity_id
return ‘Activity berhasil diedit’
END
ENDFUNCTION updateActivity
101
FUNCTION updateActivityDetail(activity_detail)
Kamus Data (Variable Lokal)
activity_detail : parameter input bertipe objek passing
parameter by value
activity_detail_id : variabel bertipe integer
BEGIN
UPDATE activity_detail SET activity_detail WHERE
activity_detail.activity_detail_id =
activity_detial_id
return ‘Activity Detail berhasil diedit’
END
ENDFUNCTION updateActivityDetail
ALGORITMA
BEGIN
deleteActivity(activity_id)
updateActivityDetail(activity_id)
END
FUNCTION deleteActivity(activity_id)
Kamus Data (Variable Lokal)
activity_id : parameter input bertipe integer passing
parameter by value
BEGIN
DELETE FROM activity WHERE activity_id=activity_id
return ‘Data activity berhasil dihapus’
END
ENDFUNCTION
FUNCTION deleteActivityDetail(activity_id)
Kamus Data (Variable Lokal)
activity_id : parameter input bertipe integer passing
parameter by value
BEGIN
DELETE FROM activity_detail WHERE activity_id=activity_id
return ‘Data activity detail berhasil dihapus’
END
ENDFUNCTION
ALGORITMA
Kamus Data
list_user : array bertipe objek
user : variabel bertipe objek
i : variabel bertipe integer
BEGIN
list_user ← getUser()
i ← 0
user ← list_user[i]
DO
i ← i + 1
getActivityOwnedByUser(user.email)
user ← list_user[i]
WHILE (user != null)
END
FUNCTION getUser()
Kamus Data (Variabel Lokal)
user : variabel bertipe objek
BEGIN
user ← SELECT ALL FROM user
return user
END
ENDFUNCTION getUser
FUNCTION getActivityOwnedByUser(email)
Kamus Data (Variabel Lokal)
activity_owned : variabel bertipe objek
BEGIN
activity_owned ← SELECT ALL FROM activity_owned WHERE
activity_owned.email = email
return activity_owned
END
ENDFUNCTION
Proses assign activity ini dapat dilakukan oleh superadmin dan admin.
Sequence Diagram dari proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION createActivityOwned(activity_owned)
Kamus Data (Variabel Lokal)
activity_owned : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity_owned VALUES activity_owned
return ‘Assign activity berhasil’
END
ENDFUNCTION createActivityOwned
ALGORITMA
FUNCTION getActivityCategory()
Kamus Data (Variabel Lokal)
category : variabel bertipe objek
BEGIN
category ← SELECT ALL FROM activity_category
return category
END
ENDFUNCTION category
ALGORITMA
FUNCTION createActivityCategory(activity_category)
Kamus Data (Variabel Lokal)
activity_category : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity_category VALUES
activity_category
return ‘Kategory Activity Berhasil Ditambahkan’
END
ENDFUNCTION createActivityCategory
ALGORITMA
FUNCTION updateActivityCategory(activity_category)
Kamus Data (Variabel Lokal)
activity_category : parameter input bertipe objek passing
parameter by value
activity_category_id : variable bertipe integer
BEGIN
UPDATE activity_category SET activity_category WHERE
activity_category.jactivity_category_id =
activity_category_id
return ‘Kategori Activity Berhasil Diubah’
END
ENDFUNCTION updateActivityCategory
ALGORITMA
FUNCTION deleteActivityCategory(activity_category_id)
Kamus Data (Variabel Lokal)
activity_category_id : variabel bertipe integer passing
parameter by value
BEGIN
DELETE FROM activity_category WHERE
activity_category.activity_category_id =
activity_category_id
return ‘Kategori Activity Berhasil Dihapus’
END
ENDFUNCTION deleteActivityCategory
109
Pada bagian ini dijelaskan proses pada aplikasi mobile pada increment 2.
Rancangan proses pada aplikasi mobile dijelaskan pada gambar V.35 hingga
gambar V.39 dan tabel V.38 hingga tabel V.42.
1. Proses Mengubah Password Peserta Onboarding
Proses mengubah password ini dapat dilakukan oleh peserta onboarding.
Sequence Diagram dari proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION changePassword(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variable bertipe string
BEGIN
110
ALGORITMA
FUNCTION getActivity(category_id)
Kamus Data (Variabel Lokal)
activityByCategory : variabel bertipe objek
BEGIN
activityByCategory ← SELECT ALL FROM activity WHERE
activity.category_id = category_id
return activityByCategory
END
ENDFUNCTION getActivity
ALGORITMA
FUNCTION getActivityDetail(activity_id)
Kamus Data (Variabel Lokal)
activityDetailByActivity : variabel bertipe objek
BEGIN
activityDetailByActivity ← SELECT ALL FROM
activity_detail WHERE activity_detail.activity_id =
activity_id
return activityDetailByActivity
END
ENDFUNCTION getActivityDetail
ALGORITMA
FUNCTION updateActivityOwned(activity_owned_id, email, status)
Kamus Data (Variabel Lokal)
email : variable bertipe string passing parameter by
value
activity_owned_id : variabel bertipe integer passing
parameter by value
status : variabel bertipe string
BEGIN
status ← “Submitted”
UPDATE activity_owned SET activity_owned.status =
status WHERE activity_owned.activity_owned_id =
activity_owned_id
return ‘Activity telah di submit’
END
ENDFUNCTION updateActivityOwned
113
ALGORITMA
ALGORITMA
FUNCTION getUserProgress(email)
Kamus Data (Variabel Lokal)
email : variabel bertipe string passing parameter by
value
progress : variabel bertipe real
BEGIN
progress ← SELECT progress FROM user WHERE
user.email = email
return progress
END
ENDFUNCTION getUserProgress
114
Pada bagian ini dijelaskan proses pada aplikasi mobile mentor pada increment 1.
Rancangan proses pada aplikasi mobile mentor dijelaskan pada gambar V.40
hingga gambar V.43 dan tabel V.43 hingga tabel V.46.
1. Proses Login Mentor
Proses login ini dilakukan oleh mentor sebelum dapat mengakses
aplikasi mobile sesuai dengan hak aksesnya. Sequence Diagram dari
proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION login(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variabel bertipe string
115
ALGORITMA
FUNCTION getUser(email)
Kamus Data (Variabel Lokal )
116
ALGORITMA
FUNCTION updateUser(user)
Kamus Data (Variabel Lokal)
user : parameter input bertipe objek passing parameter by
value
email : variable bertipe string
117
BEGIN
UPDATE user SET user WHERE user.email = email
return ‘Data user Berhasil Diubah’
END
ENDFUNCTION updateUser
ALGORITMA
FUNCTION changePassword(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variable bertipe string
BEGIN
118
V.2.1.3 Increment 3
Pada bagian ini dijelaskan proses pada aplikasi web pada increment 3. Rancangan
proses pada aplikasi web dijelaskan pada gambar V.44 hingga gambar V.49 dan
tabel V.47 hingga tabel V.52.
1. Proses Menampilkan Daftar Home Activity
Proses ketika superadmin/admin ingin melihat daftar home activity.
Sequence Diagram dari proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION getActivity(type)
Kamus Data (Variabel Lokal)
type : variabel bertipe string passing parameter by value
BEGIN
type ← “home”
activity ← SELECT ALL FROM activity WHERE
activity.type = type
return activity
END
ENDFUNCTION getActivity
ALGORITMA
BEGIN
createActivity(activity)
WHILE (create detail) DO
createActivityDetail(activity_detail)
END WHILE
END
FUNCTION createActivity(activity)
Kamus Data (Variable Lokal)
activity : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity VALUES activity
return ‘Activity berhasil ditambahkan’
END
ENDFUNCTION createActivity
FUNCTION createActivityDetail(activity_detail)
Kamus Data (Variable Lokal)
activity_detail : parameter input bertipe objek passing
parameter by value
BEGIN
INSERT INTO activity_detail VALUES activity_detail
return ‘Activity Detail berhasil ditambahkan’
END
ENDFUNCTION createActivityDetail
ALGORITMA
BEGIN
updateActivity(activity)
WHILE (edit detail) DO
updateActivityDetail(activity_detail)
END WHILE
END
FUNCTION updateActivity(activity)
Kamus Data (Variable Lokal)
activity : parameter input bertipe objek passing
parameter by value
activity_id : variabel bertipe integer
BEGIN
UPDATE activity SET activity WHERE
activity.activity_id = activity_id
return ‘Activity berhasil diedit’
END
ENDFUNCTION updateActivity
FUNCTION updateActivityDetail(activity_detail)
Kamus Data (Variable Lokal)
activity_detail : parameter input bertipe objek passing
parameter by value
activity_detail_id : variabel bertipe integer
BEGIN
UPDATE activity_detail SET activity_detail WHERE
activity_detail.activity_detail_id =
activity_detial_id
return ‘Activity Detail berhasil diedit’
END
ENDFUNCTION updateActivityDetail
122
ALGORITMA
BEGIN
deleteActivity(activity_id)
updateActivityDetail(activity_id)
END
FUNCTION deleteActivity(activity_id)
Kamus Data (Variable Lokal)
activity_id : parameter input bertipe integer passing
parameter by value
BEGIN
DELETE FROM activity WHERE activity_id=activity_id
return ‘Data activity berhasil dihapus’
END
123
ENDFUNCTION
FUNCTION deleteActivityDetail(activity_id)
Kamus Data (Variable Lokal)
activity_id : parameter input bertipe integer passing
parameter by value
BEGIN
DELETE FROM activity_detail WHERE
activity_id=activity_id
return ‘Data activity detail berhasil dihapus’
END
ENDFUNCTION
ALGORITMA
124
FUNCTION changePassword(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variabel bertipe string
BEGIN
UPDATE admin SET password WHERE request.email = email
return ‘Password Berhasil Diubah’
END
ENDFUNCTION changePassword
ALGORITMA
FUNCTION changePassword(request)
Kamus Data (Variabel Lokal)
request : parameter input bertipe objek passing parameter
by value
email : variable bertipe string
BEGIN
UPDATE user SET password WHERE request.email = email
return ‘Password Berhasil Diubah’
END
ENDFUNCTION changePassword
Pada bagian ini dijelaskan proses pada aplikasi mobile pada increment 3.
Rancangan proses pada aplikasi mobile dijelaskan pada gambar V.50 hingga
gambar V.52 dan tabel V.53 hingga tabel V.55.
.
1. Proses Menampilkan Leaderboard
Proses ketika peserta onboarding ingin melihat leaderboard. Sequence
Diagram dari proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION getLeaderboard()
Kamus Data (Variabel Lokal)
user : variabel bertipe objek
leaderboard : variabel bertipe objek
BEGIN
user ← SELECT ALL FROM user
leaderboard ← sortBy(user, user.progress)
return leaderboard
END
ENDFUNCTION
FUNCTION getActivity(type)
Kamus Data (Variabel Lokal)
type : variabel bertipe string passing parameter by value
BEGIN
type ← “home”
activity ← SELECT ALL FROM activity WHERE
activity.type = type
return activity
END
ENDFUNCTION getActivity
FUNCTION getActivityDetail(activity_id)
Kamus Data (Variabel Lokal)
activity_id : variabel bertipe int passing parameter by
value
BEGIN
128
Pada bagian ini dijelaskan proses pada aplikasi mobile pada increment 3.
Rancangan proses pada aplikasi mobile dijelaskan pada gambar V.53 hingga
gambar V.60 dan tabel V.56 hingga tabel V.63.
1. Proses Menampilkan Daftar Peserta
Proses ketika mentor ingin melihat daftar peserta. Sequence Diagram
dari proses ini dijelaskan pada gambar berikut.
ALGORITMA
FUNCTION getUser()
Kamus Data (Variabel Lokal)
role_id : variabel bertipe integer passing parameter by
129
value
BEGIN
role_id ← 4
user ← SELECT ALL FROM user WHERE user.role_id =
role_id
return user
END
ENDFUNCTION getUser
ALGORITMA
FUNCTION getUserProgress(email)
Kamus Data (Variabel Lokal)
email : variabel bertipe string passing parameter by
value
progress : variabel bertipe real
BEGIN
progress ← SELECT progress FROM user WHERE
130
user.email = email
return progress
END
ENDFUNCTION getUserProgress
ALGORITMA
FUNCTION getActivityOwned(email)
Kamus Data (Variabel Lokal)
activity_owned : variabel bertipe objek
email : variabel bertipe string passing parameter by
131
value
BEGIN
activity_owned ← SELECT ALL FROM activity_owned
WHERE activity_owned.email = email
return activity_owned
END
ENDFUNCTION
ALGORITMA
FUNCTION getActivityOwned(status)
132
ALGORITMA
FUNCTION getActivityOwned(status)
Kamus Data (Variabel Lokal)
activity_owned : variabel bertipe objek
status : variabel bertipe string passing parameter by
value
BEGIN
activity_owned ← SELECT ALL FROM activity_owned
WHERE activity_owned.status = status
return activity_owned
END
ENDFUNCTION getActivityOwned
ALGORITMA
FUNCTION getActivityOwned(activity_owned_id)
134
ALGORITMA
135
ALGORITMA
136
FUNCTION getLeaderboard()
Kamus Data (Variabel Lokal)
user : variabel bertipe objek
leaderboard : variabel bertipe objek
BEGIN
user ← SELECT ALL FROM user
leaderboard ← sortBy(user, user.progress)
return leaderboard
END
ENDFUNCTION
Pada subbab ini akan dijelaskan mengenai perancangan user interface (UI) untuk
menggambarkan visual aplikasi yang digunakan pengguna untuk berinteraksi
dengan aplikasi. Perancangan UI mengacu pada requirement user interface yang
terdapat pada dokumen SRS subbab III.1.1. Berikut dipaparkan setiap
perancangan tampilan yang terdapat pada aplikasi.
V.2.2.1 Increment 1
Pada bagian ini dijelaskan tampilan user interface web web pada increment 1.
Rancangan user interface aplikasi web dijelaskan pada tabel V.64 hingga tabel
V.72.
No UI GUI-01-Website
Requirement REQ-F-01
Gambar
137
No UI GUI-02-Website
Requirement REQ-F-02
Gambar
138
No UI GUI-03-Website
Requirement REQ-F-03
Gambar
No UI GUI-04-Website
Requirement REQ-F-03
Gambar
139
No UI GUI-05-Website
Requirement REQ-F-03
Gambar
140
No UI GUI-06-Website
Requirement REQ-F-03
Gambar
No UI GUI-07-Website
Requirement REQ-F-06
Gambar
No UI GUI-08-Website
Requirement REQ-F-05
Gambar
142
No UI GUI-09-Website
Requirement REQ-F-05
Gambar
143
Pada bagian ini dijelaskan user interface aplikasi mobile peserta onboarding pada
increment 1. Rancangan user interface aplikasi mobile dijelaskan pada tabel V.73
hingga tabel V.76.
No UI GUI-01-Mobile
Requirement REQ-F-01
Gambar
144
No UI GUI-02-Mobile
Requirement REQ-F-02
Gambar
145
No UI GUI-07-Mobile
Requirement REQ-F-13
Gambar
146
No UI GUI-08-Mobile
Requirement REQ-F-14
Gambar
147
Tidak ada perancangan user interface yang dilakukan untuk aplikasi mobile
mentor pada increment 1.
V.2.2.2 Increment 2
Pada bagian ini dijelaskan tampilan user interface web pada increment 2.
Rancangan user interface aplikasi web dijelaskan pada tabel V.77 hingga tabel
V.82.
Tabel V.77 Deskripsi GUI-10-Website
No UI GUI-10-Website
Requirement REQ-F-09
Gambar
No UI GUI-11-Website
Requirement REQ-F-09
Gambar
149
No UI GUI-12-Website
Requirement REQ-F-07
Gambar
No UI GUI-13-Website
Requirement REQ-F-07
Gambar
No UI GUI-17-Website
151
Requirement REQ-F-10
Gambar
No UI GUI-19-Website
Requirement REQ-F-11
Gambar
Pada bagian ini dijelaskan user interface aplikasi mobile peserta onboarding pada
increment 2. Rancangan user interface aplikasi mobile dijelaskan pada tabel V.83
hingga tabel V.86.
No UI GUI-09-Mobile
Requirement REQ-F-15
Gambar
153
No UI GUI-03-Mobile
Requirement REQ-F-16
Gambar
154
No UI GUI-04-Mobile
Requirement REQ-F-17
Gambar
155
No UI GUI-05-Mobile
Requirement REQ-F-17
Gambar
156
Pada bagian ini dijelaskan user interface aplikasi mobile mentor pada increment
2. Rancangan user interface aplikasi mobile dijelaskan pada tabel V.87 hingga
tabel V.90.
Tabel V.87 Deskripsi GUI-01-Mobile_Mentor
No UI GUI-01-Mobile_Mentor
Requirement REQ-F-01
Gambar
157
No UI GUI-07-Mobile_Mentor
Requirement REQ-F-13
Gambar
158
No UI GUI-08-Mobile_Mentor
Requirement REQ-F-14
Gambar
159
No UI GUI-09-Mobile_Mentor
Requirement REQ-F-15
Gambar
160
V.2.2.3 Increment 3
Pada bagian ini dijelaskan tampilan user interface web pada increment 2.
Rancangan user interface aplikasi web dijelaskan pada tabel V.91 hingga tabel
V.94.
Tabel V.91 Deskripsi GUI-14-Website
No UI GUI-14-Website
Requirement REQ-F-15
Gambar
No UI GUI-15-Website
Requirement REQ-F-08
Gambar
162
No UI GUI-16-Website
Requirement REQ-F-08
Gambar
No UI GUI-18-Website
Requirement REQ-F-12
Gambar
163
Pada bagian ini dijelaskan user interface aplikasi mobile peserta onboarding pada
increment 3. Rancangan user interface aplikasi mobile dijelaskan pada tabel V.95
dan tabel V.96.
Tabel V.95 Deskripsi GUI-06-Mobile
No UI GUI-06-Mobile
Requirement REQ-F-23
Gambar
164
No UI GUI-10-Mobile
Nama UI Notifikasi
Requirement REQ-F-22
Gambar
165
Pada bagian ini dijelaskan user interface aplikasi mobile peserta onboarding pada
increment 2. Rancangan user interface aplikasi mobile dijelaskan pada tabel V.97
hingga tabel V.102.
Tabel V.97 Deskripsi GUI-02-Mobile_Mentor
No UI GUI-02-Mobile_Mentor
Requirement REQ-F-02
Gambar
166
No UI GUI-03-Mobile_Mentor
Requirement REQ-F-21
Gambar
167
No UI GUI-04-Mobile_Mentor
Requirement REQ-F-21
Gambar
168
No UI GUI-05-Mobile_Mentor
Requirement REQ-F-22
Gambar
169
No UI GUI-06-Mobile_Mentor
Requirement REQ-F-24
Gambar
170
No UI GUI-10-Mobile_Mentor
Nama UI Notifikasi
Requirement REQ-F-22
Gambar
171
Pada subbab ini akan dijelaskan mengenai perancangan alur kegiatan actor
terhadap sistem untuk menggambarkan alur data dari setiap proses bisnis fitur
yang ada pada sistem. Perancangan alur kegiatan actor terhadap sistem mengacu
pada user characteristics yang terdapat pada dokumen SRS subbab II.3. Berikut
dipaparkan setiap perancangan alur kegiatan actor terhadap sistem yang
digambarkan dengan activity diagram.
V.2.3.1 Increment 1
Sub-bab ini menjelaskan perancangan alur kegiatan actor terhadap sistem pada
increment 1.
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi web pada increment 1, yang dijelaskan pada gambar V.61 hingga V.64.
1. Authentication
172
2. Pengelolaan Admin
Berikut merupakan proses bisnis dari fitur Pengelolaan pengguna dengan
role admin yang akan dijelaskan menggunakan activity diagram.
173
3. Pengelolaan User
Berikut merupakan proses bisnis dari fitur Pengelolaan pengguna dan
perannya yang akan dijelaskan menggunakan activity diagram.
174
4. Pengelolaan Jobtitle
Berikut merupakan proses bisnis dari fitur Pengelolaan Jobtitle dan
perannya yang akan dijelaskan menggunakan activity diagram
175
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi mobile peserta onboarding pada increment 1, yang dijelaskan pada
gambar V.65 hingga V.66.
1. Authentication
Berikut merupakan proses bisnis dari fitur Authentication yang akan
dijelaskan menggunakan activity diagram.
176
Tidak ada fitur aplikasi mobile untuk mentor yang akan dikembangkan pada
increment 1.
V.2.3.2 Increment 2
Sub-bab ini menjelaskan perancangan alur kegiatan actor terhadap sistem pada
increment 2.
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi web pada increment 2, yang dijelaskan pada gambar V.67 hingga V.70.
1. Pengelolaan Activity
Berikut merupakan proses bisnis dari fitur Pengelolaan Activity yang akan
dijelaskan menggunakan activity diagram.
178
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi mobile peserta onboarding pada increment 2, yang dijelaskan pada
gambar V.71 hingga V.73.
1. Lihat Activity
Berikut merupakan proses bisnis dari fitur Lihat Activity yang akan
dijelaskan menggunakan activity diagram.
181
2. Change Password
Berikut merupakan proses bisnis dari fitur change password yang akan
dijelaskan menggunakan activity diagram.
182
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi mobile mentor pada increment 2, yang dijelaskan pada gambar V.75
hingga V.77.
1. Authentication
Berikut merupakan proses bisnis dari fitur Edit Profile yang akan
dijelaskan menggunakan activity diagram.
184
3. Change Password
Berikut merupakan proses bisnis dari fitur change password yang akan
dijelaskan menggunakan activity diagram.
V.2.3.3 Increment 3
Sub-bab ini menjelaskan perancangan alur kegiatan actor terhadap sistem pada
increment 3.
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi web pada increment 3, yang dijelaskan pada gambar V.78 hingga V.80.
1. Pengelolaan Home Activity
Berikut merupakan proses bisnis dari fitur Pengelolaan Home Activity
yang akan dijelaskan menggunakan activity diagram.
186
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi mobile peserta onboarding pada increment 3, yang dijelaskan pada
gambar V.81 hingga V.85.
1. Notifikasi, jika ada activity baru dan tenggat activity tersisa 1 hari
Berikut merupakan proses bisnis dari fitur Notifikasi yang akan dijelaskan
menggunakan activity diagram.
3. Progress Bar
Berikut merupakan proses bisnis dari fitur Progress Bar yang akan
dijelaskan menggunakan activity diagram.
4. Leaderboard
Berikut merupakan proses bisnis dari fitur Leaderboard yang akan
dijelaskan menggunakan activity diagram.
Pada bagian ini dijelaskan perancangan alur kegiatan actor terhadap sistem
aplikasi mobile mentor pada increment 3, yang dijelaskan pada gambar V.86
hingga V.90.
1. Lihat daftar activity berdasarkan peserta
Berikut merupakan proses bisnis dari fitur Lihat Activity Berdasarkan
Peserta yang akan dijelaskan menggunakan activity diagram.
191
192
4. Progress Bar
Berikut merupakan proses bisnis dari fitur Progress Bar yang akan
dijelaskan menggunakan activity diagram.
(mobile)
oleh peserta
onboarding.
(mobile)
Bab ini menjelaskan hasil implementasi dari perancangan dan analisis yang telah
dibuat pada bab IV dan bab V. Dalam bab ini dijelaskan terkait hasil implementasi
yang terbagi menjadi implementasi aplikasi web dan aplikasi mobile berdasarkan
increment yang telah direncanakan serta matriks keterhubungan implementasi.
Fitur notifikasi tidak akan diimplementasikan pada pengerjaan Tugas Akhir kali
ini.
Pada sub bab ini dijelaskan mengenai hasil implementasi increment 1 dari aplikasi
yang dibuat berdasarkan hasil analisis dan perancangan yang dijelaskan pada tabel
VI.1 s.d. VI.13. Berikut fitur yang telah diimplementasikan pada increment 1.
1. Aplikasi Web
a. Authentication
b. Pengelolaan Admin
c. Pengelolaan User Mobile
d. Pengelolaan Jobtitle
e. Melihat Role
2. Aplikasi Mobile Peserta Onboarding
a. Authentication
b. View dan Edit Profile
3. Aplikasi Mobile Mentor
Tidak ada fitur aplikasi mobile untuk mentor yang akan dikembangkan
pada increment 1
No Implementasi IM-01-Website
201
Gambar
No Implementasi IM-02-Website
Gambar
202
No Implementasi GUI-03-Website
Gambar
No UI IM-04-Website
Gambar
No Implementasi GUI-05-Website
Gambar
No UI IM-06-Website
Gambar
No Implementasi GUI-07-Website
Gambar
205
No Implementasi GUI-08-Website
Gambar
No UI IM-09-Website
Gambar
No Implementasi IM-01-Mobile
Gambar
207
No Implementasi IM-02-Mobile
Gambar
208
No Implementasi IM-07-Mobile
Gambar
209
No Implementasi IM-08-Mobile
Gambar
210
Pada sub bab ini dijelaskan mengenai hasil implementasi increment 2 dari aplikasi
yang dibuat berdasarkan hasil analisis dan perancangan yang dijelaskan pada tabel
VI.14 s.d. VI.27. Berikut fitur yang telah diimplementasikan pada increment 2.
1. Aplikasi Web
a. Pengelolaan Activity
b. Assign Activity Kepada Peserta Onboarding
c. Pengelolaan Kategori Activity
d. Melihat Activity Owned
2. Aplikasi Mobile Peserta Onboarding
a. Lihat Activity
b. Submit Activity
c. Change Password
211
No Implementasi IM-10-Website
Gambar
No Implementasi IM-11-Website
Gambar
212
No Implementasi IM-12-Website
Gambar
No Implementasi IM-13-Website
Gambar
No Implementasi IM-17-Website
Gambar
214
No Implementasi IM-19-Website
Gambar
No Implementasi IM-09-Mobile
Gambar
No Implementasi IM-03-Mobile
Gambar
216
No Implementasi IM-04-Mobile
Gambar
217
No Implementasi IM-05-Mobile
Gambar
218
No Implementasi IM-01-Mobile_Mentor
Gambar
219
No Implementasi IM-07-Mobile_Mentor
Gambar
220
No Implementasi IM-08-Mobile_Mentor
Gambar
221
No Implementasi IM-09-Mobile_Mentor
Gambar
222
Pada sub bab ini dijelaskan mengenai hasil implementasi increment 3 dari aplikasi
yang dibuat berdasarkan hasil analisis dan perancangan yang dijelaskan pada tabel
VI.28 s.d. VI.37. Berikut fitur yang telah diimplementasikan pada increment 3.
1. Aplikasi Web
a. Pengelolaan Home Activity.
b. Change Password
c. Change Password pengguna aplikasi lain oleh admin
2. Aplikasi Mobile Peserta Onboarding
a. Progress Bar
b. Leaderboard
c. Lihat Home Activity
3. Aplikasi Mobile Mentor
a. Lihat daftar activity berdasarkan peserta
b. Validasi penyelesaian activity
c. Progress Bar
223
d. Leaderboard
VI.3.1 Implementasi Aplikasi Web
No Implementasi IM-14-Website
Gambar
No Implementasi IM-15-Website
Gambar
224
No Implementasi IM-16-Website
Gambar
No Implementasi IM-18-Website
Gambar
No Implementasi IM-06-Mobile
Gambar
226
No Implementasi IM-02-Mobile_Mentor
Gambar
227
No Implementasi IM-03-Mobile_Mentor
Gambar
228
No Implementasi IM-04-Mobile_Mentor
Gambar
229
No Implementasi IM-05-Mobile_Mentor
Gambar
230
No Implementasi IM-06-Mobile_Mentor
Gambar
231
Pada aplikasi mobile sudah jelas bahwa mentor dan peserta onboarding memiliki
dua aplikasi yang berbeda. Kemudian pada aplikasi web terdapat dua role yaitu
superadmin dan admin yang memiliki hak akses berbeda. Perbedaan tersebut
dituangkan pada tabel VI.38.
Gambar superadmin
Gambar admin
233
Kesimpulannya, pengguna aplikasi web dengan role admin tidak bisa mengelola
(melihat, menambah, atau menghapus) data admin lainnya.
Pada sub bab ini dijelaskan mengenai keterhubungan implementasi yang telah
dilakukan berdasarkan hasil analisis dan hasil perancangan pada bagian
sebelumnya yang ditunjukkan pada tabel VI.39.
-
Mobile
Mentor
mengelola(menambah, 46
mengubah, menghapus) SD-
data home activity 47
kemudian menyimpannya
ke dalam database. (web)
mengelompokan activity - 36
berdasarkan activity Mobile
category. (mobile)
Pada bab ini dijelaskan mengenai pengujian yang dilakukan terhadap hasil
implementasi dari setiap modul dan fitur pada aplikasi Onboarding Karyawan
yang telah dikembangkan.
Secara umum lingkup pengujian yang dilakukan pada tugas akhir kali ini meliputi
beberapa hal sebagai berikut.
1. Autentikasi.
2. Mengelola (menampilkan, menambah, menghapus) data user.
3. Mengelola (menampilkan, menambah, menghapus) data admin.
4. Mengelola (menampilkan, menambah, mengubah, menghapus) data
activity category.
5. Mengelola (menampilkan, menambah, mengubah, menghapus) activity.
6. Mengunggah file (foto, dokumen, video).
7. Mengelola (menampilkan, menambah, menghapus) data home activity.
8. Assign Activity.
9. Menampilkan daftar data activity yang dimiliki oleh peserta onboarding.
1. Autentikasi
2. Menampilkan daftar activity berdasarkan activity category.
3. Menampilkan activity detail.
4. Memutar video.
5. Menampilkan gambar.
238
6. Mengunduh dokumen.
7. Submit activity.
8. Menampilkan progress bar.
9. Menampilkan leaderboard.
1. Autentikasi user.
2. Menampilkan daftar activity berdasarkan peserta onboarding.
3. Validasi activity.
4. Menampilkan progress bar.
5. Menampilkan leaderboard.
Pada subbab kali ini akan dijelaskan mengenai rencana pengujian yang mencakup
tahapan pengujian, dan juga jenis pengujian.
3. Test Case
Test Case berisikan kasus-kasus yang diujikan. Dokumen Test Case dapat
dilihat pada lampiran.
4. Test Procedure
Test Procedure berisikan prosedur yang dilakukan dalam pengujian
mengacu pada test case. Dokumen Test Procedure dapat dilihat pada
lampiran.
5. Test Log
Test Log berisikan hasil dari eksekusi pengujian yang telah dilakukan.
Dokumen Test Log dapat dilihat pada lampiran.
Pengujian yang dilakukan adalah unit test. integration test, dan user acceptance
test.
Pada bagian ini dijelaskan mengenai kesimpulan hasil pengujian aplikasi yang
merupakan ringkasan dari lima dokumen yang telah dibuat. Penjelasan dibagi
menjadi tiga bagian, yaitu aplikasi web, aplikasi mobile, dan aplikasi mobile
mentor.
Berikut merupakan ringkasan hasil unit test aplikasi web yang diambil dari
dokumen testing dapat dilihat pada tabel VII.1.
Tabel VII.1 Resume Testing Aplikasi Web
Berikut merupakan ringkasan hasil unit test aplikasi mobile peserta onboarding
yang diambil dari dokumen testing dapat dilihat pada tabel VII.2.
241
Berikut merupakan ringkasan hasil unit test aplikasi mobile mentor yang diambil
dari dokumen testing dapat dilihat pada tabel VII.3.
Berikut merupakan ringkasan hasil integration test aplikasi webyang diambil dari
dokumen testing dapat dilihat pada tabel VII.4.
VII.3.3 UAT
Berikut merupakan ringkasan hasil user acceptance test aplikasi web yang
diambil dari dokumen uat dapat dilihat pada tabel VII.5.
Tabel VII.5 Resume UAT Aplikasi Web
1 Autentikasi. Pass
20 Menampilkan daftar data activity yang dimiliki oleh peserta onboarding. Pass
Pembuatan user baru dengan role peserta onboarding, dan autentikasi pada Pass
26
aplikasi mobile peserta onboarding.
Pembuatan user baru dengan role mentor, dan autentikasi pada aplikasi mobile Pass
27
mentor.
Pembuatan activity pada aplikasi web, dan pengaksesan activity pada aplikasi Pass
28
mobile peserta onboarding.
Berikut merupakan ringkasan hasil user acceptance test aplikasi mobile peserta
yang diambil dari dokumen uat dapat dilihat pada tabel VII.6.
Tabel VII.6 Resume UAT Aplikasi Mobile Peserta
244
1 Autentikasi Pass
Pembuatan user baru dengan role peserta onboarding, dan autentikasi pada Pass
10
aplikasi mobile peserta onboarding.
Pembuatan activity pada aplikasi web, pemberian activity kepada peserta Pass
11 onboarding, dan pengaksesan activity pada aplikasi mobile peserta
onboarding.
12 Submit activity pada aplikasi mobile peserta onboarding, dan validasi activity. Pass
Berikut merupakan ringkasan hasil user acceptance test aplikasi mobile mentor
yang diambil dari dokumen uat dapat dilihat pada tabel VII.7.
Tabel VII.7 Resume UAT Aplikasi Mobile Mentor
1 Autentikasi Pass
6 Pembuatan user baru dengan role mentor, dan autentikasi pada aplikasi mobile Pass
mentor.
7 Submit activity pada aplikasi mobile peserta onboarding, dan validasi activity Pass
245
BAB VIII
PENUTUP
Bab ini berisi kesimpulan dan saran yang diperoleh dari hasil pengerjaan tugas
akhir dengan judul Pengembangan Aplikasi Onboarding Karyawan Di CV
Garuda Infinity Kreasindo.
VIII.1 Kesimpulan
VIII.2 Saran