Pemrograman kompetitif: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Pranala luar: Belum ada terjemahan resmi dari repo ini
Tag: Suntingan visualeditor-wikitext
kTidak ada ringkasan suntingan
Tag: Suntingan visualeditor-wikitext
Baris 1:
 
[[Berkas:ЯндексАлгоритм.jpg|jmpl| [[Petr Mitrichev]] (kiri) dan [[Gennady Korotkevich]] (kanan), dua programmerpemrogram kompetitif terkemuka dalam sebuah kontes.]]
'''Pemrograman kompetitif''' adalah [[olahraga pikiran]] yang diadakan menggunakan [[internet]] atau [[Jaringan area lokal|jaringan lokal]], di mana para peserta mencoba untuk [[Pemrograman|memprogram]] sesuai dengan spesifikasi yang diminta, dalam waktu yang terbatas. Kontestan dari pemrograman kompetitif biasa disebut juga ''sport programmers''. Pemrograman kompetitif diakui dan didukung oleh beberapa perusahaan perangkat lunak dan internet multinasional, seperti [[Google]]<ref>{{cite web|title=Google Code Jam|url=http://code.google.com/codejam|work=google.com|accessdate=2016-02-20}}</ref><ref>{{cite web|title=TCO12 Sponsor: Google - TCO 12|url=http://community.topcoder.com/tco12/overview-sponsor/tco12-sponsor-google/|work=topcoder.com|archiveurl=https://web.archive.org/web/20120216103218/http://community.topcoder.com/tco12/overview-sponsor/tco12-sponsor-google/|archivedate=February 16, 2012|url-status=dead}}</ref> dan [[Facebook]]<ref>{{cite web|title=Facebook Hacker Cup|url=http://www.facebook.com/hackercup|work=Facebook|accessdate=2016-02-20}}</ref>. Ada beberapa organisasi yang mengadakan kompetisi pemrograman secara teratur.
 
Baris 174:
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 algoritme secara langsung.<ref name="sigcse16"/>
 
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="rg15"/> Selain itu, dengan hanya menawarkan permasalahan algoritmik yang kecil dengan solusi yang relatif singkat, kompetisi pemrograman seperti ICPC dan IOI tidak serta merta mengajarkan keterampilan dan praktik rekayasa perangkat lunak yang baik, sedangkan proyek perangkat lunak pada dunia kerja biasanya memiliki ribuan [[baris kode]] dan dikembangkan oleh tim besar dalam jangka waktu yang lama.<ref name="rg15"/> [[Peter Norvig]] menyatakan bahwa berdasarkan data yang tersedia, menjadi pemenang dari kontes pemrograman berkorelasi negatif dengan kinerja ''programmer''pemrogram pada pekerjaannya di Google. Meski demikian, pemenang kontes memiliki peluang lebih tinggi untuk mendapatkan pekerjaan.<ref>{{cite web|date=April 5, 2015|title=Winning at programming competitions is a negative factor for being good on the job|url=https://www.youtube.com/watch?v=DdmyUZCl75s}}</ref>
 
Ada juga sentimen lain yang berkata bahwa daripada membuang-buang waktu dengan berkompetisi secara berlebihan menyelesaikan masalah yang solusinya sudah ada, ''programmer''pemrogram lebih baik menginvestasikan waktu mereka dengan menyelesaikan dunia nyata.<ref name="rg15"/>
 
== Literatur ==
Baris 194:
; Proyek sumber terbuka untuk menjalankan kontes
 
* [https://github.com/cms-dev/cms Contest Management System] Alat sumber terbuka yang dibuat dengan [[Python (bahasa pemrograman)|Python]] untuk menjalankan dan mengelola kontes pemrograman di sebuah server [[Olimpiade Internasional dalam Informatika|IOI 2012 dan IOI 2013]] .
 
[[Kategori:Kontes pemrograman]]
[[Kategori:Kompetisi ilmu komputer]]