Welcome to HQ's Blog

Hello World! If you've visited this blog before, welcome back. Please help me what article do you like by give it a comment. But if you're new with this blog, please feel free to stay ahead for a shortwhile, to read my articles. I assure you will get something by read it carefully. Haha...

Ok ok... By the way, this blog belongs to me, Haqqi. Yeah, that is my nickname. If you want to know about me, please read the top sidebar titled "About Me". If you want to know MORE about me, please feel free to add my Messenger (xp_guitarist) and chat with me. I am Indonesian. My English is not so good, so please don't laugh if my 'syntax' is wrong. But sometimes I will post my blog in Bahasa Indonesia (I think most of them will).

The reason I create this blog is, I want to share everything I can share. From my experience, computer program I used, my algorithms and source codes, and some useful infos and tips. So, if you want to request something I can, feel free to ask. And if you also want to share me something, I always open my hand, haha. Anyway, WELCOME TO MY BLOG!

This site is best viewed with Mozilla Firefox with resolution 1024x800 or more

Page copy protected against web site content infringement by Copyscape

ANNOUNCEMENT!!!

This blog is dead!!! I moved it to my new blog in http://haqqi.net. Thank you for reading this blog. Hope you will read my new blog too.

Jalan Menjadi Programmer - Membuat Game dengan Engine

Mar 31, 2009

Pertama kali belajar pakai engine

Huft, daripada bosen ndengerin penjelasan dosen di kelas, mending nulis posting aja. Udah lama nggak posting tentang jalan saia menjadi programmer. Nah, baru-baru ini saia lagi seru-serunya belajar bikin game pake engine game java buatan Indonesia asli. Awal mulanya gini, saia kan sudah sejak lama pingin bikin game desktop pake java. Nah, berhubung nggak ada buddy yang bisa ngikutin saia, ya saia usaha sendiri. Akhirnya dengan low-level method, saia selesai bikin Devilish Children.

Pada pembuatan Devilish Children, saia udah berusaha nyari engine game java yang sesuai buat saia. Eh, ketemunya cuma JGame. Saia coba-coba pelajari, berujung dengan akhir "males" gara-gara nggak ada tutorialnya. Seperti yang saia bilang, akhirnya Devilish Children saia buat benar-benar murni pake dasar-dasar Java. Ya jelas aja banyak banget bug-nya, dan kalo baca source codenya, meski udah masuh PC Media, saia sedikit kurang puas.

Saia sempat berpikir untuk bikin engine sendiri. Tapi gimana? Nggak ada yang bisa ngajarin... Nggak ada teman di sekitar saia yang kuat ngikuti saia... Aduh, usaha sendiri lagi nih. Tanpa dasar yang kuat, tanpa support yang hebat, dan tanpa suara (ya jelas, coding sendirian sih). Dasar yang kurang kuat, bikin saia jadi cepet nyerah.

Tips: Sebelum mengerjakan sesuatu, pastikan Anda sudah memiliki dasar yang kuat. Jadi pasti bakal terasa gampang kalau mau ngapa-ngapain sama kerjaan Anda.

Rasanya dengan dasar yang kurang kuat, sebaiknya saia belajar dulu dari engine-engine yang sudah ada. Saia putuskan untuk browsing lagi. Om Google pun saia buka dengan keyword "java game engine library download". Setelah hasil indexing Google muncul, saia coba bua satu-persatu. Loh, saia kaget. Ada engine lama yang baru keluar di indexing Google. Nama engine-nya Golden T Game Engine. Berhubung waktu itu lagi di warnet, nggak bisa lama-lama, asal saia download aja, baru buka di rumah.

Setelah saia buka, saia baca tutorialnya, kok rasanya asyik. Saia coba terapkan tutorialnya, ternyata gampang. Sayangnya source-code engine-nya nggak disertakan dalam package. Tapi tetap akhirnya saia putuskan, engine ini yang mau saia pelajari.

Setelah ada kesempatan online lagi, saia buka Google lagi karena saia lupa websitenya. Loh, saia baru sadar waktu itu, ternyata domain website-nya dari Indonesia. Tepatnya di www.goldenstudios.or.id. Berarti ini bikinan orang Indonesia donk. Ow, makanya kok ada tutorial versi Bahasa Indonesia-nya. Saia jadi semakin jatuh hati dengan produk dalam negeri ini. Saia coba masuk lebih jauh di websitenya. Ternyata versi terbarunya sudah ada sejak tahun 2006. Berarti ini engine lama dunk. Kok saia nggak tahu?

Tips: Setelah saia coba baca documentation-nya, saia bisa ngambil beberapa pelajaran. Ternyata lebih mudah bagi pemula seperti saia, bikin game pake engine atau library. Disamping nggak usah mikirin low-level methodnya, kita juga nggak usah pusing-pusing di bagian tersulit, render gambar.

Nah, GTGE ini sekarang masih seru-serunya saia coba. Saia masih pusing sama javadoc-nya, dan masih baca-baca source buatan orang lain. Yang mau diskusi masalah engine ini, bisa langsung masuk ke forum-nya. Sayangnya forum ini kelihatannya kurang aktif. Ada trojan di setiap posting orang luar lagi. Sungguh mengerikan. Ini hebatnya kalau masuk forum para programmer, saling penetrasi komputer.

Rencananya, bareng teman saia yang suka bikin gambar, saia mau remake ulang Devilish Children. Sebagus mungkin dan seindah mungkin, beserta jalan ceritanya. Lebih bagus lagi kalau nanti bisa jadi suatu buku tentang pembuatan game pakai engine ini. Haha, bagian saia sih, cuma coding-nya aja. Urusan kalkulasi status, gambar, dan jalan cerita, saia serahkan sama tim yang lain. Berikutnya, kalau saia sudah sedikit paham tentang GTGE ini, akan saia coba tulis tutorialnya dalam Bahasa Indonesia, biar bisa masuk blog saia dan biar bisa dipelajari teman-teman lainnya.
read more...

Report from Bastra UB

Mar 24, 2009

Di atas panggung yang singkat

Ok, udah lama saia nggak posting report dari panggung band saia. Kalau nggak salah, posting tentang band saia yang terakhir itu waktu mau akustikan di Saboten. Padahal setelah dari sana, band saia ada jadwal lagi manggung di acara tahunannya fakultas Bahasa dan Sastra UB. Berhubung waktu itu lagi pusing-pusingnya ngurusin Mas Arka dan Mbak Vidi, jadinya nggak sempat buat sekedar nulis postingnya.


Nah, karena udah jauh kelewatan, saia sekalian posting di sini aja. Mulai dari report yang di Saboten dan gimana hasil dari manggung di Bastra UB.

Sedikit ada perubahan setelah "pembicaraan" yang saia rasa udah kesekian kalinya saia lakukan. Mungkin benar kata bassis saia, saia dapat berkah seorang vokalis yang lumayan kritis. Jadinya nggak cuma saia yang capek ngomong kalau ada "pembicaraan". Ok, balik ke topik, gimana hasil dari akustikan di Saboten.

Hancur. Itu kata pertama yang bisa saia katakan setelah turun panggung. Gimana nggak, gara-gara drumer yang nggak merhatiin alur lagu waktu latihan, jadinya waktu main nggak sinkron. Akibatnya, di lagu pertama aja udah bikin vokalisnya salah ambil nada. Super fals jadinya. Saia nggak tega mau upload hasil rekamannya.

Ada 4 lagu yang dimainkan, Fukai Mori (Do As Infinity), Sayonara Honey (lagu sendiri), Komorebi no Uta (High and Mighty Color), dan Shine (Laruku). Hm, saia bahas dari sudut pandang saia aja. Hampir semuanya, saia nggak sinkron waktu mainnya. Diawali dari ketakutan saia ternyata benar-benar terjadi (sesuai prinsip The Secret), saia nggak cocok sama gitar yang saia pakai. Lagu pertama, belum ada drumnya aja 3 instrumen lain udah nggak sinkron. Vokalisnya juga nggak bantu naikin pace.

Semakin ill feel dengan masuknya drum yang nggak ada waktu latihan. Ditambah dengan nggak pas-nya bass dan drum masuk waktu tengah-tengah lagu. Benar-benar nggak kayak latihan.

Lagu kedua pun juga nggak feel. Janjinya cuma pake 2 gitar, eh drumnya nyelonong masuk. Kata vokalis saia, dia juga bingung waktu itu. Tapi emang dasarnya vokalis saia nggak bisa ngatur pace buat akustikan. Padahal menurut saia, central dari akustikan kalau nggak ada drum tuh di vokalis. Tapi dasarnya udah gitu, mau diapain lagi. Saia udah ngajak yang saia rasa baik, tapi di repel entah kenapa (tapi saia tahu alsannya).

Pokoknya, secara garis besar, saia nyatakan hancur dan suatu pengalaman akustikan buruk pertama saat bersama vokalis ini. Huft, padahal saia lagi feel-feelnya akustikan gara-gara ada gitar nylon di ruang BPM kampus saia. Tapi nggak apalah, anggap aja sebagai pelajaran. Itupun kalau yang lain juga ngambil pelajaran dari manggung kali ini. Kalau cuma saia ya percuma.

Lanjut ke acara di Bastra. Di acara ini, band saia rencananya main 3 lagu. Lagu pertama, sedikit nostalgia saat-saat bersama vokalis lama, Rose (Anna Tsuchiya). Lagu kedua tetap lagu sendiri yang nggak jadi-jadi recording. Lagu ketiga dari High and Mighty Color, Rosier. Acara di Bastra ini emang diadakan tahunan. Tahun kemarin itu waktu band saia nggak ada vokalisnya. Jadi nggak main.

Acaranya katanya lumayan besar loh, se-jatim. Tapi ternyata panggungnya nggak sebesar "katanya" acaranya. Ok, saia nggak akan bahas acaranya. Yang saia mau bahas adalah mulai dari persiapan sebelum hari-H, sampai waktu di atas panggung. Lagi-lagi, saia tulis dari sudut pandang saia (ya iyalah, wong blognya ya blog saia). Dari persiapan saia, nyaris nol. Gara-gara penyisihan arkavidia yang diundur, acara ini jadi barengan sama waktu penyisihan.

Ya saia otomatis konsen sama penyisihan donk, buat tiket ke Bandung. Akibatnya, sejak dari Saboten itu, gitar listrik saia sama sekali nggak saia pegang, bahkan nggak saia keluarkan dari softcase, sampai hari latihan. Itu artinya, selama sekian hari itu saia nggak pegang gitar saia sama sekali. Dan intinya, saia sama sekali nggak latihan individu. Untungnya, lagu yang bakal dibawain itu lagu lama semua, jadi nggak perlu belajar susah payah. Band saia pun rencana latihan di studio cuma satu kali, beda sama yang dulu-dulu yang bisa sampai 3 kali latihan studio cuma buat 3 lagu.

Ternyata efek pembicaraan itu masih tersisa. Latihan yang dilakukan jadi cukup efektif. Latihan yang cuma sekali itu lebih baik daripada latihan-latihan sebelum panggung yang lalu-lalu. Untunglah, drumernya sudah sedikit sadar diri. Yang masalah tinggal vokalisnya nih. Susah banget kalau di suruh ngafalin lirik lagu. Dianya bersikeras kalau dia emang nggak mampu dan bersikeras kalau dia sadar batas diri. Tapi saia rasa nggak gitu, dia aja yang mengkotaki diri sendiri.

Waktu hari-H, nggak nyangka band saia jadi kompak-kompak sendiri. Padahal nggak ada janjian mau pakai kostum warna apa, semuanya otomatis pakai kostum hitam putih. Dan yang lebih mengejutkan, ternyata semua personil sama-sama nyaris nggak tidur malam sebelum acara. Saia udah jelas, berpusing ria dengan Mas Arka dan Mbak Vidi semalaman bareng tim saia yang nginep di rumah saia. Bassis, drumer, dan gitaris satunya sibuk ngurusin panggung dan katanya sama sekali nggak tidur.


Yang paling mengejutkan, vokalis saia. Gara-gara saia paksa untuk hafal, ternyata dia ngebelain begadang sampai jam 4 pagi buat ngafalin lirik lagu Rose yang cuma segelintir. Bagus bagus... Biar nggak manja. Jadinya, bisa keliatan kalo semua personil manggung dengan kantong mata yang menghitam gara-gara kurang tidur.

Tapi emang parah, udah ngebelain sampai jam segitu, tetep nggak hafal-hafal dan waktu manggung tetep pakai teks. Emang sih banyak band lain yang manggung pakai teks, tapi kenapa niru yang gitu. Kalau saia ngelihat vokalis yang baca teks waktu nyanyi, risih rasanya. Jadi sama kayak dengerin MP3 donk, nggak ada ekspresinya ke penonton.

Ok, dari segi perform, rasanya ini termasuk yang terbaik sejak bareng vokalis ini. Rasanya di panggung bener-bener sinkron. Tapi saia bisa lihat kok, kunci utamanya emang di drum. Mood drumernya kayaknya lagi bagus, jadi semua bisa sinkron. Padahal saia lagi nggak begitu feel waktu itu, tapi tetep bisa ngikutin pace. Meskipun ternyata cuma dijatah 2 lagu (nggak pake Sayonara Honey), saia bisa nikmatin waktu di atas panggung.

Tapi gara-gara kebiasaan manggung lebih dari 3 lagu, jadi kerasa singkat kalau manggung cuma 2 lagu. Ditambah lagi, ada rasa menyengat waktu pegang microphone sambil pegang gitar (baca: nyetrum). Hamsyong bener, kerasa banget 220 volt murni dari PLN nyetrum bibir saia waktu bersentuhan sama mic. Udah gitu stand mic-nya kendor, perlahan bergerak menurun. Jadinya waktu saia nyanyi, saia nggak main gitar kayak biasanya. Mendingan pegang stand mic dan mic-nya.

Secara garis besar, bisa dianggap sukses lah manggung kali ini. Lebih sukses lagi kalo vokalisnya gak bawa-bawa buku teks dan memajangnya di atas panggung. Ok, kita lihat kelanjutan band saia ini di kisah berikutnya. Haha... Anyway, ini videonya.




Kalau nggak keluar, biasanya disuruh klik kotak di atas ini. Atau kalau mau, langsung ke link di SINI.
read more...

Devilish Children di PC Media

Mar 19, 2009

Artikel pertama saia yang terbit di media nasional

Masih ingat game saia yang saia posting dengan judul Devilish Children??? Game yang saia garap untuk tugas salah satu mata kuliah saia ini, ternyata bisa sampai media nasional loh. Emang sih, bukan usaha sendiri, tapi dengan adanya relasi. Tapi saia bener-bener nggak nyangka kalo game ini bisa multi fungsi. Yang awalnya hanya ide untuk menyenangkan diri sendiri dengan coding di depan laptop, yang setelahnya saia masukkan sebagai tugas akhir mata kuliah algoritma 2, yang kemudian buat ngisi blog saia ini, dan ternyata diminta untuk nulis artikelnya untuk media nasional ini, dan belum berhenti sampai situ, tugas mata kuliah semester 4 ini ternyata juga bisa memanfaatkan game ini.

Kembali ke topik, gimana bisa game ini sampai di media nasional? Media nasional yang manakah? Dibuat dalam bentuk apa?

Saia bikin game ini saat saia sama sekali belum mengenal bahasa pemrograman Java. Niatnya sih, sambil belajar tapi juga main-main. Coba-coba mengimplementasikan obsesi dan ide dalam sebuah karya bernama GAME. Nggak mau rumit-rumit mikirin ide gila dulu, saia terinspirasi sama game dari SEGA yang dulu sering saia mainkan. Akhirnya saia decide untuk membuat game ini. Nah, kebetulan tugas akhir mata kuliah Algoritma 2 saia adalah membuat sebuah project pakai bahasa Java. Saia masukkan saja proposal untuk game ini.

Setelah selesai nggarap versi awal game ini, dengan berbagai macam bug dan source code yang saia sendiri nggak enak ngebacanya, saia dapat nilai 90 untuk tugas akhir itu. Dengan source code yang nggak karuan karena nggarapnya cuma dalam 2 hari, saia jadi nggak tega untuk posting source-nya di blog. Akhirnya kan cuma saia posting hasil akhirnya saja.

Saia sih kepingin bikin ulang dengan source code yang lebih rapi. Tapi apa daya, penyakit "males" udah melanda. Akhirnya source code-nya tergeletak nganggur tak terurus. Beberapa bulan kemudian, datang tawaran dari dosen saia lewat YM. Beliau tanya, mau nggak saia nulis artikel buat majalah komputer PC Media? Wah, PC Media??? Majalah komputer terbesar se-Indonesia??? Ya, ini yang saia maksud sebagai media nasional. Katanya beliau diminta untuk mengisi rubrik Know-How|Coding. Maklumlah, beliau kan sudah punya nama di dunia tulis-menulis bidang IT. Kata beliau lagi, topiknya bisa membahas game buatan saia itu. Kan jadi nggak usah mikir ide lagi.

Saia langsung mengiyakan tawaran itu. Itu berarti, ada beberapa hal yang harus saia lakukan. Yang pasti, jelas bikin ulang source code-nya. Karena source code yang lama benar-benar terlalu memalukan untuk dibaca orang se-Indonesia, apalagi programmer. Bisa diketawain habis-habisan saia ini. Dan yang pasti, pembuatannya harus benar-benar terstruktur supaya layak untuk jadi sebuah artikel dan bisa dibaca orang awam.

Ternyata pembuatannya lumayan memeras otak. Sering banget saia begadang dengan window NetBeans 6.5 tampil di laptop saia, menemani malam yang sepi. Bahkan ketiduran pun laptop saia tetap menyala, dan waktu bangun ya tetap melihat layar dengan jendela NetBeans itu. Sambil bikin ulang source code, sambil nulis artikelnya. Nggak nyangka juga kalau game yang awalnya cuma saia buat dalam dua hari ini bisa menyita sebagian besar waktu saia. Soalnya saia harus sebisa mungkin menerapkan konsep OOP (Object Oriented Programming) dalam game ini. Terlebih lagi dengan kegiatan saia yang kebetulan lagi padat, seperti yang saia posting di Hitung Mundur 18 Hari.

Awalnya, saia pikir satu atau dua seri (masing-masing sekitar 6-8 halaman) bakalan cukup atau bahkan lebih. Tapi ternyata, setelah selesai, jadinya malah 3 seri dengan jumlah halaman masing-masing sekitar 10 halaman (dengan format word 2007). Setelah selesai semuanya, saia kirimkan ke dosen saia itu dan langsung di kirim ke kantor PC Media. Dari awal saia sudah tahu dan sudah diberitahu kalau nama yang tercantum bukan hanya nama saia, tetapi juga nama dosen saia. Wajarlah, saia kan belum jadi apa-apa.

Beberapa hari kemudian, saia dapat konfirmasi. Artikel saia bakalan dimuat selama 3 bulan (3 edisi) berturut-turut mulai bulan April 2009 sampai Juni 2009. Wah, senengnya bukan main. Kalau nggak salah, waktu itu saia lagi persiapan manggung di Saboten. Saia langsung senyum-senyum sendiri, sampai teman saia pada bingung kenapa. Layout dasar hasil editannya yang bakal dicetak juga sudah dikirim ke email saia. Tertulis nama pengarangnya adalah Windra Swastika dan M. Fauzil Haqqi, dengan tagline di bawahnya adalah Universitas Ma Chung.

Berarti ini artikel pertama saia yang masuk media nasional, dan saia bangga. Ternyata saia juga bisa memiliki perasaan bangga akan kerjaan saia. Dan artikel ini juga bisa diakses online di web-nya PC Media, tapi tentu saja setelah edisi berikutnya keluar, biar nggak merugikan penjualan hardcopy-nya kan...

Huft, sebenarnya saia menahan diri sejak lama, kepingin posting ini jauh-jauh hari, tapi saia tunggu dulu momen yang pas dan sekalian posting source dan hasil pembuatan ulang Devilish Children ini. Thanks buat dosen saia yang memberi saia peluang ini. Nggak lupa, thanks juga buat yang ngegambarin karakter Devilish Children, Mas Amri dari warpul celaket Malang, wahaha... Nggak lupa juga, buat seseorang yang secara nggak langsung memberikan pressure yang bisa membuat saia mengeluarkan manajemen stress terbaik saia sehingga saia bisa nyelesaikan versi pertama dalam 2 hari saja, thank berat. Pokoknya thanks buat semua yang nggak menghambat pekerjaan saia ini. Tapi, saia rasa nggak ada yang menghambat kok. Jadi, terima kasih buat semuanya.

Bagi pembaca PC Media yang tertarik dengan artikel saia, atau paling nggak kepingin ngoprek-oprek source code yang sudah jadi, bisa download di sini:
Link download source

Atau yang cuma pingin nyoba-nyoba hasil jadi game sederhana ini, bisa download di sini:
Link download program jadi

Untuk user manualnya, bisa baca di posting Devilish Children yang sebelumnya. Tampilan di versi yang baru ini sedikit berubah, tile-nya jadi lebih kecil, biar bisa kelihatan banyak karakter di satu window. Saia sih kepinginnya ngelanjutin game ini, tapi jelas nggak bisa kalau cuma saia sendiri. Saia butuh banyak partner yang sama-sama niat. Kalau ada yang mau join atau yang mau ngajak project lain, tinggalin comment atau chat via YM saia aja.

Anyway, semua yang baca posting ini, segeralah beli PC Media edisi April-Juni 2009 bersama saia dalam artikel Membuat Game Strategi Sederhana Menggunakan Java dan NetBeans. Hehehe...
read more...

Jalan Menjadi Programmer - Mas Arka dan Mbak Vidi

Mar 17, 2009

Pengalaman pertama saia ikut lomba algoritma

Sudah seminggu lebih saia nggak posting apa-apa. Memang sih lagi nggak ada ide dan nggak ada kejadian-kejadian bernilai yang ingin saia tuliskan di blog saia ini. Tapi yang lebih bikin nggak bisa posting sama sekali, adalah kegiatan yang baru pertama kali saia ikuti ini. Ya, kalau dilihat dari judul posting ini, udah keliatan kalau saia ikut lomba algoritma/programming yang diadakan oleh ITB, dengan nama Arkavidia.

Rencananya kan, posting tentang Jalan Saia Menjadi Programmer berikutnya harusnya membahas perjalanan saia satu semester bersama C. Tapi nggak papa lah, sedikit loncat, langsung saia bahas yang ini dulu. Mumpung masih fresh.

Lomba ini adalah lomba tim maksimal 3 orang. Dari kampus saia ada 5 tim, The Zeppelin, noobs sesek, diyige, bojer, dan terakhir tim saia, Clover. Saia satu tim dengan orang-orang papan atas prodi saia (termasuk saia, hehe... *congkak mode on*). Di lomba ini peserta dituntut untuk menyelesaikan suatu permasalahan dan membuat algoritmanya. Nggak sekedar algoritma, tapi harus memenuhi batasan tertentu dan nggak boleh lewat time limit dan memory limit.

Selama seminggu lebih, sejak babak warming up, saia sudah dipusingkan dengan lomba ini. Jauh hari sebelumnya, saia sudah atur semua jadwal insidental, termasuk segala jadwal dengan band saia yang lagi ada beberapa jadwal manggung. Rencananya lomba ini mulai tanggal 8-14 Maret 2009. Tapi gara-gara ada sesi warming up yang diadakan tanggal 8-9 Maret 2009, babak penyisihannya diundur. Jadinya nggak bisa all out semuanya deh. Harus membagi diri dengan tepat.

Di babak warming up, panitia nyediakan 3 soal pemanasan. Saia sih anggap enteng aja, toh cuma babak warming up. Yang ingin saia ketahui cuma sistem perlombaan dan mekanisme pengumpulan jawaban secara online aja. Soal pertama dengan kode soal tribonacci, gampang banget. Perintahnya cuma disuruh mendapatkan bilangan dengan rumus T(n)= T(n-1) + T(n-2) + T(n-3) dengan T(1), T(2), dan T(3) = 1. Gampang banget kan?!? Tapi justru gara-gara babak warming up ini, saia naik darah.

Bayangkan, soal segampang ini, udah selesai saia kerjakan, saia cek berulang kali, terus saia submit online, status dari system benar-benar mencengangkan. Jawaban saia dianggap Wrong Answer, yang artinya jawaban saia salah. Gara-gara penasaran, seharian saia cuma buka source code soal ini. Sampai-sampai saia ke warnet yang sama 4 kali dalam sehari cuma buat nyoba submit lagi. Haha, pasti tukang parkirnya sampe hafal sama wajah saia ini. Dan tetap, respon dari system menyatakan jawaban saia salah.

Saia sampai ill feel sama lomba ini. Udah nyoba berbagai tipe data, nyoba utek-utek ulang algoritmanya, sampe-sampe ngebanting laptop (bercanda), tetep dianggap Wrong Answer. Waktu tanya ke panitia, selalu jawabannya seperti ini: di soal sudah jelas. Atau kalau nggak: baca soal lebih teliti. Nggak cuma saia yang nggak sukses submit. Semua tim dari kampus saia juga nggak bisa.

Untungnya selesai babak warming up ada pembahasan. Dan saia akhirnya tahu kesalahan super simpel saia. Ternyata sistem meminta adanya endline (ganti baris) di akhir output. Hamsyong!!! Saia langsung ketawa-ketawa sendiri. Benar-benar waktu saia sehari terbuang percuma hanya untuk utek-utek algoritma yang sudah benar, tapi cuma salah format output. Dasar panitia, nggak bilang dari awal.

Masuk ke babak penyisihan, yang dimulai tanggal 10 Maret 2009 jam 00:00 tepat, yang akan dilangsungkan selama 168 jam sampai tanggal 16 maret 2009 jam 23:59. Ada 12 soal yang jauh lebih sulit dari soal warming up. Dari babak ini akan diambil 30 besar untuk lanjut ke babak berikutnya. Hari pertama, hampir semua tim dari kampus saia sudah shock ngebaca soal. Apalagi setelah tahu kalau di hari pertama sudah ada tim yang submit 9 nomer dengan benar.

Semua entity (halah) dalam soal selalu bernama Mas Arka atau Mbak Vidi. Sampe-sampe muncul joke sendiri di status facebook teman-teman. Hari-hari berlalu, satu-persatu tim kampus saia mengangkat bendera putih. Dari tim bojer, menyatakan menyerah setelah ngelembur malam sabtu di rumah chipon. Tim noobs sesek, malah nulis di status facebooknya: Mas Arka, Mabak Vidi?? Sudah lupa tuh. Tim The Zeppelin, nggak menyatakan menyerah, tapi ya nggak nambah-nambah. Tim diyige masih lanjut. Tim saia pun juga masih lanjut.

Hari terakhir, Senin tanggal 16 Maret 2009, entah kenapa semua tim sedikit bangkit. Saia lihat di status submission online, jumlah submitnya nambah semua. Tim saia sendiri sampai akhir hanya bisa menyelesaikan 9 soal dari 12 soal, dengan kontribusi yang nggak seimbang. Saia sendiri cuma bisa murni selesaikan 2 soal, sedangkan rekan pertama saia 7 soal. Saia jadi malu sendiri. Emang sih, gara-gara anggota tim yang terlalu saia percaya, saia jadi sedikit "menjagakan". Akhirnya malah nggak semua effort saia curahkan. Sebuah pelajaran lagi untuk saia.

Tapi saia sedikit kecewa sama anggota tim terakhir, benar-benar nggak berkontribusi. Bahkan nggak terlihat respect sama lomba ini. Sebuah pelajaran untuk lomba berikutnya, hehe.

Tips: Kalau mau ikutan lomba tim, cari anggota yang tepat. Nggak harus yang hebat, tapi yang benar-benar niat. Dengan adanya niat, pasti paling nggak ada kontribusi moral. Dan kinerja tim pasti jadi lebih baik. Pelajaran juga untuk saia sendiri.

Tim saia submit 9, padahal peringkat 30 submit 11 nomer. Wah, kalau sudah begini tinggal berharap kalau tim-tim atas ada yang salah di suatu test case. Kali-kali aja ada kesempatan masuk 30 besar. Soalnya diantara semua tim dari kampus saia, tim saia yang submit paling banyak.

Kalau lolos 30 besar, bisa ada tantangan lagi. Kalau nggak, yah itung-itung pengalaman lah. Toh masih mahasiswa semester 4, tahun depan bisa ikutan lagi dengan persiapan yang lebih matang. Pinginnya sih, paling nggak sampai babak final di Bandung. Doakan aja lah...
read more...

Jalan Menjadi Programmer - Pengantar

Mar 8, 2009

Sebuah kisah kecil perjalanan hidup saia

Posting ini, awal dari satu bagian aliran cerita hidup saia. Seperti judulnya, ini adalah cerita perjalanan sisi saia sebagai programmer. Mumpung masih belum jauh-jauh amat, daripada saia lupa, saia coba untuk nulis kisah ini, meskipun saat saia nulis posting ini, saia bahkan belum benar-benar ngerti konsep pemrograman thread di Java. Saia masih programmer kelas teri yang belum bisa bikin animasi pakai Java. Saia hanya berharap tulisan ini bisa menginspirasi yang lain, dari hal yang bisa dipelajari sampe kebodohan saia yang nggak perlu dicontoh. Saia nulis semua ini juga buat saia sendiri, agar bisa menjadi satu bacaan di masa mendatang, saat saia sudah jauh lebih baik dari sekarang. Haha, pasti nantinya saia akan ketawa-ketawa sendiri.

Karena saia berharap ini bisa jadi inpirasi banyak orang, saia akan menuliskannya secara umum saja. Tapi tetap dengan memasukkan pengalaman-pengalaman pribadi saia, sebagai pelajaran yang patut dicontoh atau ditertawakan (kebangeten kalau sampe gitu). Saia juga akan menuliskan tips-tips yang saia dapat selama saia belajar pemrograman.

Saia awali dari saat saia mengenal apa yang disebut dengan pemrograman. Bicara masalah pemrograman, pasti ada yang namanya pseudocode. Nah, pseudocode inilah asal mula saia mengenal pemrograman. Kalau ngelihat saia yang sekarang ini, saia dibilang lebih pintar dari teman saia dalam masalah pemrograman. Saia tegaskan, "saia dibilang", jadi bukan saia yang narsis atau congkak. Nah, mungkin ada yang bertanya-tanya kenapa bisa kayak gini. Apa karena saia sudah mulai belajar dari awal (karena sejak kecil saia sudah mahir komputer - tapi bukan pemrograman.red)? Atau karena saia suka belajar setiap hari setiap malam? Atau karena saia punya roh komputer yang bisa saia oversoul (sok shaman king)?

Saia memang sudah mahir komputer sejak kecil. Semasa SMP dan SMA saia sudah mendapat apresiasi lebih, bersama sahabat dekat saia yang sama-sama cinta komputer. Tapi itu hanya komputer, sebatas penggunaan hardware dan software, belum sampai pemrograman. Bahkan sampai saia memegang ijazah SMA saia, saia nggak tahu apa itu looping ataupun sekedar perintah printf() di bahasa C. Jangankan itu, yang namanya bahasa C saja belum exist di otak saia. Paling-paling yang baru tahu cuma html sederhana.

Masalah belajar, bisa tanya orang tua saia. Hari-hari saia selama SMP dan SMA, kalau di rumah pasti isinya main game melulu. Sudah nggak kehitung berapa investasi saia ke rental cd game di kota saia ini. Waktu SMP malah, kalau habis pulang sekolah, pasti balapan sampe game center langganan, main CS. Apalagi kalau liburan, bisa dari game center buka, sampe mau tutup. SMA juga nggak ada bedanya. Bareng sohib saia, cepet-cepetan namatin game. Jadi begitu sampe rumah, tujuan utama pasti ruang komputer. Saia sama sekali nggak ada jam belajar tetap. Nilai saia termasuk bagus karena saia belajar SKS dan entah kenapa bisa tahu jenis soal-soal yang bakalan keluar.

Masalah oversoul, itu nggak penting dan nggak ada hubungannya, bahkan nggak logis.

Karena saia suka komputer, saia putuskan untuk kuliah di universitas yang ada jurusan komputernya, entah Teknik Informatika, Ilmu Komputer, Teknologi Informasi, Teknik Komputer, atau Manajemen Informatika. Pokoknya selama saia bisa bersama komputer, saia lakukan. Akhirnya saia kejeblos di kampus saia sekarang, Universitas Ma Chung dengan program studi Teknologi Informasi. Ada perasaan menyesal dan bersyukur masuk universitas ini. Akan saia posting lain kali.

Nah, baru di jenjang universitas ini saia mengenal pemrograman. Dari mata kuliah Dasar Sistem Komputer (DSK), saia mengenal pseudocode, algoritma yang masih super simpel, dan beberapa dasar pemrograman. Jadi, kalau ada teman-teman yang bilang saia sudah start duluan itu salah. Saia start bareng-bareng, malah bisa dibilang lebih lambat dari teman yang sudah dapat pemrograman di SMA.

Buat yang belum tahu, pseudocode adalah bahasa penghubung antara bahasa manusia dengan bahasa pemrograman. Jadi dari alur-alur program, dibuat penulisan yang lebih dimengerti manusia tanpa syntax yang menjemukan.

Dari sini saia menyentuh dunia pemrograman. Tapi tetap, mahasiswa semester 1 ini (baca: saia) nggak tahu apa itu bahasa pemrograman. Yang dimanakan variable pun saia nggak tahu gimana cara bikinnya. Di semester 2, saia baru mengenal bahasa C di mata kuliah Algoritma dan Pemrograman 1 (Alpro 1). Kalau lihat nilai mata kuliah ini, saia paling tinggi di angkatan saia (baca: peringkat pertama). Tapi jangan disangka dulunya begitu praktikum pertama saia langsung bisa. Kalau nggak salah, ada soal untuk menentukan tipe data yang sesuai. Gila amat, saia nggak ngerti itu. Beda tipe integer sama double aja nggak tahu. Apalagi waktu disuruh nulis program penjumlahan sederhana, malah bingung setengah mati.

Sekedar cerita, di praktikum pertama itu saia melakukan satu-satunya ketidakjujuran di mata kuliah ini. Saia kan nggak ada bayangan sama sekali ngerjakan soal teknis kayak gitu. Beda sama masalah sosial yang bisa dikarang sesukanya. Untungnya, karena kelas saia dapat jatah praktikum setalah kelas lain, waktu saia buka-buka harddisk, saia nemu modul yang sudah berisi, bahkan lengkap semua jawabannya. Di halaman pertama tertera nama yang belum saia kenal waktu itu. Karena saia nggak ngerti apa-apa, ya saia contoh saja tanpa analisa. Tapi sekarang saia tahu kalau dia juga salah satu pemegang nilai tertinggi di angkatan saia. Jadi, di modul praktikum pertama itu, saia benar-benar kelabakan, untuk sekedar menentukan tipe data, melakukan perintah penjumlahan, dan beberapa soal kecil lainnya. Bodoh kan saia?!?!

Tips: Kalau kamu dapat jatah praktikum setelah kelas lain, coba buka-buka harddisk komputer lab yang kamu pakai. Kalau beruntung, kamu bisa nemukan modul milik kelas sebelumnya yang sudah selesai. Kalau lagi sial, paling nggak ya nemu modul kosongan. Jadi nggak usah repot-repot download modul dulu. Tapi kalau itu terus kamu lakukan, bisa saia pastikan kamu adalah orang yang nggak suka tantangan.

Nah, dari situ saia coba berubah. Dari yang dasarnya malas-malasan kalau di kelas, dari yang baru menikmati rasanya belajar saat ujian, jadi sedikit lebih maju. Saia buka lagi modul itu di rumah, eh ternyata setelah dibaca sebentar sudah paham. Malah keasyikan nyoba-nyoba lagi. Karena dasarnya saia orang yang suka logika, muter-muter program jadi menyenangkan.

Tips: Tanamkan persepsi kalau kamu suka pemrograman. Di bidang lain pun, selama kamu suka pasti ada jalan menjadi bisa. Tapi kalau dasar persepsinya sudah nggak suka, pasti sulit untuk menjadi bisa. Karena kalau kamu sudah suka pemrograman, nggak ada yang namanya belajar pemrograman, tapi yang ada adalah bermain pemrograman. Dan itu pasti menyenangkan.

Nah, seperti yang saia tulis di atas, bahasa C adalah bahasa pemrograman pertama yang saia kenal (setelah html super sederhana). Selama mata kuliah Alpro 1 itu, saia terus memakai bahasa C. Posting berikutnya, tentang gimana perjalanan saia bersama C selama 1 semester itu di mata kuliah Alpro 1. See ya.
read more...

Next Schedule: Accoustic Saboten

Mar 5, 2009

Yup, tentang panggung berikutnya

Sudah hampir seminggu nggak posting karena suatu alasan khusus, saia kembali lagi dengan ritual band saia berikutnya. Senin depan, tanggal 9 Maret 2009, band saia ada jadwal manggung di rumah makan ala jepang, Saboten Shokudo. Panggung kali ini cuma kecil-kecilan (baca: akustikan), start sekitar jam 7 malam sampai selesai. Meski tetap dengan mendompleng nama J-Zone, band saia mencoba untuk lebih dikenal lagi. Nggak ada yang spesial di acara kali ini, karena acara ini sebenarnya sudah rutinitas di Saboten, kerja sama dengan J-Zone. Jadi, yang bakal main nggak cuma band saia saja, ada beberapa band lainnya juga yang bakal tampil malam itu.

Satu hal yang saia sayangkan, saia nggak bisa bawa alat milik saia sendiri di acara ini. Maklum, gitar akustik-elektrik kesayangan saia sudah lama saia jual, tapi sampai sekarang belum dapat penggantinya (baca: nggak ada duit buat beli). Padahal saia orang yang cocok-cocokan kalau main gitar. Kalau nggak cocok, main saia pasti nggak all out dan banyak miss. Huft, berdoa saja gitar yang nanti saia pakai bakal cocok sama saia.

Di acara kali ini, band saia bakal main sekitar 4 lagu, salah satunya lagi sendiri versi akustik. Lagu lainnya, masih rahasia. Kalau mau tau, ya datang nonton ke sana. Maunya saia sih, pakai tambahan 1-2 lagu lagi, khusus duet saia sama si vokalis. Mumpung saia lagi feel-feelnya main akustik. Nggak tau dia mau atau nggak.

Senin ini, berati di tengah-tengah waktu saia ikut kompetisi programming. Tapi saia sudah janji untuk selalu all out. Mau nggak mau ya saia harus all out di acara kali ini. Dengan segala kesibukan saia, saia harus bisa menentukan prioritas.

Sedikit flashback, masih tentang band saia. Jumat kemarin, ada evaluasi kecil-kecilan. Tapi tetap "pengadaan" evaluasi itu atas inisiatif dari saia. Tapi lagi-lagi, molor banget. Lagi-lagi, ada yang bilang nggak bisa datang. Lagi-lagi, ada yang pingin cepet pulang. Lagi-lagi, nyaris nggak jadi. Nggak ada yang tahu sampai saia posting di sini, kalau ternyata waktu itu nggak jadi, saia benar-benar ambil keputusan untuk melepaskan semua perhatian saia dari band ini. Lha buat apa ngasih perhatian buat yang nggak mau dikasih perhatian? Masih banyak hal lain yang bisa saia kasih perhatian.

Untungnya, meski telat (baca: sangat telat) evaluasi tetap berjalan. Dari rencana awal jam 6 sore (dengan estimasi bakal ada yang telat), acara mulai sekitar jam setengah 9, dengan berbagai alasan. Contoh: Ada yang nggak mau saia barengi, soalnya ngaku-ngaku bisa sendiri. Eh, akhirnya yang bakal jemput malah yang arahnya berlawanan. Untungnya lokasinya pindah, jadi bisa disamperin. Ada yang ngakunya sakit, tapi waktu sampe di rumahnya, dia malah menghilang, latihan sama band satunya. Nggak emosi gimana, efektif nggak?

Sayangnya, dari sekian banyak hal yang mau saia omongin, yang sudah saia catat di HP saia, ada beberapa hal yang nggak sanggup saia omongkan. Dengan alasan, takut menyakiti, terlalu pribadi, dan... jam sudah menunjukkan hampir tengah malam. Ya, jadinya saia simpan saja sendiri, lagi. Tapi dengan nggak membicarakan hal itu, berati konsekuensinya saia harus tetap all out meski hal yang nggak diomongin itu terjadi lagi. Huft, pura-pura kuat itu nggak enak ya.

Sabtu ini, band saia bakal berkumpul di rumah saia, latihan dari jam 9 pagi sampai waktu yang nggak ditentukan. Itu berati saia harus spend waktu saia sepenuhnya untuk band saia ini. Kegiatan lainnya nggak akan saia gubris pada waktu itu. Tapi sebelum hari sabtu ini, masih banyak hal yang harus saia kerjakan. Mulai dari website yang nggak jadi-jadi, tim clover yang belum latihan, dan pengembangan diri saia sendiri dari segala aspek. Benar-benar, hidup saia kali ini penuh dengan "nada", meski tetap dengan mengikuti alur waktu yang nggak bisa saia lawan. Banzai!!!
read more...