Implementasi Pengiriman Data Sensor LM35 untuk - J

advertisement
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Vol. 1, No. 6, Juni 2017, hlm. 466-475
e-ISSN: 2548-964X
http://j-ptiik.ub.ac.id
Implementasi Pengiriman Data Sensor LM35 untuk Perbandingan Waktu
Insert pada Basis Data MySQL dan MongoDB
Rangga Noviansyah Nuur Aziiz1, Mochammad Hannats Hanafi Ichsan2, Issa Arwani3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: [email protected], [email protected], [email protected]
Abstrak
Pada saat ini, tentu saja jumlah data yang berpindah dari suatu sistem ke sistem yang lain sangat banyak.
Ditambahkan dengan adanya istilah internet of things yang di mana sebuah hubungan yang membentuk
jaringan yang dapat terdiri dari manusia dan mesin maupun mesin dan mesin. Data yang bergerak pun
beraneka ragam. Mulai data yang berbentuk angka hingga data yang berbentuk karakter. Adapula data
sensor yang sudah banyak dikembangkan dalam penggunaan internet of things seperti contohnya
smarthome. Dengan banyaknya jumlah data dari variasi data yang ada, hal ini menimbulkan beberapa
kebutuhan yang salah satunya adalah tempat penyimpanan data atau database. Pada penelitian ini, basis
data yang akan diperbandingkan adalah basis data MySQL dan MongoDB untuk kebutuhan
pemperbandingkan jenis basis data mana yang lebih baik untuk pengiriman data sensor. Adapun
perangkat keras sebagai wadah implementasi adalah Mikrokontroler Arduino Uno dan IC sensor LM35
serta perangkat lunak pendukung seperti halaman web berbasis bahasa pemrograman PHP. Pengujian
terhadap sistem akan dilakukan dengan menguji pengiriman ke 1 tabel, 2 tabel, dan 3 tabel ke masingmasing basis data selama 10 kali pengiriman sehingga didapatkan waktu eksekusi query insert sebagai
parameter pembanding basis data.
Kata Kunci: Pengiriman Data Sensor, LM35, Perbandingan Basis Data, MySQL, MongoDB, Mikrokontroler
Arduino Uno, query insert, PHP
Abstract
At this moment, there are so many data transfer among the system of computation. And with the term of
internet of things where many relations which create a network consist of man to machine relation as
well as machine to machine. Also the transferred data are various. Started with numeric data up to
character data. And there is sensoric data which began to develop on usage of internet of things such
as smarthome. With this many variety of data, create some issues of needs which one of them is a
container of data or could be called database. In this research, the compared database are MySQL
database and MongoDB database to compares which type of database is better to send sensoric data
into the database. There are hardwares which are used for implementing the scenario are Arduino Uno
Microcontrollerboard and LM35 IC. And there are softwares to support this research such as PHP
programming language. The test of the system will be started with sending sensor data into 1 table, 2
table, and 3 table to each of database with 10 times data transfer so that we obtain the execution time
of insert query as a compared parameter of database.
Keywords: Sensor Data Transfer, LM35, Database Comparison, MySQL, MongoDB, Arduino Uno
Microcontroller, insert query, PHP
memiliki “otak” yang dapat menerima,
mengolah dan bertukar data dengan alat
elektronik lainnya melalui internet. Sehingga hal
ini memunculkan istilah yang diperkarai oleh
Kevin Ashton pada tahun 1999 yaitu “Internet of
Things” (Buuya & Dastjerdi, 2016). Dengan
munculnya istilah Internet of Things (IoT) dapat
diartikan bahwa setiap alat elektronik “smart”
1. PENDAHULUAN
Internet merupakan kumpulan dari
komputer yang saling terhubung dan saling
bertukar informasi. Dengan berkembang
pesatnya teknologi saat ini, hampir semua
peralatan elektronik di sekitar kita telah
Fakultas Ilmu Komputer
Universitas Brawijaya
466
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
yang ada di sekitar kita dapat terhubung satu
sama lain sehingga membentuk sebuah jaringan
baru yang lebih kompleks dan bervariasi.
Internet of Things itu sendiri memiliki tujuan
untuk membuat berbagai macam pekerjaan
menjadi lebih mudah bagi para pengguna dan
juga memberikan fasilitas yang memudahkan
pengguna untuk mengamati segala fenomena
yang terjadi disekelilingnya (Chaouchi, ed.,
2013) sehingga idealnya manusia akan lebih
mudah untuk memantau segala aktivitas dari
jarak jauh. Hal ini dapat di contohkan dengan
adanya smart house, di mana setiap alat
elektronik seperti tv, kulkas dan kamera dapat
terhubung
melalui
internet
sehingga
penggunanya dapat memantau dan mengatur
ketika sang pengguna berada di tempat lain.
Tetapi logikanya, jika Internet of Things
merupakan kumpulan dari perangkat elektronik
cerdas di sekitar kita, berarti jumlah data yang
diterima dan dikirimkan akan semakin banyak
sehubungan dengan banyaknya perangkat
elektronik tersebut, sehingga memunculkan
sebuah masalah pada jaringan dan dalam
penyimpanan data. Masalah pada jaringan
muncul karena disebabkan arus lalu lintas dari
data
yang
dikirimkan.
Tidak
hanya
permasalahan pada jaringan, data yang dikirim
melalui jaringan dapat berupa informasi yang
penting
sehingga
diperlukan
tempat
penyimpanan data untuk menampung informasi
tersebut. Dengan banyaknya data yang
dikirimkan maka hal ini menyebabkan
permasalahan pada penyimpanan data.
Penyimpanan data pada sebuah jaringan
tidak terlepas dari database. Database dari
pengertiannya merupakan tempat di mana
banyak data terkumpul pada sebuah wadah atau
tempat sehingga pengguna dapat mengatur data
dan memantau data dengan mudah. Dengan
adanya
Internet
of
Things,
muncul
permasalahan-permasalahan seperti banyaknya
data, antrian data dan lain sebagainya sehingga
menyebabkan tantangan baru untuk realibilitas
data pada database tersebut.
Database sendiri memiliki jenis yang
berbagai macam, tetapi sebagian besar terbagi
menjadi dua tipe yaitu, database relasional dan
non-relasional. Database relasional umumnya
merupakan database yang bersifat objectoriented dan menggunakan bahasa pemrogram
SQL di mana SQL (Structured Query Language)
adalah sebuah bahasa yang memanfaatkan
sistem terstruktur sehingga pengguna dapat
memberikan perintah secara langsung untuk
Fakultas Ilmu Komputer, Universitas Brawijaya
467
memilih, memasukkan, memperbarui, dan
menhapus data yang diinginkan (Mun, 2010) .
Sedangkan database non-relasional merupakan
sistem database yang memberikan mekanisme
penyimpanan data yang memiliki model selain
dari model tabel yang digunakan pada sistem
database relasional. Sistem ini muncul karena
keinginan akan desain yang lebih sederhana dan
ukuran data yang besar. Struktur Non-Relational
DBMS tidak jauh berbeda dengan Relational
DBMS hanya saja strukturnya lebih fleksibel.
Pada penelitian, untuk database relasional,
penulis memilih MySQL karena selain open
source database MySQL juga merupakan salah
satu database relasional yang paling sering
digunakan (DB-Engines, 2017), sedangkan
untuk database non-relasional penulis memilih
database MongoDB yang sifatnya open source
dan cross platform (MongoDB, 2016).
Dengan adanya bermacam jenis database,
penulis mencoba untuk membandingkan
performansi dari dua jenis database. Performansi
database paling utama ditentukan oleh seberapa
cepat database tersebut mengerjakan query-nya.
Waktu query yang mempengaruhi antara lain
seperti query insert, query delete, query select,
query update dan banyak query lainnya. Tetapi
pada penelitian ini, query yang akan diuji adalah
waktu query insert dari database. Pengujian
terhadap query insert dikarenakan, pada
penelitian ini akan digunakan sistem yang
terotomatisasi untuk mengirimkan kumpulan
data pada rentang waktu tertentu, sehingga untuk
waktu pengujian seperti query update dan select
tidak dilkaukan karena dibutuhkan input dari
user(pengguna). Selain itu, query insert
merupakan dasar dari penyimpanan data. Jika
tidak ada data yang disimpan, maka query select,
update, dan delete tidak dapat menjadi indikasi
apakah sebuah basis data lebih baik atau tidak.
Adapun data sensor yang akan diakusisi
oleh sistem. Penulis akan mengambil sampel
data sensor dari sensor suhu LM35. Pemilihan
terhadap LM35 didasarkan dari pernyataan
Piyare & Lee (2013) di mana LM35 adalah
integrated-circuit (IC) yang presisi sebagai
sensor suhu, yang output tegangannya secara
linear proporsional untuk suhu Celcius.
Sehingga data sensor ini laik pakai sebagai data
sensor yang akan diakusisi oleh sistem.
Pada penelitian ini, pengiriman akan
dilakukan dalam ruang lingkup lokal,
dikarenakan untuk pengujian dalam ruang
lingkup yang lebih besar, seperti online,
dibutuhkan infrastruktur yang memadahi,
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
penelitian yang lebih jauh dan parameter
pengujian yang lebih kompleks dari penilitian
ini. Pada penelitian ini akan dilakukan pengujian
dengan skema pengujian yang memiliki satu,
dua, dan tiga tabel serta dilakukan 10 kali
pengiriman data pada masing-masing basis data.
Penelitian ini diharapkan dapat membantu untuk
implementasi pengiriman data sensor LM35
sebagai perbandingan penggunaan basis data
serta memberikan referensi untuk pemilihinan
basis data kedepannya sehingga dapat diketahui
basis data mana yang paling baik pada
performansi waktu eksekusi query insert
terhadap data sensor LM35.
2. DASAR TEORI
2.1 Sensor LM35
Sensor suhu LM35 merupakan komponen
elektronik dalam bentuk chip IC dengan 3 kaki
(3 pin) yang berfungsi untuk mengubah besaran
fisis, yaitu berupa suhu atau temperature sekitar
sensor menjadi besaran elektris dalam bentuk
perubahan tegangan. Sensor suhu LM35
memiliki parameter bahwa setiap kenaikan suhu
1 oC tegangan keluarannya naik sebesar 10 mV
dengan batas maksimal keluaran sensor adalah
1,5 V pada suhu 150 oC (10mV/ oC x 150 oC =
1,5 V).
Meskipun tegangan sensor suhu LM35 ini
dapat mencapai 30 V akan tetapi yang diberikan
ke sensor adalah sebesar 5 V, sehingga dapat
digunakan dengan catu daya tunggal dengan
ketentuan bahwa LM35 hanya membutuhkan
arus sebesar 60 µA hal ini berarti LM35
mempunyai kemampuan menghasilkan panas
(self-heating) dari sensor yang dapat
menyebabkan kesalahan pembacaan yang
rendah, yaitu kurang dari 0,5 oC pada suhu 25 oC.
Pada Gambar 1 merupakan tampilan dari
bawah sensor suhu LM35 beserta konfigurasi
pinnya.
468
2.2 Basis Data MySQL
MySQL adalah sebuah implementasi dari
sistem
manajemen
basisdata
relasional
(RDBMS). MySQL sebenarnya merupakan
turunan salah satu konsep utama dalam basisdata
yang telah ada sebelumnya; SQL (Structured
Query Language). SQL adalah sebuah konsep
pengoperasian basisdata, terutama untuk
pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan
dengan mudah secara otomatis (MySQL, 2016).
2.3 Basis Data MongoDB
MongoDB adalah sistem basis data
berorentasi
dokumen
lintas
platform.
Diklasifikasikan sebagai basis data "NoSQL",
MongoDB menghindari struktur basis data
relasional tabel berbasis tradisional yang
mendukung JSON seperti dokumen dengan
skema dinamis, membuat integrasi data dalam
beberapa jenis aplikasi lebih mudah dan lebih
cepat (MongoDB, 2016).
2.4 Query
Query merupakan sebuah permintaan akan
informasi pada database. Query sendiri memiliki
banyak jenisnya seperti query insert untuk
memasukkan data, query delete untuk
menghapus data, query read atau find untuk
menemukan dan menampilkan informasi data
yang diinginkan, query update untuk
memperbarui data dan banyak query lainnya.
Tentu saja pada query-query tersebut
memiliki atribut yang akan tercatat pada log atau
catatan database ketika dieksekusi. Salah
satunya adalah query execution time.
Performansi query dan responisivitas merupakan
hal yang paling diutamakan oleh organisasi
besar tak peduli teknologi penyimpanan data apa
yang mereka gunakan.
Sistem transaksi online, aplikasi berbasis
web khususnya, harus merespon kepada para
pengguna fasilitasnya dalam waktu millisecond
(mili detik) jika ingin berhasil dalam bidangnya
(Robinson, et al., 2015). Dari pernyataan
tersebut sudah jelas bahwa waktu eksekusi
dalam bentuk millisecond (mili detik)
merupakan standar dalam hal performansi dan
responsivitas sebuah sistem.
2.5 PHP Microtime
Gambar 1. Pin IC Sensor Suhu LM35
pada
Fakultas Ilmu Komputer, Universitas Brawijaya
Microtime merupakan perintah atau syntax
bahasa pemrograman PHP untuk
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
menampilkan waktu UNIX timestamp dengan
mikrosekonnya pada saat perintah tersebut
dijalankan. Penggunaan mircotime pada
penelitian ini yaitu dengan cara mengukur waktu
microtime sebelum pengiriman dan mengukur
waktu microtime setelah pengiriman. Waktu
kedua akan dikurangkan dengan waktu pertama
sehingga didapatkan waktu eksekusi query
insert.
469
3.2. Diagram Blok Sistem
2.6 Mikrokontroler
Mikrokontroler adalah sebuah sistem
komputer yang seluruhnya atau sebagian besar
elemennya dikemas dalam sebuah satu chip IC,
sehingga sering disebut dengan single chip
mikrokomputer. Mikrokontroler merupakan
sistem komputer yang mempunyai satu atau
beberapa tugas yang sangat spesifik. Elemen
mikrokontroler tersebut yaitu pemroses
(processor), memori, input output.
Gambar 3. Diagram Blok Sistem
Berikut merupakan penjelasan proses (P) dari
Gambar 3.
P1. IC LM35 akan mengubah besaran fisis, yaitu
berupa suhu ruangan menjadi besaran elektris
dalam bentuk perubahan tegangan.
P2. Data dalam bentuk besaran elektris berupa
data analog ini akan dikirimkan ke
Mikrokontroler.
3. PERANCANGAN DAN
IMPLEMENTASI
P3. Mikrokontroler akan mengubah data analog
sensor LM35 menjadi data digital.
3.1. Gambaran Umum Sistem
P4. Data sensor LM35 dalam bentuk digital akan
dikirimkan ke halaman PHP.
P5. Data dari Mikrokontroler akan diakusisi oleh
halaman PHP melalui metode GET dan
dilakukan pembuatan record basis data.
P6. Setelah data diakuisisi dan pembuatan record
telah dilakukan, data tersebut akan dikirimkan ke
masing-masing basis data.
Gambar 2. Gambaran Umum Sistem
Dari rancangan sistem lokal pada Gambar 2
dapat dijelaskan:
1. IC LM35 akan tersambung ke Mikrokontroler
Arduino Uno melalui Breadboard atau Project
Board.
2. Mikrokontroler Arduino Uno akan disambung
-kan dengan modul Ethernet Shield agar dapat
terkoneksi secara lokal ke Router tujuan.
3. Laptop sebagai Personal Computer (PC) akan
bekerja sebagai web server dan sistem
penyimpanan database yang akan dihubungkan
ke Router agar memiliki jaringan yang sama
dengan Mikrokontroler Arduino Uno.
4. PC akan mengupload perintah ke Mikrokontroler Arduino Uno untuk membuat dan
mengirimkan data sensor melalui jaringan lokal
ke sistem basis data yang ada pada PC.
Fakultas Ilmu Komputer, Universitas Brawijaya
3.3 Perancangan Sistem Basis Data
Pada pembuatan relasi, Id_Sensor pada tabel
Sensor Type dan Sensor Time merupakan
reference atau foreign key dari primary key yang
ada pada tabel Sensor. Setelah semua tabel
dibuat, maka struktur database akan tercipta
dengan relasi yang dapat dilihat pada Gambar 4.
Gambar 4. Struktur Basis Data
3.4 Perancangan Perangkat Keras
Perancangan perangkat keras pada sistem ini
terdiri dari Mikrokontroler Arduino Uno, IC
LM35 dan modul Ethernet Shield. Berikut
merupakan penjelasan untuk perangkat keras
yang digunakan pada sistem ini.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
470
Setelah pemasangan modul Ethernet Shield ke
papan Arduino, selanjutnya perancangan IC
LM35 dengan Arduino Uno seperti yang telah
ditunjukkan pada skematik Gambar 6.
Rancangan tersebut dapat dilihat pada Gambar 8.
Gambar 5. Rancangan Perangkat Keras
Dari Gambar 5 dapat dijelaskan, IC LM35 akan
terpasang ke Breadboard yang terhubung ke
Arduino Uno. Skematik tersebut dapat dilihat
pada Gambar 6.
Gambar 8. Rancangan Arduino dengan IC sensor
LM35
Setelah perancangan IC LM35 dengan Arduino
Uno, maka selanjutnya untuk menggunakan
modul Ethernetshield diperlukan kabel RJ45
atau Ethernet yang disambungkan ke port kabel
Ethernet pada modul Ethernet Shield. Setelah
ditancapkan, kabel akan disambungkan secara
langsung ke port Ethernet pada Router.
Implementasi perangkat keras tahap akhir dapat
dilihat pada Gambar 9.
Gambar 6. Skematik IC LM35 dengan Arduino Uno
Dari Gambar 6 dapat dijelaskan pin-pin yang
digunakan. Detail pin tersebut dapat dilihat pada
Tabel 1.
Tabel 1. Keterangan Pin Skematik
Pin Arduino
Pin LM35
Warna Kabel
5V
Vs+ (1)
Hijau
GND
Gnd (3)
Merah
A0 (Analog 0)
Vout (2)
Kuning
Untuk penggunaan Ethernet Shield dengan
papan Mikrokontroler Arduino, setiap Long
Wire-Wrap Header pin male dari Ethernet Shield
akan dipasangkan dengan setiap pin female dari
papan Mikrokontroler Arduino seperti yang
terlihat pada Gambar 7.
Gambar 9. Rancangan Akhir Sistem
3.5 Perancangan Perangkat Lunak
1. Arduino Uno
START
Arduino set IP
Address
Arduino set
Destination IP
Address
Int LM35 = A0
Int Start
Int Looping = 10
Start <
Looping
Y
Arduino connect
Destination
N
While Do
Nothing
Connect?
N
LOG
“ERROR”
Y
Int ValueLM35=
analogRead(LM35)
Gambar 7. Arduino Uno dengan Ethernet Shield
A
Fakultas Ilmu Komputer, Universitas Brawijaya
B
END
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
A
B
471
telah terjadi dan keluar dari program tersebut.
ValueLM35 * 0.488
2. Halaman Pengirim ke Basis Data MySQL
START
Get /Write_db_local.php?
Set Database Host
URL
Print “ Value
=“
Set Database
Profile
Print
ValueLM35
Connect Database
Host: Destination IP
Connection: Close
Give Delay
$Nilai = $_GET[“value”]
Y
Connect?
N
LOG
“ERROR”
AT = [Suhu, Getaran,
Suara, LDR]
Start++
Gambar 10. Diagram Alir Perangkat Lunak pada
Arduino Uno
Diagram alir pada Gambar 10 diawali
dengan Mikrokontroler Arduino menentukan
alamat IP. Alamat IP ditentukan berdasarkan
range IP pada Router. Setelah menentukan
alamat IP nya, Mikrokontroler menentukan
alamat IP dari web server tujuan. Setelah
menentukan masing-masing alamat IP, maka
dilakukan inisialisasi variable LM35 sebagai
penerima data dari pin Analog 0 (A0). Pin
tersebut akan memperoleh data sensor dari IC
LM35.
Selanjutnya
Mikrokontroler
akan
melakukan cek apakah variabel Start kurang dari
Looping. Jika benar maka akan dilanjutkan ke
proses pengiriman data. Jika tidak maka proses
akan masuk ke perintah while do nothing, di
mana hal ini dibuat untuk menyiasati program
looping yang merupakan program inti pada
Arduino. Jika berhasil program akan melakukan
koneksi ke web server yang dituju. Setelah
terkoneksi, program akan menentukan koneksi
ke halaman PHP pada web server dengan metode
get. Selanjutnya, program akan akuisisi data
sensor LM35 dengan variabel valueLM35 yang
bernilai variable LM35. Setelah mendapatkan
data sensor LM35, Mikrokontroler akan
mengakses halaman pada web server dan
menggunakan metode get untuk mengirimkan
data sensor LM35 pada halaman tersebut. Dalam
metode get, setelah mengirimkan data, maka
program akan menutup koneksi ke web server
dan memberikan delay sebelum melakukan
proses perulangan. Perintah tersebut akan
dieksekusi selama Mikrokontroler terhubung
dengan PC.
Jika koneksi gagal, maka Mikrokontroler
akan membuat log berupa kesalahan apa yang
Fakultas Ilmu Komputer, Universitas Brawijaya
Time = random(3600)
Type = $AT[radnom(0,3)]
Insert into table sensor
values $nilai
$Last_ID = mysqli insert
id
Insert into table
sensor_type values
$Last_ID, Type
Insert into table
sensor_time values
$Last_ID, Time
Mysqi Close
END
Gambar 11. Diagram Alir Perangkat Lunak pada
Halaman PHP Pengirim Data ke MySQL
Diagram alir pada Gambar 11 diawali
dengan menetukan URL dan profil dari database
yang akan dipilih untuk pengiriman data. Setelah
menentukan URL dari database, maka halaman
akan melakukan koneksi ke Database. Jika
berhasil, pada halaman PHP akan melakukan
perintah insialisasi variable $nilai bernilai data
yang didapat dari metode get. Jika koneksi gagal,
maka web server akan membuat log file berupa
kesalahan apa saja yang terjadi ketika
melakukan koneksi ke database. Selanjutnya
halaman akan menerima nilai data sensor LM35
yang dikirim dari Mikrokontroler melalui
metode get. Setelah nilai didapatkan, maka
selanjutnya melakukan pembuatan record untuk
tabel Sensor. Nilai type dan nilai time akan
dibuat dengan cara acak lalu akan dimasukkan
ke tabel yang berbeda. Setelah record pada
masing-masing tabel telah dibuat, maka data
akan dikirimkan.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
3. Halaman Pengirim ke Basis Data MongoDB
START
Connect to
database host
472
pembuatan dokumen untuk masing-masing
koleksi, maka halaman akan melakukan perintah
Execute Bulk untuk mengirim data yang telah
dibuat secara bersamaan ke dalam database dan
masing-masing koleksi tujuannya.
4. HASIL DAN ANALISIS
Bulk = driver\
Bulkwrite
4.1 Alur Pengujian
$Nilai = $_GET[“value”]
Insert n Data
into x tabel
START
AT = [Suhu, Getaran,
Suara, LDR]
Read tabel
execution_time
Hapus semua
data pada
database
END
Gambar 13. Alur Pengujian
Dari Gambar 13 dapat dijelaskan bahwa
pengujian akan dilakukan secara berulang-ulang
hingga seseuai dengan skema pengujian yang
telah ditentukan pada bab sebelumnya. Skenario
pengujian tersebut dapat dijabarkan dari umum
ke khusus seperti:
1. Pengujian akan dilakukan pada ruang lingkup
lokal
2. Di setiap ruang lingkup pengujian akan dilakukan pengujian ke dua basis data MySQL dan
MongoDB secara bergantian.
3. Di setiap basis data akan dilakukan pengujian
ke 1 tabel atau koleksi, ke 2 tabel atau koleksi
yang memiliki relasi terhadap Id, dan ke 3 tabel
atau koleksi yang memiliki relasi terhadap Id
4. Di setiap tabel atau koleksi akan dikirimkan
data sensor LM35 selama 10 kali pengiriman.
Time = random(3600)
Type = $AT[radnom(0,3)]
Date = date(Y-m-d H-i-s)
$id = ObjectID
$doc = {_id = $id,
timestamp = Date, value
= $nilai}
Bulk insert
$doc
$doc2 = {id_sensor = $id,
type= Type}
Bulk insert
$doc2
$doc3 = {id_sensor = $id,
time = Time
Bulk insert
$doc3
Execute Bulk into
db.sensor, db.sensor
type, db.sensor time
Any Error?
4.2 Hasil Pengiriman 1 Tabel
Y
Log
“Error”
N
END
Gambar 12. Diagram Alir Perangkat Lunak pada
Halaman PHP Pengirim Data ke MongoDB
Diagram alir pada Gambar 12 diawali
dengan melakukan koneksi ke database yang
dituju. Setelah meakukan koneksi, maka
selanjutnya memanggil driver khusus untuk
database Mongodb. Selanjutnya halaman akan
menerima
data
sensor
LM35
dari
Mikrokontroler melalui metode get. Setelah nilai
didapatkan, maka selanjutnya menentukan nilai
untuk variabel lainnya. Nilai Timestamp pada
tabel Sensor akan dibuat pada halaman ini
berdasarkan perintah date pada bahasa PHP. Hal
ini dikarenakan pada database Mongodb tidak
dapat membuat timestamp secara otomatis
seperti yang ada pada database Mysql. Nilai type
dan nilai time akan dibuat dengan cara acak lalu
akan dimasukkan ke tabel yang berbeda. Setelah
Fakultas Ilmu Komputer, Universitas Brawijaya
Hasil pengiriman ke 1 tabel atau 1 koleksi pada
basis data MySQL dan MongoDB.
Tabel 2. Hasil pengiriman 1 Tabel dalam milisekon
(ms)
Urutan Pengiriman
Waktu Insert
ke MySQL
Waktu Insert
ke MongoDB
1
6.575
0.904
2
12.799
1.143
3
14.122
0.476
4
10.323
0.782
5
8.776
0.871
6
22.112
0.845
7
10.659
0.799
8
11.610
1.006
9
12.565
0.759
10
14.289
0.838
Rata-Rata
12.383
0.842
Terkecil
6.575
0.476
Terbesar
22.112
1.143
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Dari hasil pada Tabel 2 didapatkan bahwa
untuk pengiriman data sensor LM35 ke basis
data MySQL didapatkan waktu rata-rata selama
10 kali pengiriman sebesar 12,383 ms sedangkan
untuk basis data MongoDB hanya sebesar 0,842
ms. Untuk waktu terkecil, basis data MySQL
memiliki waktu sebesar 6.575 ms dan basis data
MongoDB memiliki waktu sebesar 0.476 ms.
Untuk waktu terbesar, basis data MySQL
memiliki waktu sebesar 22,112 ms dan basis
data MongoDB memiliki waktu sebesar 1,143
ms.
4.3 Hasil Pengiriman 2 Tabel
Hasil pengiriman ke 2 tabel atau 2 koleksi pada
basis data MySQL dan MongoDB.
Tabel 3. Hasil pengiriman 2 Tabel dalam milisekon
(ms)
Urutan
Pengiriman
Waktu Insert
ke MySQL
Waktu Insert ke
MongoDB
1
55.842
1.372
2
32.335
1.091
3
35.104
1.398
4
34.774
13.908
5
44.832
1.297
6
35.890
1.164
7
31.106
1.290
8
30.442
1.258
9
31.170
1.294
10
32.508
1.349
Rata-Rata
36.400
2.542
Terkecil
30.442
1.091
Terbesar
55.842
13.908
473
4.4 Hasil Pengiriman 3 Tabel
Hasil pengiriman ke 3 tabel atau 3 koleksi pada
basis data MySQL dan MongoDB.
Tabel 4. Hasil pengiriman 3 Tabel dalam milisekon
(ms)
Urutan
Pengiriman
Waktu Insert
ke MySQL
Waktu Insert ke
MongoDB
1
69.112
1.752
2
55.046
1.456
3
58.680
1.669
4
46.649
1.840
5
82.111
19.229
6
55.753
2.081
7
56.891
1.798
8
55.224
1.425
9
59.925
2.197
10
62.714
1.635
Rata-Rata
60.211
3.508
Terkecil
46.649
1.425
Terbesar
82.111
19.229
Dari hasil pada Tabel 4 didapatkan bahwa
untuk pengiriman data sensor LM35 ke basis
data MySQL didapatkan waktu rata-rata selama
10 kali pengiriman sebesar 60,211 ms sedangkan
untuk basis data MongoDB hanya sebesar 3,508
ms. Untuk waktu terkecil, basis data MySQL
memiliki waktu sebesar 46,648 ms dan basis
data MongoDB memiliki waktu sebesar 1,425
ms. Untuk waktu terbesar, basis data MySQL
memiliki waktu sebesar 82,111 ms dan basis
data MongoDB memiliki waktu sebesar 19,229
ms.
4.5 Hasil Pengujian Ruang Lingkup Lokal
Dari hasil pada Tabel 3 didapatkan bahwa
untuk pengiriman data sensor LM35 ke basis
data MySQL didapatkan waktu rata-rata selama
10 kali pengiriman sebesar 36,400 ms sedangkan
untuk basis data MongoDB hanya sebesar 2,542
ms. Untuk waktu terkecil, basis data MySQL
memiliki waktu sebesar 30,442 ms dan basis
data MongoDB memiliki waktu sebesar 1,091
ms. Untuk waktu terbesar, basis data MySQL
memiliki waktu sebesar 55,842 ms dan basis
data MongoDB memiliki waktu sebesar 13,908
ms.
Fakultas Ilmu Komputer, Universitas Brawijaya
Hasil pengujian pada ruang lingkup lokal
akan dijelaskan berdasarkan jumlah data setiap
pengiriman data pada 1 tabel, 2 tabel, dan 3 tabel.
Data yang menjadi komparasi performa adalah
waktu rata-rata. Hasil komparasi pengujian
query insert terhadap data sensor LM35
ditunjukkan pada Gambar 14.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
KOMPARASI BASIS
DATA
1
2,542
3,508
60,211
MongoDB
36,400
0,842
12,383
MILISEKON
MySQL
2
3
JUMLAH TABEL
Gambar 14. Komparasi Basis Data MySQL dan
MongoDB terhadap Waktu Query Insert
Dari Gambar 14 didapatkan pada
pengiriman data sensor LM35 untuk pengiriman
pada 1 tabel atau koleksi, basis data MySQL
memiliki rata-rata waktu sebesar 12.383 ms
sedangakn basis data MongoDB memiliki ratarata waktu sebesar 0.842 ms. Pada pengiriman
data sensor LM35 untuk pengiriman pada 2 tabel
atau koleksi, basis data MySQL memiliki ratarata waktu sebesar 36.400 ms sedangakn basis
data MongoDB memiliki rata-rata waktu sebesar
2.542 ms. Pada pengiriman data sensor LM35
untuk pengiriman pada 3 tabel atau koleksi, basis
data MySQL memiliki rata-rata waktu sebesar
60.211 ms sedangakn basis data MongoDB
memiliki rata-rata waktu sebesar 3.508 ms.
474
dipaparkan oleh Li & Chen (2015) bahwa basis
data non-relasional memiliki keunggulan yaitu
data dapat disimpan secara bersamaan dengan
mudah dan operasi write dan read yang lebih
cepat.
Teori di atas dapat dibuktikan dari hasil
pengujian pada sub-bab sebelumnya bahwa basis
data MongoDB memang lebih cepat dalam
melakukan insert data sehingga untuk
pengiriman data sensor LM35 untuk
perbandingan eksekusi waktu query insert pada
basis data MySQL dan MongoDB, basis data
MongoDB yang lebih baik dalam pengiriman
data sensor LM35.
4.7 Saran
Saran yang dapat diberikan untuk pengembangan sistem ini antara lain:
1. Penelitian lebih lanjut pada penelitian ini
diperlukan karena penelitian ini bersifat dasar,
sehingga pengujian terhadap parameter lainnya
tidak dihiraukan.
2. Penelitian pada ruang lingkup yang jauh lebih
besar diperlukan. Karena pengujian pada ruang
lingkup lokal belum dapat dikatakan akurat
karena pada kenyataanya banyak variabel yang
dapat mempengaruhi performansi pada sebuah
basis data
4.6 Analisis Hasil
5. DAFTAR PUSTAKA
Dari hasil pada Gambar 14 dapat dikatakan
bahwa basis data MongoDB jauh lebih
mengungguli dalam waktu eksekusi query insert
data sensor LM35 daripada basis data MySQL.
Hal ini disebabkan karena basis data MySQL
merupakan basis data yang bersifat relasional
dan structural sedangkan basis data MongoDB
bersifat non-relasional dan non-structural. Basis
data MySQL waktu lebih lama karena pada
dasarnya basis data relasional tidak hanya
menyimpan data pada tabelnya melainkan
menyimpan relasi yang terhubung dengan tabel
tersebut (Nixon, 2014).
Sedangkan untuk basis data non-relasional
pada dasarnya tidak memiliki peraturan yang
ketat pada tabel atau koleksinya. Basis data
MongoDB menganggap data yang terdapat pada
koleksinya sebagai objek bukan seperti record
yang ada pada basis data MySQL (Li & Chen,
2015). Basis data non-relasional seperti
MongoDB memiliki keuntungan dibandingkan
dengan basis data relasional seperti yang
Buuya, R. & Dastjerdi, A. V., 2016. Internet of
Things Principles and Paradigms. [ebook] Elseiver Inc. Tersedia di: Google
Books
<
https://books.google.co.id/books?id=_k
11CwAAQBAJ&pg=PA5&dq=internet
+of+things+definition&hl=id&sa=X&v
ed=0ahUKEwido7nbs3PAhUJOI8KHZO_DeMQ6AEIIzAA
#v=onepage&q=internet%20of%20thin
gs%20definition&f=false>
Chaouchi, H. ed, 2013. The Internet of Things
Connecting Object. Edisi 1. London:
ISTE Ltd.
DB-Engines, 2017. DB-Engines Ranking.
[Online] (April 2017) Tersedia di:
https://db-engines.com/en/ranking
Ilham, A. A., Parawangsa, A. T., Hasradin. &
Palantei, E., 2013. [pdf] Sistem Jaringan
Nirkabel Dual-Sensor untuk Monitoring
Data Medik Pasien. Universitas
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Hasanuddin.
Tersedia
di:
<
http://repository.unhas.ac.id
/handle/123456789/9477 >
Kebaili, M. O., Foughali, K., FathAllah, K.,
Frihida, A., Ezzeddine, T. & Clarmunt,
C., 2016. [pdf] Landsliding Early
Warning Prototype Using MongoDB
and Web of Things Technologies.
Elsevier B. V. Tersedia di: <
http://www.sciencedirect.com/science/a
rticle/pii/S1877050916322359 >
Li, D. & Chen, Y. F., 2015. Data migration
research between relational database
and nonrelational database. [e-book]
Tersedia
di:
Google
Books
https://books.google.co.id/books?id=T
MfECQAAQBAJ&pg=PA77&dq=nonr
elational+database&hl=id&sa=X&ved=
0ahUKEwiN14WYkfLTAhXHUbwKH
RlpAWEQ6AEIODAC#v=onepage&q
=nonrelational%20database&f=false>
MongoDB, 2016. MongoDB Definition.
[online]
Tersedia
di:
<
https://www.mongodb.com/>
MongoDB, 2016. MongoDB and MySQL
Comparison. [online] Tersedia di: <
https://www.mongodb.com/compare/m
ongodb-mysql>
Mun, D. L. L., 2010. Accounting Database
Design: Accounting Database Design &
T-SQL Reporting. [e-book] Tersedia di:
Google
Books
<
https://books.google.co.id/books?id=G1
0ai6NG0pIC&printsec=frontcover&dq
=database+sql&hl=id&sa=X&ved=0ah
UKEwj8qoyhr87PAhWJLY8KHX84Dr
AQ6AEILzAB#v=onepage&q=databas
e%20sql&f=false>
MySQL, 2016. MySQL Definition. [online]
Tersedia di: < http://www.mysql.com/>
Nixon, R., 2014. Learning PHP, MySQL,
JavaScript, CSS & HTML5, Third
Edition. [e-book] O’Reilly Media, Inc.
Tersedia di: Google Books <
https://books.google.co.id/books?id=cq
qcAwAAQBAJ&pg=PA645&dq=mysq
l+duplicate+data&hl=id&sa=X&ved=0
Fakultas Ilmu Komputer, Universitas Brawijaya
475
ahUKEwjoyNzqjPLTAhUBzbwKHTC
hCTAQ6AEIXzAH#v=onepage&q=my
sql%20duplicate%20data&f=false>
Piyare, R. & Lee, S. R., 2013. Toward Internet
of Things(IOTS): Integration of
Wireless Sensor Network to Cloud
Services for Data Collection and
Sharing. International Journal of
Computer
Networks
&
Communications. [e-journal] 5, 59-72.
Tersedia di: Cornell University Library
< https://arxiv.org/abs/1310.2095 >
Robinson, I., Webber, J. & Eifrem, E., 2015.
Graph Databases New Opportunities
For Connected Data. [e-book] Neo
Technology,
Inc.
Sebastopol,
California, USA Tersedia di: Google
Books
<
https://books.google.co.id/books?id=R
TvcCQAAQBAJ&pg=PA105&dq=wh
y+use+millisecond+as?&hl=id&sa=X&
ved=0ahUKEwitwasiIrRAhWKMY8KHc8_CtYQ6AEIXD
AI#v=onepage&q=why%20use%20mil
lisecond%20as%3F&f=false>
Taylor, H. R., 1997. Data Acquisition for Sensor
Systems. [e-book] Chapman & Hall.
Tersedia di: Google Books <
https://books.google.co.id/books?id=eG
TaBwAAQBAJ&printsec=frontcover&
dq=sensor+data+acquisition&hl=id&sa
=X&ved=0ahUKEwiEm7L1kM7PAhU
Ep48KHTDCDu4Q6AEIIzAA#v=onep
age&q=sensor%20data%20acquisition
&f=false>
VCC2GND, 2015. IC LM35DZ Precision
Centrigrade
Temperature
Sensor.
[online]
Tersedia
di:
<http://www.vcc2gnd.com/sku/LM35D
Z>
Wei-ping, Z., Ming-xin, L. & Huan, C., 2011.
[pdf] Using MongoDB to Implement
Textbook Management System instead
of MySQL. Chengdu, China. Tersedia
di:
<
http://ieeexplore.ieee.org/document/601
3720/references >
Download