BAB II
DASAR TEORI
2.1. Arduino
Arduino adalah platform pembuatan prototipe elektronik yang bersifat open-source hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan mudah digunakan. Arduino ditujukan bagi para seniman, desainer, dan siapa pun yang tertarik dalam menciptakan objek atau lingkungan yang interaktif [2].
Platform arduino terdiri dari arduino board, shield, bahasa pemrograman arduino, dan arduino development environment. arduino board biasanya memiliki sebuah chip dasar mikrokontroler Atmel AVR Atmega8 berikut turunannya. Diagram blok arduino board yang sudah disederhanakan dapat dilihat pada gambar 2.1.
Gambar 2. 1 Diagram blok Arduino Board [3]
Arduino development environment adalah perangkat lunak yang digunakan untuk menulis dan meng-compile program untuk arduino. Arduino development environment juga digunakan untuk meng-upload program yang sudah di-compile ke memori program arduino board.
2.2. Sensor
Sensor merupakan komponen elektronik yang berfungsi untuk mengubah besaran mekanis, magnetis, suhu, cahaya, dan kimia menjadi besaran listrik berupa tegangan, resistansi dan arus listrik [4].
2.1.1. Modul Sensor tegangan DC
Modul sensor tegangan DC merupakan modul yang berfungsi untuk mengubah tegangan DC 0V-25V menjadi tegngan DC 0V-5V. Gambar 2.2 memperlihatkan bentuk dari modul sensor tegangan DC [5].
Gambar 2. 2 Modul sensor tegangan DC
2.3. Dioda Bridge
kapasitor berfungsi untuk mengurangi riak gelombang pada tegangan DC keluarannya sehingga gelombang tegangan DC yang dihasilkan lebih stabil. Semakin besar nilai kapasitor tersebut maka semakin stabil tegangan DC yang dihasilkan [6].
Gambar 2. 3 Rangkaian dioda bridge
2.4. IC RTC DS3231
Untuk keperluan data waktu dan kalender digunakan sebuah serpih rangkaian terpadu (IC) yang dikenal sebagai RTC (Real Time Clock). Salah satu jenis IC RTC yang digunakan dalam sistem tertanam adalah tipe DS3231. Komunikasi piranti ini dengan perangkat luarnya menggunakan komunikasi seri sinkron sederhana [7].
2.5. Modul 2 Channel 5V Relay
Modul relay merupakan relay yang dibuat khusus dalam bentuk modul untuk aplikasi pada arduino. Modul relay ini mempunyai 4 terminal masukan VCC, IN1, IN2 dan GND. IN1 berfungsi untuk mengontrol relay 1 sedangkan IN2 berfungsi untuk mengontrol relay2. Modul relay berfungsi sebagai sakelar jika rangkaian masukan dan dan rangkaian keluaran mempunyai catu daya yang berbeda. LED pada module ini akan menyala setiap kali kumparan pada relay terhubung. Berikut spesifikasi dari Modul relay [8]:
• 5V - 12V TTL sinyal kontrol
• Arus dan tegangan AC maksimum: 10A dan 250VAC • Arus dan tegangan DC maksimum: 10A dan 30VDC • Sinyal masukan dapat berupa tegangan DC maupun AC
• Terdapat sebuah kontak normally open dan sebuah kontak normally
close pada masing - masing relay
• Koil pada relay dapat bekerja jika sinyal masukan bernilai 0 pada
terminal sinyal.
2.6. Sim800l
Sim800L adalah sebuah modul GSM/GPRS yang berkomunikasi pada empat lebar frekuensi yaitu: GSM850MHZ, EGSM900MHZ, DCS1800MHZ dan PCS1900MHZ. Pemilihan frekuensi dapat dilakukan secara otomatis maupun secara manual menggunakan AT command “AT+CBAND”. Tabel 2.1 memperlihatkan spesifikasi dari Sim800L, Tabel 2.2 menunjukkan AT command dalam mengkonfigurasikan Sim800l dan Tabel 2.5 menunjukkan AT command untuk mengatur metode HTTP GET [9].
Tabel 2. 1 Spesifikasi Sim 800l
Fitur Implementasi
Catu daya 3,4 V ~ 4,4 V
Penghemat daya Konsumsi daya pada sleep mode adalah 0,7mA Lebar frekuensi •Quad_band: GSM 850, EGSM 900, DCS 1800, PCS
1900. SIM800L mampu mencari keempat lebar band tersebut secara otomatis dan juga dapat diatur melalui Atcommand “AT+CBAND”
•Menurut GSM tahap 2/2+
Penyaluran daya •Kelas 4 (2W) pada GSM 850 dan EGSM 900 •Kelas 1 (1W) pada DCS 1800 dan PCS 1900
Tabel 2. 2 AT command dalam mengkonfigurasikan Sim800l
Komentar keterangan
AT+SAPBR=3,1,”Contype”,”GPRS” AT+SAPBR=3,1.”APN”,”CWNET”
Konfigurasi jaringan dan APN
AT+SAPBR=1,1 Untuk membuka status GPRS
AT+SAPBR=2,1 Untuk memastikan status GPRS
AT+SAPBR=0,1 Menutup status GPRS
Tabel 2. 3 AT command untuk mengatur metode HTTP GET
komentar keterangan
AT+HTTPINIT Menginisialisasi layanan HTTP
AT+HTTPPARA=”CID”,1
AT+HTTPARA=”URL”,”www.som.com”
Mengatur alamat pada HTTP
AT+HTTPACTION=0 Memulai akses HTTP
AT+HTTPREAD Membaca data dari server
AT+HTTPTERM Menutup akses HTTP
2.7. Web Programming
2.7.1. HTML
Pada awalnya, semua halaman web ditulis dengan menggunakan HTML (Hyper Text Markup Language). HTML adalah bahasa yang dapat menampilkan informasi melalui internet dengan menggunakan suatu perangkat lunak standar, yang dikenal dengan istilah web browser. Awalnya dikembangkan oleh ilmuwan British Tim Berners-Lee pada awal tahun 1990-an.
Web browser yang dapat diakses dengan gratis, koneksi internet baik dengan menggunakan kabel maupun nirkabel pada area perkantoran ataupun di rumah, mesin pencari yang hebat, sudah membuat perkembangan yang sangat pesat untuk perkembangan WWW (World Wide Web) terutama diakhir abad 20 dan awal abad 21. Web semakin banyak digunakan sebagai sarana untuk membeli (ataupun mengunduh secara gratis) musik, buku, film, mencari tempat liburan dan membeli berbagai barang dan kebutuhan.
Semua halaman web ditulis dengan menggunakan HTML. Halaman web yang dibuat secara manual oleh penulis, termasuk setiap rincian isi dan bentuk halamannya disebut static webpage. Halaman web dapat juga dibuat secara otomatis, yaitu dengan menggunakan bahasa pemograman lainnya, salah satu yang popular saat ini adalah PHP. Setiap halaman web, baik itu ditulis dengan menggunakan HTML maupun PHP, akan diterjemahkan (intrepret) oleh web browser ketika diambil dari server [10].
dengan format text file. Cara kedua, dengan menggunakan perangkat lunak seperti Dreamweaver yang dapat menampilkan tampilan halaman yang lebih kompleks seperti huruf cetak tebal, cetak miring, dan sebagainya.
2.7.2. PHP
PHP adalah bahasa pemograman yang didesain untuk era World Wide Web. PHP dibuat oleh Rasmus Lerdorf pada tahun 1994 dan awalnya digunakan untuk mengatur halaman web pribadinya. Awalnya, PHP merupakan kepanjangan dari Personal Home Page, tetapi kini PHP lebih sering diartikan sebagai ‘ PHP: Hypertext Preprocessor’ .
Program yang ditulis dalam PHP atau bahasa sejenisnya umumnya disebut scripts, dan PHP umumnya disebut sebagai scripting language. PHP juga sering digunakan bersama dengan MySQL untuk mengolah database. PHP juga merupakan interpreter bukan compiler [10].
2.7.3. CSS
CSS adalah bahasa yang digunakan untuk mendesain halaman HTML, dan juga mengatur bagaimana tampilan dari elemen-elemen dari HTML. CSS merupakan singkatan dari Cascading Style Sheet. Ketika CSS digunakan pada halaman HTML, format style HTML yang sebelumnya telah digunakan menjadi tidak berfungsi, dan digantikan dengan style oleh CSS. CSS dapat digunakan untuk mengatur ukuran, warna, tipe huruf, posisi suatu konten pada halaman web.
2.7.4. MySQL Databases
yang disebut tabel. Hanya terdapat satu nilai (atau tidak mempunyai nilai sama sekali) pada setiap sel dari tabel. Setiap baris dari tabel disebut record atau tuple, dan setiap kolom disebut field.
Jenis relational database yang sering digunakan bersamaan dengan PHP adalah MySQL database. Hal ini merupakan versi open-source dari sistem managemen relational dabase SQL (Structured Query Language) yang pada awalnya dikembangkan pada tahun 1970. MySQL disebut sebagai query language, yang berarti meliputi sekumpulan pertanyaan (queries) yang dikirimkan ke relational database untuk menanyakan ataupun memberikan perintah-perintah seperti menambah record ataupun mengubah isi dari record yang sudah ada sebelumnya [10].
2.7.5. HTTP Method
Hypertext Transfer Protocol (HTTP) didesain agar server dan client dapat saling berkomunikasi, web browser dapat dikatakan sebagai client dan komputer yang menyimpan data web site dapat disebut sebagai server. Protokol dalam http request sesuai dengan standar yang telah ditetapkan oleh The Internet Society yang dikenal dengan nama “HTTP/1.1”. HTTP merupakan protokol yang sangat bagus karena standar, sederhana, dan cara yang mudah untuk mengirim informasi ke web server.
Ada beberapa janis layanan hosting yaitu hosting berbagi (shared hosting), hosting dedikasi (dedicated hosting), VPS (Virtual Private Server) dan server kolokasi (colocation sever).
2.8. Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak (mobile) layar sentuh seperti smartphone dan komputer tablet. Android merupakan sistem operasi yang opensource, dan Google merilis kodenya di bawah lisensi Apache. Kode opensource dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi.
Android merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang dirilis oleh Google. Android dilengkapi dengan Android SDK (Software Development Kit) yang menyediakan tools dan mendukung kebutuhan API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android dengan menggunakan bahasa pemrograman Java.
2.8.1. Arsitektur Android
Arsitektur Android diibaratkan seperti sebuah tumpukan software. Pendapat tersebut dikemukakan oleh Open Handset Alliance yang mengasuh Google sebagai pencipta Android, yang mana setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Pada Gambar 7.1 di bawah ini akan menggambarkan arsitektur Android dari setiap arasnya yang mana diibaratkan seperti tumpukan software.
Gambar 2. 5 Arsitektur Android
application framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone [12].
2.8.2. Android SDK
Android SDK mencakup seperangkat alat pengembangan yang komperhensif. Android SDK terdiri atas debugger, libraries, handset emulator, dokumentasi, contoh kode dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop modern), MacOS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plug-in Android Development Tools (ADT), dengan ini pengembang dapat menggunakan teks editor untuk meng-edit file Java dan XML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android (misalnya reboot, menginstal paket perangkat lunak dari jarak jauh) [12].
2.9. Komponen Sepeda Motor Minerva MX 150
2.9.1. Baterai
2.9.2. Indikator Bahan Bakar
Idikator bahan bakar merupakan komponen otomotif yang berfungsi sebagai informasi jumlah bahan bakar yang ada di dalam tangki bahan bakar kepada pengemudi.
Sebuah gauge bahan bakar adalah sebuah alat yang digunakan untuk menunjukan tingkat bahan bakar yang terkadung dalam tangki. Secara umum, pelampung bahan bakar pada tangki akan menggerakkan sebuah plat tembaga yang unjung nya mengecil, kemudian ujung plat ini akan menyentuh dan bisa bergeser – geser pada sebuah untaian kawat. Pergeseran plat tembaga mengakibatkan berubahnya aliran arud listrik dalam rangkainnya. Dengan mengukur perubahan ini dapat dihitung tingkat bahan bakar didalam tangki bahan bakar [13].
2.9.3. Sistem Pengisian
sistem pengisian baterai Minerva MX 150 adalah AC magneto. Generator berfungsi untuk membangkitkan tegangan AC 3 fasa untuk digunakan sebagai daya pada sepeda motor. Tegangan keluaran generator ini berkisar antara 12VAC – 110VAC [14].
2.9.4. Indikator Transmisi Netral
Netral
Gambar 2. 6 Indikator transmisi netral [14]
2.9.5. Sakelar Power
Sakelar power adalah sakelar yang fungsi untuk menutup dan membuka rangkaian power pada sepeda motor [14].
2.9.6. Sakelar Starter