3 BAB III PERANCANGAN SISTEM DAN APLIKASI
Dalam Tugas Akhir ini dikembangkan aplikasi bergerak berbasis context aware dan LBS yang dinamakan dengan ItbInHand. ItbInHand bertujuan untuk memberikan layanan berbasis lokasi kepada pengunjung di wilayah kampus ITB yang menggunakan pernagkat bergerak. Aplikasi ini bersifat peka terhadap perubahan lokasi yang dilakukan oleh pengunjung sehingga mereka dapat mengetahui posisi aktualnya pada peta ITB melalui layar ponsel. Pengunjung juga dapat mengetahui lokasi-lokasi penting yang ada disekitarnya melalui simbolsimbol landmark yang aktif. Pada landmark-landmark ini, pengunjung akan menerima peringatan berupa nama lokasi dan dapat meminta informasi detail tentang lokasi tersebut.
3.1
Gambaran Umum Sistem Aplikasi ItbInHand merupakan aplikasi yang dirancang khusus untuk
perangkat bergerak terutama yang mendukung teknologi Java, dimana aplikasi ini mampu menyediakan fasilitas berbagai jenis informasi yang dapat diakses oleh perangkat telepon bergerak. Pada aplikasi ini client dapat melakukan pengaksesan informasi yang diinginkan cukup dengan menekan tombol perintah yang terdapat pada perangkat telepon bergerak. Seluruh informasi yang diakses oleh client tersebut tidak lain berasal dari basis data server, sehinggga client dapat meminta informasi kepada server dengan menggunakan port yang telah ditentukan, kemudian server akan memroses, setelah itu client dapat menerima informasi yang dibalas oleh server. Dengan begitu client dapat melakukan semua aksi yang tersedia pada fasilitas aplikasi tersebut selama perangkat telepon bergerak mendapatkan sinyal WLAN di lingkungan kampus ITB.
18
3.1.1
Perancangan Sistem ItbInHand adalah sistem aplikasi berbasiskan lokasi yang penulis serta tim
kembangkan, telah secara eksplisit menggambarkan adanya kemampuan navigasi dan penunjukkan, dengan memberikan informasi mengenai lokasi pengguna berada saat itu beserta fungsionalitas lain yang dapat diberikan. Pemilihan nama ItbInHand setidaknya menggambarkan fungsi-fungsi yang dapat dipenuhi oleh sistem LBS. Aplikasi ItbInHand terbagi menjadi dua bagian utama, yaitu sisi client dan sisi server, dengan media antara kedua bagian ini adalah sambungan internet nirkabel. Pertimbangan menggunakan model client – server antara lain pada sisi client tidak diperlukan media penyimpanan yang besar, dan semua client hanya perlu mengirim pesan permintaan layanan ke server. Hampir seluruh file disimpan dalam basis data server, sehingga sisi client tidak akan terlalu terbebani masalah media penyimpanan dan pemrosesan data, terlebih bila digunakan jumlah data yang sangat besar. Keuntungan yang lain adalah masalah pembaharuan basis data. Untuk data yang berada pada sisi server, maka permasalahan seperti penggantian konten basis data, ataupun pembaharuan informasi suatu lokasi hanya dilakukan di sisi server saja. Penyedia layanan atau administrator tidak perlu mengubah semua data di basis data client seperti halnya bila menggunakan model standalone. Skalabilitas merupakan keuntungan tambahan lainnya, kita dapat menambahkan sebanyak mungkin client, tentu saja diimbangi dengan kemampuan sistem, tanpa harus menambahkan basis data ke setiap sisi client. Bagaimanapun juga desain model sistem seperti ini masih memiliki kekurangan, sebagai contoh adalah masalah transmisi data yang dibutuhkan dari sisi server untuk mencapai sisi client. Tentu saja client akan merasa terganggu apabila layanan yang diminta membutuhkan waktu yang lama hingga dilayani oleh server. Selain itu masalah akan muncul ketika terjadi kongesti jaringan, jaringan down, ataupun jika server mati. Maka jika itu terjadi, semua layanan akan menjadi sia-sia. Masalah penggunaan bandwidth jaringan juga perlu diperhatikan, terutama ketika jumlah client yang mengakses layanan sangatlah
19
banyak. Akan tetapi untuk tahap awal pembuatan sistem, masalah ini dapat dikesampingkan karena jumlah client dibatasi. 3.1.2
Cara kerja sistem Berikut akan dijabarkan sebuah gambaran umum mengenai cara kerja
aplikasi ini di lapangan
Gambar 3.1 Desain arsitektur sistem ItbInHand
Pada sistem ini akan terdapat aplikasi client dan server. Aplikasi client dibangun dengan menggunakan teknologi J2ME. Istilah dari aplikasi client ini biasa disebut dengan MIDlet. MIDlet sendiri hanya terbatas pada penanganan user interface dan melakukan koneksi ke server, yang dalam hal ini melakukan permintaan terhadap pelayanan HTTP yang terdapat di server. Sedangkan aplikasi pada sisi server dibangun tiga komponen utama, yaitu application server, basis data server, dan Web Server. Untuk application server dan Web Server akan dibangun dengan PHP dan untuk dapat melakukan koneksi jaringan dari client ke server digunakan Apache. Pada application server ini berfungsi untuk melayani beberapa permintaan informasi dari pihak client, sedangkan untuk Web Server berfungsi untuk melayani perubahan data dari pihak admin atau browsing data dari pihak browser. Selain itu, juga terdapat basis data server yang akan
20
menyimpan data-data informasi yang digunakan untuk diakses oleh pihak client maupun aplikasi web. Basis data yang digunakan pada sisi server ini adalah MySQL. Pada aplikasi disisi client ini terdapat suatu menu layanan yang berbentuk list menu, dimana menu layanan ini berfungsi bagi client untuk dapat mengetahui informasi-informasi apa saja yang ditampilkan. Kemudian client dapat mengakses salah satu menu layanan tersebut dan dari perangkat telepon bergerak akan mengirimkan permintaan tersebut kepada server. Setelah itu, server akan membalas permintaan dari client lalu dikirimkan kembali ke perangkat telepon bergerak. Apabila pada sisi server melakukan perubahan suatu menu layanan, maka sisi client pun dapat segera mengetahui perubahan menu layanan tersebut dan client bias mengakses kembali menu layanan yang berubah tersebut tanpa perlu membangun aplikasi lagi. Client dapat melakukan semua aksi yang tersedia pada fasilitas aplikasi tersebut selama perangkat telepon bergerak mendapatkan sinyal WLAN di lingkungan ITB.
3.2
Spesifikasi Sistem Setelah menganalisis gambaran umum sistem yang diajabarkan pada
bagian sebelumnya, spesifikasi fungsional dan spesifikasi teknis dari sistem dapat didata menjadi poin-poin berikut: 3.2.1
Spesifikasi fungsional Spesifikasi fungsional merupakan pra-syarat layanan-layanan yang akan
disediakan oleh sistem ItbInHand. Spesifikasi tersebut antara lain : 1. Client mampu melakukan pengambilan secara berkala data posisi koordinat dari GPS receiver yang terhubung dengan satelit GPS. Koneksi antara GPS receiver dengan telepon seluler adalah dengan menggunakan bluetooth. Untuk hal ini telepon seluler pengguna harus memiliki JSR 82 Bluetooth API. 2. Client mampu melakukan pemrosesan pemilahan format data GPS menjadi format yang diperlukan dalam parameter sistem. Hal ini
21
3. Client mampu melakukan koneksi dengan jaringan internet nirkabel (WLAN). Java API yang mendukung hal ini adalah JSR 172 Web Services API. 4. Server mampu mengenali dan merespon format data yang diterima dari client. 5. Server mampu menyediakan fasilitas informasi yang diminta oleh pengguna. 3.2.2
Spesifikasi teknis Setelah penentuan spesifikasi fungsional, maka spesifikasi teknisnya dapat
ditentukan. Adapun spesifikasi teknis sistem ItbInHand adalah sebagai berikut: 1. Menggunakan media bluetooth-serial port antara receiver GPS dengan devais pengguna. 2. Menggunakan koneksi HTTP melalui media WLAN antara client dan server. 3. Mengekstrak data dari receiver GPS agar sesuai dengan format layanan. 4. Menggunakan MySQL pada basis data dengan pendefinisian area Point of Interest (POI) untuk memberikan iformasi area.
3.3
Perancangan Struktur Layanan Perangkat Lunak Pada bagian perancangan aplikasi ini akan dijelaskan perancangan layanan
berbasis lokasi pada sistem ItbInHand dan dilanjutkan dengan pemodelan aplikasi dengan diagram use case, deployment, sequence, dan kelas. 3.3.1
Perancangan basis data Pada perancangan sistem ini, diperlukan sebuah sistem basis data yang
nantinya akan diintegrasikan dengan aplikasi server yang ada. Sistem basis data tersebut nantinya akan dimanfaatkan untuk menyimpan data-data landmark dari
22
POI berupa titk lintang (longitude), titik bujur (latitude), beserta informasi landmark tersebut. Informasi yang berkaitan dengan layanan diatas disimpan dalam basis data MySQL dengan struktur data sebagai berikut
Gambar 3.2 Struktur dan format data yang disimpan dalam basis data
Tabel 3.1 Struktur data tabel pada basisi data di MySQL
Nama Kolom
Tipe Data
Keterangan
Longitude
varchar (255)
Titik lintang
Latitude
varchar (255)
Titik bujur
Nama
varchar (255)
Nama landmark
Keterangan
text
Informasi landmark
Selain memberikan informasi mengenai landmark, server juga memberi layanan penentuan jarak terpendek (shortest path) dari suatu gedung ke gedung lain. Data yg dikirimkan berupa gambar (image) dengan format .png. Data tersebut kemudian disimpan pada C:\Program Files\xampp\htdocs\peta
23
Gambar 3.3 Contoh tampilan peta shortest path
3.3.2
Memunculkan peta wilayah Peta wilayah direpresentasikan pada pengunjung dengan instance canvas
peta ITB yang merepresentasikan peta dengan posisi pengunjung pada peta dan landmark-landmark yang ada di sekitarnya. Image peta ITB tersimpan dalam package dengan format .png. Peta kampus ini mencakup seluruh wilayah kampus ITB dengan batas-batas: 1. Batas Utara Gerbang utara kampus ITB. 2. Batas selatan Mencakup jalan Ganeca. 3. Batas Barat Mencakup perbatasan kampus ITB dengan Jalan Tamansari. 4. Batas Timur Mencakup bagian belakang Gedung Kuliah Umum (GKU) Timur. Gambar peta ITB di-raster pada saat pembuatan instance ITBMap berdasarkan parameter koordinat kiri-atas dan koordinat kanan-bawah peta. Setiap parameter koordinat ini diekspresikan dalam nilai latitude, longitude dan altitude.
24
Gambar 3.4 Cakupan wilayah aplikasi ItbInHand
Sebelum aplikasi ini melakukan transisi ke screen peta, terlebih dahulu akan dilakukan inisialisasi terhadap peta. Dalam proses inisialisasi ini, aplikasi terlebih dahulu melakukan inisialisasi terhadap provider, landmark dan me-load image yang dibutuhkan untuk menampilkan canvas peta ITB pada layar. Insialisasi terhadap provider menjelaskan bagaimana hubungan aplikasi ini dengan location provider-nya, dalam hal ini GPS receiver. Location provider merepresentasikan sumber informasi lokasi. Pemilihan location provider dilakukan dengan mendefinisikan parameter kriteria. Disinilah dibutuhkan implementasi location API, dimana API ini akan memilih provider berdasarkan kriteria yang paling mendekati definisi. 3.3.3
Diagram Use Case Diagram use case meggambarkan sejumlah aktor eksternal dan
hubungannya dengan use case yang disediakan oleh sistem. Use case mendeskripsikan fungsi-fungsi yang disediakan oleh sistem. Sedangkan aktor merupakan seseorang atau sesuatu pelaku yang berinteraksi dengan sistem, yaitu bagaimana dan siapa yang menggunakan sistem. Dalam berinteraksi, aktor akan mengirim atau menerima pesan ke atau dari sistem.
25
Use case digambarkan hanya yang dilihat dari luar oleh aktor (keadaan lingkungan sistem yang dilihat client) dan bukan bagaimana fungsi yang ada di dalam sistem. Dalam aplikasi ItbInHand ini aktor dibagi menjadi dua kategori, human actor dan system actors. Human actors didefinisikan sebagai client/visitor yang sudah memilki device pendukung dan menggunakan aplikasi ItbInHand dan berada pada lingkungan jaringan nirkabel (WLAN) ITB. Perangkat yang termasuk pada
system
actors
adalah
GPS
receiver,
smartphone,
dan
aplikasi
ItbInHand.Berikut adalah diagramnya
MyPosition
FindPlace Server
Visitor
ShortestPath
Gambar 3.5 Diagram use case
. 3.3.3.1 Identifikasi Use Case Tabel 3.2 Deskripsi Use Case : layanan My Position
Use Case
Proses My Position
Aktor
Client
Deskripsi
Merupakan
proses
untuk
menu layanan My Position
26
menampilkan
Tabel 3.3 Typical course of events: layanan My Position
Aksi Aktor
Respon Sistem
1. Mengaktifkan aplikasi
2. Menampilkan splash screen sejenak,
ItbInHand
kemudian menampilkan Main Menu
3. Mengaktifkan layanan My
4. Menampilkan peta beserta landmark
Position 5. Mengaktifkan bluetooth. 6. Berjalan mendekati Landmark
7. Peta menunjukkan adanya alert bahwa client berada di sekitar wilayah landmark.
8. Meminta layanan Landmark
9. Menampilkan koordinat landmark
Details
kemudian menyocokannya dengan basis data 10. Memberikan informasi landmark yang terdapat pada basis data
Tabel 3.4 Deskripsi Use Case : layanan Find Place
Use Case
Proses Find Place
Aktor
Client
Deskripsi
Merupakan proses untuk menampilkan menu layanan Find Place
Tabel 3.5 Typical course of events: layanan Find Place
Aksi Aktor 1.
Mengaktifkan
ItbInHand
Respon Sistem aplikasi 2. Menampilkan splash screen sejenak, kemudian menampilkan Main Menu
3. Mengaktifkan layanan Find 4. Menampilkan pilihan posisi apa yang Place
ingin diketahui client: ATM, bank, atau toilet
5. Mengaktifkan salah satu posisi 6. Menampilkan posisi pada peta yang diinginkan
27
Tabel 3.6 Deskripsi Use Case : layanan Shortest Path
Use Case
Proses Shortest Path
Aktor
Client
Deskripsi
Merupakan proses untuk menampilkan menu layanan Shortest Path
Tabel 3.7 Typical course of events: layanan Shortest Path
Aksi Aktor 1.
Respon Sistem
Mengaktifkan
aplikasi 2. Menampilkan splash screen sejenak,
ItbInHand
kemudian menampilkan Main Menu
3. Mengaktifkan layanan Shortest Path 4. Memilih daerah asal 5. Memilih daerah tujuan
6. Menanyakan apakah ingin melakukan koneksi dengan server. 7. Jika iya, akan men-download image jarak terpendek dari server. Jika tidak, akan kembali ke menu awal
3.3.4
Diagram deployment Pada UML, deployment diagram menyajikan tampilan perangkat keras
yang digunakan dalam pengimplementasian sistem, komponen dalam perangkat keras, dan hubungan antara keduanya. Komponen diagram UML lainnya masih memfokuskan
pada
pengimplementasian
fisik
dari
komponen
aplikasi.
Deployment diagram memberikan perspektif yang bereda dari aplikasi. Deployment diagram menangkap konfigurasi dari elemen runtime pada aplikasi.
28
Tabel 3.8 Elemen diagram deployment
Elemen beser deskripsinya
Simbol
Node: Elemen yang mehasilkan lingkungan eksekusi bagi komponen dalam sistem. Direpresentasikan dengan
ProductionServer
sebuah kubus dengan nama objek di dalamnya,diawali dengan tanda titik dua (:) kemudian digarisbawahi.
Apabila diuraikan dalam bentuk deployment diagram, sistem ItbInHand ini dapat dibagi menjadi dua bagian, yaitu pada sisi server dan sisi client. Pada sisi server, aplikasi yang berjalan adalah web service, sedangkan pada sisi client adalah aplikasi ItbInHand itu sendiri. Berikut adalah diagramnya.
:Server
:MobileDevice
Web Service
Tanoto
Gambar 3.6 Deployment diagram
3.3.5
Diagram sequence Suatu diagram sequence menggambarkan, dalam bentuk garis parallel
vertikal, proses atau objek yang berbeda-beda yang muncul secara simultan, dan, dalam bentuk anak panah horizontal, terjadi pertukaran pesan antara kedua belah pihak, dengan urutan sesuai dengan tingkat kemunculan. Dalam beberapa kasus, diagram sequence dapat memberikan spsesifikasi dari perilaku sistem. Dalam kasus lain, diagram sequence tidak dapat memberikan perilaku sistem secara lengkap, tetapi mampu memberikan use case dari sistem. Berdasarkan use case yang telah dideskripsikan sebelumnya, maka diagram sequence dari sistem ItbInHand ini adalah sebagai berikut.
29
Gambar 3.7 Diagram sequence menu My Position
Gambar 3.8 Diagram sequence Toilet dalam menu Find Place
30
Gambar 3.9 Diagram sequence Bank dalam menu Find Place
:MainMenu
:ItbInHand
:FindPlace
Visitor
commandAction() Selection(pil: int) FindPlace()
getDisplay()
commandAction() goToATM()
getDisplay()
Gambar 3.10 Diagram sequence ATM dalam menu Find Place
31
Gambar 3.11 Diagram sequence menu Shortest Path
3.3.6
Diagram kelas Pada UML, diagram kelas adalah suatu tipe struktur diagram statis yang
menjabarkan mengenai struktur dari sistem dengan menampilan class dari sistem, atribut, dan hubungan antar class. Berikut adalah diagram kelas dari sistem ItbInHand
32
Gambar 3.12 Diagram kelas aplikasi ItbInHand
3.3.7
Diagram flow chart Start
Splash screen
Main Menu
My Position
Find Place
Shortest Path
Load Peta & Landmark
Choose Area
Choose Area
Get Details
Load Image
Connect WLAN? Yes
Show Details
Show Image
Download Image
Show Image
End
Gambar 3.13 Diagram flow chart
33
No