perancangan bot pada discord untuk pembacaan sensor di
TRANSCRIPT
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X Vol. 2, No. 10, Oktober 2018, hlm. 4202-4212 http://j-ptiik.ub.ac.id
Fakultas Ilmu Komputer
Universitas Brawijaya 4202
Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di Raspberry Pi
Dengan Sistem Learning Yang Dinamis
Rizki Septiansyah1, Sabriansyah Rizqika Akbar2, Rizal Maulana3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: [email protected], [email protected], [email protected]
Abstrak
Pada penelitian ini penulis akan merancang sebuah bot yang berjalan pada raspberry pi dan dapat
digunakan untuk melakukan pembacaan sensor yang ada pada raspberry pi dengan menggunakan sistem
learning yang dinamis. Pada penggunaan nya bot ini berjalan pada sosial media yang bernama Discord
dan user dapat memberikan beberapa perintah pada kolom chat suatu server agar bot dapat berjalan.
Pada implementasinya, bot ini telah dilakukan pengujian fungsional dan setiap kasus yang diuji dapat
berkerja dengan semestinya dan dinyatakan berhasil. Pada pengujian akurasi, didapatkan rata-rata
persensetase error dengan menggunakan sensor LM35 yaitu 0,541% dan pada sensor HY-SRF05 yaitu
3,387%. Pada pengujian waktu pemrosesan dengan menggunakan sensor LM35 memiliki rata-rata
waktu eksekusi perintah learn 545,54ms, perintah cmd 8,007ms dan perintah forgot 1,07ms. Pada
pengujian waktu pemrosesan dengan menggunakan sensor ultrasonik HY-SRF05 memiliki rata-rata
waktu eksekusi perintah learn 661,65ms, perintah cmd 5,42ms dan perintah forgot 1,24ms. Pada
pengujian waktu pemrosesan dengan menggunakan sensor LDR memiliki rata-rata waktu eksekusi
perintah learn 646,20ms, perintah cmd 5,43ms, dan perintah forgot 1,31ms.
Kata kunci: discord, kecerdasan buatan, bot, sensor, ultrasonik, suhu, intensitas cahaya.
Abstract
On this research, author will design a bot that will run on raspberry pi and can be used to read sensor
value on raspberry pi by using dynamic learning system.On its usage this bot will run on social media
that named Discord and user can give some commands on server chatbox so bot can running. On
implementation, this bot already been tested its function and every case that tested can work properly
and declared successful.On accuracy test, obtained average error pecentage with LM35 sensor 0.541%
and on HY-SRF05 sensor 3.387%. Average execution time test with temperature sensor LM35 on learn
command 545.54ms, cmd command 8.007ms and forgot command 1.07ms. Average execution time test
with ultrasonic sensor HY-SRF05 on learn command are 661.65ms, cmd command 5.42ms and forgot
command 1.24ms. Average execution time test with LDR sensor on learn command are 646.20ms, cmd
command 5.43ms and forgot command 1.31ms.
Keywords: discord, artificial intelligence, bot, sensor, ultrasonic, temperature, light intensity.
1. PENDAHULUAN
Pada era saat ini teknologi selalu
mengalami perkembangan dari waktu ke waktu.
Internet merupakan suatu contoh teknologi yang
sangat melekat pada kebutuhan manusia saat ini
khususnya di indonesia. Menurut survei
menemukan bahwa 132,7 juta dari 256 juta
penduduk di indonesia telah terhubung ke
internet (Asosiasi Penyelenggara Jaringan
Internet Indonesia, 2016). Secara fisik internet
merupakan interkoneksi antar jaringan dan
secara umum internet merupakan sebagai
sumber daya informasi dan bahkan internet
merupakan dunia dalam bentuk maya karena
banyak aspek di kehidupan nyata terdapat pada
internet seperti hiburan, bisnis, politik, dan lain
sebagainya (Lani Sidharta, 1996).
Internet of Things (IoT) merupakan suatu
istilah dimana internet berperan sebagai media
untuk berbagi data, remote control, dan lain-lain.
IoT adalah teknologi yang memungkinkan untuk
menghubungkan peralatan, mesin, dan benda
fisik lain dengan sensor dan aktuator untuk
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4203
Fakultas Ilmu Komputer, Universitas Brawijaya
memperoleh data dan mengelola kinerja secara
otomatis. Cara pengendaliannya pun dapat
melalui berbagai perangkat, seperti dengan
menggunakan ponsel pintar maupun komputer
dengan bantuan internet agar dapat dikendalikan
dari mana saja dengan praktis (Jacques Bughin
dan Michael Chui).
Raspberry Pi (Raspi) adalah sebuah
komputer papan tunggal yang memiliki ukuran
kecil dan mudah di peroleh pada pasar. Rasberry
Pi memiliki beberapa fungsi yaitu general-
purpose computing, learning to program,
project platform dan product prototyping.
General-purpose computing yaitu dimana Raspi
memiliki fungsi sama halnya seperti komputer
pada umum nya, dapat digunakan untuk
membuka web browser maupun aplikasi office
seperti libre office. Learning to program, yaitu
Raspi dapat digunakan sebagai media
pembelajaran dalam pemrograman karena dapat
membangun sebuah source code dan
menjalankan nya pada Raspi. Project platform,
selain dapat membangun source code dan
menjalankan nya, Raspi juga dapat terintegrasi
dengan project elektrik lain nya. Raspi dapat
digunakan untuk membuat prototype suatu
produk embedded berdasarkan operating system
linux (Matt Richardson dan Shawn Wallace pada
buku Getting Started With Raspberry Pi,
2016:ix). Raspberry pi dapat dimanfaatkan
sebagai server untuk menjalankan task ringan
seperti menjalankan bot agar dapat online di
suatu sosial media sesuai dengan keinginan user.
Selain itu, dengan dukungan pin pada raspberry
pi memungkinkan bot agar dapat membaca suatu
sensor dan informasi tentang sensor dikirimkan
ke user dalam real-time.
Berdasarkan pada website official Discord,
Discord membuka peluang developer untuk
mengembangkan aplikasi pada sosial media
khususnya bot. Pengembangan aplikasi pada
discord sendiri bertujuan untuk memperluas
integrasi layanan pada aplikasi yang
dikembangkan agar dapat dipergunakan pada
platform lain. Beberapa contoh pengembangan
nya dapat berupa login pada website tertentu
secara aman dengan menggunakan API,
menampilkan orang-orang yang sedang online
pada website atau forum, serta mengambil
beberapa data dari website lain untuk
ditampilkan pada Discord. Pada penelitian ini
penulis memiliki tujuan untuk membangun
sebuah Bot pada Discord yang dapat berfungsi
untuk membaca nilai sensor pada Raspberry Pi
dengan metode learning yang dinamis dan
berdasarkan command yang digunakan untuk
user. Sensor yang digunakan dalam penelitian ini
adalah adalah sensor suhu LM35, sensor cahaya
LDR, dan sensor ultrasonik HY-SRF05.
Penelitian ini menggunakan dua tinjauan
pustaka terdahulu diantaranya yang pertama
berjudul “On communication assistance via bots
towards IDMJ” (Akinori Abe, Moeko Hayashi,
2016) melakukan penerapan bot agar dapat
melakukan komunikasi antara user dan bot pada
sebuah Social Networking Service (SNS). Yang
kedua berjudul “Interacting with bots online:
Users reactions to actions of automated
programs in wikipedia” (Clement Maxime,
Matthieu J. Guitton, 2015) melakukan penerapan
bot agar dapat melakukan sesuatu secara
otomatis berdasarkan dari interaksi antara user
dan bot.
2. METODOLOGI
2.1. Studi Kepustakaan
Studi kepustakaan akan mempelajari
mengenai pengertian dan penjelasan dari dasar
teori yang digunakan dalam penulisan skripsi.
Teori pendukung tersebut diperoleh dari jurnal,
artikel, e-book, dokumentasi, ataupun buku.
Teori pada penelitian ini meliputi : Discord,
Python, Raspberry Pi, Sensor Ultrasonik HY-
SRF05, Sensor LDR, dan Sensor LM35..
2.2. Analisis Kebutuhan
Analisis kebutuhan memiliki tujuan agar
mendapatkan semua kebutuhan yang diperlukan
dalam sistem pada penelitian yang akan di
laksanakan. Analisis kebutuhan dilakukan
dengan mengidentifikasi apa saja yang
dibutuhkan dan terlibat dalam suatu sistem yang
akan dibuat. Pada kebutuhan sistem akan di
identifikasi apa saja yang di perlukan dalam
pelaksanaannya seperti perangkat keras dan
perangkat lunak. Dengan adanya analisis
kebutuhan maka nantinya akan membantu dalam
perancangan perangkat keras dan perangkat
lunak serta implementasi alat.
2.3. Implementasi Alat
Pada implementasi alat, hal yang dilakukan
adalah menguji apakah sistem yang dibuat
berjalan dengan semestinya atau tidak. Langkah
yang dilakukan adalah menjalankan service bot
pada raspberry pi agar berstatus online pada
discord, user dapat menggunakan perintah learn,
user dapat menggunakan perintah pembacaan
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4204
Fakultas Ilmu Komputer, Universitas Brawijaya
sensor, user dapat menghapus perintah
pembacaan sensor.
2.4. Pengumpulan Hasil Data
Dalam pengumpulan hasil data, data yang
akan dituliskan adalah kecepatan eksekusi
perintah learn, cmd dan forgot dan perbandingan
keluaran nilai sensor dan keadaan nyata.
2.5. Analisis Hasil data
Dalam analisis hasil data, data yang
dianalisa adalah perbandingan pembacaan
sensor dengan keadaan nyata yang dihitung
persentase error dan rata-rata dari waktu
eksekusi perintah yang digunakan.
2.6. Penarikan Kesimpulan dan Saran
Kesimpulan akan didapatkan setelah
melakukan seluruh tahap dari perancangan
sistem, implementasi alat, pengumpulan hasil
data, dan analisis hasil data. Kesimpulan diambil
berdasarkan dari hasil pengujian dan analisis
yang telah dilakukan. Isi dari kesimpulan
diharapkan dapat dituliskan secara jelas, singkat
dan memiliki tujuan untuk acuan pada penelitian
yang lain untuk mengembangkan penelitian
yang berhubungan dengan penelitian ini. Selain
itu, pada akhir penulisan juga terdapat saran
yang ditulis secara singkat dengan tujuan
memperbaiki kesalahan yang terjadi pada
implementasi serta dapat menyempurnakan
penulisan serta untuk memberikan suatu
pertimbangan atas pengembangan pada sistem
selanjutnya.
3. REKAYASA KEBUTUHAN
3.1. Kebutuhan Fungsional
Beberapa kebutuhan fungsional yang
dibutuhkan pada penelitian ini adalah bot dapat
menerima perintah dari user melalui chat dan
dapat membalas command sesuai pada
konfigurasi perintah, bot dapat menerima input
perintah dari discord untuk mempelajari
pembacaan sensor, bot dapat menampilkan nilai
sensor ultasonik, sensor LDR dan sensor
temperatur, lalu pemberian perintah dilakukan
pada discord dengan server privat, dan discord
dapat digunakan sebagai cloud yang
memfasilitasi bot untuk melakukan
implementasi.
3.2. Kebutuhan Non-Fungsional
Dalam pemberian perintah untuk remote
Raspberry Pi sebaiknya tidak melakukan spam
perintah untuk menghindari error karena ketika
Bot sedang menjalankan suatu perintah dan
diberikan perintah lagi dapat terjadi error atau
perintah yang tidak akan di abaikan. Contoh
menggunakan perintah learn tidak sesuai dengan
instruksi prefix yang dibutuhkan.
3.3. Kebutuhan Perangkat Keras
Pada penelitian ini beberapa perangkat
keras yang digunakan adalah Raspberry Pi 3,
sensor LDR, sensor ultrasonik HY-SRF05,
sensor temperatur LM35 dan satu unit laptop.
3.4. Kebutuhan Perangkat Lunak
Pada penelitian ini beberapa perangkat
lunak yang dibutuhkan adalah PuTTY yang
digunakan untuk remote rapsberry pi, nano
editor untuk melakukan edit source code,
sublime text 3 untuk melakukan edit source
code, windows 8.1 sebagai operating system
laptop, raspbian jessie sebagai operating system
raspberry pi 3, dan library aiohttp.py serta
discord.py sebagai library source code.
3.5. Diagram Blok Sistem
Berikut pada Gambar 1 merupakan diagram
blok dari perancangan bot yang akan di
implementasikan. Input pada diagram ini berasal
dari user, pemrosesan berada pada discord, bot,
raspberry pi, dan output berasal dari sensor
LM35, Sensor HY-SRF05 dan sensor LDR.
Gambar 1. Diagram Blok Sistem
4. PERANCANGAN DAN
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4205
Fakultas Ilmu Komputer, Universitas Brawijaya
IMPLEMENTASI
4.1. Gambaran Umum Sistem
Pada Gambar 2 merupakan gambaran
umum dari sistem yang akan dibuat.
Gambar 2. Gambaran Umum Sistem
4.2. Perancangan Sistem
perancangan sistem ini akan meliputi
perancangan perangkat keras dan perancangan
perangkat lunak. Perancangan perangkat lunak
sistem akan meliputi bahasa pemrograman yang
akan digunakan yaitu python dan menjalankan
script dengan melalui PuTTY. Pada perancangan
perangkat keras akan meliputi kebutuhan
perangkat keras yang akan digunakan seperti
Raspberry Pi sebagai processing dan beberapa
sensor. Gambar 3 merupakan diagram blok dari
sistem yang akan dirancang.
Gambar 3. Alur Kerja Sistem
4.3. Perancangan Perangkat Keras
4.3.1 Perancangan ADC Converter
MCP3008
Pada Gambar 4 merupakan perancangan
dari ADC Converter MCP3008 yang akan
dihubungkan ke raspberry pi.
Gambar 4. Perancangan ADC Converter MCP3008
4.3.2 Perancangan Sensor Temperatur
LM35
Pada Gambar 5 merupakan perancangan
dari Sensor Temperatur LM35 yang akan
dihubungkan ke raspberry pi.
Gambar 5. Perancangan Sensor Temperatur LM35
4.3.3 Perancangan Sensor LDR
Pada Gambar 6 merupakan perancangan
dari Sensor Temperatur LM35 yang akan
dihubungkan ke raspberry pi.
Gambar 6. Perancangan Sensor LDR
4.3.4 Perancangan Sensor Ultrasonik HY-
SRF05
Pada Gambar 7 merupakan perancangan
dari Sensor Ultrasonik HY-SRF05 yang akan
dihubungkan ke raspberry pi.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4206
Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 7. Perancangan Sensor Ultrasonik HY-
SRF05
4.4. Perancangan Perangkat Lunak
Pada sistem ini perancangan perangkat
lunak meliputi script bot agar dapat berjalan di
discord dan dapat menerima perintah serta
memproses perintah yang di inputkan oleh user
dalam via chat. Perintah ini meliputi learn yang
berfungsi agar bot dapat mempelajari
pembacaan sensor sesuai dengan parameter yang
diberikan oleh user, perintah cmd yang berfungsi
sebagai menggunakan perintah yang telah
dipelajari menggunakan learn untuk membaca
sensor dan perintah forgot untuk menghapus
perintah yang telah dipelajari sebelum nya.
Beberapa perintah yang di inputkan user
dalam via chat akan dibalas oleh bot dengan
keluaran sesuai dengna perintah yang diberikan.
Ketika perintah yang di inputkan sesuai dengan
ketentuan yang diperlukan seperti prefix yang
benar dan nama perintah yang benar, maka bot
akan membalas dalam via chat pada channel
yang sama.
Pada Gambar 8 di bawah merupakan
diagram alir dari perancangan perangkat lunak:
Gambar 8. Diagram Alir Perancangan Perangkat
Lunak
5. PENGUJIAN DAN ANALISIS
5.1 Pengujian Akurasi Sensor Dengan
Keadaan Nyata
Pengujian akurasi sensor dengan kejadian
nyata dibutuhkan untuk membandingkan antara
data yang sesungguhnya dengan hasil
pembacaan sensor yang di tampilkan oleh bot.
5.1.1 Tujuan Pengujian
Tujuan dari dilakukan pengujian akurasi
sensor dengan keadaan nyata adalah agar bot
dapat menampilkan hasil pembacaan nilai sensor
pada chat dan dibandingkan dengan keadaan
nyata.
5.1.2 Prosedur Pengujian
Nilai akurasi dari pembacaan sensor
dibandingan dengan seberapa jauh jarak
perbedaan nilai antara pengukuran di keadaan
nyata dengan nilai sensor yang di tampilkan oleh
bot. Rumus penghitungan nilai error yang
digunakan adalah: |𝐻𝑎𝑠𝑖𝑙 𝑃𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛 𝐾𝑒𝑎𝑑𝑎𝑎𝑛 𝑁𝑦𝑎𝑡𝑎 − 𝐻𝑎𝑠𝑖𝑙 𝑝𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛 𝐵𝑜𝑡|
𝐻𝑎𝑠𝑖𝑙 𝑃𝑒𝑛𝑔𝑢𝑘𝑢𝑟𝑎𝑛 𝐾𝑒𝑎𝑑𝑎𝑎𝑛 𝑁𝑦𝑎𝑡𝑎𝑥100%
Prosedur pengujian yang dilakukan untuk
menguji akurasi sensor dengan keadaan nyata
adalah dengan mengukur suhu menggunakan
termometer dan membandingan dengan
pembacaan sensor LM35, Mengukur jarak
dengan penggaris dan membandingkan dengan
pembacaan sensor HY-SRF05 serta mengatur
intensitas dan membandingkan dengan
pembacaan sensor LDR.
5.1.3 Hasil dan Analisis Pengujian
Pengujian pertama dilakukan pada sensor
LM35 dengan membandingkan nilai yang
ditampilkan oleh bot dan pengukuran dengan
termometer pada keadaan nyata.
Tabel 1. Hasil Perbandingan Pengukuran Pada
Sensor Suhu LM35
Termo
meter(°
C)
Penguk
uran
Bot(°C)
Perbedaa
n
Persentase
Error
29,5
30,1
29,5
29,5
29,6
29,2
29,2
29,2
29,2
29,5
29,68
30,0
29,68
29,68
29,68
29,35
29,35
29,35
29,35
29,68
0,18
0,1
0,18
0,18
0,18
0,15
0,15
0,15
0,15
0,18
0,61%
0,33%
0,61%
0,61%
0,6%
0,51%
0,51%
0,51%
0,51%
0,61%
Rata-Rata Persentase Error 0,541%
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4207
Fakultas Ilmu Komputer, Universitas Brawijaya
Berdasarkan data yang didapatkan pada
tabel 1 perbedaan pengukuran antara keadaan
nyata dengan pengukuran pada bot berdasarkan
nilai sensor yang dibaca menunjukan 9 data
perbedaan pengukuran menunjukan nilai + yang
menandakan nilai yang dibaca oleh bot lebih
besar dibanding pembacaan dengan termometer.
Terdapat 1 data perbedaan pengukuran yang
menunjukan nilai – dimana menandakan nilai
yang dibaca oleh bot lebih rendah dari pada
pembacaan pada termometer.
Pengujian kedua dilakukan pada sensor
HY-SRF05 dengan membandingkan nilai yang
ditampilkan oleh bot dan pengukuran dengan
penggaris pada keadaan nyata.
Tabel 2. Hasil Perbandingan Pengukuran Pada
Sensor Ultrasonik HY-SRF05
Penguk
uran
Pengga
ris (cm)
Penguk
uran
Bot(cm)
Perbedaa
n
Persentase
Error
3
3
6
3.5
3
3
6
6.5
4
3.5
3,19
2,93
6,37
3,49
2,90
2,94
5,89
6,58
4,22
3,44
0,69
0,07
0,37
0,01
0,10
0,06
0,11
0,08
0,22
0,06
6,33%
2,33%
6,16%
0,28%
3,33%
2%
1,83%
1,23%
5,5%
1,71%
Rata-Rata Persentase Error 3,07%
Berdasarkan data yang didapatkan pada
tabel 2 perbedaan pengukuran antara keadaan
nyata dengan pengukuran pada bot berdasarkan
nilai sensor yang dibaca menunjukan 4 data
perbedaan pengukuran menunjukan nilai + yang
menandakan nilai yang dibaca oleh bot lebih
besar dibanding pembacaan dengan pengukuran
oleh penggaris. Terdapat 6 data perbedaan
pengukuran yang menunjukan nilai – dimana
menandakan nilai yang dibaca oleh bot lebih
rendah dari pada pengukuran oleh penggaris.
Pengujian ketiga dilakukan pada sensor
LDR dengan membandingkan nilai yang
ditampilkan oleh bot dengan kondisi cahaya
pada keadaan nyata.
Tabel 3. Hasil Perbandingan Pengukuran Pada
Sensor LDR
Nomor
Penguji
an
Keadaan
Cahaya
Hasil Pengukuran
Bot (0-1023)
1
2
3
4
Lampu Mati
Lampu Menyala
Cahaya Senter
Lampu Mati
1023
598
90
1022
5
6
7
8
9
10
Lampu Menyala
Cahaya Senter
Lampu Mati
Lampu Menyala
Cahaya Senter
Lampu Menyala
606
55
1023
586
86
589
Berdasarkan data yang didapatkan pada
tabel 3, pada pengukuran bot ketika keadaan
cahaya mati menunjukan nilai berturut-turut
1023, 1022 dan 1023, dimana nilai yang di
tunjukan adalah nilai tinggi dari jarak yang
dimiliki oleh nilai pengukuran dan sesuai dengan
teori “jika nilai yang di tampilkan semakin tinggi
maka keadaan cahaya semakin gelap”. Pada
pengukuran bot ketika keadaan lampu menyala
menunjukan nilai berturut-turut 598, 606, 586,
dan 589 yang merupakan nilai pertengahan dari
jarak yang dimiliki oleh nilai pengukuran dan
sesuai dengan teori dimana nilai pertengahan
adalah keadaan dengan cahaya yang cukup.
Sedangkan pada keadaan sensor yang diberikan
cahaya senter menunjukan nilai berturut-turut
90, 55 dan 86 yang merupakan nilai rendah dari
jarak nilai yang dimiliki oleh nilai pengkuruan
dan sesuai dengan teori “jika nilai yang
ditampilkan semakin rendah maka keadaan
cahaya semakin terang”.
5.2 Pengujian Fungsionalitas
Pengujian fungsionalitas dilakukan untuk
menguji fungsi dari sisi perangkat keras sistem
yaitu raspberry pi beserta sensor dan perangkat
lunak yaitu bot yang berjalan pada discord.
Pengujian ini dilakukan dengan menjalankan
seluruh perintah yang dimiliki bot yaitu learn,
cmd dan forgot.
5.2.1 Pengujian Perangkat Keras dan
Perangkat Lunak
Pengujian perangkat keras dan perangkat
lunak dilakukan dengan pengujian seluruh
perintah pada bot dan melakukan pembacaan
sensor suhu LM35, sensor ultrasonik HY-
SRF05, dan sensor LDR. Penjelasan lebih lanjut
akan dijelaskan pada subbab selanjutnya.
5.2.2 Tujuan
Pada penelitian ini memiliki tujuan untuk
mengetahui dan menguji apakah sensor dapat
dibaca oleh bot yang menggunakan sistem
learning dan menampilkan nilai sensor pada chat
discord.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4208
Fakultas Ilmu Komputer, Universitas Brawijaya
5.2.3 Prosedur Pengujian
1. Menyambungkan Raspberry Pi dengan
sumber daya agar menyala.
2. Menjalankan program bot.py di
Raspberry Pi melalui PuTTY agar bot
dapat berjalan pada discord.
3. Menjalankan perintah learn.
4. Menjalankan perintah cmd.
5. Menjalankan perintah forgot.
6. Menjalankan perintah cmd untuk melihat
apakah perintah sudah terhapus.
7. Mengamati hasil dari penggunaan tiap
perintah dan melakukan analisis.
5.2.4 Hasil Pengujian
Pengujian dilakukan dengan menjalankan
bot pada discord dan menjalankan beberapa
perintah yang ada pada bot. Pada Gambar 9 di
bawah merupakan Gambar ketika bot sudah
online.
Gambar 9. Menjalankan Program bot.py
Selanjutnya adalah melakukan pengujian
dengan menjalankan perintah learn agar bot
dapat menggunakan perintah untuk pembacaan
nilai sensor, perintah yang akan dipelajari adalah
pembacaan sensor suhu LM35, pembacaan
sensor ultrasonik HY-SRF05, dan pembacaan
sensor LDR. Pada Gambar 10 merupakan
pengujian.
Gambar 10. Pengujian Perintah Learn
Pada Gambar 10 dalam penggunaan
perintah learn dibutuhkan beberapa prefix lain,
prefix tersebut antara lain tanda seru (!) yang
merupakan nama fungsi pada source code yang
di download dan memberikan kembalian nilai
suhu, tanda tanya (?) yang merupakan nama file
yang akan di download dan disimpan pada
raspberry pi, dan titik koma (;) yang merupakan
url dari file source code yang akan di download.
Jika salah satu prefix tidak terpenuhi maka bot
tidak akan mempelajari perintah apapun.
Selanjutnya, pada pengujian pembacaan
nilai sensor yang telah di pelajari bertujuan
untuk menampilkan nilai sensor yang telah
dipelajari dan mengetahui apakah bot sudah
benar atau belum mempelajarinya. Gambar 11 di
bawah merupakan hasil dari pengujian yang
dilakukan.
Gambar 11. Pengujian Perintah cmd
Selanjutnya adalah pengujian dengan
menggunakan perintah forgot yang memiliki
tujuan agar bot dapat menghapus perintah yang
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4209
Fakultas Ilmu Komputer, Universitas Brawijaya
telah dipelajari. Contoh dalam penggunaan
perintah ini adalah dengan menuliskan “,forgot
ldr” untuk menghapus perintah pembacaan nilai
sensor LDR. Pada Gambar 12 di bawah
merupakan hasil dari pengujian dengan
menggunakan perintah forgot.
Gambar 12. Pengujian Perintah forgot
Setelah melakukan penghapusan perintah,
pengujian selanjutnya adalah dengan menguji
apakah perintah yang sudah dihapus benar-benar
sudah tidak bisa digunakan atau belum. Jika
perintah sudah terhapus, maka nilai sensor yang
dibaca akan ditampilkan dengan “None”. Pada
Gambar 13 di bawah merupakan hasil dari
pengujian penggunaan perintah pembacaan
sensor setelah dilakukan perintah forgot.
Gambar 13. Pengujian Perintah cmd Setelah
Menggunakan Perintah Forgot
Pada Gambar 13 terbukti bahwa dengan
menggunakan perintah forgot maka perintah
yang sebelum nya telah dipelajari akan terhapus
karena pembacaan nilai sensor yang dilakukan
oleh bot dengan perintah cmd bernilai None.
Pada tabel 4 di bawah menunjukan hasil
dari pengujian fungsionalitas:
Tabel 4. Hasil Pengujian Fungsionalitas
Nomor
Penguji
an
Nama Pengujian Keterangan
1
2
3
4
5
Menjalankan program
bot.py
Menjalankan perintah learn
Menjalankan perintah cmd
Menjalankan perintah
forgot
Menjalankan perintah
forgot setelah perintah
dihapus
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
5.2.5 Analisis Pengujian
Berdasarkan hasil pengujian bot dengan
menggunakan perintah learn, cmd dan forgot
didapatkan hasil bahwa fungsi dari masing-
masing perintah berjalan dengan baik sesuai
dengan harapan peneliti berdasarkan dari tujuan
penelitian yang diharapkan.
5.3 Pengujian Waktu Eksekusi Perintah
Pengujian waktu eksekusi perintah atau
waktu komputasi dari pemprosesan sistem
adalah untuk mengetahui waktu yang
dibutuhkan oleh sistem untuk melakukan
perintah yang diberikan oleh user, perintah yang
akan diuiji waktu eksekusi perintahnya adalah
learn, cmd dan forgot.
5.3.1 Tujuan Pengujian
Tujuan dari dilakukan pengujian waktu
eksekusi adalah untuk mengetahui kecepatan
sistem untuk melakukan komputasi suatu
perintah. Selain itu mengetahui berapa waktu
yang dibutuhkan untuk melakukan perintah
learn, cmd dan forgot.
5.3.2 Prosedur Pengujian
Prosedur yang dilakukan untuk
pengujian waktu eksekusi perintah
dilakukan secara terpisah sesuai dengan
sensor yang digunakan. Prosedur yang akan
dijalankan dalam melakukan pengujian ini
yang pertama adalah mempelajari perintah
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4210
Fakultas Ilmu Komputer, Universitas Brawijaya
sensor suhu LM35 dengan menggunakan
perintah learn, melakukan pembacaan sensor
suhu LM35 dan melakukan perintah forgot
untuk menghapus perintah pembacaan sensor
suhu LM35. Kedua adalah mempelajari
perintah sensor ultrasonik HY-SRF05 dengan
menggunakan perintah learn, melakukan
pembacaan sensor ultrasonik HY-SRF05 dan
melakukan perintah forgot untuk menghapus
perintah pembacaan sensor ultrasonik HY-
SRF05. Ketiga adalah mempelajari perintah
sensor LDR dengan menggunakan perintah
learn, melakukan pembacaan sensor suhu LDR
dan melakukan perintah forgot untuk menghapus
perintah pembacaan sensor suhu LDR.
5.3.3 Hasil dan Analisis Pengujian
Pengujian pertama dilakukan pada sensor
LM35 dengan menggunakan perintah learn, cmd
dan forgot. Pengujian ini berguna untuk
menghitung waktu eksekusi dari setiap perintah
yang digunakan. Sampel data yang digunakan
ada 10 kali menjalankan setiap perintah. Pada
tabel 5 di bawah merupakan pengujian dari
waktu eksekusi menggunakan sensor LM35.
Tabel 5. Hasil Pengujian Waktu Pemrosesan Sistem
Dengan Sensor Suhu LM35
No
Penguji
an
Waktu
Eksekusi
learn(ms)
Waktu
Eksekusi
cmd(ms)
Waktu
Eksekusi
forgot(ms)
1
2
3
4
5
6
7
8
9
10
451,17
737,11
485,81
632,65
465,06
459,98
492,65
463,83
726,85
540,32
4,82
4,78
8,14
8,45
8,25
8,58
9,31
9,03
10,33
8,38
1,11
1,13
1,18
1,16
1,17
0,71
1,18
1,18
0,70
1,22
Rata-Rata 545,54 8,007 1,07
Berdasarkan hasil pengujian dengan 10 kali
pengujian diatas, rata-rata waktu yang
dibutuhkan untuk eksekusi perintah learn adalah
545,54ms, sedangkan rata-rata waktu yang
dibutuhkan untuk eksekusi perintah cmd sebagai
pembacaan sensor adalah 8,007ms dan rata-rata
waktu yang dibutuhkan untuk eksekusi perintah
forgot adalah 1,07ms. Pada perintah learn
memiliki rata-rata yang lebih tinggi dari pada
perintah cmd ataupun forgot karena perintah
learn dipengaruhi oleh kecepatan internet
peneliti sebab pada perintah learn dibutuhkan
waktu untuk mengunggah file untuk pembacaan
sensor.
Pengujian kedua dilakukan pada sensor
ultrasonik HY-SRF05 dengan menggunakan
perintah learn, cmd dan forgot. Pengujian ini
berguna untuk menghitung waktu eksekusi dari
setiap perintah yang digunakan. Sampel data
yang digunakan ada 10 kali menjalankan setiap
perintah. Pada tabel 6 di bawah merupakan
pengujian dari waktu eksekusi menggunakan
sensor HY-SRF05.
Tabel 6. Hasil Pengujian Waktu Pemrosesan Sistem
Dengan Sensor Suhu HY-SRF05
No
Penguji
an
Waktu
Eksekusi
learn(ms)
Waktu
Eksekusi
cmd(ms)
Waktu
Eksekusi
forgot(ms)
1
2
3
4
5
6
7
8
9
10
479,58
443,56
1929,35
448,79
472,73
569,98
539,40
504,36
505,24
723,57
5,73
6,04
6,37
3,49
3,51
5,95
5,89
6,19
5,81
5,77
1,21
1,28
1,41
1,26
1,26
1,29
1,30
1,30
0,76
1,33
Rata-Rata 661,65 5,47 1,24
Berdasarkan hasil pengujian dengan 10 kali
pengujian diatas, rata-rata waktu yang
dibutuhkan untuk eksekusi perintah learn adalah
661,65ms, sedangkan rata-rata waktu yang
dibutuhkan untuk eksekusi perintah cmd sebagai
pembacaan sensor adalah 5,47ms dan rata-rata
waktu yang dibutuhkan untuk eksekusi perintah
forgot adalah 1,24ms. Pada perintah learn
memiliki rata-rata yang lebih tinggi dari pada
perintah cmd ataupun forgot karena perintah
learn dipengaruhi oleh kecepatan internet
peneliti sebab pada perintah learn dibutuhkan
waktu untuk mengunggah file untuk pembacaan
sensor.
Pengujian ketiga dilakukan pada sensor
LDR dengan menggunakan perintah learn, cmd
dan forgot. Pengujian ini berguna untuk
menghitung waktu eksekusi dari setiap perintah
yang digunakan. Sampel data yang digunakan
ada 10 kali menjalankan setiap perintah. Pada
tabel 7 di bawah merupakan pengujian dari
waktu eksekusi menggunakan sensor LDR.
Tabel 7. Hasil Pengujian Waktu Pemrosesan Sistem
Dengan Sensor LDR
No
Penguji
an
Waktu
Eksekusi
learn(ms)
Waktu
Eksekusi
cmd(ms)
Waktu
Eksekusi
forgot(ms)
1 479,15 6,59 1,59
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4211
Fakultas Ilmu Komputer, Universitas Brawijaya
2
3
4
5
6
7
8
9
10
1766,33
855,50
439,47
432,53
446,86
604,91
564,01
433,51
439,78
6,78
6,47
6,78
6,53
3,92
0,25
3,76
6,66
6,61
1,35
1,37
0,78
0,79
1,38
1,42
1,42
1,44
1,62
Rata-Rata 646,20 5,43 1,31
Berdasarkan hasil pengujian dengan 10 kali
pengujian diatas, rata-rata waktu yang
dibutuhkan untuk eksekusi perintah learn adalah
646,20ms, sedangkan rata-rata waktu yang
dibutuhkan untuk eksekusi perintah cmd sebagai
pembacaan sensor adalah 5,43ms dan rata-rata
waktu yang dibutuhkan untuk eksekusi perintah
forgot adalah 1,31ms. Pada perintah learn
memiliki rata-rata yang lebih tinggi dari pada
perintah cmd ataupun forgot karena perintah
learn dipengaruhi oleh kecepatan internet
peneliti sebab pada perintah learn dibutuhkan
waktu untuk mengunggah file untuk pembacaan
sensor.
6. PENUTUP
6.1 Kesimpulan
Berdasarkan hasil yang telah diteliti dalam
sistem “Perancangan Bot Pada Discord Untuk
Pembacaan Sensor Di Raspberry Pi Dengan
Sistem Learning Yang Dinamis” sehingga
mendapatkan kesimpulan sebagai berikut:
Pada perancangannya, bot diperlukan
beberapa perangkat keras diantaranya adalah
Raspberry Pi, ADC Converter MCP3008, Sensor
Suhu LM35, sensor ultrasonik HY-SRF05, dan
sensor LDR. Pada perancangan perangkat lunak
diperlukan beberapa source code diantaranya
bot.py, belajar.py, tulis.py, hapus.py,
perintah.py, LM35.py, LDR.py dan
ultrasonik.py
Pada implementasinya bot yang dirancang
mampu untuk melakukan beberapa perintah,
diantaranya adalah perintah learn digunakan
agar bot dapat mempelajari suatu pembacaan
sensor berdasarkan perintah yang diberikan oleh
user pada discord. Perintah cmd digunakan agar
bot dapat menampilkan nilai pembacaan sensor
pada Raspberry Pi, nilai di tampilkan dalam teks
chat pada discord Perintah forgot digunakan agar
bot dapat menghapus sebuah perintah
pembacaan sensor yang telah dipelajari sehingga
tidak dapat digunakan kembali sampai dipelajari
kembali.
Pada analisis akurasi perhitungan sensor,
terdapat rata-rata persentase error pada
pengukuran sensor suhu LM35 adalah 0,541%.
Pada akurasi perhitungan sensor ultrasonik HY-
SRF05 terdapat rata-rata persentase error
3,387%. Pada pengujian waktu pemrosesan
dengan menggunakan sensor LM35 memiliki
rata-rata waktu eksekusi perintah learn
545,54ms, perintah cmd 8,007ms dan perintah
forgot 1,07ms. Pada pengujian waktu
pemrosesan dengan menggunakan sensor
ultrasonik HY-SRF05 memiliki rata-rata waktu
eksekusi perintah learn 661.65ms, perintah cmd
5,42ms dan perintah forgot 1,24ms. Pada
pengujian waktu pemrosesan dengan
menggunakan sensor LDR memiliki rata-rata
waktu eksekusi perintah learn 646,20ms,
perintah cmd 5,43ms, dan perintah forgot
1,31ms.
6.2 Saran
Berdasarkan hasil yang telah diteliti dalam
sistem “Perancangan Bot Pada Discord Untuk
Pembacaan Sensor Di Raspberry Pi Dengan
Sistem Learning Yang Dinamis” sehingga
peneliti memberikan beberapa saran:
Dalam penelitian ini, bot hanya bisa
mempelajari pembacaan nilai sensor dan belum
dapat mempelajari aktuator, untuk penelitian
selanjutnya diharapkan bot dapat mempelajari
aktuator untuk memberikan sebuah keluaran
pergerakan pada Raspberry Pi.
Penambahan fitur pada bot masih
memungkinkan, seperti penambahan fitur voice
command yang dapat dilakukan pada voice call.
Sampel suara dibutuhkan agar bot dapat
mengenali perintah yang akan digunakan.
Fitur otomatisasi untuk penampilan nilai
tiap jam memungkinkan untuk monitorin secara
rutin.
Dalam penggunaan metode learn, untuk
penelitian selanjutnya penulis menyarankan
untuk dapat melakukan pencarian source code
sensor secara otomatis dalam web.
7. DAFTAR PUSTAKA
Discord Developers Introduction. [online]
Tersedia di:
<https://discordapp.com/developers/doc
s/intro> [Diakses 9 September 2017]
Gay, Warren. 2014. Mastering the Raspberry Pi.
New York: Apress.
LM35 Precision Centigrade Temperature
Sensors. [online] tersedia di:
<http://www.ti.com/lit/ds/symlink/lm35
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 4212
Fakultas Ilmu Komputer, Universitas Brawijaya
.pdf> [Diakses 13 November 2017]
SRF05 – Ultra-Sonic Ranger Technical
Specification [online] tersedia di: <
https://www.robot-
electronics.co.uk/htm/srf05tech.htm>
[Diakses 1 Januari 2017]
HC-SR05 / HY-SRF05 Precision Ultrasonic
Sensor [online] tersedia di: <
https://www.tindie.com/products/upgra
deindustries/hc-sr05--hy-srf05-
precision-ultrasonic-sensor/> [Diakses 1
Januari 2017]
Light Dependant Resistor – LDR [online]
tersedia di: <
http://kennarar.vma.is/thor/v2011/vgr40
2/ldr.pdf> [Diakses 1 Januari 2017]
Abe, Akinori. Hayashi, Moeko. 2016. On
Communication Assistance Via Bots
Towards IDMJ. Amsterdam: Elsevier
B.V.
Clement, Maxime. Guitton, J., Matthieu. 2015.
Interacting wtih bots online: Users
reactions to actions of automated
programs in Wikipedia. Amsterdam:
Elsevier B.V.
Andreas, J., Ryan, L. 2017. Chapter 2 –
Introduction to Python. Amsterdam:
Elsevier B.V.
Norvig, Peter. 2012. Artificial Intelligence: The
coming superintelligence. Amsterdam:
Elsevier B.V.
Shah, Dhvani, dan Vinayak Bharadi. 2016. IoT
based Biometrics Implementation on
Raspberry Pi. Amsterdam: Elsevier
B.V.
Vujovic, Vladimir, dan Mirjana Maksimovic.
2015. Raspberry Pi as a Sensor Web
node for home automation. Amsterdam:
Elsevier B.V.
Wargula, L., Krawiec, P., Adamiec, J. & Walus,
K. 2017. The investigations of dynamic
characteristics of a stepper motor.
Poland : Elsevier B.V.
Geeetech Wiki. 2016. Stepper Motor 5V 4-Phase
5-Wire & ULN2003 Driver Board.
Tersedia di:
<http://eeshop.unl.edu/pdf/Stepper+Dri
ver.pdf> [Diakses 9 September 2017]
Raman, Anupama C., Raj, Pethuru. 2017. The
Internet of Things: Enabling
Technologies, Platforms, and Use
Cases. Florida: CRC Press.
Richardson, M., Wallace, S. 2016. Getting
Started with Raspberry Pi Third Edition.
San Francisco: Media Maker.
Asosiasi Penyelenggara Jasa Internet Indonesia.
2016. Survei Internet APJII 2016.
Tersedia di:
<https://apjii.or.id/content/read/39/264/
Survei-Internet-APJII-2016> [Diakses
10 September 2017]
Sidharta, L. 1996. Internet: informasi bebas
hambatan, volume 1. Jakarta: Elex
Media Komputindo.
Lee, I. 2017. The Internet of Things in the
Modern Business Environment.
Hershey: IGI Global.
MCP3004/3008 2.7V 4-Channel/8-Channel 10-
Bit A/D Converters with SPI Serial
Interface [online] tersedia di: <https://cdn-
shop.adafruit.com/datasheets/MCP3008.p
df> [Diakses 4 Januari 2018]