Kalau ditanya, bahasa pemrogramman apa yang bisa dibilang paling populer di Indonesia, mungkin Visual Basic bisa menjadi jawabannya. Kemudahan dalam melakukan desain program, aturan penulisan program yang cukup longgar dan banyaknya cd bajakan yang beredar ikut menyumbang popularitas Visual Basic.
Perusahaan-perusahaan yang ingin melakukan migrasi sistem dari Windows ke Linux biasanya terbentur masalah ini. Bagi perusahaan yang sistemnya sudah mendukung dual sistem atau tingkat portabilitasnya tinggi, masalah ini bisa diabaikan, namun perusahaan yang seperti ini pada realitanya tidaklah banyak.
Lantas, jika kita diminta melakukan migrasi sistem dari Visual Basic ke sistem Linux, apa saja yang harus dilakukan. Berikut ini adalah tips-tipsnya.
1. Migrasi Database Terlebih Dahulu
Visual Basic biasanya dipasangkan dengan Microsoft SQL Server atau Microsoft Access. Bisa saja dipasangkan dengan database lain, tapi pasangan VB SQL Server untuk aplikasi client-server dan VB-Microsoft Access untuk aplikasi desktop paling sering ditemui. Jika ini yang terjadi, langkah pertama yang perlu dilakukan adalah melakukan migrasi database. MySQL menjadi pilihan menarik sebagai pengganti SQL Server. Perubahan terhadap kode program lebih mudah dilakukan. Jika anda menggunakan ADO atau ODBC, kita hanya perlu mengubah sedikit kode koneksi ke database.
Pengalaman saya, merubah database dari SQL Server ke MySQL hanya mengalami masalah pada Full Outer Join (sepertinya tidak disupport oleh MySQL. Saya tidak menggunakan statemen ini, meski jika menggunakannya, statemen ini bisa dimodifikasi menggunakan model join bertingkat). Satu lagi masalah adalah pada tipe data. Tipe data numeric belum tentu sepadan dengan tipe data yang ada pada SQL Server.
Jika anda melakukan migrasi database, backup dahulu data anda. Kemudian lakukan proses konversi ke database tujuan. Untuk MySQL, terdapat tool yang bernama Migration Toolkit berbasis Java. Download dari website MySQL dan install. Tool ini bisa melakukan konversi dengan baik. Pengalaman saya, penyimpangan yang ada hanya sedikit dan laporan hasil prosesnya cukup komprehensif.
Setelah proses konversi data, periksa ulang data dan hasil laporan. Coba lakukan proses input, edit, hapus dan tampilan laporan, apakah ada penyimpangan atau tidak.
Selain MySQL, PostgreSQL merupakan alternatif lain yang menarik. Lain kali akan saya bahas migrasi ke PostgreSQL dan tips yang perlu dipertimbangkan.
Semestinya, tidak ada perbedaan kecepatan yang berarti antara akses data SQL Server dengan MySQL. Jika ada perubahan kecepatan, silakan membaca tips untuk meningkatkan kecepatan akses data MySQL.
Selain untuk database client-server, MySQL bisa juga digunakan sebagai database desktop dengan model akses koneksi yang sama.
2. Menjalankan Visual Basic Menggunakan Emulator
Aplikasi Visual Basic bisa dijalankan secara native menggunakan emulator, Wine. Baik akses ke database SQL Server maupun ke MySQL bisa dilakukan melalui Wine.
Wine biasanya sudah dibundel didalam distro Linux.
Jika ingin menggunakan versi Wine yang lebih powerful, tersedia versi komersil, yaitu CrossOver Office. Proses instalasi dan manajemen CrossOver Office ini sangat mudah dan file installernya dalam bentuk .sh yang bisa dijalankan dengan perintah sh namafile.sh.
Proses menjalankan Visual Basic via emulator merupakan solusi sementara mengingat sebaik apapun emulator, akan lebih baik aplikasi yang memang ditujukan untuk sistem tertentu.
3. Migrasi Aplikasi ke "Basic" lainnya
Aplikasi Basic yang cukup menjanjikan sebagai platform migrasi dari Visual Basic adalah Real Basic dan Gambas. Jika sudah sedemikian terbiasa dengan bahasa Basic, Real Basic dan Gambas bisa menjadi alternatif yang patut dicoba.
Pengalaman saya, Gambas bisa menjadi awal yang mudah untuk migrasi dan Real Basic bisa menjadi solusi level advanced.
4. Migrasi Aplikasi ke Java / C++
Ini adalah proses yang saya sarankan. Java, Python dan C++ sudah sangat mature di lingkungan Linux. Bagi programmer Visual Basic yang merasa Java atau C++ terlalu sulit dipelajari, bisa membandingkannya dengan proses belajar .NET.
Apakah programmer Visual Basic dengan mudah dan mulus melakukan perpindahan ke .NET ? Saya yakin ada banyak programmer Visual Basic yang kurang nyaman dengan .NET.
Java maupun C++ bersifat cross-platform, bisa digunakan baik untuk web, desktop maupun mobile device. Proses menguasai Java semestinya tidak jauh berbeda dengan proses penguasaan terhadap .NET.
Java juga bersifat free, tidak ada kekhawatiran terhadap aspek legal lisensi yang menghantui.
Pada akhirnya, proses migrasi aplikasi merupakan tahapan yang cukup kompleks dan seringkali membuat staff IT pelaksana menjadi maju mundur. Jika terjadi hal ini, jadikanlah hal tersebut sebagai momen untuk mempersiapkan proses migrasi sebaik-baiknya. Jika tidak pernah berani mencoba, anda tidak akan pernah tahu.
Update 1, 2007-03-21
Selain tips diatas, masih ada 2 cara menjalankan Visual Basic dalam proses migrasi sistem ke Linux.
5. Menjalankan Visual Basic menggunakan VmWare
VmWare merupakan aplikasi Virtual PC dimana kita bisa menjalankan sistem operasi lain diatas sistem operasi yang kita jalankan disaat bersamaan. Jika kita sedang menjalankan Linux, disaat yang sama kita bisa menjalankan Linux, Windows, Solaris dll.
Menjalankan VmWare diatas Linux sama halnya menjalankan Windows utuh didalam Linux. Tidak ada masalah kompatibilitas apapun [semestinya ya :-P. kalaupun ada, biasanya hanya masalah pengaturan port & penyesuaiannya] . Semua yang bisa dijalankan oleh sistem operasi native akan bisa dijalankan oleh VmWare. Bagi anda programmer Visual Basic yang memerlukan proses coding di Linux, sedang belajar bahasa pemrogramman lain di Linux namun mesti tetap melakukan maintenance sistem yang berjalan, VmWare menjadi jawaban yang tepat.
Proses instalasi VmWare di SuSE Linux dapat dibaca disini.
Kekurangan VmWare adalah : aplikasi ini komersil. Versi ujicoba bisa anda dapatkan dari
http://www.vmware.com. Masalah kedua, menjalankan Windows native tentu saja membutuhkan lisensi.
Saran saya, jikapun menggunakan VmWare, gunakan untuk situasi yang sangat penting dan tidak ada alternatif selain menjalankan aplikasi Windows utuh. Yang kedua, coba gunakan aplikasi sejenis VmWare di Linux.
6. Menjalankan Aplikasi Menggunakan Terminal Services
RDesktop dan Krdc (K Remote Desktop Connection) dapat mengakses Windows Terminal Server. Dengan fasilitas ini, anda bisa menjalankan aplikasi secara utuh yang ditempatkan pada sebuah Windows Server. Meski tetap membutuhkan lisensi, model ini bisa mengurangi biaya lisensi dan menjembatani proses migrasi sistem.
Beberapa rekan menjalankan Terminal Service menggunakan Windows XP. Salah satu caranya diuraikan oleh Eko Juniarto dalam artikel Terminal Server di Windows XP. Pertimbangannya, pengurangan biaya lisensi.
Apapun pertimbangannya, berbagai alternatif diatas saya uraikan agar bisa dipilih dan dipilah mana solusi yang paling tepat untuk lingkungan masing-masing.