Introduction to Competitive Programming

Kenapa ikut competitive programming?

  • bolos sekolah! gara2 ini saya bisa bolos sekitar 4 bulan setahun… enak kan 😀
  • duit! setiap pelatnas/OSN dibayar, dapet medali dibayar lagi, dapet apresiasi dr skolah, daerah, negara… bisa ke luar negeri gratis lagi.
  • ketemu banyak temen dari luar kota, luar negeri yang punya interest sama kayak kalian.
  • berharga banget buat daftar universitas. untuk medalis IOI, NTU/NUS sudah di tangan, juga beasiswa pemerintah sampai S1/S2/S3 di mana saja tergantung medali apa yang kamu dapat. untuk nasional juga dapat kualifikasi otomatis ke banyak universitas dalam negeri, dan jadi nilai tambah yg oke banget untuk daftar ke luar negeri 🙂

Kenapa pilih bidang komputer, bukan bidang lain yang lebih wow?

  • masih relatively kurang ‘populer’, jadi kasarnya di tahap awal masih sedikit kompetitornya.
  • agak kurang resourcesnya (sedikit yang bisa ngajar dgn baik, buku yg bisa bener2 mengajari, dkk), jadi ketika kamu bisa persiapan secukupnya, pasti bisa stand out sampai tingkat provinsi-nasional. (pelatnas sudah rada beda)
  • karena kamu nggak perlu jadi orang ‘pintar’ (menurut definisi sekolah) untuk sukses di TOKI. anak2 TOKI banyak yang malas di sekolah tapi logikanya jalan dan memang suka bidang ini. kebanyakan gamer 😀 jadi jangan biarkan orang ngomong kamu nggak bisa masuk TOKI karena nilai matematikamu jelek 😛
  • secara internasional pun, cewek yang bisa programming itu rada jarang (IOI 2009 cuma ada 4 medalis cewek). jadi kalau kamu cewek yang suka dan bisa programming pasti stand out, termasuk dalam admission process ke universitas 🙂

Lebih detil mengenai dunia competitive programming, click di sini(ditulis oleh Bapak Ilham WK, coach kami tercinta :D)

Bagaimana memulai belajar pemrograman?

1. Download Free Pascal

2. Beli/pinjam buku apapun tentang bahasa pemrograman Pascal di toko buku terdekat… menurut pengalaman, buku2 tsb hampir ga ada bedanya.

3. Sign up di website-website Online Judge*, untuk awal :

4. Sambil belajar suatu topik / konsep/sintaks, coba cari2 soal competitive programming sesuai topik tsb & coba buat sampe nyaman makenya 😀 di bagian ‘Programming Tutorial’ ada beberapa link soal2 seperti ini.

5. Kalo kesulitan : tanya! 😛 feel free to ask me through the comments…

kalo kamu tadi baca link Pak Ilham di atas tadi sepenuhnya, skip bagian di bawah ini 😀

Penilaian / Cara memeriksa

menggunakan yang namanya testcase, yaitu input-an yang akan dimasukkan ke program kamu. testcase untuk suatu program ada banyak. kalau output yang dihasilkan sama dengan output juri, dalam batas waktu / time limit yang ditentukan, maka program kamu benar untuk testcase tersebut. Ada beberapa tipe penilaian:

  • A: setiap testcase punya bobot, bobot testcase2 yang benar dijumlahkan untuk mendapatkan nilai program tersebut
  • B: bila ada satu saja testcase yang gagal dijalankan program kamu, nilai program tsb 0. bila semua sukses, 100.

penilaian di informatika dapat dilakukan secara otomatis / terprogram.

Online Judge

USACO (USA Computing Olympiad) dan Z-Trening menggunakan tipe penilaian A. SPOJ dan UVA menggunakan tipe penilaian B. Project Euler hanya memberikan satu buah testcase, sehingga hanya menghasilkan satu buah output yang unik. output ini yang disubmit dan dicocokkan.

Kompetisi (tingkat high school / SMA)

  • Olimpiade

urutan seleksi untuk Olimpiade :

sekolah -> Olimpiade Sains Kotamadya/OSK -> Olimpiade Sains Provinsi/OSP -> (100 peserta) Olimpiade Sains Nasional/OSN -> (30 medalis) Pelatnas I -> (16 peserta) Pelatnas II -> (8 Peserta) Pelatnas III -> (4 Peserta) Pelatnas IV, International Olympiad in Informatics.

untuk OSK dan OSP masih berupa soal-soal teori, OSN ada teori dan praktek, Pelatnas I seterusnya tidak ada teori. Semua peserta Pelatnas I dan seterusnya disebut tergabung dalam Tim Olimpiade Komputer Indonesia. OSN praktek terdiri dari 2 bagian, pemrograman sederhana(sesi 2) dan problem solving (sesi 3).

  • Lomba Swasta

Bina Nusantara Programming Contest for High School (BNPCHS), Kompetisi Pemrograman Universitas Parahyangan, Jogja Informatics Technology Session (JOINTS UGM), Schematics ITS, ILPC Ubaya, lomba2 lain di Maranatha, SMA Gonzaga, SMA Kanisius, IPEKA.

dari pengalaman, secara kualitas soal rasanya yang terbaik adalah BNPCHS, diikuti JOINTS.

  • Online Contest

kontes bulanan USA Computing Olympiad, Croatian Open Competition in Informatics(COCI), Topcoder, kontes di UVA. International Olympiad in Informatics dan Central European Olympiad in Informatics juga ada online contestnya.

hmm apa lagi ya 😕 bingung. suggest apalagi yang ingin kalian tahu ttg competitive programming 😀

Advertisements

18 Responses to Introduction to Competitive Programming

  1. Ryan Leonel says:

    Pembakaran sempurna – Pertamax gan!

  2. Pingback: Kenapa? « Oh Jadi Begitu?

  3. Felik Junvianto says:

    “jadi jangan biarkan orang ngomong kamu nggak bisa masuk TOKI karena nilai matematikamu jelek ”

    Terharu saya sama perkataan cici, klo di sekolah saya selalu diremehkan dan dicemooh, “Mana bisa kamu jadi programmer yang baik klo trigonometri aja ga bisa?”

  4. Penguin says:

    “anak2 TOKI banyak yang malas di sekolah” aku merasa tertusuk saking benarnya 🙂

  5. neta says:

    website online judge yg paling efisien buat belajar itu yg mana y..???

    • Angelina Veni says:

      hampir semua coder pake lebih dari satu online judge, do some here, do some there, etc. kalau emg mau pilih satu, tergantung tujuan akhirnya apa. kalo TOKI/OSN/IOI, USACO. kalo ICPC, UVA Online Judge.

  6. Suka “bolos sekolah”-nya hahahaha…

  7. Deo Cerlova says:

    T.T, hidup TOKI deh
    nyesel masuk akselerasi, soalnya cuma bisa sekali ikut olimpiade,hehehhe

    mohon doanya buat OSN Medan ya 🙂
    GO GET GOLD!

  8. k’ bisa tolongin gak.?
    http://ace.delos.com/usacoprob2?a=ENRtslkeSeD&S=beads
    problem broken necklace yg di USACO online judge. gak ngerti banget. explanation yg di bawahny kok bs yg 11 it.?? tolong jelasin y.?? 🙂

    • Angelina Veni says:

      bayangin wwwbbrwrbrbrrbrbrwrwwrbwrwrrb itu untaian yang sirkular, seperti yg terlihat di penjelasan.

      wwwbbrwrbrbrrbrbrwrwwrbwrwrrb wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
      + – ?

      kamu motong necklacenya di -, antara ‘r’ dan ‘b’, sehingga dari + ke – semuanya r, dari – ke ? semuanya b. total dari + ke ? = 11.

      mudah2an ngerti 😛

  9. Muhammad Adinata says:

    Tambah nih, lomba untuk tingkat SMA/Universitas. ITB-PC. hohoho

  10. Suhendra says:

    cc…
    ane mau nanya dong… website yang isinya ada soal2 pascal apaan ya? trus kalo bisa yang websitenya bisa ngecek jawabannya sekalian…

    mohon petunjuknya ya

  11. The Kesgar says:

    Ada tips nggak buat mengajar adik kelas di SMA belajar Pascal buat OSK/OSP/OSN? Terima kasih.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: