Geovisi Gis Textbooks Series - Buku Seri Pemrograman Sistem Informasi Geografis Dengan Mapinfo Mapbasic
Geovisi Gis Textbooks Series - Buku Seri Pemrograman Sistem Informasi Geografis Dengan Mapinfo Mapbasic
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 1
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
1. Dasar-Dasar Pemrograman MapBasic
1.1 Elemen-Elemen Dasar Pemrograman MapBasic
Elemen dasar pemrograman MapBasic mendeskripsikan beberapa aspek dasar dari sintak pemrograman
MapBasic.
Baris komentar merupakan baris kode yang dimaksudkan sebagai deskripsi dari program yang akan
diabaikan oleh compiler MapBasic. Seperti pada program Basic pada umumnya, pada MapBasic
komentar diawali dengan karakter aphostrophe (').
Silahkan compile dan jalankan program dengan cara klik menu Project kemudian pilih Compile, setelah
berhasil silahkan klik menu Run maka akan menghasilkan tampilan seperti berikut ini:
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 2
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Perhatikan bahwa kode beris kode “' Program menampilkan pesan“ tidak berefek pada program.
1.1.2 Variabel
Variabel merupakan tempat menyimpan nilai yang dapat berubah selama siklus hidupnya. Sebelum
digunakan, variabel harus dideklarasikan terlebih dahulu. Statemen Dim (untuk variabel lokal) atau
Global (untuk variabel global) digunakan untuk mendeklarasikan dan mendefinisikan variabel. Deklarasi
variabel mencakup nama dan tipe variabel. Gunakan operator sama dengan (=) untuk memasukkan nilai
ke dalam variabel. Contoh pendeklarasian dan pengisian nilai pada variabel.
nama = "Ibnu"
Satu statemen pendeklarasian dan pendefinisian variabel (Dim atau Global) dapat digunakan untuk
mendeklarasikan beberapa variabel dengan dipisahkan tanda koma. Contoh berikut merupakan
pendeklarasian dua variabel dengan tipe yang sama.
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 3
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Dim nama, alamat As String
nama = "Ibnu"
alamat = "Yogyakarta"
Contoh berikut merupakan pendeklarasian empat variabel dengan tipe yang berbeda.
nama = "Ibnu"
alamat = "Yogyakarta"
tinggi = 170.5
berat = 60
Penamaan Variabel
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 4
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
- dapat diakhiri dengan tanda persen (%), ampersand (&), tanda seru (!), atau karakter @, dimana
penulisan ini tidak memiliki fungsi khusus walaupun dalam bahasa Basic dapat mengindikasikan
tipe variabel tertentu
- tidak boleh sama dengan salah satu key word yang dimiliki oleh MapBasic (misal: Call, Close,
Goto, dan lain sebagainya)
- bersifat case-insensitive sehingga penulisan nama variabel dengan huruf besar dan kecil dianggap
sama.
Tipe Variabel
Tipe Keterangan
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 5
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
String * n Data karakter dengan panjang n karakter (hingga 32.767
karakter)
Untuk mendefinisikan variabel buatan sendiri digunakan statemen “Type…End Type”. Berikut contoh
kode pembuatan dan penggunaan tipe variabel buatan sendiri.
Type DataPribadi
nama As String * 30
alamat As String * 100
tinggi As Float
berat As Float
End Type
Dim siswa As DataPribadi
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 6
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
siswa.nama = "Ibnu"
siswa.alamat = "Yogyakarta"
siswa.tinggi = 170.5
siswa.berat = 60
Note siswa.nama
Variabel Array
MapBasic mendukung variabel array satu dimensi dengan aturan penulisan sebagai berikut:
Statemen “UBound” digunakan untuk mengetahui ukuran aktual variabel array, sedangkan “ReDim”
digunakan untuk mengubah ukuran atau jumlah anggota variabel array yang bersangkutan.
Contoh kode program pendeklarasian, pengisian nilai dan pengambilan nilai dari variabel array.
Dim nama(4) As String
nama(1) = "Ani"
nama(2) = "Ana"
nama(3) = "Ina"
nama(4) = "Oni"
Note nama(1)
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 7
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Jangkauan (Scope) Variabel
Variabel yang dideklarasikan dengan menggunakan statemen “Dim” merupakan varibel lokal yang hanya
berlaku (siklus hidupnya) di dalam fungsi atau prosedur dimana variable tersebut dideklarasikan.
Sedangkan variabel yang dideklarasikan dengan menggunakan statemen “Global” berlaku umum di
dalam sebuah program MapBasic. Variabel ini dideklarasikan di luar fungsi atau prosedur, dan
didefinisikan sebelum fungsi atau prosedur.
Apabila terdapat kasus dua nama variabel yang sama dimana sebuah variabel global dan yang satu lagi
variabel lokal di dalam prosedur, maka prioritas akan diberikan pada variabel lokal selama siklus
hidupnya, kemudian setelah siklus variabel lokal berlalu prioritas diberikan kepada variabel global.
Sub Main
Dim strVar As String
strVar = "Lokal"
Call initialize_globals
Note "Prosedur Main : " + strVar
End Sub
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 8
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Sub initialize_globals
strVar = "Global"
Note "Prosedur initialize_globals : " + strVar
End Sub
1.1.3 Konstanta
Konstanta merupakan nilai tertentu (data value) yang tidak akan berubah selama program yang
bersangkutan dieksekusi (siklus hidup). Konstanta didefinisikan dengan key word “Define”. Contoh kode
yang mengandung konstanta:
Define Pi 3.14
Define Programmer "Ibnu"
1.1.4 Operator
Operator merupakan simbol yang menginformasikan kepada compiler MapBasic untuk menjalankan
manipulasi matematis atau logika tertentu. MapBasic mendukung beberapa jenis operator sebagai berikut:
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 9
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Operator Numerik
Operator Deskripsi
- Pengurangan
* Perkalian
/ Pembagian
^ Pangkat
Operator Perbandingan
Operator Deskripsi
= Sama dengan
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 10
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
< Lebih kecil dari
Operator Logika
Operator Deskripsi
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 11
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Operator Geografis
Operator Deskripsi
Contains Koordinat titik pusat (centroid) unsur spasial yang kedua berada di
dalam wilayah unsur spasial yang pertama
Contains Part Sebagian wilayah unsur spasial yang kedua berada di dalam wilayah
unsur spasial yang pertama
Contains Entire Keseluruhan wilayah unsur spasial yang kedua berada di dalam wilayah
unsur spasial yang pertama
Within Koordinat titik pusat (centroid) unsur spasial yang pertama berada di
dalam wilayah unsur spasial yang kedua
Partly Within Sebagian wilayah unsur spasial yang pertama berada di dalam wilayah
unsur spasial yang kedua
Entirely Within Keseluruhan wilayah unsur spasial yang pertama berada di dalam
wilayah unsur spasial yang kedua
Intersects (wilayah, batas, atau garis) unsur spasial yang pertama dan yang kedua
berpotongan di beberapa titik
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 12
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Prioritas Operator
1.2.1 Percabangan
Compiler MapBasic mendukung bebarapa konsep dan implemantasi struktur pemrograman sebagai
berikut:
IF – THEN – END IF
Digunakan untuk percabangan yang melibatkan satu kondisi dengan satu alternatif (blok) tindakan.
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 13
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
If (kondisi) Then
Blok Proses
End If
Digunakan untuk percabangan yang melibatkan satu kondisi dengan dua alternatif (blok) tindakan.
If (kondisi) Then
Blok Proses_1
Else
Blok Proses_2
End If
Digunakan untuk percabangan yang melibatkan beberapa kondisi dan beberapa alternatif (blok) tindakan.
If (kondisi_1) Then
Blok Proses_1
Blok Proses_2
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 14
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
ElseIf (kondisi_n) Then
Blok Proses_n
Else
Blok Proses_n+1
End If
DO – CASE
Digunakan untuk percabangan yang melibatkan beberapa kondisi dan beberapa alternatif (blok) tindakan,
sebagai alternatif dari IF – THEN – ELSEIF – ELSE – END IF
Case KumpulanNilai_1
Blok Proses_1
Case KumpulanNilai_2
Blok Proses_2
Case KumpulanNilai_n
Blok Proses_n
Case Else
Blok Proses_n+1
End Case
1.2.2 Pengulangan
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 15
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Compiler MapBasic mendukung konsep dan implementasi struktur pengulangan sebagai berikut:
FOR - NEXT
Blok Proses
Next
Skema For-Next di atas akan menambah nilai IndeksLoop naik satu tingkat. Apabila menghendaki
tingkatan yang tidak sama dengan satu (dapat bernilai negatif atau positif) maka dapat ditambahkan
STEP, sehingga skemanya menjadi sebagai berikut:
Blok Proses
Next
Apabila menghendaki keluar dari pengulangan sebelum IndeksLoop NilaiAkhir dapat digunakan
statemen EXIT FOR, sehingga skemannya dapat menjadi seperti berikut:
Blok Proses1
If (Kondisi) Then
Exit For
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 16
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
End If
Blok Proses2
Next
Digunakan untuk proses pengulangan hingga tercapai suatu kondisi tertentu (pengulangan terakhir
dilakukan pada saat kondisi terpenuhi)
Do
Blok Proses
Pada skema DO – LOOP UNTIL di atas program minimal melakukan satu kali eksekusi Blok Proses.
Do Until (Kondisi)
Blok Proses
Loop
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 17
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Digunakan untuk proses pengulangan selama kondisi tertentu dipenuhi (pengulangan dilakukan selama
kondisi terpenuhi). Skema yang berlaku adalah sebagai berikut:
Do
Blok Proses
Pada skema DO – LOOP While di atas program minimal melakukan satu kali eksekusi Blok Proses.
Do While (Kondisi)
Blok Proses
Loop
WHILE – WEND
Merupakan variasi dari “Do While – Loop “ dengan skema sebagai berikut:
While (Kondisi)
Blok Proses
Wend
DO – EXIT DO – LOOP
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 18
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Untuk proses pengulangan (tak terhingga) di mana di dalam blok yang bersangkutan terdapat pengujian
suatu kondisi untuk keluar. Skema yang berlaku adalah sebagai berikut:
Do
Blok Proses1
If (Kondisi) Then
Exit Do
End If
Blok Proses2
Loop
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 19
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
BAB 2
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 20
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
2. Prosedur, Fungsi serta Feature Dasar Pemrograman Aplikasi Pada
MapBasic
Implemantasi prosedur dan fungsi bertujuan untuk memodularisasikan program yang bersangkutan
melalui pemisahan tugas-tugas menjadi unit tersendiri yang lebih kecil sehingga dapat dikendalikan dan
dikelola dengan mudah, dapat digunakan untuk membangun program aplikasi yang baru, dan dapat
menghindari duplikasi potongan program. Dengan penggunaan prosedur dan fungsi pengembangan
program aplikasi MapBasic dapat terpenuhi secara efisien dalam waktu yang relatif singkat.
2.1 Prosedur
Prosedur merupakan sekumpulan baris-baris kode (instruksi) yang kemudian diberi nama sendiri
(terkadang memiliki parameter dengan tipe data tertentu) dan akan menghasilkan status (state) yang
terdefinisi (tidak bersifat mengembalikan nilai).
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 21
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Contoh pembuatan dan pengunaan prosedur:
Declare Sub TulisPesan (kalimat As String)
Prosedur Main (Sub Main) adalah prosedur MapBasic yang bersifat khusus dan akan dieksekusi pertama
kali ketika program aplikasi yang bersangkutan dieksekusi. Kemudian, prosedur ini dapat mengambil alih
kontrol program dengan memanggil prosedur, fungsi, atau baris-baris kode elementer lainnya.
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 22
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Untuk keluar dari prosedur aktif tanpa harus menyelesaikan seluruh program dalam prosedur tersebut,
dapat digunakan key word “Exit Sub”. Berikut contoh penggunaannya:
Declare Sub Main
Declare Sub TulisPesan (kalimat As String)
2.2 Fungsi
Fungsi merupakan sekumpulan baris-baris kode (instruksi) yang kemudian diberi nama sendiri (terkadang
memiliki parameter dengan tipe data tertentu) dan akan menghasilkan suatu nilai dengan domain yang
telah didefinisikan di dalam spesifikasinya (bersifat mengembalikan nilai). Pada dasarnya, compiler
MapBasic mendukung beberapa jenis fungsi sebagai berikut:
- fungsi-fungsi standard (umum) yang telah dimiliki oleh bahasa pemrograman Basic
- fungsi-fungsi khusus yang hanya dimiliki oleh MapInfo maupun MapBasic sendiri
- fungsi-fungsi buatan sendiri (custom function)
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 23
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Skema penulisan custom function adalah sebagai berikut:
Declare Function NamaFungsi ([KumpulanParameter]) As TipeDataOutput
...
Nilai pengembalian disimpan dalam variabel yang digunakan pada fungsi dengan nama yang sama
dengan nama fungsi. Untuk memperjelas pembuatan dan penggunaan fungsi berikut diberikan contoh
fungsi.
Declare Function Tambah (a As Integer, b As Integer) As Integer
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 24
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Untuk keluar dari fungsi sebelum seluruh kode dalam fungsi dieksekusi dapat menggunakan key word
“Exit Function”
Secara default passing variabel pada argumen/parameter prosedur dan fungsi dalam MapBasic adalah by
reference, dimana variabel yang dijadikan parameter pada prosedur atau fungsi apabila terjadi perubahan
nilai akibat proses di dalam prosedur atau fungsi tersebut maka nilai itu akan tetap berlaku di luar
prosedur atau fungsi. Pada contoh berikut prosedur “CetakNilai” akan menggunakan nilai variabel
“Angka” yang telah dirubah oleh prosedur “RubahNilai” bukan nilai yang didefinisikan di awal pada
prosedur “Main”.
Sub Main
Dim Angka As Integer
Angka = 10
Note "Nilai Awal " + Angka
Call RubahNilai(Angka)
Call CetakNilai(Angka)
End Sub
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 25
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
Sub CetakNilai(obj As Integer)
Note "Nilai Akhir " + obj
End Sub
Apabila menghendaki passing variabel dengan menggunakan by Value, MapBasic menyediakan key-
word byVal, maka variabel tidak terpengaruh oleh prosedur atau fungsi yang menggunakan variabel
tersebut. Pada contoh berikut prosedur “CetakNilai” akan menggunakan nilai variabel yang diisikan pada
prosedur “Main” dan tidak terpengaruh oleh perubahan nilai variabel oleh prosedur “RubahNilai”.
Sub Main
Dim Angka As Integer
Angka = 10
Note "Nilai Awal " + Angka
Call RubahNilai(Angka)
Call CetakNilai(Angka)
End Sub
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 26
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
2.4 Pengendalian Program
END PROGRAM
Jika menghendaki penghentian sementara jalannya eksekusi suatu program aplikasi MapBasic, maka
telah disediakan key-word “End Program”. Berikut diberikan contoh kode program yang menggunakan
End Program
Dim langkah1, langkah2 As String
langkah1 = "Melakukan langkah pertaman"
langkah2 = "Melakukan langkah kedua"
Note langkah1
End Program
Note langkah2 'baris kode yang tidak sempat dieksekusi
Apabila menghendaki melakukan eksekusi terhadap suatu program aplikasi MapBasic atau menambahkan
workspace MapInfo dari program aplikasi MapBasic yang lain, maka dapat digunakan key-word “Run
Application.
Dan sebaliknya apabila ingin menghentikan eksekusi terhadap suatu program aplikasi dari program
aplikasi yang lain, maka dapat digunakan key-word “Terminate Application”.
Sedangkan untuk menghentikan keseluruhan aktivitas aplikasi serta menutup program aplikasi SIG
MapInfo-nya secara permanen digunakan key-word “End MapInfo”.
Untuk mencoba penggunaannya buatlah dua program aplikasi MapBasic sebagai berikut:
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 27
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
'Program 1
Dim str As String
str = "Ini program satu"
Note str
Simpan dan compile kode program di atas ke dalam alamat yang nanti dijadikan parameter dalam
program yang kedua barikut:
'Program 2
Dim pesan As String
Dim FileProgram1 As String
FileProgram1 = "D:\Latihan\MapBasic\3\latihan3_4a.mbx"
2.5 Include
Key-word “Include” digunakan untuk menggabungkan data-data dalam satu program MapBasic. Dengan
cara seperti ini, data (yang pada umumnya diimplementasikan sebagai suatu konstanta) yang terdapat di
dalam file teks include secara otomatis akan diintegrasikan ke dalam baris-baris kode MapBasic pada saat
kompilasi. Pada MapBasic, pernyataan include (pada umumnya) digunakan untuk memanfaatkan
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 28
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
sejumlah besar baris-baris pernyataan define. Berikut disajikan contoh penggunaan include yang
diimplementasikan pada dua file berisi kode berikut:
'Contoh file def berisi konstanta
Include "d:\Latihan\MapBasic\5\konstanta.def"
r = 10
Luas = Phi * r^2
Note Luas
Untuk menghubungkan file-file modul dalam satu project pada MapBasic dapat dilakukan dengan
membuat sebuah file project MapBasic. Untuk mencoba silahkan buat dua file berisi kode seperti di
bawah ini, kemudian silahkan lakukan langkah Compile.
Declare Sub Main()
Declare Function Tambah (a As Integer, b As Integer) As Integer
Sub Main()
Dim nilai1, nilai2, jumlah As Integer
nilai1 = 10
nilai2 = 20
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 29
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.
jumlah = Tambah(nilai1, nilai2)
Note jumlah
End Sub
Dengan file project ini maka prosedur Main dan fungsi Tambah dapat saling berhubungan menjadi satu
kesatuan program. Untuk mencobanya silahkan klik menu Project kemudian Link Current Project,
selanjutnya setelah berhasil klik Run.
GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 30
dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama
http://geovisi.com email : info@geovisi.com. E-book ini dipublish di Mailing list Komunitas GIS.