Tempat Uji Nyali Programmer

Ridwan Fajar 31 Juli 2014

Tempat Uji Nyali Programmer

Biasanya kalau di televisi acara uji nyali itu di bawah air terjun, di dalam goa, di gedung tua, di rumah tak berpenghuni, di makam atau dimana aja lah yang penting gelap dan spooky yang membuat bulung kuduk merinding gak karuan. Atau juga ada yang tantangannya ekstrem misal harus bungee jumping, flying fox, atau loncat indah yang membuat jantung berdegup kencang. Itu semua untuk orang - orang pada umumnya yang menguji kekuatan fisik dan mental.

Nah kalau programmer uji nyalinya dimana? selain menguji kekuatan fisik dan mental kekuatan problem solving, coding, dan algoritmik juga menjadi parameter yang akan di uji bagi seorang hobi coding atau programmer. Uji nyali ini biasanya berupa lomba coding yang diikuti oleh banyak tim. Lomba coding ini biasanya diselenggarakan oleh perguruan tinggi (misal: ITB, UI, ITS) atau lembaga resmi di bidang computing seperti ACM dengan ACM-ICPC nya.

Di dalam lomba coding ini Anda harus bertarung melawan waktu dengan memecahkan problem set super greget yang disediakan oleh panitia. Misal ada persoalan dimana kita harus menyelesaikan titik koordinat sebuah titik terhadap 10 titik yang diberikan oleh mesin penguji. Contoh lainnya misal berapa banyak macam jenis barang yang dapat disimpan di sebuah stockpile di sebuah gudang karena perbedaan lebar dan panjang setiap barang berbeda. Setelah Anda mengerjakan soal, source code yang telah Anda coba di komputer dan berhasil harus langsung dikirim ke online judge untuk dievaluasi kebenaran dari source code tersebut. Biasanya akan muncul info seperti time limit exceeded, compile success, atau compile failed.

Memang ketika mengikuti lomba coding gak aneh kalau misalnya ada salah satu teman dari tim kita atau yang berbeda tim, raut wajahnya cemberut banget, ada yang ngacak - ngacak rambut, ada pula yang sampai nangis karena mumetnya menyelesaikan problem set. Tapi disitulah letak menariknya, kalau kita bisa mengendalikan diri pasti problem set yang kita hadapi akan lebih lega. Dan jangan salah, lomba coding biasanya menghadiahkan uang jutaan kepada sang pemenang.

Kalau lomba coding biasanya tahunan atau per semester atau mungkin dalam periode yang tidak ditentukan. Lalu bagaimana dengan kita yang tidak sempat ikut lomba tapi pengen coba uji nyali dengan menyelesaikan problem set. Kami akan hadirkan beberapa online judge yang bisa digunakan sebagai latihan sebelum perang coding untuk sebuah kompetisi, latihan coding untuk UAS (karena ada beberapa perguruan tinggi yang memakai online judge untuk sistem UAS mata kuliah Algoritma dan Pemrograman), atau menguji nyali Anda ketika liburan.

Berikut adalah daftar online judge yang dapat Anda coba sekarang juga:

Caribbean Online Judge (COJ)

COJ siap menguji Anda selama 24 jam dengan berbagai problem set. Di COJ Anda dapat menggunakan bahasa pemrograman C, C++, Java, C#, Pascal, Perl, Python, PHP, BASH dan Ruby. Di COJ ada sekitar 1978 problem yang dapat Anda selesaikan untuk mengetahui kemampuan programming Anda. Selain itu Anda dapat bersaing dengan user lainnya yang sudah lebih dulu menyelesaikan problem set. COJ memiliki tujuan untuk penggunanya, yaitu: tempat bertukar pengalaman dan pengetahuan, untuk menguji kemampuan programming Anda, dan sebagai tempat latihan untuk ikut lomba seperti ACM-ICPC. COJ ini didirikan oleh Universidad la Ciencias Informaticas, Cuba. Anda dapat memilih Bahasa Spanyol atau Bahasa Inggris ketika berkunjung ke COJ.

LeetCode Online Judge

LeetCode menyediakan online judge yang dapat digunakan sebagai tempat latihan proglem solving. Di LeetCode terdapat problem sebanyak 150. Bahasa pemrograman yang dapat digunakan adalah Python, C++, dan Java. LeetCode sendiri merupakan sebuah penyedia jasa IT interview untuk skill coding test. Anda dapat menggunakan akun Facebook, Twitter, G+, atau Github untuk mendaftar.

Aizu Online Judge (Aizu OJ)

Aizu OJ didirikan oleh Database System Laboratory, University of Aizu, Jepang. Aizu OJ dikelola oleh Aizu Competitive Programming Club. Problem set yang ditawarkan umumnya diarahkan untuk kompetisi ACM-ICPC. Aizu OJ memiliki 28 volume problem set, tiga pertama adalah pengenalan dan pemanasan sebelum rambut Anda rontok, 25 berikutnya adalah problem set yang diarahkan untuk ACM-ICPC. Bahasa pemrograman yang dapat digunakan antara lain Ruby, Python, PHP, Javascript (NodeJS), C, C++, Java, C#, dan D. Anda dapat memilih ahasa Jepang atau Bahasa Inggris ketika berkunjung ke Aizu OJ.

Peking University Online Judge (POJ)

POJ ini didirikan oleh Peking University. Didesan dan dikembangkan oleh Xu Pengcheng, Ying Fuchen, dan Xie Di. Soal yang terdapat di POJ ada sekitar 3054 problem set yang siap dipecahkan bersama tim Anda. Bahasa yang dapat digunakan antara lain C, C++, dan Java. POJ ini dikelola juga oleh Peking University ICPC Team. Anda dapat memilih Bahasa Mandarin atau Bahasa Inggris ketika berkunjung ke POJ.

URI Online Judge (URI OJ)

URI OJ ini didirikan oleh Department of Computer Science, Universidade Regional Integrada, Brazil. URI OJ ini diprakarasi oleh Neilor Tonin, Jean Bez, dan Leonardo Blanger. Permasalahan yang dapat Anda selesaikan ada sekitar 576 problem set. Problem set tersebut terbagi menjadi 8 bagian yaitu Beginner, Strings, Ad Hoc, Mathemattic, Graph, Data Structures, Paradigm, dan Computational Geometry. Anda dapat menggunakan C++ atau Java untuk menyelesaikan problem set.

Timus Online Judge (TOJ)

TOJ didirikan oleh Ural Federal University, Rusia. TOJ memiliki problem set sebanyak 1011 problem yang terbagi ke dalam 11 volume yang siap dipecahkan oleh kontestan. Di TOJ Anda dapat menyelesaikan problem set menggunakan C, C++, Pascal, Java, C#, Go, Python, Ruby, Haskell, dan Scala. Umumnya Anda akan bersaing dengan kontestan dari Rusia.

Sphere Online Judge (SPOJ)

SPOJ didirikan oleh Sphere Research Labs. SPOJ menggunakan Sphere Engine, mesin evaluasi coding yang digunakan oleh Learn C, Learn Javascript, Learn Java, Learn Python, dan Learn PHP. SPOJ memiliki 20563 problem set yang bisa Anda pecahkan. SPOJ memiliki jumlah problem set yang paling banyak diantara lainnya. Untuk menyelesaikan masalah, SPOJ menawarkan banyak sekali pilihan bahasa pemrograman mulai dari C, C++, Pascal, Java, C#, ASM, D, Fort, ADA, Perl, Python, Ruby, Lua, Haskell, Lisp, Scheme, Clips, CAML, Prolog, PHP, Pike, dan lainnya. Anda dapat menggunakan Bahasa Armenia, Bahasa Polandia, Bahasa Vietnam, Bahasa Portugis, dan Bahasa Inggris ketika berkunjung ke SPOJ.

UVA Online Judge (UVA OJ)

UVA OJ didirikan oleh University of Valladoid, Spanyol. Anda dapat menggunakan C, C++, Pascal, dan Java untuk menyelesaikan permasalahan di UVA OJ. Permasalahan yang ditawarkan ada sekitar 14 kelompok permasalahan. Kelompok problem set tersebut antara lain ACM-ICPC, AOAPC, Competitive Programming oleh Steven dan Felix Halim, Rujia Liu, dan lainnya.

Jolly Bee Online Judge (JBOJ)

Jolly Bee didirikan oleh BINUS. Jolly Bee memiliki 38 problem set yang dapat Anda coba. Anda dapat menggunakan C++, C, Pascal, dan Java untuk menyelesaikan problem set. Problem set yang tersedia ada dua kategori yaitu Jollybee Contest Beta Testing dan BNPCHS 2010.

TOKI Learning Center

Toki Learning Center ini didirikan oleh TOKI Biro ITB. Digunakan sebagai alat pembelajaran jarak jauh untuk peserta OSN Komputer Indonesia. Umumnya yang ikut serta adalah pelajar SMU yang akan mengikuti OSN. Tapi jangan salah, problem set yang ditawarkannya tidak seindah bunga mawar. Ada sekitar 17 kelompok problem set yang sudah diarsipkan dari tahun 2008 hingga 2011. Arsip soal tersebut berasal dari ACM-ICPC, Binus INC, ITB-PC, OSN, JOINTS, BNPC, Schematics, dan Arkavidia. Anda dapat menggunakan Pascal dan C untuk menyelesaikan permasalahan. Banyak juga problem set yang merupakan soal - soal di perguruan tinggi. TOKI Learning Center ini diprakarsai oleh Petra Novandi Barus, Karol Danutama, dan Muhammad Adinata. Ketiganya merupakan lulusan Teknik Informatika ITB yang mengelola TOKI Biro ITB. Toki Learning Center menggunakan Bahasa Indonesia untuk penggunanya.

Siapapun Anda, cobalah online judge walaupun sekali :D.

(rfs)