BAB II LANDASAN TEORI

advertisement
BAB II
LANDASAN TEORI
2.1
Pengertian Arduino
Arduino Uno adalah sebuah perangkat elektronik yang dikeluarkan
oleh sebuah perusahaan bernama Arduino yang berisikan sebuah Chip
Mikrokontroller berjenis AVR keluaran Atmel dan bersifat Open Source.
Arduino uno menurut situs resminya www.arduino.cc didefinisikan
sebagai sebuah platform elektronik terbuka (opon source) berbasis pada
hardware dan software yang fleksibel dan mudah digunakan untuk para
seniman, desainer, hobbies dan setiap orang yang tertarik dalam membuat
objek atau lingkungan interaktif. Arduino Uno ini dirancang untuk mudah
merasakan Keadaan lingkungan sekitarnya dengan bantuan sensor-sensor
yang terhubung ke pin-pin yang telah didesain sebagai input dan data
diberikan respon gerakan, cahaya, suhu, tegangan dan data dengan bantuan
Led, Motor maupun LCD.
Untuk menulis program pada board Arduino dibutuhkan software
dan nama Arduino juga dipakai untuk menamai bahasa dan software
pemrogramannya, serta Lingkungan pemrograman atau disebut juga
Intergrated Development Environment (IDE). IDE adalah sebuah software
untuk menulis program.
6 http://digilib.mercubuana.ac.id/
7 Kelebihan Arduino dari platform hardware mikrokontroler lain adalah :
1.
IDE Arduino merupakan multiplatform, yang dapat dijalankan
berbagai sistem operasi, seperti Windows, Macintosh, dan Linux.’
2.
IDE Arduino dibuat berdasarkan pada IDE Processing, yang
mempunyai kelebihan dalam hal kesederhanaannya sehingga
mudah digunakan.
3.
Pemrograman Arduino menggunakan kabel yang terhubung dengan
port USB, bukan port serial. Hal ini sangat berguna karena
komputer zaman sekarang jarang sekali yang mempunyai port
serial.
4.
Arduino adalah hardware dan software yang bersifat open source,
semua orang dapat mengunduh software dan gambar rangkaian
Arduino tanpa harus membayar kepada pembuat Arduino.
5.
Biaya pembuatan hardware cukup murah, sehingga tidak terlalu
yang
pada
akhirnya
menuntut
penggantian
komponen
penyusunnya.
6.
Proyek Arduino dikembangkan dalam lingkungan pendidikan,
sehingga bagi pemula pun akan lebih cepat dan mudah dalam
mempelajarinya.
7.
Arduino memiliki banyak pengguna diseluruh dunia, tergabung
dalam komunitas diinternet sehingga siap membantu apabila kita
menemui kesulitan dalam mempelajarinnya.
http://digilib.mercubuana.ac.id/
8 2.2
Konfigurasi dan Tampilan Arduino
Sebelum membahas lebih dalam tentang Arduino, harus kita
ketahui bahwa Arduino memiliki berbagai macam versi, untuk lebih
jelasnya dapat dibaca di situs resmi Arduino,
http://arduino.cc/en/Main/Products?from=Main.Hardware. Sifat Arduino
yang open source juga membuat banyak pabrikan membuat produk yang
serupa dengan Arduino, yang dipasarkan lebih kita kenal dengan istilah
cloning.
Beberapa versi yang cukup banyak tersedia dipasaran lokal,
diantaranya adalah versi Arduino Duemilanove yang juga disebut sebagai
Arduino 2009, versi Arduino Uno yang juga disebut Arduino 2010, dan
Arduino mega yang memiliki kapasitas memori dan kaki I/O yang lebih
banyak. Imbasnya, versi Arduino Mega yang mempunyai jumlah I/O lebih
banyak harganya yang lebih mahal dari pada 2 (dua) versi Arduino yang
lain.
Arduino
Diecimila,
pun
Duemilanove
Arduino
Uno
merupakan
penyempurna
Arduino
merupakan
penyempurna
Arduino
Duemilanove. Sehingga, belakangan ini ketersedian versi Arduino
Diecimila dan Arduino Duemilanove dipasaran sudah mulai berkurang,
banyak distributor ataupun penjual yang sudah tidak menyediakan versi
Arduino tersebut karena menurut mereka versi Arduino tersebut sudah
discontinue.
Versi Arduino Uno saat ini masih tersedia dipasaran lokal
walaupun sekarang sudah tersedia juga versi Arduino Leonardo. Bahkan
dipasaran internasional sudah tersedia versi Arduino terbaru, Arduiono
http://digilib.mercubuana.ac.id/
9 Due yang merupakan versi Arduino pertama yang didukung oleh ARM 32
bit. Versi Arduino Due mempunyai fitur yang sangat mumpuni, yakni
terdiri dari 54 pin digital I/O (12 dapat digunakan untuk PWM), 12 pin
analog input 12-bit, 2 pin DAC 12-bit (output analog), 4 UART (hardware
serial port) dan headers untuk ISCP dan JTAG. Terdapat anatrmuka USB
2.0 onboard yang memungkinkan untuk memasakng kamera. Keyboard,
dan telepon genggam (mendukung protokol Android ADK 2012).
2.2.1 Arduino Uno
Penulis menggunakan versi Arduino Uno cloning, sehingga yang
akan dibahas tentu saja Arduino Uno. Karena versi Arduino Uno
merupakan penyempurna Arduino Duemilanove, maka banyak kesamaan
diantara keduanya. Perbedaan yang paling signifikan terdapat pada IC
konverter USB ke serialnya. Apabila Arduino Duemilanove menggunakan
IC FTDI, maka Arduino Uno menggunakan IC ATMega 16U (Arduino
Uno R3) atau ATMega 8U (Arduino Uno R2) sebagai konverter USB ke
serialnya.
Perbedaan Arduino Uno R2 dan R3 adalah jenis IC konverter USB
ke serialnya. Arduino Uno R2 pada board-nya terdapat Pulling resitor
antara pin HWB pada ATMega 8U dan ground, yang akan mempermudah
kita agar bisa masuk ke mode DFU (Device Firmware Upgrade) atau
pembaruan firmware dari ATMega8U.
ATMega8U dalam Arduino berfungsi sebagai jembatan antara port
USB komputer dengan seral port prosesor utama dari Arduino,
ATMega328. ATMega8U menjalankan suatu software yang dinamakan
http://digilib.mercubuana.ac.id/
10 firmware, itu artinya kita tidak dapat mengubah software tersebut seenak
kita sendiri, karena cip IC tersebut sudah terprogram terkecuali melalui
sebuah protokol.
khusus yang dinamakan DFU (Device Firmware Update).
Keterangan lebih lengkap di,
http://arduino.cc/en/Hacking/DFUProgramming8U2.
Arduino Uno R3 sebagai penyempurna Arduino R2 memakai
ATMega16U sebagai cip pengubah USB ke serialnya. Fitur – fitur terbaru
yang diusung antara lain :
1. 1.0 pinout : ditambahkan pin SDA dan SCL dekat dengan pin
AREF, juga ditambahkan 2 pin dekat pin RESET. IOREF yang
memungkinkan
shield
untuk
mengadaptasi
tegangan
yang
disediakan oleh board. Ke depan, shield akan kompatibel dengan
board yang memakai AVR, yang bekerja dengan 5 V dan dengan
Arduino Due (Arduino terbaru) yang memakai tegangan 3.3 V. Pin
kedua pin yang tidak tersambung, yang dimaksudkan untuk
kegunaan yang akan datang.
2. Sirkuit RESET yang lebih powerful.
3. ATMega16U2 menggantikan 8U2.
“Uno” dalam bahasa Italia bermakna satu. Nama tersebut
sebenarnya mempresentasikan kehadiran IDE terbaru Arduino saat itu,
yakni Arduino Uno dan versi IDE 1.0 akan menjadi referensi untuk versi
depan. Uno merupakan USB Arduino board terbaru (pada saat itu) yang
http://digilib.mercubuana.ac.id/
11 dijadikan model referensi bagi platform Arduino berikutnya. Berikut ini
adalah gambar bagian – bagian Arduino Uno
Gambar 2.1. Bagian – bagian Arduino Uno
Tabel 2.1 Bagian – bagian Ardunio Uno
No.
Keterangan
1
Jack USB
2.
Jack Power
3
Prosessor
4
Cip komunikasi / Serial Converter
5
Kristal 16 MHz
6
Tombol Reset
7
LED Power
8
LED TX/RX
9
LED (Terhubung ke pin 13)
10
Pin Power
11
Input Analog
12
Pin TX dan RX
13
Inputs/outputs Digital (Tanda “~” di depan nomor sebagai
output untuk PWM.
14
Ground dan pin AREF
15
ICSP untuk ATMega325
16
ICSP untuk antarmuka USB
http://digilib.mercubuana.ac.id/
12 Adapun dimensi dari Arduino Uno :
Gambar 2.2 Dimensi Arduino Uno
Tabel 2.2 Spesifikasi Arduino Uno
Mikrokontroler
ATMega 328
Tegangan Kerja
5V
Input Tegangan (disarankan)
7 - 12 V
Input Tegangan (batas)
6 – 20 V
Digital I/O
14 Pin (6 dapat dijadikan output PWM)
Analog Input
6 Pin
Arus DC per I/O
40 mA
Arus DC untuk 3.3 V
50 mA
Flas Memory 32 KB (ATMega328)
0.5 KB digunakan untuk Bootloader
SRAM
2 KB (ATMega328)
EEPROM
1 KB
Clock Speed
16 MHz
Keterangan :
a. Power
Arduino Uno dapat beroperasi dengan diberi catu daya melalui
koneksi USB atau dengan catu daya eksternal, pemilihannya pun
dapat dipilih secara otomatis. Arduino dapat beroperasi dengan
http://digilib.mercubuana.ac.id/
13 catu dayaa eksternal yang bertegangan dari 6-20 volt. Jika
diberikan tegangan kurang dari 7V, maka arduino ini mungkin akan
menjadi tidak stabil. Jika menggunakan lebih dari 12V, reguler
voltage bisa panas dan merusak board. Rentang yang dianjurkan
adalah 7 – 12 volt.
b. Memori
ATMega328 ini memiliki memori sebesar 32KB (0,5 KB dari
memori tersebut digunakan untuk bootloader) dan juga memiliki
memori sebesar 2 KB dari SRAM dan 1 KB dari EEPROM.
c. Input dan Output
Masing-masing dari 14 pin digital pada Uno dapat digunakan
sebagai input atau output, dengan menggunakan fungsi pinMode (),
digitalWrite (), dan digitalRead (). Setiap pin dapat memberikan
atau menerima maksimum 40 mA dan memiliki resitor pull-up
internal (terputus secara default) dari 20 – 50 kOhms.
2.2.2 Intalasi IDE Arduino di Windows
Sekalipun Arduino bisa digunakan diberbagai macam sistem
operasi, karena dalam penulisan laporan tugas akhir ini penulis
menggunakan sistem operasi Windows, maka hanya akan dibahas sedikit
tentang instalasi Arduino di Windows.
Software Arduino bisa didapat disitus resmi Arduino secara cuma –
cuma. Karena memakai sistem operasi Windows maka berkas yang
diunduh harus disesuaikan dengan sistem operasi yang dipakai, versi
terbaru pada saat lapaoran ini ditulis adalah versi 1.6.12 (arduino-1.6.12-
http://digilib.mercubuana.ac.id/
14 windows.zip). Setelah proses unduh selesai, kita tinggal menginstal berkas
tersebut.
Setelah diekstrak, kita dapat langsung menjalankan IDE Arduino
dengan mengklik 2 kali pada ikon Arduino yang bertipe Application dan
terdapat dalam folder hasil ekstraksi kita sebelumnya. Selanjutnya agar
software Arduino bisa berkomunikasi dengan board Arduino
melalui
kabel USB, maka kita harus menginstal driver USB-nya terlebih dahulu.
Gambar 2.3 Kabel USB tipe A-B
Langkah – langkah instalasi driver USB Arduino adalah sebagai
berikut (penulis menggunakan versi 1.6.12):
1. Hubungkan board Arduino ke port USB komputer melalui kabel
ISB, maka pada layar komputer akan muncul jendela Found New
Hardware Wizard. Untuk pertanyaan terhubung dengan windows
Update, pilih pilihan No, not this time, kemudian pilih Next.
2. Pada jendela berikutnya, pilih pilihan Instal from a list or specifie
location, dan kemudian pilih Next.
3. Pada jendela berikutnya, arahkan lokasi pencarian pada folder
drivers yang ada di dalam berkas ekstrksi arduino-1.6.12-windows,
sampai diperoleh folder UNO.
4. Berikutnya, tekan tombol Next dan tunggu hingga proses instalasi
selesai.
http://digilib.mercubuana.ac.id/
15 2.2.3 Lingkungan Pemrograman Arduino
Lingkungan pemrograman disebut juga IDE, atau Integrated
Development Environment. Seperti disebutkan sebelumnya, kelebihan
Arduino
adalah
pada
penggunaan
IDE-nya
mudah
kesederhanaannya, seperti terlihat pada gambar berikut ini.
Gambar 2.4 Tampilan IDE Arduino
http://digilib.mercubuana.ac.id/
karena
16 Tampak ada enam buah tombol pada toolbar, dengan fungsi masing –
masing seperti berikut :
Tabel 2.3 Tombol Fungsi pada IDE Arduino Uno
No
2.3
Tombol
Nama
Fungsi
Menguji apakah ada kesalahan pada
program atau sketch, apabila sudah benar
maka sketch akan dikompilasi.
1
Verify
2
Upload
3
New
Membuat sketch baru.
4
Open
Membuat sketch yang sudah ada.
5
Save
Menyimpan Kode sketch.
6
Serial
Monitor
Mengirimkan kode hasil kompilasi ke
board Arduino.
Menampilkan data yang dikirimkan dari
board Arduino.
Pembuatan Program Arduino
Sebelum membahas lebih dalam program Arduino secara
keseluruhan untuk sistem kendali yang akan dibuat, akan dibahas prinsip
dasar dari masing – masing bagian program arduino yang dipakai.
2.3.1
Konsep Dasar Pemrograman Arduino
Pemrograman
Arduino
menggunakan
bahasa
pemrograman
Arduino yang dibangun berbasis bahasa Wiring dan lingkungan
pengembangnya (Arduino Environment Development) dibangun berbasis
processing. Wiring menurut situs resmi di http://www.wiring.org.co/
merupakan kerangka pemrograman yang bersifat terbuka (open source)
yang
digunakan
untuk
memprogram
mikrokontroler.
http://digilib.mercubuana.ac.id/
Sedangkan
17 Processing menurut situs resminya di https://www.processing.org/,
Processing merupakan bahasa pemrograman bersifat terbuka (open
source) dan merupakan lingkungan pengembangan yang ditujukan untuk
orang – orang yang ingin membuat gambar, animasi, dan interaksi.
Processing pada awalnya dikambangkan sebagai perangkat lunak untuk
menghasilkan sketchbook dan digunakan untuk mengajarkan dasar – dasar
pemrograman komputer dalam konteks visual.
Setiap programmer komputer pada awalnya belajar dengan
program yang sederhana dan memulai belajar pemrograman dengan
menampilkan kalimat “Hello World” di layar monitor. “Hello World”
dalam lingkungan komputasi fisik yakni berupa LED (Light Emitting
Diode/Dioda emisi cahaya) yang berkedip, nyala dalam waktu tertentu
kemudian padam beberapa saat kemudian dan begitu seterusnya.
LED (Light Emitting Diode) merupakan indikator berupa lampu
kecil yang membutuhkan daya yang kecil untuk menyala. Dipapan
Arduino sudah built in LED yang terhubung ke pin 13. Untuk menyalakan
LED secara berkedip, diperlukan kode yang cukup sederhana. Hal pertama
yang harus dituliskan dalam kodenya adalah menentukan variabel yang
mandefinisikan pin Arduino mana yang terhubung dengan LED. Dalam
bahasa pemrograman Arduino, variabel ini nantinya akan memakai nomor
pin saja, sehingga dengan mudah mengubah nomor pin sesuai kebutuhan.
Sebagai contoh , dalam kode untuk LED berkedip ini memakai Interger
(dalam Arduino disebut int).
int led = 13;
http://digilib.mercubuana.ac.id/
18 Hal kedua yang perlu dilakukan adalah mengkonfirmasi pin yang
terhubung ke LED sebagai output. Konfigurasi pin Arduino sebagai output
dapat dilakukan dengan fungsi pinMode ( ) yang di letakan dalam fungsi
setup ( ).
Void setup ( )
{
pinMode ( led, OUTPUT ) ;
}
Untuk menghidupkan dan mematikan LED, dapat menggunakan
fungsi digitalWrite ( ). Untuk menghidupkan menggunakan logika HIGH,
dan untuk mematikan LED menggunakan logika LOW. Jika hanya
menggunakan fungsi digitalWrite dengan logika HIGH dan LOW, maka
nyala dan padamnya LED terlalu cepat. Untuk menyelesaikan masalah
tersebut, harus menggunakan funsi delay ( ) untuk memperlambat nyala
dan padam nya LED. Fungsi delay ( ) dalam bahasa pemrograman Arduino
menggunakan satuan milidetik, misalnya menginginkan waktu tunda 1
(satu) detik, maka harus menggunakan delay sebesar 1000.
void loop ( ) {
digitalWrite ( led, HIGH ) ;
delay (1000) ;
digitalWrite ( led, LOW ) ;
delay (1000) ;
}
http://digilib.mercubuana.ac.id/
19 Kode keseluruhan untuk menyalakan dan memadamkan LED adalah
sebagai berikut :
/* LED berkedip
Menyalakan LED selama sedetik, kemudian memadamkan LED
Selama sedetik
*/
// Pin 13 terhubung dengan LED diArduino
Int led = 13 ; // nama variabel LED
// bagian setup, jalan sekali ketika tombol reset ditekan
Void setup ( ) {
pinMode ( led, OUTPUT ) ; // setting pin digital sebagai output
}
//fungsi yang akan terus diulang
void loop ( ) {
digitalWrite ( led, HIGH ) ; // menyalakan LED
delay (1000) ;
// tunda 1 detik
digitalWrite ( led, LOW ) ; // memadamkan LED
delay (1000) ;
// tunda 1 detik
}
Keterangan kode program :

Keteranagan
program
dapat
dijadikan
komentar
dengan
cara
menambahkan tanda “ /* ” dan diakhiri tanda “ */ ” jika yang ingin
dijadikan komentar lebih dari satu baris, sebagai contoh dari program di
ats adalah baris ke -1 sampai baris ke -4 selain itu, komentar dapat
diperoleh dengan cara menambahkan tanda “ // ” jika hanya 1 (satu) baris
yang akan dijadikan komentar. Sebagai contoh yakni baris ke -5,-8,dst.
Komentar tidak akan dieksekusi oleh program Arduino karena dianggap
bukan kode program,
http://digilib.mercubuana.ac.id/
20 
Kode LED berkedip ini merupakan kode dasar yang nantinya dapat
dipakai untuk menghidupkan relay shield yang akan digunakan dalam
sistem kendali yang akan dibuat.
2.3.2 Konsep Komunikasi Serial Arduino
Seperti disinggung di Bab II, komunikasi serial yang dipakai untuk
komunikasi Arduino ke komputer dan sebaliknya, dilakukan oleh
kombinasi pin RX dan TX di masing – masing bagian, yakni di Arduino
dan komputer itu sendiri. Karena tuntunan kemajuan zaman, dimana port
serial standar yang berbasis RS 232 semakin jarang ditemui dikomputer
yang beredar dipasaran, Arduino memakai port USB ( Universal Serial
Bus ). Walaupun demikian sebenarnya komunikasi serial masih
berlangsung, hanya saja dalam komunikasi serial tersebut memulai sebuah
rangkaian terintegrasi yang berfungsi mengkonversi data RX dan TX
mikrokontroler Arduino ke mode USB.
Gambar 2.5 Diagram Komuikasi Serial Arduino – Komputer
Rangkaian konverter serial yang dipakai menggunakan komponen
utama berupa IC ATMega8U (Arduino Uno R2) atau ATMega16U2
(Arduino Uno R2).
http://digilib.mercubuana.ac.id/
21 Gambar 2.6 Chip ATMega16u2 sebagai konverter RS-232
Sebelum membahas lebih dalam mengenai konsep pemrograman
kominaksi serial, akan lebih baik jika mempelajari konsep pemrograman
komunikasi serial. Dan hanya konsep pemrograman pengkodisian yang
dipakai saja yang akan dibahas, yakni ada 2 (dua) antara lain if dan if –
else, sebagai berikut :
1
If
Konsep pemrograman pengkondisian if yang biasanya dengan
tanda / operator perbandingan yang terdiri dari :
Tabel 2.4 Tanda Operator Perbandingan dan Contoh Pemakaiannya
Tanda
Misal
Keteranagan
==
X == Y
X Sama dengan Y
!=
X != Y
X tidak sama dengan Y
<
X<Y
X lebih kecil daripada Y
>
X>Y
X lebih besar daripada Y
<=
X <= Y
X lebih kecil atau sama dengan Y
>=
X >= Y
X lebih besar atau sama dengan Y
http://digilib.mercubuana.ac.id/
22 NB : Di dalam dalam bahasa pemrograman Arduino, tanda operator sama
dengan tunggal ( “ = ” ) dan tanda sama dengan ganda ( “ == ” )
mempunyai arti berbeda, jika hanya menggunakan tanda “ = ”
maka mempunyai arti bahwa tanda tersebut menyatakan nilai
sebuah variabel, misal “ X = 10 ”, maka ini berarti mengeset nilai
variabel “ X ” sebesar “ 10 “. Dengan kata lain, menetapkan nilai “
X ” sebesar “ 10 ”, dan biasanya ini diletakkan diawal program atau
dibagian deklarasi. Sedangakan tanda sama dengan ganda ( “ == ”
) merupakan tanda dari sebuah perbandingan, artinya tanda ini akan
mengecek apakah suatu variabel mempunyai nilai yang sama atau
tidak dengan variabel mempunyai nilai yang sama atau tidak
dengan variabel yang dibandingkan.
Setelah mengerti dan memahami pemakain operator perbandingan,
maka dapat kita ketahui cara pemakainnya dalam struktur pemrograman
bahasa Arduino, sebagai contoh :
if ( suatu_variabel > 50 : {
// lakukan sesuatu disini
}
1
If – else
Konsep pemrograman pengkondisian if – else mempunyai
karakteristik yang mirip dengan konsep pemrograman if, yang
membedakan adalah pada pemakaian logika if – else ini
memungkinkan control yang
lebih besar, lebih
kemungkinan yang akan dilakukan, dibanding
menggunakan
banyak
jika hanya
logika if. Hal ini dimungkinkan karena dalam
http://digilib.mercubuana.ac.id/
23 pemakaian logika if – else dapat dilakukan beberapa tes yang
dikelompokkan secara bersamaan. Sebagai contoh, nilai suatu
pengukuran dapat dites dan satu tindakan dilakukan jika bernilai
20, tindakan lain akan dilaksanakan jika hasil pengukuran berniali
30 atau lebih besar.
Setelah memahami konsep dasar pemrograman pengkondisian if
dan if – else, maka kita dapat menjalankan ke konsep pemrograman
komunikasi
serial,
karena
dalam
pemrograman
serial
ini
juga
menggunakan logika pengkondisian if dan if - else.
If(input<500){
// aksi A
}
Else
{
//aksi B
}
else dapat memproses logika if yang lain, sehingga logika
pengkondisiannya lebih dari satu, dan biasanya pengetesan logika
pengkondisian dapat dilakukan secara bersamaan. Prinsip dari logika
pengkondisian if – else ini adalah pada setiap pengecekan kondisi, tiap
kondisi akan dicek apakah sudah sesuai dengan kondisi yang diinginkan
atau belum, jika belum maka akan melanjutkan pengecekan kondisi
berikutnya sampai kondisi yang diinginkan ditemukan. Jika sudah
ditemukan kondisi yang diinginkan, maka program akan melaksanakan
kode program dalam blok kode terkait. Jika pengecekan kondisi yang
http://digilib.mercubuana.ac.id/
24 diinginkan tidak ditemukan, maka program akan melaksanakan program
default, program standar selain program yang terdapat pada baris kode if.
Logika pengkondisian else – if dapat menjalankan logika
pengkondisian dengan jumlah tak terbatas . Dan, perlu diingat, pemakaian
logika pengkondisian else – if dapat diakhiri dengan else, namun dapat
juga tanpa diakhiri dengan else.
if (input < 500) {
//laksanakan A
}
else if (Input >= 1000) {
/laksanakan B
}
else
{
//laksanakan C
}
Selanjutnya, logika pengkondisian if dapat dikembangkan dalam
konsep pemrograman komunikasi serial di Arduino. Namun, seperti dalam
contoh program LED berkedip, dalam deklatasinya harus ditambahkan
suatu deklarasi
yang berhubungan dengan komunikasi serial, yakni
inisialisasi serial. Berikut kode progrman inisialisasi serial yang dimaksud:
Serial.begin (9600);
Selanjutnya, dalam konsep pemrograman serial terdapat beberapa
macam kode instruksi. Namun, tentunya yang akan dibahas lebih dalam
hanya yang akan dipakai saja terkecuali begin( ), karena sudah ditulis
sebelumnya. Berikut kode instruksi serial program Arduino yang dipakai :
http://digilib.mercubuana.ac.id/
25 
Print ( )
Konsep pemrograman serial jenis ini difungsikan untuk mengirim
data ke port serial computer dari Arduino dan dikirim sebagai text ASCII
yang bisa dibaca manusia. Bentuk dari command ini dapat berbentuk
dalam berbagai format. Nomor dikirim menggunakan karakter ASCII
untuk setiap digit, float dikirim sebagai digit ASCII yang mirip, dengan
acuan standar sebanyak 2 (dua) tempat decimal, byte dikirim sebagai
karakter tunggal, dan karakter string dikirim seperti aslinya, Contoh :

‐
Serial.print(78) menghasilkan “78”
‐
Serial.print(1.23456) menghasilkan “1.23”
‐
Serial.print(‘N’) menghasilkan “N”
‐
Serial.print(“Hello world.”) menghasilkan “Hello world.”)
Available ( )
Digunakan untuk mendapatkan byte maupun karakter yang tersedia
dari serial port yang sebelumnya sudah diterima dan disimpan oleh buffer
penerima (berukuran 64 byte), sintaknya :
Serial.available ( ) ;
 read ( )
Seperti namanya, fungsi dari kode program ini adalah untuk
membaca data serial yang masuk ke port serial. Mempunyai sintaks
sebagai berikut :
Serial.read ( ) ;
http://digilib.mercubuana.ac.id/
26 Itulah beberapa kode pemrograman serial yang akan dipakai, jadi
secara keseluruhan, kode program bagian serial ini adalah kurang lebih
seperti berikut :
void setup ( ) {
Serial.begin (9600); // inisialisasi program serial
}
void loop ( ) {
if (Serial.available ( ) > 0) { // jika ada data serial
Int data = Serial.read ( ); // data = pembacaan data serial
}
If (data ‘ 1 ‘ ) { // jika data = 1
digitalWrite (led, HIGH); // menyalakan LED
Serial.print (“ LED ON “);
}
If (data ‘ 0 ‘ ) {// jika data = 0
digitalWrite ( led, LOW );//memadamkan LED
Serial.print (“ LED OFF ”);//kirim “ LED OFF “ ke serial
}
2.4 Program Arduino untuk Sensor LDR
Untuk mengetahui intensitas cahaya dibutuhkan sensor cahaya
yang peka terhadap perubahan intensitas cahaya. LDR ( Light Dependent
Resistor) mempunyai Krakteristik berubah nilai resistansinya sesuai
intensitas cahaya yang mengenainya.
Hal pertama yang harus dilakukan membuka program IDE
Arduimo. Selanjutnya memasukan kode pemprograman sensor ldr yang
akan dipakai. kode program ldr ini adalah seperti berikut ini :
int photoresistorPin1 = A1; // analog input
double analogValue1;
double minLightValue = 800.0; //batas min untuk menyalakan
Lampu
void setup() {
// Mengeset input output
pinMode(photoresistorPin1, INPUT);
http://digilib.mercubuana.ac.id/
27 Serial.begin(9600); // inisialisasi program serial
}
void loop() {
// membaca analog input
analogValue1= analogRead(photoresistorPin1);
if (analogValue1< minLightValue) {
Serial.println("LDRON1");
}
else {
Serial.println("LDR0FF1");
}
delay (1000); // membaca resistor setiap setengah detik
}
2.5
Sensor LDR (Light Dependent Resistor)
Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu
jenis resistor yang dapat mengalami perubahan resistansinya apabila
mengalami perubahan penerimaan cahaya. Besarnya nilai hambatan pada
Sensor Cahaya LDR tergantung pada besar kecilnya cahaya yang diterima
oleh LDR yang nilai tahanan atau hambatannya sangat peka terhadap
intensitas cahaya. Komponen LDR biasanya juga disebut dengan photo
resistor, atau photocell.
LDR terbuat dari cadmium sulfida yaitu merupakan bahan
semikonduktor yang resistansnya berupah-ubah, nilai resistansi LDR
sangat dipengaruhi oleh intensitas cahaya. Semakin banyak cahaya yang
mengenainya, maka semakin menurun nilai resitansinya. Sebaliknya, jika
cahaya yang mengenainya sedikit (gelap), maka nilai hambatannya
menjadi semakin besar, sehingga arus listrik yang mengalir akan
terhambat. Seperti halnya resistor konvensional, pemasangan LDR dalam
http://digilib.mercubuana.ac.id/
28 suatu rangkaian sama persis seperti pemasangan resistor biasa. Simbol
LDR dapat dilihat seperti pada gambar berikut.
Gambar 2.7 Tampilan Simbol dan Bentuk LDR
1. Aplikasi Sensor Cahaya LDR (Light Dependent Resistor) dapat
digunakan sebagai :
a. Sensor pada lampu otomatis
b. Sensor pada rangkaian saklar cahaya
c. Sensor pada tracker cahaya matahari
d. Sensor pada kontrol arah solar cell
2. Karakteristik Sensor Cahaya LDR (Light Dependent Resistor)
Sensor Cahaya LDR (Light Dependent Resistor) adalah suatu
bentuk komponen yang mempunyai perubahan resistansi yang
besarnya tergantung pada cahaya. Karakteristik LDR terdiri dari
dua macam yaitu Laju Recovery dan Respon Spektral sebagai
berikut :
3. Respon Spektral Sensor Cahaya LDR (Light Dependent Resistor)
Sensor Cahaya LDR (Light Dependent Resistor) tidak mempunyai
sensitivitas yang sama untuk setiap panjang gelombang cahaya
http://digilib.mercubuana.ac.id/
29 yang jatuh padanya (yaitu warna). Bahan yang biasa digunakan
sebagai penghantar arus listrik yaitu tembaga, aluminium, baja,
emas dan perak. Dari kelima bahan tersebut tembaga merupakan
penghantar yang paling banyak, digunakan karena mempunyai
daya hantaryang baik.
4. Prinsip Kerja Sensor Cahaya LDR (Light Dependent Resistor)
Resistansi Sensor Cahaya LDR (Light Dependent Resistor) akan
berubah seiring dengan perubahan intensitas cahaya yang
mengenainya atau yang ada disekitarnya. Dalam keadaan gelap
resistansi LDR sekitar 135 KΩ ± dan dalam keadaan terang sebesar
380 Ω ±. LDR terbuat dari bahan semikonduktor seperti kadmium
sulfida. Dengan bahan ini energi dari cahaya yang jatuh
menyebabkan lebih banyak mua-tan yang dilepas atau arus listrik
meningkat. Artinya resistansi bahan telah mengalami penurunan.
2.6
Relay
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan
merupakan komponen Electromechanical (Elektromekanikal) yang terdiri
dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal
(seperangkat
Kontak
Saklar/Switch).
Relay
menggunakan
Prinsip
Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan
arus listrik yang kecil (low power) dapat menghantarkan listrik yang
bertegangan lebih tinggi.
http://digilib.mercubuana.ac.id/
30 Prinsip Kerja Relay Pada dasarnya, Relay terdiri dari 4 komponen
dasar yaitu :
1.
Electromagnet (Coil)
2.
Armature
3.
Switch Contact Point (Saklar)
4.
Spring
Gambar 2.8 Bagian-Bagian Relay
Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :
1. Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu
berada di posisi CLOSE (tertutup).
2. Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu
berada di posisi OPEN (terbuka).
Berdasarkan gambar diatas, sebuah Besi (Iron Core) yang dililit
oleh sebuah kumparan Coil yang berfungsi untuk mengendalikan Besi
tersebut. Apabila Kumparan Coil diberikan arus listrik, maka akan timbul
gaya Elektromagnet yang kemudian menarik Armature untuk berpindah
http://digilib.mercubuana.ac.id/
31 dari Posisi sebelumnya (NC) ke posisi baru (NO) sehingga menjadi Saklar
yang dapat menghantarkan arus listrik di posisi barunya (NO). Posisi
dimana Armature tersebut berada sebelumnya (NC) akan menjadi OPEN
atau tidak terhubung. Pada saat tidak dialiri arus listrik, Armature akan
kembali lagi ke posisi Awal (NC). Coil yang digunakan oleh Relay untuk
menarik Contact Poin ke Posisi Close pada umumnya hanya membutuhkan
arus listrik yang relatif kecil.
Arti Pole dan Throw pada Relay
Karena Relay merupakan salah satu jenis dari Saklar, maka istilah
Pole dan Throw yang dipakai dalam Saklar juga berlaku pada Relay.
Berikut ini adalah 2 (dua) penjelasan singkat mengenai Istilah Pole and
Throw :
1. Pole
: Banyaknya Kontak (Contact) yang dimiliki oleh sebuah
relay
2. Throw : Banyaknya kondisi yang dimiliki oleh sebuah Kontak
(Contact)
Berdasarkan penggolongan jumlah Pole dan Throw-nya sebuah
relay, maka relay dapat digolongkan menjadi 4 (empat) golongan :
1. Single Pole Single Throw (SPST) : Relay golongan ini memiliki 4
Terminal, 2 Terminal untuk Saklar dan 2 Terminalnya lagi untuk
Coil.
http://digilib.mercubuana.ac.id/
32 2. Single Pole Double Throw (SPDT) : Relay golongan ini memiliki 5
Terminal, 3 Terminal untuk Saklar dan 2 Terminalnya lagi untuk
Coil.
3. Double Pole Single Throw (DPST) : Relay golongan ini memiliki 6
Terminal, diantaranya 4 Terminal yang terdiri dari 2 Pasang
Terminal Saklar sedangkan 2 Terminal lainnya untuk Coil. Relay
DPST dapat dijadikan 2 Saklar yang dikendalikan oleh 1 Coil.
4.
Double Pole Double Throw (DPDT) : Relay golongan ini memiliki
Terminal sebanyak 8 Terminal, diantaranya 6 Terminal yang
merupakan 2 pasang Relay SPDT yang dikendalikan oleh 1 (single)
Coil. Sedangkan 2 Terminal lainnya untuk Coil.
Selain Golongan Relay diatas, terdapat juga Relay-relay yang Pole
dan Throw-nya melebihi dari 2 (dua). Misalnya 3PDT (Triple Pole Double
Throw) ataupun 4PDT (Four Pole Double Throw) dan lain sebagainya.
Untuk lebih jelas mengenai Penggolongan Relay berdasarkan
Jumlah Pole dan Throw, silakan lihat gambar dibawah ini :
Gambar 2.9 Jenis Relay Berdasarkan Pole dan Throw
http://digilib.mercubuana.ac.id/
33 2.7
Fungsi-fungsi dan Aplikasi Relay
Beberapa fungsi Relay yang telah umum diaplikasikan kedalam
peralatan Elektronika diantaranya adalah :
1. Relay digunakan untuk menjalankan Fungsi Logika (Logic
Function)
2. Relay digunakan untuk memberikan Fungsi penundaan waktu
(Time Delay Function)
3.
Relay digunakan untuk mengendalikan Sirkuit Tegangan tinggi
dengan bantuan dari Signal Tegangan rendah.
2.8
Pengenalan Visual Basic 2010
Visual Basic adalah suatu program aplikasi yang mempermudah
programmer untuk membuat suatu program dengan cepat dan lebih mudah
diakses oleh kalangan non-programmer dengan meminjam bahasa Object
Oriented Project (OOP) sera mempraktikkan secara grafis dan visual.
Visual Basic memungkinkan programmer membuat aplikasi prototype
dengan cepat, sehingga terkadang Visual Basic dikenal juga sebagai Rapid
Applicaton Development (RAD). RAD (application development) adalah
model proses pembangunan perangkat lunak yang tegolong dalam teknik
incremental (bertingkat).
Visual
Basic
selanjutnya
disebut
VB
merupakan
bahasa
pemrograman yang berorientasi obyek yang berbasis Windows dari
Microsoft mengizinkan penggunanya mengembangkan aplikasi Windows
dan Office yaitu dengan :
1.
Membuat tombol perintah, kotak teks, jendela, dan toolbar.
http://digilib.mercubuana.ac.id/
34 2.
Selanjutnya akan di-link ke program BASIC yang kecil, yang
melakukan tindakan tertentu.
2.8.1
Memulai Visual Basic
Visual Basic merupakan even-driven, artinya program menunggu
pengguna melakukan suatu “event”, seperti klik pada ikon, baru kemudian
program akan merespon. Untuk memulai Visual Basic, setelah tahap
instalasi selesai kita tinggal menjalankan programnya, sehingga akan
muncul kota dialog New Project seperti pada gambar.
Gambar 2.10 Tampilan Kotak Dialog New Project
Untuk pembuatan program pertama kali klik file pilih New Project pilih
windows Form Application. Selanjutnya muncul tampilan utama Visual
Basic 2010 seperti gambar berikut.
http://digilib.mercubuana.ac.id/
35 Gambar 2.11 Tampilan Utama Visual Basic 2010
Adapun komponen – komponen Visual Basic adalah sebagai berikut :
a. Menu Bar
Menampilkan daftar menu yang berisi daftar perintah-perintah
yang dapat digunakan saat bekerja pada Visual Basic. Terdiri dari
menu File, Edit, View, Build, Debug, Data, Tools, Windows, Help.
Gambar 2.12. Tampilan Menu Bar
b.
Toolbar
Digunakan untuk mengakses perintah-perintah dalam menu yang
sering dipakai secara cepat.
Gambar 2.13 Tampilan Toolbar
c.
Toolbox
Merupakan daftar komponen-komponen yang dapat digunakan
untuk mendesain tampilan program aplikasi yang akan dibuat.
http://digilib.mercubuana.ac.id/
36 Gambar 2.14 Tampilan Toolbox
Tabel 2.5 Toolbox VB 2010 dan Fungsinya
Gambar
Object / Kontrol
Keterangan
Pointer
Bukan merupakan suatu kontrol;
gunakan icon ini ketika anda ingin
memilih kontrol yang sudah berada
pada form.
Button
biasa digunakan untuk melakukan
perintahseperti
(Save,Delete,Submit,dll)
CheckBox
digunakan untuk memilih item yang
terdiri dari satu item
CheckListBox
fungsinya sama dengan no. 2 hanya
saja dengan tool ini berbentuk list
dalam satu frame
ComboBox
dengan tool ini dapat digunakan
untuk memilih item dalam bentuk
combo
DataTimePicker
untuk menampilkan data tanggal
Label
untuk memberikan label pada control
yang ada
http://digilib.mercubuana.ac.id/
37 LinkLabel
dengan kontrol ini apabila label
tersebut di klik akan mengarah ke
alamat website di internet
LlistBox
untuk menampilkan beberapa item
MaskedTextBox
untuk menampilkan data dengan
format tertentu
MonthCalender
untuk menampilkan tanggal dalam
satu bulan dengan tampilan penuh
NotifyIcon
untuk menampilkan icon system di
Task Bar window bagian kanan
NumericUpDown
untuk menyajikan nilai numeric saja
PictureBox
untuk menampilkan gambar
ProgressBar
biasa digunakan untuk menampilkan
status proses
RadioButton
untuk menampilkan beberapa item
yang bisa dipilih, tetapi hanya satu
item yang bisa dipilih
RichTextBox
untuk menampilkan text
TextBox
(tempat input/menampilkan teks ->
bebas mengubah)
ToolTip
control ini digunakan untuk
menampilkan informasi mengenai
kegunaan tombol – tombol yang
biasanya muncul apabila mouse
didekatkan atau diarahkan diatas
tombol tersebut
TreeView
untuk menampilkan data atau item –
item dengan bentuk cabang
WebBrowser
bisa digunakan untuk membuat
halaman browsing di internet
http://digilib.mercubuana.ac.id/
38 d. Project Explorer
Menampilkan daftar form dan module yang ada dalam project yang
sedang aktif.
Gambar 2.15 Tampilan Project Explorer
e. Property Windows
Digunakan untuk mengatur properti dari komponen-komponen
yang sedang diaktifkan. Property merupakan karakteristik dari sebuah
objek.
Gambar 2.16 Tampilan Property Window
http://digilib.mercubuana.ac.id/
39 f.
Form Designer
Merupakan jendela yang digunakan untuk melakukan perancangan
tampilan dari aplikasi yang akan dibuat.
Gambar 2.17 Tampilan Form Designer
g. Code Window
Merupakan jendela yang digunakan untuk menuliskan kode program.
Gambar 2.18 Tampilan Code Window
http://digilib.mercubuana.ac.id/
40 Pada pemrograman Visual Basic.Net, form digunakan sebagai komponen
utama yaitu :
1. Properti
2. Event
3. Metode
Keterangan :
1. Fungsi Properti
Properti adalah atribut dari suatu objek yang menentukan tampilan
objek tersebut sewaktu program dijalankan. Properti untuk masing-masing
objek umumnya berbeda-beda sesuai dengan objek yang dipilih. Untuk
memperbaiki tampilan program harus diketahui fungsi dari properti objek
yang akan menyusun program tersebut, antara lain :

Properti Form
Name = nama dari form
Apperarance = mengatur efek 3 dimensi dari form
BackColor = mengatur warna lata dari form
Border Style = mengatur tampilan bingkai form
Caption = mengatur judul form
Font = mengatur jenis tulisan yang digunakan pada form
Height = mengatur tinggi form
Width = mengatur lebar form

Properti Label
Alignment = mengatur perataan teks
Autosize = mengatur ukuran label sesuai isi teks
Caption = isi daripada label
http://digilib.mercubuana.ac.id/
41 Enabled = mengatur keaktifan dari label
TabIndex = mengatur urutan keaktifan pointer
TabStop = mengatur penghentian ponter

Properti Textbox
Multiline = mengatur lebih dari satu baris teks
Text = mengatur isi dari teks

Properti Command Button
Picture = mengatur pemberian gambar
Caption = mengatur teks pada command button

Properti Timer
Interval = mengatur selang waktu dari timer
2. Fungsi Event
Event merupakan kejadian atau tindakan yang diberikan dan
dialami suatu objek, event ada banyak sekali dan tergantung dari objeknya.
Sebuah objek memiliki objek yang berbeda-beda dengan objek yang
lain,antara lain yang sering dipakai adalah :

Click : Kejadian yang berlangsung ketika suatu objek diklik dan
biasanya berlaku untuk tombol

DoubleClick : Kejadian yang berlangsung ketika suatu objek
didouble click

Load : Kejadian yang berlangsung ketika suatu objek (biasanya
form) dijalankan

Active : Kejadian yang berlangsung ketika suatu objek dalam
keadaan diaktifkan atau dipilih
http://digilib.mercubuana.ac.id/
42 
Change : Kejadian yang berlangsung ketika suatu objek menerima
input atau perubahan nilai
3. Fungsi Method
Method diartikan sebagai aksi yang dapat dilakujkan oleh sebuah
objek, method dapat saja beda tiap objek. Agar dapat melihat ragamnya
method, kita harus memangil name dari objek tersebut melalui code editor
program. Code Editor adalah editor untuk mengetikkan baris perintah
melalui kode program yang dapat dibuka melalui jendela Project Explorer
(View Code) atau dengan menekan tombol F7 sehingga baris perintah yang
akan dieksekusi oleh suatu event adalah code.
2.9
Pengertian Team Viewer
Team Viewer merupakan aplikasi yang dapat digunakan sebagai
media komunikasi jarak jauh, menghubungkan sebuah computer dengan
computer lain menggunakan akses internet pada kedua computer tersebut.
Team Viewer terkoneksi ke PC atau ke server mana saja diseluruh
dunia hanya dalam beberapa detik. Dengan begitu dapat memonitoring
dari jarak jauh, seolah – olah sedang berada tepat di depannya.
Software yang bisa digunakan secara gratis untuk penggunaan
personal/non-comercial-use.
mengakses
PC
secara
Teamviewer
jarak
jauh
dapat
selama
digunakan
ada
jaringan
untuk
yang
menghubungkannya misalnya Internet.
Secara sederhana dengan Teamviewer anda bisa mengontrol PC
dari jarak jauh melalui jaringan internet, atau jika dikantor atau rumah
anda bisa menggunakan jaringan lokal (LAN) maupun Wifi asalkan
http://digilib.mercubuana.ac.id/
43 terhubung pada jaringan yang sama. Beberapa fitur lain diantaranya : file
transfer, chat, video chat dll
2.9.1
Fungsi Team Viewer Team Viewer memiliki 3 fungsi antara lain :
1.
Remote Support (artinya anda dapat mengakses PC lain secara
remote (anda sebagai pengendali) dan dapat melihat layar PC yang
sedang anda remote).
2.
Presentation (ini kebalikan dari remote support, artinya setelah
terjadi hubungan antar 2 komputer maka komputer yang melakukan
koneksi (awal) akan menampilkan layar monitornya di PC lain
yang di akses).
3.
File Transfer (melakukan Transfer data/file antar komputer).
2.9.2 Cara Install Team Viewer Versi 9
Selain harus terinstall TeamViewer dan terkoneksi dengan internet,
anda juga harus mengetahui user id dan password TeamViewer
dikomputer yang ingin anda pantau/remote. Sebelum kita memulainya
anda harus install dulu aplikasi TeamViewer, berikut ini adalah cara untuk
menginstallnya. :
1.
Download aplikasinya pada Link berikut :
http://filehippo.com/download_teamviewer/download/f63e02f937f
eeafb14c03a7931b972c8/
2.
Setelah selesai mendownload, dobel klik installernya.
3.
Pilih Personal / Non-comercial use, kemudian klik Accept-Finsih.
http://digilib.mercubuana.ac.id/
44 Gambar 2.19 Tampilan Saat Install
4.
Tunggu sampai proses selesai.
Gambar 2.20 Tampilan Saat Proses Installing
http://digilib.mercubuana.ac.id/
45 5.
Setelah install berhasil maka program teamviewer 9 akan terbuka
dan jika anda sedang terkoneksi ke internet anda akan langsung
mendapatkan ID.
Gambar 2.21 Tampilan Utama TeamViewer
Untuk dapat menggunakan program remote dekstop ini anda harus
memiliki koneksi internet atau kedua pc terhubung ke jaringan yang
sama.Selain itu TeamViewer juga memungkinkan untuk dapat mengakses
komputer kita dari jarak jauh dengan menggunakan komputer lain dan itu
sangat mudah, atau dengan kata lain, ketika seseorang yang menggunakan
TeamViewer dan memiliki akses dengan internet kemudian memiliki
patner dari komputer lain yang sama mengguanakan TeamViewer dan
memiliki akses internet juga, maka orang pertama akan dapat menjalankan
komputer dari orang kedua dari jarak jauh arau sering disebut remote
control.
TeamViewer akan sangat membantu bagi sebagian orang Terutama
untuk seseorang dalam bidang IT yaitu untuk menunjang suatu pekerjaan
dan berinteraksi dengan orang lain dan juga dalam meremote antar
http://digilib.mercubuana.ac.id/
46 PC/Laptop yang berjarak jauh, sehingga dapat memaksimalkan hasil
pekerjaan dari masing-masing individu. TeamViewer adalah salah satu
aplikasi yang termasuk dalam Cloud Computing yang berarti dua atau
lebih perangkat dapat berinteraksi pada jarak yang jauh dengan
menggunakan akses internet sebagai penghubungnya.
http://digilib.mercubuana.ac.id/
Download