• Tidak ada hasil yang ditemukan

METODE IDENTIFIKASI DAN ESTIMASI POSISI DENGAN ALGORITMA K-NEAREST NEIGHBOUR DAN POLA AKTIFITAS PENGHUNI RUMAH

N/A
N/A
Protected

Academic year: 2021

Membagikan "METODE IDENTIFIKASI DAN ESTIMASI POSISI DENGAN ALGORITMA K-NEAREST NEIGHBOUR DAN POLA AKTIFITAS PENGHUNI RUMAH"

Copied!
91
0
0

Teks penuh

(1)

DAN POLA AKTIFITAS PENGHUNI RUMAH

Skripsi

Oleh

Alfatta Rezqa Winnersyah NIM : 1113091000003

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

(2)

DAN POLA AKTIFITAS PENGHUNI RUMAH

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer (S.Kom.)

Fakultas Sains Dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah

Oleh

Alfatta Rezqa Winnersyah NIM : 1113091000003

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

(3)

ALGORITMA K-NEAREST NEIGHBOUR DAN POLA AKTIFITAS PENGHUNI RUMAH

Skripsi

Sebagai Salah Satu Syarat untuk

Memperoleh Gelar Sarjana Komputer (S.Kom) Oleh:

Alfatta Rezqa Winnersyah 1113091000003 Menyetujui, Pembimbing I Feri Fahrianto, M.Sc NIP. 198008292011011002 Pembimbing II Nenny Anggraini, M.T NIDN. 0310097601 Mengetahui,

Ketua Program Studi Teknik Informatika,

Arini, M.T

(4)

K-Nearest Neighbour dan Pola Aktifitas Penghuni Rumah” telah diuji dan dinyatakan lulus dalam sidang munaqosyah Fakultas Sains Dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Rabu, 22 November 2017. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) Program Studi Teknik Informatika.

Jakarta, 27 November 2017 Menyetujui, Penguji I Dewi Khairani, M.Sc NIP. 198205222011012009 Penguji II

Victor Amrizal, M.Kom NIP. 197406242007101001 Pembimbing I Feri Fahrianto, M.Sc NIP. 198008292011011002 Pembimbing II Nenny Anggraini, M.T NIDN. 0310097601 Mengetahui,

Dekan Fakultas Sains dan Teknologi

Dr. Agus Salim, M.Si. NIP. 197208161999031003

Ketua Program Studi Teknik Informatika

Arini, M.T

(5)

1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan memperoleh gelar Strata 1 di UIN Syarif

Hidayatullah Jakarta.

2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta.

3. Apabila di kemudian hari terbukti karya ini bukan hasil karya asli saya atau merupakan hasil jiplakan karya orang lain, maka saya bersedia menerima sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.

Jakarta, 27 November 2017

(6)

bertanda tangan dibawah ini:

Nama : Alfatta Rezqa Winnersyah

NIM : 1113091000003

Program Studi : Teknik Informatika Fakultas : Sains dan Teknologi Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty Free Right) atas karya ilmiah saya yang berjudul:

Metode Identifikasi dan Estimasi Posisi dengan Algoritma K-Nearest Neighbour dan Pola Aktifitas Penghuni Rumah

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak.

Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di : Jakarta

Pada tanggal : 27 November 2017

Yang menyatakan

(7)

K-Nearest Neighbour dan Pola Aktifitas Penghuni Rumah ABSTRAK

Seiring banyaknya aplikasi rumah berbasis Internet of Things (IoT) seperti home automation dan monitoring perilaku penghuni, informasi lokasi penghuni rumah menjadi suatu kebutuhan. Penelitian sebelumnya telah mampu mengestimasi posisi seseorang dalam ruang menggunakan metode fingerprinting. Pada penelitian ini penulis mengusulkan metode yang mampu mengestimasi posisi penghuni rumah dengan menggabungkan teknik fingerprinting dengan pola aktifitas penghuni rumah menggunakan algoritma K-Nearest Neighbour dengan

Euclidean Distance. Nilai RSS dari tiga buah access point diukur dengan

menggunakan aplikasi training berbasis Android di setiap titik referensi. Estimasi dilakukan dengan membandingkan nilai RSS yang didapat dengan hasil pengukuran sebelumnya lalu dibandingkan dengan pola aktifitas penghuni rumah tersebut. Dari hasil eksperimen, penulis mendapatkan hasil bahwa metode yang penulis usulkan mampu mengestimasi dengan ketepatan hingga 87,8% untuk akurasi dibawah 2 meter dengan rata-rata kesalahan sebesar 0,82 meter.

Kata Kunci : Indoor Positioning System, K-Nearest Neighbour, Pola Aktifitas

(8)

memberikan rahmat, pertolongan, dan hidayah-Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul METODE IDENTIFIKASI DAN ESTIMASI POSISI DENGAN ALGORITMA K-NEAREST NEIGHBOUR DAN POLA AKTIFITAS PENGHUNI RUMAH. Laporan ini penulis susun sebagai salah satu syarat untuk memperoleh gelar sarjana komputer (S.Kom).

Dalam penyusunan laporan ini banyak sekali perlajaran dan peristiwa yang sangat berharga bagi penulis. Suka serta duka yang bahkan tidak pernah penulis bayangkan sebelumnya, namun penulis sangat bersyukur karena selalu dikelilingi oleh orang-orang yang senantiasa mendukung, membimbing dan menginspirasi penulis. Oleh karena itu, penulis ucapkan terima kasih kepada:

1. Bapak Prof. DR. Dede Rosyada, MA selaku Rektor UIN Syarif Hidayatullah Jakarta.

2. Bapak Dr. Agus Salim, M.Si selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

3. Ibu Arini, M.T. selaku Ketua Program Studi Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

4. Bapak Feri Fahrianto, M.Sc. selaku Sekretaris Program Studi Teknik Informatika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta dan Dosen Pembimbing Satu atas arahan, motivasi, dan pengetahuan yang telah diberikan.

5. Ibu Nenny Anggraini, M.T, selaku Dosen Pembimbing Dua atas arahan, motivasi, dan pengetahuan yang telah diberikan.

6. Seluruh dosen Program Studi Teknik Informatika yang tidak mungkin penulis sebutkan satu persatu atas ilmu yang telah diberikan selama menjalani perkuliahan.

(9)

8. Dian Karlina, terima kasih atas semangat, dukungan yang tak henti-henti, dan segala bantuannya selama ini hingga selesainya skripsi ini.

9. Keluarga Besar Teknik Informatika 2013 dan semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu hingga laporan ini selesai.

Penulis sangat mengharapkan saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Akhir kata, penulis berharap skripsi ini dapat berguna dan bermanfaat bagi semua pihak yang terkait, untuk itu kritik dan saran sangat diharapkan dengan berkomunikasi melalui email ke arwinnersyah@gmail.com

Jakarta, 27 November 2017

Alfatta Rezqa Winnersyah 1113091000003

(10)

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI...iv ABSTRAK...v KATA PENGANTAR...vi DAFTAR ISI...viii DAFTAR TABEL...x DAFTAR GAMBAR...xi BAB I PENDAHULUAN...1

1.1. Latar Belakang Masalah...1

1.2. Rumusan Masalah...4 1.3. Batasan Masalah...4 1.4. Tujuan Penelitian...5 1.5. Manfaat Penelitian...5 1.5.1. Bagi Mahasiswa...5 1.5.2. Bagi Universitas...5

1.5.3. Bagi Penghuni Rumah...5

1.6. Metodologi Penelitian...6

1.6.1. Metode Pengumpulan Data...6

1.6.2. Metode Pengembangan Sistem...6

1.6.3. Metode Pengujian...6

1.7. Sistematika Penulisan...6

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI...8

2.1. Identifikasi...8 2.2. Estimasi Posisi...8 2.3. Android...8 2.4. Pemrograman Android...9 2.5. Pemrograman PHP...11 2.6. Basis Data...12

2.6.1. Basis Data MySQL...12

2.7. Machine Learning...13

2.7.1. Supervised Learning...13

2.7.2. Unsupervised Learning...14

2.7.3. Reinforced Learning...14

2.8. Klasifikasi...15

2.8.1. Klasifikasi Eager Learner...15

2.8.2. Klasifikasi Lazy Learner...15

2.8.3. Pengukuran Kinerja Klasifikasi...16

2.9. Algoritma K-Nearest Neighbour...16

2.9.1. Perhitungan K-Nearest Neighbour...17

2.9.2. Karakteristik Algoritma K-Nearest Neighbour...17

(11)

2.13.1. Fase Metode RAD...20

2.14. Metode Uji Coba...22

2.14.1. Uji Coba Black Box...22

2.14.2. Jenis Uji Coba Black Box...23

BAB III METODOLOGI PENELITIAN...27

3.1. Metode Pengumpulan Data...27

3.1.1. Studi Literatur...27

3.1.2. Observasi...27

3.2. Metode Pengembangan...28

3.2.1. Tahap Requirement Planning...28

3.2.2. Tahap Workshop Design...28

3.2.3. Tahap Implementation...29

3.3. Metode Pengujian...31

3.4. Kerangka Berpikir...32

BAB IV IMPLEMENTASI EKSPERIMEN...33

4.1. Tahap Requirement Planning...33

4.1.1. Identifikasi Masalah...33

4.1.2. Analisis Metode Usulan...36

4.1.3. Analisis Kebutuhan...38

4.2. Tahap Workshop Design...40

4.2.1. Perancangan Flowchart...40

4.2.2. Layout Rumah dan Titik Referensi...42

4.2.3. Perancangan Basis Data...43

4.2.4. Perancangan User Interface...46

4.3. Tahap Implementation...49

4.3.1. Pengkodean...49

4.3.2. Uji Coba...51

4.3.3. Training Data...52

4.3.4. Observasi Pola Aktifitas Penghuni...55

4.3.5. Estimasi...57

4.3.6. Pengujian Hasil Estimasi...59

BAB V HASIL DAN PEMBAHASAN...60

5.1. Hasil...60

5.2. Pembahasan...62

BAB VI KESIMPULAN DAN SARAN...63

6.1. Kesimpulan...63

6.2. Saran...63

DAFTAR PUSTAKA...64

(12)

Tabel 4.2. Kebutuhan Hardware...39

Tabel 4.3. Kebutuhan Software...40

Tabel 4.4. Tabel Database Grid...43

Tabel 4.5. Tabel Database Penghuni...44

Tabel 4.6. Tabel Database Training...44

Tabel 4.7. Tabel Database Estimasi...45

Tabel 4.8. Tabel Database Behaviour...46

Tabel 4.9. Tabel Database Zona...46

(13)

Gambar 2.2. Reinforced Learning...14

Gambar 2.3. Pola Aktifitas Penghuni Rumah...19

Gambar 2.4: Fase RAD...21

Gambar 3.1. Kerangka Berpikir...32

Gambar 4.1. Analisis Metode Usulan...38

Gambar 4.2. Flowchart Training...41

Gambar 4.3. Flowchart Observasi Aktifitas...41

Gambar 4.4. Flowchart Identifikasi dan Estimasi...42

Gambar 4.5. Layout Rumah dan Titik Referensi...43

Gambar 4.6. Desain Halaman Hasil Estimasi...47

Gambar 4.7. Desain Aplikasi Training...47

Gambar 4.8. Desain Aplikasi Estimasi...48

Gambar 4.9. Aplikasi Training...49

Gambar 4.10. Aplikasi Estimasi...50

Gambar 4.11. Webserver...51

Gambar 4.12. Sample Data Training...52

Gambar 4.13. Data Training Hari Ke-1 Pagi...53

Gambar 4.14. Data Training Hari Ke-1 Sore...53

Gambar 4.15. Data Training Hari Ke-2 Pagi...53

Gambar 4.16. Data Training Hari Ke-2 Sore...54

Gambar 4.17. Data Training Hari Ke-3 Pagi...54

Gambar 4.18. Data Training Hari Ke-3 Sore...54

Gambar 4.19. Data Training Hari Ke-4 Pagi...54

Gambar 4.20. Data Training Hari Ke-4 Sore...55

Gambar 4.21. Data Training Hari Ke-5 Pagi...55

Gambar 4.22. Data Training Hari Ke-5 Sore...55

Gambar 4.23. Sample Data Peluang Aktifitas...56

Gambar 4.24. Basis Data Peluang Aktifitas...56

Gambar 4.25. Basis Data Hasil Estimasi...57

Gambar 4.26. Tampilan Website Hasil Estimasi...58

Gambar 4.27. Hasil Estimasi Pada Smartphone Penghuni...58

(14)

1.1. Latar Belakang Masalah

Lokasi merupakan salah satu informasi penting dalam mendapatkan bermacam layanan berbasis context-aware. Dengan banyaknya aplikasi rumah berbasis Internet of Things (IoT) seperti home automation dan monitoring perilaku penghuni, informasi lokasi penghuni rumah menjadi suatu kebutuhan (Du dkk., 2016). Metode penentuan lokasi yang populer saat ini yakni Global

Positioning System (GPS), namun GPS tidak mampu bekerja dengan baik dalam

lingkungan dalam ruang (Toh dan Lau, 2016). Sinyal GPS terhalang oleh konstruksi bangunan dan menjadikan tidak bekerja dengan baik untuk mendapatkan lokasi dalam ruang (Thuong dkk., 2016).

Menurut penelitian Du dkk. (2016), metode estimasi posisi dalam ruang bisa dilakukan dengan menggunakan berbagai cara, seperti menggunakan WiFi, Bluetooth, Ultra-Wide Band (UWB), dan RFID. WiFi merupakan salah satu pendekatan yang cukup baik. Dapat dikatakan cukup baik karena teknologi WiFi sudah banyak diimplementasikan dalam bangunan-bangunan bahkan dalam

smartphone pun telah tertanam teknologi WiFi. Selain itu WiFi memiliki cakupan

sinyal yang lebih luas dibandingkan dengan Bluetooth dan RFID.

Berdasarkan penelitian Pirzada dkk. (2016), WLAN dapat digunakan untuk menentukan posisi seseorang dalam ruang dengan memanfaatkan nilai

Received Signal Strength Indication (RSSI) beberapa access point dan dengan

algoritma tertentu seperti Support Vector Machines, Neural Networks, Weighted K

Nearest Neighbors, atau pendekatan Bayesian. Dilakukan pembelajaran terhadap

sistem pada titik lokasi yang telah ditentukan untuk mendapat data pembelajaran yang akan digunakan pada proses selanjutnya.

Toh dan Lau (2016) dalam penelitiannya yang memanfaatkan infrastruktur WiFi yang sudah ada dalam bangunan universitas berhasil melakukan estimasi posisi dengan akurasi 81,82% hingga 99,85%. Penelitian lainnya mampu menentukan lokasi dengan mengkalkulasi nilai RSS dalam ponsel

(15)

pintar yang menggunakan 6 buah access point yang dipasang di ketinggian 1,2 m dari lantai dengan 20 titik referensi (Thuong dkk., 2016). Penelitian ini menemukan bahwa perpindahan benda dalam ruang akan sangat mempengaruhi akurasi dari penentuan lokasi. Selain itu penelitian ini juga mendapatkan hasil yang lebih baik dengan menggunakan hanya 3 access point.

Dalam penelitian Du dkk. (2016), diusulkan metode yang berbeda dengan penelitian Thuong dkk., yakni kalkulasi dan pengambilan nilai RSS tidak sama sekali menggunakan ponsel pengguna. Penelitian ini membuat program

sniffy untuk memonitor probe request dari setiap access point untuk mendapatkan

nilai RSS serta kalkulasi nilai RSS tersebut dilakukan pada server. Hasilnya, penelitian ini mampu menerapkan metode tersebut dengan akurasi jarak kesalahan maksimal sebesar 4,5 m.

Pembelajaran mesin berkaitan dengan bagaimana membangun program komputer yang secara otomatis menjadi lebih baik dengan pengalaman (Mitchel, 1997). Salah satu pendekatan dalam pembelajaran mesin ialah klasifikasi. Klasifikasi merupakan suatu pekerjaan menilai objek data untuk memasukkannya kedalam kelas tertentu dari sejumlah kelas yang tersedia. Dalam klasifikasi ada dua pekerjaan utama yang dilakukan, yaitu (1) pembangunan model sebagai prototipe untuk disimpan sebagai memori dan (2) penggunaan model tersebut untuk melakukan pengenalan/klasifikasi/prediksi pada suatu objek data lain agar diketahui di kelas mana objek data tersebut dalam model yang sudah disimpannya (Prasetyo, 2012).

Berdasarkan cara pelatihan, algoritma-algoritma klasifikasi dapat dibagi menjadi dua macam yaitu eager learner dan lazy learner. Algoritma-algoritma yang masuk dalam kategori lazy learner hanya sedikit melakukan pelatihan (atau tidak sama sekali), hanya menyimpan sebagian atau seluruh data latih, kemudian menggunakannya dalam proses prediksi. Hal ini mengakibatkan proses prediksi menjadi lama karena model harus membaca kembali semua data latihnya agar dapat memberikan keluaran label kelas dengan benar pada data uji yang diberikan. Kelebihan algoritma seperti ini adalah proses pelatihan yang berjalan dengan cepat. Algoritma-algoritma klasifikasi yang masuk kategori ini, di antaranya,

(16)

adalah K-Nearest Neighbor(K-NN), Fuzzy K-Nearest Neighbot (FK-NN), Regresi Linier, dan sebagainya (Prasetyo, 2012).

Dari penelitian Du dkk. (2016), Thuong dkk. (2016), dan Toh dan Lau (2016), metode yang digunakan ialah dengan menghitung jarak terdekat atau kecocokan data yang akan dilakukan estimasi dengan data pembelajaran yang sudah ada. Namun dari jarak terdekat tersebut masih sering didapati data yang dilakukan estimasi akan menghasilkan hasil estimasi yang salah. Pada penentuan posisi penghuni rumah, salah satu indikator yang terkait dengan posisi adalah aktifitas dari penghuni rumah tersebut. Aktifitas penghuni rumah dapat dengan mudah diketahui karena aktifitas rumah tergolong memiliki pola tertentu. Contohnya seperti setiap pagi hari setiap orang pasti terbiasa bangun lalu menggosok gigi atau sarapan (Yan dkk., 2014). Sehingga aktifitas penghuni rumah dapat dijadikan salah satu parameter dalam penentuan posisi penghuni rumah pada waktu tertentu. Pola aktifitas ini akan digunakan sebagai pembanding agar hasil dari metode berbasis WiFi menghasilkan data yang lebih akurat.

Pada proses penentuan posisi berbasis WiFi, penentuan posisi dapat dilakukan dengan mengasumsikan setiap individu membawa perangkat wireless dan dibutuhkan suatu aplikasi pada perangkat tersebut (Akkaya dkk., 2015). Menurut hasil survei Asosiasi Penyelenggara Jasa Internet Indonesia (APJII) tahun 2016, perangkat yang banyak digunakan oleh masyarakat Indonesia ialah

mobile dibanding dengan komputer dengan perbandingan 47,6% menggunakan

mobile, 1,7% menggunakan komputer dan 50,7% menggunakan keduanya bila ditinjau dari perangkat yang digunakan untuk mengakses internet. Bila ditinjau dari perangkat yang digunakan untuk browsing, smartphone paling banyak digunakan dengan persentase 67,8% dibandingkan dengan komputer/pc, laptop, dan tablet. Hal ini juga didukung dengan pemakaian sistem operasi untuk akses internet saat ini yang menunjukkan Android merupakan sistem operasi terbanyak digunakan (sebanyak 37,93%) mengalahkan Windows (sebanyak 37,91%) menurut rilis pers StatCounter April 2017.

Berdasarkan pemaparan diatas penulis tertarik untuk meneliti lebih lanjut mengenai estimasi posisi penghuni rumah. Algoritma K-Nearest Neighbour

(17)

penulis pilih karena memiliki kemampuan yang baik dalam memprediksi suatu kelas dari suatu data berdasarkan data pembelajaran yang sudah ada sebelumnya. Dengan demikian penulis melakukan penelitian yang berjudul “METODE IDENTIFIKASI DAN ESTIMASI POSISI DENGAN ALGORITMA K-NEAREST NEIGHBOUR DAN POLA AKTIFITAS PENGHUNI RUMAH” 1.2. Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan sebelumnya, rumusan masalah yang akan penulis bahas dalam penelitian ini meliputi:

1. Bagaimana mengestimasi posisi dari penghuni rumah dengan rata-rata kesalahan dibawah 1 meter?

2. Bagaimana meningkatkan akurasi estimasi agar dapat mengurangi tingkat kesalahan dalam estimasi?

1.3. Batasan Masalah

Berikut merupakan batasan masalah dari penelitian ini.

1. Penelitian dilakukan oleh 1 orang dalam lingkup rumah hunian. 2. Proses estimasi menggunakan besarnya kuat sinyal wireless access

point terhadap perangkat pengguna, mac address perangkat

pengguna, serta basis data aktifitas penghuni rumah.

3. Terdapat knowledge base daftar mac address perangkat pengguna yang dibuat penulis dengan lingkup perangkat yg dimiliki penghuni rumah.

4. Perangkat pengguna yang digunakan merupakan ponsel pintar dengan sistem operasi Android.

5. Perancangan Wireless LAN Positioning System menggunakan 3 buah Wireless Access Point yang diletakkan di ketinggian 2,5 meter diatas lantai dan dipasang pada dinding.

6. Diasumsikan pada setiap aktifitas, penghuni rumah selalu membawa smartphone.

(18)

1.4. Tujuan Penelitian

Tujuan yang ingin dicapai oleh penulis ialah dapat merancang metode yang dapat mengidentifikasi dan mengestimasi posisi penghuni rumah dengan rata-rata jarak kesalahan dibawah 1 meter.

1.5. Manfaat Penelitian

Berikut merupakan manfaat dari penelitian ini. 1.5.1. Bagi Mahasiswa

1. Dapat menerapkan ilmu yang dimiliki yang didapat dari perkuliahan.

2. Memahami bahasa pemrograman, proses, serta tools yang digunakan dalam penelitian ini.

3. Sebagai salah satu syarat kelulusan Strata Satu (S1) Teknik Informatika UIN Syarif Hidayatullah Jakarta. 1.5.2. Bagi Universitas

1. Mengukur tingkat kemampuan dalam menerapkan ilmu akademis maupun non-akademis.

2. Sebagai penelitian yang dapat dijadikan referensi untuk penelitian lebih lanjut mengenai indoor positioning

system.

1.5.3. Bagi Penghuni Rumah

1. Mendapatkan informasi posisi anggota keluarga dengan tingkat akurasi yang tinggi

2. Mengetahui rekam jejak posisi penghuni rumah dengan jelas

(19)

1.6. Metodologi Penelitian

Berikut merupakan metode yang digunakan penulis dalam penelitian ini. 1.6.1. Metode Pengumpulan Data

Untuk menunjang penelitian dan penulisan skripsi ini, penulis menggunakan dua metode pengumpulan data, yaitu :

1. Observasi 2. Studi Literatur

1.6.2. Metode Pengembangan Sistem

Dalam penelitian ini, penulis menggunakan metode Rapid

Application Development (RAD) yang memiliki tahapan sebagai berikut: 1. Requirement Planning

2. Workshop Design 3. Implementation

1.6.3. Metode Pengujian

Untuk memastikan hasil penelitian sesuai dengan keinginan dan kebutuhan pengguna, penulis melakukan pengujian dengan metode uji coba black box.

1.7. Sistematika Penulisan

Dalam penyusunan skripsi ini, penulis membagi skripsi menjadi enam bab pokok bahasan, meliputi :

BAB I PENDAHULUAN

Pada bab ini akan diuraikan mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan, manfaat, dan metodologi penelitian serta sistematika penulisan.

(20)

BAB II LANDASAN TEORI

Pada bab ini akan diuraikan mengenai beberapa teori dan literatur sejenis yang mendasari dan terkait pada penelitian ini.

BAB III METODOLOGI PENELITIAN

Pada bab ini akan dijelaskan secara rinci mengenai metode yang digunakan penulis serta kerangka berfikir penulis. BAB IV IMPLEMENTASI EKSPERIMEN

Pada bab ini akan dibahas mengenai hasil dari analisis, perancangan, implementasi, dan pengujian sesuai dengan metode yang digunakan dalam penelitian ini.

BAB V HASIL DAN PEMBAHASAN

Pada bab ini dibahas mengenai hasil dan pembahasan mengenai penelitian yang dilakukan penulis.

BAB VI PENUTUP

Bab ini berisi kesimpulan dari penelitian yang dilakukan penulis serta saran untuk pengembangan lebih lanjut.

(21)

2.1. Identifikasi

Identifikasi menurut kamus besar bahasa Indonesia merupakan tanda kenal, bukti diri, atau penentu atau penetapan identitas seseorang. Identifikasi adalah serangkaian pengumpulan data dan pencatatan segala keterangan tentang bukti-bukti dari objek sehingga dapat ditetapkan dan disamakan keterangan tersebut dengan objek lain guna mengenali objek tersebut.

2.2. Estimasi Posisi

Estimasi menurut kamus besar bahasa Indonesia merupakan suatu perkiraan. Sedangkan posisi berarti kedudukan atau letak (orang, barang). Estimasi posisi dapat diartikan sebagai proses memperkirakan atau hasil perkiraan kedudukan seseorang dalam suatu wilayah. Dalam estimasi posisi lingkup besar, teknologi yang sangat berkembang ialah Global Positioning System (GPS). GPS berbasis satelit yang bekerja di cuaca apapun, 24 jam sehari, dan tanpa biaya. Namun GPS memiliki tingkat akurasi yang tidak dapat mencakup posisi di dalam ruang. Berdasarkan penelitian Pirzada dkk. (2016), Wireless LAN (WLAN) dapat digunakan untuk menentukan posisi seseorang dalam ruang dengan memanfaatkan nilai Received Signal Strength Indication (RSSI) beberapa access

point dan dengan algoritma tertentu seperti Support Vector Machines, Neural Networks, Weighted K Nearest Neighbors, atau pendekatan Bayesian.

2.3. Android

Menurut Safaat (2012), Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Sejalan dengan pandangan Suprianto dan Agustina (2012), hampir setiap kode program Android diluncurkan berdasarkan lisensi

(22)

open-source Apache yang berarti bahwa semua orang yang ingin menggunakan

Android dapat men-download penuh source code-nya.

Android dipuji sebagai “platform mobile pertama yang lengkap, terbuka, dan bebas” (Safaat, 2012).

Lengkap (Complete Platform): Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan memungkinkan untuk peluang pengembangan aplikasi.

Terbuka (Open Source Platform): Platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi.

Free (Free Platform): Android adalah platform/aplikasi yang bebas untuk dikembangkan. Tidak ada lisensi atau biaya royalti untuk dikembangan pada platform Android. Tidak ada biaya keanggotaan diperlukan. Tidak diperlukan biaya pengujian. Tidak ada kontrak yg diperlukan.

2.4. Pemrograman Android

Keuntungan utama dari Android adalah adanya pendekatan aplikasi secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi saja, aplikasi tersebut bisa berjalan pada beberapa perangkat yang berbeda selama masih ditenagai oleh Android (Supriyanto dan Agustina, 2012).

Secara garis besar sistem operasi Android terbagi menjadi lima tingkatan: • Linux Kernel – Tingkat ini berisi semua driver perangkat tingkat

rendah untuk komponen-komponen hardware perangkat Android.

Libraries – berisi semua kode program yang menyediakan

layanan-layanan utama sistem operasi Android.

Android Runtime – kedudukannya setingkat dengan libraries,

(23)

diaktifkan oleh pengembang untuk menulis kode aplikasi Android dengan bahasa pemrograman Java.

Application Framework – adalah kumpulan class built-in yang tertanam dalam sistem operasi Android.

Applications – Semua aplikasi yang dibuat terletak pada tingkat

Applications.

Menurut Safaat (2012), aplikasi Android ditulis dalam bahasa pemrograman java. Kode java dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi kedalam paket Android sehingga menghasilkan file dengan ekstensi apk.

Ada empat jenis komponen pada aplikasi Android yaitu:

1. Activities

Suatu activity akan menyajikan user interface (UI) kepada pengguna, sehingga pengguna dapat melakukan interaksi.

2. Service

Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan secara background. Service dijalankan pada thread

utama dari proses aplikasi

3. Broadcast Receiver

Broadcast receiver berfungsi menerima dan bereaksi untuk

menyampaikan notifikasi. Broadcast receiver tidak memiliki user

interface (UI), tetapi memiliki sebuah activity untuk merespon informasi

yang mereka terima, atau mungkin menggunakan Notification Manager.

4. Content Provider

Content provider membuat kumpulan aplikasi data secara spesifik

sehingga bisa digunakan oleh aplikasi lain. Content provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu

(24)

2.5. Pemrograman PHP

Menurut Raharjo dkk. (2012) PHP adalah salah satu bahasa pemrograman yang dirancang untuk membangun aplikasi web. Ketika dipanggil dari web browser, program yang ditulis dengan PHP akan di-parsing di dalam

web server oleh interpreter PHP dan diterjemahkan ke dalam dokumen HTML,

yang selanjutnya akan ditampilkan kembali ke web browser. Karena pemrosesan program PHP dilakukan di lingkungan web server, PHP dikatakan sebagai bahasa sisi server (server-side). Oleh sebab itu, kode PHP tidak akan terlihat pada saat

user memilih perintah “View Source” pada web browser yang mereka gunakan.

Sedangkan menurut laman resmi PHP, PHP (akronim untuk PHP :

Hypertext Processor) merupakan bahasa pemrograman open source yang sangat

cocok untuk pemrograman web dan dapat disematkan ke dalam HTML. PHP berfokus pada pemrograman server-side. Terdapat tiga area utama dimana PHP digunakan.

1. Server-side scripting

Server-side scripting merupakan bidang utama PHP. Dibutuhkan

tiga hal untuk menjalankannya, yakni PHP parser, web server, dan web

browser.

2. Command line scripting

Script PHP dapat dijalankan tanpa server atau browser. Hanya

dibutuhkan PHP parser untuk menjalankannya. Jenis penggunaan ini ideal untuk script yang dijalankan teratur menggunakan Cron (*nix atau Linux) atau Task Scheduler (Windows).

3. Writing desktop applications

PHP mungkin bukan bahasa terbaik untuk membuat aplikasi

desktop dengan graphical user interface, namun dengan PHP-GTK

(25)

2.6. Basis Data

Menurut Nugroho (2011) sistem basis data bisa didefinisikan sebagai koleksi dari data-data yang terorganisir sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbarui, dicari, diolah dengan perhitungan-perhitungan tertentu, serta dihapus). Istilah basis data dapat didefinisikan sebagai suatu kumpulan data terhubung (interrelated data) yang disimpan secara bersama-sama tanpa redudansi yang tidak diperlukan untuk melayani satu atau lebih aplikasi secara optimal (Sutanta, 2011).

Dari definisi tersebut maka basis data mempunyai beberapa kriteria penting yang harus dipenuhi, yakni (Sutanta, 2011):

Berorientasi pada data (data oriented) dan bukan berorientasi pada program (program oriented) yang akan menggunakannya

• Data dalam basis data dapat berkembang dengan mudah, baik volume maupun strukturnya

• Data yang ada dapat memenuhi kebutuhan sistem-sistem baru secara mudah

• Data dapat digunakan dengan cara yang berbeda-beda • Kerangkapan data (data redundancy) minimal

2.6.1. Basis Data MySQL

Menurut Raharjo (2011), MySQL merupakan software RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user (multi-user), dan dapat melakukan suatu proses secara sinkron atau berbarengan (multi-threaded). Lisensi MySQL terbagi menjadi dua yaitu sebagai produk open source dibawah GNU General

Public License (gratis) atau lisensi versi komersial yang memiliki

(26)

2.7. Machine Learning

Machine learning, menurut Mitchell (1997) merupakan sebuah program

komputer yang belajar dari pengalaman (experience) E dari tugas yang dibebankan (task) T dengan kinerjanya (performance) P yang terukur. Sedangkan menurut Alpaydin (2010), machine learning merupakan pemrograman komputer untuk membuat kesimpulan dari data gabungan antara statistik dan ilmu komputer, dimana statistik menyediakan kerangka matematis membuat kesimpulan dari data dan ilmu komputer bekerja pada implementasi yang efisien metode pengambilan keputusan. Menurut Shekar Bhartiya, terdapat 3 jenis pembelajaran dalam machine learning, yakni supervised learning, reinforced

learning, dan unsupervised learning.

2.7.1. Supervised Learning

Menurut Shekhar Bhartiya, tujuan utama supervised learning adalah mempelajari model dari data pelatihan berlabel yang memungkinkan kita membuat prediksi tentang data yang tidak terlihat atau yang akan datang. Di sini, istilah supervised mengacu pada sekumpulan sampel dimana keluaran yang diinginkan (label) sudah diketahui.

Gambar 2.1. Supervised Learning (Sumber : Shekhar Bhartiya)

(27)

2.7.2. Unsupervised Learning

Menurut Shekar Bhartiya, dalam pembelajaran unsupervised

learning, kita berurusan dengan data yang tidak diketahui atau data tanpa

label. Dengan menggunakan teknik unsupervised learning, struktur data dapat dieksplorasi untuk mendapatkan informasi yang bermakna tanpa adanya petunjuk tentang variabel hasil atau fungsi reward yang diketahui.

2.7.3. Reinforced Learning

Dalam reinforced learning, tujuannya adalah untuk mengembangkan suatu sistem (agen) yang meningkatkan kinerjanya berdasarkan interaksi dengan lingkungan. Karena informasi tentang keadaan lingkungan saat ini biasanya juga mencakup yang disebut

reward signal, kita dapat memikirkan pembelajaran penguatan sebagai

bidang yang berkaitan dengan pembelajaran yang diawasi. Melalui interaksi dengan lingkungan, agen kemudian dapat menggunakan pembelajaran penguatan untuk mempelajari serangkaian tindakan yang memaksimalkan penghargaan ini melalui pendekatan trial and error eksploratif atau perencanaan deliberatif.

Gambar 2.2. Reinforced Learning (Sumber : Shekhar Bhartiya)

(28)

2.8. Klasifikasi

Menurut Prasetyo (2012), klasifikasi merupakan suatu pekerjaan menilai objek data untuk memasukkannya kedalam kelas tertentu dari sejumlah kelas yang tersedia. Dalam klasifikasi ada dua pekerjaan utama yang dilakukan, yaitu (1) pembangunan model sebagai prototipe untuk disimpan sebagai memori dan (2) penggunaan model tersebut untuk melakukan pengenalan/klasifikasi/prediksi pada suatu objek data lain agar diketahui di kelas mana objek data tersebut dalam model yang sudah disimpannya. Klasifikasi menurut Alpaydin (2010) termasuk dalam machine learning dengan jenis supervised learning.

Berdasarkan cara pelatihan, algoritma-algoritma klasifikasi dapat dibagi menjadi dua macam yaitu eager learner dan lazy learner.

2.8.1. Klasifikasi Eager Learner

Algoritma-algoritma yang termasuk dalam kategori eager

learner didesain untuk melakukan pembacaan/pelatihan/pembelajaran

pada data latih agar dapat memetakan dengan benar setiap vektor masukan ke label kelas keluarannya sehingga di akhir proses pelatihan, model sudah dapat memetakan semua vektor data uji ke label kelas keluarannya dengan benar. Selanjutnya, setelah proses pelatihan tersebut selesai, model (biasanya berupa bobot atau sejumlah nilai kuantias tertentu) disimpan sebagai memori, sedangkan semua data latihnya dibuang. Proses prediksi dilakukan dengan model yang tersimpan, tidak melibatkan data latih sama sekali. Cara ini mengakibatkan proses prediksi berjalan cepat, tetapi harus dibayar dengan proses pelatihan yang lama. Algoritma-algoritma klasifikasi yang masuk kategori ini, di antaranya, adalah Artificial Neural Network (ANN), Support Vektor

Machine (SVM), Decision Tree, Bayesian, dan sebagainya.

2.8.2. Klasifikasi Lazy Learner

Sementara algoritma-algoritma yang masuk dalam kategori lazy

(29)

hanya menyimpan sebagian atau seluruh data latih, kemudian menggunakannya dalam proses prediksi. Hal ini mengakibatkan proses prediksi menjadi lama karena model harus membaca kembali semua data latihnya agar dapat memberikan keluaran label kelas dengan benar pada data uji yang diberikan. Kelebihan algoritma seperti ini adalah proses pelatihan yang berjalan dengan cepat. Algoritma-algoritma klasifikasi yang masuk kategori ini, di antaranya, adalah K-Nearest

Neighbor(K-NN), Fuzzy K-Nearest Neighbot (FK-Neighbor(K-NN), Regresi Linear, dan

sebagainya.

2.8.3. Pengukuran Kinerja Klasifikasi

Tujuan dari sebuah proses klasifikasi ialah menghasilkan keluaran berupa hasil klasifikasi dimana keseluruhan hasil bernilai benar. Namun tidak dapat dimungkiri suatu sistem tidak selalu berjalan 100% benar sehingga diperlukan pengukuran pengukuran kinerja sistem tersebut. Menurut Prasetyo (2012), umumnya, pengukuran kinerja klasifikasi dilakukan dengan matriks konfusi (confusion matrix). Matriks konfusi merupakan tabel pencatat hasil kerja klasifikasi. Kuantitas matriks konfusi dapat diringkas menjadi dua nilai, yaitu akurasi dan laju eror.

Untuk menghitung akurasi digunakan formula:

Akurasi=Jumlah data yang diprediksisecara benar Jumlah prediksi yang dilakukan

Untuk menghitung laju eror digunakan formula:

Akurasi=Jumlah data yang diprediksisecara salah Jumlah prediksi yang dilakukan

2.9. Algoritma K-Nearest Neighbour

Menurut Prasetyo (2012), algoritma K-Nearest Neighbour (K-NN) merupakan algoritma yang melakukan klasifikasi berdasarkan kedekatan lokasi (jarak) suatu data dengan data yang lain. Pada algoritma K-NN, data berdimansi

(30)

digunakan sebagai nilai kedekatan/kemiripan antara data uji dengan data latih. Nilai K pada K-NN berarti jumlah tetangga terdekat yang digunakan sebagai data uji. Pemilihan nilai K yang tepat menjadi salah satu masalah dalam K-NN. Nilai K yang terlalu besar mengakibatkan distorsi data yang besar. Namun jika nilai K terlalu kecil akan mengakibatkan algoritma terlalu sensitif terhadap noise.

2.9.1. Perhitungan K-Nearest Neighbour

Menurut Prasetyo (2012), misal terdapat data uji z = (x`,y`), dimana x` adalah vektor/atribut data uji, sedangkan y` adalah label kelas data uji yang belum diketahui. Hitung jarak (atau kemiripan) data uji ke setiap data latih d(x`,x), kemudian ambil K-tetangga terdekat pertama dalam Dz.Setelah itu, hitung jumlah data yang mengikuti kelas yang ada

dari K-tetangga tersebut. Kelas dengan data terbanyak yang mengikutinya menjadi kelas pemenang yang diberikan sebagai label kelas pada data uji y`.

Berikut langkah algoritma K-Nearest Neighbour:

z = (x`,y`), adalah data uji dengan vektor x` dan label kelas y` yang belum diketahui

Hitung jarak d(x`,x), jarak di antara data uji z ke setiap vektor data latih, simpan dalam D

• Pilih DzD , yaitu K tetangga terdekat dari z

2.9.2. Karakteristik Algoritma K-Nearest Neighbour

Menurut Prasetyo (2012), teknik nearest neighbour merupakan teknik klasifikasi sederhana, tetapi mempunyai hasil kerja yang cukup bagus. Beberapa kelebihan dan kekurangan K-NN sebagai berikut :

1. K-NN merupakan algoritma yang menggunakan seluruh data latih untuk melakukan proses klasifikasi (complete

storage). Hal ini mengakibatkan proses prediksi yang

(31)

2. K-NN tidak membedakan setiap fitur dengan suatu bobot. 3. Karena K-NN masuk kategori lazy learning yang

menyimpan sebagian atau semua data dan hampir tidak ada proses pelatihan, K-NN sangat cepat dalam proses pelatihan, tetapi sangat lambat dalam proses prediksi 4. Hal yang rumit adalah menentukan nilai K yang paling

sesuai

5. Perhitungan jarak Euclidean sangat cocok untuk menghitung jarak terdekat antara dua data, tetapi Manhattan sangat teguh untuk mendeteksi outlier dalam data

2.9.3. Euclidean Distance

Salah satu metode perhitungan jarak yang cocok digunakan dalam algoritma K-Nearest Neighbour ialah euclidean distance.

Euclidean distance merupakan jarak lurus antar dua titik yang terdapat di

dalam euclidean space. Untuk jarak antar titik p dan q yang memiliki n dimensi, jarak dihitung dengan rumus :

d ( p , q)=d (q , p)=

i =1 n

(qipi)2

2.10. Teknik Fingerprinting dalam Estimasi Posisi

Menurut Du (2016), teknik fingerprinting dalam estimasi posisi ialah dengan merekam nilai RSS dari beberapa access point pada suatu titik. Terdapat dua fase utama dalam teknik fingerprinting, yakni fase offline (training) dan fase

online positioning. Posisi titik referensi ditentukan dengan jarak satu atau dua

meter. Pada fase offline nilai RSS diukur dan disimpan kedalam basis data bersama dengan informasi titik referensi. Lalu pada fase online positioning, nilai RSS diukur dan dibandingkan dengan nilai RSS yang ada pada basis data untuk mencari data yang paling cocok.

(32)

2.11. Pola Aktifitas Penghuni Rumah

Aktifitas penghuni rumah dapat dengan mudah diketahui karena aktifitas rumah tergolong memiliki pola tertentu. Faktanya ialah seseorang cenderung melakukan suatu aktifitas yang sama di lingkungan yang sama. Seperti contohnya seperti setiap pagi hari setiap orang pasti terbiasa bangun lalu menggosok gigi atau sarapan atau seseorang di lingkungan kantor menulis dan membaca dokumen. Hal ini mengakibatkan keterkaitan antar lingkungan dengan aktifitas yang dilakukan seseorang pada lingkungan tersebut (Yan dkk., 2014).

Gambar 2.3. Pola Aktifitas Penghuni Rumah (Sumber : Yan, 2014)

Pada penentuan posisi penghuni rumah, aktifitas dari penghuni rumah tersebut dapat dijadikan salah satu indikator. Dari pola aktifitas yang telah diketahui, pola tersebut akan digunakan sebagai pembanding agar hasil dari metode berbasis WiFi menghasilkan data yang lebih akurat.

2.12. Metode Observasi

Menurut Sangaji & Sopiah (2010), metode observasi merupakan salah satu data primer yang diperoleh secara langsung dari sumber asli. Metode observasi adalah proses pencatatan pola perilaku subyek (orang), obyek (benda), atau kejadian yang sistematis tanpa adanya pertanyaan atau komunikasi dengan individu-individu yang diteliti.

(33)

Metode observasi memiliki beberapa tipe yakni: 1. Observasi langsung (direct observation)

2. Observasi terhadap perilaku dan lingkungan sosial

3. Content analysis

4. Observasi mekanik

2.13. Metode Rapid Application Development

Menurut Rosa A.S & M. Shalahuddin (2014), Rapid Application

Development (RAD) adalah model proses pengembangan perangkat lunak yang

bersifat incremental terutama untuk waktu pengerjaan yang pendek. Sedangkan menurut Kendall (2011), RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. RAD bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan sistem tradisional antara perancangan dan penerapan suatu sistem informasi. Jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi dengan baik maka pembuatan perangkat lunak dapat diselesaikan dengan waktu yang pendek.

2.13.1. Fase Metode RAD

Menurut Kendall (2011) RAD memiliki tiga fase utama dalam pengembangan sistem, yaitu :

1. Requirement Planning

Dalam fase ini pengguna dan analis bertemu untuk mengidentifikasi tujuan-tujuan aplikasi atau sistem serta mengidentifikasi syarat-syarat informasi yang ditimbulkan dari tujuan tersebut. Fase ini memerlukan peran aktif dari kedua bela pihak. Selain itu juga melibatkan pengguna dari beberapa level yang berbeda dari organisasi. Orientasi pada fase ini adalah menyelesaikan masalah-masalah, meskipun teknologi informasi dan sistem bisa mengarahkan sebagian dari sistem yang diajukan, fokusnya akan tetap pada upaya pencapaian tujuan.

(34)

Gambar 2.4: Fase RAD Sumber : Kendall, 2011 2. Workshop Design

Fase ini adalah fase untuk merancang dan memperbaiki yang bisa digambarkan sebagai workshop. Penganalisis dan pemrogram dapat bekerja membangun dan menunjukkan representasi visual desain dan pola kerja kepada pengguna.

Workshop desain ini dapat dilakukan selama beberapa hari

tergantung dari ukuran aplikasi yang akan dikembangkan. Selama workshop desain RAD, pengguna merespon prototipe yang ada dan penganalisis memperbaiki modul-modul yang dirancang berdasarkan respon pengguna.

3. Fase Implementasi

Pada fase implementasi ini, penganalisis bekerja secara intens dengan pengguna selama workshop desain untuk merancang aspek-aspek bisnis dan non-teknis dari proses bisnis yang ada. Setelah aspek-aspek disetujui dan sistem dibangun dan di-sharing, sub-sub sistem diujicoba dan diperkenalkan kepada stakeholder.

(35)

2.14. Metode Uji Coba

Uji coba (testing) adalah sebuah proses yang diterapkan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal (Rizky, 2011). Secara garis besar terdapat dua jenis tipe testing yang paling umum digunakan di dalam lingkup rekayasa perangkat lunak, yakni white box testing dan black box testing. Perbedaan mendasar dari kedua jenis tersebut ialah pada letak konsentrasi pengujian terhadap sistem yang akan diuji. Metode pengujian black-box berkonsentrasi pada fitur-fitur yang akan digunakan oleh user dan penguji tidak memandang struktur kode dari sistem tersebut. Sedangkan metode pengujian

white-box berkonsentrasi pada struktur kode sehingga membutuhkan kemampuan

teknik pemrograman yang baik untuk menjadi penguji. 2.14.1. Uji Coba Black Box

Menurut Rizky (2011), black box testing adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenal proses testing di bagian luar. Jenis testing ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan.

Beberapa keuntungan dari uji coba black box testing antara lain:Anggota tim tester tidak harus dari seseorang yang

memiliki kemampuan teknis di bidang pemrograman • Kesalahan dari perangkat lunak ataupun bug seringkali

ditemukan oleh komponen tester yang berasal dari pengguna

Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak.

(36)

Proses testing dapat dilakukan lebih cepat dibandingkan

white box testing.

2.14.2. Jenis Uji Coba Black Box

Menurut Simamarta (2010), uji coba black box memiliki beberapa jenis pengujian, yakni :

1. Functional Testing

Pada jenis pengujian ini, perangkat lunak diuji untuk persyaratan fungsional. Pengujian dilakukan dilakukan dalam bentuk tertulis untuk memeriksa apakah aplikasi berjalan seperti yang diharapkan.

2. Stress Testing

Pengujian ini berkaitan dengan kualitas aplikasi di dalam lingkungan. Idenya adalah untuk menciptakan sebuah lingkungan yang lebih menuntut aplikasi, tidak seperti saat aplikasi dijalankan dalam beban kerja normal.

3. Load Testing

Pada pengujian ini aplikasi akan diuji dengan beban berat atau masukan , untuk mengetahui apakah aplikasi tersebut gagal atau kinerjanya menurun. Beban tinggi akan diberikan ketika sistem dapat menerima dan tetap berfungsi dengan baik. Hal ini tidak bertujuan untuk merusak sistem namun mencoba menjaga agar sistem selalu kuat dan berjalan lancar.

4. Ad-Hoc Testing

Pengujian ini dilakukan tanpa penciptaan rencana pengujian (test plan) atau kasus pengujian (test case), bertujuan untuk menentukan lingkup durasi dari berbagai pengujian lain dan membantu mempelajari aplikasi sebelum pengujian lebih

(37)

lanjut. Penggunaan dari metode ini adalah untuk penemuan, pengujian khusus menemukan lubang-lubang dalam pengujian strategi dan dapat mengekspos hubungan diantara subsistem lain yang tidak jelas, dan merupakan alat pemeriksa kelengkapan yang diuji.

5. Exploratory Testing

Mirip dengan pengujian khusus dan dilakukan untuk mempelajari/mencari aplikasi.

6. Usability Testing

Pengujian ini disebut juga ujian untuk keakraban pengguna (testing for User Friendliness). Pengujian ini dilakukan jika antarmuka pengguna dari aplikasinya penting dan harus spesifik untuk jenis pengguna tertentu. Tujuan dari pengujian usability harus membatasi dan menghilangkan kesulitan bagi pengguna dan untuk memengaruhi area yang kuat untuk usability maksimum.

7. Smoke Testing

Jenis pengujian ini disebut juga pengujian kenormalan (sanity testing). Pengujian ini dilakukan untuk memeriksa apakah aplikasi tersebut sudah siap untuk pengujian yang lebih besar dan bekerja dengan baik tanpa celah sampai tingkat yang paling diharapkan.

8. Recovery Testing

Pengujian pemulihan (recovery testing) pada dasarnya dilakukan untuk memeriksa seberapa cepat dan baiknya aplikasi bisa pulih terhadap semua jenis crash atau kegagalan hardware,

(38)

masalah bencana, dan lain-lain. Jenis dan taraf pemulihan ditetapkan dalam persyaratan spesifikasi.

9. Volume Testing

Pengujian volume dilakukan terhadap efisiensi dari aplikasi. Jumlah data besar yang diproses melalui aplikasi (yang sedang diuji) untuk memeriksa keterbatasan ekstrem dari sistem.

10. Domain Testing

Pengujian domain adalah penjelasan yang paling sering menjelaskan teknik pengujian. Beberapa penulis hanya menulis tentang pengujian domain ketika mereka menulis desain pengujian. Dugaan dasarnya adalah bahwa penguji mengambil ruang pengujian kemungkinan dari variabel individu dan membaginya kembali kedalam subset (dalam beberapa cara) yang sama. Kemudian, penguji menguji perwakilan dari masing-masing subset.

11. Scenario Testing

Pengujian skenario adalah pengujian yang realistis, kredibel, dan memotivasi stakeholder, tantangan untuk program dan mempermudah penguji untuk melakukan evaluasi. Pengujian ini menyediakan kombinasi variabel-variabel dan fungsi yang sangat berarti daripada kombinasi buatan yang didapatkan dengan pengujian domain atau desain pengujian kombinasi.

12. Regression Testing

Pengujian regresi adalah gaya pengujian yang berfokus kepada pengujian ulang (retesting) setelah ada perubahan. Pada pengujian regresi risiko (risk-oriented regression testing),

(39)

daerah yang sama yang sudah diuji, akan kita uji lagi dengan pengujian yang berbeda (semakin kompleks).

13. User Acceptance

Pada jenis pengujian ini, perangkat lunak akan diserahkan kepada pengguna untuk mengetahui apakah perangkat lunak memenuhi harapan pengguna dan bekerja seperti apa yang diharapkan.

14. Alpha Testing

Pada jenis pengujian ini, pengguna akan diundang ke pusat pengembangan. Pengguna akan menggunakan aplikasi dan pengembang mencatat setiap masukan atau tindakan yang dilakukan oleh pengguna

15. Beta Testing

Pada jenis pengujian ini, perangkat lunak didistribusikan sebagai sebuah versi beta dengan pengguna yang menguji aplikasi di situs mereka. Pengecualian/cacat yang terjadi akan dilaporkan kepada pengembang. Pengujian beta dilakukan setelah pengujian alpha. Versi perangkat lunak yang dikenal dengan sebutan versi beta dirilis untuk pengguna terbatas di luar perusahaan.

(40)

3.1. Metode Pengumpulan Data

Dalam penelitian ini, penulis menggunakan dua metode dalam pengumpulan data, yakni studi literatur dan observasi.

3.1.1. Studi Literatur

Dalam metode studi pustaka, penulis mencari referensi-referensi yang terkait dengan bidang penelitian yang sedang dilakukan oleh penulis. Referensi tersebut berupa 13 buku, 6 jurnal penelitian, dan 5 literatur online. Referensi yang didapat digunakan sebagai landasan teori serta metode penelitian.

3.1.2. Observasi

Dalam metode observasi, penulis memilih lokasi observasi dengan cara non-probability sampling yaitu di rumah penulis di Jalan Masjid Al-Abror No.18 RT 013/01 Kel. Pondok Karya, Kec. Pondok Aren, Tangerang Selatan. Observasi terdiri atas observasi nilai Received

Signal Strength (RSS) dan observasi pola aktifitas penghuni rumah.

Observasi nilai RSS dilakukan dengan dua fase, yakni fase pembelajaran dan fase estimasi. Fase pembelajaran meliputi perekaman data RSS tiga buah akses poin pada setiap titik yang ditentukan. Fase ini dilakukan pada tanggal 4-8 September 2017. Fase estimasi dilakukan pada tanggal 16-20 Oktober 2017. Sedangkan untuk observasi pola aktifitas penghuni rumah penulis lakukan pada tanggal 3-9 Oktober 2017. Selain itu, penulis juga melakukan pencatatan mac address dari smartphone yang dimiliki penghuni rumah sebagai knowledge base.

(41)

3.2. Metode Pengembangan

Dalam proses pengembangan, penulis menggunakan tiga fase utama yang sesuai dengan metode Rapid Application Development (RAD) yakni requirement

planning, workshop design dan implementation.

3.2.1. Tahap Requirement Planning

Dalam pengembangan sistem menggunakan metode RAD, requirement planning merupakan tahap pertama. Dalam tahap ini penulis mengidentifikasi masalah yang ada, menganalisa kebutuhan secara fungsional maupun non-fungsional, menganalisa metode usulan. Dasar dari tahap ini ialah hasil dari studi literatur yang telah dilakukan sebelumnya dan hasil dari requirement planning akan digunakan untuk pedoman dalam proses selanjutnya.

3.2.2. Tahap Workshop Design

Tahap selanjutnya ialah tahap workshop design. Pada tahap ini dilakukan proses perancangan yang meliputi :

1. Perancangan Flowchart

Penulis membuat sebuah flowchart atau alur kerja dari metode yang penulis usulkan untuk mempermudah penulis dalam mengimplementasikan teori, dan algoritma yang dipilih. Perancangan flowchart menggunakan software StarUML.

2. Layout Rumah dan Titik Referensi

Pada tahap ini penulis membuat layout rumah dan menentukan titik referensi yang masing-masing berjarak 1 meter. Selain itu penulis juga menentukan titik peletakan access

point.

3. Perancangan Basis Data

Perancangan basis data penulis mengacu kepada kebutuhan data yang harus ditampung, yakni data training, hasil

(42)

estimasi, titik referensi, data penghuni, data aktifitas, dan data zona waktu.

4. Perancangan User Interface

Penulis melakukan perancangan user interface untuk aplikasi training dan estimasi untuk platform android serta user

interface untuk website server. Perancangan menggunakan

teknik mockup dengan bantuan software Pencil. 3.2.3. Tahap Implementation

Setelah selesai tahap sebelumnya, yakni tahap workshop design, desain yang ada lalu diimplementasikan kedalam program. Tahap implementasi terdiri atas:

1. Pengkodean

Dalam mengkodekan sistem penulis membuat 3 jenis program yang masing-masing memiliki fungsi tertentu.

1. Pemrograman Website Server

Website server sebagai pusat penerima data dan

penyedia data. Website server juga menjadi pusat perhitungan estimasi posisi. Website server dibuat dengan bahasa pemrograman PHP berorientasi objek dengan bantuan software PHPStorm.

2. Pemrograman Aplikasi Pembelajaran

Aplikasi pembelajaran digunakan untuk merekam data pembelajaran di setiap titik referensi. Data pembelajaran akan dikirim ke website server untuk diproses lebih lanjut. Aplikasi pembelajaran dibuat untuk

platform Android dengan bahasa pemrograman Java

(43)

3. Pemrograman Aplikasi Estimasi

Aplikasi estimasi merupakan aplikasi untuk merekam data RSS penghuni rumah setiap 60 detik. Aplikasi ini mengirimkan nilai RSS ke website server untuk diestimasi dan aplikasi mendapat hasil estimasi dari posisi penghuni tersebut. Sama dengan aplikasi pembelajaran, aplikasi estimasi juga dibuat untuk platform Android dengan bahasa pemrograman Java menggunakan

software AndroidStudio.

2. Pengujian Sistem

Untuk memastikan sistem berjalan dengan baik, penulis melakukan serangkaian uji sistem dengan teknik black box testing dengan jenis functional testing. Uji ini melakukan pengujian pada fitur-fitur dan fungsi sistem apakah sudah berjalan dengan benar atau belum.

3. Training Data

Pembelajaran akan dilakukan dengan merekam nilai RSS dari tiga buah access point di titik referensi yang telah ditentukan menggunakan aplikasi pembelajaran. Data yang diterima akan disimpan ke dalam basis data yang akan digunakan sebagai model untuk proses selanjutnya.

4. Observasi Pola Aktifitas Penghuni

Observasi dilakukan dengan mencatat semua aktifitas penghuni saat berada di dalam rumah. Data yang dicatat ialah waktu dan tempat (berdasarkan titik referensi) aktifitas tersebut dilakukan.

(44)

5. Estimasi Posisi

Proses utama dari sistem ini merupakan proses estimasi posisi dari penghuni rumah. Dalam proses ini akan diidentifikasi siapa penghuni rumah dan sedang berada di mana penghuni rumah tersebut. Untuk mengestimasinya dibutuhkan peran aplikasi estimasi yang mengirimkan data nilai RSS ke website

server.

6. Pengujian Hasil Estimasi

Penulis melakukan uji hasil estimasi dengan cara observasi manual kepada 500 data yang penulis pilih secara acak dan dibandingkan dengan posisi sebenarnya yang terjadi.

3.3. Metode Pengujian

Untuk memastikan sistem sudah dapat digunakan dan berjalan dengan benar, penulis melakukan pengujian dengan menggunakan metode pengujian sistem black box testing. Metode black box testing akan menguji setiap fungsi dalam sistem berfungsi dengan baik atau tidak. Dalam hal ini penulis menggunakan salah satu jenis pengujian dalam black box testing, yakni functional

testing yang akan menguji fitur-fitur dan fungsi sistem apakah sudah berjalan

(45)

3.4. Kerangka Berpikir

(46)

4.1. Tahap Requirement Planning

Tahap pertama yang penulis lakukan ialah requirement planning. Dalam tahap ini penulis melakukan identifikasi masalah, analisis metode usulan, analisis kebutuhan fungsional maupun non-fungsional.

4.1.1. Identifikasi Masalah

Menurut beberapa sumber jurnal yang terkait penelitian ini, hasil dari penelitian-penelitian sebelumnya sebagai berikut:

Tabel 4.1. Penelitian Sebelumnya

No Judul Hasil Penelitian

1 An AP-centred Indoor

Positioning System Combining Fingerprint Technique

Oleh Xuan Du, Jiuzhou Wu, Kun Yang, Li Wang

Tahun 2016

Penelitian ini telah mengusulkan

AP-Centred Indoor Positioning System yang

dibandingkan dengan Mobile HH based. Teknik fingerprinting yang digunakan mengkombinasikan MH-Based dengan

AP-Centred, yakni saat proses training

menggunakan MH namun saat fase online hanya menggunakan program sniffy yang ada di AP. Hal ini menjadi lebih efisien karena tidak diperlukan aplikasi terinstal di MH saat fase online. Penelitian ini juga menghasilkan jarak error maksimal 4,5 meter. Namun karena berpusat di AP maka harus melakukan konfigurasi AP agar dapat dipasang program sniffy yang dibuat. Serta data hasil estimasi tidak diberikan kepada orang yang terdeteksi.

(47)

No Judul Hasil Penelitian

Fingerprinting Technique for Device-free Indoor

Localization System

Oleh Nasrullah Pirzada, M Yunus Nayan, M Fadzil Hassan, Fazli Subhan, Hamzah Sakidin

Tahun 2016

diukur pada dua ruang kampus yang dibagi menjadi 21 titik. Pengukuran menggunakan laptop dengan software Netsurveyor. Dalam peneitian ini dibandingkan nilai pengukuran dari 4 AP dengan orang didalam, 4 AP tanpa orang didalam, 2 AP dengan orang didalam, dan 2 AP tanpa ada orang didalam. Hasil dari penelitian ini menunjukkan bahwa nilai RSS akan berubah saat kondisi lingkungan berubah. Tantangan dari sistem merupakan konstruksi bangunan, furnitur, dan tubuh manusia.

3 Android Application

for WiFi based Indoor Position: System Design and Perfo-rmance Analysis

Oleh Nguyen Trong Thuong, Hoac Thieu Phong, Dinh-Thuan Do, Phan Van Hieu, Dao Tang Loc Tahun 2016

Penelitian ini mengambil studi kasus pada sebuah ruangan pada universitas. Menggunakan teknik fingerprinting, peneliti melakukan teknik dengan cara mengirim nilai RSS dari android pengguna dan diproses di server. Peneliti menggunakan 6 AP yang telah terpasang di ketinggian 1,2 meter dari lantai. Algoritma K-Nearest Neighbour dengan

Euclidean Distance digunakan dalam

penelitian ini. Area dibagi menjadi 20 titik. Hasil dari penelitian ini menunjukkan implementasi yang mudah dan lebih hemat biaya. Dari data percobaan diketahui perpindahan di area ruangan mempengaruhi nilai RSS dan menurunkan akurasi. Didapat akurasi 42,5%-64,5%

(48)

No Judul Hasil Penelitian

dalam jarak 2meter jika terdapat orang dalam ruangan. Sedangkan hasil estimasi dikembalikan pada pengguna dan ditampilkan.

4 Indoor Localisation

using Existing WiFi Infrastructure - A Case Study at a University Building

Oleh Cornelius Toh, Sian Lun Lau

Tahun 2016

Penelitian ini mengukur RSS dengan smarphone untuk 3 dataset. Dataset pertama sebagai data training sedangkan

dataset kedua merupakan data tes dengan

keadaan diletakkan dan dataset ketiga merupakan data tes dengan keadaan

handheld. Area merupakan satu lantai

gedung universitas yang dibagi menjadi 6 titik. Penelitian ini menggunakan teknik

Density-Based Clustering Combined Localisation Algorithm dalam membuat fingerprint. Dihasilkan akurasi yang cukup

tinggi yakni 97,28% hingga 99,85% untuk dataset kedua dan 97,28% hingga 99,85% untuk dataset ketiga. Hal ini menunjukkan posisi smartphone saat pengukuran sangat mempengaruhi hasil akurasi.

Dari beberapa hasil penelitian tersebut, diketahui bahwa teknologi estimasi posisi saat ini sedang sangat berkembang. Metode paling efektif yang digunakan penelitian sebelumnya ialah menggunakan teknik fingerprinting, yakni mengambil beberapa data untuk data

training dan selanjutnya mengumpulkan data dan dicocokkan dengan

data training untuk mendapat hasil perhitungan. Penelitian Toh dan Lau (2016) mampu mendapat akurasi yang tinggi namun dengan jarak antar titik yang cukup besar karena satu lantai gedung universitas hanya dibagi

(49)

menjadi enam titik. Sedangkan penelitian Thuong dkk. (2016) menghasilkan aplikasi yang dapat mengetahui posisi dari penggunanya dengan sistem yang bekerja pada server dan menggunakan android sebagai pengirim nilai RSS. Hasilnya, akurasi sudah mencapai 42,75% sampai 64,5%. Hal ini dipengaruhi oleh jumlah orang yang ada dalam ruangan. Sedangkan dalam penelitian Du dkk. (2016), diusulkan metode tanpa aplikasi pada pengguna. Du, dkk. memanfaatkan access point yang sudah terpasang OpenWRT dengan mengembangkan program sniffy guna memantau Probe Request dari perangkat disekitar. Hasilnya, Du dkk. mampu memprediksi posisi dengan jarak error maksimal 4,5 meter namun hasil perhitungan tidak diberikan kepada pengguna secara langsung.

4.1.2. Analisis Metode Usulan

Pada penelitian ini penulis mengusulkan metode identifikasi dan estimasi posisi dengan menggabungkan estimasi posisi menggunakan teknik fingerprinting dengan peluang kebiasaan penghuni rumah. Teknik

fingerprinting yang penulis gunakan menggunakan algoritma K-Nearest Neighbour serta Euclidean Distance sebagai algoritma pencocokan atau

klasifikasi. Terdapat empat fase utama dalam metode yang penulis usulkan yakni :

1. Pengumpulan Data Pendukung

Pada fase ini penulis melakukan pengumpulan data-data yang terkait dengan penelitian, seperti data penghuni rumah beserta smartphone penghuni yang mencakup sistem operasi dan

mac address. Data penghuni rumah akan digunakan dalam

proses identifikasi.

2. Training Data Fingerprint

Pada fase training data fingerprint, penulis membagi area rumah menjadi beberapa titik referensi. Pada titik-titik tersebut

(50)

penulis melakukan observasi dengan menggunakan aplikasi training untuk menangkap nilai Received Signal Strength (RSS) pada titik tersebut. Fase ini penulis lakukan selama 5 hari dengan pengambilan data pada pagi dan sore hari sehingga didapatkan 10 set data. Penangkapan nilai dilakukan dengan menangkap nilai tiga buah access point yang telah terpasang di ketinggian 2,5 m dari lantai setiap 5 detik sampai dengan didapat 5 data, lalu dihitung rata-rata dari kelima data tersebut. Data akan disimpan dalam basis data untuk digunakan dalam proses estimasi.

3. Observasi Perilaku Penghuni

Dalam fase observasi, penulis mencatat lokasi setiap aktifitas seluruh penghuni rumah berdasarkan titik referensi yang telah dibuat sebelumnya selama 7x24jam. Data hasil observasi berupa waktu, aktifitas, dan nomor titik referensi dari aktifitas penghuni tersebut. Setelah observasi selesai dilakukan penulis melakukan analisa hasil observasi. Hasil observasi dikelompokkan menjadi 4 zona waktu yakni pagi (04:01-09:00), siang (09:01-15:00), sore (15:01-19:00), dan malam (19:01-04:00). Setelah dikelompokkan, penulis melakukan penghitungan nilai bobot peluang kejadian terjadi pada zona waktu yang ada lalu menyimpannya dalam basis data untuk digunakan dalam proses estimasi.

4. Identifikasi dan Estimasi Posisi

Proses utama dari metode ini ialah mengidentifikasi siapa penghuni dan dimana letak penghuni tersebut. Proses identifikasi menggunakan data mac address dari smartphone penghuni untuk mengetahui siapa penghuni tersebut setiap kali data masuk ke server. Sedangkan untuk proses estimasi, data

Gambar

Gambar 2.1. Supervised Learning (Sumber : Shekhar Bhartiya)
Gambar 2.2. Reinforced Learning (Sumber : Shekhar Bhartiya)
Gambar 2.3. Pola Aktifitas Penghuni Rumah (Sumber : Yan, 2014)
Gambar 2.4: Fase RAD Sumber : Kendall, 2011
+7

Referensi

Dokumen terkait