BAB II TINJAUAN PUSTAKA II.1 Perancangan Menurut McLeod (2001, p192) yang diterjemahkan oleh Teguh sebagai berikut: “Perancangan sistem adalah penentuan proses data yang diperlukan oleh sistem baru. Jika sistem itu berbasis komputer, rancangan dapat menyertakan spesifikasi jenis peralatan yang digunakan”. (Sumber: Henny Hendarti, Karim Haryanto: 2009)
II.2 Helm Helm merupakan suatu bentuk pelindung tubuh yang dipakai di bagian kepala dan biasanya terbuat dari metal atau bahan keras yang lainnya seperti Kevlar, serat resin atau plastic. Helm biasanya digunakan sebagai pelindung berbagai kegiatan aktivitas seperti berkendara roda dua, pertambangan, maupun olahraga. Helm bagi pengendara merupakan salah satu perlengkapan wajib Helm memiliki banyak jenis tetapi pengendara wajib menggunakan helm SNI.
Gambar II.1 Helm full face berstandar SNI (Sumber:http://www.google.com/ )
9
10
II.3 Sensor Sensor adalah suatu piranti yang digunakan untuk melakukan suatu pengamatan terhadap suatu rangsangan dan mengubahnya ke dalam bentuk isyarat sehingga bisa diukur. Rangsangan dapa berupa akustik, elektrik, optic, termal maupun mekanik. Ada dua jenis sensor, yaitu sensor analog dan sensor digital. Hal ini didasarkan pada jenis isyarat keluaran yang dihasilkan. Sensor analog berarti bahwa sensor menghasilkan isyarat analog, sedangkan sensor digital membangkitkan isyarat digital. Pada sensor digital, keluaran hanya berupa salah satu dari keadaan, yakni HIGH dan LOW. Pada sensor analog keluaran lebih bervariasi.(Sumber : Abdul Kadir: 2015 :302) Ada banyak sekali macam sensor, antara lain sensor detak jantung, sensor gerak, sensor gas, sensor cahaya, sensor suara, sensor suhu, sensor kelembapan, sensor air, sensor sentuhan, sensor ultrasonic, sensor keseimbangan, dan sebagainya.
Gambar II.2 Sensor Ukur Detak Jantung (Sumber:http://www.pulsesensor.com)
11
II.4. Detak Jantung Jantung adalah organ vital dalam tubuh manusia. Fungsinya adalah untuk melancarkan peredaran darah dalam tubuh melalui pembuluh darah. Frekuensi detak jantung dan kekuatan denyut jantung berbeda setiap orang. Jantung bekerja melalui mekanisme secara berulang dan terus menerus yang juga disebut sebagai sebuah siklus sehingga secara visual terlihat atau disebut sebagi denyut jantung. (Sumber: Nawawi HRP, Ahmad. Perangin-angin, Bisman :2012)
II.5 Mikrokontroler Mikrokontroller atau kadang dinamakan pengontrol tertanam adalah suatu sistem yang mengandung masukan/keluaran, memori, dan prosesor, yang digunakan pada produk seperti mesin cuci, pemutar video, mobil, dan telepon. (sumber : Abdul Kadir: 2015: 16). Mikrokontroller itu sendiri adalah suatu chip atau IC (integrated circuit) yang bisa diprogram menggunakan computer. Program yang direkam bertujuan agar rangkaian dapat membaca input, memproses dan kemudian menghasilkan output yang sesuai yang diinginkan. Outputnya itu bisa berupa sinyal, besaran tegangan, lampu, suara, getaran, gerakan, dan sebagainya. (sumber : Firmansyah Saftari: 2015: 1). Sejarah mikrokontroler tidak terlepas dari sejarah mikroprosesor. Berikut sejarah mikroprosesor dan mikrokontroler :
12
Tahun 1971, Intel 4004 adalah mikroprosesor pertama. Intel 4004 dibuat dan dikembangkan oleh Intel (Integrated electronic). Intel membuat mikroprosesor
Intel 4004 menggunakan 2250 transistor. Intel 4004 merupakan mikroprosesor 4-bit. Kemudian pada tahun 1974 intel membuat mikroprosesor generasi kedua (Intel 8008), Intel 8008 merupakan prosesor 8-bit. Gambar II.3 Mikroprosesor Intel 4004 (Sumber: http://www.Intel.com/)
Tahun 1972, TMS1000 adalah mikrokontroler pertama. TMS1000 merupakan mikrokontroler 4-bit. Mikrokontroler TMS1000 dibuat oleh Gary Boone dari Texas Instruments.
Gambar II.4 Mikrokontroler TMS 1000 (Sumber:http://www.computerhistory.org/)
Tahun 1974, beberapa pabrikan IC menawarkan mikroprosesor dan pengendali menggunakan mikroprosesor. Mikroprosesor yang ditawarkan pada saat itu
13
yaitu intel 8080, 8085, Motorola 6800, Signetic 6502, Zilog Z80, dan Texas Instruments 9900(16-bit).
Tahun 1976, dibuat Intel 8048, yang merupakan mikrokontroller Intel pertama.
Tahun 1978, mikroprosor 16-bit menjadi umum digunakan yaitu Intel 8086, Motorola 68000 dan Zilog Z8000. Sejak saat itu pabrikan mikroprosesor terus mengembangkan mikroprosesor dengan berbagai keistimewaan dan arsitektur, mikroprosesor yang dikembangkan termasuk 32-bit device seperti Intel Pentium,
Motorola Dragon Ball,
dan beberapa mikrokontroler
yang
menggunakan ARM core.
Tahun 1980, Intel 8051 atau lebih dikenal dengan mikrokontroler MCS51. MCS51 adalah mikrokontroler CISC 8-bit.
Tahun 1996, mikrokontroler Atmel AVR dibuat oleh Atmel. Atmel AVR adalah salah satu mikrokontroler yang banyak digunakan sampai dengan saat ini. AVR mikrokontroler RISC (Reduce Instruction Set Computing) 8-bit berdasarkan arsitektur Havard. (Sumber: Heri Andrianto, Aan Darmawan: 2016: 10)
II.5.1 Arduino Nano ATMega328 Arduino adalah papan rangkaian elektronik (electronic board) open source yang di dalamnya terdapat komponen utama yaitu , sebuah chip mikrokontroler. (Sumber: Firmansyah Saftari: 2015: 1) Arduino adalah suatu perangkat prototipe elektronik berbasis mikrokontroler yang fleksibel dan open-source, perangkat keras dan perangkat lunaknya mudah digunakan. Perangkat ini ditujukan bagi siapapun yang tertarik/memanfaatkan
14
mikrokontroler secara praktis dan mudah. Bagi pemula dengan mennggunakan board ini akan lebih mudah mempelajari pengendalian dengan mikrokontroler, bagi desainer pengontrol menjadi lebih mudah dalam membat prototipe ataupun implementasi; demikian juga bagi para hobi yang mengembangkan mikrokontroler. Arduino dapat digunakan ‘mendeteksi’ lingkungan dengan menerima masukan dari berbagai sensor (misal: cahaya, suhu, inframerah, ultrasonic, jarak, tekanan, kelembaban) dan dapat ‘mengendalikan’ peralatan sekitarnya (misal: lampu, berbagai jenis motor, dan akuator lainnya). (sumber: Heri Andrianto, Aan Darmawan: 2016: 15) Pada umumnya arduino yang digunakan adalah arduino uno R3 (revisi ke- 3), karena harganya lebih murah dan mudah digunakan. Tetapi penulis menggunakan arduino nano yang mempunyai spesifikasi yang sama dengan arduino uno R3 hanya saja memiliki ukuran yang lebih kecil yaitu 0,7 x 1,7 inci.
Gambar II.5 Bentuk Fisik Arduino Nano ATMega328 (Sumber:http://www.arduino.cc/)
15
II.5.2 Mikrokontroller ATMega328 Mikrokontroler ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer).
Gambar II.6 Bentuk Fisik ATMega328 (Sumber:http://www.atmel.com/)
Mikrokontroller ini memiliki beberapa fitur antara lain : 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock. 32 x 8-bit register serba guna. Kecepatan mencapai 16 MIPS dengan clock 16 MHz. 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
16
Memiliki SRAM (Static Random Access Memory) sebesar 2KB. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output dan memiliki 8 pin I/O analog. Master / Slave SPI Serial interface. Mikrokontroller
ATmega
328
memiliki
arsitektur
Harvard,
yaitu
memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.
II.5.3 Konfigurasi Pin Arduino Nano ATMega328
Gambar II.7 Konfigurasi Pin Arduino Nano (Sumber:http://www.arduino.cc/)
17
Berikut adalah pemetaan pin – pin pada arduino nano: Tabel II.1 Keterangan Pin Arduino Nano No
Nama Pin
Peta Nama Pin
1.
D1
Digital Pin 1 (TX)
2.
D0
Digital Pin 0 (RX)
3.
RESET
RESET
4.
GND
GROUND
5.
D2
Digital Pin 2
6.
D3
Digital Pin 3
7.
D4
Digital Pin 4
8.
D5
Digital Pin 5
9.
D6
Digital Pin 6
10.
D7
Digital Pin 7
11.
D8
Digital Pin 8
12.
D9
Digital Pin 8
13.
D10
Digital Pin 10
14.
D11
Digital Pin 11
15.
D12
Digital Pin 12
16.
D13
Digital Pin 13
17.
3V3
3,3 V output
18.
AREF
Analog Reference
19.
A0
Analog Pin 0
18
20.
A1
Analog Pin 1
21.
A2
Analog Pin 2
22.
A3
Analog Pin 3
23.
A4
Analog Pin 4
24.
A5
Analog Pin 5
25.
A6
Analog Pin 6
26.
A7
Analog Pin 7
27.
+5V
+5V
28.
RESET
RESET
29.
GND
GROUND
30.
VIN
SUPPLY VOLTAGE
(Sumber:http://www.arduino.cc/)
Berikut ini adalah fungsi dari pin-pin pada Arduino Nano ATMega328: 1. VIN Adalah (Supply Voltage) input tegangan untuk papan Arduino ketika menggunakan sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui jack power, kita bisa mengakses/mengambil tegangan melalui pin ini. 2. 5V Sebuah pin yang mengeluarkan tegangan ter-regulator 5 Volt, dari pin ini tegangan sudah diatur (ter-regulator) dari regulator yang tersedia (built-in) pada
19
papan. Arduino dapat diaktifkan dengan sumber daya baik berasal dari jack power DC (7-12 Volt), konektor USB (5 Volt), atau pin VIN pada board (7-12 Volt). Memberikan tegangan melalui pin 5V atau 3.3V secara langsung tanpa melewati regulator dapat merusak papan Arduino. 3. 3V3 Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus maksimum yang dihasilkan adalah 50 mA. 4. GND Pin Ground atau Massa. 5. AREF Referensi
tegangan
untuk
input
analog.
Digunakan
dengan
fungsi
analogReference(). 6. Input dan Output Masing-masing dari 14 digital pin pada Arduino Nano dapat digunakan sebagai input atau output, menggunakan fungsi pinMode () , digitalWrite () , dan digitalRead(). Arduino Nano beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima arus maksimum 40 mA dan memiliki resistor pull-up internal (yang terputus secara default) sebesar 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus contohnya Pin PWM. Selain pin digital arduino nano juga mempunyai 8 pin analog yang dapat mengeluarkan tergangan keluaran yang bervariasi .
20
7. Serial 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL .
II.6 Bluetooth Bluetooth adalah suatu teknologi komunikasi wireless yang memanfaatkan frekuensi radio ISM 2.4 GHz untuk menghubungkan perangkat genggam secara terpisah (handphone, PDA, computer, printer, dan lain-lain) dengan jangkauan yang relatif pendek. (Sumber: Ginda Zamzabil Okfriano: 2015) Besarnya jarak jangkauan tergantung pada kelas Bluetooth. Dalam kelas transceiver Bluetooth ada tiga kelas pembagian daya yaitu: 1. Daya kelas 1 beroperasi antara 100 Mw(20dBm) dan 1 Mw (0dBm), dirancang untuk perangkat dengan jangkauan yang jauh hingga mencapai 100 m 2. Daya kelas 2 beroperasi antara 2,5 Mw (4dBm) dan 0,25 Mw (-6dBm), dirancang untuk perangkat dengan jangkauan yang jauh hingga mencapai 10 m 3. Daya kelas 3 beroperasi antara 1 Mw(0dBm) dirancang untuk perangkat dengan jangkauan yang jauh hingga mencapai 1 m. (Sumber: Heri Andrianto, Aan Darmawan: 2016: 137) Beberapa jenis model Bluetooth yang dapat kita jumpai adalah modul HC – 03, HC – 04, HC – 05, dan HC – 06. Salah satu hasil contoh modul Bluetooth yang paling banyak digunakan adalah tipe HC-05. modul Bluetooth HC-05 merupakan salah satu modul Bluetooth yang dapat ditemukan dipasaran dengan harga yang
21
relatif murah. Modul Bluetooth HC-05 terdiri dari 6 pin konektor, yang setiap pin konektor memiliki fungsi yang berbeda - beda.
Gambar II.8. Modul Bluetooth HC – 05 (Sumber:http://www.google.com/)
HC-05 merupakan modul bluetooth to serial yang menggunakan protokol standar bluetooth V2.0 dan kebutuhan tegangan sebesar 3,3 V.
3.3 V VCC GND
GND RXD
(Pin 1) TX
TXD
(Pin 0) RX
Modul Bluetooth
Arduino nano Gambar II.9. Skema Rangkaian Bluetooth dengan Arduino (Sumber : Abdul Kadir :2015) Rangkaian penyusunan bluetooth dan arduino dari skema diatas dapat dijelaskan sebagai berikut :
22
Pin 3,3 volt pada arduino dihubungkan denga pin VCC di modul Bluetooth.
Pin GND (Ground) atau pin negatif dihubungkan dengan pin GND (Ground) pada modul bluetooth.
Pin 1 (pin TX) pada arduino harus terhubung dengan pin RXD pada modul Bluetooth
Pin 0 (pin RX) pada arduino harus dihubungkan dengan pin TXD pada modul bluetooth Spesifikasi modul bluetooth HC – 05 :
-
Bluetooth versi
: Versi 2.0
-
Frekuensi
: 2.4 GHz
-
Power Supply
: 3,3 Volt
-
Keburuhan Arus
: Pada saat pairing 30 – 40 mA , setelah pairing 8 mA
-
Baudrate
: 9600 (standar)
II.7 Buzzer Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar tergantung polaritas magnetiknya karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasanya
23
digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalah pada sebua alat.
Gambar II.10. Bentuk Fisik Perangkat Buzzer (Sumber:http://www.google.com/)
II.8. Unified Modeling Language (UML) UML yang merupakan singkatan dari Unified Modelling Language adalah sekumpulan pemodelan konvensi yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek. UML dapat juga diartikan sebuah bahasa grafik standar yang digunakan untuk memodelkan perangkat lunak berbasis objek. UML pertama kali dikembangkan pada pertengahaan tahun 1990an dengan kerjasama antara James Rumbaugh, Grady Booch dan Ivar Jacobson, yang masing-masing telah mengembangkan notasi mereka sendiri di awal tahun 1990an. (Lethbride dan Leganiere, 2009:11)
II.9 Android Android adalah sistem operasi mobile phone yang dipromosikan oleh Google.Inc. Saat ini pengguna mobile phone/ tablet PC dengan sistem operasi
24
android tumbuh sampai lebih dari 75% dari total pengguna mobile phone /tablet PC. Dengan adanya wireless protocol pada mobile phone android membuat pengguna lebih memilih untuk menggunakan komunikasi data secara nirkabel daripada secara kabel. Umumnya pada mobile phone android sudah tersedia saluran komunikasi data secara nirkabel yaitu bluetooth. Saluran komunikasi data tersebut dapat digunakan untuk mengirim/ menerima data dari / ke perangkat lain. (Sumber: Heri Andrianto, Aan Darmawan: 2016: 141) Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Karena merupakan software yang berbasis open source banyak sekali developer yang mengembangkan sistem operasi dan software pendukung untuk aplikasi android ini.
Gambar II.11. Smartphone Berbasis Android dari Samsung (Sumber:http://www.google.com/)
25
II.10 Perangkat Lunak (Software) dan Bahasa Pemograman Agar sistem dapat bekerja baik dari segi perangkat maupun maupun dari segi mobile phone android maka digunakan perangkat lunak dan pemrograman sebagai pengkondisian dan perintah-perintah yang diinginkan oleh pembuat alat. Perangkat lunak yang penulis gunakan adalah Arduino IDE untuk memprogram perangkat mikrokontroler dan App Invertor untuk memprogram perangkat mobile phone android.
II.10.1 Arduino IDE Arduino IDE adalah software yang digunakan di situs arduino.cc yang ditujukan sebagai perangkat pengembang sketch yang digunakan sebagai program di papan arduino. IDE (Integrated Development Environment) berarti bentuk alat pengembangan program yang terintegrasi sehingga berbagai keperluan disediakan dan dinyatakan dalam bentuk antarmuka berbasis menu. (Sumber: Abdul Kadir: 2015: 26)
26
Gambar II.12. Tampilan Software Editor Arduino (Sumber:http://www.arduino.cc/)
Arduino IDE menggunakan bahasa pemrograman C++ dengan versi yang telah disederhanakan, sehingga lebih mudah dalam belajar pemrograman. Arduino menggunakan software processing yang dugunakan untuk menulis program kedalam Arduino. Processing sendiri merupakan penggabungan antara bahasa C++ dan Java. Software IDE Arduino terdiri dari 3 (tiga) bagian: 1. Editor program, untuk menulis dan mengedit program dalam bahasa processing. 2. Compiler, modul yang berfungsi mengubah bahasa processing (kode program) kedalam kode biner karena kode biner adalah satu-satunya bahasa program yang dipahami oleh mikrokontroler. 3. Uploader, modul yang berfungsi memasukkan kode biner kedalam memori mikrokontroler.
27
Struktur perintah pada Arduino secara garis besar terdiri dari 2 (dua) bagian yaitu void setup dan void loop. Void setup berisi perintah yang akan dieksekusi hanya satu kali sejak Arduino dihidupkan, dan pada umumnya void setup ini digunakan untuk menentukan keluaran ataupun masukan dari sebuah alat perangkat yang akan dipasang pada perangkat arduino sedangkan void loop berisi perintah yang akan dieksekusi berulang-ulang selama arduino dinyalakan atau bisa dikatakan di void loop inilah kita bisa menuliskan kondisi maupun penentuan hasil dari program yang kita rancang tersebut..
II.10.2 App Inventor App Inventor adalah sebuah aplikasi builder yang digunakan untuk membuat aplikasi yang berjalan di sistem operasi android, App inventor kini dikembangkan oleh MIT, universitas yang bergerak di bidang teknologi dan diakui di dunia. Semula app inventor dikembangkan oleh google, namun sekarang MIT yang memegang kendali terhadap pengembangan tools app inventor. App Inventor ini sudah mencapai versi 2 dan juga dapat digunakan secara online melalu internet.
28
App Inventor ini menggunakan teknik visual block programming, berbentuk seperti susunan puzzle-puzzle yang memiliki logika tertentu atau biasa disebut block code programming. App Inventor ini sudah memiliki fitur yang mendukung dalam
membuat tampilan desain secara sederhana dan mudah dipahami oleh
pembelajar pemula. Tampilan dan cobaan dari aplikasi yang digunakan sendiri pada umumnya tidak berbeda jauh dengan aplikasi yang kita bangun dengan bahasa program yang lain seperti php ,c maupun java.
Gambar II.13. Tampilan Software App Invertor (Sumber:http://www.google.com/) Pada lingkungan kerja App Inventor ini terdapat beberapa komponen yang terdiri dari : 1. Komponen Desainer, Komponen desainer pada umumnya berjalan pada
browser yang digunakan untuk memilih bagian yang dibutuhkan dan mengatur property nya pada perangkat tersebut. Pada komponen desainer sendiri terdapat
29
5 bagian yang akan ditampilkan, yaitu palette, viewer, component, media dan properties, seperti terlihat pada gambar di atas.
Palette : daftar komponen yang bisa digunakan
Viewer : untuk menempatkan komponen dan mengaturnya sesuai tampilan yang diinginkan
Component : tempat list komponen yang dipakai pada project kita
Properties : mengatur properties komponen yang digunakan, seperti width, height, name, dll
2. Block Code Editor, merupakan Block yang digunakan untuk membuat dan
mengatur komponen-komponen yang dipilih dari komponen desainer di mana perakitan blok program dapat menentukan bagaimana komponen harus melakukan sesuatu. Perakitan
program visual, seperti berupa potongan-
potongan teka-teki, ketika menambahkan potongan block logika secara benar kita dapat menguji pekerjaan anda sebagai sebuah rancangan aplikasi. Ketika selesai, rancangan tersebut dapat membuat paket aplikasi berekstensi .APK yang merupakan paket instalasi yang digunakan pada mobile smartphone android. 3. Emulator, Emulator merupakan media aplikasi yang digunakan untuk menjalankan project yang telah kita buat. Pada App Inventor 2 penggunaan emulator sangat dibutuhkan untuk melakukan percobaan aplikasi sebelum kita melakukan instalasi pada smartphone android kita Pada umumnya tampilan android
yang
digunakan
emulator
berbasis
android
froyo
2.3.