BAB II LANDASAN TEORI
2.1
OS Android.
Android adalah system operasi berbasis Linux yang dipergunakan sebagai pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan juga PC tablet. Android adalah platform yang terbuka (Open Source) bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai piranti bergerak.
Penemu Android adalah Andy Rubin yang lahir pada tanggal 22 Juni 1946 di New Bedford, Amerika Serikat. Andy Rubin bersama-sama dengan Rich Miner, Nick Sears, dan Chris White mendirikan Android dan pada juli 2005 dibeli oleh Google.
Aplikasi Android merupakan aplikasi mobile yang dapat digunakan sebagai pengendali robot dengan menggunakan teknologi berbasis wireless (Bluetooth) dengan bahasa pemograman Java. Di Android, sebuah aplikasi terdiri dari empat bagian, yaitu :
a. Activity. Activity yang terdapat pada Android berupa file class yang berupa perpanjangan (extends) dari class Activity. Class akan menampilkan antarmuka yang terdiri dari Views.
b. Intent Receiver. Class Intent digunakan untuk melakukan aksi, misalnya berpindah dari layar satu ke layar yang lain. Class intent tidak bisa berdiri sendiri maka memerlukan intent filter dan intent receiver. Intent receiver bertugas menerima semua activity
5
6
yang diberikan, dari intent filter akan dipilih aksi mana yang akan dijalankan.
Gambar 2.1. Intent di antara Activity (Hernita P : 2013, 16)
c. Service. Adalah aplikasi android yang berjalan tanpa antarmuka User Interface (UI) dan posisinya hanya berada di balik layar.
d. Content Provider. Adalah class yang berisi method untuk mengambil atau menyimpan data ketika menyimpan data di Android.
Gambar 2.2. Content Provider (Hernita P : 2013, 23).
7
2.1.1
Kelebihan Android.
Pada Android terdapat beberapa kelebihan yaitu : 1. System
Operasi
Bersifat
open
source,
jadi
sangat
memungkinkan penggunanya untuk membuat software sendiri. 2. Banyak aplikasi baik software maupun game yang bisa kita nikmati mulai dari yang berbayar sampai yang gratis. 3. Dari segi design dan tampilan sangat menarik sehingga penggunanya tidak mudah bosan. 4. Bersifat multitasking dan mudah digunakan oleh User. 5. Android semakin berkembang dari waktu ke waktu. 6. Dukungan Google, menggunakan Android karena sangat support terhadap layanan google. 7. Custom ROM (Read Only Memory), banyak aplikasi custom ROM untuk Android selain sangat menyenangkan karena dapat dengan bebas memodifikasi interface penggunaannya aplikasi aman untuk perangkat.
2.1.2
Kekurangan Android.
Terdapat beberapa kekurangan yang dimilik oleh Andorid, yaitu :
1. Pengoperasian pada Android akan terasa sulit jika User baru mempelajari Android. 2. Penggunaan baterai pada handphone berbasis Android yang cepat habis, dikarenakan multitasking adalah alasannya yang sangat boros dalam penggunaan baterai. 3. Play store kurang terkontrol, aplikasi untuk Android dapat diunggah secara mudah pada playstore namun tidak menutup kemungkinan aplikasi-aplikasi malware menyusup menyerupai aplikasi.
8
2.1.3
Perkembangan OS Android .
Perkembangan Android dari tahun 2009 -2013 adalah : 1. Android Beta, pertama kali dirilis pada 5 November 2007. 2. Android 1.0 (Astro), pertama kali dirilis pada 23 September 2008. 3. Android versi 1.1 (Bender), pertama kali dirilis pada 09 Februari 2009. 4. Android versi 1,5 (Cupcake), pertama kali dirilis pada 30 April 2009. 5. Android Versi 1,6 (Donut), pertama kali dirilis pada 15 September 2009. 6. Android Versi 2.0/2.1 (Éclair), pertama kali dirilis pada 09 Desember 2009. 7. Android Versi 2.2 (Froyo : Frozen Yoghurt), pertama kali dirilis pada 20 Mei 2010. 8. Android Versi 2.3 (Gingerbread), pertama kali dirilis pada 06 Desember 2010. 9. Android Versi 3.0/3.1 (Honeycomb), pertama kali dirilis pada 22 Februari 2011. 10. Android Versi 4.0 (ICS : Ice Cream Sandwich), pertama kali dirilis pada 19 Oktober 2011. 11. Android Versi 4.1 (Jelly Bean). 12. Android versi 4.2 (Jelly Bean). 13. Android versi 4.4 (KitKat).
2.2
Java.
Java diciptakan oleh suatu tim yang dipimpin oleh Patrick Naughton dan James Gosling dalam suatu proyek dari Sun Microsystem yang memiliki kode green dengan tujuan untuk menghasilkan bahasa computer sederhana yang dapat dijalankan di peralatan sederhana dan
9
tidak terikat pada arsitektur tertentu, maka SUN mengubahnya menjadi Java. Sun merilis versi awal Java pada tahun 1996 yang kemudian terus berkembang hingga muncul JDK 1.1 kemudian JDK 1.2, yang mulai disebut sebagai versi Java2 karena banyak mengandung peningkatan dan perbaikan. Perubahan utama adalah dengan adanya Swing yang merupakan teknologi GUI (Graphical User Interface) yang mampu menghasilkan Windows yang portable. Pada tahun 1998 – 199 teknologi J2EE (Java 2 Enterprize Edition), yang berbasis J2SE (Java 2 Standart Edition) yang diawali dengan Servlet dan EJB kemudian diikuti JSP (Java Server Page). Java menjadi lebih cepat popular di lingkungan Server Side dikarenakan kelebihannya di lingkungan Network dan terdistribusi serta kemampuan multithreading. Sedangkan J2ME (Java 2 Micro Edition) dapat menghasilkan aplikasi Mobile atau handphone baik games maupun software yang dapat dijalankan di peralatan handphone seperti Symbian dan Java. Java merupakan bahasa pemograman serbaguna yang dapat digunakan untuk membuat suatu program seperti C++ dan bahasa Pascal. Bahasa pemograman Java juga dapat dijalankan di Web dan juga mendukung aplikasi klien/server baik dalam jaringan Local Area Network (LAN) maupun jaringan berskala luas Wide Area Network (WAN).
Java memiliki 2 (Dua) bagian utama, yaitu :
Java Virtual Machine (JVM).
Java Application Programming Interface (Java API).
2.2.1
Fitur – fitur Java yang menarik.
1. Applet. Program Java yang dapat berjalan pada browser, yang dapat membuat HTML lebih interaktif. 2. Java Networking.
10
Sekumpulan API berfungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL tetapi Java Networking tidak menyediakan akses untuk ICMP. 3. Java Database Connectivity (JDBC). Sekumpulan API (Application Programming Interface) yang dapat digunakan untuk mengakses database seperti Oracle, MySQL. 4. Java Security. Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level atau Low Level, seperti public/private key management. 5. Java Swing. Menyediakan sekumpulan API untuk membangun aplikasi GUI dan model GUI yang diinginkan. 6. Java RMI. Menyediakan sekumpulan API untuk membangun aplikasi Java mirip dengan model RPC (Remote Procedure Call) jadi objekobjek Java bisa di call secara remote di jaringan computer. 7. Java 2D/3D. Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D. 8. Java Server Pages (JSP). Berkembang dari Java
Servlet
yang digunakan untuk
menggantikan aplikasi-aplikasi CGI. JSP yang mirip ASP dan PHP. 9. JNI (Java Native Interface). Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic. 10. Java Sound. Menyediakan kumpulan API untuk manipulasi Sound.
11
11. Java IDl + COBRA. Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking. 12. Java Card. Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone. 13. JTAPI (Java Telephony API). Sekumpulan telephony,
API sehingga
untuk
memanfaatkan
devices-devices
cocok untuk aplikasi-aplikasi CTI
(Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya. 14. Aplikasi Java. Pemograman jaringan, pembuatan aplikasi berbasis windows dan program untuk membuat WEB.
2.2.2
Kelebihan Java.
1. Multiplatform. 2. Java dirancang dengan konsep keamanan jaringan. 3. Berorientasi Objek (OOP). 4. Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan. 5. Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll. 6. Terinterpretasi
dan
berkinerja
tinggi,
java
melengkapi
keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang
12
dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine. 7. Mendukung koneksi ke database. 8. Mudah dipelajari karena bersifat sederhana.
2.2.3
Kekurangan Java.
1. Penggunaan memori yang cukup banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java. 2. Program yang dibuat oleh bahasa ini lebih lambat di banding program yang dibuat dengan bahasa lain seperti C atau C++.
2.2.4
Javascript.
Beberapa contoh penggunaan untuk javascript adalah : package com.android.robowifi; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; import com.android.robowifi.R; import android.app.Activity; import android.app.Service; import android.content.Context; import android.os.Bundle; import android.os.Vibrator; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View;
13
import android.view.View.OnClickListener; importandroid.widget.*;
public class main_androidrobot extends Activity implements OnClickListener, AccelerometerListener { /** Called when the activity is first created. */ //android.os.IVibratorServicemyVibrate=null;
2.3
Bluetooth.
Bluetooth
merupakan Sebuah teknologi wireless yang mampu
menyediakan layanan komunikasi data dan salah satu media pengganti kabel dan infrared link yang menghubungkan device satu dengan yang lainnya menggunakan hubungan radio jarak dekat. Bluetooth beroperasi pada ISM Band (Industrial, Scientific, and Medical) pada 2,4GHZ dan didesain ringan serta mudah dibawa. Nama Bluetooth berasal dari nama raja Denmark, Harlad Bluetooth. Tujuan dari perancangan Bluetooth adalah sebagai teknologi yang murah, handal, berdaya rendah, dan efisien.
Gambar 2.3.Icon Bluetooth
Kelebihan pada Bluetooth adalah tidak menggunakan kabel, sinyal dapat menembus dinding/tembok, biaya relative murah, berdaya rendah, dan hardware yang relatif kecil. Namun Bluetooth juga mempunyai kekurangan yang kemungkinan terjadinya interferensi dengan teknologi lain yang menggunakan ISM Band, kecepatan data relatif rendah dan sinyal yang lemah di luar batasan.
14
Keamanan utama teknolgi Bluetooth adalah pada proses pairing, yakni proses melakukan koneksi antara dua atau lebih perangkat Bluetooth untuk dapat saling berkomunikasi antara satu dengan yang lain, dan masing-masing perangkat harus memasukan koden PIN yang sama. Spesifikasi utama teknologi Bluetooth menggunakan Algoritma PIN yang dienkripsi dalam melakukan pairing.
2.4
Robot.
Robot merupakan sebuah alat mekanik yang dapat melakukan tugas dalam pengawasan, kendali dan control manusia melalui program yang telah didefinisikan terlebih dahulu. Robot Mobil atau Mobile Robot adalah kontruksi robot yang cirri khasnya adalah mempunyai actuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain. Untuk dapat membuat sebuah Robot Mobile minimal diperlukan pengetahuan tentang mikrokontroler dan sensor-sensor elektronik.
2.5
Mikrokontroler.
Pada
suatu
robot sudah di pastikan terdapat komponen
mikrokontroler yang berisi algoritma program untuk memberika logika pendeteksian beruba pergerakan dari robot tersebut. Mikrokontroler digunakan sebagai penyedia antara server dengan berbagai komponen baik berupa kontrol penggerak roda ataupun pembacaan data dari sensor yang digunakan sebagai kendali dari robot.
2.6
XML (eXtensible Markup Language).
XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada
15
sebelumnya. XML hampir sama dengan HTML, dimana keduanya samasama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari W3C (World Wide Web Consortium) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML
dan
dengan
berpedoman
pada
pengembangan
HTML
menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML(E. Simpson, 2002). Keuntungan dari pendeklarasian antarmuka di XML adalah terpisahnya presentasi dari kode yang mengatur. Sehingga deskripsi User Interface (UI) akan terpisah dengan kode aplikasinya, artinya dapat di modifikasi tampilannya tanpa harus memodifikasi source code dan mengompilasi ulang. Contoh syntax pada XML yaitu :
<manifest mlns:android="http://schemas.android.com/apk/res/android" package="bluetoothSteeringWheel.karelbruneel.com" android:versionCode="1" android:versionName="1.0">
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
16
2.7
SDLC ( System Development Life Cycle).
SDLC (system development Life Cycle) pada model waterfall. Secara umum dalam pembangunan perangkat lunak pada model waterfall terdapat tahapan-tahapan sebagai berikut:
Gambar 2.4. Model Waterfall (Pressman, Roger.S : 1997, 29)
Keterangan :
a. Analisa kebutuhan : Tahap awal ini dilakukan pengumpulan semua kebutuhan penggunaan yang berkaitan dengan perangkat lunak yang akan dibangun. Menganalisa kebutuhan yang diperlukan untuk membangun aplikasi pengendalian robot dengan bluetooth berbasis Android. b. Desain : Tahapan ini programmer menterjemahkan pengguna menjadi desain teknis yang siap diimplementasikan. Programmer merancang desain antar muka aplikasi pengendalian robot dengan bluetooth berbasis Android.
17
c. Pembuatan Kode : Pada tahap ini programmer bekerja berdasarkan desain yang telah dibuat pada tahap sebelumnya dan menterjemahkan kedalam bahasa pemograman Java dan XML untuk Android. d. Pengujian terhadap program dilakukan setelah sebuah aplikasi selesai dibuat. e. Dokumentasi dan penyusunan laporan dibuat untuk memenuhi kebutuhan tugas akhir.
2.8
UML (Unified Modelling Language)
2.8.1. Pengenalan UML (Unified Modelling Language).
UML (Unified Modelling Language) merupakan pengganti dari metode analisis berorientasi objek dan design berorientasi objek (OOA&D) yang muncul pada awal tahun 80-an dan awal tahun 90-an. UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas dari OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) yang akan berfungsi menjadi bahasa standar pemodelan pada masa yang akan datang. UML
disebut
sebagai
bahasa
pemodelan
bukan
metode.
Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu komunikasi antara robot dengan pengendali yang dilakukan pada Android. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem software. UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga secara langsung dihubungkan ke berbagai bahasa
18
pemograman seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung kedalam sebuah object-oriented database. UML meliputi simbol-simbol dan suatu tata bahasa yang menjelaskan bagaimana simbol-simbol tersebut dapat digunakan. UML merupakan bahasa pemodelan yang universal dimana digunakan sebagai sarana komnikasi dalam perancangan suatu software. UML terbagi menjadi beberapa jenis diagram yang masing-masing memiliki aturan tertentu dalam penyusunannya. Diagram-diagram tersebut tersusun atas sejumlah elemen grafis yang saling membentuk satu kesatuan dalam pemodelan software. Masing-masing diagram UML mempersatukan berbagai sudut pandang terhadap sistem dan mendefinisikan apa yang dikerjakan oleh sistem bukan bagaimana cara sistem bekerja. Untuk dapat memahami UML membutuhkna konsep dari sebuah bahasa model, Elemen utama dari UML seperti building block, yaitu aturan-aturan yang menyatakan bagaimana building block diletakan secara bersamaan, dan beberapa mekanisme umum(Common). Pada building block terdapat kategori benda (Things), Hubungan, dan Diagram. Benda (Things) adalah abstraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari benda-benda, dan Diagram sebagai kumpulan / group dari benda-benda (Things).
a.
Benda (Things).
Benda (Things) adalah hal yang mendasar dari UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari konsep atau fisik. Bentuk dari beberapa Benda (Things) adalah sebagai berikut : Pertama, adalah sebuah kelas yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplemnetasikan 1 (satu) atau lebih interfaces yang mempunyai sebuah nama, atribute, dan metode pengoperasiannya. Dapat digambarkan sebagai berikut :
19
Gambar 2.5. Sebuah kelas dari model UML
Kedua, yang menggambarkan ‘Interface’ merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas atau sebuah elemen. ‘Interface’ antar-muka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen, seperti gambar :
Gambar 2.6. Sebuah Interface / antar-muka
Ketiga, adalah collaboration yang didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas / elemen-elemen yang bekerja secara bersama-sama. Collaborations mempunyai struktura dan dimensi. Pemberian sebuah kelas memungkinkan didalam beberapa Collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
20
Gambar 2.7. Collaborations
Keempat, sebuah Use Case adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh aktor (User pengendali). Use Case digunakan untuk membentuk tingkah laku benda (Things) dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya Use Case digambarkan dengan sebuah ‘elips’ dengan garis yang solid, biasanya mengandung nama, seperti pada gambar :
Gambar 2.8. Use Case Kelima, sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalah sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Dapat digambarkan seperti :
Gambar 2.9. Nodes
21
b. Hubungan (Relationship)
Ada 4 (Empat) macam hubungan didalam penggunaan UML, yaitu : Dependency, association, generalization, dan realization. Pertama, sebuah dependency adalah hubungan semantik antara dua benda (things) yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus seperti terlihat dalam gambar.
Gambar 2.10. Dependency
Kedua, sebuah association adalah hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama, dan status hubungannya seperti terlihat dalam gambar.
Gambar 2.11. Association
Ketiga, sebuah generalization adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah seperti terlihat dalam gambar 8.
Gambar 2.12. Generalization
22
Keempat, sebuah realization merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari sebuah hubungan realization seperti terlihat dalam gambar.
Gambar 2.13. Realization
c.
Diagram.
UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu; use-case, class, object, state, sequence, collaboration, activity, component, dan deployment diagram. Diagram pertama adalah use case menggambarkan sekelompok use case dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan / requirement yang diinginkan / dikehendaki user / pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem.
2.8.2. Class Diagram.
Pada pembuatan aplikasi pengendalian robot dengan bluetooth berbasis
Android
memerlukan
class
diagram.
Class
merupakan
pembentukan utama dari sistem berorientasi objek, karena class menunjukkan kumpulan objek yang memiliki atribut dan operasi yang sama. Class digunakan untuk mengabstrakkan elemen-elemen dari sistem yang sedang dibangun. Class bisa mempresentasikan baik perangkat lunak maupun perangkat keras, baik konsep maupun benda nyata.
23
Untuk memodelkan class, termasuk atribut, operasi, dan hubungan dan asosiasi dengan kelas lain. UML menyediakan class diagrams. Class diagrams menyediakan tampilan statis atau struktural dari sistem dan tidak menunjukkan sifat dinamis dari komunikasi antara object dari class dalam diagram. Pada class diagrams juga terdapat hubungan yang sangat erat dimana suatu class akan sangat tergantung terhadap class lainnya, dimana apabila objek suatu class tersebut tidak ada, maka objek dari class yang bergantung penuh terhadap class tersebut menjadi tidak ada juga keberadaannya. Pada pembuatan aplikasi pengendalian robot dengan blueetooth berbasis Android terdapat perangkat keras dan perangkat lunak yang dapat digambarkan sebagai berikut :
Gambar 2.14. Subsistem Android
2.8.3. Use Case
Menurut Whitten dan Bentley (2007), Use Case diagram menggambarkan interaksi antara sistem dan sistem eksternal, serta user. Dengan kata lain, Use Case diagram menggambarkan siapa yang akan menggunakan sistem dan dengan jalan apa yang diinginkan user untuk berinteraksi dengan sistem. Selain itu, Use Case digunakan untuk secara tekstual menggambarkan urutan langkah setiap interaksi tersebut.
24
Pada aplikasi pengendalian robot dengan bluetooth berbasis Android mempunyai kemampuan untuk mengontrol sebuah robot beroda secara manual dan otomatis.
Gambar 2.15. Use Case Sistem Diagram
Deskripsi pada gambar dapat dijelaskan melalui tabel berikut :
Use Case User Scanning
Otomatis Manual
Deskripsi Seseorang yang menggunakan aplikasi untuk mengontrol robot beroda Mencari koneksi dari perangkat Bluetooth yang menyala Memberi perintah robot untuk berjalan secara otomatis dengan mengandalkan sensor-sensor Menggerakan robot dengan menekan tombol perintah yaitu maju, mundur, kiri, kanan.
Tabel 2.1. Tabel Use Case Diagram Sistem
Use Case Diagram merupakan diagram yang dibuat pada awal pemodelan suatu software, karena diagram ini memberikan penjelasan umum antara sistem dengan fitur-fitur apa yang harus dimiliki oleh sistem. Use Case memiliki suatu bentuk naratif yang memberikan standar informasi yang diperlukan dalam analis, desain dan coding fitur-fitur tersebut. Suatu Use Case memiliki komponen berupa :
25
1. Stereotype. Menyediakan informasi
tentang peranan dari elemen tanpa
menyebutkan implementasinya. Digunakan untuk menggambarkan use case dependency, class, package dan classifier. Stereotype merupakan notasi, dimana dalam diagram dituliskan dengan guillemet “<<…>>”. 2. Actor. Mewakili pihak yang terlibat dalam suatu use case yang terjadi. Actor dapat berupa manusia, sistem, dan device yang memiliki peranan dalam keberhasilan operasi dari sistem. 3. Use Case. Mengidentifikasikan fitur utama dari sistem. Tanpa use case sistem tidak dapat memenuhi permintaan actor. Use case mendefinisikan dan menggambarkan tujuan yang harus dicapai oleh sistem. 4. Connector. Merupakan penghubung antara actor dengan use case. Ada beberapa jenis connector, yaitu : a. Asosiasi, mengidentifikasi interaksi antara setiap actor tertentu dengan setiap use case tertentu. Tiap asosiasi menjadi dialog yang harus dijelaskan dalam use case naratif. Asosiasi bisa berarah jika komunikasi satu arah dan dapat juga tidak berarah jika komunikasi terjadi ke dua arah. b. Generalisasi, untuk mendefinisikan relasi antara dua actor atau menambahkan menggunakan
sifat
dari
yang
garis bermata
lainnya.
panah
Digambarkan
kosong dari yang
menurunkan mengarah ke yang diturunkan. c. Dependensi, terdiri dari dua jenis yaitu : Include, mengidentifikasi hubungan antar dua Use Case di mana yang satu memanggil yang lain. Digambarkan dengan garis
putus-putus
bermata
panah
dengan
notasi
<
> pada garis. Arah mata panah sesuai dengan arah pemanggilan (umumnya mengarah ke kanan).
26
Extend, terjadi jika pemanggilan memerlukan adanya kondisi tertentu. Digambarkan serupa dengan dependensi <>, kecuali arah panah berlawanan menjadi <<extend>>
2.8.4. Activity Diagram.
Activity Diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai pesan seperti flowchart, tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedeangkan flowchart tidak bisa. Diagram ini bersifat dinamis. Diagram ini adalah tipe khusus dari state diagram yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini penting dalam pemodelan fungsi-fungsi dalam sistem dan memberi tekanan pada aliran kendali antar objek.
2.8.5. Sequence Diagram.
Sequence diagram menggambarkan interaksi antar objek di suatu sistem. Sequence diagram terdiri dari dimensi vertical dan horizontal, dimana dimensi vertical tersebut adalah waktu dan dimensi horizontal adalah objek-objek yang terkait. Sequence diagram dapat menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Berikut merupakan komponen-komponen yang digunakan dalam Sequence Diagram :
27
Tabel 2.2. Tabel Komponen-komponen Sequence Diagram (Widodo Budhiharto: 2011, 51)
Sebuah Sequence Diagram menunjukan urutan pergerakan robot dengan Android yang menggunakan bluetooth :
Android
User
Bluetooth
Robot
receive
Active
Object Lifeline
Received bluetooth
Activated system Return
Return
Gambar 2.16.Sequence diagram pengendalian robot menggunakan Bluetooth dengan Android (Widodo Budhiharto: 2011, 52)
28
2.9
Aplikasi Eclipse.
Eclipse merupakan salah satu IDE (Integrated Development Environment) yang digunakan untuk melakukan pemograman, termasuk ketika membuat aplikasi Andorid dan dapat dijalankan di semua platform (Platform Independent). Berikut sifat dari Eclipse :
a. Multi-platform : Target system operasi eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX, dan Mac OS X. b. Muti-language : Eclipse dikembangkan dengan bahasa pemograman Java, namun Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan sebagainya. c. Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Eclipse bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak. Ada beberapa gambaran secara umum mengenai siklus jalannya aplikasi yang digunakan :
29
Gambar 2.17. Siklus aplikasi pada android (Hernita P : 2013, 27)
Dari siklus di atas terdapat beberapa method yang perlu diperhatikan antara lain :
a. onCreate () : adalah method yang dipanggil ketika activity pertama kali dilakukan. Method ini memanggil satu parameter, bisa juga null, atau nilai terakhir yang disimpan oleh method onSaveInstanceState(). b. onStart() : memulai activity ketika antarmuka pengguna ditampilkan. c. onPause() : ini dijalankan di balik layar, ketika pengguna menjalankan aplikasi lain dan tampil pada layar pengguna maka otomatis aplikasi sebelumnya akan di pause terlebih dahulu. d. onStop() : method ini dijalankan saat aplikasi sudah tidak dijalankan dan tidak dibutuhkan. e. onRestart() : method ini dijalankan ketika sebuah activity dari posisi onStop() dan akan dijalankan kembali. f. onDestroy() : method ini dijalankan saat activity di-destroy dari aplikasi akan dimatikan.
30
g. onSaveInstanceState(bundle): method ini akan digunakan pada aplikasi untuk menyimpan setiap status activity yang dijalankan. Pada Android method tersebut sudah secara otomatis dilakukan.