GEOLOCATION API DAN GOOGLE MAP API
SKRIPSI
Disusun oleh :
MOH. KHOIRUL HUDA
NPM. 0834010247
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL " VETERAN" J AWA TIMUR
SURABAYA
GEOLOCATION API DAN GOOGLE MAP API
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan
Dalam Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika
Disusun oleh :
MOH. KHOIRUL HUDA
NPM. 0834010247
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
SURABAYA
PENGEMBANGAN APLIKASI MOBILE SOS J AMAAH HAJ I
BERBASIS WEB DENGAN MEMANFAATKAN
GEOLOCATION API DAN GOOGLE MAP API
Disusun O leh :
MOH. KHOIRUL HUDA
NPM. 0834010247
Telah disetujui untuk mengikuti Ujian Negar a Lisan Periode Tahun Akademik 2013/2014
Pembimbing Utama
Henni Endah W, S.T, M.Kom NPT. 3 7809 130 348 1
Pembimbing Pendamping
Achmad J unaidi, S.Kom NPT. 3 7811 04 0199 1
Mengetahui,
Ketua Program Studi Teknik Infor matika Fakultas Teknologi Industri
UPN ”Veteran” J awa Timur
MEMANFAATKAN GEOLOCATION API DAN GOOGLE MAP API Disusun Oleh :
MOH. KHOIRUL HUDA
NPM. 0834010247
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skr ipsi Pr ogram Studi Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur Pada Tanggal 4 Oktober 2013
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur
FAKULTAS TEKNOLOGI INDUSTRI
PANITIA UJ IAN SKRIPSI / KOMPREHENSIF
KETERANGAN REVISI lisan periode I tahun akademik 2013/2014 :
”PENGEMBANGAN APLIKASI MOBILE SOS J AMAAH HAJ I BERBASIS WEB DENGAN MEMANFAATKAN GEOLOCATION API
DAN GOOGLE MAP API”
Surabaya, Januari 2014 Dosen Penguji yang memerintahkan revisi:
DOSEN PEMBIMBING II : Achmad J unaidi, S.Kom PENYUSUN : Moh. Khoir ul Huda
ABSTRAKSI
Permasalahan jamaah tersesat dalam penyelenggaraan haji tiap tahun masih saja belum terselesaikan. Salah satu upaya untuk dapat membantu mengurangi permasalahan jamaah tersesat adalah dengan memanfaatkan alat komunikasi yang banyak dimiliki oleh jamaah haji, yaitu telepon genggam pintar atau smartphone. Pada penelitian terdahulu, yaitu aplikasi mobile SOS jamaah haji berbasis
Android, sudah mampu memberikan solusi para koordinator dalam mempersingkat waktu pencarian jamaah haji yang tersesat. Akan tetapi aplikasi tersebut hanya bisa digunakan pada smartphone berbasis Android saja. Dengan menjamurnya berbagai platform yang terdapat pada smartphones sekarang ini, seperti Android, Blackberry, hingga iOS, tentunya akan membutuhkan waktu dan biaya yang mahal untuk membuat aplikasi sejenis berdasarkan platform yang ada. Salah satu konsep dari web 2.0 yang dapat menjadi solusi alternatif dalam berkomunikasi lintas platform adalah HTML5 dimana lebih mendukung teknologi multimedia terbaru dan dirancang untuk lebih universal dan interaktif. Disamping itu dengan memanfaatkan fasilitas yang mendukung HTML5 yaitu Geolocation API, dapat memungkinkan untuk menemukan lokasi lintang dan bujur seseorang. Kemudian didukung oleh Google Maps API versi 3 yang juga disempurnakan untuk lebih mendukung kecepatan akses peta dari mobile browser.
Maka dengan begitu aplikasi mobile SOS jamaah haji berbasis web dapat membantu pekerjaan koordinator dalam pencarian jamaah haji yang tersesat. Serta dapat menjadi alternatif aplikasi lintas platform yang dapat digunakan oleh berbagai jenis platform mobile phone.
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan segala nikmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Atas limpahan serta karunia dan rahmat-Nya penulisan laporan skripsi yang berjudul “Pengembangan Aplikasi Mobile SOS J amaah Haji Berbasis Web Dengan Memanfaatkan Geolocation API dan Google Map API” dapat terselesaikan.
Skripsi ini dibuat sebagai salah satu syarat memperoleh gelar sarjana komputer di jurusan teknik informatika UPN ”Veteran” Jatim. Skripsi ini tidak sempurna tanpa dukungan semua pihak. Oleh karena itu, penulis ingin mengucapkan terimakasih kepada:
1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur.
2. Ibu Dr. Ir. Ni Ketut Sari, MT., selaku Kepala Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur.
3. Ibu Henni Endah W, S.T, M.Kom, selaku dosen pembimbing utama yang telah banyak memberikan kritik, petunjuk, bimbingan, serta dorongan demi terselesaikannya tugas akhir ini.
selama ini.
6. Keluarga besar Dito Renady Harto, terutama kepada tante Tedjawati, terima kasih atas doa dan dukungannya selama ini.
7. Teman-teman keluarga besar UKM Musik Satya Palapa, UPN ‘Veteran’ Jawa Timur atas pengalaman hidup yang sangat luar biasa. Jika ditulis satu-satu dapat menghabiskan tiga lembar kertas, maaf ya hha.
8. Teman-teman seperjuangan, #Libsink. Rizki Octadiansyah, Widy Ary, Hadinata Suhartono, Novrizal Dwi Cahyo, Juni Hardi Tiyo, Fadlan Sazudi, Dadang Ramadhan, Rayunda Ivone Narashari, M. Fanny Firmansyah, dan lain-lain yang tidak bisa penulis sebutkan satu-satu. Ayo yang belum, seng penting semangate lo pak!
9. Teman-teman KKN Kelompok 39 Desa Banjarsari, Kab. Jombang. Terima kasih atas pengalamannya, berkat rapat penggulingan ketua, penulis berani meluapkan emosi di depan umum untuk pertama kalinya, hha.
10.Teman-teman komunitas Earth Hour Surabaya -@EHSurabaya- Upit, Hana Fadhilah, Yunitasari ‘Olla’, Asmaul Husniyah, Galih Kumalasari, Agil Setiawan, Sarkaje, Anwar, Febrianto Gilang dan lain-lain. Semangat! Pantang menyerah sebelum manusia sadar akan keseimbangan alamnya. 11.Penyemangat skripsi, Vanda Kemala dan Annisantyas Nugraheny. Terima
kasih atas doa, dukungan, dan cambukan semangat jarak jauhnya.
budi baik kalian.
Penulis menyadari skripsi ini masih jauh dari sempurna, sehingga saran dan kritik yang membangun sangat penulis harapkan. Semoga laporan ini bermanfaat bagi pembacanya dan bagi civitas akademi FTI UPN "Veteran" Jatim.
Akhirnya, penulis berharap agar penyusunan laporan ini mampu memberikan sumbangsih bagi perkembangan dan kemajuan teknik informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur.
Surabaya, Oktober 2013
KATA PENGANTAR ... ii
2.2.1 Penyebab Jamaah Haji Tersesat ... 9
2.2.2 Prosedur Penanganan Jamaah Tersesat ... 10
2.3 Geolocation API ... 11
2.6 PHP Framework CodeIgniter ... 19
2.6.1 Konsep Model-View-Controller (MVC) ... 20
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 26
3.1 Analisis Sistem ... 26
3.1.1 Arsitektur Sistem ... 26
3.1.2 Analisis Fungsional ... 28
3.2 Perancangan Sistem ... 28
3.2.1 Use Case Diagram ... 29
3.2.1.1 Use Case Diagram Jamaah Haji ... 29
3.2.1.2 Use Case Diagram Koordinator ... 31
3.2.1.3 Use Case Diagram Administrator ... 32
3.2.2 Activity Diagram ... 34
3.2.2.1 Activity Diagram Mengirim SOS ... 34
3.2.2.2 Activity Diagram Lihat Peta Jamaah Tersesat ... 35
3.2.2.3 Activity Diagram Manajemen Regu ... 36
3.2.2.4 Activity Diagram Manajemen Koordinator ... 37
3.2.2.5 Activity Diagram Manajemen Jamaah ... 38
3.2.3 Sequence Diagram ... 39
3.2.3.1 Sequence Diagram Mengirim SOS ... 39
3.2.3.2 Sequence Diagram Lihat Peta Jamaah Tersesat ... 40
3.2.3.3 Sequence Diagram Manajemen Data Regu ... 42
3.2.3.4 Sequence Diagram Manajemen Data Koordinator ... 43
3.2.3.5 Sequence Diagram Manajemen Data Jamaah ... 44
3.2.4 Class Diagram ... 45
3.3 Perancangan Data ... 46
3.3.1 CDM (Conceptual Data Model) ... 46
3.3.2 PDM (Physical Data Model) ... 47
3.3.3 Struktur Tabel ... 48
3.4 Desain Antarmuka (Interface) ... 51
3.4.1 Desain Antarmuka Halaman Utama Jamaah Haji ... 52
3.4.2 Desain Antarmuka Halaman Koordinator ... 52
3.4.3 Desain Antarmuka Halaman Administrator ... 54
3.4.3.1 Desain Antarmuka Halaman Manajemen Regu ... 55
3.4.3.2 Desain Antarmuka Halaman Manajemen Koordinator ... 55
3.4.3.3 Desain Antarmuka Halaman Manajemen Jamaah ... 56
BAB IV IMPLEMENTASI DAN UJ I COBA ... 58
4.1 Perangkat Sistem ... 58
4.1.1 Spesifikasi Perangkat Keras ... 58
4.1.2 Spesifikasi Perangkat Lunak ... 59
4.2 Implementasi Sistem ... 60
4.2.1 Implementasi Antarmuka ... 60
4.2.1.1 Halaman Utama Jamaah Haji ... 60
4.2.1.2 Halaman Koordinator Lihat Peta Jamaah Tersesat ... 61
4.2.1.3 Halaman Koordinator Lihat Jamaah Haji ... 61
4.2.1.4 Halaman Koordinator Pencarian Rute Terpendek ... 61
4.2.1.5 Halaman Koordinator Ubah Status Jamaah ... 63
4.2.1.6 Halaman Administrator Master Data Regu ... 64
4.2.1.7 Halaman Administrator Master Data Koordinator ... 64
4.2.1.8 Halaman Administrator Master Data Jamaah ... 65
4.3 Hasil Uji Coba ... 66
4.3.1 Lingkungan Uji Coba ... 66
4.3.2 Skenario Uji Coba ... 67
4.3.3 Uji Coba Fungsionalitas ... 69
4.3.3.1 Uji Coba SOS Jamaah Haji ... 69
4.3.3.2 Uji Coba Koordinator Lihat Peta Jamaah Tersesat ... 71
4.3.3.3 Uji Coba Koordinator Pencarian Rute Terpendek ... 73
4.3.3.4 Uji Coba Koordinator Ubah Status Jamaah ... 75
4.3.3.5 Uji Coba Koordinator Lihat Jamaah Haji ... 76
4.3.3.6 Uji Coba Administrator Master Data Regu ... 77
4.3.4.1 Uji Coba Portabilitas Pada Platform iPhone ... 81
4.3.4.2 Uji Coba Portabilitas Pada Platform Android ... 87
4.3.4.3 Uji Coba Portabilitas Pada Platform BlackBerry ... 92
4.4 Validasi ... 96
4.4.1 Populasi dan Sampel ... 97
4.4.2 Tempat dan Waktu ... 97
4.4.3 Soal Kuesioner ... 97
4.4.4 Uji Validitas ... 98
BAB V PENUTUP ... 103
5.1Kesimpulan ... 103
5.2Saran ... 103
DAFTAR PUSTAKA ... 105
Gambar 2.2 Logo HTML5 ... 14
Gambar 3.3 Use Case Diagram Koordinator ... 31
Gambar 3.4 Use Case Diagram Administrator ... 32
Gambar 3.5 Activity Diagram Mengirim SOS ... 34
Gambar 3.6 Activity Diagram Lihat Daftar Jamaah Tersesat ... 35
Gambar 3.7 Activity Diagram Manajemen Regu ... 36
Gambar 3.8 Activity Diagram Manajemen Koordinator ... 37
Gambar 3.9 Activity Diagram Manajemen Jamaah ... 38
Gambar 3.10 Sequence Diagram Mengirim SOS ... 40
Gambar 3.11 Sequence Diagram Lihat Peta Jamaah Tersesat ... 41
Gambar 3.12 Sequence Diagram Manajemen Data Regu ... 42
Gambar 3.13 Sequence Diagram Manajemen Data Koordinator ... 44
Gambar 3.14 Sequence Diagram Manajemen Data Jamaah ... 45
Gambar 3.15 Class Diagram ... 46
Gambar 3.16 CDM (Conceptual Data Model) ... 47
Gambar 3.17 PDM (Physical Data Model) ... 48
Gambar 3.18 Desain Antarmuka Halaman Utama Jamaah Haji ... 52
Gambar 3.19 Desain Antarmuka Halaman Lihat Peta Jamaah Tersesat ... 53
Gambar 3.20 Desain Antarmuka Halaman Form Pencarian Rute Terpendek .. 53
Gambar 3.21 Desain Antarmuka Halaman Form Ubah Status Jamaah ... 54
Gambar 3.22 Desain Antarmuka Halaman Manajemen Data Regu ... 55
Gambar 3.23 Desain Antarmuka Halaman Manajemen Koordinator... 56
Gambar 3.24 Desain Antarmuka Halaman Manajemen Jamaah Haji ... 56
Gambar 4.4 Halaman Koordinator Lihat Jamaah Haji ... 62
Gambar 4.5 Halaman Koordinator Pencarian Rute Terpendek ... 63
Gambar 4.6 Halaman Koordinator Ubah Status Jamaah ... 63
Gambar 4.7 Halaman Administrator Master Data Regu ... 64
Gambar 4.8 Halaman Administrator Master Data Koordinator ... 64
Gambar 4.9 Halaman Administrator Master Data Jamaah ... 65
Gambar 4.10 iPhone 4S ... 67
Gambar 4.11 Hisense Android ... 67
Gambar 4.12 Blackberry Curve 9220 ... 68
Gambar 4.13 Shortcut Aplikasi ... 69
Gambar 4.14 Halaman SOS Jamaah Haji ... 70
Gambar 4.15 Pesan Pengiriman Lokasi Berhasil ... 70
Gambar 4.16 Pesan Error SOS Jamaah Haji ... 71
Gambar 4.17 Notifikasi SMS Untuk Koordinator ... 71
Gambar 4.18 Halaman Login Koordinator ... 72
Gambar 4.19 Halaman Koordinator Lihar Peta Jamaah Tersesat ... 72
Gambar 4.20 Halaman Koordinator Pencarian Rute Terpendek ... 73
Gambar 4.21 Dialog Box SMS Konfirmasi Jamaah ... 73
Gambar 4.22 Notifikasi SMS Untuk Jamaah ... 74
Gambar 4.23 Halaman Koordinator Hasil Pencarian Rute Terpendek ... 74
Gambar 4.24 Halaman Koordinator Ubah Status Jamaah ... 75
Gambar 4.25 Pesan Konfirmasi Ubah Status Jamaah ... 75
Gambar 4.26 Halaman Koordinator Lihat Jamaah Haji ... 76
Gambar 4.27 Halaman Koordinator Lihat Detail Jamaah Haji ... 76
Gambar 4.28 Halaman Administrator Master Data Regu ... 77
Gambar 4.29 Form Input Data Regu ... 77
Gambar 4.30 Pesan Error Input Data Regu ... 78
Gambar 4.31 Halaman Administrator Master Data Koordinator ... 78
Gambar 4.35 Form Input Data Jamaah ... 80
Gambar 4.36 Pesan Error Input Data Jamaah ... 81
Gambar 4.37 Membuka Pengunci Layar iPhone... 82
Gambar 4.38 Home Menu Pada iPhone... 82
Gambar 4.39 Halaman SOS Jamaah Haji Pada iPhone ... 83
Gambar 4.40 Pesan Sukses SOS Jamaah Haji Pada iPhone ... 83
Gambar 4.41 Home Menu Pada iPhone... 84
Gambar 4.42 Halaman Login Koordinator Pada iPhone ... 84
Gambar 4.43 Halaman Koordinator Lihat Peta Tersesat Pada iPhone ... 85
Gambar 4.44 Submenu Pencarian Rute Terpendek Pada iPhone ... 85
Gambar 4.45 Hasil Pencarian Rute Terpendek Pada Iphone ... 86
Gambar 4.46 Ubah Status Jamaah Pada iPhone ... 86
Gambar 4.47 Membuka Pengunci Layar Android ... 87
Gambar 4.48 Home Menu Pada Android ... 87
Gambar 4.49 Halaman SOS Jamaah Haji Pada Android ... 88
Gambar 4.50 Pesan Sukses SOS Jamaah Haji Pada Android... 88
Gambar 4.51 Home Menu Pada Android ... 89
Gambar 4.52 Halaman Login Koordinator Pada Android ... 89
Gambar 4.53 Halaman Koordinator Lihat Peta Tersesat Pada Android ... 90
Gambar 4.54 Submenu Pencarian Rute Terpendek Pada Android ... 90
Gambar 4.55 Hasil Pencarian Rute Terpendek Pada Android ... 91
Gambar 4.56 Ubah Status Jamaah Pada Android ... 91
Gambar 4.57 Home Menu Pada BlackBerry ... 92
Gambar 4.58 Halaman SOS Jamaah Haji Pada BlackBerry ... 92
Gambar 4.59 Pesan Sukses SOS Jamaah Haji Pada BlackBerry ... 93
Gambar 4.60 Home Menu Pada BlackBerry ... 93
Gambar 4.61 Halaman Login Koordinator Pada BlackBerry... 94
Gambar 4.62 Halaman Koordinator Lihat Peta Tersesat Pada BlackBerry ... 94
Tabel 3.1 Penjelasan Use Case Diagram Jamaah Haji ... 30
Tabel 3.2 Penjelasan Use Case Diagram Koordinator ... 31
Tabel 3.3 Penjelasan Use Case Diagram Administrator ... 33
Tabel 3.4 Penjelasan Tabel User ... 49
Tabel 3.5 Penjelasan Tabel Regu... 49
Tabel 3.6 Penjelasan Tabel Koordinator ... 50
Tabel 3.7 Penjelasan Tabel History Pelacakan... 51
Tabel 4.1 Skala Pilihan Jawaban Kuesioner ... 98
1.1 Latar Belakang
Dalam penyelenggaraan ibadah haji seringkali terdapat sejumlah masalah yang muncul setiap tahunnya. Berbagai permasalahan masih saja dialami oleh jamaah haji, mulai dari persoalan tempat tinggal, transportasi dari penginapan ke tempat ibadah, persoalan kesehatan, makanan, jamaah tersesat dan berbagai persoalan lain yang belum semuanya dapat dipecahkan secara tuntas. Memang tidak mungkin semua permasalahan tersebut dapat dipecahkan dengan sempurna karena perbedaan yang sangat drastis antara Indonesia dan Arab Saudi telah mempengaruhi secara langsung kondisi jamaah haji baik secara fisik maupun mental, sehingga persoalan yang dihadapi oleh jamaah pun berbeda-beda satu sama lain. (VOA-islam, 2012)
Salah satu hal yang mungkin tidak bisa diabaikan adalah permasalahan banyaknya jamaah haji yang tersesat. Meskipun sebelum berangkat setiap jamaah haji sudah dibekali persiapan yang tidak sedikit, seringkali masalah tersesatnya jamaah haji masih muncul. Selain persiapan fisik dan mental, satu hal yang tidak bisa diabaikan begitu saja adalah informasi seputar berbagai tempat yang ada di Arab Saudi. Hal ini penting adanya agar terhindar dari hilangnya komunikasi dan tersesat di tempat tersebut. (Okezone, 2011)
phone. Dengan semakin pintarnya fungsi dan kegunaan dari mobile phone saat ini
tentunya dapat kita manfaatkan dengan membuat aplikasi yang berguna bagi kehidupan sehari-hari, khususnya dalam hal ini membuat sebuah aplikasi mobile yang bertujuan agar memudahkan para koordinator regu jamaah haji untuk menangani jamaah haji yang tersesat di suatu tempat yang belum ia ketahui sebelumnya.
Penelitian relokasi jamaah haji tersesat bukanlah pertama kali ini saja. Sebelumnya sudah ada penelitian dengan permasalahan serupa dan dengan berbagai metode penyelesaian yang digunakan dapat menghasilkan kelebihan dan kekurangan masing-masing. Salah satunya adalah penelitian aplikasi mobile SOS jamaah haji dengan menggunakan platform berbasis Android. Aplikasi tersebut sudah mampu memberikan solusi para koordinator dalam mempersingkat waktu pencarian jamaah haji yang tersesat. Akan tetapi salah satu kendala dari aplikasi tersebut adalah hanya bisa digunakan pada smartphone berbasis Android saja. Dengan menjamurnya berbagai platform yang ada pada smartphones sekarang ini, seperti Android itu sendiri, kemudian Blackberry, Symbian, hingga iOS, tentunya akan membutuhkan waktu dan biaya yang mahal untuk membuat aplikasi sejenis berdasarkan platform yang ada. (Juni Hardi Tiyo, 2013)
pengguna untuk menemukan lokasi lintang dan bujur seseorang. Cara kerja Geolocation API sendiri tidak hanya mengambil lokasi bersumber dari GPS, melainkan bisa melalui sinyal menara BTS terdekat atau bisa juga IP Address. Kemudian didukung pula oleh Google Maps API versi 3 yang juga disempurnakan untuk lebih mendukung kecepatan akses suatu peta dari mobile
browser, maka aplikasi mobile berbasis web dengan memanfaatkan HTML5
diharapkan bisa menjadi alternatif sebuah aplikasi yang dapat digunakan oleh berbagai jenis platform mobile phone pada masa mendatang. (Yousuf Hasan, Mustafa Zaidi, Najmi Haider, W.U.Hasan dan I.Amin, 2012)
1.2 Rumusan Masalah
Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan suatu permasalahan, yaitu :
a. Bagaimana cara merancang dan membuat aplikasi mobile SOS jamaah haji yang bisa diakses oleh smartphones dengan jenis platform yang berbeda? b. Bagaimana cara mengimplementasikan pengembangan aplikasi mobile
SOS jamaah haji berbasis web dengan memanfaatkan Geolocaion API dan Google Maps API?
1.3 Batasan Masalah
Agar dalam pengerjaan tugas akhir ini dapat lebih terarah, maka pembahasan penulisan dibatasi pada ruang lingkup pembahasan sebagai berikut :
b. Aplikasi mobile SOS jamaah haji berbasis web ini bisa digunakan dengan menggunakan smartphones yang sudah memiliki dan mengaktifkan GPS
reciever didalamnya.
c. Daerah yang ditempati user dalam menggunakan aplikasi mobile SOS jamaah haji berbasis web harus berada dalam kawasan yang bisa mengakses internet.
d. Dalam mengakses aplikasi mobile SOS jamaah haji berbasis web ini harus mempunyai paket internet full service atau minimal memiliki pulsa yang cukup untuk mengakses internet.
e. Untuk pencarian rute terpendek, menggunakan fasilitas Google Maps
Direction.
1.4 Tujuan
Adapun tujuan yang ingin dicapai dalam permasalahan di atas adalah merancang dan membuat aplikasi mobile SOS jamaah haji yang dapat mengetahui posisi keberadaan para jamaah haji yang tersesat serta dapat diakses oleh
smartphone yang memiliki jenis platform berbeda-beda.
1.5 Manfaat
Adapun manfaat dari penelitian ini antara lain, yaitu :
a. Bagi koordinator regu akan mempermudah untuk mengetahui posisi para jamaah haji yang tersesat, sehingga dapat ditangani dengan cepat.
1.6 Metode Penelitian
Metodologi yang digunakan supaya tepat dan akurat adalah dengan melalui studi pustaka, pengumpulan data maupun berkas, analisis suatu sistem, merancang sistem tersebut yang kemudian melakukan test awal serta mengimplementasikannya. Adapun tahap penelitiannya adalah sebagai berikut :
a. Studi Literatur, yaitu dengan membaca buku-buku dan literatur yang berhubungan dengan analisis dan perancangan sistem informasi.
b. Analisis Kebutuhan, yaitu mengumpulkan kebutuhan dari berbagai sumber secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap. c. Perancangan Sistem dan Program, yaitu merancang atau mendesain sistem
sesuai dengan hasil analisis, baik rancangan input, output maupun cara kerja sistem yang akan dirancang. Desain program dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
d. Implementasi dan Pengujian Unit, yaitu desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
e. Pengujian Sistem, yaitu penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
1.7 Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini berisikan latar belakang, rumusan masalah, tujuan dan manfaat, batasan masalah, metodologi dan sistematika penulisan laporan.
BAB II TINJ AUAN PUSTAKA
Bab ini menguraikan tentang dasar teori pendukung yang digunakan dalam menyelesaikan tugas akhir, seperti teori yang terkait dengan aplikasi mobile SOS jamaah haji berbasis web. BAB III ANALISIS DAN PERANCANGAN
Bab ini menjelaskan mengenai analisis dan perancangan sistem yang dilakukan untuk membangun aplikasi mobile SOS jamaah haji berbasis web.
BAB IV IMPLEMENTASI, UJ I COBA DAN EVALUASI
Pada bab ini menjelaskan implementasi dari program yang telah dibuat meliputi spesifikasi kebutuhan implementasi dan tampilan aplikasi. Kemudian untuk tahap uji coba akan dilakukan dengan kriteria pengujian fungsionalitas sistem, kompabilitas sistem, dan efisiensi sistem. Sasaran dari uji coba dan evaluasi adalah untuk menemukan kesalahan-kesalahan dari aplikasi yang mungkin terjadi sehingga dapat diperbaiki
BAB V PENUTUP
Pada bab ini akan dijelaskan kesimpulan dan saran dari uraian-uraian yang terdapat pada bab-bab sebelumnya mengenai aplikasi
DAFTAR PUSTAKA
TINJ AUAN PUSTAKA
Bab ini menguraikan tentang dasar teori pendukung yang digunakan dalam menyelesaikan tugas akhir, yaitu teori yang terkait dengan aplikasi mobile SOS jamaah haji berbasis web.
2.1 Penelitian Pendahuluan
Tersesat tentu tidak terlepas dari kurangnya pemahaman tentang bahasa, usia sudah lanjut, dan seluk beluk bangunan kota Arab Saudi yang penuh dengan manusia yang berpakaian sama dengan jumlah ribuan. Karena itu telah dilakukan pengembangan SOS ke arah aplikasi mobile sehingga dapat mempermudah penggunaan aplikasi mobile baik para pengguna atau jamaah haji yang minim pengetahuan akan perkembangan teknologi dan mempermudah pencarian oleh para petugas atau koordinator rombongan yang sedang bertugas.
Aplikasi mobile SOS jamaah haji berbasis android ini adalah aplikasi yang terbagi atas client (jamaah haji) dan server (koordinator regu), memungkinkan bagi jamaah haji yang tersesat dengan menggunakan smartphones ber-platform
Android mengirimkan lokasi titik koordinat tempat ia tersesat. Kemudian
koordinator kelompok dimana tempat jamaah haji tersesat dinaungi dapat mengetahui lokasi jamaah tersesat. Adapun aplikasi menggunakan Application
Programming Interface (API) sebagai jembatan untuk mengirimkan informasi
berupa koordinat atau posisi terakhir jamaah haji yang sedang tersesat kepada
dapat memberikan solusi mempermudah koordinator mempersingkat waktu dalam pencarian jamaah haji yang tersesat. (Juni Hardi Tiyo, 2013)
Dalam penelitian sebelumnya ini, aplikasi yang dibangun berdasarkan
platform Android, sehingga tidak bisa berjalan pada lintas platform seperti Blackberry, Symbian ataupun iOS. Untuk fitur yang ada pada aplikasi berbasis
android ini tampilan untuk koordinator masih minim informasi tentang berapa jumlah total jamaah haji yang tersesat pada waktu bersamaan, jadi hanya bisa menampilkan maksimal satu buah titik koordinat jamaah yang tersesat. Sehingga jika terdapat jamaah tersesat lebih dari satu pada waktu bersamaan, aplikasi tersebut tidak dapat menampilkannya semua.
2.2 Pengertian Haji
Haji secara etimologi adalah berkunjung. Adapun secara terminologi adalah mengunjungi Baitul Haram dengan amalan tertentu, pada waktu tertentu. Ibadah haji adalah ibadah yang wajib dilakukan oleh umat islam yang mampu atau kuasa untuk melaksanakannya baik secara ekonomi, fisik, psikologis, keamanan, perizinan dan lain-lain sebagainya. Pergi haji adalah ibadah yang masuk dalam rukun islam yakni rukun islam ke lima yang dilakukan minimal sekali seumur hidup. (DR. Ahmad Zain An-Najah, M.A., 2011)
2.2.1 Penyebab J amaah Haji Tersesat
a. Salah pintu masjid.
Banyak jamaah yang tersesat diawali dengan kelirunya mengambil pintu (gate) keluar dari Masjidil Haram. Mungkin mereka tidak perhatian pada nomor pintu (gate), khususnya yang dari pelataran ka’bah. Hal ini bisa dimaklumi karena memang jumlah pintu Masjidil Haram ada 94 pintu dan mayoritas mereka yang tersesat karena berbeda pintu ketika masuk dan saat keluar.
b. Usia jamaah haji.
Tidak bisa dipungkiri bahwa mayoritas jamaah haji asal Indonesia adalah jamaah haji yang berusia lanjut. Hal itu pula yang sering menjadi penyebab tersesatnya mereka.
c. Terpisah dengan kelompok.
Kebanyakan, mereka terlepas dari rombongan ketika melakukan thawaf. Perlu diketahui bahwa thawaf di pelataran ka’bah kadang berseiko terputus dari rombongan. Itu dikarenakan padatnya pelataran ka’bah, khusunya di daerah Maqom Ibrahim, dimana kepadatan manusia sulit sekali diterobos. (Okezone, 2011)
2.2.2 Pr osedur Penanganan J amaah Ter sesat
Terdapat lima prosedur operasi standar apabila jemaah haji tersesat : a. Sebelum melakukan kegiatan petugas memberikan instruksi untuk
b. Petugas mencatat nomor telepon atau kontak pimpinan rombongan atau pembimbing haji rombongan.
c. Petugas memberikan instruksi agar membiasakan berangkat untuk bepergian bersama rombongan jamaah haji.
d. Saat ditemukan jamaah haji tersesat kemudian diantar ke Balai Pengobatan Haji Indonesia (BPHI) Mekkah. Petugas mengantar jamaah haji tersesat ke penginapan atau pondokkan tempat jamaah haji tinggal.
2.3 Geolocation API
Geolocation API adalah sebuah prosedur high-level interface dimana memungkinkan pelacakan atau pemetaan informasi lokasi seperti garis lintang dan bujur berdasarkan permintaan dari sebuah permintaan sebuah perangkat. Secara umum permintaan sebuah lokasi lintang dan bujur bersumber dari Global Position
Location (GPS) dan lokasi dari sinyal jaringan seperti alamat IP, RFID, WiFi,
MAC Address dari Bluetooth, Cell ID dari jaringan GSM/CDMA atau bisa juga berasal dari masukan pengguna. (W3C, 2013)
Geolocation API dirancang untuk memungkinkan suatu permintaan lokasi dan dapat di-update secara berulang-ulang, serta mempunyai kemampuan untuk menyimpan query lokasi lintang dan bujur tersebut kedalam sebuah cache.
Beberapa perangkat mobile populer seperti iPhone atau Android, mendukung dua metode untuk mencari sebuah lokasi dari pengguna. Metode pertama yaitu tringulasi, dimana Geolocation API akan mencari tahu lokasi berdasarkan kedekatan relatif dari perangkat mobile dengan menara BTS dari
operator seluler yang digunakan oleh pengguna. Metode ini cepat dan tidak
memerlukan penggunaan dari GPS khusus, namun hanya memberikan gambaran dimana pengguna berada. Tergantung dari berapa banyak menara BTS di daerah tersebut, Tingkat akurasi bisa hanya satu blok dari posisi pengguna sebenarnya atau bahkan bisa mencapai 1000 meter segala arah dari menara BTS tersebut.
Metode kedua benar-benar menggunakan perangkat keras GPS yang sudah ada pada perangkat mobile tersebut dimana GPS akan berkomunikasi dengan satelit. GPS biasanya dapat menentukan lokasi pengguna dengan akurasi hanya radius beberapa meter.
Cara kerja dari Geolocation API yang berbeda-beda ini adalah tergantung dari pengembang aplikasi. Bisa saja aplikasi tersebut tidak membutuhkan tingkat akurasi yang tinggi. Disisi lain, bisa saja pengembang aplikasi benar-benar membutuhkan lokasi dengan tingkat akurasi tinggi. Penggunaan kebutuhan tingkat akurasi yang tinggi itu sendiri akan berpengaruh terhadap penggunaan sumber daya dari perangkat mobile. Semakin tinggi akurasi yang dihariskan semakin banyak pula penggunaan dari sumber daya perangkat tersebut. (Mark Pilgrim, 2010)
browser akan menangani ini dengan memunculkan sebuah popup berisi pesan
untuk meminta izin tadi.
Gambar 2.1 Contoh Permintaan Izin Geolocation dari Pengguna
Geolocation API telah didukung oleh banyak browser pada perangkat
desktop dan mobile. Untuk beberapa browser dan perangkat lama dapat
mendukung fitur ini dengan menggunakan library tambahan. Saat ini Geolocation API didukung oleh browser desktop berikut:
a. Firefox 3.5+ b. Chrome 5.0+ c. Safari 5.0+ d. Opera 10.60+
e. Internet Explorer 9.0+
Sedangkan dukungan untuk perangkat mobile, adalah seperti berikut: a. Android 2.0+
b. iPhone 3.0+
c. Opera Mobile 10.1+
d. Symbian (S60 3rd & 5th generation) e. Blackberry OS 6
(Natha Fatima, 2012)
2.4 HTML5
web statis sederhana yang dimaksud adalah halaman web yang hanya terdiri dari beberapa teks statis dan gambar sederhana tanpa animasi apapun.
Gambar 2.2 Logo HTML5
Seiring dengan pertumbuhan dan popularitas dunia World Wide Web dengan kebutuhan akan website yang lebih interaktif dengan konten dinamis pula, adalah suatu kebutuhan yang harus dikembangkan untuk beberapa hal kompleks aplikasi. Dikarenakan keterbatasan HTML, banyak pengembang yang akhirnya bergantung kepada plugin dari pihak ketiga seperti Flash atau Silverlight demi membuat halaman website mereka lebih dinamis. Kerugian terbesar dari penggunaan plugin pihak ketiga adalah bahwa pengguna diharuskan untuk menginstal plugin tersebut untuk melihat halaman web. Kerugian lainnya adalah dengan semakin menjamurnya plugin dari pihak ketiga didalam aplikasi atau
browser membuat sebuah aplikasi web susah untuk menembus banyak browser.
Hal ini dikarenakan setiap plugin mempunyai cara yang berbeda-beda baik cara penulisan source code ataupun cara kerjanya.
Untuk pengembangan HTML menjadi bahasa markup yang lebih universal, sejak tahun 2006 W3C (World Wide Web Consortium) telah bekerja sama dengan WHATWG (Web Hypertext Application Technology Working
Group). WHATWG merupakan kelompok kerja pengembang web dan aplikasi,
pengembangan. Tujuan utama pengembangan HTML5 diantaranya untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin.
Teknologi baru dalam HTML5 sendiri bukan hanya ada terdapat penambahan tag atau penyempurnaan tag. Memang benar hal itu merupakan bagian penting dari apa yang baru dari HTML5, tapi bukan itu inti keseluruhan dari teknologi baru yang bernama HTML5. Spesifikasi HTML5 juga mendefinisikan bagaimana tag-tag HTML5 dapat berinteraksi dengan JavaScript, melalui Document Object Model (DOM). Sebagai contoh dalam tag <video>, HTML5 tidak hanya mendefinisikan sebagai tag <video> untuk memuat video, tetapi terdapat sebuah DOM API yang sesuai untuk objek video dalam DOM. API ini dapat digunakan untuk mendeteksi apakah dokumen ini mendukung format video yang lain, dapat melacak berapa banyak video yang telah di-download, dan segala sesuatu yang dibutuhkan untuk mendukung sebuah penanganan video. (Mark Pilgrim, 2010)
2.4.1 Elemen canvas.
Dengan elemen ini sekarang bisa memungkinkan untuk membuat sebuah diagram, grafis atau sebuah animasi yang kompleks. Jika dahulu untuk membuat sebuah animasi dalam halaman web dibutuhkan sebuah plugin flash maka dengan elemen canvas sudah bisa membuat sebuah animasi. Elemen canvas sederhana namun sangat kuat karena hampir semua jenis grafis 2D dapat dibuat dengan sangat mudah dengan bantuan elemen canvas.
Untuk membuat sebuah grafis yang kompleks bisa memadukan dengan
semua jenis gambar dan grafis yang digambar memakai Javascript. Dengan menggunakan Javascript kita bisa mendapatkan grafis yang diperlukan dengan sangat mudah.
2.4.2 Local Storage
Salah satu keterbatasan terbesar dari HTML adalah tidak adanya kemampuan penyimpanan data. Teknologi masa depan bukan tidak mungkin mengharuskan adanya sebuah penyimpanan data pada sisi perangkat pengguna. Karena jelas ini adalah lahan dimana aplikasi bawaan dari suatu perangkat mobile memiliki keuntungan besar dibandingkan aplikasi web bahwa aplikasi native telah memiliki media penyimpanan sendiri.
Hal itu pula yang coba dipecahkan solusinya oleh HTML5 dengan memperkenalkan kemampuan penyimpanan data. Salah satu media penyimpanan lokal yang mendukung HTML5 adalah database SQLite. SQLite adalah database yang sudah tertanam dalam browser dimana dia menyediakan semua kemampuan ditetapkan dan terstruktur penyimpanan data. Sebagai media penyimpanan data yang tertanam di browser tidak memerlukan instalasi. Ukuran standar masing-masing database 5Mb dan dapat diperbesar dengan izin pengguna.
2.4.3 HTML5 Geolocation API
lintang dan bujur. HTML5 Geolocation API menemukan lokasi pengguna melalui GPS, menggunakan sinyal menara BTS terdekat atau menggunakan sumber-sumber lain seperti Alamat IP. (Mark Pilgrim, 2010)
2.5 Google Maps API
Saat ini Google Maps adalah layanan pemetaan berbasis web yang populer. Google Maps adalah layanan aplikasi dan teknologi peta berbasis web yang disediakan oleh Google secara gratis (bukan untuk kepentingan komersial), temasuk di dalamnya website Google Maps (http://maps.google.com), Google Ride Finder, Google Transit, dan peta yang dapat disisipkan pada website lain melalui Google Maps API.
Gambar 2.3 Logo Google Maps
Google Maps API adalah sebuah layanan yang disediakan untuk pengembang yang ingin memanfaatkan Google Maps untuk ditampilkan pada aplikasi. Google Maps API dapat ditambahkan ke dengan menggunakan JavaScript. API tersebut menyediakan banyak fasilitas dan utilitas untuk memanipulasi peta dan menambahkan konten ke peta melalui berbagai layanan, memungkinkan untuk membuat aplikasi berbasis geografis.
Seperti layanan aplikasi Google lainnya. Google Maps dibangun dengan menggunakan javascript, seperti ketika user menggeser pada peta, sepetak peta akan di-download dari server dan ditampilkan pada user tanpa harus memperbarui seluruh halaman web. Sebuah lokasi yang ditunjukkan dengan sebuah pin sebenarnya adalah berupa file PNG transparan yang diletakkan di atas peta. Teknik yang digunakan untuk memberikan interaktifitas yang tinggi dengan cara melakukan request secara asynchronous dengan Javascript dan XML yang juga dikenal dengan AJAX.
Versi terakhir dari Google Maps API adalah versi 3 akan tetapi JavaScript API yang digunakan mirip dengan versi sebelumnya. Versi 3 didesain lebih cepat, khusunya untuk mobile browser seperti Android dan iPhone.
Untuk mulai menggunakan Google Maps API terlebih dahulu harus mempunyai Google Maps API key dan untuk mendapatkannya harus mendaftarkan diri pada situs http://code.google.com/apis/maps/signup.html, tentunya terlebih dahulu harus mempunyai akun di Gmail.
2.5.1 Google Maps Dir ections
2.6 PHP Fr amewor k CodeIgniter
CodeIgniter adalah aplikasi open source yang berupa framework dengan
model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi terakhir adalah 2.1.0 dapat dilihat di situs resminya.
Gambar 2.4 Logo CodeIgniter
Sebelum membahas lebih jauh tentang salah satu framework PHP ini, mungkin kalian ada yang masih bingung apa itu Framework, apa itu VMC (Model, View, Controller).
Framework secara sederhana dapat diartikan kumpulan dari
fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat fungsi atau class dari awal.
Ada beberapa alasan mengapa menggunakan Framework:
a. Mempercepat dan mempermudah pembangunan sebuah aplikasi web. b. Relatif memudahkan dalam proses maintenance karena sudah ada pola
c. Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM,
pagination, multiple database, scaffolding, pengaturan session, error
handling, dll).
d. Lebih bebas dalam pengembangan jika dibandingkan CMS.
2.6.1 Konsep Model-View-Controller (MVC)
Model View Controller merupakan suatu konsep yang cukup populer
dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk,
MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang
membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu:
a. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
b. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
c. Controller, merupakan bagian yang mengatur hubungan antara bagian
model dan bagian view, controller berfungsi untuk menerima request dan
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara
programmer dan designer dalam menangani variabel-variabel yang akan
ditampilkan.
2.6.2 Kelebihan dar i CodeIgniter
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain, diantaranya:
a. Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the
scracth, tapi codeigniter sangat cepat bahkan mungkin bisa dibilang
codeigniter merupakan framework yang paling cepat dibanding framework
yang lain.
b. 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 folder config.
d. Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
(Supono, 2010)
2.7 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Gambar 2.5 Logo MySQL
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
(General Public License). Setiap pengguna dapat secara bebas menggunakan
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya. SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basis data kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.
a. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
b. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
c. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
d. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
e. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
f. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). g. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
i. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
j. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
k. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
l. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
Bab ini menjelaskan mengenai analisis dan perancangan sistem yang dilakukan untuk membangun Aplikasi Mobile SOS Jamaah Haji Berbasis Web.
3.1 Analisis Sistem
Analisis bertujuan untuk mengidentifikasi permasalahan-permasalahan yang terdapat pada sistem dalam penelitian sebelumnya serta menentukan kebutuhan-kebutuhan dari sistem yang akan dibangun. Analisis ini dimaksudkan agar perangkat lunak yang dibangun tidak keluar dari cakupan sistem yang ada.
3.1.1 Ar sitektur Sistem
Dalam membangun aplikasi mobile SOS jamaah haji berbasis web agar nantinya dapat digunakan pada smartphone dengan berbagai macam jenis
platform, pengembangan aplikasi mobile SOS jamaah haji ini akan menggunakan
arsitektur sistem yang berbeda dari penelitian sebelumnya. Seperti yang telah dijelaskan pada bab sebelumnya, tentang penjelasan alur pada penelitian terdahulu, jika pada penelitian sebelumnya menggunakan platform Android maka pada pengembangan aplikasi ini akan menggunakan teknologi berbasis web dengan tujuan agar aplikasi mobile SOS jamaah haji ini dapat digunakan pada
smartphone dengan berbagai macam jenis platform.
Secara umum, rancangan arsitektur dari sistem aplikasi mobile SOS jamaah haji berbasis web yang akan dibuat adalah seperti gambar 3.1. Aplikasi tersimpan pada web server. Jamaah haji dan koordinator regu dapat mengakses aplikasi pada
Gambar 3.1 Arsitektur Sistem Aplikasi Mobile SOS Jamaah Haji Berbasis Web Apabila seorang jamaah haji merasa tersesat atau tertinggal dari rombongan regunya, jamaah dapat menekan tombol SOS yang terdapat pada aplikasi tersebut. Kemudian browser smartphones akan memanfaatkan fasilitas dari HTML5 yaitu Geolocation API untuk mendapatkan lokasi lintang dan bujur dari satelit. Untuk tampilan peta adalah bersumber dari request aplikasi kepada Google Maps Server dengan memanfaatkan Google Map API. Kemudian sebagai notifikasi pesan SOS dari jamaah haji kepada koordinator menggunakan SMS
Gateway yang sudah ter-install pada web server.
3.1.2 Analisis Fungsional
Analisis fungsional merupakan paparan mengenai fitur-fitur yang akan dimasukkan ke dalam Aplikasi Mobile SOS Jamaah Haji Berbasis Web. Fitur-fitur tersebut antara lain sebagai berikut:
a. Menu untuk jamaah haji menggunakan satu tombol yang mana bertujuan untuk memberikan kemudahan sesuai dengan terbatasnya pengetahuan tentang teknologi yang dimiliki oleh jamaah haji.
b. Menu untuk koordinator regu memiliki beberapa fungsi diantaranya, melihat peta jamaah tersesat, melihat data jamaah, mencari rute terpendek, dan mengubah status jamaah. Pengembangan fungsional aplikasi dari penelitian sebelmnya adalah pada tampilan lihat peta jamaah tersesat akan langsung memberikan tampilan berupa semua titik lokasi jamaah haji yang tersesat sekaligus.
c. Menu untuk administrator memiliki tugas untuk manajemen aplikasi diantaranya manajemen master data regu, master data koordinator, dan master data jamaah haji.
3.2 Perancangan Sistem
Dalam merancang sistem penilaian subyektif menggunakan diagram UML (Unified Modeling Langunge) yang terdiri dari 4 macam diagram yaitu diagram
use case untuk mengetahui aktor dan use case yang berperan dan hubungan antara
3.2.1 Use Case Diagram
Use case diagram digunakan untuk menggambarkan fungsionalitas yang
diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Aktor yang berperan dalam aplikasi mobile SOS berbasis web adalah sebagai berikut :
a. Jamaah Haji
Merupakan aktor yang berperan sebagai pengguna yang dapat memanfaatkan aplikasi ini untuk bisa mengirim lokasi koordinat saat dia tersesat.
b. Koordinator
Merupakan aktor yang berperan untuk mengawasi ada atau tidaknya jamaah haji yang menjadi anggota regunya yang tersesat.
c. Administrator
Merupakan aktor yang berperan untuk mengawasi dan mengelola data manajemen aplikasi.
Adapun use case diagram pada perancangan sistem dari aplikasi mobile SOS berbasis web adalah sebagai berikut.
3.2.1.1Use Case Diagram J amaah Haji
Use case diagram dari jamaah haji adalah tampak seperti pada gambar 3.2,
proses yang dapat dilakukan oleh jamaah haji adalah mengirim SOS. Pada use
case “mengirim sos” terdapat include untuk use case “update lokasi” dan use case
Gambar 3.2 Use Case Diagram Jamaah Haji
Dari Gambar 3.2 di atas dapat dijelaskan skenario dari aktor yang terlibat, nama use case yang dilakukannya, dan deskripsi use case dalam bentuk tabel sebagai berikut:
Tabel 3.1 Penjelasan Use Case Diagram Jamaah Haji Nama Use Case Aktor Deskr ipsi Use Case
Mengirim SOS Jamaah Haji Jamaah haji mengirim SOS
Update lokasi titik tersesat Jamaah Haji Jamaah haji mengirim data titik koordinat tempat jamaah tersesat Mengirim sms notifikasi Jamaah Haji Jamaah haji mengirim sms notifikasi
sebagai alert bahwa ia tersesat
3.2.1.2Use Case Diagram Koordinator
Use case diagram dari koordinator regu adalah tampak seperti pada
gambar 3.3.
Gambar 3.3 Use Case Diagram Koordinator
Proses yang dapat dilakukan oleh koordinator adalah melihat daftar jamaah tersesat, mencari rute terdekat, dan mengubah status jamaah. Pada use
case “lihat daftar jamaah tersesat” dapat memicu use case “mencari rute
terpendek” dan use case “mengubah status jamaah”. Use case “mengirim sms respon” akan di-include dalam use case “mencari rute terpendek”. Gambar 3.3 di atas dapat dijelaskan skenario dari aktor yang terlibat dalam bentuk tabel berikut:
Tabel 3.2 Penjelasan Use Case Diagram Koordinator
Nama Use Case Aktor Deskr ipsi Use Case
Lihat daftar jamaah tersesat Koordinator Koordinator dapat melihat semua posisi koordinat jamaah yang tersesat
Lanjutan Tabel 3.3 Penjelasan Use Case Diagram Administrator
Nama Use Case Aktor Deskr ipsi Use Case
Update status jamaah Koordinator Koordinator dapat mengubah status jamaah yang tersesat menjadi sudah tidak tersesat
Pada aktor koordinator terdapat tiga use case, diantaranya use case melihat daftar jamaah tersesat dengan maksud koordinator dapat melihat semua posisi koordinat jamaah yang tersesat. Kemudian use case mencari rute terdekat, koordinator dapat mencari rute terdekat menuju posisi koordinat jamaah yang tersesat. Terakhir adalah use case update status jamaah, koordinator dapat mengubah status jamaah yang tersesat menjadi sudah tidak tersesat.
3.2.1.3Use Case Diagram Administrator
Use case diagram dari administrator adalah sebagaimana tampak pada
gambar 3.4 di bawah ini.
Gambar 3.4 Use Case Diagram Administrator
“manajemen data koordinator”, dan use case “manajemen data jamaah”. Dari Gambar 3.4 dapat dijelaskan skenario dari aktor yang terlibat, nama use case yang dilakukannya, dan deskripsi use case dalam bentuk tabel sebagai berikut:
Tabel 3.3 Penjelasan Use Case Diagram Administrator Nama Use Case Aktor Deskr ipsi Use Case Melihat daftar jamaah
tersesat
Administrator Administrator dapat melihat semua posisi koordinat jamaah yang tersesat
Manajemen data regu Administrator Administrator dapat menambah, mengubah dan menghapus data regu
Manajemen data jamaah Administrator Administrator dapat menambah, mengubah dan menghapus data jamaah
Pada aktor administrator terdapat empat use case, diantaranya use case melihat daftar jamaah tersesat dengan maksud administrator dapat melihat semua posisi koordinat jamaah yang tersesat. Kemudian untuk use case manajemen data regu, administrator dapat menambah, mengubah dan menghapus data regu. Untuk
use case manajemen data koordinator, administrator dapat menambah, mengubah
3.2.2 Activity Diagr am
Activity Diagram merupakan suatu bentuk flow diagram yang
menggambarkan suatu proses dan urutan aktivitas sebuah proses. Activity diagram dipakai pada business modeling untuk memperlihatkan urutan aktivitas proses.
Berkaitan dengan use case diagram pada sub-bab sebelumnya, maka terdapat beberapa activity diagram yang dapat digambarkan, diantaranya adalah:
3.2.2.1Activity Diagr am Mengirim SOS
Activity Diagram Mengirim SOS ini merupakan alur kerja jamaah haji
untuk mengirim pesan bahwa ia sedang merasa tersesat. Pada gambar 3.5 berikut adalah activity diagram untuk use case “mengirim sos”.
Gambar 3.5 Activity Diagram Mengirim SOS
form SOS dan jamaah dapat menekan tombol SOS. Oleh sistem akan dilanjutkan
mencari titik koordinat lokasi tempat jamaah berada dengan memanfaatkan
geolocation. Setelah titik koordinat ditemukan maka sistem akan mengirim titik
koordinat dan mengirim sms notifikasi kepada koordinator regu.
3.2.2.2Activity Diagr am Lihat Peta J amaah Tersesat
Pada Gambar 3.6 berikut ini menjelaskan tentang Activity Diagram Lihat Daftar Jamaah Tersesat.
Gambar 3.6 Activity Diagram Lihat Daftar Jamaah Tersesat
jamaah haji tersesat. Koordinator dapat mencari rute terpendek menuju titik koordinat jamaah haji kemudian sistem akan mencari rute terpendek dan menampilkannya dalam bentuk peta rute terpendek. Setelah titik lokasinya ditemukan dan dilakukan penjemputan, koordinator dapat mengubah status tersesat jamaah.
3.2.2.3Activity Diagr am Manajemen Regu
Pada Gambar 3.7 berikut ini menjelaskan tentang Activity Diagram Manajemen Regu.
Gambar 3.7 Activity Diagram Manajemen Regu
selesai mengubah data, sistem akan validasi data hasil dari input-an administrator. Jika valid maka sistem akan menampilkan pesan sukses dan sebaliknya jika terdapat input-an yang tidak valid maka sistem akan menampilkan pesan error. Untuk menu menghapus data regu, ketika administrator menekan tombol hapus maka sistem akan melakukan validasi terhadap data yang akan dihapus, dan jika valid maka sistem akan menghapus data tersebut dari database.
3.2.2.4Activity Diagr am Manajemen Koordinator
Pada Gambar 3.8 berikut ini menjelaskan tentang Activity Diagram Manajemen Koordinator.
Gambar 3.8 Activity Diagram Manajemen Koordinator
dapat menekan tombol klik edit data dan sistem akan menampilkan form edit data koordinator. Saat administrator selesai mengubah data, sistem akan validasi data perubahan dari administrator. Jika valid maka sistem akan menampilkan pesan sukses dan sebaliknya jika terdapat perubahan yang tidak valid maka sistem akan menampilkan pesan error. Untuk hapus data koordinator, administrator dapat menekan tombol hapus dan sistem akan melakukan validasi terhadap data yang akan dihapus, dan jika valid maka sistem akan menghapus data tersebut.
3.2.2.5Activity Diagr am Manajemen J amaah
Pada Gambar 3.9 berikut ini menjelaskan tentang Activity Diagram Manajemen Jamaah.
Gambar 3.9 Activity Diagram Manajemen Jamaah
akan menampilkan pesan sukses. Untuk mengubah data jamaah, sistem akan menampilkan form edit data jamaah. Setelah administrator selesai mengubah data, sistem akan validasi data perubahan dari administrator. Jika valid maka sistem akan menampilkan pesan sukses dan jika terdapat perubahan yang tidak valid maka sistem akan menampilkan pesan error. Untuk hapus data jamaah, sistem akan melakukan validasi terhadap data yang akan dihapus, dan jika valid maka sistem akan menghapus data tersebut
3.2.3 Sequence Diagram
Data 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 atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Berawal dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Sequence Diagram yang digambarkan dalam perancangan sistem dari adalah sebagai berikut :
3.2.3.1Sequence Diagram Mengirim SOS
Berikut adalah sequence diagram dari Mengirim SOS. Aktor yang berperan disini adalah jamaah haji. Objek yang terlibat diantaranya adalah objek
Gambar 3.10 Sequence Diagram Mengirim SOS
Proses dimulai saat Jamaah Haji membuka halaman utama aplikasi, kemudian Jamaah Haji menekan tombol SOS untuk kemudian objek
frmSOSTracking akan memanggil message dirinya sendiri untuk mendapatkan
lokasi koordinat dengan memanfaatkan Geolocation yang ada pada objek
frmSOSTracking. Kemudian hasil koordinat dikirim kepada objek Tracking untuk
kemudian dimasukkan kedalam database oleh objek TrackingModel. Selain itu saat proses update location ke database barjalan, Objek Tracking juga meminta
request kepada server untuk mengirim sms alert kepada Koordinator melalui sms gateway sebagai notifikasi bahwa terdapat jamaah yang sedang tersesat.
3.2.3.2Sequence Diagram Lihat Peta J amaah Ter sesat
Gambar 3.11 adalah sequence diagram dari Lihat Peta Jamaah Tersesat. Aktor yang berperan adalah Koordinator. Kemudian objek yang terlibat adalah objek frmTampilTracking sebagai boundary object, Tracking sebagai controller
Gambar 3.11 Sequence Diagram Lihat Peta Jamaah Tersesat
Proses dimulai saat Koordinator membuka halaman Tampil Peta Jamaah, objek frmTampilTracking akan mengirimkan request tampilan peta dan request data titik koordinat jamaah tersesat dalam bentuk data XML. Request tersebut akan dijalankan oleh objek Tracking untuk kemudian mengirimkan request data kepada database lewat objek TrackingModel. Kemudian hasilnya akan dikirimkan kembali melalui objek Tracking berupa tampilan peta beserta data titik koordinatnya dalam bentuk Marker di Google Maps.
Trigger selanjutnya terjadi apabila Koordinator meminta rute terpendek
antara koordinator berada menuju lokasi dari jamaah. Ketika objek
frmTampilTracking request rute, akan langsung diproses oleh objek Tracking
dengan menampilkan rute terpendek.
Proses selanjutnya yang mungkin terjadi adalah pada saat Koordinator ingin mengubah status jamaah yang tersesat menjadi tidak tersesat lagi. Objek
Tracking kepada objek entity TrackingModel untuk kemudian akan memproses
update database dan hasilnya akan dikembalikan sampai kepada tampilan browser.
3.2.3.3Sequence Diagram Manajemen Data Regu
Untuk manajemen Administrator, berikut adalah sequence diagram dari Manajemen Data Regu. Aktor yang berperan adalah Administrator. Kemudian objek yang terlibat adalah objek frmRegu sebagai boundary object, Regu sebagai
controller object, dan ReguModel sebagai entity object.
Gambar 3.12 Sequence Diagram Manajemen Data Regu
Administrator mengisi form dan mengirimnya, objek frmRegu akan melakukan validasi terhadap masukan dari Administrator. Jika valid maka data akan diteruskan kepada objek Regu untuk langung dihubungkan kepada ReguModel yang bertugas melakukan request masukan ke dalam database.
Untuk trigger edit data regu juga sama, dimulai saat Administrator request halaman form edit, Administrator mengubah data pada form, kemudian objek
frmRegu melakukan validasi masukan dari Administrator. Jika valid maka data
akan diteruskan oleh objek Regu untuk dikirim kepada ReguModel dan
ReguModel akan melakukan update database.
Trigger hapus data regu, jika ada request dari Administrator untuk
menghapus data regu, frmReg akan mengirim request data hapus kepada objek
Regu untuk dikirim kepada ReguModel dan ReguModel akan melakukan proses
hapus data pada database.
3.2.3.4Sequence Diagram Manajemen Data Koordinator
Pada manajemen data koordinator, berikut adalah sequence diagram dari Manajemen Data Koordinator. Aktor yang berperan adalah Administrator. Kemudian objek yang terlibat adalah objek frmTambahKoor sebagai boundary
object, Koordinator sebagai controller object, dan KoordinatorModel sebagai
entity object.
Proses trigger pada manajemen data koordinator adalah saat Administrator
request form tambah data, form edit data, dan request hapus data. Pada
masing-masing trigger tersebut proses awal request ditangani oleh objek
frmTambahKoor, kemudian melakukan validasi masukan dari Administrator. Jika
menghubungkan dengan objek entity yaitu KoordinatorModel untuk kemudian melakukan eksekusi request kepada database.
Gambar 3.13 Sequence Diagram Manajemen Data Koordinator
Untuk request hapus data, proses awal request ditangani oleh objek
hapusKoor kemudian akan dilanjutkan kepada objek Koordinator yang
menghubungkan dengan objek entity yaitu KoordinatorModel untuk kemudian melakukan eksekusi request kepada database.
3.2.3.5Sequence Diagram Manajemen Data J amaah
Pada manajemen data jamaah, berikut adalah sequence diagram dari Manajemen Data Jamaah. Aktor yang berperan tetap sama yaitu Administrator. Kemudian objek yang terlibat adalah objek frmJamaah sebagai boundary object,
Gambar 3.14 Sequence Diagram Manajemen Data Jamaah
Proses trigger pada manajemen data jamaah adalah saat Administrator
request form tambah data, form edit data, dan request hapus data. Pada
masing-masing trigger tersebut proses awal request ditangani oleh objek frmJamaah, kemudian melakukan validasi masukan dari Administrator. Jika valid maka request akan dilanjutkan kepada objek Jamaah yang menghubungkan dengan objek entity yaitu JamaahModel untuk kemudian melakukan eksekusi request kepada database.
3.2.4 Class Diagram
Gambar 3.15 Class Diagram
Diagram di atas menggambarkan class diagram yang ada pada sistem Aplikasi Mobile SOS Jamaah Haji Berbasis Web. Diantaranya adalah class Jamaah, Regu, Tracking, dan Koordinator. Class-class tersebut akan diimplementasikan dengan bahasa pemrograman PHP Framework CodeIgniter.
3.3 Perancangan Data
Perancangan data digunakan untuk membuat suatu struktur database yang dibutuhkan oleh sistem dan merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai. Perancangan data akan dilakukan dengan tahap perancangan struktur tabel secara konseptual dan fisik.
3.3.1 CDM (Conceptual Data Model)