Universitas Kristen Maranatha vi
ABSTRAK
Seiring dengan terjadinya turnover pegawai dalam sebuah perusahaan, menjadikan perusahaan harus memiliki standar tertentu untuk dapat menerima calon pegawai barunya. Dalam proses rekrutmen pegawai, PT. Bee Solution Partners masih menggunakan paper sebagai medianya. Padahal bila menggunakan paper, metode tersebut akan memakan waktu dan biaya. Sehingga dengan seiringnya kemajuan teknologi, paper based test tersebut dapat diganti dengan computer based test dimana pemeriksaan hasil ujian akan dilakukan secara komputerisasi juga yang diberi nama autograder. Akan terdapat dua macam ujian, yaitu teori dan praktik. Dimana ujian praktik sendiri adalah koding yang akan dinilai menggunakan software metric. Aplikasi yang dibuat memiliki beberapa fitur, yaitu pengelolaan data master, history berdasarkan peserta ujian dan soal, dan fitur untuk ujian teori serta praktik Aplikasi telah melalui masa uji coba dan evaluasi menggunakan black box, white box dan user acceptancetesting sehingga dapat disimpulkan bahwa aplikasi dapat digunakan sebagai media dan alat bantu dalam proses recruitment. Dari hasil pengujian, terdapat juga beberapa catatan yang akan digunakan sebagai pengembangan aplikasi di masa yang akan datang.
Universitas Kristen Maranatha vii
ABSTRACT
Along with the employees turnover in a company, making a company must have a certain standard in order to accept their new employee candidates. In process of employee recruitment, PT. Bee Solution Partners still using paper as their test media. Whereas when using paper, this method will take time and cost. With the development of technology, paper based test can be replaced with computer based test where the test will be examined by computer that called autograder. There will be two types of test, theory test and practice test. Where practice test is coding test that will be examined with software metric. The application will have some features, such as maintenance of master data, history based on participant and question, and feature for theory and practice test. Application already tested and evaluated using black box, white box and user acceptance test and it can be concluded that the application can be media and tools to help recruitment process. There are some notes that will be used as base to develop application in the future.
Universitas Kristen Maranatha viii
DAFTAR ISI
LEMBAR PENGESAHAN ... i
PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii
PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii
PRAKATA ... iv
DAFTAR NOTASI / LAMBANG ... xx
DAFTAR SINGKATAN ... xxiv
DAFTAR ISTILAH ... xxv
BAB 1.PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ...1
1.2 Rumusan Masalah ...3
1.3 Tujuan Pembahasan ...3
1.4 Ruang Lingkup Kajian...4
1.5 Sumber Data ...4
1.6 Sistematika Penyajian ...5
BAB 2.KAJIANTEORI ... 7
2.1 Software Quality ...7
2.1.1 Software Metrics ...7
2.2 Computer Based Test (CBT) ... 10
2.2.1 Quiz Test ... 10
2.2.2 Java Programming Test ... 13
2.3 Penjelasan Mengenai Tools Software Metric yang Digunakan ... 15
2.3.1 JavaNCSS ... 16
2.3.2 CKJM ... 19
BAB 3.ANALISISDANRANCANGANSISTEM ... 21
Universitas Kristen Maranatha ix
3.1.1 Metrics yang Digunakan ... 21
3.1.2 Tools yang Digunakan ... 26
3.1.3 Penggabungan Nilai yang Didapatkan dari Metrik ... 27
3.1.4 Metrik yang Tidak Digunakan ... 28
3.1.5 Tipe Aplikasi yang Dibangun ... 28
3.1.6 Database ... 30
3.2 Analisis Sistem yang Akan Dibangun ... 30
3.3 UML Diagram ... 33
3.3.1 Use Case Diagram ... 33
3.3.2 Definisi Aktor ... 34
3.3.3 Definisi Use Case ... 34
3.3.4 Skenario Use Case Diagram ... 36
3.3.5 Activity Diagram ... 45
3.3.6 Class Diagram ... 54
3.3.7 Sequence Diagram ... 60
3.4 Perancangan Basis Data ... 71
3.4.1 Entity Relationship Diagram ... 71
3.4.2 Skema Relasi ... 73
3.4.3 Struktur Tabel ... 73
3.5 Rancangan User Interface ... 79
3.5.1 Tampilan Admin Menu ... 80
3.5.2 Tampilan Admin - User Control ... 81
3.5.3 Tampilan Admin - User Control Add or Edit Control ... 82
3.5.4 Tampilan Admin - System Control ... 83
3.5.5 Tampilan Admin - System Control Add or Edit Control ... 84
3.5.6 Tampilan Admin - Question Control ... 85
3.5.7 Tampilan Admin - Theory Question Add or Edit Control ... 86
3.5.8 Tampilan Admin - Practice Question Add or Edit Control ... 87
3.5.9 Tampilan Admin - Test Control ... 88
3.5.10 Tampilan Admin - Test Control Make Test ... 89
3.5.11 Tampilan Admin - Test Control Set Participants ... 90
Universitas Kristen Maranatha x
3.5.13 Tampilan Admin – Participant Result Detail ... 92
3.5.14 Tampilan Participant - Theory Test ... 93
3.5.15 Tampilan Participant - Practice Test ... 94
BAB 4.HASILPENELITIAN ... 95
4.1 Implementasi Antarmuka ... 95
4.1.1 Konten Admin ... 95
4.1.2 Konten Participant ... 110
4.2 Implementasi Algoritma ... 112
BAB 5.PEMBAHASANDANUJICOBAHASILPENELITIAN ... 122
5.1 Pengujian Black-Box ... 122
5.1.1 Konten Admin ... 122
5.2 Pengujian White Box... 166
5.2.1 Pengujian White Box untuk Alur Utama Aplikasi ... 167
5.2.2 Pengujian White Box untuk Alur Autograder ... 176
5.3 User Acceptance Test. ... 186
5.3.1 Kesimpulan dari UAT ... 202
BAB 6.SIMPULANDANSARAN ... 204
6.1 Simpulan ... 204
6.2 Saran ... 205
Universitas Kristen Maranatha xi
DAFTAR GAMBAR
Gambar 2.1 Screenshot Java Quiz ... 11
Gambar 2.2 Screenshot SQL Quiz w3school ... 12
Gambar 2.3 Screenshot SQL Quiz sqlquiz ... 12
Gambar 2.4 Screenshot Java Programming dari better programmer ... 13
Gambar 2.5 Screenshot Java Programming dari test dome ... 14
Gambar 2.6 Screenshot Java Programming dari Codingbat ... 15
Gambar 2.7 Screenshot hasil yang dikeluarkan oleh getFunctionMetrics() . 16 Gambar 2.8 Perhitungan Manual Cyclomatic Complexity ... 18
Gambar 3.1 Formula Penggabungan Nilai dari Software Metric ... 28
Gambar 3.2 3-Tier Architecture ... 29
Gambar 3.3 Flowchart Sistem Ujian ... 31
Gambar 3.4 Use Case Diagram dari Computer Based Test... 33
Gambar 3.5 Activity Diagram Mengelola Data User ... 46
Gambar 3.6 Activity Diagram Mengelola Data Sistem ... 47
Gambar 3.7 Activity Diagram Mengelola Data Participant ... 48
Gambar 3.8 Activity Diagram Mengelola Data Tes ... 49
Gambar 3.9 Activity Diagram Mengelola Data Soal ... 50
Gambar 3.10 Activity Diagram Melihat History Soal ... 51
Gambar 3.11 Activity Diagram Trigger Memeriksa Soal ... 52
Gambar 3.12 Activity Diagram Melihat History Ujian ... 53
Gambar 3.13 Activity Diagram Melakukan Ujian Teori / Praktik ... 54
Gambar 3.14 Class Diagram ... 55
Gambar 3.15 Sequence Diagram Tes ... 61
Gambar 3.16 Sequence Diagram Autograding ... 65
Gambar 3.17 Entity Relationship Diagram ... 72
Gambar 3.18 Tabel Relasi ... 73
Gambar 3.19 Tampilan Admin Menu ... 80
Gambar 3.20 Tampilan Admin - User Control ... 81
Gambar 3.21 Tampilan Admin - User Control Add or Edit Control ... 82
Universitas Kristen Maranatha xii
Gambar 3.23 Tampilan Admin - System Control Add or Edit Control ... 84
Gambar 3.24 Tampilan Admin - Theory Question Control ... 85
Gambar 3.25 Tampilan Admin - Theory Question Add or Edit Control ... 86
Gambar 3.26 Tampilan Admin - Practice Question Add or Edit Control ... 87
Gambar 3.27 Tampilan Admin - Test Control ... 88
Gambar 3.28 Tampilan Admin - Test Control Make Test ... 89
Gambar 3.29 Tampilan Admin - Test Control Set Participants ... 90
Gambar 3.30 Tampilan Admin – Participant Result Main ... 91
Gambar 3.31 Tampilan Admin – Participant Result Detail ... 92
Gambar 3.32 Tampilan Participant - Theory Test ... 93
Gambar 3.33 Tampilan Participant - Practice Test ... 94
Gambar 4.1 Halaman Menu Admin ... 95
Gambar 4.2 Halaman User Control ... 96
Gambar 4.3 Halaman Add atau Edit User Data ... 97
Gambar 4.4 Halaman System Control ... 98
Gambar 4.5 Halaman Add atau Edit System Data ... 99
Gambar 4.6 Halaman Question Control ... 100
Gambar 4.7 Halaman Question Control – Add Edit pertanyaan teori ... 101
Gambar 4.8 Halaman Question Control – Add Edit pertanyaan praktek. ... 102
Gambar 4.9 Halaman Test Control ... 103
Gambar 4.10 Halaman Test Control – Make Test dengan Manual Generate ... 104
Gambar 4.11 Halaman Test Control – Make Test dengan Auto Generate ... 105
Gambar 4.12 Halaman Participant Control ... 106
Gambar 4.13 Halaman Participant Control – Add Data ... 107
Gambar 4.14 Halaman Utama Participant Result Control ... 108
Gambar 4.15 Halaman Detil dari Participant Result Control ... 109
Gambar 4.16 Halaman Theory Test ... 110
Gambar 4.17 Halaman Practice Test ... 111
Gambar 5.1 Admin Memasukkan Username dan Password (Prosedur No. 1) ... 123
Gambar 5.2 Sistem Menampilkan Menu (Prosedur No. 1) ... 123
Gambar 5.3 Admin memasukkan Username dan Password (Prosedur No. 2) ... 124
Universitas Kristen Maranatha xiii
Gambar 5.5 Admin Mengisi Data User (Prosedur No. 1) ... 125
Gambar 5.6 Data User Tersimpan (Prosedur No. 1) ... 126
Gambar 5.7 Sistem Menampilkan Pesan Error (Prosedur No. 2) ... 126
Gambar 5.8 Data User Tidak Tersimpan (Prosedur No. 2) ... 127
Gambar 5.9 Admin Input Data User (Prosedur No. 3) ... 127
Gambar 5.10 Sistem Menampilkan Pesan Error (Prosedur No. 3) ... 128
Gambar 5.11 Admin Input Data User ... 128
Gambar 5.12 Data Tidak Tersimpan... 129
Gambar 5.13 Admin Mengisi Data User (Prosedur No. 1)... 130
Gambar 5.14 Data User Berhasil Diubah (Prosedur No. 1) ... 131
Gambar 5.15 Sistem Menampilkan Error Mandatory (Prosedur No. 2) ... 131
Gambar 5.16 Menginput dengan Username yang Sudah Ada (Prosedur No. 3) ... 132
Gambar 5.17 Sistem Menampilkan Pesan Error (Prosedur No. 3) ... 132
Gambar 5.18 Password Sebelum Diubah (Prosedur No. 5) ... 132
Gambar 5.19 Mengganti Password (Prosedur No. 5) ... 133
Gambar 5.20 Password Telah Terubah (Prosedur No. 5) ... 133
Gambar 5.21 Password dan Confirm Password Berbeda (Prosedur No. 6) ... 134
Gambar 5.22 Memilih User yang akan Dihapus (Prosedur No. 1) ... 135
Gambar 5.23 Data Berhasil Berubah (Prosedur No. 1) ... 135
Gambar 5.24 Sistem Menampilkan Error Message (Prosedur No. 2) ... 136
Gambar 5.25 Admin Input Data Sistem (Prosedur No. 1) ... 137
Gambar 5.26 Penyimpanan Data Sistem (Prosedur No. 1) ... 137
Gambar 5.27 Data Sistem Berhasil Disimpan (Prosedur No. 1) ... 138
Gambar 5.28 Sistem Menampilkan Error Mandatory (Prosedur No. 2) ... 138
Gambar 5.29 Admin Menginputkan dengan Data yang Sama (Prosedur No. 3) ... 139
Gambar 5.30 Sistem Menampilkan Error (Prosedur No. 3)... 139
Gambar 5.31 Memilih Salah Satu Data untuk Dihapus (Prosedur No. 1) ... 141
Gambar 5.32 Data Berhasil Diubah Statusnya (Prosedur No. 1) ... 141
Gambar 5.33 Sistem Menampilkan Pesan Error (Prosedur No. 2) ... 142
Gambar 5.34 Admin Input Data Benar (Prosedur No. 1) ... 143
Gambar 5.35 Data Tersimpan (Prosedur No. 1) ... 144
Universitas Kristen Maranatha xiv
Gambar 5.37 Sistem Menampilkan Pesan Error (Prosedur No. 3) ... 145
Gambar 5.38 Sistem Menampilkan Pesan Error (Prosedur No. 4) ... 145
Gambar 5.39 Sistem Menampilkan Pesan Error (Prosedur No. 5) ... 146
Gambar 5.40 Sistem Menampilkan Pesan Error (Prosedur No. 6) ... 146
Gambar 5.41 Sistem Menampilkan Pesan Error (Prosedur No. 7) ... 147
Gambar 5.42 Admin Memilih Data untuk Dihapus (Prosedur No. 1) ... 148
Gambar 5.43 Data Berubah Menjadi Unused (Prosedur No. 1) ... 149
Gambar 5.44 Sistem Menampilkan Pesan Error (Prosedur No. 2) ... 149
Gambar 5.45 Admin Input Data Benar (Prosedur No. 1) ... 150
Gambar 5.46 Data Tersimpan (Prosedur No. 1) ... 151
Gambar 5.47 Admin Input Data Username yang Sama (Prosedur No. 2) ... 151
Gambar 5.48 Sistem Menampilkan Pesan Error (Prosedur No. 2) ... 152
Gambar 5.49 Admin Input Data Benar (Prosedur No. 1) ... 153
Gambar 5.50 Data Tersimpan di Database (Prosedur No. 2) ... 154
Gambar 5.51 Sistem Menampilkan Error Mandatory (Prosedur No. 2) ... 154
Gambar 5.52 Sistem Menampilkan Pesan Error (Prosedur No. 3) ... 155
Gambar 5.53 Sistem Menampilkan Pesan Error (Prosedur No. 4) ... 155
Gambar 5.54 Sistem Menampilkan Pesan Information (Prosedur No. 5) ... 156
Gambar 5.55 Admin Input Data Benar (Prosedur No. 1) ... 157
Gambar 5.56 Data Tersimpan di Database (Prosedur No. 1) ... 158
Gambar 5.57 Admin Memilih User yang Sama (Prosedur No. 2) ... 158
Gambar 5.58 Sistem Menampilkan Pesan Error (Prosedur No. 4) ... 159
Gambar 5.59 Melihat Hasil Ujian Tanpa Searching (Prosedur No. 1) ... 160
Gambar 5.60 Melihat Hasil Ujian dengan Searching (Prosedur No. 2) ... 161
Gambar 5.61 Melihat Hasil Ujian dengan Searching (Prosedur No. 2) ... 161
Gambar 5.62 Detil dari Hasil Ujian Peserta (Prosedur No. 3) ... 162
Gambar 5.63 Jump to Next Question (Prosedur No. 1) ... 163
Gambar 5.64 Sistem Mengeluarkan Pesan Peringatan (Prosedur No. 2) ... 164
Gambar 5.65 Jump to Next Question (Prosedur No. 1) ... 165
Gambar 5.66 Sistem Mengeluarkan Pesan Peringatan (Prosedur No. 2) ... 165
Gambar 5.67 Sistem Menampilkan Pesan Error (Prosedur No. 3) ... 166
Universitas Kristen Maranatha xv
Gambar 5.69 Berhasil Masuk (Prosedur No. 1) ... 169
Gambar 5.70 Gagal Masuk (Prosedur No. 1) ... 169
Gambar 5.71 Admin Mempersiapkan Soal-Soal (Prosedur No. 2) ... 170
Gambar 5.72 Admin Mempersiapkan Soal-Soal (Prosedur No. 2) ... 170
Gambar 5.73 Admin Mempersiapkan Ujian (Prosedur No. 3)... 171
Gambar 5.74 Admin Mengatur Peserta Ujian (Prosedur No. 4) ... 171
Gambar 5.75 Peserta Melakukan Tes Ujian (Prosedur No. 6) ... 172
Gambar 5.76 Gagal Masuk (Prosedur No. 5) ... 172
Gambar 5.77 Peserta Selesai Ujian (Prosedur No. 6) ... 173
Gambar 5.78 Sistem Melakukan Insert Hasil ke TB_R_RESULT_QUIZ (Prosedur No. 7) ... 173
Gambar 5.79 Sistem Melakukan Insert Hasil ke TB_R_RESULT_CODING (Prosedur No. 7) ... 174
Gambar 5.80 Sistem Melakukan Insert Hasil ke TB_R_RESULT_METRIC (Prosedur No. 7) ... 174
Gambar 5.81 Admin Melihat Hasil Peserta (Prosedur No. 8) ... 175
Gambar 5.82 Alur Autograder ... 177
Gambar 5.83 Sistem Insert ke TB_R_SOLVE (Prosedur No. 2 & Prosedur No. 3) 178 Gambar 5.84 Sistem Memeriksa Jawaban Quiz (Prosedur No. 4) ... 178
Gambar 5.85 Sistem Mengambil Kunci Jawaban untuk Single Choice (Prosedur No. 7) 179 Gambar 5.86 Sistem Memeriksa Jawaban dan Mengembalikan Nilai (Prosedur No. 8) 179 Gambar 5.87 Sistem Melakukan Insert ke TB_R_RESULT_QUIZ (Prosedur No. 9)180 Gambar 5.88 Sistem Mengambil Kunci Jawaban untuk Multiple Choice (Prosedur No. 4) ... 180
Gambar 5.89 Sistem Memeriksa Jawaban dan Mengembalikan Nilai (Prosedur No. 5) 180 Gambar 5.90 Sistem Melakukan Insert ke Dalam TB_R_RESULT_QUIZ (Prosedur No. 6) ... 181
Universitas Kristen Maranatha xvi
Gambar 5.93 Sistem Mengambil Kunci Jawaban untuk Pemeriksaan Koding
(Prosedur No. 11) ... 182
Gambar 5.94 Sistem Melakukan Insert ke Dalam TB_R_RESULT_CODING (Prosedur No. 12) ... 182
Gambar 5.95 Hasil di TB_R_RESULT_CODING (Prosedur No. 12) ... 183
Gambar 5.96 Sistem Melakukan Pemeriksaan Metrik (Prosedur No. 13) ... 183
Gambar 5.97 Sistem Melakukan Pemeriksaan CC, LCOM dan NoM (Prosedur No. 13, 14, 15) ... 184
Gambar 5.98 Hasil di TB_R_RESULT_METRIC (Prosedur No. 16) ... 184
Gambar 5.99 Hasil Perhitungan Poin Peserta Menggunakan BSP Autograder. ... 199
Gambar 5.100 Hasil Detil dari Peserta ID 47 (aisyah) ... 200
Gambar 5.101 Hasil Detil dari Peserta ID 48 (laras) ... 201
Universitas Kristen Maranatha xvii
DAFTAR TABEL
Table 3.1 Metrik dan Alasan Pemilihan ... 21
Table 3.2 Klassifikasi dari nilai Pearson r ... 23
Table 3.3 Defiisi Use Case ... 34
Table 3.4 Skenario Mengelola Data Master ... 36
Table 3.5 Skenario Mengelola Data User ... 37
Table 3.6 Skenario Mengelola Data Sistem ... 38
Table 3.7 Skenario Mengelola Data Participant ... 39
Table 3.8 Skenario Mengelola Data Tes ... 40
Table 3.9 Skenario Mengelola Data Soal ... 41
Table 3.10 Skenario Melihat History Soal ... 42
Table 3.11 Skenario Trigger Memeriksa Ujian ... 42
Table 3.12 Skenario Melihat History Ujian ... 43
Table 3.13 Skenario Melakukan Ujian Teori ... 44
Table 3.14 Skenario Melakukan Ujian Praktik ... 45
Table 3.15 Keterangan Atribut dalam Class Participant ... 56
Table 3.16 Keterangan Method dalam Class Participant ... 56
Table 3.17 Keterangan Atribut dalam Class Question ... 56
Table 3.18 Keterangan Atribut dalam Class Answer ... 57
Table 3.19 Keterangan Atribut dalam Class ClassMetrics ... 57
Table 3.20 Keterangan Method dalam Class ClassMetrics ... 57
Table 3.21 Keterangan Atribut dalam Class MetricsFilter ... 57
Table 3.22 Keterangan Method dalam Class MetricsFilter ... 58
Table 3.23 Keterangan Atribut dalam Class JavaNcss ... 58
Table 3.24 Keterangan Method dalam Class JavaNcss ... 58
Table 3.25 Keterangan Atribut dalam Class Autograder ... 58
Table 3.26 Keterangan Method dalam Class Autograder... 59
Table 3.27 Keterangan Atribut dalam Class AutograderDao ... 59
Table 3.28 Keterangan Method dalam Class AutograderDao ... 60
Table 3.29 Keterangan Sequence Diagram Tes ... 61
Universitas Kristen Maranatha xviii
Table 3.31 Spesifikasi Proses getQuestion() ... 63
Table 3.32 Spesifikasi Proses writeToXml() ... 63
Table 3.33 Keterangan Sequence Diagram Autograding ... 66
Table 3.34 Spesifikasi Proses readAndInsertFromXml() ... 66
Table 3.35 Spesifikasi Proses examineQuiz() ... 68
Table 3.36 Spesifikasi Proses examineCode() ... 69
Table 3.37 Spesifikasi Proses examineMetric() ... 70
Table 3.38 Struktur Tabel TB_M_ANSWER ... 73
Table 3.39 Struktur Tabel TB_M_OPTION ... 74
Table 3.40 Struktur Tabel TB_M_PARTICIPANTS ... 74
Table 3.41 Struktur Tabel TB_M_QUESTION ... 74
Table 3.42 Struktur Tabel TB_M_SYSTEM ... 75
Table 3.43 Struktur Tabel TB_M_TEST ... 75
Table 3.44 Struktur Tabel TB_M_USER ... 76
Table 3.45 Struktur Tabel TB_R_AUTO_GENERATED ... 76
Table 3.46 Struktur Tabel TB_R_MANUAL_GENERATED ... 77
Table 3.47 Struktur Tabel TB_R_PARTICIPANTS ... 77
Table 3.48 Struktur Tabel TB_R_RESULT ... 77
Table 3.49 Struktur Tabel TB_R_RESULT_CODING ... 78
Table 3.50 Struktur Tabel TB_R_RESULT_METRIC ... 78
Table 3.51 Struktur Tabel TB_R_RESULT_QUIZ... 79
Table 3.52 Struktur Tabel TB_R_SOLVE ... 79
Table 4.1 Hasil Implementasi Algoritma login() ... 112
Table 4.2 Implementasi Algoritma getQuestion() ... 112
Table 4.3 Implementasi Algoritma writeToXml() ... 115
Table 4.4 Implementasi Algoritma readAndInsertFromXml() ... 116
Table 4.5 Implementasi Algoritma examineQuiz() ... 118
Table 4.6 Implementasi Algoritma examineCode() ... 119
Table 4.7 Implementasi Algoritma examineMetric() ... 120
Table 5.1 Login ... 122
Table 5.2 Operasi Menambah Data User ... 125
Universitas Kristen Maranatha xix
Table 5.4 Operasi Menghapus Data User ... 134
Table 5.5 Operasi Menambah atau Mengubah Data Sistem ... 136
Table 5.6 Operasi Menghapus Data Sistem ... 140
Table 5.7 Operasi Menambah atau Mengubah Pertanyaan ... 143
Table 5.8 Operasi Menghapus Pertanyaan ... 148
Table 5.9 Operasi Menambah Peserta ... 150
Table 5.10 Operasi Menambah Tes / Ujian ... 153
Table 5.11 Operasi Mengatur Peserta Ujian ... 157
Table 5.12 Operasi Melihat Nilai Ujian Peserta ... 160
Table 5.13 Operasi Tes Ujian Teori ... 163
Table 5.14 Operasi Tes Ujian Praktik ... 165
Table 5.15 Skenario Tes Alur Utama Aplikasi ... 169
Table 5.16 Skenario Tes Alur Autograder ... 178
Table 5.17 Detil Ujian ... 186
Table 5.18 List Soal untuk Table 5.17 Detil Ujian ... 186
Table 5.19 List Options Jawaban dari Table 5.18 ... 187
Table 5.20 List Peserta Untuk Ujian pada Table 5.17 ... 189
Table 5.21 List Jawaban dan Hasil dari Peserta ID 47 (aisyah) ... 191
Table 5.22 List Jawaban dan Hasil dari Peserta ID 48 (laras) ... 193
Table 5.23 List Jawaban dan Hasil Peserta ID 49 (dio) ... 195
Table 5.24 Hasil Perhitungan Poin Peserta ... 198
Table 5.25 Table Keterangan untuk UAT ... 203
Universitas Kristen Maranatha xxiv
DAFTAR SINGKATAN
CC Cyclomatic ComplexityLCOM Lack Cohesion of Methods NoM Number of Methods
SQL Structured Query Language PBT Paper Based Test
CBT Computer Based Test MVC Model View Controller
CBO Coupling Between Object Classes DIT Depth Inheritance Tree
NoC Number of Children
Universitas Kristen Maranatha xxv
DAFTAR ISTILAH
Open Source Suatu aplikasi atau code yang bersifat terbuka sehingga dapat dimodifikasi sesuai kebutuhan.
Sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar.
Universitas Kristen Maranatha 1
BAB 1. PENDAHULUAN
1.1
Latar Belakang Masalah
Pegawai merupakan salah satu sumber daya manusia yang bekerja di suatu organisasi atau perusahaan dengan balasan mendapatkan gaji sebagai imbalannya. Dalam sebuah organisasi atau perusahaan, salah satu masalah yang dihadapi adalah terjadinya turnover pegawai. Yang dimaksud dengan turnover pegawai di sini adalah, terjadinya keluar masuk pegawai dari sebuah instansi atau perusahaan. Menurut Mobley [3], turnover adalah berhentinya individu sebagai anggota suatu organisasi dengan disertai pemberian imbalan keuangan oleh organisasi yang bersangkutan. Hal ini bisa dianggap sebagai dampak negatif yang akan diterima oleh perusahaan, dikarenakan, mungkin saja pegawai yang masuk tidak sesuai dengan kriteria dari perusahaan. Nyatanya dalam satu sampai empat tahun presentase terjadi
turn over dalam perusahaan yang bergerak dalam bidang information technology /
information systems secara global adalah 20-30% [4].
2
Universitas Kristen Maranatha Biasanya tes yang dilakukan oleh perusahaan terdiri dari dua macam tes, tes teori dan tes praktik. Tes teori adalah tes dimana calon pegawai mengisi jawaban dengan memilih single choice atau multiple choice. Sedangkan tes praktik adalah tes dimana calon pegawai diberi persoalan dan harus menyelesaikannya dengan menerapkan algoritma tersebut ke dalam bahasa tertentu. Di jaman moderen ini, semua hal dilakukan secara komputerisasi, dimana semua pekerjaan tidak lepas dari bantuan komputer. Karena dengan adanya komputerisasi, pekerjaan yang dilakukan akan lebih cepat dan teratur. Tetapi, terkadang ditemukan pula tes calon pegawai baru yang dilakukan tanpa bantuan komputer, contohnya yang terjadi pada PT. Bee Solution Partners, tes dilakukan secara PBT (paper based test), padahal bila dilakukannya komputerisasi terhadap tes tersebut, maka akan memudahkan untuk me-retrieve dan mengedit data, tanpa harus membuang data yang sudah ada. Bila tes tersebut dilakukan secara PBT, maka membutuhkan waktu untuk memeriksa jawaban tes, kesalahan pemeriksaan pun mungkin saja bisa terjadi, dan setelah mendapatkan hasil tes, hasil tersebut harus diinputkan secara manual ke dalam media penyimpanan data. Bila biasanya pemeriksa membutuhkan waktu sekitar satu jam untuk memeriksa jawaban satu peserta, bayangkan bila ada sepuluh peserta yang mengikuti tes, hal ini tentu saja berbeda bila tes dilakukan secara komputerisasi atau dengan adanya aplikasi.
3
Universitas Kristen Maranatha Hal tersebut dapat diatasi dengan membangun alat bantu tes yang disesuaikan dengan kebutuhan perusahaan, yang dapat memeriksa dan menyimpan hasil secara otomatis. Penilaian terhadap tes teori, yaitu pilihan ganda dapat dilakukan dengan membandingkan jawaban peserta dengan kunci jawaban yang sudah tersimpan di database. Penilaian terhadap tes praktik, dilakukan dengan membandingkan hasil koding peserta dengan test cases yang sudah dipersiapkan, apakah hasil koding peserta mengeluarkan hasil yang benar terhadap test case tersebut. Penilaian otomatis tersebut (teori dan praktik) akan diberi nama sebagai BSP Autograder. Kemudian, setelah didapatkannya hasil dari tes teori dan tes praktik, hasil tersebut di satukan dan dijadikan sebagai acuan nilai diterima atau tidaknya calon pegawai dilihat dari batas nilai yang dikeluarkan oleh perusahaan. Dengan adanya tes seperti ini, penilaian secara subyektif pun hilang, karena penerimaan murni dari hasil calon menyelesaikan tes dan nilai yang didapatkan.
1.2
Rumusan Masalah
Berdasarkan latar belakang di atas, dapat dirumuskan rumusan masalah sebagai berikut:
Bagaimana cara untuk membantu perusahaan agar tetap mempertahankan kualitas pegawai baru yang masuk untuk dapat mengisi kekosongan posisi yang ditinggalkan oleh pegawai lama.
1.3
Tujuan Pembahasan
Berdasarkan perumusan masalah di atas, maka dapat dikemukakan tujuan pembahasan dari perancangan dan implementasi aplikasi tes yang akan dibangun dengan basis desktop ini:
4
Universitas Kristen Maranatha
1.4
Ruang Lingkup Kajian
Berdasarkan identifikasi masalah, maka ruang lingkup perancangan aplikasi yang akan dibangun adalah sebagai berikut:
1. Aplikasi tes merupakan aplikasi yang berbasis desktop, yang digunakan sebagai media ujian calon pegawai baru dan media evaluasi pegawai.
2. Terdapat penambahan fungsi pada aplikasi yang akan dibangun, yaitu fungsi untuk:
Tes pemahaman teori.
Tes pemahaman praktik (tes koding) Fungsi laporan hasil ujian.
3. Berdasarkan penambahan fungsi pada poin sebelumnya, maka fungsi-fungsi yang akan dibangun adalah:
Fungsi tes teori (ujian multiple choice atau single choice). Fungsi tes praktik (ujian dengan koding bahasa Java). Fungsi laporan hasil ujian.
4. Terdapat tahapan-tahapan yang akan dilalui dalam pembangunan aplikasi, yaitu: Tahapan analisis, yaitu tahapan untuk menentukan kebutuhan sistem, pada
tahapan ini, menggunakan tools use case diagram.
Tahapan desain, yaitu tahapan perancangan aplikasi dengan menggunakan
tools flowchart diagram, UML diagram, entity relationship diagram.
Tahapan code, yaitu tahapan implementasi hasil analisis dan desai ke dalam
code, dengan menggunakan Java sebagai bahasa yang digunakan dan konsep MVC.
Tahapan tes, yaitu tahapan pengujian aplikasi, menggunakan black box testing dan white box testing.
5. Pembangunan aplikasi ini akan menggunakan sistem operasi Windows 10 Pro,
Eclipse Luna, MySQL, JavaFx dan Scene Builder.
1.5
Sumber Data
5
Universitas Kristen Maranatha 1. Studi Pustaka, yaitu pengumpulan dan pencarian data yang relevan baik melalui
penelaahan buku acuan dan sumber lain yang berhubungan dengan bahasan masalah.
2. Wawancara, yaitu pengumpulan data melalui interview dari instansi atau bagian terkait mengenai bahasan masalah.
3. Mempelajari berbagai aplikasi yang telah ada yang bersifat open source, sebagai acuan pengerjaan aplikasi ini.
4. Source code dari berbagai macam sumber (internet dan yang disediakan oleh
library) yang akan dipakai sebagai testing aplikasi.
1.6
Sistematika Penyajian
Secara garis besar, dokumen ini terdiri dari enam bab dengan perincian sebagai berikut:
Bab I Pendahuluan
Dalam bab ini, dijelaskan mengenai :
1. Latar belakang pembangunan aplikasi CBT ini, didasari dari terjadinya turnover
pegawai yang sering terjadi sehingga membuat perusahaan harus tetap menjaga kualitas pegawai yang masuk.
2. Rumusan masalah mengenai bagaimana cara untuk membantu perusahaan menangani masalah yang disebutkan dalam latar belakang.
3. Tujuan pembahasan yang merupakan target yang ingin dicapai.
4. Ruang lingkup kajian yang menjelaskan sekilas tentang aplikasi yang akan dibangun, batasan pengerjaan aplikasi dan bantuan tool yang akan dipakai. 5. Sumber data menjelaskan mengenai data-data yang mendukung pengerjaan
aplikasi.
6. Sistematika penyajian yang menjelaskan mengenai garis besar dari setiap bab. Bab II Kajian Teori
Bab II Kajian Teori menjelaskan mengenai teori-teori yang mendukung, aplikasi yang telah ada, dan tools library yang akan dipakai.
6
Universitas Kristen Maranatha 2. Aplikasi yang telah ada, berisi tentang ulasan aplikasi dan screenshot dari
aplikasi tersebut.
3. Tools atau library yang dipakai, yang mendukung metrik yang akan dipakai, cara pemakaian tools/library tersebut dan hasil yang dikeluarkan.
Bab III Analisis dan Rancangan Sistem
Bab III Analisis dan Rancangan Sistem menjelaskan tentang bagaimana aplikasi dibangun.
1. Menjelaskan tentang poin-poin metrik mana saja dari Bab II Kajian Teori yang akan dipilih beserta alasannya.
2. Pembentukan formula dari metrik-metrik yang dipilih sehingga dihasilkan satu nilai.
3. Penjelasan mengenai tipe aplikasi yang akan dibangun. 4. Penjelasan mengenai database yang dipakai.
5. Rancangan terhadap pembangunan aplikasi. Bab IV Hasil Penelitian
Menjelaskan hasil penelitian yang telah dicapai apakah sesuai dengan perencanaan atau tidak. Pada bab ini akan ditujukkan hasil dari rancangan dengan hasil implementasi
Bab V Pembahasan dan Uji Coba Hasil Penelitian
Menjelaskan evaluasi dari tahapan awal sampai akhir. Terdapat dua tahap
testing terhadap aplikasi, yaitu menggunakan black box dan menggunakan white box. 1. Pengujian black box akan diujikan terhadap semua tampilan menggunakan
case-case yang sudah dipersiapkan.
2. Pengujian white box akan diujikan menggunakan alur yang digambarkan dengan
flowchart.
Bab VI Simpulan dan Saran
Universitas Kristen Maranatha 204
BAB 6. SIMPULAN DAN SARAN
Pada bab ini akan disampaikan mengenai kesimpulan terhadap aplikasi, apakah aplikasi memenuhi tujuan utama yang diutarakan pada BAB 1. Dan penjelasan mengenai saran untuk aplikasi kedepannya.
6.1
Simpulan
Berdasarkan hasil analisis, perancangan, implementasi dan tes yang telah dilakukan Aplikasi BSP Autograder dapat digunakan sebagai alat bantu tes yang dapat menilai otomatis hasil ujian dan menampilkan hasil ujian tersebut sehingga dapat dijadikan evaluasi, hal ini dibuktikan dengan testing terhadap fitur yang sudah dilakukan, yaitu:
1. Aplikasi BSP Autograder dapat digunakan untuk mengelola data user, sesuai dengan hasil tes yang terdapat pada BAB 5 dalam subbab 5.1.1.2 - 5.1.1.4. 2. Aplikasi BSP Autograder dapat digunakan untuk mengelola data sistem, sesuai
dengan hasil tes yang terdapat pada BAB 5 dalam subbab 5.1.1.5 - 5.1.1.6. 3. Aplikasi BSP Autograder dapat digunakan untuk mengelola pertanyaan, baik
pertanyaan teori ataupun praktik, sesuai dengan hasil tes yang terdapat pada BAB 5 dalam subbab 5.1.1.7 - 5.1.1.8.
4. Aplikasi BSP Autograder dapat digunakan untuk mengelola data peserta, sesuai dengan hasil tes yang terdapat pada BAB 5 dalam subbab 5.1.1.9.
5. Aplikasi BSP Autograder dapat digunakan untuk mengatur tes atau ujian, dan juga mengatur peserta mana saja untuk dapat mengikuti ujian, sesuai dengan hasil tes yang terdapat pada BAB 5 dalam subbab 5.1.1.10 - 5.1.1.12.
205
Universitas Kristen Maranatha
6.2
Saran
Untuk dapat melengkapi dan menyempurnakan aplikasi BSP Autograder
yang telah dibuat, maka terdapat hal-hal yang perlu dilakukan pada pengembangan berikutnya yang terdapat pada BAB 5 dalam subbab 5.3.1, yaitu:
1. Menambahkan kemampuan bahasa lain untuk tes koding, tidak hanya Java. 2. Diharapkan dapat dari sisi client dikembangkan dengan web application, tetapi
untuk sisi model dan controller dapat memakai yang sudah ada.
3. Perbaikan dari sisi tampilan dan menu-menu yang kurang pada saat tahap analisis, sehingga perlu dilakukannya analisis secara lebih mendalam untuk mendapatkan menu-menu yang sesuai dengan kebutuhan.
Universitas Kristen Maranatha 206
DAFTAR PUSTAKA
[1] S. R. Pressman, Rekayasa Piranti Lunak Pendekatan Praktisi, Yogyakarta: Andi, 1997.
[2] R. A. S. and M. Shalahuddin, Rekayasa Perangkat Lunak, Bandung: Modula, 2011.
[3] W. H. Mobley, Pergantian Karyawan: Sebab Akibat dan Pengendaliannya, Jakarta: Pustaka Binaman Pressindo, 1986.
[4] Auriga, June 2015. [Online]. Available: http://auriga.com/blog/employee-tenure-becomes-hot-topic-for-tech-companies/. [Accessed 07 April 2016]. [5] D. Galin, Software Quality Assurance, England: Pearson Addison Wesley,
2004.
[6] L. H. Rosenberg and L. E. Hyatt, "Software Quality Metrics for Object-Oriented Environments," Crosstalk Journal, vol. 4, no. 10, pp. 1-6, 1997.
[7] J. M. Roche, Software Metric and Measurement Principle, New York: ACM Sigsoft, 1994.
[8] A. Chhikara and R. S. Chhillar, "Analyzing the Complexity of Java Program using Object - Oriented Software Metrics," IJCSI International Journal of Computer Science Issues, vol. 9, pp. 364-372, January 2012.
[9] F. Balmas and friends, Software Metric for Java and C++ Practices, Paris: Technical report, Squale Project, 2010.
[10] Alhamidi, "Mengukur Kemampuan Bahasa Ingris Siswa Sekolah Menengah Atas dengan Menggunakan Aplikasi Computer Based Testing (CBT)," Jurnal TEKNOIF, vol. 3, no. 2, pp. 80-90, 2015.
[11] Java Point, undated. [Online]. Available: http://www.javatpoint.com/core-java-quiz. [Accessed 12 March 2016].
[12] w3school, undated. [Online]. Available:
207
Universitas Kristen Maranatha March 2016].
[13] sqlquiz, undated. [Online]. Available: http://www.sqlquiz.com/. [Accessed 2016 March 12].
[14] Better Programmer, undated. [Online]. Available:
http://www.betterprogrammer.com/. [Accessed 2016 March 07].
[15] Test Dome, undated. [Online]. Available:
https://www.testdome.com/Programming-Tests. [Accessed 07 March 2016]. [16] Codingbat, undated. [Online]. Available: http://codingbat.com/. [Accessed 07
March 2016].
[17] P. A. Laplante, What Every Engineer Should Know about Software Engineering, London: Taylor and Francis, 2007.
[18] San Jose State University, "Design Metric," undated. [Online]. Available: http://www.cs.sjsu.edu/~pearce/cs251b/DesignMetrics.htm. [Accessed 12 July 2016].
[19] Fathoni, "Implementasi Metode Function Point untuk Mengukur Volume Software," Jurnal Sistem Informasi (JSI), vol. 1, no. 2, pp. 79-87, 2009.
[20] A. W. R. Emanuel and friends, "Statistical Analysis on Software Metrics Affecting Modularity in Open Source Software," IJCSIT International Journal of Computer Science & Information Technology, vol. 3, pp. 105-118, 2011. [21] Java World, "Dealing Cyclomatic Complexity in Java Code," August 2008.
[Online]. Available: http://www.javaworld.com/article/2074995/dealing-cyclomatic-complexity-in-java-code.html. [Accessed 18 April 2016].
[22] Virtual Machinery, "Object-Oriented Software Metric-Class Level Metric,"
undated. [Online]. Available:
http://www.virtualmachinery.com/jhawkmetricsclass.htm. [Accessed 18 April 2016].
208
Universitas Kristen Maranatha [24] Whu2 - Code Project, "N-Tier Architecture and Tips," May 2013. [Online].
Available: http://www.codeproject.com/Articles/430014/N-Tier-Architecture-and-Tips. [Accessed 17 April 2016].
[25] Tony Marston, "What is the 3-Tier Architecture?," October 2012. [Online]. Available: http://www.tonymarston.net/php-mysql/3-tier-architecture.html. [Accessed 17 April 2016].
[26] Dosen IT, "12 Kelebihan dan Kekurangan MySQL Server," September 2015. [Online]. Available: http://dosenit.com/software/dbms/mysql/kelebihan-dan-kekurangan-mysql-server. [Accessed 17 April 2016].
[27] MySQl, "Why MySQL?," undated. [Online]. Available: http://www.mysql.com/why-mysql/. [Accessed 17 April 2016].
[28] K. A. Putri, L. E. D. K. Sari and R. Z. Rinanda, Pembuatan Aplikasi SMS Scheduler, Bandung: Politeknik Negeri Bandung, 2013.