Thursday, March 19, 2015

Menggunakan Python untuk Pemrograman GIS di ArcGIS Bagian 2

Setelah sebelumnya membahas tentang penggunaan IDLE sebagai IDE dalam pembuatan kode program python, sekarang saya akan mencoba membahas tentang dasar-dasar bahasa pemrograman python.

Oke langsung saja membahas tentang karakteristik dasar dalam bahasa pemrograman sehingga kita bisa membuat aplikasi python yang efektif. Untuk menulis kode program geoprosesing untuk ArcGIS harus memahami dasar dari bahasa pemrograman python. Kata orang belajar bahasa python lebih mudah jika dibandingkan dengan mempelajari bahasa pemrograman lain, tapi tentunya kita mesti tetap membutuhkan waktu untuk mempelajarinya.

Untuk memahami dasar pemrograman python adalah bagaimana membuat variabel, memasukan berbagai tipe data kedalam variabel, perbedaan tipe data yang bisa dimasukan kedalam variabel, menggunakan tipe data berbeda dari sebuah perintah, menggunakan objek, membaca dan menulis file, dan import modul python dari pihak ketiga, maupun membuat komentar.

I.   Komentar

Dalam membuat kode program yang baik dibutuhkan untuk membuat dokumentasi dari kode program tersebut, sehingga mempermudah dalam memahami dan melakukan perbaikan kode program. Dokumentasi yang biasa ditulis dalam sebuah kode program meliputi judul kode program, penulis, deskripsi umum kode program. Untuk membuat perintah kode program menjadi sebuah komentar digunakan tanda “#” atau “##” pada awal baris. Dengan menuliskan tanda “#” maka perintah atau statement yang ada dibelakang tanda tersebut tidak akan dieksekusi oleh program dan hanya dianggap sebagai komentar.


Gambar 1. Menggunakan “#” untuk membuat komentar sebagai dokumentasi kode program

II.   Import Modul

Python menyediakan beragam fungsi yang biasa digunakan dalm kode program, adakalanya kita juga membutuhkan fungsi yang terdapat dalam sebuah modul diluar file kode program. Dengan demikian kita membutuhkan perintah yang digunakan untuk memanggil modul atau fungsi tersebut dengan menggunakan perintah import. Sebagai contoh Math modul menyimpan fungsi-fungsi khusus yang berhubungan dengan proses numerik, R modul menyediakan fungsi analisis statistik.
Jika kita akan menulis kode program geoprosesing dengan ArcGIS kita harus mengimport modul Arcpy, dimana modul arcpy menyediakan paket fungsi python untuk mengakses tool-tool GIS yang disediakan oleh ArcGIS. Perintah import harus ditempatkan dibagian atas sebuah kode program terkecuali untuk perintah yang terdapat tanda komentar.

import arcpy, os

III.   Variabel

Variabel dapat diartikan sebagai sebuah area dalam memori komputer yang menyediakan tempat sebagai wadah yang dapat diisi nilai ketika kode program dijalankan. Variabel dalam python harus ditentukan nama dan nilai dari variabel tersebut. Cara pembuatan variabel cukup sederhana dengan hanya menuliskan nama variabel kemudian diikuti oleh operator “=” dan diisikan nilai dari variabel tersebut. Contoh pembuatan variabel:

fcJalan = “Jalan”
fcSungai = “Sungai”

Variabe tersebut menunjukan bahwa variabel fcJalan berisi nama feature class Jalan dan fcSungai berisi nama feature class Sungai.

Dalam pembuatan variabel harus mengikuti aturan sebagai berikut:
·  Dapat mengandung huruf, angka, dan undercore
·  Karakter pertama harus berupa huruf
·  Tidak menggunakan karakter khusus selain underscore
·  Tidak menggunakan keywords python
·  Bersifat case sensitive

Dalam python variabel bersifat dynamically typed, artinya kita dapat mendefiniskan variabel dan memasukan data kedalamnya tanpa mendefinisikan secara khusus variabel tersebut berisi tipe data tertentu. Contoh penulisan variabel

Tipedata
Nilai
Contoh Kode
String
“Jalan”
fcNama = “Jalan”
Number
3.14
nilaiPhi = 3.14
Boolean
True
varBoolean = true
List
Jalan, Sungai, Ibukota
“Jalan”, “Sungai”, “Ibukota”
Dictionary
‘0’ :Jalan, ‘1’ :Sungai
{‘0’ : Jalan, ‘1’ :Sungai}
Object
Extent
spatialExt = map.extent

Dalam kode program geoprosesing python  dalam ArcGIS kita harus mereferensikan lokasi sebuah dataset dalam komputer kita atau dari file sharing. Refernsi ke sebuah dataset memuat path yang tersimpan dalam sebuah variabel. Penulisan path dalam sebuah variabel adalah sebagai berikut:

Penulisan variabel yang benar:
fcJalan = “c:/Data/Jalan.shp”
fcSungai = “c:\\Data\Sungai.shp”
fcIbukota = r“c:\Data\Ibukota.shp”

Penulisan variabel yang salah:
fcJalan = “c:\Data\Jalan.shp”

IV.   Tipe data

Berbagai jenis data tersedia dalam bahasa python, selengkapnya akan dibahas satu persatu.

·   String

String merupakan urutan dari sejumlah karakter yang digunakan untuk menyimpan dan merefresentasikan informasi berbasis teks. Untuk menuliskan variabel bertipe string bisa menggunakan “ atau ‘. Isi dari variabel string bisa berupa nama, nama feature class, clausa Where,  atau apapun yang bisa dijelaskan sebagai teks.
 Dalam python dapat dilakukan manipulasi terhadap string dalam berbagai cara. String conactenation merupakan salah satu cara yang dapat dilakukan. Operator + digunakan dengan variabel string dibagian lain untuk menghasilkan variabel string baru yang terdiri dari dua variabel yang disatukan.

shpJalan = “c:\\Data\\Jalan” + “.shp”
print shpJalan

Jika kode program tersebut dieksekusi maka akan menghasilkan keluaran sebagai berikut:

>>>c:\Data\Jalan.shp

Untuk membandingkan dua buah variabel string apakah sama atau berbeda dalam python digunakan operator == contoh penggunaan:

awalNama = “Wawan”
akhirNama = “Hendriawan”
awalNama == akhir Nama

Jika kode program tersebut dijalankan maka akan menghasilkan keluaran

>>>False

String juga dapat digunakan untuk melihat apakah dalam sebuah variabel mengandung string di variabel lainnya, contoh:

fcNama = “JalanArteri.shp”
print “.shp” in fcNama

output:
>>>True

Dalam data string juga dapat diakses sebuah karakter secara sendiri karena string merupkan kumpulan karakter yang terurut. Contoh pengambilan karakter string:

fc = “JalanArteri.shp”  
print fc[0]
>>>’J’
Print fc[5]
>>>’n’

Dalam string juga dapat dilakukan pemotongan karakter string sehingga hanya sejumlah karakter yang diinginkan, contoh:

string = “Ibukota.shp”
print string[0:5]
>>>Ibuko

string = “Ibukota.shp”
print string[1:]
>>>bukota.shp

string = “Ibukota.shp”
print string[:-1]
>>>Ibukota.sh

Berbagai fungsi yang lain dalam string adalah sebagai berikut:
o   String length
o   Casing functions for conversion to upper and lower case
o   Removal of leading and trailing whitespace
o   Finding a character within a string
o   Replacement of text
o   Splitting into a list of words based on a delimiter
o   Formatting

·   Number

Dalam bahasa python mendukung tipe data numerik meliputi int, long, float dan complex value. Cara penulisan dan memasukan nilai terhadp variabel sama seperti data string, dengan perbedaan untuk nilai bertipe numerik tidak menggunakan “ atau ‘ dan harus berupa angka.
Python mendukung operasi numerik seperti penambahan, pengurangan, perkalian, pembagian, sisa bagi, menghasilkan nilai absolut, conversi string ke angka, maupun rounding.
Python juga menyediakan fungsi matematik dalam sebuah modul math yang menyediakan banyak fungsi khusus matematik, seperti trigonometri, logaritma, dan lain-lain.

import math

·   List

Merupakan tipe data yang berisi koleksi objek yang berurutan yang memuat tipe data yang terdapat dalam python. Contoh:

fcList =[“Jalan”,”Sungai”,”Ibukkota”]
fc = fcList[0]
print fc
>>>Jalan

fc = fcList[2]
print fc
>>>Ibukota

List bersifat dinamis, dimana bisa berkembang dan berubah isinya. Berbagai fungsi untuk manipulasi List adalah sebagai berikut:
sort() digunakan untuk mengurutkan List
append() digunakan untuk menambahkan objek di akhir data List
insert() digunakan untuk menambahkan objek diantara objek yang ada
remove() digunakan untuk menghapus objek pertama dari List
pop() digunakan menghapus dan mengembalikan objek yang terkahir ditambahkan ke List
reserve() digunakan untuk melakukan reserve isi List

·   Tuples

Hampir sama dengan List tuple juga merupakan urutan koleksi objek, namun tuples tidak bisa dirubah. Cara penulisan:

fcList = (“Jalan”,”Sungai”,”Ibukkota”)
print fcList[1]
>>>Sungai

Penggunaan tuples digunakan sebagaimana List namun untuk data yang bersifat statis.

·   Dictionaries

Merupakan tipe data kedua yang menyediakan koleksi objek dalam python. Seperti halnya List, namun terdapat perbedaan bahwa objek dalam Dictionary tidak berurutan. Objek yang tersimpan dalam Dictionary ditentukan berdasarkan key, dan Dictionary dapat tumbuh dengan menggunakan fungsi yang berhubungan dengan Dictionary. Contoh penggunaan Dictioanary:

#membuat dictionary
dictLayers = {‘Jalan’ : 0, ‘Sungai’ : 1, ‘Ibukota’ : 2}
##access dictionary dengan kunci
dictLayers[‘Jalan’]
>>>0
dictLayers[‘Ibukota’]
>>>2

Operasi penggunaan dictionary meliputi mendapatkan jumlah objek dictionary, mendapatkan nilai menggunakan kunci, mengetahui apakah terdapat nilai kunci tertentu, konversi kunci ke dalam sebuah sejumlah nilai, dan mendapatkan sejumlah nilai dari dictionary. Dictionary dapat dirubah, dikembangkan, dan dilakukan shrunk pada saat dijalankan

Untuk mendownload tulisan dalam bentuk pdf silahkan download disini

Previous Post
Next Post

0 comments: