Penelitian Terdahulu Rekomendasi Next-Solved Problems di Platform Kompetisi Pemrograman Menggunakan Recommendation Engine

Grouping

2.7. Penelitian Terdahulu

Penelitian mengenai rekomendasi soal-soal kompetisi pemrograman ini telah dilakukan sebelumnya oleh beberapa peneliti, diantaranya: 2.7.1. UVa toolkit UVa toolkit Greeve, 2005, merupakan situs yang menyediakan rekomendasi soal-soal yang ada di platform UVa online judge. Soal-soal yang direkomendasikan dikelompokkan berdasarkan teknik yang digunakan untuk menyelesaikan soal dan tingkat kesulitan soal. Rekomendasi soal-soal dilakukan secara manual dengan terlebih dahulu menyelesaikan soal dan mempelajari satu soal itu termasuk dalam kategori teknik penyelesaian mana dan masuk pada tingkat level mana. Pembobotan terhadap soal-soal ini masih subjektif terhadap pengembang situs dan opini dari forum. 2.7.2. UHunt - UVa hunting Felix Halim, 2010 mengembangkan tools yang sangat menarik dan kompleks. Aplikasi ini merupakan complementary tool terbaik saat ini dalam merekomendasikan soal-soal lomba di arsip UVa OJ. Soal-soal yang direkomendasikan berdasarkan analisis statistik data seluruh pengguna dan interaksi terhadap soal yang diselesaikan pengguna. Dalam pengembangannya, Felix menyediakan API Application Programming Interface untuk mengakses seluruh data publik di platform UVa online judge yang digunakan pada modul UHunt. API ini sangat membantu pengembang lain untuk mengembangkan fitur-fitur baru yang berguna untuk memudahkan competitive programmer dalam berlatih. Dalam penelitian ini, peneliti juga menggunakan API yang dibangun sama persis seperti aplikasi UHunt. Universitas Sumatera Utara 2.7.3. Bailian – openjudge Bailian open judge yang berarti “hundreds of practices” yang oleh penelitinya Lin, et al. 2013 dikembangkan untuk platform latihan untuk persiapan kompetisi pemrograman yang ditujukan untuk pelajar-pelajar di Tiongkok. Tetapi pada pengembangannya, platform ini dirilis secara publik. Bailian online judge ini memiliki 4000+ arsip soal-soal dari berbagai kompetisi di dunia maupun soal-soal yang mereka desain khusus. Bailian online judge ini merekomendasikan soal-soalnya kepada pengguna dengan mempelajari preferensi dan perilaku pengguna terhadap sistem Bailian. Soal-soal yang direkomendasikan dibagi dalam grade 1 sampai 5, dimana grade menyatakan tingkat kesulitan soal-soal. Kemudian soal-soal dikategorikan berdasarkan kategori topik penyelesaian. Menariknya sistem Bailian ini adalah pengguna diranking tidak hanya berdasarkan banyaknya soal-soal yang dapat diselesaikan, tetapi juga dari poin yang didapat berdasarkan akumulasi soal-soal saat latihan, poin saat mengikuti satu virtual contest dan poin kontribusi seperti memberikan hint terhadap penyelesaian soal tertentu, atau sebagai problemsetter yang membuat soal baru untuk virtual contest berikutnya. 2.7.4. uDebug uDebug uDebug, 2014, merupakan situs yang menyediakan unique test case berupa inputouput soal-soal UVa online judge. Saat ini, platform uDebug sudah menyediakan sekitar 3880+ test case. Test case ini berguna bagi pengguna untuk membandingkan hasil keluaran program yang dibuat dengan hasil keluaran yang benar menurut autograding UVa sebelum melakukan submission ke sistem UVa online judge. Pengujian test case ini sangat penting karena hidden test case lomba sering sekali bersifat tricky dengan banyaknya test case yang harus dilewati program yang dikumpulkan di webscoring sering kali test case berjumlah ratusan hingga ribuan. Sistem kompetisi pemrograman biasanya bersifat graded by machine yang artinya dinilai oleh mesin yang berarti tidak mentolerir satu kesalahanpun. Sehingga sering kali pengguna merasa frustasi saat program yang dikumpulkan tidak berhasil mendapatkan accepted verdict. Universitas Sumatera Utara BAB 1 PENDAHULUAN

1.1. Latar Belakang