REKOMENDASI NEXT-SOLVED PROBLEMS DI PLATFORM KOMPETISI PEMROGRAMAN MENGGUNAKAN RECOMMENDATION ENGINE SKRIPSI FRANHEIT SANGAPTA MANULLANG

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI

APLIKASI BERBASIS ANDROID PENCARIAN JARAK TERPENDEK DAN REKOMENDASI RUTE ANGKUTAN KOTA DI MEDAN MENGGUNAKAN ALGORITMA A*

PERMASALAHAN PENJADWALAN FLOW SHOP DALAM PROSES PENGECATAN BODY MOBIL DENGAN MENGGUNAKAN HARMONY SEARCH ALGORITHM SKRIPSI ANNAS MAIYASYA

PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI ROBET ARIS DWI PUTRA

PERINGKASAN TEKS BERITA SECARA OTOMATIS MENGGUNAKAN TERM FREQUENCY INVERSE DOCUMENT FREQUENCY (TF-IDF) SKRIPSI DANDUNG TRI SETIAWAN

PERANCANGAN CLIENT DENGAN PENGKLASIFIKASIAN MENGGUNAKAN ALGORITMA VECTOR SPACE MODEL SKRIPSI MOSES CHRISTIAN

IMPLEMENTASI METODE COLLABORATIVE TAGGING PADA SISTEM REKOMENDASI ARTIKEL PUBLIKASI ILMIAH SKRIPSI HASMI FARHANDANI ANSARI

DESAIN ROUTING INFORMATION PROTOCOL PADA JARINGAN KOMPUTER DENGAN PENGALOKASIAN JUMLAH HOST PER JARINGAN BERDASARKAN VLSM SKRIPSI

SKRIPSI ALMAN JULINIUS TARIGAN

IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI

SISTEM PENDUKUNG KEPUTUSAN ANALISIS INVESTASI TANAH UNTUK PERUMAHAN DENGAN METODE TOPSIS

ANALISIS PERBANDINGAN ALGORITMA QUICKSORT, 3 WAY QUICKSORT, DAN RADIXSORT SKRIPSI PLOREN PERONICA PASARIBU

PERANCANGAN PERMAINAN DOMINO BERBASIS ANDROID SKRIPSI MUHAMMAD ANDIKA SYAPUTRA

METODE HYBRID (BAYES DAN MULTIFACTOR EVALUATION PROCESS) DALAM SISTEM PENDUKUNG KEPUTUSAN SKRIPSI KHAIRUN NISA

IMPLEMENTASI HYBRID (CONTENT BASED DAN COLLABORATIVE FILTERING) PADA SISTEM REKOMENDASI SOFTWARE ANTIVIRUS DENGAN MULTI-CRITERIA RATING SKRIPSI

PREDIKSI PRODUKSI PANEN KELAPA SAWIT MENGGUNAKAN JARINGAN SARAF RADIAL BASIS FUNCTION (RBF) SKRIPSI RINI JANNATI

PERANCANGAN APLIKASI BELAJAR HIJAIYAH PADA ANDROID MENGGUNAKAN METODE RECTANGLES COLLISION DETECTION SKRIPSI CAHYA RIZKI D ASMONO

ANALISIS PERBANDINGAN GEOMETRIC MEAN FILTER DENGAN OPERATOR SOBEL, OPERATOR PREWITT DAN OPERATOR ROBERT PADA CITRA BITMAP SKRIPSI

IDENTIFIKASI FILE DOKUMEN BERDASARKAN KONTEN MENGGUNAKAN DISTRIBUTED AUTONOMOUS NEURO-GEN LEARNING ENGINE SKRIPSI AARON

SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON ASISTEN LABORATORIUM BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3 (ID3)

PERANCANGAN APLIKASI BELAJAR MENULIS ANGKA PADA ANAK MENGGUNAKAN ALGORITMA POINT IN POLYGON BERBASIS ANDROID SKRIPSI JOIN WIRA PRANATA

PENYELESAIAN PERMAINAN CHECKERS PADA MOBILE DEVICE BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DEEPENING SEARCH SKRIPSI

SISTEM INFORMASI PEMBUATAN APLIKASI KEBUTUHAN GIZI DENGAN MENGGUNAKAN PEMROGRAMAN ANDROID TUGAS AKHIR WARDIANSYAH PADANG

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA SKRIPSI DEWI TRY AGUSTINA

PENERAPAN ALGORITMA GREEDY PADA PERMAINAN MILL BERBASIS ANDROID SKRIPSI SUANDO H SIMANJUNTAK

APLIKASI AUGMENTED REALITY UNTUK MEMPERKENALKAN ULOS BATAK TOBA SKRIPSI ANDRE SEP MEDIO SITEPU

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA

PENERAPAN ALGORITMA MONTE CARLO TREE SEARCH PADA PERMAINAN HALMA SKRIPSI VINCENTIUS

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK MENENTUKAN JARAK TERPENDEK MENGGUNAKAN ALGORITMA DIJKSTRA (Studi Kasus : Plaza / Mall Dikota Medan)

APLIKASI PENGATURAN JUDUL TUGAS AKHIR DAN PROPOSAL BERBASIS WEB

ANALISIS ALGORITMA BABY-STEP GIANT-STEP DAN POHLIG-HELLMAN UNTUK MENYELESAIKAN MASALAH LOGARITMA DISKRIT SKRIPSI ETTY WINITA ROISKA SIMBOLON

PENYELESAIAN PROGRAM BILANGAN BULAT CAMPURAN DUA KRITERIA DENGAN MENGGUNAKAN METODE BRANCH AND CUT SKRIPSI TAUFIK HIDAYAT RITONGA

STUDI PERBANDINGAN KOMPRESI MENGGUNAKAN METODE SHANNON FANO DAN UNARY CODING PADA FILE TEKS EUNIKE JOHANA

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA

Universitas Sumatera Utara

PERANCANGAN SISTEM INFORMASI MONITORING PENGELUARAN KAS KECIL PROYEK PADA PT. RAJAWALI MEGAH PERKASA BERBASIS WEB ASLAMIYAH

ANALISIS DAN PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KARET MENGGUNAKAN METODE FAKTOR KEPASTIAN (CERTAINTY FACTOR) PADA SMARTPHONE

FOCUSED CRAWLER UNTUK MENGOPTIMALKAN PENCARIAN JURNAL MENGGUNAKAN METODE PORTER STEMMER

WORD PREDICTION MENGGUNAKAN WINDOWS API BERBASIS WORD FREQUENCIES SKRIPSI ADE N TAMBUNAN

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI

IMPLEMENTASI ALGORITMA RIJNDAEL PADA PENGAMANAN RECORD DAN FILE DATABASE SKRIPSI AMALIA PRATIWI

ANALISIS PERBANDINGAN ONLINE DAN OFFLINE TRAINING PADA JARINGAN BACKPROPAGATION PADA KASUS PENGENALAN HURUF ABJAD TESIS

PENERAPAN ALGORITMA COLUMN BY COLUMN DAN DEPTH-FIRST SEARCH DALAM PERMAINAN BABYLON TOWER SKRIPSI HARRY

APLIKASI PERHITUNGAN PEMBAGIAN HARTA WARISAN BERDASARKAN HUKUM WARIS ISLAM DAN HUKUM WARIS PERDATA PADA PLATFORM ANDROID SKRIPSI

SISTEM PENGANTARAN MAKANAN DENGAN PENDAYAGUNAAN VEHICLE MENGGUNAKAN GEOGRAPHICAL INFORMATION SYSTEM (GIS) DAN ALGORITMA A STAR (A*) SKRIPSI

REKOMENDASI TAG PADA BERITA ONLINE MENGGUNAKAN TF-IDF DAN COLLABORATIVE TAGGING SKRIPSI SALMAN ALL FARIZI

IMPLEMENTASI ALGORITMA BRUTE FORCE DAN ALGRITMA KNUTH-MORRIS-PRATT (KMP) DALAM PENCARIAN WORD SUGGESTION SKRIPSI ADLI ABDILLAH NABABAN

PENGKLASIFIKASIAN PENYAKIT GINJAL MENGGUNAKAN METODE NAIVE BAYES SKRIPSI MUHAMMAD IMANURRAHMAN

ANALISIS DAN PERANCANGAN APLIKASI PENERIMAAN SISWA BARU MENGGUNAKAN METODE SAW DAN METODE PROMETHEE (STUDI KASUS : SMAN 1 TEBING TINGGI) SKRIPSI

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID.

PENDETEKSIAN KESAMAAN PADA DOKUMEN TEKS MENGGUNAKAN KOMBINASI ALGORITMA ENHANCED CONFIX STRIPPING DAN ALGORITMA WINNOWING SKRIPSI

PENERAPAN METODE SEMANTIC SEARCH DALAM MENCARI RELASI KATA YANG TERDAPAT PADA AL-QUR AN TERJEMAHAN BAHASA INDONESIA SKRIPSI

PROGRAM STUDI S1 ILMU KOMPUTER

APLIKASI PEMESANAN RUANG RAPAT UNTUK INTERNAL DAN EKSTERNAL BERBASIS WEB PADA HOTEL KARTIKA CHANDRA. Tantri Subekti

PERANCANGAN SISTEM PAKAR DIAGNOSIS PENYAKIT UTAMA TANAMAN KELAPA SAWIT SKRIPSI DEWI YANTI

PERANCANGAN SISTEM PENGAMANAN DAN KOMPRESI DATA TEKS DENGAN FIBONACCI ENCODING DAN ALGORITMA SHANNON-FANO SERTA ALGORITMA DEFLATE SKRIPSI

SIMULASI PENCARIAN JARAK TERDEKAT (SHORTEST PATH) DENGAN MENGGUNAKAN ALGORITMA A* (STUDI KASUS PADA PERPUSTAKAAN POLITEKNIK NEGERI MEDAN) SKRIPSI

VIDEO GAME SEJARAH KERAJAAN MAJAPAHIT BERBASIS TACTICAL ROLE-PLAYING GAME SKRIPSI MUHAMMAD KURNIAWAN WIDHIANTO

PERAMALAN PASAR PENJUALAN BATIK MENGGUNAKAN METODE EXTREME LEARNING MACHINE (ELM) SKRIPSI ABBAS MUNANDAR RAMBE

PENDETEKSI CELAH KEAMANAN PADA APLIKASI WEB DENGAN PENETRATION TESTING MENGGUNAKAN DATA VALIDATION TESTING SKRIPSI INDRA M.

WEB SERVICE SEBAGAI METODE PENGHUBUNG ANTARAPLIKASI KOMPUTER DENGAN BAHASA PEMROGRAMAN YANG BERBEDA

PENENTUAN TIPE KEPRIBADIAN BERBASIS ANDROID DENGAN METODE CASE BASED REASONING (CBR) SKRIPSI TIANY DWI LESTARI

PENGENALAN KATA MENGGUNAKAN SELF-ORGANIZING MAP SEBAGAI INPUT KAMUS BERBASIS ANDROID FAJAR MATIUS GINTING

APLIKASI LAYANAN INFORMASI AKADEMIK SEKOLAH BERBASIS SMS (STUDI KASUS: SMK SWASTA TELADAN MEDAN) SKRIPSI APRILIA RAMADHANI

SKRIPSI AGUS PRABOWO PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016

MEMBANGUN APLIKASI KAMUS IT MENGGUNAKAN MICROSOFT VISUAL BASIC 6.0 TUGAS AKHIR

RANCANG BANGUN APLIKASI SISTEM PELAYANAN PADA EPSON SERVICE CENTER DENGAN ESTIMASI WAKTU PENGERJAAN MENGGUNAKAN ALGORITMA FIFO BERBASIS ANDROID

SISTEM REKOMENDASI FILM INDONESIA MENGGUNAKAN ALGORITMA APRIORI SKRIPSI AHMAD FAUZI NURSALAM

PERANCANGAN APLIKASI GAME KARTU UNO BERBASIS CLIENT SERVER SKRIPSI EDWIN PRAWIRO HAKIM

APLIKASI PEMBELAJARAN BERBANTUAN KOMPUTER BERBASIS KONSTRUKTIVISME POKOK BAHASAN KIMIA SENYAWA HIDROKARBON SKRIPSI ONDO TOBESAKTI SYAHRI

SISTEM PENDUKUNG KEPUTUSAN MENENTUKAN OPERATOR TERBAIK MENGGUNAKAN METODE TOPSIS (STUDI KASUS: CBOC REGIONAL 1/ PT. TELEKOMUNIKASI, TBK.

IMPLEMENTASI ALGORITMA GREEDY PADA GAME SUMMY SKRIPSI REZA HIDAYAT BAYU PRABOWO

PEMBELAJARAN PERTOLONGAN PERTAMA SAAT KECELAKAAN BERBASIS MOBILE ELWIN SUTRANGGA

METODE DEPTH FIRST SEARCH UNTUK PENCARIAN RUTE JADWAL PENERBANGAN SKRIPSI MASPIN SAHPUTRA

Class Diagram Activity Diagram Entity Relationship Diagram (ERD) MySQL CodeIgniter

SISTEM PENDUKUNG KEPUTUSAN SELEKSI PENERIMAAN BEASISWA DEPARTEMEN AGAMA DI PESANTREN DARULARAFAH RAYA DENGAN METODE TOPSIS SKRIPSI

ANALISIS DAN PERANCANGAN KEAMANAN INFORMASI PADA ELECTRONIC VOTING MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK SKRIPSI

PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013

ANALISIS DAN PERBANDINGAN ALGORITMAL-DEQUE DANALGORITMA BELLMAN-FORD DALAM MENCARI JARAK TERPENDEK SKRIPSI

SISTEM PAKAR UNTUK MENENTUKAN PENYAKIT DAN HAMA PADA TANAMAN SEMANGKA MENGGUNAKAN METODE FORWARD CHAINING SKRIPSI HASDYA MUTIA RAMBEY

IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK PENCARIAN RUTE TERPENDEK MENUJU PELABUHAN BELAWAN BERBASIS SISTEM INFORMASI GEOGRAFIS SKRIPSI

ABSTRAK. Kata kunci : distribusi materi kuliah, PHP, MYSQL, Dreamweaver. Universitas Kristen Maranatha

ANALISA RANCANGAN SISTEM APLIKASI INSTRUMENTASI PENGUMPULAN DATA BIMBINGAN KONSELING SISWA SEKOLAH BERBASIS WEB BENJAMIN EDDY SANTOSO

DETEKSI KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN ALGORITMA MANBER SKRIPSI IQBAL MAULANA DJAFAR

ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI

Identifikasi Nada Gitar dengan Menggunakan Metode Fast Fourier Transform (FFT)

PERMAINAN WORD SEARCH PUZZLE PADA ANDROID MENGGUNAKAN ALGORITMA BACKTRACKING SKRIPSI ISHRI IFDHILLAH MARBUN

SISTEM PENDUKUNG KEPUTUSAN PENENTUAN PENERIMA BEASISWA MENGGUNAKAN METODE FUZZY MULTIPLE ATTRIBUTE DECISION MAKING PADA SMA TAMAN SISWA SAWIT SEBERANG

LAPORAN SKRIPSI APLIKASI PANDUAN WISATA BAHARI JEPARA BERBASIS ANDROID. Oleh : MUHAMMAD ULIN NUHA

APLIKASI BELAJAR DAN MENGENAL NAMA BUAH-BUAHAN DALAM BAHASA INGGRIS DENGAN PHONEGAP DAN SPEECH RECOGNITION HIMAWAN PROGRAM STUDI TEKNIK INFORMATIKA

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI

PERBANDINGAN ALGORITMA STRING MATCHING NOT SO NAIVE DAN SKIP SEARCH PADA PLATFORM ANDROID SKRIPSI RICKY WIJAYA

METODE HYBRID (CONTENT DAN COLLABORATIVE BASED) NEAREST NEIGHBOUR UNTUK SISTEM REKOMENDASI PARIWISATA SKRIPSI NURUL HAYATI

SKRIPSI SURI SYAHFITRI

PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN PENENTUAN JUMLAH PRODUKSI DENGAN METODE TSUKAMOTO (Studi Kasus pada PT Tanindo Subur Prima) SKRIPSI

ABSTRAK. Kata kunci : sistem informasi, penilaian, ujian, dan menyontek.

SISTEM PAKAR UNTUK MENDIAGNOSA KERUSAKAN PADA KENDARAAAN BERMOTOR MENGGUNAKAN MICROSOFT VISUAL BASIC 6.0 SKRIPSI INDRANGADI RAJAGUKGUK

Transkripsi:

REKOMENDASI NEXT-SOLVED PROBLEMS DI PLATFORM KOMPETISI PEMROGRAMAN MENGGUNAKAN RECOMMENDATION ENGINE SKRIPSI FRANHEIT SANGAPTA MANULLANG 081402041 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015

REKOMENDASI NEXT-SOLVED PROBLEMS DI PLATFORM KOMPETISI PEMROGRAMAN MENGGUNAKAN RECOMMENDATION ENGINE SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi FRANHEIT SANGAPTA MANULLANG 081402041 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015

PERSETUJUAN Judul : REKOMENDASI NEXT-SOLVED PROBLEMS DI PLATFORM KOMPETISI PEMROGRAMAN MENGGUNAKAN RECOMMENDATION ENGINE Kategori : SKRIPSI Nama : FRANHEIT SANGAPTA MANULLANG Nomor Induk Mahasiswa : 081402041 Program Studi : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 M. Fadly Syahputra, B.Sc., M.Sc.IT NIP. 19830129 200912 1 003 Prof. Dr. Opim Salim Sitompul, M.Sc NIP. 19610817 198701 1 001 Diketahui / disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 01

iii PERNYATAAN REKOMENDASI NEXT-SOLVED PROBLEMS DI PLATFORM KOMPETISI PEMROGRAMAN MENGGUNAKAN RECOMMENDATION ENGINE SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Agustus 2015 Franheit Sangapta M 081402041

iv UCAPAN TERIMA KASIH Puji syukur penulis panjatkan kepada Allah Bapa Tuhan Yang Maha Esa, karena dengan limpahan berkat dan kemuliaannya dengan berbagai cara yang agung penulis dapat menyelesaikan penyusunan tugas akhir ini. Rasa syukur dan doa yang tak hentihentinya penulis daraskan karena dengan penyertaannya selalu, penulisan tugas akhir ini dapat terselesaikan dengan baik. Penulis juga menyadari bahwa penyusunan skripsi ini tidak lepas dari campur tangan orang-orang yang Tuhan titipkan untuk menjadi motivasi. 1. Orang tua penulis, Riani Situmorang dan Marolop Y Manullang, terimakasih mama dan bapak telah menjadi sumber kekuatan di setiap waktu. Juga kepada keluarga Kakak Santi Christina Manullang dan Lae Eko P Rajagukguk beserta calon pemimpin masa depan, Juan Trystan Rajagukguk. Juga kepada adik-adik tercinta, Abdi Pistari Manullang, Desy Yumaida Manullang, Cindy Theresia Manullang, dan keluarga abang Ebenezer Talumau Manullang dan Mauren Situmorang. 2. Dosen pembimbing penulis, Prof. Dr. Opim Salim Sitompul, M.Sc, dan M Fadly Syahputra, B.Sc., M.Sc.IT atas segala masukan dan bimbingan selama penyusunan skripsi ini. 3. Bapak/Ibu dosen di Fasilkom-TI maupun MIPA yang telah mendidik penulis mulai dari tidak tahu apa-apa sampai pada saat ini berjuang menjadi yang terbaik untuk masyarakat banyak. 4. Yayasan Karya Salemba Empat Pak Hengky, Pak Dadit, Pak Tatan Taufik, Pak Mirza, Bu Amy Tantri serta founder dan dewan pembina dan yang menjadi sosok inspirasi dan mengajarkan penulis banyak hal untuk melanjutkan perjuangan dan menjadi pemimpin yang berakhlak. 5. PT Indofood Sukses Makmur Pak Franky, Pak Christian Somali, Pak Deni Puspahadi, Pak Sujarwo serta Bapak/Ibu yang tidak bisa penulis sebutkan satu demi satu. Terkhusus Bapak/Ibu di Lonsum Sumut dan juga PT. SIMP yang

v memberikan banyak kesempatan mencicipi banyak pelatihan dan tentunya menjadi orangtua bagi anak-anak BISMA. 6. Rekan-rekan di Camp BISMA Beasiswa Indofood Sukses Makmur se- Indonesia. 7. Rekan-rekan Paguyuban Karya Salemba Empat tempat berkeluh kesah, tempat mewujudkan mimpi, dan tempat untuk mencoba banyak hal yang orang lain anggap tidak bisa. 8. Rekan-rekan se-angkatan dan adik-adik di Prodi Teknologi Informasi. 9. Teman seperjuangan di Asrama Putra KKB USU bang Asril, Nanda Putra, Reyhan Samantha, Billy Az-zahry, Putra, serta Salman. 10. Rekan-rekan dan mentor cyber underground dimanapun kalian berada. Finally, I will be graduated, guys. Let s hack the better world. Penulis juga memohon maaf jika selama masa pendidikan strata satu ini penulis melakukan kesalahan. Semoga Tuhan menyertai segala kebaikan dan kerendahan hati untuk banyak pihak. Dan juga semoga karya tulis ini memberikan kontribusi yang baik untuk kemajuan pendidikan di tanah air tercinta. Berkah Dalem.

vi ABSTRAK Competitive programming merupakan istilah yang populer untuk berbagai level kompetisi pemrograman di kalangan pelajar, mahasiswa, maupun profesional yang menekuni bidang ilmu komputer dan teknologi informasi. Dalam kompetisi pemrograman, peserta tidak hanya dituntut untuk menguasai bahasa pemrograman secara mendalam, tetapi kemampuan pemecahan masalah dengan solusi yang sudah diformulasikan sedemikian rupa, diterjemahkan dalam baris-baris kode dengan mempertimbangkan kecepatan eksekusi program serta penggunaan memori komputer seefisien mungkin. Dalam masa persiapannya, peserta biasanya mengalami berbagai kendala teknis, misalnya, kesulitan untuk menemukan soal-soal yang menarik untuk dipakai dalam berlatih. Apabila peserta mencoba soal-soal yang tingkat kesulitannya jauh lebih tinggi dari kemampuan si peserta, biasanya peserta akan merasa frustasi karena tidak bisa menyelesaikannya, sebaliknya apabila peserta mencoba soal-soal yang jauh lebih rendah dari kemampuannya, si peserta akan merasa bosan dan proses pengerjaan soal seterusnya menjadi tidak menarik. Oleh karena itu, penulis melakukan penelitian untuk merekomendasikan soal-soal (next-solved problems) baik secara kategori, tingkat kesulitan soal, maupun soal-soal yang menarik untuk dikerjakan untuk persiapan dalam kompetisi pemrograman. Dalam penelitian ini, data soal-soal yang ada diambil dari arsip soal-soal di UVa online judge. Penulis mempelajari preferensi setiap peserta yang ada dalam online judge ini, kemudian dari proses pembelajaran preferensi ini, didapat pola frekuensi soal-soal yang paling sering dicoba, soal-soal yang dikategorikan sulit, dan rekomendasi lainnya. Proses rekomendasi soal-soal ini menggunakan teknik recommendation engine. Kata Kunci: competitive programming, uva online judge, recommendation engine.

vii ABSTRACT Competitive programming is a popular term of programming competitions that vary on difficulty levels among students, college students, and professional programmers that pursue the computer science and information technology field. In programming competitions, students not only need to master programming language in depth, but sharpen the ability of problem solving in advanced and then the formulated solution translates in line of codes taking into account both of the runtimes and the memory limits efficiently. In the preparation phase, students usually encounter vary of technical problems, for example, the difficulty of finding interesting problemsets to solve. If students try a problem that the degree of its difficulty is much higher than student s ability, in common, they will frustrate because they can t solve it. Otherwise, if the degree of problem s difficulty is lower than their ability, students will get bored and solving the problemsets itself become unattractive. Therefore, the author tries to do a research that recommend next-solved problems either in categories, levels of difficulty, as well as the interesting problemsets to solve in preparation phase. In this research, datasets are grabbed from the archives of problems in UVa online judge via UHunt API. The author tries to learn the preferences of each participant in the online judge, and then the learning process of user s preferences obtained a pattern of problemset s frequency mostly tried, level of problemset difficulty, category of problems, and the others. This recommendation of next-solved problems uses recommendation engine technique. Keywords: competitive programming, uva online judge, recommendation engine

viii DAFTAR ISI Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abstract Daftar Isi Daftar Tabel Daftar Istilah Daftar Gambar iii iii iv vi vii viii xii xiii xiv BAB 1 PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Rumusan Masalah 3 1.3. Tujuan Penelitian 3 1.4. Manfaat Penelitian 3 1.5. Batasan Masalah 3 1.6. Metodologi Penelitian 4 1.7. Sistematika Penulisan 5 BAB 2 LANDASAN TEORI 7 2.1. Competitive Programming 7 2.1.1. ACM ICPC 8 2.1.2. TopCoder 9 2.1.3. Google Code Jam 11 2.1.4. Facebook Hacker Cup 11

ix 2.2. Online Judges 12 2.2.1. UVa Online Judge 12 2.3. Statistik UVa Online Judge 13 2.3.1. Persebaran bahasa pemrograman yang digunakan 14 2.3.2. Statistik unique page views 14 2.3.3. Statistik pengunjung unik 15 2.3.4. Statistik data kunjungan rentang tahun 2014 16 2.3.5. Statistik pengunjung berdasarkan negara 17 2.3.6. Statistik pengunjung berdasarkan kota 17 2.4. Recommendation Engine 18 2.5. Personalized Recommendation Engine 19 2.6. Unified Modelling Language (UML) 19 2.6.1. Diagram use case 20 2.6.2. Spesifikasi use case 22 2.6.3. Sequence diagram 22 2.6.4. Activity diagram 23 2.7. Penelitian Terdahulu 24 2.7.1. UVa toolkit 24 2.7.2. UHunt - UVa hunting 24 2.7.3. Bailian openjudge 25 2.7.4. udebug 25 BAB 3 METODOLOGI PENELITIAN 26 3.1. Analisis Data 26 3.1.1. Dataset overviews 26 3.1.2. Datasets grabbing untuk keperluan data testing 29 3.2. Analisis Sistem 30 3.2.1. Classifying Problems Based on Book Chapter 33

x 3.2.2. Problemsets Processing 38 3.2.3. User s Submissions Statistics 39 3.2.4. Pembobotan Level Soal (Grading the Problemsets) 40 3.2.5. Next-Solved Problems Recommendation 41 BAB 4 ANALISIS DAN PERANCANGAN 44 4.1. Perancangan Sistem 44 4.1.1. Diagram use case 44 4.1.2. Definisi use case 45 4.2. Perancangan Tampilan Antarmuka 46 4.2.1. Rancangan tampilan halaman default username 46 4.2.2. Rancangan halaman problem category 46 4.2.3. Rancangan halaman problem categories secara detail 47 4.2.4. Rancangan halaman profil pengguna 48 4.2.5. Rancangan halaman status menu untuk live submissions 48 BAB 5 IMPLEMENTASI DAN PENGUJIAN 50 5.1. Implementasi Sistem 50 5.1.1. Spesifikasi perangkat keras dan perangkat lunak yang digunakan 50 5.1.2. Tampilan Utama Menu Problem Category 51 5.1.3. Implementasi rekomendasi next-solved problems soal-soal kompetisi 51 5.1.4. Tampilan Menu Profil Pengguna 52 5.1.5. Tampilan menu live submissions dari semua pengguna 52 5.1.6. Tampilan pengelompokan next-solved problems berdasarkan volume soal dan book chapter 53 5.1.7. Tampilan pengelompokan next-solved problems berdasarkan volume soal dan book chapter serta terurut berdasarkan distinct accepted user (dacu) 54 5.1.8. Tampilan next-solved problems berdasarkan Competitive Programming 3 rd Edition dan terutut berdasarkan dacu 54

xi 5.2. Pengujian Sistem 55 5.2.1. Pengujian fungsionalitas antarmuka pengguna 55 5.2.2. Tahapan training data problemsets dan history of user s submissions 58 BAB 6 KESIMPULAN DAN SARAN 61 6.1. Kesimpulan 61 6.2. Saran 62 DAFTAR PUSTAKA 63 LAMPIRAN 65

xii DAFTAR TABEL Hal Tabel 2.1 Hasil world final rentang tahun 2010 2014 (ICPC, 2014) 8 Tabel 2.2 Statistik Tahunan Submissions di Platform UVa Online Judge (UVA, 2015) 12 Tabel 2.3 Elemen-elemen diagram sekuens 22 Tabel 2.4 Elemen-elemen Pada Diagram Aktivitas 23 Tabel 3.1 Kategori soal-soal UVa online judge berdasarkan book chapter Competitive Programming 1 st Edition (Halim, et al. 2010) 34 Tabel 3.2 Kategori soal-soal UVa online judge berdasarkan book chapter Competitive Programming 2 nd Edition (Halim, et al. 2011) 35 Tabel 3.3 Kategori soal-soal UVa online judge berdasarkan book chapter Competitive Programming 3 nd Edition (Halim, et al. 2013) 35 Tabel 3.4 Kategori soal-soal UVa online judge berdasarkan Volume soal (UVA, 2014) 36 Tabel 3.5 Kategori soal-soal UVa online judge berdasarkan book chapter Art of Programming Contest 1 st Edition (Arefin, 2006) 36 Tabel 3.6 Kategori soal-soal UVa online judge berdasarkan book chapter Art of Programming Contest 2 nd Edition (Halim, et al. 2011) 37 Tabel 3.7 Kategori soal-soal UVa online judge berdasarkan Training Guide Art of Programming Contest (Arefin, 2006) 37 Tabel 3.8 Tabel Rekomendasi 25 Soal Berdasarkan Kalkulasi Nilai DACU 41 Tabel 4.1 Tabel Deskripsi Use Case 45 Tabel 5.1 Rencana Pengujian Komponen Antarmuka 56 Tabel 5.2 hasil pengujian halaman utama 56 Tabel 5.3 hasil pengujian profil pengguna 57 Tabel 5.4 Hasil pengujian halaman live submissions 57 Tabel 5.5 Hasil pengujian halaman default username 58

xiii DAFTAR ISTILAH Auto judging Juri otomatis atau penilaian kebenaran program yang dikumpulkan ke sistem dilakukan oleh sistem itu sendiri dan nilai kebenarannya (accepted, wrong answer, presentation error, timit limit exceeded, dll) secara otomatis pula di kembalikan ke layar Accepted verdict Nilai kembalian yang bersifat tepat benar untuk setiap submission yang dilakukan pengguna terhadap satu soal tertentu. Biasanya ditandai dengan pemberian warna hijau untuk soal accepted verdict dan warna merah untuk submission yang masih salah (wrong answer, time limit, dll) Competitive Terminologi merujuk ke berbagai kompetisi pemrograman programming Dacu Distinct accepted user, bobot nilai setiap soal berdasarkan status pengguna yang sudah menyelesaikan soal secara benar, dihitung hanya dari submisi pertama yang benar setiap pengguna Next-solved problems Merujuk ke permasalahan/soal-soal kompetisi pemrograman yang direkomendasikan untuk diselesaikan Online judge Basis arsip soal-soal kompetisi pemrograman, bersifat autograding terhadap submissions pengguna. OJ yang paling terkenal diantaranya UVa, LiveArchive, PKU, SPOJ, Bailian, TopCoder Algorithm, Codeforces, dll. Problemsetter Perancang soal untuk kompetisi pemrograman Problemsolver Orang yang menyelesaikan soal-soal Test data Berkas input output yang digunakan dalam kompetisi pemrograman sebagai data uji untuk kebenaran program yang dikumpulkan (submit) ke online judge Verdict status Nilai kembalian program pengguna setelah melakukan code submissions yang berupa accepted, wrong answer, presentation error, timit limi exceeded, memory limit exeeded.

xiv DAFTAR GAMBAR Hal Gambar 2.1 Persebaran Bahasa Pemrograman yang Digunakan (UVA, 2014) 14 Gambar 2.2 UVa Page Views Rentang Tahun 2014 (UVA, 2014) 15 Gambar 2.3 UVa Unique Page Views (UVA, 2014) 15 Gambar 2.4 Statistik UVa Unique Visitors rentang tahun 2014 (UVA, 2014) 16 Gambar 2.5 Statistik UVa Visits rentang tahun 2014 (UVA, 2014) 16 Gambar 2.6 UVa Visits by Country rentang tahun 2014 (UVA, 2014) 17 Gambar 2.7 UVa Visits by City rentang tahun 2014 (UVA, 2014) 18 Gambar 2.8 Use Case 21 Gambar 2.9 Contoh Aktor Pada Use Case Diagram 21 Gambar 2.10 Keterhubungan 21 Gambar 3.1 Arsitektur Umum Sistem 31 Gambar 3.2 Flowchart Tahapan Problemsets Processing 38 Gambar 3.3 Flowchart Tahapan Submissions History Pengguna 39 Gambar 3.4 Flowchart Next-solved Problems 41 Gambar 4.1 diagram use case 44 Gambar 4.2 Rancangan halaman default username 46 Gambar 4.3 Rancangan halaman problem category dan detail soal 47 Gambar 4.4 Rancangan sub bagian menu kategori soal berdasarkan chapter book dan volume soal 47 Gambar 4.5 Rancangan halaman detail profil pengguna dan pengguna lain yang ditambahkan ke sistem 48 Gambar 4.6 Rancangan halaman status live submissions yang dilakukan semua pengguna di sistem UVa online judge 49 Gambar 5.1 Tampilan halaman menu problem category 51 Gambar 5.2 Tampilan menu profiles pengguna dan pengguna lain 52 Gambar 5.3 Tampilan menu live submissions dari semua pengguna 52 Gambar 5.4 Tampilan next-solved problems berdasarkan pengelompokan soal berdasarkan volume soal dan book chapter 53

xv Gambar 5.5 Tampilan pengelompokan next-solved berdasarkan volume, chapter book, dan distinct accepted users 54 Gambar 5.6 Tampilan next-solved problems berdasarkan Competitive Programming 3 rd Edition dan terutut berdasarkan nilai dacu 55 Gambar 5.7 Tampilan kategori soal berdasarkan volume soal 58 Gambar 5.8 Tampilan kategori soal berdasarkan buku competitive programming 3 rd 59