0% menganggap dokumen ini bermanfaat (0 suara)
428 tayangan57 halaman

Modul Praktikum IoT 2022

Dokumen tersebut berisi tentang modul praktikum Internet of Things yang mencakup pengenalan Arduino dan dasar pemrograman, fungsi output pada Arduino, integrasi input dan proses dalam Arduino, serta ketentuan umum pelaksanaan praktikum seperti peraturan, tugas pendahuluan, pre-test, pelaksanaan praktikum, dan penulisan laporan.

Diunggah oleh

medina
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
428 tayangan57 halaman

Modul Praktikum IoT 2022

Dokumen tersebut berisi tentang modul praktikum Internet of Things yang mencakup pengenalan Arduino dan dasar pemrograman, fungsi output pada Arduino, integrasi input dan proses dalam Arduino, serta ketentuan umum pelaksanaan praktikum seperti peraturan, tugas pendahuluan, pre-test, pelaksanaan praktikum, dan penulisan laporan.

Diunggah oleh

medina
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 57

Modul Praktikum Internet of Things

2022

DAFTAR ISI

DAFTAR ISI ..................................................................................................................ii

PRAKTIKUM INTERNET OF THINGS UNIVERSITAS DIPONEGORO 2022 ........ 1

MODUL 1 PENGENALAN ARDUINO DAN DASAR PEMOGRAMAN .............. 10

MODUL 2 FUNGSI OUTPUT PADA ARDUINO .................................................... 32

MODUL 3 INTEGRASI INPUT PROCESS DALAM ARDUINO............................ 42

TIMELINE PRAKTIKUM

DATA ASISTEN

Program Studi Teknik Industri


Universitas Diponegoro ii
Modul Praktikum Internet of Things
2022

PRAKTIKUM INTERNET OF THINGS


UNIVERSITAS DIPONEGORO 2022

Internet of Things ini diadakan untuk menunjang atau memperdalam teori tentang
pengaplikasian Internet of Things. Diharapkan dengan kegiatan Internet of Things ini,
praktikan dapat memahami pengaplikasian Internet of Things.

KETENTUAN UMUM
1. Praktikan adalah mahasiswa/mahasiswi Teknik Industri Universitas Diponegoro yang
sedang mengambil mata kuliah Internet of Things atau mengulang Praktikum
Programa Komputer.
2. Praktikan wajib mengikuti seluruh rangkaian kegiatan praktikum, mulai dari briefing
praktikum, Tugas Pendahuluan, pre-test, praktikum, pembuatan laporan atau penugasan,
asistensi, post-test dan presentasi akhir. Apabila praktikan tidak mengikuti salah
satunya tanpa keterangan/izin yang jelas, maka nilai pada komponen tersebut adalah
0.
3. Praktikan wajib mengikuti seluruh rangkaian modul Internet of Things dan wajib
mengerjakan tugas yang diberikan.
4. Praktikan harus datang tepat waktu selama kegiatan praktikum.
5. Praktikan harus memakai pakaian yang sopan dan rapih pada setiap serangkaian
kegiatan Praktikum Internet of Things.
6. Praktikan harus menjaga sopan santun pada setiap rangkaian kegiatan Praktikum
Internet of Things. Apabila setelah diperingatkan masih terjadi pelanggaran, asisten
berhak meninggalkan serangkaian kegiatan praktikum.
7. Praktikan harus mematuhi Standard Operating Procedure (SOP) serta peraturan yang
ada.

BRIEFING PRAKTIKUM
1. Briefing praktikum merupakan awal dimulainya kegiatan Praktikum Internet of
Things.
2. Jadwal briefing praktikum diumumkan selambat-lambatnya 1 hari sebelum
pelaksanaan.

Program Studi Teknik Industri


Universitas Diponegoro 1
Modul Praktikum Internet of Things
2022

3. Apabila praktikan terlambat dalam menghadiri briefing praktikum maka asisten berhak
membatalkan briefing yang dilakukan.
4. Jika praktikan melanggar peraturan (ketentuan umum dan ketentuan briefing),
praktikan yang bersangkutan wajib mengerjakan tugas berupa meresume jurnal
internasional yang dipublikasikan dalam waktu 5 tahun terakhir dan berhubungan
dengan Internet of Things dengan diketik rapi. Waktu pengerjaan tugas adalah 2x24
jam.

TUGAS PENDAHULUAN
1. Praktikan wajib mengumpulkan tugas pendahuluan sebelum mengikuti Praktikum
Internet of Things.
2. Tugas pendahuluan terdiri dari soal individu dan kelompok. Nilai tugas pendahuluan
individu merupakan nilai untuk masing - masing praktikan, sedangkan nilai tugas
pendahuluan kelompok merupakan nilai untuk masing-masing kelompok.
3. Tugas pendahuluan akan diberikan melalui Official Account Laboratorium DSS.
4. Pengerjaan tugas pendahuluan WAJIB menggunakan bahasa masing – masing
praktikan, dan praktikan dilarang melakukan plagiarisme dalam mengerjakan tugas
pendahuluan. Segala bentuk kecurangan akan diberi sanksi nilai 0 pada tugas
pendahuluan.
5. Pengerjaan tugas pendahuluan menggunakan format sebagai berikut:
a. Tulis tangan dengan tinta hitam/biru pada kertas A4 (boleh baru atau bekas)
b. Jarak spasi penulisan 0,7 cm (acuan dapat disesuaikan dengan jarak spasi yang ada
di kertas folio).
c. Margin penulisan 4-4-3-2 (atas - kiri - bawah - kanan) border hitam.
d. Header pada tugas pendahuluan indvidu ditulis tangan pada bagian kanan atas:
Nama
NIM
Kelompok xx
kemudian header tugas pendahuluan kelompok ditulis tangan pada bagian kanan
atas:
Kelompok xx

Program Studi Teknik Industri


Universitas Diponegoro 2
Modul Praktikum Internet of Things
2022

sedangkan footer baik tugas pendahuluan individu maupun kelompok ditulis


tangan pada bagian kiri bawah:
Modul x
Nama Asisten
e. Tugas pendahuluan harus menyertakan sumber/referensi.
f. Penulisan sitasi mengikuti format sebagai berikut:
- Penulis tunggal: Nama Akhir (Tahun) atau (Nama Akhir, Tahun) apabila sitasi
dituliskan di akhir kalimat.
- Penulis 2 orang: Nama Akhir Penulis 1 dan Nama Akhir Penulis 2 (Tahun) atau
(Nama Akhir Penulis 1 dan Nama Akhir Penulis 2, Tahun) apabila sitasi
dituliskan di akhir kalimat.
- Penulis lebih dari 2 orang: Nama Akhir Penulis 1 et al. (Tahun)/Nama Akhir
Penulis 1 dkk. (Tahun) atau (Nama Akhir Penulis 1 et al., Tahun)/(Nama Akhir
Penulis 1 dkk., Tahun) apabila sitasi dituliskan di akhir kalimat.
- Tugas pendahuluan dikumpulkan secara kolektif tiap kelompok kepada asisten
masing – masing sesuai dengan tenggat waktu yang telah diberikan.
6. Praktikan yang melakukan plagiarisme dalam bentuk apa pun pada setengah atau lebih
jawaban tugas pendahuluannya, akan mendapatkan nilai 0 pada tugas pendahuluan.
7. Praktikan yang tidak mengumpulkan tugas pendahuluan dalam batas waktu yang telah
ditentukan akan mendapatkan nilai 0 pada tugas pendahuluan.

PRE – TEST
1. Sebelum memulai praktikum, praktikan diwajibkan mengikuti pre-test yang akan
dilaksanakan secara offline.
2. Tidak ada pre-test susulan (kecuali sakit dengan izin dokter, keluarga dekat meninggal
dunia, atau kegiatan akademik seperti delegasi lomba, kelas pengganti yang disertai
dengan bukti kepada koordinator praktikum yang dikirim maksimal 1x24 jam sebelum
pre-test dimulai).
3. Segala bentuk kecurangan mendapatkan nilai 0.
4. Standar nilai pre-test adalah 60.
5. Pre-test akan dilakukan secara tertulis dalam batas waktu yang telah ditentukan.

Program Studi Teknik Industri


Universitas Diponegoro 3
Modul Praktikum Internet of Things
2022

6. Materi pre-test bersumber dari tugas pendahuluan, modul praktikum, dan sumber lain
yang bersangkutan dengan materi praktikum.

PRAKTIKUM
1. Praktikum akan dilaksanakan di kampus Teknik Industri sesuai dengan timeline yang
sudah ditetapkan, dengan tetap memperhatikan protokol kesehatan yang ada.
2. Jadwal praktikum diumumkan selambat-lambatnya 1 hari sebelum pelaksanaan
praktikum. Apabila ada komplain jadwal, bisa menghubungi koordinator praktikum
selambat-lambatnya 12 jam sebelum praktikum dilaksanakan melalui koordinator
sementara.
3. Kelengkapan praktikum, baik lampiran dan sebagainya yang berhubungan dengan
praktikum tidak boleh hilang, dan bukan menjadi tanggung jawab asisten.
4. Izin tidak mengikuti rangkaian praktikum hanya dapat diajukan dengan alasan sakit,
keluarga dekat meninggal dunia, keluarga menikah, dan menjadi delegasi lomba/acara
wajib memberikan izin tertulis disertai bukti izin kepada Koordinator Internet of
Things paling lambat 24 jam sebelum praktikum dilaksanakan.
5. Apabila praktikan tidak mengikuti praktikum tanpa keterangan/izin yang jelas maka
akan dikenakan pengurangan nilai jurnal pada modul yang bersangkutan.
6. Praktikan wajib mematuhi ketentuan praktikum pada modul yang bersangkutan.

LAPORAN
1. Laporan praktikum bersifat kelompok.
2. Penulisan laporan mengikuti format sebagai berikut:
- Diketik pada kertas ukuran A4 dengan tinta hitam.
- Font Times New Roman 12 dan spasi 1,5.
- Margin 4-4-3-2 (atas - kiri - bawah - kanan).
- Header ditulis pada kanan atas :
Laporan Praktikum Internet of Things
Arduino
Kelompok xx

Program Studi Teknik Industri


Universitas Diponegoro 4
Modul Praktikum Internet of Things
2022

Footer ditulis pada kiri bawah:


Departemen Teknik Industri
Universitas Diponegoro
2022
- Format isi laporan modul akan dijelaskan kemudian.
3. Laporan wajib diselesaikan sesuai dengan jangka waktu yang telah ditentukan dan
hasilnya sesuai dengan output.
4. Praktikan dilarang melakukan plagiarisme dalam bentuk apapun, apabila ditemukan
berbagai bentuk kecurangan maka kelompok yang bersangkutan mendapatkan nilai
laporan 0.
5. Segala sesuatu pada laporan harus dapat dijelaskan bila tidak bisa dijelaskan oleh
praktikan maka dianggap copy paste.
6. Laporan dikumpulkan dalam bentuk softcopy dalam jangka waktu yang ditentukan.

ASISTENSI
1. Praktikan wajib melakukan asistensi maksimal 5 (lima) kali untuk penulisan laporan.
2. Asistensi wajib dihadiri oleh seluruh anggota kelompok, kecuali ada izin tertulis ke
asisten masing-masing.
3. Setiap asistensi praktikan wajib belajar dengan materi yang berkaitan dengan modul
tersebut.
4. Praktikan wajib membawa lembar asistensi setiap melakukan kegiatan asistensi.
5. Asistensi dilakukan di kampus Teknik Industri pada hari Senin-Jumat pukul 07.00 –
17.00 atau sesuai dengan kesepakatan antara asisten dan praktikan yang bersangkutan.
6. Praktikan wajib menghubungi asisten untuk pengajuan jadwal asistensi paling lambat
1 (satu) hari sebelum kegiatan asistensi.
7. Apabila saat asistensi baik praktikan maupun asisten terlambat 15 menit dari waktu
yang telah disepakati bersama dengan tidak memberi kabar, maka salah satu pihak
berhak membatalkan asistensi (kecuali ada kesepakatan lain).
8. Asistensi tidak boleh mengganggu kegiatan ibadah dan jam perkuliahan, baik dari
pihak asisten maupun praktikan.
9. Asisten berhak menolak pengumpulan laporan jika tidak dilakukan perbaikan pada
laporan.

Program Studi Teknik Industri


Universitas Diponegoro 5
Modul Praktikum Internet of Things
2022

10. Jika praktikan melanggar kesepakatan dengan asisten, maka asisten berhak
membatalkan asistensi.

POST - TEST
1. Setelah melaksanakan praktikum, praktikan diwajibkan mengikuti post-test yang akan
dilaksanakan secara offline.
2. Tidak ada post-test susulan (kecuali sakit dengan izin dokter, keluarga dekat meninggal
dunia, atau kegiatan akademik seperti delegasi lomba, kelas pengganti yang disertai
dengan bukti kepada koordinator praktikum yang dikirim maksimal 1x24 jam sebelum
post-test dimulai).
3. Segala bentuk kecurangan mendapatkan nilai 0.
4. Standar nilai post-test adalah 60.
5. Post-test akan dilakukan secara tertulis dalam batas waktu yang telah ditentukan.
6. Materi post-test bersumber dari tugas pendahuluan, modul praktikum, dan sumber lain
yang bersangkutan dengan materi praktikum.

PRESENTASI
1. Presentasi merupakan ujian kecakapan bagi praktikan yang materinya adalah semua
yang telah didapat praktikan selama mengikuti Internet of Things.
2. Presentasi dilakukan sebagai kegiatan terakhir dalam rangkaian Praktikum Internet of
Things.
3. Presentasi akan dilakukan setelah tenggat pengumpulan laporan modul 3 sudah
dilewati, jadwal lebih lanjut akan diinformasikan selambat – lambatnya 1 hari sebelum
pelaksanaan. Praktikan dapat mengajukan komplain jadwal kepada Koordinator
Praktikum Internet of Things selambat – lambatnya 12 jam sebelum pelaksanaan.
4. Praktikan yang berhalangan untuk mengikuti presentasi dengan izin sesuai ketentuan
yang telah diatur, dapat mengikuti presentasi khusus untuk mendapatkan nilai
presentasi.
5. Penilaian presentasi bersifat individu.
6. Segala bentuk kecurangan akan mendapatkan nilai presentasi 0.
PERIZINAN

Program Studi Teknik Industri


Universitas Diponegoro 6
Modul Praktikum Internet of Things
2022

1. Izin tidak mengikuti rangkaian praktikum (kecualii asistensi) menggunakan surat yang
diketik rapi dan ditujukan kepada Koordinator Praktikum Internet of Things.
2. Alasan izin untuk tidak mengikuti rangkaian kegiatan praktikum yang diperbolehkan
adalah sakit, keluarga menikah, keluarga meninggal dan menjadi delegasi lomba/acara.
Seluruh alasan izin wajib menyertakan bukti.
3. Koordinator Internet of Things berhak menolak izin apabila permohonan izin tidak
sesuai dengan ketentuan.

PERSENTASE NILAI
• Tugas Pendahuluan : 15%
• Nilai Pre-test : 10%
• Nilai Post-test : 15%
• Nilai Laporan : 35%
• Nilai Presentasi : 25%

Program Studi Teknik Industri


Universitas Diponegoro 7
Modul Praktikum Internet of Things
2022

LAPORAN PRAKTIKUM TNR 14, Bold,


Center, Spasi 1,5
INTERNET OF THINGS
Spasi TNR 12

TNR 14, Bold,


NAMA PROGRAM Center, Spasi 1,5

Spasi TNR 12

Picture Height:
7,4cm, center

Spasi TNR 12

Disusun Oleh: TNR 12 Center,


Spasi 1,5
Kelompok XX
1. Nama (NIM)
Left TNR 12 Justified,
Indent 2. Nama (NIM) Spasi 1,5
2 cm
3. Nama (NIM)
Spasi TNR 12

PROGRAM STUDI TEKNIK INDUSTRI


TNR 14
FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO Bold,
Center,
SEMARANG Spasi 1,5
2022

Program Studi Teknik Industri


Universitas Diponegoro 8
Modul Praktikum Internet of Things
2022

LEMBAR PENGESAHAN
LAPORAN PRAKTIKUM TNR 14, Bold,
Center, Spasi 1,5
INTERNET OF THINGS
NAMA PROGRAM

Semarang, XX Desember 2022

Asisten,

Spasi TNR 40
Nama Asisten Masing – Masing
TNR 12, Center, NIM, 210701XXXXXXXX
Spasi 1,5

Mengetahui,
Koordinator Praktikum

Ihsanudin Halim Fajrian


NIM. 21070120130080

Program Studi Teknik Industri


Universitas Diponegoro 9
Modul Praktikum Internet of Things
2022

MODUL 1
PENGENALAN ARDUINO DAN DASAR PEMOGRAMAN

TUJUAN PRAKTIKUM
Praktikan mampu memahami dan mengoperasikan Arduino.
Praktikan mampu memahami berbagai alat dan komponen yang digunakan dalam
pengoperasian Arduino.
Praktikan mampu memahami dasar-dasar kelistrikan untuk mengintegrasikan Arduino
dengan komponen pelengkapnya.
Praktikan dapat mengerti dan memahami penerapan algoritma ke dalam bahasa
pemrograman dalam Arduino.
Dapat mengerti cara membuat pemrograman dengan C++ dalam Arduino IDE.

DASAR TEORI
A. Komponen Arduino
Arduino memiliki komponen yang bermacam-macam, adapun dalam praktikum
Internet of Things kali ini berikut beberapa komponen yang akan digunakan
a. Mikrokontroler
Mikrokrontroler (Microcontroller) adalah perangkat komputer mini (mikro) yang
dikemas dalam satu chip tunggal IC (Integrated Circuit) dan mempunyai program
operasi tertentu didalamnya. Komponen pada mikrokontroler ini hampir mirip
dengan sebuah perangkat komputer (PC) biasa. Dalam diskusi sehari-hari dan di
forum internet, mikrokontroller sering dikenal dengan sebut μC, uC, atau MCU.
Dari pengertian tersebut, bisa dikatakan bahwa mikrokontroller adalah komputer
yang berukuran mikro dalam satu chip IC (integrated circuit) yang terdiri dari
processor, memory, dan antarmuka yang bisa diprogram. Jadi disebut komputer
mikro karena dalam IC atau chip mikrokontroller terdiri dari CPU, memory, dan
I/O yang bisa dikontrol dengan memprogramnya. I/O juga sering disebut dengan
GPIO (General Purpose Input Output Pins) yang berarti pin yang bisa diprogram
sebagai input atau output sesuai kebutuhan.

Program Studi Teknik Industri


Universitas Diponegoro 10
Modul Praktikum Internet of Things
2022

Gambar 1 Mikrokontroler
Arduino Uno Board Arduino terdiri dari hardware / modul mikrokontroller yang
siap pakai dan software IDE yang digunakan untuk memprogram sehingga bisa
dipelajari dengan mudah. Kelebihan dari Arduino yaitu pengguna tidak direpotkan
dengan rangkaian minimum sistem dan programmer karena sudah built in dalam
satu board. Oleh sebab itu pengguna bisa fokus kepada pengembangan sistem
• Input
Input adalah data atau informasi yang dibutuhkan oleh sebuah sistem untuk
selanjutnya diproses sesuai dengan ketentuan proses yang telah ditentukan.
Dalam Arduino, input akan ditangkap oleh sensor yang selanjutnya data
dari input itu akan diolah sesuai kebutuhan. Berikut merupakan contoh
sensor Arduino:

Gambar 2 Modul Input

Program Studi Teknik Industri


Universitas Diponegoro 11
Modul Praktikum Internet of Things
2022

• Output
Output merupakan hasil dari input yang telah diproses oleh bagian pengolah
dan merupakan tujuan akhir sistem. Setelah data input diolah dalam
Arduino maka output yang dikelurkan bisa bermacam macam, mulai dari
lcd, serial monitor, dan lain lain.

Gambar 3 Modul Output

• Dasar Kelistrikan Arduino


Dalam penerapannya, untuk memudahkan pemasangan input-output di
arduino dibutuhkan adanya alat alat, antara lain breadbroad dan kabel
jumper, begitupun juga komponen-komponen lain seperti resistor,
potentiometer, dan lain sebagainya.

Gambar 4 Perangkat Kelistrikan


Pada praktikum ini, salah satu alat yang akan digunakan yaitu project board
(ada yang menyebutnya dengan istilah bread board) dan beberapa kabel
jumper untuk menghubungkan antara komponen dan Arduino. Dengan
project board pengguna tidak perlu menyolder rangkaian sehingga relatif
mudah dan cepat dalam merangkai. Project board memungkinkan
pengguna untuk membangun dan membongkar rangkaian dengan cepat
sehingga sangat cocok untuk eksperimen. Tapi jika ingin membuat
rangkaian yang permanen, maka pengguna harus menggunakan PCB. Yang
terpenting adalah, pengguna harus memahami jalur-jalur pada project
board. Project board terdiri dari jalur vertikal dan jalur horizontal. Jalur
vertikal ada di bagian tengah yang terdiri dari 2 x 64 jalur. Masing-masing
jalur terdiri dari 5 titik vertikal, misal jalur 1A-1B-1C-1D-1E dan jalur 1F-

Program Studi Teknik Industri


Universitas Diponegoro 12
Modul Praktikum Internet of Things
2022

1G-1H-1I-1J yang kedua tidak saling tersambung. Jalur horizontal


sebanyak 8 jalur, 4 jalur ada di bagian atas dan 4 jalur lagi di bagian bawah.
Jalur ini bisa digunakan untuk power supply (VCC dan GND) untuk
rangkaian.
B. Pemrograman Arduino
Sebelum menulis kode, pengguna harus belajar terlebih dahulu mengenai algoritma,
flowchart, tipe-tipe data, variabel, operator, dan struktur dasar.
a. Algoritma
Algoritma menurut (Kani, 2020, 1.19) adalah suatu upaya dengan urutan operasi
yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah untuk
menghasilkan suatu output tertentu. Contoh aloritma dalam permasalahan sehari-
hari antara lain:
• Algoritma memasak mie instan:
1. Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkok,
sendok, dan garpu
2. Masukkan 400 ml air kedalam panci
3. Masak air
4. Tunggu hingga mendidih
5. Masukkan mie kedalam panci yang sudah berisi air mendidih
6. Tunggu dan aduk hingga 3 menit
7. Jika sudah matang masukkan bumbu
8. Aduk hingga rata
9. Sajikan mie
• Algoritma memasak mencuci piring:
1. Siapkan spons
2. Apakah spons ada?
3. Jika tidak ada, beli diwarung
4. Siapkan sabun pencuci piring
5. Apakah sabun ada?
6. Jika tidak ada, beli diwarung
7. Taruh piring kotor kedalam wastafel
8. Buka keran air

Program Studi Teknik Industri


Universitas Diponegoro 13
Modul Praktikum Internet of Things
2022

9. Basahi piring kotor dengan air


10. Tutup keran air
11. Tuang sabun ke spons
12. Usapkan spons ke piring yang kotor
13. Buka kran air
14. Bilas piring yang telah disabun dengan air sampai ber sih
15. Tutup keran air
16. Jika sudah bersih, taruh disamping wastafel
17. Tunggu hingga airnya tiris dan kering
18. Jika sudah kering, pindahkan piring kedalam rak piring
19. Piring siap digunakan
b. Flowchart
Diagarm alir/ flowchart adalah suatu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses
(instruksi) dengan proses lainnya dalam suatu program.

Gambar 5 Simbol Flowchart

Program Studi Teknik Industri


Universitas Diponegoro 14
Modul Praktikum Internet of Things
2022

c. Tipe Data
Berikut merupakan tipe-tipe data pada Arduino yang sering digunakan.
Tabel 1 Tipe Data
Tipe Data Lebar Data Jangkauan
Char 1 byte -128 s/d 127
Unsigned chart 1 byte 0 s/d 255
Byte 1 byte 0 s/d 255
Word 2 byte 1 s/d 65535
Int 2 byte -32768 s/d 32767
Unsigned int 2 byte 0 s/d 65535
Long 4 byte -2147438648 s/d 2147438647
Unsigned long 4 byte 0 s/d 4294967295
floar 4 byte -3.4028235E+38 s/d 3.4028235E+38

d. Variabel
Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada
sebuah nama. Nama variabel itu bebas, asalkan sesuai dengan ketentuan berikut:
1. Tidak menggunakan spasi
2. Maksimal 32 karakter
3. Tidak menggunakan istilah baku dalam bahasa C Arduino 14
Sebagai contoh, misalkan ingin mendefinisikan nilai pin 2 dengan variabel “bagus”
dan menggunakan tipe data integer. Maka contoh penulisannya yaitu:
int bagus = 2;

e. Struktur Dasar Program Arduino


Ketika pertama kali membuka Arduino IDE, maka secara otomatis akan muncul
sketch seperti berikut:

Program Studi Teknik Industri


Universitas Diponegoro 15
Modul Praktikum Internet of Things
2022

Gambar 6 Arduino IDE


Fungsi setup() dan fungsi loop() merupakan fungsi wajib dan harus ada. Fungsi
setup() digunakan untuk inisialisasi program, fungsi ini hanya dijalankan sekali
yaitu ketika program pertama kali dijalankan (ketika arduino pertama kali
dihidupkan). Sedangkan fungsi loop() akan dijalankan terus-menerus (looping
forever) hingga Arduino dimatikan.
Contoh sketch adalah sebagai berikut:
1 // Panduan Praktikum
2 // Internet Of Things
3 // Coder DSS
4
5 Const int pinLED = 8;
6
7 void setup() {
8 pinMode(pinLED,OUTPUT);
9 }
10
11 void loop() {
12 digitalWrite(pinLED,HIGH);
13 delay(500);

Program Studi Teknik Industri


Universitas Diponegoro 16
Modul Praktikum Internet of Things
2022

14 digitalWrite(pinLED,LOW);
15 delay(500);
16 }
Nama-nama pin pada Arduino sama seperti yang tertera di board. Pada salah satu
sisi board, nama-nama pinnya adalah 0 hingga 13, kemudian di sisi lain nama-nama
pinnya A0 hingga A5, dst. Perintah pada baris 5 artinya: Variabel pinLED
merupakan konstanta dalam bentuk integer yang merujuk pada pin 8 board
Arduino. Fungsi pinMode() memberi tahu bahwa pinLED adalah Output. Dengan
demikian mikrokontroller tidak akan “membaca” logika pin tersebut, akan tetapi
dia hanya akan “menulis” logika pada pin tersebut. Dengan kata lain, jika pengguna
ingin mendefinisikan bahwa pin ini adalah input, maka tinggal mengubah
OUTPUT menjadi INPUT. Baris 11 sampai 16 adalah inti dari program yang akan
dieksekusi selama Arduino tersambung dengan listrik atau selama Arduino tidak
direset. pinLED diset HIGH berarti LED akan diberi tegangan 5 volt, sedangkan
LOW berarti LED akan diberi tegangan 0 volt. Oleh sebab itu, rangkaian LED di
atas akan menyala ketika diberi HIGH dan akan mati ketika diberi LOW. Fungsi
delay() digunakan untuk berhenti selama sekian milidetik. Karena 1 detik = 1000
milidetik, maka pemberian nilai 500 berarti Arduino akan jeda selama ½ detik
ketika LED nyala dan ½ detik ketika LED padam. Ada beberapa yang perlu
diperhatikan dalam menulis sketch ketika memprogram:
• Penulisan sketch itu case sensitive, artinya, tulisan “pinLED” tidak sama
dengan “PinLED”.
• Jika sketch di copy-paste dari file PDF ke Arduino IDE, maka kemungkinan
akan ada perubahan whitespace (spasi, tab, blank line). Jika spasi tergantikan
denan karakter tab atau blank line, maka sketch akan error.
• Setiap blok kode harus diapit dengan kurung kurawal “{‟ dan “}‟.
• Setiap ada kurung buka “(‟, harus ada kurung tutup “)‟. Jika kurungnya kurang,
itu bisa menyebabkan error.
• Penulisan angka tanpa embel-embel koma.
• Setiap baris kode akan ditutup dengan titik koma (semicolon) “;‟, kecuali di
akhir blok kode yang ditutup dengan kurung kurawal “}‟.
f. Menambah Keterangan pada Sketch

Program Studi Teknik Industri


Universitas Diponegoro 17
Modul Praktikum Internet of Things
2022

Dalam membuat kode program, penulis kode yang baik menyisipkan ketrangan
tambahan pada fungsi kode tersebut. Misal, keterangan fungsi, keterangan pin, atau
keterangan lainnya. Pada Arduino, komentar bisa disisipkan dengan dua cara:
1. Menggunakan double slash “//”,
Cara ini hanya bisa digunakan perbaris. Jadi jika banyak baris yang ingin
dijadikan komentar, caranya bisa menggunakan cara yang kedua. Contoh:
1 // ini adalah comment
2 // ini juga comment
3 // ini masih comment
2. Menggunakan pembuka “/*” dan penutup “*/”
1 /* ini adalah comment
2 ini juga comment
3 ini masih comment*/
4
5 /* ini comment */

Berikut contoh sketch 2.1 yang sudah diberi keterangan:


1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 /*
6 Program untuk membuat LED berkedip 500 ms nyala dan 500 ms
7 mati
8 */
9 // inisialisasi pin untuk mengontrol LED, yaitu pin 8
10 const int pinLED = 8;
11 /*
12 Bagian ini akan dieksekusi sekali ketika Arduino pertama kali
13 Dinyalakan atau ketika Arduino direset
14 */
15 void setup() {

Program Studi Teknik Industri


Universitas Diponegoro 18
Modul Praktikum Internet of Things
2022

16 // pin 8 diset sebagai OUTPUT


17 pinMode(pinLED, OUTPUT);
18 }
19 /*
20 Bagian ini akan dieksekusi selama listrik tersambung
21 Atau Arduino tidak direset
22 */
23
24 void loop() {
25 // nyalakan LED
26 digitalWrite(pinLED, HIGH);
27 //delay 500 milisekon
28 delay(500);
29 //matikan LED
30 digitalWrite(pinLED, LOW);
31 //delay 500 milisekon
32 delay(500);
33 }

g. Perintah IF dan IF-ELSE


Perintah IF memiliki beberapa kombinasi, bisa IF saja, IF-ELSE, IF-ELSE IF-
ELSE, dan seterusnya. Semakin kompleks tentu logika yang dipakai akan tampak
semakin “rumit”.
• Perintah IF
Berikut merupakan contoh perintah IF:
1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 // Pin 8 untuk LED
6 const int pinLED = 8;
7

Program Studi Teknik Industri


Universitas Diponegoro 19
Modul Praktikum Internet of Things
2022

8 void setup() {
9 //pin LED sebagai output
10 pinMode(pinLED, OUTPUT);
11 }
12
13 // awal time delay 1000 milisekon
14 int timeDelay = 1000;
15
16 void loop() {
17 // Setiap looping, nilai timeDelay dikurangi 100
18 timeDelay = timeDelay – 100;
19
20 /* Jika timeDelay bernilai 0 atau negative
21 maka nilai timeDelay direset ke 1000
22 */
23 if(timeDelay <= 0 ){
24 timeDelay = 1000;
25 }
26
27 //Nyalakan dan matikan LED selama timeDelay
28 digitalWrite(pinLED, HIGH);
29 delay(timeDelay);
30 digitalWrite(pinLED, LOW);
31 delay(timeDelay);
32 }

LED tersebut awalnya akan berkedip pelan, lama-lama akan berkedip


cepat, dan akan akhirnya akan berkedip pelan lagi. Ketika awal dinyalakan,
maka timeDelay adalah 1000. Nilai tersebut diinisialisasi pada baris 14.
Baris ini tidak dijadikan konstanta (const) sebagaimana pinLED karena
nilai 19 timeDelay akan diubah-ubah.

Program Studi Teknik Industri


Universitas Diponegoro 20
Modul Praktikum Internet of Things
2022

Setelah masuk ke bagian utama aplikasi, pada baris 18 nilai


timeDelay dikurangi 100. Sehingga timeDelay pertama yang digunakan
untuk menyalakan dan mematikan LED adalah 900. Pada perulangan
selanjutnya, timeDelay kembali dikurangi 100, sehingga perulangan ke dua
menggunakan timeDelay 800 (lebih singkat dari timeDelay yang awal),
begitu seterusnya hingga pada timeDelay 100.
Pada waktu melewati timeDelay 100, ketika dikurangi dengan 100,
maka timeDelay bernilai 0. Kondisi ini cocok dengan baris ke 23. Jika (IF)
timeDelay lebih kecil atau sama dengan 0, maka timeDelay akan diisi
dengan 1000. Sehingga nilai timeDelay tidak akan pernah negatif dan hal
tersebut akan berulang terus-menerus. Hal ini lah yang membuat durasi
nyala hidup-mati LED bisa berubah lebih cepat.
Beberapa operator matematika yang dibutuhkan dalam bahasa
pemrograman yaitu:
Tabel 2 Operator
Operator Arti
= Operator assignment, untuk memberi nilai pada variabel
+ Operator penambahan
- Operator pengurangan
* Operator perkalian
/ Operator Pembagian
% Operator modulo (sisa pembagian). Misal:
- 10%2 = 0, 10 dibagi 2 = 5 + 0
- 10%3 = 1, 10 dibagi 3 = 3 + 1
- 10%4 = 2, 10 dibagi 4 = 8 + 2
- 10%5 = 0, 10 dibagi 5 = 2 + 0

Perintah IF pasti akan diikuti dengan kondisi yang bernilai True yang
diapit dengan tanda kurung, if (kondisi). Pada Sketch 2.1 di atas kondisi
yang digunakan adalah timeDelay <= 0, timeDelay lebih kecil atau sama
dengan nol. Artinya, jika timeDelay bernilai 0 atau lebih kecil dari 0, maka
blok kode dalam if akan dieksekusi.

Program Studi Teknik Industri


Universitas Diponegoro 21
Modul Praktikum Internet of Things
2022

Selain operator <=, maka berikut ini adalah beberapa operator yang
sering digunakan:
Tabel 3 Operator Persamaan dan Perbandingan
Operator Arti
== Sama dengan
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan

• Perintah IF-ELSE
Pada dasarnya IF-ELSE merupakan pengembangan dari IF. ELSE berarti
kondisi yang tidak sesuai dengan kondisi dalam IF. Dengan kata lain, ELSE
artinya “jika tidak”.
1 Main;
2 jika (sekarang == jam){
3 Makan
4 }
5
6
7
8 Jika (sekarang == jam 10){
9 Makan
10 }jika tidak{
11 Main;
12 }

Pada baris 1 sampai 5, maka Main akan terus dieksekusi. Jika sekarang
sama dengan jam 10, maka yang dilakukan adalah Main sambil Makan. Jadi
kedua kegiatan atau statemen akan dieksekusi. Berbeda dengan baris 8

Program Studi Teknik Industri


Universitas Diponegoro 22
Modul Praktikum Internet of Things
2022

sampai 12, jika jam 10 Makan, jika tidak jam 10, Main. Begitulah logika
IFELSE. Berikut merupakan contoh sketch menggunakan IF-ELSE.

1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS 21
4
5 // Pin 8 untuk LED
6 const int pinLED = 8;
7
8 void setup() {
9 //pin LED sebagai output
10 pinMode(pinLED, OUTPUT);
11 }
12
13 // awal time delay 1000 milisekon
14 int timeDelay = 1000;
15
16 void loop() {
17
18 /*Jika timeDelay bernilai lebih kecil sama dengan 0
19 maka LED akan diam selama 3 detik
20 lalu nilai timeDelay direset ke 1000
21 */
22 if(timeDelay <=100){
23 delay(3000);
24 timeDelay = 1000;
25 }else{
26 // nilai timeDelay dikurangi 100 jika time delay >100
27 timeDelay = timeDelay – 100;
28 }
29 //Nyalakan dan matikan LED selama timeDelay digitalWrite

Program Studi Teknik Industri


Universitas Diponegoro 23
Modul Praktikum Internet of Things
2022

30 (pinLED, HIGH);
31 delay(timeDelay);
32 digitalWrite(pinLED, LOW);
33 delay(timeDelay);
34 }

Pada Sketch diatas, jika timeDelay bernilai lebih kecil sama dengan 100,
maka akan LED akan diam selama 3 detik lalu nilai timeDelay akan direset
ke 1000, jika tidak maka akan dilakukan pengurangan terhadap timeDelay
sebanyak 100.

h. Perulangan dengan WHILE


Perintah WHILE merupakan perintah untuk melakukan perulangan berdasarkan
suatu kondisi, jadi banyaknya perulangan tidak bisa ditentukan dengan pasti.
Dalam WHILE seakan ada pengecekan kondisi seperti perintah IF untuk
melakukan perulangan. Bentuk umum dari perintah WHILE yaitu :
1 while(kondisi){
2 // eksekusi kode
3 }

Jika kondisi sesuai, maka perintah atau source code yang ada dalam kurung
kurawal “{}” tersebut akan dieksekusi. Berikut merupakan sketch dengan
penggunaan WHILE.
1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 // Pin 8 untuk LED
6 const int pinLED = 8;
7
8 void setup() {

Program Studi Teknik Industri


Universitas Diponegoro 24
Modul Praktikum Internet of Things
2022

9 //pin LED sebagai output


10 pinMode(pinLED, OUTPUT);
11 }
12
13 // awal time delay 1000 milisekon
14 int timeDelay = 1000;
15
16 void loop() {
17
18 /*selama timeDelay bernilai lebih kecil dari 0
19 eksekusi program ini */
20 while(timeDelay > 0){
21 //LED hidup mati dengan durasi 500 milisekon
22 digitalWrite(pinLED, HIGH);
23 delay(500);
24 digitalWrite(pinLED, LOW);
25 delay(timeDelay);
26
27 // kurangi timeDelay dengan 100
28 timeDelay = timeDelay – 100;
29 }
30
31 //setelah timeDelay dikurangi secara terus-menerus
32 //maka pada akhirnya akan bernilai minus atau < 0
33 //maka while di atas akan berhenti
34
35 //selama timeDelay <1000
36 //eksekusi blok program ini
37 while(timeDelay<1000){
38 LED hidup mati dengan durasi 100 milisekon
39 digitalWrite(pinLED, HIGH);
40 delay(100);

Program Studi Teknik Industri


Universitas Diponegoro 25
Modul Praktikum Internet of Things
2022

41 digitalWrite(PinLED, LOW);
42 delay(100);
43
44 //tambahkan timeDelay dengan 100
45 timeDelay = timeDelay + 100;
46 }
47 }

Program pada Sketch 2.6 akan mengedipkan LED dengan durasi yang berbeda.
Awalnya LED akan berkedip dengan durasi ½ detik sebanyak 10 kali, selanjutnya
LED akan berkedip lebih cepat dengan durasi 1/10 detik sebanyak 10 kali.

i. Kondisi True dan False


Dalam bahasa pemrograman, terdapat perintah-perintah yang berkaitan dengan
kondisi (logika) True dan False. Secara teori, True berarti 1 dan False berarti 0.
Dalam pemrograman yang ini, kondisi False memang selalu 0, tapi True tidak
selalu 1. Kondisi True adalah selain 0, jika selain nol (0) akan dianggap True.
1 while(1){
2 digitalWrite(pinLED, HIGH);
3 delay(100);
4 digitalWrite(pinLED, LOW);
5 delay(100);
6 }

Program di atas akan dijalankan selamanya (looping forever) selama Arduino


belum direset atau listrik tidak diputus. Kenapa? Sebab 1 berarti True. Secara
harfiah, baris while(1) dapat diartikan “selama bernilai benar, maka eksekusi kode
ini”. Penulisan operator logika “sama dengan” tidak hanya menggunakan satu
tanda sama dengan “=”, tapi menggunakan dua sama dengan “==”. Jika hanya
menggunakan “=”, maka pertanyaan tersebut bukan untuk logika, tapi untuk
operator penetapan isi variabel (assignment).

Program Studi Teknik Industri


Universitas Diponegoro 26
Modul Praktikum Internet of Things
2022

j. Kombinasi True dan False


Terkadang kondisi True atau False bisa terdiri dari beberapa kondisi. Misal,
pengguna ingin menentukan bilangan timeDelay sebagai angka positif tidak lebih
dari 10. Maka ia tidak bisa hanya menggunakan satu kondisi. Ia harus
menggunakan 2 kondisi, yaitu timeDelay harus lebih besar dari 0 DAN timeDelay
lebih kecil dari 10. Dalam logika, hal tersebut bisa dituliskan dengan cara:

if( (timeDelay > 0) && (timeDelay <10) ){


//
}

Disana ada tanda && yang berarti AND. Penambahan tanda kurung untuk
memperjelas bahwa ada dua kondisi yang berbeda dan dihubungkan oleh operator
&&. Silakan diingat kembali bahwa operator logika AND akan menghasilkan nilai
True jika semua kondisi bernilai True. Selain operator AND, ada juga operator OR
dan NOT.

Tabel 4 Operator True dan False


Operator Contoh Arti
&& (A < 10) && (B >10) Logika AND akan menghasilkan True
apabila kondisi A dan B sesuai (True), jika
tidak, maka False
|| (A < 10) || (B >10) Logika OR akan menghasilkan True
apabila salah satu dari A, B, atau
semuanya sesuai (True), tapi jika
keduanya False, maka akan bernilai False
! !(A < 10) (B >10) Logika NOT akan menghasilkan True jika
kondisi tidak sesuai (False), karena NOT
adalah kondisi sebaliknya.

k. Perulangan dengan FOR

Program Studi Teknik Industri


Universitas Diponegoro 27
Modul Praktikum Internet of Things
2022

Berbeda dengan WHILE, penggunaan FOR bisa menentukan jumlah perulangan


dengan pasti. Pada Sketch 2.3, masing-masing WHILE akan melakukan
perulangan sebanyak 10 kali dengan cara mengurangi angka 1000 dengan 100
secara bertahap. Jika menggunakan FOR, perulangan tersebut bisa dilakukan lebih
sederhana. Format dasar dari FOR adalah:

for(statemen; kondisi; statemen){

Statemen yang pertama berisi tentang kondisi awal, biasanya inisialisasi suatu
variabel atau data (misal, a=0). Sedangkan statemen yang terakhir adalah
perubahan yang akan terjadi pada variabel pada statemen awal (misal a=a+1).
Sedangkan kondisi merupakan kondisi dimana perulangan akan terjadi, ketika
kondisi sudah tidak sesuai, maka perulangan akan berhenti. untuk lebih jelasnya
tentang FOR, berikut contoh sederhananya:

1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 // Pin 8 untuk LED
6 const int pinLED = 8;
7
8 void setup() {
9 //pin LED sebagai output
10 pinMode(pinLED, OUTPUT);
11 }
12
13 // awal time delay 1000 milisekon
14 int timeDelay = 3000;
15
16 void loop() {
17 //perulangan sebanyak 10 kali dari 1 hingga 10

Program Studi Teknik Industri


Universitas Diponegoro 28
Modul Praktikum Internet of Things
2022

18 for(int i = 1; i <= 10; i++){


19 //LED hidup mati dengan durasi 500 milisekon
20 digitalWrite(pinLED, HIGH);
21 delay(500);
22 digitalWrite(pinLED, LOW);
23 delay(500);
24 }
25 // diam selama 3 detik
26 delay (timeDelay);
27 }

Ketika program tersebut diupload, maka LED akan berkedip dengan durasi ½ detik
sebanyak 10 kali, kemudian LED akan diam (mati) selama 3 detik (nilai timeDelay
diganti 3000), dan melanjutkan berkedip lagi. Pada baris 18 menunjukkan FOR
dengan kondisi nilai awal i=1, i akan terus-menerus ditambah dengan 1 (i++)
selama perulangan selama i <= 10. Sederhananya, nilai i akan berubah dari 1, 2, 3,
4, … hingga 10. Bagian penting yang perlu dipahami adalah i++, i++ sama dengan:
𝑖 =𝑖+1
Selain i++, ada juga ++i, i--, dan --i. Penulisan i-- sama dengan i++, hanya saja i--
berarti i= i -1, atau i akan berkurang 1 terus-menerus selama perulangan.
Penempatan ++ di depan atau di belakang i berarti bahwa: jika ++ nya ada di
belakang, maka proses penambahannya dilakukan setelah blok kode dalam for
dijalankan. Tapi jika ++ nya ada di depan, maka proses penambahan akan
dilakukan sebelum proses dijalankan.

l. Serial Monitor
Serial monitor bisa digunakan untuk men-debug secara software. Jika tanpa serial
monitor, pengguna tidak bisa melakukan debug untuk aplikasi yang dibuat
sehingga untuk menemukan solusinya, pengguna harus men-debug dari sisi
hardware. Misal ketika ada error, pengguna akan mencoba dengan LED atau
menambah/mengurangi rangkaian.

Program Studi Teknik Industri


Universitas Diponegoro 29
Modul Praktikum Internet of Things
2022

Tapi jika menggunakan serial monitor, pengguna akan tahu error-nya melalui data
yang dikirimkan oleh Arduino. Misal ketika nyala LED terlalu lama atau terlalu
pelan, pengguna langsung bisa mengecek nilai (angka) yang digunakan untuk delay
dan semua isi variabel dalam program yang dibuat. Sehingga pengguna bisa
menelusuri logika dan algoritma program berdasarkan data-data yang dikirimkan
tadi.
Pada board arduino, pin 0 dan 1 ada tulisan RX dan TX. Pin tersebut berfungsi
untuk menerima dan mengirim data melalui komunikasi serial dari Arduino ke
komputer melalui kabel USB. Untuk menggunakan komunikasi serial tidak perlu
menambahkan komponen tambahan pada Arduino karena pada board tersebut
sudah disediakan. Cukup hanya dengan menghubungkan Arduino ke komputer,
dan bisa langsung membuat program.

1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 void setup() {
6 Serial.begin(9600);
7 Serial.println(“Nama saya:”);
8 }
9
10 int number = 0;
11 void loop() {

12 Serial.print(“Agus”);
13 Serial.println( number++ );

14 delay(1000);
15 }

Program Studi Teknik Industri


Universitas Diponegoro 30
Modul Praktikum Internet of Things
2022

Pada baris ke-6, perintah Serial.begin(9600); berarti membuat koneksi serial


dengan band rate 9600. Sederhananya, band berkaitan dengan jumlah bit yang
akan ditransfer setiap detik. Nilai band rate ini tergantung pada clock
mikrokontroller. Arduino Uno sendiri menggunakan clock 16 MHz. Jika clock-nya
makin rendah, maka baud rate harus dikurangi. Sebagai contoh, jika menggunakan
mikrokontroller dengan clock 1 MHz, maka band rate yang cocok adalah 4800.
Jika clock 1 MHz menggunakan band rate 9600, maka data yang dikirim ke
komputer tidak akan terbaca. Pada Arduino IDE, nilai baud rate default pada Serial
Monitor adalah 9600.
Pada baris ke-7, awalnya Arduino akan mengirim pesan “Nama:” ketika pertama
kali Arduino start. Setelah itu, Arduino akan mengirim pesan “Agus” dan
dilanjutkan dengan angka 0, 1, 2, 3, dst. Jika Serial Monitor ditutup dan dibuka
kembali, maka Arduino seakan-akan melakukan reset program. Arduino akan
kembali mengirimkan pesan “Nama:” dan angka kembali ke 0 lagi.
Pada baris ke 12 dan 13, ditemukan perintah print yang berbeda, yaitu print() dan
println(). Jika menggunakan print, maka artinya sekedar mengirim data tanpa
diikuti end of line (perintah untuk ganti baris, atau ENTER). Jika menggunakan
println(), maka tulisan akan diikuti perintah untuk pindah baris.

Program Studi Teknik Industri


Universitas Diponegoro 31
Modul Praktikum Internet of Things
2022

MODUL 2
FUNGSI OUTPUT PADA ARDUINO

TUJUAN PRAKTIKUM
1. Praktikan mampu mengoperasikan fungsi output pada Arduino.
2. Praktikan mampu memahami implementasi dari algoritma pemrograman pada
komponen output Arduino.
3. Praktikan mampu mengaplikasikan pemrograman menggunakan bahasa C++ pada
Arduino.

DASAR TEORI
A. PERANGKAT OUTPUT
Output pada sebuah sistem komputer merupakan sebuah hasil keluaran berupa
tindakan memberikan aksi dari perintah yang sudah dibuat. Perangkat output
merupakan sebuah perangkat yang memiliki fungsi untuk melakukan aksi atau hasil
yang diperintahkan oleh sistem. Pada Arduino terdapat beberapa perangkat output
yang digunakan dalam melakukan aksi dari sistem yang sudah deprogram sebelumnya.
Contoh dari output proram Arduino adalah lampu LED yang hidup ataupun berkedip
selama waktu tertentu sesuai dengan fungsi yang sudah diprogram sebelumnya. Ada
banyak prangkat output yang ada di Arduino, berikut adalah beberapa penjelasan
mengenai perangkat output yang ada di Arduino.
1. LED
LED merupakan singkatan dari Light Emiting Diode, yaitu diode yang mampu
mengubah listrik menjadi cahaya. Sebagaimana sifat diode, lampu LED memiliki
kaki positif dan negatif. Sehingga pemasangannya tidak boleh terbalik, jika
dipasang terbalik maka arus tidak akan mengalir dan LED pun tidak akan menyala.
Arduino bekerja pada tegangan 5-12 volt dengan arus yang relatif besar dan
sanggup memutuskan LED. Sehingga jika ingin menyambungkan LED, maka
dibutuhkan tahanan (resistor) untuk membatasi arus yang masuk ke LED. LED
memiliki tegangan kerja yang disebut dengan forward voltage (vf) yang mana
tegangan ini adalah tegangan yang dibutuhkan LED untuk bisa menyala dengan
baik. Ukuran resistor yang bisa dipakai adalah 100Ω hingga 1KΩ (Ω dibaca ohm,

Program Studi Teknik Industri


Universitas Diponegoro 32
Modul Praktikum Internet of Things
2022

satuan dari resistansi/hambatan), makin besar nilai resistor maka nyala LED akan
semakin redup. Pada Arduino, tegangan yang keluar dari pin-pinnya adalah 0-5
volt. Sementara catu daya untuk Arduino antara 5-12 volt. Oleh sebab itu,
pemilihan resistor tergantung tegangan mana yang akan digunakan.
Pada umumnya LED dibuat beraneka ragam warna, ada led yang hanya bisa
menampilkan satu warna, namun ada juga LED yang bisa menampilkan banyak
warna. Untuk penjalasan yang akan dicontohkan LED yang digunakan hanya bisa
menampilkan satu warna. Berikut adalah gambar dari LED.

Gambar 7 LED
LED memiliki 2 kaki, kaki yang pendek berarus negative, sedangkan kaki yang
panjang memiliki arus positif. Arus negatife tersambung dengan pin ground pada
mikrocotroller, sedangkan pin positif tersambung pada digital pin. Ada dua
perintah untuk mengoperasikan LED yaitu perintah “HIGH” untuk menghidupkan
LED dan perintah “LOW” untuk mematikan LED. Berikut adalah contoh
rangkaian.

Gambar 8 Rangkaian LED


Berikut adalah contoh codingnya.
1 void setup()
2 {

Program Studi Teknik Industri


Universitas Diponegoro 33
Modul Praktikum Internet of Things
2022

3 pinMode(LED_BUILTIN, OUTPUT);
4 }
5
6 void loop()
7 {
8 // turn the LED on (HIGH is the voltage level)
9 digitalWrite(LED_BUILTIN, HIGH);
10 delay(1000); // Wait for 1000 millisecond(s)
11 // turn the LED off by making the voltage LOW
12 digitalWrite(LED_BUILTIN, LOW);
13 delay(1000); // Wait for 1000 millisecond(s)
14 }// awal time delay 1000 milisekon
15 int timeDelay = 3000;

2. Buzzer/Piezzo
Buzzer atau Piezzo merupakan sebuah perangkat output pada Arduino yang
memiliki fungsi untuk memberikan output berupa suara. Buzzer mengubah aliran
lisrtik yang dialirkan oleh microcontroller dan mengubahnya menjadi getaran pada
perangkat mekanis yang ada di dalamnya untuk menghasilkan suara. Ada dua jenis
buzzer yaitu active buzzer yang sudah memiliki suara sendiri saat diberi aliran
listrik dan passive buzzer yang belum memiliki suara sendiri. Buzzer yang sering
digunakan dalam Arduino adalah buzzer Piezzoelectric. Berikut adalah gambar
dari buzzer.

Gambar 9 Buzzer
Piezzo memiiki tiga bagian, bagian pertama adalah tubuh utama yang berfungsi
menghasilkan suara, bagian kedua adalah kaki pin negative yang terhubung ke pin

Program Studi Teknik Industri


Universitas Diponegoro 34
Modul Praktikum Internet of Things
2022

GND, dan kaki positif yang terhubung ke arus positif. Berikut adalah contoh
rangkaian buzzer.

Gambar 10 Rangkaian Piezzo


Berikut adalah code yang digunakan untuk menjalankan piezzo:
1 void setup(){
2 pinMode(2, OUTPUT);
3 }
4
5 void loop(){
6 tone(2, 1000);
7 delay(1000);
8 noTone(2);
9 delay(1000);
}

3. Seven Segment
Seven segmen adalah sebuah display LED yang terdiri dari 7 segmen led yang tersusun
sehingga dapat menampilkan objek berupa angka dari 0 hingga 9 atau objek serupa
yang dapat terbentuk dari ketujuh garis tersebut. Berikut adalah gambar dari seven
segment.

Gambar 11 Seven Segment

Program Studi Teknik Industri


Universitas Diponegoro 35
Modul Praktikum Internet of Things
2022

Seven segment memiliki 7 katoda dan 10 kaki seperti gambar diatas. tujuh kaki
memiliki fungsi untuk menghidupkan sebuah segmen dan sisasnya sebagai sumber
arus. Berikut adalah contoh rangkaian dan kode untuk mengoperasikan seven segmen.

Gambar 12 Rangkaian Seven Segment


Berikut adalah code untuk rangkaian:
1 //Rangkaian Display 7 Segment Common Anoda
2
3 const int A=6;
4 const int B=7;
5 const int C=8;
6 const int D=9;
7 const int E=10;
8 const int F=11;
9 const int G=12;
10 const int DP=13;
11
12 void setup()
13 {
14 pinMode(A,OUTPUT);
15 pinMode(B,OUTPUT);
16 pinMode(C,OUTPUT);
17 pinMode(D,OUTPUT);
18 pinMode(E,OUTPUT);
19 pinMode(F,OUTPUT);
20 pinMode(G,OUTPUT);
21 pinMode(DP,OUTPUT);

Program Studi Teknik Industri


Universitas Diponegoro 36
Modul Praktikum Internet of Things
2022

22 }
23
24 void loop()
25 {
26 disp1();
27 }
28 void disp1()
29 {
30 digitalWrite(A, HIGH);
31 digitalWrite(B, LOW);
32 digitalWrite(C, LOW);
33 digitalWrite(D, HIGH);
34 digitalWrite(E, HIGH);
35 digitalWrite(F, HIGH);
36 digitalWrite(G, HIGH);
37 }

4. LCD
LCD merupakan singkatan dari Liquid Crystal Display, atau umumnya disebut
dengan LCD atau display saja. Di pasaran beragam jenis LCD dan berbagai ukuran
yang bisa digunakan. LCD bisa untuk menampilkan huruf dan angka, bahkan ada
yang bisa untuk menampilkan gambar.
LCD ini berukuran 16x2 (2 baris 16 kolom) yang cukup untuk menampilkan
informasi jarak atau informasi yang tidak terlalu panjang. LCD ini dikenal juga
dengan LCD 1602 dengan beberapa varian seperti 1602A, dll.
LCD ini bisa bekerja pada 5 volt, sehingga bisa disambungkan secara langsung ke
pin VCC pada board Arduino. Jika menggunakan LCD jenis lainnya, ada juga LCD
yang bekerja pada voltase yang berbeda. Sehingga kesalahan pemasangan sumber
tegangan bisa membuat LCD rusak. Berikut merupakan contoh gambar dari LED.

Program Studi Teknik Industri


Universitas Diponegoro 37
Modul Praktikum Internet of Things
2022

Gambar 13 LCD
LCD 1602 memiliki 16 pin dengan fungsi-fungsi sebagai berikut:
Tabel 5 Fungsi Pin LCD
Simbol Value Fungsi
VSS 0V Ground
VDD +5V Power Supply / VCC
V0 - Pengaturan kontras backlight
RS H/L H = data, L = command
R/W H/L H = read, L = write
E H.H - L Enable Signal
D1-D3 H/L Jalur untuk transfer 8 bit data
D4-D7 H/L Jalur untuk transfer 4 & 8 bit data
A +5V VCC untuk backlight
K 0V GND untuk backlight

Berdasarkan karakteristik tersebut, maka semua pin akan digunakan kecuali


pin D1 – D3 sebab akan menggunakan jalur data untuk transfer 4 bit atau
8 bit. Penjelasan singkat tentang RS, R/W, dan E:
- RS merupakan kependekan dari Register Selector, pin ini berfungsi
untuk memilih register control atau register data. Register control
digunakan untuk mengkonfigurasi LCD, sedangkan register data
digunakan untuk menuliskan data berupa karakter untuk ditampilkan di
LCD.
- R/W atau Read/Write, digunakan untuk memilih aliran data
mikrokontroller akan membaca data yang ada di LCD atau menuliskan

Program Studi Teknik Industri


Universitas Diponegoro 38
Modul Praktikum Internet of Things
2022

data ke LCD. Jika LCD hanya digunakanuntuk menulis / menampilkan


data, maka pin ini bisa langsung disambungkan ke GND sehingga
logika bisa diset menjadi L (Low).
- E atau Enable, digunakan untuk mengaktifkan LCD ketika proses penulisan
data ke register control dan regiter data.

Untuk merangkai LCD, yang dibutuhkan adalah beberapa kabel jumper dan
sebuah potensiometer. Potensiometer ini berfungsi untuk mengatur kontras
backlight LCD.

Gambar 14 Rangkaian LCD

1. Pin V0 pada LCD disambungkan ke kaki tengah potensiometer,


sementara masing-masing kaki potensiometer yang ada di pinggir
disambungkan ke VCC dan GND. Jika nanti tampilan tulisannya
kurang jelas, silakan putar-putar potensiometernya.
2. Pin R/W pada LCD disambungkan ke GND
3. Pin RS pada LCD disambungkan ke pin 6 pada Arduino
4. Pin E pada LCD disambungkan ke pin 7 pada Arduino
5. Pin untuk data (D4 – D7) pada LCD disambungkan ke pin 9 – 12 pada Arduino
6. VDD dan A pada LCD disambungkan ke +5v
7. VSS dan K pada LCD disambungkan ke GND

Berikut merupakan sketch untuk program dasar LCD.

1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS

Program Studi Teknik Industri


Universitas Diponegoro 39
Modul Praktikum Internet of Things
2022

4
5 #include <LiquidCrystal.h>
6
7 //Setting LCD RS E D4 D5 D6 D7
8 LiquidCrystal lcd(7,6,9,10,11,12);
9
10 void setup(){
11 //pilih LCD 16x2
12 lcd.begin(16,2);
13 lcd.print(“DSS Jaya”)
14 }
15
16 int hitung = 0;
17 void loop(){
18 //pindah ke baris kolom 1 baris ke 2
19 //array selalu dimulai dari 0
20 lcd.setCursor(0,1);
21 lcd.print ( hitung++ );
22 delay(1000)
23 }

Pada Arduino bisa menggunakan library untuk menulis LCD. Library tersebut adalah
LiquidCrystal.h. Untuk menggunakan library tersebut caranya bisa dengan meng-
include-nya seperti pada baris ke-8.
Perintah pada baris 8 adalah untuk melakukan setting LCD sesuai dengan library yang
dipakai. Fungsi lcd() adalah instansiasi dari class LiquidCrystal yang dipanggila pada
baris ke-8 memiliki parameter berturut-turut pin RS, E, D4, D5, D6, dan D7. Jika ingin
menggunakan format lainnya, maka bisa menggunakan beberapa pilihan parameter
seperti di bawah ini:

Program Studi Teknik Industri


Universitas Diponegoro 40
Modul Praktikum Internet of Things
2022

LiquidCrystal(RS, E, D0, D1, D2, D3);


LiquidCrystal(RS, RW, E, D0, D1, D2, D3);
LiquidCrystal(RS, E, D0, D1, D2, D3, D4, D5,
D6, D7);
LiquidCrystal(RS, RW, E, D0, D1, D2, D3, D4, D5, D6, D7);

Fungsi begin(kolom, baris, charsize) memiliki 2 parameter wajib dan 1 parameter


tambahan. Parameter wajibnya adalah informasi kolom dan informasi baris pada LCD.
Sedangkan informasi tambahannya adalah charsize untuk masing-masing karakter yang
akan digunakan. Standarnya, charsize berukuran 5x8 pixel untuk setiap karakter, jika
memiliki LCD dengan pixel yang berbeda, silakan disesuaikan. Fungsi begin() juga
digunakan untuk inisialisasi jenis LCD yang akan digunakan. Mungkin ini agak mirip
dengan Serial.begin() yang berfungsi untuk inisialisasi komunikasi serial dengan
parameter berupa baud rate yang akan digunakan.
Fungsi setCursor(kolom, baris) berfungsi untuk memindah kursor aktif sesuai kolom dan
baris yang ditentukan. Kolom ke-0 berarti kolom ke 1 pada LCD (ingat, angka pertama
dalam array adalah 0, bukan 1), sedangkan baris ke-1 berarti adalah baris ke 2 pada LCD.
Pada baris ke-21,Penggunaan println() dalam LCD maka akan secara otomatis
menambahkan 2 karakter tambahan untuk pindah baris (CR dan LF), maka jika
menggunakan println(), akan muncul 2 karakter aneh pada LCD. Jadi, gunakanlah print()
untuk menulis ke LCD.

Program Studi Teknik Industri


Universitas Diponegoro 41
Modul Praktikum Internet of Things
2022

MODUL 3
INTEGRASI INPUT PROCESS DALAM ARDUINO

TUJUAN PRAKTIKUM
1. Praktikan mampu memahami jenis dan kegunaan dari perangkat input dari arduino
2. Praktikan memahami mengenai pembuatan system input dalam Arduino
3. Praktikan mampu menggunakan perangkat input Arduino dan mampu
mengintegrasikannya dengan perangkat output
4. Praktikan mampu mengaplikasikan Arduino dalam permasalahan sehari hari
5. Praktikan dapat mengaplikasikan penggunaan Arduino dalam sistem input pada
masalah kehidupan sehari-hari

DASAR TEORI
A. Input
Input dalam sistem komputer merupakan proses masuknya sebuah perintah, informasi
atau hasil pengindraan dari kondisi sekitar. Perangkat input merupakan sebuah
perangkat yang memberikan data atau informasi masukan kepada komputer atau
perangkat elektrik dengan tujuan sebagai sebuah tanda untuk melakukan proses atau
sebagai sumber informasi pemrosesan sistem. Pada Arduino ada banyak perangkat
input. Berikut adalah contoh dari perangkat input.
1. Sensor Ultrasonik
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran
fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan
pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk
menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut
sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik
(bunyi ultrasonik).
Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat
tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia.
Bunyi ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumba-lumba.
Bunyi ultrasonik bisa merambat melalui zat padat, cair dan gas. Reflektivitas bunyi
ultrasonik di permukaan zat padat hampir sama dengan reflektivitas bunyi

Program Studi Teknik Industri


Universitas Diponegoro 42
Modul Praktikum Internet of Things
2022

ultrasonik di permukaan zat cair. Akan tetapi, gelombang bunyi ultrasonik akan
diserap oleh tekstil dan busa. Berikut ini adalah beberapa aplikasi dari gelombang
ultrasonik:
• Dalam bidang kesehatan, gelombang ultrasonik bisa digunakan untuk
melihat organ- organ dalam tubuh manusia seperti untuk mendeteksi tumor,
liver, otak dan menghancurkan batu ginjal. Gelombang ultrasonik juga
dimanfaatkan pada alat USG (ultrasonografi) yang biasa digunakan oleh
dokter kandungan.
• Dalam bidang industri, gelombang ultrasonik digunakan untuk mendeteksi
keretakan pada logam, meratakan campuran besi dan timah, meratakan
campuran susu agar homogen, mensterilkan makanan yang diawetkan dalam
kaleng, dan membersihkan benda benda yang sangat halus. Gelombang
ultrasonik juga bisa digunakan untuk mendeteksi keberadaan mineral maupun
minyak bumi yang tersimpan di dalam perut bumi.
• Dalam bidang pertahanan, gelombang ultrasonik digunakan sebagai radar
atau navigasi, di darat maupun di dalam air. Gelombang ultrasonik digunakan
oleh kapal pemburu untuk mengetahui keberadaan kapal selam, dipasang pada
kapal selam untuk mengetahui keberadaan kapal yang berada di atas
permukaan air, dan mengukur kedalaman palung laut.
Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat
yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan
menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah
osilator diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan
gelombang ultrasonik menuju suatu area atau suatu target. Setelah gelombang
menyentuh permukaan target, maka target akan memantulkan kembali gelombang
tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor, kemudian
sensor menghitung selisih antara waktu pengiriman gelombang dan waktu
gelombang pantul diterima.

Gambar 15 Cara Kerja Sensor Ultrasonic

Program Studi Teknik Industri


Universitas Diponegoro 43
Modul Praktikum Internet of Things
2022

Karena kecepatan bunyi adalah 340 m/s, maka rumus untuk mencari
340 . 𝑡
𝑆=
2
dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul),
dan tadalah selisih antara waktu pemancaran gelombang oleh transmitter dan
waktu ketikagelombang pantul diterima receiver. HC-SR04 merupakan sensor
ultrasonik siap pakai, satu alat yang berfungsi sebagai pengirim, penerima, dan
pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur jarak
benda dari 2cm - 4m dengan akurasi 3mm. Dengan demikian, untuk menghitung
jarak yang hanya maksimal 4 m maka rumus di atas harus dimodifikasi atau
disesuaikan satuannya. Mikrokontroller bisa bekerja pada order mikrosekon (1s
= 1.000.000μs) dan satuan jarak bisa diubah ke satuan cm (1m = 100 cm). Oleh
sebab itu, rumus di atas bisa diupdate menjadi:

100
340 (1000000) . 𝑡
𝑆=
2
0,034 . 𝑡
𝑆=
2
Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc untuk listrik
positif dan Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari
sensor dan pin Echountuk menangkap sinyal pantul dari benda.
Cara menggunakan alat ini yaitu:
- Ketika memberikan tegangan positif pada pin Trigger selama 10μS, maka
sensor akanmengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz
- Selanjutnya, sinyal akan diterima pada pin Echo
- Untuk mengukur jarak benda yang memantulkan sinyal tersebut, selisih waktu
ketikamengirim dan menerima sinyal digunakan untuk menentukan jarak benda
tersebut
- Rumus untuk menghitung jaraknya adalah S = (0.034 *t) /2 cm.

Program Studi Teknik Industri


Universitas Diponegoro 44
Modul Praktikum Internet of Things
2022

Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04

Gambar 16 Visualisasi Sinyal Ultrasonic

Berikut adalah visualisasi dari rangkaian Sensor Jarak dengan HC-SR04.

Gambar 17 Rangkaian Sensor Ultrasonic

Berikut merupakan salah satu contoh sketch program sensor jarak dengan
sensor ultrasonic.
1 // Panduan Praktikum
2 // Internet of Things
3 // coder DSS
4
5 // pin 9 trigger
6 // pin 10 echo
7 const int pTrig = 9;
8 const int pEcho = 10;
9
10 void setup() {

11 Serial.begin(9600);
12 pinMode(pTrig, OUTPUT);

Program Studi Teknik Industri


Universitas Diponegoro 45
Modul Praktikum Internet of Things
2022

13 pinMode(pEcho, INPUT);

14 }

15
16 long durasi = 0;

17 void loop() {
18 //trigger selama 10µs

19 digitalWrite(pTrig, HIGH);
20 delayMicroseconds(10);

21 digitalWrite(pTrig, LOW);

22
23 durasi = pulseIn (pEcho, HIGH);

24 Serial.print(“Durasi: “);
25 Serial.print(durasi);

26

27 Serial.print(“, Jarak: “);


28 Serial.println((durasi *0.034)/2);

29 delay(1000);
30 }

Program pada Sketch 7.1 akan mengaktifkan pin Trigger selama 10μs, kemudian
akan menunggu hingga pin Echo bernilai HIGH. Fungsi pulseIn() akan
memerintahkan sistem untuk menunggu hingga pin Echo bernilai HIGH. Lama
proses menunggu akan dianggap sebagai durasi pengiriman + penerimaan sinyal
echo yang dipantulkan oleh benda. Sedikit penjelasan tentang fungsi pulseIn(),
fungsi ini standarnya memiliki 3 parameter, 2 parameter Pin dan Value dan 1
parameter Timeout sebagai parameter tambahan:
pulseIn(Pin, Value);
pulseIn(Pin,Value,
Timeout);

Program Studi Teknik Industri


Universitas Diponegoro 46
Modul Praktikum Internet of Things
2022

Pada parameter Value, bisa memasukkan HIGH atau LOW, Arduino akan
menunggu hingga kondisi tersebut dipenuhi. Sedangkan Timeout digunakan ketika
dalam waktu tertentu kondisi belum juga terpenuhi.
2. PIR Sensor
PIR (Passive Infrared Receiver) adalah sebuah perangkat input pada Arduino yang
memiliki fungsi untuk menangkap keadaan sekitar berupa sebuah gerakan. Sensor
PIR terbuat dari perangka pyroelectric yang dapat mendeteksi sebuah gerakan pada
jangkauan. Berikut adalah gambar dari sensor PIR.

Gambar 18 PIR Sensor


Sensor PIR memiliki 3 buah kaki, sebuah kaki berfungsi sebagai GND, satu kaki
berfungsi sebagai power, dan satu kaki sabagai pin. Cara kerja dari sensor pir adalah
sensor infrared akan memindai lingkungan sekitar, jika ada gerakan sensor
inframerah akan mengirimkan sinyal kepada mikrokontroller bahwa terdeteksi
sebuah gerakan. Berikut adalah contoh rangkaian PIR sensor.

Gambar 19 Rangkaian PIR Sensor


Berikut adalah code untuk menjalankan rangkaian.
1 #define PirPin 12

Program Studi Teknik Industri


Universitas Diponegoro 47
Modul Praktikum Internet of Things
2022

2 int motion;
3 void setup()
4 {
5 Serial.begin(9600);
6 pinMode(PirPin,INPUT);
7 }
8 void loop ()
9 {
10 motion=digitalRead(PirPin);
11 if (motion == 1)
12 {
13 Serial.println("There is a Motion...");
14 }
15 else
16 {
17 Serial.println("There is no Motion...");
18 }
19 }

3. Photoresistor
Photoresistor atau sensor cahaya merupakan sebuah sensor Arduino yang menerima
rangsangan cahaya yang ada di sekitar. Photo resistor merupakan sebuah resistor
yang terbuat dari sel cahaya yang sensitif terhadap cahaya. Berikut adalah gambar
sensor cahaya.

Gambar 20 Photoresistor
Photoresistor memiliki 2 kaki, sabuah kaki sebagai pin input dan sebuah kaku
sebagai sumber arus. cara kerja dari photo resistor adalah sel surya akan menerima

Program Studi Teknik Industri


Universitas Diponegoro 48
Modul Praktikum Internet of Things
2022

rangsangan cahaya yang ada di sekitar, lalu sensor cahaya akan mengirimkan
informasi cahaya ke mikrikontroller untuk diolah. Berikut adalah contoh rangkaian
photoresistor.

Gambar 21 Rangkaian Photoresistor


Berikut adalah code yang digunakan untuk mengoperasikannya.
1 const int sensorPin = 3;
2 int lightval;
3 int sunlight;
4
5 void setup()
6 {
7 Serial.begin(9600);
8 lightval = analogRead(sensorPin);
9 }
10
11 void loop()
12 {
13 sunlight = analogRead(sensorPin);
14 Serial.println(sunlight);
15 }

4. Temperature Sensor
Temperature sensor adalah sebuah sensor yang digunakan untuk mendeteksi suhu
yang ada di sekitar perangkat. Temperature sensor yang biasa digunakan adalah
jenis LM35 yang dianggap lebih unggul dalam kalibrasi dan menggunakan skala
suhu celcius sehingga tidak perlu mengkonversi hasil pemindaian sensor. Selain itu

Program Studi Teknik Industri


Universitas Diponegoro 49
Modul Praktikum Internet of Things
2022

LM35 mampu mendeteksi suhu pada rentang 55°C hingga 150°C. berikut adalah
gambar dari sensor suhu LM35.

Gambar 22 Temperature Sensor


Temperature sesnsor LM35 memiliki 3 kaki, satu kaki sebagai vcc, satu kaki
sebagai pin analog in, dan satu kaki sebagai GND. Cara kerja sensor suhu adalah
sensor suhu akan memindai suhu sekitar dan mengkonversi hasil penghitungan
suhu menjadi sebuah aliran listrik sebagai sebuah data yang akan dikirimkan
kepada mikrokontroller untuk diproses. Berikut adalah gambar dari rangkaian
arduino sensor suhu.

Gambar 23 Rangkaian Temperature Sensor


Berikut adalah code yang digunakan untuk menjalankan rangkaian.
1 void setup()
2 {
3 Serial.begin(9600);
4 }
5
6 void loop()
7 {
8 float Vol = analogRead(A0);

Program Studi Teknik Industri


Universitas Diponegoro 50
Modul Praktikum Internet of Things
2022

9 Serial.println((100.0/205.0)*(Vol-153.0)+25.0);
10 delay(500);
11 }

B. Integrasi Sistem Input dan Output


Pada banyak keadaan sebuah perangkat IOT Arduino menggunakan kombinasi antara
perangkat output dan input dalam membuat sebuah sistem yang memberikan sebuah
fungsi. Perangkat input digunakan untuk membaca sebuah keadaan atau kondisi yang
ada, sedangkan output digunakan untuk memberikan informasi mengenai kondisi yang
ada.
1. Contoh Kombinasi Input dan Output
Contoh perangkat Arduino yang menggunakan perangkat input dan output adalah
perangkat penghitung ukuran yang menggunakan perangkat input berupa sensor
ultrasonik untuk menghitung jarak dan menggunakan LCD untuk memberikan
informasi mengenai jarak yang dihitung oleh sensor ultrasonik. Berikut adalah
gambar rangkaiannya.
Cara kerja rangkaian tersebut adalah sensor ultrasonic mengukur jarak yang

Gambar 24 Rangkaian Sensor Jarak dan LCD


diberikan, lalu input berupa data jarak akan diproses dalam microcontroller untuk
mengkonversikan ukuran jarak yang didapat sensor ultrasonic agar menjadi ukuran
dalam satuan centimeter dan inchi. Lalu informasi jarak yang sudah dikonvesi
tersebut akan ditampilkan melalui perangkat output berupa LCD agar pengguna
dapat mengetahui jarak yang dipindai oleh sensor ultrasonic. Berikut adalah kode
yang digunakan dalam rangkaian tersebut.

Program Studi Teknik Industri


Universitas Diponegoro 51
Modul Praktikum Internet of Things
2022

1. // include the library code:


2. #include <LiquidCrystal.h>
3. int trigPin = 8;
4. int echoPin = 9;

5. float distance;
6. float duration;
7. // initialize the library with the numbers of the interface pins
8. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

9. void setup() {

10. pinMode(trigPin, OUTPUT);

11. pinMode(echoPin, INPUT);

12. // set up the LCD's number of columns and rows:

13. lcd.begin(16, 2);

14. // Print a message to the LCD.

15. lcd.print(" ULTRASONIC ");

16. lcd.setCursor(0,1);

17. lcd.print(" Sensor Demo");

18. delay(1000);

19. }

20. void loop() {

21. digitalWrite(trigPin,0);

22. delayMicroseconds(2);

23. digitalWrite(trigPin,1);

24. delayMicroseconds(10);

25. digitalWrite(trigPin,0);

26. duration = pulseIn(echoPin, 1);

27. distance = duration * 0.0343 / 2;

28. lcd.clear();

29. lcd.setCursor(0,0);

Program Studi Teknik Industri


Universitas Diponegoro 52
Modul Praktikum Internet of Things
2022

30. lcd.print(distance);

31. lcd.print(" cm.");

32. lcd.setCursor(0,1);

33. lcd.print(distance/2.54);

34. lcd.print(" in.");

35. delay(100);

36. }

Program Studi Teknik Industri


Universitas Diponegoro 53
Modul Praktikum Internet of Things
2022

TIMELINE PRAKTIKUM
Oktober November
Senin Selasa Rabu Kamis Jumat Sabtu Minggu Senin Selasa Rabu Kamis Jumat Sabtu Minggu
24 25 26 27 28 29 30 31 1 2 3 4 5 6
Modul 1 Modul 2
Pengumpulan
Pengumpulan TP Pretest
Briefing TP Tugas
Tugas Modul 1 Laporan Modul 2
Pretest Briefing
Post Test
Brirefing Modul 1 Modul 2

November
Senin Selasa Rabu Kamis Jumat Sabtu Minggu Senin Selasa Rabu Kamis Jumat Sabtu Minggu
7 8 9 10 11 12 13 14 15 16 17 18 19 20
Modul 2 Modul 3
Pengumpulan Briefing
Laporan Modul 2 Laporan Modul 3 laporan Modul 3
Post test Pretest

November Desember
Senin Selasa Rabu Kamis Jumat Sabtu Minggu Senin Selasa Rabu Kamis Jumat Sabtu Minggu
21 22 23 24 25 26 27 28 29 30 1 2 3 4
Modul 3
Presentasi Akhir (akan diinformasikan lebih
Pengumpulan Laporan
laporan Modul 3 lanjut)
Posttest

Program Studi Teknik Industri


Universitas Diponegoro 54
Modul Praktikum Internet of Things
2022

DATA ASISTEN

No Nama NIM Email ID Line

1 Andhika Davin 21070120130095 [email protected] andhika.davin

2 Alfito Fakhri Naufal 21070119120034 [email protected] alfito008

Aqila Nurfadiyah
3 21070120110054 [email protected] azzahra.aqila
Azzahra
Aqila Tunjung
4 21070119130092 [email protected] aqila3747
Chandra
Bagus Emirsyach
5 21070119130064 [email protected] bagusey
Yudhistira

6 Faizal Hamdan 21070119130061 [email protected] faizalhdn

7 Fikri Firdaus 21070120120023 [email protected] firdausfikri

I Wayan Gede
8 21070119130077 [email protected] iwayan_gede
Ananta Wijaya
Ihsanudin Halim
9 21070120130080 [email protected] ihsanudinhf_
Fajrian
Muhammad Faiz
10 21070119130051 [email protected] faiz.noor
Noor Arifin
Muhammad Fitrah
11 21070119130078 [email protected] atokmaster12
Athaillah

12 Musa Abdussalam 21070119140162 [email protected] behepi

13 Raihan Zakyrafi 21070119130060 [email protected] zakyrafi

14 Rifky Nafi Fadhila 21070120120005 [email protected] rifkynafi

Sheila Syifa
15 21070119130074 [email protected] sheilassalsabila
Salsabila

Program Studi Teknik Industri


Universitas Diponegoro 55

Anda mungkin juga menyukai