TA : Rancang Bangun Aplikasi Berbagi Lokasi Pada Telepon Genggam Berbasis Sistem Operasi Android.

(1)

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


(2)

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)

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


(4)

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


(5)

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


(6)

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


(7)

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


(8)

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


(9)

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).

Untuk memaksimalkan penggunaan fitur GPS pada telepon genggam, maka dibuatlah beberapa aplikasi yang memanfaatkannya (Kushwaha, 2011). Pengguna telepon genggam saat ini ingin mencari lokasi tertentu yang dekat dengan lokasinya. Pengguna juga ingin berbagi lokasi-nya saat ini dengan pengguna lain dengan tujuan agar pengguna lain juga dapat mengetahui lokasi tersebut. Ketika kita mengunjungi lokasi tertentu, selain berbagi lokasi, kita juga ingin memberikan komentar dan juga gambar dari lokasi tersebut, sehingga pengguna


(10)

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.

Peneliti mengusulkan aplikasi berbagi lokasi yang memberikan kemudahan bagi pengguna dikarenakan penggunaannya yang lebih sederhana. Pengguna dapat memilih untuk melakukan pendaftaran atau tidak. Pengguna juga tidak diharuskan saling berteman agar dapat berbagi informasi lokasi. Infomasi yang dibagi dapat juga disertai gambar, lokasi, dan komentar pengguna atau pengunjung lainnya. Selain dapat berbagi, pengguna dapat juga mencari lokasi yang pernah dikunjungi oleh pengguna lainnya berdasarkan kriteria. Penambahan informasi harus dilakukan pada saat pengguna berada di lokasi dengan cara mengaktifan GPS pada perangkat telepon genggamnya. Dengan demikian mengurangi resiko informasi yang salah. Untuk pengguna yang perangkatnya tidak memiliki fitur GPS, tidak dapat melakukan penambahan lokasi, namun masih dapat melakukan pencarian.


(11)

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

Menghasilkan aplikasi yang dapat digunakan untuk memberikan dan mencari informasi lokasi pada telepon genggam dengan sistem operasi Android guna memenuhi kebutuhan user.


(12)

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 ini menjelaskan tentang implementasi program, berisi langkah-langkah implementasi program dan hasil implementasi program, serta analisis terhadap kinerja sistem tersebut.


(13)

Bab V : Kesimpulan Dan Saran

Bab ini berisi kesimpulan dan saran. Saran yang dimaksud adalah saran terhadap kekurangan dari aplikasi yang ada kepada pihak lain yang ingin meneruskan topic TA ini. Tujuannya adalah agar pihak lain tersebut dapat menyempurnakan aplikasi sehingga bisa menjadi lebih baik dan berguna.


(14)

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.

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 dibenamkan fungsi-fungsi yang lebih lengkap dan hampir menyerupai sebuah perangkat computer. 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. Selain daripada itu, sebuah telepon genggam juga


(15)

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

Activity mewakili tampilan yang dilihat oleh pengguna dan hanya memiliki satu fungsi. Satu aplikasi dapat memiliki satu atau banyak Activity tergantung pada jenis aplikasinya. Satu aplikasi dapat membuat Activity baru atau menggunakan Activity yang sudah ada dari aplikasi lain (Meier, 2012).


(16)

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

Satu komponen dapat mengaktifkan komponen yang lain melalui Intent yang berisi informasi-informasi yang dibutuhkan untuk mengaktifkan komponen lain dan informasi yang dibutuhkan oleh komponen tersebut.


(17)

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.

Tugas penerima GPS adalah menentukan lokasi dari 4 satelit atau lebih yang berdekatan dan menentukan jarak antara satelit-satelit tersebut. Informasi ini


(18)

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


(19)

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.

Server asistensi menyediakan data orbit satelit untuk penerima sehingga penerima dapat mengunci sinyal lebih cepat. Jaringan juga dapat menyediakan waktu yang tepat. Server asistensi juga mendapat sinyal GPS lebih baik


(20)

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.

Dalam sistem, merancang fungsi dan operasi digambarkan secara detail. Hasil dari tahapan ini adalah sistem yang baru sebagai kumpulan modul dan subsistem. Tahap perancangan menggunakan dokumen kebutuhan sebagai input. Untuk setiap kebutuhan, satu atau lebih elemen perancangan akan dihasilkan. Elemen perancangan menggambarkan perangkat lunak yang diharapkan dalam


(21)

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.

Pada metode analisa dan perancangan objek, tahap perencanaan dijadikan satu dengan tahap analisa menjadi tahap mendapatkan dan analisa kebutuhan.


(22)

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?


(23)

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?


(24)

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 komunikasi antara aktor dan Use Case untuk menggambarkan sistem dalam lapisan fungsionalitas.


(25)

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

vii. Benda-benda yang berinteraksi dengan pengguna viii. Selalu gunakan istilah dalam area aplikasi


(26)

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 Stereotype <<boundary>>.


(27)

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.

vii. Objek entitas tidak diperbolehkan untuk menggunakan objek batas atau kendali.


(28)

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 adalah properti dari objek individual yang berisi kondisi dari objek tersebut. Dalam mengidentifikasi atribut, hanya atribut-atribut yang terkait dengan aplikasi saja yang dipertimbangkan.


(29)

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

Perancangan sistem adalah proses transformasi sebuah model analisa ke dalam sebuah model perancangan sistem. Selama perancangan sistem, pembuat mendefinisikan tujuan perancangan aplikasi dan memecah sistem menjadi sub sistem yang lebih kecil yang dapat direalisasikan oleh tim-tim secara individu.


(30)

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


(31)

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.

Memilih konfigurasi perangkat keras juga melakukan pemilihan mesin virtual tempat sistem akan dibangun. Mesin virtual termasuk sistem operasi dan


(32)

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.

Setelah diidentifikasi data yang perlu disimpan, kita perlu memilih strategi penyimpanan datanya. Ada beberapa strategi yang dapat dipilih seperti pada tabel berikut:


(33)

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

Sistem ini menyediakan fungsi hampir sama dengan basis data relasional. Yang membedakannya adalah data disimpan sebagai objek-objek beserta hubungannya dengan objek lain. Sistem ini mengurangi waktu yang dibutuhkan oleh pengembang untuk


(34)

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.

i. tabel akses umum, mewakili setiap pertemuan dalam matriks sebagai suatu data. Untuk menentukan apakah sebuah aktor memiliki akses terhadap sebuah objek spesifik membutuhkan pencarian terhadap data. Jika terdapat data, maka akses ditolak.


(35)

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

Aliran data adalah urutan aksi di dalam sebuah sistem. Pada sistem berorientasi objek, mengurutkan aksi termasuk menentukan operasi mana yang


(36)

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.

i. konfigurasi, untuk setiap objek, kita amati pada use case mana objek tersebut dibuat atau dihancurkan. Jika objek tidak dibuat atau dihancurkan


(37)

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)

Komponen yang telah ada dan teridentifikasi pada tahap perancangan sistem digunakan untuk membantu realisasi dari masing-masing subsistem. Pustaka kelas dan komponen tambahan dipilih untuk struktur data dasar dan layanan-layanan. Pola perancangan dipilih untuk menyelesaikan permasalahan yang hampir sama dan untuk melindungi kelas tertentu terhadap perubahan dimasa datang. Kadang-kadang komponen dan pola perancangan perlu disesuaikan sebelum digunakan.


(38)

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

Ada beberapa pola perancangan yang menggunakan teknik penggunaan kembali seperti dapat dilihat pada tabel berikut:


(39)

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

Pada tahap ini, kita mengevaluasi deskripsi layanan dari subsistem dan mengidentifikasi atribut dan operasi tambahan. Selama proses analisa, kita mungkin melewatkan banyak atribut dikarenakan kita terfokus pada fungsionalitas sistem. Kita menggambarkan fungsionalitas sistem menggunakan model use case


(40)

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

Pada tahap ini, kita menentukan perjanjian untuk masing-masing operasi milik umum pada masing-masing kelas. Perjanjian adalah antara kelas pengguna


(41)

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

Dalam bahasa yang mendukung mekanisme banyak bentuk seperti Java, sebuah kelas dapat diganti oleh kelas manapun yang merupakan turunannya. Sehingga dapat terjadi kemungkinan kelas pengguna yang memanggil operasi pada sebuah kelas sebenarnya menjalankan kelas anaknya. Kelas pengguna mengharapkan perjanjian yang berlangsung dengan kelas orang tua masih tetap berlaku dengan kelas anaknya. Kondisi ini disebut pewarisan perjanjian.


(42)

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.


(43)

(44)

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.

Pada aplikasi berbagi lokasi yang mengharuskan kita berteman terlebih dahulu, efektivitas pengguna dalam hal berbagi menjadi rendah karena pengguna harus terlebih dahulu melakukan pertemanan. Selain itu, karena proses yang


(45)

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

Gambar blog diagram aplikasi berbagi lokasi pada telepon genggam berbasis sistem operasi android dapat dilihat pada gambar 3.1 dan gambar 3.2 berikut:


(46)

Penambahan Lokasi

Mendapatkan lokasi saat ini

Mendapatkan informasi nama dan

kriteria

Mendapatkan informasi user yang

menambahkan

Menyimpan ke basis data

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

Pengguna terdaftar menginputkan nama dan kriteria lokasi yang akan ditambahkan.


(47)

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

Mendapatkan posisi saat ini

Mendapatkan daftar lokasi

Menghitung jarak masing-masing lokasi

dg posisi saat ini

Mengurutkan lokasi berdasarkan jarak

terdekat

Menampilkan daftar yg telah diurutkan

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.

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


(48)

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

Identifikasi hubungan antara aktor-aktor dan Use Case dapat dilihat pada gambar-gambar berikut:


(49)

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.

3. Pengguna melengkapi formulir dengan mengisi kriteria dan Lokasi awal. Minimal data yang diisi adalah Lokasi awal. Setelah formulir lengkap, Pengguna mengirim formulir.


(50)

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


(51)

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


(52)

“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


(53)

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


(54)

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


(55)

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


(56)

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.

3. Aplikasi menyajikan formulir untuk memasukan kriteria.


(57)

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.

6. Aplikasi menyimpan informasi lokasi dan mengirimkan informasi kepada Anto bahwa lokasi telah disimpan.


(58)

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.

9 Aplikasi menambahkan komentar dan mengirimkan informasi kepada Agus bahwa komentar telah ditambahkan.


(59)

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

6 Gambar Merupakan objek yang mewakili gambar-gambar terhadap lokasi


(60)

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.

4 SistemGPS SistemGPS menyimpan koordinat saat ini dan juga status GPS


(61)

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

Menampilkan informasi bahwa GPS tidak aktif, tombol untuk mengaktifkan dan tombol untuk membatalkan


(62)

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

14 TombolLogin Tombol pada FormulirUtama untuk masuk sebagai PenggunaTerdaftar


(63)

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

8 KendaliLogin Mengendalikan proses login kedalam aplikasi sebagai PenggunaTerdaftar


(64)

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

Diagram urutan mencari lokasi dimulai ketika pengguna menekan tombol cari lokasi, aplikasi akan membuat kendali mencari lokasi, dan aplikasi menampilkan formulir mencari lokasi. Pengguna akan mengisi formulir cari lokasi yang berisi kriteria dan nama lokasi. Setelah formulir diisi lengkap pengguna akan menekan tombol cari lokasi dan aplikasi akan melakukan kendali mencari lokasi dan menampilkan daftar lokasi hasil pencarian.


(65)

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.


(66)

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

Diagram urutan mengatur detail lokasi dimulai ketika pengguna terdaftar menekan tombol lokasi, aplikasi akan membuat kendali mengatur detail lokasi dan menampilkan formulir mengatur detail lokasi. Pengguna akan mengisi formulir input data baru dan mengirim detail lokasi baru ke aplikasi. Aplikasi akan menyimpan data baru dan menampilkan konfirmasi data baru.


(67)

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

6 Menambah PenggunaTerdaftar Gambar Satu PenggunaTerdaftar Menambah Banyak Gambar


(68)

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

10 KendaliMenambahLokasi Membuat FormulirMena mbahLokasi


(69)

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


(70)

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

5 Gambar namaBerkas:String Tanggal:DateTime


(71)

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.


(72)

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

Status kendali menambah lokasi dimulai ketika pengguna menekan tombol tambah lokasi, status aplikasi baru dan menampilkan formulir tambah lokasi, setelah formulir diisi pengguna, status aplikasi melakukan proses penyimpanan data dan menampilkan konfirmasi data baru telah tersimpan.


(73)

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:


(74)

3.5.10 Identifikasi Subsistem

Identifikasi subsistem berdasarkan Use case yang ada dapat dilihat pada gambar berikut:

Gambar 3.17 Identifikasi Subsistem

Subsistem tampilan utama memiliki fungsi mencari lokasi dan tambah lokasi, tampilan utama berisi formulir cari, login dan daftar. Subsistem mencari lokasi akan menampilkan formulir daftar lokasi dan mencari lokasi. Subsitem menambah lokasi menampilkan formulir tambah lokasi dan membuat kendali menambah lokasi. Jika dibutuhkan subsistem mencari lokasi dan menambah lokasi akan berhubungan dengan subsitem GPS. Pengguna yang sudah login dapat


(75)

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


(76)

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:


(77)

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:


(78)

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

Aktor

Lokasi

Pengguna mencari()

melihatDetail()

PenggunaTerdaftar mencari()

melihatDetail() mengaturDetail() menambah()

Karena setiap lokasi dapat diakses oleh setiap Pengguna dan 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

7 subsistemPenyimpananBerkas Thread 8 subsistemKomunikasiClient Thread 9 subsistemKomunikasiServer Thread 10 subsistemPengaturLokasi Thread


(79)

Untuk komponen yang berhubungan dengan aktor, menggunakan kendali oleh kejadian karena ketersediaan masukan bergantung pada aktor.

Untuk komponen komunikasi menggunakan kendali thread agar dapat melayani banyak permintaan dari komponen yang lain.

3.5.15 Identifikasi Kondisi Batasan

Untuk setiap objek persisten kita amati waktu objek tersebut dibuat dan dihancurkan.

a. PenggunaTerdaftar b. KonfigurasiClient c. KonfigurasiServer d. Lokasi

Dari keempat objek persisten, objek Lokasi telah memiliki use case yang membuat dan menghancurkan objeknya. Untuk PenggunaTerdaftar, KonfigurasiClient dan KonfigurasiServer use case tambahannya dapat dilihat pada gambar-gambar berikut:


(1)

101

c. Mencari Lokasi dengan GPS

Pengujian mencari lokasi dilakukan oleh pengguna terdaftar “tes”, pengguna akan mengaktifkan GPS terlebih dahulu sebelum melakukan pencarian lokasi, dan melakukan pencarian berdasarkan kriteria lokasi, dapat dilihat pada gambar 4.13 berikut:

Gambar 4.13 Mencari Lokasi Dengan GPS

d. Melihat Detail Lokasi

Pengujian fungsi melihat detil lokasi dilakukan oleh pengguna “Y”, pengguna “Y” tidak dapat melakukan penambahan gambar dan komentar, dapat dilihat pada gambar berikut:


(2)

102

Gambar 4.14 Melihat Detil Lokasi e. Menambah Komentar

Pengujian menambah komentar dapat dilakukan oleh pengguna terdaftar, penambahan komentar akan dilakukan oleh pengguna “suuddin”, dengan mengisi komentar dan mengirimkan ke sistem, dapat dilihat pada gambar berikut:


(3)

103

f. Menambah Gambar

Pengujian menambah gambar dapat dilakukan oleh pengguna terdaftar, penambahan gambar akan dilakukan oleh pengguna “tes3”, dapat dilihat pada gambar berikut:

Gambar 4.16 Menambah Gambar

g. Menambah Lokasi

Pengujian menambah lokasi dapat dilakukan oleh pengguna terdaftar, penambahan lokasi akan dilakukan oleh pengguna “tes3”, pengguna “tes3” harus mengisi formulir menambah lokasi dan mengaktifkan GPS untuk mengurangi resiko informasi yang salah, dapat dilihat pada gambar berikut:


(4)

104

Gambar 4.17 Menambah Lokasi

Pengguna terdaftar dengan username “tes3” berhasil menambahkan lokasi pada kriteria penginapan dan nama lokasi Hotel Ganefo yang beralamatkan di jalan Kapasan Surabaya, pengguna “tes3” juga menambah komentar dan gambar tentang Hotel tersebut.


(5)

105 BAB V

KESIMPULAN DAN SARAN

5.1KESIMPULAN

Setelah dilakukan uji coba dan evaluasi terhadap aplikasi bebragi lokasi pada telepon genggam berbasis sistem operasi android ini, maka dapat ditarik kesimpulan sebagai berikut:

a. Aplikasi dapat membantu pengguna dalam berbagi lokasi dengan fungsi yang lebih sederhana dan tidak mengharuskan pengguna untuk saling berteman agar bisa berbagi lokasi.

b. Aplikasi bisa membedakan antara pengguna dan pengguna terdaftar.

c. Jika menggunakan GPS hasil pencarian lokasi diurutkan berdasarkan jarak terdekat, jika tidak menggunakan GPS hasil pencarian lokasi diurutkan berdasarkan id lokasi.

.

5.2SARAN

a. Penyediaan dokumentasi yang cukup untuk pengembangan aplikasi android agar pengembang-pengembang baru dapat dengan mudah mempelajari framework ini.

b. Penyediaan jalur mobile broadband yang lebih handal dari operator telekomunikasi karena aplikasi android memiliki kebutuhan akses internet yang cukup tinggi.


(6)

106

DAFTAR PUSTAKA

Abidin, Hasanudin Z, 2007, Penentuan Posisi dengan GPS dan Aplikasinya, Pradnya Paramita, Jakarta.

Bell, J. 2002. et al. Professional Java Servlet 2.3 Birmingham: Wrox Press Ltd. Bruegge, B. and Dutoit, A.H. 2004. Object-Oriented Software Engineering, Using

UML, Pattern, and Java 2nd ed.: Pearson Prentice Hall.

Didik. 2010. Jumlah Pemakai Handphone di Indonesia. (online). (

http://www.harianberita.com/jumlah-pemakai-handphone-di-indonesia.html, diakses tanggal 12 Juli 2014).

Garmin ltd, 2008, GARMIN GPS beginner’s guide, garmin ltd, Taiwan.

Google Inc. 2013, Android Developer Guide [online] available: (http://developer.android.com/guide/topics/fundamentals.html, diakses tangal 16 Februari 2013).

Google Inc. 2013, Android Developer Guide, Location API References [online] available:

(http://developer.android.com/reference/android/location/Location.html, diakses tanggal 20 Februari 2013).

Harrison, Rachel, 2013. Usability of mobile applications. Journal of interaction science, 1-1.

Kushwaha, Amit. and Vineet Kushwaha., 2011. Location Based Services Using Android Mobile Operating System. International Journal of Advances in Engineering & Technology., 1 (1), 14-20.

Meier, Reto. 2012. Professional Android 4 Aplication Development. Amerika : Wrox.

Safaat Nazaruddin H. 2011. Pemrograman Aplikasi Mobile Smartphone Dan Tablet Pc Berasis Android. Bandung : Informatika

Supardi, Yuniar, 2007, Pemrograman Database dengan Java dan MySQL, PT Elex Media Komputindo, Jakarta.