19 November 2015

Dasar Query Tabel

Query

Dasar Query Tabel di Mapinfo 12


Sebelum jauh memahami Query perlu kita pahami dulu dasar-dasarnya. Beberapa pemahaman dasar yang perlu di kuasai adalah konstanta/tipe data, Operator Query, Aggregates Query, Funcitions dan Expresi

Expresi

Ekspresi merupakan formula atau perintah melakukan suatu action. Ekspresi juga merupakan gabungan dari operator, Aggregates dan Fucntion dalam mapinfo sehingga memunculkan suatu perintah aktion yang nyata dan memberikan hasil sesuai dengan yang kita harapkan. Misalnya kita meminta MapInfo untuk menandai daerah-daerah yang kepadatan penduduknya lebih dari 3.000 jiwa per Km2

Contoh ekspresi:
Luas > 2000 artinya memilih data yang luasnya lebih dari 2000
Sum(populasi) < 2000 artinya memilih data yang populasinya kurang dari 2000
CentroidX(obj) > 115.257589 and CentroidY(obj) > -8.64558 artinya memilih lokasi yang terletak di timur laut latlong -8.64558, 115.257589


Dasar Query


Konstanta dan Tipe data


Pemahaman terhadap konstanta dalam query penting sekali. Seringkali kita yang pertama kali berkecimpung di dalam data menemukan kesalahan pengolahan data karena kurang paham terhada tipe data yang kita olah. 

Misal:
2 + 2 = 4. Hal ini bisa terjadi bila 2 merupakan tipe data numerik. Namun hasilnya akan berbeda bila angka 2 tersebut ternyata bertipe String. Bila bertipe String maka 2 + 2 = 22. Begitu juga ketika kita akan mengconvert data dari string ke numerik dan sebaliknya.

mengkonvert data numerik ke string
2 di konvert  menjadi “2”
2.335 di konvert menjadi “2,335”
0.345 di konvert menjadi “0.345”

mengkonvert string ke numerik
“2” menjadi 2
“ACT002103” menjadi 0
“0.345” menjadi 0.345
“144.45688,-8.18786” menjadi 144

Perhatikan perubahan-perubahan di atas. Bila kita tidak jeli terhadap hal ini akan menjadikan masalah di kemudian hari. Misal bila kita mensetting field untuk nilai latlong kedalam String lalu kita menconvertnya kembali kedalam numerik, maka ada nilai yang akan hilang. Atau kita mengkonvert Field yang memilik nilai unik berupa string dengan awalan string misal “ACT002103” lalu kita konnvert menjadi integer, maka nilainya akan menjadi angka 0.

Secara garis besar tipe data tabular(konstanta) pada Mapinfo (termasuk software gis lainnya) dibagi menjadi 4 yakni String(char), Angka/Numerik,tanggal (date) dan Logikal (benar/salah)


String atau Karakter (char)
Merupakan tipe data yang tidak bisa dilakukan operasi matematika. Angka 1 dan 2 berupa string memiliki arti yang berbeda tapi nilai yang sama. 1 + 2 tidak menghasilkan 3 melainkan menghasilkan 12. Jenjang untuk tipe String dihasilkan dari urutan Alphabet. 1 < 2 karena dalam urutan Alphabet angka 1 disebelah kiri angka 2.

Hal serupa dengan operasi berikut: 22 > 1000. Mengapa?

Karena huruf pertama dari angka 22 adalah “2” sedangkan huruf pertama dalam 1000 adalah “1”. Bila di order maka akan menghasilkan angka 1000 berada sebelah kiri / di bawah 22.
1,1000,2,2000,3,3000,4......

Berikut perubahan2 yang bisa terjadi pada string:
semua yang berawalan string di ubah ke numerik maka akan berubah menjadi 0
misal :

act00213 è 0
~245 è 0
#764332 è 0

String maupun numerik di ubah ke Date dengan format YYYYMMDD akan menjadi YYYY-MM-DD selain itu akan menghasilkan Null
misal :

“20121006” è2012-10-06
20121006 è2012-10-06
“06 Oktober 2012” è null

Numerik dan Date/Time
String maupun numerik di ubah ke Time dengan format: hhmmsssss akan menjadi hh-mm-ss.sss am/pm selain itu akan menghasilkan Null
misal :

“073005005” è07:30:05.005 am
73005005è07:30:05.005 am
“jam 7 pagi” è null

Tipe Date/Time di konvert ke Date maka menghasilkan Date
2012-10-06 10:30:05.001 am è 2012-10-06

Tipe Date/Time di konvert ke Time maka menghasilkan Time
2012-10-06 10:30:05:001 am è 10:30:05:001 am

Baca Juga : Query dalam sube query di Mapinfo. Sub query adalah teknik query yang menggunakan dua table yang berbeda secara bertingkat. Query tingkat lanjut yang penting di pahami setelah menguasai dasar query

Operator

Operator merupakan tanda kalkulasi dari suatu ekspresi. MapInfo membagi operator menjadi 5 bagian, yaitu operator matematika, string, perbandingan, logika, dan geografi.

Matematika
Operator matematika ini di gunakan untuk menghasilkan nilai yang di dapat dari tipe data numerik, date dan time. Berikut operator yang digunakan dan contohnya:

operator matematika di Mapinfo 12

Untuk penambahan atau pengurangan data bertipe tanggal dengan angka akan menghasilkan tanggal. Sedangkan pengurangan dua data bertipe tanggal menghasilkan angka (numerik).

String
Operator string adalah + (plus) atau (ampersand). Misalnya “Hallo” + “Apa kabar” akan menghasilkan kata “Hallo Apa kabar”. Contoh lain, “Kabupaten “ + Nama_Kab, artinya
di depan nama kabupaten pada field Nama_Kab diisi tulisan Kabupaten. Contoh lain “2” + “2” menghasilkan “22”.

Perbandingan
Operator perbandingan berfungsi untuk membandingkan 2 nilai. MapInfo membagi operator perbandingan seperti pada tabel berikut ini:

Operator Perbandingan di Mapinfo 12

Baca Juga : Query data Tabular di MapinfoPada pemilihan data dengan query, data selalu dapat dipilih/filter tanpa perlu memperhatikan apakah layer dalam keadaan selectabelatau tidak.

Logika
Operator logika berfungsi untuk menguji satu atau beberapa argumen (kondisi). Ada tiga macam operator logika, yaitu AND, OR dan NOT

Geografi
Operator yang dijelaskan di atas biasanya digunakan pada data tabular. Sementara operator geografi hanya digunakan pada data grafis (objek). Macam-macam operator geografi dapat dilihat pada tabel berikut.
Operator Geografi di Mapinfo 12


Pada operator geografi di atas, sebenarnya beberapa di antaranya mempunyai makna yang sama. Misalnya Contains Part dan Partly Within persis sama dengan Intersects. Dalam hal ini penggunaan Intersects lebih umum digunakan. Operator Contains dan Within berpedoman pada centroid, sedangkan Contains Entire dan Entirely Within berpatokan pada keseluruhan wilayah. Untuk memudahkan pemahaman kita terhadap operator geografi hatikan gambar berikut ini:
spatial operator di mapinfo 12

- Objek A contains objek B.
- Objek A Intsersects objek B
- Objek A tidak Intersects objek C
- Objek B tidak Contains objek A
- Objek B Intersects objek A
- Objek B Intersects objek C
- Objek C Contains objek D
- Objek C Contains Entire objek D
- Objek C Intersects objek D
- Objek D ak Contains objek C
- Objek D Entirely Within objek C

Bila A, B, C, dan D adalah polyline (garis), operator Contains dan Within tidak dapat digunakan, Gambar di atas dapat dikatakan : Objek B Intersects objek A, Objek A Intersects objek B, Objek C tidak Intersects Objek D, dan Objek D tidak Intersects objek C

Perlu juga dicatat bahwa objek polyline tidak dapat Contains dengan objeck point (titik), tetapi dapat Intersects. Demikian juga data point tidak dapat Within polyline, tetapi dapat Intersects.
Untuk kecepatan akses, disarankan menggunakan perintah Contains dan Within dari pada Contains Entirely dan Within Entirely. Kecuali Anda ingin meyakinkan bahwa seluruh wilayah suatu objek merupakan bagian dari wilayah objek yang lain.

Contoh lain:
Analisa Spatial garis, titik dan area

A = data Polygon. Berisi nama kecamatan, luas wilayah, Jumlah penduduk
B = data titik. Berisi latitude, longitude, nama toko, nomor rumah
C dan D = data garis. Berisi nama jalan, panjang jalan

  • Bila kita ingin memasukan data B ke dalam A maka gunakan Contains. Mengapa? karena B berada di dalam Polygon/Area A. atau B merupakan isi(contains) dari A
  • Bila kita ingin memasukan data A ke dalam B maka gunakan Within. mengapa? karena A merupakan tempat B berada. atau di dalam(within) A ada B
  • Bila kita ingin memasukan data C ke dalam A kita bisa menggunakan Contains atau Intersects. Kedua-duanya bisa di lakukan karena centroid garis C masih di dalam A.
  • Bila kita ingin memasukan data A ke C maka gunakan within, karena centroid C berada di dalam (within) polygon A. kita tidak bisa menggunakan intersect karena di takutkan garis C juga berintersect dengan polygon (area) yang lain di luar polygon A
  • Bila kita ingin memasukan data D ke A maka gunakan intersects. karena D dan A salaing bersentuhan/berpotongan(intersects).
  • Bila kita ingin memasukan data A ke D bisa menggunakan Intersects akan tetapi resiko error tinggi karena bisa saja D memiliki intersects dengan polygon lain. Kita tidak bisa menggunakan within karena centroid D tidak berada di dalam A
  • Bil kita ingin memasukan data B keda lama C atau D maka hal ini tidak bisa dilakukan. karena secara spatial mereka tidak bersinggunan satu dengan yang lain. bisa saja terjadi menggunakan perintah Mapbasic nearest tapi memiliki resiko salah data yang tinggi. Fungsi nearest memiliki banyak asumsi yang harus dipenuhi terlebih dahulu


Operator penghubung Any, All, In dan Between
ke  empat oprator ini disediakan oleh mapinfo untuk melengkapi ekspresi.
Operator Penghubung di Mapinfo 12


Fungsi
Fungsi adalah formula yang telah di sendiakan mapinfo. Beberapa di antaranya memerlukan nilai parameter untuk melakukan serangkaian kalkulasi dan menghasilkan suatu nilai. Misalkan “km”, “m”, “ha” dan semacanya
Fungsi query di mapinfo 12

Berikut satuan parameter yang di gunakan:

Area:
satuan area di Mapinfo 12

Satuan Jarak
Satuan Jarak di Mapinfo 12


Konversi Satuan

  • 1 mile (mi) 1,6093 Kilometer (km)
  • 1 inchi (in ) 2,53995 Sentimeter (cm)
  • 1 feet (ft ) 30,479 cm
  • 1 survey feet ( survey ft ) 30,479 cm
  • 1 yard (yd) 0,9144 meter (m)
  • 1 chain (ch) 20,1168 m
  • 1 link (li) 20,1168 cm
  • 1 rod (rd) 5,0292 m
  • 1 rood (rood) 10,1168 are
  • 1 acre (acre) 0,405 hektar (ha)
  • 1 hektar (ha) 100 are
  • 1 are (are) 100 m persegi
  • 1 Nautical(nmi) mile 1852 m
Bila membandingkannya dengan ArcGis maka disini adalah salah satu kelebihan mapinfo, yakni memberikan kita keleluasaan penuh terhadap fungsi query

2 comments:

  1. Terimakasih informasinya, saya kira untuk melakukan query di mapinfo bisa pake click2 saja atau GUI, ternyata masih berupa perintah ya. Pusing juga liatnya.

    Silahkan berkunjung ke Website saya :
    http://gantama.mahasiswa.atmaluhur.ac.id/
    Website STMIK Atmaluhur :
    www.atmaluhur.ac.id

    ReplyDelete
  2. terima kasih info tentang tabel query pada mapinfo. jadi bisa untuk catatan, sebelumnya tidak mengerti fungsi tiap rumus yang ada.
    kunjungi juga website saya https://felix.mahasiswa.atmaluhur.ac.id/
    + website kampus saya http://www.atmaluhur.ac.id/
    Terima kasih.

    ReplyDelete