Selasa, 01 Oktober 2013

Apa itu Competitive Programming?

Istilah Competitive Programming mungkin jarang anda dengar, namun kali ini saya akan memberitahunya kepada anda apa itu Competitive Programming,

Competitive programming adalah sebuah kompetisi dimana peserta diberikan sebuah soal (problem set) yang terdiri dari input, output, dan juga permasalahannya. Nah peserta diharapkan dapat menyelesaikan permasalahan itu dengan menggunakan bahasa pemrograman.

Setelah anda membuat codenya anda harus upload, bisa saja anda upload ke Online Judge atau ke tempat yang disediakan oleh panitia yang mengadakan kompetisi.

Nanti Grader akan memasukkan input, nah apabila outputnya sesuai, maka jawaban anda benar (Accepted). Grader adalah sistem yang akan menilai apakah program yang anda buat itu benar atau tidak. 

Namun biasanya pada soal juga terdapat time limit dan juga memory limit, time limit disini berarti batas waktu program anda berjalan kalau lebih maka disebut Time Limit Exceded (TLE), selain itu ada juga yang disebut Memory Limit yaitu batas memory yang anda gunakan pada program anda, nah jika lebih maka disebut Memory Limit Exceded (MLE).

Masih ada lagi, pada soal umumnya juga diberi tahu batas inputnya, jadi pada jangkauan input sekian program anda harus bisa mengerjakannya. 

Jadi, dalam Competitive Programming anda harus membuat sebuah program dimana program itu harus bisa menyelesaikan masalah yang disediakan dengan se-efektif dan se-efisien mungkin.

Ada beberapa istilah yang sering akan anda jumpai dalam Competitive Programming yaitu :

1. Compile Error : ini memiliki arti bahwa ada kesalahan dalam bahasa pemrograman sehingga compiler tidak bisa berjalan.  jadi check lagi code anda.
2. Wrong Answer : ini memiliki arti bahwa program anda berjalan, tapi salah dalam menyelesaikan problem setnya.
3. Run Time Error : Terjadi error pada saat program yang dikumpulkan diberikan input dan dijalankan. Errortersebut mungkin saja disebabkan karena akses elemen di luar batas array, melakukanpembagian terhadap nol dalam perhitungan, terjadi stack overflow.

Sekedar Info kalau bahasa pemrograman yang sering digunakan dalam competitive programming itu adalah C++, Pascal, dan Java.

Saya juga akan menjelaskan apa itu Online Judge, Online Judge(OJ) adalah sebuah site yang berisi problem set, dimana para user yang terdaftar bisa mengerjakan problem set itu.

Contoh Alamat website Online Judge :
http://urionlinejudge.com.br 

untuk tahu lebih lanjutnya silahkan cari di Google hehehehe..

Contoh Kompetisi bergengsi :
  • Google Code Jam
  • Facebook Hacker Cup
  • Top Coder
  • IOI (International Olympiad in Informatics) untuk SMA
  • ACM ICPC
Ada yang ingin bertanya? silahkan berkomentar... 


1 komentar:

Andrias Dickson mengatakan...

trimakasih infonya, saya mau bertanya saya saat menyelesaikan sebuah soal ternyata yang keluar seringkali wrong answer, padahal input dan otuputnya sudah sesuai. Apakah cara penyelesaian problemnya harus sangat sesuai dengan yang diinginkan Online Judge? Trimakasiihh

Posting Komentar

 
Copyright © Inteligence Bird | Theme by BloggerThemes & frostpress | Sponsored by BB Blogging