• Tidak ada hasil yang ditemukan

Rekomendasi -Solved Problems di Platform Kompetisi Pemrograman Menggunakan Recommendation Engine

N/A
N/A
Protected

Academic year: 2017

Membagikan "Rekomendasi -Solved Problems di Platform Kompetisi Pemrograman Menggunakan Recommendation Engine"

Copied!
6
0
0

Teks penuh

(1)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Competitive programming merupakan terminologi untuk berbagai jenis kompetisi di bidang pemrograman. Kompetisi pemrograman ini bertujuan untuk menyelesaikan masalah-masalah dunia nyata yang solusinya dapat dimodelkan secara matematika dan algoritmik dan memrogramnya dalam bahasa pemrograman yang ditentukan berdasarkan aturan masing-masing kompetisi.

Soal-soal kompetisi pemrograman ini biasanya terdiri dari bagian-bagian seperti deskripsi masalah yang harus diselesaikan, format masukan program, dan hasil keluaran yang diharapkan (deskripsi soal, batas input/output sudah ditentukan). Kontestan harus menyelesaikannya dengan membuat program sebagai solusi dan melakukan submission ke dalam sistem kompetisi. Solusi ini kemudian melalui tahap system grading dengan pengujian berbagai test data dari panitia sebagai syarat apakah solusi program kontestan benar menurut aturan lomba yang telah didefinisikan. Adapun hasil keluaran yang ditampilkan dari proses ini adalah accepted (sebagai tanda program yang dikumpulkan benar, wrong answer (jawaban tidak sesuai dengan aturan input/output yang diharapkan), time limit exceeded (program melebihi waktu eksekusi komputer server yang sudah ditetapkan sebelumnya), dan berbagai peringatan lain.

(2)

diri untuk bisa lolos sampai ke tahap final. Tentunya karena disiplin ilmu ini sangat ketat dan kompetitif, diperlukan investasi waktu yang tidak sedikit untuk masa persiapannya.

Sering kali pelajar-pelajar mengalami kesulitan untuk memulai dari mana agar bisa menguasai topik-topik yang akan diujikan. Salah satu tempat berlatih untuk mengasah kemampuan menyelesaikan soal adalah dengan menyelesaikan arsip soal-soal kompetisi terdahulu yang ada di sistem online judges seperti UVa Online Judges, Sphere Online Judges, Live Archive, Top Coder, dan lain-lain. Bagi pemula, sering kali ketika mencoba berlatih dan menyelesaikan soal di platform ini merasa sangat frustasi dan membosankan karena tidak tahu soal mana yang terlebih dahulu diselesaikan, mana yang lebih mudah, atau mana yang sesuai dengan kemampuannya saat itu (Lin, et al. 2013). Oleh karena itu, penulis melakukan penelitian untuk membuat satu complementary tool yang bisa merekomendasikan soal-soal yang akan dipakai berlatih.

Penelitian tentang rekomendasi soal-soal yang akan diselesaikan untuk berlatih dalam kompetisi pemrograman ini sudah pernah dilakukan sebelumnya. Di antaranya adalah uHunt (Halim, 2010). Tools ini menggunakan pendekatan rekomendasi berdasarkan preferensi soal-soal apa saja yang sudah diselesaikan seseorang dan merekomendasikan soal-soal apa yang akan diselesaikan. Kemudian soal-soal dikategorikan dalam berbagai topik, level soal, dan lain-lain.

(3)

1.2. Rumusan Masalah

Competitive programming, dalam proses persiapannya membutuhkan olah mental, pikiran, dan waktu yang panjang. Tingkat kesulitan soal-soal yang diujikan saat kompetisi sangat tinggi dan dalam perkembangannya bervariasi pada lingkup masalah-masalah nyata yang penyelesaiannya menggunakan pemodelan matematika dan solusi-solusi algoritmik. Oleh karena itu, rekomendasi next-solved problems ini dapat membantu dan mempermudah proses persiapan peserta dengan membuat basis roadmap tracking of competitive programming.

1.3. Tujuan Penelitian

Tujuan penelitian ini adalah memberikan rekomendasi next-solved problems pada platform online judge dan mengelompokkan berbagai soal-soal dalam tingkat kesulitan, maupun kategori teknik penyelesaian soal untuk memudahkan pengguna dalam menyelesaikan masalah-masalah yang ada di level kompetisi.

1.4. Manfaat Penelitian

Adapun manfaat dilakukannya penelitian ini:

1. Sebagai tool alternatif bagi pelajar/mahasiswa yang ingin mempersiapkan diri dalam kompetisi pemrograman tingkat lanjut 2. Sebagai rekam jejak (roadmap tracking) untuk mencatat perkembangan

belajar dan mengasah kemampuan dalam menyelesaikan soal-soal kompetisi pemrograman.

1.5. Batasan Masalah

Pada penyusunan tugas akhir ini, ruang lingkup pembahasan mencakup:

(4)

2. Dataset yang digunakan merupakan arsip soal-soal di online judge rentang tahun 1995-2014 (UVA, 2014).

1.6. Metodologi Penelitian

Dataset yang penulis gunakan pada penelitian ini diambil dari UVa online judge dimana jumlah arsip soal yang tersedia sekitar 4500+ problemsets, dengan satu juta pengguna terdaftar dan 500.000+ pengguna aktif setiap bulannya. Adapun tahapan-tahapan perancangan tools terdefinisi sebagai berikut:

1. Studi Literatur

Pada tahapan ini, penulis mengkaji dataset dan teknik yang akan digunakan melalui studi literatur dan pustaka dengan mengumpulkan bahan-bahan dan referensi berupa makalah, jurnal, buku, maupun artikel terkait.

2. Dataset Crawling

Mengumpulkan preferensi setiap pengguna terdaftar dan meta-data soal yang ada dari ketersediaan tautan dan informasi pengelompokan soal-soal berdasarkan tahun dan deskripsi soal-soal.

3. Dataset Extraction

Mengelompokkan soal-soal berdasarkan tingkat kesulitan (easy, medium, hard), topik-topik yang sering dibahas (dynamic programming, ad-hoc, graph, math, greedy, dan lainnya), juga berdasar pengelompokan metode ataupun algoritma yang digunakan dalam penyelesaian.

4. Problemsets Clustering Berdasarkan Preferensi Pengguna

Setelah mendapat informasi dataset soal-soal yang ada, sistem mengelompokkan soal-soal ke dalam masing-masing kategori ataupun berdasarkan tagging pada topik soal.

5. Analisis Permasalahan

(5)

a) meneliti secara detail tahapan dan proses pengolahan dataset

b) meneliti bagaimana proses rekomendasi dalam merekomendasikan soal-soal dan menentukan setiap level dan kategorinya.

6. Pengkodean

Tahapan untuk melakukan implementasi kode ke dalam aplikasi berdasarkan hasil perancangan aplikasi pada tahap sebelumnya.

7. Pengujian

Tahapan uji coba program untuk memastikan apakah program yang sudah dibuat berjalan sesuai dengan yang harapkan.

8. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan pendokumentasian hasil analisis dan implementasi.

1.7. Sistematika Penulisan

Sistematika penulisan skripsi ini dibagi menjadi enam bab yaitu:

BAB I Pendahuluan

Pada bab ini berisi tentang konsep dasar dan teori pendukung dalam penyusunan skripsi.

BAB II Landasan Teori

Pada bab ini dibahas mengenai beberapa teori yang mendukung pembahasan pada bab selanjutnya.

BAB II Metodologi Penelitian

Pada bab ini dibahas mengenai metodologi penelitian yang digunakan.

BAB IV Analisis dan Perancangan

(6)

BAB V Implementasi dan Pengujian

Pada bab ini dibahas implementasi dari aplikasi yang akan dibuat. Berisikan gambaran arsitektur umum yang akan dibuat. Setelah itu dilakukan pengujian untuk memastikan tools yang dibuat berhasil dijalankan atau tidak.

BAB VI Kesimpulan dan Saran

Referensi

Dokumen terkait

Kecamatan Jati Agung yang menjadi objek penelitian penulis, berikut gambaran..

Dari 32 responden yang dilibatkan dalam penelitian diketahui bahwa 18 responden (56,25%) patuh menggunakan obat antidiabetes berdasarkan perhitungan pill count

Proses PTK harus melalui 4 (empat) tahap yang tersusun menjadi sebuah siklus, yaitu tahap perencanaan, pelaksanaan tindakan, pengamatan, dan refleksi (Jalil,

Dalam penelitian ini, teknik trianggulasi data/ sumber dilakukan dengan melakukan pengecekan terhadap hasil wawancara yang dilakukan kepada manajemen dan nasabah

Dia dianggap oleh banyak orang sebagai Bapak Kedokteran Modern, George Sarton menyebut Ibnu Sina sebagai "Ilmuwan paling terkenal dari Islam dan salah satu yang

Variabel dalam penelitian ini : variabel independen menggunakan kepemilikan institusional dan ukuran perusahaan. Variabel dependen menggunakan kebijakan hutang dan

Penelitian ini membahas tentang terjadi kecur an gan Pemilu / electoral malpractice pada p roses p enghitungan suara p ada tingkat Temp at Pemungutan Suara (TPS)

Merupakan kebanggaan tersendiri karena telah melalui perjuangan berat, akhirnya penulis dapat menyelesaikan skripsi dengan judul “upaya meningkatkan kemampuan