BAB 2 LANDASAN TEORI 2.1 Graf - Implementasi Algoritma Dijkstra Dalam Penentuan Rute Terpendek Berbasis Mobile GIS (Studi Kasus: Universitas Sumatera Utara)

LANDASAN TEORI

2.1 Graf

  Secara matematis, graf didefinisikan sebagai pasangan himpunan (V,E), dengan notasi G = (V,E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul – simpul (vertices atau node) dan E adalah himpunan sisi (edge atau arcs) yang menghubungkan sepasang simpul [7].

  V A E Z

  V B E X E

Y

  V C

Gambar 2.1. Contoh Graf

  Definisi tersebut menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya arus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisi pun dinamakan graf trivial.

  Terdapat beberapa terminologi dasar yang berkaitan dengan graf, antara lain :

  • Bertetanggaan (Adjacent), dimana dua buah simpul pada graf tak berarah terhubung langsung dengan sebuah sisi.
  • Bersisian (Incident), dimana sebuah sisi menghubungkan dua buah simpul didalam sebuah graf.
  • Simpul terpencil yaitu simpul yang tidak mempunyai sisi yang bersisian dengannya atau dapat juga dinyatakan bahwa simpul terpencil adalah simpul yang tidak satupun bertetanggaan dengan simpul – simpul lainnya.

  • Graf kosong yaitu graf yang memiliki satu atau beberapa simpul tetapi tidak memiliki satu pun sisi didalamnya atau dapat juga dinyatakan bahwa graf kosong adalah graf yang himpunan sisinya adalah himpunan kosong.
  • Derajat, yaitu jumlah sisi yang bersisian dengan simpul pada graf tak berarah.
  • Lintasan, yaitu panjangnya n dari simpul awal ke simpul tujuan didalam graf.
  • Siklus yaitu lintasan yang berawal dan berakhir pada simpul yang sama didalam sebuah graf.
  • Terhubung, dimana terdapat suatu lintasan antara dua simpul yang berbeda, dan lain – lain. Terdapat beberapa faktor – faktor yang membuat graf dapat di kategorikan menjadi beberapa jenis yang disebabkan oleh tujuan pembuatan suatu graf itu sendiri, antara lain berdasarkan arah dan bobot pada edge.

  2.1.1 Berdasarkan Arah Pada Sisi (Edge)

  Berdasarkan arah pada sisi (edge), maka graf dapat dibagi menjadi graf tak berarah dan graf berarah. Graf berarah adalah graf yang sisinya diberikan orientasi arah, baik arah tunggal ataupun arah bolak – balik, sedangkan graf tak berarah adalah graf yang sama sekali tidak memiliki arah pada sisi – sisinya.

  2.1.2 Berdasarkan Bobot Pada Sisi (Edge)

  Berdasarkan bobot pada sisi (edge), maka graf dapat dibagi menjadi graf berbobot dan graf tak berbobot. Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). Bobot pada tiap sisi dapat berbeda-beda bergantung pada masalah yang dimodelkan dengan graf. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua kota, waktu tempuh pesan dari suatu simpul komunikasi ke simpul komunikasi lainnya dalam jaringan komputer, dan lain – lain. Sedangkan graf tak berbobot adalah graf yang sama sekali tidak memiliki nilai pada masing – masing sisinya.

  Algoritma Dijkstra ditemukan oleh seorang berkebangsaan Belanda yang telah menjadi ilmuan komputer yang terdepan dan menghasilkan beberapa algoritma didalam suatu graf yaitu Edsger Wybe Dijkstra. Algoritma Dijkstra menemukan rute terpendek dari sebuah simpul spesifik A menuju simpul spesifik E, jika diteruskan maka akan memberikan rute terpendek dari simpul spesifik A menuju seluruh simpul – simpul didalam sebuah graf [2].

  Pseudocode algoritma Dijkstra : Untuk setiap node tetapkan totalJarak[verteks] = HIGH verteksTerselesaikan = kosong verteksBelumTerselesaikan = kosong tambahkan verteksTitikAwal kedalam verteksBelumTerselesaikan totalJarak[verteksTitikAwal] = 0 selama (verteksBelumTerselesaikan tidak kosong) { verteksEvaluasi = cariVerteksDenganTotalJarakTerkecil (verteksBelumTerselesaikan) hapus verteksEvaluasi dari verteksBelumTerselesaikan tambahkan verteksEvaluasi ke verteksTerselesaikan evaluasiTetangga(verteksEvaluasi)

  } cariVerteksDenganTotalJarakTerkecil(verteksBelumTerselesaikan) {

temukan verteks dengan jarak terkecil dalam verteksBelumTerselesaikan

dan kembalikan

  } evaluasiTetangga(verteksEvaluasi) {

untuk setiap verteksTujuan yang dapat dicapai dengan sebuah edge dari

verteksEvaluasi dan bukan termasuk verteksTerselesaikan { jarakEdge = cariJarak(edge(verteksEvaluasi, verteksTujuan)) jarakBaru = jarak[verteksEvaluasi] + jarakEdge jika (jarak[verteksTujuan] > jarakBaru) { jarak[verteksTujuan] = jarakBaru tambahkan verteksTujuan ke verteksBelumTerselesaikan }

  } }

  Algoritma Dijkstra akan mengunjungi seluruh node yang terdapat dalam suatu kesatuan graf. Satu kesatuan graf ini merupakan data tiap – tiap simpul yang berada dalam graf tersebut dengan menghubungkan nya secara bertetanggaan dengan simpul ketetanggaannya. Algoritma ini akan memulai kerjanya setelah mendapatkan inputan simpul awal yang merupakan anggota dari kesatuan graf. Setelah mendapatkan inputan node awal, Algoritma Dijkstra akan memberikan nilai pada masing – masing simpul bernilai tak berhingga atau infinity kecuali simpul awal yang diberi nilai nol. Kemudian algoritma Dijkstra akan mengunjungi setiap simpul yang bertetanggaan dengan simpul awal dan mengambil nilai jarak diantara keduanya. Nilai jarak tersebut akan ditotalkan dengan nilai simpul awal dan kemudian dibandingkan dengan nilai simpul tetangga yang sedang dikunjungi. Apabila nilai yang baru bernilai lebih kecil daripada nilai sebelumnya maka nilai dari simpul tetangga yang sedang dikunjungi tadi akan diubah dengan nilai yang baru. Proses ini dilakukan untuk setiap simpul tetangga yang dimiliki simpul awal. Setelah seluruh simpul tetangga telah memiliki nilai baru yang tentu saja bukan lagi tak berhingga / infinity maka simpul awal dapat ditinggalkan dan proses akan kembali berulang untuk simpul yang memiliki nilai paling kecil diantara simpul tetangga. Proses ini akan terus dilakukan sampai seluruh simpul telah dikunjungi.

  Pada prosesnya algoritma Dijkstra akan memberikan sebuah petunjuk pada masing – masing simpul selain inputan simpul awal yaitu sebuah kode yang menunjukkan bahwa nilai yang dimiliki sebuah simpul merupakan nilai yang paling kecil yang didapat setelah dikunjungi simpul yang lain. Kode ini berisi nama simpul yang akan digunakan dalam menyusun sebuah jalur terpendek ke simpul tersebut yang berasal dari simpul inputan awal.

  Jika proses yang dilakukan oleh algoritma Dijkstra telah selesai maka kita akan mendapatkan dua hal, yaitu nilai pada masing – masing simpul dan petunjuk pada masing – masing simpul yang merupakan rute terpendek. Dengan dua hasil ini pengguna hanya perlu memberikan inputan simpul akhir maka program akan menunjukkan sebuah rute yang paling pendek untuk menuju inputan simpul akhir dari inputan simpul awal. Sistem informasi geografis adalah kumpulan yang terorganisir dari perangkat keras, perangkat lunak, data geografis, metode, dan personil yang dirancang secara efisien untuk memperoleh, menyimpan, memperbaharui, memanipulasi, menganalisis, dan menampilkan informasi yang bereferensi geografis. Sistem informasi geografis juga dapat dikatakan sebagai suatu sistem yang dapat memanipulasi, mengintegrasikan, menganalisa, dan menampilkan data spasial (data keruangan) yang menggunakan kondisi bumi sebagai acuan atau referensi [10].

  Dari pengertian diatas, sudah jelas bahwa sistem informasi geografis menggunakan data geografis yaitu data spasial dan data atribut yang menjelaskan dan menggambarkan fitur – fitur geografis. Pada dasarnya fungsi – fungsi didalam sistem informasi geografis antara lain, data input, penyimpanan data, pemrosesan data, dan data output.

  Beberapa lingkup penelitian, seperti data mining geospasial telah menarik perhatian para peneliti ilmu komputer secara signifikan dalam statistik spasial, penyimpanan spasial, manipulasi data spasial, dan visualisasi data geospasial. Dan dalam pengembangan dewasa ini, sistem informasi geografis telah bertumbuh menjadi komputasi yang aplikatif.

  Sistem informasi geografis pada pengembangannya sekarang memiliki beberapa kriteria tujuan yang berbeda – beda dalam mewujudkan aplikasi penggunaannya, antara lain pemetaan kartografi, visualisasi dalam tampilan ukuran kecil, pemetaan dengan menggunakan internet (generalisasi secara streaming) dan analisis data spasial [8]. Kriteria – kriteria ini menjadi tantangan ilmuan komputer untuk terus mengembangkan sistem informasi geografis. Beberapa diantara ilmuan komputer yang mengembangkan sistem informasi geografis bahkan telah menggabungkan dua atau lebih kriteria dalam aplikasi pengembangannya, misalnya sistem informasi geografis berbasis mobile yang menerapkan kriteria visualisasi dalam tampilan ukuran kecil dengan pemetaan dengan menggunakan internet atau bahkan secara spesifik pengembang sistem akan menerapkan analisis data spasial suatu area.

  Sistem informasi geografis dapat dilengkapi dengan beberapa fitur, antara lain: a. Legenda

  Legenda adalah keterangan mengenai objek – objek yang terdapat didalam petayang ditampilkan dengan bentuk – bentuk yang berbeda, seperti wilayah, jalan, dan lain – lain.

  b.

  Skala Skala adalah perbandingan ukuran yang terdapat pada layar tatap muka dengan ukuran yang sebenarnya.

  c.

   Zoom in/out

  Fitur ini digunakan untuk memperbesar (zoom in) dan memperkecil (zoom out) tampilan peta pada layar tatap muka.

  d.

   Pan

  Fitur ini digunakan untuk dapat menggeser peta sehingga menampilkan bagian yang diinginkan.

  e.

  Pencarian Fitur ini digunakan untuk dapat menampilkan bagian peta sesuai input yang dimasukkan.

  f.

  Pengukuran Fitur ini memberikan informasi mengenai jarak antar simpul ataupun luas suatu wilayah.

  g.

  Informasi Fitur ini dapat menampilkan informasi mengenai suatu tempat, jalan, wilayah dan sebagainya.

  h.

   Link

  Fitur ini digunakan untuk menghubungkan peta dengan data lain seperti gambar, video, halaman web, form baru, dan lain – lain. Setiap peta merupakan gambaran letak yang secara umum dihubungkan dengan planet kita (Bumi) dan dengan fitur – fitur yang ada didalamnya baik secara alami ataupun telah mendapatkan sentuhan manusia [6]. Secara garis besar, peta dibagi menjadi dua macam, yaitu peta raster dan peta vektor. Kedua jenis peta ini dapat digunakan dalam perancangan aplikasi sistem informasi geografis.

  Dalam pengembangannya serta penggunaannya pengumpulan data – data mengenai suatu area yang berada di permukaan bumi, satelit paling banyak digunakan sebagai data digital suatu peta. Dengan melakukan orbitan ratusan mil diatas bumi, satelit menghasilkan fotografi dan data sensor bumi. Satelit NASA dan stasiun luar angkasa mengumpulkan data – data raster paling banyak. Dan seiring perkembangan zaman, bermunculan pihak – pihak selain pemerintahan yang secara organisasi lain yang turut serta mengumpulkan data – data walaupun semata – mata untuk kepentingan tersendiri. Pemerintah tidak menutup kemungkin dan bahkan mempertimbangkan data – data lain tersebut untuk menambahkan data – data baru serta mempertinggi tingkat akurasi data – data peta tersebut. Data – data digital ini lah yang kemudian dikembangkan kedalam dua jenis peta yaitu, peta raster dan peta vektor.

  Peta raster terdiri dari serangkaian pixels (picture elements) yang disusun dalam sebuah grid. Peta raster diperoleh dari fotografi suatu areal, foto satelit atau foto permukaan bumi yang diperoleh dari komputer. Salah satu varian peta raster adalah peta hasil scanner atau scan map.

Gambar 2.2 Screenshot Peta Raster (USU)

  Peta vektor terdiri dari banyak objek – objek berbasis matematis didalamnya seperti simpul, garis, dan bentuk – bentuk polygon yang memiliki properti seperti warna, ketebalan dan gaya. Peta vektor adalah jenis peta scalable yang artinya dapat dirubah ukurannya tanpa mengurangi informasi peta itu sendiri.[6]

  Peta vektor juga dapat disebut sebagai hasil digitasi berdasarkan peta raster maupun tidak yang menghasilkan data vektor berupa simpul, garis, dan polygon yang dapat digunakan untuk menampilkan informasi pada peta.Simpul dapat digunakan sebagai representasi tempat, misalnya kantor pos, monument, dan lain – lain. Garis dapat digunakan sebagai representasi dari suatu jalan, rel kereta api yang menunjukkan rute didalam peta. Dan polygon dapat digunakan sebagai representasi suatu wilayah, misalnya provinsi, danau, dan lain – lain.

Gambar 2.3. Screenshot Contoh Peta Vektor (USU) [11]

  Dalam lingkungan berbasis web, sebuah peta dapat dianggap sebagai sesuatu yang ditampilkan kepada para pengguna aplikasi yang menerima informasi dari server peta sebagai tanggapan dari dialog permintaan-tanggapan. Namun dalam penerapaannya pada perangkat mobile, sebuah peta juga dapat menggunakan dialog permintaan-tanggapan antara aplikasi dengan server peta, atau juga dapat menggunakan sistem penyimpanan cache (stored map) untuk sekedar menghindari pengguna online yang mungkin terbatas bagi sebagian penggunanya.

  Dalam penggunaannya, peta raster dan peta vektor haruslah menggunakan sistem koordinat yang mendefenisikan suatu daerah di permukaan bumi yang digunakan. Terdapat beberapa macam jenis sistem koordinat yang ada sekarang ini,

  (UTM) adalah yang paling sering digunakan. Sistem koordinat latitude/longitude merupakan sistem koordinat peta yang paling tua dan masih digunakan sampai sekarang dalam penentuan lokasi dibumi. Latitude merupakan jarak sudut yang diukur antara garis equator utara dengan equator selatan, sedangkan Longitude adalah jarak sudut antara meridian utama timur dengan meridian utama barat. Sistem koordinat

  

Universal Tranverse Mercator (UTM) adalah suatu sistem koordinat modern yang

  dikembangkan pada tahun 1940-an, sistem ini hampir mirip dengan

  

Latitude/Longitude , namun UTM menggunakan satuan meter. UTM memiliki

  koordinat yang sangat akurat dan dapat digunakan dengan mudah dalam pemahamannya.

  Peta Universitas Sumatera Utara yang digunakan dalam aplikasi ini didefinisikan dalam sistem koordinat UTM adalah WGS84/UTM-Zone 47N EPSG Projection 32647 dengan pembatasan koordinat sebagai berikut :

  Gbr 2.4. Koordinat Pembatasan Wilayah USU Sistem informasi geografis (SIG) berbasis mobile adalah pengembangan bentuk baru dari embedded GIS yang tersusun dari unit mobile smart terminal, jaringan komunikasi nirkabel, server (termasuk web server, GIS server, dan server basis data) dan lokalisasi letak (termasuk lokalisasi satelit) [9]. Sistem informasi geografis (SIG) berbasis mobile juga terkadang disebut sebagai salah satu jenis SIG dimana penelitian utamanya dikhususkan terhadap pergerakan objek non geografis pada entitas keruangan geografis, oleh sebab itu SIG mobile sering kali dikaitkan dengan GPS (Global Positioning Sistem).Sebagai contoh adalah integrasi antara SIG, GPS, dan internet nirkabel untuk membangun sebuah SIG mobile untuk memantau mobil – mobil.Dimana kita melakukan analisis pergerakan mobil dalam entitas keruangan geografis, sedangkan pergerakan mobil adalah entitas non geografis.Namun belakangan ini, perkembangan SIG mobile tidak hanya digunakan untuk pergerakan objek non geografis, tetapi juga dikembangkan dalam pengambilan keputusan melalui referensi geografis, misalnya penentuan POI (Point of Interest) lokasi pariwisata.

  Secara umum, arsitektur SIG mobile dikembangkan secara client-server, dimana client adalah perangkat mobile yang menerima data, baik data spasial ataupun data atribut dari server dan server adalah sebagai database yang menyimpan seluruh data yang digunakan dalam sistem informasi geografis. Namun terkadang SIG mobile juga dapat menggunakan metode stored map agar peta yang digunakan tidak perlu dipanggil dari server dan bertujuan untuk menghindari gangguan koneksi jaringan dalam penggunaannya.

2.4 Geoserver

  

Geoserver adalah server open source yang dibuat dengan bahasa pemrograman Java

  yang mengizinkan para penggunanya untuk berbagi, mengolah dan mengedit data

  

geospasial . Geoserver dirancang agar dapat digunakan secara umum dengan

  melakukan proses publikasi data dari berbagai bentuk data spasial dengan menggunakan standard terbuka (dalam hal ini standard OGC atau Open Geospatial

  Consortium’s Standard ). [12]

  (TOPP) yang bertujuan membantu pemerintah New York – Amerika dalam mengatasi masalah urbanisasi. Geoserver dimasukkan dalam projek GeoTools sehingga sekarang dapat mengolah data Shapefiles, database Oracle, integrasi ArcSDE, dan lain – lain. Dan geoserver akan terus memperbaiki dan memperbaharui visi dan misi nya agar pengolahan dan penggunaan data spasial dapat diakses oleh semua orang.

Gambar 2.5. Screenshot Geoserver

  Pada dasarnya, sistem informasi geografis berbasis mobile merupakan ide pengembangan oleh OnSite Enterprise yang menggunakan konsep mobilitas dan dinamisasi MapGuide. Kemudian Autodesk mengembangkan ide tersebut menjadi

Location-Based Services (LBS) dengan memanfaatkan operator jaringan nirkabel. Untuk mendukung ide ini, Autodesk menciptakan LocationLogic yang menyediakan infrastruktur, layanan aplikatif, dan layanan terintegrasi dalam peluncuran, pemberdayaan serta perawatan Location-Based Services. LocationLogic ini lah yang digunakan oleh Geoserver yang menargetkan skalabitias dan transaksi high-volume operator telekomunikasi dan nirkabel. Secara spesifik, LocationLogic yang digunakan oleh Geoserver menyediakan layanan seperti, Point of Interest (POI), geocoding, perencanaan rute, peta serta integrasi profil dan koordinat lokasi penggunanya. Geoserver menyajikan data dengan menggunakan protokol standard yang dicanangkan oleh Open Geospatial Consortium (OGC) [8], antara lain :

  1. Web Feature Service (WFS), yang menyediakan layanan feature data seperti geometri vektor serta atributnya. Protokol ini memberikan kemampuan sistem informasi geografis untuk dapat mengolah data atribut pada setiap objek (titik, garis, atau poligon) yang terdapat dalam data spasial / peta. Dengan adanya protokol ini, pengguna maupun perancang sistem informasi geografis dapat mengolah data – data terkait untuk menghasilkan sebuah informasi baru dalam suatu tempat atau wilayah tertentu.

  2. Web Map Service (WMS), yang menyediakan layanan tampilan gambaran peta atau format lainnya yang di generate dari data geografis. Protokol ini memungkinkan perancang untuk dapat menampilkan satu maupun kesatuan data spasial kedalam suatu grafis dengan format tertentu. Terdapat beberapa format yang dapat dihasilkan oleh protokol ini, misalnya openlayers, jpg, png, dan lain – lain. Namun openlayers lebih sering digunakan, karena openlayers memberikan fitur – fitur tertentu yang memberikan kelebihan tersendiri pada proses menampilkan sistem informasi geografis, seperti zoom in / zoom out,

  drag , dan lain – lain.

  3. Web Coverage Service (WCS), yang menyediakan layanan tampilan peta raster. Protokol ini memberikan sebuah kesempatan bagi para perancang dan pengguna dalam mengolah sebuah peta tanpa proses digitasi sebelumnya. Dengan demikian, pengembangan yang lebih cepat dapat terwujud karena peta

  • – peta yang berasal dari foto satelit akan dapat langsung diolah dalam kepentingan seseorang maupun institusi yang menggunakan data spasial dalam proses kerja dan pengembangannya. Standarisasi ini menjadi fitur – fitur layanan minimal dalam proses pengerjaan sebuah sistem informasi geografis yang bertujuan menampilkan grafis suatu data
protokol standard OGC dalam penerapannya. [8]

  2.4.2 Shapefile (SHP)

Shapefile (.shp) merupakan format data vektor geospasial yang sangat popular.

  

Shapefile dapat diperoleh dengan merancang data spasial dari peta konvensional

  maupun peta raster yang merupakan perwujudan lingkungan aslinya (misalnya peta yang berasal dari pencitraan satelit) dengan menggunakan aplikasi ArcGIS / ArcView, Quantum GIS, dan lain – lain [5].

  Hasil perancangan shapefile biasanya terintegrasi dengan beberapa file yang lain (misalnya .dbf, .shx, . apr / .prj). Dan dalam penggunaannya pada geoserver, penyimpanan data shapefile harus bersamaan dengan file – file lain tersebut.

  2.4.3 Styled Layer Descriptor (SLD)

  Data geospasial tidak memiliki pengaturan tetap dalam hal visualisasi (misalnya data spasial berupa shapefile) [13]. Jadi untuk dapat melihat bentuk dari masing – masing data spasial tersebut maka kita perlu memberi pengaturan style pada tiap vektor data. Pengaturan ini dapat berupa pengaturan warna, ketebalan, dan lain – lain yang akan melewati proses renderisasi data pada peta.

  Pada geoserver, pengaturan style dinamakan Styled Layer Descriptor (SLD) yang dibuat dalam format XML yang terintegrasi pada masing – masing layer yang akan ditampilkan yang berupa data vektor. Pengaturan pada SLD pada layer memang sedikit kompleks, dan beberapa fungsi didalamnya membutuhkan data atribut dari masing – masing data spasial (dalam hal ini shapefile), sehingga kumpulan file yang terintegrasi terhadap shapefile (.dbf, .shx, .apr / .prj) sangat diperlukan. Openlayers adalah library javascript sisi client yang bersifat open source yang digunakan untuk membuat pemetaan web yang interaktif, dan dapat digunakan pada hampir semua browser. Karena openlayers digunakan pada client, maka tidak diperlukan perangkat lunak ataupun pengaturan khusus pada server atau para pengguna tidak perlu melakukan proses unduh apa pun. Aslinya openlayers dikembangkan oleh Metacarta, lalu dengan digunakannya openlayers pada Google Maps, openlayers telah bertumbuh menjadi framework yang terkenal dan berpengalaman karena banyaknya komunitas dan para pengembang yang mengembangkannya hingga sekarang [4].

  Openlayers merupakan library Javascript murni untuk menampilkan data peta dalam berbagai web browser modern, tanpa ketergantungan server [6]. Openlayers mengimplementasikan sebuah Javascript API untuk membangun aplikasi geografis berbasis web yang setara dengan Google Maps APIs dengan perbedaan signifikan, bahwa Openlayers merupakan perangkat lunak bebas yang dikembangkan oleh dan bagi komunitas perangkat lunak Open Source.

  Openlayers memudahkan para pengembang perangkat lunak untuk menampilkan peta yang dinamis pada sebuah aplikasi, hal ini memungkinkan para pengguna aplikasi dalam hal zoom in atau zoom out, maupun dragging peta, dan tentu saja masih banyak keunggulan lain yang bisa dipergunakan dalam pemakaian Openlayers seperti seleksi layer peta dan lain – lain.

  Openlayers menggunakan pemodelan Client – Server sehingga inti utama penggunaannya menggunakan operasi aplikasi web. Pemodelan client juga dikatakan sebagai web map client, pada sisi client ini lah openlayers berada dan dengan tugas utamanya adalah mengambil gambar – gambar peta dari server peta dan setiap proses yang dilakukan pengguna misalnya, zoom in / out, drag, dan lain – lain maka openlayers akan mengirimkan permintaaan yang baru kepada server. Sedangkan pemodelan server juga dikatakan sebagai web map server atau map service, dimana pemodelan ini menyediakan peta itu sendiri. Web map server memiliki beberapa contoh seperti, WMS (web map service), Google Maps, Yahoo!Maps, ESRI ArcGIS,

  

web map server , melainkan media yang digunakan untuk mengambil data dari server

dan menampilkannya secara visual.

  Openlayers menyediakan layanan dalam penggunaan web map server dalam visualisasi peta. Openlayers dapat menampilkan sebuah layer ataupun beberapa layer yang memiliki kriteria yang sama (misalnya bounding box yang membatasi panjang dan lebar tiap – tiap layer). Openlayers juga dapat menampilkan peta multi layer, dimana setiap layer berasal dari web map server yang berbeda – beda, tapi tentu saja harus memiliki kriteria yang sama.

2.5 Eclipse IDE

  Eclipse awalnya dikembangkan oleh IBM dan diluncurkan pada tanggal 5 November 2011 lalu diambil alih oleh Eclipse Foundation dalam pengembangannya maupun pengaturan organisasinya [1]. Eclipse dikembangkan dengan bahasa pemrograman Java, oleh karena itu pada umumnya para pengembang aplikasi yang menggunakannya untuk membangun aplikasi dengan bahasa pemrograman Java, tapi dewasa ini Eclipse juga mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti, C/C++, Cobol, Python, Perl, PHP, Javascript, HTML, dan lain – lain.

Gambar 2.6. Screenshot Eclipse IDE Eclipse IDE for Java EE Developer (dalam pengerjaan program ini menggunakan versi Juno) merupakan tool yang digunakan oleh pengembang Java EE dan pengembang aplikasi berbasis web. Oleh sebab itu pengembangan aplikasi berbasis

  

Client – Server sangat dibantu dengan menggunakan tool ini, sehingga proses

  pengerjaan program dapat dikerjakan lebih cepat dan lebih akurat dengan adanya fitur browser yang menjadi bagian dalam Eclipse IDE for Java EE Developer.

2.5.2 Android Development Kit

  Android Development Kit merupakan sebuah plugin tambahan pada Eclipse yang menghubungkan Android SDK dan Eclipse itu sendiri.Dengan adanya plugin ini maka proses pengembangan aplikasi Android akan lebih mudah untuk dilakukan baik dalam pembuatan rancangan antar muka, pemilihan Android Virtual Devices (AVD) berupa emulator maupun instalasi pada perangkat nyata [3]

2.6 Android

  Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat mobile layar sentuh seperti smartphone dan komputer tablet. Android adalah sistem operasi dan atau perangkat lunak open source namun beberapa aplikasi yang dikembangkan dan dipublikasikan dapat berupa program yang disebarluaskan secara gratis ataupun berbayar [3]

  Telepon genggam biasanya menggunakan salah satu sistem operasi. Sistem operasi ini diharapkan telepon genggam menjadi standarisasi global yang sangat luas, pengembangan aplikasi – aplikasi pendukung yang hanya memerlukan penekanan dana (meminimalisasi dana sekecil mungkin), tetapi sampai munculnya sistem operasi Android, tidak ada sistem operasi lain yang memenuhi keinginan pengguna tersebut. Google sebagai pencetus sistem operasi Android pada tahun 2005 memasuki bidang pengembangan telepon genggam dan menjanjikan keterbukaan, kenyamanan, sistem pengkodean yang terbuka, dan framework pengembangan yang berteknologi tinggi. Sprint Nextel, T-Mobile, Motorola, Samsung, Soni Ericson, Toshiba dan lain – lain secara bersama – sama melakukan pendekatan dengan platform Android dan membentuk Open Handset Alliance. Open Handset Alliance memiliki sebuah tujuan untuk memberikan inovasi – inovasi pengembangan dan memberikan respon yang lebih baik bagi kebutuhan pelanggan atau pengguna sistem operasi Android. Dan sekarang ini, sistem operasi Android dikembangkan untuk keperluaan operator mobile, produsen – produsen teknologi mobile, dan pengembang aplikasi (programmer, sistem analis, dan lain – lain).

  Platform Android hadir dengan segala tawaran yang dibutuhkan dalam sebuah paket : sistem operasi, driver peralatan perangkat, pustaka inti, JNI, Dalvik VM yang telah dioptimalkan, dan lingkungan pengembangan dalam bahasa program Java. Jika dibandingkan dengan Java Platform Micro Edition (Java ME), Platform Android memiliki beberapa keunggulan pada beberapa kategori, antara lain :

  • Dalam konfigurasi perangkat, Java ME digunakan pada dua kelas perangkat dan menawarkan solusi yang standard yang berbeda – beda terhadap kedua kelas tersebut, sedangkan Android digunakan hanya pada satu jenis pemodelan dan tidak berjalan pada perangkat teknologi rendah kecuali atau sampai konfigurasi pada perangkat tersebut ditingkatkan.
  • Pada pemahamannya, Java ME memiliki banyak UI model tergantung pada fitur minimum yang disediakan oleh perangkat, sedangkan Android bergerak hanya pada satu pemodelan.
  • Respon atau tanggapan yang digunakan oleh Dalvik VM Android lebih teroptimalisasi dan lebih cepat memberikan tanggapan dibandingkan dengan KVM Java ME.
  • Pada kompatibilitas nya, Android berjalan pada .dex bytecode tetapi Java ME hanya berjalan pada java bytecode.
  • Dalam penggunaannya dalam pengembangan, Android lebih terkoordinasi, lebih murah dalam pembiayaan, dan lebih mudah penerapannya untuk para pengembang java dibandingkan Java ME.
  • Sekarang ini, Android mendukung Java SE lebih sempurna dibandingkan Java ME.
bahasa pemrograman Java dan dewasa ini berbagai Integrated Development

  

Environment (IDE) seperti Eclipse dan Netbeans telah menyediakan fitur tambahan

  agar dapat dipergunakan dalam pengembangan aplikasi berbasis Android. Terdapat beberapa kebutuhan khusus agar dapat merancang aplikasi Android, seperti Android SDK, Android AVD, dan beberapa pengembang biasanya langsung menggunakan perangkat Android dalam proses kompilasi dan menjalankan programnya.

Gambar 2.7. Screenshot Android SDK ManagerGambar 2.7 menunjukkan screenshot dari sebuah Android SDK Manager yang dibutuhkan seperti Android SDK Tools dan package Android 4.2.2 (API 17) yang

  digunakan dalam sistem ini.

Gambar 2.8 Android Virtual Devices ManagerGambar 2.8 menunjukkan sebuah pengaturan yang diinginkan oleh developer android di dalam Android Virtual Devices Manager. Perlu diingat bahwa target versi

  android yang akan digunakan sebagai emulator harus sudah diinstall pada SDK

  

Manager . Dan layaknya sebuah perangkat mobile android juga harus memiliki

  spesifikasi seperti CPU yang digunakan, jenis keyboard, besar memory RAM, besar internal storage maupun external storage.