Implementasi IOT Mengontrol LED berbasis WEB

BAB 2
LANDASAN TEORI

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.

Makna serupa yang lain, Internet of Things (IoT) adalah sebuah
konsep/skenario dimana suatu objek yang memiliki kemampuan untuk
mentransfer data melalui jaringan tanpa memerlukan interaksi manusia ke
manusia atau manusia ke komputer. "A Things" pada Internet of Things dapat
didefinisikan sebagai subjek misalkan orang dengan monitor implant jantung,
hewan peternakan dengan transponder biochip, sebuah mobil yang telah

dilengkapi built-in sensor untuk memperingatkan pengemudi ketika tekanan ban
rendah. Sejauh ini, IoT paling erat hubungannya dengan komunikasi machine-tomachine (M2M) di bidang manufaktur dan listrik, perminyakan, dan gas. Produk
dibangun dengan kemampuan komunikasi M2M yang sering disebut dengan
sistem cerdas atau "smart". (contoh: smart label, smart meter, smart grid sensor).
Meskipun konsep ini kurang populer hingga tahun 1999, namun IoT telah

Universitas Sumatera Utara

7

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).

Sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang
dimaksudkan untuk mencapai suatu tujuan (Abdul Kadir, 2003)

Universitas Sumatera Utara

8


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.


Asal - usul internet berasal dari jaringan komputer yang dibentuk pada
tahun 1970-an. Jaringan komputer tersebut disebut dengan Arpanet, yaitu jaringan
komputer yang dibentuk olah departemen pertahanan Amerika Serikat.
Selanjutnya, jaringan komputer tersebut diperbaharui dan dikembangakan, dan
sekarang penerusnya menjadi tulang punggung global untuk sumber daya
informasi yang disebut dengan internet.

Universitas Sumatera Utara

9

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.1 Web Server

Web server adalah suatu perangkat lunak yang dijalankan pada komputer server
dan berfungsi agar dokumen internet server yang mampu untuk melayani koneksi
perpindahan data dalam protokol http web server disamping e-mail. Middleware
adalah perangkat lunak yang bekerja sama dengan web server dan berfungsi
menterjemahkan kode - kode tertentu, menjalankan kode - kode tersebut dan
memungkinkan berinteraksi dengan basis data. Dikarenakan web server dirancang
untuk menampilkan data, dimulai dari teks, hypertext, gambar yang merupakan

Universitas Sumatera Utara


10

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
layanan yang didapat oleh pemakai komputer yang terhubung ke internet. Web
pada awalnya adalah ruang informasi dalam internet, dengan menggunakan
teknologi hypertext, pemakai dituntun untuk menemukan informasi dengan
mengikuti link yang disediakan dalam dokumen web ytang ditampilkan dalam
browser web. Agar file yang berisi hypertext ini bisa dikirimkan, diperlukan

Universitas Sumatera Utara

11

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

Berdasarkan penelitian, dapat disimpulkan bahwa perangkat lunak pendukung
yang dibutuhkan pada proses pengembangan sistem yang akan dilakukan terdiri


Universitas Sumatera Utara

12

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, nonblocking 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

Visual Studio Code merupakan teks editor keluaran Microsoft. Visual studio code
dapat berjalan di semua OS dan dibuat menggunakan javascript yang di bangun
menjadi aplikasi desktop menggunakan Electron.

Universitas Sumatera Utara

13


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

ESP8266 merupakan modul wifi yang mempunyai kapabilitas full stack TCP/IP
dan MCU (Microcontroller Unit). ESP8266 dapat berfungsi menjadi banyak hal
seperti Access Point, webclient, webserver dll.

Universitas Sumatera Utara

14

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

Komponen elektronika yang mempunyai kemampuan menyimpan electronelektron selama waktu yang tidak tertentu. Kapasitor berbeda dengan akumulator
dalam menyimpan muatan listrik terutama tidak terjadi perubahan kimia pada
bahan kapasitor, besarnya kapasitansi dari sebuah kapasitor dinyatakan dalam
farad.

Universitas Sumatera Utara

15

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

Bahasa pemrograman tingkat tinggi dan dinamis. JavaScript populer di internet
dan dapat bekerja di sebagian besar penjelajah web populer seperti Internet
Explorer (IE), Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat
disisipkan dalam halaman web menggunakan tag SCRIPT.

Universitas Sumatera Utara

16

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
menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara
lain:

Universitas Sumatera Utara

17

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

Arus / Flow

Fungsi
Penghubung antara prosedur /
proses.
Simbol keluar / masuk prosedur

Off-line Connector

atau proses. dalam lembar /
halaman yang lain.

2. Simbol Proses
Yaitu, merupakan simbol yang menunjukkan jenis operasi pengolahan
dalam suatu prosedur.

Tabel 2.7.2 Simbol Proses
Simbol

Nama

Fungsi
Simbol yang menunjukkan

Process

pengolahan yang dilakukan
Komputer.
Simbol untuk kondisi yang akan

Decision

menghasilkan beberapa
kemungkinan jawaban / aksi.

Terminal

Simbol untuk permulaan atau
akhir darti suatu program.

Universitas Sumatera Utara

18

Manual Input

Simbol untuk pemasukan data
secara manual on-line keyboard.

3. Simbol Input-Output
Yaitu, simbol yang dipakai untuk menyatakan jenis peralatan yang
digunakan sebagai media input atau output.
Tabel 2.7.3 Simbol Input-Output
Simbol

Nama

Fungsi
Simbol yang menyatakan proses

Input-Output

input dan output tanpa
tergantung dengan jenis
peralatannya.
Simbol yang menyatakan input

Document

berasal dari dokumen dalam
bentuk kertas atau output di
cetak dikertas.

Disk and On-line
Storage

2.8

Simbol untuk menyatakan input
berasal dari disk atau output di
simpan ke disk.

UML ( Unified Modeling Language)

UML adalah sebuah bahasa yang telah menjadi standart dalam industri untuk
visualisasi, merancang, dan mendokumentasikan sistem piranti lunak. UML
menawakan sebuah standar 8 untuk merancang model sebuah sistem. Dengan

Universitas Sumatera Utara

19

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 : ObjectOriented Design, Object-Modeling Technique dan Object-Oriented Software
Engineering.

2.8.1

Use Case Diagram

Use Case diagram menggambarkan fungsionalitas yang di harapkan dari sebuah
sistem, yang ditekankan adalah “apa” yang di perbuat sistem, dan bukan
“bagaimana”. Use case diagram dapat sangat membantu bila kita sedang
menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan
klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah
use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi
fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang
common.

Universitas Sumatera Utara

20

2.8.2

Squnce Diagram

Squence diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem (termasuk pengguna, display, dan sebagainya) berupa pesan yang
digambarkan terhadap waktu. Squence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu.

Universitas Sumatera Utara