BAB II LANDASAN TEORI
II.1. Alat Pengontrol Pengaman Pintu Ruangan II.1.1 Alat Pengontrol sistem kontrol atau alat pengontrol adalah suatu sistem pengaturan terhadap satu atau beberapa besaran (variabel, parameter) sehingga berada pada suatu harga atau dalam suatu rangkuman harga (range) tertentu. Tujuan utama dari sistem kendali adalah untuk mendapatkan optimasi di mana dalam hal ini diperoleh berdasarkan fungsi sistem kendali itu sendiri, yaitu pengukuran (measurement), perbandingan (comparison), pencatatan (recording), perhitungan (computation), dan perbaikan (correction). Sistem kendali dapat dikelompokkan menjadi Manual (operator manusia) dan otomatis (mesinperalatan, robotik). [1] II.1.2 Pengaman Pintu Ruangan Ada berbagai macam jenis pengaman pintu ruangan. Namun kali ini penulis akan menggunakan selenoid door lock sebagai alat pengaman pintu ruangan. Selenoid merupakan suatu komponen elektro yang berkerja berdasarkan sistem elektromagnetis, sehingga didalam selenoid terdapat kawat penghantar yang dililitkan pada inti besi dan solenoid itu sendiri mempunyai sebatang besi yang digunakan sebagai penarik atau tuas. Apabila penghantar yang dililitkan pada inti besi dialiri listrik maka lilitan tersebut mengeluarkan medan magnet sehingga dapat menarik batang besi. [2]
7
8
II.2. Mikrokontroler ATMega8535 Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PPL, EEPROM dalam suatu kemasan. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan popular. Ada beberapa vendor yang membuat mikrokontroler diantaranya Intel, Microchip, Winbond, Atmel, Philips, Xemics dan lain-lain buatan Atmel. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua intruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar intruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. AVR berteknologi RISC (Complex Instruction Set Computing), sedangkan seri umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx.[3]
Gambar II.1 Mikrokontroler ATMega8535 Sumber : (Afrie Setiawan, 2011)
9
II.2.1. Arsitektur ATMega8535
Gambar II.2 Blok Diagram Fungsional ATMega8535 Sumber : (Afrie Setiawan, 2011)
10
Dalam gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memory Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator serial. 12. Port USART untuk komunikasi serial. II.2.2. Fitur ATMega8535 Kapabilitas detail dari ATMega8535 adalah sebagai berikut: 1. Sitem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz 2. Kapabilitas memori flash 8 kb, SRAM sebesar 512 byte, dan EEPROM sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
11
II.2.3. Konfigurasi Pin ATMega8535 Konfigurasi pin ATMega8535 dapat dilihat pada Gambar II.3. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut.[4]
Gambar II.3 Pin ATMega8535 Sumber : (Afrie Setiawan, 2011)
1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin Ground. 3. Port A(PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B(PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer / Counter, komparator analog, dan SPI. 5. Port C(PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan Timer Oscilator. 6. Port D(PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komporator analog, interupsi ekternal, dan komunikasi serial.
12
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock ekternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC.
II.3 Bluetooth Bluetooth sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host to host bluetooth dengan jarak jangkauan layanan yang terbatas.[5] Bluetooth sendiri dapat berupa card yang bentuk dan fungsinya hampir sama dengan card yang digunakan untuk Wireless Local Area Network (WLAN) dimana menggunakan frekuensi radio standar IEEE802.11, hanya saja pada bluetooth mempunyai jangkauan jarak layanan yang lebih pendek dan kemampuan transfer data yang lebih rendah. Sistem Bluetooth terdiri dari sebuah radio transceiver, baseband link Management dan Control, Baseband (processor core, SRAM, UART, PCM USB Interface), flash dan voice code. sebuah link manager. Baseband link controller menghubungkan perangkat keras radio ke baseband processing dan layer protocol fisik. Link manager melakukan aktivitas-aktivitas protokol tingkat tinggi seperti melakukan link setup, autentikasi dan konfigurasi. Bentuk fisik modul Bluetooth HC-06 dapat dilihat pada gambar II.4
13
Gambar II.4 Bentuk Fisik Modul Bluetooth HC-06 Sumber : http://www.botscience.net
II.4. LCD 16 x 2 LCD (Liquid Crystal Display) merupakan suatu jenis media tampilan yang menggunakan crystal cair sebagai penampil utama. LCD adalah salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. LCD memanfaatkan silikon atau galium dalam bentuk kristal cair sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom. Dengan demikian setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda transparan. Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola olektroda yang terdapat pada sisi dalam lempeng kaca bagian depan. Bentuk fisik LCD 16x2 dapat dilihat pada gambar II.5
14
Gambar II.5. Bentuk Fisik LCD 16x2 Sumber : (Afrie Setiawan, 2011)
LCD yang digunakan adalah jenis LCD yang menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah [6] 1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan dalam pembuatan program tampilan. 2. Mudah dihubungkan dangan port I/O karena hanya menggunakan 8 bit data. 3. Ukuran modul yang proporsional. 4. Daya yang digunakan relatif sangat kecil.
II.5 Keypad 3x4 Keypad Rubber 3 x 4 adalah tombol-tombol yang disusun secara maktriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Keypad memiliki 12 tombol dimana keypad memiliki konfigurasi 4 baris (input scanning) dan 3 kolom (output scanning). Keypad berfungsi sebagai alat input kode password untuk selenoid door lock.[7]
15
Gambar II.6. Bentuk fisik keypad 3x4 Sumber : (http://digiwarestore.com)
II.6 Selenoid Door Lock Selenoid merupakan suatu komponen elektro yang berkerja berdasarkan sistem elektromagnetis, sehingga didalam selenoid terdapat kawat penghantar yang dililitkan pada inti besi dan solenoid itu sendiri mempunyai sebatang besi yang digunakan sebagai penarik atau tuas. Apabila penghantar yang dililitkan pada inti besi dialiri listrik maka lilitan tersebut mengeluarkan medan magnet sehingga dapat menarik batang besi.[2] Solenoid merupakan kawat berbahan konduktor yang disusun sehingga membentuk kumparan (koil) dan dapat dialiri arus listrik. Kuat medan magnet di dalam (sumbu) solenoida jauh lebih besar bila dibanding dengan di luar solenoida. Solenoida disebut ideal bila medan magnet di dalam solenoida bersifat homogen dan diluarnya nol.
16
Gambar II.7. Bentuk fisik Solenoid Door Lock Sumber : (http://www.amazon.com/Open-Frame-Type-SolenoidElectric/dp/B005FOTJF8)
Selenoid door lock pada alat ini bekerja ketika diberi tegangan 12V. Didalam solenoid terdapat kawat yang melingkar pada inti besi. Ketika arus listrik mengalir melalui kawat, maka terjadi medan magnet untuk menghasilkan energi yang akan menarik inti besi ke dalam. Dan ketika tidak diberi arus listrik maka medan magnet akan hilang dan energi yang menarik inti besi ke dalam akan hilang juga sehingga membuat posisi inti besi ke posisi awal. Keadaan ini dimanfaatkan
sebagai
pengunci
pintu.
Peralatan
yang
dipakai
untuk
mengkonversikan sinyal elektrik atau arus listrik menjadi gerak mekanik. Terdiri dari kumparan dan inti besi yang dapat digerakkan.
II.7 Bahasa Pemrograman II.7.1 BASCOM AVR BASCOM-AVR adalah program basic compiler berbasis windows untuk microcontroller keluarga AVR merupakan pemrograman dengan bahasa tingkat tinggi “BASIC” yang dikembangkan dan dikeluarkan oleh MCS elektronika sehingga dapat dengan mudah dimengerti atau diterjemah.
17
Dalam program BASCOM-AVR terdapat beberapa kemudahan, untuk membuat program software ATMega8535, seperti program simulasi yang sangat berguna untuk melihat, semulasi hasil yang telah kita buat, sebelum program tersebut kita download ke IC atau ke mikrokontroler. Ketika program BASCOM-AVR dijalankan dangan mengklik icon BASCOMAVR, maka jendela akan tampil seperti berikut :
Gambar II.8. BASCOM-AVR Sumber : http://www.mcselec.com
BASCOM-AVR adalah salah satu tool untuk pengembangan/pembuatan program untuk kemudian ditanamkan dan dijalankan pada mikrokontroler terutama mikrokontroler AVR. BASCOM-AVR juga bisa disebut sebagai IDE (Integrated Development Environment) yaitu lingkungan kerja yang terintegrasi, karena disamping tugas utamanya (meng-compile kode program menjadi file HEX / bahasa mesin), BASCOM-AVR mendukung semua fitur – fitur yang ada pada ATMEGA.[8]
18
II.8. Komunikasi Data II.8.1. USBasp Programmer USBasp Programmer adalah suatu perangkat yang digunakan untuk menuliskan program (men-download) pada Microcontroller ATMEL AVR. Dengan menggunakan perangkat ini kita dapat mengisikan file *.hex yang telah di Compile (diciptakan) oleh software seperti Code Vision AVR. Banyak kelebihan yang kita dapatkan dengan menggunakan perangkat ini, diantaranya : 1.
Kecepatan mengisi program yaitu 5 kBytes/s.
2.
Tidak menggunakan kontroler tambahan seperti SMD khusus.
3.
Fasilitas SCK digunakan untuk men-download target dengan (kecepatan rendah kurang dari 1,5MHz).
4.
Tidak memerlukan supply tambahan dan dapat digunakan untuk mensupply power dari Mikrokontroler.
5.
Dapat digunakan untuk berbagai platform seperti Linux, Mac OS, Windows XP, Windows Vista, Windows 7,dan Windows 8.
Gambar II.9. USBasp Downloader Sumber : http://www.usbasp.com
19
II.9. Android Android adalah sistem operasi untuk perangkat selular yang berbasis Linux yang mencakup sistem operasi, middleware dan aplikasi.[9] Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google
Inc. membeli Android Inc.pendatang baru yang
membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Dilain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar– benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
II.9.1. App Inventor App Inventor for Android adalah aplikasi yang pada dasarnya disediakan oleh Google dan sekarang di-maintenance oleh Massachusetts Institute of Technology (MIT). App Inventor memungkinkan semua orang untuk membuat software aplikasi untuk sistem operasi android. Pengguna dapat menggunakan
20
tampilan grafis GUI dan fitur drag and drop visual objek untuk membuat sebuah aplikasi dapat berjalan pada sistem operasi Android. App Inventor adalah sebuah pemrograman visual yang digunakan untuk mengembangkan aplikasi berbasis Android dengan dukungan fitur berupa drag and drop tool. Anda dapat mendesain user interface dari sebuah aplikasi dengan menggunaka web GUI (Graphical User Interface) builder, kemudian anda dapat menspesifikasikan behavior aplikasi dengan memasangkan block yang sesuai dengan kebutuhan anda. App Inventor menggunakan Kawa Language Framework dann Kawa’s dialect yang dikembangkan oleh Per Botner. Kedua aplikasi tersebut didistribusikan sebagai bagian dari GNU Operating System oleh Free Software Fondation.
Kedua
aplikasi
tersebut
dijadikan
sebagai
compiler
dan
menerjemahkan Visual Block Programming untuk di implementasikan pada platform Android.[10]
Gambar II.10. Tampilan Awal App Inventor Sumber : (Wahana Komputer : 2013 : 3)
21
II.9.2. Fitur – fitur Android Android tersedia secara open source bagi manufaktur perangkat keras untuk modifikasinya sesuai kebutuhan. Meskipun konfirgurasi perangkat Android tidak sama antara satu perangkat dengan perangkat lain. Fitur yang tersedia Android adalah : 1. Penyimpanan (Storage) : menggunakan SQLite yang merupakan database relational yang ringan untuk menyimpan data. 2. Koneksi (Connectivity) : mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (termasuk A2DP dan AVRCP), Wifi, LTE, dan WiMax. 3. Pesan (Messaging) : mendukung SMS dan MMS. 4. Mendukung Media : audio, video, dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). 5. Web Browser : menggunakan open source WebKit termasuk di dalamnya engine Chrome V8 JavaScript. 6. Hardware : terdapat Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor dan GPS. 7. Multi touch : mendukung layar multi touch. 8. Multi tasking : mendukung aplikasi multi tasking. II.9.3. Arsitektur Android Agar lebih mudah memahami bagaimana Android bekerja, berikut ini bagan tingkatan – tingkatan sistem operasi Android :
22
Gambar II.11. Arsitektur Sistem Operasi Android Sumber : (Pemograman Aplikasi Android)
Secara garis besar system operasi Android terbagi menjadi lima tingkatan : 1. Aplications pada tingkat inilah kita akan bekerja, contoh aplikasi ini banyak ditemui, seperti : Phone, Contack, Browse dan lain – lain. Seperti aplikasi Android pada umumnya yang dapat di download dan di install dari Market Android. Semua aplikasi yang anda buat terleteak pada tingkat Applications. 2. Aplication Framework adalah semacam kumpulan class built-in yang tertanam dalam sistem operasi Android sehingga pengembang dapat memanfaatkanya untuk aplikasi yang sedang dibangun. 3. Libraries berisi semua kode program yang menyediakan layanan – layanan utama sistem operasi Android. Sebagai contoh library SQLite yang menyediakan dukungan database sehingga aplikasi Android dapat menggunakannya
untuk
menyimpan
data.
Library
menyediakan fungsi – fungsi browsing web, dan lain – lain.
WebKit
yang
23
4. Android Runtime kedudukannya setingkat dengan libraries, Android Runtime menyediakan kumpulan pustaka inti yang dapat diaktifkan oleh pengembang untuk menulis kode aplikasi Android dengan bahasa pemrograman Java. Dalvik Virtual Machineaktif setiap kali aplikasi Android berproses (aplikasi Android dikompilasi menjadi Dalvik executable). Dalvik adalah mesin semu yang dirancang khusus untuk Android yang dapat mengoptimalkan daya battery perangkat bergrak dengan memori dan CPU terbatas. 5. Linux kernel adalah kernel dasar Android. Tingkat ini berisi semua driver perangkat tingkat rendah untuk komponen – komponen hardware perangkat Android.