Informatika, Sains Logika
Comment 1

Hofstadter’s Law: A Hard to Escape Truth

Hukum Hofstadter sangat dekat bagi orang yang menangani pekerjaan kompleks atau proyek, termasuk kita mahasiswa, apalagi mahasiswa teknik informatika yang sedang mengerjakan TA. Mungkin anda pernah mendengar hukum Murphy – if anything can go wrong, it will. Sejiwa dengan hukum Murphy, hukum Hofstadter menyatakan bahwa :

It always takes longer than you expect, even when you take into account Hofstadter’s Law.

Pernyataan ini mengemukakan sulitnya memperkirakan waktu yang dibutuhkan untuk mengerjakan suatu pekerjaan kompleks. Hukum tersebut bersifat rekursif menggambarkan fenomena yang terjadi di mana-mana bahwa kita sulit menentukan kekompleksan suatu pekerjaan sekuat apa pun kita berusaha, termasuk mengetahui bahwa pekerjaan itu kompleks. Kalimat lainnya: hampir seberapapun kita memperkirakan waktu pengerjaan, waktu yang dibutuhkan pekerjaan itu untuk selesai lebih lama dari yang kita perkirakan, meskipun kita sudah memperhitungkannya (waktunya sudah ditambah dengan perkiraan delay).

Ilustrasi Penerapan Hofstadter's Law

Ilustrasi Penerapan Hofstadter's Law

This matter is strangely strikingly true, isn’t it? Terkadang kita di tengah jalan, kita baru sadar bahwa perkiraan waktu yang kita tentukan di awal ini konyol sekali. Contoh gampangnya saja lah, Anda pernah membuat ceklist atau to do list untuk esok hari. Pertama saat menulis kita yakin dengan seyakinnya hal itu bisa dilakukan esok. Pagi esoknya kita bisa tertawa melihat to do list tadi, karena betapa mustahilnya itu dilakukan. Contoh nyata lain adalah proyek pemerintah, pilih saja salah satu, terserah.

Hofstadter’s Law dikemukakan pada buku tahun 1979  Gödel, Escher, Bach: An Eternal Golden Braid oleh Douglas Hofstadter. Pada awalnya hukum ini didiskusikan dengan masalah yang tren pada tahun 1960, intelejensia buatan khususnya dalam permainan catur. Para ahli mengatakan, 10 tahun lagi IB akan mengalahkan manusia. Nyatanya 10 tahun kemudian, para ahli juga mengemukakan hal yang sama, “tampaknya IB akan mengalahkan manusia 10 tahun lagi”. Sampai berapa dekade kemudian. Konsisten kalau kata pak Windy Gambetta mah. Kemudian, hukum ini lama-kelamaan banyak dikutip oleh para programmer dalam blog mereka (dan akhirnya saya dalam blog ini), buku-buku pengembangan perangkat lunak, dan diskusi-diskusi karena – lucunya – hukum ini sangat menggambarkan kehidupan mereka.

Fenomena yang dikemukakan dalam hukum Hofstadter ini dapat dijelaskan secara psikologi sebagai persaingan antar target. Kita terkadang terlalu banyak mengeset tujuan – goal. Terkadang tidak realistis. Atau meskipun kita canangkan dengan realistis, sesuai dengan hukum Hofstadter, selalu ada tujuan-tujuan lain yang menyainginya. Misalkan tujuan kita adalah selesai implementasi TA awal April. Tetapi banyak sekali target lain seiring kita berjalan, misal menyelesaikan proyek ini, ngurus demo BBM, himpunan, hapalan quran, persiapan nikah, les TOEFL, perbaikan bahasa jepang, berbalas email, harus tidur dengan mood enak setiap hari sehingga perlu refreshing, dll. Tentu ini adalah fitrah manusia sebagai mahluk multiperan dan mahluk sosial. Akibatnya, waktu yang kita rencanakan tadi pun mundur. Hofstadter’s Law pun berlaku. Alasan lain, dalam merencanakan waktu yang telah mempertimbangkan tujuan lain, waktu yang sudah lebih panjang tadi itu justru digunakan untuk tujuan lain. Yah mirip seperti beberapa pejabat yang ‘memanfaatkan’ setiap tetes APBN yang disediakan supaya pas dengan jumlah pada proposal.

Hal lain yang mewujudkan hukum Hofstadter adalah kita tidak bisa mengetahui segala hal. Selalu ada faktor X atau masalah tak terduga di tengah jalan. Karena itulah kita menyiapkan perpanjangan waktu di awal perencanaan kita. Dalam perencanaan, supaya mudah kita memecah pekerjaan besar menjadi beberapa iris pekerjaan kecil dan memperkirakan setiap waktunya. Setiap detail dari pekerjaan kita rencanakan waktunya dan parameternya. Tetapi, hal paling bermasalah dari “masalah tak terduga” adalah kita tak dapat menduganya. Sakit. Ujian. Dipangggil ortu. Jalan-jalan yang udah direncanakan sebelum proyek. Acara himpunan. Kondangan. Munculnya saat deadline pula. Masalah tak terduga ini tentu saja akan mengganggu perencanaan yang kita lakukan.

Salah satu usulan untuk melawan hukum ini adalah rencanakan dengan tidak terlalu detail. Gunakan pendekataan umpan balik – feedback saat kita bekerja. Sesuaikan setiap waktu. Hindari perkiraan masalah yang terlalu spesifik dan jawab dengan jujur, berapa lama menurutmu hal ini bisa dikerjakan. Jawabnya mungkin sangat lama. “This answer is true. Deal with it.” tulis Eliezer Yudkowsky dalam blog Oxford University blog OvercomingBias.com.

Atau mungkin lebih baiknya, jika memungkinkan, tidak berencana sama sekali. Dengan demikian masalah tak terduga tidak terlalu menjadi gangguan jadwal.  Masih ingat perkara tubes atau tugas lain di kuliah? Saat ditanya ‘bisa ngerjain ini berapa lama’, kita jawab ‘seminggu’. Ternyata sejam sebelum deadline baru kita kerjakan. Jago kan. Terkadang pendekataan ‘magnum maju…‘ jauh lebih baik dalam mencapai target, khususnya dalam bisnis [katanya]. Atau mungkin lebih moderatnya saat berencana, kita perkirakan waktu pelaksanaan terburuk (atau mendekati) sebaik yang kita bisa berdasarkan pengalaman, lalu kalikan dua waktu itu.

Usulan lain yang agak bertolak belakang adalah dengan melakukan fokus target dan mempertahankan rencana kita dalam iris kecil-kecil tadi seketat mungkin. Gunakan pengalaman sebaik mungkin dan perkirakan efek keterlambatan setiap iris kecil tadi ke depannya sambil tetap memotivasi diri. Wallahu ‘alam…

Sebagai pengingat, lihat kembali ilustrasi perkiraan waktu proyek yang terjadi di banyak kasus pada atas artikel. Gambar saya ambil dari pranala luar, klik pada gambar untuk mengunjungi tautannya. Jangan lupa memperhitungkan hukum Hofstadter, meskipun hal ini – sesuai hukum itu juga – agak kurang signifikan.

Tidak semua hal dan semua orang patuh pada hukum Hofstadter, tentu saja. Masalah tubes dan tugas tadi contohnya. Orang yang sangat menepati jadwal juga masih ada (meskipun sangat langka dan mungkin mereka adalah orang undistractable atau tidak punya nafsu pribadi). Mereka mungkin bisa mengurangi efek hukum Hofstadter ini seminimal mungkin. Indahnya.

Oh iya, Hofstadter’s Law juga bukan hanya dibahas (atau bisa diterapkan) pada masalah waktu pengerjaan proyek ya. Secara umum, hukum ini berlaku kepada hal-hal yang secara pelaksanannya sulit atau bahkan melanggar tujuan dari pelaksaan hal tersebut. Terdapat bahasan juga hubungannya dengan masalah pemaknaan alam, rekursif, dan self referencing. Kita cenderung menyederhanakan dengan hukum-hukum, misal fisika. Psikologi dapat dijelaskan dengan biologi. Biologi dijelaskan dengan interaksi kimia. Kimia merupakan runtutan yang mematuhi hukum fisika. Hukum fisika tunduk pada teori kuantum. Teori kuantum dijelaskan oleh interpretasi-interpretasi mental yang sifatnya psikologis. Kita bisa berbohong dengan hebat jika kita percaya terhadap kebohongan kita. Dan contoh lain. Rekursif dan self referencing. Entahlah, silahkan telusuri sendiri masalah ini atau baca buku barunya Douglas Hofstadter, I am a strange loop.

Salah satu komik xkcd sangat menarik dalam menggunakan kata ‘Hofstadterially’ yakni adjektif yang digunakan terhadap semua hal yang mematuhi hukum Hofstadter.

This space intentionally left blank' is less immediately provocative but more Hofstadterially confusing

'This space intentionally left blank' is less immediately provocative but more Hofstadterially confusing.

Akhir kata, saya mengucapkan selamat kepada teman-teman yang sudah lulus masa kuliahnya, sudah lumayan berprogres tugas akhir atau skripsinya, dan sukses proyeknya. Saya juga meminta teman-teman mendoakan supaya saya bisa menyelesaikan segala amanah dan target yang sedang saya pegang, terkhusus masalah proses perkuliahan saya (baca: proses TA saya yang agak gimana gitu). Bagi teman-teman yang senasib dengan saya, mari kita saling rangkul dan membantu untuk kebaikan (dan kelulusan) kita masing-masing. Mari kita berjuang bersama, hiks… Amin…

1 Komentar

  1. Ping-balik: Menulis itu kok susah ya? « Blog Kemaren Siang

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s