Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

11
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 Septiansyah 1 , Sabriansyah Rizqika Akbar 2 , Rizal Maulana 3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1 [email protected], 2 [email protected], 3 [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

Transcript of Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

Page 1: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 2: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 3: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 4: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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.

Page 5: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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%

Page 6: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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.

Page 7: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 8: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 9: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 10: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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

Page 11: Perancangan Bot Pada Discord Untuk Pembacaan Sensor Di ...

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]