Regular Ekspresi

Saturday, April 23, 2005

01. Salam Kenal

Di dunia ini memang banyak yang aneh. Jika fiksi banyak mengisahkan cerita aneh, yang terjadi pada kenyataan sehari-hari justru banyak yang lebih aneh lagi. Dahulu telepon adalah perangkat yang terpasang di rumah atau kantor. Orang harus berada di rumah atau kantor untuk menerima telepon. Sekarang, dengan telepon genggam, menerima telepon bisa dimana saja (anehnya tidak bisa dilakukan di daerah blank spot). Jika dulu melihat orang berbicara di telepon seakan seperti melihat orang sedang bicara sendiri, sekarang tidak lagi. Tapi coba lihat orang yang berbicara di telepon genggam yang pake handsfree, ada yang aneh?

Tokoh kita ini mungkin termasuk kategori aneh. Namanya Regie. Jenis kelamin pria. Nama lengkapnya, Regular. Hanya Regular, tak ada nama panjang atau nama keluarga. Dia juga tidak pernah mengenal ayahnya yang memberi nama seperti itu. Ayahnya yang programmer meninggal ketika memberinya nama. Kejadiannya kira-kira seperti ini;

Regie bayi ketika lahir sangat sehat. Ayahnya begitu bangga. Dia mendapatkan namanya setelah berumur tiga hari, ketika ayahnya sedang berbicara di telepon genggam (menggunakan handsfree), yang lalu mati. Salah seorang teman meneleponnya ketika itu, konsultasi tetang bug software yang dikerjakannya. Karena asyik bertelepon, si ayah tidak menyadari adanya perawat yang lewat dan menyapanya. Si perawat tidak tahu kalau ayah Regie saat itu sedang menerima telepon lalu sambil iseng menanyakan nama untuk si bayi. Tepat ketika itu si ayah, yang menganalisa cerita temannya dan menemukan solusinya, mengatakan dengan keras "Regular…!" Setelah itu dia ambruk ke lantai dan mati ketika itu juga.

Si perawat mengira bayi itu dinamakan Regular. Dia menyampaikannya kepada keluarga almarhum. Nama itu terdengar aneh, pasti. Tapi kematian itu begitu mendadak dan membuat shock, sehingga keanehan nama itu tidaklah mengganjal ketika itu. Seusai pemakaman, ketika wasiat di bacakan dan warisan diperhitungkan, barulah ganjalan itu terasa. Tapi seperti yang dikatakan si perawat bahwa nama itu diucapkan tepat di saat-saat terakhir kehidupan beliau, segalanya diterima sebagai wasiat dari orang yang telah meninggal. Maka bayi itu dinamakan Regular.

Menurut visum dokter, ayah Regie meninggal karena serangan jantung akibat radiasi tinggi handphone, yang ketika itu dikantongi di saku bajunya. Padahal menurut perusahaan pembuat handphone itu, juga menurut berbagai survey independen, justru handphone itu adalah yang terendah tingkat radiasinya. Tapi begitulah barang bajakan.

***

Kejadian itu terjadi pada tahun 2002. Sekarang tahun 2020 dan Regie telah berumur 18 tahun. Tahun ini adalah masa dimana era 2000 kembali mempengaruhi gaya hidup manusia. Jika di akhir millenium ada Back to 60’s dan Back to 70’s yang mempengaruhi dunia mode, Back to 2000 atau lebih dikenal sebagai Back to Begin mempengaruhi segalanya. Kehidupan, pola pikir, mode, teknologi, krisis ekonomi, semuanya. Jadi hidup di masa itu tak ubahnya hidup di tahun-tahun awal millenium 3 lalu.

Regie baru saja menyelesaikan SMU. Masih sebulan lagi saatnya pertempuran memperebutkan kursi di perguruan tinggi. Seperti ayahnya yang programmer handal, dia juga dikaruniai bakat logika yang luar biasa. Waktu senggangnya dihabiskan di depan komputer. Yang dikerjakannya, main game, bikin program, main game, ngotak-ngatik server, main game, nge-hack situs, main game, denger musik, bikin game dan bikin program. Bahasa program yang dikuasainya adalah bahasa P.

Dia juga sedang terlibat dalam pengembangan bahasa L, sebagai kelanjutan bahasa P (dua-duanya adalah turunan dari bahasa C), bersama programmer lainnya dari seluruh dunia. Cita-citanya, yang menurutnya susah untuk diwujudkan, adalah menjadi salah satu pemegang lisensi bahasa yang dikembangkan itu sehingga akan mendapat royalti untuk setiap copy bahasa L yang terjual. Padahal bahasa L itu adalah Open Source dengan lisensi GPL. Tapi toh bahasa itu baru memasuki uji coba tahap Alpha. Masih ada waktu 6 bulan lagi sampai bahasa itu mencapai rilis final. Dalam waktu sepanjang itu segalanya bisa saja terjadi.

Dia menggeliat diatas tempat tidurnya. Jam menunjukkan pukul sembilan pagi. Betapa menyenangkannya masa sekolah yang berakhir, tak perlu bangun pagi. Sepanjang malam tadi dia sibuk mengerjakan program transaksi buku online, salah satu proyek yang menghasilkan uang saku. Baru tidur jam 5 pagi, dan masalah yang coba di selesaikannya sejak sore kemarin tak juga teratasi. Padahal hanya masalah kecil, tapi itu sesuatu yang tak pernah bisa dikuasainya. Sesuatu di dunia ini yang begitu menakutkannya. Regular expression.

Udara pagi begitu segar. Dari kamarnya yang di lantai dua rumahnya dia memandang cahaya matahari yang begitu terang. Dia membuka jendela dan menghirup udara sedalam-dalamnya. Tercium bau nasi goreng dari warung sebelah. Sepagi ini ada yang beli nasi goreng? Jam sudah menunjukkan pukul 9:15 menit. Sekitar jam sembilan ini pemilik toko buku Grafidia akan meneleponnya. Apakah dia sudah meneleponnya? Di handphonenya ada misscall.

Baru saja dia akan menghubungi nomor misscall itu handphonenya berbunyi. Dari Pak Jarot si misscall.

"Halo…," sapanya.

"Halo, Reg! Kemana aja? Ditelpon-telpon nggak diangkat?"

"Maaf Pak, baru bangun."

"Dasar kutu komputer!" Kutu komputer kan artinya bug? Pikir Regie. "Gimana? Udah selesai programnya?"

"Sedikit lagi. Tadi malam saya sedang menyempurnakan tampilannya." Padahal dia kebingungan dengan regex. Tapi Pak Jarot ini mana peduli? Baginya program yang bagus dilihat dari tampilannya.

"Ya, selesaikan saja, OK? Ini sudah tiga bulan."

"Tiga bulan kurang tiga hari," ralatnya.

"Iya, iya. Saya tunggu tiga hari lagi, tapi kalau bisa secepatnya, tolong ya?" Selalu tergesa-gesa. Ditutupnya sambungan itu lalu menggerutu kecil.

Toko buku itu didirikan dan di manajeri Pak Jarot sejak dia keluar dengan tidak hormat dari pekerjaannya di toko buku Gramedia dua puluh tahun yang lalu. Dia dituduh melakukan pembajakan atas buku-buku terbitan Gramedia. Sekeluarnya dari toko buku besar itu dia mendirikan jaringan toko buku untuk menyaingi Gramedia, Grafidia. Saat ini, walau terlambat, dia ingin mengembangkan sistem penjualan buku secara elektronik dan menyerahkan pengerjaannya pada Regie. Penjualan buku bajakan begitu menguntungkan dan pasarnya begitu luas. Jaringan toko bukunya adalah yang terbesar dan dia ingin lebih besar lagi dengan memanfaatkan ecommerce. Dia menganggap segalanya bisa diselesaikan dengan cepat jika komputer telah terlibat, termasuk membuat program penjualan online itu. Regie tak terlalu suka orang ini. Pak Jarot meminta agar sistem itu dapat selesai dalam tiga bulan. Tidak ada masalah bagi Regie. Sistem itu sudah diselesaikannya dalam dua minggu, kecuali regular expression.

Masalah regular expression ini adalah trauma yang dibawanya sejak lahir. Dan setiap masalah ini selalu Om Rudi yang menyelesaikannya. Sebenarnya Regie sudah mati segan setiap saat harus minta bantuan pada Om Rudi. Tapi apa daya, menghadapi regular expresion seperti memasuki istana kegelapan dengan mata tertutup. Dia tidak bisa apa-apa. Dia tidak tahu apa-apa. Dia begitu takut dan matanya tertutup. Dia memutuskan siang nanti akan menghubungi lagi Om Rudi. Sekarang dia mau mandi lalu main komputer.

***

Mandi, makan, duduk di depan komputer. Ketiga prosedur itu sudah dijalankan. Dan program utama pagi ini adalah memeriksa email. Sederet message baru berbaris satu-satu memenuhi window new message begitu komputer itu tersambung dengan server. Yang paling banyak dari milis, satu dari Juned yang dari subjeknya langsung ketahuan minta disambangi nanti sore, dan satu lagi dari alamat yang belum dikenalnya.

Pengirim baru itu beralamat "ha!@semuanya.com." Siapa dia? Tanyanya penasaran dalam hati. Email itu kosong, tak berisi pesan apa-apa. Subjeknya pun ala kadarnya, "Salam kenal." Ada yang ingin kenalan lagi. Tapi anehnya orang ini tak memperkenalkan diri. Biasanya email seperti itu setidaknya akan memuat data pribadi si pengirim, atau sekurangnya nama. Orang ini tidak. Ada apa ya? Apakah orang ini main-main atau kecelakaan tak sengaja mengirimkan email kosong? Dibalasnya email itu.

Re: Salam kenal
Salam kenal juga. Sorry kalau mungkin kamu lupa ngasih tahu identitas kamu,
tapi saya tidak tahu siapa kamu. Kamu siapa sih?

Setelah itu dia memeriksa email-email dari milis langganannya. Rupanya masih banyak yang minta tolong dan minta dikasih tahu. Apa boleh buat, berbagi ilmu adalah pahala. Dan dia suka kegiatan berbagi ilmu. Dibalasnya satu persatu pesan yang tertuju untuknya, juga pesan lain yang dia bisa ikutan menimpali. Satu jam habis dihabiskannya untuk itu.

Dia mengatur agar hubungan dengan ISP terputus begitu download email selesai. Dan akan menghubungi lagi jika dia akan mengirimkan pesan. Dia sudah lupa email dari ha! ketika tiba balasannya.

Re: Re: Salam kenal

>Salam kenal juga. Sorry kalau mungkin kamu lupa ngasih tahu identitas kamu,
>tapi saya tidak tahu siapa kamu. Kamu siapa sih?

Hm, Regie yang penasaran. Untuk sementara rasanya saya lebih suka tidak diketahui dulu.
Tapi yang jelas saya tahu siapa kamu. Sorry kalau bikin kamu penasaran. Tapi begitulah.
Salam.

Sepertinya orang ini mengajak bermain-main rupanya. Regie suka. Tapi dia berpikir untuk mencari tahu nanti. Sekarang sudah waktunya menghubungi Om Rudi.

Di telepon Om Rudi minta dikunjungi. Regie telah tiba di rumahnya dan sedang berada di dalam markas ‘LED’, ruang kerja merangkap ruang tidur Om Rudi, memperhatikan barisan kode bermasalah. Om Rudi telah mengembangkan desktop environment berbasis 3 dimensi untuk Xwindow Linux yang dinamai LED (LED Enhanced Dimension). Dengan LED, menggoperasikan Xwindow tak ubahnya seperti memainkan game 3D dan cukup dengan menggunakan joystick. Bedanya, LED untuk mengoperasikan komputer. LED diterima luas oleh pengguna Linux dan keluarganya, terutama oleh para gamers dunia.

Kode bermasalah yang diamati Regie adalah rutin untuk LED Server. Om Rudi sedang mengembangkan LED Server yang akan memberikan lingkungan kerja bagi server game multiplayer lain. Dengan LED Server, game multiplayer akan menikmati teknologi plug‘n play. Tak perlu instalasi rumit, tinggal tancap dan mainkan. Game center akan berebut menggunakan sistem ini. Tapi pengembangannya masih bermasalah. Terlalu banyak akses super user yang digunakan, membuka celah keamanan sedemikian lebar.

Tentu saja masalahnya bukan pada kode program, tapi pada rancangan sistem itu secara keseluruhan. Om Rudi terlalu ngotot untuk membuat library sendiri. Seharusnya dia lebih banyak menggunakan library bawaan dari sistem operasi. Regie menjelaskannya.

"Begitu menurut kamu?"

"Iya, mestinya jangan dibikin begini. Library-nya Om kan membutuhkan akses super user. Lagian rutin-rutin ini nggak jauh beda dengan yang di library Linux."

"Kamu ini sama saja dengan yang lain. Maunya pake library Linux."

"Ya memang harus begitu. Semuanya juga bilang begitu. Om aja yang ngotot mau pake library sendiri."

"Jadi harus dibikin ulang dong?"

"Ah, nggak lama."

"Bantuin ya?"

"Apa lagi?"

Setelahnya Om Rudi membantu Regie menghadapi masalahnya. Regular expression, begini, bikin begitu, harus begini dan selesai. Regular expression selesai dan dilanjutkan dengan perulangan cerita itu. Bagaimana Om Rudi adalah salah satu, selain perawat rumah sakit itu, yang mendengar kata terakhir ayahnya. Ketika ayah Regie menjelaskan bug software tersebut, sampai pada kata terakhir itu, lalu tak ada lagi. Betapa namanya adalah akhir hidup ayahnya. Ribuan kali sudah Regie mendengarnya. Bahkan, sejauh kesadarannya, pertama kali memainkan komputer saat balita juga dia sudah mendengar cerita itu. Dan ibunya sering melarang segala sesutu dengan ancaman mati. Jangan main di jalan, nanti mati. Jangan main layangan, nanti mati. Jangan main pisau, nanti mati. Dia jadi takut mati.

Dan regular espression membawa alam bawah sadarnya seketika pada kematian. Dia masih membutuhkan bantuan Om Rudi untuk menghadapi yang ini. Tapi saat ini satu lagi masalah terpecahkan. Program penjualan buku online itu akan diselesaikannya malam nanti. Tapi baru tiga hari lagi dia akan menghubungi Pak Jarot, karena dia tak terlalu suka padanya.

Friday, April 22, 2005

PROLOG

Sudah lama saya ingin melakukan ini...,