Pengingat Agenda Berdasarkan Konteks Lokasi...

5
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) 1 Abstrak—Pada masa sekarang ini aplikasi pengingat tugas pribadi menjadi kebutuhan penting bagi banyak orang. Pengingat tugas menggunakan kalender di telepon genggam merupakan teknologi yang populer pada saat ini dengan waktu sebagai pemicunya. Hal ini tentunya akan lebih baik jika pengingat tersebut menggunakan pemicu berdasarkan lokasi orang tersebut berada dan juga bisa mengingatkan apa saja yang harus dibawa atau dilakukan untuk menyelesaikan tugas tersebut. Untuk menyelesaikan permasalahan tersebut maka digunakanlah gabungan teknologi Location-based Service dan GPS untuk mengingatkan terhadap tugas. Sistem ini juga memberi sugesti point of interest dan berkas tugas yang harus dibawa dengan menerapkan konsep context-aware dan menambahkan algoritma k-NN query atau k-Nearest Neighbor untuk melakukan klasifikasi sugesti yang mempermudah pengerjaan tugas. Hasil dari uji coba aplikasi menunjukkan bahwa algoritma k-Nearest Neighbor menggunakan nilai k = 7 yang dikombinasikan dengan contex-aware mampu menampilkan sugesti lokasi-lokasi yang berkaitan dengan konteks tugas yang telah diingatkan oleh aplikasi. Kata Kunci—Android, Context awareness, GPS sensor, k- Nearest Neighbor . I. PENDAHULUAN PLIKASI manajemen pengingat tugas pribadi merupakan suatu hal yang penting pada masa sekarang ini. Pengingat tugas menggunakan kalender di telepon genggam merupakan teknologi yang populer pada saat ini, namun kebanyakan pengingat ini menggunakan waktu sebagai pemicunya. Kekurangan dari aplikasi pengingat berbasis waktu adalah aplikasi hanya memberikan peringatan tentang waktu tugas dan deskripsi tugas. Pengingat tugas berdasarkan lokasi sudah pernah diuji coba oleh Ming Tze Hung et al dan diaplikasikan namun terbatas hanya untuk mengingatkan tugas saja [6]. Pada sistem aplikasi ini menggunakan teknologi sensor GPS (Global Positioning System) yang terdapat di platform Android untuk mengatasi permasalahan mengingatkan tugas berdasarkan lokasi [1]. GPS diterapkan pada teknologi LBS (Location Based Service) yang sudah umum digunakan pada smart phone [8]. Sistem kerja dari LBS ini adalah menggunakan sensor GPS untuk mengetahui lokasi dari pengguna dan memberikan peringatan pada pengguna tentang lokasi tersebut dan apa yang harus dilakukan di tempat tersebut. Sistem aplikasi ini juga bisa memberikan sugesti kepada pengguna tentang lokasi sekitar yang digunakan untuk mendapatkan kebutuhan tugas tersebut dan data-data atau berkas-berkas apa saja yang digunakan untuk memenuhi tugas tersebut menggunakan context-aware [2]. Untuk menerapkan context-aware tersebut maka diperlukan algoritma k-NN query atau k-Nearest Neighbor untuk melakukan sugesti terhadap tugas-tugas yang diperlukan [3]. Algoritma k-NN query digunakan karena merupakan algoritma klasifikasi yang cukup bagus untuk digunakan pada sistem context-aware. Dengan algoritma ini bisa didapatkan dua hasil yaitu pengenalan lokasi user apakah direkomendasikan atau tidak dan menampilkan lokasi-lokasi yang berkaitan dengan konteks tugas. Pada artikel ini dibahas tentang implementasi pengingat agenda berdasarkan konteks lokasi menggunakan GPS dengan algoritma k-Nearest Neighbor untuk klasifikasi pada perangkat bergerak. II. KAJIAN PUSTAKA Pada bab II ini akan dijelaskan tentang tekonologi dan teori-teori yang digunakan untuk penelitian ini. A. Context Awareness Context adalah informasi yang dapat digunakan untuk menggambarkan situasi dari entitas. Entitas disini dapat berupa orang, tempat, atau objek yang dianggap relevan untuk interaksi antara pengguna dan aplikasi termasuk lokasi, waktu, aktivitas, dan preferensi [2]. Sebuah sistem aplikasi dikatakan context aware, jika aplikasi dapat mengekstrak, menafsirkan, dan menggunakan informasi dari context dan terdapat fungsi yang dapat beradaptasi pada context yang digunakan [2]. Dalam arti yang lebih sederhana, sebuah sistem dikatakan context-aware jika sistem menggunakan konteks untuk memberikan informasi yang relevan kepada user, di mana relevansi tergantung pada kegiatan user. Dalam tugas akhir ini dibangun aplikasi yang bisa memberikan sugesti lokasi dan berkas sesuai konteks tugas user. B. GPS GPS (Global Positioning System) merupakan sistem navigasi satelit yang dikembangkan oleh Departemen Pertahanan Amerika Serikat (US DoD = United States Department of Defense) [1]. GPS memungkinkan kita mengetahui posisi geografis kita (lintang, bujur, dan ketinggian di atas permukaan laut). Jadi di manapun kita berada di muka bumi ini, kita dapat mengetahui posisi kita dengan tepat. Perangkat GPS menerima sinyal yang ditransmisikan oleh satelit GPS. Dalam menentukan posisi, kita membutuhkan paling sedikit tiga satelit untuk penentuan posisi dua dimensi (lintang dan bujur) dan empat satelit untuk penentuan posisi tiga dimensi (lintang, bujur, dan ketinggian). Semakin banyak satelit yang diperoleh maka akurasi posisi kita akan semakin tinggi. Untuk mendapatkan Pengingat Agenda Berdasarkan Konteks Lokasi Menggunakan GPS dengan Algoritma k-Nearest Neighbor pada Perangkat Bergerak Ivan Ahmed Giovanni, Ary Mazharuddin S., Hudan Studiawan Jurusan Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Jl. Arief Rahman Hakim, Surabaya 60111 E-mail: [email protected] A

Transcript of Pengingat Agenda Berdasarkan Konteks Lokasi...

Page 1: Pengingat Agenda Berdasarkan Konteks Lokasi …digilib.its.ac.id/public/ITS-paper-35679-5109100042-paperpdf.pdf · teori-teori yang digunakan untuk penelitian ini. A. Context Awareness

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

1

Abstrak—Pada masa sekarang ini aplikasi pengingat tugas pribadi menjadi kebutuhan penting bagi banyak orang. Pengingat tugas menggunakan kalender di telepon genggam merupakan teknologi yang populer pada saat ini dengan waktu sebagai pemicunya. Hal ini tentunya akan lebih baik jika pengingat tersebut menggunakan pemicu berdasarkan lokasi orang tersebut berada dan juga bisa mengingatkan apa saja yang harus dibawa atau dilakukan untuk menyelesaikan tugas tersebut. Untuk menyelesaikan permasalahan tersebut maka digunakanlah gabungan teknologi Location-based Service dan GPS untuk mengingatkan terhadap tugas. Sistem ini juga memberi sugesti point of interest dan berkas tugas yang harus dibawa dengan menerapkan konsep context-aware dan menambahkan algoritma k-NN query atau k-Nearest Neighbor untuk melakukan klasifikasi sugesti yang mempermudah pengerjaan tugas. Hasil dari uji coba aplikasi menunjukkan bahwa algoritma k-Nearest Neighbor menggunakan nilai k = 7 yang dikombinasikan dengan contex-aware mampu menampilkan sugesti lokasi-lokasi yang berkaitan dengan konteks tugas yang telah diingatkan oleh aplikasi.

Kata Kunci—Android, Context awareness, GPS sensor, k-

Nearest Neighbor .

I. PENDAHULUAN PLIKASI manajemen pengingat tugas pribadi merupakan suatu hal yang penting pada masa sekarang

ini. Pengingat tugas menggunakan kalender di telepon genggam merupakan teknologi yang populer pada saat ini, namun kebanyakan pengingat ini menggunakan waktu sebagai pemicunya. Kekurangan dari aplikasi pengingat berbasis waktu adalah aplikasi hanya memberikan peringatan tentang waktu tugas dan deskripsi tugas. Pengingat tugas berdasarkan lokasi sudah pernah diuji coba oleh Ming Tze Hung et al dan diaplikasikan namun terbatas hanya untuk mengingatkan tugas saja [6].

Pada sistem aplikasi ini menggunakan teknologi sensor GPS (Global Positioning System) yang terdapat di platform Android untuk mengatasi permasalahan mengingatkan tugas berdasarkan lokasi [1].

GPS diterapkan pada teknologi LBS (Location Based Service) yang sudah umum digunakan pada smart phone [8]. Sistem kerja dari LBS ini adalah menggunakan sensor GPS untuk mengetahui lokasi dari pengguna dan memberikan peringatan pada pengguna tentang lokasi tersebut dan apa yang harus dilakukan di tempat tersebut.

Sistem aplikasi ini juga bisa memberikan sugesti kepada pengguna tentang lokasi sekitar yang digunakan untuk mendapatkan kebutuhan tugas tersebut dan data-data atau berkas-berkas apa saja yang digunakan untuk memenuhi tugas tersebut menggunakan context-aware [2]. Untuk menerapkan context-aware tersebut maka diperlukan

algoritma k-NN query atau k-Nearest Neighbor untuk melakukan sugesti terhadap tugas-tugas yang diperlukan [3]. Algoritma k-NN query digunakan karena merupakan algoritma klasifikasi yang cukup bagus untuk digunakan pada sistem context-aware. Dengan algoritma ini bisa didapatkan dua hasil yaitu pengenalan lokasi user apakah direkomendasikan atau tidak dan menampilkan lokasi-lokasi yang berkaitan dengan konteks tugas.

Pada artikel ini dibahas tentang implementasi pengingat agenda berdasarkan konteks lokasi menggunakan GPS dengan algoritma k-Nearest Neighbor untuk klasifikasi pada perangkat bergerak.

II. KAJIAN PUSTAKA Pada bab II ini akan dijelaskan tentang tekonologi dan teori-teori yang digunakan untuk penelitian ini.

A. Context Awareness Context adalah informasi yang dapat digunakan untuk

menggambarkan situasi dari entitas. Entitas disini dapat berupa orang, tempat, atau objek yang dianggap relevan untuk interaksi antara pengguna dan aplikasi termasuk lokasi, waktu, aktivitas, dan preferensi [2]. Sebuah sistem aplikasi dikatakan context aware, jika aplikasi dapat mengekstrak, menafsirkan, dan menggunakan informasi dari context dan terdapat fungsi yang dapat beradaptasi pada context yang digunakan [2]. Dalam arti yang lebih sederhana, sebuah sistem dikatakan context-aware jika sistem menggunakan konteks untuk memberikan informasi yang relevan kepada user, di mana relevansi tergantung pada kegiatan user. Dalam tugas akhir ini dibangun aplikasi yang bisa memberikan sugesti lokasi dan berkas sesuai konteks tugas user.

B. GPS GPS (Global Positioning System) merupakan sistem

navigasi satelit yang dikembangkan oleh Departemen Pertahanan Amerika Serikat (US DoD = United States Department of Defense) [1].

GPS memungkinkan kita mengetahui posisi geografis kita (lintang, bujur, dan ketinggian di atas permukaan laut). Jadi di manapun kita berada di muka bumi ini, kita dapat mengetahui posisi kita dengan tepat.

Perangkat GPS menerima sinyal yang ditransmisikan oleh satelit GPS. Dalam menentukan posisi, kita membutuhkan paling sedikit tiga satelit untuk penentuan posisi dua dimensi (lintang dan bujur) dan empat satelit untuk penentuan posisi tiga dimensi (lintang, bujur, dan ketinggian). Semakin banyak satelit yang diperoleh maka akurasi posisi kita akan semakin tinggi. Untuk mendapatkan

Pengingat Agenda Berdasarkan Konteks Lokasi Menggunakan GPS dengan Algoritma

k-Nearest Neighbor pada Perangkat Bergerak Ivan Ahmed Giovanni, Ary Mazharuddin S., Hudan Studiawan

Jurusan Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Jl. Arief Rahman Hakim, Surabaya 60111

E-mail: [email protected]

A

Page 2: Pengingat Agenda Berdasarkan Konteks Lokasi …digilib.its.ac.id/public/ITS-paper-35679-5109100042-paperpdf.pdf · teori-teori yang digunakan untuk penelitian ini. A. Context Awareness

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

2

sinyal tersebut, perangkat GPS harus berada di ruang terbuka.

C. Haversine Formula Haversine formula merupakan rumus utuk menentukan

jarak antara 2 titik latitude dan longitude di permukaan bumi [5].

𝑎 = 𝑠𝑖𝑛2 𝛥𝜑

2 + 𝑐𝑜𝑠 𝜑1 . 𝑐𝑜𝑠 𝜑2 . 𝑠𝑖𝑛2

𝛥𝜆

2 (1)

𝑐 = 2. 𝑎𝑡𝑎𝑛2 𝑎, 1 − 𝑎 (2) 𝑑 = 𝑅. 𝑐 (3)

Persamaan (1), (2), dan (3) merupakan rumus untuk menghitung dua titik latitude dan longitude di permukaan bumi. Menggunakan latitude dan longitude titik A dan B sehingga didapatkan jarak antar keduanya. Di mana Δφ adalah selisih latitude dan Δλ adalah selisih longitude. Sedangkan φ1 adalah latitude pertama dan φ2 adalah latitude kedua dari suatu lokasi dengan nilai R adalah 6.371 km jari-jari bumi. Rumus ini digunakan untuk melakukan perhitungan jarak antara dua lokasi dikarenakan bentuk data dari latitude dan longitude adalah menggunakan satuan derajat dan jarak antara dua lokasi tersebut tidak selalu menggunakan garis lurus untuk mendapatkan jaraknya.

D. K-Nearest Neighbours Classification Algoritma K-Nearest Neighbor (KNN) adalah sebuah

metode untuk melakukan klasifikasi terhadap objek berdasarkan data training yang jaraknya paling dekat dengan objek tersebut. Data training diproyeksikan ke ruang berdimensi banyak, di mana masing-masing dimensi merepresentasikan fitur dari data [4].

Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi data training. Sebuah titik pada ruang ini ditandai kelas c jika kelas c merupakan klasifikasi yang paling banyak ditemui pada K buah tetangga terdekat titik tersebut. Dekat atau jauhnya tetangga biasanya dihitung dengan fungsi jarak seperti Euclidean distance, Manhattan distance, dan sebagainya tergantung kasusnya.

Pada fase training, algoritma ini hanya melakukan penyimpanan vektor-vektor fitur dan klasifikasi dari data training. Pada fase klasifikasi, seluruh data training dihitung jaraknya ke sebuah objek data test dengan suatu fungsi jarak. Setelah dilakukan perhitungan maka dilakukan pengurutan dari kecil ke besar dan diambil sebanyak nilai K.

Nilai K yang terbaik untuk algoritma ini tergantung pada jumlah data. Pada umumnya nilai K yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi lebih kabur. Contoh klasifikasi dari suatu objek yang tidak diketahui kelasnya terdapat pada Gambar 1.

Proses yang dilakukan setelah proses training yaitu proses klasifikas dengan Persamaan (4) yang digunakan untuk menentukan titik atau objek baru yang akan ditentukan jenis kelasnya berdasarkan perhitungan jarak dengan titik dataset.

Gambar 1. Ilustrasi k-Nearest Neighbours

Satu titik objek (yang klasifikasinya tidak diketahui) akan

diklasifikasikan ke dalam sebuah kelas. Untuk nilai K=3 objek tersebut diklasifikasikan ke dalam kelas segitiga karena 2 dari 3 buah tetangga terdekat adalah kelas segitiga, sedangkan untuk nilai K=5 objek tersebut diklasifikasikan ke kelas bentuk bintang.

Kelemahan dari algoritma ini adalah KNN perlu menentukan nilai dari parameter K (jumlah dari tetangga terekat untuk voting), pembelajaran berdasarkan jarak yang tidak ditentukan dengan rumus atau aturan yang baku dan atribut mana yang harus digunakan untuk mendapatkan hasil yang terbaik. Biaya komputasi cukup tinggi karena diperlukan perhitungan jarak dari tiap data uji pada keseluruhan data latih.

Secara matematis metode mayoritas voting K-Nearest Neighbor dapat diformulasikan sebagai berikut [4] dengan rumus mayoritas voting pada (4). Kemudian input atau objek data masukan berbentuk (5).

𝑦′ = 𝐼(𝑣 = 𝑦𝑖)(𝑥𝑖 ,𝑦𝑖)𝜖𝐷𝑧𝑣

argmax

(4) 𝑧 = (𝑥′ ,𝑦′) (5)

Proses hitung 𝑑(𝑥′ ,𝑥), jarak antara z dan setiap objek, (𝑥,𝑦) ∈ 𝐷. Pilih 𝐷𝑧 ⊆ 𝐷. Dataset dari K objek training terdekat dari z. Kemudian diproses dengan rumus akhir pada (6).

𝑦 ′ = 𝐼(𝑣 = 𝑦𝑖)(𝑥𝑖 ,𝑦𝑖)𝜖𝐷𝑧𝑣

argmax

(6)

Di mana v adalah label kelas, iy adalah label kelas tetangga terdekat ke-i dan I adalah indikator dari fungsi yang mengembalikan nilai 1 jika argumen benar dan jika salah.

III. DESAIN SISTEM Pada bab III dijelaskan tentang desain sistem yang meliputi arsitektur dan diagram alur dari jalannya algoritma pada aplikasi ini. Dalam bab ini dijelaskan tentang diagram dari arsitektur sistem perangkat lunak yang dikembangkan. Dalam bab ini dijelaskan juga tentang diagram alir dari algoritma k-Nearest Neighbor yang diterapkan pada sistem aplikasi ini beserta proses klasifikasinya.

Objek tidak punya kelas

Page 3: Pengingat Agenda Berdasarkan Konteks Lokasi …digilib.its.ac.id/public/ITS-paper-35679-5109100042-paperpdf.pdf · teori-teori yang digunakan untuk penelitian ini. A. Context Awareness

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

3

SATELIT GPS

ANDROID SMARTPHONE

GPS ReceiverWeb Server

(PHP, MySQL)

Application/ User

Interface

(Aanroid, SQLite)

USER

Gambar 2. Arsitektur Sistem pada Perangkat Lunak.

A. Deskripsi Umum Sebagaimana yang telah diuraikan pada bab sebelumnya,

maka pada artikel ini akan didesain sebuah sistem untuk melakukan manajemen tugas yang terdiri dari pengingat tugas atau agenda berdasarkan lokasi dengan radius satu kilometer. Dalam hal memberikan sugesti lokasi terdekat digunakanlah konsep context-awarness yang menggunakan algoritma k-Nearest Neighbor untuk melakukan klasifikasi terhadap dataset lokasi-lokasi di database sistem server.

Memberikan sugesti berkas-berkas tugas yang sesuai dengan konteks tugas dan lokasi tugas yang diingatkan oleh aplikasi. User juga bisa melakukan pengunduhan dan pengunggahan berkas tugas dengan sistem aplikasi ini ke web server.

Arsitektur Sistem Arsitektur sistem diilustrasikan pada Gambar 2.

Keterangan gambar dapat dijelaskan sebagai berikut: 1) Proses klasifikasi data point of interest dimulai saat

user membuka aplikasi. 2) Pada tahap pertama akan dilakukan pengecekan

posisi user di Google Maps. 3) Setelah diketahui posisi user, maka akan dilakukan

pengecekan terhadap tugas user dalam radius satu kilometer.

4) Jika terdapat tugas, maka selanjutnya dilakukan pengecekan terhadap point of interest dengan cara mengirim latitude dan longitude pengguna serta konteks tugas pada saat itu.

5) Di sisi server dilakukan klasifikasi point of interest terhadap jarak dengan lokasi tugas user dan konteks yang sesuai klasifikasi.

6) Setelah selesai dilakukan perhitungan, maka dilakukan pengiriman data point of interest yaitu lokasi yang terdekat dengan lokasi tugas user ke telepon genggam user.

Start

Tentukan nilai kHitung jarak data

test dan data set

Perulangan

perhitungan

Hitung jarak

dengan rumus

Haversine

Urutkan data

berdasarkan yang

terkeceil

Ambil data

sejumlah k

dengan urutan

kecil ke besar

Klasifikasi

Konteks tugas sama &&

Jarak tugas <= Jarak POI

Konteks tugas tidak sama &&

Jarak tugas > Jarak POI

End

Data belum habis

Data sudah habis

Konteks tugas sama &&

Jarak tugas > Jarak POI

Gambar 3. Diagram Alir Algoritma Menggunakan K-Nearest Neighbours

B. Perancangan Alur Sistem Klasifikasi Gambar 3 merupakan proses klasifikasi dengan

menggunakan metode k-Nearest Neighbor, di mana pada proses inilah inti dari proses pemisahan lokasi point of interest kedalam kelas-kelas yang telah ditentukan oleh sistem sejumlah k yaitu dua klasifikasi. Masukan proses klasifikasi merupakan nilai x, y, dan konteks tugas hasil pengambilan data dari sensor GPS. Data ini disebut dengan data testing. Proses klasifikasi dimulai dengan menghitung jarak antara x, y dengan setiap data training xt, yt dengan rumus jarak Haversine.

Data training sejumlah k yang memiliki jarak terdekat dengan data testing akan disimpan. Setiap data training memiliki kandidat untuk menjadi dua klasifikasi yaitu (REKOMENDASI UTAMA dan TIDAK REKOMENDASI). Proses akhir klasifikasi adalah penentuan lokasi point of interest berdasarkan dua klasifikasi tersebut.

Contoh dari klasifikasi k-Nearest Neighbor dengan permisalan nilai k yaitu 3 akan menghasilkan contoh klasifikasi seperti, lokasi 1 = REKOMENDASI UTAMA, lokasi 2 = REKOMENDASI UTAMA, lokasi 3 = TIDAK REKOMENDASI.

Menurut voting user dipastikan masuk ke kelas REKOMENDASI UTAMA dan user dianjurkan menuju ke lokasi tersebut.

IV. IMPLEMENTASI

A. Implementasi Penghitungan Jarak Pada Gambar 4 ditunjukkan pseudocode fungsi

penghitungan jarak antar lokasi digunakan rumus Haversine.

1

6

2

2

2

3 5

4

Page 4: Pengingat Agenda Berdasarkan Konteks Lokasi …digilib.its.ac.id/public/ITS-paper-35679-5109100042-paperpdf.pdf · teori-teori yang digunakan untuk penelitian ini. A. Context Awareness

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

4

_eQuatorialEarthRadius = 6378.1370D; _d2r = (Math.PI / 180D);

//fungsi Haversine delta longitude = (lonDB – userLon) * _d2r delta latitude = (latDB – userLat) * _d2r a = sin(∆ longitude / 2) * sin(delta latitude / 2) + cos(deg2rad(userLat)) * cos(deg2rad(latDB)) * sin(delta longitude / 2) * sin(delta longitude / 2); c = 2 * asin(sqrt(a)) return d = _eQuatorialEarthRadius * c

Gambar 4. Implementasi rumus Haversine

Rumus ini diimplementasikan di sisi klien untuk menghitung jarak tugas terdekat dengan user.

Rumus Haversine juga digunakan untuk menghitung jarak antara user dan lokasi-lokasi di dataset untuk keperluan klasifikasi.

B. Implementasi Klasifikasi Sugesti Lokasi Berkaitan Fungsi ini digunakan untuk menampilkan daftar sugesti

lokasi point of interest beserta pembagian kelas-kelas dari hasil perhitungan algoritma k-NN di sisi server. Gambar 5 dan Gambar 5 akan menjelaskan dari sisi pseudocode fungsi untuk mengambil data dan membagi dalam kelas-kelas.

Pada kondisi pertama apabila konteks tugas sama dengan konteks lokasi point of interest dan jarak user ke lokasi tugas kurang dari atau sama dengan atau lebih dari jarak user ke lokasi point of interest maka dimasukkan kelas REKOMENDASI UTAMA. Dan apabila konteks tugas tidak sama dengan konteks lokasi point of interest dan jarak user ke lokasi tugas lebih dari jarak user ke lokasi point of interest maka lokasi tersebut dimasukkan golongan lokasi yang kelas klasifikasinya TIDAK REKOMENDASI. Lokasi point of interest juga ditampilkan dalam bentuk peta juga.

Pada proses ini juga dilakukan klasifikasi dari lokasi user berada. Klasifikasi dilakukan untuk menentukan jenis lokasi user berada apakah termasuk lokasi yang direkomendasikan untuk melakukan tugas atau tidak berdasarkan dari hasil mayoritas klasifikasi lokasi-lokasi yang berkaitan dengan konteks tugas yang diingatkan oleh aplikasi.

C. Implementasi Pengecekan Tugas User Pada implementasi pengecekan tugas user yang pertama

dieksekusi adalah pengecekan lokasi user dengan menggunakan penerimaan sinyal GPS sehingga didapatkan latitude dan longitude serta menggunakan geolokasi untuk mendapatkan alamat lengkap dari lokasi user.

Setelah mendapatkan lokasi lengkap user, akan dilakukan pengecekan pada database lokal SQLite di ponsel user. Pengecekan dilakukan dengan menghitung jarak dari tiap tugas-tugas yang disimpan dengan rumus Haversine. Setelah mendapatkan jarak dari tiap-tiap perhitungan jarak makan diamabil tugas dengan jarak yang paling dekat dengan user.

Tugas yang diambil adalah tugas dengan jarak kurang dari atau sama dengan satu kilometer terhadap radius lokasi user. Radius didapatkan dari penghitungan menggunakan rumus Haversine.

SISI SERVER

hitung jarak antara posisi pengguna dan dataset lokasi urutkan data berdasarkan jarak terendah ke terjauh //ambil data sejumlah k for i<k dapat lokasi terdekat sejumlah k endfor kirim data hasil training ke klien

Gambar 5. Implementasi K-Nearest Neighbours server

SISI KLIEN

//fungsi dapatkan data lokasi kirim parameter latitude, longitude, konteks tugas dengan http post request

dapat data hasil training jika data training tidak kosong dapat data latitude, longitude, alamat, konteks lokasi if konteks tugas match && jarakPOI <= jarakTugas masuk kelas REKOMENDASI UTAMA else if konteks tugas match && jarakPOI > jarakTugas masuk kelas REKOMENDASI else masuk kelas TIDAK REKOMENDASI endif endfor endif

Gambar 6. Implementasi K-Nearest Neighbours client

V. UJI COBA DAN ANALISIS Pada bab V akan ditampilkan hasil uji coba dari penelitian artikel ini meliputi uji coba performa dan akurasi.

A. Uji coba Performa Uji coba kecepatan sistem dalam melakukan klasifikasi

lokasi berkaitan dengan tugas user dengan variasi nilai k dan dataset lokasi yang digunakan untuk membantu klasfikasi sebanyak 132 dataset. Koneksi ke server menggunakan koneksi HSDPA.

Pengukuran kecepatan klasifikasi berdasarkan jumlah nilai k dengan nilai yang beragam. Pengukuran dimulai dengan jumlah k = 3 hingga k = 7. Hasil dari pengukuran diukur dalam satuan waktu detik. Waktu tersebut didapatkan dari waktu klasifikasi dan respon kembali ke user.

B. Uji Coba Akurasi Uji coba akurasi dilakukan pengujian ketepatan aplikasi

dalam memberikan sugesti dan memberikan hasil klasifikasi lokasi user berdasarkan konteks tugas dengan variasi nilai k pada algoritma k-Nearest Neighbor.

Page 5: Pengingat Agenda Berdasarkan Konteks Lokasi …digilib.its.ac.id/public/ITS-paper-35679-5109100042-paperpdf.pdf · teori-teori yang digunakan untuk penelitian ini. A. Context Awareness

JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)

5

Gambar 7. Hasil Uji Coba Akurasi Berdasarkan Variasi Nilai K

Gambar 8. Hasil Uji Coba Akurasi Berdasarkan Variasi Nilai K

Dari uji coba akurasi pemberian sugesti lokasi berkaitan

sekaligus pengenalan lokasi user berdasarkan variasi nilai K, maka hasil uji coba dapat ditampilkan ke dalam grafik seperti yang terlihat pada Gambar 7 dan Gambar 8. Dari grafik yang ditunjukkan pada Gambar 7 dapat dianalisa bahwa akurasi mengalami peningkatan pada saat perubahan nilai K=3 ke nilai K=5 begitu juga ketika nilai K=7 akurasi mengalami peningkatan. Dapat disimpulkan bahwa nilai K yang tinggi adalah K=5 dan K=7 dengan akurasi sebesar 70%-80%. Nilai K optimal yaitu 7.

VI. KESIMPULAN DAN SARAN Pada bab VI akan ditunjukkan kesimpulan dari hasil uji coba dan saran untuk perbaikan aplikasi.

A. Kesimpulan Berdasarkan hasil pengamatan yang telah dilakukan dapat

diambil kesimpulan sebagai berikut: 1. Aplikasi pengingat tugas untuk user telah

diimplementasikan dan bisa digunakan untuk pencarian lokasi yang berkaitan dengan tugas yang diingatkan dan untuk pencarian berkas user yang sesuai yang ada pada proses selanjutnya.

2. Algoritma k-Nearest Neighbor telah dapat diimplementasikan pada aplikasi tugas akhir ini dengan akurasi untuk tiap-tiap contoh konteks tugas berbeda.

Untuk konteks kuliah sebesar 70-80%, untuk konteks riset 50-80%, dan untuk konteks kerja sebesar 20-50%.

3. Keragaman dan jumlah data training atau dataset mempengaruhi untuk keakuratan hasil klasifikasi. Dibuktikan dengan hasil tiga uji coba yang telah dilakukan. Walaupun ditemukan lokasi yang dekat dengan user, namun tidak semuanya cocok dengan tugas user.

4. Jumlah k yang semakin tinggi membuat proses klasifikasi menjadi lebih tidak bias dan presisi, dengan k optimal 7.

B. Saran Adapun saran-saran yang dapat diberikan untuk

pengembangan sistem ini berikutnya adalah: 1. Implementasi aplikasi ini memiliki akurasi yang tidak

terlalu tinggi untuk mengenali lokasi user secara tepat dikarenakan ketika sensor GPS pada telepon genggam memberikan data posisi masih bisa melenceng dari lokasi sebenarnya sehingga pengembangan di kemudian hari bisa dimungkinkan memakai modul GPS yang khusus untuk navigasi sebagai penerima data lokasi.

2. Untuk pengembangan selanjutnya data testing aplikasi ini diharapkan tidak hanya mampu memberikan data lokasi point of interest di sekitar ITS saja namun dimungkinkan juga untuk diperluas areanya. Untuk konteks lokasi juga diperbanyak.

3. Penggantian metode algoritma klasifikasi bisa dilakukan agar klasifikasi bisa dioperasikan dengan baik. Contoh dengan algoritma Neural Network.

4. Pada pengembangan selanjutnya pengguna bisa menambahkan lokasi points of interest dengan catatan harus dilakukan verifikasi terlebih dahulu oleh aplikasi sehingga tidak muncul data yang rancu dan mengganggu sistem aplikasi.

DAFTAR PUSTAKA [1] Navigasi, "GPS," [Online]. Available:

http://www.navigasi.net/gofaq.php. [Accessed 28 Juni 2013]. [2] Hong, J., Suh, E., and Kim, S. J. (2009). “Context-aware systems: A

literature review and classification”. Expert Systems with Applications, 36:8509–8522.

[3] Prof. Thomas B. Fomby. (2008, Februari). k-Nearest Neighbors Algorithm: Prediction and Classification.

[4] Wu X. et al. (2008). “Top 10 algorithms in data mining. Knowledge Inference System”. Survey Paper, 14:1–37.

[5] Math Wolfram. “Haversine Formula,” [Online]. Available: http://www. mathworld.wolfram.com/Haversine.html . [Diakses pada 28 Juni 2013].

[6] Ming Tze Hung, Wei-Hsun and Huang Chi-Yi Lin, "A Location-based Personal Task Management Application for Indoor and Outdoor Environments," 15th International Conference on Network-Based Information System, pp. 582-585, September 2012.

0

20

40

60

80

100

Uji Coba 1 Uji Coba 2 Uji Coba 3

Aku

rasi

(%

)

Data Uji Coba

Grafik Uji Coba Akurasi Tiap Nilai k (dalam %)

k = 3

k = 5

k = 7