Professional Documents
Culture Documents
TEORI PENUNJANG
Pada bab ini akan dijelaskan teori-teori penunjang yang digunakan dalam
pembuatan tugas akhir ini. Dalam hal ini meliputi motor DC sebagai actuator,
yang diteruskan menuju actuator, telepon seluler Android sebagai media pengirim
2.1. Motor DC
pulsa-pulsa listrik menjadi gerakan mekanik. Energi mekanik ini digunakan untuk
menggerakkan benda lain, misalnya memutar impeller pompa, fan atau blower,
tegangan yang searah pada kumparan medan untuk diubah menjadi energi
mekanik. Kumparan medan pada motor DC disebut stator (bagian yang tidak
berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi
putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul
tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga
merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik
7
phasa tegangan dari gelombang yang mempunyai nilai positif dengan
kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling
sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara
menyentuh kumutator, dua segmen yang terhubung dengan dua ujung lilitan.
Kumparan satu lilitan pada gambar di atas disebut angker dinamo. Angker dinamo
8
2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah
lingkaran / loop, maka kedua sisi loop, yaitu pada sudut kanan medan
kumparan.
4. Motor-motor memiliki beberapa loop pada dinamonya untuk
kumparan medan.
teknologi yang memiliki kemampuan baik dengan biaya ekonomis yang cukup
minimal.
Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi
program yang lebih sedikit. Mikrokontroler AVR memiliki arsitektur RISC 8 bit,
dimana semua instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi
Terdapat sebuah inti prosesor (processor core) yaitu Central Processing Unit, di
9
Seluruh register umum sebanyak 32 buah terhubung langsung dengan unit ALU
data berupa SRAM (Static Ramdom Access Memory) dan EEPROM (Electrical
Interface).
Mode), serta osilator internal 8 MHz. Seluruh fitur terhubung ke bus 8 bit. Unit
selebar 16 bit dapat digunakan untuk menyimpan data sementara saat interupsi.
MHz (maksimal 8 MHz untuk versi ATmega8535 L). Sumber frekuensi bisa dari
1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port
D.
10
2. ADC 10 bit sebanyak 8 saluran.
11
Gambar 2.2 Arsitektur ATMega8535 (2006, p. 3)
12
6. SRAM sebanyak 512 byte.
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
16 MHz.
Mbps.
2.2.3. Konfigurasi
13
Konfigurasi pin ATMega8535 dapat dilihat pada Gambar 2.3. Dari gambar
berikut:
Nama Fungsi
GND Ground
Port A Port I/O 8-bit dua arah dengan resistor pull-up internal.
Port B Port I/O 8-bit dua arah dengan resistor pull-up internal.
Port C Port I/O 8-bit dua arah dengan resistor pull-up internal.
(PC7..PC0 Dua pin yaitu PC6 dan PC7 berfungsi sebagai oscillator luar
14
) untuk Timer/Counter2.
Nama Fungsi
Port D Port I/O 8-bit dua arah dengan resistor pull-up internal.
Port Pin Fungsi lain
(PD7..PD
0) PD0 RXD (UART Input Line)
Masukan reset. Sebuah reset terjadi jika pin ini diberi logika
RESET
rendah melebihi periode minimum yang diperlukan.
15
AGND Ground analog.
program yang terpisah. Memori data terbagi menjadi 3 buah bagian, yaitu 32 buah
register umum, 64 buah register I/O, dan 512 byte SRAM Internal.
yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan
dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan
berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai
dengan $25F.
........ ........
16
........ ........
........
Memori program yang terletak dalam flash PEROM tersusun dalam word
atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32 bit. AVR
ATMega8535 memiliki 4 Kbyte x 16-bit Flash PEROM dengan alamat mulai dari
$000 sampai $FFF. AVR tersebut memiliki 12-bit Program Counter (PC) sehingga
EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai
$1FF.
17
2.2.5. Status Register (SREG)
Status Register adalah register berisi status yang dihasilkan pada setiap
1. Bit 7-I: Global Interrupt Enable Bit harus diset untuk mengaktifkan
akan anda gunakan dengan cara meng-enable bit kontrol register yang
interupsi yang dipicu oleh Hardware, dan bit tidak akan mengizinkan
tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat
instruksi BLD.
18
6. Bit-S merupakan hasil operasi EOR antara flag-N (Negatif) dan flag V
diset.
12. Bit akan diset bila hasil operasi yang diperoleh adalah nol.
14. Apabila suatu operasi menghasilkan carry, maka bit akan diset.
ataupun output dengan keluaran high atau low. Untuk mengatur fungsi Port I/O
sebagai input ataupun output. Perlu dilakukan setting pada DDR dan Port. Tabel
19
2. Output High; DDR bit 1 dan Portbit 1
Logika Port I/O dapat diubah-ubah dalam program secara byte atau hanya
bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan
perintah cbi (clear bit I/O) untuk menghasilkan outputlow atau perintah sbi (set
bit I/O) untuk menghasilkan output high. Pengubahan secara byte dilakukan
dengan perintah in atau out yang menggunakan register Bantu. Port I/O sebagai
2.3. IC L298N
akhir ini menggunakan IC ini untuk driver motor DC. IC ini memiliki tegangan
suplai maksimal 50 Volt dan arus 200 mA. IC ini termasuk jenis TTL, dimana
merupakan dua buah transistor yang dipakai dengan konfigurasi khusus untuk
buah pin sebagai pin input, dimana nantinya akan dihubungkan dengan output dari
dengan motor DC. Dan dua buah pin sebagai catu daya. Besar catu daya tersebut
20
(a) (b)
yang ditimbulkan oleh lilitan motor DC pada saat terdapat arus yang mengalir
2.4. Bluetooth
kabel) yang beroperasi dalam pita frekuensi 2,4 Ghz unlicensed ISM (Industrial
yang mampu menyediakan layanan komunikasi data dan suara secara real time
antara host-host bluetooth dengan jarak jangkau layanan yang terbatas (sekitar 10
meter). Bluetooth berupa card yang menggunakan frekusensi radio standar IEEE
802.11 dengan jarak layanan terbatas dan kemampuan data transfer lebih rendah
dari card untuk Wireless Local Area Network (WLAN). Pembentukan Bluetooth
21
dipromotori oleh 5 perusahaan besar Ericsson, IBM, Intel, Nokia dan Toshiba
membentuk sebuah special Interest Group (SIG) 45 yang meluncurkan proyek ini.
Pada bulan Juli 1999 dokumen spesifikasi bleutooth versi 1.0 mulai
spesifikasi Bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com,
Lucent Technologies, Microsoft dan Motorolla. Saat ini lebih dari 1800
adopter teknologi bluetooth. Walaupun standar bluetooth SIG saat ini dimiliki
oleh group promotor tetapi diharapkan akan menjadi standar IEEE (802.15).
terdiri atas dua buah peralatan bluetooh dimana salah satu modul yang
menerima tawaran inisiasi tadi dinamakan sebagai slave. Jika hanya dua
point. Satu master dapat memiliki lebih dari satu koneksi secara simultan dengan
beberapa slave pada saat bersamaan. Koneksi ini dinamakan dengan koneksi
point to multipoint. Kedua tipe koneksi tersebut masih merupakan bagian dari
jaringan baru yang dinamakan Scatternet . Syarat dari sebuah Scatternet adalah
22
satu peralatan yang hanya dapat menjadi master dalam satu piconet saja pada
suatu saat.
Bluetooth dibuat tak hanya untuk peralatan ponsel saja, akan tetapi dapat
PDA , dan sebagainya. Peralatan Bluetooth beroperasi pada frekuensi radio 2,4
GHz atau tepatnya adalah 2.400 - 2.483 MHz. Sistem radio Bluetooth tersebut
dikirimkan melalui satu lebar pita frekuensi yang jauh lebih lebar daripada
bandwith yang diperlukan oleh sinyal informasi tersebut. Dalam proses ini,
23
sejumlah kanal pita frekuensi pada spectrum elektromagnetik yang lebih lebar.
Frekuensi Hopping tersebut adalah salah satu diantara dua teknik modulasi
penyebaran spectrum tadi. Dalam proses ini setiap paket akan dikirimkan pada
hop rate. Hop Rate ini biasanya mencapai kecepatan tinggi sekitar 1600 hop per
detik, bertujuan untuk mencegah interferensi serta untuk mendapatkan paket yang
pendek , teknik ini merupakan perulangan proses perpindahan atau switching dari
pencegatan yang tidak legal atau karena adanya jamming dalam sistem
dalam jarak yang sedang antara 1 hingga 100 m. Jarak maksimal ini dapat
dihasilkan tergantung dari daya output yang digunakan dalam modul Bluetooth.
Modul Bluetooth disini biasanya berupa satu IC chip komunikasi khusus yang
24
1. Daya kelas 1 yang beroperasi pada daya antara 100mW (20dBm)
yang berbeda untuk bekerja sama antara alat satu dengan alat yang lainnya, maka
dari itu perlu dibuat sistem gelombang radio yang disesuaikan. Karena adanya
penyesuaian sistem gelombang radio saja tetapi diperlukan juga protocol stack
yang sama, ditujukan supaya alat yang satu dapat mengenali alat yang lainnya,
25
Gambar 2.9 Protocol Stack dari Bluetooth
Stack dari Bluetooth terdiri dari beberapa layer, seperti tampak pada
gambar 2.9. Layer HCI biasanya memisahkan antara perangkat keras dan
software.
26
Tabel 2.3 Layer dan Keterangan dari Stack Bluetooth
27
Pengembang aplikasi Bluetooth tidak perlu untuk mengerti semua secara
sistem cara kerja gelombang Bluetooth harus dimengerti, karena hal tersebut
penting. Radio Bluetooth adalah layer terendah dalam komunikasi layer pada
Bluetooth, dan gelombang Bluetooth bekerja pada frekwensi 2,4 GHz sama seperti
28
yang digunakan pada gelombang radio. Setiap alat Bluetooth memiliki alamat
diantara dua alat dan menciptakan kunci (password) pada prosedur keamaan
Bluetooth.
1. Kelebihan
genggam ke komputer.
2. Kekurangan
LAN standar.
29
3) Banyak mekanisme keamanan bleutooth yang harus diperhatikan
informasi.
Modul ini memiliki dua bagian, yang RBT-001 modul dan SIP dengan regulator
tegangan yang lebih tinggi dari 3,3 VDC, tanpa khawatir akan merusak unit,
dan TTL.
30
Fitur-fitur pada Bluetooth Robotech RBT-001, antara lain:
31
2.4.7. Konfigurasi Pin
1 Vdd Sumber
2 RX Penerima
3 TX Pengirim
4 NC Tidak terhubung
5 NC Tidak terhubung
6 NC Tidak terhubung
7 NC Tidak terhubung
8 NC Tidak terhubung
9 NC Tidak terhubung
10 Vss Pentanahan
32
Gambar 2.11 Konfigurasi Pin pada Modul Easy Bluetooth
33
2.5. ANDROID
Android.com]
(OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan
Dalam paket sistem operasi Android tediri dari beberapa unsur seperti
kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang
menyediakan dan mengatur alur proses aplikasi. [Google IO, Android Anatomy
and Physiology]
34
Gambar 2.12 Detail Anatomi Android
1. Linux Kernel
Android bukanlah liniux, karena dalam Android tidak terdapat paket standar yang
dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal
dalam manajemen memori dan proses. Oleh karenanya pada Android hanya
manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,
35
2. Libraries
dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang
aplikasi.
hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi
3. Android Runtime
merupakan mesin virtual yang membuat aplikasi Android menjadi lebih tangguh
36
dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian
utama, diantaranya:
Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti
Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti
Andbook, anddev.org]
A. Application Framework
untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber
daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai
37
a. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi
pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada
status bar.
B. Application Layer
Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget.
Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika
tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan
dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada
framework aplikasi.
operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti (native) maupun
38
aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka
elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh,
sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan
fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka
Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi
ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek Java untuk
bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android tidak
memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain.
1. Activities
karena Activity menyajikan tampilan visual program yang sedang digunakan oleh
pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk
menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap
39
Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada
posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi
yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya
digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin
activity yang sedang digunakan, maka activity yang berada diatas akan aktif
kemungkinan kondisi transisi yang akan terjadi [Reto Meier, Profesional Android
1) Active, setiap activity yang berada ditumpukan paling atas, maka dia
40
2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus
pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity
3) Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut
keadaan dan informasi yang ada. Namun akan menjadi kandidat utama
perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika
activity telah keluar atau ditutup, maka dia akan menjadi inactive.
sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.
kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan
di tutup.
41
2. Services
background untuk waktu yang tidak terbatas. Komponen service diproses tidak
untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika
3. Intents
tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.
Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan
oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan
masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin
menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh
Intents tersebut.
4. Broadcast Receivers
sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah
merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast
42
dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada
pengguna.
5. Content Providers
dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain
antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika
sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam
penerapannya.
dibawah
43
Proses pembentukan file executable dapat dilihat pada skematik diatas.
Proses ini berawal dengan menuliskan listing program pada editor yang dapat
ditulis dalam bentuk notepad, word pad, atau langsung pada editor bawaan
compiler. File include dan file program kemudian di-compile dan akan
menghasilkan file berbentuk objek (*. obj).kemudian file objek akan disatukan
oleh linker beserta file pustaka dan file objek lainnya sebelum kemudian
oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan
model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih
mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis
44
sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk
dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai
jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan
dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi.
Sifat ini berlaku untuk level source code dan binary code dari program Java.
Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java
Source code program Java sendiri tidak perlu dirubah sama sekali jika
Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile source
code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap
mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class.
Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan
tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem
45
cara ini, sebuah program Java yang telah dikompilasi akan dapat berjalan di
untuk program Java sendiri sering juga disebut Java Runtime atau Java Virtual
hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk
mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi
sendiri.
2.7.2. Library
yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah
aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user
46
2.7.3. Orientasi Objek
dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java
mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-
aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini
balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri
membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat
47