Anda di halaman 1dari 20

MAKALAH

SISTEM INTERNET OF THING (SIoT)

Disusun Oleh :

Evan Setyawanta Sitepu

Fransiskus Asisi Nathanniel Setiawan

Nadya Azzahra

Kelas : XI Teknik Informatika

SMK PARIWISATA METLAND SCHOOL

2022

I
Kata Pengantar

Puji syukur kehadirat Allah SWT Tuhan Yang Maha Esa atas
segala rahmat-Nya sehingga makalah dengan judul “Sistem Internet of
Thing” ini dapat tersusun hingga selesai. Tidak lupa juga penulis
mengucapkan banyak terima kasih atas bantuan dari pihak yang telah
berkontribusi dengan memberikan sumbangan baik materi maupun
pikirannya.

Penyusunan makalah ini bertujuan untuk mengisi nilai tugas dalam


pelajaran Sistem Internet of Thing (SIoT). Semoga makalah yang kami
buat ini bisa menunjukkan bahwa Sistem Internet of Thing bisa
membantu kegiatan dan aktivitas kita sehari-hari.

Sebagai penulis, kami menyadari bahwa masih terdapat


kekurangan dalam makalah ini. Baik tutur kata, tata letak, dan lain
sebagainya. Oleh sebab itu, kritik dan saran sangat kami harapkan demi
membuat makalah kami menjadi lebih baik kedepannya. Atas perhatian
serta waktunya, kami ucapkan banyak Terima Kasih.

Cileungsi, Februari 2022

II
DAFTAR ISI

COVER.................................................................................I
KATA PENGANTAR........................................................II
DAFTAR ISI.....................................................................III
BAB 1 PENDAHULUAN...................................................1
1.1....................................................................................1
1.2....................................................................................1
1.3....................................................................................2
BAB II PEMBAHASAN.....................................................2
2.1....................................................................................2
2.2....................................................................................3
2.3....................................................................................5
2.4....................................................................................5
2.5....................................................................................6
2.6....................................................................................8
2.7..................................................................................10
2.8..................................................................................10
2.9..................................................................................12
2.10................................................................................13
2.11................................................................................14
2.12................................................................................15
2.13................................................................................15
2.14................................................................................16
BAB III SIMPULAN........................................................17
3.1..................................................................................17
3.2..................................................................................17

III
BAB I

PENDAHULUAN

1.1 Latar Belakang

Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat


menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan
program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor
yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada
aktuator yang dapat memberikan efek ke lingkungan.

Jadi secara sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu
perangkat/produk yang mempu berinteraksi dengan lingkungan sekitarnya. Berbeda
dengan CPU serba-guna, mikrokontroler tidak selalu memerlukan memori eksternal,
sehingga mikrokontroler dapat dibuat lebih murah dalam kemasan yang lebih kecil
dengan jumlah pin yang lebih sedikit.

sistem minimal (system minimum) adalah sebuah rangkaian mikrokontroler


yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC
mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah
sistem minimal mikrokontroler  memiliki prinsip yang sama.

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai


arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses
eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set
Computer).

Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan


memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan
kerja dan parallelism.

Apakah arduino? Arduino adalah merupakan sebuah board minimum system


mikrokontroler yang bersifat open source. Didalam rangkaian board arduino terdapat
mikrokontroler AVR seri ATMega 328 yang merupakan produk dari Atmel.

1.2 Rumusan Masalah

Bedasarkan dari latar belakang diatas, maka rumusan masalah pada makalah
ini adalah sebagai berikut.
- Pengertian Adruino
- Fitur yang ada di Arduino
- Kelebihan dan kekurangan Arduino

1
1.3 Tujuan Penelitian

Kami membuat makalah ini bertujuan untuk mengasah kemampuan dan


pengetahuan kami mengenai Sistem Internet of Thing (SIoT). intinya, perangkat
Arduino Uno ini bisa sangat membantu kita dalam melakukan aktivitas.

BAB II

PEMBAHASAN

2.1 Pengertian Arduino

Arduino adalah sebutan untuk platform elektronik open-source, board, dan


juga software yang digunakan untuk memrogramnya. Arduino dibuat untuk
digunakan oleh orang-orang yang ingin membuat objek interaktif. Dengan Arduino,
penggunanya bisa merakit hardware dan memprogramnya sendiri sesuai kebutuhan.

Hardware Arduino diprogram menggunakan bahasa pemrograman C/C++,


yang sudah disederhanakan dan dimodifikasi. Arduino mengikuti pola pemrograman
Wiring(syntax dan library). Sementara untuk editor pemrograman nya (IDE –
Intergrated Development Enviroment) dikembangkan dari Processing.

Dikembangkan oleh sebuah team yang beranggotakan orang-orang dari


berbagai belahan dunia.anggota inti dari tim ini:

- Massimo Banzi Milano, Italy

- David Cuartielles Malmoe, Sweden

- Tom Igoe New York, US

- Gianluca Martino Torino, Italy

- David A. Mellis Boston, MA, USA

Software Arduino dapat dijalankan pada sistem operasi Windows, Macintosh


OSX, dan Linux. Banyak sistem mikrokontroler lain hanya bisa dijalankan di
Windows.

Konfigurasi hardware arduino dibagi :

- Block regulator 5 volt dan 3.3V


- Block minimum sistem standar mikrokontroler
- Block pin (analog, digital dan power)
- Block ftdi untuk komunikasi dengan komputer

2
2.2 Struktur Program Arduino

Structure

Srtuktur dasar bahasa pemrograman Arduino sangat sederhana hanya terdiri


dari dua bagian. Dua bagian tersebut dapat juga disebut sebagai fungsi utama
yaitu setup() dan loop().

dimana setup() adalah bagian untuk inisialisasi yang hanya dijalankan sekali di


awal program, sedangkan loop() untuk mengeksekusi bagian program yang akan
dijalankan berulang-ulang untuk selamanya.

Setup()

Fungsi setup() hanya di panggil satu kali ketika program pertama kali


dijalankan. Ini digunakan untuk pendefinisikan mode pin atau memulai komunikasi
serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada
statement yang dijalankan.

Loop()

Setelah menjalankan fungsi setup() maka secara langsung akan melakukan


fungsi loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam
fungsi loop() terus menerus.

3
Function

Function (fungsi) adalah blok pemrograman yang mempunyai nama dan


mempunyai statement yang akan di eksekusi ketika function tersebut di panggil.
Fungsi void setup() dan void loop() telah di bahas di atas dan pembuatan fungsi yang
lain akan di bahas selanjutnya.

Contoh :

Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena


kalau tidak menghendaki adanya nilai balik maka type function harus void.

{}Curly Braces

Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila
ketika memprogram dan progremer lupa memberi curly brace tutup maka ketika di
compile akan terdapat laporan error.

;Semicolon

Semua statement yang di tulis dalam block comments tidak akan di eksekusi
dan tidak akan di compile sehingga tidak mempengaruhi besar program yang di buat
untuk di masukan dalam board arduino.

4
/*…*/Blok Comment

Semicolon harus di berikan pada setiap statement program yang kita buat ini
merupakan pembatas setiap statement program yang di buat.

//Line comment

Sama halnya dengan block comments, line coments pun sama hanya saja yang
dijadikan komen adalah perbaris.

2.3 Variabel

Variable adalah sebuah penyimpan nilai yang dapat digunakan dalam


program. Variable dapat di rubah sesuai dengan instruksi yang kita buat. Ketika
mendeklarisikan variable harus di ikut sertakan type variable serta nilai awal variable.

Contoh

//mendefinisikan sebuah variable bernama inputVariable dengan


nilai awal 0

int inputVariable = 0;

//menyimpan nilai yang ada di analog pin 2 ke inputVariable

inputVariable = analogRead(2);

2.4 Variabel Scope

Sebuah variable dapat di deklarasikan pada awal program sebelum


void setup(), secara local di dalam sebuah function, dan terkadang di dalam sebuah
block statement pengulangan. Sebuah variable global hanya satu dan dapat digunakan
pada semua block function dan statement di dalam program. Variable global di
deklarasikan pada awal program sebelum fungsi setup(). Sebuah variable local di
deklarasikan di setiap block function atau di setiap block statement pengulangan dan
hanya dapat digunakan pada block yang bersangkutan saja. Contoh penggunaan:

5
int value; //‘value’ adalah variable global dan dapat di gunakan
pada semua block funtion

void setup()

//no setup needed

void loop()

for (int i=0; i<20 code="" dalam="" dapat="" di="" f=""


float="" gunakan="" hanya="" i="" local="" pengulangan="" saja=""
sebagai="" variable="">

2.5 Tipe Data

Byte

type byte dapat menyimpan 8-bit nilai angka bilangan asli tanapa koma. Byte
memiliki range 0 – 255.

byte biteVariable = 160; //mendeklarasikan ‘biteVariable’ sebagai


type byte

Integer

Integer merupakan tipe data utama untuk menyimpan nilai bilangan bulat
tanpa koma. Penyimpanan integer sebesar 16-bit dengan range 32.767 sampai -
32.768.

int integerVariable = 1500; //mendeklarasikan ‘integerVariable’


sebagai type integer

6
Long

Perluasan ukuran untuk long integer, penyimpanan long integer sebesar 32-bit
dengan range 2.147.483.647 sampai -2.147.483.648.

long longVariable = 900000; //mendeklarasikan ‘longVariable’


sebagai type long

Float

Float adalah tipe data yang dapat menampung nilai decimal, float merupakan
penyimpan yang lebih besar dari integer dan dapat menyimpan sebesar 32-bit dengan
range 3.4028235E+38 sampai -3.4028235E+38.

float floatVariable = 3.14; //mendeklarasikan ‘floatVariable’


sebagai type float

Array

Array adalah kumpulan nilai yang dapat di akses dengan nomor index, nilai
yang terdapat dalam array dapat di panggil dengan cara menuliskan nama array dan
nomor index. Array dengan index 0 merupakan nilai pertama dari array. Array perlu
di deklarasikan dan kalau perlu di beri nilai sebelum digunakan.

int myArray[] = {value0, value1, value2 . . . }

Contoh penggunaan aray:

int myArray[] = {2,4,6,8,10}

x = myArray[5]; //x sekarang sama dengan 10

7
2.6 Operator Aritmatika

Aritmatika

operator aritmatik terdiri dari penjumlahan, pengurangan, pengkalian, dan


pembagian.

Dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe


data yang digunakan jangan sampai terjadi overflow range data.

Compound Assignments

Compound assignments merupakan kombinasi dari aritmatic dengan sebuah


variable. Ini biasanya dipakai pada pengulangan.

x ++; //sama seperti x = x + 1 atau menaikan nilai x sebesar 1

x --; //sama seperti x = x - 1 atau mengurangi nilai x sebesar 1

x += y; //sama seperti x = x + y

x -= y; //sama seperti x = x – y

x *= y; //sama seperti x = x * y

x /= y; //sama seperti x = x / y

8
Comparison

Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai
1 atau true. Statement ini banyak digunakan dalam operator bersyarat.

x == y; //x sama dengan y

x != y; //x tidak sama dengan y

x < y; //x leboh kecil dari y

x > y; //x lebih besar dari y

x <= y; //x lebih kecil dari sama dengan y

x >= y; //x lebih besar dari sama dengan y

Logic operator
Operator logical digunakan untuk membandingkan dua expresi dan
mengembalikan nilai balik benar atau salah tergantung dari operator yang digunakan.
Terdapat 3 operator logical AND,OR, dan NOT, yang biasanya digunakan pada if
statement.
Contoh penggunaan:

Logical AND

if(x>0 && x<5 apabila="" benar="" bernilai="" code="" kedua=""


operator="" pembanding="" terpenuhi="">

Logical OR

if(x>0 || y>0) //bernilai benar apabila salah satu dari operator


pembanding terpenuhi

Logical NOT

9
if(!x > 0) //benilai benar apabila ekspresi operator
salahConstants

2.7 Constants
Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut
konstanta. Ini membuat memprogram lebih mudah untuk di baca. Konstanta di
kelasifikasi berdasarkan group.

true/false
Merupakan konstanta Boolean yang mendifinisikan logic level. False dapat
didefinisikan sebagai 0 dan True sebagai 1.

if(b == TRUE);{

//doSomething}

high/low
Konstanta ini digunakan untuk menentukan kondisi pin pada
level HIGH atau LOW ketika membaca dan menulis dari/ke pin
digital. HIGH didefinisikan sebagai logic 1, ON, atau 5 volt sedangkan LOW sebagai
logic 0, OFF, atau 0 volt.

digitalWrite(13, HIGH);

input/output
Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam
mode pin digital, sebagai INPUT atau OUTPUT.

pinMode(13, OUTPUT);

10
2.8 Flow control

if
Operator if mengetes sebuah kondisi apakah sudah tercapai/benar atau belum,
dicontohkan seperti pengetesan nilai analog apakah sudah berada di bawah nilai yang
kita kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi baris program
yang ada dalam brackets kalau tidak terpenuhi maka akan melewati baris program
yang ada dalam brackets.

if(someVariable ?? value){

//DoSomething;}

if....else
Operator if…else mengetes sebuah kondisi apabila tidak sesuai dengan
kondisi maka akan mengeksekusi baris program yang ada di else.

if(inputPin == HIGH){

//Laksanakan rencana A;}else{

//Laksanakan rencana B;}

for
Operator for digunakan untuk mengulang blok statement di dalam bracket,
beberapa kali sesuai dengan jumlah yang ditentukan. Setiap for() loop mempunyai
tiga parameter dan dipisahkan menggunakan titik koma (;):

for(initialization; condition; expression){

//doSomethig;}

Contoh penggunaan:

for(index=0; index<=3; index++){

11
counter++;}

1. index=0; Sesuatu yang dikerjakan sebelum dimulai: Membuat index = 0.


2. index<=3; Operasi logika yang dites, selama hasilnya benar (true) akan terus
looping: Jika index lebih kecil atau sama dengan 3, akan menjalankan kode yang ada
di dalam bracket {}. Ketika index = 4, akan keluar dari loop dan melanjutkan baris
kode selanjutnya di dalam sketch.
3. index++ Sesuatu yang dilakukan setelah menjalankan satu baris
statement: Meletakan "++" setelah sebuah variabel bermaksud menambahkan variabel
tersebut dengan satu. Dapat juga menggunakan "index = index + 1".

while
Operator while akan terus mengulang baris perintah yang ada dalam bracket
sampai ekspresi sebagai kondisi pengulangan benilai salah.

while(someVariable ?? value){

//doSomething;}

do… while
Sama halnya dengan while() hanya saja pada operator do…while tidak
melakukan pengecekan pada awal tapi di akhir, sehingga otomatis akan melakukan
satu kali baris perintah walaupun pada awalnya sudah terpenuhi.

do{

//doSomething;}while (someVariable ?? value);

2.9 Digital I/O


Board Arduino mempunyai jumlah pin yang berlabel digital D0 - D13
sebanyak 14 dengan pengalamatnya 0 - 13. Namun apabila pin digital yang kita
butuhkan masih kurang, kita masih bisa menambahnya dengan menggunakan pin
yang berlabel analog A0 - A5 difungsikan sebagai pin digital input/output dengan
pengalamatnya 14 - 19. Ada saat tertentu pin digital 0 dan 1 tidak bisa digunakan
karena di pakai untuk komunikasi serial, sehingga harus hati-hati dalam
pengalokasian I/O.

pinMode(pin, mode)

12
Biasa digunakan dalam void setup() untuk mengkonfigurasi pin apakah
sebagai INPUT atau OUTPUT. Arduino digital pins secara default di konfigurasi
sebagai input sehingga untuk merubahnya harus menggunakan operator pinMode(pin,
mode).

pinMode (pin, OUTPUT); //mengeset pin sebagai output

digitalWrite(pin, HIGH); //mengeset keluaran nilai HIGH (5 volt)


pada pin

digitalRead(pin)
Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.

value = digitalRead(pin); //mengeset ‘value’ sama dengan pin

digitalWrite(pin, value)
Digunakan untuk mengeset pin yang kita kehendaki dalam kondisi level
tegangan HIGH atau LOW (nyala atau mati). Pin digital arduino mempunyai 14 ( 0 –
13 ).

digitalWrite ( pin, HIGH ); //set pin ke kondisi HIGH

2.10 Analog I/O


Selain pin digital Arduino dilengkapi juga oleh pin analog yang berfungsi
untuk membaca input tegangan variabel antara 0 - 5 volt dengan resolusi ADC
(Analog to Digital) 10-bit. Pada Arduino ada 6 pin yang berlabel analog input dengan
pengalamatan A0 - A5. Tidak seperti pin digital yang dapat di fungsikan selain
sebagai digital input dapat juga sebagai digital output, namun pada pin analog hanya
dapat berfungsi sebagai analog input saja, apabila kamu ingin membuat Arduino
mengeluarkan output tegangan analog kamu masih bisa melakukannya dengan
menggunakan pin digital yang berlabel PWM (3,5,6,9,10,11), sejatinya tegangan
analog yang dikeluarkan Arduino adalah dengan memanipulasi output digital secara
pulsa.

analogRead(pin)

13
Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini
hanya dapat bekerja pada analog pin (0 - 5). Hasil dari pembacaan berupa
nilai integer dengan range 0 sampai 1023.

value = analogRead(pin); //mengeset ‘value’ sama dengan nilai


analog pin

analogWrite(pin, value)
Mengirimkan nilai analog dengan metoda Pulse Width Modulation (PWM) ke
pin yang berlabel PWM (3,5,6,9,10,11). Nilai yang dapat digunakan adalah dari 0 -
255.

analogWrite(pin, value); //mengeluarkan nilai tegangan analog ke


pin

2.11 Time

delay(ms)
Menghentikan program untuk sesaat sesuai dengan yang di kehendaki,
satuanya dalam millisecond.

delay(1000); //menunggu selama satu detik

millis()
Mengembalikan nilai dalam millisecond dihitung sejak arduino board
menyala. Penapungnya harus long integer.

value = millis(); //set ‘value’ equal to millis()

14
2.12 Math

min(x,y)
Membadingkan dua variable dan akan mengembalikan nilai yang paling kecil.

value = min(value, 100); //set ‘value’ sebagai nilai yang paling


kecil dari kedua nilai

max(x,y)
Membadingkan dua variable dan akan mengembalikan nilai yang paling besar.

value = max(value, 100); //set ‘value’ sebagai nilai yang paling


besar dari kedua nilai

2.13 Random

randomSeed(seed)
Mengeset sebuah nilai sebagai titik awal fungsi random().

randomSeed(value); //mengeset 'value' sebagai random seed

random(max)

random(min,max)
Menghasilkan sebuah bilangan acak pada range yang di batasi oleh angka min
dan max.

15
value = random(100, 200); //mengeset 'value' ke nilai acak
antara 100 - 200

2.14 Serial

Serial.begin(rate)
Statement ini digunakan untuk mengaktifkan komunikasi serial dan mengatur
baudrate. bauderate yang standar biasa digunakan dengan komputer adalah 9600bps.

void setup(){

Serial.begin(9600); //open serial port and set baudrate 9600


bps}

Serial.println(data)
Mengirimkan data ke serial port, di ikuti oleh karakter carriage return dan line
feed (CR dan LF) atau yang kita kenal kode untuk Enter. Perintah ini mempunyai
fungsi yang sama dengan Serial.print() namun lebih sering digunakan karena setelah
selesai data di kirim di ikuti enter untuk data selanjutnya akan di tampilkan pada
baris/alinea baru di bawahnya sehingga bisa memudahkan dalam pembacaan data
pada serial monitor.

Serial.println(100); //mengirimkan 100 dan diakhiri

16
BAB III

PENUTUP

3.1 Kesimpulan

Arduino merupakan pengendali mikro single-board yang bersifat open-source,


diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Arduino dikatakan sebagai sebuah platform dari
physical computing yang bersifat open source.

Pertama-tama perlu dipahami bahwa kata “platform” di sini adalah sebuah


pilihan kata yang tepat. Arduino tidak hanya sekedar sebuah alat pengembangan,
tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated
Development Environment (IDE) yang canggih.

IDE adalah sebuah software yang sangat berperan untuk menulis program,
meng-compile menjadi kode biner dan meng-upload ke dalam memory
microcontroller.

3.2 Saran

Pada dasarnya penulisan makalah ini jauh dari sempurna, banyak kekurangan
baik yang disengaja ataupun tidak. Maka dibutuhkan saran untuk meminimize
kesalahan tentunya bagi penulis. Perkembangan teknologi mikrokontroler yang
sangat pesat mengharuskan kita memilih Sistem minimum yang tepat guna
menunjang fleksibilas kita dalam menyikapi perkembangan ini.

Sistem minimum Arduino yang bersifat open source dapat digunakan siapa
saja dan dapat dikembangkan seperti keinginan kita sendiri tanpa harus ada tekanan
legalitas ataupun lisensi dari perusahaan pemegang lisensi tersebut. Dan semua
kembali kita sendiri mau memakai sistem minimum yang seperti apa.

17

Anda mungkin juga menyukai