Implementasi Sistem Rekomendasi Next-Solved Problems di Platform Kompetisi Pemrograman Menggunakan Recommendation Engine

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

Sesuai dengan hasil analisis dan perancangan sistem yang telah dilakukan, maka dibuatlah implementasi perancangan menjadi sistem perekomendasian soal-soal platform UVa Online Judge dengan teknik recommendation engine ke dalam bentuk program. 5.1.1. Spesifikasi perangkat keras dan perangkat lunak yang digunakan Penulis menggunakan kombinasi perangkat keras pengujian dataset dengan spesifikasi: 1. Processor Server Intel Xeon 3.1 GHz 2. Memory RAM 8 GB 3. Kapasitas Harddisk 1 TB Spesifikasi perangkat lunak yang digunakan untuk pengkodean: 1. Windows 8 2. Notepad++ v6.5.1 3. C .NET Universitas Sumatera Utara Spesifikasi perangkat lunak yang digunakan untuk host datasets: 1. Ubuntu Linux Server 14.04 LTS 2. Apache Web Server, MySQL, PHP 5.1.2. Tampilan Utama Menu Problem Category Halaman menu problems category ini menampilkan soal-soal yang ada pada arsip UVa online judge yang sudah dikategorikan. Tampilannya dapat dilihat pada gambar 4.1. Gambar 5.1 Tampilan halaman menu problem category 5.1.3. Implementasi rekomendasi next-solved problems soal-soal kompetisi Setelah melalui tahapan perancangan sistem, maka data pengguna dan data soal-soal akan diproses. Pemrosesan data setiap pengguna ini berupa data keseluruhan submissions yang pernah dilakukan terhadap soal yang tersedia di platform UVa online judge. Sedangkan data soal-soal berupa data semua soal yang tersedia berupa deskripsi dan berkas soal dalam bentuk PDF dan HTML, juga keseluruhan submissions seluruh pengguna terdaftar terhadap soal tertentu. Langkah-langkah yang dilakukan dapat dilihat pada bagian 3.2 spesifik ke subbagian Problemsets Processing dan User’s Submissions Statistics. Universitas Sumatera Utara 5.1.4. Tampilan Menu Profil Pengguna Gambar 5.2 Tampilan menu profiles pengguna dan pengguna lain Dari halaman menu utama, pengguna dapat memilih menu Profiles untuk melihat profil pengguna secara detail. Di menu ini pengguna dapat melihat detail dirinya sendiri maupun pengguna lain yang sudah ditambahkan sebelumnya. Fitur yang ada di menu ini antara lain, detail submissions yang pernah dibuat, progress tracker bertujuan untuk melihat preferensi total soal yang pernah dicoba, soal yang sudah pernah diselesaikan. Tampilannya dapat dilihat pada Gambar 5.2. 5.1.5. Tampilan menu live submissions dari semua pengguna Gambar 5.3 Tampilan menu live submissions dari semua pengguna Universitas Sumatera Utara Pada menu ini, pengguna dapat melihat submissions dari seluruh pengguna secara live events. Artinya, setiap solusi yang dikumpulkan submit di platform UVa akan secara langsung tampil di menu ini. Jadi, ketika kita sudah mengumpulkan solusi dari satu soal yang sedang kita coba, status submissions akan tampil sesegera mungkin dengan status kode, waktu eksekusi, waktu pengumpulan, dan informasi lainnya. Tampilannya dapat dilihat pada Gambar 5.3. 5.1.6. Tampilan pengelompokan next-solved problems berdasarkan volume soal dan book chapter Gambar 5.4 Tampilan next-solved problems berdasarkan pengelompokan soal berdasarkan volume soal dan book chapter Pada Gambar 5.4, pengguna dapat memilih soal-soal yang dikelompokkan berdasarkan beberapa kategori: 1. Kategori berdasarkan volume soal, setiap volume rata-rata berisi 100 soal, dengan jumlah soal yang terindeks sebanyak 4526 soal. 2. Kategori buku competitive programming 1 st Edition tahun 2010, dengan jumlah soal terindeks sebanyak 550 soal. Universitas Sumatera Utara 3. Kategori buku competitive programming 2 nd Edition tahun 2011, dengan jumlah soal terindeks sebanyak 1298 soal. 4. Kategori buku competitive programming 3 rd Edition tahun 2013, dengan jumlah soal terindeks sebanyak 1655 soal. 5.1.7. Tampilan pengelompokan next-solved problems berdasarkan volume soal dan book chapter serta terurut berdasarkan distinct accepted user dacu Gambar 5.5 Tampilan pengelompokan next-solved berdasarkan volume, chapter book, dan distinct accepted users Pada Gambar 5.5, pengguna dapat memilih soal berdasarkan kategori soal yang sudah disediakan dan mengurutkannya berdasarkan nilai dacu. Semakin tinggi nilai dacu suatu soal berarti semakin direkomendasikan soal tersebut untuk diselesaikan terlebih dahulu. Atau bisa juga dengan memersonalisasikan kategori soal dengan fokus pada kategori teknik tertentu, misal, pengguna ingin memokuskan diri pada teknik dynamic programming atau pada soal-soal string processing. 5.1.8. Tampilan next-solved problems berdasarkan Competitive Programming 3 rd Edition dan terutut berdasarkan dacu Pada Gambar 5.6, menu all problems ini menampilkan keseluruhan soal yang sebelumnya sudah dipilih di kategori competitive programming 3 – chapter book. Di menu ini keseluruhan soal yang berjumlah 1655 dan diindeks berdasarkan kategori Universitas Sumatera Utara competitive programming 3 rd edition ditampilkan ke layar. Tampilan soal terurut ini menjadi rekomendasi ke pengguna untuk memilih soal yang selanjutnya diselesaikan saat berlatih next-solved problems. Gambar 5.6 Tampilan next-solved problems berdasarkan Competitive Programming 3 rd Edition dan terutut berdasarkan nilai dacu

5.2. Pengujian Sistem