Peraturan

Babak Penyisihan

  1. Perlombaan babak penyisihan akan dibagi menjadi 2 tahap:
    1. Tahap 1: Uji pengetahuan umum dan wawasan tentang pemrograman
      • Format : soal pilihan ganda 50 soal
      • Waktu : 14.30 - 15.30
      • Materi : Wawasan tentang bahasa pemrograman yang digunakan (Pascal, C/C++), Algoritma, Logika Pemrograman, Logika matematika di pemrograman.
    2. Tahap 2: Uji kemampuan pemrograman
      • Format : problem solving 3 soal
      • Waktu : 15.30 - 17.30
      • Materi : Problem solving (algoritma), pemrograman.
      • Pilihan Compiler :
        1. Free Pascal Compiler (FPC) 2.2.2
        2. Borland C++ versi 3.1
        3. DevC++
        4. Java 6
  2. Penilaian peringkat peserta akan digunakan untuk menentukan peserta yang lolos ke babak final dengan ketentuan sebagai berikut:
    1. Jumlah poin tertinggi dari kedua tahap lomba penyisihan (poin akan dijumlahkan)
    2. Dalam konteks poin yang sama, ranking ditentukan berdasarkan "poin waktu" dari penyisihan tahap 1 (soal pilihan ganda)
  3. Ketentuan perlombaan Tahap 1: uji pengetahuan umum dan wawasan tentang pemrograman
    1. Soal dalam bentuk pilihan ganda dengan 5 pilihan jawaban, 'A' sampai 'E'.
    2. Waktu pengerjaan 50 menit untuk 50 soal dengan rata-rata satu menit untuk setiap soalnya.
    3. Server online hanya bekerja selama 60 menit, jangan berhenti di tengah-tengah lomba.
    4. Soal akan dikeluarkan satu per satu.
    5. Peserta yang satu dengan peserta yang lain akan mengerjakan soal yang berbeda atau dalam urutan berbeda dengan bobot yang sama. Soal yang dikeluarkan ke tiap peserta akan dirandom dari komputer.
    6. Untuk setiap jawaban yang benar akan mendapatkan poin 3 (tiga), dan untuk setiap jawaban yang salah atau tidak dijawab mendapat point 0 (nol). Tidak ada pengurangan nilai untuk jawaban yang salah.
    7. Selain penghitungan poin setiap soal akan dihitung juga "poin waktu", berdasarkan sisa waktu pengerjaan.
    8. "Poin waktu" untuk penyisihan tahap ini akan digunakan untuk menentukan rangking seandainya poin akhirnya sama. Untuk penyisihan tahap 2 waktu secara otomatis akan dihitung sebagai penambah poin karena ada tambahan poin sudah secara otomatis untuk waktu pengerjaan yang lebih cepat (lebih jelas lihat dibagian berikutnya).
    9. Waktu mengerjakan dihitung setelah soal diterima.
    10. Sisa waktu pengerjaan akan diakumulasikan untuk waktu soal berikutnya, dengan rumusan : Waktu soal berikutnya = Bonus waktu + 60 detik.
    11. Contoh perhitungan waktu dan poin :

      Peserta A
      Soal keBatas WaktuWaktu Mengerjakan StatusPoinPoin WaktuBonus Waktu
      160 detik30 detikBenar33030 detik
      290 detik75 detikBenar64515 detik
      375 detik75 detikSalah64500 detik
      460 detik45 detikBenar96015 detik

      Peserta B
      Soal keBatas WaktuWaktu Mengerjakan StatusPoinPoin WaktuBonus Waktu
      160 detik45 detikBenar31515 detik
      275 detik19 detikSalah31556 detik
      3116 detik71 detikBenar66045 detik
      4105 detik80 detikBenar98525 detik

  4. Ketentuan perlombaan Tahap 2: dalam uji kemampuan pemrograman
    1. Soal dalam bentuk suatu pemecahan masalah yang dipecahkan dalam pemrograman.
    2. Semua peserta diberi waktu pengerjaan yang sama dan soal yang sama. Waktu online server sama dengan waktu perlombaan, selama 2 jam (120 menit). Tidak ada penambahan waktu untuk yang terlambat melakukan login ke server.
    3. Seluruh soal akan dibagikan sekaligus kepada peserta diawal, dan peserta bebas memilih urutan pengerjaan soal.
    4. Semua soal mempunyai bobot yang sama dalam penilaian. Dan sistem penilaian absolut (hanya dinilai benar atau salah), dan tidak ada sistem penilaian parsial. Jawaban yang dikumpulkan (dikirim) tetapi belum accepted (belum benar), akan mendapat penalty point. Jabawan dinyatakan tidak accepted karena salah.
    5. Jawaban soal, semua data input adalah dari file text/ASCII (nama file input tercantum pada soal), dan semua output (hasil proses) ditulis ke file ASCII (nama file output tercantum pada soal). Tidak diperkenankan meminta input melalui pengetikan keyboard atau menampilkan keluaran ke layar monitor.
    6. Peserta menyiapkan sendiri data test yang diperlukan untuk menguji jawaban atas soal.
    7. Jawaban soal dikirim melalui jaringan. Peserta mengerjakan permintaan soal dalam bentuk program umumnya. Jawaban program yang dianggap benar di copy dan paste dikolom yang disediakan. Jawaban yang dikirimkan adalah coding program (bukan exe hasil compile). Jawaban akan di compile dan di uji oleh dewan juri.
    8. Hasil pemeriksaan juri terhadap jawaban peserta lomba akan segera dikembalikan begitu jawaban tersebut diuji dengan data yang disiapkan oleh dewan juri. Data akan berbeda dengan data sample di soal, tetapi dengan konsep permintaan yang sama. Peserta diijinkan untuk mengirimkan ulang perbaikan untuk jawaban yang salah.
    9. Peserta diharapkan untuk meyakinkan kalau jawaban yang dikirimkan sudah benar, selain adanya penalty, juga faktor peserta yang banyak dapat menyebabkan adanya waktu tunggu untuk jawaban dari dewan juri.
    10. Cara penilaian :
      • Setiap jawaban yang accepted mendapat score 100 poin. (3 soal akan mendapat total sekitar 300 poin, dipengaruhi bonus poin dan penalty poin)
      • Setiap jawaban yang di-submit tetapi tidak accepted, dikenai sanksi penalty score 10. Penalty score ini diperhitungkan pada saat jawaban tersebut accepted (benar), tidak dikurangkan dari poin yang telah didapat dari jawaban benar soal-soal sebelumnya.
      • Berdasarkan waktu penyerahan (pencatatan digunakan jam server), jawaban yang benar akan mendapat bonus poin. Bonus ini berupa 1 poin per 10 menit sisa waktu lomba.
      • Dalam hal penalty poin yang terlalu tinggi (terlalu banyak submit yang tidak accepted), nilai minimal yang diberikan untuk setiap jawaban yang accepted adalah 70 poin.
      • Contoh penghitungan poin
        • Misalnya waktu pengerjaan 120 menit, peserta melakukan submit accepted pada menit ke-23, maka bonus poin adalah (120 - 23) /10 = 9 poin (pembulatan ke bawah)
        • Maka total score untuk jawaban tersebut: 100 + 9 = 109 poin
        • Pada kasus di atas, seandainya sebelumnya jawaban tersebut sudah pernah di-submit 2 kali tetapi tidak accepted, maka poin-nya menjadi 89 poin (setelah dikurangi penalty 20 poin)
        • Kasus yang sama seandainya sudah pernah submit 6 kali tetapi tidak accepted, maka poin-nya menjadi 70 poin (penalty seharusya 60. menjadi 49 poin, tetapi poin minimal adalah 70).
    11. Prosedur pengumpulan jawaban:
      • Jawaban yang dikumpulkan adalah codingnya, yang di paste di kolom yang disediakan untuk jawaban bersangkutan bagi tiap peserta.
      • Peserta bisa langsung mengumpulan jawaban secepatnya begitu program sudah selesai (ingat bonus poin berdasarkan waktu)
      • Jawaban dikumpulkan dengan cara upload menggunakan sistem yang ada, yakinkan anda paham prosedur pengiriman ini sebelum hari lomba.)
      • Juri menguji kebenaran jawaban peserta dengan menggunakan data juri yang berbeda dengan contoh data pada soal, tetapi sesuai dengan ketentuan soal.
      • Hasil koreksi atas jawaban akan diberikan kembali kepada peserta berupa: Accepted, Presentation Error, Compile Error, Wrong Answer, Error, atau Time Limit Exceeded.
        • accepted: jawaban benar.
        • presentation error: format output tidak sesuai dengan permintaan soal.
        • wrong answer: output salah.
        • error: runtime error waktu di-test dengan data juri.
        • time limit exceeded: program tidak berhenti meskipun telah melebihi dari batas waktu proses yang ditentukan.
        • compile error: file yang dikumpul menghasilkan error waktu di compile.
    12. Peserta tidak diijinkan memberikan jawaban kepada peserta lain atau mengirimkan jawaban dari peserta lain. Dalam konteks, Juri menemukan adanya jawaban yang sama antara 2 peserta, Juri akan menganulir soal tersebut untuk kedua peserta.
    13. Selama perlombaan berlangsung peserta diijinkan untuk bertanya kepada juri tentang hal-hal yang tidak jelas melalui sistem yang telah disediakan. Juri tidak akan menjawab untuk pertanyaan yang mengarah ke solusi. Pertanyaan yang jawabannya akan mengarahkan, atau pertanyaan yang tidak dipahami oleh dewan juri, akan dijawab dengan NO COMMENT.

Babak Final

  1. Semua peserta diberi waktu pengerjaan yang sama yaitu 5 jam.
  2. Jumlah soal yang harus dikerjakan adalah 8 (delapan) soal.
  3. Soal yang dikerjakan dalam bahasa Indonesia.
  4. Semua soal mempunyai bobot yang sama dalam penilaian. Setiap jawaban yang dikirimkan akan diuji dan mendapatkan status berupa accepted atau tidak accepted. Jawaban dinilai benar hanya bila mendapatkan status accepted (lihat poin 7 untuk detilnya).
  5. Seluruh soal akan dibagikan sekaligus kepada peserta, dan peserta bebas memilih urutan pengerjaan soal.
  6. Input dibaca dari standard input (keyboard), sedangkan output dikeluarkan ke standard output (layar monitor).
  7. Jawaban soal dikirim melalui jaringan komputer dengan menggunakan sistem yang telah disediakan.
  8. Cara penilaian :
    • Setiap jawaban yang mendapat status accepted mendapat nilai 100 poin.
    • Setiap jawaban yang tidak mendapatkan status accepted akan dikenakan pinalti 20 poin. Pinalti score tersebut hanya diperhitungkan apabila soal tersebut berhasil mendapatkan status accepted.
    • Setiap jawaban yang accepted akan mendapatkan bonus poin sebesar 1 poin per 5 menit sisa waktu lomba. Misalnya:
      • Dalam lomba 5 jam (300 menit), seorang peserta mengirimkan jawaban dan mendapatkan status accepted pada menit ke-22, maka bonus poin untuk peserta tersebut adalah (300 - 22) / 5 = 55 poin (pembulatan ke bawah).
      • Dengan demikian total nilai untuk peserta tersebut adalah: 100 + 55 = 155 poin.
      • Pada kasus di atas, seandainya peserta tersebut pernah mengirimkan jawaban 2 kali dengan status tidak accepted (pada soal yang sama), maka total nilai untuk peserta tersebut adalah: 100 - 40 + 55 = 115 poin.
    • Penentuan peringkat dan juara berdasarkan pada:
      • Jumlah soal yang accepted terbanyak.
      • Jika jumlah soal yang accepted adalah sama, maka ditentukan dari jumlah poin tertinggi.
      • Jika jumlah poinnya adalah sama, maka ditentukan oleh total terkecil dari jumlah menit semua jawaban yang mendapatkan status accepted.
  9. Prosedur pengumpulan jawaban:
    • Jawaban yang dikumpulkan adalah file executable-nya (nama file exe tercantum pada soal)
    • Peserta bisa langsung mengumpulan jawaban secepatnya begitu program sudah selesai (ingat bonus poin berdasarkan waktu)
    • Jawaban dikumpulkan dengan cara upload menggunakan sistem yang ada (pengawas di ruangan akan menerangkan cara upload jawaban).
    • Juri menguji kebenaran jawaban peserta dengan menggunakan data juri yang berbeda dengan contoh data pada soal, tetapi sesuai dengan ketentuan soal.
  10. Hasil koreksi atas jawaban akan diberikan kembali kepada peserta berupa: Accepted,Presentation Error, Wrong Answer, Error, atau Time Limit Exceeded.
    • Accepted: jawaban benar.
    • Presentation Error : Format output tidak sesuai permintaan soal
    • Wrong Answer: output/Jawaban salah, termasuk bila file output terbentuk tetapi tidak ada isinya.
    • Error: runtime error waktu di-test dengan data juri
    • Time Limit Exceeded: program tidak berhenti (terminate) meskipun telah melebihi batas waktu running-time yang ditentukan oleh Juri.
  11. Secara umum kalau dirangkum untuk jawaban juri sbb:
    • Dalam waktu ditentukan: Accepted, Wrong Answer, Presentation Error, Error
    • Lebih dari batas waktu: Time Limit Exceeded
  12. Setiap peserta diperbolehkan untuk melihat score board sementara, yang terdapat dalam ruang lomba.
  13. Score board akan di-freeze pada menit ke-30 menjelang akhir perlombaan.
  14. Peserta diijinkan untuk melihat help dari compiler.
  15. Peserta diijinkan untuk membawa dan menggunakan printed material seperti buku, kamus, listing program (hard copy), dll, yang banyaknya tidak melebihi kapasitas kotak yang disediakan oleh panitia (ukuran kotak P= 29 cm, L= 22 cm, T=24 cm)
  16. Peserta tidak diijinkan untuk:
    • menggangu peserta lain dalam perlombaan
    • berdiskusi atau berbicara dengan peserta lain atau pembimbing.
    • menggunakan data apapun dalam bentuk soft copy.
    • membawa diskette, pen drive atau media penyimpan sejenisnya yang dapat dipergunakan untuk menyimpan data soft copy.
    • membawa dan menggunakan alat elektronik bawaaan sendiri selain yang disiapkan panitia, seperti laptop, palmtop, PDA, handphone, kalkulator, dll. (untuk kalkulator dapat menggunakan yang terdapat pada komputer lomba)
    Peserta yang melanggar ketentuan akan langsung didiskualifikasi.
  17. Selama perlombaan berlangsung peserta diijinkan untuk bertanya kepada juri tentang hal-hal yang tidak jelas melalui sistem yang telah tersedia.
    Jawaban juri akan berupa:
    • Ya
    • Tidak
    • Ya dan Tidak
    • Pertanyaan Tidak Dimengerti
    • Baca Soal yang Teliti
    • No Comment.
    Pertanyaan hendaknya dibuat sedemikian rupa sehingga bisa dijawab dengan "Ya" atau "Tidak". Pertanyaan yang juri tidak layak jawab misalnya mengenai algoritma, akan dijawab dengan "No Comment".