ARTIKEL ICW
Y2K Compliant
Tanggal: 1999-04-19
Kategori: Infonet
Kurang lebih 35 minggu lagi kita akan meninggalkan tahun 1999 dan
menginjak tahun 2000. Pada tahun 2000 kelak, ada masalah yang
timbul dari penggunaan dua digit untuk merepresentasikan tahun.
Sebagai contoh untuk merepresentasikan tahun 1999 diwakili dengan
dua digit "99". Lalu bagaimana dengan format tahun depan (2000)?
akankah kita menggunakan digit "00" dan masalah apakah yang
kelak ditimbulkan jika format dua digit itu dipakai?
Berbeda dengan manusia, komputer tidak akan pernah tahu
kalau "00" tersebut dimaksudkan untuk mewakili tahun 2000. Dalam
pengertian manusia, tahun 1999 (99) mendahului tahun 2000 (00).
Akan tetapi, bagi komputer digit 00 akan mendahului digit 99.
Dengan kata lain bahwa komputer menginterpretasikan angka 00
sebagai tahun 1900. Kesalahan interpretasi tersebut akan
menimbulkan suatu masalah yang disebut dengan istilah "Year 2000
problem", "Y2K" (2k = 2000), atau "Millenium Bug".
Masalah tahun 2000 tidak hanya menyangkut penggunaan dua digit
untuk merepresentasikan tahun saja, akan tetapi lebih dalam lagi.
Menurut Robert Martin dari The Mitre Corporation, secara singkat
masalah tahun 2000 dapat melingkupi:
- Representasi tahun dalam dua digit, yang menimbulkan
kesalahan dalam proses manipulasi tanggal.
- Penggunaan algoritma yang salah dalam menentukan tahun kabisat.
(tahun 2000 adalah tahun kabisat, karena dapat dibagi dengan
400. Tahun 2010 adalah bukan tahun kabisat karena dapat dibagi
100, dan tidak dapat dibagi 400.)
- "Hardcoding" angka "19" di subroutine yang digunakan untuk
memanipulasi data, atau penggunaan digit "99" atau "00" untuk
menandai account khusus yang sifatnya sementara.
- Keterbatasan "Storage register" yang mengakibatkan overflow.
Masalah yang dapat ditimbulkan adalah:
- Masalah Hardware :
Banyak PC yang masih menggunakan BIOS lama, yang menggunakan
dua digit untuk merepresentasikan tahun.
- Masalah disoftware
Perangkat Lunak mengalami masalah sudah dalam disainnya. Apabila
menggunakan bahasa C untuk mengimplentasikan Perangkat Lunak
anda, perhatikan implementasi dari "mktime(1P)", "cftime (3C)",
"asctime (3C)", "cftime(3C)". Kemungkinan implementasi tidak
dapat disebut "year 2000 compliance".
- Masalah Operating Sistem
OS komputer juga mengalami masalah, meskipun terjadinya tidak
tepat pada tahun 2000. Sebuah sistem yang menggunakan bilangan
dalam bentuk integer (signed 32-bit) (contohnya sistem Solaris
2.X dari Sun Microsystem) menyebabkan bilangan overflow setelah
mencapai angka 214.748.364, yaitu pada tanggal 19 Jan 2038 jam
2:14:07. Sun Microsystem ancang-ancang untuk melakukan konversi
ke 64 bit Operating Sistem terbarunya.
Sistem yang bebas dari masalah tahun 2000 biasa disebut dengan
"Year 2000 Compliant". Apa definisi dari Y2K compliant? Menurut
definisi dari Interactive UNIX dari Sun Microsystems, sebuah
program dapat dikatakan "Year 2000 Compliant" jika program
tersebut dapat menerima (accept), menyimpan (store), memanipulasi
(manipulate) dan memperagakan (display) secara akurat dan tidak
berarti ganda (ambigious) tanggal dalam batas 00:00:00 1 Januari
1970 sampai dengan jam 03:12:07 tanggal 19 Januari 2038. Ini
tidak membicarakan masalah setelah tahun 2038 itu. Harapannya
pada saat itu kita sudah menggunakan Operating System 64 bit.
Perusahaan Sun Microsystems menyediakan website memperagakan
paket-paket apa saja (tentunya yang menggunakan sistem Sun) yang
termasuk kedalam "Year 2000 Compliant"' dan paket apa saja yang
harus diupgrade.
Sumber: Tabloid "KOMPUTEK", N0.107 Minggu I April. dengan modifikasi
seperlunya. Tinggalkan komentar Anda...ke atas |