2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 5,200 times in 2011. If it were a NYC subway train, it would take about 4 trips to carry that many people.

Click here to see the complete report.

Behind the scene INC 2011

Tahun ini gua berpartisipasi dalam INC 2011, bukan sebagai peserta lagi, tapi sebagai judge/problem setter.

Karena ketua juri lagi di negeri seberang, mengaku menutut ilmu, gua kebagian in charge untuk babak penyisihan. Juri sedikit kewalahan untuk babak penyisihan dikarenakan banyaknya submission. Buat yang belom tau, cara judging saat penyisihan itu. Peserta submit lewat web, “submitter” download dari web, submit ke pc2, juri judge pake pc2 :-) makanya lama, soalnya jumlah kliknya banyak banget sebelom ampe ke tempat juri, perlu disubmit oleh submitter. Submitter untuk babak penyisihan sendiri sekitar 10 orang, dan juri, cukup sekitar 4 orang karena judging dengan pc2 sangat cepat.

H-2 Menjelang Final

Hari senin sehabis penyisihan, gua memutuskan mudik ke kampung di pulau seberang karena tidak tahan dengan kerasnya kehidupan Ibukota Jakarta :( dan gua baru kembali ke Jakarta jumat malam. Ketika online di YM, bos juri yang rese minta gua ke binus buat test time limit, geez. Gua juga males kalo mesti sore ke binus, su beralasan ga bisa ke binus untuk ngetes karena lab software dipake pada saat siang hari, dan sore hari dia mo pergi.  Gua langsung kontak panitia di binus melalui email, kasih tau kalo besok mau ngecek time limit, dan langsung tidur karena masih cape.

H-1

Bangun pagi dan ga ada balesan atas email gua. Akhirnya berinisiatif menculik winardi untuk ngomong ke SiapapunDiLab agar diijinkan masuk. Ketika gua, winardi dan albet jalan ke Binus, tampak seseorang yang “Katanya Ga Bisa Ke Binus Karena Mau Pergi” sedang menyebrang jalan -.-  *hiaattttt keluarin tendangan tanpa bayangan

Final

Gua dateng pagi ke binus, sedikit terheran kenapa macet. Ternyata di binus sedang ada beberapa acara lain di samping INC. Parkiran motor yang biasanya gratis kalo hari minggu ga ad acara, hari ini mesti bayar sesuai tarif hari biasa. Untung saya masih punya kartu mahasiswa, jadi cukup 1000 / hari :-)

Dateng ke ruang juri, gua mulai bagiin soal untuk practice session karena lom ada lagi yang bisa dilakukan saat ini. Sekalian foto foto sedikit, hari ini saya bertekad jadi tukang poto aja  :-) Kelar bagiin soal practice, terdengar kabar bahwa soal ketinggalan di ruang jurusan di syahdan dan lagi diambil ama Muhsin. Beberapa menit kemudian terdengar kabar, pintu jurusan ga bisa dibuka karena ga ada orang, dan building management (BM) syahdan lagi enggak ada *jeger*. Gua ikut Su yang udah mau ngeprint semua soal lagi, ampe basement Su coba ke BM anggrek dan ternyata lagi dikunci, orangnya keluar semua. Untungnya bisa ditelp dan katanya pintu jurusan udah berhasil dibuka *fiuh*

*terima kasih kepada saudara Muhsin atas perjuangannya, kontes ini tak akan berlangsung tanpa engkau..

Kembali ke lantai 8 dan mulai technical briefing, ngomongin macem macem tentang kontesnya dari sisi teknis. Disini gua sempet jadi pajangan di depan, enggak jelas buat apa -.- Kelar briefing langsung ke ruangan peserta untuk cek tim notebook. Cuma ada 1 tim yang notebooknya bermasalah, dan yang gua ga expect, itu tim binus >.<

Practice session dimulai, gua ga ikutan judging ama sekali. Gua mondar mandir di ruang peserta, liat liat ada yang bermasalah ato enggak, ngobrol ngobrol dikit sama tim yang kenal, jawabin pertanyaan peserta, dll. Ada yang tanya, kok applet javanya ga keluar? *bingung* karena ini mestinya bagian sistem, karena saya baik hati, saya coba jawab. tapi ternyata solusi gua ga membantu LOL **kabur**. Sampai ke salah satu ruangan, ga ada pertanyaan, ketika gua udah mau pindah ke ruang laen, SiBajuIjoAnehDanTidakGanteng angkat tangan mau tanya, sebelom dia keluarin pertanyaan, gua kacangin kabur ke ruang sebelah :D

Countdown final kontes mulai berjalan, gua masih mondar mandir di ruang peserta. Kira kira tinggal 5 menit, su masuk ruangan, kontes dipending ada masalah. Ternyata, server pc^2 crash **jeger** padahal lom dipake sama sekali, baru upload testcase dan login juri. Kesalahan ditimpakan kepada testcase problem setter yang sinting, total input output untuk semua soal mencapai 50mb (karena ukuran output file yang besar, *salah satunya soal gua, apa cuma soal gua ya?*, maka diputuskan pake pc^2 9.2 beta yang bisa atur output limit) dan juga ukuran RAM pada server yang hanya 2gb (desktop gua aja 4gb).

Setelah berhasil direstart dan tambah max memory untuk jvm,  semua peserta diminta login ke sistem, hasilnya memory jvm bengkak jadi 1.2 gb, padahal udah di set maximum 1.5gb. Juri yakin, akan matot lagi ini pc^2 kalo dipake. Surya cek memory dan server, gua mikir kenapa ini terjadi, dan suhendry ngomel ngomel. Akhirnya diputuskan, deploy 1 pc^2 lagi untuk judging soal yang input nya gede yaitu A,C,D,E. Ketika gua selesai deploy 1 pc^2 lagi (sebut server 2) dan suhendry udah beresin di server 1, kontes langsung start karena udah molor cukup lama dari jadwal. Jadi, untuk soal A,C,D,E yang disubmit peserta ke server 1, akan di re-submit ke server 2 baru di judge :-) **ini termasuk distributed computing ga ya? :p* *

kanan : server 2 dengan task manager untuk memantau memory JVM| kiri : judge server 1 dan judge server 2

Akhirnya kontes bisa berjalan. Kontes kali ini berjalan cukup pelan, rasanya total submission ratenya ga sampe 2 / menit. Biasanya juri diserbu saat awal dengan submission untuk soal easy / bonus, tapi kali ini submission tetep lambat. Juri udah bosen, suhendry udah tidur, ada yang maen maen, ada yang browsing, ngobrol ngobrol. dan gua kembali ke ruang peserta moto – moto :-)

Tim dongskar attack soal E di saat awal, padahal ini bukan soal yang mudah. Hal ini sepertinya membuat beberapa tim laen mengikuti jejaknya -.-

Pelajaran hari ini : ga semua tim perlu diikutin, terutama yang ga waras macam ini

Pertandingan cukup sadis ketika rank 1 udah solve 6, padahal rank 2 baru solve 3, 2x lipat. Gimana tim tuan rumah? Tim no 1 tuan rumah sempat terdepak ke posisi 4. Saat di posisi 4, bos lab computing udah stres, dia masuk ruangan juri dan bilang “mati dah, dicincang gua”. Untungnya mereka mengamuk di saat freeze, langsung accepted 3 soal :-) awesome guys!!

tarian kemenangan dari artis jurusan

Ditengah pertandingan yang berjalan lambat, Su kembali tidur, di berbagai tempat dan dengan berbagai gaya.

submission ga di judge

pindah tempat dan ganti gaya

Gua berusaha motoin semua tim yang sedang bertanding. Tapi apa daya beberapa tim berada di tempat yang susah untuk difoto karena terlalu jauh dan gua ga mau ganggu peserta lain cuma karena untuk foto. Jadi yang fotonya ga ada di album, sori anda berada di posisi yang kurang baik.

Di akhir pertandingan, peserta mem-”bom” juri dengan submission. Beberapa submission sih tergolong spam. Ada tim yang ngespam dengan submit 1 source code ke semua soal. Beberapa submission pertama sih gua run, berikutnya cuma view source, langsung reply Wrong answer >:)

spammer!

Btw gua penasaran, butuh berapa menit untuk bikin pattern diatas?

Random Facts

  • Balon bewarna biru tua cuma ada 1 buah, di assign ke soal paling susah, untung ga ada yang solve
Balon keramat yang cuma ada 1 
  •  Solusi soal E awalnya dibuat 1/2 oleh Suhendry, dan 1/2 lagi oleh gua :-) Tepatnya gua buat bagian suffix arraynya, sisanya Su yang beresin. Gua ga tau dia buat apa, dan dia ga tau gua buat apa. This is what we called teamwork *high five Su*
  • Ada panitia yang komplain ke gua, katanya SiBajuIjoAnehDanTidakGanteng nyolot waktu dikasih tau. LOL

Anyway, congratz buat yang menang :-) dan buat yang lom menang, selamat berlatih dan coba lagi taon depan.

Foto – Foto

Final Ranklist

Feedback Penyisihan INC 2011

belasan juri dan submitter,  ratusan submission, ribuan klik, diiringi oleh cucuran keringat para juri yang kepanasan, akhirnya kontes selesai….

Hari ini berlangsung penyisihan INC 2011. Ini pertandingan paling panas yang pernah saya liat, juri sampat berkeringat dikarenakan oleh AC yang enggak bener :-)

Tulisan ini saya buat untuk menghilangkan kebingungan peserta (terutama yang baru ikut serta pada kontes pemrograman) terhadap hasil penilaian juri. Banyak peserta mendapatkan run time error dan compile error yang seharusnya bisa dihindari dengan mudah.

Dari banyak submission oleh peserta, banyak yang melakukan kesalahan kesalahan, bahkan beberapa melakukan kesalahan yang telah ditulis di halaman depan web competition (saat akan login), hayoo pada ga baca ya? :p  Biar enggak penasaran, saya akan bahas kesalahan kesalahan yang saya temukan saat pertandingan. Tentu saja saya enggak membaca submission semuanya, hanya kebetulan beberapa yang ketemu aja.

  • C++: gunakan int main(), bukan void main(), perhatikan compiler yang digunakan.
    Compiler yang digunakan adalah mingw (g++) dan tidak menggunakan gcc bahkan untuk file dengan  berextension .c. Jika menggunakan extension file .c dan menggunakan void main akan mendapat compile error. Lucunya, jika keyword “void” dibuang sehingga fungsi utama hanya main() (tanpa tipe kembalian), tidak akan menyebabkan compile error :-)
  • Java: jangan menggunakan package, perhatikan command run di bawah.
    Program dicompile secara otomatis dari current directory dan langsung dieksekusi sesuai perintah yang telah disebutkan. jika menggunakan package akan menyebabkan error, karena file diharapkan berada dalam struktur folder
  • (C/C++) Penggunaan getch()
    getch() yang digunakan di akhir program bisa menyebabkan program tidak berhenti (masih menunggu input dari keyboard), akibatnya program bisa mendapat Time Limit Exceed.
  • (Java) Penggunaan GUI (JPanel, dsb)
    Program harus membaca input dari standard input (stdin) dan mengoutput ke standard output (stdout) yang keduanya ada di console (bukan GUI). Penggunaan GUI bisa menyebabkan program tersebut Time Limit Exceed (juri tidak memberikan input ke GUI yang ditampilkan sehingga program terus menunggu).
    • Penggunaan format string %lld pada integer 64-bit
      Format string yang digunakan untuk tipe data long long atau __int64 (integer 64-bit) di DevC++ adalah %I64d, bukan %lld (DJGPP).
      int main()
       {
       __int64 x;
       scanf( "%I64d", &x );
       printf( "%I64d", x );
       return 0;
       }

      Kesalahan ini tidak menyebabkan program tidak bisa dikompile, namun output yang dicetak oleh program akan tidak sesuai dengan apa yang diinginkan (integer 64 bit).

  • Runtime error pada beberapa program Java
    Hari ini gua nemu beberapa runtime error pada program java, ada yang sampai menelepon mempertanyakan hal ini, padahal di komputernya baik baik saja, kenapa mendapat hasil run time error. Setelah dilakukan penelitian asal asalan yang tidak komprehensif, ditemukan bahwa peserta melakukan beberapa kesalahan seperti :
    • menggunakan fungsi dari class Scanner, yaitu nextInt() padahal dalam inputan disebutkan bahwa inputan dapat mencapai bilangan 64bit, ketika membaca angka yang sangat besar (misal 1000000000000), akan menyebabkan exception.
    • membaca line yang tidak ada
      Salah satu source code peserta yang saya temukan, menggunakan perintah seperti ini
      if (scan.nextLine()!="")

      yang mungkin dimaksudkan untuk mengecek apakah inputan sudah habis, namun ini akan berakibat fatal, yaitu ketika sudah sampai line terakhir dan memanggil perintah diatas, akan menyebabkan runtime error. Solusi yang benar adalah menggunakan fungsi seperti hasNextLine, hasNext, hasNextInt, dsb untuk mengecek apakah masih ada inputan

  • Konstanta terlalu besar untuk suatu tipe data
    Saya menemukan ada yang mengassign tipe data long long pada C++ seperti ini long long x=1000000000000;  Akan mengakibatkan error konstanta terlalu besar, solusinya adalah dengan menambahkan LL di akhir, 1000000000000LL. Jika tidak ditambahkan LL maka akan dianggap sebagai int, karena itu compiler akan mengembalikan pesan error
  • Array index out of bound (c/c++,java)
    kesalahan klasik, mendeklarasikan 100 elemen pada array, namun mengakses elemen di luar indeks 0..99
  • Memanggil fungsi tanpa meng-include header
    Menggunakan fungsi tanpa include header yang tepat, misalnya abs tanpa include stdlib.h. Mungkin peserta menggunakan IDE semacam dev-C++ yang terkadang agak “bego”. Sebagai contoh hanya menginclude iostream dan menggunakan fungsi abs tidak akan menyebabkan compile error jika compile dilakukan dari dalam IDE Dev-C++ namun jika dilakukan dari command line akan menyebabkan compilation error. Rule of thumb : jika bisa dicompile dari cmd, akan bisa dicompile di tempat juri, karena begitulah cara juri melakukan compilation :-)
  • Mengakses variable di luar scope
    Saya menemukan ada peserta yang melakukan hal semacam ini
    for(int j =0;j<n;j++) {
    .....
    }
    if (j .... ) {}
     

    pada code diatas, variable j hanya di deklarasikan dalam scope for, namun diakses di luar for. Compiler c/c++ yang benar akan memberikan compile error untuk kasus seperti ini. Namun sepengetahuan saya, pada compiler visual c++ 6.0 kode diatas adalah legal. Pada visual c++ 6.0 jika dibuat satu lagi block for dan deklarasi variable j di scope for, justru akan memberikan compile error. Dulu saya memakai visual c++ 6.0, ketika submit ke UVA online judge mendapat compile error terus menerus. Setelah mengetahui penyebabnya, saya langsung ganti compiler dan kurang tau lagi dengan visual c++ versi .net

Dari banyak kesalahan yang terjadi pada pengguna bahasa C/C++, kebanyakan disebabkan oleh compiler aneh yang digunakan yang bahasanya tidak standard, seperti borland C++ dengan void main, dan visual C++ 6.0 dengan scoping anehnya. Untuk kontes seperti ini saya sarankan menggunakan compiler mingw. IDE yang dapat digunakan misalnya Dev-C++ atau Code blocks. dev-C++ sudah lama terhenti developmentnya sehingga compiler yang disertakan sudah obsolete yaitu gcc versi 3. Namun bisa saja menggunakan dev-C++ dengan mingw versi terbaru.

Demikian kesalahan yang saya temukan pada kontes kali ini, kalo ada yang ga jelas, feel free to ask :-) Semoga apa yang saya tulis diatas bisa menghilangkan rasa penasaran kenapa dapet compile error / run time error. Dan juga mencegah peserta maki maki juri karena juri dianggep ga jelas :-) (cth makian : wah ditempat saya jalan, kok submit error, juri brengsek!).

Buat peserta yang baru pertama kali ikut dan belum berhasil, silahkan berlatih dan mencoba lagi tahun depan :-) Goodluck buat yang ke final, sampai ketemu!.

Note : kalo ada yang mau complain soalnya susah susah, silahkan hubungin saudara Suhendry Effendy, selaku orang yang bertanggung jawab.

Kontes Pemrograman

Sejak tahun 2007, gua mulai terlibat sebagai problem setter dan juga juri untuk lomba pemrograman tingkat SMA yang setiap tahun rutin diselenggarakan kampus gua. Dari sini gua belajar, problem setter itu work as a team.

Setiap soal yang diperlombakan harus memiliki deskripsi dan batasan yang jelas. Tentu saja testdata yang digunakan juri untuk menilai juga harus menyentuh batasan ini. Tidak masuk akal jika di soal ditulis N <= 1000 tetapi testdata hanya mengetes sampai 10, tentu saja akan ada algoritma yang berbeda untuk batasan yang berbeda. Tidak perlu memikirkan algoritma yang lebih efisien jika ada algoritma yang lebih sederhana untuk menyelesaikan suatu masalah. Testdata juga harus mengetes kasus kasus khusus, kasus sangat kecil dan juga kasus sangat besar. Intinya disamping testdata untuk mengetes kecepatan algoritma yang digunakan oleh peserta, harus juga mengetes dengan testdata yang memiliki karakteristik “berbeda”.

Selain masalah teknis seperti komputer, sistem grader, dll, tingkat kesulitan soal merupakan suatu hal penting dalam suatu kontes. Dengan asumsi bahwa sistem berjalan lancar dan semua prosedur diketahui peserta dengan baik, tingkat kesulitan soal menjadi penentu bagaimana “asik” nya suatu kontes bagi para peserta. Untuk melihat distribusi kesulitan soal, tidak cuma diliat per soal, tapi keseluruhan set soal yang diperlombakan. Soal yang diperlombakan sebaiknya memiliki tingkat kesulitan yang baik dan juga tidak condong ke suatu teknik algoritma tertentu, melainkan mencakup berbagai macam algoritma.

Beberapa orang cenderung ngebuat soal yang susah untuk peserta, hal ini bagus, tapi jangan terlalu berlebihan. Tingkat kesulitan soal yang diperlombakan kira kira baiknya memiliki kurva distribusi normal. Dari pertama gua mulai jadi problem setter, Suhendry pernah bilang kira kira gini, “kontes yang baik itu :

  • tiap peserta solve minimal 1 soal
  • tidak ada peserta yang solve semua soal
  • semua soal di solve minimal oleh 1 tim

Enggak tau dia belajar dari mana, tapi kata – katanya make sense. Selama gua bantu arrange kontes di Binus, judge selalu mikirin tingkat kesulitannya, biasanya Suhendry bakal jadi penyeimbang kalo terlalu banyak soal yang susah, dia bakal bikin soal gampang atau malah soal bonus. Meskipun dalam setiap kontes ga selalu ketiga guideline diatas bisa dipenuhi, intinya adalah harus seimbang tingkat kesulitan soal – soal yang diperlombakan, jangan sampai semua soal terlalu susah sehingga ga ada yang solve dan juga jangan terlalu gampang.

Mengeluarkan set soal yang terlalu sulit semua sehingga peserta tidak bisa solve, tidak akan membuat anda merasa keren, melainkan akan menuai makian dari peserta. Selain itu membuat soal yang terlalu sulit semua rasanya tidak akan memicu peserta untuk menyelesaikan soal itu setelah perlombaan berakhir. Pengalaman mengatakan, soal yang terlalu sulit atau terlalu mudah tidak akan mengajarkan apapun. Shahriar Manzoor, seorang judge World Final ACM ICPC pernah berkomentar tentang hasil suatu kontes regional. Soal di kontes itu tidak jelas deskripsi dan batasannya, namun ada yang menyebut itu “decent” kontes.

Ahem!

A decent problemset do not have some ranges unspecified, or ranges not specified in the input specification (rather than hidden in the problem statement).

A decent problemset and the easiest problems not solved? then how can it be decent?

I have respect to all the teams that has done well in this problemset but don’t call a problemset decent just because u have done well. Many other teams might have ruined their contest on those easy problems (assuming that D and E was not solved).

Meskipun selalu berpegang pada guideline diatas, pernah juga terjadi kontes yang menurut gua kurang baik. Misalnya ada peserta solve semua soal sebelum waktu kelar, terlalu banyak soal menggunakan sorting dalam satu set soal. Hal ini pernah terjadi sebelumnya, dan kita belajar untuk tidak mengulangi hal ini lagi.

Dalam beberapa tahun terakhir ini, makin banyak kontes pemrograman di Indonesia yang umumnya diselenggarakan oleh institusi perguruan tinggi. Hal ini bagus, membuat popularitas kompetisi pemrograman meningkat dan juga membuat iklim kompetisi yang semakin kompetitif. Berita buruknya beberapa kontes masih kurang baik kualitasnya, dan tidak ada peningkatan setelah beberapa tahun.

Salah satu yang cukup banyak terjadi adalah “recycle soal”, yaitu mengambil soal dari internet dan dipakai sebagai soal di kontes pemrograman. Selama gua jadi problem setter hal ini sebisa mungkin dihindari. Namun terkadang soal yang memang orisinil dari pembuatnya, secara tidak sengaja bisa ditemukan di online judge. Gua pernah buat soal untuk BNPC-HS, dan setelah soal approved, gua secara ga sengaja menemukan soal yang sama di lebih dari 1 online judge. Tapi tetep, itu soal masih buatan gua, kebetulan aja sama.

7.5 tahun setelah lulus SMP

Masuk SMP gua harus pindah ke sekolah baru, karena sekolah gua sebelomnya cuma ampe SD doank, (sekarang malah cuma TK, sekolah yang malang mungkin beberapa tahun lagi musnah). Masuk SMP gua mulai naek jemputan, sopir sekaligus pemiliknya encek – encek, gua dah lupa nama aslinya siapa, tapi pada iseng manggil dia joni, sambil nungguin anak – anak pulang kerjaan dia sehari hari maen catur, kadang keasikan maen catur ampe mesti diteriakin baru dia mo jalan :-)

awal mula..

awal masuk SMP, gua di kelas yang cukup tidak menyenangkan, awalnya, diskriminasi terhadap anak baru benar benar terasa. Salah satu yang paling menonjol adalah kalo maen bola pas pelajaran olahraga, selama 1 caturwulan, pasti anak lama vs anak baru, anak baru biasanya kalah, tapi di pertandingan terakhir, kami menang, balas dendam yang indah :D

SD gua termasuk sekolah yang kurang jelas, sekarang aja udah ga ad tuh SD, tinggal TK nya doank, jumlah murid ga banyak. begitu masuk SMP jumlah murid di 1 kelas 2x lipat di kelas gua waktu SD, dengan berbagai nama anak – anak yang baru pertama kali gua denger, alhasil sedikit butuh waktu buat ngafalin nama mereka semua.

2 tahun yang subur

Tahun kedua, pertama kali dibuat kelas semacam kelas “unggulan” dimana top 10 dari tiap kelas di kelas 1, dicemplungin ke 1 kelas, anehnya sang kepala sekolah sendiri, SiDiktatorBerkerudung ga mengakui kalo ini kelas unggulan, dia cuma bilang ini kelas biasa, tapi semua orang pasti tau apa artinya kalo top 10 semua kelas dikumpulin jadi 1. Ntah sial atau beruntung, gua ikut nyemplung disini.

Kalo selama gua kuliah, jumlah kaum hawa di kelas sangatlah minim dibanding dengan jumlah kaum adam, alias biasa dibilang, ini kelasnya tandus. Kondisi yang berbanding terbalik selama gua di SMP 2 dan 3, di kelas 2, 10 cowok : 30 cewek, benar benar subur. Di kelas 3, mayoritas isi kelasnya adalah sama, cuma berganti beberapa orang, 12 cowok dengan 28 cewek. Salah satu hal yang menarik dari kondisi kelas seperti ini adalah, kemana mata memandang, disitu bertabur gadis – gadis, kondisi ini jelas membuat para cowok menjadi dekat satu sama lain, beberapa masih jadi temen baik gua ampe sekarang. 2 taon di kelas kayak gini cukup berkesan, gimana enggak? subur abis gitu loh!! :D

Kata kata seorang guru

Orang bijak berkata “Guru ibarat lilin, yang sentiasa menerangi orang lain walaupun pada masa yang sama diri terbakar”.

Di kelas 3 SMP, guru fisika nya cukup unik, seorang pria dengan kelakuan yang benar benar berbeda, sama nih orang kalo ulangan kadang cuma 1 soal, kalo PR ga kelar, muka dicoret spidol, yang cewek pada kesel ma dia hahahaha…. Tapi, disisi kelakuannya yang luar biasa agak gila ini, dia kalo ngajar mantep banget, banyakan praktikum dari pada hanya sekedar teori belaka, alhasil anak anak pada ngerti apa yang dia ajarin, materi pada kelas 3 ini hampir semuanya tentang listrik. nih guru salah satu guru favorit gua, cara ngajarnya mang unik, tapi bisa membuat murid muridnya mengerti tentang materi yang disampaikannya.

Alkisah di suatu hari yang damai, di pelajaran fisika di siang hari, kali ini kami enggak ke lab untuk praktikum, hanya di kelas saja. sang guru ini meminta 2 atau 3 anak untuk mengambil buku para murid di ruang guru, gua ikut kebagian mengambil ke ruang guru. sekembalinya dari ruang guru dengan tumpukan buku, ketika sedang berjalan masuk kelas ke arah meja guru untuk memberikan buku yang telah diambil, seorang gadis maju ke meja guru, entah ingin bertanya atau menyerahkan tugasnya. Nasib sial bin apes, ini adalah gadis yang digosipkan ma gua, seperti biasanya kelakuan anak sekolah, langsung sorak sorak teriak macem macem. sang guru menatap sang gadis beberapa saat, lalu berpaling menatap gua, sedikit manggut manggut, gua pun terbengong pasang tampang pasrah bin bingung, beberapa saat sang guru tersenyum, dan beliau berkata “kamu pinter juga milih cewe”. Terima kasih Pak Guruku, sang muridmu ini masih mengingat kata katamu meski 7.5 tahun telah berlalu…

Saya hampir tidak lulus

ya, anda ga salah baca, saya hampir tidak lulus dari SMP 3, karena suatu mata pelajaran yang cukup vital dan fatal efeknya, Bahasa Indonesia. salah satu materi bahasa indonesia di kelas 3 ini adalah analisis kalimat, menentukan SPOK, kalimat majemuk, bertingkat, dll. Gurunya pun berbeda dengan yang di kelas 2 maupun kelas 1. Analisis kalimat disini sudah mencapai tingkat pujangga sastra yang tidak dapat gua mengerti lagi, cuma bisa kira – kira dan berharap jawabannya betul. nasib naas bin sial gua alami ketika ulangan umum semester terakhir, materi bahasa indonesia. setelah berjuang sekitar 90 menit, dengan performa pengerjaan yang lancar tidak, macet pun bisa dibilang iya, akhirnya soal soal itu selesai, sebuah penderitaan berlalu..  kesialan atas apa yang terjadi diketahui setelah jawaban dikumpulkan, ada teman yang membahasa “eh essay no 4 ma 5 tadi jawab apa?”, gua shock, dan cuma bisa terbengong bengong, emang ada no 4 ma 5 ya ? bukannya cuma no 3 ? *jeger* hati langsung remuk disambar petir, ternyata oh ternyata, soal essay no 4 – 5 ada di halaman sebaliknya!! gua bener bener ga nyadar, karena soal no 3 tepat di bawah halaman, gua kira udah abis ampe disitu doank. Pelajaran hari ini mengajarkan selalu carilah kalimat mutiara dari gurumu, semisal “selamat mengerjakan, semoga sukses” karena itulah penanda akhir soal.

saat pelajaran akuntansi beberapa minggu kemudian, gua kebagian ngambil buku di ruang guru, bersama beberapa teman. saat itu di depan ruang guru ada sang guru bahasa indonesia, kami pun menyapa, seorang teman bertanya “gimana bu nilainya?” sang guru yang sedang memegang lembar nilai pun menjawab “bagus bagus nih” sambil memperlihatkan lembar nilai kepada kami. lanjut sang guru “ini satu dapet merah siapa ya ini”, gua pun sambil liat tuh lembar nilai, dan menjawab sang guru “itu saya bu” dan berlalu lah saya untuk mengambil buku ke dalam ruangan, alias kabur sebelom dijitak =P

seingat gua, nilai akhir bahasa indonesia gua di rapor tepat 6.0 alias batas bawah untuk dapat lulus, saya mencium ada indikasi pengatrolan nilai disini, tapi karena kali ini menguntungkan saya, tak apalah…

By marcadian Posted in Story

2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 6,400 times in 2010. That’s about 15 full 747s.

 

In 2010, there were 9 new posts, growing the total archive of this blog to 52 posts. There were 10 pictures uploaded, taking up a total of 2mb. That’s about a picture per month.

The busiest day of the year was November 10th with 422 views. The most popular post that day was INC 2010.

 

Where did they come from?

The top referring sites in 2010 were suhendry.net, kaskus.us, facebook.com, lenn1e2nd.wordpress.com, and nomoreac.wordpress.com.

Some visitors came searching, mostly for favourite quotes, marcadian, dosen binus, cara menggunakan barometer, and gemastik 2009.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

INC 2010 November 2010
7 comments

2

Final Programming Contest Gemastik 2009 October 2009
20 comments

3

Penyisihan programming contest gemastik 2009 August 2009
4 comments

4

Training July 2009
1 comment

5

setelah lulus cari kerja March 2010
7 comments

Search Term

Kemaren malem lagi iseng, liat – liat statistik blog gua, bagian search term, ternyata isinya menarik juga. Beberapa entry nyambung, ada yang lucu, sampe yang bener – bener ga nyambung.

Entry yang nyambung biasanya nyariin gua, atau event – event yang gua tulis cerita / write up nya. Banyak juga yang nyariin jawaban soal tertentu di online judge, karena gua pernah post beberapa solusinya disini. Buat yang mencari nama saya, anda telah sampai di tempat yang tepat B-). Beberapa juga berupa nama orang, misal suhendry, evanlr, felix halim, felix jingga *ngapain ad yang nyariin nih anak?*, turuthok, ceemot, san san. Yang menarik

  • suhendry
  • suhendry binus

Ternyata suhendry lebih ngetop kalo tanpa embel – embel binus :D

Entry entry yang ga nyambung beberapa nyari tugas mata kuliah di binus, kisi – kisi, dll. Beberapa entry lucu yang bener – bener ga nyambung

  • fungsi program acmon   **apa pula ini ???**
  • udah bener kadang masih disalahin bagaimana kalo salah beneran ya?  ** contoh orang stres**
  • lupa kode booking peminatan binus  **tanya akademis, jangan tanya google**
  • mithril dragon  ** game apa sih ini ? speechless**
  • suhendry programmer indonesia

    ** HUAHAHAHAHA ini search term paling kocak nih =)) =))**

  • marcadian trie ** apa ini ? trie model baru ya ? keren juga, sekalian klarifikasi, saya lom pernah menemukan trie versi baru hahahaha **

Top post gua sepertinya write up INC 2010, seminggu terakhir hits nya udah nyampe 535, hari pertama keluar 422 hits, rame juga jadi semangat nulis buat ICPC *kalo mampu :P *

INC 2010

INC pertama sebagai pensiunan, kali ini gua cuma review soal, beberapa alternate solution, nonton dan tulis – tulis (maki maki) di status YM. Nonton ranklist kali ini mayan seru di awal – awal, tapi dah kira – kira 3 jam, hampir gua tinggal tidur, ranklist mulai statis papan atas tak bergerak! Status YM : “benar benar No Hope” gara – gara tim binus di rank 6.

Nyaris sepanjang kontes gua ngobrol ma Hendri, mulai dari chit chat soal, pasang – pasang status ga jelas. Pas Dongskar di rank 3 dan waktu udah mo abis, si Hendri sempet pasang “Binus UI bersatu” sebagai status YM nya :-) tapi ternyata red coder mang sakti…

Gua tau ricky bisa soal F, karena gua pernah kasih ke dia soal yang mirip banget ma itu, tinggal dikasih preorder kelar dah, menjelang 40 menit terakhir, status YM gua (si Hendri juga ikut-ikutan) “HINT : PREORDER” saking frustasi nya sebagai supporter Binus dan UI wkwkwk… tapi ternyata tim binus ga ada yang liat status gua, malahan tim eleazar liat status si Hendri. Untungnya mereka ga bisa bagian setelah preordernya. Tim saklar lhompat (read : fushar) ternyata juga pernah buat soal yang mirip soal F, untung fushar ga online YM pas kontes dan nyadar tinggal dipreorder setelah kontes kelar [amin] >:) Pelajaran hari ini : kalo mau pasang HINT, appear offline dulu dari semua tim musuh yang bertanding.

Soal + pembahasan ada blog Suhendry http://www.suhendry.net/blog/?p=1135

4 bulan

yak, dah 4 bulan gua disini, artinya 25% misi dah kelar.

Q : betah ga?
A : di betah2in

Q : pa kbr disana?
A : bae, masih summer masih idup dengan tentram aman sentosa, masih ke kantor pake celana pendek + sendal, alhasil gua jadi belang – belang, lengan belang, kaki belang [motif sendal]

Q : ngapain aj disana kerjanya?
A : coding coding coding!! kerjaan gua adl FVT tester, yaitu verifikasi suatu fungsionalitas. kerjanya buat testcase, disini mesti belajarin beberapa hal yang related ma db2, sekarang dah bisa make explain facility dikit2, yang terakhir gua belajarin adalah ngepartisi tabel. kerjaan gua di project yang intinya ngebuat gimana eksekusi query semakin cepat, disini kepake banget yang namanya approximation algorithm, heuristic, statistic

Q : pa kabar programming contest?
A : dah jarang banget, beberapa kali doank sempet SRM, solve di OJ dikit, debugging punya waka >.<, review soal, jadi peserta sekaligus admin pas kontes jollybee, kadang diminta usulan soal buat jollybee, review buletin TOKI sebelom cetak, review soal OSN sekitar 4 jam sebelum dipakai kontes.

Q : dah gemukan lom?
A : kata bonyok gua udah, tapi rasanya timbangan sih sama aja.

Q : suka ga disitu?
A : tergantung, beberapa hal suka, beberapa hal enggak. disini polusi minim, masih banyak yang hijau – hijau, dan disini bisa liat yang namanya "clear blue sky". Tapi kemana – mana jalannya jauh, nunggu bus nya lama dan kadang kurang reliable

saya kembali

Yak, saya lagi bosan jadi kembali nge-blog hahahaha dah 1.5 bulan disini, berasanya cepet banget. pertama dateng disini masih rada dingin , sekarang sih dah menghangat, bahkan hari ini suhunya 30an, tapi gua berasa jakarta lebih panas.

Pros : Disini mayan enak, udara bersih, porsi makanan byk bener, kadang – kadang gua buat makan 2x lol,

Cons : banyak jalan kaki, bus nya brengsek kl weekend jarang lewat,  pajaknya brengsek (13% !!!, mau beli DSLR harga 700an abis tax jadi 800an @___@)

banyak yang nanya ,gmana disana kerjaan? enak ga? betah ga? well.. kerjaan sih enak – enak aja, ga terlalu pressure lah, ke kantor pake celana pendek, kaos dan sendal :D jam masuk sesukanya, jam pulang sesukanya, ga ad yang cek absen,  kalo lagi terkapar bisa kerja remote dari rumah >:)

tadi gua ikutan round 1 TCO, untung dikasih tau winardi, kalo ga juga ga sadar lagi nonton world cup, soal 250 nya gampang, soal 500 pas kontes salah itung kompleksitas @__@ gara – gara salah itung ini, pas challenge gua kena -25, jadinya ga lolos, damn, padahal 250 gua dapet lebih tinggi dari kur (dan dia lolos) crap =.= Hari ini winardi lagi on fire, 250 500 dia tembus semua, welcome to blue waka :)  **welcome to blue juga buat suhendry >:)**

class EqualizeStrings {
public:
    string getEq(string s, string t) {
        string res="";
        for(int i = 0 ;i < s.size(); i++)
        {
          int a = s[i] - 'a';
          int b = t[i] - 'a';
          int dist = abs(a-b);
          if (dist < 26 - dist) res += min(s[i],t[i]);
          else res+="a";
        }
        return res;
    }
};


class TwoRegisters {
public:
    string minProg(int r) {
        string res="";
        char s[1000010];
        for(int i = 1 ; i < r ;i++)
        {
           string temp="";
           int a = r,  b = i, idx=0;
           while (1)
           {
              if ( a == 1 && b == 1)
              {
                 s[idx] = 0;
                 temp = s;
                 reverse(temp.begin(),temp.end());
                 if (res == "" || res.length() > temp.length() || (res.length () == temp.length() && temp < res)) res = temp;
                 break;
               }
               if ( a > b) a-=b, s[idx++] = 'X';
               else b-=a, s[idx++] = 'Y';
               if (a < 1 || b < 1) break;
          }
        }
        return res;
    }
};