Anda di halaman 1dari 18

BAB II

TINJAUAN PUSTAKA

2.1 Penelitian Terkait

Banyak penelitian yang sebelumnya dilakukan mengenai implementasi


penggunaan algoritma Djikstra,dan beberapa penelitian sebelumnya yang
terkait/literature riview tersebut adalah sebagai berikut :

1. Penelitian ini dilakukan oleh Luh Joni Erawati Dewi, Universitas


Pendidikan Ganesha pada tahun 2010 yang berjudul
RuteTerpendek Tempat Wisata di Bali dengan Menggunakan Algoritma
Dalam mengembangkan sistem informasi ini, penulis melakukan
langkah-langkah yaitu melakukan analisis kebutuhan, membuat desain dan
rancangan sistem, melakukan coding, kemudian implementasi dan uji
coba. Analisis kebutuhan dalam sistem informasi geografis ini dilakukan
dengan pengumpulan data dengan menggunakan metode kepustakaan
yaitu dilakukan dengan cara membaca buku buku yang berhubungan
dengan system informasi geografis dan tempat-tempat wisata di Bali. Hasil
akhir yang ditampilkan sistem adalah informasi rute jalan yang harus
dilalui, jarak yang ditempuh, dan peta Pariwisata Bali dengan berbasis
vektor.[2]
2. Penelitian ini dilakukan oleh Fitria, Apri Triansyah pada tahun 2013 yang
Implementasi Algoritma Dijkstra Dalam Aplikasi Untuk
Menentukan Lintasan Terpendek Jalan Darat Antar Kota Di Sumatera
Bagian Selatan membuat
perangkat lunak-nya. Algoritma dijkstra pada pembuatan perangkat lunak
ini digunakan untuk mencari rute terpendek secara optimal.Program ini
menawarkan beberapa kemudahan dalam menyusun peta secara dinamik
sehingga apabila terdapat perubahan kondisi pada peta, program dapat
menyesuaikan dengan kondisi baru.[3]
3. Penelitian ini dilakukan oleh Uki Widyarama, dari Universitas Dian
Nuswantoro Semarang pda tahun 2015 yang berjudul
GIS untuk Mencari Lokasi Tambal Ban di Kota Semarang Berbasis
penulis membuat aplikasi yang
berisikan tentang informasi titik titik lokasi tambal ban pada peta dengan
rute dan navigasi antara lokasi pengguna atau user dengan titik lokasi
tambal ban yang di tuju user. Dengan aplikasi ini dapat mempermudah
pengguna atau user mengetahui letak atau titik lokasi tambal ban yang
sudah terdaftar pada peta disaat pengguna mengalami pecah ban di daerah
jalan utama menuju kota semarang.[4]

2.1.1 State Of The Art


Tabel 2.1 Stete Of The Art
No Nama Tahun Judul Metode Hasil
1. Luh Joni 2010 Pencarian Algoritma Hasil akhir yang
Erawati Dewi RuteTerpendek Dijkstra ditampilkan sistem
Tempat Wisata adalah informasi
di Bali dengan rute jalan yang
Menggunakan harus dilalui, jarak
Algoritma yang ditempuh,
Djikstra dan peta Pariwisata
Bali dengan
berbasis vektor.

2 Fitria, Apri 2013 Implementasi Algoritma Program ini


Triansyah Algoritma Djikstra menawarkan
Dijkstra Dalam beberapa
Aplikasi Untuk kemudahan dalam
Menentukan menyusun peta
Lintasan secara dinamik
Terpendek Jalan sehingga apabila
Darat Antar terdapat perubahan
Kota Di kondisi pada peta,
Sumatera Bagian program dapat
Selatan menyesuaikan
dengan kondisi
baru.

3 Uki 2015 Apikasi GPS Algoritma Hasil nya adalah


Widyarama dan GIS untuk Dijstra sebuah aplikasi
Mencari Lokasi mempermudah
Tambal Ban di pengguna atau user
Kota Semarang mengetahui letak
Berbasis atau titik lokasi
Android dengan tambal ban yang
Algoritma sudah terdaftar
Dikstra pada peta disaat
pengguna
mengalami pecah
ban di daerah jalan
utama menuju kota
semarang.

2.2 Tinjauan Pustaka

2.2.1 Pengertian Aplikasi

Menurut Whitten Perancangan system adalah


keperluan pengguna dirubah kedalam bentuk paket perangkat lunak
danatau kedalam spesifikasi pada komputer yang berdasarkan pada system
pemrograman yang saling terintergrasi antara satu sama lain dan memiliki
fungsi serta tujuan yang menghasilkan informasi.

2.2.2 Definisi Algoritma Dijkstra

Algoritma Dijkstra ditemukan oleh Edsger W. Dijkstra yang


merupakan salah satu varian bentuk algoritma popular dalam pemecahan
persoalan yang terkait optimasi dan bersifat sederhana. Algoritma ini
menyelesaikan masalah mencari sebuah lintasan terpendek (sebuah
lintasan yang mempunyai panjang minimum) dari verteks a ke verteks z
dalam graph berbobot, bobot tersebut adalah bilangan positif jadi tidak
dapat dilalui oleh node negatif .

Algoritma Djikstra membutuhkan parameter tempat asal, dan


tempat tujuan. Hasil akhir dari algoritma ini adalah jarak terpendek dari
tempat asal ketempat tujuan beserta rutenya.

2.2.3 GIS (Geographic Information Sistem)

Inti dari pengertian GIS (Geographic Information Sistem) adalah


sebuah sistem untuk pengelolaan , penyimpanan, pemrosesan, analisis dan
penayangan (display) data yang terkait dengan permukaan bumi [5]
Para praktisi juga memasukkan orang yang membangun dan
mengoperasikannya dan data sebagai bagian dari sistem ini. Berikut ini
adalah pengertian GIS menurut :
1. Menurut Aronaff (1989)
GIS adalah system informasi yang didasarkan pada kerja komputer
yang memasukkan, mengelola, memanipulasi, dan menganalisa
data serta memberi uraian.
2. Menurut Kang-Tsung Chang(2002)
GIS sebagai a computer system for capturing, storing, querying,
analyzing, and displaying geographic data.
3. Menurut Murai (1999)
GIS sebagai sistem informasi yang digunakan untuk memasukan,
menyimpan, memanggil kembali, mengolah, menganalisis dan
menghasilkan data bereferensi geografis atau data geospatial, untuk
mendukung pengambilan keputusan dalam perencanaan dan
pengelolaan penggunaan lahan, sumber daya alam, lingkungan,
transportasi, fasilitas kota, dan pelayanan umum lainnya.

2.2.4 Pemrograman Mobile


Menurut (Farah Zakiyah. 2015). Pemrograman Mobile adalah
pembuatan aplikasi yang berjalan pada perangkat bergerak seperti
Handphone / Tablet. Aplikasi Mobile dikembangkan untuk platform
tertentu. Platform yang populer saat ini adalah iOS dan Android. Contoh
platform lain adalah Windows Phone.
1. Platform iOS
Platform iOS untuk iPhone dan iPad. Pemrograman yang
digunakan Objective-C dan Cocoa framework digunakan untuk
membuat aplikasi pada iPhone/ipad. Integrated Development
environment (IDE) yang digunakan adalah Xcode.
2. Platform Android.
Pemrograman yang digunakan Java dan Android Software
Development Kit (SDK). Integrated Development environment
(IDE) yang bisa digunakan adalah Eclipse, Android Studio.

2.2.5 Android

"Android adalah Sistem Operasi berbasis Linux yang dirancang


untuk perangkat mobile selular layar sentuh seperti telepon pintar dan
komputer tablet"[6]."
Android awalnya dikembangkan oleh Android Inc. dengan
dukungan finansial dari Google, yang kemudian membelinya pada tahun
2005. Sistem operasi ini dirilis secara resmi pada tahun 2007[7].
Android bukanlah robot berbasis artificial intelligence melainkan
sistem operasi untuk perangkat bergerak yang dewasa ini sangat terkenal.
Logonya memang menyerupai robot, awalnya Android di kembangkan
oleh perusahaan kecil di Silicon Valley yang bernama Android Inc.
Selanjutnya Google mengambil alih sistem operasi tersebut pada tahun
Open
Source. annya
dengan gratis, termasuk dalam hal kode sumber yang digunakan untuk
menyusun sistem operasi tersebut[8].

2.2.6 Google Maps


Android menyediakan layanan Google maps dengan beberapa
aplikasi yang berfungsi untuk menunjukkan lokasi suatu objek, atau
menampilkan rute yang berbeda pada peta Google. Google menyediakan
semua fasilitas itu menggunakan library Google play services yang dapat
di unduh secara eksternal dari SDK android manager. Google map API
adalah kunci yang diperlukan untuk mengintegrasikan dengan aplikasi
yang berhubungan dengan penentuan lokasi. Google maps dapat
diintegrasikan dengan melakukan langkah-langkah berikut [9]:
1. Menginstal dan mengkonfigurasikan dengan library Google play
services dari android SDK manager.
2. Menambahkan Google play services ke library aplikasi yang akan di
kembangkan.
3. Membuat atau mengambil sertifikat yaitu SHA1 dari keystore yang
digunakan untuk sign aplikasi yang di kembangkan.
4. Membuat sebuah projek pada Google APIs console
5. Mendapatkan API key dari Google
6. Menambahkan kunci API yang dihasilkan tadi kedalam aplikasi yang
dukembangkan.
Untuk menghandle maps pada LBS , android menyediakan sejumlah objek
seperti MapView yang akan menampilkan peta, MapFragment yang
menyediakan life cycle manajemen dan layanan Google maps.

2.2.7 UML (Unified Modeling System)


"UML (Unified Modeling System) merupakan bahasa
menspesifikasi, memvisualisasi, membangun dan mendokumentasikan
artifact (bagian dari informasi yang digunakan atau dihasilkan oleh proses
pembuatan perangkat lunak, artifact tersebut dapat berupa model, deskripsi
atau perangkat lunak) dari sistem perangkat lunak, seperti pada pemodelan
bisnis dan sistem non perangkat lunak lainnya."Selain itu UML adalah
bahasa pemodelan yang menggunakan konsep orientasi objek. UML
dibuat oleh Grady Booch, James Rumbaugh, dan Ivar Jacobson dibawah
bendera Rational Software Crop. UML menyediakan notasi-notasi yang
membantu memodelkan sistem dari berbagai prespektif. UML tidak hanya
digunakan dalam pemodelan perangkat lunak, namun hampir dalam semua
bidang yang membutuhkan pemodelan [10].

2.2.7.1 Notasi Dalam UML

Adapun Notasi yang digunakan dalam pembuatan sebuah UML


terdapat dalam tabel 2.2 dibawah ini [10] :
Tabel 2.2 Notasi UML
N NAMA GAMBAR FUNGSI
O

1. Actor Menggambarkan peran


dari pengguna sistem

2. Use Case Menunjukkan


sekumpulan aktor dan
use case dan hubungan
diantara keduanya.

3. Class Mengilustrasikan
sekumpulan kelas ,
paket dan hubungan
yang merinci satu
aspek tertentu dari
sistem.

4. Interface Kumpulan operasi yang


menspesifikasikan
layanan dari kelas

5. Interaction Menunjukkan pesan


atau informasi suatu
objek maupun
hubungan antar objek
yang lain

6. Note Memberikan suatu


keterangan atau
komentar tambahan
dari sebuah elemen
sehingga dapat
langsung terlampir
dalam model.

7. Dependency Dependency
merupakan relasi yang
menunjukkan bahwa
sebuah perubahan pada
salah satu elemen
memberikan pengaruh
terhadap elemen-
elemen lainnya.

8. Asociation Menggambarkan
navigasi antar kelas

9. Generalization Hubungan antar elemen


yang lebih umum ke
yang lebih spesifik.

10. Realization Hubungan bahwa


elemen yang ada di
bagian tanpa panah
akan merealisasikan
apa yang dinyatakan
oleh elemen yang ada
di bagian dengan
panah.

11. Boundary Kelas yang


Class memodelkan interaksi
antara satu atau lebih
aktor dengan sistem.

12. Control Class Kelas yang mengontrol


aktivitas dalam sistem

13. Entity Class Kelas yang menyimpan


dan mengolah data.
2.2.7.2 Use Case
Diagram ini memperlihatkan himpunan Use Case dan
Aktor-aktor (jenis khusus dari kelas). Diagram ini penting untuk
mengorganisasikan dan memodelkan perilaku dari suatu sistem
yang dibutuhkan serta diharapkan pengguna [10].
2.2.7.3 Sequential Diagram
Sequence Diagram merupakann suatu diagram interaksi
yang menekankan pengiriman pesan dalam suatu waktu [10].

2.2.7.4 Activity Diagram


Activity Diagram adalah tipe khusus dari diagram state
yang memperlihatan aliran dari suatu aktivitas lainnya dalam suatu
sistem. Diagram ini terutama penting dalam pemodelan fungsi-
fungsi dalam suatu sistem dan memberikan tekanan pada aliran
kendali antar objek [10].

2.2.7.5 Class Diagram


Class diagram merupakan himpunan kelas-kelas,
antarmuka, kolaborasi-kolaborasi, dan relasi-relasi. Diagram ini
umumnya di temui pada pemodelan sistem berorientasi objek.
Meski sifatnya statis, diagram ini sering pula memuat kelas-kelas
aktif [10].

2.2.7.6 Pengujian Black Box


Black Box atau behavioral testing atau specification-based
testing, input/output testing atau Functional testing dilakukan tanpa
mendetail struktural internal dari sebuah sistem atau komponen
sistem yang sedang di testing. Black Box Testing berfokus pada
kebutuhan fungsional pada sebuah software, berdasarkan
spesifikasi kebutuhan dari software. Menggunakan Black box
testing testing, pembuat software dapat menggunakan sekumpulan
kondisi masukan yang dapat secara penuh memeriksa keseluruhan
kebutuhan fungsional pada suatu program [10].
Kategori error dapat diketahui melalui black box testing, antara
lain :
1. Fungsi yang hiang atau tidak benar.
2. Error dari antarmuka
3. Error dari struktur data atau akses eksternal database.
4. Error dari kinerja atau tingkah laku program.
5. Error dari instalasi dan terminasi.

2.2.8 Metode Pengembangan Sistem


Pada kasus ini Metode pengembangan sistem yang dipilih adalah
waterfall model.
Menurut (Ramadhan Rakhmat Sani. 2014) Waterfall model adalah
Sebuah pendekatan pengembangan perangkat lunak yang sistematik dan
sekuensial yang d Waterfall model adalah
Paradigma yang sudah lama sekali, tetapi masih banyak yang memakai
karena dianggap masih sesuai dengan keadaan sekarang. Gambar 2.2
merupakan tahapan dari waterfall model
Gambar 2.1 Tahapan Waterfall Model

Berikut ini adalah penjelasan tahap tahap model waterfall


menurut (Pressman. 2010):
1. Analisa kebutuhan
Mengumpulkan kebutuhan secara lengkap kemudian dianalisi
dan didefinisikan kebutuhan yang harus dipenuhi oleh software
yang akan dibangun. Hal ini sangat penting, mengingat
software harus dapat berinteraksi dengan elemen elemen
yang lain seperti hardware, database, dsb. Tahap ini sering
disebut dengan Project Definition.
2. Desain system
Proses pencarian kebutuhan diintensifkan dan difokuskan pada
software. Untuk mengetahui sifat dari program yang akan
dibuat, maka para software engineer harus mengerti tentang
domain informasi dari software, misalnya fungsi yang
dibutuhkan, user interface,dsb. Dari dua aktivitas tersebut
(pencrian kebutuhan system dan software ) harus
didokumentasikan dan ditunjukkan kepada user.
3. Penulisan kode program
Desain program diterjemahkan ke dalam kode kode dengan
menggunakan bahasa pemrograman yang sudah ditentukan.
4. Pengujian program
Semua fungsi fungsi software harus diujicobakan, agar
software bebas eror, dan hasilnya harus sesuai dengan
kebutuhan yang sudah diidentifikasikan sebelumnya
5. Penerapan program dan pemeliharaan
Pemeliharaan suatu software diperlukan, termasuk di dalamnya
adalah pengembangan, karena software yang dibuat tidak
selamanya hanya seperti itu.

2.2.9 Ionic Framework


Ionic Framework adalah kerangka pembangunan aplikasi mobile
HTML5 yang ditargetkan untuk membangun aplikasi mobile hybrid.
Aplikasi hybrid pada dasarnya adalah website yang berjalan dalam
browser sebuah aplikasi yang memiliki akses ke lapisan platform native.
Aplikasi hybrid memiliki banyak manfaat lebih dari aplikasi asli murni,
khususnya dalam hal mendukung platform, kecepatan dalam hal
pembuatannya, dan akses ke kode pihak ke-3. Ionic adalah kerangka
front-end user interface yang menangani semua tampilan dan nuansa
serta interaksi user interface agar aplikasi menarik. Seperti jenis

umum native mobil, animasi dan desain yang bagus. Tidak seperti
kerangka responsif. Ionic dilengkapi dengan elemen user interface ponsel
yang sangat bergaya native dan layout yang dapat diperoleh dengan SDK
native pada iOS atau Android, namun user interface ditampilkan dalam
bentuk sebuah web. Ionic menggunakan Cordova untuk dapat bekerja
sebagai native app. Ionic Framework performa lebih baik pada perangkat
mobile. Ionic Framework menunakan AngularJS dalam rangka
menciptakan framework yang paling cocok untuk pengembangan
aplikasi mobile[11]

2.2.10 PHP ( PHP Hypertext Preprocessor )


PHP merupa server side
Bahasa pemrograman PHP banyak dipakai untuk pemrograman
web yang dinamis, dan juga bisa dipakai untuk keperluan lainnya
seperti pengembangan aplikasi berbasis android yang berbasis (
membutuhkan ) server side [12].
Kelebihan bahasa pemrograman PHP dari bahasa pemrograman
lain adalah [12]:
- PHP adalah bahasa pemrograman yang tidak melakukan sebuah
kompilasi dalam penggunaannya.
- Di sisi pengembangan, baasa pemrograman PHP lebih mudah
dikembangkan karena banyak referensi yang mudah didapat
dari developer lainnya.
- Bahasa pemrograman PHP bersifat open source yang dapat
digunakan di berbagai sistem operasi seperti Windows,
Macintosh, Linux, Unix dan saat ini juga bisa digunakan untuk
pengembangan aplikasi pada sistem operasi Android.
- Disisi pemahaman script, PHP adalah salah satu bahasa
pemrograman yang paling mudah untuk dipahami, karena
terdapat banyak referensi baik dari buku maupun dari website.
- Web server yang mendukung bahasa pemrograman android
dapat didapatkan dengan mudah, seperti apache, IIS, Lighttpd,
hingga Xitami yang konfigurasinya relatif mudah.
2.2.11 JavaScript
JavaScript adalah bahasa yang luas dan fleksibel untuk
mengembangkan aplikasi cross-platfrom , JavaScript memiliki
keterbatasan tertentu ketika mengimplementasikan pengolahan kompleks
dan background Processing, kadang-kadang perlu untuk menggunakan
kode native untuk melakukan pekerjaan.

2.2.12 Kabupaten Pemalang


Kabupaten Pemalang merupakan salah satu kabupaten di Provinsi
Jawa Tengah yang terletak di pantai utara Pulau Jawa. Secara astronomis
Kabupaten Pemalang terletak antara 1090 1090
80 70
Dari Semarang (Ibu Kota Provinsi Jawa Tengah), Kabupaten ini
berjarak kira- kira 135 Km ke arah barat, atau jika ditempuh dengan
kendaraan darat memakan waktu lebih kurang 2-3 jam. Kabupaten
Pemalang memiliki luas wilayah sebesar 1.115,30 km2. Wilayah ini di
sebelah Utara berbatasan dengan Laut Jawa, di sebelah Selatan
berbatasan dengan Kabupaten Purbalingga dan di sebelah Timur
berbatasan dengan Kabupaten Pekalongan dan di sebelah Barat berbatasan
dengan Kabupaten Tegal. Dengan demikian Kabupaten Pemalang
memiliki posisi yang strategis, baik dari sisi perdagangan maupun
pemerintahan.

Kabupaten Pemalang memiliki topografi bervariasi. Bagian Utara


merupakan daerah pantai dengan ketinggian berkisar antara 1-5 meter di
atas permukaan laut. Bagian tengah merupakan dataran rendah yang
subur dengan ketinggian 6-15 m di atas permukaan laut dan bagian
Selatan merupakan dataran tinggi dan pengunungan yang subur serta
berhawa sejuk dengan ketinggian 16-925 m di atas permukaan laut.
Wilayah Kabupaten Pemalang ini dilintasi dua buah sungai besar yaitu
Sungai Waluh dan Sungai Comal yang menjadikan sebagian besar
wilayahnya merupakan daerah aliran sungai yang subur.

Secara administratif Kabupaten Pemalang terdiri atas 14


kecamatan, yang dibagi lagi atas sejumlah desa dan kelurahan. Pusat
pemerintahan berada di Kecamatan Pemalang, kecamatan-kecamatan
tersebut adalah Pemalang, Taman, Petarukan,Bantarbolang,
Randudongkal, Moga, Warungpring, Belik, Pulosari, Watukumpul,
Ampelgading, Bodeh, Comal, dan Ulujami.[1]
2.3 Kerangka Pikir

MASALAH

1. Minimnya informasi tentang objek wisata di Kabupaten


Pemalang serta banyak nya wisatawan yang ingin berwisata
tetapi tidak memiliki kendaraan pribadi.

TUJUAN

1. Terciptanya aplikasi yang dapat memberikan informs tentang


objek wisata apa saja yang ada diKabupaten Pemalang serta
terciptanya peta rekomendasi rute angkot terdekat yang
menuju ke salah satu objek wisata di kabupaten pemalang

PENGEMBANGAN SISTEM

1. Menggunakan metode waterfall

MANFAAT

Memberikan kemudahan wisatwan yang ingin berwisata di


Kabupaten Pemalang terutama bagi wisatwan yang tidak memiliki
kendaraan pribadi

HASIL

Menghasilkan aplikasi yang berisi informasi tentang objek wisata


yang ada di kabupaten pemalang serta peta rekomendasi rute angkot
yang menuju ke salah satu objek wisata

Gambar 2.2 Keranga Pikir

Anda mungkin juga menyukai

  • BAB3
    BAB3
    Dokumen8 halaman
    BAB3
    Leonardo adi wahyudi
    Belum ada peringkat
  • BAB5
    BAB5
    Dokumen10 halaman
    BAB5
    Leonardo adi wahyudi
    Belum ada peringkat
  • BAB4
    BAB4
    Dokumen15 halaman
    BAB4
    Leonardo adi wahyudi
    Belum ada peringkat
  • BAB1
    BAB1
    Dokumen3 halaman
    BAB1
    Leonardo adi wahyudi
    Belum ada peringkat
  • Template DPPL OO
    Template DPPL OO
    Dokumen19 halaman
    Template DPPL OO
    Leonardo adi wahyudi
    Belum ada peringkat