BAB II TINJAUAN PUSTAKA
II.1.
Sistem Informasi Geografis GIS atau sistem informasi berbasis pemetaan dan geografi adalah sebuah
alat bantu manajemen berupa informasi berbantuan komputer yang terkait dengan sistem pemetaan dan analisis terhadap segala sesuatu, serta peristiwa-peristiwa yang terjadi di muka bumi. Teknologi GIS mengintegrasikan operasi pengolahan data berbasis database yang biasa digunakan, seperti pengambilan data berdasarkan kebutuhan serta analisis statistic dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mampu ditawarkan melalui analisis geografis melalui gambar-gambar tertentu. Konsep GIS telah diperkenalkan di Indonesia sejak pertengahan tahun 1980-an, dan kini telah dimanfaatkan di berbagai bidang baik negeri maupun swasta. Kemampuan dasar dari GIS adalah mengintegrasikan berbagai operasi basis data seperti quIery, menganalisisnya, dan menyimpan serta menampilkannya dalam bentuk pemetaan berdasarkan letak geografisnya. Inilah yang membedakan GIS dengan sistem informasi lain. Komponen GIS terdiri atas hardware, software, data, dan user. Dengan adanya GIS diharapkan tersedia informasi yang cepat, benar dan akurat tantang keadaan di lingkungannya (Qoriani ; 2012 : 2).
12
13
II.1.1. Data Spasial Sebagian besar data yang akan ditangani dalam SIG merupakan data spasial, data yang berorientasi geografis. Data ini memiliki sistem koordinat tertentu sebagai dasar referensinya dan mempunyai dua bagian penting yang berbeda dari data lain, yaitu informasi lokasi (spasial) dan informasi deskriptif (atribut) yang dijelaskan berikut ini : 1. Informasi lokasi (spasial), berkaitan dengan suatu koordinat baik koordinat geografi (lintang dan bujur) dan koordinat XYZ, termasuk diantaranya informasi datum dan proyeksi. 2. Informasi deskriptif (atribut) atau informasi nonspasial, suatu lokasi yang memiliki beberapa keterangan yang berkaitan dengannya. Contoh jenis vegetasi, populasi, luasan, kode pos, dan sebagainya (Ichsan ; 2012 : 51).
II.1.2. Format Data Spasial Secara sederhana format dalam bahasa komputer berarti bentuk dan kode penyimpanan data yang berbeda antara file satu dengan lainnya. Dalam SIG, data spasial dapat direpresentasikan dalam dua format, yaitu: 1. Data vektor Data vektor merupakan bentuk bumi yang direpresentasikan ke dalam kumpulan garis, area (daerah yang dibatasi oleh garis yang berawal dan berakhir pada titik yang sama), titik dan nodes (titik perpotongan antara dua buah garis).
14
2. Data raster Data raster (disebut juga dengan sel grid) adalah data yang dihasilkan dari sistem penginderaan jauh. Pada data raster, obyek geografis direpresentasikan sebagai struktur sel grid yang disebut dengan pixel (picture element) (Ichsan ; 2012 : 51).
II.2.
Metode Great Circle Distance Menurut (Qulub ; 2013 : 14) Jarak dari suatu kota ke Mekah dapat
dihitung menggunakan jarak lingkaran besar (great circle), karena dalam trigonometri bola jalur yang dilewati adalah lingkaran besar. Jarak lingkaran besar (great circle distance) adalah jarak terdekat antara dua titik pada sebuah bola. Jarak ini disebut dengan jarak geodesic, yaitu jarak terpendek / terdekat antara dua titik pada suatu spheroid. Jarak bagian yang normal dibentuk oleh sebuah bidang pada suatu spheroid yang terdiri dari sebuah titik di salah satu ujung garis dan titik normal di ujung yang lain. Hal ini bertepatan / serupa dengan keliling sebuah lingkaran yang melalui dua titik dan pusat bola. Berikut ini rumus menghitung jarak dua titik di atas permukaan Bumi dengan asumsi bumi berbentuk bulat bola : 1. Perhitungan Jarak dengan Menggunakan Panjang Mil Laut D = 1.852 x 60 x Arcos ( Sin ɸK . Sin ɸX + Cos ɸK . Cos ɸX . Cos SBMD) Keterangan: ɸK = lintang Ka‟bah ɸX = lintang tempat yang diukur jaraknya
15
SBMD = Selisih Bujur didapatkan dari Bujur Tempat dikurangi Bujur Ka‟bah D = jarak yang dihitung (km) Catatan: Dalam perhitungan ini, jarak 1 menit busur adalah sebesar 1 mil laut, sedangkan 1 mil laut adalah 1,852 km.
2. Perhitungan Jarak dengan dengan Asumsi Bumi Ellipsoid Ada rumus menghitung jarak dengan teori vincenty yang rumit, namun tingkat ketelitiannya sangat tinggi hingga orde milimeter. Rumus ini melanjutkan rumus penentuan azimuth kiblat Vincenty. Rumus tersebut adalah sebagai berikut : (Vincenty, 1975: 5): s = b.A.(σ−Δσ) Keterangan: s = jarak, b = 6 356 752,3142 m, A = A Vincenty, σ = Sigma, Δσ = Delta Sigma
II.3.
Quantum GIS Quantum GIS (QGIS) adalah cross-platform perangkat lunak bebas (open
source) desktop pada sistem informasi geografis (SIG). Aplikasi ini dapat menyediakan data, melihat, mengedit, dan kemampuan analisis. Quantum GIS berjalan pada sistem operasi yang berbeda termasuk Mac OS X , Linux , UNIX ,
16
dan Microsoft Windows . Dalam perizinan, QGIS sebagai perangkat lunak bebas aplikasi di bawah GPL (General Public License), dapat secara bebas dimodifikasi untuk melakukan tugas yang berbeda atau lebih khusus. Quantum GIS memungkinkan penggunaan shapefiles, pertanggungan, dan Geodatabases pribadi. MapInfo , PostGIS , dan beberapa format lain yang didukung di Quantum GIS (Suseno ; 2012 ; 15).
II.4.
Pengertian PHP PHP adalah kode atau skrip yang akan dieksekusi pada server side. Skrip
PHP akan membuat suatu aplikasi daat diintegrasikan ke dalam HTML, sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server-side berarti pengerjaan skrip dilakukan di server baru kemudian hasilnya dikirimkan ke browser (Sutaji : 2012 ; 2).
II.5.
Pengertian Database Secara sederhana database (basis data/pangkalan data) dapat diungkapkan
sebagai
suatu
pengorganisasian
data
dengan
bantuan
komputer
yang
memungkinkan data dapat diakses dengan mudah dan cepat. Pengertian akses dapat mencakup pemerolehan data maupun pemanipulasian data seperti menambah serta menghapus data. Dengan memanfaatkan komputer, data dapat disimpan dalam media pengingat yang disebut harddisk. Dengan menggunakan media ini, keperluan kertas untuk menyimpan data dapat dikurangi. Selain itu,
17
data menjadi lebih cepat untuk diakses terutama jika dikemas dalam bentuk database. (Mujilan ; 2012 : 23).
II.6.
Pengertian MySQL MySQL adalah suatu sistem manajemen basis data relasional (RDBMS-
Relational Database Management System) yang mampu bekerja dengan cepat, kokoh, dan mudah digunakan. Contoh RDBMS lain adalah Oracle, Sybase. Basis data memungkinkan anda untuk menyimpan, menelusuri, menurutkan dan mengambil data secara efesien. Server MySQL yang akan membantu melakukan fungsionaliitas tersebut. Bahasa yang digunakan oleh MySQL tentu saja adalah SQL-standar bahasa basis data relasional di seluruh dunia saat ini. MySQL dikembangkan, dipasarkan dan disokong oleh sebuah perusahaan Swedia bernama MySQL AB. RDBMS ini berada di bawah bendera GNU GPL sehingga termasuk produk Open Source dan sekaligus memiliki lisensi komersial. Apabila menggunakan MySQL sebagai basis data dalam suatu situs Web. Anda tidak perlu membayar, akan tetapi jika ingin membuat produk RDBMS baru dengan basis MySQL dan kemudian mengualnua, anda wajib bertemu mudah dengan lisensi komersial (Pratama ; 2010 : 10).
18
Gambar II.1. Tampilan MySQL (Sumber : Pratama ; 2010 : 10)
II.7.
Teknik Normalisasi Normalisasi adalah teknik perancangan yang banyak digunakan sebagai
pemandu dalam merancang basis data relasional. Pada dasarnya, normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi dari tabel rasional. Teori normalisasi didasarkan pada konsep bentuk normal. Sebuah tabel relasional dikatakan berada pada bentuk normal tertentu jika tabel memenuhi himpunan batasan tertentu. Ada lima bentuk normal yang tekah ditemukan
19
II.7.1. Bentuk-bentuk Normalisasi 1. Bentuk tidak normal Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja tidak lengkap dan terduplikasi. Data dikumpulkan apa adanya sesuai keadaanya. 2. Bentuk normal tahap pertama (1” Normal Form) Definisi : Sebuah table disebut 1NF jika : - Tidak ada baris yang duplikat dalam tabel tersebut. - Masing-masing cell bernilai tunggal Catatan: Permintaan yang menyatakan tidak ada baris yang duplikat dalam sebuah tabel berarti tabel tersebut memiliki sebuah kunci, meskipun kunci tersebut dibuat dari kombinasi lebih dari satu kolom atau bahkan kunci tersebut merupakan kombinasi dari semua kolom. 3. Bentuk normal tahap kedua (2nd normal form) Bentuk normal kedua (2NF) terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. 4. Bentuk normal tahap ketiga (3rd normal form) Sebuah tabel dikatakan memenuhi bentuk normal ketiga (3NF), jika untuk setiap ketergantungan fungsional dengan notasi X -> A, dimana A mewakili semua atribut tunggal di dalam tabel yang tidak ada di dalam X, maka :
20
-
X haruslah superkey pada tabel tersebut.
-
Atau A merupakan bagian dari primary key pada tabel tersebut.
5. Bentuk Normal Tahap Keempat dan Kelima Penerapan aturan normalisasi sampai bentuk normal ketiga sudah memadai untuk menghasilkan tabel berkualitas baik. Namun demikian, terdapat pula bentuk normal keempat (4NF) dan kelima (5NF). Bentuk Normal keempat berkaitan dengan sifat ketergantungan banyak nilai (multivalued
dependency)
pada
suatu
tabel
yang
merupakan
pengembangan dari ketergantungan fungsional. Adapun bentuk normal tahap kelima merupakan nama lain dari Project Join Normal Form (PJNF). 6. Boyce Code Normal Form (BCNF) -
Memenuhi 1st NF
-
Relasi harus bergantung fungsi pada atribut superkey (Simarmata ; 2010 : 76).
II.8.
UML (Unified Modeling Language) Menurut Dharwiyanti (2013) Unified Modelling Language (UML) adalah
sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
21
1. Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu
bila
kita
sedang
menyusun
requirement
sebuah
sistem,
mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
22
Gambar II.2. Usecase Diagram (Sumber : Dharwiyanti ; 2013 : 5)
2. Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
23
Gambar II.3. Class Diagram (Sumber : Dharwiyanti ; 2013 : 6)
3. Statechart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
24
Gambar II.4. Statechart Diagram (Sumber : Dharwiyanti ; 2013 : 7)
4. Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan
25
bagaimana aktor menggunakan sistem untuk melakukan aktivitas
Gambar II.5. Activity Diagram (Sumber : Dharwiyanti ; 2013 : 8)
5. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output
26
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Gambar II.6. Sequence Diagram (Sumber : Dharwiyanti ; 2013 : 9)
6. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan
27
bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
Gambar II.7. Collaboration Diagram (Sumber : Dharwiyanti ; 2013 : 9)
28
7. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
Gambar II.8. Component Diagram (Sumber : Dharwiyanti ; 2013 : 10)
29
8. Deployment Diagram Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk mendeploy komponen dalam lingkungan sebenarnya.
Gambar II.9. Deployment Diagram (Sumber : Dharwiyanti ; 2013 : 11)