GEOVISI™ GIS TEXTBOOKS SERIES : BUKU SERI PEMROGRAMAN SISTEM INFORMASI GEOGRAFIS DENGAN MAPINFO MAPBASIC

PENULIS : IBNU ROSYADI, S.Si PT GEOVISI MITRATAMA

BAB 1

GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas 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

1. Dasar-Dasar Pemrograman MapBasic
1.1 Elemen-Elemen Dasar Pemrograman MapBasic Elemen dasar pemrograman MapBasic mendeskripsikan beberapa aspek dasar dari sintak pemrograman MapBasic. 1.1.1 Baris Komentar Program 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 ('). Contoh penulisan komentar:
' Program menampilkan pesan Note "Selamat Datang"

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 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

Contoh berikut merupakan pendeklarasian dua variabel dengan tipe yang sama. variabel harus dideklarasikan terlebih dahulu.com email : info@geovisi. E-book ini dipublish di Mailing list Komunitas GIS. Gunakan operator sama dengan (=) untuk memasukkan nilai ke dalam variabel. GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Dim nama As String nama = "Ibnu" Satu statemen pendeklarasian dan pendefinisian variabel (Dim atau Global) dapat digunakan untuk mendeklarasikan beberapa variabel dengan dipisahkan tanda koma. Contoh pendeklarasian dan pengisian nilai pada variabel.com. 1. Deklarasi variabel mencakup nama dan tipe variabel. 3 .1. Geovisi Mitratama http://geovisi. Statemen Dim (untuk variabel lokal) atau Global (untuk variabel global) digunakan untuk mendeklarasikan dan mendefinisikan variabel. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. Sebelum digunakan.2 Variabel Variabel merupakan tempat menyimpan nilai yang dapat berubah selama siklus hidupnya.Perhatikan bahwa kode beris kode “' Program menampilkan pesan“ tidak berefek pada program.

Dim nama. Geovisi Mitratama http://geovisi. tinggi. alamat As String nama = "Ibnu" alamat = "Yogyakarta" Contoh berikut merupakan pendeklarasian empat variabel dengan tipe yang berbeda. 4 . garis bawah atau tilde (~) tidak boleh mengandung spasi maksimum 31 karakter dapat terdiri dari karakter huruf. bilangan.5 berat = 60 Note "Nama : " + nama + Chr$(10) + "Alamat : " + alamat + Chr$(10) + "Tinggi : " + tinggi + Chr$(10) + "Berat : " + berat Penamaan Variabel Terdapat beberapa ketentuan untuk pemberian nama varibel sebagai berikut: harus dimulai dengan karakter huruf (alfabetik).com email : info@geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.com. Dim nama. Geovisi™ merupakan merk dagang PT. berat As Float nama = "Ibnu" alamat = "Yogyakarta" tinggi = 170. alamat As String. tanda pound (#). E-book ini dipublish di Mailing list Komunitas GIS. atau garis bawah GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.

Close.com email : info@geovisi. 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.com.483.147.767 karakter GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.767 sampai 32.147. Goto.647 Float String Data 8 byte format IEEE bilangan real Data karakter dengan panjang maksimal hingga 32. 5 . tanda seru (!). Tipe Variabel Tipe variabel yang didukung oleh MapBasic adalah Tipe SmallInt Keterangan Data 2 byte bilangan bulat dengan interval nilai antara -32. ampersand (&).767 Integer Data 4 byte bilangan bulat dengan interval nilai antara -2.483. atau karakter @. dan lain sebagainya) bersifat case-insensitive sehingga penulisan nama variabel dengan huruf besar dan kecil dianggap sama. Geovisi™ merupakan merk dagang PT.647 sampai 2. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi Mitratama http://geovisi. E-book ini dipublish di Mailing list Komunitas GIS.- - dapat diakhiri dengan tanda persen (%).

dan 1 byte untuk hari (tanggal) Object Tipe data yang digunakan untuk menyimpan variabel objekobjek yang bersifat grafis (point.767 karakter) Logical Date Data 1 byte. line. ellipse. Berikut contoh kode pembuatan dan penggunaan tipe variabel buatan sendiri. polyline. atau frame) Tipe Variabel Buatan Sendiri Untuk mendefinisikan variabel buatan sendiri digunakan statemen “Type…End Type”. Geovisi™ merupakan merk dagang PT. 6 . text. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. E-book ini dipublish di Mailing list Komunitas GIS. arc.com email : info@geovisi. 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. 1 byte untuk bulan. rectangle. TRUE (nilai ≠ 0) atau FALSE (nilai = 0) Data 4 byte: 2 byte untuk menyimpan data tahun.String * n Data karakter dengan panjang n karakter (hingga 32. rounded rectangle. region. Geovisi Mitratama http://geovisi.com.

tinggi = 170. Contoh kode program pendeklarasian.nama Variabel Array MapBasic mendukung variabel array satu dimensi dengan aturan penulisan sebagai berikut: Dim NamaVariabel (JumlahAnggota) As TipeVariabel Statemen “UBound” digunakan untuk mengetahui ukuran aktual 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. sedangkan “ReDim” digunakan untuk mengubah ukuran atau jumlah anggota variabel array yang bersangkutan.nama = "Ibnu" siswa.siswa.com. 7 .com email : info@geovisi. E-book ini dipublish di Mailing list Komunitas GIS. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.alamat = "Yogyakarta" siswa. Geovisi Mitratama http://geovisi.berat = 60 Note siswa. Geovisi™ merupakan merk dagang PT. pengisian nilai dan pengambilan nilai dari variabel array.5 siswa.

Declare Sub Main Declare Sub initialize_globals Global strVar As String 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. Variabel ini dideklarasikan di luar fungsi atau prosedur.com email : info@geovisi. Geovisi Mitratama http://geovisi. Geovisi™ merupakan merk dagang PT. Sedangkan variabel yang dideklarasikan dengan menggunakan statemen “Global” berlaku umum di dalam sebuah program MapBasic. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. maka prioritas akan diberikan pada variabel lokal selama siklus hidupnya. Apabila terdapat kasus dua nama variabel yang sama dimana sebuah variabel global dan yang satu lagi variabel lokal di dalam prosedur. E-book ini dipublish di Mailing list Komunitas GIS.com.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. kemudian setelah siklus variabel lokal berlalu prioritas diberikan kepada variabel global. dan didefinisikan sebelum fungsi atau prosedur. 8 .

E-book ini dipublish di Mailing list Komunitas GIS. Contoh kode yang mengandung konstanta: Define Pi 3.1. 9 .3 Konstanta Konstanta merupakan nilai tertentu (data value) yang tidak akan berubah selama program yang bersangkutan dieksekusi (siklus hidup). Geovisi™ merupakan merk dagang PT. MapBasic mendukung beberapa jenis operator sebagai berikut: GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Konstanta didefinisikan dengan key word “Define”. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.com email : info@geovisi.Sub initialize_globals strVar = "Global" Note "Prosedur initialize_globals : " + strVar End Sub 1.com.1.4 Operator Operator merupakan simbol yang menginformasikan kepada compiler MapBasic untuk menjalankan manipulasi matematis atau logika tertentu.14 Define Programmer "Ibnu" 1. Geovisi Mitratama http://geovisi.

E-book ini dipublish di Mailing list Komunitas GIS. Geovisi™ merupakan merk dagang PT.Operator Numerik Operator + Deskripsi Penjumlahan (untuk variabel bertipe string akan menghasilkan variabel string baru dari masukan dua variabel * / \ Mod ^ Pengurangan Perkalian Pembagian Pembagian bilangan bulat integer (tanpa sisa) Sisa pembagian bilangan bulat Pangkat Operator Perbandingan Operator = <> Sama dengan Tidak sama dengan Deskripsi GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi Mitratama http://geovisi. 10 .com email : info@geovisi.

menghasilkan nilai logika TRUE Or Salah satu operand benar – salah satu kondisi sudah terpenuhi. 11 . Geovisi Mitratama http://geovisi. E-book ini dipublish di Mailing list Komunitas GIS.com email : info@geovisi. Geovisi™ merupakan merk dagang PT. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.com.< > <= >= Between Lebih kecil dari Lebih besar dari Lebih kecil atau sama dengan Lebih besar atau sama dengan Di antara nilai minimum dan maksimum yang ditentukan sendiri Misal: X Between 0 And 10 Operator Logika Operator And Deskripsi Kedua operand benar – kedua kondisi terpenuhi. menghasilkan nilai logika TRUE Not Operand akan menghasilkan nilai logika FALSE GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.

atau garis) unsur spasial yang pertama dan yang kedua berpotongan di beberapa titik GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com email : info@geovisi. batas.com. Geovisi Mitratama http://geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 12 . Geovisi™ merupakan merk dagang PT.Operator Geografis Operator Contains Deskripsi 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. E-book ini dipublish di Mailing list Komunitas GIS.

mod penjumlahan [+].2.com email : info@geovisi. Geovisi Mitratama http://geovisi. 3. 2. GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com. 7. tanda kurung [()] pangkat [^] negasi [–] perkalian [*]. E-book ini dipublish di Mailing list Komunitas GIS. 4.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. 5.Prioritas Operator MapBasic menentukan prioritas evaluasi dengan urutan seperti berikut: 1. operator perbandingan. 13 . dan Like operator Not operator And operator Or 1. 6. 8. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. pengurangan [-].2 Struktur Pemrograman 1. pembagian [/ dan \]. 9. penggabungan string [+ dan &] operator geografis.

com email : info@geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 14 . Geovisi Mitratama http://geovisi. Geovisi™ merupakan merk dagang PT.com. If (kondisi_1) Then Blok Proses_1 ElseIf (kondisi_2) Then Blok Proses_2 GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.If (kondisi) Then Blok Proses End If IF – THEN – ELSE – END IF Digunakan untuk percabangan yang melibatkan satu kondisi dengan dua alternatif (blok) tindakan. E-book ini dipublish di Mailing list Komunitas GIS. If (kondisi) Then Blok Proses_1 Else Blok Proses_2 End If IF – THEN – ELSEIF – ELSE – END IF Digunakan untuk percabangan yang melibatkan beberapa kondisi dan beberapa alternatif (blok) tindakan.

com. Geovisi Mitratama http://geovisi.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. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. E-book ini dipublish di Mailing list Komunitas GIS. Geovisi™ merupakan merk dagang PT. 15 . sebagai alternatif dari IF – THEN – ELSEIF – ELSE – END IF Do Case VariabelString (atau bilangan bulat) 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 Pengulangan GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com email : info@geovisi.2.

E-book ini dipublish di Mailing list Komunitas GIS. 16 .Compiler MapBasic mendukung konsep dan implementasi struktur pengulangan sebagai berikut: FOR . Geovisi™ merupakan merk dagang PT. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. sehingga skemanya menjadi sebagai berikut: For IndeksLoop = NilaiAwal To NilaiAkhir Step NilaiStep Blok Proses Next Apabila menghendaki keluar dari pengulangan sebelum IndeksLoop NilaiAkhir dapat digunakan statemen EXIT FOR. sehingga skemannya dapat menjadi seperti berikut: For IndeksLoop = NilaiAwal To NilaiAkhir Step NilaiStep Blok Proses1 If (Kondisi) Then Exit For GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com email : info@geovisi.NEXT Melakukan pengulangan blok proses dari nilai awal ke nilai akhir For IndeksLoop = NilaiAwal To NilaiAkhir Blok Proses Next Skema For-Next di atas akan menambah nilai IndeksLoop naik satu tingkat. Geovisi Mitratama http://geovisi. Apabila menghendaki tingkatan yang tidak sama dengan satu (dapat bernilai negatif atau positif) maka dapat ditambahkan STEP.com.

17 .com email : info@geovisi. Do Until (Kondisi) Blok Proses Loop DO – LOOP WHILE dan DO WHILE – LOOP GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Geovisi Mitratama http://geovisi.End If Blok Proses2 Next DO – LOOP UNTIL dan DO UNTIL – LOOP Digunakan untuk proses pengulangan hingga tercapai suatu kondisi tertentu (pengulangan terakhir dilakukan pada saat kondisi terpenuhi) Do Blok Proses Loop Until (Kondisi) Pada skema DO – LOOP UNTIL di atas program minimal melakukan satu kali eksekusi Blok Proses. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi™ merupakan merk dagang PT. E-book ini dipublish di Mailing list Komunitas GIS.com.

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.Digunakan untuk proses pengulangan selama kondisi tertentu dipenuhi (pengulangan dilakukan selama kondisi terpenuhi).com email : info@geovisi. Skema yang berlaku adalah sebagai berikut: Do Blok Proses Loop While (Kondisi) Pada skema DO – LOOP While di atas program minimal melakukan satu kali eksekusi Blok Proses. E-book ini dipublish di Mailing list Komunitas GIS. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 18 . Geovisi Mitratama http://geovisi.com. Geovisi™ merupakan merk dagang PT.

Untuk proses pengulangan (tak terhingga) di mana di dalam blok yang bersangkutan terdapat pengujian suatu kondisi untuk keluar. E-book ini dipublish di Mailing list Komunitas GIS.com email : info@geovisi. 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. Geovisi Mitratama http://geovisi. Geovisi™ merupakan merk dagang PT. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 19 .com.

Geovisi Mitratama http://geovisi. Geovisi™ merupakan merk dagang PT.BAB 2 GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. E-book ini dipublish di Mailing list Komunitas GIS. 20 .com email : info@geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.com.

com. Sub NamaProsedur ([Kumpulan Parameter]) ' awal prosedur Blok baris kode berisi prosedur End Sub ' akhir prosedur GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Skema prosedur dalam MapBasic adalah: Declare Sub NamaProsedur ([Kumpulan Parameter]) ' deklarasi prosedur . dapat digunakan untuk membangun program aplikasi yang baru. .2. . 21 . Dengan penggunaan prosedur dan fungsi pengembangan program aplikasi MapBasic dapat terpenuhi secara efisien dalam waktu yang relatif singkat. E-book ini dipublish di Mailing list Komunitas GIS. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama http://geovisi.com email : info@geovisi. 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. 2. Prosedur. dan dapat menghindari duplikasi potongan program.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). Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.

Geovisi Mitratama http://geovisi. Contoh penggunaan prosedur Main: Declare Sub Main Declare Sub TulisPesan (kalimat As String) Sub TulisPesan(kalimat As String) Note kalimat End Sub Sub Main Dim pesan As String Pesan = "Selamat Datang" Call TulisPesan(pesan) End Sub ' prosedur Main ' pemanggilan prosedur GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com email : info@geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.Contoh pembuatan dan pengunaan prosedur: Declare Sub TulisPesan (kalimat As String) Sub TulisPesan(kalimat As String) Note kalimat End Sub Dim pesan As String Pesan = "Selamat Datang" Call TulisPesan(pesan) ' pemanggilan prosedur Prosedur Main (Sub Main) adalah prosedur MapBasic yang bersifat khusus dan akan dieksekusi pertama kali ketika program aplikasi yang bersangkutan dieksekusi. Geovisi™ merupakan merk dagang PT. E-book ini dipublish di Mailing list Komunitas GIS. prosedur ini dapat mengambil alih kontrol program dengan memanggil prosedur. 22 .com. fungsi. atau baris-baris kode elementer lainnya. Kemudian.

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) 23 GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.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). . dapat digunakan key word “Exit Sub”.com email : info@geovisi. E-book ini dipublish di Mailing list Komunitas GIS. Pada dasarnya. Geovisi™ merupakan merk dagang PT.com. Berikut contoh penggunaannya: Declare Sub Main Declare Sub TulisPesan (kalimat As String) Sub TulisPesan(kalimat As String) if (len(kalimat)=1) Then Note "Anda belum menuliskan kalimat" Exit Sub End If Note kalimat End Sub Sub Main Dim pesan As String Pesan = "S" Call TulisPesan(pesan) End Sub ' prosedur Main ' pemanggilan prosedur 2. Geovisi Mitratama http://geovisi.Untuk keluar dari prosedur aktif tanpa harus menyelesaikan seluruh program dalam prosedur tersebut.

Geovisi™ merupakan merk dagang PT.. Function NamaFungsi ([KumpulanParameter]) As TipeDataOutput Blok baris kode fungsi NamaFungsi = nilai End Function Nilai pengembalian disimpan dalam variabel yang digunakan pada fungsi dengan nama yang sama dengan nama fungsi..com email : info@geovisi. Geovisi Mitratama http://geovisi.com. bil2 As Integer bil1 = 2 bil2 = 3 Note bil1 & " + " & bil2 & " = " & Tambah(bil1. b As Integer) As Integer Function Tambah (a As Integer. 24 . E-book ini dipublish di Mailing list Komunitas GIS. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. b As Integer) As Integer Dim c As Integer c = a + b Tambah = c End Function Dim bil1. Untuk memperjelas pembuatan dan penggunaan fungsi berikut diberikan contoh fungsi. Declare Function Tambah (a As Integer.Skema penulisan custom function adalah sebagai berikut: Declare Function NamaFungsi ([KumpulanParameter]) As TipeDataOutput . bil2) GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.

Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 25 . Declare Sub Main Declare Sub RubahNilai(obj As Integer) Declare Sub CetakNilai(obj As Integer) Sub Main Dim Angka As Integer Angka = 10 Note "Nilai Awal " + Angka Call RubahNilai(Angka) Call CetakNilai(Angka) End Sub Sub RubahNilai(obj As Integer) obj = obj * 10 End Sub GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.com email : info@geovisi. E-book ini dipublish di Mailing list Komunitas GIS. 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”. Geovisi™ merupakan merk dagang PT. Geovisi Mitratama http://geovisi.com.3 Passing Variabel (by reference dan by value) Secara default passing variabel pada argumen/parameter prosedur dan fungsi dalam MapBasic adalah by reference.Untuk keluar dari fungsi sebelum seluruh kode dalam fungsi dieksekusi dapat menggunakan key word “Exit Function” 2. 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.

com email : info@geovisi.com. Geovisi™ merupakan merk dagang PT. MapBasic menyediakan keyword byVal. E-book ini dipublish di Mailing list Komunitas GIS. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 26 .Sub CetakNilai(obj As Integer) Note "Nilai Akhir " + obj End Sub Apabila menghendaki passing variabel dengan menggunakan by Value. Geovisi Mitratama http://geovisi. 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”. Declare Sub Main Declare Sub RubahNilai(byVal obj As Integer) Declare Sub CetakNilai(byVal obj As Integer) Sub Main Dim Angka As Integer Angka = 10 Note "Nilai Awal " + Angka Call RubahNilai(Angka) Call CetakNilai(Angka) End Sub Sub RubahNilai(byVal obj As Integer) obj = obj * 10 End Sub Sub CetakNilai(byVal obj As Integer) Note "Nilai Akhir " + obj End Sub GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.

com. 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 RUN APPLICATION.4 Pengendalian Program END PROGRAM Jika menghendaki penghentian sementara jalannya eksekusi suatu program aplikasi MapBasic. Sedangkan untuk menghentikan keseluruhan aktivitas aplikasi serta menutup program aplikasi SIG MapInfo-nya secara permanen digunakan key-word “End MapInfo”. Dan sebaliknya apabila ingin menghentikan eksekusi terhadap suatu program aplikasi dari program aplikasi yang lain. E-book ini dipublish di Mailing list Komunitas GIS.2. Untuk mencoba penggunaannya buatlah dua program aplikasi MapBasic sebagai berikut: GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. maka dapat digunakan key-word “Run Application. 27 .com email : info@geovisi. maka telah disediakan key-word “End Program”. TERMINATE APPLICATION dan END MAPINFO Apabila menghendaki melakukan eksekusi terhadap suatu program aplikasi MapBasic atau menambahkan workspace MapInfo dari program aplikasi MapBasic yang lain. maka dapat digunakan key-word “Terminate Application”. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. Geovisi Mitratama http://geovisi. Geovisi™ merupakan merk dagang PT.

E-book ini dipublish di Mailing list Komunitas GIS. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. 28 . pernyataan include (pada umumnya) digunakan untuk memanfaatkan GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic.mbx" pesan = "Ini program dua" Note pesan 'Run Application FileProgram1 'menjalankan program yang lain Terminate Application FileProgram1 'menghentikan program yang lain End MapInfo 'menutup program aplikasi MapInfo 2. 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.com. Dengan cara seperti ini. Geovisi™ merupakan merk dagang PT.5 Include Key-word “Include” digunakan untuk menggabungkan data-data dalam satu program MapBasic.com email : info@geovisi. Geovisi Mitratama http://geovisi.'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. Pada MapBasic.

Declare Sub Main() Declare Function Tambah (a As Integer. Geovisi™ merupakan merk dagang PT. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi.com.com email : info@geovisi. b As Integer) As Integer Sub Main() Dim nilai1. nilai2. Berikut disajikan contoh penggunaan include yang diimplementasikan pada dua file berisi kode berikut: 'Contoh file def berisi konstanta Define Phi 3.def" Dim r. Luas as Float Dim nama as String r = 10 Luas = Phi * r^2 Note Luas 2. jumlah As Integer nilai1 = 10 nilai2 = 20 GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. kemudian silahkan lakukan langkah Compile. Geovisi Mitratama http://geovisi.6 Mengelola Modul Dalam File Project Untuk menghubungkan file-file modul dalam satu project pada MapBasic dapat dilakukan dengan membuat sebuah file project MapBasic.14 'Program MapBasic yang menggunakan file def Include "d:\Latihan\MapBasic\5\konstanta. Untuk mencoba silahkan buat dua file berisi kode seperti di bawah ini.sejumlah besar baris-baris pernyataan define. 29 . E-book ini dipublish di Mailing list Komunitas GIS.

mbo Dengan file project ini maka prosedur Main dan fungsi Tambah dapat saling berhubungan menjadi satu kesatuan program. nilai2) Note jumlah End Sub Declare Function Tambah (a As Integer. Untuk mencobanya silahkan klik menu Project kemudian Link Current Project.com. 30 . selanjutnya setelah berhasil klik Run. Geovisi Mitratama http://geovisi. GeoVISI™ GIS TEXTBOOKS SERIES : GIS Programming Using Map Basic. E-book ini dipublish di Mailing list Komunitas GIS.mbo Module=Tambah.com email : info@geovisi. Silahkan dikopi dan disebarkan secara bebas dengan syarat tidak menghilangkan label Geovisi. b As Integer) As Integer Function Tambah (a As Integer. Geovisi™ merupakan merk dagang PT.jumlah = Tambah(nilai1. b As Integer) As Integer Tambah = a + b End Function Kemudian buatlah file project (*.mbx Module=Utama.mbp) dengan kode sebagai berikut: [LINK] Application=Gabung.

Sign up to vote on this title
UsefulNot useful