BAB 4
ANALISIS DAN PERANCANGAN
4.1. Perancangan Sistem
4.1.1. Diagram use case
Aplikasi perekomendasian next-solved problems di platform UVa online judge ini memiliki satu pengguna aktif yaitu UVa username.
Gambar 4.1 diagram use case
Universitas Sumatera Utara
Pada Gambar 4.1 mengenai use case, berguna untuk memodelkan perilaku behaviour sistem untuk memudahkan pengguna memahami keseluruhan sistem yang
dibangun. Berdasarkan analisis pengguna, aktor yang berperan pada aplikasi ini hanya satu aktor yaitu pengguna yang akan menggunakan aplikasi untuk menemukan soal-
soal yang cocok dipakai berlatih. 4.1.2.
Definisi use case Tabel 4.1 berikut merupakan deskripsi definisi use case berdasarkan diagram pada
Gambar 4.1.
Tabel 4.1 Tabel Deskripsi Use Case
No Use Case
Deskripsi
1 Set default username
Proses untuk menentukan nama pengguna awal untuk memersonalisasi rekomendasi soal-soal
2 Next-solved problems
Trigger untuk memuat opsi data dari proses rekomendasi soal
3 Select problem
category Proses untuk memilih opsi berbagai kategori soal
4 Personalized problem
recommendation by dacu
Proses lebih rinci untuk memilih berbagai soal dari personalisasi nilai bobot dacu distinct accepted
user 5
Personalized problem recommendation sort
by level Proses lebih rinci untuk memilih berbagai soal dari
nilai level yang diberikan ke setiap soal
6 Status:live submission Trigger untuk memuat opsi data submissions
terakhir yang dilakukan semua pengguna 7
Personalized profiles infos
Trigger untuk memuat opsi seluruh informasi data pengguna
8 Training
Trigger untuk memuat berbagai data yang berguna untuk memperbaiki rating rekomendasi terhadap
soal-soal di platform kompetisi
Universitas Sumatera Utara
4.2. Perancangan Tampilan Antarmuka
Perancangan antarmuka pemakai ini berguna untuk menggambarkan ide tampilan antarmuka.
4.2.1. Rancangan tampilan halaman default username
Halaman default username ini berguna untuk navigasi preferensi yang digunakan di sistem. Misalnya, ketika ingin mendapatkan rekomendasi next-solved problems, sistem
akan merekomendasikan soal berdasarkan default username yang telah diset sebelumnya. Ataupun untuk melihat detail profil pengguna, sistem juga akan
menampilkan data berdasarkan preferensi username pengguna yang sudah ditentukan tadi.
Gambar 4.2 Rancangan halaman default username
4.2.2. Rancangan halaman problem category
Halaman problem category ini menampilkan opsi kategori soal ke pengguna. Opsi kategori soal yang tersedia berdasarkan volume soal, book chapter competitive
programming 1
st
, 2
nd
, 3
rd
edition. Ketika pengguna memilih opsi kategori di bagian kiri,
Universitas Sumatera Utara
pilihan ini secara otomatis menjadi trigger di sistem untuk menampilkan soal berdasarkan opsi tersebut dan menampilkan keseluruhan soal di bagian kanan menu
pada gambar 3.5.
Gambar 4.3 Rancangan halaman problem category dan detail soal
4.2.3. Rancangan halaman problem categories secara detail
Gambar 4.4 Rancangan sub bagian menu kategori soal berdasarkan
chapter book dan volume soal
Universitas Sumatera Utara
Halaman problems categories ini berisi menjadi navigasi bagi pengguna untuk memilih kategori soal berdasarkan opsi yang disediakan di sistem.
4.2.4. Rancangan halaman profil pengguna
Gambar 4.5 Rancangan halaman detail profil pengguna dan pengguna
lain yang ditambahkan ke sistem
Halaman profil pengguna ini menampilkan data statistik pengguna yang dimasukkan ke sistem. Secara otomatis sistem akan mengunduh data dari server UVa online judge
melalui API UHunt yang sudah diterangkan pada Bab 2.
4.2.5. Rancangan halaman status menu untuk live submissions
Pada halaman live submissions ini, pengguna dapat melihat status submissions yang dilakukannya ataupun submissions dari pengguna lain secara live. Sistem akan
mengembalikan status soal yang dikumpulkan. Bisa berupa accepted verdict, wrong answer, presentation error, atau status lainnya.
Universitas Sumatera Utara
Gambar 4.6 Rancangan halaman status live submissions yang dilakukan
semua pengguna di sistem UVa online judge
Universitas Sumatera Utara
BAB 5
IMPLEMENTASI DAN PENGUJIAN
Setelah melalui tahap analisis dan perancangan, tahap selanjutnya untuk pengembangan perangkat lunak adalah tahap implementasi dan pengujian sistem. Untuk mengetahui
apakah implementasi perangkat lunak tersebut berhasil atau tidak, perlu dilakukan pengujian. Berikut hasil implementasi dan pengujian aplikasi yang telah dibangun.
5.1. Implementasi Sistem