modul ajar -...
TRANSCRIPT
Modul Ajar Praktikum Telemetri
PROGRAM STUDI TEKNIK OTOMASI
TEKNIK KELISTRIKAN KAPAL
POLITEKNIK PERKAPALAN NEGERI SURABAYA
Penyusun:
Noorman Rinanto, ST., MT.
Agus Khumaidi, S.ST.
1 Modul Ajar Praktikum Telemetri
MODUL 1
MODEL TRANSMISI DATA
1.1. Sub Kompetensi
Mahasiswa mampu memahami dan mempraktekkan pemrograma pada mikrokontroler
Arduino.
Mahasiswa memahami dan mempraktekkan transmisi serial antara mikrokontroler
Arduino dengan komputer.
Mahasiswa mampu mengendalikan output melalui data serial dari komputer.
1.2. Waktu Pelaksanaan Praktikum
Pertemuan minggu ke 1, transmisi berbasis kabel
1.3. Dasar Teori
Transmisi data digital dapat terjadi dalam dua model dasar, yaitu transmisi paralel dan
transmisi serial.
Pada transmisi paralel, sejumlah bit dikirimkan perwaktu. Masing-masing bit
mempunyai jalurnya tersendiri. Dikarenakan oleh sifatnya yang demikian, maka data
yang mengalir pada transmisi paralel jauh lebih cepat dari pada transmisi serial. Model
transmisi paralel biasanya digunakan untuk melakukan transmisi jarak pendek. Pada
transmisi paralel, beberapa bit (biasanya 8 bit atau satu byte / karakter) akan dikirim
secara bersamaan pada saluran yang berbeda (kabel, saluran frekuensi) dalam kabel
yang sama.
Pada transmisi serial, pada setiap waktu hanya 1 bit data yang dikirimkan. Dengan kata
lain, bit-bit data tersebut dikirimkan secara satu per satu. Transmisi serial terdiri dari
dua jenis transmisi, yaitu serial sinkron (synchronous) dan transmisi serial asinkron
(asynchronous). Berikut ini merupakan penjelasan dari masing-masing jenis transmisi
serial tersebut. Transmisi Serial Sinkron (Synchronous).
Transmisi Serial Sinkron (Synchronous)
1 Pada transmisi sinkron, sebelum terjadi komunikasi, diadakan sinkronisasi clock
antara pengirim dan penerima.
2 Data dikirim dalam satu blok data (frame) yang berisi bit Pembuka (preamble bit),
bit data itu sendiri, dan bit penutup (postamble bit). Ditambahlan juga bit kontrol
pada blok tersebut.
3 Variasi ukuran frame mulai 1500 byte sampai 4096 byte
4 Dalam komunikasi sinkron, sebuah line 56 kbps mampu membawa data sampai
7000 byte per detik
2 Modul Ajar Praktikum Telemetri
Transmisi Serial Asinkron (Asynchronous)
1 Pada transmisi Asinkron, sebelum terjadi komunikasi, tidak diadakan sinkronisasi
clock antara pengirim dan penerima
2 Data dikirim per karakter dan masing-masing karakter memiliki bit start (biasanya 0)
dan bit stop (biasanya 1)
3 Start bit berfungsi untuk menandakan adanya rangkaian bit karakter yang siap
dicuplik.
4 Stop bit berfungsi untuk melakukan proses menunggu karakter berikutnya
1.4. Peralatan Yang Diperlukan
Arduino UNO
Kabel data
Proyek Board
Kabel Jumper
LED
Resistor
1.5. Prosedur Percobaan
Pada percobaan kali ini bertujuan untuk dapat mengendalikan lampu LED melalui
komputer menggunakan komunikasi serial dengan input data melalui serial terminal.
Berikut adalah tahapan percobaan:
1. Rangkailah komponen seperti gambar 1.1 dibawah ini
Gambar 1.1 Rangkaian led
3 Modul Ajar Praktikum Telemetri
2. Buatlah program pada arduino IDE seperti dibawah ini.
Keterangan:
1. Digunakan untuk menentukan nilai dari variable static, maka variable lampu
bernilai 7.
2. Char adalah variable data karakter, sehingga variable data_masuk bertipe
data char.
3. Digunakan untuk menentukan baudrate / kecepatan pengiriman data.
4. Digunakan untuk deklarasi bahwa pin lampu (7) sebagai OUTPUT.
5. Digunakan untuk mejadikan pin lampu berlogika LOW / 0V.
6. Digunakan untuk mendeteksi jika ada data serial yang masuk.
7. Membaca data yang dikirim oleh komputer dan meletakkan data tersebut ke
variable data_masuk.
8. Logika aktivasi beban sesuai dengan data yang diterima
3. Download program ke arduino dan buka serial terminal.
1 2
3
4 5
6
7
8
4 Modul Ajar Praktikum Telemetri
4. Jika diinputkan angka 1 kemudian dikirim maka hasilnya dapat dilihat seperti
gambar dibawah ini
5. Jika diinputkan angka 0 kemudian dikirim maka hasilnya dapat dilihat seperti
gambar dibawah ini
1.6. Tugas
Tugas 1
Buatlah program 3 lampu sesuai dengan tabel kondisi dibawah ini.
Data dikirim Kondisi lampu 1 Kondisi lampu 2 Kondisi lampu 3
111 ON ON ON
101 ON OFF ON
110 ON ON OFF
000 OFF OFF OFF
100 ON OFF OFF
011 OFF ON ON
Tugas 2
Buatlah program dengan inputan berupa tombol, yaitu jika tombol ditekan sebanyak
10 kali maka akan mengirim data serial ke komputer “TOMBOL TELAH DITEKAN
10 KALI”
5 Modul Ajar Praktikum Telemetri
PEMROGRAMAN ANDROID
6 Modul Ajar Praktikum Telemetri
MODUL 2
INSTALASI ANDROID IDE
2.1. Sub Kompetensi
Memahami esensi pembuatan aplikasi berbasis android.
Memahami dasar pemrograman aplikasi android.
Memahami fitur-fitur dan instalasi perangkat lunak android.
Memahami fitur-fitur dan instalasi perangkat lunak android.
2.2. Waktu Pelaksanaan Praktikum
Pertemuan minggu ke 2
2.3. Peralatan Yang Diperlukan
PC / Laptop
Android Studio
Eclipse
2.4. Dasar Teori
2.4.1. Pendahuluan
Terdapat beberapa alasan mengapa Android berkembang dengan pesat dan kenapa
developer sebaiknya membangun Aplikasi Android.
a. Market Share
Developer memiliki kesempatan untuk mengembangkan aplikasi untuk pasar yang
relatif baru dan sedang berkembang pesat. Keberadaan Android Market akan
menempatkan aplikasi yang dibuat oleh developer langsung kepada pengguna.
Pengguna tidak perlu mencari melalui internet untuk menemukan dan meng-install
aplikasi yang dibuat oleh developer. Pengguna cukup membuka Android Market
yang sudah ter-install di perangkat android pengguna dan mengakses aplikasi yang
pengguna butuhkan dan meng-install ke dalam perangkat android pengguna.
b. Time to Market
Terdapat Android APIs (Application Programming Interfaces) yang memudahkan
developer untuk membangun aplikasi dengan mudah dan waktu yang singkat.
c. Open Platform
7 Modul Ajar Praktikum Telemetri
Sistem operasi Android merupakan platform terbuka. Sehingga tidak merujuk pada
suatu perusahaan hardware atau suatu provider. Platform terbuka android
memungkinkan perkembangan market dengan sangat cepat, karena semua
perusahaan hardware dan provider dapat membuat dan menjual perangkat android.
Source code android dapat di akses melalui http://source.android.com, untuk
digunakan dan dimodifikasi sesuai kebutuhan perusahaan hardware, provider atau
developer aplikasi.
d. Cross Compatibility
Android dapat berjalan di berbagai perangkat dengan ukuran dan resolusi layar yang
berbeda. Android memiliki fitur yang membantu developer untuk mengembangkan
aplikasi yang compatible untuk berbagai perangkat (cross-compatible application).
Google memiliki feature detection yang mengatur agar aplikasi yang dikembangkan
oleh developer hanya berjalan di perangkat yang compatible. Sebagai contoh, jika
suatu aplikasi membutuhkan kamera depan (front-facing camera) maka hanya
perangkat android dengan kamera depan yang akan dapat melihat aplikasi tersebut di
Android Market. Suatu perangkat android harus mengikuti suatu aturan untuk
mendapatkan sertifikat kesesuaian terhadap Android Market untuk memastikan
aplikasi dapat berjalan diatasnya, diantaranya keberadaan: (a) Kamera, (b) Kompas,
(c) GPS (Global Positioning System), (d) Bluetooth Transceiver.
e. Mashup Capability
Mashup Capability merupakan kemampuan untuk mengkombinasikan dua atau lebih
layanan untuk mengembangkan suatu aplikasi. Sebagai contoh, developer dapat
membuat mashup dengan menggunakan kamera dan GPS, sehingga terbangun
aplikasi pengambilan photo dengan dilengkapi secara tepat lokasi pengambilannya.
Beberapa contoh lain mashup yang mungkin dikembangkan dalam suatu aplikasi,
yaitu:
1. Geolocation dan Social Networking
Suatu aplikasi yang secara otomatis melakukan tweet posisi pengguna setiap 10
menit.
2. Geolocation dan Gaming
8 Modul Ajar Praktikum Telemetri
Location-based gaming merupakan model game yang saat ini popular. Game
memiliki background services untuk mengecek posisi pengguna dan
membandingnya dengan posisi pengguna yang lain di area yang sama. Jika jarak
antara pengguna kurang dari 1 km misal, maka akan diberikan notifikasi dan
memungkinkan mereka untuk bertarung melalui game tersebut.
2.4.2. Dasar pemrograman android
Membangun Aplikasi Android sangat mudah, default untuk bahasa pemrograman yang
digunakan oleh Android adalah java. Tidak semua fitur java yang ada digunakan akan
tetapi sebagian dari java yang sering disebut dengan Dalvik Virtual Machine. Beberapa
bagian kecil dari framework Android menggunakan bahasa XML untuk scripting-nya.
a. Activity
Activity merupakan container untuk User Interface (UI). Sebuah Aplikasi
Android terbangun dari satu atau beberapa Activity.
b. Intents
Intent merupakan sistem pesan utama yang menjalankan Android. Intent terdiri
dari Action yang harus dijalankan (Tampil, Ubah, Dial, dll) dan Data. Intent
digunakan untuk memulai aktivitas dan komunikasi antar bagian dari sistem
Android. Suatu aplikasi dapat mengirimkan atau menerima intent.
1. Mengirimkan pesan dengan Intent
Ketika suatu aplikasi mengirimkan suatu intent, aplikasi mengirimkan pesan
memberitahukan Android untuk menjalankan sesuatu. Misal: memberitahukan
Android untuk menjalankan suatu Activity dari aplikasi atau menjalankan
aplikasi lain.
2. Mendaftarkan Intent Receiver
Mengirimkan pesan dengan Intent bukan berarti sesuatu selanjutnya akan
terjadi secara otomatis. Aplikasi harus mendaftarkan intent receiver yang
memperhatikan intent dan memberitahukan Android apa yang harus dilakukan.
9 Modul Ajar Praktikum Telemetri
Contoh, jika pengguna menekan lama suatu image di image gallery, maka
akan memunculkan context menu yang berkaitan dengan image sharing.
Dikarenakan terdapat beberapa receivers yang didaftarkan berkaitan dengan
image sharing (email, messaging, Bluetooth, dll) maka context menu
dimunculkan untuk memberikan opsi keputusan kepada penguna.
c. Cursorless Controls
Perangkat Android menggunakan jari pengguna sebagai input. Jika pada computer
biasa digunakan pointer mouse, kemudian left-click untuk berinteraksi dengan suatu
tombol misal, maka pengguna Android dapat menggunakan jarinya langsung ke
tombol. Untuk menggantikan right-click, pengguna Android dapat menekankan
jarinya agak lama ke layar, kemudian context menu akan muncul.
d. Views dan Widgets
View merupakan elemen dasar UI (User Interface). Sebagai contoh area kotak pada
layar yang bertanggung jawab untuk tampilan dan menerima event (event handling).
Beberapa contoh view antara lain: (1) ContextMenu, (2) Menu, (3) View, (4)
SurfaceView .
Widgets adalah elemen UI yang lebih canggih. Merupakan control untuk interaksi
antara sistem dengan pengguna. Beberapa contoh Widgets antara lain: (1) Button,
(2) CheckBox, (3) DatePicker, (4) DigitalClock, (5) Gallery, (6) FrameLayout, (7)
ImageView, (8) RelativeLayout, (9) PopupWindow.
Untuk mempelajari widgets lebih lanjut dapat dilihat melalui url:
http://developer.android.com/reference/android/widget/package-summary.html
e. Asynchronous Calls
Android memiliki sebuah class yang AsyncTask yang memungkin aplikasi menjalan
beberapa operasi pada waktu yang bersamaan, tanpa harus mengatur bagaimana
thread berjalan secara khusus. AsyncTask memungkin developer untuk membangun
model program yang bersih untuk proses-proses asinkron. Proses asinkron biasa
digunakan untuk proses-proses yang membutuhkan waktu lama, misal: Network
Communication (Internet), Media Processing, dan berbagai proses lain yang
10 Modul Ajar Praktikum Telemetri
mengharuskan pengguna menunggu. Jika pengguna harus menunggu, maka dapat
digunakan proses asinkron untuk menampilkan UI yang memberitahukan pengguna
apa yang terjadi.
f. Background Services
Services merupakan aplikasi yang berjalan di belakang dan tidak terlalu penting
memiliki UI, sebai contoh: antiivirus. Sebagian besar pemutas music (music player)
dari Android Market berjalan sebagai Background Services, yangmana pengguna
dapat mendengarkan musik sembali mengecek e-mail atau melakukan tugas lain
yang membutuhkan penggunaan tampilan layar.
2.4.3. Fitur Perangkat Keras Android
Perangkat Android memiliki beberapa fitur perangkat keras didalamnya, yang dapat
dimanfaatkan developer dalam membangun aplikasi.
a. Touchscreen
Perangkat Android memiliki fitur layar sentuh (touchscreen) yang memberikan
beberapa kemungkinanan bagi pengguna untuk berinteraksi dengan aplikasi dengan
menggunakan jari. Pengguna dapat melakukan swipe, flip, drag, dan pinch untuk
zoom. Android juga mendukung multitouch yang berarti keseluruhan layar dapat
disentuh dengan satu atau lebih jari pada saat yang bersamaan.
b. GPS
Sistem operasi Android mendukung GPS yang memungkinkan developer untuk
mengakses lokasi pengguna. Contoh aplikasi yang memanfaatkan GPS adalah
Aplikasi Peta (Map) yang menunjukkan lokasi pengguna dan memberikan petunjuk
untuk menujusuatu lokasi.
c. Accelerometer
Android mendukung Accelerometer, yaitu perangkat yang digunakan untuk
mengukur percepatan. Accelerometer dapat memberitahukan apabila suatu
Perangkat Android bergerak, atau terguncang, atau berbalik arah posisinya.d. SD
Card Android memiliki fitur yang memungkinkan pengguna atau aplikasi untuk
mengakses (menyimpan atau membuka) file pada SD Card. SD Card merupakan
11 Modul Ajar Praktikum Telemetri
media penyimpanan medium yang digunakan Perangkat Android dan beberapa
perangkat mobile lain non Android sebagai media penyimpanan.
2.4.4. Fitur Perangkat Lunak Android
Android memiliki banyak fitur perangkat lunak yang dapat digunakan oleh developer
dalam mengembangkan aplikasi. Beberapa fitur populer yang akan dijabarkan disini.
a. Internet
Kemampuan akses internet pada Android memberikan banyak keunggulan. Berbagai
informasi secara real-time dapat diperoleh dengan mudah dengan internet. Contoh,
sebagai pengguna, dapat menggunakan internet untuk melihat jadwal pemutaran film
bioskop, cuaca suatu area, jadwal penerbangan dan lainnya. Sebagai developer,
dapat menggunakan internet untuk akses secara real-time kepada data, update data.
Developer juga dapat menggunakan internet untuk menyimpan berbagai asset untuk
kemudian digunakan suatu aplikasi, seperti dilakukan Pandora dan YouTube.
Dengan internet dapat dibangun model aplikasi yang disebut client-server
computing. Contoh lain, aplikasi peta, mengakses data peta dan GPS dari web
server.
b. Audio dan Video Support
Sistem operasi Android memungkinkan developer menyertakan audio dan video
dalam aplikasi dengan mudah. Berbagai standar format audio dan video didukung.
c. Contact
Android memungkinkan akses ke contacs yang tersimpan dapat Perangkat Android.
Developer dapat menggunakan fitur ini untuk menampilkan contacts dalam cara
baru yang berbeda. Hal lain yang dapat dilakukan adalah membangun aplikasi yang
menggabungkan antara contacts dengan GPS, yang memberikan notifikasi kepada
pengguna jika pengguna berada di dekat alamat satu contact yang ada.
d. Security
12 Modul Ajar Praktikum Telemetri
Android memungkinkan aplikasi untuk melakukan banyak hal. Akan tetapi Android
juga menyiapkan mekanisme keamanan berupa permission berkaitan dengan
beberapa tugas.
Contoh: Download image dan menyimpannya di SD Card, maka harus disetujui
terlebih dahulu permission untuk mengakses SD Card.
e. Google APIs
Sistem operasi Android memungkinkan dengan tidak terbatas membuat panggilan
telepon, mengorganisasi contacts atau meng-install aplikasi. Developer dapat
mengintegrasikan peta (map) ke dalam suatu aplikasi dengan menggunakan Maps
API yang mengandung Map Widgets. Berbagai fitur dapat ditambahkan dengan
Maps API, antara lain: (1) Menampilkan suatu lokasi di peta, (2) Mendapatkan
panduan navigasi, (3) Komunikasi data antara aplikasi dengan clouds.
2.4.5. Framework Android
Android sepenuhnya open source, sehingga semua developer yang membutuhkan dapat
mengakses untuk menggunakan dan memodifikasi kode program Android. Source code
android dapat di download melalui http://source.android.com. Android dibangun diatas
open source linux kernel 2.6. Kernel linexu tersebut dipilih karena menyediakan fitur
utama untuk membangun sistem operasi Android, diantaranya:
1. Security Model: Linux kernel menangani keamanan antara aplikasi dan sistem
2. Memory Management: Linux kernel menangani manajemen memori untuk
developer
3. Process Management: Linux kernel mengatur proses dengan baik,
mengalokasikan resource untuk proses sesuai dengan kebutuhan
4. Network Management: Linux kernel juga menangani jaringan komunikasi
5. Driver Model: Perusahaan perangkat keras dapat mengembangkan drivers
perangkat mereka secara mandiri untuk berjalan di atas linux
13 Modul Ajar Praktikum Telemetri
Diatas kernel linux tersebut, framework Android dibangun dengan berbagai fitur. Fitur-
fitur tersebut diadopsi dari berbagai proyek opensource. Beberapa fitur Android
framework diantaranya:
1. Android Run Time: Mengandung inti library java dan dalvik virtual machine
2. Open GL (Graphics Library): Merupakan API (Application Program Interface)
yang digunakan untuk menghasil graphics 2D dan 3D, bersifat cross-language dan
crossplatform
3. Webkit: merupakan mesin web browser opensource yang menyediakan
fungsionalitas untuk menampilkan web konten
4. SQLite: merupakan opensource mesin database yang di rancang untuk sistem
embedded
5. Media frameworks: library yang digunakan untuk menjalankan dan merekam
audio serta video
6. Secure Socket Layer (SSL): library ini bertanggung jawab terhadap keamanan
internet
Untuk pemanfaatan fitur-fitur dalam Android framework diatas, disediakan berbagai
library dalam Application Framework yang dapat digunakan oleh developer,
diantaranya:
1. Activity Manager: Mengelola siklus hidup activity
2. Telephony Manager: Menyediakan akses ke telephone service
3. View System: Menangani view dan layout yang membangun User Interface (UI)
4. Location Manager: menemukan lokasis secara geografi
14 Modul Ajar Praktikum Telemetri
2.4.6. Instalasi JRE
Jika belum terinstal Java Runtime Environment silahkan menginstallnya terlebih dahulu
dengan mengnduhnya pada situs pengembang java, dapat di download di sini
http://www.oracle.com/technetwork/java/javase/downloads
Ikuti langkah-langkah instalasi JRE sesuai dengan petunjukknya.
15 Modul Ajar Praktikum Telemetri
2.4.7. Instalasi Eclipse
Jika belum ada editor eclipse silahkan mengunduhny adan ikuti langkahnya sesuai
dengan modul terdahulu. Jika sudah ada lewati section ini.
Extract eclipse
Jalankan eclipse.exe
Mengkonfigurasi Eclipse dengan ADT
Untuk dapat menggunakan Eclipse dalam membangun Aplikasi Android. Terlebih
dahulu harus dilakukan konfigurasi Android Development Tools (ADT) dalam Eclipse.
1. Jalankan Eclipse (jika belum berjalan)
2. Pilih pada menubar Help ->Install New Software
3. Muncul Install window pops-up, yang mengijinkan untuk menginstall plug-in baru
ke dalam Eclipse.
16 Modul Ajar Praktikum Telemetri
4. Klik Button Add, untuk menambahkan
Tuliskan nama pada Name Field, misal: Android ADT
6. Pada Location Field, tuliskan: https://dl-ssl.google.com/android/eclipse/
17 Modul Ajar Praktikum Telemetri
7. Tampil:
8. Select All, klik next> untuk install
9. Review, klik next>
18 Modul Ajar Praktikum Telemetri
10. License Agreement, Klik Finish
11. Install dalam akan berjalan, plugin ADT akan terinstall
19 Modul Ajar Praktikum Telemetri
Mengkonfigurasi lokasi SDK
1. Pada menubar, pilih window -> preferences
2. Pilih Android pada tab di kiri
20 Modul Ajar Praktikum Telemetri
3. Atur lokasi SDK, Kemudian OK
2.4.8. Instal Android Studio
Setelah JDK terpasang di PC anda, tentu selanjutnya adalah instalasi software Android
Studio yang sudah di donwload terlebih dahulu. Sebenarnya instalasi Software ini tidak
ada bedanya dengan software-software lainnya.
21 Modul Ajar Praktikum Telemetri
1. Cara dengan klik 2x atau Run As Adimistrator kemudian Next.
2. Pilih semua opsi yang ada.
3. Pilih lokasi dimana akan menyimpan file dari software ini. klik next dan akan muncul
dialog box, kemudian tekan install
22 Modul Ajar Praktikum Telemetri
4. Tunggu hingga proses ini selesai, jika sudah selesai maka tekan finish
5. Sampai disini proses installasi sudah hampir selesai, sekarang tinggal tunggu proses
download Android SDK
6. Proses ini membutuhkan banyak waktu, tergantung dari kecepatan internet yang
dipakai, proses ini akan berjalan 30 Menit hingga 1 Jam lebih.
23 Modul Ajar Praktikum Telemetri
7. Setelah proses Download android SDK selesai, maka sofrware Android Studio
sudah siap untuk digunakan.
8. Selesai
24 Modul Ajar Praktikum Telemetri
2.5. Tugas
1. Buatlah prosedur atau langkah-langkah instalasi Android Studio jika menggunakan
software Android Studio atau Eclipse jika menggunakan software Eclipse.
2. Buatlah aplikasi untuk menampilkan text nama kelompok dan anggota dengan XML
untuk ditampilkan pada Emulator.
25 Modul Ajar Praktikum Telemetri
MODUL 3
PENGEMBANGAN APLIKASI ANDROID TINGKAT MENENGAH
3.1. Kompetensi
Memahami komponen dan struktur proyek android.
Memahami pemrograman GUI aplikasi android.
Memahami komponen TextView, ImageView, dan Button pada aplikasi android.
3.2. Waktu Pelaksanaan Praktikum
Pelaksanaan kuliah minggu ke 3
3.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
3.4. Dasar Teori
Sebuah fitur utama Android adalah satu aplikasi yang dapat menggunakan
unsurunsur aplikasi lain. Misalnya, jika aplikasi anda perlu menampilkan scroll
gambar namun ada aplikasi lain yang telah mengembangkanya, maka anda
hanya perlu memanggil scroller tersebut untuk melakukan pekerjaan tanpa
harus mengembangkannya sendiri. Cara kerjanya, sistem harus mulai
melakukan proses aplikasi ketika ada bagian yang diperlukan untuk di
instansiasi object Java nya. Oleh karena itu tidak seperti sistem aplikasi lainnya,
Android tidak memiliki entry point tunggal untuk semua aplikasi (misalnya
Android tidak mempunyai fungsi main() method ). Namun sebaliknya Android
memiliki komponen penting dimana sistem dapat meng-instansiasi object dan
menjalankannya sesuai kebutuhan. Komponen -komponen tersebut yaitu :
26 Modul Ajar Praktikum Telemetri
a. Activities
Activity adalah sebuah layar tunggal dari user interface. Activity ini dapat
memegang hirarki view untuk memberikan fungsi-fungsi yang dibutuhkan
oleh user interface. Dalam sebuah aplikasi bisa terdapat satu atau lebih
Activity. Sebagai contoh sebuah aplikasi pesan teks mungkin memiliki satu
Activity yang menunjukkan daftar kontak untuk mengirim pesan, Activity
kedua untuk menulis pesan ke kontak yang dipilih, dan Activity lainnya
untuk memeriksa pesan lama atau pengaturan perubahan. Meskipun mereka
bekerja bersama untuk membentuk sebuah user interface yang kohesif,
namun setiap aktivity adalah independen atau berdiri sendiri. Jadi
masingmasing diimplementasikan sebagai subclass dari kelas dasar Activity.
Setiap Activity mempunyai window yang berisi screen. Konten visual
dari window disediakan oleh hierarki View. Sebuah Hierarki View berada
dalam method Activity setContextView(). Objectnya berasal dari kelas dasar
View. Android mempunyai sejumlah View yang sudah dapat digunakan
seperti Text field, Edit Text, Scrollbar, Menu, CheckBox, Button, RadioButton.
b. Activity Lifecycle
Gambar 1 menunjukkan siklus penting dari suatu Activity. Kotak persegi
panjang merupakan callback method yang di implementasikan untuk
melakukan operasi disaat Activity bergerak. Sedangkan Oval berwarna
adalah Activity utama. Sedangkan daftar activity method android yang utama seperti
ditujukkan pada tabel 1.
Tabel 1. Main activity method android
27 Modul Ajar Praktikum Telemetri
Gambar 1. Android Activity Lifecycle
c. Service
Service adalah kelas tanpa user interface (Activity adalah kelas dengan UI), sehingga
dapat dijalankan di background dalam thread yang terpisah. Contoh kerja service
adalah ketika anda sedang mendengarkan musik, kemudian anda ingin mengirim sms
atau email. Dalam kasus ini tentu saja anda bisa melakukan keduanya karena ketika
anda mengirim sms atau email, musik akan bekerja sebagai background.
d. Content Providers
28 Modul Ajar Praktikum Telemetri
Sebuah Content Provider atau penyedia konten menyimpan data yang dapat diakses
oleh aplikasi lain. Jadi disini bisa berbagi data dengan berbagai aplikasi yang disimpan
dalam paket android.provider. Jenis data yang disimpan adalah jenis data yang umum
seperti audio, video, informasi contact dll. Sebenarnya Content Provider juga
menyimpan data di user interface sebagai penyedia query dan pengembalian nilai data
seperti untuk menambah, mengubah dan menghapus data. Data ini dapat disimpan
dalam file atau database SQLite.
e. Event
Event adalah sesuatu yang terjadi dari luar, sesuatu yang tidak kita kontrol
dan sesuatu yang kita tidak tahu kapan akan terjadi. Untuk itu kita
menggunakan Events Controllers untuk setiap event yang bisa terjadi. Ada
beberapa macam Event Controller seperti Event Listener, Event Handler,
Touch Mode dan Handling focus Event Listener adalah sebuah objek yang
diberitahu pada saat suatu event terjadi pada event source. Event listener
diimplementasikan ke dalam bentuk method dalam suatu interface. Berikut
ini method method yang termasuk event listener user interface:
1. onCLick()
Method yang berasal dari View.onCLickListener. Method ini dipanggil ketika
user menyentuh item (jika dalam modus sentuh), fokus pada item dengan
tombol navigasi, menekan tombol ?enter? ataupun ketika menekan tombol
diatas trackball.
2. onLongClick ()
Method yang berasal dari View.OnLongClickListener. Untuk fungsi
pemanggilan methodnya sama dengan method onClik().
3. onFocusChange ()
Method dari View.OnFocusChangeListener. Method dipanggil apabila
pengguna menavigasi ke atau dari item dengan menggunakan tombol
navigasi atau trackball.
4. onKey ()
29 Modul Ajar Praktikum Telemetri
Berasal dari View.OnKeyListener. Method ini dipanggil saat user difokuskan
pada item dan menekan tombol pada device.
5. onTouch ()
Method dari View.OnTouchListener. Pemanggilan method ini ketika
pengguna melakukan suatu tindakan yang memenuhi syarat sebagai touch event,
termasuk menekan atau melakukan gerakan gerakan di layar (dalam
batas-batas item).
6. onCreateContextMenu ()
Method berasal dari View.OnCreateContextMenuListener. Method ini
dipanggil ketika menu konteks sedang dibangun (sebagai hasil dari klik
“long click”). Dibawah ini menunjukkan contoh bagaimana meregistrasikan
onclick listener disebuah button.
f. Event Handlers
Event adalah sebuah message yang dikirim oleh sebuah object untuk
menandai kejadian sebuah aksi. Handler adalah sebuah method yang akan
diisikan (atau diikatkan) pada event. Jadi event handler adalah suatu fungsi
atau method yang mengandung statement program untuk menangani input
yang diterima ke dalam event. Berikut ini merupakan method method
event handling :
• onKeyUp()
• onKeyDown()
• onTrackballEvent()
• onTouchEvent()
• onFocusChanged()
g. Resources
Resource adalah elemen external yang kita gunakan dalam aplikasi. Resource disimpan
dalam file xml yang berada dalam folder res. Resource tersedia dalam kode java
30 Modul Ajar Praktikum Telemetri
menggunakan R.java file. File R.java ini untuk menghubungkan sumber daya visual
(dari main.xml) ke kode sumber java (file java yang berada di Activity kelas).
3.5. Tugas
1. Buatlah program untuk membuat biodata kelompok anda disertai dengan
gambar/foto.
2. Analisa dan buat laporan praktikumnya.
Contoh Tampilan android
KELOMPOK 1
SIMBOL KELOMPOK
FOTO
MEDI
RINANTO
SYAMSIAR
DETAIL BIODATA
FOTO MEDI
DETAIL BIODATA MEDI
31 Modul Ajar Praktikum Telemetri
MODUL 4
KOMUNIKASI BLUETOOTH
6.1. Kompetensi
Memahami komponen dan struktur proyek android.
Memahami pemrograman GUI aplikasi android.
Memahami dasar pemrograman komunikasi data dengan menggunakan bluetooth
6.2. Waktu Pelaksanaan Praktikum
Pelaksanaan kuliah minggu ke-4 - 5
6.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor / Android Studio.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
Arduino
Led
Device android
6.4. Dasar Teori
Bluetooth adalah teknologi komunikasi wirelees (tanpa kabel) yang beroperasi pada 2,4
GHz, unlicense ISM (Indrustrial, Scientifik, dan Medical) dengan menggunakan
frequency hopping transleiver yang mampu menyediakan layanan komunikasi data dan
suara secara realtime antara perangkat bluetooth dengan jarak jangkauan yang terbatas
(±10M / 30 kaki), aplikasi-aplikasi yang disediakan layanan bluetooth.
Penggunaan Bluetooth
• PC to PC File Transfer.
• PC to PC File Synchonization.
• PC to PC Mobile Phone.
• Wirelees Headseat.
Pair adalah suatu prosedur untuk menyambungkan atau memasangkan (pair) dua buah
perangkat yang memiliki Bluetooth. Dengan melakukan Pair, berarti antara perangkat
32 Modul Ajar Praktikum Telemetri
A dan B sudah saling “mengenal” dalam arti perangkat tersebut sudah terdaftar di
sistem dan dinyatakan aman untuk melakukan transfer file.
Fungsi dari pair adalah untuk mengurangi resiko perangkat yang tidak dikenal
melakukan transfer file, misalnya mengirimkan virus atau konten yang tidak diinginkan
ke perangkat milik kita. Oleh karena itu, bila Anda melakukan transfer file tanpa
melakukan pair terlebih dahulu, cenderung sering gagal, karena sistem menolak transfer
file karena dinyatakan tidak aman.
6.5. Prosedur Percobaan.
Setting Bluetooth
Pada percobaan ini modul bluetooth yang digunakan adalah DF Robot V.03, sebelum
melakukan uji coba terlebih dahulu ada beberapa properti dari bluetooth yang harus
dilakukan pengaturan.
Gambar 1 Pin Bluetooth DF Robot
1. Cara masuk AT Mode
Bluetooth mempunyai dua saklar dengan fungsi sebagai berikut.
No 1 digunakan untuk mengetahui apakah bluetooth sudah dalam konsis
terhubung dengan device lain
No 2 digunakan untuk menentukan mode
o Dalam mode AT command
o Dalam mode Functional atau run
Jika tombol 2 pada posisi ON maka bluetooth akan dalam kondisi AT mode.
33 Modul Ajar Praktikum Telemetri
2. Hububungkan menggunakan modul USB to TTL atau sejenisnya untuk melakukan
setting.
3. Buka software serial terminal, pada percobaan ini menggunakan software CoolTerm.
Lakukan setting property sebagai berikut:
Set Serial Port
a. Port: the port number can be got from the Device Manager of the computer
b. Baudrate: 38400
c. Data Bits: 8
d. Parity : none
e. Stop Bits: 1
Set Terminal
f. Terminal Mode: Line Mode
g. Key Emulation: CR+LF
Gambar 2. Setting property
4. Berikut adalah kode AT Command yang dapat digunakan
Input: at
Return: OK
Input: at+name=DFRobot
Cek apakah sudah dalam kondisi AT Mode
Mengubah nama bluetooth
34 Modul Ajar Praktikum Telemetri
Return: OK
Input: at+name?
Return:+name: DFRobot OK
Input: at+role=0
Return: OK
Input: at+role?
Return: +role:0 OK
AT+PSWD?
+PSWD:1234 OK
AT+PSWD=otomasi
Return:OK
AT+ORGL (Restore the default setting:)
Return: OK
AT+UART=115200,0,0 Return: OK
Param1: baud rate (bits/s) 4800/ 9600/ 19200/ 38400/ 57600/ 115200/
230400/ 460800/ 912600/ 1382400
Param2: stop bit , 0- 1 bit/ 1- 2 bits
Param3: parity bit, 0- None/ 1- Odd/ 2- Even
AT+RESET
Return: OK
Gambar 3. Contoh penulisan AT Command
Mengetahui nama bluetooth
Mengubah kondisi master /
slave
Mengetahui kode password
Mengubah Kode Password
Mengubah ke mode default
Mengubah baudrate property
Reset semua setting
35 Modul Ajar Praktikum Telemetri
6.6. Tugas Praktikum
Buatlah aplikasi android Yang digunakan untuk menampilkan data potensio dan
Mengendalikan lamu LED dengan minimal mempunyai tampilan sebagai berikut:
Splash Screen List Paired Device
Search Device Tampilan Utama
36 Modul Ajar Praktikum Telemetri
Jika Dimungkinkan Aktivasi dapat dilakukan dengan menggunakan suara (voice activation)
menggunakan API google (OPSIONAL SAJA).
Voice Activation
37 Modul Ajar Praktikum Telemetri
MODUL 5
DATABASE SQLite
5.1. Kompetensi
Memahami komponen dan struktur proyek android.
Memahami pemrograman GUI aplikasi android.
Memahami dasar pemrograman database SQLite
5.2. Waktu Pelaksanaan Praktikum
Pelaksanaan perkuliahan minggu ke 6 – 7
5.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor / Android Studio.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
5.4. Dasar Teori
A. Mengenal SQLite Database Pada Aplikasi Android.
SQLite adalah database SQL opensource yang sudah built in pada device android. Setiap
aplikasi memiliki SQLite database sendiri, database ini dapat diakses oleh setiap class
pada aplikasi,tapi tidak bisa diakses oleh aplikasi lain. Database SQLite dibuat pada
aplikasi selalu disimpan dalam /data/data/<nama package>/folder database.
B. SQLiteOpenHelper
Untuk membuat dan meng-upgrade database pada aplikasi android gunakan subclass dari
class SQLiteOpenHelper. Pada class ini kamu perlu override method berikut ini untuk
membuat dan meng-upgrade database.
onCreate(), dipanggil ketika database dapat diakses namum belum dibuat.
onUpdate(), dipanggil ketika aplikasi diupgrade dan nomor versi telah berubah pada
kode aplikasi android. method ini memungkinkan untuk memperbarui(update) skema
database yang ada atau drop database yang ada dan menciptakan kembali melalui
method OnCreate ().
38 Modul Ajar Praktikum Telemetri
class SQLiteOpenHelper menyediakan beberapa method seperti getReadableDatabase () dan
getWritableDatabase (), untuk mendapatkan akses ke objek SQLiteDatabase. Berikut dua
pola desain database untuk membuat aplikasi Android yang baik dapat dilihat pada gambar 1
dan 2.
Gambar 1. Level 1 design Database SQLite
Gambar 2. Level 2 design Database SQLite
39 Modul Ajar Praktikum Telemetri
Tutorial.
Id Name Address Mark
1 Okta Surabaya 70
2 Dimas Sidoarjo 80
3 Rivan Situbondo 83
4 Samsul Ngajuk 90
5 Wisnu Surabaya 75
5.5. Tugas
Buatlah database nama siswa 1 kelas anda yang dapat di creat, edit, delete, dan insert. Serta semua
isi database dapat ditampilkan melalui listview.
40 Modul Ajar Praktikum Telemetri
MODUL 6
KOMUNIKASI DATA ONLINE FIREBASE
7.1. Kompetensi
Memahami komponen dan struktur proyek android.
Memahami pemrograman GUI aplikasi android.
Memahami dasar pemrograman komunikasi data dengan menggunakan internet
Pemahaman mengenai Firebase sebagai BaaS (Backend as a Service)
7.2. Waktu Pelaksanaan Praktikum
Pelaksanaan kuliah minggu ke-9
7.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor / Android Studio.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
Device android
7.4. Dasar Teori
Firebase adalah BaaS (Backend as a Service) yang saat ini dimiliki oleh Google.
Firebase ini merupakan solusi yang ditawarkan oleh Google untuk mempermudah
pekerjaan Mobile Apps Developer. Dengan adanya Firebase, apps developer bisa fokus
mengembangkan aplikasi tanpa harus memberikan effort yang besar untuk urusan
backend.Beberapa fitur yang dimiliki oleh Firebase adalah sebagai berikut :
1. Firebase Analytics.
2. Firebase Cloud Messaging dan Notifications.
3. Firebase Authentication.
4. Firebase Remote Config.
5. Firebase Real Time Database.
6. Firebase Crash Reporting.
Dua fitur yang menarik adalah Firebase Remote Config dan Firebase Real Time
Database. Secara sederhananya, Remote Config adalah fitur yang memungkinkan
developer mengganti atau mengubah beberapa konfigurasi aplikasi Android atau iOS
tanpa harus memberikan update aplikasi via Play Store atau App Store. Salah satu
konfigurasi yang bisa dimanipulasi adalah seperti warna / tema aplikasi.
Sedangkan Firebase Real Time Database adalah fitur yang memberikan sebuah NoSQL
database yang bisa diakses secara Real Time oleh pengguna aplikasi. Dan hebatnya
adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses internet,
kemudian melakukan sync data segera setelah mendapatkan akses internet.
41 Modul Ajar Praktikum Telemetri
1. Firebase Analytics
Sebenarnya Analytics dari Firebase tidak jauh berbeda dengan Analytics yang
digunakan oleh Google Analytics. Hanya saja Firebase menyediakan dashboard yang
dirasa lebih sederhana dibandingkan dashboard yang digunakan oleh Google Analytics.
Firebase menawarkan fitur Analytics untuk keperluan koleksi data dan reporting untuk
aplikasi Android / iOS. Koleksi data yang bisa digunakan pun bervariasi. Beberapa
contohnya adalah kita bisa membuat report untuk pengguna aplikasi di negara
Indonesia saja, atau negara Jepang saja, dan lain sebagainya.
Selain itu kita bisa melihat fungsi / bagian mana dari aplikasi kita yang paling sering
digunakan oleh user. Salah satu hal yang paling menarik dari Analytics ini adalah kita
bisa membuat segmentasi user berdasarkan ‘user attribute’. User attribute ini adalah
parameter yang bisa kita gunakan sebagai filter untuk reporting dan notifikasi. Contoh
sederhananya diibaratkan untuk aplikasi online shop. Dengan ‘user attribute’, kita bisa
mencari tahu berapa jumlah user yang membeli handphone dengan merk ‘A’, atau
berapa jumlah user yang membeli sepeda. Atau kita bahkan bisa mencari tahu pada jam
berapa paling banyak terjadi transaksi yang dilakukan user.
Dengan data-data ini kita juga bisa memberikan notifikasi kepada segmentasi user yang
kita inginkan, contohnya kita hanya ingin mengirimkan notifikasi untuk user yang telah
membeli handphone dengan merk ‘A’. Selain itu masih ada banyak fitur-fitur dari
Analytics yang ditawarkan oleh Firebase.
42 Modul Ajar Praktikum Telemetri
2. Firebase Cloud Messaging dan Notifications.
Firebase Cloud Messaging / FCM, adalah layanan yang diberikan oleh Firebase untuk
menggantikan Google Cloud Messaging (GCM). Pihak Google menyarankan untuk
aplikasi yang masih menggunakan GCM untuk segera migrasi ke FCM. Fitur-fitur yang
diberikan oleh GCM sebenarnya tidak terlalu jauh berbeda dengan FCM. Dengan FCM
kita bisa memberikan push notification dan membuat komunikasi dua arah antara
device. Teknologi yang digunakan terbagi menjadi dua :
XMPP (Extensible Messaging and Presence Protocol)
HTTP (Hypertext Transfer Protocol).
Untuk XMPP kita harus membangun server XMPP terlebih dahulu, sedangkan untuk
HTTP kita bisa menggunakan console yang disediakan oleh Firebase. Kita juga bisa
mengatur push notification yang ingin kita kirim, contohnya kita hanya ingin
mengirimkan notifikasi kepada segmentasi user / audience yang membeli handphone
dengan merk ‘A’. Atau kita ingin mengirimkan notifikasi hanya kepada user yang
menggunakan aplikasi dengan versi 1.0. Selain itu ada juga fitur untuk mengirimkan
notifikasi berdasarkan ‘topic’. Fitur ini mirip dengan ‘user attribute’, tetapi dengan
‘topic’, user bisa melakukan kegiatan ‘subscribe’ dan ‘unsubscribe’.
3. Firebase Authentication
43 Modul Ajar Praktikum Telemetri
Firebase authentication adalah layanan yang diberikan oleh Firebase untuk fungsi user
membership. Fitur-fitur yang diberikan adalah register / login dengan beberapa metode:
1. Alamat email dan password.
2. Akun Google.
3. Akun Facebook.
4. Akun Twitter.
5. Akun GitHub.
6. Akun Anonymous.
Fitur yang menarik adalah fitur login dengan akun anonymous. Contohnya adalah user
bisa melakukan login secara sementara ketika melihat-lihat barang di aplikasi online
shop kita. Nah ketika user ingin melakukan pembelian, maka user tersebut diharuskan
untuk login dengan salah satu metode yang didukung Firebase (email-password,
Google, Facebook, Twitter, GitHub). Setelah user tersebut login, kita bisa
mengumpulkan data-data yang dilihat oleh user tersebut ketika masih menggunakan
akun anonymous, kemudian menggabungkannya dengan user yang sekarang telah login
dengan salah satu metode login yang dipilih.
Salah satu tujuan penggunaan akun anonymous adalah supaya kita tidak perlu memaksa
user untuk login, sebelum user tersebut ingin melakukan transaksi.
4. Firebase Remote Config.
Remote Config adalah fitur yang memungkinkan kita untuk melakukan perubahan
konfigurasi di dalam aplikasi Android / iOS, tanpa harus melakukan update aplikasi di
Play Store / App Store. Salah satu contohnya adalah ketika hari Natal, kita bisa
mengganti tema aplikasi dengan warna merah-putih. Atau ketika hari tahun baru, kita
bisa mengganti tema aplikasi dengan warna hijau-silver, dan lain sebagainya.
Cara kerja dari Remote Config adalah aplikasi menyimpan terlebih dahulu file XML
yang berisi parameter-parameter yang nilainya akan bisa diganti melalui console
Firebase. Kemudian objek firebase di dalam aplikasi akan melakukan request data dari
server, kemudian me’load data-data tersebut. Secara default, objek firebase di dalam
44 Modul Ajar Praktikum Telemetri
aplikasi akan melakukan request 12 jam / 1x, tetapi kita bisa mengubahnya bila kita
inginkan. Salah satu catatan dari Google adalah kita tidak boleh menggunakan Remote
Config untuk melakukan perubahan yang krusial, seperti mengubah permission yang
dibutuhkan oleh aplikasi.
5. Firebase Real Time Database.
Real Time Database adalah sebuah NoSQL database yang disediakan oleh Firebase.
NoSQL database adalah database yang tidak menggunakan sistem relasi layaknya pada
database tradisional (MySQL dll.). Metode penyimpanan data di dalam NoSQL
menggunakan objek yang menggunakan format JSON (JavaScript Object Notation).
Firebase memungkinkan kita untuk menggunakan NoSQL database yang di’share
kepada semua user, dan ketika terjadi perubahan data pada database tersebut, user akan
segera mendapatkan update data secara real time. Tetapi bukan berarti database ini
tidak mempunyai unsur keamanan, karena kita bisa mengatur hak akses yang berbeda
untuk setiap user.
Salah satu fitur yang menarik adalah aplikasi bisa menyimpan data secara lokal ketika
tidak ada koneksi internet, kemudian melakukan sync data segera setelah mendapatkan
kembali koneksi internet. Real Time database ini sepertinya cocok untuk aplikasi
instant messaging.
6. Firebase Crash Reporting
45 Modul Ajar Praktikum Telemetri
Crash Reporting adalah layanan yang diberikan oleh Firebase untuk keperluan
merekam setiap exception yang terjadi pada aplikasi. Report yang diberikan cukup
detail dengan beberapa filter seperti yang digunakan pada Analytics. Crash reporting ini
juga dibagi menjadi dua bagian :
Non Fatal exception, untuk exception yang tidak berdampak fatal (kita bisa
membuat custom exception).
Fatal exception, untuk exception yang fatal (aplikasi crash).
7.5. Prosedur Percobaan.
1. Buat akun gmail baru atau menggunakan akun gmail yang sudah ada
2. Masuk ke situs firebase dan buat akun firebase anda di https://firebase.google.com
3. Tekan start dan segera membuat database
4. Buat database sesuai dengan keperluan.
46 Modul Ajar Praktikum Telemetri
5. Ubah Aturan read dan write menjadi true kemudian update
6. Setelah selesai pada sisi accaount firebase, tahap selanjutnya adalah masuk ke
program android, terdapat beberapa konfigurasi yang harus dilakukan.
7. Buatlah proyek baru kemudian tambahkan internet permission pada android
manifest
<uses-permission android:name="android.permission.INTERNET" />
8. Pada build.gradle file tambahkan library firebase berikut ini.
compile 'com.firebase:firebase-client-android:2.5.2+'
9. Tambahkan kode berikut pada gradle setelah buildTypes seperti dibawah ini
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-
android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
}
10. Kemudian lakukan sinkronisasi proyek anda.
11. Pada pemrograman java deklarisan firebase library dengan menggunakan kode
berikut.
import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
47 Modul Ajar Praktikum Telemetri
import com.firebase.client.FirebaseError;
import com.firebase.client.ValueEventListener;
12. Pada onCreate
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_control);
Firebase.setAndroidContext(this);
}
13. Untuk memanggil data yang ada di firebase dengan menggunakan instruksi
berikut:
alamat_firebase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
data= Integer.valueOf(dataSnapshot.getValue().toString());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
14. Untuk menyimpan atau mengganti value yang ada di database
btn_solenoid.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alamat_firebase.setValue("0");
}
});
15. Untuk sisi web pada dasarnya sama seperti pada android karena menggunakan java
script yang hampir mirip dengan java pada umumnya.
16. Tahap pertama tambahkan script deklarasi berikut
17. Deklarasikan alamat url dari databse firebase
18. Untuk dapat memanggil value yang ada di database dengan cara:
19. Untuk dapat menulis data di database dengan cara:
48 Modul Ajar Praktikum Telemetri
7.6. Tugas Praktikum
1. Buatlah rancangan plan industri yang akan dijadikan proyek akhir mata kuliah telemetri
(Sesuai Format).
2. Buatlah aplikasi android dan web yang digunakan untuk mengendalikan plan yang akan
kalian gunakan dalam tugas akhir mata kuliah Telemetri. Berikut adalah contoh tampilan
untuk monitoring level air
WEB ANDROID
WATER TREATMENT
Gambar desain plan dari water treatment
1
9
8
13
3
14
10 7
6
2 3
4 5
12 11
15
16 17
Keterangan:
1. Tabel data I/O dari sensor, intput, dan output
No Keterangan Jenis Address
1 Water flow Counter PIN 2
2 Saklar pompa 1 Input PIN 3
3 Saklar pompa 2 Input PIN 4
4 Indikator Tangki 1 ADC ADC 0
5 Indikator Tangki 2 ADC ADC 1
6 Pompa 1 Output PIN 5
7 Pompa 2 Output PIN 6
8 Setting Heater 1 Memory EEPROM 0
9 Setting Heater 2 Memory EEPROM 1
10 Valve 4 Output PIN 7
11 Saklar Valve 2 Input PIN 8
12 Saklar Valve 3 Input PIN 9
13 Valve 2 Output PIN 10
14 Valve 3 Output PIN 11
15 Valve 1 Output PIN 12
16 Indikator Heater 1 ADC ADC 2
17
18
2. Proses kerja dari sistem
Proses diawali dengan pengisian tangki 1 dan tangki 2 dengan menghidupkan valve
1 serta pompa 1 atau pompa 2
Tangki yang akan diisi disesuaikan dengan valve yang diaktifkan yaitu valve 2 / valve
3
Kecepatan putaran pompa akan semakin berkurang ketika masing-masing tangki
semakin penuh, pompa 1 akan melambat jika tangki 1 semakin penuh begitu juga
untuk pompa 2.
Ketika nilai ketinggian tandon 100 M maka pompa 1,pompa 2, dan valve akan mati,
kemudian menghidupkan secara otomatis heater pemanas untuk membunuh
kuman.
Setting temperature pemanas dapat dilakukan melalui interface.
Ketika indikator suhu mencapai setting maksimal maka akan secara otomatis
menghidupkan timer untuk menambahkan lama pemanasan.
Ketika waktu pemanasan selesai maka heater mati dan valve 1,2 dan 4 akan terbuka
sehingga air akan di alirkan keluar dari tanki.
Proses akan di ulang secara terus menerus hingga tombol valve input air di matikan
1 Modul Ajar Praktikum Telemetri
MODUL 7
KOMUNIKASI DATA ONLINE NODE.JS
8.1. Kompetensi
Memahami komponen dan struktur proyek android.
Memahami pemrograman GUI aplikasi android.
Memahami dasar pemrograman komunikasi data dengan menggunakan internet
Pemahaman mengenai Node.js
Dapat mengimplementasikan kontrol dan monitoring hardware jarak jauh dengan
android.
8.2. Waktu Pelaksanaan Praktikum
Pelaksanaan kuliah minggu ke- 10
8.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor / Android Studio.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
Arduino
Led
Device android
Node JS
8.4. Dasar Teori
Node.js adalah platform perangkat lunak pada sisi-server dan aplikasi jaringan. Ditulis
dengan bahasa JavaScript dan dijalankan pada Windows, Mac OS X, dan Linux tanpa
perubahan kode program. Node.js memiliki pustaka server HTTP sendiri sehingga
memungkinkan untuk menjalankan server web tanpa menggunakan program server web
seperti Apache atau Lighttpd. Berikut kelebihan-kelebihan dari server node.js:
dengan bahasa JavaScript, ia mempermudah pembelajaran sisi-belakang jika memang
sudah menguasai JavaScript. pemula bahkan lebih cepat menguasainya karena dari sisi-
klien juga menggunakan bahasa Javascript
adanya pertukaran kode antara klien dan server, yaitu server-side rendering pada
kerangka JavaScript
adanya fasilitas untuk membuat aplikasi waktu nyata (realtime application)
bersumber terbuka, sehingga pengguna mengetahui bagaimana proses aplikasi berjalan,
mengubahnya, dan gratis dipakai
mendukung penyimpanan sementara (cache)
2 Modul Ajar Praktikum Telemetri
8.5. Prosedur Percobaan.
1. Download dan install node.js. software dapat anda dapatkan melalui website resminya secara
gratis di: https://nodejs.org/en/
2. Buka command prompt anda dan masuklah ke folder dimana anda akan meletakkan file program
node.js, program node js mempunyai extention file .js
3. Pada percobaan ini saya telah membuat folder dengan nama “node.js” yang terletak di direktori:
C:\node.js
4. Pada command promp kita akan menginstal API untuk serial port dan firebase dengan cara:
5. Tunggu hingga instalasi selesai
6. Tahap selanjutnya install firebase dengan cara
7. Tunggu hingga selesai, jika sudah maka dalam folder “nodejs” akan terdapat direktori baru
“node module” seperti pada gambar
8. Node js dapat dijalankan
Masuk Ke drive C
Masuk Ke folder node.js
Install API Serialport
3 Modul Ajar Praktikum Telemetri
8.6. Tugas Praktikum
Buatlah program untuk mengendalikan LED jarak jauh dengan menggunakan Web dan android
yang tersinkronisasi.
4 Modul Ajar Praktikum Telemetri
MODUL 8
TUGAS AKHIR MATA KULIAH
8.1. Kompetensi
Dapat mengimplementasikan materi yang telah didapatkan dari module 1 sampai 7.
Dapat melakukan kontrol dan monitoring hardware jarak jauh dengan android.
8.2. Waktu Pelaksanaan Praktikum
Pelaksanaan kuliah minggu ke 11 - 14
8.3. Peralatan Yang Diperlukan
Komputer (PC/Notebook)
Java Runtime Environment (JRE)
Java ECLIPSE editor / Android Studio.
Android Development Tools (ADT) plugin for eclipse
Android SDK for Windows (Emulator)
Hardware yang dibutuhkan sesuai dengan proyek
Device android
Node JS
8.4. Dasar Teori
Proyek akhir matakuliah praktikum telemetri adalah membuat plan yang dapat dikendalikan
dan dimonitoring jarak jauh secara realtime dengan menggunakan android dan web.
8.5. Prosedur Percobaan.
1. Buatlah logbook progress dari pengerjaan plan yang telah dikerjakan.
2. Format logbook sudah ditentukan sesuai dengan contoh pada modul ini
8.6. Tugas Praktikum
Selesaikan plan industri yang sudah anda rencanakan sebelumnya. Contoh format terlampir.
5 Modul Ajar Praktikum Telemetri
FORM KEMAJUAN PROYEK AKHIR
NAMA KELOMPOK :
ANGGOTA KELOMPOK :
1.
2.
3.
4.
TOPIK PROYEK :
TANGGAL :
Nama Aggota Progres Foto