Tips Migrasi Aplikasi Visual Basic ke Linux
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.
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 bered
Uraian diatas menurut saya menggambarkan kondisi real dilapangan, sebagai programmer (VB) sangat dilematis menghadapi situasi ini, dimana aspek legalitas dan efisiensi menjadi alternatif bagi banyak perusahaan. sedangkan disisi skill kita harus bisa menyesuaikan. tentunya pemilihan software open source adalah alternatif terbaik untuk menghadapi perubahan ini.
wah klo koding sederhana pake wine mungkin jalan, gimana dengan aplikasi erp / akunting yang banyak pake komponen pihak ke tiga.. mending tulis ulang kyknya sekalian pake java/c++ tapi ya bukan migrasi namanya tapi bikin ulang.. hehe
Aplikasi VB/COM tidak bisa migrasi ke Linux. Kalau memang mau, namanya bukan migrasi tapi rewrite.
Alasan, yang sekaligus pengalaman di lapangan, ada dua:
1. Semua lingkungan pemrograman membutuhkan runtime. VB/COM menggunakan msvbrun.dll. msvbrun.dll sendiri adalah ‘wrapper’ dari banyak WIN32 API. Sepandai-pandainya emulator, tidak bisa meniru API sebenarnya. Misalnya untuk fungsi operasi file, VB/COM menggunakan Microsoft Scripting Library FileSystemObject (FSO). Kita tidak bisa mengemulasikan FSO.delete(file) di linux karena memang arsitektur OS linux tidak sama dengan Windows.
Bahkan untuk “managed environment” sekalipun seperti MONO tidak bisa mencontoh System.IO.File di .NET.
2. Sepakat dengan aespe diatas, tidak ada aplikasi VB/COM serius yang tidak menggunakan 3rd library. 3rd library biasanya dibuat dengan teknik subclass API-API Windows. Untuk porting 3rd party library ke Linux, lagi-lagi terbentur masalah arsitektur sistem operasi.
Singkatnya begini.
Aplikasi Java menggunakan JVM.
.NET menggunakan CLR.
Kalau ingin aplikasi Java jalan di linux, ya pakai JVM untuk linux.
Kalau ingin aplikasi .NET jalan di linux, ya pakai CLR untuk linux misal MONO atau DotGNU.
Nah,
VB/COM menggunakan WIN32 API sebagai runtime. Jika ingin pindah ke linux, ya emulasikan dulu WIN32 API di linux.
Dan, emang bisa emulasi WIN32API di linux? 🙂
Ya, tips ini memang diangkat dari pengalaman pribadi
Maklum, saya juga asalnya dari programmer VB :-).
Tentu saja kita harus memilah aplikasi mana yang bisa dijalankan oleh sekian tips diatas boss.
Pengalaman saya, saya perlu menurunkan versi Crystal Report untuk menjaga agar program bisa tetap berjalan. CR versi 10 keatas terlalu berat misalnya.
Tentu ada beberapa pekerjaan yang harus dilakukan, namun tips diatas bisa dijadikan jembatan proses migrasinya.
Setuju dengan poin-poin yang disampaikan oleh Andry. Pertimbangan saya adalah, biasnaya kita diminta melakukan migrasi sistem (jika perlu, re-write total) namun aplikasi yang sedang berjalan juga tidak boleh berhenti.
Untuk antisipasi demikian, maka tips ini disampaikan.
Untuk contoh manipulasi fungsi khas suatu sistem, saya juga setuju. Hanya saja, perusahaan-perusahaan tidak semua aplikasinya menggunakan komponen VB/COM. Penggunaan komponen standard dan hanya beberapa 3rd party semestinya masih bisa menggunakan solusi yang lebih simple.
BTW, untuk Visual Basic-nya sendiri bisa dijalankan di Wine kok.
ah lo-nya aja yg bego. udah mendingan bikin ulang aja aplikasi-nya pake gambas (VB clone under linux) trus databasenya pake MySQL yang udah diimport. selesai
trus bikin ulang-nya gak terlalu drastis banget. cuz, sintaks Gambas hampir sama semuanya dengan VB. yang berbeda cara ngakses databasenya doank.
masalah dimana aspek legalitas dan efisiensi menjadi alternatif bagi banyak perusahaan itu memang pasti.
nah tinggal kita yang harus menyesuaikan diri dengan belajar bahasa pemrograman baru yg open source and gratis (gak semua open source gratis)
gitu menurut gw
Halo, saya masi pemula di bidang programming.
Saya mau tanya gimana mengkoneksikan database yd dibuat dgn mysql dengan aplikasi vb yg kita buat.
Klu bisa bales ke email :
valentine_gm@yahoo.com
terima kasih sebelumnya.
Hehehe, sampai dibilang bego… Entah siapa yang dibilang bego, kalau saya ya mungkin memang demikian, tapi kalau Andry yang dibilang, waduh, salah besar banget. Kenali dulu orang ah, sebelum komentar 😉
Untuk koneksi dari VB ke MySQL, bisa menggunakan MyODBC mas.
atau bisa pake win api & MyVBQL.dll
SUSAH BANGET NYARI VISUAL BASIC….
BIKIN PUSING…
saya mo tanya dunk gimana sih caranya bikin aplikasi dengan menggunakan visual basic….???
pak tolong kirimkan kode-kode dalam pembuatan visualbasic, beserta contoh programnya juga ya…..
aq dah instal crosover pro 6 di pclinux 2007.
via crosover, instal windows program, pilih unsuported program,ku instal setup.exe( vb6) tapi gagal
ku coba jalanin program exe hasil vb6 di file manager linux, tetep ga bisa
ku coba instal hasil package, juga tetap gagal.
apa kalo mo instal vb6 kudu instal program msoffice 97 ato 2000 dulu?? ato msdac?? ato program win yg lain???
mohon pencerahanya
( ini sama dg yg di linux.or.od, maaf butuh cepat krn lagi dikejar targer:) )
assalamu’alaikum wr wb
Mas mbok sekalian aja pakai linux semua, visual basicnya linux itu pakai gambas aja ntar nggak susah kok mempelajarinya jika dari programmer VB, dan databasenya pakay mysql aja . AKu coba malah enakan pakai gambas lebih halal (nggak bajak). gambas yang jalanhampir semua distro ambil rpmnya suse aja , mulai dari suse 9.2 dampai suse 10.1 kalau dipasang di distro lain lebih mudah . info selanjutnya kirim aja ke email s1swanto_it.plox@yahoo.co.id
wasslamu’aliakum wr wb
he3x,………..
lagi cari reference buat connect c++ client apps ke pgsql, eh nyasarnya kemari,………..
ternyata aku bukan satu-satunya orang yang merasakan mudahnya vb ya, tapi sekarang aku dah sadar, makanya balik lagi ke c++,……….
alasan utamaku pindah ke c++ karena aku butuh pl yg lebih powerfull dan universal, ga terikat sama 1 os,………
vb, good night,….. -_-
c++, good morning,…… ^_^
Coba aja Gambas
Mirip dengan vb…..
Tapi bukan kloningan…..
Blognya bagus
Aku mau nanya dong…kalo mau buka file adobe indesign di linux pake program apa ya…? udah saya coba pake scribus tetep gak bisa kebuka…
Aku pake linux Ubuntu 8.04 – Hardy Heron
Menggunakan Gambas, OK. tapi untuk dukungan reportingnya sangat minim !. Bayangkan aplikasi database tanpa laporan apa jadinya. AFAIK untuk saat ini belum ada tools yang memadai yang bisa mensupport gambas. gb.report yang ada pun masih dalam tahap pengembangan. So agar argo tetap jalan solusi lainnya menggunakan Java SE untuk membangun aplikasi Desktop, mau mampir di kelas enterprise tinggal pilih J2EE, atau jika berminat membuat aplikasi mobile bisa menggunakan J2ME dari Java. Pepatah bilang sekali dayung 3 pulau terlampaui (padahal ombaknya besar dan ada ikan hiu nya 😀 ).
Back to Gambas, seandainya ada tools (tidak harus secangging Crystal Report) untuk membuat laporan2 standar yang bisa grouping, summary, parameter dan operasi standar lainnya. sudah gatal rasanya pengen koding lagi.
pisss…. \/,, 🙂
Hooh, bikin report di Gambas emang sulitlah. Emang gak ada tool kayak FastReport or CrystalReport. Sy pernah bikin report-nya Gambas pake HTML, bisa sih tapi sulit bgt, codingnya kita harus hapal ama yg namanya skrip HTML, lalu disesuaikan ama field-field kita punya.
tipe data dilengkapi dong…..
mas, saya baru mau memasuki dunia linux dan mudah-mudahan dalam waktu dekat bisa segera bercerai sama ms w setelah sekian lama hidup bersama tapi semakin hari semakin merongrong, saya mau tanya, kalau di microsoft untuk os-nya khan menggunakan win(95-98-2000-me-xp-vista) dan aplikasinya office nah untuk linux itu os-nya an aplikasinya apa? terimasih maksih mas
miss w tukang porot ya.
:))