About the Author

author photo

Just a lamer who knows nothing :) | E-mail: fadly87@gmail.com | Blog: http://idrus.net

See All Posts by This Author

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! :D


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

  • Share/Save/Bookmark

There Is 1 Response So Far. »

  1. Bagus sekali untuk dicoba, tapi ada contoh2 yang lain gak?..

Post a Response