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 >