Membuat Sistem Informasi Geografis (SIG) dengan Visual Basic 6

 

Pemr Visual Basic. 18.12.2012. Teknik Sipil S1

Sebenarnya aplikasi untuk SIG banyak dijual di pasaran seperti ArcView atau ArcGiS. Tetapi berhubung mata kuliah kita Pemrograman Visual Basic, maka mari kita coba membuatnya. Sebenarnya prinsip SIG adalah integrasi antara raster data yang biasanya gambar peta (jpg/bmp) dengan vector data yang berupa database seperti lokasi banjir, perkantoran, kemacetan, dan sebagainya.

Pertemuan yang lalu kita telah bisa mengakses suatu database gambar, nah di sini kita coba vector data yang kita gunakan kita integrasikan dengan suatu peta pada form. Ambil contoh suatu peta dari www.maps.google.com kemudian simpan dengan nama, misalnya peta.jpg. Edit gambar tersebut untuk lokasi banjir, perkantoran, dan sarana umum. Cara sederhana adalah dengan men save as, kemudian ganti dengan nama banjir.jpg, perkantoran.jpg, dan saranaumum.jpg. Simpan di folder tertentu sebagai data. Buat project baru, dengan satu form.

Arahkah background (picture) ke peta. Tambahkan ADODC, Text, dan Command Button. Buat database dengan Access, jangan lupa simpan dalam format MDB (2003). Koneksikan dengan ADODC (lihat pembahasan yang lalu tentang akses ke database).

Buat satu table baru, misalnya data. Isi dengan data seperti di atas. Instruksi untuk memanggil gambar pada Command Button “Lihat” adalah sebagai berikut:

F = “D:\rahmadya\” & Text1.Text

Image1.Picture = LoadPicture(F)

Dan jika dijalankan hasilnya berikut ini, missal diklik data BANJIR, setelah ditekan tombol LIHAT akan tampil sebagai berikut.

Atau arahkan ke perkantoran misalnya, tekan LIHAT.

Selamat mencoba.

Iklan

Membuat Inversi matriks 2×2 dan 3×3 dengan Matlab

Aljabar Linear. 18.12.2012. T. Komputer

Berikut ini listing dengan m-file mencari inversi matriks dengan metode operasi baris pada matriks untuk matriks 2×2 dan 3×3. Buka command window dan ketik, misalkan kita ingin memberi nama fungsi tersebut dengan nama fungsi inversi. Ketik kode berikut:

  • function y=inversi(x)
  • %mencari invers matriks 2×2 dengan
  • %operasi baris pada matriks
  • %eliminasi gauss
  • x=[x eye(2,2)]
  • x(2,:)=x(2,:)-((x(2,1)/x(1,1)*x(1,:)));
  • x(1,:)=x(1,:)-((x(1,2)/x(2,2)*x(2,:)));
  • x(1,:)=x(1,:)/x(1,1);
  • x(2,:)=x(2,:)/x(2,2);
  • y=[x(:,3) x(:,4)];

>> x=[2 5;6 8]

inversi(x)

x =

2 5 1 0

6 8 0 1

ans =

-0.5714 0.3571

0.4286 -0.1429

Sedangkan untuk matriks 3×3, misalkan kita akan membuat fungsi dengan nama inversi33. Ketik di command window edit inversi33. Ketik kode berikut (sengaja dalam bentuk gambar supaya ngetik sendiri).

Uji di command window dan bandingkan dengan fungsi bawaan Matlab, inv. Bagaimana untuk matriks 4×4 atau yang di atasnya? caranya gampang, gunakan prinsip di atas, atau lihat postingan berikutnya.

Mencari Invers dengan Operasi Baris

Mat. Diskrit. 18.12.2012. Tek. Komputer

Selain dengan Determinan dan Cofactor, mencari invers dapat dilakukan dengan operasi baris pada matriks antara lain:

  1. Merubah posisi dua baris dalam suatu matriks
  2. Mengalikan seluruh baris dengan suatu konstanta
  3. Menambahkan/mengurangkan kelipatan suatu baris terhadap baris lainnya

Berikut ini ilustrasi pengerjaannya dengan contoh suatu matriks:

Sebelumnya, kita hitung dulu determinannya, Det = 22 dan karena tidak sama dengan nol, maka matriks M tersebut memiliki invers. Jejerkan dengan matriks identitas:

Tugas kita adalah melakukan eliminasi gauss agar dihasilkan matriks kiri menjadi matriks identitas. Pertama-tama kalikan baris pertama dengan ½.

Tambahkan tiga kali baris pertama dengan baris kedua sehingga dihasilkan:

Tugas berikutnya adalah membuat elemen baris pertama kolom kedua menjadi nol dengan mengalikan baris kedua dengan 2/11 yang dilanjutkan dengan mengurangi dengan baris pertama sehingga dihasilkan:

Akhirnya, kalikan baris kedua dengan 1/11 agar dihasilkan matriks identitas di bagian kiri:

Setelah matriks sebelah kiri menjadi matriks identitas, maka Matrks inversnya adalah yang di sebelah kanan yakni:

Berikut ini cara mengerjakan dengan Aplikasi Matlab:

>> M=[2 4;-3 5];

>> M=[M eye(2,2)]

 

M =

 

2 4 1 0

-3 5 0 1

 

>> M(1,:)=M(1,:)*1/2

 

M =

 

1.0000 2.0000 0.5000 0

-3.0000 5.0000 0 1.0000

 

>> M(2,:)=3*M(1,:)+M(2,:)

 

M =

 

1.0000 2.0000 0.5000 0

0 11.0000 1.5000 1.0000

 

>> M(2,:)=M(2,:)*1/11

 

M =

 

1.0000 2.0000 0.5000 0

0 1.0000 0.1364 0.0909

 

>> M(1,:)=M(1,:)-2*M(2,:)

 

M =

 

1.0000 0 0.2273 -0.1818

0 1.0000 0.1364 0.0909

 

>> InvM=[M(:,3) M(:,4)]

 

InvM =

 

0.2273 -0.1818

0.1364 0.0909

Sumber: Krantz(2009) “Descrete Mathematic Demystified