Visual Basic di Linux? Gambas Solusinya
Anda penggemar Visual Basic? Dan sering menggunakannya untuk membuat program? Tapi anda ingin migrasi dari Windows ke Linux? Apakah ada pengganti Visual Basic di Linux?
O tentu ada! Pakai saja Gambas!

Yah, walaupun tidak seratus persen identik dengan Visual Basic, dijamin anda yang familiar dengan lingkungan pemrograman Visual Basic tidak akan merasa asing ketika pertama kali menggunakan Gambas.
Hmmm… Biar lebih afdol, ada baiknya bila kita berkenalan lebih dekat dengan Gambas. Oke, kita mulai dengan instalasi Gambas di Linux anda.
Disini saya menggunakan distro favorit saya, Ubuntu 8.04 aka Hardy Heron. Yupe, diasumsikan anda memiliki DVD repository-nya. Atau, anda juga bisa men-download paket-paket Gambas untuk Hardy Heron dari sini.
Let’s begin…

Buka Terminal anda (Applications > Accessories > Terminal), kemudian ketikkan:
sudo apt-get install gambas2
Ikuti langkah instalasinya. Done!
Hey… masak cuma segitu aja?
Oke… oke… mari kita lanjutkan dengan membuat sebuah program sederhana, kalkulator!

Sekarang jalankan Gambas (Applications > Programming > Gambas2). Jendela Welcome to Gambas II akan tampil. Kliklah pada New project… untuk membuat sebuah proyek baru. Dialog New project akan tampil. Disini, anda bisa menentukan tipe proyek yang bagaimanakah yang ingin anda buat. Dalam contoh ini, saya memilih GTK graphical application, kemudian klik Next. Pada jendela yang tampil berikutnya, tentukan lokasi dimana anda akan menyimpan file-file proyek anda, jika sudah, klik Next lagi. Sekarang, isikan informasi proyek apa yang akan anda buat, disini saya memasukkan TheGambasCalc sebagai project name dan title-nya. Bila sudah, klik lagi Next untuk yang terakhir kalinya.



Bidang kerja yang baru akan terbuka dan anda dapat mulai membuat program anda

Desainlah sebuah form dengan menggunakan sebuah label dan 17 buah button, seperti yang tampak pada gambar dibawah ini.

Berikut kontrol-kontrol yang digunakan:
|
Kontrol |
Name |
Text |
|
Label |
lblMain |
(kosong) |
|
Button |
cmdC |
Reset |
|
Button |
cmd0 |
0 |
|
Button |
cmd1 |
1 |
|
Button |
cmd2 |
2 |
|
Button |
cmd3 |
3 |
|
Button |
cmd4 |
4 |
|
Button |
cmd5 |
5 |
|
Button |
cmd6 |
6 |
|
Button |
cmd7 |
7 |
|
Button |
cmd8 |
8 |
|
Button |
cmd9 |
9 |
|
Button |
cmdComma |
. |
|
Button |
cmdResult |
= |
|
Button |
cmdAdd |
+ |
|
Button |
cmdMinus |
- |
|
Button |
cmdMultiply |
* |
|
Button |
cmdDivide |
/ |
Oke, sekarang saatnya mengetikkan kode program-nya. Kliklah tombol Code pada toolbar.


Kemudian ketikkan listing berikut:
<— Code End —>
<!– /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:”"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:”Times New Roman”; mso-fareast-font-family:”Times New Roman”;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} –>
‘Gambas class file
‘deklarasi variabel XY sebagai string, berfungsi sebagai pemegang operator matematik (+-*/)
PUBLIC XY AS String
‘deklarasi variabel valX sebagai bilangan pertama
PUBLIC valX AS Float
‘deklarasi variabel valY sebagai bilangan kedua
PUBLIC valY AS Float
‘deklarasi variabel valZ sebagai bilangan ketiga (hasil dari operasi matematika valX dan valY)
PUBLIC valZ AS Float
PUBLIC SUB Form_Close()
‘menampilkan pesan ketika akan keluar dari program
PRINT message.info(â€GambasCalc v0.1 - August 31, 2008 - An introduction to Gambas2″, “Nextâ€)
PRINT message.Info(â€Author: Idrus Fhadli aka xvader - fadly87@gmail.com - http://idrus.netâ€, “Nextâ€)
PRINT message.info(â€Thanks for using :)â€, “Fineâ€)
‘keluar dari program
QUIT
END
PUBLIC SUB cmd1_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “1″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 1
ENDIF
ENDIF
END
PUBLIC SUB cmd2_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “2″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 2
ENDIF
ENDIF
END
PUBLIC SUB cmd3_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “3″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 3
ENDIF
ENDIF
END
PUBLIC SUB cmd4_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “4″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 4
ENDIF
ENDIF
END
PUBLIC SUB cmd5_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “5″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 5
ENDIF
ENDIF
END
PUBLIC SUB cmd6_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “6″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 6
ENDIF
ENDIF
END
PUBLIC SUB cmd7_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “7″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 7
ENDIF
ENDIF
END
PUBLIC SUB cmd8_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “8″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 8
ENDIF
ENDIF
END
PUBLIC SUB cmd9_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, tambahkan satu digit lagi
ELSE
‘jika angka pertama adalah ‘0′ maka gantikan dengan angka selain 0
IF lblmain.caption = “0″ THEN
lblmain.Caption = “9″
ELSE
‘jika bukan, lanjutkan dengan pemasukan angka
lblmain.caption = lblmain.caption & 9
ENDIF
ENDIF
END
PUBLIC SUB cmd0_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, maka:
ELSE
‘cegah pemasukan angka ‘0′ beruntun
IF lblmain.Caption = “0″ THEN
lblMain.Caption = “0″
‘bila bukan digit pertama, maka tambahkan angka ‘0′
ELSE
lblmain.Caption = LblMain.Caption & 0
ENDIF
ENDIF
END
PUBLIC SUB cmdC_Click()
‘kosongkan nilai pada lblMain.caption, XY, valX, valY, valZ
lblmain.Caption = “â€
XY = “â€
valX = 0
valY = 0
valZ = 0
END
PUBLIC SUB cmdAdd_Click()
‘operasi penambahan
valX = lblmain.Caption
XY = “+â€
LblMain.Caption = “â€
END
PUBLIC SUB cmdResult_Click()
‘ambil nilai valY dari lblMain.caption
valY = lblmain.Caption
‘tentukan operator yang digunakan kemudian jalankan operasi matematika yang sesuai
IF XY = “+†THEN
valZ = valX + valY
ELSE IF XY = “-†THEN
valZ = valX - valY
ELSE IF XY = “*†THEN
valZ = valX * valY
ELSE IF XY = “/†THEN
valZ = valX / valY
END IF
‘tampilkan hasilnya pada lblMain.caption
LblMain.Caption = valZ
‘kosongkan operator
XY = “â€
END
PUBLIC SUB cmdMinus_Click()
‘operasi pengurangan
valX = lblmain.Caption
XY = “-â€
LblMain.Caption = “â€
END
PUBLIC SUB cmdMultiply_Click()
‘operasi perkalian
valX = lblmain.Caption
XY = “*â€
LblMain.Caption = “â€
END
PUBLIC SUB cmdDivide_Click()
‘operasi pembagian
valX = lblmain.Caption
XY = “/â€
LblMain.Caption = “â€
END
PUBLIC SUB cmdComma_Click()
‘jika angka pada lblMain.caption lebih dari 11 digit maka keluar dari rutin ini
IF Len(lblmain.Caption) > 11 THEN
RETURN
‘jika belum, maka:
ELSE
‘cegah pemasukan simbol ‘.’ (koma) sebagai digit pertama
IF lblmain.Caption = ҠTHEN
LblMain.Caption = “â€
‘bila bukan digit pertama, maka tambahkan simbol ‘.’ (koma)
ELSE
lblmain.Caption = LblMain.Caption & “.â€
ENDIF
ENDIF
END
<— Code End —>
Test-lah apakah program telah dapat berjalan dengan baik dengan menekan tombol F5 pada keyboard, atau klik pada menu Debug > Run.
Simpan proyek anda dengan menekan kombinasi tombol Ctrl+Alt+S pada keyboard, atau klik pada menu File > Save project.
Compile-lah program anda dengan menekan kombinasi tombol Alt+F7 pada keyboard, atau klik pada menu Project > Compile All.
Anda dapat mengatur properties program anda dengan menekan kombinasi tombol Ctrl+P pada keyboard, atau klik pada menu Project > Properties.

Anda juga dapat mengekspor hasil akhir program anda dengan mengklik pada menu Project > Make. Disana anda akan menemukan tiga pilihan yakni: Executable… (untuk mengekspor program ke format executable), Source archive… (untuk mengekspor program ke format arsip source), dan Installation package… (untuk mengekspor program ke format instalasi sesuai distro Linux yang dipilih: Debian, Fedora, Mandriva Linux, OpenSuse, Slackware, Ubuntu, dan Autotools.
Oke, sekarang anda dapat mengeksplorasi Gambas lebih jauh lagi, membuat program yang anda inginkan, kemudian mendistribusikannya ke jagad maya
—
[Download paket lengkap contoh program]
Last update: Tuesday, September 2, 2008
—
Idrus Fhadli aka xvader | fadly87[at]gmail.com | http://idrus.net
Comment by Sinkwonk on 25 December 2009:
Bagus sekali untuk dicoba, tapi ada contoh2 yang lain gak?..