Fakultas Ilmu Komputer
739
Implementasi Sistem Semantik Pada Perangkat Lampu Rumah Cerdas
Berbasis Agen
Agung Prasetio1, Sabriansyah Rizqika Akbar2, Bayu Priyambadha3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1agungofficial@gmail.com, 2sabrian@ub.ac.id, 3bayu_priyambadha@ub.ac.id
Abstrak
Perangkat IoT memberikan potensi untuk memperoleh data secara kontekstual, dengan mengamati dan mengukur peristiwa fisik yang terjadi di lingkungan sekitar. Rumah Cerdas merupakan bidang yang banyak diminati oleh pengembang perangkat IoT. Dengan menggunakan pendekatan semantik pada proses pengolahan data perangkat IoT menghasilkan kemampuan untuk mendefinisikan, memodifikasi, dan menginterpretasikan data yang lebih baik. Penelitian ini menggunakan menggunakan Nodemcu ESP8266 sebagai mikrokontroller node sensor dan node actuator. Raspberry Pi3 digunakan sebagai agen yang bertugas sebagai router dan pusat pengumpulan data. Kedua perangkat tersebut sudah mendukung konektivitas wifi sehingga memudahkan proses komunikasi. node sensor bertugas untuk mengumpulkan data yang berasal dari proses sensing modul sensor, data yang didapatkan dikirim kepada agen untuk diinisialisasi dan dimasukkan kedalam ontologi. Agen melakukan proses reasoning untuk mengubah data yang ada pada ontologi sesuai dengan rule yang dibuat dan menghasilkan data yang lebih representatif dan kontekstual. Node Actuator melakukan query terhadap status lampu yang ada pada ontologi sebagai acuan untuk aksi menyalakan atau mematikan lampu. Implementasi berupa sistem kendali nyala dan mati lampu pada rumah cerdas dengan pendekatan semantik.
Kata kunci: Rumah Cerdas, Semantik, Lampu, Nodemcu ESP8266, Raspberry Pi 3
Abstract
The IoT device provides the potential for obtaining data contextually, by observing and measuring the physical events occurring in the environment. Smart Home has great interest by IoT device developers. Using a semantic approach to data processing on IoT devices provides the ability to define, modify, and interpret better data. In this research uses Nodemcu ESP8266 as a microcontroller on sensor node and actuator node. Raspberry Pi3 is used as an agent that serves as a router and data collection center. Both devices already support wifi connectivity so as to facilitate the communication process. The sensor node is responsible for collecting data derived from the sensors process of the sensor module, the data obtained is sent to the agent to be initialized and inserted into the ontology. Agent performs the reasoning process to change existing data on the ontology according to the rule created and produce more representative and contextual data. The Actuator node performs a query against the current status of the lamp on the ontology as a reference for the action of switching on or off the lamp. Implementation in the form of lights on and off control system in smart home with semantic approach.
Keywords: Smart Home, Semantic, Lights, Nodemcu ESP8266, Raspberry Pi 3
1. PENDAHULUAN
Perkembangan produk Internet of things (IoT) sangat pesat beberapa tahun belakangan ini, fakta ini didukung dengan sebuah study yang dilakukan oleh IDC yang memperkirakan bahwa saat ini ada sekitar 200 miliar objek yang terkoneksi dalam suatu jaringan, dan 7% (14 miliar) diantaranya sudah terkoneksi dengan
City, dan Smart Energy akan membutuhkan semua data bisa dibandingkan, dikorelasikan, dan digabungkan dengan mudah, dan hasilnya bisa interpretasikan dengan konteks yang lebih baik, lebih mudah dimengerti, dan sesuai dengan kebutuhan manusia (Ramparany & Cao, 2016).
Perangkat jaringan IoT memberikan potensi untuk memperoleh data secara kontekstual dengan cara mengamati dan mengukur peristiwa fisik yang terjadi di lingkungan sekitar. Dengan fakta tersebut menjadikan IoT bibit untuk membangun platform masa depan yang peka terhadap peristiwa fisik yang terjadi di dunia nyata dan memungkinkan jenis layanan baru yang dapat menghapus batas antara dunia nyata dan dunia virtual. Untuk mencapai hal ini, data tersebut dikumpulkan dari berbagai macam sumber untuk dipahami oleh mesin, maka dari itu kemampuan mesin melakukan penafsiran dan penalaran membutuhkan pendekatan umum untuk mengelola data tersebut agar menjadi data yang terstruktur dan terorganisir.
Teknologi semantik merupakan sebuah konsep dalam ilmu komputer yang bertujuan untuk menghadirkan makna dan konteks di balik kata-kata dan kalimat untuk dapat diproses oleh sebuah komputer (Grimmick & Walker, 2017). Penerapan perangkat IoT dengan menggunakan pendekatan semantik dapat menghasilkan
kemampuan untuk mendefinisikan,
memodifikasi dan menginterpretasikan data yang lebih baik (Palavalli, Karr, & Pasupulet, 2016). Resource Description Framework atau biasa disebut RDF, adalah sebuah standar untuk mendeskripsikan resource (Apache Software
Foundation, 2017). Konsep semantik
menggunakan Resource Description Framework
memungkinkan menghubungkan dan
menggabungkan relasi antar entitas dari berbagai sumber data yang menggunakan resource identifier untuk menidentifikasi sebuah resource yang telah terstandar secara internasional (Maaral, et al., 2016).
Rumah Cerdas merupakan bidang yang banyak diminati oleh pengembang perangkat IoT. Namun, dalam perkembangannya masih sedikit sekali yang menerapkan pendekatan semantik untuk mendukung kinerja sistem penerangan rumah, dengan adanya teknologi semantik pengolahan data akan menjadi semakin mudah, dan mudah dimengerti oleh banyak kalangan dengan konsep graph database yang menjelaskan hubungan setiap data. dengan adanya hubungan antar data dapat membantu menerjemahkan event yang terjadi pada smart
home dan memberikan respon pada actuator lampu tepat sesuai dengan konteks data tersebut. Maka dari itu, penulis mempunyai ide penelitian untuk mengimplementasikan teknologi semantik pada rumah cerdas.
2. LANDASAN KEPUSTAKAAN
2.1. Teknologi Semantik
Teknologi semantik adalah konsep dalam ilmu komputer yang bertujuan untuk menghadirkan makna dan konteks di balik kata-kata dan kalimat untuk dapat diproses oleh sebuah komputer (Grimmick & Walker, 2017). Sejumlah pendekatan untuk menrapkan konsep ini telah dikembangkan, mulai dari kecerdasan buatan yang canggih hingga deskripsi konten yang formal dan dapat dibaca oleh mesin.
Meskipun Komputer unggul dalam
perhitungan matematis, mereka tidak dapat mengerti aspek Bahasa manusia, terutama semantik. Program komputer bisa mengalahkan manusia yang paling terampil sekalipun dalam permainan catur, namun sebaliknya akan sangat buruk ketika bermain tebak-tebakan melawan anak usia 6 tahun, karena tidak memiliki kemampuan untuk menafsirkan konteks, makna, dan kehalusan bahasa secara akurat pada sebuah pernyataan yang sepele. Hal ini berimplikasi pada sejumlah besar aplikasi dan layanan tanpa pemahaman konteks yang menyeluruh.
2.2. Ontologi
Beberapa tahun belakangan ini ontologi berkembangan dengan cepat, sebelumnya ontologi digunakan oleh para ahli Artificial Intelegent. Lalu, ontologi juga digunakan oleh para pengembang web untuk berbagai macam hal seperti mengklasifikasikan kategori produk pada situs Amazon, atau untuk mengelola konten situs ensiklopedia Wikipedia. Namun, kini ontologi juga digunakan untuk mengembangkan aplikasi linked data yang memerlukan data dari berbagai sumber untuk dapat dikorelasikan. Organisasi The World Wide Web Consortium (W3C) mengembangkan Resource Description Framework (RDF), sebuah bahasa untuk mengkodekan pengetahuan pada ontologi agar dapat dimengerti oleh agen piranti lunak secara elektronik.
2.3. Resource Description Framework
Foundation, 2017). RDF dikembangkan oleh World Wide Web Consotium (W3C) organisasi internasional yang membuat dan mengatur standar RDF, memiliki kemampuan untuk memfasilitasi penggabungan data bahkan dapat dilakukan jika memiliki perbedaan skema pada data, dan dapat membantu perubahan skema berulang-ulang tanpa memerlukan perubahan data secara keseluruhan. RDF memperluas linking structure dari web dengan menggunakan URIs untuk memberikan relasi antara subjek dan
objek, hal ini biasa disebut dengan “Triple”.
3. METODOLOGI PENELITIAN
Gambar 1 Diagram alir metode penelitian
Langkah-langkah yang akan dilakukan dalam pengerjaan tugas akhir ini seperti yang terlihat pada gambar 1, yaitu studi literatur, penyusunan dasar teori , desain, implementasi, analisis dan pengujian dari algoritma yang akan dibuat, hingga penulisan laporan. Kesimpulan disertakan sebagai catatan atas performa dari penelitian ini dan kemungkinan arah pengembangan penelitian selanjutnya.
4. PERANCANGAN DAN IMPLEMENTASI
Secara umum, pada tahapan ini akan dijelaskan proses perancangan sistem dimulai dari perancangan perangkat keras, perancangan piranti lunak, dan permodelan struktur data semantik.
Gambar 2. Blok diagram sistem
Pada gambar 2 merupakan blok diagram dari sistem, kita dapat melihat bahwa data dari sensor akan dikumpulkan oleh Raspberry PI sebagai agen yang mengolah data menjadi semantik.
4.1. Desain Struktur Ontologi
Gambar 3 Desain ontologi Sistem
Suatu struktur ontology pada gambar 3 dimulai dari root resource atau resource tingkat tertinggi dari sebuah sistem, mempunyai sebuah sub-sistem berupa device atau perangkat. Suatu perangkat dibagi menjadi dua macam jenis tergantung dari device tersebut termasuk jenis sensor atau actuator. Setiap device memiliki lokasi penempatan yang dijelaskan pada
deployment. DateTimeDescription
digunakan untuk mendefisikan waktu pada ontologi. Perangkat sensor memiliki 4 informasi yang mencerminkan sensor tersebut, seperti
quantityKind mendeskripsikan tentang
parameter apa yang diukur oleh sensor.
iotlite:metadata berisikan data mentah dari pembacaan sensor, dan yang terakhir Qu:unit
yang berisikan satuan yang digunakan pada
metaDataValue. Actuator dibagi menjadi dua resource saja, effect mendeskripsikan efek yang ditimbulkan ketika actuator tersebut aktif.
ActuatingProperty berisi nilai atau status dari actuator apakah actuator aktif atau tidak. Berikut pengertian dari setiap resource dan property :
4.2. Diagram Alir Piranti Lunak Node Sensor dan Actuator
Perangkat node sensor memiliki diagram alir atau flowchart pada setiap sub-sistem didalamnya seperti digambarkan pada gambar 4.
Gambar 4. Diagram alir piranti lunak node sensor
Gambar 5. Diagram alir piranti lunak node actuator
Pada gambar 5, proses yang digambarkan pada diagram alir hampir sama dengan node sensor, perbedaannya pada node actuator tidak terdapat proses pengambilan data sensor dan ada penambahan proses untuk mengset nilai relay berdasarkan respon yang berasal dari agen.
4.3. Diagram Alir Piranti Lunak Agen
Pada proses utama dilakukan inisialisasi terhadap data sensor, actuator, dan sistem pada ontologi.
Gambar 6. Diagram alir proses utama
Subproses 1 berjalan ketika perangkat sensor mengirimkan data kepada agen, data yang diterima diubah menjadi objek java agar mudah diakses.
Gambar 7. Diagram alir subproses 1
proses berhasil program akan mengirimkan status bahwa semua proses telah berhasil dilakukan.
Gambar 8. Diagram alir subproses 2
Pada Subproses 2, data dari actuator akan dirubah menjadi objek java agar lebih mudah untuk dikelola. Jika actuator pertama kali mengirimkan datanya ke agen, maka data tersebut akan diinisialisasi terlebih dahulu. Data yang dikirimkan oleh actuator berisikan informasi tentang actuator itu sendiri misalkan kode identitas actuator, efek yang ditimbulkan oleh actuator, dan nilai actuator pada saat pertama kali dikirimkan. Ketika actuator mengirimkan data ke agen untuk kedua kalinya maka data tersebut dapat dihiraukan, karena data tersebut sudah didaftarkan sebelumnya. Query dari actuator dilakukan pada akhir proses agar actuator mendapatkan nilai yang sudah dikorelasikan dengan sensor berdasarkan rule yang digunakan. Ketika semua proses berhasil dilakukan agen akan mengirimkan kode status beserta data yang baru agar dapat diproses kembali oleh node actuator.
4.4. Implementasi Perangkat Keras
Implementasi perangkat lampu semantik dirancang menggunakan mikrokontroller NodeMcu ESP8266. Pada tahap awal dilakukan
perakitan dan implementasi perangkat node sensor seperti pada gambar 9.
Gambar 9. Node sensor ultrasonik setelah dirakit
Perakitan dilakukan berdasarkan skematik yang telah dibuat, Hal pertama yang dilakukan adalah penyolderan komponen seperti header baterai, step down, modul sensor, modul actuator, dan mikrokontroller. Mikrokontroller Nodemcu dilapisi dengan papan dot matrix agar mudah untuk disolder dengan sensor ultrasonic HC-SR04, papan dot matrix dipotong disesuai-kan dengan panjang dan lebar yang yang butuhkan oleh perangkat node sensor. Pin Vin dari Nodemcu terhubung dengan modul stepdown menggunakan kabel jumper, modul stepdown berfungsi sebegai penurun tegangan dari sumber baterai 9V menjadi tegangan yang dibutuhkan sebesar 5V.
Gambar 10. Node sensor LDR setelah dirakit
Gambar 11. Node sensor PIR setelah dirakit
Pada gambar 11 modul sensor PIR memiliki pin output, sehingga memudahkan proses perakitan, node sensor memerlukan kabel jumper female-female untuk dapat terhubung dengan mikrokontroller Nodemcu.
Gambar 12. Node actuator setelah dirakit
Gambar 12 memperlihatkan rupa dari node actuator, relay membutuhkan sumber daya 5V untuk dapat beroperasi. baterai dapat digunakan sebagai sumber daya dari actuator relay.
5. PENGUJIAN
5.1. Pengujian Pengiriman Data Node Sensor
Pengujian pengiriman data node sensor pada sistem mengacu pada implementasi dan prasyarat yang telah dijelaskan pada bab sebelumnya. Tujuan dari pengujian ini adalah untuk melakukan verifikasi terhadap implementasi yang telah dilakukan.
Gambar 13. Sensing dan pengiriman data node sensor LDR
Pada gambar 13 node sensor LDR mengirimkan data berupa angka dengan nilai 569 dan mendapatkan berupa HTTP Code 200 dan response body berisi angka 1 yang berarti data telah diterima oleh perangkat agen.
Gambar 14. Sensing dan pengiriman modul sensor ultrasonik
Pada gambar 14 perangkat node sensor PIR melakukan pengiriman data berupa status
“Detected” ketika “motion detected at 14 sec”
dan “NotDetected” pada saat “motion ended at
18 sec”. Node juga mendapatkan HTTP Code 200 dan respon body yang berisi angka 1.
Gambar 15. Sensing dan pengiriman modul sensor PIR
Pada gambar 15 node sensor ultrasonik melakukan pembacaan sekaligus pengiriman data dari sensor ultrasonik, data yang dikirimkan berupa jarak antara sensor dan halangan pintu dengan nilai 10. Node juga mendapatkan HTTP code 200 dan response body dengan angka 1
5.2. Pengujian Layanan Data Semantik
Pengujian fitur ini merupakan dasar dari fungsional sistem perangkat lampu semantik. Langkah awal pengujian adalah melakukan metode layanan web service pada perangkat agen, web service dibutuhkan agar pengiriman data dapat baik. Memastikan node sensor dapat terkoneksi dengan access point yang telah ditentukan adalah hal yang penting untuk dilakuakan.
Pada gambar 16 ketika piranti lunak agen mendapatkan data dari suatu sensor untuk pertama kali maka data tersebut diinisialisasi terlebih dahulu, setelah data diinisialisasi data yang masuk pada pengiriman berikutnya dengan sensor yang sama maka data tersebut hanya perlu digantikan dengan data pembacaan sensor yang baru, hal tesebut dilakukan pada proses update sensor.
Gambar 17. Inisialisasi dan update data sensor LDR
Pada gambar 17 proses inisialisasi yang sama juga dilakukan ketika data dari node sensor LDR masuk ke dalam ontologi.
Gambar 18. Inisialisasi dan update data sensor PIR
Pada gambar 18 merupakan proses yang sama dengan sebelumnya hanya saja data yang masuk berupa String dan mendapatkan perlakukan khusus ketika melakukan update data. Karena ontologi juga mempunyai tipe data seperti interger dan literal, sehingga diperlukan inisialisasi tipe data terlebih dahulu sebelum masuk ke dalam ontologi.
5.3. Pengujian Reasoning
Pada pengujian fitur ini merupakan salah satu fungsional agen untuk mengubah data yang sebelumnya berupa interger atau literal menjadi sebuah resource yang lebih ekspresif dan kontekstual. Pengujian dilakukan dengan cara melakukan inspeksi terhadap ontologi yang menjadi input reasoner, dan output dari reasoner. Pada gambar 19 Ldr4132Measurement
memiliki metaDataValue dengan nilai 567 sebelum proses reasoning dijalankan, ketika proses reasoning berjalan lihat pada gambar 21 dibawah ini.
Gambar 19. Output RDF ontologi sebelum reasoning
Terbentuk sebuah ontologi baru yang berisi data dan statement baru hasil dari reasoning, hasilnya data menjadi lebih kontekstual dan lebih mudah dimengerti lihat gambar 20.
Gambar 20. Output RDF ontologi setelah reasoning
Contohnya seperti data
Ldr4132Measurement yang sebelumnya tidak
memiliki statement hds:RoomIsBright
sekarang statement tersebut menjadi statement baru pada subjek Ldr4132Measurement, perubahan tersebut terjadi karena pengaruh dari data sensor yang masuk. Setiap kali event terjadi pada lingkungan kerja sensor seperti ruangan menjadi gelap, ataupun ruangan berubah menjadi gelap ke terang, semua kondisi tersebut ada di dalam rules sehingga data tersebut nantinya akan mudah dikorelasikan dengan data pembacaan sensor yang lain.
5.4. Pengujian Menyalakan dan Mematikan Lampu
Output yang dihasilkan oleh query ontologi harus lah sesuai dengan konteks yang terjadi pada lingkungan kerja, agar actuator dapat berjalan dengan semestinya. Adapun beberapa skenario pengujian yang dilakukan adalah :
2. Kondisi ketika sensor medeteksi pintu ruangan terbuka.
3. Kondisi ketika sensor tidak mendeteksi event apapun yang terjadi.
Gambar 21. Data node actuator saat status lampu OFF
Pada gambar 21 hasil query dari ontologi diterima oleh node sensor, ketika status tersebut
bernilai “OFF” maka actuator akan mematikan
lampu pada ruangan tersebut.
Gambar 22. Data node actuator saat status lampu ON
Pada gambar 22 merupakandata yang diterima node actuator saat status lampu yang dikirimkan oleh agen adalah ON. Berdasarkan skenario pengujian, dilakukan pengujian terhadap sistem berdasarkan kondisi pembacaan data sensor. Ada 3 kondisi yang diuji yaitu kondisi ketika sensor mendeteksi gerakan pada ruangan, kondisi ketika sensor mendeteksi pintu ruangan terbuka, dan kondisi ketika sensor tidak mendeteksi event apapun. Pengujian dilakukan pada suatu ruangan dengan menggunakan perangkat sesuai dengan rekayasa kebutuhan perangkat keras.
Gambar 23. sensor mendeteksi gerakan
Pada gambar 23 ketika ada objek memasuki ruangan, sensor akan medeteksi gerakan yang
muncul dari objek. Berdasarkan rule yang telah dirancang ketika kondisi sensor mendeteksi gerakan, pintu ruangan tertutup, kondisi pencahayaan yang masuk ke dalam ruangan kurang, dan pada waktu malam. Maka berdasarkan rule tersebut agen akan mengubah
status actuator menjadi “ON” dan actuator
lampu akan menyala.
Gambar 24. Sensor mendeteksi pintu terbuka
Pada gambar 24 sensor tidak mendeteksi adanya gerakan di dalam ruangan, namun kondisi pintu masuk pada ruangan tersebut terbuka. Kondisi ini dijelaskan pada rule yang telah dirancang, ketika kondisi statement pada ontologi memenuhi syarat dari rule tersebut maka agen mengubah kondisi lampu menjadi
“ON”.
Gambar 25. Tidak ada event apapun yang terjadi
lampu menjadi “OFF”.
6. KESIMPULAN
Berdasarkan rumusan masalah yang dibuat, dan hasil dari perancangan, implementasi dan pengujian pada penelitian ini, maka dapat diambil kesimpulan antara lain:
1. Perancangan sistem nyala dan mati lampu semantik dilakukan sesuai dengan yang rekayasa kebutuhan baik secara fungsional maupun non-fungsional. Tahapan yang dilakukan yaitu merancang perangkat keras sistem, merancang piranti lunak, dan mendesain struktur ontologi yang nantinya digunakan piranti lunak sistem.
2. Implementasi dilakukan setelah perancangan sistem selesai. Implementasi dibagi menjadi dua bagian yaitu implementasi perangkat keras tentang perakitan node sensor dan actuator, dan implementasi layanan perangkat lampu semantik tentang penerapan piranti lunak pada sistem. pengiriman data yang dilakukan oleh node sensor akan diterima piranti lunak sensor, setiap sensor yang baru diinisialisasikan akan membuat sebuah instance baru pada ontologi. Setiap kali ada perubahan data maka proses reasoning akan dilakukan untuk mengubah data tersebut menjadi lebih representatif dan terklasifikasi.
3. Pengujian fungsional dilakukan untuk mengverifikasi sistem dapat bekerja sesuai yang diharapkan. Tahapan pengujian dilakukan mulai dari pengujian pengiriman data sensor dengan mengamati setiap proses pengiriman menggunakan serial monitor, pengujian layanan data semantik yaitu menginspeksi semua proses yang terjadi menggunakan terminal dan Eclipse, pengujian reasoning bertujuan memastikan bahwa data pada ontologi diubah menjadi lebih representatif, setelah data tersebut berubah maka akan dikorelasikan kembali untuk mendeteksi event yang terjadi dengan mengkorelasikan berbagai data representatif yang telah dihasilkan sebelumnya, proses tersebut dapat dibuktikan dengan mengamati output ontologi pada file rdf yang dihasilkan, dan tahap akhir pengujian menyalakan atau
mematikan lampu untuk memastikan sistem mati dan nyala lampu berjalan sesuai dengan rule yang telah dibuat.
DAFTAR PUSTAKA
Adshead, A. (2014). Data set to grow 10-fold by 2020 as internet of things takes off. Dipetik 2 23, 2017, dari
http://www.computerweekly.com/news/ 2240217788/Data-set-to-grow-10-fold-by-2020-as-internet-of-things-takes-off Asadullah, M., & Raza , A. (2016). An
Overview of Home Automation Systems . IEEE.
Maaral, A. I., Su , X., & Riekki, J. (2016). Semantic Reasoning for Context-aware Internet of Things Applications. IEEE INTERNET OF THINGS JOURNAL, 3, 1-13.
Ramparany, F., & Cao, Q. H. (2016). A Semantic Approach to IoT Data Aggregation and Interpretation applied to Home Automation. 2016
International Conference on Internet of Things and Applications (IOTA) , 23-28.