Kata Spiral

Untuk menyambut semakin dekatnya Olimpiade sains Nasional, saya pengen berbagi sedikit solusi soal OSN Komputer. Semoga bisa membantu adik2 sekalian yang hendak berkompetisi di OSN nanti. Kali ini saya mau membahas soal favorit saya, Kata Spiral, soal OSN 2005.

Deskripsi

Suatu sistem sandi menyandikan kalimat yang diberikan dalam bantuk spiral.

Penyusunan tersebut dilakukan membentuk matriks spiral yang dimulai pusat matriks

1 karakter pertama, lalu 1 karakter berikutnya ke kanan, lalu 1 karakter berikutnya ke

bawah, lalu 2 karakter berikutnya ke kiri, lalu 2 karakter berikutnya ke atas, 3 karakter

berikutnya ke kanan, 3 karakter berikutnya ke bawah, dan seterusnya hingga semua

karakter dalam kalimat termasuk dalam spiral. Khususnya, karakter spasi di ganti

dengan “_” (underscore), dan jika ada baris/kolom tersisa setelah karakter terakhir

maka elemen-elemen matriks diisi juga dengan “_” (underscore) tsb. Misalnya

kalimat “Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaikbaiknya

untuk mendapatkan peringkat terbaik.” Dikodekan kedalam matriks sebagai

berikut.

Lanjut membaca

Program Penerjemah Bilangan

Ok, next program, pengeja bilangan.
Kebetulan, dulu temen saya pernah minta tolong dibuatkan program ini untuk tugas kuiahnya, jadi saya tinggal copy-paste :P

Bagaimana caranya membuat program untuk membaca digit angka ini?
Sebeumnya, mari kita analisis masalahnya dulu.
Disediakan bilangan yang tersusun dari m digit angka.
Kita lihat angka ini mulai dari yang paling kanan.
Untuk n>=0 berlaku lemma sebagai berikut :

  1. Digit ke 3n+1 (dari kanan) pasti diikuti kata “ribu”, “juta”, “milyar”, dst
    KECUALI JIKA digit 3n+1 hingga digit 3n+3 bernilai ’0′.
  2. Digit ke 3n+2 pasti diikuti kata “puluh”, KECUALI :
    • digit tersebut ’0′
    • digit ke 3n+2=’1′ dan digit ke 3n+1<>’0′ (karena menghasilkan angkabelasan)
  3. Digit ke 3n+3 pasti dikuti kata “ratus” KECUALI digit tersebut = ’0′
  4. Karakter ’1′ ditulis sebagai “satu” jika berada pada posisi 3n+1. KECUALI pada posisi ke 4 (ribuan), bisa ditulis sebagai “se” (‘seribu’) jika dua digit didepannya (digit 5 dan 6) adalah ’0′. Selain pada posisi itu dan posisi 3n+2, ’1′ ditulis sebagai “se”.
  5. Jika karakter ’1′ menempati posisi 3n+2, maka
    • jika karakter dibelakangnya (3n+1) adalah ’0′ maka kedua digit ditulis sebagai “se”+”puluh”
    • jika karakter dibelakangnya (3n+1) bukan ’0′ maka kedua digit ditulis sebagai “”+”belas”, kemudian ind dan i masing2 dikurangi 1
      yang berarti kedua digit sudah diterjemahkan.
  6. Karakter ’0′ tidak diterjemahkan.

Dari lemma-lemma diatas, terlihat bahwa blok seleksi/ logika akan sangat dominan dalam program ini. Pertama-tama kata-kata untuk menerjemahkan digit angka ini kita simpan dahulu dalam array. Dan untuk memudahan penerjemahan dan indexingnya (yup! kita akan bermain-main dengan index di sini :) ), angka ini kita baca dari yang paling kanan (atau lebih mudahnya, angkanya kita balik!). Oh, iya! Jangan lupa dengan special casenya yah! Hati-hati dengan angka 0 dan 1!

So, here it is listing yang saya buat

var pangkat3:array[0..4] of string=('','ribu ','juta ','milyar ','trilyun ');

    //pangkat3 => kata untuk orde 10^3n

    atrib:array[0..3] of string=('belas ','','puluh ','ratus ');

    //atrib => untuk ratusan, puluhan dan belasan

    angka:array[0..9] of string=('se','satu','dua','tiga',

                                 'empat','lima','enam',

                                 'tujuh','delapan','sembilan');

    //angka => menerjemahkan tiap digit angka

    inp:string;

    //inp => angka yang akan diterjemahkan

    ind:integer;

    //ind => bernilai 1-3 untuk menyatakan digit ke 3n+ind

    //berfungsi menentukan atrib yang akan digunakan

    i,j:integer;

    c:char;

begin

  readln(inp);

  i:=length(inp);

  inp:='0'+inp;            //mengatasi input '0'

  while (inp<>'') and (inp[1]='0') do

    begin

      delete(inp,1,1);

    end;

  if inp='' then

    begin

      writeln('nol');

      halt;

    end;

  i:=length(inp);

  while i mod 3<>0 do      //ditambah '0' sampai panjangnya kelipatan 3

    begin                  //untuk mempermudah penulisan nantinya

      inp:='0'+inp;

      inc(i);

    end;

  ind:=3;

  for j:=1 to i div 2 do   //angka dibalik, biar gampang diproses

    begin

      c:=inp[j];

      inp[j]:=inp[i+1-j];

      inp[i+1-j]:=c;

    end;

  while i<>0 do

    begin

      {angka 1 biasa atau menimbulkan angka belasan?}

      if inp[i]='1' then

        if ind<>2 then

          {pilih "se" atau "satu"?}

          if ((ind=1) and (i<>4)) or

             ((i=4) and ((inp[5]<>'0') or (inp[6]<>'0'))) then

             write(angka[1],' ')

          else

            write(angka[0])

        else

          begin

            {angka belasan dan "sepuluh"}

            if (inp[i-1]='0') then write(angka[0])

            else

              begin

                if inp[i-1]='1' then write(angka[0],atrib[0])

                else

                  begin

                    val(inp[i-1],j);

                    write(angka[j],atrib[0]);

                  end;

                dec(i);

                dec(ind);

              end;

          end

      else

        if inp[i]<>'0' then

          begin

            {angka-angka lainnya}

            val(inp[i],j);

            write(angka[j],' ');

          end;

      {ratus dan puluh}

      if inp[i]<>'0' then write(atrib[ind]);

      {ribu, juta, milyar}

      if (ind=1) and ((inp[i]<>'0') or (inp[i+1]<>'0') or (inp[i+2]<>'0')) then

        write(pangkat3[(i-1) div 3]);

      dec(ind);

      dec(i);

      if ind=0 then ind:=3;

    end;

  writeln;

  readln;

end.

Segitiga Pascal – part II

Karena banyaknya permintaan, saya coba buat coding untuk program Segitiga Pascal dalam  C++. Mohon maaf, untuk

program dalam bahasa JAVA, saya belum bisa buat karena pemahaman OOP saya masih cetek dan lebih-lebih, laptop saya

yang sudah tuwa dan mulai rewel menolak untuk diinstall JDK T_T
Algoritmanya tidak jauh berbeda dengan program sebelumnya dalam bahasa Pascal. Hanya saja, untuk kemudahan, saya

gunakan array 2 dimensi saja. Listingnya sebegai berikut

#include <iostream.h>

int main(){
int n,i,j;
unsigned long long arr[101][101];

cin>>n;
for (i=1;i<=n;i++){
for (j=1;j<i;j++){
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
cout<<arr[i][j]<<’ ‘;
}
arr[i][i]=1;
cout<<arr[i][i]<<’\n’;
}

return 0;
}

Katanya, banyak jalan menuju Roma. Begitu pula dalam pemrograman. banyak algoritma yang bisa diterapkan untuk

menyelesaikan satu masalah. Berikut ini salah satu coding lain untuk membuat Segitiga Pascal. Masih mengunakan

bahasa C++, hanya dengan sedikit sentuhan STL dan trik minimalisasi memori (duuh, kayakya bahasanya ketinggian,

hehehe… :p ). Here they are

#include <iostream.h>
#include <vector.h>

int main(){
int n,i,j,tmp1,tmp2;
vector <unsigned long long> arr;
bool odd;

cin>>n;
arr.push_back(0);
arr.push_back(1);
if (n>=1) cout<<arr[1]<<’\n’;

for (i=2;i<=n;i++){
odd=i%2;
tmp1=0;
for (j=1;j<=i/2;j++){
tmp2=arr[j];
arr[j]=tmp1+arr[j];
tmp1=tmp2;
}

for (j=1;j<=i/2;j++) cout<<arr[j]<<’ ‘;
if (odd) {
arr.push_back(2*tmp1);
cout<<arr[i/2+1]<<’ ‘;
}
for (j=i/2;j>=1;j–) cout<<arr[j]<<’ ‘;
cout<<’\n’;
}
return 0;
}

Kira-kira demikianlah :)
semoga bisa membantu dan semoga tidak ngebug juga :p

IOI 2008: Kabar dari Kairo

Atas doa restu segenap bangsa Indonesia akhirnya Tim Olimpiade Komputer Indonesia berhasil merebut 1 medali emas dan 3 perunggu di International Olympiad on Informatics (IOI) ke 20 di Kairo, Mesir. Penantian yang sangat panjang sejak medali emas pertama sebelumnya yaitu pada IOI ke 9 tahun 1997 di Cape Town, Afrika Selatan, akhirnya berhasil dipersembahkan melalui Irvan Jahja, siswa kelas XII, SMA Aloysius I, Kota Bandung.

Hasil yang manis ini disertai juga oleh 3 medali perunggu yang masing-masing diperoleh ketiga anggota tim lainnya: Aditya Surya Pradhitya, siswa kelas XII SMA Kolese Kanisius, Jakarta Pusat, Risan, siswa kelas XII SMAN I Tanggerang dan Listiarso Wastuargo, ex siswa SMAN III Yogyakarta. Sekedar catatan bahwa untuk IOI setiap negara hanya boleh diwakili paling banyak oleh 4 siswa dan masing-masing maksimum mendapatkan satu medali dari sekian banyak medali yang disediakan.

Ini menjadi kado dari Tim Olimpiade Indonesia untuk hari ulang tahun Kemerdekaan Bangsa dan Negara Kesatuan Republik Indonesia yang peringatannya baru berlalu beberapa hari yang lalu.

Perolehan ini menjadi prestasi terbaik yang pernah dicapai oleh tim Olimpiade Komputer Indonesia selama 14 kali mengikuti IOI. Sebagai bandingannya, prestasi terbaik sebelumnya adalah 11 tahun yang lalu dimana Indonesia mendapatkan 1 emas dan 1 perunggu, Jika dihitung jumlah medali, tahun ini mengulangi tahun lalu saat keempat peserta masing-masing berhasil memperoleh medali perunggu bahkan melebihi dengan kualitas medali yang diperoleh. Dengan hasil ini, kiprah Indonesia di olimpide Komputer dunia telah mengkoleksi 2 emas, 9 perak dan 15 perunggu.

Absolute Winner diraih oleh siswa dari China. Sementara dari 24 medali emas yang diperebutkan China dan Polandia masing-masing berhasil menyabet 3 medali emas, AS, Rusia, Taiwan dan Thailand masing-masing memperoleh 2 medali emas. Indonesia bersama dengan 8 negara lainnya (Jepang, Kanada, Australia, dan sejumlah nagara Eropa Timur) mendapatkan masing-masing 1 medali emas. Jadi, Indonesia tahun ini masuk sebagai salah satu dari hanya 14 negara pemenang medali emas, berarti pula berada dalam peringkat 14 besar jika ditinjau dari jumlah medali emas dari 77 negara yang ikut olimpiade informatika ini.

Sebagai bandingan dengan negara lainnya, banyak negara yang sebelumnya adalah pelanggan medali emas, kali ini terpaksa hanya mendapatkan beberapa medali perak atau bahkan perunggu saja atau malahan tidak mendapatkan satu medali pun. Inggris, Bulgaria, Hongaria, Ceko, Belanda, Swedia dan Singapura mendapatkan beberapa medali perak. Negara seperti Jerman, Finlandia, Perancis, Spanyol, Denmark, dan Austria hanya mendapatkan beberapa perunggu saja. Bahkan negara maju seperti Portugal dan Irlandia tidak mendapatkan satu medali pun.

Perjuangan tim Indonesia tidaklah mudah. Soal-soal yang diberikan memiliki tingkat kesulitan yang sangat tinggi. Beberapa soal bahkan memerlukan kemampuan analitis seorang mahasiswa S2 dalam memecahkan persoalan yang diberikan. Sebagaimana yang sering dijelaskan, pertandingan tingkat IOI sudah tidak lagi mempersoalkan ketrampilan pemrograman, melainkan ketajaman analitikal dalam memecahkan persoalan. Setelah persoalan dipecahkan, berikutnya mencari metoda dan pendekatan yang paling tepat dan paling efisien agar ketika solusinya diterjemahkan menjadi program maka program yang dihasilkan memiliki ketepatan dan kecepatan yang setinggi-tingginya. Kesalahan kecil berakibat fatal. Ketidak efisienan menghasilkan berkurangnya nilai yang diperoleh. Program yang benar saja untuk menjawab persoalan yang diberikan paling hanya memperoleh nilai 15 angka. Semua itu harus dikerjakan dalam rentang waktu yang sangat singkat (3 soal dalam 5 jam per harinya).

Irvan yang juga adalah pemenang medali emasi APIO (Olimpiade Komputer tingkat Asia Pasific) 2008, di hari pertama melakukan kesalahan kecil saja tetapi berakibat fatal sehingga hasilnya yang paling kecil di antara peserta kita, yaitu 126 dari nilai maksimal 300. Sempat juga ia terpukul mentalnya akibat kesalahan tersebut, tetapi syukurlah pada hari yang kedua ia bangkit dan memperoleh nilai 235 dari nilai maksimal 300, yaitu saat peserta lainnya yang giliran nilainya jatuh, menjadi total 365. Dengan demikian, ia berhasil mengejar ketinggalan dari sejumlah peserta untuk masuk kategori emas. Sementara para pemenang emas lainnya adalah mereka yang memperoleh nilai cukup baik di dua hari pertandingan tersebut..

Reinardus Surya Pradithya, Risan dan Listiaso masing-masing memperoleh perunggu kerena tidak berhasil mencapai batas nilai perak yaitu 230 sementara mereka masing-masing adalah 213, 184 dan 153. Sekedar catatan, nilai yang diperoleh Reinardus Surya Pradhitya berselisih 17 angka dari batas nilai perak.

Atas apa yang telah diperoleh ini, perlu kami menyampaikan penghargaan kami ke berbagai pihak. Selama di Kairo pihak KBRI sangat memperhatikan keberadaan rombongan dan standby apabila sewaktu-waktu rombongan memerlukan bantuan. Bapak Duta Besar sempat memberikan wejangan yang membangkitkan motivasi terutama keempat siswa kita. Dengan semua dukungan ini cukup melegakan bagi rombongan selama mengikuti pertandingan karena cuaca panas (sekitar 380 C di siang hari) dan makanan yang tentu tidak sama dengan di tanah air.

Tak kalah dukungannya adalah dari rekan-rekan Direktorat SMA di tanah air yang hampir setiap hari menghubungi rombongan untuk mengetahui perkembangan yang terjadi. Begitu juga halnya para rekan-rekan pembina lainnya tidak ikut ke Kairo. Usaha, tenaga, perhatian dan dukungan termasuk doa yang telah diberikan selama ini baik mulai dari tingkat seleksi paling awal hingga rankaian pelatnas yang dilalui, hingga keberadaan di Kairo ternyata telah berbuahkan hasil yang cukup membanggakan. Di antaranya juga, para alumni TOKI yang sangat penting partisipasinya baik langsung maupun tidak langsung dalam mengasah ketajaman analsis para adik-adiknya ini. Para peserta seleksi 2007-2008 yang tidak lolos secara tidak langsung juga berperanan bagi keberhasilan ini. Persaingan yang ketat saat di OSN, dan serangkaian pelatnas terutama pelatnas III yang “jauh lebih sengit” lagi persaingannya telah membentuk mental bertanding keempat anggota TOKI 2008 ini.

Dilain pihak, berkaca dari negara-negara yang lebih baik prestasinya, rasanya kita masih perlu meningkatkan keseriusan dalam hal ini. Pembinaan yang dilakukan lebih untuk memoles dan mempersiapkan siswa tetapi hasil yang diperoleh tetap lah sangat bergantung potensi siswa yang bersangkutan. Jika keberhasilan kali ini karena berhasil menjaring siswa berpotensi seperti Irvan cs., maka di masa depan harusnya lebih banyak lagi siswa potensial demikian bisa direkrut untuk dibina. Mereka pastinya cukup banyak tersebar di seantero tanah air, namun banyak kendala baik dari sekolah, birokrat dinas pendidikan setempat, maupun keterbatasan pusat sehingga mereka tidak muncul kepermukaan. Seandainya semua pihak melihat hal ini sebagai kepentingan nasional, bukannya sebagai kepentingan yang sempit, rasanya kita tidak akan kalah dari Thailand bahkan dari China, AS dan Rusia sekalipun.

Semoga ini menjadi motivasi bagi para siswa kita di tanah air untuk berdiri tegak menghadapi tantangan masa depan mereka sendiri. Prestasi ini telah membuktikan bahwa kita memiliki kemampuan yang tidak kalah dari bangsa lain selama kita mau belajar tekun dengan tekad yang kuat. Tidak bisa dipungkiri lagi bahwa masa depan penuh tantangan dan keberhasilan kita sangatlah ditentukan oleh keuletan untuk menguasai ilmu dan teknologi khususnya teknologi informasi dan ilmu komputer.

Salam dari Kairo.
22 Agustus 2008

  • Suryana Setiawan (Delegation Leader)
  • Adi Mulyanto (Deputy Leader)
  • Julio Adisantoso (Pembina)
  • Ilham W Kurnia (Pembina)
  • Irvan Jahja
  • Reinardus S Pradhitya
  • Risan
  • Listiarso Wastuargo

(diutip dari toki.or.id)

Wow!!

Great Achievement!

Akhirnya pecah telur nih, 10 tahun tanpa emas. Plus, semua pulang bawa medali ^o^

Nice job Bro! You did good!

Selamat..selamat..selamat..

Selamat dan terima kasih juga kepada semua pembina dan alumni TOKI yang telah guyub rukun menggojlok TOKI 2008 ini.

Semoga prestasi ini dapat terus dipertahankan, atau bahkan ditingkatkan ditahun-tahun yang akan datang.

Amiiin!!!

Standing Applause for TOKI!! :)

And Indonesia Represented by…..

Berikut adalah hasil final PELATNAS 3 (Tim Olimpiade Komputer Indonesia) TOKI 2008 yang telah dilaksanakan di Fakultas Ilmu Komputer Universitas Indonesia pada tanggal 5-17 Mei 2008 yang lalu. Pada kesempatan PELATNAS 3 tersebut, para peserta pun sempat mengikuti dan meraih prestasi pada ajang APIO 2008 (baca : [tokinet] Siswa Indonesia Raih Medali Emas di Ajang Olimpiade Informatika Asia Pasifik 2008 (APIO 2008))
Empat siswa terbaik pada PELATNAS 3 ini tentunya akan mewakili Indonesia pada ajang International Olympiad in Informatics (IOI) yang akan diadakan di Mesir pada tanggal 16-24 Agustus 2008 nanti.

ID NAMA ASAL SEKOLAH POIN (maks 33600) NILAI (maks 100)
P080301b IRVAN JAHJA SMA ST. ALOYSIUS 1 BANDUNG 22072 65.69
P080303b REINARDUS SURYA PRADHITYA SMA KANISIUS JAKARTA 15185.67 45.2
P080302b RISAN SMAN 1 TANGERANG 14340.78 42.68
P080307b LISTIARSO WASTUARGO SMAN 3 YOGYAKARTA 13934.23 41.47
P080305b RICKY WINATA SMA XAVERIUS 1 JAMBI 13038.77 38.81
P080304b GREGORIUS RONNY KALUGE SMA KOLESE SANTO YUSUP MALANG 12262.01 36.49
P080311b ANGELINA VENI JOHANNA SMAK 1 BPK PENABUR JAKARTA 9636.78 28.68
P080308b SAMBYA ARYASA SMAK 1 BPK PENABUR JAKARTA 9121.97 27.15
P080306b YUDI UMAR SMA SUTOMO 1 MEDAN 6346.19 18.89

Selamat kepada empat besar terpilih. Semoga prestasi kalian tidak berhenti sampai PELATNAS 3 ini saja, melainkan juga pada IOI 2008 dan ajang-ajang berikutnya. Bagi yang belum berkesempatan untuk menjadi empat besar pada PELATNAS 3 ini, usaha kalian sudah baik hingga mencapai PELATNAS 3, kesuksesan TOKI pada IOI 2008 pun tidak akan luput dari usaha kalian yang telah memberikan kompetisi yang baik dan tidak mudah untuk empat besar terpilih. Bagi siswa/i di seluruh Indonesia yang sedang mempersiapkan OSN 2008, semoga berita ini menjadi penyemangat. Bisa jadi kalian yang menjadi salah satu dari empat siswa siswa/i terbaik milik Indonesia untuk IOI berikutnya!
Go Get Gold! Viva TOKI!

(dikutip dari toki.microbrainx.net)

Vector di C++. Array dinamis di Pascal???

Beberapa hari yang lalu, tumben lagi semangat coding. Mulai buka2 deh tutorial STL untuk C++. Kenapa STL? Karena konon katanya, STL C++ tuh isinya banyak tentang struktur data baru dan sintaks2 aneh lainnya. Bayangin aja, prosedur quicksort yang kalo koding di pascal bisa beberapa baris (rawan bug pula), bisa diselesaikan pake STL dengan hanya 1 baris sintaks, qsort().

Cukup sebel juga awalnya, kenapa di pascal kok gak bisa yah? Karena itu, terpaculah saya belajar STL. Yang pertama aku baca yaitu tentang vector. Vector nih bisa dibilang evolusinya array, atau aku sebut saja smart array. Kenapa? Antara lain, sifatnya sangat dinamis. vector ini bisa berkembang dan menyusut sewaktu-waktu dengan sintaks(atau mungkin lebih tepat disebut member, karena sepertinya vector itu sejenis class) yang simple. Sebut saja push_back(), yaitu menambahkan elemen baru sebagai elemen terakhir di vector, atau pop_back() yaitu menghapus/ memotong elemen terakhir dari vector. Dengan ini, kita bisa dengan mudah membuat dan mengolah struktur data , misal stack, tanpa harus repot memikirkan ukuran array. suatu vector juga dapat melaporkan ukurannya, yaitu dengan sintaks size(). Selain itu, masih banyak lagi member-member vector yang sangat amat berguna.

Dan ketika sedang terkagum-kagum dengan vector, esok harinya tiba-tiba Pak Janoe menjelaskan tentang deklarasi array dinamis di Pascal (????????).
Hah? ada ya?
Memang sih, cuma ada di beberapa compiler, Free Pascal misalnya. Tapi itu itu sudah cukup membuat saya shock. Deklarasinya mirip deklarasi array pada umumnya. Bedanya, ukuran array tidak ditentukan di awal, seperti ini :

var arr:array of integer;

Nah lo, ukurannya gimana? Ukuran array tersebut kemudian kita tentukan dengan sintaks
setlength(nama_array,ukuran);
Array dinamis ini pun bisa mengembang dan menyusut sewaktu-waktu, tentunya dengan menggunakan sintaks setlength beberapa kali. Bahkan, ketika arraynya kita perbesar, data yang kita masukkan sebelumnya tidak hilang!!

AArrgh!! Meringis hatiku! Coba aku tahu tentang array ini 2 tahun yang lalu! T_T

Pengalaman Jadi Asisen TOKI

Selama 2 minggu lebih, aku jadi asisten Pelatnas II TOKI yang baru tahun ini, dicoba dilaksanakan di kampusku, UGM. Awalnya kupikir mudah, ternyata capek banget. 2 minggu lebih aku nemenin peserta selama pelatihan. Nyiapkan soal (masang tok sih, bukan bikin), set grader, rekap nilai dan masih banyak yang lain. Kadang-kadang buat nyiapin latihan aja, sampai jam 9 di Lab. Bayangin aja, berangkat jam 7 pagi, pulang rumah jam 9 malem. “Dah kaya orang kerja aja, tinggal nikahnya aja yang blom”, kata temen sekontrakanku :D . Banyak matakuliahku yang terpaksa harus bolos untuk nepatin jadwal jaga asisten dan nyelesaikan tugas. Apesnya, ban motor sampai harus diganti 2 kali bulan ini. Belum lagi kalau ternyata ada salah cetak, salah testcase, soal belum dikirim dari pusat, nyariin soal tambahan, dan yang parah kalo tiba-tiba peserta tanya deskripsi soal dan aku nggak bisa jawab gara-gara belum baca soalnya. Gawat deh pokoknya.
Tapi walau capek, ternyata seru juga. Mungkin lebih seru dari pada waktu aku jadi peserta tahun lalu. Lewat pelatnas ini aku jadi kenal banyak orang lebih dekat. Mulai dari Dosen, peserta pelatnas, asisten-asisten lain dan masih banyak lagi yang lain. Pengeluaran bulanan juga bisa ngirit banget, makan siang dan malem bisa ngambil dari lebihannya jatah peserta :p. Akses internet jor-joran ampe gak kuat, pingin muntah rasanya. Dan malem minggu, ikutan jalan-jalan deh, nemenin anak-anak ke sekatenan dan Ambarrukmo. Asik deh pokoknya.
After all, sekarang aku ngerti gimana repot dan capeknya jadi asisten pelatnas. Gimana dulusi Roberto nyiapin soal buat pelatnasku. Untungnya, aku disupport banyak orang disekitarku. Thanks to Mas Wahyono yang dah mau repot nyariin soal dan set grader harian. To Brian Marshal, Prima Ch, Adrian KP dan alumni TOKI lain yang banyak banget kontribusi soal untuk pelatnas ini(Pelatnas gak bakal jalan tanpa kalian). Para Dosen yang telah banyak memberi materi. Bu Inge, Pak Adi, Bu Fazath yang sudah jauh-jauh menyempatkan diri datang ke Jogja untuk membimbing peserta. Roberto dan Kevin yang juga banyak banget bantu. Thanks a lot to Bang Afif yang kebagian desain booklet dan rencana jalan-jalan (Maaf ya Bang, laptop saya rewel). Mas Aaron dan Ardian yang dah banyak bantu dan ngejagain selama Pelatnas. Dan tidak lupa Mbak Hanna dan Fristi sang bendahara. Semoga kerjasama ini dapat berlangsung terus kedepan. Dan semoga, UGM bisa menyelenggarakan pelatnas lagi tahun depan (tentunya saya ikut lagi jadi asisten lagi :P ).

Pelatihan Nasional II TOKI Selesai

Setelah 17 hari lamanya ke enam belas peserta Pelatnas II TOKI menjalani pelatihan, akhirnya Pelatnas ditutup kemarin pada tanggal 20 Maret 2008. Pelatnas ditutup secara resmi oleh Dekan Fakultas MIPA Universitas Gadjah Mada. Acara penutupan dihadiri juga oleh Bapak Nurrokhman selaku ketua penyelenggara Pelatnas II TOKI dan Bapak Adi Mulyanto sebagai perwakilan dari TOKI Biro ITB.
Selama menjalani masa pelatihan di kampus UGM, para peserta dibekali berbagai pengetahuan tentang algoritma dan teknik problem solving seperti Dynamic Programming, Greedy Aproach, Matematika Diskrit, dsb. Para peserta juga diasah kemampuannya dalam problem solving melalui soal-soal latihan yang telah disiapkan oleh para Dosen, Asisten dan terutama para Alumni TOKI yang telah banyak berpengalaman dibidang ini. Selain sesi latihan, peserta juga diikutkan dalam USACO March Contest yang diselenggarakan oleh USA Computing Olympiad Team sebagai persiapan dan latihan tambahan. Dan sebagai puncak latihan diadakan simulasi IOI pada hari senin dan rabu, 17 dan 19 Maret sebagai seleksi utama dalam menyaring 8 orang terbaik dari ke enambelas peserta menuju ke tingkat berikutnya, yaitu Pelatnas III TOKI yang rencananya akan diselenggarakan di Universitas Indonesia pada awal Mei nanti, bertepatan dengan penyelenggaraan Asia Pacific Informatic Olympiad 2008.
Selain berlatih materi, guna mengembangkan motivasi, para peserta juga dibimbing dalam Achievement Motivation Training. Dan untuk melepaskan kejenuhan peserta, pada setiap akhir pekan, mereka diajak untuk berlibur ke beberapa tempat di Joga seperti Malioboro, Sekatenan dan Ambarukmo Plaza.
Dari akumulasi nilai latihan, USACO Contest, Simulasi 1 dan 2 serta setelah melalui berbagai pertimbangan oleh para pembimbing, diperoleh peringkat peserta dengan nilai akumulasi masing2 sebagai berikut :

|ID    |NAMA    |Total Nilai|
P080201    IRVAN JAHJA    6541.54
P080203    RISAN    5677.97
P080207    REINARDUS SURYA PRADHITYA    5573.63
P080217    RONNY KALUGE    4937.54
P080202    RICKY WINATA    4355.74
P080211    YUDI UMAR    4074.49
P080214    LISTIARSO WASTUARGO    4058.97
P080204    SAMBYA ARYASA S    3998.13
P080210    JAMES EDWARD THEDJA    3761.96
P080216    AMAL SYAHREZA    3509.74
P080208    MUHAMMAD IRFAN AF    3428.21
P080205    ANGELINA VENI JOHANNA    3281.99
P080213    BAGAS ADI WICAKSONO    3253.79
P080212    CHRISTOPHER HENRY PRIYONO    2780.08
P080215    YUDA WIRAHADHI    2065.05
P080209    JANSON HENDRYLI    1284.91
P080206    GERRY YULIAN    0
P080218    KAVIN YUDHITA    0

Selamat kepada peserta yang telah berhasil lolos ke Pelatnas III TOKI. Bagi peserta yang gagal melanjutkan ke Pelatnas III, saya harap tidak berkecil hati. Karena semua peserta adalah pemenang, semua mendapatkan ilmu dan pengalaman yang berharga. Dan sampai ke Pelatnas II merupakan suatu prestasi yang patut dibanggakan. Kedepan, masih banyak kesempatan lain yang dapat diraih, terutama bagi yang masih duduk di kelas X dan XI masih bisa mengikuti pelatnas di tahun depan. Sedangkan yang akan masuk bangku kuliah, masih ada contest lain seperti ACM ICPC, Google Summer Code, Imagine Cup, dan masih banyak yang lain yang menunggu anda. Tetap semangat!

UNIVERSITAS GADJAH MADA JADI TUAN RUMAH PELATNAS II

Program Studi Ilmu Komputer, Universitas Gadjah Mada, Yogyakarta akan menjadi tuan rumah pelaksanaan Pelatnas II TOKI 2008 yang dijadwalkan akan berlangsung pada tanggal 3 s.d 20 Maret 2008. 18 Siswa berhak mengikuti pelatnas kali ini yang terdiri dari 16 siswa hasil seleksi 30 besar TOKI 2008 di ITB tahun lalu, ditambah dengan 2 siswa veteran seleksi TOKI tahun lalu.

Pelatnas akan diselenggarakan di Gedung Program Studi Ilmu Komputer UGM, FMIPA Selatan, Sekip Unit III, Yogyakarta. Sedangkan penginapan untuk para siswa akan disediakan di PPPG Matematika, di Jalan Kaliurang KM. 5 Yogyakarta. Selain meengikuti pembinaan, kedelapan belas siswa ini pada akhir periode pelatnas akan bertarung satu sama lain dalam sebuah ujian seleksi untuk mendapatkan 8 siswa terbaik yang akan mengikuti proses pembinaan dan seleksi selanjutnya, hingga nantinya akan terpilih 4 siswa terbaik yang akan mewakili Indonesia dalam ajang IOI ke-20 yang akan diselenggarakan di kota Kairo, Mesir pada tanggal 16-23 Agustus 2008.

Sejak tahun 1995, secara rutin Indonesia selalu mengikuti kegiatan IOI ini (kecuali tahun 2003). Pada tahun 2007 ketika IOI diselenggarakan di kota Zagreb, Kroasia, siswa-siswa Indonesia yang terdiri dari Brian Marshal, Ricky Jeremiah, Karol Danutama dan Riza Oktavian Nugraha Suminta berhasil menggondol 4 medali perunggu.

Delapan belas siswa yang diundang dalam Pelatnas II tersebut adalah :

1. Irvan Jahja, SMA St.Aloysius 1 Bandung
2. Ricky Winata, SMA Xaverius 1 Jambi
3. Risan, SMAN 1 Tangerang
4. Sambya Aryasa S, SMAK 1 BPK Penabur Jakarta
5. Angelina Veni Johanna, SMAK 1 BPK Penabur Jakarta
6. Reinardus Surya Pradhitya, SMA Kanisius Jakarta
7. Gerry Yulian, SMAN 3 Yogyakarta
8. Muhammad Irfan AF, SMAN 1 Pamulang
9. Janson Hendryli, SMA Xaverius 1 Jambi
10. James Edward Thedja, IPEKA Intnl Christian High School
11. Yudi Umar, SMA Sutomo 1 Medan
12. Christopher Henry Priyono, SMA Kanisius Jakarta
13. Bagas Adi Wicaksono, SMAN 1 Pati
14. Listiarso Wastuargo, SMAN 3 Yogyakarta
15. Yuda Wirahadhi, SMA Dian Harapan Makassar
16. Amal Syahreza, SMA Sutomo 1 Medan
17. Kavin Yudhita, SMA Kanisius Jakarta
18. Ronny Kaluge, SMA Kolese Santo Yusup Malang

Informasi ini berfungsi juga sebagai undangan bagi ke-delapanbelas siswa tersebut, kepada yang bersangkutan harap dapat segera memberikan konfirmasi kehadirannya kepada Bpk. Nurrokhman melalui email di nurrokhman@ugm.ac.id sebelum tanggal 25 Februari 2008.
Demikian informasi ini kami sampaikan, atas perhatiannya kami ucapkan terima kasih

Jakarta, 18 Februari 2008
Fauzan Joko
TOKI

Hasil Olimpiade Sains Mahasiswa

Akhirnya, 13 Desember kemarin pengumuman resmi juara Olimpiade Sain Mahasiswa Yogyakarta keluar. Alhamdulillah dapet juara 1. Secara umum, perolehan juara di setiap bidang tampak didominasi oleh mahasiswa-mahasiswa UGM
Di bidang komputer sendiri pemenangnya adalah sebagai beriut :
1. Riza Oktavian, Ilmu Komuter UGM
2. Anugrah Galang P, Teknik Elektro UGM
3. Okie Primatyo, Teknik Elektro UGM

Yang menarik bagi saya, 2 teman sekontrakan saya yang juga mengikuti Olimpiade Sains Mahasiswa juga meraih juara di bidangnya masing-masing yaitu I Wayan Samayoga (Kedokteran Umum UGM), juara 3 bid Kimia dan Fajar Sofyantoro(Biologi UGM), juara 1 bid Biologi (perlu selametan se kontrakan nih ^_^).

Selamat kepada semua juara, semoga prestasi ini dapat menjadi pemacu untuk dapat berprestasi lebih tinggi di kemudian hari.