Bab 2
Tinjauan Pustaka
2.1
Penelitian Sebelumnya
Penerapan Google Maps dalam pengembangan sistem sudah cukup
banyak digunakan. Pada penelitian sebelumnya, Google Maps dipakai dalam
pengembangan di sektor pariwisata. Sektor pariwisata yang seringkali
dihadapkan pada permasalahan promosi dan panduan yang efektif bagi para
wisatawan yang berkunjung. Untuk mengatasi masalah tersebut maka
dibuatlah website referensi wisata sebagai panduan bagi wisatawan yang
berkunjung sekaligus sebagai sarana promosi kepada masyarakat global.
Dalam penelitian tersebut ditunjukkan daerah-daerah di Indonesia yang
memiliki potensi wisata dalam sebuah website yang disertai dengan tampilan
Google Maps sehingga memudahkan pengguna website dalam mencari
tempat wisata di kota-kota besar di Indonesia dengan informasi yang terkait
dengan tempat-tempat wisata tersebut. (Setyanto, 2010).
Penelitian lainnya dilakukan dibidang konservasi fauna dan flora di
Taman Nasional Merapi Jawa Tengah. Penanganan data yang masih
menggunakan sistem manual membuat data antara region satu dengan yang
lain tidak dapat didistribusikan sehingga muncul masalah dalam pengelolaan
perijinan dan informasi tentang fuana dan flora yang berbeda-beda dari
tiap-tiap region. Penelitian dilakukan untuk membangun sebuah sistem
terdistribusi dengan teknik manipulasi data yang terdistribusi serta
memanfaatkan Google Maps untuk memetakan persebaran fauna dan flora di
Taman Nasional Merapi Jawa Tengah. Sehingga perijinan dan tentang fauna
dan flora dapat didistribusikan dari region satu ke region yang lain dengan
data yang didistribusikan adalah kumpulan dari seluruh region yang ada
(Wijaya, 2009).
Kedua penelitian diatas memanfaatkan Google Maps untuk
menunjukkan lokasi suatu tempat atau region. Perbedaan dengan sistem yang
akan dibuat adalah penggunaan Google Maps tidak hanya digunakan untuk
menunjukkan lokasi suatu tempat melainkan juga untuk menghitung jarak
antar lokasi agar dapat dicari lokasi dengan jarak yang terdekat.
Melalui penelitian ini, sistem informasi geografis PMI wilayah Jateng
akan dibuat menggunakan Google Maps API yang dapat menampilkan lokasi
tiap PMI kabupaten/kota dan rute perjalanan dari satu daerah asal ke daerah
yang dituju. Aplikasi yang akan dibangun merupakan aplikasi berbasis web,
dengan bahasa pemrograman PHP dan menggunakan framework CodeIgniter
yang menyediakan library database. Library tersebut berisi fungsi-fungsi
untuk mengakses database sehingga proses pengolahan data lebih cepat.
2.2
Sistem Informasi Geografi
Sistem Informasi Geografis (bahasa Inggris: Geographic Information
System disingkat GIS) adalah sistem informasi khusus yang mengelola data
yang memiliki informasi spasial (bereferensi keruangan). Atau dalam arti
yang lebih sempit, adalah sistem komputer yang memiliki kemampuan untuk
membangun, menyimpan, mengelola dan menampilkan informasi berefrensi
geografis, misalnya data yang diidentifikasi menurut lokasinya, dalam
sebuah basis data. Dalam hubungannya dengan teknologi komputer, SIG
didefinisikan sebagai sistem berbasis komputer yang memiliki kemampuan
dalam menangani data bereferensi geografi yaitu pemasukan data,
manajemen data (penyimpanan dan pemanggilan kembali), memanipulasi
dan analisis data, serta keluaran sebagai hasil akhir (output) (Arronoff,
Sistem informasi dibutuhkan karena data spatial penanganannya
sangat sulit terutama karena peta dan data statistik cepat kadaluarsa sehingga
tidak ada pelayanan penyediaan data dan informasi yang diberikan menjadi
tidak akurat. Pemanfaatan sistem informasi geografis adalah untuk
mempermudah mendapatkan informasi yang telah diolah dan tersimpan
sebagai atribut suatu lokasi atau obyek. Ciri utama data yang bisa
dimanfaatkan dalam sistem informasi geografis adalah data yang telah terikat
dengan lokasi dan merupakan data dasar yang belum dispesifikasi (Dulbahri,
1993).
SIG bisa dibagi menjadi dua kelompok yaitu sistem manual (analog),
dan sistem otomatis (yang berbasis digital computer). Perbedaan yang
paling mendasar terletak pada cara pengelolaannya. Sistem Informasi
manual biasanya menggabungkan beberapa data seperti peta, lembar
transparansi untuk tumpang susun (overlay), foto udara, laporan statistik
dan laporan survei lapangan. Kesemua data tersebut dikompilasi dan
dianalisis secara manual dengan alat tanpa komputer. Sedangkan SIG
otomatis telah menggunakan komputer sebagai sistem pengolah data melalui
proses digitasi. Sumber data digital dapat berupa citra satelit atau foto udara
digital serta foto udara yang terdigitasi (Nurshanti, 1995).
Untuk dapat beroperasi sistem informasi geografis membutuhkan
komponen-komponen seperti pada Gambar 2.1 yaitu :
a. orang yang menjalankan sistem
b. aplikasi yang berupa prosedur-prosedur yang digunakan untuk mengolah
data
c. data yaitu informasi yang dibutuhkan dan diolah dalam aplikasi
d. software, perangkat lunak sistem informasi georgafi
e. hardware, perangkat keras yang dibutuhkan untuk menjalankan sistem.
Gambar 2.2 Subsistem Sistem Informasi Geografis (Prahasta, 2001) Sebuah sistem informasi georgafis menggabungkan komputer
kartografi dengan sistem management database. Subsistem yang membentuk
sistem informasi geografis terlihat dalam Gambar 2.2 yaitu :
- Input data yaitu dengan mengumpulkan dan mempersiapkan data spasial
dan data atribut dari berbagai sumber dan bertanggungjawab dalam
mengkonversi fornat data-data aslinya dalam format yang disediakan
oleh sistem informasi georgafis.
- Data output, menampilkan hasil keluaran seluruhatau sebagian basis data
baik dalam bentuk softcopy maupun hardcopy (tabel, peta,grafik.dan
- Data management, mengorganisasikan data baik spasial maupun atribut
ke dalam sebuah basis data sedemikian rupa sehingga mudah dipanggil,
diedit dan diperbaharui.
- Data manipulasi dan analisis, menentukan informasi-informasi yang
dapat dihasilkan sistem informasi geografis serta melakukan manipulasi
dan pemodelan data untuk menghasilkan informasi yang diharapkan.
Alasan penggunaan SIG adalah:
- SIG menggunakan data spasial maupun atribut secara terintegrasi
- SIG dapat digunakansebagai alat bantu interaktif yang menarik dalam
usaha meningkatkan pemahaman mengenai konsep lokasi, ruang,
kependudukan, dan unsur-unsur geografi yang ada dipermukaan bumi.
- SIG dapat memisahkan antara bentuk presentasi dan basis data
- SIG memiliki kemampuan menguraikan unsur-unsur yang ada
dipermukaan bumi kedalam beberapa layer atau coverage data spasial
- SIG memiliki kemapuan yang sangat baik dalam memvisualisasikan data
spasial berikut atributnya
- Semua operasi SIG dapat dilakukan secara interaktif
- SIG dengan mudah menghsilkan peta-peta tematik
- Semua operasi SIG dapat di customize dengan menggunakan
perintah-perintah dalam bahasa script.
- Peragkat lunak SIG menyediakan fasilitas untuk berkomunikasi dengan
perangkat lunak lain
- SIG sangat membantu pekerjaan yang erat kaitannya dengan bidang
2.3
Google Maps API
Google Maps adalah aplikasi berbasis Ajax yang menyediakan
pengalamatan berdasarkan pemetaan global dan mengijinkan pengguna
untuk mencari lokasi dimanapun di dunia berdasarkan alamat, titik potong,
dan kata kunci. Sesudah peta dipanggil, pengguna dapat memperbesar
gambar dan menggeser secara interaktif serta memilih bagian yang
diinginkan tanpa sebuah reload. Gambar peta dipanggil sesuai kursor
merupakan impemetasi dari Ajax. Ajax digunakan pada website yang
berinteraksi dengan server melalui Javascript secara asinkron, yang berarti
mengirim dan menerima data dari user ke server tanpa reload kembali
seluruh halaman dan hanya mengganti bagian web yang ingin di ubah. Hal
ini membuat data yang dikirim lebih ringan sehingga menghemat bandwidth
dan mempercepat koneksi.
Google telah membuat API untuk mengintegrasikan fungsi dari
aplikasi Google Maps ke aplikasi web yang lain, sehingga kita bisa membuat
web dengan layanan peta digital dari Google. Pada sistem yang akan dibuat
ditambahkan library JQuery, khusus untuk menampilkan peta dari Google
Maps.
Langkah-langkah untuk memulai menulis program Google Maps
API adalah sebagai berikut:
1. Untuk Google Maps API 3, pertama kali yang harus dilakukan adalah
menyertakan script google di halaman view utama bagian <head>.
2. Menentukan bagian peta yang ingin ditampilkan dengan memodifikasi
template yang disediakan oleh Google Maps sesuai dengan kebutuhan
aplikasi.
3. Menentukan letak pada Google Maps API. Dalam Google Maps API
dapat menerima input koordinat dalam format derajat lintang dan derajat
Lintang Utara dan Bujur Timur, sedangkan untuk Lintang Selatan dan
Bujur Barat digunakan tanda negatif.
4. Memberi label pada peta dengan menggunakan marker. Marker
mengidentifikasikan titik yang ada di peta, agar dapat diklik dan
menghasilkan informasi, diperlukan java script yang terletak di tempat
yang terpisah. Dalam file java script tersebut dinyatakan apa saja yang
harus dilakukan ketika mouse berada di atas polyline ataupun ketika
mouse mengklik polyline tersebut. Secara default, akan digunakan icon
yang diberikan Google Maps, yang sesungguhnya bisa diganti dengan
icon lain. Suatu marker didesain sebagai icon yang interaktif, pada
setting-an default-nya suatu marker akan menerima “klik” event, dan
bisaanya disertakan juga suatu event listeners yang akan menampilkan
window baru yang bisaanya berisi informasi tambahan mengenai lokasi
marker tersebut.
5. Membuat garis pada peta. Untuk bisa membuat garis maka digunakan
GPolyline. GPolyline menggambarkan garis dengan menggunakan
kemampuan dari tiap-tiap browser dalam melakukan pembuatan vektor,
biasanya pada Internet Explorer digunakan VML (Vector Markup
Language) dalam melakukan penggambaran vektor tersebut, sedangkan
browser lainnya menggunakan SVG (Scalable Vector Graphics).
Manfaat penggunaan Google Maps yaitu :
a. Paper Map, keunggulan dalam pencarian lokasi, dengan menampilkan
virtual map yang dapat bergulir serta tampilan yang dapat diperbesar
sehingga daerah yang dicari dapat terlihat dengan jelas.
b. Mencari lokasi – dapat mencari lokasi dengan kata kunci tertentu
c. Mencari jalur, dengan menentukan daerah awal kemudian menunjuk satu
lokasi lain yang berbeda, dapat ditunjukkan jalur yang dapat dilalui
d. Tampilan Satelit, pada setiap saat dalam pencarian, kita dapat melihat
tampilan dari satelit dan pemandangan dari udara.
2.4
Framework
CodeIgniter (CI)
Framework dapat diartikan sebagai kumpulan perintah atau fungsi
dasar yang dapat membantu menyelesaikan proses-proses yang kompleks.
Sebuah framework umumnya telah menyertakan perintah-perintah siap pakai
yang dibutuhkan dalam membuat suatu aplikasi, namun pihak developer
tetap harus menulis kode sendiri dan harus menyesuaikan dengan lingkungan
framework yang digunakan.
Framework telah muncul dalam beberapa tahun terakhir. Setelah
munculnya framework Struts pada Java, maka muncullah framework pada
PHP yang diciptakan mirip dengan Struts (Struts Clone), namun tidak dapat
berjalan dengan baik di PHP. Karena aplikasi Java berbasis web berjalan di
sebuah virtual machine yang berjalan secara terus-menerus. Sehingga jika
diterapkan di PHP akan sangat lambat.
Beberapa waktu kemudian muncullah sebuah framework PHP
dengan nama Ruby yang berkembang dengan cepat. Hal inilah yang
menginspirasi munculnya frameworkPHP lainnya.
CodeIgniter walnya ditulis Rick Ellis, pendiri dan CEO
EllisLab.com. CodeIgniter adalah aplikasi open source yang berupa
framework dengan model MVC (Model, View, Controller) dimana
programmer yang menangani bagian model dan controller, sedangkan
designer yang menangani bagian view, sehingga penggunaan arsitektur MVC
dapat meningkatkan maintanability dan organisasi kode. Sehingga dapat
membangun website dinamis dengan menggunakan PHP. CodeIgniter
memudahkan developer untuk membuat aplikasi web dengan cepat dan
Kelebihan CodeIgniter (CI) dibandingkan dengan framework PHP
lain :
- Performa sangat cepat : salah satu yang mempengaruhi kecepatan akses
yaitu ukuran source, semakin besar sebuah file source, maka semakin
lama juga prosesnya. CodeIgniter dibangun dengan ukuran yang
termasuk kecil, sehingga tidak membutuhkan resource yang besar, dan
tentunya akan mempercepat akses sebuah aplikasi yang dibangun
dengannya. Terlebih lagi, pada Framework CodeIgniter sistem bisa
diatur agar tidak semua library (khususnya yang tidak digunakan)
di-load saat aplikasi dijalankan. Dan itu tentunya akan membuat
CodeIgniter menjadi semakin ramping dan semakin ringan, sehingga
akan semakin cepat pulalah aplikasi dijalankan.
- Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja
untuk menyesuaikan dengan database dan keleluasaan routing tetap
diizinkan melakukan konfigurasi dengan mengubah beberapa file
konfigurasi seperti database.php atau autoload.php, namun untuk
menggunakan Codeigniter dengan setting standard, anda hanya perlu
merubah sedikit saja file pada folderconfig seperti pada Gambar 2.3.
- Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan
untuk mempelajarinya karena dapat berinteraksi dengan yang lain, baik
itu bertanya atau teknologi terbaru.
- Dokumentasi yang sangat lengkap : Setiap paket instalasi Codeigniter
sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan
permulaan, bahasanya pun mudah dipahami.
- Compatible dengan banyak hosting : tidak seperti kebanyakan framework
lain yang hanya bisa berjalan di PHP 5, Codeigniter bisa berjalan dengan
lancar pada PHP 4. Codeigniter tidak menggunakan PEAR atau tool CLI
lainnya, sehingga memberi keleluasaan meski tidak mempunyai akses ke
shell pada hosting.
- Menggunakan konsep Model View Controler (MVC): sehingga
memungkinkan pemisahan antara layer application-logic dan
presentation. Dengan konsep MVC, memungkinkan sebuah tim
developer bisa bekerja dengan lebih maksimal lagi, khususnya dalam
pembagian tugas. Seorang programmer bisa berkonsentrasi pada core
sistem, sedangkan webdesigner berkonsentrasi pada tampilan web.
Seperti pada Gambar 2.4 arsitektur pola pengembangan MVC dalam
CodeIgniter adalah :
a. model : bagian dimana kita membentuk struktur dari data yang akan
diolah lagi akan ditampilkan langsung, bagian ini berkaitan erat dengan
basis data. Data yang telah dibentuk akan dilempar ke controller yang
kemudian akan ditampilkan di view.
b. view : bagian yang langsung terhubung dengan user, berupa syntax html
dengan isi yang dinamis yang isi halaman-halamannya akan dapat
diubah-ubah dengan pengendaliaan yang ada pada controller.
c. controller : merupakan bagian logic yang menyatukan antar bagian atau
sebagai jembatan untuk model, view dan library atau helper yang ada
pada CodeIgniter. Bagian ini menangani proses logika dari aplikasi yang
akan dibuat, seluruh proses logika akan dideskripsikan dibagian ini
sehingga tercipta kesatuan dari model view dan library atau helper
sehingga tercipta aplikasi yang diharapkan (Novianto,2010).
2.5
Metode Pengujian Sistem
Pengujian sistem adalah elemen dari jaminan kualitas perangkat
lunak dan mempresentasikan kajian pokok dari spesifikasi, desain dan
pengkodean. Metode ujicoba blackbox memfokuskan pada keperluan
fungsional dari software. Karena itu ujicoba blackbox memungkinkan
pengembang software untuk membuat himpunan kondisi input yang akan
melatih seluruh syarat-syarat fungsional suatu program.
Black-Box Testing digunakan untuk menemukan kesalahan dalam
beberapa kategori yaitu: fungsi yang tidak benar atau tidak ada,kesalahan
data, kesalahan performansi (performance errors), kesalahan inisialisasi dan
terminasi.
Sebaiknya untuk pengujian blackbox dilakkukan oleh orang yang
tidak mengetahui struktur dalam dari kode program. Jika pengujian
dilakukan oleh programmer maka programmer memiliki kecenderungan
untuk memberikan inputan sesuai program yang mereka buat atau sesuai
yang diprogramkan, sedangkan yang diperlukan adalah program yang dibuat
agar sesuai dengan kebutuhan pelanggan.
Keuntungan menggunakan blackbox yaitu :
a. Kemudahan dalam penggunaan, dimana penguji tidak perlu berokus pada
bagian dalam dari aplikasi. Lebih mudah dalam membuat uji kasus
karena hanya bekerja melalui aplikasi, sebagaimana seperti user biasa.
b. Pengujian yang cepat, karena penguji hanya berfokus pada bagian
tampilan dan tidak perlu menghabiskan waktu untuk mengidentifikasi
bagian dalam dari apllikasi yang terlibat dalam proses.
c. Kesederhanaan, dimana blackbox menawarkan pengujian yang sederhana untuk aplikasi yang besar dan komplek. Pengujian hanya berfokus pada
inputan yang valid dan tidak valid-nya serta output yang diterima jika
inputan valid atau benar.
Ujicoba blackbox didesain untuk dapat menjawab pertanyaan-
pertanyaan berikut:
a. Bagaimana validitas fungsionalnya diuji?
b. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
c. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
d. Bagaimana batasan-batasan kelas data diisolasi ?
e. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem ?