BAB II LANDASAN DAN TEORI Pada bab ini mejelaskan tentang teori-teori yang menunjang penulisan tugas akhir sistem komunikasi bluetooth pada aquascape. Dasar teori yang digunakan dalam membuat sistem komunikasi ini adalah dasar teori tentang tahapan perancangan , Android, App Inventor, Arduino IDE, Arduino AT mega 2560, Modul Bluetooth, dan Relay. 2.1 Tahapan Perancangan Pada tahap perancangan penulis menggunakan metode prototype sebagai metode penelitian yang digunakan. Pada gambar dijelaskan terdapat 5 tahap dalam perancangan sistem, yaitu :
Gambar 2.1 Metode Prototype
4 http://digilib.mercubuana.ac.id/
5
1. Communication Pada metode ini melakukan pertemuan dengan
para ahli dan
melakukan wawancara analisa tentang aquascape serta cara kerja sistem yang ingin dibangun sehingga dapat disiapkan berbagai macam kebutuhan-kebutuhan yang berguna untuk membuat technoquascape tersebut. 2. Quick Plan Setelah mendapatkan kebutuhan perangkat lunak yang ingin dibangun, selanjutnya dilakukanlah perencanaan secara cepat untuk penataan lebih lanjut setelah mendapatkan kebutuhan. 3. Modeling Quick Desain Pada tahap ini dilakukan desain interface berdasarkan aspek-aspek kebutuhan yang dilihat oleh user. Mulai dari modeling aquascape, tata letak layout aquascape serta percangan interface aplikasi. 4. Construction Of Prototype Tahap ini melakukan pembuatan prototype berdasarkan analisis dan desain yang telah dibangun. 5. Deployment Delivery and Feedback Prototipe kemudian diserahkan kepada para ahli untuk mengevaluasi prototype yang telah dibuat sebelumnya dan memberikan feedback yang akan digunakan untuk diperbaiki.
http://digilib.mercubuana.ac.id/
6
2.2 Pengenalan Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman. Tabel 2.1 Simbol Flowchart BAGAN
NAMA
FUNGSI
TERMINATOR
Awal atau akhir program
FLOW
Arah aliran program
PREPARATION
PROCES INPUT/OUTPUT DATA SUB PROGRAM
http://digilib.mercubuana.ac.id/
inisialisasi/pemberian nilai awal Proses/pengolahan data
input/output data
sub program
7
Lanjutan Tabel 2.1 BAGAN
NAMA
FUNGSI
ON PAGE
Penghubung bagian-bagian
CONNECTOR
flowchart pada halaman yang
OFF PAGE
sama Penghubung bagian-bagian
CONNECTOR
flowchart pada halaman yang berbeda Tempat komentar tentang
COMMENT
DECISION
suatu proses
Seleksi atau kondisi
2.3 Unified Modeling Language (UML) Menurut Pressman (2010, p841) Unified Modeling Language atau disingkat UML merupakan bahasa standar yang digunakan untuk memvisualisasikan, menspesifikasikan, menkonstruksikan, serta mendokumentasikan sebuah sistem software.UML dibagi menjadi beberapa komponen yaitu: 1. Use Case Diagram 2. Activity Diagram 3. Sequence Diagram 2.3.1 Use Case Diagram Menurut Roger Pressman (2011, p847) Use Case Diagram menggambarkan bagaimana user berinteraksi dengan sistem dengan cara mendefinisikan langkahlangkah yang dibutuhkan untuk menyelesaikan tujuan tertentu.
http://digilib.mercubuana.ac.id/
8
Gambar 2.2 Use Case Diagram
Sebuah format yang mudah untuk membuat sebuah use case adalah dengan menjelaskan skenario utamanya sebagai sebuah urutan langkah-langkah dan alternatif langkah-langkah sebagai variasi dari urutan tersebut.
Notasi yang terdapat pada Use Case Diagram antara lain :
1. Actor
Actor
Gambar 2.3 Actor
http://digilib.mercubuana.ac.id/
9
Actor mewakili sekumpulan peranan yang saling berhubungan di dalam sistem dimana actor tersebut berinteraksi dengan use case (Roger Pressman, 2010, p847).
2. Use case
Use Case
Gambar 2.4 Use Case
Use case menjelaskan sekumpulan dari sequence, dimana setiap sequence mewakili interaksi dari hal-hal di luar sistem (actor-nya) dengan sistem itu sendiri (Roger Pressman, 2010, p847). Use case merupakan gambaran fungsionalitas dari suatu sistem sehingga actor atau pengguna sistem paham mengenai kegunaan sistem yang akan dibuat.
3. System Boundary
http://digilib.mercubuana.ac.id/
10
System
UseCase1
UseCase2
Gambar 2.5 System Boundary
System Boundary adalah penentuan ruang lingkup atau batasan pada sistem yang akan dibangun. 4. Relationship
UseCase
Actor
Gambar 2.6 Relationship
Relationship merupakan garis yang berhubungan antara Actor dan Use case dimana akan terjadi interaksi.
http://digilib.mercubuana.ac.id/
11
2.3.2 Activity Diagram Activity diagrams menggambarkan berbagai aliran aktivitas dalam sistem yang sedang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram merupakan sebuah state diagram khusus, dimana sebagian besar state adalah action. Oleh karena itu activity diagram lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Gambar 2.7 Contoh Activity Diagram 2.3.3 Sequence Diagram Sequence diagram digunakan untuk menunjukan komunikasi yang dinamis antara objek selama mengeksekusi perintah (Roger Pressman, 2010, p848). Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
http://digilib.mercubuana.ac.id/
12
digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
Gambar 2.8 Contoh Sequence Diagram 2.4 Android Android adalah sebuah aplikasi platform mobile device yang open source. Android bersifat open source yang artinya source code nya diberikan secara gratis bagi para pengembang untuk menciptakan aplikasi mereka agar dapat berjalan di Android. Android utamanya adalah produk Google, tetapi lebih tepatnya Open Handset Alliance. Secara umum, arsitektur perangkat lunak Android dapat digambarkan berupa susunan struktural dari individu komponen sistemnya. Komponen penyusun perangkat lunak Android terdiri dari beberapa tingkatan lapisan (layer) penyusun yang berjumlah empat lapisan. Keseluruhan dari semua lapisan disebut sebagai softwarestack.
http://digilib.mercubuana.ac.id/
13
Gambar 2.9 Arsitektur perangkat lunak sistem android 1.
Applications Lapisan ini merupakan satu set aplikasi inti dengan fungsi-
fungsi dasar mobile device. Bagi rata-rata pengguna, lapisan inilah yang paling sering diakses. Fungsi-fungsi dasar tersebut dapat diakses melalui user interface. Semua aplikasi dibuat dengan menggunakan bahasa pemrograman Java.
Gambar 2.10 Lapisan Applications 2.
Applications Framework
http://digilib.mercubuana.ac.id/
14
Lapisan selanjutnya adalah applications framework, yang mencakup program untuk mengatur fungsi-fungsi dasar mobile device. Applications Framework merupakan serangkaian tool dasar seperti alokasi resource mobile device, aplikasi telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks. Di dalam semua aplikasi terdapat servis dan sistem seperti pada gambar di bawah ini.
Gambar 2.11 Lapisan Android Applications Framework 3.
Libraries Bertempat di level yang sama dengan Android Runtime
adalah Libraries. Android menyertakan satu set library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android Applications Framework. Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar. Beberapa core library tersebut terlihat pada gambar 2.13 dibawah ini.
http://digilib.mercubuana.ac.id/
15
Gambar 2.12 Lapisan Libraries 4.
Android Runtime Android Runtime berisi Core Libraries dan Dalvik Virtual
Machine. Core Libraries mencakup serangkaian inti library Java, artinya Android
menyertakan satu set
library dasar
yang
menyediakan sebagian besar fungsi-fungsi yang ada pada library dasar bahasa pemrograman Java.
Gambar 2.13 Lapisan Android Runtime 5.
Linux Kenel Android bergantung pada Linux versi 2.6 untuk layanan
sistem inti seperti keamanan, manajemen memori, manajemen proses, stack jaringan, dan driver model. Kemel juga bertindak sebagai lapisan abstrak antar hardware dan software stack.
http://digilib.mercubuana.ac.id/
16
Gambar 2.14 Lapisan Linux Kenel
Dalam pembuatan aplikasi, diperlukan beberapa instalasi software yang mendukung, antara lain Java, Android SDK, Eclipse, dan ADT.
2.5 Smartphone Android Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti smartphone dan Tablet. Android adalah sistem operasi yang bersifat open source. Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Aplikasi pada android merupakan aplikasi mobile yang dapat digunakan sebagai pengendali alat dengan menggunakan teknologi berbasis bluetooth dengan bahasa pemprograma java. 2.6 Bluetooth Bluetooth beroperasi dalam pita frekuensi 2,4 GHz dengan menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth dengan jarak terbatas. Kelemahan teknologi ini adalah jangkauannya yang pendek dan kemampuan transfer data yang rendah.
http://digilib.mercubuana.ac.id/
17
Gambar 2.15 Icon Bluetooth Kelebihan bluetooth ini adalah tidak menggunakan kabel, sinyal dapat menembus dinding, biaya relative murah, berdaya rendah dan hardware yang relatif kecil. Namun disisi lain bluetooth ini memiliki kekurangan yaitu kecepatan pengiriman data yang begitu rendah dan sinyal jangkauanya terbatas. Pada bluetooth terdapat keamanan utama yaitu proses pairing yakni proses melakukan koneksi antara dua perangkat untuk dapat saling berkomunikasi antara satu sama lain, dan masing-masing perangkat harus memasukan PIN yang sama. 2.7 App Inventor App Inventor adalah aplikasi web sumber terbuka yang awalnya dikembangkan oleh Google, dan saat ini dikelola oleh Massachusetts Institute of Technology (MIT). App Inventor memungkinkan pengguna baru untuk memprogram komputer untuk menciptakan aplikasi perangkat lunak bagi sistem operasi Android. App Inventor menggunakan interface, serupa dengan antarmuka yang digunakan oleh Scratch, yang memungkinkan pengguna untuk melakukan drag and drop obyek visual untuk menciptakan aplikasi yang bisa dijalankan pada perangkat Android. App Inventor memungkinkan pengguna mengembangkan aplikasi untuk ponsel Android menggunakan browser web dan baik terhubung telepon / tablet atau emulator.
http://digilib.mercubuana.ac.id/
18
App Inventor Tim dipimpin oleh Hal Abelson dan Mark Friedman. Aplikasi ini dibuat pada tanggal 12 Juli 2010, dan dirilis pada tanggal 15 Desember 2010 dan Versi MIT di diluncurkan Maret 2012. Berikut adalah tampilan interface dari Appinventor :
Gambar 2.16 Interface App Inventor 2.8 Arduino IDE Software yang digunakan untuk membangun program yang ditanam pada arduino adalah Arduino IDE. Menurut Santoso (2015:7) , Aplikasi ini berguna untuk membuat, membuka, dan mengedit source code Arduino (Sketches, para programmer menyebut source code arduino dengan istilah "sketches").
Gambar 2.17 Software Arduino IDE
http://digilib.mercubuana.ac.id/
19
Software ini terdiri dari : 1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program 2. Compiler, sebuah modul mengubah kode program menjadi kone biner. Pada dasarnya sebuah mikrokontroler tidak akan memahami kode program, yang dipahami adalah kode biner. itu sebabnya diperlukan compiler 3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memori papan arduino Arduino IDE menggunakan bahasa pemrograman C++ dengan versi yang telah disederhanakan, sehingga lebih mudah dalam belajar pemrograman. Arduino akhirnya berhasil menjadi papan sirkuit pemrograman paling disukai hingga menjadikannya sebagai bentuk standar dari fungsi mikrokontroler dengan paket yang mudah untuk diakses. 2.9 Arduino ATMega 2560 Arduino Mega2560 adalah papan mikrokontroler berbasiskan ATmega2560 (datasheet
ATmega2560). Arduino Mega2560 memiliki 54 pin digital
input/output, dimana 15 pin dapat digunakan sebagai output PWM, 16 pin sebagai input analog, dan 4 pin sebagai UART (port serial hardware), 16 MHz kristal osilator, koneksi USB, jack power, header ICSP, dan tombol reset. 2.9.1 Input dan Output Masing-masing dari 54 digital pin pada Arduino Mega dapat digunakan sebagai input atau output, menggunakan fungsi pinMode() , digitalWrite() , dan digitalRead. Arduino Mega2560 memiliki 16 pin sebagai analog input, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default pin ini dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan tertinggi atau terendah mereka menggunakan pin AREF dan fungsi analogReference().
http://digilib.mercubuana.ac.id/
20
2.9.2 Spesifikasi Berikut merupakan spesifikasi dari Arduino mega AT 2560 : Tabel 2.2 Spesifikasi Arduino
Nama
Keterangan
Mikrokontroler
ATmega2560
Tegangan Operasi
5V
Input Voltage (disarankan)
7-12V
Input Voltage (limit)
6-20V
Pin Digital I/O
54 (yang 15 pin digunakan sebagai output PWM)
Pins Input Analog
16
Arus DC per pin I/O
40 Ma
Arus DC untuk pin 3.3V
50 Ma
Flash Memory
256 KB (8 KB digunakan untuk bootloader)
http://digilib.mercubuana.ac.id/
21
Lanjutan Tabel 2.2
Nama
Keterangan
SRAM
8 KB
EEPROM
4 KB
Clock Speed
16 MHz
2.10 Modul Bluetooth Bluetooth Module HC-05 merupakan
modul komunikasi nirkabel pada
frekuensi 2.4GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master. Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi wireless. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built in LED sebagai indikator koneksi bluetooth. Jarak efektif jangkauan sebesar 10 meter. 2.11 Aquascape Menurut
Takashi (2015) Aquacape merupakan kegiatan membuat
pemandangan taman air di dalam aquarium yang berisi air berbentuk taman, hutan, gunung/bukit, atau pun kombinasi dari semuanya dalam membuat ekosistem. Dimana tumbuhan sebagai komponen utamanya yang di dukung oleh perlengkapan-perlengkapan guna menghasilkan tumbuhan yang tumbuh subur serta pemandangan berseni tinggi sehingga enak dipandang dan dinikmati keindahannya. Seni menata atau mengatur tanaman di dalam air sehingga menjadi sebuah landskap yang indah yang dilengkapi dengan hadirnya fauna yang cantik.
http://digilib.mercubuana.ac.id/
22
Seni becocok tanam dalam air ini dikenalkan pertama kali oleh Takashi Amano pada tahun 1990. Takeshi Amano adalah seorang pecinta aquarium (aquarist). Beliaulah yang membuat seni aquascape menjadi terkenal di seluruh dunia. Ia juga menjadi seorang aquascaper yang paling berpengaruh di dunia. Dimana karya-karyanya menjadi inspirasi bagi banyak aquarist di seluruh dunia. 2.12 Relay Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A. Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :
Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi CLOSE (tertutup).
Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi OPEN (terbuka).
http://digilib.mercubuana.ac.id/