UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas...

75
PERANCANGAN REGISTRATION SERVER UNTUK APLIKASI INTERNET OF THINGS TUGAS AKHIR ARIEF NUR MUHAMMAD NIM : 140309248793 POLITEKNIK NEGERI BALIKPAPAN JURUSAN TEKNIK ELEKTRONIKA BALIKPAPAN 2017

Transcript of UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas...

Page 1: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

PERANCANGAN REGISTRATION SERVER

UNTUK APLIKASI

INTERNET OF THINGS

TUGAS AKHIR

ARIEF NUR MUHAMMAD

NIM : 140309248793

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2017

ARIEF NUR MUHAMMAD

NIM : 140309248793

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2017

Page 2: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun
Page 3: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun
Page 4: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

i

PERANCANGAN REGISTRATION SERVER

UNTUK APLIKASI

INTERNET OF THINGS

JUDUL

TUGAS AKHIR

KARYA TULIS INI DIAJUKAN SEBAGAI SALAH SATU SYARAT

UNTUK MEMPEROLEH GELAR AHLI MADYA DARI POLITEKNIK

NEGERI BALIKPAPAN

ARIEF NUR MUHAMMAD

NIM : 140309248793

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2017

ARIEF NUR MUHAMMAD

NIM : 140309248793

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2017

Page 5: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun
Page 6: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun
Page 7: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

iv

LEMBAR PERSEMBAHAN

Karya ilmiah ini kupersembahkan kepada

Ayahanda dan Ibunda tercinta

Budiarto dan Kartilah

Saudaraku yang kusayangi

Nur Fitriana

Hafizzuddin Nur

Abdurrahman As Shiddiq

Nur ‘Aini Az Zahra

Naura Meutia Azizah

Dosen Pembimbing Tugas Akhir Saya

Bapak Ali Abrar, S.Si., M.T.

Sahabat Yang Kusayangi

Dwi Imam Rohmadi

Dwi Kadarianto

Handoko Puji Renggono

Page 8: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun
Page 9: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

vi

ABSTRACT

Along with the development of the times and the increasing economy of the

community the demand for safe and comfortable home is increasingly increasing,

and the use of the internet that we unknowingly present in our lives sehai day makes

us as a society that is in the round of IoE (Internet of Everything) so I am interested

to Developing smart home with the concept of Internet of Thing as a smaller scale

of the Internet of Everything. In this report the author wishes to convey that there

are many ways to learn the internet of things, such as by using the PL-App

application from cisco.

Key Words : Internet Of Everything (IOE), Internet Of Things (IOT), Smart

Home, Raspberry PI

Page 10: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

vii

ABSTRAK

Seiring dengan perkembangan zaman dan meningkatnya ekonomi

masyarakat permintaan akan kebutuhan rumah yang aman dan nyaman kian

meningkat, serta penggunaan internet yang tanpa kita sadari hadir pada kehidupan

kita sehari hari menjadikan kita sebagai masyarakat yang berada dalam putaran IoE

(Internet of Everything) sehingga saya tertarik untuk mengembangkan smart home

dengan konsep Internet of Things sebagai skala yang lebih kecil dari Internet of

Everything. Pada laporan ini penulis ingin menyampaikan bahwa banyak cara untuk

mempelajari internet of things, seperti dengan menggunakan aplikasi PL-App dari

cisco.

Kata Kunci : Internet Of Everything (IOE), Internet Of Things (IOT), Smart

Home, Raspberry PI

Page 11: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

viii

KATA PENGANTAR

Puji syukur saya panjatkan kepada Tuhan Yang Maha Esa yang telah

memberikan rahmat dan karunianya, sehingga penulis dapat menyelesaikan Tugas

Akhir. Pembuatan Tugas Akhir ini merupakan sebuah syarat kelulusan pada

program D3 di Politeknik Negeri Balikpapan.

Dengan selesainya Tugas Akhir ini tidak terlepas dari bantuan banyak pihak. Untuk

itu penulis mengucapkan banyak terima kasih, kepada :

1. Ramli, SE., M.M. selaku Direktur Politeknik Negeri Balikpapan.

2. Drs. Suhaedi, M.T. selaku Kaprodi Jurusan Teknik Elektronika.

3. Ali Abrar, S.Si., M.T. selaku Dosen Pembimbing 1 atas bimbingan dan

saran-sarannya.

4. Drs. Armin, M.T. selaku Dosen Pembimbing 2 atas bimbingan dan saran-

sarannya.

5. Seluruh Dosen, staff, dan karyawan di Politeknik Negeri Balikpapan atas

seluruh bantuannya.

6. Seluruh Mahasiswa Politeknik Negeri Balikpapan terutama Jurusan

Teknik Elektronika konsentrasi Teknik Komputer dan Jaringan atas

seluruh bantaunnya.

7. Kedua Orang Tua dan Saudara-Saudara ku Tercinta atas doa dan motivasi.

Penulis menyadari bahwa Tugas Akhir ini bukanlah karya yang sempurna,

dan masih banyak ditemui kekurangan dan kelemahan. Oleh karena itu, saran dan

masukan yang membangun sangat diharapkan.

Balikpapan, 06 Juli 2017

Penulis

Page 12: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

ix

DAFTAR ISI

Halaman

JUDUL ..................................................................................................................... i

LEMBAR PENGESAHAN .................................................................................... ii

SURAT PERNYATAAN....................................................................................... iii

LEMBAR PERSEMBAHAN ................................................................................ iv

SURAT PERNYATAAN PUBLIKASI .................................................................. v

ABSTRACT ........................................................................................................... vi

ABSTRAK ............................................................................................................ vii

KATA PENGANTAR ......................................................................................... viii

DAFTAR ISI .......................................................................................................... ix

DAFTAR GAMBAR ............................................................................................. xi

DAFTAR TABEL ................................................................................................. xii

DAFTAR LAMPIRAN ........................................................................................ xiii

BAB I PENDAHULUAN 1

1.1 Latar Belakang ............................................................................................... 1

1.2 Runusan Masalah ........................................................................................... 1

1.3 Batasan Masalah ............................................................................................ 2

1.4 Tujuan Penelitian ........................................................................................... 2

1.5 Manfaat Penelitian ......................................................................................... 2

BAB II LANDASAN TEORI 3

2.1 Internet Of Things ......................................................................................... 3

2.1.1 Definisi Internet Of Things ......................................................................... 3

2.2 Raspberry ....................................................................................................... 4

2.2.1 Definisi Raspberry Pi .................................................................................. 4

2.2.2 Bagian Fisik Raspberry ............................................................................... 5

2.2.3 Macam-Macam Raspberry Pi ...................................................................... 6

2.3 Bahasa Pemrograman .................................................................................... 6

2.3.1 Python .......................................................................................................... 6

2.4 Micro SD ....................................................................................................... 7

2.5 Breadboard ..................................................................................................... 8

Page 13: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

x

BAB III METODOLOGI PENELITIAN 9

3.1 Jenis Penelitian .............................................................................................. 9

3.2 Tempat dan Waktu Penelitian ........................................................................ 9

3.3 Perangkat Keras dan Perangkat Lunak Yang Dibutuhkan ............................ 9

3.3.1 Perangkat Keras ........................................................................................... 9

3.3.2 Perangkat Lunak ........................................................................................ 10

3.6.1 Proses Menentukan Judul TA ................................................................... 12

3.6.2 Proses Membuat Konsep Dan Proposal TA .............................................. 12

3.6.3 Sidang Proposal TA .................................................................................. 12

3.6.4 Pelaksanaan Pembuatan dan Uji Coba TA ................................................ 12

3.6.5 Proses Membuat Laporan TA ................................................................... 12

3.6.5 Sidang Akhir TA ....................................................................................... 12

BAB IV HASIL DAN PEMBAHASAN 13

4.1 Hasil Penelitian ............................................................................................ 13

4.1.1 Tampilan Untuk Halaman Login Cisco PL-App Launcher....................... 13

4.1.2 Perancangan Registration Server............................................................... 16

BAB V KESIMPULAN DAN SARAN 20

5.1 Kesimpulan .................................................................................................. 20

5.2 Saran ............................................................................................................ 20

DAFTAR PUSTAKA ........................................................................................... 21

LAMPIRAN .......................................................................................................... 22

Page 14: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

xi

DAFTAR GAMBAR

Halaman

Gambar 2.1 Logo Raspberry PI 4

Gambar 2.2 Bagian Fisik Raspberry 6

Gambar 2.3 Bentuk Micro SD 7

Gambar 2.4 Breadboard 8

Gambar 3.1 Flowchart 11

Gambar 4.1 Halaman Login Pada Cisco PL-App Launcher 13

Gambar 4.2 Interface Cisco PL-App Launcher 14

Gambar 4.3 Menu Tab "New" 14

Gambar 4.4 Tampilan Menu "Python 2" 15

Gambar 4.5 Tampilan Blockly 15

Gambar 4.6 Konsep Penerapan Registration Server 16

Gambar 4.7 Halaman Login Untuk User 17

Gambar 4.8 Halaman Home 18

Gambar 4.9 Remote Kipas Angin 18

Gambar 4.10 Tombol Low Hidup Pada Remote Kipas Angin 18

Gambar 4.11 Tombol High Hidup Pada Remote Kipas Angin 19

Gambar 4.12 Keadaan Kipas Angin 19

Gambar 4.13 Remote Pemanas Air, Pintu Garasi, dan CCTV 19

Gambar 4.14 Remote Jendela Rumah, Pintu Rumah, dan Lampu 19

Page 15: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

xii

DAFTAR TABEL

Halaman

Tabel 2.1 Daftar Bagian Fisik Raspberry Pi 5

Tabel 3.1 Daftar Perangkat Keras 9

Tabel 3.2 Spesifikasi Notebook Asus A556U 10

Tabel 3.3 Daftar Perangkat Lunak 10

Tabel 4.1 Konfigurasi IP Registration Server 16

Tabel 4.2 IP Address Alat-Alat Elektronik Rumah Tangga 17

Page 16: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

xiii

DAFTAR LAMPIRAN

Lampiran 1 Menghilangkan Format Drive Pada Micro SD

Lampiran 2 Memformat Micro SD Dengan SD Formatter

Lampiran 3 Penginstallan Server Internet Of Things

Lampiran 4 Script Untuk Kipas Angin

Lampiran 5 Script Untuk Pemanas Air

Lampiran 6 Script Untuk Pintu Garasi

Lampiran 7 Script Untuk CCTV

Lampiran 8 Script Untuk Jendela Rumah

Lampiran 9 Script Untuk Pintu Rumah

Lampiran 10 Script Untuk Lampu

Page 17: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Penggunaan internet dari masa ke masa sudah sangat berkembang pesat.

Internet tidak hanya digunakan masyarakat untuk sekedar keperluan browsing

ataupun mencari informasi terkini. Namun sekarang internet memiliki peranan

dalam mempermudah kegiatan sehari-hari bagi kalangan masyarakat itu sendiri.

Sebagai contoh dari peranan internet dalam kehidupan sehari-hari masyarakat

adalah, dengan mengontrol atau memantau alat-alat elektronik di rumah melalui

jaringan internet, atau bisa dikatakan menggunakan konsep Smart Home. Konsep

ini sendiri juga memanfaatkan papan komputer tunggal atau biasa disebut SBC

(Single Board Computer) seperti Raspberry PI, Arduino, dan papan computer

tunggal lainnya untuk memberikan akses jaringan ke alat-alat elektronik tersebut.

Dengan menggunakan papan komputer tunggal tersebut, alat-alat elektronik

tersebut tidak hanya bisa diberi akses jaringan, namun bisa dipantau keadaan dari

alat-alat tersebut dengan membuat sebuah program pada papan computer tunggal

tersebut. Pembuatan Registration Server juga dilakukan guna mempermudah ketika

ingin menambahkan suatu alat elektronik kedalam jaringan. Dengan adanya

Registration Server tersebut kita tidak perlu mensetting dari awal ketika

menambahkan alat elektronik kedalam jaringan.

Oleh sebab itu, maka pada Tugas Akhir ini penulis akan membuat aplikasi

pada Registration Server yang dapat memantau semua keadaan alat-alat elektronik

pada rumah, dan juga membuat sebuah Registration Server yang mana dapat

memudahkan dalam menambahkan alat-alat elektronik ke dalam jaringan.

1.2 Runusan Masalah

Sesuai dengan latar belakang yang telah diuraikan diatas, maka rumusan

masalah yang akan diselesaikan adalah : Saat ini pembuatan Server Internet Of

Things masih sangat sedikit. Padahal dengan pembuatan server tersebut, konsep

Page 18: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

2

Internet of Things dapat diperluas, dan tidak hanya terfokus pada alat-alat yang

biasa seperti lampu, namun dapat merambah semua alat-alat elektronik rumah

tangga. Dan juga server itu sendiri dapat digunakan untuk mendata alat-alat internet

of things.

1.3 Batasan Masalah

Dalam perancangan aplikasi ini terdapat beberapa batasan masalah. Hal ini

dilakukan agar aplikasi dapat terfokus/sesuai kebutuhan. Batasan masalah tersebut

sebagai berikut :

1. Membuat registration server yang dapat diakses melalui jaringan luar maupun

jaringan local.

2. Perancangan dilakukan dengan menggunakan papan komputer tunggal dan

membuat program yang akan digunakan untuk mengendalikan serta

memantau alat elektronik yang akan didaftarkan pada registration server.

1.4 Tujuan Penelitian

Tujuan dari penelitian tugas akhir ini adalah untuk membuat server pada

internet of things yang mana dapat mempermudah pendataan alat-alat elektronik

tersebut.

1.5 Manfaat Penelitian

Manfaat dari penelitian tugas akhir ini adalah memaksimalkan penggunaan

internet dalam kehidupan sehari-hari atau bisa dikatakan mempermudah kehidupan

manusia dalam memantau alat-alat elektronik khususnya di Indonesia.

Page 19: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

3

BAB II

LANDASAN TEORI

2.1 Internet Of Things

2.1.1 Definisi Internet Of Things

Menurut analisa McKinsey Global Institute, internet of things adalah

sebuah teknologi yang memungkinkan kita untuk menghubungkan mesin,

peralatan, dan benda fisik lainnya dengan sensor jaringan dan aktuator untuk

memperoleh data dan mengelola kinerjanya sendiri, sehingga memungkinkan

mesin untuk berkolaborasi dan bahkan bertindak berdasarkan informasi baru

yang diperoleh secara independen.

Sebuah publikasi mengenai Internet of things “In 2020” menjelaskan

bahwa internet of things adalah suatu keadaan ketika benda memiliki

identitas, bisa beroperasi secara intelijen, dan bisa berkomunikasi dengan

sosial, lingkungan, dan pengguna.

Dengan demikian, dapat kita simpulkan bahwa internet of things

membuat kita membuat suatu koneksi antara mesin dengan mesin, sehingga

mesin-mesin tersebut dapat berinteraksi dan bekerja secara independen sesuai

dengan data yang diperoleh dan diolahnya secara mandiri. Tujuannya adalah

untuk membuat manusia berinteraksi dengan benda dengan lebih mudah,

bahkan supaya benda juga bisa berkomunikasi dengan benda lainnya.

Teknologi internet of things sangat luar biasa. Jika sudah

direalisasikan, teknologi ini tentu akan sangat memudahkan pekerjaan

manusia. Manusia tidak akan perlu lagi mengatur mesin saat

menggunakannya, tetapi mesin tersebut akan dapat mengatur dirinya sendiri

dan berinteraksi dengan mesin lain yang dapat berkolaborasi dengannya. Hal

ini membuat mesin-mesin tersebut dapat bekerja sendiri dan manusia dapat

menikmati hasil kerja mesin-mesin tersebut tanpa harus repot-repot mengatur

mereka.

Page 20: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

4

2.2 Raspberry

2.2.1 Definisi Raspberry Pi

Raspberry Pi adalah sebuah komputer kecil, kira-kira seukuran

sabun mandi besarnya. Karena Raspberry Pi adalah sebuah komputer, maka

secara fungsi tidak berbeda dengan komputer ukuran besar yang ada di

sekolah, rumah, kantor, atau laptop. Artinya, Raspberry Pi bisa digunakan

untuk membuat dokumen, menghitung, menggambar, browsing internet,

download, mencetak dokumen, menonton film, memutar musik, bermain

game, dan apa saja. Karena ukurannya yang kecil, Raspberry Pi dapat dibawa

ke mana saja. Beratnya juga tidak lebih dari dua bungkus mie instan. Saking

kecilnya, dia bisa masuk ke dalam saku atau tas dengan mudah.

Raspberry pi juga membutuhkan listrik yang sangat sedikit untuk

beroperasi. Bandingkan dengan komputer di rumah atau sekolah yang

membutuhkan daya listrik mulai dari 220 watt. Oleh karena ini, Raspberry Pi

dapat dinyalakan dengan charger handphone. Artinya, jika kita ingin

menyalakan Raspberry pi semalaman untuk download, maka beban biaya

listrik menjadi sangat kecil. Besarnya listrik yang dibutuhkan oleh Raspberry

Pi untuk menyala adalah lebih kecil dari lampu tidur kamar kita. Powerbank

pun bisa digunakan untuk menyalakan Raspberry Pi, sehingga meningkatkan

portabilitas. Ini berarti, dengan Raspberry Pi, kita juga menghemat biaya

penggunaan listrik.

Raspberry Pi diciptakan oleh sekelompok orang di Inggris. Awalnya,

Raspberry Pi digunakan untuk membantu orang-orang di Afrika untuk belajar

Gambar 2.1 Logo Raspberry PI

Sumber : https://www.raspberrypi.org/

Page 21: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

5

komputer dengan biaya murah. Sehingga, orang-orang yang tidak mampu

juga dapat belajar komputer tanpa harus mengeluarkan biaya besar. Dalam

perkembangannya, Raspberry Pi menarik banyak minat orang karena

kemampuannya yang lebih dari sekedar komputer.

2.2.2 Bagian Fisik Raspberry

Bagian-bagian fisik yang terdapat di komputer dapat kita temuin

juga pada Raspberry Pi, berikut daftar bagian fisik Raspberry Pi :

Tabel 2.1 Daftar Bagian Fisik Raspberry Pi

BAGIAN FISIK FUNGSI

4 Buah Port USB

Untuk menyambngkan device

dengan Raspberry Pi yang

mendukung USB.

1 Port Lan Untuk terhubung ke internet melalui

kabel LAN.

1 Port HDMI

Untuk menampilkan output

Raspberry Pi pada layar monitor

khususnya HDMI.

1 Port Composite Audio & Video Untuk dihubungkan ke speaker atau

media penghasil suara lainnya.

1 Slot Micro SD

Sebagai tempat untuk memasukkan

Micro SD yang mana berfungsi

sebagai media penyimpanan.

Pin GPIO

(General Purpose Input Output)

Pin yang berfungsi sebagai pintu

masuk dan keluarnya data atau

sinyal.

1 Port Display Sebagai penghubung ke layar sentuh

namun berukuran 7 inchi.

1 Port Kamera Raspberry Pi menyediakan modul

kamera yang terpisah.

Page 22: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

6

2.2.3 Macam-Macam Raspberry Pi

Untuk memenuhi kebutuhan di banyak bidang, maka pembuat

Raspberry Pi memproduksinya dalam berbagai macam model untuk

menyesuaikannya dengan kebutuhan penggunanya. Jika kita mencari

Raspberry di internet, kita akan menemui model A dan model B. Model 1A

dan 1B adalah model yang pertama kali dikembangkan. Awalnya mereka

merencanakan akan ada model 2A, 2B, 3A, 3B, dan seterusnya. Tetapi, tidak

pernah dibuat model A selanjutnya, hanya model 2B dan 3B. Model A

digunakan untuk aplikasi yang membutuhkan daya kecil dengan memori yang

kecil juga. Ada kemungkinan jika Raspberry akan mengembangkan model A

yang baru lagi. Model B adalah penyempurnaan dari model A baik dari sisi

kemampuan komputasi maupun kelengkapannya. Model B sudah

dikembangkan menjadi Raspberry Pi 2B, Pi 3B, dan Pi Zero.

2.3 Bahasa Pemrograman

2.3.1 Python

Python merupakan bahasa pemrograman yang digunakan di banyak

aplikasi, termasuk pemrograman web, ilmu pengetahuan, dan juga

kecerdasan buatan (artificial intelligence).

Kamera

USB

LAN

Port

Display

Pin GPIO

HDMI Micro USB Composite

Gambar 2.2 Bagian Fisik Raspberry

Sumber : https://www.raspberrypi.org/

Page 23: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

7

Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah

untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba.

Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer

seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa

perusahaan menggunakan python sebagai pembuat perangkat lunak

komersial.

Pada buku Dini Triasanti Python adalah “Bahasa pemrograman yang

freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam

penyalinannya atau mendistribusikannya. Lengkap dengan source codenya,

debugger dan profiler, antarmuka yang terkandung di dalamnya untuk

pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan

basis datanya.

2.4 Micro SD

Gambar 2.3 Bentuk Micro SD

Sumber : https://www.androidpit.com/how-to-pick-the-right-microsd-card-for-

your-android-phone

MicroSD singkatan dari Micro Secure Digital yang merupakan memory card

dengan ukuran terkecil yang beredar dipasaran untuk konsumsi umum. Ukurannya

yang kecil membuat MircoSD banyak dipakai sebagai memory card handphone dan

gadget-gadget lain yang mengutamakan ukuran kecil, ukurannya hanya sebesar

Page 24: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

8

15mm x 11mm x 1 mm (tebal), kira-kira sebesar kuku jari tangan. (Sudjojo Marcus,

Tak-Tik Fotografi, 2010 hal : 30)

Sebenarnya sebelum MikroSD dikeluarkan atau popular, ada jenis memori

card lain yang berukuran lebih kecil dari SD, dan lebih besar dari microSD, yaitu

miniSD. Namun sejak berkembangnya microSD, secara berangsur miniSD mulai

jarang digunakan.

2.5 Breadboard

Gambar 2.4 Breadboard

Sumber : https://www.adafruit.com/product/64

Breadboard atau yang sering disebut sebagai Project Board adalah dasar

konstruksi sebuah sirkuit elektronik dan merupakan prototype dari suatu rangkaian

elektronik tanpa harus menyolder. Dengan memanfaatkan breadboard, komponen-

komponen elektronik yang dipakai tidak akan rusak dan dapat digunakan kembali

untuk membuat rangkaian yang lain. Breadboard umumnya terbuat dari plastik

dengan banyak lubang-lubang diatasnya. Lubang-lubang pada breadboard diatur

sedemikian rupa membentuk pola sesuai dengan pola jaringan koneksi di dalamnya.

Page 25: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

9

BAB III

METODOLOGI PENELITIAN

3.1 Jenis Penelitian

Jenis penelitian yang dilakukan merupakan pembuatan atau perancangan

resgistration server dengan menggunakan aplikasi dari Cisco, yang mana server

tersebut di install pada Raspberry Pi.

3.2 Tempat dan Waktu Penelitian

Tempat penelitian dilaksanakan di Politeknik Negeri Balikpapan khususnya

pada Lab. Cisco Lantai 3 Gedung Elektronika. Untuk waktu penelitian dilakukan

mulai dari April 2017 sampai dengan sekarang.

3.3 Perangkat Keras dan Perangkat Lunak Yang Dibutuhkan

Terdapat beberapa perangkat keras maupun perangkat lunak yang digunakan

dalam proses pengerjaan dan penelitian tugas akhir ini.

3.3.1 Perangkat Keras

Berikut adalah daftar perangkat keras yang dibutuhkan, beserta

daftar harganya :

Tabel 3.1 Daftar Perangkat Keras

No. Perangkat Keras Harga

1. Notebook Asus A556U Milik Pribadi

2. Raspberry Pi 3 Pinjaman Dari Kampus

3. Micro SD 16 GB Pinjaman Dari Kampus

4. Card Reader 20.000,00

5. Breadboard Pinjaman Dari Kampus

Page 26: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

10

6. Kabel Jumper Pinjaman Dari Kampus

Total Harga 20.000,00

Notebook Asus A556U yang digunakan memilki spesifikasi sebagai

berikut ini :

Tabel 3.2 Spesifikasi Notebook Asus A556U

Sistem Operasi Windows 10

Processor Intel Core i5-6200U

RAM 4 GB

VGA Nvidia Geforce 930M

HDD 1 TB

3.3.2 Perangkat Lunak

Berikut adalah daftar perangkat lunak yang dibutuhkan, beserta

daftar harganya :

Tabel 3.3 Daftar Perangkat Lunak

No. Perangkat Lunak Harga

1. PL-App Launcher -

2. SD Formatter -

3. Mozilla Firefox -

4. Packet Tracer -

Total Harga 0,00

3.4 Metode Pembuatan Server

Metode dalam pembuatan Server ini cukup sederhana, yakni dengan

mendownload semua bahan yang dibutuhkan, dan menyiapkan semua alat.

Kemudian melakukan penginstalisasian pada laptop dan juga pada raspberry.

Page 27: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

11

Gambar 3.1 Flowchart

Ditolak

Diterima

Menentukan Judul TA

Mulai

Membuat Konsep

Dan Proposal TA

Ditolak Proposal TA

Pelaksanaan Pembuatan TA

dan Uji Coba

Membuat Laporan TA

Diterima

Laporan TA

Selesai

3.5 Flowchart

Terdapat beberapa alur sebelum melakukan pembuatan tugas akhir hingga

sidang akhir TA sebagai berikut :

Page 28: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

12

3.6.1 Proses Menentukan Judul TA

Pada tahap flowchart ini, penulis bersama dengan Dosen

Pembimbing menentukan judul TA yang sesuai dengan kemampuan penulis

maupun Dosen Pembimbing, sehingga mempermudah dalam pengerjaan TA.

3.6.2 Proses Membuat Konsep Dan Proposal TA

Pada tahap ini, penulis mulai mencari referensi maupun sumber

materi yang dibutuhkan untuk pengerjaan TA. Penulisan Proposal juga telah

dilakukan untuk menghadapi sidang.

3.6.3 Sidang Proposal TA

Pada tahap ini, sidang dilakukan untuk membuktikan kelayakan dari

judul yang sudah ditentukan. Apabila judul diterima, maka melanjutkan ke

tahap pelaksanaan pembuatan TA, namun jika ditolak maka harus kembali ke

dalam proses menentukan Judul TA.

3.6.4 Pelaksanaan Pembuatan dan Uji Coba TA

Pada tahap ini penulis melaksanakan pembuatan TA serta

melakukan uji coba. Pada tahap ini juga penulis sudah mulai mempersiapkan

laporan TA.

3.6.5 Proses Membuat Laporan TA

Sama halnya dengan proses membuat konsep dan proposal TA, pada

tahap ini penulisan laporan TA serta mempersiapkan presentasi untuk sidang

akhir TA

3.6.5 Sidang Akhir TA

Pada tahap ini, penulis melakukan sidang atau presentasi yang mana

apabila diterima maka penulis lulus, dan jika ditolak maka penulis

menyiapkan kembali presentasi serta materi TA yang bersangkutan

Page 29: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

13

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian

4.1.1 Tampilan Untuk Halaman Login Cisco PL-App Launcher

Gambar 4.1 Halaman Login Pada Cisco PL-App Launcher

Pada tampilan ini user atau pengguna aplikasi Cisco PL-App

Launcher harus melakukan login dengan cara memasukkan password yang

didapat setelah pengguna selesai melakukan proses instalasi aplikasi Cisco

PL-App Launcher. Dimana tata cara pelaksaan instalasi aplikasi Cisco PL-

App Launcher terlampir pada lampiran. Setelah user selesai melakukan

proses login maka aplikasi akan menampilkan tampilan interface dari aplikasi

ini.

Page 30: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

14

Gambar 4.2 Interface Cisco PL-App Launcher

Tampilan interface Cisco PL-App Launcher ini akan tampil atau

muncul setelah user/pengguna telah berhasil melakukan proses login pada

halaman login awal aplikasi ini. Dimana pada interface Cisco PL-App

Launcher ini terdapat fitur atau fungsi berupa materi IOT maupun fitur untuk

membuat suatu project IOT.

Gambar 4.3 Menu Tab "New"

Pada menu tab “New” terdapat beberapa fitur yang digunakan untuk

membuat program ataupun membuat folder ketika kita ingin membuat suatu

Page 31: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

15

project. Ketika ingin membuat project baru, cukup dengan memilih “Python

2”, maka akan muncul tampilan seperti di bawah ini.

Gambar 4.4 Tampilan Menu "Python 2"

Pada tampilan ini, kita dapat membuat script dari project yang akan

dibuat. Terdapat tampilan lainnya yang lebih atraktif dalam membuat script

project, dengan menekan tombol yang di tandai dengan kotak merah diatas

atau biasa disebut dengan blockly, dan akan menghasilkan tampilan seperti di

bawah ini.

Gambar 4.5 Tampilan Blockly

Page 32: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

16

4.1.2 Perancangan Registration Server

Setelah selesai menginstall aplikasi diatas penulis mulai membuat

konsep Registration Server yang mana server tersebut digunakan untuk

mengendalikan alat-alat rumah tangga melalui suatu jaringan seperti lampu,

pintu rumah, jendela rumah, kipas angin, CCTV, pintu garasi, dan pemanas

air.

Sebelum menyambungkan alat-alat elektronik rumah tangga ke

registration server, konfigurasi terlebih dahulu server tersebut dengan

membuat konfigurasi ip pada tabel dibawah.

REGISTRATION SERVER

IP Address 192.168.0.2

Subnet Mask 255.255.255.0

Default Gateway 192.168.0.1

DNS Server -

Tabel 4.1 Konfigurasi IP Registration Server

Gambar 4.6 Konsep Penerapan Registration Server

Page 33: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

17

Sedangkan untuk ip address pada alat-alat elektronik rumah tangga

dapat dilihat pada tabel berikut.

Alat-Alat Elektronik IP Address

Kipas Angin 192.168.0.17

Pemanas Air 192.168.0.19

Pintu Garasi 192.168.0.18

CCTV 192.168.0.20

Jendela Rumah 192.168.0.21

Pintu Rumah 192.168.0.23

Lampu 192.168.0.22

Tabel 4.2 IP Address Alat-Alat Elektronik Rumah Tangga

Setelah berhasil mensetting ip address mulai dari server hingga alat-

alat elektronik tersebut kita masuk kedalam halaman login user dengan

memasukkan ip address registration server. Hal ini dilakukan agar user dapat

menambahkan, mengedit, atau mengolah dari alat-alat elektronik yang sudah

diberi ip address sebelumnya. Disini penulis membuat username : admin dan

password : admin, agar mempermudah dalam pengerjaan.

Gambar 4.7 Halaman Login Untuk User

Catatan :

User dapat ditambah dengan mendaftarkan pada registration server, jadi user

tidak hanya terpaku dengan admin saja, namun bisa dengan user lain namun

dengan keterbatasan akses, sedangkan admin memiliki full akses kontrol

kendali alat-alat tersebut.

Page 34: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

18

Setelah memasukkan username dan password, dapat dilihat terdapat

daftar alat-alat elektronik yang sudah diberi ip sebelumnya. Pada halaman ini

juga dapat menambahkan atau membuat script baru dengan mengklik pilihan

editor pada sudut kanan atas.

Gambar 4.8 Halaman Home

Sama halnya seperti remote pada umumnya terdapat tombol yang dapat

digunakan untuk menggendalikan alat tersebut, kita ambil contoh kipas angin.

Gambar 4.9 Remote Kipas Angin

Jika dilihat dari remote diatas, dengan tombol off menyala, maka

keadaan kipas adalah tidak hidup. Jika tombol Low hidup maka kipas

berputar dengan kecepatan rendah, dan jika tombol High hidup maka kipas

berputar dengan kecepatan tinggi, untuk script penulis meletakkan di

lampiran.

Gambar 4.10 Tombol Low Hidup Pada Remote Kipas Angin

Page 35: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

19

Gambar 4.11 Tombol High Hidup Pada Remote Kipas Angin

Gambar 4.12 Keadaan Kipas Angin

Sama halnya seperti remote kipas angin, remote dari alat-alat

elektronik lainnya tidak jauh berbeda, seperti gambar dibawah ini.

Gambar 4.13 Remote Pemanas Air, Pintu Garasi, dan CCTV

Gambar 4.14 Remote Jendela Rumah, Pintu Rumah, dan Lampu

Off Low High

Page 36: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

20

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah membuat server Internet Of Things atau IOT dapat disimpulkan

bahwa :

1. Server ini dapat digunakan sebagai pembelajaran khususnya di bidang IOT

itu sendiri

2. Mempermudah mahasiswa dalam mempelajari IOT

3. Terdapat beberapa contoh sederhana IOT yang dapat dibuat dari server ini

5.2 Saran

Saran yang dapat penulis sampaikan adalah :

1. Untuk pengembangan agar tampilan lebih dibuat semenarik mungkin

2. Dibuat kan user admin yang, sehingga tidak sembarang orang bisa

masuk

Page 37: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

21

DAFTAR PUSTAKA

Agus Eka Pratama, I Putu. (2014) : Smarty City beserta Cloud Computing dan

Teknologi-Teknologi Pendukung Lainnya, Bandung, Informatika.

Behmann, Fawzi . Kwok Wu. (2015) : Collaborative Internet of Things for Future

Smart Connected Life and Business, United Kingdom, Wiley.

Dinata, Andi. (2017) : Physical Computing dengan Raspberry Pi, Jakarta,

Elex Media Komputindo.

Sudjojo, Marcus. (2010) : Tak-Tik Fotografi, Jakarta, Bukune.

The Raspberry PI Foundation. “Teach, Learn and Make With Raspberry PI”.

https://www.raspberrypi.org/

Page 38: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

22

LAMPIRAN

Lampiran 1 Menghilangkan Format Drive Pada Micro SD

Buka cmd, dan “Run as administrator”.

Ketik diskpart untuk masuk dalam sub bagian drive.

Page 39: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

23

Kemudian ketik list disk untuk melist drive yang ada, cari yang sesuai dengan

ukuran micro SD dan ketik lagi select disk .... (sesuai micro SD).

Kemudian ketikkan perintah clean untuk menghilangkan format yang ada pada

micro SD.

Page 40: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

24

Lampiran 2 Memformat Micro SD Dengan SD Formatter

Pilih drive yang sesuai dengan mikro sd berada atau sesuaikan size nya kemudian

klik Format, proses berlangsung selama kurang dari 5 menit.

Klik OK untuk menyelesaikan proses format.

Page 41: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

25

Setelah selesai, maka micro sd akan kosong dan siap untuk di install.

Lampiran 3 Penginstallan Server Internet Of Things

Siapkan semua bahan aplikasi untuk penginstallan server Internet Of Things

Page 42: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

26

Run admin pada “PL-App_Launcher”

Accept the agreement kemudian klik next

Page 43: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

27

Centang create to desktop kemudian next

Klik install kemudian tunggu hingga selesai

Page 44: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

28

Centang kemudian klik finish untuk masuk kedalam aplikasi

Pada kolom nomor 1 pilih drive micro sd, kemudian pada kolom 2 pilih tempat file

zip server berada. Untuk kolom nomor 3 digunakan untuk memberikan nama pada

raspberry server, disini penulis memberi nama “TA-myRP” dengan password

“ta2017”.

Page 45: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

29

Pada kolom WiFi SSID dan WiFi Password, isikan sesuai dengan hotspot atau wifi

yang ada, disini penulis menggunakan hostspot handphone dengan SSID TA dan

tugas2017 sebagai passwordnya kemudian klik Write Disk Image

Tunggu hingga beberapa saat sampai mendapat notif berikut

Page 46: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

30

Tunggu hingga proses penginstallan selesai hingga device sudah terdaftar

Page 47: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

31

Lampiran 4 Script Untuk Kipas Angin

var FAN_SPEED_LOW = 0.4;

var FAN_SPEED_HIGH = 0.8;

var COOLING_RATE = -1/3600;

var HUMDITY_REDUCTION_RATE = -1/3600;

var VOLUME_AT_RATE = 100000;

var state = 0; // 0 off, 1 low, 2 high

var level = 0;

function setup() {

IoEClient.setup({

type : "Ceiling Fan",

states : [

{

Page 48: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

32

name : "Status",

type : "options",

options : {

"0" : "Off",

"1" : "Low",

"2" : "High"

},

controllable : true

}

]

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setState(state);

}

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

toggleState();

Page 49: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

33

}

function processData(data, bIsRemote)

{

if ( data.length <= 0 )

return;

data = data.split(",");

setState(parseInt(data[0]));

}

function sendReport()

{

var report = state;

customWrite(0, report);

IoEClient.reportStates(report);

setDeviceProperty(getName(), "state", state);

}

function setState(newState)

{

analogWrite(A1, newState);

state = newState;

Page 50: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

34

sendReport();

updateEnvironment();

}

function toggleState()

{

++state;

if ( state >= 3 )

state = 0;

setState(state);

}

function updateEnvironment()

{

var volumeRatio = VOLUME_AT_RATE / Environment.getVolume();

if ( state === 0){

Environment.setContribution("Wind Speed", 0, 0);

Environment.setContribution("Ambient Temperature", 0, 0);

Environment.setContribution("Humidity", 0,0);

}

else if ( state == 1 )

Page 51: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

35

{

Environment.setContribution("Wind Speed", FAN_SPEED_LOW,

FAN_SPEED_LOW, false);

Environment.setContribution("Ambient Temperature",

COOLING_RATE/2*volumeRatio,

Environment.getCumulativeContribution("Ambient Temperature")-100);

Environment.setContribution("Humidity",

HUMDITY_REDUCTION_RATE/2*volumeRatio,

Environment.getCumulativeContribution("Humidity")-100);

}

else if ( state == 2)

{

Environment.setContribution("Wind Speed", FAN_SPEED_HIGH,

FAN_SPEED_HIGH, false);

Environment.setContribution("Ambient Temperature",

COOLING_RATE/2*volumeRatio,

Environment.getCumulativeContribution("Ambient Temperature")-100);

Environment.setContribution("Humidity",

HUMDITY_REDUCTION_RATE*volumeRatio,

Environment.getCumulativeContribution("Humidity")-100);

}

}

Page 52: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

36

Lampiran 5 Script Untuk Pemanas Air

var state = 0;

function setup() {

IoEClient.setup({

type : "Appliance",

states : [{

name : "On",

type : "bool",

controllable : true

}]

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setState(state);

}

Page 53: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

37

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

setState(state ? 0 : 1);

}

function processData(data, bIsRemote) {

if ( data.length <= 0 )

return;

setState(parseInt(data));

}

function setState(newState) {

state = newState;

if ( state === 0 )

digitalWrite(1, LOW);

else

digitalWrite(1, HIGH);

customWrite(0, state);

IoEClient.reportStates(state);

setDeviceProperty(getName(), "state", state);

Page 54: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

38

}

Lampiran 6 Script Untuk Pintu Garasi

var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",

"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];

var ENVIRONMENT_MAX_IMPACT = -0.04; // 4% max when door opens

var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.50; // increase

speed 25% when door open

var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.50;

var GASES_TRANSFERENCE_MULTIPLIER = 2;

var state = 0; // 0 off, 1 on

function setup() {

IoEClient.setup({

type : "Garage Door",

states : [{

name : "On",

type : "bool",

controllable : true

}]

});

IoEClient.onInputReceive = function(input) {

Page 55: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

39

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setState(state);

}

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

setState(state ? 0 : 1);

}

function updateEnvironment()

{

var rate,max;

if ( state == 1)

{

for(var i=0; i<ENVIRONMENTS.length; i++){

max = Environment.get(ENVIRONMENTS[i]) *

ENVIRONMENT_MAX_IMPACT;

rate = max / 3600 * 100000 / Environment.getVolume();

Page 56: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

40

Environment.setContribution(ENVIRONMENTS[i], rate, max);

Environment.setTransferenceMultiplier(ENVIRONMENTS[i],

GASES_TRANSFERENCE_MULTIPLIER);

}

Environment.setTransferenceMultiplier("Ambient Temperature",

TEMPERATURE_TRANSFERENCE_MULTIPLIER);

Environment.setTransferenceMultiplier("Humidity",

HUMIDITY_TRANSFERENCE_MULTIPLIER);

}

else

{

for(var j=0; j<ENVIRONMENTS.length; j++){

Environment.setContribution(ENVIRONMENTS[j], 0, 0);

Environment.removeCumulativeContribution(ENVIRONMENTS[j]);

Environment.setTransferenceMultiplier(ENVIRONMENTS[j], 1);

}

Environment.setTransferenceMultiplier("Ambient Temperature", 1);

Environment.setTransferenceMultiplier("Humidity", 1);

}

}

function processData(data, bIsRemote) {

if ( data.length <= 0 )

Page 57: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

41

return;

setState(parseInt(data));

}

function setState(newState) {

state = newState;

digitalWrite(1, state ? HIGH : LOW);

customWrite(0, state);

IoEClient.reportStates(state);

setDeviceProperty(getName(), "state", state);

updateEnvironment();

}

Lampiran 7 Script Untuk CCTV

var state = 0;

//set up client to talk and listen to IoE registration server

function setup() {

IoEClient.setup({

type: "Webcam",

Page 58: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

42

states: [{

name: "On",

type: "bool",

controllable: true

},

{

name: "Image",

type: "image"

}]

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setState(state);

sendReport();

}

Page 59: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

43

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

setState(state ? 0 : 1);

}

//send captured image file path to registration server

function loop() {

sendReport();

delay(1000);

}

//process data received from server

function processData(data, bIsRemote)

{

if ( data.length <= 0 )

return;

data = data.split(",");

setState(parseInt(data[0]));

}

//send image path to server

var imageLoop=0;

function sendReport()

Page 60: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

44

{

var report = state + ",";

if (state === 0)

report += '../art/IoE/SmartDevices/camera_off.png';

else{

report +=

'../art/IoE/SmartDevices/camera_image'+imageLoop+'.png';

imageLoop++;

if ( imageLoop >= 3)

imageLoop =0;

}

customWrite(0, report);

IoEClient.reportStates(report);

setDeviceProperty(getName(), "state", state);

}

//set state and update component image to reflect the current state

function setState(newState)

{

if ( newState === 0 )

digitalWrite(1, LOW);

else

digitalWrite(1, HIGH);

Page 61: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

45

state = newState;

}

Lampiran 8 Script Untuk Jendela Rumah

var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",

"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];

var ENVIRONMENT_MAX_IMPACT = -0.01; // 2% max when door opens

var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.20; // increase

speed 25% when door open

var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.20;

var GASES_TRANSFERENCE_MULTIPLIER = 2;

var state = 0;

//set up client to talk and listen to IoE registration server

function setup() {

IoEClient.setup({

type: "Window",

states: [{

name: "Status",

type: "bool",

controllable: true

}]

Page 62: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

46

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setState(state);

}

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

setState(state ? 0 : 1);

}

function loop() {

updateEnvironment();

delay(1000);

}

Page 63: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

47

//process data received from server

function processData(data, bIsRemote)

{

if ( data.length <= 0 )

return;

data = data.split(",");

setState(parseInt(data[0]));

}

//set state and update component image to reflect the current state

function setState(newState)

{

if ( newState === 0 )

digitalWrite(1, LOW);

else{

digitalWrite(1, HIGH);

}

state = newState;

customWrite(0, state);

IoEClient.reportStates(state);

setDeviceProperty(getName(), "state", state);

}

Page 64: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

48

function updateEnvironment()

{

var rate,max;

if ( state == 1)

{

for(var i=0; i<ENVIRONMENTS.length; i++){

max = Environment.get(ENVIRONMENTS[i]) *

ENVIRONMENT_MAX_IMPACT;

rate = max / 3600 * 100000 / Environment.getVolume();

Environment.setContribution(ENVIRONMENTS[i], rate,

max);

Environment.setTransferenceMultiplier(ENVIRONMENT

S[i], GASES_TRANSFERENCE_MULTIPLIER);

}

Environment.setTransferenceMultiplier("Ambient Temperature",

TEMPERATURE_TRANSFERENCE_MULTIPLIER);

Environment.setTransferenceMultiplier("Humidity",

HUMIDITY_TRANSFERENCE_MULTIPLIER);

}

else

{

for(var j=0; j<ENVIRONMENTS.length; j++){

Environment.setContribution(ENVIRONMENTS[j], 0, 0);

Environment.removeCumulativeContribution(ENVIRONM

ENTS[j]);

Page 65: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

49

Environment.setTransferenceMultiplier(ENVIRONMENT

S[j], 1);

}

Environment.setTransferenceMultiplier("Ambient Temperature",

1);

Environment.setTransferenceMultiplier("Humidity", 1);

}

}

Lampiran 9 Script Untuk Pintu Rumah

var ENVIRONMENTS = ["Argon", "CO", "CO2", "Hydrogen", "Helium",

"Methane", "Nitrogen", "O2", "Ozone", "Propane", "Smoke"];

var ENVIRONMENT_MAX_IMPACT = -0.02; // 2% max when door opens

var TEMPERATURE_TRANSFERENCE_MULTIPLIER = 1.25; // increase

speed 25% when door open

var HUMIDITY_TRANSFERENCE_MULTIPLIER = 1.25;

var GASES_TRANSFERENCE_MULTIPLIER = 2;

var doorState = 0; // 0 is closed, 1 is opened

var lockState = 0; // 0 is unlocked, 1 is locked

function setup() {

IoEClient.setup({

type: "Door",

states: [{

Page 66: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

50

name: "Open",

type: "bool"

}, {

name: "Lock",

type: "options",

options: {

"0": "Unlock",

"1": "Lock"

},

controllable: true

}]

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

processData(customRead(0), false);

});

setDoorState(doorState);

setLockState(lockState);

}

Page 67: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

51

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress) {

if ( isPointInRectangle(x, y, 10,40,5,10) )

{

if ( lockState === 0 )

setLockState(1);

else

setLockState(0);

}

else

{

if ( doorState === 0 )

openDoor();

else

closeDoor();

}

}

}

function loop() {

}

Page 68: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

52

function processData(data, bIsRemote)

{

if ( data.length <= 0 )

return;

Serial.println(data);

data = data.split(",");

var doorStateData = parseInt(data[0]);

var lockStateData = parseInt(data[1]);

if ( lockStateData > -1 )

setLockState(lockStateData);

if ( doorStateData > -1 && !bIsRemote ){

if ( doorStateData === 0 )

closeDoor();

else

openDoor();

}

}

function sendReport()

{

var report = doorState+","+lockState;

customWrite(0, report);

Page 69: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

53

IoEClient.reportStates(report);

setDeviceProperty(getName(), "door state", doorState);

setDeviceProperty(getName(), "lock state", lockState);

}

function closeDoor()

{

setDoorState(0);

updateEnvironment();

}

function openDoor()

{

if (lockState===0)

{

setDoorState(1);

updateEnvironment();

}

else

{

Serial.println("can't open locked door");

}

}

Page 70: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

54

function setDoorState(state)

{

if ( state === 0){

digitalWrite(1, LOW);

setComponentOpacity("led", 1);

}

else{

digitalWrite(1, HIGH);

setComponentOpacity("led", 0);

}

doorState = state;

sendReport();

}

function setLockState(state)

{

if ( state === 0 )

digitalWrite(2, LOW);

else

digitalWrite(2, HIGH);

lockState = state;

Page 71: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

55

sendReport();

}

function updateEnvironment()

{

var rate,max;

if ( doorState == 1)

{

for(var i=0; i<ENVIRONMENTS.length; i++){

max = Environment.get(ENVIRONMENTS[i]) *

ENVIRONMENT_MAX_IMPACT;

rate = max / 3600 * 100000 / Environment.getVolume();

Environment.setContribution(ENVIRONMENTS[i], rate,

max);

Environment.setTransferenceMultiplier(ENVIRONMENT

S[i], GASES_TRANSFERENCE_MULTIPLIER);

}

Environment.setTransferenceMultiplier("Ambient Temperature",

TEMPERATURE_TRANSFERENCE_MULTIPLIER);

Environment.setTransferenceMultiplier("Humidity",

HUMIDITY_TRANSFERENCE_MULTIPLIER);

}

else

{

for(var i=0; i<ENVIRONMENTS.length; i++){

Page 72: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

56

Environment.setContribution(ENVIRONMENTS[i], 0, 0);

Environment.removeCumulativeContribution(ENVIRONM

ENTS[i]);

Environment.setTransferenceMultiplier(ENVIRONMENT

S[i], 1);

}

Environment.setTransferenceMultiplier("Ambient Temperature",

1);

Environment.setTransferenceMultiplier("Humidity", 1);

}

}

function isPointInRectangle(x,y, rx, ry, width, height) {

if (width <= 0 || height <= 0) {

return false;

}

return (x >= rx && x <= rx + width && y >= ry && y <= ry + height);

}

Lampiran 10 Script Untuk Lampu

var ENVIRONMENT_IMPACT_DIM = 10;

var VOLUME_AT_RATE = 100000;

var state = 0; // 0 off, 1 low, 2 high

Page 73: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

57

var lastTimeInSeconds = 0;

function setup() {

IoEClient.setup({

type: "Light",

states: [

{

name: "Status",

type: "options",

options: {

"0": "Off",

"1": "Dim",

"2": "On"

},

controllable: true

}

]

});

IoEClient.onInputReceive = function(input) {

processData(input, true);

};

attachInterrupt(0, function() {

Page 74: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

58

processData(customRead(0), false);

});

setState(state);

}

function mouseEvent(pressed, x, y, firstPress) {

if (firstPress)

setState(state+1);

}

function loop() {

updateEnvironment();

delay(1000);

}

function processData(data, bIsRemote) {

if ( data.length <= 0 )

return;

setState(parseInt(data));

}

function setState(newState) {

if (newState >= 3)

Page 75: UNTUK APLIKASIspmi.poltekba.ac.id/spmi/fileTA/140309248793_2017.pdf · Gambar 4.9 Remote Kipas Angin 18 ... Membuat registration server yang dapat diakses melalui jaringan luar maupun

59

newState = 0;

state = newState;

analogWrite(A1, state);

customWrite(0, state);

IoEClient.reportStates(state);

setDeviceProperty(getName(), "state", state);

}

function updateEnvironment()

{

var volumeRatio = VOLUME_AT_RATE / Environment.getVolume();

if ( state === 0 )

Environment.setContribution("Visible Light", 0,0);

else if ( state === 1)

Environment.setContribution("Visible Light",

ENVIRONMENT_IMPACT_DIM*volumeRatio,

ENVIRONMENT_IMPACT_DIM*volumeRatio, false);

else if ( state === 2 )

Environment.setContribution("Visible Light",

ENVIRONMENT_IMPACT_DIM*2*volumeRatio,

ENVIRONMENT_IMPACT_DIM*2*volumeRatio, false);

}