BAB I PENDAHULUAN
1.1
Latar Belakang Masalah Saat ini perkembangan perangkat telepon telah sampai pada era
smartphone. Telepon pada zaman dulu hanya berfungsi sebagai alat komunikasi suara atau pesan saja. Seiring perkembangan zaman, perangkat telepon saat ini telah berkembang menjadi smartphone. Salah satu sistem operasi pada smartphone yang sedang berkembang saat ini adalah android. Android merupakan platform perangkat lunak untuk peranti bergerak (mobile device) yang didukung oleh Google. Android menggunakan versi modifikasi dari kernel Linux yang mampu didistribusikan secara terbuka (open source). Hal ini memungkinkan bagi para pengembang untuk mengatur, memodifikasi, dan membuat aplikasi sendiri. Dalam pengembangan aplikasi, tersedia Android Software Development Kit (SDK) sebagai alat bantu dan API dengan menggunakan bahasa pemrograman Java yang diperlukan pada platform android. Hingga saat ini, Android telah memiliki beberapa versi diantaranya, Android versi 1.1, versi 1.5 (Cupcake), versi 1.6 (Donut), versi 2.0/2.1 (Eclair), versi 2.2 (Froyo: Frozen Yoghurt), versi 2.3 (Gingerbread), versi 3.0/3.1 (Honeycomb), versi 4.0 (Ice Cream), versi 4.1/4.2/4.3 (Jelly Bean), versi 4.4 (Kitkat) dan versi 5.0 (Lollipop)[1]. Dengan adanya SDK tersebut akan memudahkan pengembang aplikasi sehingga bisa melakukan segalanya, mulai dari membuat aplikasi sms, hingga membuat sebuah aplikasi enterprise. Melihat keunggulan tersebut, tentu saja akan menarik minat para pengembang aplikasi untuk membuat aplikasi yang mampu memenuhi kebutuhan pengguna perangkat mobile. Salah satu fasilitas yang sudah dimiliki pada sebagian besar smartphone android yaitu global positioning system (GPS). Dengan GPS, kita dapat mengetahui posisi kita pada saat itu juga. Salah satu aplikasi dengan memanfaatkan GPS yang dapat menampilkan informasi geografis, seperti data yang diidentifikasi menurut lokasinya yaitu aplikasi pemetaan wilayah. Aplikasi pemetaan pada perangkat mobile memudahkan
1
2
pengguna untuk melakukan perencanaan pembangunan, perencanaan rute secara mobile dan lainnya. Dalam keadaan genting seperti kecelakaan kendaraan bermotor, kebakaran atau terjadi tindak kriminal dalam kehidupan sehari-hari, perlu adanya tindakan yang cepat dan tanggap terhadap permasalahan yang terjadi secara cepat. Dalam kejadian yang terjadi secara tiba-tiba, kita dituntut untuk melakukan tindakan secara cepat dan tepat. Tidak sedikit kasus yang terjadi di kehidupan sehari-hari yang sebenarnya bisa kita tanggulangi apabila dilakukan tindakan yang cepat. Dalam kejadian seperti ini, diperlukan informasi tentang tempat penting seperti rumah sakit, pemadam kebakaran atau kantor polisi yang mudah diakses agar kemungkinan korban dapat tertolong lebih besar. Selain itu apabila orang yang berada pada posisi tersebut merupakan pendatang dari kota lain, maka itu akan menjadi suatu masalah yang lebih rumit. Oleh karena itu, dibutuhkan sebuah aplikasi pada perangkat smartphone yang dapat menunjukan jalan terbaik menuju tempat-tempat penting di kota Bandung. Apliasi tersebut harus bisa menampilkan data tempat-tempat penting seperti rumah sakit, kantor polisi dan pemadam kebakaran dengan tepat, cepat dan mudah digunakan. Aplikasi ini akan diberi nama “emergency situation”. Dalam menemukan lokasi terdekat pada jarak tertentu diperlukan sebuah metode pencarian yang baik. Salah satu algoritma path finding yaitu Algoritma A*. Algoritma A* (A Star) adalah algoritma path finding pengembangan dari algoritma Best First Search (BFS). Seperti halnya pada BFS, untuk menemukan solusi, A* juga dituntun oleh fungsi heuristic. Pada pencarian rute kasus sederhana, dimana tidak terdapat halangan pada peta, A* bekerja secepat dan seefisien BFS. Pada kasus peta dengan halangan, algoritma ini dapat menemukan solusi rute tanpa terjebak oleh halangan yang ada. Dalam penelitian yang telah dilakukan saat ini, sudah ada beberapa pemanfaatan peta pada aplikasi android. Untuk metodenya sendiri, terdapat penelitian yang cukup bagus dengan judul “aplikasi pencari rute optimum pada peta guna meningkatkan efisiensi waktu tempuh pengguna jalan dengan metode A* dan best first search”. Pada penelitian tersebut dilakukan proses pembangunan aplikasi pencarian rute yang dijalankan pada desktop. Selain itu, pada penelitian
3
tersebut juga terdapat proses perbandingan antara algoritma A* dan BFS. Hasilnya, untuk aplikasi pencarian rute optimum pada peta, metode A* lebih baik daripada BFS karena dari segi jarak hasil rute yang ditemukan dan total path cost/biaya tempuh rute, metode A* memberikan hasil yang lebih baik daripada BFS, sedangkan metode BFS memberikan hasil rute yang lebih panjang dan path cost yang lebih besar. Berdasarkan latar belakang yang telah diuraikan tersebut, maka judul yang dapat diambil sebagai skripsi ini adalah “Pemanfaatan Algoritma A* Dalam Pembangunan Aplikasi Emergency Situation Berbasis Android”. 1.2
Rumusan Masalah Berdasarkan latar belakang masalah yang telah diuraikan maka disusunlah
rumusan masalah sebagai berikut: 1.
Bagaimana aplikasi emergency situation berbasis android dapat membantu manusia dikehidupan sehari-hari?
2.
Bagaimana melakukan pengambilan posisi menggunakan GPS?
3.
Bagaimana pemanfaatan algoritma A* dalam penentuan lokasi terdekat?
4.
Bagaimana menampilkan data yang telah ada kedalam bentuk grafik peta digital?
5.
Bagaimana memanfaatkan data yang ada untuk melakukan sambungan telepon kepada lokasi terdekat?
1.3
Tujuan Tujuan dari penelitian yang akan dilakukan pada tugas akhir ini adalah:
1.
Mengambil posisi pengguna device menggunakan teknologi GPS.
2.
Memanfaatkan Algoritma A* sebagai salah satu metode path finding yang akan digunakan sebagai metode pencarian lokasi terdekat, lalu menampilkannya pada peta digital.
3.
Membuat fasilitas untuk melakukan panggilan telepon kepada lokasi tujuan dari data yang didapatkan melalui algoritma A*.
4.
Membuat aplikasi android yang user friendly sehingga akan mudah digunakan.
4
1.4
Batasan Masalah Agar dalam pengerjaan tugas akhir ini dapat lebih terarah, maka
pembahasan penulisan ini dibatasi pada ruang lingkup pembahasan sebagai berikut: 1.
Tidak membahas metode path finding lain selain algoritma A*.
2.
Dalam aplikasi emergency situation ini hanya mencakup tiga kategori emergency, yaitu rumah sakit, kantor polisi dan pemadam kebakaran.
3.
Data lokasi rumah sakit, kantor polisi dan pemadam kebakaran yang dapat dicari hanya berada pada kota Bandung.
4.
Pengguna harus mengaktifkan jaringan mobile network dan GPS sebagai syarat dalam pengambilan posisi real.
1.5
Metodologi Pengumpulan Data Metode yang digunakan penulis dalam mengumpulkan data untuk
pembuatan aplikasi serta penyusunan dan penulisan laporan tugas akhir yaitu dilakukan dengan cara: 1.
Studi Literatur, yaitu penelitian dan penelaahan buku acuan dan sumber informasi lain yang berhubungan dengan perancangan program aplikasi dan mengunjungi situs-situs yang memiliki informasi dan data yang ada kaitannya dengan topik yang dibahas.
2.
Diskusi dan Konsultasi, yaitu metode yang dilakukan dengan cara berdiskusi dengan pihak-pihak yang dapat memberikan saran.
3.
Observasi, yaitu pengumpulan data dengan melakukan pengamatan langsung terhadap objek yang dibahas atau mencatat semua data serta informasi yang berhubungan dengan penelitian yang dilakukan.
1.6
Metodologi Pembangunan Perangkat Lunak Didalam melakukan pengembangan sistem,
penulis menggunakan
paradigma waterfall. Metode ini digunakan karena dalam pembangunan aplikasi emergency situation, penulis sudah menyusun kebutuhan dan fungsionalitas sistem
dengan
jelas
pada
tahap
awal
pengembangan
sehingga
dapat
5
meminimalisasi kesalahan pada tahap berikutnya. Selain itu dalam metode waterfall, dokumentasi pengembangan aplikasi emergency situation dapat terorganisir dengan baik[2]. Adapun metode waterfall mempunyai tahapantahapan sebagai berikut: Sistem Engineering
Analysis
Design
Coding
Testing
Maintenance
Gambar 1.1 Metodologi pembangunan perangkat lunak Keterangan: 1.
Rekayasa perangkat lunak (Software Engineering), merupakan kegiatan untuk menentukan software apa yang akan dibangun[2].
2.
Analisis perangkat lunak (Software Analysis), dilakukan dengan cara menganalisa kebutuhan akan fungsi-fungsi perangkat lunak yang dibutuhkan. Adapun fungsi-fungsi tersebut meliputi fungsi masukan, fungsi proses, dan fungsi keluaran[2].
3.
Perancangan perangkat lunak (Software Design), merupakan perancangan perangkat lunak yang dilakukan berdasarkan data yang telah dikumpulkan pada tahap sebelumnya. Perancangan tersebut meliputi perancangan struktur file, struktur menu, struktur program, format masukan (input), dan format keluaran (output)[2].
6
4.
Implementasi
perangkat
lunak
(Coding),
yaitu
kegiatan
yang
mengimplementasikan hasil dari perancangan perangkat lunak kedalam kode program yang dimengerti oleh bahasa mesin[2]. 5.
Pengujian perangkat lunak (Testing), memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan, memeriksa apakah input sesuai dengan hasil yang diinginkan setelah proses[2].
6.
Pemeliharaan perangkat lunak (Maintenance), merupakan suatu kegiatan untuk memelihara perangkat lunak yang sudah dibuat, pemeliharaan tersebut dilakukan agar keutuhan program dapat terjaga seperti validasi data, update data, dan integrasi data[2].
1.7
Sistematika Penulisan Sistematika penulisan yang pennulis buat adalah sebagai berikut:
BAB I
PENDAHULUAN Dalam bab pendahuluan dijelaskan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi pengumpulan data, metodologi pembangunan perangkat lunak dan sistematika penulisan pada aplikasi emergency situation.
BAB II
LANDASAN TEORI Dalam bab landasan teori dijelaskan tentang teori-teori yang berkenaan dengan aplikasi ini, diantaranya bahasa Java, konsep database, dan penerapan aplikasi ke dalam database, penerapan algoritma A* serta integrasi dengan GPS.
BAB III ANALISIS DAN PERANCANGAN Dalam bab ini dituliskan bagian analisis sistem yang serupa dengan aplikasi emergency situation, dan juga kelemahannya. Selain itu, pada bab ini pula terdapat hasil analisis sistem baru yang akan dibangun. BAB IV IMPLEMENTASI DAN PENGUJIAN Bagian ini berisi tentang bagaimana rancangan dibuat menjadi kode program dan menghasilkan aplikasi emergency situation yang sesuai dengan analisis dan perancangan yang telah dilakukan. Pada bab ini
7
pula berisi setiap entity atau relation yang telah dibuat menjadi tabel pada database, modul yang telah diimplementasikan dari UML yang telah dibuat sebelumnya, object/class yang telah diimplentasikan pada program dan setiap design interface yang telah jadi. Selain itu pada bab ini dijelaskan tentang pengujian yang dilakukan terhadap aplikasi emergency situation. BAB V
PENUTUP Dalam bab penutup, dijelaskan tentang kesimpulan yang diperoleh dari aplikasi emergency situation, juga saran yang membangun agar aplikasi emergency situation dapat dikembangkan lagi untuk kedepannya.