Pemrograman kompetitif: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Baris 19:
Pada sebagian besar kontes, penilaian dilakukan otomatis oleh komputer, biasanya dikenal sebagai ''judge.'' Setiap solusi yang dikirimkan oleh kontestan akan diuji oleh ''judge'' melewati serangkaian kasus uji (biasanya rahasia). Secara normal, soal-soal dari kontes memiliki sistem penilaian ''all-or-none'', yang berarti kontestan akan mendapat skor jika dan hanya jika solusi yang mereka berikan berhasil melewati seluruh kasus uji yang diberikan oleh ''judge'', dan tidak akan mendapat apa-apa jika ada paling tidak satu kasus uji yang gagal dilewati. Namun, ada beberapa soal yang memiliki sistem penilaian parsial, yang berarti kontestan akan mendapat skor tergantung dari jumlah kasus uji yang berhasil dilewati, kualitas dari hasil, atau kriteria lainnya. Pada beberapa kontes, kontestan hanya perlu mengirimkan output dari input yang diberikan, lalu ''judge'' cukup menganalisa output yang dikirimkan.
''Online judge'' adalah tempat penilaian yang dilakukan secara daring. ''Online judge'' memiliki fitur ranklist yang menampilkan peserta yang memiliki jumlah solusi yang berhasil, dan/atau waktu tercepat untuk menyelesaikan masalah.<ref>[https://www.amazon.com/Programming-Challenges-Steven-S-Skiena/dp/0387001638 Programming Challenges (Skiena & Revilla)] {{ISBN|0387001638}}, {{ISBN|978-0387001630}}</ref>
== Kompetisi terkenal ==
Baris 106:
! style="min-width:15%" |[[Situs web|Situs Web]]
|-
|[[:en:CodeChef|CodeChef]]<ref name="Luigi16">{{cite journal|last1=Luigi|first1=William Di|last2=Farina|first2=Gabriele|last3=Laura|first3=Luigi|last4=Nanni|first4=Umberto|last5=Temperini|first5=Marco|last6=Versari|first6=Luca|year=2016|title=oii-web: an Interactive Online Programming oii-web: an Interactive Online Programming Contest Training System|url=https://ioinformatics.org/journal/v10_2016_207_222.pdf|journal=Olympiads in Informatics|volume=10|pages=207–222}}</ref><ref name="
|
Dipelihara oleh [[Unacademy]], yang mengadakan sebuah kontes berdurasi 10 hari dan dua buah kontes kecil setiap bulan (satu bergaya IOI bernama Lunchtime dan yang lainnya bergaya ICPC bernama Cook-Off), juga menyediakan tempat pengadaan kontes untuk institusi edukasi secara gratis. Dua pemenang teratas dari kontes panjang mendapatkan hadiah tunai dan 10 teratas mendapatkan sebuah kaus.
Baris 113:
|[[CodeCup]]
|
Kompetisi pemrograman [[kecerdasan buatan]] permainan papan internasional tahunan yang diatur oleh Dutch Olympiad in Informatics sejak tahun 2003.<ref name="
|[https://codecup.nl codecup.nl]
|-
Baris 138:
|[https://hackerrank.com hackerrank.com]
|-
|[[:en:Project_Euler|Project Euler]]<ref name="
|Koleksi besar masalah komputasi matematika (yang tidak berhubungan langsung dengan pemrograman namun seringkali membutuhkan kemampuan memprogram untuk memecahkannya).
|[https://projecteuler.net projecteuler.net]
Baris 155:
|-
|[[Open Kattis]]
|Versi publik dari sistem manajemen kontes Kattis, dengan arsip yang berisi lebih dari 2.600 buah masalah.<ref name="
Kattis dikembangkan untuk membantu kursus ilmu komputer, juga digunakan untuk mengadakan kompetisi yang bergengsi, seperti ICPC World Finals.<ref>{{cite journal|author1=Enström, E.|author2=Kreitz, G.|author3=Niemelä, F.|author4=Söderman, P.|author5=Kann, V.|year=2011|title=Five years with Kattis – using an automated assessment system in teaching|url=https://www.csc.kth.se/~gkreitz/kattis-fie11/kattis-fie11.pdf|journal=IEEE Frontiers in Education Conference}}</ref>
Baris 172:
== Manfaat dan kritik ==
Partisipasi dalam kontes pemrograman dapat meningkatkan antusiasme siswa terhadap bidang studi [[ilmu komputer]]. Kemampuan yang didapatkan dari kontes pemrograman seperti ICPC juga meningkatkan prospek karir kedepannya, karena kemampuan tersebut dapat berguna untuk mengerjakan soal-soal interview kerja, yang seringkali kandidat diminta untuk menyelesaikan masalah pemrograman kompleks dan algoritma secara langsung.<ref name="
Namun ada juga kritik terhadap pemrograman kompetitif yang secara spesifik disampaikan oleh pengembang perangkat lunak profesional.<ref name="rg15">{{cite web|last=Smith|first=Duncan|date=December 2, 2015|title=The Competitive Programming Debate|url=https://www.redgreencode.com/the-competitive-programming-debate/}}</ref> Salah satu poin penting yang disampaikan adalah banyak kompetisi pemrograman serba cepat yang mengajarkan kompetitornya kebiasaan pemrograman dan gaya kode yang buruk. Contohnya seperti penggunaan makro yang tidak perlu, kurangnya abstraksi [[pemrograman berorientasi objek]], kode komentar yang menjelaskan isi dari kode tersebut, penamaan variable yang pendek, dan lain-lain.<ref>{{cite web|last=Halim|first=Steven|title=CS3233 - Competitive Programming|url=https://www.comp.nus.edu.sg/~stevenha/cs3233.html|website=NUS School of Computing}}</ref><ref name="
Ada juga sentimen lain yang berkata bahwa daripada membuang-buang waktu dengan berkompetisi secara berlebihan menyelesaikan masalah yang solusinya sudah ada, ''programmer'' lebih baik menginvestasikan waktu mereka dengan menyelesaikan dunia nyata.<ref name="
== Literatur ==
Baris 189:
== Referensi ==
<references responsive="" />
== Pranala luar ==
|