Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 11, November 2017, hlm. 1195-1205
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Implementasi Metode Klasifikasi Fuzzy K-Nearest Neighbor (FK-NN) Untuk Fingerprint Access Point Pada Indoor Positioning Baiq Findiarin Billyan1, Adhitya Bhawiyuga2, Rakhmadhany Primananda3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Positioning adalah sebuah teknik yang digunakan untuk menentukan posisi suatu objek. Dalam positioning terdapat dua jenis teknik yaitu outdoor positioning dan indoor positioning. Contoh sistem outdoor positioning yaitu Global Positioning System (GPS). GPS merupakan sistem untuk mengetahui posisi dan penunjuk arah untuk perpindahan posisi objek melalui sinyal dari satelit. GPS memberikan perkiraan posisi yang baik dalam lingkungan outdoor, tetapi sinyalnya sangat lemah pada lingkungan indoor. Berdasarkan hal tersebut berkembang teknologi yang berfungsi untuk mengetahui posisi objek di indoor yang disebut dengan Indoor Positioning. Pada penelitian ini penulis mengimplementasikan Indoor Positioning dengan metode Fingerprint (metode pengenalan pola kekuatan sinyal) menggunakan pengukuran kekuatan sinyal (Received Signal Strength/RSS), yaitu dengan melihat pola kekuatan sinyal access point yang datang ke penerima dari setiap ruangan. Hal pertama yang dilakukan oleh peneliti adalah mengumpukan data training sebagai dasar klasifikasi, kemudian diberikan label. Setelah itu membuat classifier berdasarkan data training dan peneliti mengukur ulang sebagai data testing untuk menguji akurasinya dengan metode klasifikasi Fuzzy K-Nearest Neighbor (FK-NN). Untuk mempermudah mengakses classifier yang telah dibuat maka penulis memanfaatkan web service. Hasil pengujian posisi client menghasilkan tingkat akurasi pada metode K-NN dengan nilai untuk k=1 nilainya mencapai 96%, k=2 hingga k=7 nilainya mencapai 76%, dan k=8 hingga k=10 nilainya mencapai 73%. Sedangkan, pada metode FK-NN dengan nilai k=1 dan k=2 nilainya mencapai 96%, k=3 hingga k=8 nilainya mencapai 76%, k=9 nilainya mencapai 73%, dan k=10 nilainya mencapai 76%. Berdasarkan hasil akurasi tersebut maka implementasi metode klasifikasi Fuzzy K-Nearest Neighbor (FK-NN) untuk Fingerprint Access point pada Indoor Positioning ini memiliki tingkat akurasi yang cukup baik daripada metode K-NN. Kata Kunci: Indoor Positioning, Fuzzy K-Nearest Neighbor (FK-NN), Fingerprint, Klasifikasi.
Abstract Positioning is a technique used to determine the position of an object. There are two types of positioning technique: outdoor positioning and indoor positioning. An example of a system that can be used to measure outdoor positions is the Global Positioning System (GPS). GPS is a very common technology that known to know a position and as a pointer for displacement of objects through signals from satellites. GPS can provide good positioning in an outdoor environment, but the signal is very weak when used in a closed / indoor environment. Accordingly then developed a technology that serves to know the position of an object in indoor called Indoor Positioning. In this research we implements Indoor Positioning with Fingerprint method (signal strength recognition method) using measurement of signal strength (Received Signal Strength/RSS), that is by analyzed patterns strength of signal access point coming to receiver from every room. The first thing we did is to collect training data first as a basis for classification, then give the label. Next, we create a classifier based on training data. After that we re-measure as data testing to test its accuracy by Fuzzy K-Nearest Neighbor (FK-NN) classification method, and to make it easier to access the classifier that has been made, we use web service. The result of client position gives an accuracy level on K-Nearest Neighbor (K-NN) method with value k = 1 has value reaches 96%, for k=2 to k=7 has value reach 76%, and for k=8 to k=10 has value reach 73%. Meanwhile, FK-NN method with value k=1 and k=2 has value reach 96%, for k=3 to k=8 has value reach 76%, for k=9 has value reach 73%, and for k=10 has value reach 76%. Therefore, the implementation of Fuzzy K-Nearest Neighbor (FK-NN) classification method for Fingerprint Access Fakultas Ilmu Komputer Universitas Brawijaya
1195
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1196
point on Indoor Positioning has an enough accuracy level than the K-NN method. Keywords: Indoor Positioning, Fuzzy K-Nearest Neighbor (FK-NN), Fingerprint, Classification.
1. PENDAHULUAN Positioning adalah sebuah teknik yang digunakan untuk menentukan posisi suatu objek. Dalam positioning terdapat dua jenis teknik yaitu outdoor positioning dan indoor positioning (Rohmadi, Widyawan, & Najib, 2015). Sebuah contoh sistem outdoor positioning yaitu Global Positioning System (GPS). GPS merupakan teknologi untuk mengetahui sebuah posisi dan sebagai penunjuk arah untuk perpindahan posisi objek melalui sinyal dari satelit, tetapi sinyalnya sangat lemah apabila digunakan pada lingkungan tertutup/dalam ruangan. Pada (Sana, 2013) hal tersebut dikarenakan, 1) GPS membutuhkan transmisi line-of-sight antara penerima dan satelit dimana hal tersebut merupakan suatu hal yang tidak mungkin dilakukan dalam lingkungan indoor. 2) GPS membutuhkan pandangan langit yang jelas untuk ketepatan kerjanya. 3) Sinyal GPS tidak tersedia pada lingkungan terbatas atau gedung-gedung yang tinggi. Saat ini sudah mulai berkembang teknologi yang berfungsi untuk mengetahui posisi suatu objek di dalam ruangan yang disebut dengan Indoor Positioning. Indoor Positioning merupakan sistem yang dapat digunakan untuk menentukan lokasi objek di gedung-gedung besar dan di tempat tertutup menggunakan gelombang radio, medan magnetik, sinyal akustik, atau informasi sensor lainnya yang telah dikumpulkan dari sebuah perangkat mobile (Curran et al., 2011). Dalam Indoor positioning terdapat beberapa metode, antara lain Geometric, Inertial, dan Fingerprint. Metode Geometric adalah metode penentuan posisi dengan menggunakan pengukuran jarak (distance). Sedangkan, metode Inertial adalah adalah sebuah pengukuran yang mengandalkan sensor untuk menyimpulkan arah, perpindahan, atau kecepatan sebuah objek untuk keperluan navigasi/penentuan posisi dan kecepatan kendaraan yang bergerak. Metode Fingerprint sendiri merupakan metode penentuan posisi dengan menggunakan pengenalan pola (pattern) dari kekuatan sinyal. Indoor positioning diimplementasikan dengan menggunakan metode Fingerprint karena teknik tersebut difungsikan menggunakan akses dari jaringan lokal, maka dari itu tidak diperlukan biaya Fakultas Ilmu Komputer, Universitas Brawijaya
tambahan untuk infrastrukturnya. Pada pengukuran pattern tersebut dibutuhkan metode untuk melakukan klasifikasi, metode yang dapat digunakan yaitu metode KNN. Pada data training yang memiliki jarak terdekat dengan objek di ukur dengan menggunakan rumus Euclidean Distance. Pada (Torteeka & Chundi, 2015) FK-NN dapat memberikan prediksi yang lebih baik dari metode K-NN, karena metode K-NN memiliki hasil perhitungan yang kurang akurat. Maka dari itu untuk meningkatkan akurasi pada metode penelitian indoor positioning ini penulis menambahkan metode Fuzzy K-Nearest Neighbor (FK-NN). Metode FK-NN merupakan metode yang memprediksi hasil dilakukan dengan data testing, diberikan label kelas pada setiap kelas di data training dengan memberikan nilai keanggotaan, sehingga lebih detail dan akurat perhitungannya. Dalam penelitian ini yang pertama dilakukan oleh peneliti adalah melakukan pengumpulan data training terlebih dahulu sebagai dasar untuk klasifikasi, kemudian diberikan label. Kemudian membuat classifier berdasarkan data training. Setelah itu peneliti mengukur ulang sebagai data testing untuk menguji akurasinya dengan menggunakan metode klasifikasi K-NN dan FK-NN, dan untuk mempermudah mengakses classifier yang telah dibuat maka penulis memanfaatkan web service. 2. LANDASAN KEPUSTAKAAN 2.1 Indoor positioning Indoor positioning merupakan sistem yang digunakan untuk mengetahui lokasi suatu objek atau seseorang yang berada di dalam sebuah gedung dengan menggunakan gelombang radio, medan magnetik, sinyal akustik, atau informasi sensor lainnya yang telah dikumpulkan dari sebuah perangkat mobile. 2.1.1 Tipe Pengukuran Data pada Indoor positioning Terdapat beberapa tipe pengukuran data dalam indoor positioning yaitu, yaitu : 1. Geometric, yaitu digunakan sebagai pengukuran estimasi lokasi. Pada metode ini akan sangat bergantung pada kondisi
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
lingkungannya, dan cukup susah dalam mengkonversi dari kekuatan sinyalnya ke jaraknya, karena kekuatan sinyal itu mengikuti kondisi lingkungan (Dardari, Member, Closas, Member, & Djuri, 2015). Metode pengukuran yang umum digunakan seperti lateration, lokasi target merupakan estimasi dari pengukuran suatu jarak dari beberapa titik referensi menggunakan Time of Arrival (TOA), yaitu waktu perjalanan antara pemancar yang disinkronkan dan perangkat menerima, metode pengukuran Receive Signal Strength (RSS), yaitu kekuatan sinyal radio yang datang pada penerima sebuah jarak dari pemancar, dan metode angulasi menggunakan persimpangan dari beberapa pasang dari sudut arah garis untuk memperkirakan lokasi target merupakan pengukuran Angle Of Arrival (AOA), yaitu sebuah metode untuk memperoleh arah dari propagasi dari sebuah insiden frekuensi gelombang radio. 2. Fingerprinting, yaitu metode untuk pemetaan pengukuran data ke sebuah titik jaringan yang diketahui diseluruh cakupan area pada lingkungannya. Fingerprint merupakan metode penentuan posisi dengan menggunakan pengenalan pola (pattern) dari kekuatan sinyal. Jenis pengukuran ini menggunakan pengukuran Received Signal Strength (RSS), yaitu pola kekuatan sinyal radio yang datang pada penerima dari pemancar. 3. Proximity (kedekatan), merupakan sebuah metode yang memberikan lokasi yang simbolik dalam kondisi dari sebuah layanan dari penyedia datacenter yang menawarkan pelanggan untuk menitipkan server / PC nya di datacenter dengan sebuah landmark yang diketahui. 4. Dead reckoning (Inertial), adalah proses menghitung posisi seseorang saat ini dengan menggunakan posisi yang telah ditentukan sebelumnya, dan memajukan posisi berdasarkan kecepatan yang telah diketahui atau diperkirakan dari waktu dan arah. 2.2 Metode Klasifikasi Klasifikasi adalah metode yang mencari nilai pada salah satu atribut berdasarkan data yang tersedia dapat disebut atribut klas. Nilai dari atribut klas ini dapat ditemukan jika berdasar pada nilai-nilai yang telah ada pada atribut klas, yaitu pada data training. Contohnya Fakultas Ilmu Komputer, Universitas Brawijaya
1197
ketika seseorang dengan sebuah perangkat yang berada pada sebuah gedung, sedang berada diruangan A mendeteksi tiga access point yang letaknya masing-masing berada pada tiga ruangan yang berbeda yaitu ruangan A, B, dan C. Kekuatan sinyal akan berubah-ubah apabila orang tersebut berpindah-pindah posisi pada ruangan A, maka berdasarkan pada sinyal yang ditangkap pada perangkat posisi orang tersebut akan di klasifikasikan tetap ke dalam ruangan A karena posisi orang tersebut masih berada pada ruangan A, walaupun posisinya berpindahpindah dan kekuatan sinyal berubah-ubah. 2.2.1 K-Nearest Neighbor Metode K-NN merupakan suatu metode untuk klasifikasi, metode ini melakukan klasifikasi terhadap suatu obyek yang berdasar kepada data training yang mempunyai jarak yang paling dekat dari obyek tersebut. Semua ruangan yang digunakan adalah sebagai data klasifikasi untuk sample training (Ichsan, Putra, Wibisono, & Studiawan, 2013). Ketika sebuah sample baru digunakan untuk test, kemudian akan dihitung jarak antara sample test dan setiap sample training. Sample tesnya adalah diberikan pada klas yang memiliki kumpulan dari beberapa jarak K yang paling sedikit (Majumdar & Ward, 2000). Rumus euclidean distance digunakan untuk mengitung jaraknya, nilai k yang terbaik pada metode ini bergantung pada data. Diketahui bahwa nilai k yang tinggi dapat mengurangi efek noise dalam klasifikasi, namun dapat membuat batas antar setiap klasifikasi menjadi kabur. Sehingga dalam pemilihan nilai k yang tepat dapat mempengaruhi hasil klasifikasi data terbaik (Ichsan et al., 2013). 2.2.2 Fuzzy K-Nearest Neighbor Fuzzy K-NN merupakan gabungan metode Fuzzy dan K-Nearest Neighbor. Dalam Fuzzy, suatu data memiliki nilai keanggotaan disetiap kelasnya, maksudnya suatu data dapat dimiliki oleh kelas yang berbeda dengan nilai derajat keanggotaan pada interval [0,1]. Klasifikasi Fuzzy K-NN nanti dapat memilih nilai keanggotaan kelas pada data training dengan kekuatan sinyal access point tertinggi. Rumus untuk memberikan nilai keanggotaan pada data testing dijelaskan pada (Persamaan 2.1) dengan menggunakan rumus jarak (euclidiance):
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer K u ( j 1 ij ui ( x )
1 x xj
K ( j 1
2 ( m1)
1 x xj
2 ( m1)
)
1198
dan mendeteksi 1 access point terdekat sebagai tetangga terdekat (1 tetangga terdekat), maka pada metode ini diklasifikasikan bahwa device tersebut berada diruang 1.
)
Persamaan 2.1 Rumus Jarak (Euclidiance)
Fungsi ui (x): nilai keanggotaan data x ke kelas ui, K: nilai yang digunakan untuk menentukan jumlah tetangga terdekat, uij: nilai keanggotaan data pada K tetangga terdekat di kelas j, x - xj: selisih jarak data x ke data xj dalam K tetangga terdekatnya, m: bobot pangkat (weight exponent) yang besarnya m > 1. Rumus untuk melakukan normalisasi data (Persamaan 2.2), yaitu: V
V min max min
Persamaan 2.2 Rumus perhitungan normalisasi Min-Max
Gambar 2.1 Contoh FK-NN dengan 1 tetangga terdekat (1-NN) Sumber: (Prasetyo, 2012)
Kemudian Gambar 2.3 adalah gambar sebuah device yang mendeteksi 3 access point terdekat sebagai tetangga terdekat (3 tetangga terdekat), maka pada metode ini posisi device dapat diklasifikasikan berada di ruang 1.
Fungsi V : Hasil normalisasi yang nilainya berkisar antara 0 dan 1, V: nilai atribut A yang akan dinormalisasi, min A: nilai minimum dari suatu atribut A, max A : nilai maksimum dari suatu atribut A. Berdasarkan hasil perhitungan jarak Euclidean dari semua data, dilakukan pencarian nilai weight (w). 1
weight( w)
dis tan ce( y, a )
2
Persamaan 2.3 Rumus pencarian nilai weight (w)
Fungsi distance (y,a) = nilai jarak dari data training ke data testing. Kemudian rumus untuk Inisialisasi Fuzzy, sebagai berikut: nj 0.51 0.49 k U ij ( x ) n j k 0.49
ji
ji
Persamaan 2.4 Perhitungan inisialisasi Fuzzy
Fungsi Uij: nilai keanggotaan kelas i pada vektor j, nj: jumlah anggota kelas j pada suatu dataset K, k: banyaknya tetangga terdekat, j: kelas target. Berikut ini adalah contoh dari metode Fuzzy K-Nearest Neighbor (FK-NN) berdasarkan pada posisi device dengan access point dalam ruangan, Gambar 2.2 adalah gambar sebuah device yang berada di room 1 (ruang 1), Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 2.2 Contoh FK-NN dengan 3 tetangga terdekat (3-NN) Sumber: (Prasetyo, 2012)
2.3 Web Service Diketahui bahwa Web Service dapat menghubungkan client dengan aplikasi pada server melalui jaringan internet. Dalam Web Service apabila ingin melakukan pengiriman data, formatnya dapat berupa JSON (JavaScript Object Notation) dan XML (Extensible Markup Language). Dalam penelitian ini menggunakan format JSON karena filenya berukuran lebih kecil dibandingkan dengan XML. File yang lebih kecil dapat mempengaruhi respon yang lebih cepat apabila mengakses Web Service. 3. METODOLOGI 3.1. Identifikasi Masalah Pada identifikasi masalah ini membahas
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
masalah yang diteliti dalam penelitian ini yaitu bagaimana mendapatkan data untuk data train dan data test, bagaimana mengolah data train dan data test untuk klasifikasi, bagaimana pengiriman data pada client dan server Web Servicenya, dan bagaimana akurasi posisi seseorang pada sebuah tempat dengan metode fingerprint pada access point dan metode klasifikasi fuzzy k-nn. Berdasarkan pada permasalahan tersebut dapat diidentifikasi cara yang dapat digunakan untuk mengatasi masalah tersebut. Dalam identifikasi masalah ini diberikan solusi yang mungkin dapat digunakan atau diterapkan. Pada penelitian ini menggunakan metode Fingerprint dalam Indoor positioning karena memiliki keuntungan bahwa koordinat access point tidak diperlukan pada proses penentuan posisi. Tetapi, memerlukan pengembangan pada database. Databasenya disebut juga sebagai pemetaan gelombang radio, yang berisi sebuah kumpulan dari pola penyesuaian pada lokasi yang berbeda di area dimana posisi access point akan melakukan kinerjanya. Setelah dapat menentukan masalah yang diteliti kemudian selanjutnya yang dilakukan adalah mencari tujuan penelitian. Tujuan penelitian yaitu metode fingerprint access point pada Indoor positioning tersebut dapat menentukan posisi seseorang dengan menggunakan tambahan metode K-Nearest Neighbor (K-NN) dan Fuzzy K-Nearest Neighbor (FK-NN). Keakuratannya diukur berdasar kekuatan sinyal baru yang didapatkan cocok dengan kekuatan sinyal yang berada dalam database. 3.2 Analisis Kebutuhan Tahap analisis kebutuhan dilakukan dengan tujuan untuk memenuhi kebutuhan pada sistem ini. Jenis analisis kebutuhan yang diperlukan dalam pengimplementasian penelitian ini yaitu sebagai berikut: 1. Kebutuhan Hardware (perangkat keras), yaitu: a. Komputer atau laptop yang dapat digunakan sebagai server maupun client untuk sistem. Dimana diketahui sistem ini dapat berkomunikasi melalui server yang memiliki database dari gedung yang digunakan dengan client. b. Access Point digunakan sebagai jaringan lokal yang digunakan oleh client untuk melakukan fingerprint kekuatan sinyal Fakultas Ilmu Komputer, Universitas Brawijaya
1199
yang kemudian akan dikirimkan kepada server. 2. Kebutuhan Software (perangkat lunak), yaitu: a. Python Command Line dan Python IDLE yang digunakan sebagai compiler dari perancangan sistem ini. b. b.Tools scikit learn untuk dapat memudahkan dalam melakukan klasifikasi dengan metode fuzzy k-nn, numpy untuk pengolahan data, dan file csv sebagai database file. c. Web Service Flask untuk menghubungkan server dengan client. 3. Kebutuhan Data, yaitu info sinyal yang berisi mac address, kekuatan sinyal dari access point, dan kelas tempat pengambilan data. Dilakukan pre-process pada info sinyal tersebut agar menjadi data training dan data testing. 4
SUMBER PUSTAKA/RUJUKAN
4.1 Gambaran Umum Sistem Berikut adalah gambaran umum sistem (Gambar 4.1) mengetahui posisi seseorang dengan fingerprint access point.
Gambar 4.1 Gambaran Umum Sistem
Dalam sistem ini client menerima data mac address dan kekuatan sinyal dari satu atau lebih access point kemudian sistem (server) melakukan kalkulasi data yang baru saja diterima client dengan data yang sudah ada di sistem untuk mengetahui posisi client. 4.2 Perancangan Sistem Pada Gambar 4.2 perancangan sistem digambarkan secara lengkap dari client mendapatkan sinyal kemudian server melakukan komputasi hingga client menerima hasil komputasi dari server (menerima posisinya saat itu).
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Gambar 4.2 Gambaran Perancangan Sistem
Dapat dilihat dari gambar diatas bagaimana proses kerja sistem antara server dan client, yaitu : 1. Client melakukan fingerprint untuk data test yaitu berupa data mac dan kekuatan sinyal. 2. Client mengirimkan data yang didapatkan dari hasil fingerprint kepada server. 3. Server melakukan filter mac address dari data test yang didapatkan dari client dengan mencocokan mac address yang ada di dalam data itu dengan data mac address yang sudah ada di dalam data train. Apabila mac address cocok (ada) di dalam data train maka server akan melanjutkan proses untuk melakukan klasifikasi. Jika tidak cocok (tidak ada) di dalam data train maka server tidak akan melanjutkan proses. Server melakukan klasifikasi data test dengan data train yang sudah didapatkan sebelumnya oleh peneliti. 4. Server mendapatkan hasil klasifikasi berupa teks yang berisi posisi client saat itu. Server mengirimkan hasil klasifikasi kepada client. 5. Client menerima hasil klasifikasi (client mengetahui posisinya saat itu).
perancangan sistem untuk implementasi metode klasifikasi K-NN dan FK-NN dari fingerprint access point pada indoor positioning. Proses alir perancangan sistem tersebut dimulai dari menjalankan server webservice, kemudian pengguna melakukan scan/fingerprint access point. Hasil scan tersebut dapat digunakan sebagai data testing untuk sistem dapat melakukan klasifikasi dengan data training yang sudah ada menggunakan metode klasifikasi KNN dan FK-NN, setelah itu sistem akan memunculkan hasil prediksi dari klasifikasi tersebut. 4.4 Perancangan Pengujian Sistem Pengujian sistem ini dilakukan untuk menguji kinerja dari sistem telah berjalan dengan baik atau belum. Pengujian yang dilakukan adalah pengujian fungsionalitas sistem dan pengujian akurasi sistem. 4.4.1 Perancangan Pengujian Fungsionalitas Sistem Pengujian fungsionalitas sistem ini merupakan pengujian fungsionalitas web service dari client ke server dan server ke client. Tabel 4.1 Skenario Pengujian Fungsionalitas Web Service antar server-client Percobaan Kasus Prosedur Hasil yang diharapkan
4.3 Aliran Perancangan Sistem Aliran perancangan sistem untuk penelitian ini dapat dilihat sebagai berikut:
1200
Pengujian fungsionalitas web service antar server dan client 1. Menjalankan server 2. Menjalankan client Sistem dapat menampilkan hasil perhitungan posisi pada client berdasarkan data yang dikirim oleh client dan kemudian dikalkulasi oleh server dengan metode klasifikasi fk-nn.
4.4.2 Perancangan Pengujian Akurasi Sistem Pengujian akurasi sistem ini dilakukan untuk menguji keakuratan data yang dihasilkan oleh client berdasarkan pada hasil perhitungan klasifikasi server dari data yang dikirimkan oleh client. Tabel 4.2 Skenario Pengujian Akurasi Sistem
Gambar
4.3
menunjukkan
Fakultas Ilmu Komputer, Universitas Brawijaya
Pengujian akurasi sistem
Prosedur
1. Menjalankan server dengan memilih nilai k terbaik untuk mendapatkan hasil keakuratan posisi client 2. Menjalankan client Sistem dapat menghasilkan posisi yang akurat berdasar pada data yang dikirim oleh client dan perhitungan klasifikasi dengan metode fk-nn pada server.
Hasil yang diharapkan
Gambar 4.3 Aliran Perancangan Sistem
Pada
Percobaan Kasus
alir
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
5
IMPLEMENTASI SISTEM
5.1 Implementasi Antarmuka Sistem Implementasi antarmuka sistem ini diimplementasikan dalam bentuk antarmuka client dan server pada dua terminal. Dalam Gambar 5.1 merupakan gambaran server pada terminal ketika dijalankan.
Pada implementasi ini ketika client dijalankan, client akan melakukan beberapa hal, yaitu: 1. Client melakukan fingerprint access point, client mendapatkan data test berupa mac address dan kekuatan sinyal 2. Client memasukkan hasil scan ke dalam bentuk list/dictionary 3. Client mengubah list/dictionary menjadi string dengan format JSON 4. Client mengirimkan data test ke server 5. Client menerima data hasil klasifikasi dari server 6
Gambar 5.1 Antarmuka Server
Pada implementasi ini ketika server dijalankan, server akan melakukan beberapa hal, yaitu: 1. Server menerima data test dari client berupa string 2. Data diubah dari string ke bentuk awal dari client yaitu list/dictionary 3. Server membaca data train yang ada pada file csv (Comma Separate Value) 4. Data test diparsing mac addressnya untuk dilakukan pencocokan mac address dengan hasil parsing mac address data train yang ada pada server 5. Hasil pencocokan data mac address, apabila ada data yang cocok maka dilakukan klasifikasi 6. Untuk melakukan klasifikasi server memasukkan data kekuatan sinyal dari hasil parsing mac address tadi ke dalam matrix numpy 7. Server melakukan klasifikasi menggunakan tambahan tools scikit learns dan numpy untuk memudahkan dalam pengolahan datanya pada sistem operasi python dan mendapatkan hasil berupa label (nomor ruangan) dari data train 8. Server mengimkan kembali data hasil klasifikasi kepada client dengan format Json Dalam Gambar 5.2 merupakan gambaran client ketika dijalankan.
1201
PENGUJIAN SISTEM
6.1 Pengujian Fungsionalitas Pengujian ini merupakan pengujian fungsionalitas Web Service dari client ke server dan server ke client. Pengujian disini dilihat (Gambar 6.1) bagaimana server dapat melakukan mekanisme klasifikasi dengan dengan upload data yang sudah ada atau dengan mengirim mac address secara langsung.
Gambar 6.1 Alur proses client-server
6.1.1
Proses Pengujian Fungsional
Berikut ini merupakan proses yang dilakukan untuk pengujian fungsional, dimulai dari proses menjalankan server hingga client mendapatkan hasil prediksi posisinya. 1. Menjalankan file server (Gambar 6.2).
Gambar 6.2 Menjalankan Server
2. Menjalankan file client (Gambar 6.3). Gambar 5.2 Antarmuka Client
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1202
Gambar 6.3 Menjalankan Client
3. Client melakukan fingerprint data test (Gambar 6.4).
9. Server melakukan klasifikasi dengan data train (Gambar 6.10) dan data test yang telah didapatkan oleh client (Gambar 6.11).
Gambar 6.4 Client Fingerprint Access point
4. Data diubah ke dalam bentuk Json untuk dikirimkan melalui Web Service (Gambar 6.5).
Gambar 6.10 Server menampilkan isi data train untuk melakukan klasifikasi
Gambar 6.11 Server menampilkan isi data test untuk melakukan klasifikasi Gambar 6.5 Client mengirim data dalam bentuk Json
5. Server menerima hasil fingerprint data test yang dikirimkan oleh client (Gambar 6.6)
10. Server mendapatkan hasil prediksi posisi client dan mengirimkannya kepada client (Gambar 6.12).
Gambar 6.12 Server mendapatkan kemudian mengirimkan hasil klasifikasi ke client
Gambar 6.6 Server menerima data dari Client
6. Server melakukan pencocokan data mac address (Gambar 6.7).
11. Client menerima hasil prediksi posisinya dari server (Gambar 6.13).
Gambar 6.13 Client menerima hasil prediksi posisinya Gambar 6.7 Server membaca daftar mac address pada file data train
7. Client menerima pemberitahuan berupa pesan bahwa mac address ada pada data train (Gambar 6.8).
6.1.2 Hasil Pengujian Fungsional Dari kasus pengujian fungsional yang telah ditentukan dan dari proses yang telah dilakukan didapatkan, maka hasil dari pengujian fungsional tersebut. Hasilnya ditampilkan pada Tabel 6.1. Tabel 6.1 Hasil Pengujian Fungsional
Gambar 6.8 Mac address ada (cocok)
8. Server menambahkan nilai ‘-110’ pada isi data mac address yang tidak terdeteksi ketika client melakukan fingerprint (Gambar 6.9).
Gambar 6.9 Menambahkan nilai ‘-110’ Fakultas Ilmu Komputer, Universitas Brawijaya
No. 1.
Deskrips i Pengujia n fungsiona litas web service antar server dan client
Hasil Yang Diharapkan Sistem dapat menampilkan hasil perhitungan posisi pada client berdasarkan data yang
Hasil Yang Didapatkan Sistem dapat menampilkan hasil perhitungan posisi pada client berdasarkan data yang
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer dikirim oleh client dan kemudian dikalkulasi oleh server dengan metode klasifikasi k-nn dan fk-nn.
6.1.3
dikirim oleh client dan kemudian dikalkulasi oleh server dengan metode klasifikasi k-nn dan fk-nn.
1203
Tabel 6.2 Hasil Pengujian Akurasi Posisi Client metode K-NN
Analisis Pengujian Fungsional
Berdasarkan pada hasil pengujian fungsional maka dapat dilihat bahwa implementasi metode k-nn dan fk-nn untuk fingerprint Indoor positioning yang telah dilakukan oleh peneliti telah memenuhi kebutuhan yang telah ditentukan. 6.2
Pengujian Akurasi
Pengujian akurasi ini dilakukan untuk mengetahui hasil implementasi program ini memenuhi kebutuhan yang telah ditentukan dan memiliki tingkat akurasi yang baik. 6.2.1 Proses dan Hasil Pengujian Akurasi
Tabel 6.3 Hasil Pengujian Akurasi Posisi Client metode FK-NN
Pengujian akurasi dilakukan menggunakan 60 data training dan 30 data testing. Diketahui posisi client sebenarnya di ruang mana, kemudian dengan hasil implementasi program ini didapatkan hasil prediksi posisi client tersebut, dan keterangan valid atau tidak valid dari hasil prediksinya. Pada Tabel 6.2 menggunakan metode klasifikasi KNN dan Tabel 6.3 menggunakan metode FKNN, masing-masing menggunakan nilai k=1 hingga k=10.
6.2.2 Analisis Pengujian Akurasi metode KNN dan FK-NN Pada analisis hasil pengujian akurasi posisi client berikut akan dilihat kesesuaian posisi client sebenarnya dengan hasil prediksi posisi client dari sistem. Berikut (Persamaan 6.1) rumus untuk menghitung akurasinya. JumlahValid 100 Akurasi(%) JumlahDataTesting
Persamaan 6.1 Menghitung Akurasi Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Pada Tabel 6.4 merupakan hasil perbandingan perhitungan akurasi metode K-NN dan FK-NN. Tabel 6.4 Hasil Perbandingan Akurasi metode K-NN dan FK-NN Metode Klasifikasi KNN Untuk nilai k=1 Akurasi(%)
29 100 30
Metode Klasifikasi FK-NN Untuk nilai k=1 dan k=2 Akurasi(%)
29 100 30
0,96 100 96%
0,96 100 96%
Untuk nilai k=2 hingga k=7 Akurasi(%)
Untuk nilai k=3 hingga k=8 Akurasi(%)
23 100 30
23 100 30
0,76 100 76%
0,76 100 76%
Untuk nilai k=8 hingga k=10 Akurasi(%)
Untuk nilai k=9 Akurasi(%)
22 100 30
0,73100 73%
22 100 30
0,73 100 73%
Untuk nilai k=10 Akurasi(%)
23 100 30
0,76 100 76%
Berdasarkan Tabel 6.4 menunjukkan bahwa hasil akurasi dari implementasi metode klasifikasi FK-NN untuk Fingerprint Access point pada Indoor Positioning ini memiliki tingkat akurasi yang cukup baik daripada metode K-NN. 7. KESIMPULAN Berikut hasil pengamatan dari penelitian skripsi ini selama perancangan, implementasi, dan pengujian, yaitu: 1. Data train dan data test merupakan hasil fingerprint access point oleh peneliti di gedung E lantai 2 FILKOM pada 6 ruangan yaitu E2.1, E2.2, E2.3, E2.4, E2.5, dan E2.7 menggunakan hasil implementasi coding python yang di parsing dari iwlist scan. Data train berjumlah 60, data test berjumlah 30, dan masing-masing memiliki 19 mac address yang sama. Fakultas Ilmu Komputer, Universitas Brawijaya
1204
2. Menentukan posisi client dengan klasifikasi menggunakan data training berisi mac address, kekuatan sinyal, dan diberikan label kelas secara manual kemudian disimpan dalam file csv, sedangkan pada data test berisi mac address dan kekuatan sinyal. Ketika klasifikasi tipe data dari data train dan data test yaitu array numpy dengan jumlah fitur sama dan terdapat kecocokan pada mac address, metode klasifikasinya menggunakan tools scikit learn. 3. Implementasi kebutuhan fungsional dalam menentukan posisi client dengan metode klasifikasi FK-NN untuk fingerprint access point pada Indoor positioning berhasil diimplementasi menggunakan bahasa pemrograman Python, dengan Web Service untuk menghubungkan client dan server dengan menggunakan format pengiriman file JSON. 4. Metode klasifikasi K-NN dan FK-NN diimplementasikan dengan melakukan proses fingerprint info sinyal sebagai bahan data untuk di pre-proccess sebagai data training dan data testing. Data training merupakan bahan dasar untuk klasifikasi yang diberikan label kelas. Sedangkan data testing digunakan untuk menguji keakuratan data dengan data training. Data training dan data testing tersebut kemudian menjadi classifier, setelah itu dilakukan klasifikasi dengan metode K-NN dan FK-NN pada bagian server sehingga client dapat mengetahui posisinya. Untuk mempermudah dalam mengakses classifier tersebut maka penulis memanfaatkan web service. 5. Berdasarkan pengujian akurasi posisi client yang telah dilakukan dari metode K-NN dan FK-NN, menghasilkan indeks presentase (%) pada metode K-NN untuk k=1 nilainya mencapai 96%, k=2 hingga k=7 nilainya mencapai 76%, dan k=8 hingga k=10 nilainya mencapai 73%. Sedangkan, metode FK-NN untuk k=1 dan k=2 nilainya mencapai 96%, k=3 hingga k=8 nilainya mencapai 76%, k=9 nilainya mencapai 73%, dan k=10 nilainya mencapai 76%. Berdasarkan hasil tersebut menunjukkan bahwa sistem berjalan dengan baik dan hasil akurasi dari implementasi metode klasifikasi FK-NN untuk Fingerprint Access point pada Indoor Positioning ini memiliki tingkat akurasi yang cukup baik daripada metode KNN.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
DAFTAR PUSTAKA Curran, K., Furey, E., Lunney, T., Santos, J., Woods, D., & McCaughey, A. (2011). An evaluation of indoor location determination technologies. Journal of Location Based Services, 5(2), 61–78. http://doi.org/10.1080/17489725.2011.562 927 Dardari, D., Member, S., Closas, P., Member, S., & Djuri, P. M. (2015). Indoor Tracking : Theory , Methods , and Technologies, 64(4), 1263–1278. Ichsan, R., Putra, P., Wibisono, W., & Studiawan, H. (2013). Sistem Pendeteksi Posisi dalam Ruangan Menggunakan Kekuatan Sinyal Wi-Fi dengan Penerapan Algoritma Cluster Filtered KNN, 2(1). Majumdar, A., & Ward, R. K. (2000). FINGERPRINT RECOGNITION WITH CURVELET FEATURES AND FUZZY KNN CLASSIFIER φ ( x , y ) = φ ( x ) × φ ( y ) - scaling function ψ y ( x , y ) = φ ( x ) × ψ ( y ) - vertical wavelets ψ x ( x , y ) = ψ ( x ) × φ ( y ) - horizontal wavelets ψ d(x,y)=ψ(x. Prasetyo, E. (2012). Fuzzy K-Nearest Neighbor in Every Class Untuk Klasifikasi Data, (Santika 2012), 57–60. Rohmadi, Y. E., Widyawan, & Najib, W. (2015). Teknik positioning pada bluetooth. ISSN: 2302-3805, 45–49. Sana. (2013). A Survey of Indoor Localization Techniques. IOSR Journal of Electrical and Electronics Engineering (IOSRJEEE), 6(3), 69–76. Torteeka, P., & Chundi, X. I. U. (2015). Indoor Positioning based on Wi-Fi Fingerprint Technique using Fuzzy K-Nearest Neighbor.
Fakultas Ilmu Komputer, Universitas Brawijaya
1205