4.4.11

The Power of Procrastination

Procrastination, istilah yang baru saya kenal dari blog, lewat komen Fajri Hanny di postingan ini (maaf, komennya sudah tiada karena saya menggunakan fitur HaloScan yang sekarang sudah tidak gratis lagi).

Procrastination, atau kebiasaan menunda-nunda, adalah sifat yang tercela. Pekerjaan menunda-nunda pekerjaan (funny, eh?) disebut procrastinate, sedangkan orang yang senang menunda-nunda pekerjaan adalah procrastinator, atau dalam bahasa umumnya, deadliner...

Procrastinator memiliki motto "jangan kerjakan hari ini pekerjaan yang bisa dikerjakan esok hari"... Baginya, mengerjakan sesuatu jauh-jauh hari adalah sebuah kesalahan besar, karena fokus untuk mengerjakan hal tersebut pasti tidak begitu tinggi, dibandingkan dengan mengerjakan sesuatu dekat dengan tenggat waktu (atau tenggang waktu?), dengan adrenalin yang tinggi, konsentrasi yang tinggi, dan tingkat stress yang sangat tinggi pula.

Saat diberikan pekerjaan yang penting, maka seorang procrastinator akan memilih mengerjakan hal-hal yang kurang penting atau tidak penting. Pekerjaan penting itu baru akan dikerjakan jika ada pekerjaan yang sangat penting. Sedangkan pekerjaan yang sangat penting akan dikerjakan menjelang deadline. Sebagai contoh, postingan ini, saya sudah menjanjikan akan nge-post blog kepada Amalia Rahmah dan Fajrin Rasyid sejak lebih dari sepekan yang lalu, tapi saya justru "sibuk" bermain game, ngeplurk, dan melakukan kegiatan yang nggak guna. Blog ini baru ditulis setelah saya mulai merasa inilah waktu untuk mengerjakan tesis. Dan jangan salah, di tengah-tengah menulis blog ini, ajakan dari Sherry Bayu untuk bermain boardgame jelas tidak akan saya lewatkan. Di sini terlihat pentingnya prioritas, dan saya melakukan itu dengan baik, meskipun tidak dengan benar :D

Untuk seorang mahasiswa, seorang procrastinator biasanya memiliki sifat yang cukup unik. Misal, terdapat sebuah tugas yang batas waktu (biar gak bingung tenggang vs tenggat) pengumpulan seharusnya 2 hari lagi, kemudian diundur oleh sang dosen yang baik hati menjadi 1 minggu kemudian. Mahasiswa procrastinator mungkin saja merasa kecewa, dengan alasan sudah ada tugas lain ber-deadline minggu depan, sehingga akan sangat sulit baginya untuk mengerjakan beberapa tugas sekaligus menjelang deadline tersebut. Dan ini benar-benar terjadi. Ini kisah nyata! *apa sih, Zak*

Pun saat pemberian tugas oleh sang dosen (atau asisten), bukan apa tugasnya, bagaimana mengerjakannya, atau sesulit apa perkiraan dia tentang tugas yang akan ada di benak seorang procrastinator, yang ada di benaknya hanyalah kapan deadlinenya, dan nantinya 2-3 hari sebelum sang deadline, dia bertanya kepada yang lain tentang tugas yang harus dikerjakan. Disinilah ke-fardhukifayah-an adanya orang yang tidak deadliner.

Dibalik segala keburukan procrastinator, saya pribadi berpendapat procrastination bukanlah sifat terburuk seorang mahasiswa. Walau tingkatannya mungkin di bawah Ngemeng Engineering, akan tetapi masih ada dua hal yang menurut saya pribadi masih lebih rendah daripada procrastination. Yang pertama adalah GB, alias Gaji Buta, dan yang terburuk adalah kebiasaan mencontek.

Akhirul kata, salah seorang rekan saya, bernama Hasanul Hakim pernah berujar, "mendingan deadliner daripada nggak. Kalo nggak deadliner, semua waktu habis buat ngerjain tugas, kalo deadliner, waktu kerja cuma 2-3 hari, sisanya bisa senang". Sekian

5.3.11

Sepenggal Kisah Lalu

Kemarin di tengah-tengah pelajaran Knowledge Representation and Ontologies, saat itu sang dosen sedang membahas tentang formalisasi Unified Modeling Language (UML) ke First Order Logic, tiba-tiba pikiran ini melayang ke masa-masa paling indah, masa-masa di sekolah. Pada saat itu saya bertanya-tanya, "kok di kelas malah pikirannya kemana-mana?"

Oke, itu tidak penting. Entah bagaimana caranya, tiba-tiba terbayang masa-masa SMP, saat saya masih lugu dan lucu (sekarang udah gak begitu lugu, tapi masih lucu yang jelas). Perlu diketahui, sampai akhir SMP saya benar-benar bertolak belakang dengan jelangkung. Makhluk itu, tidak peduli dengan eksistensinya, (menurut tagline film yang berjudul sama) "datang tak dijemput, pulang tak diantar". Nah, saya sampai selesai SMP masih diantar-jemput oleh supir di rumah.


Skip this paragraph, please!! Sebelum masuk ke tahap yang lebih jauh, saya akan sedikit membahas terminologi yang saya garis bawahi. Menurut de Morgan's Law, negasi dari konjungsi dua buah proposisi adalah disjungsi dari negasi masing-masing proposisi, atau dalam bahasa matematikanya ~(A^B) = ~AV~B. Pada kasus di paragraf kedua, bentuk negasinya sebenarnya cukup "datang dijemput atau pulang diantar", akan tetapi jika keduanya benar, sebenernya tetap benar, oleh karena itulah saya gunakan frase BENAR-BENAR.

Kembali ke masalah SMP tadi. Akibat hal tersebut, saat yang paling saya sukai adalah Minggu pagi, karena hari itu ada ekstrakulikuler bulutangkis di sekolah. Selain itu yang "menyenangkan" adalah kebebasan jam pulang karena saya pulang sendiri naik angkot. Hal yang menyenangkan lainnya, selain bulutangkis dan kebebasan waktu pulang, adalah saat diantara keduanya.

Tiada banyak yang saya (dan teman-teman) lakukan di masa itu. Jajan, jalan-jalan (tidak lama juga), menghirup udara Bandung yang (dulu masih) segar. Tapi entah mengapa, kadang hal-hal kecil dan sederhana seperti itu terasa luar biasa menyenangkannya.

Dan tadi saat "layangan" pikiran itu kembali ke kelas, barulah kusadari, terasa betapa "menderitanya" kehidupanku saat ini.

1.3.11

24, 25, and 26....

... adalah batas usia youth di sebagian besar wilayah Eropa. Untuk selanjutnya, istilah youth akan diganti dengan kawula muda.

Itulah salah satu alasan, jika ingin berkuliah di Eropa dan berjalan-jalan adalah salah satu tujuan sampingan utama (tujuan sampingan yang diutamakan), bersegeralah! Hal ini juga berlaku jika bepergian ke Eropa hanya untuk berjalan-jalan. Alasannya jelas, perusahaan-perusahaan transportasi (umumnya transportasi darat) dan tempat wisata umumnya memberikan harga yang berbeda, lebih murah tentunya, untuk mereka yang masuk kategori ini. Lebih lanjut, jika memang terdaftar sebagai mahasiswa, ada kemungkinan mendapat diskon lebih (atau, mereka yang mendapat diskon hanya mahasiswa yang kawula muda, atau kawula muda yang mahasiswa). Sayangnya hal ini tidak berlaku untuk restoran-restoran atau tempat makan.

Tidak ada penjelasan mengenai aturan resmi, tiap negara, bahkan tiap tempat bisa memiliki aturan yang berbeda. Mungkin saja untuk masuk bangunan A di kota X, ada diskon untuk mereka yang berusia dibawah 25 tahun, tapi bangunan B di sebelahnya memberi diskon untuk mereka yang berusia dibawah 26 tahun. Atau bangunan C memberi diskon untuk mereka yang berusia dibawah 25 tahun dan mahasiswa, atau mungkin saja bangunan D memberi diskon untuk mereka yang mahasiswa, tidak peduli usianya, atau beberapa aturan yang tidak tercakup disini, seperti, hanya mahasiswa yang berkuliah di Uni-Eropa saja yang mendapat diskon, dan sebagainya.

Saya sendiri cukup beruntung dalam kasus ini. Sewaktu di Portugal, harga tiket transportasi (bulanan) berbeda untuk mereka yang berusia dibawah 24 tahun DAN berstatus mahasiswa di Portugal (diskon 50%). Sedangkan sekarang di Italia, harga tiket transportasi (tahunan) berbeda untuk mereka yang berusia dibawah 26 tahun DAN berstatus mahasiswa di Italia (harga khusus, 100 euro per tahun untuk seluruh alat transportasi murah dalam satu regional). Andai kasus perpindahan saya dibalik (dari Italia ke Portugal), saya tidak akan mendapatkan kemudahan itu di Portugal tentunya.

Demikian dan terima kasih.

24.2.11

Not so important posting...

Perjalanan yang kutempuh selama 5 hari ke Lisbon kemarin telah memberikan cukup banyak pelajaran.

Bukan hanya bahwa tidak semua orang memiliki cara berpikir yang sama terhadap suatu masalah apalagi untuk memahami pandangan yang berbeda tersebut, bukan pula sekadar mengetahui bahwa hidup saya yang hampir satu tahun di wilayah ibukota Portugal tersebut ternyata masih belum cukup untuk mengetahui, apalagi memahami, sejarah kota itu. Bukan pula menyadari bahwa perjalanan Bolzano-Milano membutuhkan waktu lebih lama daripada perjalanan Milano-Lisboa.

Lebih dari itu semua, menyadari arti penting seorang sahabat dan lebih kepada penjagaan diri, karena sebuah kesalahan "kecil" di masa lalu dapat mengakibatkan luka yang dapat menjadi penyesalan di masa yang akan datang.

Untukmu, sahabatku, terima kasih untuk maafmu dan pelajaran hidup yang telah kau berikan. Lupakan masa itu dan tataplah masa depan yang, Insya Allah, lebih cerah.

16.12.10

"Clean" Programming Check-List

Alhamdulillah, masih bisa mempertahankan (at least) one post per month...

Kali ini, seperti yang tertulis di judul, saya akan sedikit membahas mengenai checklist memprogram, atau dalam bahasa Bu Inge-nya, "Sudah seberapa 'bersih'-kah kamu memprogram?" Saya "berani" membawa topik "kebersihan" program karena, meski ada tulisan tentang Why can't programmers program, saya cukup yakin bahwa pembaca blog ini terdiri "hanya" dari dua tipe saja:
  1. Teman/saudara/kerabat/handai Taulan (TSKHT) saya
    • TSKHT saya yang pernah berurusan dengan dunia pemrograman. Anda pasti bisa memprogram!
    • TSKHT saya yang memang tidak berurusan dengan dunia pemrograman (kayanya sebentar lagi bakal nutup tab ini deh :( )
  2. Orang "lewat"... Jika Anda masuk kategori ini, saya yakin Anda bisa memprogram... Soalnya kalo nggak, gimana caranya bisa nyasar ke blog ini... Wong Page Rank-nya aja cuma 3/10...

Dengan asumsi demikian, Anda pasti bisa memprogram atau tidak pernah berurusan dengan dunia pemrograman... Oleh karena itu, tidak ada salahnya memeriksa kebersihan kode seseorang yang memprogram (!= programmer). Berikut ini daftar yang "dikeluarkan" oleh Bu Inge dalam memprogram: (dalam kasus ini, saya menggunakan Java)

  1. Tidak pernah menggunakan break ataupun continue, so instead of doing something like this:
    int ans = -999;
    for(int i = 0; i < strArr.length; i++){
        if(strArr[i].equals("elvi")){
            ans = i;
            break;
        }
    }
    akan jauh lebih baik jika memperbaikinya menjadi begini:
    int ans = -999;
    {
        boolean found = false;
        for(int i = 0; i < strArr.length && !found; i++){
            if(strArr[i].equals("elvi")){
                ans = i;
                found = true;
            }
        }
    }
    Ini memang "ujian" paling berat, apalagi dari segi panjangnya kode, kode kedua lebih panjang
  2. Tidak memberi return lebih dari satu di satu fungsi, so instead of doing something like this:
    if(i == 2)
        return i;
    return i+1;
    akan jauh lebih baik jika memperbaikinya menjadi begini:
    int ans;
    if(i == 2)
        ans = i;
    else
        ans = i+1;
    return ans;
    
    atau untuk memendekkan kodenya, menjadi seperti ini:
    int ans = i;
    if(i != 2)
        ans++;
    return ans;
    
  3. Tidak memberi return di prosedur (void), so instead of doing something like this:
    public void voidA(int x){
        if(x == 2) return;
        else {
            // do something
        }
    }
    akan jauh lebih baik jika memperbaikinya menjadi begini:
    public void voidA(int x){
        if(x != 2) {
            // do something
        }
    }
  4. Tidak melakukan kesalahan-kesalahan "konyol" memprogram, so instead of doing something like this:
    int i = 0;
    boolean found = false;
    while(!found){
        // do something
        if(/* something happened*/) found = true;
        i++;
    }
    i--;
    or this:
    int i = someFunction();
    if(i == 1){
        // doing something that doesn't change the value of i
    }
    if(i == 2){
        // doing something
    }
    akan jauh lebih baik jika bagaimana? Saya serahkan kepada pembaca untuk menjawabnya...
  5. Tidak cetak-cetek pulpen :D
    Karena cetak-cetek bulpen adalah awal dari kegilaan dunia... Hehehe...
Mungkin banyak, termasuk saya, terutama yang sudah masuk di dunia "nyata" mempertanyakan pentingnya "kebersihan" dari program, tapi saya sendiri sampai saat ini melihat hal diatas sebagai keindahan pemrograman... Meski sama sekali tidak menutup kemungkinan saya melakukan satu (atau lebih) kesalahan diatas, terutama saat kepepet dikejar deadline(eniwei, istilah yang bener untuk batas akhir pengumpulan (tugas, dkk) adalah deadline bukan dateline)


Terakhir... Pesan yang selalu disampaikan oleh Bu Inge kepada anak didiknya "Anakku, jadilah orang waras di dunia yang sudah gila ini"