Senin, Juli 30, 2007

Migrating to Visual Basic.NET from Visual Basic 6 (7) - Summary

Migrating to Visual Basic.NET from Visual Basic 6 - Summary
(Page 7 of 7 )

To summarize, Visual Basic.NET is a totally different platform and upgrading the applications from Visual Basic 6 need to be done carefully. Most of the automatic change is handled well by the Upgrade Wizard. Yet, many a times you will have to make manual changes to the code. It is wiser to anticipate the problems that will be faced by the Upgrade Wizard. So that appropriate changes can be incorporated in the application to be upgraded.

Following steps will summarize the steps required for upgrading a Visual Basic 6 project to Visual Basic.NET
Learn .NET framework and Visual Basic.NET
Prepare your application for Upgrading
Upgrade Wizard is called automatically
It upgrades the application and creates an Upgrade Report alerting you to the errors and warnings
Read and understand the Upgrade report created by the Wizard
Make the changes wherever required

Migrating to Visual Basic.NET from Visual Basic 6 (6) - Control Changes in Visual Basic .NET

Migrating to Visual Basic.NET from Visual Basic 6 - Control Changes in Visual Basic .NET
(Page 6 of 7 )

New controls and objects in Visual Basic .NET replace the intrinsic controls, objects, and collections in Visual Basic 6.0. In some cases, the names have changed; in many cases the properties, methods, and events are different

Control Array changes in Visual Basic .NET

In Visual Basic 6, control arrays could be used for controls of same types. Visual Basic.NET does not support the control arrays.. Visual Basic.NET event handler allows an event to handle multiple controls thereby allowing the programmer to make a group of different controls that share same events.

For example, one single event handler could be written for Click event of a Button control or a CheckBox control in Visual Basic.NET, by specifying names of the controls in the “Handles “ clause of the event handler.

Though this means that Visual Basic..NET does not support index property, it can be easily simulated using Tag property of the control if the need be.

Menu Changes in Visual Basic.NET

In Visual Basic.NET, the menus are designed using MainMenu control and context menus are designed using ContextMenu control.

MDI Changes in Visual Basic.NET

In Visual Basic 6, MDI form has to be added to the project and other forms’ MDIChild property needs to be set to true. In Visual Basic.NET, any form can be made an MDI parent by IsMDIContainer property to true

Dialog Boxes in Visual Basic.NET

Instead of a CommonDialogControl like Visual Basic 6, Visual Basic.NET sports different pre defined dialog controls To show the forms modally, Visual Basic.NET uses ShowModal method.

General changes in Visual Basic.NET
Visual Basic .NET does not support the OLE container control; you should avoid using this control in your Visual Basic 6.0 applications.
There is no shape control in Visual Basic .NET. Square and rectangular shapes will be upgraded to labels, while ovals and circles cannot be upgraded. You should avoid using these in your applications.
There is no line control in Visual Basic .NET. Horizontal and vertical lines are upgraded to labels. Diagonal lines are not upgraded, and you should avoid using them.
Visual Basic .NET has a new set of graphics commands that replace the Form methods Circle, CLS, PSet, Line, and Point. Because the new object model is quite different from Visual Basic 6.0, these methods cannot be upgraded.
For the Timer control, setting the Interval property to 0 does not disable the timer; instead the interval is reset to 1. In your Visual Basic 6.0 projects, you should set Enabled to False instead of setting the Interval to 0.
Visual Basic.NET does not support DDE
Visual Basic.NET does not support Form.PrintForm method
To ensure that the form upgrades to right size, default ScaleMode twips should be used.
Windows Forms support only true-type and open-type fonts. Other fonts than these, if used in the applications will be changed to default font MS Sans Serif

Migrating to Visual Basic.NET from Visual Basic 6 (5) - Programming Recommendations

Migrating to Visual Basic.NET from Visual Basic 6 - Programming Recommendations
(Page 5 of 7 )

In general, it will ease the life of the programmers who want to upgrade their Visual Basic 6 applications, if they keep following points in mind before they upgrade the applications. If they make some necessary changes in advance to their Visual Basic 6 application the upgrade process will definitely be smoother. Let us just go through some of the points that will help application your applications in Visual Basic 6 smoothly


Though both, Visual Basic 6 as well as Visual Basic.NET support late binding, it can cause problems in upgrade process when resolving default problems. In such cases, it is better to re-write the code using early binding

Let us examine the code written Visual Basic 6 using late binding.

Dim ObjLbl as Object

Set ObjLbl = Me.Label1

ObjLbl.Caption = "Hello"

This code works fine with Visual Basic 6. But, when we try to upgrade it to Visual Basic.NET, the caption property of a Label needs to be changed to Text property. The ObjLbl is type-less and the wizard has no way of knowing what properties it is supposed to change. If you change the first line of the code to “Dim ObjLbl as Label” then the code upgrades just fine.


Another thing to remember is the Date data type. We should use Date data type for storing dates because, unlike Visual Basic 6, Visual Basic.NET does not support double data type for storing dates.

Default Properties

It will help smoother upgrade if you specify default properties of the controls used in the code. In the above-mentioned code, using ObjLbl.Caption=”Hello” instead of using just ObjLbl = “Hello” will help the wizard in resolving the default property. Though the wizard will try to find out the default properties, it will not be always be successful. Again late bound default properties will inevitably fail.

Zero Bound Arrays

Visual Basic 6 supports arrays with lower bound even other than zero. You have to set the lower bound with LBound statement. When an application with array other than zero is upgraded, the Upgrade Wizard issues an UPGRADE_WARNING saying that the array is converted to LBound zero.

Windows APIs

As the underlying OS is the same, most of the API calls can be used in the same way. Some data types like Long are different than the Visual Basic 6 though here the Upgrade Wizard can take care of the changes. In some cases like Fixed Length Strings that Visual Basic.NET does not inherently support, can cause a problem for the Upgrade Wizard. Also, APIs that support thread creation or windows subclassing can cause a problem in Visual Basic.NET

Considerations for Forms and Controls

In general, we can say that keeping following changes in mind will help us in upgrading the Visual Basic 6 projects.

Forms tasks changes in Visual Basic.NET
Unlike Visual Basic 6, the tab order can be set using the Tab Order from View menu in Visual Basic .NET
Determining modifier keys for mouse and keyboard events is very different from Visual Basic 6. We have to find out value of the key using the keys enumeration and compare it to the class’s modifier method.
When we are aligning and sizing a control in Visual Basic 6, the last control in selection is the reference whereas in Visual Basic .NET it is the first control
For deciding the runtime position of the Form, Visual Basic 6 uses Startup property while Visual Basic .NET uses StartPosition property. Also, instead of Left and Top properties, Visual Basic.NET uses Location property by setting it to a point object
In Visual Basic .NET a GroupBox control is used instead of a Frame
In Visual Basic .NET, a controls collection used instead of a control array to iterate through the controls on the form.

Migrating to Visual Basic.NET from Visual Basic 6 (4) - Upgrade Report

Migrating to Visual Basic.NET from Visual Basic 6 - Upgrade Report
(Page 4 of 7 )

We will have to check up with the Upgrade Report created by the Upgrade Wizard to find out what has happened. The report will be available in the Solutions Explorer. Double click it to open. Expand the Form2 node and you will see that the Upgrade Wizard has not been able to resolve the caption property of the Label1 on Form1.

Visual Basic .NET offers a different Windows Forms package. Which is provided by .NET framework.. Windows Forms and Windows Forms Controls provide a richer interface for developing Windows applications. This means that there are a number of differences between Visual Basic 6 forms and controls and Visual Basic.NET.

Now, open Form1 in the designer by double clicking on it. First thing to be noticed is the ToolTip Control. Remember Visual Basic.NET does not have ToolTip property for the objects? So, what it is trying to tell you is, if you want a ToolTip, add the control to the form.

Code changes

Let us now examine the code. The End command Button and Command2 Button do not require any modifications to the code. So, has the Upgrade Wizard really done any modifications to the code at all? Check the Form2 Command Button. Where is our call to the Show method of Form2?

Aha, here is where we see the real difference in Visual Basic 6 and Visual Basic.NET approach. Visual Basic.NET treats Forms as objects that belong to a class just like any other object and has to be instantiated before calling its methods. The DefInstance property creates an instance of Form2. This could have been handled by using New keyword, but this is just the Wizard’s choice!

Now, open the Form2 code and rectify the error.

Change this code:

Label1.Text = frmdisplay.Label1.Caption


Label1.Text = Form1.DefInstance().Label1.Text

The application now runs smoothly.

Now, why did we have to do the modifications ourselves? Why could the wizard not do it? There are two solid reasons for this.

1) There is no exact one to one corresponding way to write the code between Visual Basic 6 and Visual Basic.NET

2) Visual Basic 6 code supports late binding and Visual Basic.NET does not.

Whenever the code encounters situations where it can not change the code, it prefers to draw programmer’s attention to the problem and let the programmer do the job himself. There are four different types of warnings the wizard issues with the help of TO DO comments.
UPGRADE_ISSUES: Indicates compilation errors. These need to be corrected before the application can be compiled and run
UPGRADE_TODO: Though the project compiles well, there will be run time errors
UPGRADE_WARNINGS: Though the project compiles, there may be run time errors
UPGRADE_NOTE: This is a comment for information only. II tells us about any significant modifications handled by the wizard.
Also, when we open the code for Form1, we see it presented differently. Again, Option Explicit is automatically turned on and Option Strict turned off, allowing you to do some implicit conversions.

The block labeled Windows Form Designer also contains code for the design of the form. It tells us how the components on the form are generated, their locations, sizes etc. Though we can manually change this code, it is always a better idea to leave it to the designer. If we need any changes in the look and feel of the form, we could always go back to the designer and make the changes, isn’t it?

Jumat, Juli 27, 2007

Migrating to Visual Basic.NET from Visual Basic 6 (3) - Upgrade Report and Comments

Migrating to Visual Basic.NET from Visual Basic 6 - Upgrade Report and Comments
(Page 3 of 7 )

We have time and again discussed that Visual Basic.NET is not a Visual Basic 6 Deluxe, but a totally different and an altogether new platform, which is compliant to .NET Framework. This does mean that there is no straightforward way to upgrade the existing Visual Basic 6 applications.

Though the Upgrade Wizard handles many of the tasks for us, we have to do some modifications to the code manually. The different programming styles, some ambiguities like late binding, some not supported functions make it impossible to automate the task completely. Upgrading manually will not be possible without knowing Visual Basic.NET and the .NET framework. In other words, there is no shortcut for upgrading your existing applications. You have to learn Visual Basic.NET

Upgrading Your First VB6 Application

Unless we are using Standard edition of Visual Basic .NET, upgrading Visual Basic 6 applications is an almost automatic process in Visual Basic .NET. When you open a Visual Basic 6 application in Visual Basic.NET, the Upgrade Wizard steps in to guide you through the upgrade process. It creates a new Visual Basic.NET application leaving the original project untouched. When the project is upgraded, most of the code is modified to support new syntax and Visual Basic 6 forms are converted to Windows Forms. But, in most of the cases some manual modification is required because certain language features do not have any equivalent in Visual Basic.NET and also the automatic upgrade might not take any advantage of the new features in Visual Basic .NET.

The Upgrade Wizard provides us with following options wherever available.

1) What type of project to create:

If the type of project chosen for upgrading is an ActiveX Exe or ActiveX Document Exe project, we can choose to upgrade it to either exe or dll project. The all the other projects this option is not available and the only other option available is already selected.

2) Generate default interfaces for all public classes

If the project chosen is not a Standard Exe project, then this option specifies how interfaces will be generated in the new project. By default, interfaces will only be generated for public classes that are implemented by other classes in the project. If all public classes option is selected, interfaces will be generated for all public classes even if they are not implemented

3) Location for the project:

This option lets us choose the folder for our new project. By default the project will be placed in a child folder of the current project. Default name of the new project will be projectname.NET.

After the upgrade is complete, the Upgrade Wizard creates an Upgrade report for the project, itemizing the problems if any. It also adds comments to the converted code. They are displayed in the task list window as “To DO” task. Each task is associated with a help topic with a link.

Let us now put the Upgrade Wizard to some work

Create a Project in Visual Basic 6
Add 3 Command Buttons, A Text Box and a label to the form. Name the Command Buttons: Cmdend, cmdForm2, command2

Add Following Code
To the Click event of Cmdend, just add End
To the Click event of Command2, Ask some Text to be displayed in the text Box
In the Click event of the cmdForm2, just add Form2.Show
Give the Label1 some caption.
Add a second form
Have a label on it
In the form load event of this form, add Label1.Caption = Form1.Label1.Caption
Add a Command Button and in the click event just add Unload Me
Run and test the project in Visual Basic 6.
When you are sure that the project is running alright, save it and close Visual Basic 6. This is an important step. Unless the project is running well, the comments and report by the Upgrade Wizard might not be useful. Either the wizard may generate wrong code or might not know what to do.
Open Visual Basic.NET and open the same project. The Upgrade Wizard starts automatically with a welcome screen.

Click on the next button to get the next screen that selects the type of project to be created

As ours is a Standard Exe project, only Exe option is available.

Now, let’s go to the next step and finalize the location of our project.. This done, the wizard just shows its progress while it processes the project. Now that the wizard has upgraded the project, let us examine the report created by it check if any manual changes are required.

Migrating to Visual Basic.NET from Visual Basic 6 (2) - Upgrading to Visual Basic.NET

Migrating to Visual Basic.NET from Visual Basic 6 - Upgrading to Visual Basic.NET
(Page 2 of 7 )

Though VB.NET is a next version of Visual Basic, it takes quite a different approach to development of applications. Visual Basic..NET shifts focus from traditional development of applications to n-tier or web applications. Since, this was a total change of approach, rather than adding new features to the existing version, Visual Basic has been redesigned to facilitate rapid development of these applications.

VB.NET is now fully integrated with other Microsoft .NET languages. We can now use cross language support to develop the Web and n-tier applications easily. To provide full access to the platform and to ensure that Visual Basic moves to the Web development, it was necessary to build an altogether new platform. In order to take full benefit of this, the Visual Basic 6 projects need to be upgraded to Visual Basic.NET.

Once again, due to its totally different nature, upgrading to Visual Basic.NET is not as straight forward as opening a project from Visual Basic 6 in Visual Basic.NET and running it. Though Visual Basic.NET provides a wizard for the job and it automates the task fairly well, there are quite a few things that the developer will have to look into and handle manually.

Architecture Recommendations

The .NET improves upon Visual Basic 6 architectures adding greater support for scalability and distributed applications through ADO.NET’s disconnected data access. Whenever upgrading from Visual Basic 6, it will be beneficial to keep the following points in mind.

Browser Based applications
Use Microsoft multi-tier architecture guidelines, create interface in ASP and develop business logic using Visual Basic
It is mostly not possible to upgrade the DHTML applications and it is best to leave them in Visual Basic 6
ActiveX documents are not supported in Visual Basic.NET. They should either be left in Visual Basic 6 or should be converted to UserControls
Client Server

We should keep in mind that Visual Basic.NET uses a new form package. Though largely compatible, Windows Forms has a different object model.

Visual Basic.NET introduces new middle-tier component, Web Services. Web Services are hosted by ASP.NET and use the http transport. This facilitates penetrating the firewalls. These services pass and return data using XML and hence the information can be used by any platform.

Single Tier

These are the applications that normally store data in let us say Microsoft Access. They will upgrade with some limitations. Visual Basic.NET has moved away from the old extensibility model because of its language neutral approach and hence the extensibility objects will need to be changed to take full advantage of the new model


Visual Basic.NET supports DAO and RDO in a limited sense. It does not support DAO and RDO data binding to controls, data controls or RDO UserConnection. Visual Basic.NET supports the ADO and Microsoft recommends using ADO for connected data requirements in place of DAO and RDO


When the Visual Basic.NET Upgrade Wizard upgrades the code, it changes some of the data types and a few other things.


Visual Basic 6 supported variant data type, which could be assigned to any primitive data type, Empty, Error, Nothing and null but Visual Basic.NET does not support this data type. The functionality is now given to to object data type


In Visual Basic.NET, 16-bit whole numbers are called short and integers are now 32-bit numbers while longs are now 64-bit. While upgrading your project, the integers will be converted to short and longs to integers


The changes in property syntax has now become more intuitive It groups Get and Set together as a part of a single block.


Visual Basic.NET has a new Forms package and when you upgrade an existing application Visual Basic.NET automatically converts the Visual Basic 6 forms to Visual Basic.NET

Migrating to Visual Basic.NET from Visual Basic 6 1

Migrating to Visual Basic.NET from Visual Basic 6
(Page 1 of 7 )

Those already familiar with Visual Basic shouldn't have to worry about migrating to Visual Basic.NET. In this article Vaijayantee shows us how to upgrade our existing applications to Visual Basic.NET, different .NET variable types, and her own personal programming recommendations. After reading this article you'll be able to migrate from VB6 to VB.NET in no time!Those already familiar with Visual Basic shouldn't have to worry about migrating to Visual Basic.NET. In this article Vaijayantee shows us how to upgrade our existing applications to Visual Basic.NET, different .NET variable types, and her own personal programming recommendations. After reading this article you'll be able to migrate from VB6 to VB.NET in no time!

To test the example code in this article you should have some Visual Basic 6 projects as well as Visual Studio.NET installed on your PC.

Kamis, Juli 26, 2007

100 hari yang berharga

Peter dan Tina sedang duduk bersama di taman kampus tanpa melakukan
apapun, hanya memandang langit sementara sahabat-sahabat mereka
sedang asik bercanda ria dengan kekasih mereka masing-masing.

Tina: "Duh bosen banget. Aku harap aku juga punya pacar yang bisa
berbagi waktu denganku."

Peter: "kayaknya cuma tinggal kita berdua deh yang jomblo. cuma kita
berdua saja yang tidak punya pasangan sekarang."
(keduanya mengeluh dan berdiam beberapa saat)

Tina: "Kayaknya aku ada ide bagus deh. kita adakan permainan yuk?"

Peter: "Eh? permainan apaan?"

Tina: "Eng... gampang sih permainannya. Kamu jadi pacarku dan aku
jadi pacarmu tapi hanya untuk 100 hari saja. gimana menurutmu?"

Peter: "baiklah... lagian aku juga gada rencana apa-apa untuk
beberapa bulan ke depan."

Tina: "Kok kayaknya kamu gak terlalu niat ya... semangat dong! hari
ini akan jadi hari pertama kita kencan. Mau jalan-jalan kemana nih?"

Peter: "Gimana kalo kita nonton saja? Kalo gak salah film The Troy
lagi maen deh. katanya film itu bagus"

Tina: "OK dech.... Yuk kita pergi sekarang. tar pulang nonton kita
ke karaoke ya...
ajak aja adik kamu sama pacarnya biar seru."

Peter : "Boleh juga..."
(mereka pun pergi nonton, berkaraoke dan Peter mengantarkan Tina
pulang malam harinya)

Hari ke 2:
Peter dan Tina menghabiskan waktu untuk ngobrol dan bercanda di
suasana kafe yang remang-remang dan alunan musik yang syahdu membawa
hati mereka pada situasi yang romantis. Sebelum pulang Peter membeli
sebuah kalung perak berliontin bintang untuk Tina.

Hari ke 3:
Mereka pergi ke pusat perbelanjaan untuk mencari kado untuk seorang
sahabat Peter.
Setelah lelah berkeliling pusat perbelanjaan, mereka memutuskan
membeli sebuah miniatur mobil mini. Setelah itu mereka beristirahat
duduk di foodcourt, makan satu potong kue dan satu gelas jus berdua
dan mulai berpegangan tangan untuk pertama kalinya.

Hari ke 7:
Bermain bowling dengan teman-teman Peter.
Tangan tina terasa sakit karena tidak pernah bermain bowling
Peter memijit-mijit tangan Tina dengan lembut.

Hari ke 25:
Peter mengajak Tina makan malam di Ancol Bay.
Bulan sudah menampakan diri, langit yang cerah menghamparkan ribuan
bintang dalam pelukannya.
Mereka duduk menunggu makanan, sambil menikmati suara desir angin
berpadu dengan suara gelombang bergulung di pantai. Sekali lagi Tina
memandang langit, dan melihat bintang jatuh.
Dia mengucapkan suatu permintaan dalam hatinya.

Hari ke 41:
Peter berulang tahun. Tina membuatkan kue ulang tahun untuk Peter.
Bukan kue buatannya yang pertama, tapi kasih sayang yang mulai
timbul dalam hatinya membuat kue buatannya itu menjadi yang terbaik.
Peter terharu menerima kue itu, dan dia mengucapkan suatu harapan
saat meniup lilin ulang tahunnya.

Hari ke 67:
Menghabiskan waktu di Dufan. Naik halilintar, makan es krim
bersama,dan mengunjungi stand permainan. Peter menghadiahkan sebuah
boneka teddy bear untuk Tina, dan Tina membelikan sebuah pulpen
untuk Peter.

Hari ke 72:
Pergi Ke PRJ. Melihat meriahnya pameran lampion dari negeri China.
Tina penasaran untuk mengunjungi salah satu tenda peramal.
Sang peramal hanya mengatakan "Hargai waktumu bersamanya mulai
kemudian peramal itu meneteskan air mata.

Hari ke 84:
Peter mengusulkan agar mereka refreshing ke pantai.
Pantai Anyer sangat sepi karena bukan waktunya liburan bagi orang
Mereka melepaskan sandal dan berjalan sepanjang pantai sambil
berpegangan tangan,
merasakan lembutnya pasir dan dinginnya air laut menghempas kaki
Matahari terbenam, dan mereka berpelukan seakan tidak ingin berpisah

Hari ke 99:
Peter memutuskan agar mereka menjalani hari ini dengan santai dan
Mereka berkeliling kota dan akhirnya duduk di sebuah taman kota.

15:20 pm
Tina: "Aku haus. Istirahat dulu yuk sebentar. "
Peter: "Tunggu disini, aku beli minuman dulu. Aku mau teh botol
saja. Kamu mau minum apa?"
Tina: "Aku saja yang beli. kamu kan capek sudah menyetir keliling
kota hari ini. Sebentar ya"
Peter mengangguk. kakinya memang pegal sekali karena dimana-mana
Jakarta selalu macet.

15:30 pm
Peter sudah menunggu selama 10 menit and Tina belum kembali juga.
Tiba-tiba seseorang yang tak dikenal berlari menghampirinya dengan
wajah panik.
Peter : "Ada apa pak?"
Orang asing: "Ada seorang perempuan ditabrak mobil. Kayaknya
perempuan itu adalah temanmu"
Peter segera berlari bersama dengan orang asing itu.
Disana, di atas aspal yang panas terjemur terik matahari
siang,tergeletak tubuh Tina bersimbah darah, masih memegang botol
Peter segera melarikan mobilnya membawa Tina ke rumah sakit
Peter duduk diluar ruang gawat darurat selama 8 jam 10 menit.
Seorang dokter keluar dengan wajah penuh penyesalan.

23:53 pm
Dokter: "Maaf, tapi kami sudah mencoba melakukan yang terbaik.
Dia masih bernafas sekarang tapi Yang kuasa akan segera menjemput.
Kami menemukan surat ini dalam kantung bajunya."
Dokter memberikan surat yang terkena percikan darah kepada Peter dan
dia segera masuk ke dalam kamar rawat untuk melihat Tina. Wajahnya
pucat tetapi terlihat damai.
Peter duduk disamping pembaringan tina dan menggenggam tangan Tina
dengan erat.
Untuk pertama kali dalam hidupnya Peter merasakan torehan luka yang
sangat dalam di hatinya.
Butiran air mata mengalir dari kedua belah matanya.
Kemudian dia mulai membaca surat yang telah ditulis Tina untuknya.

Dear Peter...
ke 100 hari kita sudah hampir berakhir.
Aku menikmati hari-hari yang kulalui bersamamu.
Walaupun kadang-kadang kamu jutek dan tidak bisa ditebak,
tapi semua hal ini telah membawa kebahagiaan dalam hidupku.
Aku sudah menyadari bahwa kau adalah pria yang berharga dalam
Aku menyesal tidak pernah berusaha untuk mengenalmu lebih dalam lagi
Sekarang aku tidak meminta apa-apa, hanya berharap kita bisa
memperpanjang hari-hari kebersamaan kita. Sama seperti yang
kuucapkan pada bintang jatuh malam itu di pantai,
Aku ingin kau menjadi cinta sejati dalam hidupku. Aku ingin menjadi
kekasihmu selamanya dan berharap kau juga bisa berada disisiku
seumur hidupku. Peter, aku sangat sayang padamu.

Peter: "Tina, apakah kau tahu harapan apa yang kuucapkan dalam hati
saat meniup lilin ulang tahunku?
Aku pun berdoa agar Tuhan mengijinkan kita bersama-sama selamanya.
Tina, kau tidak bisa meninggalkanku! hari yang kita lalui baru
berjumlah 99 hari!
Kamu harus bangun dan kita akan melewati puluhan ribu hari bersama-
Aku juga sayang padamu, Tina. Jangan tinggalkan aku, jangan biarkan
aku kesepian!
Tina, Aku sayang kamu...!"

Jam dinding berdentang 12 kali.... jantung Tina berhenti berdetak.
Hari itu adalah hari ke 100...

Katakan perasaanmu pada orang yang kau sayangi sebelum terlambat.
Kau tidak akan pernah tahu apa yang akan terjadi besok.
Kau tidak akan pernah tahu siapa yang akan meninggalkanmu dan tidak
akan pernah kembali lagi.

True love doesn't have a happy ending, because true love never

**Pudarnya Pesona Cleopatra**

Dengan panjang lebar ibu menjelaskan, sebenarnya sejak ada dalan kandungan aku telah dijodohkan dengan Raihana yang tak pernah kukenal." Ibunya Raihanai adalah teman karib ibu waktu nyantri di pesantren Mangkuyudan Solo dulu" kata ibu.

"Kami pernah berjanji, jika dikarunia anak berlainan jenis akan besanan untuk memperteguh tali persaudaraan. Karena itu ibu mohon keikhlasanmu", ucap beliau dengan nada mengiba.

Dalam pergulatan jiwa yang sulit berhari-hari, akhirnya aku pasrah. Aku menuruti keinginan ibu. Aku tak mau mengecewakan ibu. Aku ingin menjadi mentari pagi dihatinya, meskipun untuk itu aku harus mengorbankan diriku. Dengan hati pahit kuserahkan semuanya bulat-bulat pada ibu. Meskipun sesungguhnya dalam hatiku timbul kecemasan-kecemasan yang datang
begitu saja dan tidak tahu alasannya. Yang jelas aku sudah punya kriteria dan impian tersendiri untuk calon istriku. Aku tidak bisa berbuat apa-apa berhadapan dengan air mata ibu yang amat kucintai. Saat khitbah (lamaran) sekilas kutatap wajah Raihana, benar kata Aida adikku, ia memang baby face dan anggun. Namun garis-garis kecantikan yang kuinginkan tak kutemukan
sama sekali. Adikku, tante Lia mengakui Raihana cantik, "cantiknya alami, bisa jadi bintang iklan Lux lho, asli ! kata tante Lia. Tapi penilaianku lain, mungkin karena aku begitu hanyut dengan gadis-gadis Mesir titisan Cleopatra, yang tinggi semampai, wajahnya putih jel ita, dengan hidung melengkung indah, mata bulat bening khas arab, dan bibir yang merah. Di hari-hari
menjelang pernikahanku, aku berusaha menumbuhkan bibit-bibit cintaku untuk calon istriku, tetapi usahaku selalu sia-sia. Aku ingin memberontak pada ibuku, tetapi wajah teduhnya meluluhkanku. Haripernikahan datang. Duduk dipelaminan bagai mayat hidup, hati hampa tanpa cinta, Pestapun meriah dengan emapt group rebana. Lantunan shalawat Nabipun terasa
menusuk-nusuk hati. Kulihat Raihana tersenyum manis, tetapi hatiku terasa teriris-iris dan jiwaku meronta. Satu-satunya harapanku adalah mendapat berkah dari Allah SWT atas baktiku pada ibuku yang kucintai. Rabbighfir li wa liwalidayya!

Layaknya pengantin baru, kupaksakan untuk mesra tapi bukan cinta, hanya sekedar karena aku seorang manusia yang terbiasa membaca ayat-ayatNya. Raihana tersenyum mengembang, hatiku menangisi kebohonganku dan kepura-puraanku. Tepat dua bulan Raihana kubawa ke
kontrakan dipinggir kota Malang. Mulailah kehidupan hampa. Aku tak menemukan adanya gairah. Betapa susah hidup berkeluarga tanpa cinta. Makan, minum, tidur, dan shalat bersama dengan makhluk yang bernama Raihana, istriku, tapi Masya Allah bibit cintaku belum juga tumbuh. Suaranya yang lembut terasa hambar, wajahnya yang teduh tetap terasa asing. Memasuki bulan keempat, rasa muak hidup bersama Raihana mulai kurasakan, rasa ini muncul begitu saja. Aku mencoba membuang jauh-jauh rasa tidak baik ini, apalagi pada istri sendiri yang seharusnya kusayang dan kucintai. Sikapku pada Raihana mulai lain. Aku lebih banyak diam, acuh tak acuh, agak sinis, dan tidur pun lebih banyak di ruang tamu atau ruang kerja. Aku merasa hidupku ada lah sia-sia, belajar di luar negeri sia-sia, pernikahanku sia-sia, keberadaanku sia-sia.

Tidak hanya aku yang tersiksa, Raihanapun merasakan hal yang sama, karena ia orang yang berpendidikan, maka diapun tanya, tetapi kujawab " tidak apa-apa koq mbak, mungkin aku belum dewasa, mungkin masih harus belajar berumah tangga" Ada kekagetan yang kutangkap diwajah Raihana ketika kupanggil 'mbak', " kenapa mas memanggilku mbak, aku kan istrimu, apa mas sudah tidak mencintaiku" tanyanya dengan guratan wajah yang sedih. "wallahu a'lam" jawabku sekenanya. Dengan mata berkaca-kaca Raihana diam menunduk, tak lama kemudian dia terisak-isak sambil memeluk kakiku, "Kalau mastidak mencintaiku, tidak menerimaku sebagai istri kenapa mas ucapkan akad nikah? Kalau dalam tingkahku melayani mas masih ada yang kurang berkenan, kenapa mas tidak bilang dan menegurnya, kenapa mas diam saja, aku harus bersikap bagaimana untuk membahagiakan mas, kumohon bukalah sedikit hatimu untuk menjadi ruang bagi pengabdianku, bagi menyempurnakan ibadahku didunia ini". Raihana mengiba penuh pasrah. Aku menangis menitikan air mata buka karena Raihana tetapi karena kepatunganku. Hari terus berjalan, tetapi komunikasi kami tidak berjalan. Kami hidup seperti orang asing tetapi Raihana tetap melayaniku menyiapkan segalanya untukku. Suatu sore aku pulang mengajar dan kehujanan, sampai dirumah habis maghrib, bibirku
pucat, perutku belum kemasukkan apa-apa kecuali segelas kopi buatan Raihana tadi pagi, Memang aku berangkat pagi karena ada janji dengan teman. Raihana memandangiku dengan khawatir. "Mas tidak apa-apa" tanyanya dengan perasaan kuatir. "Mas mandi dengan air panas saja, aku sedang menggodoknya, lima menit lagi mendidih" lanjutnya. Aku melepas semua pakaian yang basah. "Mas airnya sudah siap" kata Raihana. Aku tak bicara sepatah katapun, aku langsung ke kamar mandi, aku lupa membawa handuk, tetapi Raihana telah berdiri didepan pintu membawa handuk. "Mas aku buatkan wedang jahe" Aku diam saja. Aku merasa mulas dan mual dalam perutku tak bisa kutahan. Dengan cepat aku berlari ke kamar mandi dan Raihana mengejarku dan memijit-mijit pundak dan tengkukku seperti yang dilakukan ibu. " Mas masuk angin. Biasanya kalau masuk angin diobati pakai apa, pakai balsam, minyak putih, atau jamu?" tanya Raihana sambil menuntunku ke kamar. "Mas jangan diam saja dong, aku kan tidak tahu apa yang harus kulakukan untuk membantu Mas". " Biasanya dikerokin" jawabku lirih. " Kalau begitu kaos mas dilepas ya, biar Hana kerokin" sahut Raihana sambil tangannya melepas kaosku. Aku seperti anak kecil yang dimanja ibunya. Raihana dengan sabar mengerokin
punggungku dengan sentuhan tangannya yang halus. Setelah selesai dikerokin, Raihana membawakanku semangkok bubur kacang hijau. Setelah itu aku
merebahkan diri di tempat tidur. Kulihat Raihana duduk
di kursi tak jauh dari tempat tidur sambil menghafal
Al Quran dengan khusyu. Aku kembali sedih dan ingin
menangis, Raihana manis tapi tak semanis gadis-gadis
mesir titisan Cleopatra. Dalam tidur aku bermimpi
bertemu dengan Cle
opatra, ia mengundangku untuk makan malam di
istananya." Aku punya keponakan namanya Mona Zaki,
nanti akan aku perkenalkan denganmu" kata Ratu
Cleopatra. " Dia memintaku untuk mencarikannya seorang
pangeran, aku melihatmu cocok dan berniat
memperkenalkannya denganmu". Aku mempersiapkan
segalanya. Tepat puku 07.00 aku datang ke istana,
kulihat Mona Zaki dengan pakaian pengantinnya, cantik
sekali. Sang ratu mempersilakan aku duduk di kursi
yang berhias berlian. Aku melangkah maju, belum sempat
duduk, tiba-tiba " Mas, bangun, sudah jam setengah
empat, mas belum sholat Isya" kata Raihana
membangunkanku. Aku terbangun dengan perasaan kecewa.
" Maafkan aku Mas, membuat Mas kurang suka, tetapi Mas
belum sholat Isya" lirih Hana sambil melepas
mukenanya, mungkin dia baru selesai sholat malam.
Meskipun cuman mimpi tapi itu indah sekali, tapi
sayang terputus. Aku jadi semakin tidak suka sama dia,
dialah pemutus harapanku dan mimpi-mimpiku. Tapi
apakah dia bersalah, bukankah dia berbuat
baik membangunkanku untuk sholat Isya.

Selanjutnya aku merasa sulit hidup bersama Raihana,
aku tidak tahu dari mana sulitnya. Rasa tidak suka
semakin menjadi-jadi. Aku benar-benar terpenjara dalam
suasana konyol. Aku belum bisa menyukai Raihana. Aku
sendiri belum pernah jatuh cinta, entah kenapa bisa
dijajah pesona gadis-gadis titisan Cleopatra.

" Mas, nanti sore ada acara qiqah di rumah Yu Imah.
Semua keluarga akan datang termasuk ibundamu. Kita
diundang juga. Yuk, kita datang bareng, tidak enak
kalau kita yang dieluk-elukan keluarga tidak datang"
Suara lembut Raihana menyadarkan pengembaraanku pada
Jaman Ibnu Hazm. Pelan-pelan ia letakkan nampan yang
berisi onde-onde kesukaanku dan segelas wedang jahe.
Tangannya yang halus agak gemetar. Aku dingin-dingin
saja. " Ma??maaf jika mengganggu Mas, maafkan Hana,"
lirihnya, lalu perlahan-lahan beranjak meninggalkan
aku di ruang kerja. " Mbak! Eh maaf, maksudku
D..Din?쪫inda Hana!, panggilku dengan suara parau
tercekak dalam tenggorokan. " Ya Mas!" sahut Hana
langsung menghentikan langkahnya dan pelan-pelan
menghadapkan dirinya padaku. Ia berusaha untuk
tersenyum, agaknya ia bahagia dipanggil "dinda". "
Matanya sedikit berbinar. "Te?ì«¡erima
kasih?쪫i?쫉inda, kita berangkat bareng kesana,
habis sholat dhuhur, insya Allah," ucapku sambil
menatap wajah Hana dengan seny
um yang kupaksakan. Raihana menatapku dengan wajah
sangat cerah, ada secercah senyum bersinar dibibirnya.
" Terima kasih Mas, Ibu kita pasti senang, mau pakai
baju yang mana Mas, biar dinda siapkan? Atau biar
dinda saja yang memilihkan ya?". Hana begitu bahagia.

Perempuan berjilbab ini memang luar biasa, Ia tetap
sabar mencurahkan bakti meskipun aku dingin dan acuh
tak acuh padanya selama ini. Aku belum pernah
melihatnya memasang wajah masam atau tidak suka
padaku. Kalau wajah sedihnya ya. Tapi wajah tidak
sukanya belum pernah. Bah, lelaki macam apa aku ini,
kutukku pada diriku sendiri. Aku memaki-maki diriku
sendiri atas sikap dinginku selama ini., Tapi, setetes
embun cinta yang kuharapkan membasahi hatiku tak juga
turun. Kecantikan aura titisan Cleopatra itu?
Bagaimana aku mengusirnya. Aku merasa menjadi orang
yang paling membenci diriku sendiri di dunia ini.

Acara pengajian dan qiqah putra ketiga Fatimah kakak
sulung Raihana membawa sejarah baru lembaran
pernikahan kami. Benar dugaan Raihana, kami
dielu-elukan keluarga, disambut hangat, penuh cinta,
dan penuh bangga. " Selamat datang pengantin baru!
Selamat datang pasangan yang paling ideal dalam
keluarga! Sambut Yu Imah disambut tepuk tangan bahagia
mertua dan ubundaku serta kerabat yang lain. Wajah
Raihana cerah. Matanya berbinar-binar bahagia. Lain
dengan aku, dalam hatiku menangis disebut pasangan
ideal. Apanya yang ideal. Apa karena aku lulusan Mesir
dan Raihana lulusan terbaik dikampusnya dan hafal Al
Quran lantas disebut ideal? Ideal bagiku adalah
seperti Ibnu Hazm dan istrinya, saling memiliki rasa
cinta yang sampai pada pengorbanan satu sama lain.
Rasa cinta yang tidak lagi memungkinkan adanya
pengkhianatan. Rasa cinta yang dari detik ke detik
meneteskan rasa bahagia. Tapi diriku? Aku belum bisa
memiliki cinta seperti yang dimiliki Raihana. Sambutan
sanak saudara pada
kami benar-benar hangat. Aku dibuat kaget oleh sikap
Raihana yang begitu kuat menjaga kewibawaanku di mata
keluarga. Pada ibuku dan semuanya tidak pernah
diceritakan, kecuali menyanjung kebaikanku sebagai
seorang suami yang dicintainya. Bahkan ia mengaku
bangga dan bahagia menjadi istriku. Aku sendiri dibuat
pusing dengan sikapku. Lebih pusing lagi sikap ibuku
dan mertuaku yang menyindir tentang keturunan. " Sudah
satu tahun putra sulungku menikah, koq belum ada
tanda-tandanya ya, padahal aku ingin sekali menimang
cucu" kata ibuku. " Insya Allah tak lama lagi, ibu
akan menimang cucu, doakanlah kami. Bukankah begitu,
Mas?" sahut Raihana sambil menyikut lenganku, aku
tergagap dan mengangguk sekenanya.

Setelah peristiwa itu, aku mencoba bersikap bersahabat
dengan Raihana. Aku berpura-pura kembali mesra
dengannya, sebagai suami betulan. Jujur, aku hanya
pura-pura. Sebab bukan atas dasar cinta, dan bukan
kehendakku sendiri aku melakukannya, ini semua demi
ibuku. Allah Maha Kuasa. Kepura-puraanku memuliakan
Raihana sebagai seorang istri. Raihana hamil. Ia
semakin manis. Keluarga bersuka cita semua. Namun
hatiku menangis karena cinta tak kunjung tiba. Tuhan
kasihanilah hamba, datangkanlah cinta itu segera.
Sejak itu aku semakin sedih sehingga Raihana yang
sedang hamil tidak kuperhatikan lagi. Setiap saat
nuraniku bertanya" Mana tanggung jawabmu!" Aku hanya
diam dan mendesah sedih. " Entahlah, betapa sulit aku
menemukan cinta" gumamku.

Dan akhirnya datanglah hari itu, usia kehamilan
Raihana memasuki bulan ke enam. Raihana minta ijin
untuk tinggal bersama orang tuanya dengan alas an
kesehatan. Kukabulkan permintaanya dan kuantarkan dia
kerumahnya. Karena rumah mertua jauh dari kampus
tempat aku mengajar, mertuaku tak menaruh curiga
ketika aku harus tetap tinggal dikontrakan. Ketika aku
pamitan, Raihana berpesan, " Mas untuk menambah biaya
kelahiran anak kita, tolong nanti cairkan tabunganku
yang ada di ATM. Aku taruh dibawah bantal, no pinnya
sama dengan tanggal pernikahan kita".

Setelah Raihana tinggal bersama ibunya, aku sedikit
lega. Setiap hari Aku tidak bertemu dengan orang yang
membuatku tidak nyaman. Entah apa sebabnya bisa
demikian. Hanya saja aku sedikit repot, harus
menyiapkan segalanya. Tapi toh bukan masalah bagiku,
karena aku sudah terbiasa saat kuliah di Mesir.

Waktu terus berjalan, dan aku merasa enjoy tanpa
Raihana. Suatu saat aku pulang kehujanan. Sampai rumah
hari sudah petang, aku merasa tubuhku benar-benar
lemas. Aku muntah-muntah, menggigil, kepala pusing dan
perut mual. Saat itu terlintas dihati andaikan ada
Raihana, dia pasti telah menyiapkan air panas, bubur
kacang hijau, membantu mengobati masuk angin dengan
mengeroki punggungku, lalu menyuruhku istirahat dan
menutupi tubuhku dengan selimut. Malam itu aku
benar-benar tersiksa dan menderita. Aku terbangun jam
enam pagi. Badan sudah segar. Tapi ada penyesalan
dalam hati, aku belum sholat Isya dan terlambat sholat
subuh. Baru sedikit terasa, andaikan ada Raihana tentu
aku ngak meninggalkan sholat Isya, dan tidak terlambat
sholat subuh.

Lintasan Raihana hilang seiring keberangkatan
mengajar di kampus. Apalagi aku mendapat tugas dari
universitas untuk mengikuti pelatihan mutu dosen mata
kuliah bahasa arab. Diantaranya tutornya adalah
professor bahasa arab dari Mesir. Aku jadi banyak
berbincang dengan beliau tentang mEsir. Dalam
pelatihan aku juga berkenalan dengan Pak Qalyubi,
seorang dosen bahasa arab dari Medan. Dia menempuh
S1-nya di Mesir. Dia menceritakan satu pengalaman
hidup yang menurutnya pahit dan terlanjur dijalani.
"Apakah kamu sudah menikah?" kata Pak Qalyubi.
"Alhamdulillah, sudah" jawabku. " Dengan orang mana?.
" Orang Jawa". " Pasti orang yang baik ya. Iya kan?
Biasanya pulang dari Mesir banyak saudara yang
menawarkan untuk menikah dengan perempuan shalehah.
Paling tidak santriwati, lulusan pesantren. Istrimu
dari pesantren?". "Pernah, alhamdulillah dia sarjana
dan hafal Al Quran". " Kau sangat beruntung, tidak
sepertiku". " Kenapa dengan Bapak?" " Aku melakukan
langkah yang salah, seandain
ya aku tidak menikah dengan orang Mesir itu, tentu
batinku tidak merana seperti sekarang". " Bagaimana
itu bisa terjadi?". " Kamu tentu tahu kan gadis Mesir
itu cantik-cantik, dank arena terpesona dengan
kecantikanya saya menderita seperti ini. Ceritanya
begini, Saya seorang anak tunggal dari seorang yang
kaya, saya berangkat ke Mesir dengan biaya orang tua.
Disana saya bersama kakak kelas namanya Fadhil, orang
Medan juga. Seiring dengan berjalannya waktu, tahun
pertama saya lulus dengan predkat jayyid, predikat
yang cukup sulit bagi pelajar dari Indonesia. Demikian
juga dengan tahun kedua. Karena prestasi saya, tuan
rumah tempat saya tinggal menyukai saya. Saya
dikenalkan dengan anak gadisnya yang bernama Yasmin.
Dia tidak pakai jilbab. Pada pandangan pertama saya
jatuh cinta, saya belum pernah melihat gadis secantuk
itu. Saya bersumpah tidak akan menikaha dengan
siapapun kecuali dia. Ternyata perasaan saya tidak
bertepuk sebelah tangan. Kisah cinta saya didengar
oleh Fadhi
l. Fadhil membuat garis tegas, akhiri hubungan dengan
anak tuan rumah itu atau sekalian lanjutkan dengan
menikahinya. Saya memilih yang kedua. Ketika saya
menikahi Yasmin, banyak teman-teman yang memberi
masukan begini, sama-sama menikah dengan gadis Mesir,
kenapa tidak mencari mahasiswi Al Azhar yang hafal Al
Quran, salehah, dan berjilbab. Itu lebih selamat dari
pada dengan YAsmin yang awam pengetahuan agamanya.
Tetpai saya tetap teguh untuk menikahinya. Dengan
biaya yang tinggi saya berhasil menikahi YAsmin.
Yasmin menuntut diberi sesuatu yang lebih dari gadis
Mesir. Perabot rumah yang mewah, menginap di hotel
berbintang. Begitu selesai S1 saya kembali ke MEdan,
saya minta agar asset yang di Mesir dijual untuk modal
di Indonesia. KAmi langsung membeli rumah yang cukup
mewah di kota Medan. Tahun-tahun pertama hidup kami
berjalan baik, setiap tahunnya Yasmin mengajak ke
Mesir menengok orang tuanya. Aku masih bisa memenuhi
semua yang diinginkan YAsmin. Hidup terus berjalan,
biaya hidup semakin nambah, anak kami yang ketiga
lahir, tetapi pemasukan tidak bertambah. Saya minta
YAsmin untuk berhemat. Tidak setiap tahun tetapi tiga
tahun sekali YAsmin tidak bisa. Aku mati-matian
berbisnis, demi keinginan Yasmin dan anak-anak
terpenuhi. Sawah terakhir milik Ayah saya jual untuk
modal. Dalam diri saya mulai muncul penyesalan. Setiap
kali saya melihat teman-teman alumni Mesir yang hidup
dengan tenang dan damai dengan istrinya. Bisa
mengamalkan ilmu dan bisa berdakwah dengan baik.
Dicintai masyarakat. Saya tidak mendapatkan apa yang
mereka dapatkan. Jika saya pengin rending, saya harus
ke warung. YAsmin tidak mau tahu dengan masakan
Indonesia. Kau tahu sendiri, gadis Mesir biasanya
memanggil suaminya dengan namanya. Jika ada sedikit
letupan, maka rumah seperti neraka. Puncak penderitaan
saya dimulai setahun yang lalu. Usaha saya bangkrut,
saya minta YAsmin untuk menjual perhiasannya, tetapi
dia tidak mau. Dia malah membandingkan dirinya yang
hidup serb
a kurang dengan sepupunya. Sepupunya mendapat suami
orang Mesir. Saya menyesal meletakkan kecantikan
diatas segalanya. Saya telah diperbudak dengan
kecantikannya. Mengetahui keadaan saya yang terjepit,
ayah dan ibu mengalah. Mereka menjual rumah dan tanah,
yang akhirnya mereka tinggal di ruko yang kecil dan
sempit. Batin saya menangis. Mereka berharap modal itu
cukup untuk merintis bisnis saya yang bangkrut. Bisnis
saya mulai bangkit, Yasmin mulai berulah, dia mengajak
ke Mesir. Waktu di Mesir itulah puncak tragedy yang
menyakitkan. " Aku menyesal menikah dengan orang
Indonesia, aku minta kau ceraikan aku, aku tidak bisa
bahagia kecuali dengan lelaki Mesir". Kata Yasmin yang
bagaikan geledek menyambar. Lalu tanpa dosa dia
bercerita bahwa tadi di KBRI dia bertemu dengan
temannya. Teman lamanya itu sudah jadi bisnisman, dan
istrinya sudah meninggal. Yasmin diajak makan siang,
dan dilanjutkan dengan perselingkuhan. Aku pukul dia
karena tak bisa menahan diri. Atas tindakan itu s
aya dilaporkan ke polisi. Yang menyakitkan adalah tak
satupun keluarganya yang membelaku. Rupanya selama ini
Yasmin sering mengirim surat yang berisi berita
bohong. Sejak saat itu saya mengalami depresi. Dua
bulan yang lalu saya mendapat surat cerai dari Mesir
sekaligus mendapat salinan surat nikah Yasmin dengann
temannya. Hati saya sangat sakit, ketika si sulung
menggigau meminta ibunya pulang".

Mendengar cerita Pak Qulyubi membuatku terisak-isak.
Perjalanan hidupnya menyadarkanku. Aku teringat
Raihana. Perlahan wajahnya terbayang dimataku, tak
terasa sudah dua bualn aku berpisah dengannya.
Tiba-tiba ada kerinduan yang menyelinap dihati. Dia
istri yang sangat shalehah. Tidak pernah meminta
apapun. Bahkan yang keluar adalah pengabdian dan
pengorbanan. Hanya karena kemurahan Allah aku
mendapatkan istri seperti dia. Meskipun hatiku belum
terbuka lebar, tetapi wajah Raihana telah menyala
didindingnya. Apa yang sedang dilakukan Raihana
sekarang? Bagaimana kandungannya? Sudah delapan bulan.
Sebentar lagi melahirkan. Aku jadi teringat pesannya.
Dia ingin agar aku mencairkan tabungannya.

Pulang dari pelatihan, aku menyempatkan ke took baju
muslim, aku ingin membelikannya untuk Raihana, juga
daster, dan pakaian bayi. Aku ingin memberikan
kejutan, agar dia tersenyum menyambut kedatanganku.
Aku tidak langsung ke rumah mertua, tetapi ke
kontrakan untuk mengambil uang tabungan, yang disimpan
dibawah bantal. Dibawah kasur itu kutemukan kertas
merah jambu. Hatiku berdesir, darahku terkesiap. Surat
cinta siapa ini, rasanya aku belum pernah membuat
surat cinta untuk istriku. Jangan-jangan ini surat
cinta istriku dengan lelaki lain. Gila! Jangan-jangan
istriku serong??Dengan rasa takut kubaca surat itu
satu persatu. Dan Rabbi?ì«¡ernyata surat-surat itu
adalah ungkapan hati Raihana yang selama ini aku
zhalimi. Ia menulis, betapa ia mati-matian
mencintaiku, meredam rindunya akan belaianku. Ia
menguatkan diri untuk menahan nestapa dan derita yang
luar biasa. Hanya Allah lah tempat ia meratap
melabuhkan dukanya. Dan ya .. Allah, ia tetap setia
memanjatkan doa untuk k
ebaikan suaminya. Dan betapa dia ingin hadirnya cinta
sejati dariku.

"Rabbi dengan penuh kesyukuran, hamba bersimpuh
dihadapan-Mu. Lakal hamdu ya Rabb. Telah muliakan
hamba dengan Al Quran. Kalaulah bukan karena
karunia-Mu yang agung ini, niscaya hamba sudah
terperosok kedalam jurang kenistaan. Ya Rabbi,
curahkan tambahan kesabaran dalam diri hamba?╈??
tulis Raihana.

Dalam akhir tulisannya Raihana berdoa" Ya Allah inilah
hamba-Mu yang kerdil penuh noda dan dosa kembali
datang mengetuk pintumu, melabuhkan derita jiwa ini
kehadirat-Mu. Ya Allah sudah tujuh bulan ini hamba-Mu
ini hamil penuh derita dan kepayahan. Namun kenapa
begitu tega suami hamba tak mempedulikanku dan
menelantarkanku. Masih kurang apa rasa cinta hamba
padanya. Masih kurang apa kesetiaanku padanya. Masih
kurang apa baktiku padanya? Ya Allah, jika memang
masih ada yang kurang, ilhamkanlah pada hamba-Mu ini
cara berakhlak yang lebih mulia lagi pada suamiku.

Ya Allah, dengan rahmatMu hamba mohon jangan murkai
dia karena kelalaiannya. Cukup hamba saja yang
menderita. Maafkanlah dia, dengan penuh cinta hamba
masih tetap menyayanginya. Ya Allah berilah hamba
kekuatan untuk tetap berbakti dan memuliakannya. Ya
Allah, Engkau maha Tahu bahwa hamba sangat
mencintainya karena-Mu. Sampaikanlah rasa cinta ini
kepadanya dengan cara-Mu. Tegurlah dia dengan
teguran-Mu. Ya Allah dengarkanlah doa hamba-Mu ini.
Tiada Tuhan yang layak disembah kecuali Engkau, Maha
Suci Engkau".

Tak terasa air mataku mengalir, dadaku terasa sesak
oleh rasa haru yang luar biasa. Tangisku meledak.
Dalam tangisku semua kebaikan Raihana terbayang.
Wajahnya yang baby face dan teduh, pengorbanan dan
pengabdiannya yang tiada putusnya, suaranya yang
lembut, tanganya yang halus bersimpuh memeluk kakiku,
semuanya terbayang mengalirkan perasaan haru dan
cinta. Dalam keharuan terasa ada angina sejuk yang
turun dari langit dan merasuk dalam jiwaku. Seketika
itu pesona Cleopatra telah memudar berganti cinta
Raihana yang datang di hati. Rasa sayang dan cinta
pada Raihan tiba-tiba begitu kuat mengakar dalam
hatiku. Cahaya Raihana terus berkilat-kilat dimata.
Aku tiba-tiba begitu merindukannya. Segera kukejar
waktu untuk membagi cintaku dengan Raihana. Kukebut
kendaraanku. Kupacu kencang seiring dengan air mataku
yang menetes sepanjang jalan. Begitu sampai di halaman
rumah mertua, nyaris tangisku meledak. Kutahan dengan
nafas panjang dan kuusap air mataku. Melihat
kedatanganku, ibu m
ertuaku memelukku dan menangis tersedu-sedu. Aku
jadi heran dan ikut menangis. " Mana Raihana Bu?". Ibu
mertua hanya menangis dan menangis. Aku terus bertanya
apa sebenarnya yang telah terjadi. "
Raihana?ì«’strimu..istrimu dan anakmu yang
dikandungnya". " Ada apa dengan dia". " Dia telah
tiada". " Ibu berkata apa!". " Istrimu telah meninggal
seminggu yang lalu. Dia terjatuh di kamar mandi. Kami
membawanya ke rumah sakit. Dia dan bayinya tidak
selamat. Sebelum meninggal, dia berpesan untuk
memintakan maaf atas segala kekurangan dan
kekhilafannya selama menyertaimu. Dia meminta maaf
karena tidak bisa membuatmu bahagia. Dia meminta maaf
telah dengan tidak sengaja membuatmu menderita. Dia
minta kau meridhionya". Hatiku bergetar hebat. "
Ke?ì«•enapa ibu tidak memberi kabar padaku?". "
Ketika Raihana dibawa ke rumah sakit, aku telah
mengutus seseorang untuk menjemputmu di rumah
kontrakan, tapi kamu tidak ada. Dihubungi ke kampus
katanya kamu sedang mengikuti pelatihan. Kami ti
dak ingin mengganggumu. Apalagi Raihana berpesan agar
kami tidak mengganggu ketenanganmu selama pelatihan.
Dan ketika Raihana meninggal kami sangat sedih, Jadi
maafkanlah kami".

Aku menangis tersedu-sedu. Hatiku pilu. Jiwaku remuk.
Ketika aku merasakan cinta Raihana, dia telah tiada.
Ketika aku ingin menebus dosaku, dia telah
meninggalkanku. Ketika aku ingin memuliakannya dia
telah tiada. Dia telah meninggalkan aku tanpa memberi
kesempatan padaku untuk sekedar minta maaf dan
tersenyum padanya. Tuhan telah menghukumku dengan
penyesalan dan perasaan bersalah tiada terkira.

Ibu mertua mengajakku ke sebuah gundukan tanah yang
masih baru dikuburan pinggir desa. Diatas gundukan
itu ada dua buah batu nisan. Nama dan hari wafat
Raihana tertulis disana. Aku tak kuat menahan rasa
cinta, haru, rindu dan penyesalan yang luar biasa. Aku
ingin Raihana hidup kembali.

Dunia tiba-tiba gelap semua?╈??

[TIPS]fasting Your Download Speed

1. copy paste code di bawah ini ke notepad

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters]

2. save as dengan nama tweak.reg
3. double klik on it!!!BOOOMM selamat tweak registry sukses

kalo gagal bisa di balikin lagi ke semula..

nih caranya :
1. biasa copy paste ke notepad terus save as dengan nama undo.inf
2. klik kanan di dan klick install (to undo tweak)

restart komputer to take effect




HKLM,System\CurrentControlSet\Services\Tcpip\Param eters,TcpWindowSize
HKLM,System\CurrentControlSet\Services\Tcpip\Param eters,Tcp1323Opts

selamat mencoba...



Trik ini pernah saya kiriminkan ke PC Plus namun sampe saya upload data ke web ini belum dimuat jadi ndak ada salahnya jika saya upload dulu kan tapi barang kali kurang bermanfaat kali yeeeee. atau malah salah tulis email oke yang penting nulis buat nambah nambah page document di web saya yoi itung itung tukar ilmu!

Dalam kehidupan sehari hari komputer tidak akan lepas dari diri kita.NAmun banyak juga orang yang usil sering ngobok ngobok PC kita dan banyak data penting yang seharusnya tidak bisa di akses bisa diakses apalagi diubah.Banyak progran tuk encryp data namun anda harus extra keras jika file yang anda punya terlalu banyak pertanyaannya bagaimana kalo sekali langkah bisa meraup semua (sekali mendayung 123 pulau terlampau ) pakai tenaga jet kali ya ---

Nah disini saya akan suguhkan bagaimana memproteksi hardisk sehingga tidak akan bisa di akses orang lain.namun memerlukan persyaratan yang harus anda penuhi syarat tersebut hanya Hardisk anda harus berupa partisi NTFS bukan FAT.

Bagi mana caranya ?
Itru sich mudah !Yang anda lakukann adalah

  • Jika anda ada di windows restart windows anda.

  • Saat loading tekan F8 (prinsip disini adalah bagaimana anda bisa masuk pada safe MOde)

  • Setelah masuk pilih Multi User [Administrators]

  • Dan apabila sudah masuk tuju Windows Explorer

  • Pilih Menu tab Sequrity

  • Nah sampai disini anda akan di suguhi beberapa menu dan kini saatnya kreasi anda dan bahasa Eng anda digunakan anda tinggal memahami dan melaksanakan sesuai perintah karena kalo dijelaskan disini terlalu banyak saya kan capek dan tak mendapat honor lagi ....... :-)
    Yang anda lakukan memilih Username atau group yang anda ingin proteksi sesuai pilihan anda yang berada di Permision OF Admin .......

  • Jika anda ingin menu yang lebih lagi anda tinggal klik Advanced dan plih menu

  • Nah kemudian restart PC anda masuk ke posisi windows Normal Masuk ke user yang anda kunci pilih partisi hardisk yang anda kunci dan lihat yang terjadi

  • Jika ada massage Acces denied .... anda telah sukses [ jika di kunci semua ] deny all

  • Jika tida ada massage atau menurut penguncian anda !disini anda belum sukses dan ulangi lagi

Hati hati atas trik ini semua resiko ditanggung yang melaksanakan apalagi jika anda penakut

~~~~~~~ Takut bukan takbisa tapi takut membuat orang takbisa ~~~~~~

Masih ada lagi trik untuk mengembalikan semua penguncian jika windows anda di format bagai mana caranya tunggu request pembaca oCHe