1
BAB I PENDAHULUAN I.
I.1. Latar Belakang Seiring dengan perkembangan teknologi yang membuat kehidupan semakin mudah dan efisien, orang mulai meninggalkan paradigma penggunaan media manual yang membutuhkan waktu yang lama menuju dunia digital. Kebutuhan akan informasi dengan mudahnya dapat diakses oleh berbagai orang melalui gadget dan mobile phone. Pada awal pembuatannya telepon genggam berfungsi sebagai alat komunikasi yang dapat dibawa kemana saja. Telepon genggam dapat digunakan sebagai sarana berkomunikasi jarak jauh secara mudah dan dinamis karena memanfaatkan sinyal yang dikirimkan oleh BTS provider melalui jaringan 2G maupun 3G. Di masa kini, fungsi telepon genggam tidak hanya digunakan untuk mengirim pesan dan menelpon saja namun juga dapat digunakan untuk mendengarkan musik, menonton video atau foto, mengakses internet, GPS dan lain-lain. Sejalan dengan perkembangan teknologi yang semakin dinamis, fungsionalitas smartphone berkembang guna mengakomodasi kebutuhan manusia yang semakin meningkat. Hadirnya fitur Google Maps dan A-GPS pada perangkat Android, Apple Maps pada iOS dan Nokia Maps pada Nokia memberikan banyak keuntungan bagi pengguna. Pengguna tidak merasa kesulitan untuk mencari lokasi tempat, karena fitur maps pada smartphone dapat menunjukkan keberadaan lokasi dan penunjuk arah menuju lokasi. Menurut hasil riset Growth for Knowledge (GfK), sebuah lembaga riset pasar internasional, pada tahun 2013 penjualan smartphone di Indonesia berada pada kisaran 14,8 juta unit (Anonim, 2013). Fungsionalitas dari smartphone mendukung pangsa pasar smartphone terus melonjak. Dilihat dari jumlah penggunanya, smartphone berbasis sistem operasi Android masih menduduki peringkat teratas. Menurut hasil riset IDC Worldwide Mobile Phone Tracker, sebuah lembaga konsultan teknologi dan komunikasi, pada tahun 2013 pengguna Android sebesar 81% dari total pengguna smartphone di Indonesia (Sentana, 2014).
2
Yogyakarta, sebagai kota yang menawarkan keunikan budaya serta keramahtamahan warganya menjadi daya tarik tersendiri bagi pengembang perumahan untuk melakukan ekspansi di daerah tersebut. Kondisi geografis yang strategis meliputi adanya pantai dan gunung serta kondisi sosial warga yang ramah dan keberadaan universitas unggul di Indonesia menjadikan Yogyakarta sebagai kota yang nyaman untuk dijadikan tempat tinggal. Menurut Peraturan Daerah Kabupaten Sleman nomor 53 tahun 2003 tercatat persebaran perumahan berada di wilayah aglomerasi yakni Kecamatan Depok, sebagian wilayah Kecamatan Gamping, Kecamatan Godean, Kecamatan Mlati, Kecamatan Ngaglik, Kecamatan Ngemplak, Kecamatan Berbah, Kecamatan Kalasan dan Kecamatan Sleman dengan koefisien dasar bangunan sebesar-besarnya 60 % (Anonim, 2006). Kecamatan Mlati, salah satu kecamatan yang berada di Kabupaten Sleman menjadi sebuah daerah pusat ekspansi para pengembang perumahan di Yogyakarta. Menurut data DPPD (Dinas Pengendalian Pertanahan Daerah) Kabupaten Sleman tahun 2012, pembangunan perumahan di Kecamatan Mlati dalam kurung waktu tahun 2004 hingga 2011 mencapai 68 kompleks atau rata-rata tiap tahun ada delapan kompleks perumahan baru (Jauhari dan Ritohardoyo, 2013). Perkembangan perumahan di daerah kecamatan mlati berkembang dengan pesat. Calon pembeli rumah di perumahan akan membutuhkan informasi tentang lokasi perumahan yang akan dicarinya. Untuk dapat mengetahui lokasi perumahan, calon pembeli rumah dapat dengan mudah mencarinya dengan menggunakan fasilitas internet. Informasi lokasi perumahan saat ini sudah tersedia di berbagai macam website. Namun untuk mencari lokasi perumahan masih tersebar di berbagai website, sehingga memakan waktu dan biaya yang lebih untuk mencari alamat perumahan, selain itu informasi yang ditampilkan tidak selalu lengkap. Dengan adanya perkembangan perumahan di Kecamatan Mlati, Kabupaten Sleman dan berkembangnya jumlah pengguna smartphone menggunakan sistem operasi Android, penulis tergerak untuk melakukan pembuatan sistem informasi perumahan kecamatan Mlati menggunakan sistem operasi Android untuk mengatasi kebutuhan pengguna yang ingin mencari perumahan di kecamatan Mlati, Kabupaten
3
Sleman sehingga pengguna dapat mendapatkan informasi perumahan secara mudah, cepat dan tepat. I.2. Lingkup Kegiatan Lingkup kegiatan dari proyek ini adalah: 1. Sistem informasi ini dibuat dengan menggunakan perangkat lunak Eclipse Kepler dan dikembangkan untuk smartphone dengan sistem operasi Android minimal versi 2.3 (Ginger Bread). 2. Informasi atribut yang dicantumkan dalam sistem informasi ini meliputi alamat perumahan, status perumahan, nama pengembang perumahan, nama perumahan, tipe unit rumah yang ada di setiap perumahan, nomor telepon yang bisa dihubungi dan alamat website perumahan untuk beberapa perumahan yang mempunyai halaman website. 3. Dalam sistem informasi ini, pengguna tidak dapat melakukan proses pengeditan dan penghapusan terhadap hasil yang ditampilkan. 4. Sistem yang dikembangkan membutuhkan koneksi internet untuk mengakses GPS dan Google Maps. 5. Lokasi perumahan ditampilkan dalam bentuk titik POI (Point of Interest). I.3. Tujuan Tujuan proyek ini adalah membuat aplikasi sistem informasi perumahan untuk menyajikan persebaran perumahan yang ada di Kecamatan Mlati, Kabupaten Sleman berbasis sistem operasi Android. Sistem informasi mudah untuk diakses dengan menggunakan smartphone melalui koneksi internet. I.4. Manfaat Manfaat yang bisa didapatkan dari proyek ini adalah: 1. Memberikan informasi terkait persebaran perumahan kepada masyarakat umum yang membutuhkan informasi perumahan di Kecamatan Mlati, Kabupaten Sleman.
4
2. Membantu pengembang perumahan untuk memasarkan unit rumah yang ada di Kecamatan Mlati. I.5. Landasan Teori I.5.1. Konsep Dasar Informasi I.5.1.1. Pengertian Informasi. Banyak definisi yang dikemukakan oleh ahli untuk mendefinsikan informasi. Informasi adalah data yang sudah mengalami suatu pemrosesan dimana data yang sudah diproses tersebut ditata dengan rapi dan baik sehingga bermanfaat serta tidak membingungkan penggunanya (Davis dan Olson, 1985). Pendapat lain menyebutkan bahwa informasi merupakan data yang sudah dibentuk ke dalam sebuah formulir bentuk yang bermanfaat dan dapat digunakan untuk manusia (Laudon dan Traver, 2011). Berdasarkan pendapat diatas dapat ditarik kesimpulan bahwa informasi adalah data yang sudah diproses dan dimanipulasi sedemikian rupa sehingga dapat bermanfaat bagi penggunanya. I.5.1.2. Pengertian Data. Data merupakan sumber informasi. Data adalah sesuatu yang masih mentah dan belum terorganisasi dengan baik, perlu dilakukan pengelompokan secara menyeluruh. Data berisi kumpulan fakta, deskrpisi, dan tabel yang menyatakan pemikiran atas suatu kondisi tertentu. I.5.1.3. Kualitas Informasi. Informasi yang berkualitas memiliki ciri-ciri sebagai berikut (Senn, 1984): 1. Akurat: bebas dari kesalahan, tidak bias/menyesatkan, jelas mencerminkan maksudnya. 2. Kelengkapan: mengandung seluruh data-data penting yang dibutuhkan pengguna informasi 3. Frekuensi: seberapa sering informasi dibutuhkan, dikumpulkan, atau dihasilkan 4. Sederhana: informasi yang dihasilkan tidak terlalu kompleks sehingga memudahkan penentuan prioritas.
5
I.5.2. Sistem Informasi Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi organisasi yang bersifat manajerial dalam kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan – laporan yang diperlukan (Sutabri, 2005). Selain itu terdapat pendapat lain yang menyebutkan bahwa sistem informasi adalah kombinasi dari manusia, fasilitas atau alat teknologi, media, prosedur dan pengendalian yang bermaksud menata jaringan komunikasi yang penting, proses atas transaksi-transaksi tertentu dan rutin, membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar pengambilan keputusan yang tepat (Nash, 1993). I.5.3. Sistem Informasi Geografis Sistem informasi geografis merupakan sebuah sistem komputer yang digunakan untuk melakukan proses pengambilan, penyimpanan, manipulasi, analisa serta menampilkan data bereferensi kebumian. Terdapat pendapat ahli lain yang menyebutkan bahwa sistem informasi geografis adalah seluruh manual berbasis komputer yang berisi kumpulan petunjuk digunakan untuk menyimpan dan memanipulasi data bereferensi geografis (Aronoff, 1989). Terdapat dua buah jenis data dalam sistem informasi geografis yaitu data spasial yang berhubungan dengan data geometri keruangan dan data atribut yang berhubungan dengan informasi pendukung yang dimiliki oleh obyek spasial (Chang, 2013). Sistem informasi geografi pertama kali dipakai pada tahun 1960-an oleh Canada Geographic Information System (CGIS) untuk pengembangan
kemampuan
lahan nasional dengan mengkompilasi dan inventarisasi potensi lahan produktif di Canada. SIG awalnya berkembang dari dua independen disiplin ilmu yaitu: kartografi digital dan database. Perkembangan dalam kartografi digital sebagai hasil dari berkembangnya dunia desain khususnya CAD (Computer Aided Design) sejak tahun 1960-an. Demikian pula perkembangan penggunaan database khusunya sistem pengelolaan
database
atau
Data
Base
Management
Systems
(DBMS)
yang
6
memungkinkan integrasi data spasial dan non spasial turut andil dalam mempercepat perkembangan SIG (Darmawan, 2011). I.5.4. Sistem Informasi Geografis berbasis Mobile Teknologi sistem informasi geografis mengalami perkembangan yang sangat pesat. Sistem informasi geografis yang tadinya hanya dapat digunakan di dalam kantor, dewasa ini berkembang menjadi sebuah perangkat yang bersifat mobile / bergerak. Sistem informasi geografis berbasis mobile merupakan kombinasi perangkat lunak sistem informasi geografis (SIG), Global Positioning System (GPS) dan perangkat mobile (ESRI, 2004). Sistem informasi geografis berbasis mobile dapat digunakan pula untuk proses pengambilan, penyimpanan, manipulasi, analisa serta menampilkan data bereferensi kebumian secara real time pada perangkat mobile. Sistem informasi geografis berbasis mobile memungkinkan proses pekerjaan pengguna menjadi semakin cepat dan akurat. Karena input data spasial dan atribut didapatkan di lapangan menggunakan perangkat digital dan proses editing dapat dilakukan secara langsung di lapangan. I.5.5. Perangkat Bergerak (mobile phone) Mobile phone atau perangkat bergerak merupakan sebuah media untuk berkomunikasi secara nirkabel sehingga dapat dibawa kemana saja yang mempunyai fungsi dasar yang sama dengan telepon konvensional yang menggunakan kabel. Umumnya mobile phone terkini mempunyai sistem operasi yang dibenamkan di dalamnya (Nofriansyah, 2011). I.5.6. Konsep Dasar Perumahan I.5.6.1. Pengertian Perumahan. Perumahan dapat diartikan sebagai tempat tiap individu yang ada saling berinteraksi dan mempengaruhi satu sama lain serta memiliki sense of belonging atas lingkungan tempat tinggalnya (Abrams, 1965). Suatu kelompok rumah yang berfungsi sebagai lingkungan tempat tinggal atau hunian yang dilengkapi dengan prasarana lingkungan yaitu kelengkapan dasar fisik lingkungan, misalnya penyediaan air minum, pembuangan sampah, tersedianya listrik,
7
telepon, jalan, yang memungkinkan lingkungan pemukiman berfungsi sebagaimana mestinya (UU No. 4 Tahun 1992). I.5.6.2. Fungsi Perumahan. Perumahan digunakan sebagai
lingkungan tempat
tinggal atau lingkungan hunian yang dilengkapi dengan prasarana dan sarana lingkungan (UU No. 4 Tahun 1992). Fungsi perumahan digunakan sebagai penunjang kesempatan berbagai keluarga untuk berkembang dalam kehidupan sosial, budaya, dan ekonomi. Diwujudkan dalam lokasi tempat rumah itu didirikan. Kebutuhan berupa akses ini diterjemahkan dalam pemenuhan kebutuhan sosial dan kemudahan ke tempat kerja guna mendapatkan sumber penghasilan Tentang Perumahan dan Permukiman (Turner, 1972). I.5.7. Konsep Dasar Android Android adalah sistem operasi mobile berbasis linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Android merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang diciptakan oleh Google (Safaat, 2012). I.5.7.1. Arsitektur Android. Secara garis besar sistem informasi Android mempunyai arsitektur sebagai berikut (Safaat, 2012): 1. Applications dan widgets, pemakai berhubungan dengan aplikasi saja. Dalam layer ini pemakai melakukan pengunduhan aplikasi kemudian dilakukan instalasi dan menjalankan aplikasi. Aplikasi inti di dalam layer antara lain email, program SMS, kalender peta, penjelajah (browser), kontak dan lain-lain. 2. Applications Frameworks, Android merupakan Open Development Platform yang menawarkan kepada pengembang untuk membangun sebuah aplikasi. Pengembang diberi kebebasan untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm dan menambahkan status notifikasi. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi kategori inti. Applications Frameworks adalah layer atau tempat para pembuat aplikasi melakukan pengembangan maupun pembuatan aplikasi yang akan dijalankan di sistem operasi
8
Android. Komponen yang termasuk di dalam Applications Frameworks adalah : a. Views. b. Content Provider. c. Resources Manager. d. Notification Manager. e. Activity Manager. 3. Libraries, fitur-fitur android berada di dalam layer ini, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Layer ini meliputi berbagai library C/ C++ inti seperti Libe dan SSL, serta: a. Libraries media untuk pemutaran media audio dan video. b. Libraries untuk manajemen tampilan. c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D. d. Libraries SQLite untuk dukungan basisdata. e. Libraries SSl dan WebKit terintegrasi dengan penjelajah website dan security. f. Libraries LiveWebcore mencakup penjelajah website modern dengan engine embeded web view. g. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s. 4. Android Run Time, aplikasi dijalankan dalam layer ini dan dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machines (DVM ) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Terdapat 2 bagian dalam Android Run Time, antara lain : a. Core Libraries b. Dalvik Virtual Machine 5. Linux Kernel, sistem operasi dari Android berada dalam layer ini. Berisi sistem file-file yang mengatur sistem processing, memory, resource, driver dan sistem operasi Android lainnya.
9
I.5.7.2. Android Virtual Device. Android Virtual Device merupakan sebuah emulator yang digunakan untuk menjalankan aplikasi Android di personal computer. Emulator tersebut berjalan untuk memberikan sebuah perangkat virtual dimana nantinya dapat menjalankan aplikasi Android selayaknya sebuah smartphone Android (Hernita, 2013). I.5.7.3. Versi Android. Android merupakan sistem operasi yang banyak digunakan oleh perangkat bergerak. Sebagai sebuah sistem operasi, Android mempunyai versi-versi yang pernah dirilis sebagai berikut (Rasjid, 2013): a. Android Versi 1.1 b. Android Versi 1.5 (Cupcake) c. Android Versi 1.6 (Donut) d. Android Versi 2.0 / 2.1 (Eclair) e. Android Versi 2.2 (Froyo / Frozen Yoghurt) f. Android Versi 2.3 (Gingerbread) g. Android Versi 3.0 (Honeycomb) h. Android Versi 3.1 (Honeycomb) i. Android Versi 3.2 (Honeycomb) j. Android Versi 4.0 (Ice Cream Sandwich) k. Android Versi 4.1 (Jelly Bean) l. Android Versi 4.2 (Jelly Bean) m. Android Versi 4.3 (Jelly Bean) n. Android Versi 4.4 (Kit Kat) I.5.8. Eclipse IDE (Integrated Development Environment) Prasetyo (2006) menyatakan bahwa Integrated Development Environment (IDE) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak. Eclipse adalah sebuah IDE untuk mengembangkan perangkat lunak berbasis java dan dapat dijalankan di semua platform (multi platform). Berikut ini adalah sifat dari Eclipse (Hernita, 2013):
10
a. Multi-platform: Target sistem operasi Eclipse adalah berbagai sistem operasi baik Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. b. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman javascript, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP. c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Tabel I.1 Versi Eclipse yang sudah rilis Nama Kode
Tanggal
Versi Platform
N/A
21 Juni 2004
3.0
N/A
28 Juni 2005
3.1
Callisto
30 Juni 2006
3.2
Europa
29 Juni 2007
3.3
Galileo
24 Juni 2009
3.5
Ganymede
25 Juni 2008
3.4
Helios
23 Juni 2010
3.6
Indigo
22 Juni 2011
3.7
Juno
27 Juni 2012
4.2
Kepler
26 Juni 2013
4.3
I.5.9. Java Java merupakan salah satu aplikasi yang bersifat multiplatform. Hal ini menjadi solusi dari berbagai macam aplikasi yang ada di dunia IT saat ini, karena biasanya aplikasi hanya dapat dijalankan pada satu sistem operasi dan tidak dapat dijalankan di sistem operasi yang lain. Terdapat 2 pengertian mengenai Java, yaitu (Utomo, 2012):
11
1. Sebagai bahasa pemrograman Javascript merupakan bahasa pemrograman berorientasi objek dimana sintaksnya mengikuti bentuk bahasa C dan C++. 2. Sebagai platform untuk menjalankan aplikasi lain Java sebagai platform terdiri dari sebuah mesin virtual dan media untuk melakukan eksekusi (execution environment). Kode sumber pada Java juga tidak perlu diubah ketika akan di compile ulang pada sistem operasi lainnya. Hasil kompilasi dari kode sumber Java bukanlah kode mesin namun berupa bytecode dengan ekstensi class. Bytcode ini dapat langsung dieksekusi pada setiap sistem operasi dengan menggunakan Java Virtual Machine (JVM) sebagai alat penginterpretasi terhadap bytecode tersebut. Proses eksekusi program Java dapat diilustrasikan sebagai berikut: Compiler Java Kode Sumber
JVM
Byte Code
Kode Mesin
Gambar I.1 Proses translasi dan eksekusi program Java Proses tersebut menjadikan pemrograman Java yang telah dikompilasi akan dapat berjalan pada platform manapun, asalkan terdapat Java Virtual Machine di dalamnya. I.5.9.1. Struktur Bahasa javascript. Sebagai bahasa pemrograman javascript merupakan penurunan bahasa pemrograman C, oleh karena itu syntax yang digunakan hampir sama dengan bahasa pemrograman C. Di dalam bahasa pemrograman javascript, dikenal pula istilah case sensitive dimana besar-kecilnya huruf mempengaruhi output dari program yang dibuat. Secara umum, struktur bahasa pemrograman javascript mempunyai 3 buah lapisan, yakni (Nugroho, 2010): a. Package Package berisi nama paket yang telah dimasukkan sebelumnya dalam proses inisialisasi program, sehingga nama package tersebut akan selalu sama dalam satu program. Sebagai contoh di bawah ini merupakan contoh script sebuah package program aplikasi untuk sistem informasi perumahan. package com.skripsi.yoga.perumahan;
12
b. Import Import berfungsi untuk memanggil seluruh class yang berada pada sebuah package sehingga nantinya class tersebut dapat tersedia di dalam program javascript yang dikembangkan. Di bawah ini merupakan contoh import pada program java. import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; c. Class Class merupakan ciri utama program java. Class adalah inti dari program berbasis Java. Dalam program Java, nama suatu class harus sama dengan nama file *.java tersebut. Misal terdapat program hello.java, maka nama class tersebut harus menjadi class hello{}. Secara garis besar struktur dari bahasa javascript terdiri dari (Anonim, 2007): a. Class Declaration Berfungsi sebagai pendeklarasian nama kelas suatu program java sehingga nama class yang dideklarasikan harus sesuai dengan nama file java yang disimpan. b. Class Body Berfungsi sebagai tempat penulisan kode javascript yang digunakan dalam class tersebut. Class body berisi variable, constructor dan method. c. Variable Bagian dari class body yang bertujuan untuk mendeklarasikan sebuah variabel yang kemudian dapat digunakan di dalam method yang ada pada class body. Pendeklarasian variabel ini harus dilakukan di dalam class body. d. Constructor Objek yang nantinya akan digunakan pada saat class tersebut diinstansiasi oleh class lain. Di dalam satu class boleh terdapat lebih dari satu constructor. Semua class harus memilki constructor yang nantinya
13
digunakan untuk instansiasi. Nama dari constructor ini harus sama dengan nama dari class utamanya. Misalkan nama dari class utama adalah Stack, maka nama constructor adalah Stack. public Stack(){ items = new Vector(10); } Dari contoh constructor di atas, apabila sebuah class ini melakukan inisialisasi terhadap class Stack maka dapat dilakukan dengan cara sebagai berikut : new Stack(); e. Method Method dapat diartikan sebagai bagian dari sebuah class yang didalamnya terdapat proses-proses yang diinginkan. Dengan adanya method maka penanganan
sebuah
proses
lebih
terstruktur
dan
mempermudah
programmer untuk memahami alur dari program yang dibuat. Sebuah method akan diproses isinya apabila method tersebut dipanggil. Pada gambar I.2 mengilustrasikan struktur atau diagram penulisan class bahasa pemrograman javascript.
Gambar I.2 Struktur penulisan class program Java (Anonim, 2007)
14
I.5.10. XML XML akronim dari eXtensible Markup Language adalah bahasa markup yang dapat digunakan untuk menyimpan dan mengelola data secara ringkas yang dikembangkan oleh W3C (World Wide Web Consortium) (Campbell, 2001). Tidak ada definisi yang pasti mengenai XML. Terdapat pendapat dari ahli lain yang mengatakan bahwa XML bukanlah suatu bahasa pemrograman, melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain sehingga dinamakan meta-language (Dournaee, 2002). Bahasa markup XML pada pemrograman aplikasi Android digunakan sebagai pembentuk grafis antar muka. I.5.11. PHP PHP merupakan akronim dari Hypertext Preprocessor, merupakan bahasa pemrograman berbasiskan kode-kode yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML. Kode PHP mempunyai ciri-ciri khusus, yaitu (Oktavian, 2010): a. Hanya dapat dijalankan menggunakan web server, misal: Apache. b. Kode PHP diletakkan dan dijalankan web server. c. Kode PHP dapat digunakan untuk mengakses database, seperti: MySQL, PostgreSQL, Oracle. d. Merupakan perangkat lunak yang bersifat open source. e. Gratis untuk diunduh dan digunakan. f. Memiliki sifat multiplatform, artinya dapat dijalankan menggunakan sistem operasi apapun, seperti: Linux, MAC OS, Windows. I.5.12. Web Service I.5.12.1. Pengertian Web Service. Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu website untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan
15
(service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam web service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya (Utama, 2006). I.5.12.2. Arsitektur Web Service. Secara garis besar web service mempunyai arsitektur sebagai berikut (Baltopoulos, 2005): a.
Registry: berperan sebagai penyedia web service.
b.
Provider: berperan sebagai pemuat layanan ke registry.
c.
Consumer: dapat menggunakan layanan di registry yang ada.
Arsitektur Web Service apabila diilustrasikan dapat dilihat pada gambar I.3 dibawah ini.
Gambar I.3 Arsitektur Web Service (Baltopoulos, 2005) I.5.12.3. Protokol Web Service. Dalam pengimplementasiannya,
web service
mempunyai beberapa protokol agar web service dapat berjalan dengan baik. Protokol tersebut adalah: 1. SOAP SOAP merupakan akronim dari Simple Object Acces Protocol yang merupakan protokol yang digunakan web service dimana pengaplikasian utama untuk komunikasi aplikasi internal. SOAP mengkodifikasi penggunaan XML sebagai skema penulisan untuk proses request dan response menggunakan HTTP sebagai media pertukaran informasi. SOAP berhubungan dengan 4 hal, yaitu (Papazoglou, 2008):
16
a. Sebagai format pesan untuk komunikasi satu arah yang menjelaskan bagaimana sebuah pesan dapat disimpan dalam dokumen XML. b. Sebagai pendeskripsian bagaimana sebuah pesan SOAP harus dibawa menggunakan HTTP (untuk interaksi berbasis web) atau SMTP (untuk interaksi berbasis e-mail) c. Sebagai kumpulan peraturan yang harus diikuti ketika memproses sebuah pesan SOAP dan pengklasifikasian entitas yang terlibat pada sebuah pesan SOAP. d. Sebagai kumpulan aturan bagaimana mengubah panggilan RPC (Remote Procedure Call) kedalam pesan SOAP dan mengembalikannya SOAP merupakan protokol yang ringan yang memperbolehkan aplikasi untuk mengirimkan pesan dan feedback diantara sistem yang berbeda sehingga informasi dapat dibagikan ke seluruh client atas persetujuan administrator. 2. WSDL WSDL merupakan akronim dari Web Services Description Language merupakan dokumen XML yang digunakan untuk mendeskripsikan web service yang berisi lokasi dari service dan operasi atau metode yang digunakan dalam service (Thongsongkrit, 2006). Dalam pengimplementasiannya, dokumen WSDL mempunyai struktur sebagai berikut: a. Bagian Abstrak Bagian abstrak mendeskripsikan tentang bagaimana pesan dapat dikirim dan diterima dan operasi berhubungan dengan pola pertukaran dengan satu atau lebih pesan. b. Bagian Konkret Bagian konkret menspesifikasikan tentang hubungan dan detil format dari satu atau lebih antar muka, port yang digunakan untuk menghubungkan sebuah alamat jaringan dengan binding. Struktur WSDL apabila diilustrasikan dapat dilihat pada gambar I.4.
17
Gambar I.4 Struktur dokumen WSDL (Thongsongkrit, 2006) 3. UDDI UDDI akronim dari Universal Description, Discovery, and Intergration Protocol merupakan dokumen XML yang digunakan untuk mendeskripsikan layanan bisnis dan layanan provider. Digunakan pula untuk mendefinisikan struktur data dan API untuk deskripsi layanan publikasi ke registry dan query ke registry. UDDI mendukung developer dalam mencari informasi yang berkaitan tentang layanan (Fischer, 2006). I.5.12.4. Aplikasi Web Service. Web service digunakan sebagai penyedia layananan informasi dari suatu sistem sehingga sistem lainnya dapat mendapatkan informasi dari sistem utama tanpa mengetahui pemrograman secara mendetail. Contoh implementasi dari web service adalah sinkronasi data antar sistem informasi dalam EGovernment di Pemerintah Kabupaten Bantul. Salah satu permasalahan penting dan perlu segera diatasi terkait dengan pengembangan aplikasi sistem informasi di Pemkab Bantul adalah bagaimana melakukan sinkronisasi data antara aplikasi. Permasalahan ini dapat diatasi dengan mengembangkan aplikasi web service yang memungkinkan untuk melakukan proses pertukaran data untuk sinkronisasi data antar sistem yang telah ada (Sutanta dan Mustafa, 2012).
18
I.5.13. Geoportal Geoportal mengatur konten dan layanan seperti direktori, perangkat pencarian, informasi masyarakat, dukungan sumber daya, data dan aplikasi. Geoportal menyediakan kemampuan catatan metadata untuk data dan layanan yang relevan, serta menyediakan link langsung ke konten online layanan itu sendiri. Geoportal juga dapat mengontrol penggunaan layanan komersial dengan memfasilitasi penjualan/pembelian data dan layanan (Maguire dan Longley 2005 dalam Fajriah 2013). Gambar I.5 menunjukkan operasi 1 mengacu pada publikasi metadata pada sumber daya geospasial dalam geoportal oleh penyedia. Operasi 2 menunjukkan pertanyaan yang dikirim oleh pengguna melalui web. Operasi 3 menunjukkan respon yang ditawarkan untuk membantu pengguna dalam menemukan permintaan data. Operasi 4 dilakukan ketika pengguna memanfaatkan sumber daya yang ditawarkan (Maguire dan Longley 2005 dalam Fajriah 2013).
Gambar I.5 Peran geoportal (Maguire dan Longley 2005 dalam Fajriah 2013) I.5.13.1. Geoportal Indonesia. Geoportal menawarkan kemampuan untuk dapat memberikan data dan layanan yang relevan, serta menyediakan link langsung ke konten online layanan itu sendiri. Geoportal sudah dikembangkan di Indonesia. Geoportal Indonesia dapat diakses melalui alamat website http://tanahair.indonesia.go.id/. Geoportal Indonesia diberi nama Ina-Geoportal yang merupakan singkatan dari Indonesia
19
Geospatial Portal. Ina-Geoportal dibangun oleh Badan Informasi Geospasial (BIG) dengan tujuan untuk memberi akses kepada pengguna beberapa informasi geospasial. Pihak BIG memperkenalkan Ina-Geoportal saat memperingati Hari Teknologi Nasional ke-17 tanggal 11 Agustus 2012 (Fajriah, 2013). I.5.14. JSON (JavaScript Object Notation) JSON (JavaScript Object Notation) adalah sebuah format pemrograman berbasis javascript yang digunakan untuk melakukan pertukaran data, mudah ditulis oleh pengembang aplikasi serta mudah diterjemahkan oleh komputer. Format bahasa pemrograman ini didasarkan pada Standar ECMA-262 edisi ke-3 dimana menggunakan bahasa umum yang digunakan oleh bahasa C, C++, C#, Java, JavaScript, Perl dan Python (JSON Team, 2014). Format penulisan JSON terdiri dari dua struktur: a. Kumpulan pasangan string dan value. b. Daftar value yang terurutkan (an ordered list of values) Struktur-struktur data ini disebut sebagai struktur data universal. Artinya, format penulisan JSON sama dengan logika penulisan bahasa pemrograman apapun. Apabila digambarkan dalam bentuk ilustrasi, maka dapat dijelaskan struktur format pertukaran data JSON sebagai berikut: 1. Objek Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap string diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma). Apabila diilustrasikan, maka dapat dilihat pada gambar I.6.
Gambar I.6 Ilustrasi objek JSON (JSON Team, 2014)
20
2. Array Array adalah kumpulan nilai yang terurutkan. Array dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma). Apabila diilustrasikan, maka dapat dilihat pada gambar I.7.
Gambar I.7 Ilustrasi array JSON (JSON Team, 2014) 3. Value Value dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah array. Apabila diilustrasikan, maka dapat dilihat pada gambar I.8.
Gambar I.8 Ilustrasi value JSON (JSON Team, 2014) I.5.15. Google Maps Google Maps adalah sebuah halaman web yang memungkinkan penggunanya untuk dapat melihat peta virtual secara online menggunakan web browser yang dapat diakses di http://maps.google.com. Peta digital yang telah disediakan oleh google ini dapat diakses oleh pengguna secara gratis dan hanya memerlukan koneksi internet. Pada situs tersebut kita dapat melihat informasi geografis pada semua wilayah di bumi. Layanan google maps ini interkatif, karena peta bersifat digital, maka peta dapat digeser
21
menuju lokasi yang diinginkan, mencari lokasi sesuai nama lokasi dan nilai lintang dan bujur, mengubah tingkat zoom, serta mengubah tampilan peta sesuai dengan layer-layer yang disediakan oleh google. Saat masuk ke menu utama website http://maps.google.com, tampilan utama situs akan seperti berikut ini:
Gambar I.9 Tampilan utama situs Google Maps Fasilitas yang ada pada Google Map adalah mencari suatu lokasi tertentu berdasarkan kata kunci yang dimasukkan. Kita dapat memasukkan kata kunci seperti hotel, tempat makan, perguruan tinggi, nama daerah, lokasi bisnis, tempat hiburan. Kata kunci tersebut nantinya akan ditampilkan sebagai POI (Point of Interest). Point of Interest ini nantinya dapat dilakukan proses mencari rute dari suatu lokasi ke Point of Interest tersebut. Pendeskripsian masing-masing menu diatas dapat dijelaskan sebagai berikut: a. Proses memasukkan kata kunci ditunjukkan oleh huruf A. b. Huruf B menunjukkan tombol untuk melakukan proses pencarian rute dari satu lokasi ke lokasi tertentu. Pencarian rute dapat dilakukan sesuai dengan kategori. Kategori tersbut adalah mobil, angkutan umum, berjalan, bersepeda. Pada huruf B ini juga dapat dilakukan proses pencetakan halaman peta dan pembuatan tautan untuk menampilkan peta google map pada sebuah halaman web lain.
22
c. Untuk menjelajah peta secara interaktif, dapat dilakukan dengan menekan tombol pan yang ditunjukkan huruf C. Tombol pan menunjuk pada 4 arah, yakni atas, kiri, kanan, bawah. d. Untuk mendapatkan posisi pengguna dapat dilakukan dengan menekan tombol pada huruf D. e. Proses pembesaran dan pengecilan peta sesuai skala yang diinginkan dapat dilakukan pada huruf E. Terdapat 17 tingkatan zoom yang dapat dipilih dengan cara menekan tombol plus/minus, atau dengan menggeser tombol yang terdapat di antara tanda plus/minus. Tampilan zoom pada Google Maps dari yang paling rendah hingga yang paling tinggi dapat dilihat pada gambar I.10.
Gambar I.10 Tampilan pembesaran level tertinggi dan terendah Google Maps f. Pemilihan layer peta dapat dilakukan pula pada huruf F. Terdapat pilihan layer satelit dan foto. Layer satelit menampilkan bumi secara nyata yang dihasilkan dari citra satelit, sedangkan layer foto menampilkan peta google maps hasil digitasi pihak Google. Layer
Google Maps ditunjukkan oleh
gambar I.11 di bawah ini.
Gambar I.11 Tampilan layer foto dan layer satelit Google Maps
23
I.5.15.1. Google Maps API (Application Programming Interface). Bahasa pemrograman dari Google Maps yang hanya terdiri dari HTML dan javascript, memungkinkan kita untuk menampilkan Google Maps di website lain. Google Maps Application Programming Interface (API) merupakan suatu fitur aplikasi yang dikeluarkan oleh google untuk memfasilitasi pengguna yang ingin mengintegrasikan Google Maps ke dalam website masing-masing dengan menggunakan fragment. Dengan menggunakan Google Maps API, Google Maps dapat ditampilkan di website lain. Agar aplikasi Google Maps dapat muncul di website tertentu, diperlukan adanya API key. API key merupakan kode unik yang digenerasikan oleh google untuk suatu website tertentu, agar server Google Maps dapat mengenali website kita. Tidak hanya dalam website, Google Maps API key dapat pula di embed kan ke dalam script XML di dalam program aplikasi Eclipse (Android Developer, 2013). Hal ini dilakukan apabila ingin menampilkan Google Maps di dalam aplikasi Android seperti yang ditunjukkan kode di bawah ini. <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAraXjH4viSKahK_vEkiZziOwR8feq62xY" /> I.5.16. A-GPS A-GPS adalah suatu metode penentuan posisi penyempurnaan dari metode GPS dengan menyediakan informasi lokasi melalui bantuan saluran komunikasi alternatif yang tersedia di sekitar posisi pengguna berada. Receiver A-GPS masih melakukan pengukuran dari satelit, namun proses penghitungan posisi dibantu oleh saluran komunikasi, maka pekerjaan tersebut menjadi lebih cepat. GPS dibangun sebagai alat panduan penunjuk arah dan koordinat bagi kendaraan baik di darat, laut maupun udara. Dalam berbagai hal, receiver GPS dipasang di luar untuk mendapatkan pandangan langit yang baik sehingga menghasilkan posisi yang akurat. Dewasa ini, GPS lebih banyak digunakan untuk kepentingan sipil dibandingkan dengan kebutuhan militer. Misalkan, beberapa kendaraan sekarang sudah dilengkapi dengan GPS untuk mempermudah pengendara menuju lokasi yang diinginkan. Oleh karena itu, GPS diharapkan dapat
24
bekerja dengan baik dalam kondisi apapun, bahkan untuk kepentingan di dalam ruangan. Persyaratan inilah yang mendorong pengembangan A-GPS (Diggelen, 2009). I.5.16.1. Prinsip Kerja A-GPS. A-GPS bekerja dengan menyediakan informasi yang memperbolehkan receiver GPS untuk mengetahui frekuensi apa yang digunakan dan kemudian data bantuan berupa sinyal koneksi internet memberikan posisi satelit yang digunakan untuk penghitungan posisi GPS. Setelah memperoleh sinyal, hal yang dilakukan kemudian adalah mengambil rentang pengukuran (dalam hitungan milisecond) dan kemudian receiver A-GPS dapat menghitung posisi yang ingin diketahui. Prinsip kerja A-GPS dapat dilihat pada gambar I.12 dibawah ini.
Gambar I.12 Prinsip kerja A-GPS (Diggelen, 2009) I.5.17. Location Based Service (LBS) Location based service atau layanan berbasis lokasi adalah sebuah layanan informasi yang dapat diakses menggunakan piranti mobile melalui jaringan Internet dan seluler serta memanfaatkan kemampuan penunjuk lokasi pada piranti mobile (Küpper, 2005). Terdapat empat komponen pendukung utama dalam teknologi layanan berbasis lokasi, antara lain (Steiniger, 2006):
25
1. Piranti Mobile Piranti mobile adalah salah satu komponen penting dalam LBS. Piranti ini berfungsi sebagai alat bantu (tool) bagi pengguna untuk meminta informasi. Hasil dari informasi yang diminta dapat berupa teks, suara, gambar dan lain sebagainya. Piranti mobile yang dapat digunakan bisa berupa PDA, smartphone, laptop. Selain itu, piranti mobile dapat juga berfungsi sebagai alat navigasi di kendaraan seperti halnya alat navigasi berbasis GPS. 2. Jaringan Komunikasi Komponen kedua adalah jaringan komunikasi. Komponen ini berfungsi sebagai jalur penghubung yang dapat mengirimkan data-data yang dikirim oleh pengguna dari piranti mobile-nya untuk kemudian dikirimkan ke penyedia layanan dan kemudian hasil permintaan tersebut dikirimkan kembali oleh penyedia layanan kepada pengguna. 3. Komponen Positioning (Penunjuk Posisi / Lokasi) Setiap layanan yang diberikan oleh penyedia layanan biasanya akan berdasarkan pada posisi pengguna yang meminta layanan tersebut. Oleh karena itu diperlukan komponen yang berfungsi sebagai pengolah/pemroses yang akan menentukan posisi pengguna layanan saat itu. Posisi pengguna tersebut bisa didapatkan melalui jaringan komunikasi mobile atau juga menggunakan Global Positioning System (GPS). 4. Penyedia layanan dan aplikasi Penyedia layanan merupakan komponen LBS yang memberikan berbagai macam layanan yang bisa digunakan oleh pengguna. Sebagai contoh ketika pengguna meminta layanan agar bisa tahu posisinya saat itu, maka aplikasi dan penyedia layanan langsung memproses permintaan tersebut, mulai dari menghitung dan menentukan posisi pengguna, menemukan rute jalan, mencari data di Yellow Pages sesuai dengan permintaan, dan masih banyak lagi yang lainnya. 5. Penyedia data dan konten Penyedia layanan tidak selalu menyimpan seluruh data dan informasi yang diolahnya. Karena bisa jadi berbagai macam data dan informasi yang diolah
26
tersebut berasal dari pengembang/pihak ketiga yang memang memiliki otoritas untuk menyimpannya. Sebagai contoh basis data geografis dan lokasi bisa saja berasal dari badan-badan milik pemerintah atau juga data-data perusahaan/bisnis/industri bisa saja berasal dari Yellow Pages, maupun perusahaan penyedia data lainnya. I.5.18. Basis Data Aplikasi membutuhkan media untuk penyimpanan data. Data-data tersebut disimpan dalam kumpulan data yang disebut sebagai basis data. Basis data merupakan kumpulan data yang disimpan secara sistematis sehingga data dapat dipanggil ulang dalam sebuah aplikasi dan dapat memperoleh informasi dari basis data tersebut. Dalam pembuatan basis data, diperlukan perangkat lunak agar dapat mengelola dan memanggil query basis data tersebut. Perangkat lunak tersebut disebut DBMS (Database Management System) (Fathansyah, 2012). Dalam perancangan basis data diperlukan pendefinisian yang jelas mengenai data apa saja yang akan ditampilkan dan jenis tipe datanya. Dalam basis data, data disimpan dalam sebuah entitas. Entitas berisi data-data atribut yang mendeskripsikan karakteristik suatu entitas. Hubungan antar entitas pada basis data digambarkan dalam bentuk diagram ER. Diagram ER adalah sebuah konsep perepresentasian data yang digunakan untuk memodelkan basis data dan digunakan untuk menghasilkan jenis skema konseptual dari suatu sistem (Crane, 2011). I.5.18.1. Manfaat Basis Data. Dengan menggunakan basis data, banyak manfaat yang dapat diperoleh. Manfaat tersebut diantaranya (Kusrini, 2007): a. Kecepatan dan kemudahan Basis data memungkinkan pengguna untuk mendapatkan informasi secara cepat dan mudah. Basis data mempunyai fungsi mengelompokkan dan mengurutkan data secara baik dan benar. b. Kebersamaan pemakai Basis data dapat dipergunakan oleh berbagai pengguna dan untuk tujuan tertentu. Misalkan basis data dosen dalam perguruan tinggi. Data mengenai dosen dibutuhkan oleh bagian tata usaha rektorat, fakultas dan jurusan dimana dosen tersebut mengajar. Tidak semua bagian tata usaha mempunyai data tersebut.
27
Cukup satu tempat pentimpanan, misalkan bagian tata usaha rektorat dan semua bagian tata usaha lainnya dapat mengakses basis data tersebut sesuai dengan keperluan. c. Pemusatan kontrol data Karena basis data hanya di simpan dalam 1 tempat, maka data dapat dikontrol dengan mudah. Apabila di kemudian hari diperlukan proses pembaharuan, maka hanya diperlukan pembaharuan di satu tempat. d. Efisiensi ruang penyimpanan (space) Karena di gunakan secara bersama, maka penyimpanan basis data hanya berada di satu tempat. Hal ini meminimalisasikan ruang penyimpanan basis data yang dimiliki oleh sebuah kelompok / organisasi. e. Keakuratan Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antar data, dll. Dapat menekan ketidakakuratan dalam pemasukan/penyimpanan data. f. Keamanan Basis data dapat dienkripsikan kata kunci sehingga pengguna hanya dapat mengakses data sesuai dengan posisi dan kebutuhannya. I.5.18.2. Basis Data Web Server. Basis data web server merupakan basis data yang disimpan pada sisi server dimana penyimpanan basis data ditempatkan pada sebuah halaman web dan nantinya dapat dipanggil sesuai dengan kebutuhan informasi yang diinginkan pengguna pengguna (Ricky, 2006). Hal ini dibangun dengan menggunakan bahasa pemrograman SQL (Structure Query Language) untuk pembangunan basis data dan bahasa PHP untuk mengkoneksikan basis data ke sisi client. I.5.18.3. Basis Data di Android. Android sebagai sebuah sistem operasi juga mempunyai basis data yang disebut sebagai SQLite. SQLite merupakan sebuah perangkat lunak kombinasi SQL interface dan penggunaan memory sedikit dengan kecepatan yang tinggi. SQLite yang ada di Android termasuk sebagai Android runtime, sehingga setiap versi Android dapat membuat basis data dengan menggunakan SQLite. Dalam sistem operasi Android, terdapat beberapa teknik untuk penyimpanan data. Teknik yang umum digunakan adalah sebagai berikut (Safaat, 2012):
28
a. Shared Preferences, yakni menyimpan data dari beberapa nilai (value) dalam bentuk lain yang disebut sebagai preferences. b. Files, yaitu menyimpan data dalam bentuk file, dalam bentuk writable maupun readable. c. SQLite Databases, penyimpanan data dalam bentuk basis data d. Content Providers, penyimpanan data dalam bentuk content provider services.