Kiamat 2038

multics Tahun yang sangat populer akhir-akhir ini: 2012. Tidak lama lagi, dan entah apa yang akan terjadi. Pernah terpikir 2038? Sesuatu pasti terjadi di tahun itu.

Kiamat laris dijual. Orang-orang dari berbagai penjuru mendatangi gedung bioskop. Menyaksikan kehancuran total dunia, sambil mengunyah popcorn. Mungkin ada yang cemas, tapi banyak yang tidak. Lebih banyak yang kecewa tidak mendapat tiket masuk.

Sebetulnya kurang tepat kiamat diartikan hari kehancuran dunia. Kata ini diserap dari bahasa Arab, "Yaum al Qiyamah", yang berarti hari kebangkitan umat. Memang, fase kebangkitan terjadi setelah fase kehancuran. Kebangkitan atau kehancuran, setidaknya kiamat menandai akhir suatu zaman, beralih ke zaman berikutnya.

Nah, bukan mau latah, tapi saya jadi teringat ‘kiamat’ lain yang bakal melanda dunia komputer. Apa itu? Unix Millennium Bug atau Y2K38. Akhir zaman dari penanggalan sistem Unix. Termasuk turunannya yang sangat populer, GNU/Linux.

Dulu kita ingat, memasuki milenium baru 2000, sempat merebak kekhawatiran massal kacaunya sistem komputer. Ini akibat tahun disingkat menjadi 2 digit, sehingga membuat bingung komputer. Apakah 00 itu artinya 2000 atau 1900? Beruntung, semuanya baik-baik saja, tidak terdengar pesawat jatuh akibat Y2K bug ini.

Ada hal yang ironis di sini, yaitu manusia kerap berpikir pendek. Menyimpan 2 digit tahun dianggap bukan masalah, apalagi di era 1960-an. Padahal, data dan program bersifat permanen. Rancangan sistem yang buruk akibatnya akan jauh ke depan. Tak banyak pembuat program yang menyadari masalah Y2K hingga pertengahan 1990-an. Pembenahan baru dirasa mendesak ketika sedikit waktu tersisa.

Situasi yang mirip terulang lagi. Perancang Unix menyimpan waktu dalam format integer 32-bit. Rentangnya cukup lebar, dari 1 Januari 1970 hingga 19 Januari 2038. Mungkin alasan utama penggunaan integer adalah kemudahan dalam pemrograman. Namun lagi-lagi, batasan ini terlalu manusiawi. Kecuali ada hal-hal ekstrim, 2038 sangat mungkin terlampaui kembali.

Memang tidak mudah memprediksi masa depan. Konon Bill Gates pernah mengucapkan ini di tahun 1981, "640K ought to be enough for anybody." Saat itu, 640K adalah terobosan berarti terhadap PC 8-bit dengan 64K memory. Nyatanya, akhir zaman dari 640K terjadi lebih cepat. Era PC 32-bit segera datang dengan memory hingga ribuan kali lebih besar.

Akankah kiamat 2038 terjadi? Mudah-mudahan tidak. Tapi pernahkah disikapi terbalik, apa upaya bersama menghindari hal tersebut? Ternyata cara pikir era 1960-an masih berlanjut hingga kini, yaitu menggampangkan masalah. Alasannya klasik, legacy system, alias peninggalan masa lalu. Sejak Multics 1969 hingga Fedora Linux 2009, ukuran time_t (library C) tetap 32-bit. Alhasil, setelah tanggal 19/01/2038 jam 10:14 WIB, penanggalan berputar ke 14/12/1901.

Mengubah ini tentu tidak mudah, atau malah sangat sulit. Seluruh program dan library yang berbasis waktu 32-bit perlu diganti ke bentuk lain, misalnya 64-bit. Data yang disimpan menggunakan format waktu Unix, seperti di filesystem dan database, perlu di-upgrade pula. Program dan data bersifat permanen, mengubah berarti membuat program baru atau memindah data. Perlu niat, tenaga, dan waktu ekstra. Terlebih lagi, uang.

Bila migrasi alamiah sangat mungkin terjadi di komputer personal, misalnya dari sistem 32-bit ke 64-bit, tapi tidak demikian dengan embedded system. Linux banyak tertanam di perangkat keras, mengingat sifatnya yang open source dan gratis. Dari router, telepon seluler, GPS, hingga satelit. Tidak ada cara lain kecuali mengganti total perangkat. Gawatnya, ini bisa tersebar di mana-mana, dengan tingkat kerusakan yang tidak diketahui.

Menerawang sejenak ke depan, sejarah biasanya berulang. Menjelang tahun 2038, dunia kembali heboh dengan Y2K38. Pembenahan besar-besaran segera dilakukan. Tak ubahnya mahasiswa Indonesia, pendekatan SKS dipakai, sistem kebut setahun. Proyek besar bagi sebagian pihak. Harap-harap cemas semuanya berjalan baik.

Adakah strategi yang bisa dilakukan sekarang? Saya pikir dua hal saja. Pertama, pastikan di akhir 2012 dunia masih baik-baik saja. Kedua, mari kita tunggu 19 Januari 2038 tiba. Tak lupa berdoa kepada Tuhan, semoga diberi umur yang panjang. Semoga pula tidak ada pesawat jatuh di hari itu. Amin.

* Dimuat di PC Media Edisi 02/2010

1 Komentar »

  1. […] memperbaiki masalah yang terjadi pada tahun 2036. Kemungkinan besar masalah yang dia maksud adalah Unix Millennium Bug yang akan terjadi pada 2038.John Titor mampu menjelaskan bagaimana mesin waktu yang digunakannya […]

RSS feed for comments on this post · TrackBack URI

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