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 simbol-simbol 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.
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
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
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
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
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
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.
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.
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
Visitor
MyPosition
FindPlace
ShortestPath
Server
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 menampilkan
menu layanan My Position
Tabel 3.3 Typical course of events: layanan My Position
Aksi Aktor Respon Sistem
1. Mengaktifkan aplikasi ItbInHand
2. Menampilkan splash screen sejenak, kemudian menampilkan Main Menu 3. Mengaktifkan layanan My
Position
4. Menampilkan peta beserta landmark
5. Mengaktifkan bluetooth.
6. Berjalan mendekati Landmark 7. Peta menunjukkan adanya alert bahwa
client berada di sekitar wilayah landmark.
8. Meminta layanan Landmark Details
9. Menampilkan koordinat landmark 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 Respon Sistem
1. Mengaktifkan aplikasi ItbInHand
2. Menampilkan splash screen sejenak, kemudian menampilkan Main Menu
3. Mengaktifkan layanan Find
Place
4. Menampilkan pilihan posisi apa yang ingin diketahui client: ATM, bank, atau toilet
5. Mengaktifkan salah satu posisi yang diinginkan
6. Menampilkan posisi pada peta
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 Respon Sistem
1. Mengaktifkan aplikasi ItbInHand
2. Menampilkan splash screen sejenak, 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.
Tabel 3.8 Elemen diagram deployment
Elemen beser deskripsinya Simbol
Node: Elemen yang mehasilkan lingkungan eksekusi
bagi komponen dalam sistem. Direpresentasikan dengan sebuah kubus dengan nama objek di dalamnya,diawali dengan tanda titik dua (:) kemudian digarisbawahi.
ProductionServer
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.
:MobileDevice
Tanoto :Server
Web Service
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.
Gambar 3.7 Diagram sequence menu My Position
Gambar 3.8 Diagram sequence Toilet dalam menu Find Place
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
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
Gambar 3.12 Diagram kelas aplikasi ItbInHand
3.3.7 Diagram flow chart
Start
My Position Find Place Shortest Path
Load Peta & Landmark Show Image Choose Area Connect WLAN? Load Image Choose Area Get Details Download Image Splash screen Main Menu Show Details End Show Image No Yes
Gambar 3.13 Diagram flow chart