BAB IV IMPLEMENTASI DAN PENGUJIAN

advertisement
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas mengenai implementasi dan pengujian terhadapa perangkat lunak
yang dibangun pada Tugas Akhir ini. Pembahasan mengenai implementasi dipaparkan
pada Subbab 4.1, sedangkan pembahasan mengenai pengujian akan disampaikan pada
Subbab 4.2.
4.1 Implementasi
Bagian ini akan memuat penjelasan mengenai batasan implementasi, lingkungan
perangkat keras dan perangkat lunak, serta implementasi yang dilakukan berdasarkan
hasil pada tahap perancangan. Penjelasan pada subbab ini meliputi lingkungan
pengembangan yang digunakan, batasan implementasi dan proses dan hasil
implementasi
4.1.1 Lingkungan Pengembangan
Aplikasi ini dikembangkan dengan spesifikasi perangkat keras dan perangkat lunak
sebagai berikut:
1. Sistem operasi Windows XP Professional Service Pack 2
2. Prosesor Intel Pentium 4 Clock 2.40 GHz
3. Memori RAM 1GB
4. Apache Ant 1.7.0
5. IDE Eclipse Europa 3.3.2
6. Java Standard Edition Development Kit Versi 6 Update 5
7. Android Standar Development Kit (SDK) versi m5-rc15
8. Android Development tools ( Emulator, Eclipse IDE Plugin, Dalvik Debug
Monitor Service, Android Debug Bridge, Activity Creator)
9. Proxifier versi 2.7 trial license
4.1.2 Batasan Implementasi
Batasan dalam melakukan implementasi perangkat lunak pelacakan dan
penelusuran pada Tugas Akhir ini adalah saat ini perangkat lunak hanya
mendukung GIS dengan server Google Map & Google Earth. Perangkat lunak
IV-1
IV-2
juga hanya dibangun di atas emulator Android tidak di-deploy pada device
karena saat Tugas Akhir ini dikerjakan belum terdapat handset Android di
pasaran.
4.1.3 Permasalahan Implementasi
Bagian ini akan memuat masalah-masalah dalam implementasi perangkat lunak
pelacakan dan penelusuran terutama masalah yang disebabkan oleh keterbatasan dan
kekurangan platform Android. Tabel IV-1 berisi daftar masalah-masalah tersebut,
beserta alternatif cara penanganan, dan solusi implementasi yang digunakan dalam
Tugas Akhir ini untuk menangani masalah tersebut.
Tabel IV-1 Masalah Implementasi
N Masalah
Penanganan
Implementasi
Koneksi harus diredirect secara
manual ke proxy
server
(menerapkan
transparent
proxy)
SMS antar
emulator harus
disimulasikan
secara manual
Memanfaatkan software
Proxifier yang
memungkinkan pengarahan
koneksi secara manual ke
proxy server
o
1
Emulator Android belum
mendukung secara penuh
koneksi jaringan pada
lingkungan ber-proxy
2
Emulator Android belum
mendukung koneksi SMS
antar emulator
3
Emulator Android belum
mendukung perangkat real
untuk GPS receiver
melainkan hanya mensupport data NMEA
Data dari GPS
receiver harus
dimasukkan
secara manual ke
dalam emulator
4
Kelas Parcelable tidak
dapat berjalan jika melakukan
development pada IDE
Eclipse
Kompilasi harus
menggunakan
builder lain
“Parcelables currently do not
work if you're using Eclipse
Untuk pengiriman SMS
disimulasikan melalui
menampilkan notifikasi.
Untuk penerimaan SMS
disimulasikan melalui
telnet ke debug port dari
Emulator
Data dari GPS receiver didump ke log bernama
NMEA yang kemudia dipush ke dalam emulator
melalui perintah adb
push NMEA
/data/data/misc/lo
cation/gps
Menggunakan builder ANT
IV-3
N Masalah
Penanganan
Implementasi
Pengiriman pesan
bertipe selain
string harus
dikonversi secara
manual
Untuk pengiriman tipe
Location maka
longitude & latitude dari
tipe tersebut harus
diekstraksi kemudian
dikonversi ke string.
Ketika penerimaan maka
harus dikonversi balik dari
string menjadi tipe
Location.
Mencari
dokumentasi
secara manual
ataupun dari
sumber lain.
Tersedia third-party yang
menyediakan dokumentasi
tidak resmi untuk android
di
http://www.androidjavadoc
.com
IMSI harus diatur
melalui kode
program
Mengatur IMSI melalui
perintah
SystemProperties.
set(
TelephonyPropertie
s.PROPERTY_IMSI,
nomor_telepon);
Interaksi dengan
objek di
MapOverlay
harus dilakukan
melalui cara lain.
Interaksi dengan objek di
MapOverlay dilakukan
melalui halaman lain, tidak
langsung melalui halaman
map.
o
5
6
7
8
9
plugin. This is a known
limitation” [GOO08]
GTalk Service Android
ternyata hanya mendukung
pengiriman pesan string
meskipun parameter method
mendukung pengiriman tipe
lain.
“Althought the class Bundle
can contain data of different
types, GTalkService currently
only supports string types”
[GOO08]
API Android belum
didokumentasikan secara
lengkap.
“As with the entire SDK, this
is an early look, so there
likely are gaps in
functionality and
documentation” [GOO08]
Emulator belum mendukung
pengaturan nomor telepon
(IMSI)
Event handling pada
MapOverlay belum
diimplementasikan secara
penuh.
“Event handling and the focus
mechanism for Overlays have
not been fully implemented”
[GOO08]
Melakukan
Terdapat API yang ternyata
implementasi
belum memiliki
secara manual
implementasi.
“Note: this class is currently
a mock-only” [GOO08]
Melakukan implementasi
secara manual
IV-4
4.1.4 Implementasi Kelas
Setiap kelas pada aplikasi diimplementasikan dalam bahasa java, dimana setiap kelas
utama akan diimplementasikan dalam sebuah file. Kelas yang diimplementasikan
mengacu pada perancangan yang telah dilakukan pada Subbab 3.4, namun
disesuaikan dengan framework pengembangan pada platform Android. Daftar kelas
yang telah diimplementasikan dapat dilihat pada Tabel IV-2:
Tabel IV-2 Daftar Kelas Implementasi
Nama Kelas
Nama File Fisik
HalamanMuka.java
HalamanMuka
HalamanPelacakan.java
HalamanPelacakan
HalamanPelacakanEdit.java
HalamanPelacakanEdit
HalamanPenelusuran.java
HalamanPenelusuran
HalamanPenelusuranEdit.java
HalamanPenelusuranEdit
HalamanPeta.java
HalamanPeta
Pelacakan.java
Pelacakan
R.java
R
ResponsePelacakan.java
ResponsePelacakan
ResponsePelacakanService.java
ResponsePelacakanService
TargetRemote.java
TargetRemote
KoneksiGps.java
KoneksiGps
KoneksiRemote.java
KoneksiRemote
Message.java
Message
HalamanKonfigEditWhitelist.java
HalamanKonfigEditWhitelist
HalamanKonfigKoneksi.java
HalamanKonfigKoneksi
HalamanKonfigPasswd.java
HalamanKonfigPasswd
HalamanKonfigWhitelist.java
HalamanKonfigWhitelist
HalamanPreferensi.java
HalamanPreferensi
Konfigurasi.java
Konfigurasi
HalamanKonfigEditWhitelist.java
HalamanKonfigEditWhitelist
HalamanKonfigKoneksi.java
HalamanKonfigKoneksi
HalamanKonfigPasswd.java
HalamanKonfigPasswd
HalamanKonfigWhitelist.java
HalamanKonfigWhitelist
HalamanPreferensi.java
HalamanPreferensi
Konfigurasi.java
Konfigurasi
IV-5
4.1.5 Implementasi Antarmuka
Implementasi antarmuka dari perangkat lunak dilakukan berdasarkan rancangan yang
telah terdapat pada Subbab 3.4.3 namun disesuaikan dengan komponen-komponen
view yang tersedia pada framework GUI Android. Implementasi antarmuka
ditampilkan dalam bentuk screenshot dari emulator. Gambar IV-1 memperlihatkan
screenshot fitur utama sistem, sedangkan detail hasil implementasi antarmuka dapat
ditemukan pada Lampiran E.
Gambar IV-1 Antarmuka Hasil Penelusuran
IV-6
4.2 Pengujian
Bagian ini akan memuat penjelasan mengenai pengujian terhadap perangkat lunak
yang telah diimplementasikan. Hal-hal yang akan dibahas antara lain adalah tujuan
pengujian, rencana pengujian, dan analisis hasil pengujian.
4.2.1 Tujuan Pengujian
Tujuan dilakukannya pengujian adalah untuk mengetahui apakah aplikasi telah
berjalan sesuai dengan sasaran pembuatan aplikasi, yaitu menguji apakah
implementasi dari perangkat lunak pelacakan dan penelusuran telah berjalan dengan
baik atau tidak terhadap skenario use caseyang sudah dirancang.
4.2.2 Rencana Pengujian
Pengujian aplikasi pelacakan dan penelusuran pada tugas akhir ini dilakukan
berdasarkan rancangan setiap skenario dari use case (skenario untuk tiap use case
dapat dilihat pada Lampiran A). Pengujian akan dilakukan dengan metode blackbox
pada lingkungan/kondisi eksekusi yang ideal.
4.2.3 Lingkungan Pengujian
Aplikasi diuji pada lingkungan dengan spesifikasi perangkat keras dan perangkat
lunak sebagai berikut.
4.2.3.1 Spesifikasi Perangkat Keras Lingkungan Pengujian
1. Tiga (3) buah komputer dengan memori RAM 1 GB, Prosesor Intel Pentium 4
Clock 2.40 GHz, dan spesifikasi standar.
2. Akses internet dengan Local Area Network (LAN) pada lingkungan ber-proxy
dengan alamat proxy server di cache.itb.ac.id:8080
4.2.3.2 Spesifikasi Perangkat Lunak Lingkungan Pengujian
1. Sistem operasi Windows XP Professional Service Pack 2
2. Java Standard Edition Development Kit Versi 6 Update 5
3. Android Development tools: Emulator dan Android Debug Bridge (ADB)
4. Proxifier versi 2.7 trial license
IV-7
4.2.3.3 Spesifikasi Lain Lingkungan Pengujian
1. Tiga (3) buah akun jaringan ITB untuk mengakses internet
2. Tiga (3) buah akun layanan Google
3. Tiga (3) buah data uji GPS berupa file log yang berisi data GPS dalam format
NMEA sentence GPRMC.
4.2.4 Prosedur Pengujian
Persiapan yang dilakukan dalam melakukan pengujian aplikasi adalah sebagai berikut:
1. menyiapkan 3 buah komputer desktop yang terhubung ke internet dan menginstall sistem operasi Windows XP, platform Java SE, emulator Android,
ADB , dan Proxifier.
2. mengkonfigurasi software Proxifier di masing-masing komputer untuk meredirect semua koneksi dari Emulator Android ke proxy server cache.itb.ac.id
port 8080, kemudian memasukkan akun jaringan ITB agar dapat di-otentikasi
oleh proxy server.
3. mengkonfigurasi XMPP Setting Emulator di masing-masing komputer dengan
akun layanan Google yang sudah dipersiapkan sebelumnya.
4. memasukkan data uji NMEA di tiap emulator dengan perintah: adb push
<nama-file-nmea> /data/data/misc/location/gps
5. melakukan proses pengujian sesuai dengan setiap skenario use case.
6. mencatat hasil pengujian.
4.2.5 Hasil Pengujian
Tabel IV-3 memberikan daftar ringkasan hasil akhir pengujian. Detail pengujian dapat
dilihat pada Lampiran F.
Tabel IV-3 Hasil Pengujian
No
Skenario
Hasil
1
UC-01-S01
Berjalan.
2
UC-01-S02
Berjalan.
3
UC-02-S01
Berjalan.
4
UC-02-S02
Berjalan.
5
UC-02-S03
Berjalan.
6
UC-02-S04
Berjalan.
IV-8
7
UC-02-S05
Berjalan.
8
UC-02-S06
Berjalan.
9
UC-03-S01
Berjalan.
10
UC-04-S01
Berjalan.
11
UC-05-S01
Berjalan.
12
UC-06-S01
Berjalan.
13
UC-06-S02
Berjalan.
14
UC-06-S03
Berjalan.
15
UC-06-S04
Berjalan.
16
UC-06-S05
Berjalan.
17
UC-07-S01
Berjalan.
18
UC-07-S02
Berjalan.
4.2.6 Kesimpulan Hasil Pengujian
Pada Subbab Analisis Hasil Pengujian ini akan dibahas mengenai hasil pengujian
berdasarkan skenario yang telah diujikan pada Subbab 4.2.5.
Skenario UC-01-S01 dan UC-02-S02 menguji apakah perangkat lunak dapat
melakukan pelacakan. Pada kasus ini, pelacak berhasil mengirimkan request
pelacakan melalui SMS. Namun karena emulator Android belum mendukung koneksi
antar emulator melalui jaringan mobile maka target belum dapat menerima SMS
tersebut.
Sehingga
untuk
mensimulasikan
skenario,
sistem
pelacak
hanya
menampilkan message yang dikirim melalui notifikasi, kemudian penguji melakukan
pengiriman SMS secara manual ke sistem target melalui remote terminal dari
emulator. Remote terminal ini diakses melalui cara: telnet
localhost
<port-emulator>, kemudian mengetikan perintah: sms send <nomorpengirim> <message>. Jika password yang dikirimkan benar, maka pesan yang
diterima berupa koordinat lokasi, namun jika password salah, maka pesan berupa
notifikasi kesalahan.
Skenario UC-02-S01 hingga UC-02-S06 menguji apakah perangkat lunak dapat
melakukan penelusuran melalui layanan koneksi paket data yang memanfaatkan
arsistektur peer-to-peer dengan berbantuan server GTalk. Pada kasus ini, pelacak
IV-9
berhasil mengirimkan request pelacakan kepada target. Jika pelacak menerima pesan
error atau mengalami kondisi-kondisi seperti internet maka pelacak akan
menampilkan pesan error sesuai kondisi yang terjadi.
Skenario UC-03-S01 menguji apakah perangkat lunak dapat menampilkan peringatan
jika target yang dilacak keluar dari batas yang telah ditentukan. Pada kasus ini,
perangkat lunak berhasil menampilkan peringatan ketika target keluar dari batas yang
telah ditentukan.
Skenario UC-04-S01 menguji apakah perangkat lunak dapat menyimpan preferensi
penelusuran secara persisten. Pada kasus ini, perangkat lunak berhasil menyimpan
preferensi penelusuran.
Skenario UC-05-S01 menguji apakah perangkat lunak dapat melakukan penelusuran
secara otomatis setiap selang waktu tertentu. Pada kasus ini, perangkat lunak dapat
melakukan pelacakan secara otomatis berdasarkan preferensi periode yang telah
diatur.
Skenario UC-06-S01 hingga UC-06-S05 menguji apakah perangkat lunak dapat
menjawab request pelacakan secara otomatis. Pada kasus ini, perangkat lunak dapat
menjawab request pelacakan secara otomatis tanpa perlu disetujui oleh pengguna. Jika
request tidak berhasil melalui security profile maka sistem akan membalas dengan
pesan kesalahan. Jika ternyata terdapat kondisi-kondisi yang mengakibatkan GPS
tidak dapat diakses misalnya seperti GPS receiver tidak menerima sinyal dari satelit
atau ketika receiver memasuki gedung, maka sistem akan mengembalikan lokasi
terakhir yang diketahui.
Skenario UC-07-S01 dan UC-07-S02 menguji apakah perangkat lunak dapat
menyimpan konfigurasi sistem secara persisten. Pada kasus ini, perangkat lunak
berhasil menyimpan semua konfigurasi sistem secara persisten
Berdasarkan hasil pengujian terhadap 18 buah skenario tersebut, disimpulkan bahwa
perangkat lunak yang telah dibangun pada Tugas Akhir ini telah berjalan dengan baik.
Download