RANCANG BANGUN APLIKASI BERBAGI LOKASI
PADA TELEPON GENGGAM BERBASIS SISTEM
OPERASI ANDROID
TUGAS AKHIR
Program Studi S1 Sistem Informasi
Oleh:
MOCH. SU’UDDIN
06410100247
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
ABSTRAK ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
BAB I : PENDAHULUAN ... 1
1.1. Latar belakang masalah ... 1
1.2. Perumusan masalah ... 3
1.3. Pembatasan masalah ... 3
1.4. Tujuan ... 3
1.5. Sistematika penulisan ... 4
BAB II : LANDASAN TEORI ... 6
1.1. Telepon Genggam ... 6
1.2. Android ... 7
1.3. Global Positioning System ... 9
1.4. Siklus Pengembangan Sistem ... 12
3.1. Identifikasi Masalah ... 35
3.2. Identifikasi Tujuan Rancangan ... 36
3.3. Rancangan Penelitian ... 36
3.4. Mendapatkan Kebutuhan ... 46
3.5. Analisa Kebutuhan ... 51
3.6. Perancangan Objek ... 72
3.7. Rancangan Basis Data ... 83
3.8. Perancangan User Interface ... 84
BAB IV : IMPLEMENTASI DAN EVALUASI ... 90
4.1. Implementasi ... 90
4.2. Evaluasi ... 99
BAB V : KESIMPULAN DAN SARAN ... 105
1.1. Kesimpulan ... 105
1.2. Saran ... 105
Tabel 2.1 Strategi Penyimpanan Data ... 25
Tabel 2.2 Pola Perancangan ... 31
Tabel 3.1 Identifikasi Use Case MencariLokasi ... 40
Tabel 3.2 Identifikasi Use Case MelihatDetailLokasi ... 42
Tabel 3.3 Identifikasi Use Case MenambahLokasi ... 43
Tabel 3.4 Identifikasi Use Case MengaturDetailLokasi ... 44
Tabel 3.5 Identifikasi Use Case GPSTidakAktif ... 45
Tabel 3.6 Identifikasi Use Case SinyalGPSBuruk ... 46
Tabel 3.7 Identifikasi Aktor ... 46
Tabel 3.8 Identifikasi Skenario 1 ... 47
Tabel 3.9 Identifikasi Skenario 2 ... 48
Tabel 3.10 Identifikasi Skenario 3 ... 49
Tabel 3.11 Identifikasi Objek Analisa Awal ... 50
Tabel 3.12 Identifikasi Objek Entitas ... 51
Tabel 3.13 Identifikasi Objek Batas ... 52
Tabel 3.14 Identifikasi Objek Kendali ... 54
Tabel 3.15 Identifikasi Asosiasi Objek Entitas ... 58
Tabel 3.16 Asosiasi Objek Kendali dan Objek Batas ... 59
Tabel 3.17 Identifikasi Agregat ... 60
Tabel 3.18 Identifikasi Atribut ... 61
Tabel 3.19 Perangkat Keras Client ... 66
Tabel 3.23 Kendali Akses ... 69
Tabel 3.24 Kendali Aliran Umum ... 69
Tabel 3.25 Penjelasan Use Case Tambahan ... 71
Tabel 3.26 Atribut dan Operasi Tambahan ... 77
Tabel 3.27 Tipe, Tanda dan Keterlihatan ... 78
Tabel 3.28 Kondisi sebelum dan sesudah ... 80
Gambar 2.1 Trilaterasi 2 dimensi ... 10
Gambar 2.2 Siklus Pengembangan Sistem ... 13
Gambar 3.1 Gambaran blok diagram penambahan lokasi ... 37
Gambar 3.2 Gambaran blok diagram pencarian lokasi ... 38
Gambar 3.3 Aktor dan Use Case MencariLokasi ... 40
Gambar 3.4 Aktor dan Use Case MelihatDetailLokasi ... 41
Gambar 3.5 Aktor dan Use Case Menambah Lokasi ... 42
Gambar 3.6 Aktor dan Use Case MengaturDetailLokasi ... 43
Gambar 3.7 Aktor dan Use Case SistemGPS ... 45
Gambar 3.8 Diagram Urutan MencariLokasi ... 55
Gambar 3.9 Diagram Urutan MelihatDetailLokasi ... 56
Gambar 3.10 Diagram Urutan MenambahLokasi ... 56
Gambar 3.11 Diagram Urutan MengaturDetailLokasi ... 57
Gambar 3.12 Diagram Status KendaliMencariLokasi ... 62
Gambar 3.13 Diagram Status KendaliMelihatDetail ... 62
Gambar 3.14 Diagram Status KendaliMenambahLokasi ... 63
Gambar 3.15 Diagram Status KendaliMengaturLokasi ... 64
Gambar 3.16 Pewarisan Pengguna dan PenggunaTerdaftar ... 64
Gambar 3.17 Identifikasi Subsistem ... 65
Gambar 3.18 Alokasi Objek dan subsistem ... 67
Gambar 3.22 Use Case Konfigurasi Server ... 71
Gambar 3.23 Penggunaan Kembali Node Web Server ... 73
Gambar 3.24 Penggunaan Kembali MencariLokasi ... 74
Gambar 3.25 Penggunaan Kembali MelihatDetail ... 74
Gambar 3.26 Penggunaan Kembali MengaturLokasi ... 75
Gambar 3.27 Penggunaan Kembali MenambahLokasi ... 75
Gambar 3.28 Penggunaan Kembali Daftar ... 76
Gambar 3.29 Penggunaan Kembali Login ... 76
Gambar 3.30 Penggunaan Kembali TampilanAwal ... 77
Gambar 3.31 Rancangan Basis Data ... 83
Gambar 3.32 Rancangan Layar Awal ... 84
Gambar 3.33 Rancangan Layar Setelah Login ... 85
Gambar 3.34 Rancangan Layar Mendaftar ... 85
Gambar 3.35 Rancangan Layar Login ... 86
Gambar 3.36 Rancangan Layar Menambah Lokasi ... 86
Gambar 3.37 Rancangan Layar Daftar Lokasi ... 87
Gambar 3.38 Rancangan Layar Detail Lokasi ... 87
Gambar 3.39 Rancangan Layar Komentar Lokasi ... 88
Gambar 3.40 Rancangan Layar Gambar Lokasi ... 88
Gambar 3.41 Rancangan Layar Mencari Lokasi ... 89
Gambar 3.42 Rancangan Layar Tampilan Peta ... 89
Gambar 4.3 Tampilan Mendaftar ... 94
Gambar 4.4 Tampilan Daftar Lokasi ... 94
Gambar 4.5 Tampilan Menambah Lokasi ... 95
Gambar 4.6 Tampilan Detil Lokasi ... 96
Gambar 4.7 Tampilan Daftar Gambar Lokasi ... 96
Gambar 4.8 Tampilan Daftar Komentar Lokasi ... 97
Gambar 4.9 Tampilan Mencari Lokasi ... 98
1 1.1Latar Belakang Masalah
Telepon genggam adalah salah satu media yang bisa digunakan untuk melakukan komunikasi. Pada perkembangannya telepon genggam tidak lagi hanya berfungsi untuk melakukan atau menerima panggilan, namun juga dapat digunakan untuk mengirim dan menerima pesan singkat dalam bentuk SMS. Ketika kebutuhan manusia akan telepon genggam semakin berkembang, maka berkembang dan bertambah pula kemampuan yang dimiliki perangkat ini. Selain dapat memproses suara dan text, telepon genggam juga dapat memproses data yang dikirim dan diterima melalui media internet. Pada beberapa telepon genggam juga terdapat fungsi-fungsi yang lebih lengkap dan hampir menyerupai sebuah perangkat komputer. Sebut saja fitur Global Positioning System atau lebih dikenal dengan GPS. Dengan fitur ini sebuah perangkat telepon genggam dapat mengetahui koordinat dimana perangkat ini berada dan biasanya fitur ini dipadukan dengan sebuah peta (Garmin ltd, 2008).
lain juga dapat melihatnya. Untuk berbagi lokasi tersebut, kita dapat melakukan pendaftaran terlebih dahulu dan kita dapat menentukan dengan siapa kita ingin berbagi lokasi, kita juga harus saling berteman dengan pengguna lain agar dapat berbagi informasi lokasi.
Saat ini sudah terdapat beberapa aplikasi yang memberikan fitur berbagi lokasi, salah satunya adalah Foursquare. Dengan aplikasi ini kita dapat berbagi lokasi dengan orang lain dan juga dapat mengetahui siapa saja pengguna aplikasi yang berada di sekitar kita. Pengguna dapat saling berkomentar mengenai tempat tertentu. Dalam perkembangannya, aplikasi ini lebih menyerupai aplikasi sosial media, sehingga pengoperasian menjadi lebih rumit. Fungsi utama berbagi lokasi nya menjadi tertutup dengan fungsi sosial media yang dimiliki.
1.2Perumusan Masalah
Berdasarkan dari latar belakang tersebut, dapat dirumuskan masalah sebagai berikut:
1. Bagaimana merancang dan membuat aplikasi yang dapat berbagi lokasi pada telepon genggam dengan sistem operasi Android?
1.3Pembatasan Masalah
Dalam pembuatan dan perancangan sistem ini, terdapat beberapa pembatasan masalah agar tidak terlalu meluasnya pembahasan dan lebih terarah. Pembatasan tersebut antara lain :
1. Program aplikasi yang akan dibuat menggunakan Bahasa Pemrograman Java pada sistem operasi Android.
2. Fungsi yang akan dibuat adalah pendaftaran, menambah lokasi, komentar dan gambar, mencari lokasi dan melihat detail lokasi.
3. Web Server hanya digunakan untuk melayani permintaan melalui telepon genggam.
1.4Tujuan
1.5Sistematika Penulisan
Sistematika dalam penyusunan Tugas Akhir ini akan dijabarkan dalam setiap bab dengan pembagian sebagai berikut :
Bab I : Pendahuluan
Pada bab ini akan dibahas latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan dari Tugas Akhir ini, serta sistematika penulisan yang berisi penjelasan singkat pada masing-masing bab.
Bab II : Landasan teori
Pada bab ini dibahas secara singkat teori-toeri yang berhubungan dan mendukung dalam pembuatan tugas akhir ini. Adapun teori yang dibahas meliputi: Android, Global Positioning System (GPS), Siklus pengembangan sistem, dan Analisa dan perancangan berorientasi object. Bab III : Metode penelitian
Bab ini berisi penjelasan tentang tahap-tahap yang akan dikerjakan dalam penyelesaian Tugas Akhir yang terdiri dari identifikasi masalah dan tujuan, perancangan sistem, tahapan penelitian sampai dengan desain uji coba Aplikasi berbagi lokasi pada telepon genggam berbasis sistem operasi android.
Bab IV : Implementasi dan Evaluasi
Bab V : Kesimpulan Dan Saran
6 BAB II
LANDASAN TEORI
2.1 Telepon Genggam
Pada jaman yang telah maju dimana semua informasi dapat diperoleh dan disampaikan dengan cepat melalui media internet, akan merubah gaya orang bertukar informasi. Jika pada awalnya informasi disampaikan dan diperoleh dari perbincangan mulut ke mulut, kemudian berkembang menjadi melalui media cetak dan elektronik, saat ini informasi dapat disampaikan dan diperoleh melalui media yang terbilang relatif kecil, ringan dan hampir dimiliki oleh semua orang, yaitu telepon genggam.
memiliki sebuah sistem operasi untuk menunjang kegiatan pada perangkat tersebut.
Dengan semakin mutakhirnya sebuah perangkat telepon genggam, tentu semakin tinggi juga harapan pengguna terhadap perangkat tersebut. Pengguna mengharapkan aplikasi-aplikasi yang tersedia dapat merubah gaya hidup mereka sehari-hari menjadi lebih mudah.
Salah satu sistem operasi yang tengah berkembang adalah Android. Android merupakan sistem operasi yang bersifat terbuka, dapat dikembangkan oleh siapa saja dan disponsori oleh Google. Dengan Android para pengembang aplikasi telepon genggam dapat menggunakan kemampuan telepon genggamnya dengan maksimal.
2.1 Android
Aplikasi Android dibuat dengan bahasa pemrograman Java dan di install
menggunakan ekstensi .apk (Meier, 2012). 2.1.1 Activity
2.1.2 Service
Service tidak memiliki tampilan, tapi berjalan sebagai background process
untuk waktu yang tidak ditentukan. Sebagai contoh, aplikasi yang memainkan musik akan memiliki Service yang terus berjalan walaupun pengguna sedang membuka aplikasi lain. Pengguna kemudian dapat kembali ke aplikasi pemutar musik untuk mematikan Service nya. Walaupun tidak memiliki tampilan, Service dapat memanggil Activity untuk menerima masukan dari pengguna.
2.1.3 Broadcast Receiver
Merupakan komponen yang berfungsi untuk menerima dan berreaksi terdapat pengumuman yang bersifat tersiar. Contohnya, terjadi perubahan zona waktu, baterai dalam kondisi kritis, telah terjadi pengambilan gambar melalui kamera atau pengguna merubah pilihan bahasa. Aplikasi juga dapat memulai siaran, misalnya telah selesai melakukan pengunduhan file.
2.1.4 Content Provider
Content Provider memungkinkan data yang digunakan pada satu aplikasi tersedia untuk aplikasi yang lain. Data dapat disimpan dalam sistem file, basis data SQL atau cara apapun yang memungkinkan.
2.1.5 Intent
2.2 Global Positioning System
GPS (Global Positioning System) adalah system navigasi satelit milik Amerika Serikat yang menyediakan layanan pemetaan posisi, navigasi dan waktu kepada pengguna di seluruh dunia (Garmin, 2008).
2.2.1 Bagian-bagian GPS
GPS terdiri dari 3 bagian, yaitu: a. Space
Terdiri dari 24 sampai 32 satelit pada orbit medium termasuk pendorong yang digunakan untuk menjaga orbitnya
b. Control
Terdiri dari Master Control Station, Alternate Master Control Station dan kumpulan antena serta stasiun pengamat
c. User
Adalah perangkat yang menerima sinyal dari bagian Space dan menyediakan lokasi secara 3 dimensi (latitude, longitude dan altitude)
2.2.2 Cara Kerja GPS
GPS memiliki 24 sampai 32 satelit pada orbit medium, sekitar 19.300 km, di atas permukaan laut. Setiap harinya satelit ini melakukan 2 rotasi mengelilingi bumi. Orbitnya diatur sedemikian sehingga setiap saat dimanapun di bumi terdapat minimal 4 satelit yang terlihat di langit.
digunakan untuk menentukan lokasi dari penerima itu sendiri. Operasi ini didasari pada prinsip matemática yang sederhana yang disebut Trilaterasi.
a. Trilaterasi 2 Dimensi
Jika kita berada pada suatu tempat yang kita tidak mengetahui dimana lokasinya, sebut saja lokasi X, kemudian kita bertanya pada seseorang dan mendapatkan informasi kalau kita berada 60 km dari kota A. Kita masih tidak akan mengetahui lokasi pastinya. Karena kita bisa saja berada pada radius 60 km dari kota A dan itu bisa berada dimana saja.
Kemudian kita bertanya pada orang kedua dan mendapat informasi bahwa kita berada 50 km dari kota B. Dengan menggabungkan kedua informasi tersebut, kita mengetahui bahwa kita berada pada 2 kemungkinan lokasi yang merupakan titik potong radius antara kota A dan kota B.
Kemudian kita kembali bertanya kepada orang ketiga dan mendapat informasi bahwa kita berada 70 km dari kota C. Dengan menggabungkan ketiga informasi yang telah kita dapat kita dapat mengetahui dengan pasti lokasi kita. Karena hanya ada satu titik potong radius antara 3 kota tersebut. Gambarannya seperti gambar berikut:
Gambar 2.1 Trilaterasi 2 dimensi
A
B
b. Trilaterasi 3 Dimensi
Sama halnya seperti trilaterasi 2 dimensi yang menentukan posisi berdasarkan radius lingkaran, pada trilaterasi 3 dimensi penentuan posisi berdasarkan radius bola.
Jika penerima mengetahui jaraknya dengan satelit 1, maka penerima dapat berada dimana saja pada radius sebuah bola. Jika penerima kemudian mengetahui jaraknya dari satelit 2, maka perpotongan 2 bola tersebut akan berbentuk lingkaran, dan penerima dapat berada dimana saja di lingkaran tersebut. Jika penerima mengetahui jaraknya dari satelit 3, perpotongan radiusnya akan menghasilkan 2 titik, 1 di langit dan satu di bumi. Perpotongan yang berada di langit akan diabaikan dan dengan demikian penerima dapat mengetahui posisinya di bumi. Satelit ke-4 digunakan sebagai penunjang akurasi perhitungan.
2.2.3 Assisted GPS
GPS bekerja menggunakan sinyal radio dari satelit. Akan tetapi di kota-kota besar sinyal ini sangat sulit didapat karena adanya gedung-gedung tinggi dan menjadi sangat lemah karena harus melalui tembok-tembok tebal. Assisted GPS dapat mengatasi masalah ini dengan menggunakan data dari sebuah jaringan.
2.3. Siklus Pengembangan Sistem
Siklus hidup pengembangan sistem dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi.
Dalam rekayasa perangkat lunak, konsep ini mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak.
Tahapan pengembangan yang penting bagi pengembang adalah: perencanaan, analisa, perancangan dan implementasi.
Perencanaan merupakan tahapan kegiatan membuat rencana proyek dan dokumen-dokumen perencanaan lainnya. Tahapan ini menyediakan dasar untuk mendapatkan informasi-informasi yang dibutuhkan untuk mencapai solusi.
Tujuan dari tahap analisa adalah untuk menentukan masalah dalam usaha untuk menyelesaikannya. Tahapan ini melibatkan usaha untuk memecah sistem kedalam beberapa bagian untuk menganalisa situasi, tujuan proyek, memecah apa yang perlu dikembangkan dan bersama pengguna mendefinisikan kebutuhan.
bentuk diagram, bisnis proses dan hubungan entitas dengan kamus data yang lengkap.
Pada tahap implementasi, modul dan subsistem akan diimplementasikan kedalam kode. Tes unit dan tes modul dilakukan pada tahap ini.
Tahapan tersebut dapat dilihat pada gambar berikut:
Gambar 2.2 Siklus Pengembangan Sistem
Salah satu metode dalam siklus pengembangan sistem adalah metode analisa dan perancangan berorientasi objek. Pada metode ini dilakukan beberapa penyesuaian agar tahapan-tahapan umum dapat dilakukan sesuai dengan paradigm berorientasi objek.
Tahap perancangan dipecah menjadi dua yaitu perancangan sistem dan perancangan objek.
Tahap implementasi tetap digunakan untuk mengimplementasi hasil perancangan.
Penjelasan dari masing-masing tahapan tersebut dijelaskan pada bagian berikutnya.
2.4 Analisa Dan Perancangan Berorientasi Objek 2.4.1 Mendapatkat Kebutuhan
Mendapatkan kebutuhan berfokus pada kegiatan menjabarkan tujuan dari sistem dan apa yang dapat dilakukan oleh sistem. Hal ini dilihat dari sudut pandang pengguna. Antara lain, fungsi – fungsi sistem, interaksi antara pengguna dan sistem, kesalahan yang dapat dideteksi dan ditangani oleh sistem dan kondisi-kondisi sekitar dimana sistem tersebut ditempatkan.
Aktivitasnya adalah: a. Identifikasi Aktor
Aktor mewakili entitas luar yang berinteraksi dengan sistem. Aktor dapat berupa manusia atau sistem yang lain. Aktor adalah peran secara abstrak dan tidak selalu merujuk kepada seseorang.
Pertanyaan-pertanyaan yang dapat diajukan untuk mengidentifikasi aktor adalah:
i. Kelompok pengguna mana yang mendapatkan dukungan sistem dalam menyelesaikan pekerjaannya?
iii. Kelompok pengguna mana yang melakukan fungsi kedua, seperti pemeliharaan dan administrasi?
iv. Dengan perangkat keras atau lunak apa sistem akan berinteraksi? b. Identifikasi Skenario
Skenario adalah ”deskripsi naratif dari apa yang orang lakukan dan alami
ketika mereka mencoba menggunakan sistem dan aplikasi komputer” (Carroll,1995). Skenario adalah deskripsi nyata, terfokus dan non formal dari sebuah fitur pada sistem dari sudut pandang aktor. Hal-hal yang perlu dideskripsikan dalam skenario:
i. nama skenario
ii. contoh aktor yang berpartisipasi iii. alur kejadian
Skenario tidak dapat mengandung deskripsi dari suatu keputusan. Untuk mendeskripsikan keputusan, dua skenario harus dibuat untuk masing-masing keputusan.
Untuk mengidentifikasi skenario, digunakan pertanyaan sebagai berikut: a. Tugas apa saja yang diinginkan aktor terhadap sistem
b. Informasi apa saja yang diakses aktor? Siapa yang membuat data? Apakah data dapat diubah atau dihapus? Oleh siapa?
c. Perubahan apa saja yang perlu diinformasikan aktor kepada sistem, seberapa sering dan kapan?
c. Identifikasi Use Case
Skenario adalah contoh dari Use Case, sehingga Use Case adalah spesifikasi dari semua kemungkinan skenario untuk sebuah fungsionalitas.
Use Case dimulai oleh sebuah aktor. Setelah dimulai, sebuah Use Case dapat berinteraksi dengan aktor lainnya. Sebuah Use Case mewakili sebuah alur kejadian yang lengkap yang menggambarkan serangkaian interaksi yang terkait sebagai hasil dari inisiasi.
Hal-hal yang perlu digambarkan dalam sebuah Use Case adalah:
i. Nama Use Case : nama dari Use Case sebaiknya merupakan frase kata kerja yang mengindikasikan kegiatan yang ingin diselesaikan Aktor. ii. Aktor yang terlibat : Aktor yang memulai dan aktor-aktor yang
berinteraksi. Sebaiknya merupakan kata benda iii. Alur Kejadian
iv. Kondisi Awal : Kondisi yang dibutuhkan untuk memulai Use Case v. Kondisi Akhir : Kondisi ketika Use Case telah selesai
Dalam membuat Use Case, sebaiknya tidak menggambarkan antarmuka pengguna agar pembuatan Use Case tidak terpengaruh.
d. Identifikasi Hubungan Aktor dan Use Case
Hubungan antara Aktor dan Use Case memungkinkan pembuat dan pengguna untuk mengurangi kompleksitas model dan menambah tingkat pengertiannya.
Kita menggunakan hubungan ”mengembangkan” untuk memisahkan alur
kejadian ”pengecualian” dan sama.
Kita menggunakan hubungan ”menyertakan” untuk mengurangi redundan
diantara Use Case
e. Identifikasi Objek Analisa Awal
Salah satu rintangan awal ketika pembuat dan pengguna mulai berkolaborasi adalah kesalahan dalam perbedaan terminologi. Kesalahan dapat terjadi karena istilah yang sama digunakan pada area yang berbeda dan memiliki arti yang berbeda.
Untuk membangun sebuah terminologi yang jelas, pembuat mengidentifikasi objek-objek yang terlibat untuk masing-masing Use Case. Pembuat harus mengidentifkasi, memberi nama dan menggambarkan serta mendokumentasikan kedalam kamus data. Membuat kamus data merupakan langkah awal menuju tahap analisa.
Panduan untuk mengidentifikasikan Objek Analisa Awal adalah:
i. Istilah-istilah yang harus dijelaskan oleh pembuat dan pengguna untuk mengerti Use Case
ii. Kata benda yang tampil berkali-kali dalam Use Case iii. Entitas dunia nyata yang harus dilacak oleh sistem iv. Proses dunia nyata yang harus dilacak oleh sistem
v. Use Case itu sendiri vi. Sumber data
Pada tahap mencari kebutuhan, objek-objek yang berpartisipasi dihasilkan untuk setiap Use Case. Jika dua Use Case mereferensi pada objek yang sama, definisi objek tersebut harus sama. Jika dua Use Case menggunakan nama yang sama untuk konsep yang berbeda, maka salah satu atau kedua nama harus diganti untuk memperjelas perbedaan mereka. Konsolidasi ini menghilangkan kerancuan dalam terminologi yang digunakan.
2.4.2 Analisa Kebutuhan a. Identifikasi Objek Entitas
Objek Entitas adalah objek yang memiliki data dan disimpan secara permanen oleh aplikasi. Objek jenis ini, keberadaannya dimonitor oleh aplikasi. Cara mengidentifikasi objek ini adalah dengan mengenali objek-objek mana yang merupakan kata benda, sering digunakan pada Use Case dan memiliki data-data.
Secara konvensi, penulisan objek entitas menggunakan kata benda. Untuk membedakan, juga digunakan Stereotype <<entity>>.
b. Identifikasi Objek Batas
Objek batasan adalah objek yang menjadi tempat interaksi antara aktor dengan aplikasi. Objek ini dikenali sebagai tempat aktor mengisi data, menerima konfirmasi dari aplikasi dan berinteraksi dengan aplikasi. Tombol, Formulir, Kotak Dialog dan Kotak Pemberitahuan, adalah contoh dari objek Batasan.
Secara konvensi, penulisan objek batasan diawali dengan jenis batasannya, seperti TombolMulai, FormulirPendaftaran, DialogSimpan. Menggunakan
c. Identifikasi Objek Kendali
Objek kendali merupakan objek yang mengendalikan berjalannya sebuah Use Case. 1 Use Case biasanya memiliki 1 objek kendali.
Dalam penulisannya menggunakan prefiks “Kendali”, seperti Kendali
Pendaftaran Pengguna, Kendali Menambah Lokasi. Menggunakan Stereotype <<control>>.
d. Pemetaan Use Case ke Objek dengan Diagram Urutan
Sebuah diagram urutan, menghubungkan use case–use case dengan objek-objek. Diagram ini menunjukan bagaimana tingkah laku sebuah use case didistribusikan ke objek-objek yang berpartisipasi. Diagram ini juga menunjukan interaksi antara objek-objek.
Dalam pembuatan sebuah diagram urutan, digunakan petunjuk sebagai berikut:
i. kolom pertama harus mewakili aktor yang memulai use case
ii. kolom kedua harus mewakili objek batas yang digunakan aktor untuk memulai use case
iii. kolom ketiga harus mewakili objek kendali yang mengatur keseluruhan use case.
iv. Objek kendali diinisiasi oleh objek batas yang memulai use case. v. Objek batas diinisiasi oleh objek kendali.
vi. Objek entitas digunakan oleh objek kendali dan batas.
e. Identifikasi Asosiasi
Diagram Kelas digunakan untuk menggambarkan asosiasi diantara objek-objek dan juga atributnya.
Sebuah asosiasi menunjukan sebuah hubungan antara dua atau lebih kelas. Mengidentifikasi asosiasi mempunyai dua keuntungan. Pertama, memperjelas model analisa dengan membuat hubungan antara objek secara eksplisit. Kedua, memunkinkan pembuat aplikasi untuk menemukan kasus-kasus batasan yang terkait dengan hubungan. Misalnya apakah kelas tertentu dapat diakses oleh satu atau lebih kelas.
Asosiasi mempunyai beberapa properti:
i. Nama, untuk menggambarkan asosiasi antara dua kelas.
ii. Peran, pada setiap titik kelas, untuk mengidentifikasi fungsi dari masing-masing kelas dalam setiap asosiasi.
iii. Multiplicity, pada setiap titik kelas, untuk mengidentifikasi jumlah nyata kelas yang diperbolehkan.
f. Identifikasi Agregat
Agregat adalah bentuk khusus dari asosiasi yang menggambarkan hubungan
whole-part. Jika satu objek merupakan bagian dari dari objek lain, maka hubungannya adalah agregat
g. Identifikasi Atribut
Atribut mempunyai beberapa properti:
i. Nama, mengidentifikasi atribut pada objek tertentu. ii. Deskripsi mengenai atribut tersebut.
iii. Tipe, menunjukan nilai-nilai apa saja yang dapat diterima oleh atribut tersebut.
h. Pemodelan Tingkah Laku berdasarkan Status Objek
Diagram status menggambarkan tingkah laku dilihat dari sudut pandang satu objek. Melihat tingkah laku satu objek memungkinkan pembuat aplikasi untuk membangun deskripsi yang lebih formal dari tingkah laku objek dan akibatnya dapat mengidentifikasi use case yang belum ada. Tidak semua objek membutuhkan diagram status. Hanya objek yang memiliki waktu hidup lebih lama dan tingkah laku yang bergantung pada status yang perlu dibuatkan diagram status. Itu berarti, semua objek kendali, sebagian objek entitas dan tidak berlaku bagi objek batas.
i. Pemodelan Hubungan Pewarisan antara objek
Generalisasi digunakan untuk menghilangkan redundan pada model analisa. Jika dua atau lebih kelas memiliki atribut atau tingkah laku yang sama, maka kesamaan tersebut dikonsolidasi kedalam sebuah kelas super.
2.4.3 Perancangan Sistem
Pembuat juga memilih strategi untuk membangun sistem seperti strategi perangkat keras dan lunak, strategi penyimpanan data, aliran data secara umum, kebijakan kendali akses dan mengatasi masalah kondisi batasan. Hasil dari perancangan sistem adalah sebuah model yang memuat sebuah dekomposisi subsistem dan deskripsi yang jelas dari masing-masing strategi
a. Identifikasi Tujuan Rancangan
Definisi tujuan perancangan adalah langkah pertama dari perancangan sistem. Hal ini mengidentifikasi kualitas yang harus menjadi fokus pembuatan sistem. Banyak tujuan perancangan dapat di ambil dari kebutuhan non fungsional atau domain aplikasi.
Secara umum, tujuan perancangan dapat dibagi menjadi kriteria-kriteria sebagai berikut:
i. Kriteria performance, termasuk kecepatan dan kebutuhan kapasitas.
ii. Kriteria keandalan, menentukan berapa besar usaha yang perlu dilakukan untuk meminimalkan kesalahan dan akibatnya.
iii. Kriteria biaya, termasuk biaya untuk pembuatan sistem, penempatannya dan pengaturannya.Jika sistem menggantikan sistem yang telah ada, berapa biaya untuk memastikan bahwa sistem baru dapat berjalan menggunakan data-data lama.
iv. Kriteria pemeliharaan, menentukan seberapa sulit untuk merubah sistem setelah sistem dipasang. Seberapa mudah untuk menambah fungsi baru. v. Kriteria pengguna akhir, termasuk kualitas yang diharapkan oleh
keandalan. Apakah aplikasi sulit untuk digunakan dan dipelajari. Apakah pengguna dapat menyelesaikan tugasnya menggunakan sistem.
b. Identifikasi Subsistem
Menemukan subsistem selama perancangan sistem hampir sama dengan menemukan objek selama analisa.
Langkah awal pemecahan subsistem diambil dari kebutuhan fungsional. Langkah lainnya adalah dengan menjadikan satu objek-objek yang terkait secara fungsional. Objek-objek dalam satu use case dimasukan kedalam subsistem sendiri. Jika ada objek-objek yang digunakan pada use case lain, maka dibuatkan subsistem sendiri atau menempatkan objek tersebut pada subsistem yang membuat mereka.
c. Pemetaan Subsistem ke Processor dan Komponen
Pemetaan subsistem ke processor dan komponen memiliki 2 tahap. Tahapannya adalah: memilih konfigurasi perangkat keras dan platform, kemudian mengalokasi objek-objek dan subsistem ke node-node.
Banyak sistem yang berjalan pada lebih dari satu sistem dan bergantung pada akses intranet atau internet. Penggunaan banyak komputer dapat mewujudkan kebutuhan akan kinerja yang tinggi dan keterhubungan beberapa pengguna yang terdistribusi. Konsekuensinya, kita perlu melakukan alokasi subsistem kedalam komputer dan rancangan infrastruktur untuk mendukung komunikasi antara subsistem tersebut secara hati-hati. Komputer-komputer ini dimodelkan sebagai node di dalam diagram deployment UML.
perangkat lunak apa saja yang dibutuhkan, seperti sistem basis data atau sistem komunikasi. Pemilihan sebuah mesin virtual mengurangi jarak antara sistem dan
platform perangkat keras tempat sistem akan dijalankan. Semakin banyak fungsi yang disediakan oleh komponen mesin virtual, semakin sedikit pekerjaan pengembangan yang harus dilakukan.
Setelah konfigurasi perangkat keras telah ditentukan dan mesin-mesin virtual telah dipilih, objek-objek dan subsistem-subsistem ditempatkan pada node-node
nya. Kadang-kadang hal ini memicu identifikasi objek-objek dan subsistem-subsistem baru untuk memindahkan data antara node.
d. Identifikasi Penyimpanan Data
Penyimpanan dibutuhkan agar data dapat tetap diakses walaupun setelah sistem dimatikan atau mengalami kegagalan.
Dalam mengidentifikasikan data yang perlu disimpan, kita dapat mengambil sebagian atau seluruh objek-objek entitas. Namun tidak hanya objek entitas yang perlu disimpan, data yang terkait dengan keadaan sistem juga perlu disimpan. Data seperti alamat webserver, parameter koneksi hubungan basis data dan data-data lain yang dibutuhkan ketika sistem pertama kali diaktifkan.
Tabel 2.1 Strategi Penyimpanan Data
No Strategi Deskripsi
1 Sistem Berkas / File Aplikasi menyimpan data sebagai urutan biner dan menentukan bagaimana dan bila data diambil. Memiliki kecepatan yang tinggi namun membutuhkan pengaturan lebih lanjut jika ada akses secara bersamaan
2 Sistem basis data relasional
Data disimpan dalam tabel yang telah ditentukan dalam skema. Setiap kolom mewakili atribut. Setiap baris mewakili data tunggal sebagai gabungan dari beberapa atribut. Pemetaan model objek yang kompleks menjadi tantangan tersendiri. Sistem basis data menyediakan fungsi untuk mengatur akses secara bersamaan dan mengembalikan data setelah terjadi kegagalan.
3 Sistem basis data berorientasi objek
pengembangan basis data awal. Akan tetapi sistem ini lebih lambat daripada sistem relasional untuk pencarian yang sama dan lebih sulit untuk di optimasi.
e. Penyediaan Kendali Akses
Pada sistem dengan banyak pengguna, aktor yang berbeda memiliki akses ke fungsi dan data yang berbeda. Selama proses analisa, kita memodelkan kondisi ini dengan mengasosiasikan use case yang berbeda untuk aktor yang berbeda. Pada proses perancangan sistem, kita memodelkan akses dengan menentukan objek mana yang digunakan bersama oleh para aktor dan menentukan bagaimana aktor dapat mengatur akses.
Secara umum, kita perlu mendefinisikan untuk setiap aktor, operasi mana yang dapat di akses untuk objek yang digunakan secara bersamaan. Kita memodelkan akses terhadap kelas-kelas dengan sebuah matriks akses. Baris dari matriks mewakili aktor dari sistem. Kolom-kolom mewakili kelas-kelas yang kita atur aksesnya. Pertemuan baris dan kolom disebut hak akses dan didaftarkan operasi-operasi yang dapat dijalankan oleh aktor terhadap kelas tertentu.
Matriks akses dapat digambarkan menggunakan salah satu dari 3 pendekatan.
ii. daftar akses kontrol, mengasosiasikan daftar aktor dan operasi terhadap kelas yang diakses. Setiap waktu sebuah objek diakses, daftar aksesnya diperiksa terhadap aktor dan operasi yang memanggilnya.
iii. Kapabilitas, mengasosiasikan kelas dan operasi dengan aktor. Setiap waktu sebuah aktor mencoba untuk mengakses kelas dan operasi tertentu dilakukan pengecekan apakah aktor tersebut memiliki kapabilitas tersebut, jika tidak, maka akses ditolak.
Pemilihan pendekatan mempengaruhi kinerja. Tabel akses umum membutuhkan ruang yang besar namun dapat diketahui hak akses secara keseluruhan. Daftar akses kontrol dan kapabilitas tidak membutuhkan ruang yang besar akan tetapi hanya diketahui hak dari aktor atau kelas tertentu.
Sebuah matriks akses hanya mewakili kendali akses statis. Artinya hak akses dapat dimodelkan sebagai atribut dari objek pada sistem. Hak akses bersifat umum untuk semua objek.
Jika kita menginginkan agar objek tertentu memiliki hak akses yang berbeda dengan objek kelas yang sama, maka kita membutuhkan kendali akses dinamis. Pada kendali akses dinamis, dibutuhkan satu subsistem untuk melakukan pengecekan apakah objek dengan identitas tertentu memiliki akses ke objek lain dengan identittas tertentu.
f. Merancang Kendali Aliran Umum
harus dijalankan dan bagaimana urutannya. Pilihan ini didasarkan atas kejadian yang dilakukan aktor atau berdasarkan berjalannya waktu.
Terdapat tiga mekanisme kendali aliran:
i. kendali oleh prosedur, operasi menunggu masukan ketika membutuhkan data dari aktor.
ii. kendali oleh kejadian, sebuah perulangan utama menunggu untuk sebuah kejadian. Ketika sebuah kejadian terjadi, informasi disalurkan ke objek terkait.
iii. Thread, adalah variasi konkuren dari kendali oleh prosedur. Sistem dapat membuat beberapa thread masing-masing untuk kejadian yang berbeda. Jika sebuah thread membutuhkan data tambahan, dia akan menunggu masukan dari aktor tertentu. Jenis kendali ini adalah yang paling intuitif.
g. Identifikasi Kondisi Batasan
Mengidentifikasi kondisi batasan berarti memutuskan bagaimana sistem dimulai, diinisialisasi dan dimatikan. Kita juga perlu mendefinisikan bagaimana menangani kesalahan seperti kerusakan data dan tidak adanya jaringan, baik itu disebabkan oleh kesalahan piranti lunak atau kekurangan daya listrik. Use case yang digunakan disebut use case batasan.
Secara umum, kita mengidentifikasi use case batasan dengan mengamati setiap subsistem dan setiap objek persisten.
pada use case manapun, maka kita perlu menambah use case yang diakses oleh administrator sistem.
ii. Start-up dan shutdown, untuk setiap komponen, ktia tambahkan 3 use case untuk memulai, mematikan dan mengatur komponen.
iii. Penanganan pengecualian, untuk setiap kesalahan komponen, kita memutuskan bagaimana sistem harus bereaksi.
2.4.4 Perancangan Objek
Secara konsep, pengembangan sistem perangkat lunak mengisi jurang antara permasalahan dan kondisi perangkat keras yang ada.
Perancangan objek adalah tahap terakhir untuk menutup jurang tersebut. Tahap ini termasuk mengidentifikasi objek-objek solusi baru, menyesuaikan dengan komponen yang telah ada dan menentukan interface dan kelas subsistem dengan jelas. Sebagai hasilnya, model perancangan objek dapat dibagi menjadi kumpulan kelas-kelas yang dapat diimplementasikan oleh pengembang secara terpisah.
a. Reuse (Penggunaan Kembali)
Ini dilakukan dengan membungkus komponen yang telah ada dengan objek buatan atau dengan memperbaiki menggunakan pewarisan.
i. Pewarisan spesifikasi dan implementasi
Pewarisan merupakan salah satu bentuk reuse dimana ditentukan kelas orang tua dari sekelompok kelas. Fokus dari pewarisan selama perancangan objek adalah untuk mengurangi redundan. Dengan memindahkan tingkah laku redundan ke dalam 1 kelas orang tua, kita mengurangi resiko inkonsistensi jika ada perubahan. Penggunaan pewarisan yang semata-mata hanya untuk penggunaan kembali disebut pewarisan implementasi. Dengan pewarisan implementasi, pengembang menggunakan kembali kode secara cepat dengan membuat kelas anak dan memperjelas tingkah lakunya. Sebaliknya, klasifikasi konsep kedalam hirarki tipe disebut pewarisan spesifikasi.
ii. Delegasi
Delegasi adalah alternatif lain dari pewarisan implementasi yang harus digunakan ketika menginginkan penggunaan kembali. Sebuah kelas dikatakan mendelegasi kelas lain jika mengimplementasi operasi dengan mengirim kembali pesan ke kelas lain. Delegasi memperjelas ketergantungan antara kelas yang digunakan kembali dengan kelas yang baru. Pengguna kelas baru tidak perlu mengetahui jika terjadi perubahan delegasi. Sementara pengguna kelas yang digunakan kembali tidak mengalami perubahan tingkah laku.
iii. Pola Perancangan
Tabel 2.2 Pola Perancangan
No Pola Deskripsi
1 Bridge Pola ini memisahkan interface dengan
implementasinya. Kelas pengguna hanya perlu mengetahui interface nya saja
2 Adapter Pola ini membungkus komponen lama sehingga masih dapat digunakan untuk sistem yang baru.
3 Strategy Pola ini memisahkan antara algoritma dengan implementasi
4 Abstract Factory Pola ini membungkus pembuatan dari objek-objek terkait sehingga pengguna tidak dapat menggunakan objek dari hirarki yang berbeda
5 Command Pola ini memisahkan tanggung jawab objek untuk memproses perintah dari perintah itu sendiri. 6 Composite Pola ini membungkus hirarki dengan menyediakan
kelas orang tua yang umum untuk agregat.
b. Spesifikasi Interface
Selama tahap ini, layanan subsistem yang diidentifikasi pada perancangan sistem dispesifikasikan dalam istilah interface kelas, termasuk operasi, argumen, tipe dan eksepsi. Operasi dan objek tambahan yang dibutuhkan untuk mengirim data antara subsistem juga diidentifikasikan. Hasil dari spesifikasi layanan adalah sebuah spesifikasi interface yang lengkap dari masing-masing subsistem.
i. Identifikasi atribut dan operasi tambahan
bukan operasi didalam model objek. Pada saat membuat model objek, kita berfokus pada wilayah aplikasi dan mengabaikan hal-hal detail terkait dengan sistem yang tidak bergantung pada wilayah aplikasi.
ii. Menentukan tipe, tanda dan keterlihatan
Pada langkah ini, kita menspesifikasikan tipe dari atribut, tanda dari operasi dan keterlihatan atribut dan operasi. Menspesifikasi tipe memperbaiki model perancangan objek dalam 2 hal. Pertama kita menambahkan hal rinci pada model dengan menspesifikasi jangkauan pada setiap atribut. Kedua, kita memetakan kelas dan atribut dari model objek kepada tipe-tipe yang telah sediakan oleh lingkungan pengembangan.
Kita juga mempertimbangkan hubungan antara kelas-kelas yang kita identifikasikan dengan kelas dari komponen yang telah ada.
Kemudian kita menentukan keterlihatan masing-masing atribut dan operasi. Dengan demikian, kita menentukan atribut mana yang hanya dapat diakses oleh operasi di dalam kelas dan atribut mana yang dapat diakses oleh kelas lain secara langsung. Hal yang sama juga berlaku pada operasi. Pada kelas abstract dan kelas-kelas yang memang ditujukan untuk diperbaiki, kita juga mendefinisikan atribut dan operasi terlindungi (protected) yang hanya dapat diakses oleh kelas anaknya.
iii. Menentukan Kondisi Sebelum dan Sesudah
dengan kelas yang mengimplementasi. Kondisi sebelum dari sebuah operasi menggambarkan bagian dari perjanjian yang harus dipatuhi oleh kelas pengguna. Kondisi sesudah menggambarkan apa yang dijamin oleh kelas yang mengimplementasi jika kelas pengguna memenuhi persyaratan. Ketika memperbaiki sebuah kelas, kelas yang memperbaiki mendapat perjanjian dari kelas yang mengimplementasi diawal.
Kondisi sebelum dan sesudah juga dapat digunakan untuk menentukan ketergantungan antara operasi didalam kelas yang sama.
iv. Menentukan Kondisi Konstan
Kondisi konstan merupakan sebuah perjanjian permanen yang mengganti perjanjian yang spesifik pada operasi. Kegiatan mengidentifikasi konstan sama dengan menemukan kelas abstrak selama proses analisa. Alasan membuat konstan adalah untuk memperjelas asumsi yang dibuat oleh kelas yang mengimplementasi kepada kelas penggunanya.
v. Pewarisan Perjanjian
Perjanjian diwariskan dengan ketentuan sebagai berikut:
operasi pada kelas anak diperbolehkan untuk melemahkan kondisi
sebelum. Dengan kata lain, operasi pada kelas anak dapat menangani lebih banyak kondisi dari pada kelas orang tuanya.
Kondisi sesudah pada kelas anak harus sama atau lebih ketat daripada
kelas orang tua.
35 BAB III
METODE PENELITIAN
3.1 Identifikasi Masalah
Menurut riset yang dilakukan oleh Rachel Harrison, Derek Flood dan David Duce (2013) mengenai "Kegunaan Aplikasi Mobile" ada beberapa atribut kegunaan dalam membuat aplikasi mobile. Atribut - atribut ini mempunyai dampak pada rata-rata kegunaan suatu aplikasi mobile, oleh karenanya dapat digunakan untuk membantu mengukur kegunaan suatu aplikasi mobile. Atribut yang terkait dengan penulisan ini adalah Efektivitas dan Efisiensi. Efektivitas berarti kemampuan pengguna melakukan tugas dalam konteks tertentu. Biasanya efektivitas diukur dengan mengevaluasi apakah pengguna dapat menyelesaikan satu tugas tertentu. Semakin rumit proses pelaksanaan tugas maka nilai efektivitasnya semakin rendah.
Efisiensi berarti kemampuan pengguna melakukan tugas dalam hal kecepatan dan akurasi. Atribut ini mencerminkan produktifitas dari seorang pengguna selama menggunakan aplikasi. Efisiensi dapat diukur dalam beberapa cara, seperti waktu yang dibutuhkan untuk menyelesaikan tugas tertentu atau jumlah penekanan tombol yang dibutuhkan untuk menyelesaikan tugas tertentu. Semakin banyak tombol yang harus ditekan untuk melakukan tugas, maka efisiensinya semakin rendah.
dilakukan semakin banyak, maka efisiensinya juga menurun. Oleh karena itu peneliti mengusulkan aplikasi berbagi lokasi yang memberikan kemudahan bagi pengguna dikarenakan penggunaannya yang lebih sederhana dan tidak harus berteman dengan pengguna lain.
3.2 Identifikasi Tujuan Rancangan
Tujuan perancangan sistem ini adalah sebagai berikut:
a. kemudahan mencari dan menambah lokasi. Bagi penguna yang telepon genggamnya tidak memiliki GPS, dapat mencari lokasi berdasarkan kriteria. b. Lokasi dapat dicari, dilihat dan ditambah komentar oleh pengguna lain. c. Biaya yang dibutuhkan pengguna minimal, dengan mengurangi jumlah
informasi yang disampaikan melalui internet.
d. Mengurangi waktu dan biaya pengembangan dengan menggunakan pustaka piranti lunak yang telah ada.
e. Memisahkan antara fungsi-fungsi yang terkait dengan antar muka pengguna dan fungsi-fungsi yang terkait dengan pengendalian dan penyimpanan data lokasi.
3.3 Rancangan penelitian
Penambahan Lokasi
Gambar 3.1 Gambaran blok diagram penambahan lokasi
Gambar di atas merupakan blok diagram penambahan lokasi, terdapat 4 proses yaitu :
a. Mendapatkan lokasi saat ini
Satelit GPS berputar mengelilingi bumi selama 12 jam di dalam orbit yang akurat dan mengirimkan sinyal informasi ke bumi. GPS reciever mengambl informasi itu dan dengan menggunakan perhitungan “triangulation” menghitung lokasi pengguna dengan tepat. GPS reciever membandingkan waktu sinyal dikirim dengan waktu sinyal tersebut diterima. Dari informasi itu didapat diketahui berapa jarak satelit. Dengan perhitungan jarak jarak GPS receiver dapat melakukan perhitungan dan menentukan posisi pengguna.
b. Mendapatkan informasi nama dan kriteria
c. Mendapatkan informasi user yang menambahkan
Sistem akan menerima data pengguna terdaftar dari basis data. d. Menyimpan ke basis data
Semua data-data yang telah di inputkan akan di simpan ke basis data.
Pencarian Lokasi
Gambar 3.2 Gambaran blok diagram pencarian lokasi
Gambar 3.2 merupakan blok diagram pencarian lokasi, terdapat 5 proses yaitu a. Mendapatkan posisi saat ini.
diketahui berapa jarak satelit. Dengan perhitungan jarak jarak GPS receiver dapat melakukan perhitungan dan menentukan posisi pengguna.
b. Mendapatkan daftar lokasi
Sistem akan menampilkan daftar lokasi yang berdekatan dengan lokasi saat ini.
c. Menghitung jarak masing-masing lokasi dengan posisi saat ini.
Dengan menggunakan perhitungan “phitagoras” sistem akan menghitung jarak
masing-masing lokasi dengan posisi saat ini. d. Mengurutkan lokasi berdasarkan jarak terdekat
Hasil perhitungan jarak masing-masing lokasi dengan posisi saat ini diurutkan berdasarkan jarak terdekat sampai jarak terjauh sampai maksimal 20 posisi terdekat pertama.
e. Menampilkan daftar yang telah diurutkan
Sistem akan menampilkan daftar lokasi yang telah di urutkan sebelumnya.
3.3.1 Identifikasi Hubungan Aktor dan Use Case
Gambar 3.3 Aktor dan Use Case MencariLokasi, GPSTidakAktif dan SinyalGPSBuruk
Nama Use Case MencariLokasi
Aktor yang terlibat Dimulai oleh Pengguna
Berkomunikasi dengan SistemGPS
Alur Kejadian 1. Pengguna mengaktifkan fungsi “Mencari Lokasi” pada telepon genggamnya.
2. Aplikasi memberikan respon dengan menampilkan formulir. Formulir terdiri dari kriteria, nama lokasi yang ingin dicari dan lokasi awal pencarian (GPS,Non-GPS). Jika dibutuhkan, aplikasi akan berkomunikasi dengan use case MendapatkanLokasi.
4. Aplikasi melakukan pencarian berdasarkan formulir yang diterima. Aplikasi menampilkan daftar hasil pencarian atau daftar kosong kepada Pengguna.
Kondisi Awal Pengguna sudah masuk kedalam aplikasi
Kondisi Akhir Pengguna menerima daftar Lokasi ATAU
Pengguna menerima informasi Lokasi tidak ditemukan ATAU
Pengguna menerima penjelasan jika pencarian gagal
Tabel 3.1 Identifikasi Use Case MencariLokasi
Gambar 3.4 Aktor dan Use Case MelihatDetailLokasi
Nama Use Case MelihatDetailLokasi
Alur Kejadian 1. Pengguna memilih Lokasi yang ingin dilihat detailnya. 2. Aplikasi menampilkan formulir yang berisi detail
Lokasi (Nama Lokasi, Kriteria, Koordinat, Ditambahkan oleh, Gambar Lokasi, Komentar-komentar terhadap lokasi)
Kondisi Awal Pengguna sudah masuk kedalam aplikasi dan aplikasi sudah menampilkan daftar lokasi
Kondisi Akhir Pengguna menerima detail lokasi ATAU
Pengguna menerima penjelasan jika pengambilan data detail lokasi gagal
Tabel 3.2 Identifikasi Use Case MelihatDetailLokasi
Gambar 3.5 Aktor dan Use Case Menambah Lokasi
Nama Use Case MenambahLokasi
Aktor yang terlibat Dimulai oleh PenggunaTerdaftar Berkomunikasi dengan SistemGPS
“Menambah Lokasi” pada Aplikasi.
2. Aplikasi berkomunikasi dengan use case MendapatkanLokasi dan memberikan respon dengan menampilkan formulir. Formulir terdiri dari Nama Lokasi, Kriteria dan Koordinat Lokasi. Koordinat Lokasi hanya berupa tampilan.
3. PenggunaTerdaftar melengkapi formulir dengan mengisi Nama Lokasi dan Kriteria kemudian mengirimkan formulir ke Aplikasi
4. Aplikasi menambahkan lokasi kedalam sistem dan mengirimkan konfirmasi kepada PenggunaTerdaftar bahwa lokasi telah ditambahkan dalam bentuk Pop-Up.
Kondisi Awal PenggunaTerdaftar telah login ke Aplikasi
Kondisi Akhir PenggunaTerdaftar menerima konfirmasi bahwa lokasi telah ditambahkan ATAU
PenggunaTerdaftar menerima penjelasan jika penambahan gagal
Tabel 3.3 Identifikasi Use Case MenambahLokasi
Nama Use Case MengaturDetailLokasi
Aktor yang terlibat Dimulai oleh PenggunaTerdaftar
Alur Kejadian 1. PenggunaTerdaftar memilih Lokasi dari daftar lokasi.
2. Aplikasi menampilkan formulir detail lokasi yang terdiri dari Nama Lokasi, Kriteria, Koordinat Lokasi, gambar-gambar lokasi dan komentar-komentar Lokasi.
3. PenggunaTerdaftar menambah detail lokasi berupa gambar dan komentar kemudian mengirimkan perubahan kepada Aplikasi.
4. Aplikasi menyimpan detail lokasi dan mengirimkan konfirmasi kepada PenggunaTerdaftar bahwa detail lokasi telah berhasil disimpan berupa Pop-Up.
Kondisi Awal PenggunaTerdaftar telah login ke Aplikasi dan melihat detail lokasi
Kondisi Akhir PenggunaTerdaftar menerima konfirmasi bahwa detail lokasi telah disimpan ATAU
PenggunaTerdaftar menerima penjelasan jika perubahan gagal dilakukan
Gambar 3.7 Aktor dan Use Case SistemGPS
Nama Use Case GPSTidakAktif
Aktor yang terlibat Dimulai oleh SistemGPS
Berkomunikasi dengan Pengguna
Alur Kejadian 1. Aplikasi mengirimkan pemberitahuan kepada Pengguna bahwa GPS sedang tidak aktif berupa
Pop-Up.
2. Pengguna mengaktifkan GPS nya dari Pop-Up
yang ditampilkan.
Kondisi Awal Pada saat akan digunakan GPS pada telepon genggam sedang tidak aktif.
Kondisi Akhir GPS pada telepon genggam aktif
Nama Use Case SinyalGPSBuruk
Aktor yang terlibat Dimulai oleh SistemGPS
Berkomunikasi dengan Pengguna
Alur Kejadian Aplikasi mengirimkan pemberitahuan kepada Pengguna bahwa sinyal GPS buruk sehingga fungsi yang diminta tidak dapat dilakukan berupa
Pop-Up
Kondisi Awal Penerimaan sinyal GPS yang buruk di lokasi
Kondisi Akhir Pengguna membatalkan penggunaan fitur GPS
Tabel 3.6 Identifikasi Use Case SinyalGPSBuruk
3.4 Mendapatkan Kebutuhan 3.4.1 Identifikasi Aktor
Berdasarkan pada latar belakang masalah, dapat diidentifikasi aktor-aktor pengguna sistem dan perannya sebagai berikut:
Tabel 3.7 Identifikasi Aktor
Nama Aktor Peran yang dilakukan
Pengguna Tak Terdaftar 1. Melakukan Pendaftaran 2. Mencari Lokasi
Pengguna Terdaftar 1. Melakukan Login 2. Melakukan Logout 3. Mencari Lokasi 4. Melihat Lokasi 5. Menambah Lokasi 6. Menambah Komentar 7. Menambah Gambar
Sistem GPS 1. Memberikan Lokasi saat ini
2. Memberikan informasi jika GPS tidak aktif 3. Memberikan informasi jika sinyal buruk
3.4.2 Identifikasi Skenario
Dari latar belakang masalah dan peran-peran yang dapat dilakukan oleh aktor, diidentifikasi beberapa skenario sebagai berikut:
Tabel 3.8 Identifikasi Skenario 1
Nama Skenario mencariRumahMakan Aktor yang terlibat Adi:PenggunaTakTerdaftar
Alur Kejadian 1. Adi sedang dalam perjalanan, ditengah jalan dia merasa lapar dan ingin mencari rumah makan. 2. Adi membuka aplikasi dan memilih mencari
lokasi.
4. Adi memasukkan kriteria lokasi rumah makan dan mengirim kriteria.
5. Aplikasi menampilkan daftar lokasi rumah makan mulai dari yang terdekat sampai yang terjauh.
6. Adi memilih salah satu lokasi terdekat.
7. Aplikasi menampilkan rincian mengenai lokasi. 8. Adi memilih untuk menampilkan lokasi di peta. 9. Aplikasi menampilkan peta berserta lokasi dari
rumah makan.
Tabel 3.9 Identifikasi Skenario 2
Nama Skenario menambahLokasiRumahSakit Aktor yang terlibat Anto:PenggunaTerdaftar
Alur Kejadian 1. Anto sedang berada disebuah rumah sakit dan ingin menambah lokasi tersebut pada aplikasi. 2. Anto memilih menambah lokasi.
3. Aplikasi mengaktifkan GPS dan kemudian mendapatkan lokasi saat ini.
4. Aplikasi menampilkan lokasi dan beberapa lokasi yang berdekatan dengan lokasi saat ini. 5. Anto memilih konfirmasi untuk menambah
lokasi.
Tabel 3.10 Identifikasi Skenario 3
Nama Skenario menambahKomentarTempatWisata Aktor yang terlibat Agus:PenggunaTerdaftar
Alur Kejadian 1 Agus sedang berada disebuah tempat wisata dan ingin berkomentar mengenai lokasi tersebut. 2 Agus membuka aplikasi dan memilih cari lokasi. 3 Aplikasi melakukan pencarian dan menampilkan
lokasi tempat wisata.
4 Agus memilih tempat wisata yang sesuai. 5 Aplikasi menampilkan detail lokasi. 6 Agus menekan tombol komentar
7 Aplikasi menampilkan daftar komentar dan formulir untuk menambah komentar.
8 Agus memasukkan komentarnya dan kemudian memilih konfirmasi.
3.4.3 Identifikasi Objek Analisa Awal
Berdasarkan identifikasi Use Case – Use Case, dapat dikenali objek-objek awal untuk analisa yang tertuang dalam kamus data sebagai berikut:
Tabel 3.11 Identifikasi Objek Analisa Awal
No Objek Deskripsi
1 Lokasi Merupakan objek yang dikunjungi, dicari dan ditambahkan oleh Pengguna untuk berbagi dengan Pengguna lainnya. Setiap objek memilik koordinat tertentu dan didapat menggunakan GPS
2 Pengguna Pengguna merupakan objek yang menggunakan aplikasi, namun tidak dapat melakukan penambahan ataupun perubahan Lokasi, hanya dapat melakukan pencarian dan melihat detail Lokasi
3 PenggunaTerdaftar Merupakan objek yang menggunakan aplikasi dan memiliki kemampuan sama dengan Pengguna ditambah kemampuan untuk menambah Lokasi dan merubah detail Lokasi
4 SistemGPS Merupakan objek yang digunakan untuk mendapatkan lokasi saat ini berdasarkan satelit GPS.
5 Komentar Merupakan objek yang mewakili komentar-komentar terhadap lokasi
3.4.4 Identifikasi Kebutuhan Non-Fungsional
Dari latar belakang, dapat diidentifikasi kebutuhan non-fungsional aplikasi sebagai berikut:
a. dapat diakses oleh lebih dari satu pengguna secara bersamaan. b. digunakan pada telepon genggam berbasis sistem operasi Android. c. berinteraksi dengan sistem GPS pada telepon genggam.
d. Lokasi milik satu pengguna dapat dilihat oleh pengguna lain.
e. Aplikasi dapat disesuaikan dengan mudah jika terjadi perubahan antar muka pengguna atau jika ada penambahan sistem operasi telepon genggam.
3.5 Analisa Kebutuhan
3.5.1 Identifikasi Objek Entitas
Tabel 3.12 Identifikasi Objek Entitas
No Objek Deskripsi
1 Lokasi Lokasi menyimpan informasi kriteria, nama, koordinat longitude dan latitude, nama penambah.
2 Pengguna Penguna menyimpan informasi nama
3 PenggunaTerdaftar PenggunaTerdaftar menyimpan informasi nama akses, kata kunci, ip address pendaftaran, alamat email dan tanggal bergabung.
5 Komentar Komentar menyimpan tanggal komentar,penambah komentar, dan isi komentar
6 Gambar Gambar menyimpan nama berkas, penambah dan tanggal penambahan
3.5.2 Identifikasi Objek Batas
Tabel 3.13 Identifikasi Objek Batas
No Objek Deskripsi
1 FormulirMencariL okasi
Meminta masukan kriteria, nama lokasi dan apakah menggunakan GPS atau tidak
2 DaftarLokasi Menampilkan daftar lokasi hasil pencarian
3 TombolMencariLo kasi
Untuk mengaktifkan fungsi mencari lokasi
4 TombolMenambah Lokasi
Untuk mengaktifkan fungsi menambah lokasi
3 FormulirDetailLok asi
Menampilkan nama, kriteria, deskripsi, koordinat, komentar-komentar dan gambar-gambar.
4 FormulirMenamba hLokasi
Meminta masukan nama, kriteria, deskripsi dan koordinat
5 FormulirMengatur DetailLokasi
Meminta masukan deskripsi, komentar dan gambar
6 KonfirmasiGPSTi dakAktif
7 KonfirmasiSinyal GPSBuruk
Menampilkan informasi bahwa sinyal GPS sedang buruk, tombol coba lagi dan tombol untuk membatalkan
8 KonfirmasiLokasi Ditambah
Menampilkan informasi bahwa lokasi dengan nama tertentu telah berhasil ditambah dan sebuah tombol.
9 KonfirmasiLokasi Diubah
Menampilkan informasi bahwa lokasi dengan nama tertentu telah berhasil diubah dan sebuah tombol
10 FormulirUtama Menampilkan TombolMencariLokasi dan TombolMenambahLokasi. Ditampilkan pada saat awal.
11 TombolMengatur DetailLokasi
Tombol untuk memulai mengatur detail lokasi merupakan bagian dari formulir detail lokasi
12 TombolMencariLa gi
Tombol pada DaftarLokasi jika ingin mencari lokasi lainnya
13 TombolDaftar Tombol pada FormulirUtama untuk mendaftar menjadi PenggunaTerdaftar
3.5.3 Identifikasi Objek Kendali
Tabel 3.14 Identifikasi Objek Kendali
No Objek Deskripsi
1 KendaliMencariLo kasi
Mengendalikan proses mencari lokasi mulai dari meminta masukan hingga menampilkan hasil.
2 KendaliDetailLoka
si Mengendalikan proses mendapatkan detail
lokasi hingga menampilkannya
3 KendaliMenambah Lokasi
Mengendalikan proses menambah lokasi mulai dari menampilkan formulir hingga konfirmasi
4 KendaliMengatur DetailLokasi
Mengendalikan proses mengatur detail lokasi mulai dari menampilkan formulir hingga konfirmasi
5 KendaliGPSTidak Aktif
Mengendalikan proses mengirimkan konfirmasi jika ada permintaan akses GPS sementara GPS sedang tidak aktif
6 KendaliSinyalBuru k
Mengendalikan proses pengiriman konfirmasi jika pada saat mengakses GPS mendapatkan sinyal yang buruk
7 KendaliDaftar Mengendalikan proses pendaftaran
3.5.4 Pemetaan Use Case ke Objek dengan Diagram Urutan
Pemetaan Use Case ke Objek menggunakan diagram urutan dapat dilihat pada gambar-gambar berikut:
Gambar 3.8 Diagram Urutan MencariLokasi
Gambar 3.9 Diagram Urutan MelihatDetailLokasi
Diagram urutan melihat detail lokasi dimulai ketika pengguna memilih salah satu daftar lokasi, maka aplikasi akan membuat kendali detail lokasi dan menampilkan formulir detail lokasi.
Diagram urutan menambah lokasi dimulai ketika pengguna terdaftar menekan tombol tambah lokasi, aplikasi akan membuat kendali tambah lokasi, dan aplikasi akan menmpilkan formulir tambah lokasi. Pengguna akan mengisi formulir tambah lokasi dan mengirimkan formulir data lokasi baru ke aplikasi, aplikasi akan menyimpan data lokasi baru dan menampilkan konfirmasi lokasi baru telah ditambahkan dengan menampilkan detail lokasi.
Gambar 3.11 Diagram Urutan MengaturDetailLokasi
3.5.5 Identifikasi Asosiasi
Identifikasi asosiasi dibagi menjadi dua yaitu asosiasi antara objek entitas dan antara objek kendali dan batas. Hasil identifikasi sebagai berikut:
Tabel 3.15 Identifikasi Asosiasi Objek Entitas
No Nama Entitas 1 Entitas 2 Deskripsi
1 Mencari Pengguna Lokasi Banyak Pengguna Mencari Banyak Lokasi
2 Melihat Pengguna Lokasi Banyak Pengguna Mencari Banyak Lokasi
3 Menambah PenggunaTerdaftar Lokasi Satu Pengguna Terdaftar Menambah Banyak Lokasi
4 Merubah PenggunaTerdaftar Lokasi Banyak Pengguna Merubah Banyak Lokasi
5 Menambah PenggunaTerdaftar Komenta r
Satu PenggunaTerdaftar Menambah Banyak Komentar
Tabel 3.16 Asosiasi Objek Kendali dan Objek Batas
No Objek 1 Asosiasi Objek 2 Deskripsi
1 TombolMencariLokasi Membuat KendaliMenca riLokasi
2 KendaliMencariLokasi Membuat FormulirMenc ariLokasi
3 KendaliMencariLokasi Membuat DaftarLokasi
4 DaftarLokasi Membuat KendaliDetail Lokasi
5 KendaliDetailLokasi Membuat FormulirDetail Lokasi
6 FormulirDetailLokasi Membuat KendaliMenga turLokasi
7 KendaliMengaturLokasi Membuat FormulirMeng aturDetailLoka si
8 KendaliMengaturLokasi Membuat KonfirmasiLo kasiDiubah
9 TombolTambahLokasi Membuat KendaliMena mbahLokasi
11 KendaliMenambahLokasi Membuat KonfirmasiLo kasiDitambah
3.5.6 Identifikasi Agregat
Identifikasi agregat ditemukan pada objek – objek batas sebagai berikut:
Tabel 3.17 Identifikasi Agregat
No Objek 1 Objek 2 Deskripsi
1 FormulirUtama TombolMencariLokasi Satu FormulirUtama terdiri dari Satu
TombolMencariLokasi
2 FormulirUtama TombolTambahLokasi Satu FormulirUtama terdiri dari Satu
TombolTambahLokasi
3 DaftarLokasi Lokasi Satu DaftarLokasi terdiri dari Nol atau Lebih Lokasi
4 DaftarLokasi TombolMencariLagi Satu DaftarLokasi memiliki satu TombolMencariLagi
5 FormulirDetail Lokasi
TombolMengaturDetail Lokasi
Satu FormulirDetailLokasi memiliki satu
3.5.7 Identifikasi Atribut
Identifikasi atribut dilakukan pada objek-objek entitas dengan hasil sebagai berikut:
Tabel 3.18 Identifikasi Atribut
No Objek Atribut dan Jenis
1 Pengguna Nama:String
2 PenggunaTerdaftar Nama:String Email:String KataKunci:String
TanggalDaftar:DateTime
3 Lokasi Nama:String
Kriteria:String KoordinatX:Number KoordinatY:Number Penambah:String
4 Komentar Isi:String Pemberi:String Tanggal:DateTime
3.5.8 Pemodelan Tingkah Laku berdasarkan Status Objek
Pemodelan tingkah laku dilakukan terhadap objek-objek kendali seperti terlihat pada gambar-gambar berikut:
Gambar 3.12 Diagram Status KendaliMencariLokasi
Ketika pengguna menggunakan fungsi mencari lokasi maka aplikasi akan menmpilkan formulir baru mencari lokasi, kemudian status aplikasi akan melakukan pencarian lokasi, jika berhasil status aplikasi akan menampilkan daftar lokasi, jika tidak aplikasi akan mengulang proses pencarian lokasi.
Status kendali melihat detail lokasi dimulai dengan status aplikasi baru ketika pengguna memilih salah satu lokasi, dan aplikasi akan menampilkan data detail lokasi yang akan diisi oleh pengguna.
Gambar 3.14 Diagram Status KendaliMenambahLokasi
Gambar 3.15 Diagram Status KendaliMengaturLokasi
Status kendali mengatur lokasi dimulai ketika pengguna menekan tombol lokasi dan status aplikasi akan menampilkan formulir, pengguna akan mengisi formulir dan status aplikasi akan melakukan proses penyimpanan input data baru. Aplikasi akan melakukan konfirmasi kepada pengguna perubahan berhasil.
3.5.9 Pemodelan Hubungan Pewarisan Antar Objek
Dilihat dari atribut dan asosiasi hubungan pewarisan terjadi antara Pengguna dan PenggunaTerdaftar. Hubungan tersebut dapat dilihat pada gambar berikut:
3.5.10 Identifikasi Subsistem
Identifikasi subsistem berdasarkan Use case yang ada dapat dilihat pada gambar berikut:
Gambar 3.17 Identifikasi Subsistem
menggunakan fungsi mengatur detail lokasi dan fungsi melihat detail lokasi, sedangkan pengguna yang tidak terdaftar hanya dapat melakukan fungsi melihat detail lokasi.
3.5.11 Pemetaan Subsistem Ke Processor dan Komponen
a. Konfigurasi Perangkat Keras dan Platform
Untuk memenuhi tujuan perancangan, konfigurasi perangkat keras dibagi menjadi 2 yang mengikuti pola client-server.
Tabel 3.19 Perangkat Keras Client
No Nama Deskripsi
1 Jenis Perangkat Telepon Genggam
2 Sistem Operasi Android, minimal versi 1.5 3 Komponen GPS / Assisted GPS
Tabel 3.20 Perangkat Keras Server
No Nama Deskripsi
1 Jenis Perangkat Web Server 2 Sistem Operasi Linux
Pemilihan versi sistem operasi Android berdasarkan pembagian penggunaan perangkat sebagai berikut:
Tabel 3.21 Penggunaan Versi Sistem Operasi Android
Android Platform Percent of Devices Android 2.2 0.7%
Android 2.3 13.5% Android 4.0 11.4% Android 4.1 27.8% Android 4.2 19.7% Android 4.3 9.0% Android 4.4 17.9%
[Sumber: http://developer.android.com/resources/dashboard/platform-versions.html] b. Alokasi Objek dan Subsistem
Alokasi objek dan subsistem dapat dilihat pada gambar berikut:
Pada saat pengalokasian objek dan subsistem, di identifikasi ada nya 2 subsistem baru yaitu subsistem Komunikasi Client dan subsistem Komunikasi Server.
Subsistem-subsistem baru ini berfungsi sebagai pengirim, penerima dan pengatur dalam proses komunikasi antara telepon genggam dengan webserver.
3.5.12 Identifikasi Penyimpanan Data
Objek-objek yang perlu disimpan beserta lokasi dan strategi penyimpanannya dapat dilihat pada tabel berikut:
Tabel 3.22 Identifikasi Penyimpanan Data
No Objek Node Strategi
1 Lokasi Web Server Basis data relasional
2 PenggunaTerdaftar Web Server Basis data relasional
3 KonfigurasiClient Telepon Genggam Sistem berkas
4 KonfigurasiServer Web Server Sistem berkas
Untuk mengakomodasi penyimpanan data pada masing node, perlu ditambahkan beberapa subsistem seperti terlihat pada gambar berikut:
3.5.13 Penyediaan Kendali Akses
Untuk penyediaan kendali akses statis kita menggunakan pendekatan tabel akses umum sebagai berikut:
Tabel 3.23 Kendali Akses
Objek PenggunaTerdaftar maka tidak ada kendali akses dinamis.
3.5.14 Merancang Kendali Aliran Umum
Karena aplikasi memiliki banyak komponen, maka dipilih beberapa kendali aliran untuk komponen yang berbeda.
Tabel 3.24 Kendali Aliran Umum
No Komponen Kendali Aliran
1 subsistemMengaturDetailLokasi Kejadian 2 subsistemMencariLokasi Kejadian 3 subsistemMelihatDetailLokasi Kejadian 4 subsistemTampilanUtama Kejadian 5 subsistemMenambahLokasi Kejadian
6 subsistemGPS Kejadian