2.1 IOT (Internet of Things)
Menurut Wikipedia, Internet of Things atau dikenal juga dengan singkatan IoT, merupakan sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung secara terus-menerus. Adapun kemampuan seperti berbagi data, remote control, dan sebagainya, termasuk juga pada benda di dunia nyata. Contohnya bahan pangan, elektronik, koleksi, peralatan apa saja, termasuk benda hidup yang semuanya tersambung ke jaringan lokal dan global melalui sensor yang tertanam dan selalu aktif.
dikembangkan selama beberapa dekade. Alat Internet pertama, misalnya, adalah mesin Coke di Carnegie Melon University di awal 1980-an. Para programer dapat terhubung ke mesin melalui Internet, memeriksa status mesin dan menentukan apakah ada atau tidak minuman dingin yang menunggu mereka, tanpa harus pergi ke mesin tersebut.
Istilah IoT (Internet of Things) mulai dikenal tahun 1999 yang saat itu disebutkan pertama kalinya dalam sebuah presentasi oleh Kevin Ashton, cofounder and executive director of the Auto-ID Center di MIT. Dengan semakin berkembangnya infrastruktur internet, maka kita menuju babak berikutnya, di mana bukan hanya smartphone atau komputer saja yang dapat terkoneksi dengan internet. Namun berbagai macam benda nyata akan terkoneksi dengan internet. Sebagai contohnya dapat berupa : mesin produksi, mobil, peralatan elektronik, peralatan yang dapat dikenakan manusia (wearables), dan termasuk benda nyata apa saja yang semuanya tersambung ke jaringan lokal dan global menggunakan sensor dan atau aktuator yang tertanam.
2.2 Pengertian Sistem
Sistem adalah suatu kesatuan yang terdiri dari dua atau lebih komponen atau subsistem yang saling berinteraksi untuk mencapai suatu tujuan (Jogiyanto, 2000).
Dari uraian diatas mengenai definisi sistem, penulis dapat menyimpulkan pengertian dari sistem yang berkaitan dengan judul, yaitu “Sistem adalah suatu cara yang dibuat sedemikian rupa yang terdiri dari dua elemen atau lebih yang saling berhubungan mengatasi masalah atau kendala-kendala yang terjadi dengan tujuan yang diinginkan.
2.3 Pengertian Internet
Internet adalah sekumpulan jaringan berbeda yang saling terhubung bersama
sebagai suatu kesatuan dengan menggunakan berbagai macam protokol, salah satunya adalah protokol TCP/IP (Transmission Control Protocol/Internet Protocol) (Shalahuddin, Mdan Rossa A.S, 2010). TCP/IP adalah protokol yang
paling banyak digunakan di internet. Protokol TCP/IP merupakan cara standard untuk memaketkan dan mengalamatkan data komputer (sinyal eletronik) sehingga data tersebut dapat dikirim ke komputer terdekat atau keliling dunia dan tiba dalam waktu cepat tanpa rusak atau hilang.
Daya guna internet itu terletak pada informasi itu sendiri, bukan pada jaringan komputer. Informasi itu ada karena beberapa orang atau beberapa kelompok memberikan waktu, usaha, dan karya mereka. Mereka mempunyai ide, menyusunnya, menciptakan sesuatu yang berguna dan membuatnya tersedia buat pemakai internet di seluruh dunia.
2.3.1 Network
Network adalah jaringan dari sistem komunikasi data yang melibatkan sebuah atau
lebih sistem komputer yang dihubungkan dengan jalur transmisi alat komunikasi membentuk satu sistem. Dengan network, komputer yang satu dapat menggunakan data di komputer lain, dapat mencetak laporan di printer komputer lain, dapat memberi berita ke komputer lain walaupun berlainan area. Network merupakan cara yang sangat berguna untuk mengintegrasikan sistem informasi dan menyalurkan arus informasi dari satu area ke area lainnya.
2.3.1.1Web Server
Web server adalah suatu perangkat lunak yang dijalankan pada komputer server
keunggulan dari web sehingga web tidak hanya dapat diterima di universitas tetapi di seluruh perusahaan komersial yang dapat menampilkan datanya dalam internet. Macam-macam web server antara lain Apache (Open Source), Xitami , IIS, PWS. Sedangkan, Web Browser adalah salah satu perangkat lunak disisi client yang digunakan untuk mengakses informasi web.
Website (situs web) merupakan alamat (URL) yang berfungsi sebagai
tempat penyimpanan data dan informasi dengan berdasarkan topik tertentu. URL adalah suatu sarana yang digunakan untuk menentukan lokasi informasi pada suatu web server. Situs atau web dapat dikategorikan menjadi 2 yaitu:
1. Web Statis, yaitu web yang berisi atau menampilkan informasi-informasi yang sifatnya statis (tetap),
2. Web Dinamis, yaitu web yang menampilkan informasi serta dapat berinteraksi dengan user yang sifatnya dinamis.
2.3.1.2 World Wide Web (WWW)
World Wide Web (WWW), lebih dikenal dengan web, merupakan salah satu
protokol pengiriman data yang spesifik yang disebut Hypertext Transfer Protocol (HTTP). Untuk menemukan setiap hubungan Hypertext digunakan Uniform Resource Locator (URL). Karena itu, halaman WWW juga disebut dokumen URL.
(Konsep dan Aplikasi Pemrograman Client Server dan Sistem Terdistribusi, Budi Sutedjo Dharma Oetomo, 2000).
2.3.1.3 Sekilas tentang HTTP
HTTP (Hypertext Transfer Protocol) adalah protokol yang banyak digunakan di
internet untuk pertukaran berkas atau data lainnya didalam World Wide Web dengan menggunakan browser. Sebuah browser disebut client HTTP, sedangkan penyedia halaman web yang diakses oleh browser disebut server HTTP (web server). Sumber yang akan diakses memiliki alamat yang disebut Universal
Resources Locator (URL). Resources (sumber daya) yang dimaksud disini dapat
berupa berkas, hasil output dari sebuah program (seperti PHP), hasil query dari server basis data dan lain-lain. HTTP memiliki dua versi, HTTP yang pertama kali
diciptakan adalah HTTP 1.0, kemudian dikembangkan lagi menjadi HTTP 1.1 yang banyak digunakan sekarang.
(Konsep dan Aplikasi Pemrograman Client server dan Sistem Terdistribusi, Budi Sutedjo Dharma Oetomo, 2000).
2.4 Perangkat Lunak Pendukung
dari tiga jenis aplikasi. Aplikasi yang dibutuhkan yaitu NodeJS yang akan menjadi gateway server, Arduino IDE yang akan menjadi lingkungan pemrograman ESP8266 dan Visual Studio Code sebagai text editor dalam pembuatan gateway.
2.4.1 NodeJS
NodeJS merupakan platform yang dapat menjalankan bahasa pemrograman Javascript dan dibangun menggunakan Chrome’s V8 Javascript Engine. NodeJS dapat berjalan di semua OS. NodeJS menggunakan filosofi event-driven, non-blocking IO model yang membuat NodeJS ringan dan efisien.
2.4.2 Arduino IDE
Arduino IDE merupakan perangkat lunak yang digunakan untuk memprogram berbagai macam Mikrokontroller seperti Arduino dan ESP8266. Arduino IDE dapat berjalan disemua OS. Arduino IDE menggunakan bahasa pemrograman C/C++ dan menggunakan kompiler (avr-g++).
2.4.3 Visual Studio Code
2.5 Perangkat Keras Pendukung
Berdasarkan penelitian, dapat disimpulkan bahwa perangkat keras pendukung yang dibutuhkan pada proses pengembangan sistem yang akan dilakukan terdiri dari tiga jenis perangkat. Perangkat yang dibutuhkan yaitu laptop yang pada pembuatan sistem ini bukan hanya sebagai tempat pembuatan sistem, tetapi juga digunakan sebagai Gateway yang didalamnya terdapat Web Server dan Web Socket. Yang kedua adalah ESP8266 sebagai satuan mikrokontroller yang
dirangkai sedemikian rupa menjadi rangkaian yang terdapat led. Yang ketiga adalah Access Point sebagai penghubung antara client, gateway server dan node.
2.5.1 Laptop
Laptop adalah komputer bergerak yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1–6 kg, tergantung pada ukuran, bahan, dan spesifikasi laptop tersebut. Sumber daya laptop berasal dari baterai atau adaptor A/C yang dapat digunakan untuk mengisi ulang baterai dan menyalakan laptop itu sendiri. Baterai laptop pada umumnya dapat bertahan sekitar 1 hingga 6 jam sebelum akhirnya habis, tergantung dari cara pemakaian, spesifikasi, dan ukuran baterai.
2.5.2 ESP8266
2.5.3 Acces Point
Access Point adalah sebuah perangkat jaringan yang berisi sebuah transceiver dan
antena untuk transmisi dan menerima sinyal ke dan dari clients remote. Dengan access points (AP) clients wireless bisa dengan cepat dan mudah untuk terhubung kepada jaringan LAN kabel secara wireless.
2.5.4 Resistor
Fungsi Resistor sebagai peredam tegangan DC atau AC, Resistor berbahan dasar karbon film atau metal film, dengan besaran satuan resistans ohm berkisaran 0,1 ohm dan Mohm (1 Mega = 1. 10 pangkat 6 ohm).
2.5.5 Kapasitor
2.5.6 LED (Light Emitting Diode)
Light Emitting Diode atau sering disingkat dengan LED adalah komponen
elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya.
2.6 Bahasa Pemrograman Pendukung
Berdasarkan penelitian, dapat disimpulkan bahwa bahasa pemrograman pendukung yang dibutuhkan pada proses pengembangan sistem yang akan dilakukan terdiri dari dua bahasa. Bahasa pemrograman yang dibutuhkan yaitu Javascript yang dijalankan pada gateway dan C++ sebagai program ESP8266.
2.6.1 Javascript
2.6.2 C++
C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne Stroustrup, yang merupakan perkembangan dari bahasa C.
2.7 Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus untuk menggambarkan
langkah-langkah dalam menyelesaikan suatu masalah tertentu dan flowchart merupakan salah satu cara penyajian dalam algoritma. Program flowchart menggambarkan urutan logika dari suatu algoritma. Tahapan pembuatan program yaitu mendefinisikan masalah dan menganalisanya. Mencakup: tujuan pembuatan program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan.
2.7.1 Simbol pada Flowchart
Simbol pada flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu
1. Simbol Arus Arah
Yaitu, simbol yang dipakai untuk menghubungkan antara simbol yang satu dengan simbol lainnya atau disebut juga connecting line.
Tabel 2.7.1 Simbol Arus Arah
Simbol Nama Fungsi
menggunakan UML kita dapat membentuk model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman.
Notasi UML merupakan sekumpulan bentuk khusus yang menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat di kombinasikan. Notasi UML terustama di turunkan dari 3 notasi yang telah ada, yaitu : Object-Oriented Design, Object-Modeling Technique dan Object-Object-Oriented Software Engineering.
2.8.1 Use Case Diagram
Use Case diagram menggambarkan fungsionalitas yang di harapkan dari sebuah
2.8.2 Squnce Diagram
Squence diagram menggambarkan interaksi antar objek di dalam dan di sekitar