2 BAB II TINJAUAN PUSTAKA
2.1
Context Aware Contex- aware merupakan istilah untuk suatu perangkat atau sistem yang
memiliki kemampuan beradaptasi dan merespon suatu keadaan, maupun dapat membuat asumsi mengenai keadaan pengguna pada saat itu. Menurut Dey [1], context adalah informasi yang digunakan untuk membuat karakterisasi sebuah situasi atau entitas. Entitas dapat berupa orang, lokasi, maupun objek, yang relevan terhadap interaksi antara pengguna dan aplikasi, dan sebaliknya. Schilit & Theimer
[2]
yang
pertama
kali
mempopulerkan
istilah
context-aware
menganalogikan context sebagai lokasi, identitas seseorang maupun obyek yang akan berubah terhadap suatu context itu sendiri. Schilit membagi sisi ke-contextan suatu entitas menjadi tiga kategori, yaitu: Tabel 2.1 Jenis-jenis context menurut Schilit
Context
Definisi
Computing
Berhubungan dengan metode perhitungan, seperti jalur konektivitas jaringan, biaya komunikasi, penggunaan bandwidth, dll. Berhubungan dengan kondisi pengguna, seperti profil pengguna, lokasi
User
pengguna, dll Physical
Berhubungan dengan entitas fisik, seperti suhu, kadar cahaya, kecepatan angin, kelembapan udara, dll
Menurut Salber & Abowd (1998) salah satu kesulitan bagi desainer aplikasi context-aware adalah ketidaktersediaan infrastruktur generik untuk pengembangannya. Sebagai tambahan, aplikasi yang sudah tersedia menggunakan rentang fitur-fitur dan tipe-tipe context-aware yang terbatas.
4
Aplikasi
context-aware
pada
pernagkat
bergerak
merupakan
pengembangan teknologi yang saat ini sedang banyak diminati. Context yang lebih banyak digunakan adalah context berbasis lokasi. Implementasinya kepada perangkat bergerak dapat memberikan lahan bisnis baru bagi pengembang perangkat lunak, operator telekomunikasi dan penyedia layanan untuk mengembangkan layanan berbasis lokasi.
2.2
Location Based Service (LBS) LBS adalah suatu layanan yang mengeksploitasi seluruh informasi yang
dapat diperoleh pengguna berdasarkan lokasinya. LBS menentukan lokasi pengguna
dengan
menggunakan
teknologi
penentuan
posisi,
kemudian
menggunakan posisi dan informasi yang diperoleh untuk mengaktifkan layanan yang diinginkan. Terdapat dua tipe pendekatan guna mengimplementasikan LBS, yaitu: 1. Mengolah data lokasi pada server kemudian hasilnya dikirim kembali ke perangkat pengguna. 2. Memperoleh data lokasi kemudian diolah langsung pada perangkat itu sendiri Untuk mendapatkan lokasi dari perangkat, LBS harus menggunakan metode real-time positioning. Tingkat akurasi bergantung pada metode yang digunakan. Terdapat tiga metode real-time positioning, yaitu: 1. Metoda Basic Positioning yang berbasis pada Identifikasi Sel (Cell ID) Metode Cell ID ini merupakan metode yang paling sederhana dalam menentukan keberadaan lokasi dari perangkat bergerak. Penentuan posisinya didasarkan keberadaan lokasi dari perangkat. Penentuan posisinya didasarkan pada kenyataan bahwa daerah geografis yang tercakup oleh sebuah perangkat. Ketika sebuah perangkat terhubung secara aktif dengan sebuah BTS, berarti perangkat tersebut diasumsikan berada dalam daerah yang mampu dicakup oleh BTS.
5
Gambar 2.1 Daerah cakupan jaringan seluler
Untuk meningkatkan efektivitas, seringkali digunakan beberapa buah antenna. Dengan membatasi sudut pancar BTS, jika sebuah perangkat terdeteksi berada di sebuah cell sector tertentu, daerah pencarian yang mungkin tentunya menjadi lebih kecil. Untuk lebih meningkatkan lagi akurasi hasil pencarian, metode Cell ID ini seringkali dikombinasikan dengan metode lain misalnya adalah Timing Advance(TA) dengan menambahkan fungsionalitas untuk menghitung Round Trip Time (RTT), yaitu waktu transmisi sebuah frame (dari BTS ke perangkat) dan waktu penerimaan sebuah (dari perangkat ke BTS).
Tabel 2.2 Akurasi metoda Cell ID
Metoda Cell ID
Rural Jangkauan
Suburban Jangkauan
Urban Macrocell:
Indoor Jika
1km – 35km 1km – 10km Jangkauan 500m menggunakan umumnya
umumnya
– 5km umumnya picocell
15km
5km
2km
biasanya
maksimal
Microcell:
mencapai 10m
~100km
Jangkauan 50m – – 50m 500m 200m
6
umumnya
TA tidak memberikan peningkatan yang nyata dalam hal akurasi, namun bagus digunakan sebagai parameter yang baik untuk memeriksa apakah sebuah perangkat telah terhubung ke cell terdekat
2. Metoda Enhanced-Observe Time Difference (E-OTD) Metode Enhanced Positioning yang umumnya menggunakan pendekatan Observe Time Difference atau OTD. Dalam Jaringan GSM yang sering digunakan adalah Enhanced-OTD (E-OTD). EOTD adalah metode pencarian posisi yang berdasarkan pada waktu. Untuk menentukan posisi relatif sebuah perangkat aktif terhadap 3 BTS, perlu ditentukan terlebih dahulu jarak perangkat terhdap masing – masing BTS berdasarkan waktu yang ditempuh oleh sebuah sinyal ke perangkat oleh masing – masing BTS.
Gambar 2.2 Metoda E-OTD
Tabel 2.3 Akurasi metoda E-OTD
Teknologi
Rural
Suburban
Urban
Indoor
E-OTD
50m - 150m
50m - 150m
50m - 150m
Bagus
Performansi rendah untuk daerah BTS dengan kerapatan yang rendah misalnya lingkungan pedalaman
7
3. Menggunakan satelit Metode ini merupakan metode penentuan posisi yang paling tinggi akurasinya dibandingkan kedua metode sebelumnya.Pada metode ini, akan dilakukan pengukuran waktu tiba dari sebuah sinyal yang dikirimkan dari 3 buah atau lebih satelit GPS. Tabel 2.4 Akurasi metoda GPS
Teknologi
Rural
Suburban
Urban
Indoor
GPS
10m
10m - 20m
10m - 100m
Variabel
Kurang baik dalam ruangan
Keterangan lebih lanjut mengenai metoda ini akan dijelaskan pada bab 2.3 mengenai GPS. Entitas lokasi dari pengguna mobile tentu saja merupakan salah satu komponen terpenting dalam LBS dalam memberikan suatu informasi kepada pengguna. Menurut Beinat [3] terdapat tiga kelas utama dari suatu LBS, yaitu : 1. Layanan-layanan informasi, menyediakan informasi mengenai obyek yang berada di dekat pengguna, seperti pencarian ATM, toilet, ataupun musholla. 2. Layanan-layanan interaksi, berdasarkan interaksi antara pengguna dan devais bergeraknya. 3. Layanan bergerak, mendukung mobilitas cerdas dan berada dalam kisaran kemampuan navigasi, seperti layanan pencarian jarak terdekat antara dua tempat.
2.3
Global Positioning System (GPS) GPS merupakan sistem navigasi berbasis satelit yang tersusun atas
jaringan 24 buah satelit yang diatur oleh Departemen Pertahanan Amerika Serikat. Pada awalnya GPS diperuntukan bagi keperluan militer, akan tetapi pada tahun 1980-an pemerintah mengizinkan sistem tersebut untuk dipergunakan oleh umum. Satelit ini akan memancarkan sinyal untuk kemudian diterima oleh GPS receiver.
8
Dengan GPS receiver yang berperan sebagai posisi objek, informasi posisi objek dapat diperoleh. GPS dapat bekerja dalam berbagai kondisi cuaca, di berbagai tempat di seluruh dunia, 24 jam sehari. Tidak ada ketentuan dan biaya tertentu dalam penggunaan GPS.
Gambar 2.3 Konstelasi satelit GPS
2.3.1
Perhitungan triangulasi Pola perhitungan GPS menggunakan proses triangulasi. Untuk lebih
mudah memahami proses ini, maka penulis akan mencoba menerangkan dua dimensi triangulasi agar lebih mudah untuk dimengerti. Bayangkan Anda berada di Amerika Serikat dan Anda benar-benar tersesat. Kemudian Anda bertanya kepada penduduk setempat dimana Anda berada. Kemudian dia berkata bahwa Anda berada pada 625 mil dari Boise, Idaho. Hal ini berarti bahwa Anda bisa berada dimana saja dalam lingkaran radius sekitar Boise. Kemudian Anda bertemu penduduk setempat lain, dan Anda menanyakan hal yang serupa. Dia menjawab bahwa Anda berada pada 690 mil dari Minneapolis, Minnesota. Anda mencoba menanyakan hal yang sama kepada penduduk lokal lain. Dia menjawab bahwa Anda berada pada 615 mil dari Tucson, Arizona. Apabila Anda menggabungkan ketiga informasi tersebut, maka Anda akan dapat mengetahui kondisi Anda sebenarnya, yaitu di Denver, Colorado.
9
Gambar 2.4 Proses triangulasi dalam dua dimensi (2D)
Pola perhitungan yang hampir serupa digunakan pada proses triangulasi GPS. Perbedaanya adalah GPS menggunakan proses triangulasi tiga dimensi.
Gambar 2.5 Proses triangulasi GPS (3D)
2.3.2
National Marine Electronics Association (NMEA) Data yang diterima oleh GPS receiver pada umumnya berformat sesuai
dengan aturan NMEA 0183. Format ini merupakan serangkaian baris data yang 10
memiliki dua huruf prefiks sebagai identifikasi jenis divais dan diikuti oleh tiga huruf yang menunjukkan isi kalimat. Selain itu untuk indentifikator produsen pembuat perangkat, maka terdapat pengkhususan dari NMEA untuk penggunaan definisi kalimat proprietary suatu produsen dengan cara menggunakan prefiks huruf awal P, dan diikuti oleh tiga huruf sebagai identitas produsen terkait, misalnya PMGN untuk Magellan, dan PGRM untuk Garmin. Format datanya adalah sebagai berikut : 1. Setiap kalimat terdiri dari maksimum 80 karakter, diawali dengan karakter ‘$’, diakhiri dengan pergantian baris 2. Tiap informasi data dipisahkan oleh tanda koma. 3. Pada akhir setiap kalimat terdapat checksum yang terdiri atas karakter ‘*’ dan dua digit heksa sebagai exclusive OR dari semua karakter, kecuali ‘$’ dan ‘*’.
Gambar 2.6 Contoh penulisan data NMEA
2.4
Java 2 Micro Edition (J2ME) J2ME adalah bagian dari teknologi Java 2 yang dikembangkan Sun
Microsystem yang digunakan untuk menjalankan dan mengembangkan aplikasiaplikasi java pada perangkat-perangkat bergerak seperti handphone, Palm, PDA, dan Pocket PC yang memiliki karakteristik yang berbeda dengan sebuah computer biasa, misalnya kecilnya jumlah memori dan kapasitas penyimpanan yang terbatas, serta kemampuan user interface yang terbatas. J2ME terdiri atas komponen-komponen sebagai berikut : 1. Java Virtual Machine (JVM) Komponen ini untuk menjalankan program-program java pada Emulator atau perangkat bergerak. 11
2. Java API (Application programming Interface) Komponen ini merupakan kumpulan librari untuk menjalankan dan mengembangkan program Java pada perangkat bergerak 3. Tools lain untuk pengembangan aplikasi Java, semacam emulator Java Phone, emulator Motorola,Siemens dan Nokia Saat ini terdapat dua jenis aplikasi J2ME, yaitu : 1. Walled garden application, yaitu aplikasi yang berdiri sendiri (standalone) yang berjalan pada perangkat bergerak tanpa perlu mengakses sumber data eksternal melalui jaringan pembawa (carrier network), misalnya aplikasi kalkulator, aplikasi single player games 2. Network aware application, yaitu aplikasi yang berinteraksi dengan jaringan dan memiliki kemampuan untuk mengakses sumber data eksternal, misalnya aplikasi email, aplikasi pengiriman email ke berbagai alamat melalui jaringan, aplikasi untuk mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan. 2.4.1
Application Programming Interfaces (API) API adalah antarmuka antara aplikasi dengan software platform, API
sangat menentukan kemampuan dari perangkat bergerak. Sebagai tambahan untuk API CLDC, terdapat dua komponen utama API yang berpotensial pada platform J2ME: 1. Mobile Information Device Profile (MIDP) APIs : sebuah standarisasi dari sejumlah API yang ditentukan oleh Mobile Information Device Profile Expert Group (MIDPG). 2. OEM-specific APIs : disediakan oleh OEM untuk mengakses fungsi tertentu yang dapat diberikan pada perangkat handheld. Aplikasi yang menggunkan APIs ini mungkin tidak akan cocok bila digunakan oleh handheld lain.
12
Gambar 2.7 API MIDP CLDC
2.4.2
MIDlet Aplikasi yang jalan diatas alat yang mendukung MIDP disebut MIDlets.
Pengaplikasian API ditentukan oleh interaksi antara aplikasi dan MIDlet serta bagaimana MIDlets ini dikontrol. MIDlets terdiri atas: 1. Descriptor (atribut aplikasi) 2. Java class 3. Resources (bitmaps,dll) Penanganan eksekusi aplikasi dilakukan oleh Java Aplication Manager (JAM). JAM akan mengatur instalasi, eksekusi, manajemen versi, dan penghilangan MIDlets. Kendali yang diperbolehkan antara lain adalah: user interfaces (input/output), persistent storage (simple record-oriented database), networking (HTTP, WAP), timers (Personal Information Management).
13
Tabel 2.5 Status daur hidup MIDlet
Nama Status Paused
Keterangan Status ini terjadi ketika MIDlet selesai diinisialisasi dan tidak melakukan aksi apapun. Pada status ini MIDlet tidak boleh sedang mengunci suatu sumber daya, misalnya tidak boleh sedang melakukan locking atau mengunci sebuah file untuk ditulis yang menyebabkan proses lain tidak bisa menulis ke file tersebut. Secara garis besar, status MIDlet adalah Paused pada saat : •
Setelah MIDlet dibuat dengan konstruktor new()
•
Dari status Active, kemudian berhasil memanggil fungsi MIDlet.pauseApp()
•
Dari status Active, kemudian berhasil memanggil fungsi MIDlet.notifyPaused()
•
Dari status Active, namun ketika akan start() terjadi kesalahan berupa exception: MIDletStateChangeException
Active
Status ini terjadi ketika MIDlet sedang aktif / berjalan dangan normal,
yakni
setelah
memanggil
fungsi
MIDlet.startApp()
Destroyed
Status ini terjadi ketika MIDlet berhenti berjalan ( identik dengan Exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan
fungsi
MIDlet.notifyDestroyed()
14
MIDlet.destroyApp()
atau
2.5
Geographic Information System (GIS) GIS merupakan suatu informasi (berbasiskan komputer) yang digunakan
untuk menyimpan dan memanipulasi informasi-informasi geografis. GIS dirancang untuk mengumpulkan, menyimpan, dan menganalisis objek-objek dan fenomena-fenomena dimana lokasi geografis merupakan karakteristik yang penting atau kritis untuk dianalisis. Teknologi yang dibutuhkan dalam pembuatan GIS merupakan integrasi dari beberapa entitas seperti GIS itu sendiri, database management systems (DBMS), remote sensing dan analisis pencitraan, GPS, multimedia serta komputer. Sedangkan DBMS yang digunakan dapat berupa aplikasi berbayar seperti Oracle™ ataupun yang bersifat open-source seperti MySQL. Berbeda dengan aplikasi basis data konvensional, GIS memerlukan data yang berbentuk spasial maupun non-spasial. Data GIS merepresentasikan objek pada dunia nyata (jalan, penggunaan lahan, elevasi) dengan data digital. Objek tersebut dapat dibagi menjadi dua jenis: objek diskrit (sebuah rumah) dan data berkelanjutan (jumlah air hujan). Terdapat dua buah metoda utama yang dapat digunakan untuk menyimpan data pada GIS, yaitu raster dan vektor. Ada beberapa keuntungan dan kerugian dalam penggunaan data raster dan data vektor untuk merepresentasikan objek nyata, diantaranya: 1. Data raster menyimpan seluruh nilai data dari area yang diambil, sedangkan data vektor hanya menyimpan data yang diinginkan saja. Hal ini menyebabkan data raster memerlukan ruang penyimpanan data yang lebih besar dibandingkan data vektor. 2. Data raster memberi kemudahan ketika melakukan implementasi operasi overlay. Hal ini sulit diterapkan pada data vektor. 3. Data vektor dapat ditampilkan berupa grafik vektor yang dapat digunakan untuk peta konvensional. Sedangkan data raster hanya dapat
ditampilkan
sebagai
keterbatasan.
15
gambat
(image)
yang
memiliki
4. Data vektor lebih mudah untuk diskalakan dan diproyeksikan ulang. Hal ini mempermudah dalam penggabungan layer vektor dari sumber yang berbeda-beda.
2.6
Hypertext Transfer Protocol (HTTP) Hypertext Transfer Protocol (HTTP) merupakan protokol level aplikasi
yang digunakan oleh World-Wide Web global information initiative semenjak tahun 1990. Versi pertama HTTP (HTTP/0.9) merupakan protokol sederhana untuk transfer data mentah melalui internet. HTTP/1.0, yang didefinisikan oleh RFC 1945, menambahkan fungsi pengiriman pesan dalam format seperti pesan MIME. Format tersebut mengandung metainformation mengenai data yang dikirimkan dan pemodifikasi pada semantik permintaan serta respon. Spesifikasi yang paling baru adalah HTTP/1.1 dengan menambahkan syarat-syarat baru untuk untuk menjamin reliabilitas fitur-fiturnya. Set-set metode dalam HTTP mengindikasikan tujuan dari suatu permintaan, set-set tersebut dibangun berdasarkan referensi yang disediakan oleh Uniform Resource Identifier (URI), sebagai lokasinya (URL) atau nama (URN) untuk mengindikasikan bahwa suatu metode akan diterapkan. Pesan – pesan disampaikan dalam format yang hampir sama dengan format surat dalam Internet (email) yaitu format Multipurpose Internet Mail Extensions (MIME). Client menginisiasi permintaan dengan membangun sebuah koneksi yang umumnya adalah port 80/8080. Server HTTP akan mendengarkan permintaan yang masuk melalui port tersebut. Setelah adanya permintaan masuk, maka server HTTP mengirimkan status 200 OK disertai data respon atas pemintaan client. Informasi-informasi yang dapat diakses oleh client diidentifikasi dengan menggunakan Uniform Resource Locator (URL). URL sendiri merupakan salah satu jenis URI yang merupakan istilah umum untuk semua tipe nama dan alamat yang menunjuk pada suatu objek dalam World Wide Web. Kita mengenal protokol HTTP menggunakan format URL HTTP dalam bentuk:
16
Tabel 2.6 Protokol HTTP menggunakan format URL
“HTTP:” “//” host [ “:”port ] [ abs_path ] host adalah nama domain Internet yang legal. port adalah bilangan yang menunjukkan port HTTP di host, apabila port tidak disebutkan maka port HTTP diasumsikan sebagai 80. abs_path menyatakan lokasi resource di dalam host. Contoh: http://khensu.cnrg.net:8000/~cleo/home.html http://khensu.cnrg.net/bgp.html
2.7
MySQL MySQL adalah sebuah program basis data server yang mampu menerima
dan mengirimkan datanya dengan sangat cepat, serta menggunakan perintah standar SQL (Structured Query Language). MySQL termasuk basis data yang memiliki beberapa distro yang mampu dijalankanpada beberapa platform, meski secar resmi tentu saja memiliki sebuah platform tersendiri. Pada mulanya MySQL memang hanya berjalan di bawah platform Unix dan Linux, akan tetapi dalam perkembangannya sekarang bermunculan beberapa distro yang mampu berjalan pada beberapa platform yang sifatnya shareware dan corporate, seperti Windows. MySQL sendiri adalah sebuah databse server yang mampu menangani beberapa user di dalamnya. Dengan demikian MySQL juga mampu menangani beberapa instruksi sekaligus dalam setiap waktu akses. Di dalam sistemnya, MySQL merekan semua data user dalam sebuah table user yang berada pada basis data yang bernama mysql. Dalam tabel user tersebut semua akses dan hak akses user mampu ditangani dengan baik. Karena kondisi MySQL sebagai basis data server, ia dapat berjalan secara online dalan jaringan sehingga para pengguna administrator dapat mengelola basis data dan servernya sendiri melalui jaringan.
17