Kita tahu, orang tidak suka lambat. Kita mengerti orang tidak senang dengan aplikasi atau website yang berjalan lambat. Ataupun aplikasi yang rakus memakan memori. Bahkan website yang memakan waktu loading lebih dari beberapa puluh detik sudah beresiko langsung ditutup.
Untuk mencegah hal-hal itu, maka di dalam dunia programming dikenal dengan istilah optimasi code. Sebetulnya optimasi tidaklah terbatas pada masalah kecepatan, tetapi juga bisa hal lainnya seperti kapasitas harddisk, konsumsi memori, graphic card (khususnya computer game), tergantung bagian mana yang ingin dioptimasi. Masalahnya untuk penulisan code yang optimal bukanlah tanpa trade-off atau pengorbanan. Dalam beberapa kasus mereka bisa langsung menulis code yang optimal tapi di kasus lain, mereka harus memeras otak sekian lama baru ditemukan.
Akhirnya muncul pertanyaan yang menggelitik penulis. Sampai batas mana sang programmer harus mengoptimasi code-nya? Kapan dia harus memulai optimasi dan kapan dia harus berhenti?
Pendapat penulis pribadi, menulis code yang optimal hanya dilakukan jika aplikasi kita sudah selesai. Jangan pernah melakukan optimasi terlalu berlebihan. Haruslah memiliki mindset optimasi merupakan langkah terakhir dilakukan dalam pemograman dan hanya dilakukan jika memang harus dilakukan.
Mengapa? Bayangkan code yang optimal pastinya melalui pemerasan otak yang lebih intens dibandingkan biasanya. Bagaimana mungkin ketika mengejar deadline aplikasi, kita masih bisa sibuk mengutak atik hal ini? Menulis code yang optimal artinya membuat code mungkin lebih sulit dibaca, lebih gampang muncul bug. Anda tidak mungkin mengawali pembuatan program dengan berbagai code yang dalam dan penuh bug bukan?
Pemikiran kedua adalah harga hardware semakin hari semakin murah. Dibandingkan dengan biaya yang dikeluarkan untuk developer dan biaya hardware, biaya developer jauh lebih mahal, karena developer harus dibayar per hari atau bahkan per jam. Dan lagi, apakah hasil optimasi yang ditulis developer sudah pasti menjamin peningkatan kinerja yang signifikan? Hardware yang lebih canggih sudah tidak perlu dipertanyakan lagi.
Lagipula dalam dunia pemograman, optimasi tidak bisalah meningkatkan performa pada semua bidang. Misalnya, kita ingin membuat loading halaman website lebih cepat maka kita bisa menggunakan teknologi cache, tetapi harus diingat cache memakan memory.
Di sini penulis tidak mengatakan bahwa optimasi adalah buruk, tetapi penulis lebih cenderung mendukung statement Donald Knuth bahwa :” Kita harus melupakan efisiensi kecil, katakanlah 97% dari waktu: optimasi prematur adalah akar dari semua kejahatan”. Penulis merasa seharusnya melakukan optimasi bila sudah selesai merancang seluruh aplikasi, bukan pada saat awal-awal memulai menulis coding. Developer haruslah mengutamakan aplikasi mampu berjalan sesuai kriteria yang ditetapkan. Ketika aplikasi sudah selesai maka barulah memungkinkan developer untuk mencari titik permasalahan untuk dioptimasi.
Optimasi prematur adalah sumber segala bencana dan masalah. Oleh karena itu, jangan terlalu memfokus mencari code paling efisien sebelum waktunya. Bagaimana pendapat kalian?
FIND US