BAB 2
LANDASAN TEORI
2.1 Sistem
Sistem adalah sekumpulan unsur atau elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan. Seluruh organisasi pasti mempunyai sistem untuk mencapai tujuannya. Elemenelemen yang membentuk sebuah sistem :
1. Tujuan Setiap sistem memiliki tujuan (goal), tujuan inilah yang menjadi pemotivasi yang mengarahkan sistem. Tanpa tujuan, sistem menjadi tak terarah dan tak terkendali.
2. Masukan Masukan (input) sistem adalah segala sesuatu yang masuk ke dalam sistem dan selanjutnya menjadi bahan yang diproses. Masukan dapat berupa hal-hal yang berwujud ataupun tidak.
Universitas Sumatera Utara
9
3. Proses Proses merupakan bagian yang melakukan perubahan atau transformasi dari masukan menjadi keluaran yang berguna dan lebih bernilai, misalnya berupa informasi dan produk, tetapi juga bisa berupa hal-hal yang tidak berguna.
4. Keluaran Keluaran (output) merupakan hasil dari pemrosesan. Pada sistem informasi, keluaran bisa berupa suatu informasi, saran, cetakan laporan, dan sebagainya.
5. Batas Yang disebut batas (boundary) sistem adalah pemisah antara sistem dan daerah di luar sistem (lingkungan). Batas sistem menentukan konfigurasi, ruang lingkup, atau kemampuan sistem.
6. Mekanisme Pengendalian dan Umpan Balik Mekanisme pengendalian (control mechanism) diwujudkan dengan menggunakan umpan balik (feedback), yang mencuplik keluaran. Umpan balik ini digunakan untuk mengendalikan baik masukan maupun proses. Tujuannya adalah untuk mengatur agar sistem berjalan sesuai dengan tujuan.
Universitas Sumatera Utara
10
7. Lingkungan Lingkungan adalah segala sesuatu yang berada diluar sistem. Lingkungan bisa berpengaruh terhadap operasi sistem dalam arti bisa merugikan atau menguntungkan sistem itu sendiri.
2.2 Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003 oleh Andy Rubin (pendiri Danger), Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya". Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi pasar telepon pintar untuk menyaingi Symbiandan Windows Mobile( iPhoneApple belum dirilis pada saat itu). Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler.
Universitas Sumatera Utara
11
2.2.1
Versi Android
Arsip dapat digolongkan atas berbagai jenis atau macarn, tergantung dari sisi peninjauannya, antara lain :
1. Android 1.0 (API level 1) Android 1.0, Versi komersil dirilis pada 23 september 2008, dengan menggunakan device HTC DREAM.
2. Android 1.1 Pada maret 2009 google merilis Android versi 1.1 pada versi ini Android sudah di lengkapi dengan pembaharuan estis pada aplikasi,jam,alarm,voice search,pengirim pesan dan gmail,serta pembaharuan email.
3. Android 1.5 (cupcake) Pada 27 April 2009, Android 1.5 dirilis, menggunakan kernel Linux 2.6.27. Versi ini adalah rilis pertama yang secara resmi menggunakan nama kode berdasarkan nama-nama makanan pencuci mulut ("Cupcake"), nama yang kemudian digunakan untuk semua versi rilis selanjutnya. Pembaruan pada versi ini termasuk beberapa fitur baru dan perubahan UI.
4. Android 1.6 (donut) Menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk
Universitas Sumatera Utara
12
memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Textto-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel pengadaan resolusi VWGA.
5. Android 2.0/2.1 (Éclair) Perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
6. Android 2.2 (Froyo) Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market.
7. Android 2.3 (gingerbread) Perubahan-perubahan umum yang didapat dari Android versi ini antara
lain
peningkatan
kemampuan
permainan
(gaming),
peningkatan fungsi copy paste, layar antar muka (User Interface)
Universitas Sumatera Utara
13
didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.
8. Android 3.0/3.1 (honeycomb) Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan segera hadir di Indonesia. Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus.
9. Android 4.0 (ice cream sandwich) Membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC.
Universitas Sumatera Utara
14
10. Android 4.1 (Jelly Bean) Dirilis tahun 2012. Android Jelly Bean ini diperuntukkan untuk komputer tablet dan memungkinkan untuk digunakan pada sistem operasi PC atau Komputer. Sehingga rumornya kemunculan Android Jelly Bean ini untuk menyaingi rilis terbaru Windows 8 yang juga akan segera dirilis. Karena kita ketahui bersama perbincangan versi Android sebelumnya yaitu Android Ice Cream Sandwhich pun masih hangat di telinga.
11. Android 4.2 (Jelly Bean API level 17) Dirilis pada 13 november 2012, versi ini melengkapi kekurangan maupun bugs yang sering terjadi pada JB 4.1, seperti perbaikan bug pada aplikasi ‘people’, penambahan tampilan nirkabel (miracast), perbaikan aksesbilitas, VPN yang selalut terhubung dan lain-lain.
12. Android 4.4 (KitKat) Dirlis pada 31 Oktober 2013, versi ini memiliki antarmuka terbaru dengan status bar dan navigasi transparan pada layar depan, webviews berbasis Chromium, mendukung media komunikasi Infra merah yang memungkinkan devices bisa menjadi remote untuk smart tv.
13. Android 5.0 (Lollipop) Pada versi terbaru ini google selaku pengembang membuat sebuah desain antarmuka terbaru yang dinamakan “Material Design”, serta
Universitas Sumatera Utara
15
mendukung 64bit ART compiler, dan menambahkan system keamanan yang bernama ‘factory reset protection’ yang berfungsi ketika smartphone hilang, ia tidak bisa direset ulang tanpa memasukkan id dan password akun google.
14. Android 6.0 (Marshmallow) Android marshmallow merupakan pemutakhiran untuk sistem informasi telepon genggam Android. Marshmallow juga memiliki skema manajemen daya baru bernama Doze yang mengurangi tingkat aktivitas aplikasi latar belakang saat perangkat menentukan bahwa itu tidak sedang aktif ditangani oleh pengguna, yang menurut google menggandakan pemakaian batrai perangkat. Hal ini juga memperkenalkan pilihan untuk mengatur ulang semua pengaturan jaringan, tersedia untuk pertama kalinya pada Android, yang membersihkan pengaturan terkait jaringan untuk wi-fi, bluetooth dan koneksi seluler.
2.2.2
Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Sebagai contoh Android
Universitas Sumatera Utara
16
mendukung pemutaran format audio, video, dan gambar. Berikut ini beberapa core library tersebut :
1. System C Library Diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux.
2. Media Libraries Berdasarkan
PacketVideo’s
OpenCORE;
library-library
ini
mendukung playback dan recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
3. Surface Manager Mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi.
4. LibWebCore Web browser engine modern yang mendukung Android browser maupun embeddable web view.
5. 3D Libraries Implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer.
Universitas Sumatera Utara
17
6. Free Type Bitmap dan vector font rendering.
7. SGL The underlying 2D graphics engine.
8. SQLit Relational Database Engine yang powerful dan ringan tersedia untuk semua aplikasi.
2.2.3
Tools Dalam Pemrograman Android
Pada setiap pembuatan aplikasi atau program, seorang programmer tentu saja membutuhkan tools untuk mendukung proses pembuatan aplikasi yang ia buat. Tools yang dimaksud disini bisa berupa aplikasi berbasis bahasa pemograman yang memudahkan seorang programmer dalam mengetikkan coding ataupun mendesain tampilan dari aplikasi yang akan ia buat. Dalam pemograman aplikasi untuk dekstop komputer kita biasa mendengar yang namanya NetBeans, Delphi, Visual Basic, dan lain-lain.
Untuk
memulai
pembuatan
sebuah
aplikasi
Android
pun,
kita
membutuhkan tools yang nantinya akan mempermudah proses pembuatan aplikasi tersebut. Adapun tools yang penulis butuhkan untuk membuat aplikasi Android yaitu Java dan AiStarter.
Universitas Sumatera Utara
18
2.2.3.1 Java SE
Java platform Standart Edition merupakan sebuah paket dalam bahasa pemograman java, dimana berarti Java SE bisa digunakan untuk membuat aplikasi berbasis Java. Dalam lingkup pemograman Android, Java SE merupakan sebuah dasar dari pemograman Android. Mengapa? Karena bahasa pemograman asli untuk Android adalah Java. Jadi untuk memulai pembuatan aplikasi Android kita harus terlebih dahulu memilki Java SE yang terinstal di komputer/laptop yang akan kita gunakan untuk membuat aplikasi Android.
2.2.3.2 AiStarter
AiStarter program dibutuhkan ketika ingin menggunakan Emulator atau USB cable untuk melakukan uji coba aplikasi yang sedang dibuat. AiStarter berfungsi untuk menghubungkan antara App Inventor yang berjalan di browser dengan perangkat lain seperti HP Android atau Emulator.
2.3 Bluetooth
Bluetooth adalah suatu peralatan media komunikasi yang dapat digunakan untuk menghubungkan sebuah perangkat komunikasi dengan perangkat komunikasi lainnya dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter). Relasi bluetooth adalah one to one, maksudnya adalah 1 device hanya dapat mengakses 1 perangkat, tidak seperti wifi yang relasinya one to many dimana 1 device dapat
Universitas Sumatera Utara
19
mengakses banyak perangkat, bluetooth harus bergantian satu per satu. Pada dasarnya teknologi bluetooth ini diciptakan bukan hanya untuk menggantikan atau menghilangkan penggunaan media kabel dalam melakukan pertukaran data atau informasi, tetapi juga mampu menawarkan fitur yang bagus atau baik untuk teknologi mobile wireless atau tanpa kabel, dengan biaya yang relatif rendah, konsumsi daya rendah, interoperability yang sangat menjanjikan, mudah dalam pengoperasiannya dan juga mampu menyediakan berbagai macam layanan.
2.3.1
Fungsi Bluetooth
Fungsi bluetooth yaitu untuk mempermudah berbagi atau sharing file, audio, menggantikan penggunaan kabel dan lain-lain. Bluetooth sendiri dapat berupa card yang bentuk dan fungsinya hampir sama dengan card yang digunakan untuk wireless local area network (WLAN) dimana menggunakan frekuensi radio standar IEEE 802.11, hanya saja pada bluetooth mempunyai jangkauan jarak layanan yang lebih pendek dan kemampuan transfer data yang lebih rendah.
2.3.2
Latar Belakang Bluetooth
Pada bulan Mei 1998, 5 perusahaan promotor yaitu Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah Special Interest Group (SIG) dan memulai untuk membuat spesifikasi yang mereka namai ‘bluetooth’. Pada bulan Juli 1999 dokumen spesifikasi bluetooth versi 1.0 mulai diluncurkan. Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan
Universitas Sumatera Utara
20
tambahan 4 promotor baru yaitu 3Com, Lucent Technologies, Microsoft dan Motorola. Saat ini, lebih dari 1800 perusahaan di berbagai bidang antara lain di bidang semiconductor manufacture, PC manufacture, mobile network carrier, perusahaan-perusahaan automobile dan air lines bergabung dalam sebuah konsorsium
sebagai
adopter
teknologi
bluetooth.
Perusahaan-perusahaan
terkemuka tersebut antara lain seperti Compaq, Xircom, Phillips, Texas instruments, Sony, BMW, Puma, NEC, Casio, Boeing, dan lain-lain. Walaupun standar Bluetooth SIG saat ini ‘dimiliki’ oleh grup promotor tetapi ia diharapkan akan menjadi sebuah standar IEEE (802.15).
2.3.3
Kelebihan dan Kekurangan Bluetooth
Setiap aplikasi pasti memiliki kelebihan dan kekurangannya masing masing, begitu juga dengan bluetooth, adapun kelebihan dan kekurangan bluetooth yaitu :
a. Kelebihan Bluetooth 1. Bisa menembus rintangan, misalnya seperti dinding, kotak, dan sebagainya. Walaupun jarak transmisinya hanya 10 M. 2. Tidak memerlukan media kabel ataupun kawat. 3. Dapat mensingkronisasi data dari Handphone ke Komputer atau laptop. 4. Dapat dipakai sebagai perantara modem. 5. Praktis dan tidak ribet dalam penggunaannya.
Universitas Sumatera Utara
21
b. Kekurangan Bluetooth 1. Sistem ini menggunakan frekuensi yang sama dengan gelombang wifi yaitu LAN standar. 2. Apabila dalam suatu ruangan terlalu banyak koneksi bluetooth yang digunakan, akan menyulitkan pengguna untuk menemukan penerima yang diharapkan. 3. Banyak mekanisme keamanan bluetooth yang harus diperhatikan untuk mencegah kegagalan pengiriman atau penerimaan informasi. 4. Kecepatan dalam transfer data tidak tetap, tergantung dari perangkat yang dipakai untuk mengirim dan yang menerima data maupun informasi.
2.4 Modul Bluetooth
Bluetooth Module HC-05 merupakan module komunikasi nirkabel dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master. Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi wireless. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built in LED sebagai indikator koneksi bluetooth.
Universitas Sumatera Utara
22
Gambar 2.1 Modul Bluetooth
Modul bluetooth seri HC memiliki banyak jenis atau varian, yang secara garis besar terbagi menjadi dua yaitu jenis ‘industrial series’ yaitu HC-03 dan HC04 serta ‘civil series’ yaitu HC-05 dan HC-06. Modul bluetooth serial, yang selanjutnya disebut dengan modul BT saja digunakan untuk mengirimkan data serial TTL via bluetooth.
Seri modul BT HC bisa dikenali dari nomor serinya, jika nomor serinya genap maka modul BT tersebut sudah diset oleh pabrik, bekerja sebagai slave atau master dan tidak dapat diubah mode kerjanya, contoh adalah HC-06-S. Modul BT ini akan bekerja sebagai BT slave dan tidak bisa diubah menjadi master, demikian juga sebaliknya misalnya HC-04M. Default mode kerja untuk modul BT HC dengan seri genap adalah sebagai slave. Sedangkan modul BT HC dengan nomor seri ganjil, misalkan HC-05, kondisi default biasanya diset sebagai slave mode, tetapi pengguna bisa mengubahnya menjadi master mode dengan AT Command tertentu. Penggunaan
utama dari modul BT ini adalah menggantikan komunikasi serial via kabel, sebagai contoh :
Universitas Sumatera Utara
23
1. Jika akan menghubungkan dua sistem mikrokontroler agar bisa berkomunikasi via serial port maka dipasang sebuah modul BT master pada satu sistem dan modul BT slave pada sistem lainnya. Komunikasi dapat langsung dilakukan setelah kedua modul melakukan pairing. Koneksi via bluetooth ini menyerupai komunikasi serial biasa, yaitu adanya pin TXD dan RXD. 2. Jika sistem mikrokontroler dipasangi modul BT slave maka ia dapat berkomunikasi dengan perangkat lain semisal PC yang dilengkapi adapter BT ataupun dengan perangkat ponsel, smartphone dan lain-lain. 3. Saat ini banyak perangkat seperti printer, GPS modul dan lain-lain yang bekerja menggunakan media bluetooth, tentunya sistem mikrokontroler yang dilengkapi dengan BT master dapat bekerja mengakses perangkatperangkat tersebut.
Pemakaian modul BT pada sistem komunikasi baik antar dua sistem mikrokontrol maupun antara suatu sistem ke device lain tidak perlu menggunakan driver, tetapi komunikasi dapat terjadi dengan dua syarat yaitu :
1. Komunikasi terjadi antara modul BT Master dan BT Slave, komunikasi tidak akan pernah terjadi jika kedua modul sama-sama Master atau samasama Slave, karena tidak akan pernah pairing diantara keduanya. 2. Password yang dimasukkan cocok.
Modul BT yang banyak beredar di sini adalah modul HC-06 atau sejenisnya dan modul HC-05 dan sejenisnya. Perbedaan utama adalah modul HC-06 tidak bisa
Universitas Sumatera Utara
24
mengganti mode karena sudah diset oleh pabrik, selain itu tidak banyak AT Command dan fungsi yang bisa dilakukan pada modul tersebut. Diantaranya hanya bisa mengganti nama, baud rate dan password saja.
Sedangkan untuk modul HC-05 memiliki kemampuan lebih yaitu bisa diubah mode kerjanya menjadi master atau slave serta diakses dengan lebih banyak AT Command, modul ini sangat direkomendasikan, terutama dalam flexibilitasnya dalam pemilihan mode kerjanya.
2.5 Mikrokontroller Arduino Nano
Arduino merupakan sebuah platform dari physical computing yang bersifat open source. Pertama-tama perlu dipahami bahwa kata “platform” di sini adalah sebuah pilihan kata yang tepat. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller.
Arduino Nano adalah salah satu papan pengembangan mikrokontroler yang berukuran kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan dengan basis mikrokontroler ATmega328 (untuk Arduino Nano versi 3.x) atau ATmega 168 (untuk Arduino versi 2.x). Arduino Nano kurang lebih memiliki fungsi yang sama dengan Arduino Duemilanove, tetapi dalam paket yang berbeda. Arduino Nano tidak menyertakan colokan DC berjenis Barrel Jack, dan
Universitas Sumatera Utara
25
dihubungkan ke komputer menggunakan port USB Mini-B. Arduino Nano dirancang dan diproduksi oleh perusahaan Gravitech.
Gambar 2.2 Bagian Depan Arduino Nano
Gambar 2.3 Bagian Belakang Arduino Nano
Universitas Sumatera Utara
26
2.5.1
Spesifikasi Arduino Nano
Berikut ini adalah Spesifikasi yang dimiliki oleh Arduino Nano:
1.
MikrokontrolerAtmel ATmega168 atau ATmega328
2.
5 V Tegangan Operasi
3.
7-12VInput Voltage (disarankan)
4.
6-20VInput Voltage (limit)
5.
Pin Digital I/O14 (6 pin digunakan sebagai output PWM)
6.
8 Pin Input Analog
7.
40 mA Arus DC per pin I/O
8.
Flash Memory16KB (ATmega168) atau 32KB (ATmega328) 2KB digunakan oleh Bootloader
9.
1 KbyteSRAM (ATmega168) atau 2 Kbyte(ATmega328)
10.
512 ByteEEPROM (ATmega168) atau 1Kbyte (ATmega328)
11.
16 MHz Clock Speed
12.
Ukuran1.85cm x 4.3cm
2.5.2
Sumber Daya Arduino Nano
Arduino Nano dapat diaktifkan melalui koneksi USB Mini-B, atau melalui catu daya eksternal dengan tegangan belum teregulasi antara 6-20 Volt yang dihubungkan melalui pin 30 atau pin VIN, atau melalui catu daya eksternal dengan tegangan teregulasi 5 volt melalui pin 27 atau pin 5V. Sumber daya akan secara
Universitas Sumatera Utara
27
otomatis dipilih dari sumber tegangan yang lebih tinggi. Chip FTDI FT232L pada Arduino Nano akan aktif apabila memperoleh daya melalui USB, ketika Arduino Nano diberikan daya dari luar (Non-USB) maka Chip FTDI tidak aktif dan pin 3.3V pun tidak tersedia (tidak mengeluarkan tegangan), sedangkan LED TX dan RX pun berkedip apabila pin digital 0 dan 1 berada pada posisi HIGH.
2.6 Arduino Software (IDE)
IDE merupakan singkatan dari Integrated Developtment Enviroenment, atau merupakan
lingkungan
terintegrasi
yang
digunakan
untuk
melakukan
pengembangan. Disebut sebagai lingkungan karena melalui software inilah Arduino
dilakukan
pemrograman
untuk
melakukan
fungsi-fungsi
yang
dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader yang berfungsi sebagai penengah antara Compiler Arduino dengan mikrokontroller.
2.6.1
Menulis Sketch
Program yang ditulis dengan menggunaan Arduino Software (IDE) disebut sebagai sketch. Sketch ditulis dalam suatu editor teks dan disimpan dalam file dengan ekstensi .ino. Teks editor pada Arduino Software memiliki fitur”
Universitas Sumatera Utara
28
seperti cutting/paste dan seraching/replacing sehingga memudahkan kita dalam menulis kode program.
Pada Software Arduino IDE, terdapat semacam message box berwarna hitam yang berfungsi menampilkan status, seperti pesan error, compile, dan upload program. Di bagian bawah paling kanan Sotware Arduino IDE, menunjukan board yang terkonfigurasi beserta COM Ports yang digunakan.
Gambar 2.4 Tampilan Arduino Software (IDE)
Universitas Sumatera Utara
29
Terdapat beberapa fitur yang membantu penulis untuk membuat mempermudah programmer membuat sketch, yaitu:
1. Verify Berfungsi untuk melakukan checking kode yang kamu buat apakah sudah sesuai dengan kaidah pemrograman yang ada atau belum.
2. Upload Berfungsi untuk melakukan kompilasi program atau kode yang kamu buat menjadi bahsa yang dapat dipahami oleh mesih alias si Arduino.
3. New Berfungsi untuk membuat Sketch baru.
4. Open Berfungsi untuk membuka sketch yang pernah kamu buat dan membuka kembali untuk dilakukan editing atau sekedar upload ulang ke Arduino.
5. Save Berfungsi untuk menyimpan Sketch yang telah kamu buat.
6. Serial Monitor Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan jendela yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara Arduino dengan sketch pada port serialnya. Serial
Universitas Sumatera Utara
30
Monitor ini sangat berguna sekali ketika kamu ingin membuat program atau melakukan debugging tanpa menggunakan LCD pada Arduino. Serial monitor ini dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan error.
Pada taskbar terdapat beberapa menu menu yang didalam setiap menu itu terdapat sub-sub menu yang sangat membantu programmer untuk membuat sketch, yaitu:
1. Menu file, didalam menu file terdapat beberapa sub menu, yaitu:
New, berfungsi untuk membuat membuat sketch baru dengan bare minimum yang terdiri void setup() dan void loop().
Open, berfungsi membuka sketch yang pernah dibuat di dalam drive.
Open Recent, merupakan menu yang berfungsi mempersingkat waktu pembukaan file atau sketch yang baru-baru ini sudah dibuat.
Sketchbook, berfungsi menunjukan hirarki sketch yang kita buat termasuk struktur foldernya.
Example, berisi contoh-contoh pemrograman yang disediakan pengembang Arduino, sehingga kamu dapat mempelajari programprogram dari contoh yang diberikan.
Close, berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.
Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan pada sketch.
Universitas Sumatera Utara
31
Save as…, berfungsi menyimpan sketch yang sedang dikerjakan atau sketch yang sudah disimpan dengan nama yang berbeda.
Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.
Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.
Preferences, disini kita dapat merubah tampilan interface IDE Arduino.
Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih terbuka pada saat tombol Quit ditekan, secara otomatis akan terbuka pada saat Arduino IDE dijalankan.
2. Menu edit, didalam menu edit terdapat beberapa sub menu, yaitu:
Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah dilakukan pada sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.
Cut, berfungsi untuk meremove teks yang terpilih pada editor dan menempatkan teks tersebut pada clipboard.
Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard.
Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar sesuai untuk ditampilkan dalam forum, sehingga kode tersebut bisa digunakan sebagai bahan diskusi dalam forum.
Universitas Sumatera Utara
32
Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard dalam bentuk atau format HTML. Biasanya ini digunakan agar kode dapat diembededdkan pada halaman web.
Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
Select All, berfungsi untk melakukan pemilihan teks atau kode dalam halaman editor.
Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau teks, dimana tanda tersebut menjadikan suatu baris kode sebagai komen dan tidak disertakan pada tahap kompilasi.
Increase/Decrease Indent, berfunsgi untuk mengurangi atau menambahkan indetntasi pada baris kode tertentu. Indentasi adalah “tab”.
Find, berfungsi memanggil jendela window find and replace, dimana kamu dapat menggunakannya untuk menemukan variabel atau kata tertentu dalam program atau menemukan serta menggantikan kata tersebut dengan kata lain.
Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.
Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama yang berhasil ditemukan.
Universitas Sumatera Utara
33
3. Menu sketch, didalam menu sketch terdapat beberapa sub menu, yaitu:
Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat ada kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu buat akan dikompile kedalam bahasa mesin.
Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.
Uplad
Using
Programmer,
menu
ini
berfungsi
untuk
menuliskan bootloader kedalam IC Mikrokontroler Arduino. Pada kasus
ini
seperti
kamu USBAsp
membutuhkan untuk
perangkat
menjembatani
tambahan penulisan
program bootloader ke IC Mikrokontroler.
Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi .hex, dimana file ini dapat disimpan sebagai arsip untuk di upload ke board lain menggunakan tools yang berbeda.
Show Sketch Folder, berfungsi membuka folder sketch yang saat ini dikerjakan.
Include
Library,
berfunsi
menambahkan
library/pustaka
kedalam sketch yang dibuat dengan menyertakan sintaks #include di awal kode. Selain itu kamu juga bisa menambahkan library eksternal dari file .zip kedalam Arduino IDE.
Universitas Sumatera Utara
34
Add
File…,
berfungsi
untuk
menambahkan
file
kedalam sketch Arduino (file akan dikopikan dari drive asal). File akan muncul sebagai tab baru dalam jendela sketch.
4. Menu tools, didalam menu tools terdapat beberapa sub menu, yaitu:
Auto Format, berfungsi melakukan pengatran format kode pada jendela editor.
Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean peta karakter editor dan peta karakter sistem operasi yang lain.
Serial Monitor, berungsi membuka jendela serial monitor untuk melihat pertukaran data.
Board, berfungsi memilih dan melakukan konfigurasi board yang digunakan.
Port, memilih port sebagai kanal komunikasi antara software dengan hardware.
Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip mikrokontroller tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader.
Burn Bootloader, mengizinkan kamu untuk mengkopikan program bootloader kedalam IC mikrokontroler.
Universitas Sumatera Utara
35
5. Menu help, didalam menu help kita bisa mendapatkan bantuan terhadap masalah
mengenai
pemrograman.
Menu
help
berisikan
file-file
dokumentasi yang berkaitan dengan masalah yang sering muncul, serta penyelesaiannya. Selain itu pada menu help juga diberikan link untuk menuju Arduino Forum guna menanyakan serta mendiskusikan berbagai masalah yang ditemukan.
Universitas Sumatera Utara