BAB II LANDASAN TEORI Landasan teori diperlukan karena sebelum kita memahami aplikasi yang akan kita buat ini kita harus mengetahui konsep-konsep yang terlihat dalam suatu perancangan tersebut. Tanpa konsep yang jelas dari suatu pengertian sudah pasti kita akan menemukan kesulitan-kesulitan didalam memahami sistem yang sedang berjalan. Semakin kita memahami konsep-konsep yang berkaitan dengan suatu sistem akan semakin mudah pula untuk mengerti bagaimana cara mengembangkan sistem tersebut agar menjadi suatu sistem yang selalu efektif, efisien dan aktual. Berikut ini akan diterangkan mengenai beberapa konsep yang berkaitan dengan Perancangan Smart House Kendali Dan Pemantauan Kelistrikan Rumah Berbasis Website Dengan Microcontroller Atmega 328. 2.1 Smart House Menurut Subari (2008),5 Smart house system adalah sebuah sistem berbantuan komputer yang akan memberikan segala kenyamanan, keselamatan, keamanan dan penghematan energi yang berlangsung secara otomatis dan terprogram melalui komputer pada gedung atau rumah tinggal anda. Ini berguna untuk mengendalikan hampir semua perlengkapan di rumah mulai dari pengaturan tata lampu hingga lainnya. 5 http://subari.blogspot.com/2008/03/smart-home-sistem-pintar-di- rumah.html, 19 mei 2013. 12 2.2 Definisi Kelistrikan Menurut wikipedia bahasa Indonesia Kelistrikan adalah sifat benda yang muncul dari adanya muatan listrik. Sedangkan menurut Wijilestari (2007),6 kata listrik dalam bahasa Inggris yaitu electric, dalam bahasa Yunani yaitu elektron berarti amber. Amber adalah pohon damar yang membatu dan pengetahuan kuno membuktikan bahwa jika anda menggosok batang amber dengan sepotong kain, maka amber akan menarik potongan daun kecil-kecil atau debu hal ini disebut efek listrik. Menurut Kanginan (2006),7 ada beberapa istilah yang berkaitan dengan kelistrikan, yaitu : 1. Arus listrik adalah aliran muatan-muatan positif. 2. Tegangan listrik adalah sebuah dorongan yang ditimbulkan oleh sumber listrik. 3. Daya listrik adalah laju dimana energi dibebaskan. Satuan daya listrik adalah watt. 4. Hambatan listrik adalah sesuatu yang sifatnya menghambat aliran listrik. Satuannya Ohm. 5. Energi listrik adalah tenaga listrik yang di gunakan pada waktu tertentu. Satuan dari energi listrik adalah Joule. 6 7 Wijilestari,S.Si, Budi. 2007. Listrik Statis, P4TK BMTI Bandung. Kanginan, Ir.Marthen .2006.IPA FISIKA Untuk SMP,Erlangga. 13 6. Potensial listrik adalah besaran yang menyatakan dorongan terhadap elektron-elektron agar dapat mengalir. 2.3 Definisi Sistem Kendali Menurut Suyadhi (2010),8 berdasarkan komponen pembangun ,sistem kendali robot dapat dibagi menjadi dua jenis. Jenis pertama adalah sistem kendali statis (unprogrammable), Disebut statis karena komponen pembangun sistem kendali jenis ini adalah sirkuit terpadu (IC) yang bersifat tetap dan tidak dapat diprogram ulang. Jenis kedua adalah sistem kendali dinamis (programmable). Disebut dinamis karena komponen pembangun sistem kendali jenis ini adalah IC yang dapat diprogram ulang sesuai dengan kebutuhan. Bahasa pemrograman komponen terprogram yang sering dipakai adalah bahasa pemrograman rakitan (Assembly) atau bahasa pemrograman C/C++ dan juga bahasa pemrograman PLC yang berupa diagram tangga (ladder diagram). 2.4 Sistem Dasar Pembangun Perangkat Kendali Sistem dasar ini harus dibuat dengan perencanaan yang tepat, agar Perangkat yang dirancang dapat berfungsi dengan baik. Berikut adalah beberapa hal dalam pembangunan sebuah robot. 8 suyadhi, Taufiq dwi septhian.2010. Buku Pintar Robotika, ANDI Yogyakarta. p.6 14 2.4.1 Sistem Mekanik Sistem mekanik merupakan salah satu bagian penting yang digunakan untuk menyusun sebuah mesin pengendali. Sistem mekanik meliputi bentuk dan desain, material penyusun, serta sistem penunjang penggerak. 2.4.2 Sistem elektronik Menurut Tim Lab Elektronika (2009),9 sistem elektronik merupakan faktor utama sebuah controller. Sistem elektronik digunakan untuk menggerakkan, mengendalikan dan menstabilkan. Secara umum, yang tergolong dalam sistem elektronik Controller adalah rangkaian sensor, rangkaian catu daya, rangkaian pengendali (driver), rangkaian kontrol, dan rangkaian penggerak (aktuator). Rangkaian sensor dapat dikatakan sebagai panca inderanya yang bertugas sebagai penerima rangsangan dari lingkungan sekitar. Rangkaian catu daya merupakan rangkaian pembangkit listrik sebuah sistem. Rangkaian ini berfungsi untuk memberi, mengatur dan membagi daya listrik pada alat-alat atau komponen-komponen yang memerlukan daya listrik. Rangkaian pengendali (driver) merupakan rangkaian yang berguna untuk mengendalikan beberapa rangkaian yang terdapat pada papan pengendali. Rangkaian kontrol merupakan sistem otak dari sebuah pengendali. Rangkaian ini berfungsi untuk mengontrol semua komponen yang ada pada 9 Tim Lab Elektronika Terapan,2009.Mendesain PCB dengan Software Eagle dan Pcb Designer,Indah Surabaya. 15 sebuah perangkat pengendali. Rangkaian penggerak atau biasa disebut aktuator berfungsi untuk menggerakkan suatu alat sesuai dengan perintah yang diberikan. Penggerak / aktuator yang utama adalah motor, motor jenis DC, motor stepper serta motor servo. Namun aktuator yang lain yang bisa dipakai adalah pneumatis (tekanan udara) dan hidrolis (tekanan air). Rangkaian-rangkaian sistem elektronika tersebut berada dalam suatu papan yang disebut papan PCB (Printed Circuits Board). Pcb ini merupakan jalur-jalur yang akan menghubungkan komponen yang satu dengan komponen lainnya sehingga tercipta suatu rangkaian. Papan PCB yang umum dipasaran dan sering digunakan ada 2 jenis, yaitu : a. Single Layer Memiliki satu lapisan tembaga sehingga lapisan yang satunya sebagai tempat meletakkan komponen yang akan dipasang. b. Double Layer Kedua lapisan PCB tersebut berupa lapisan tembaga dan lapisan tempat meletakkan komponen juga sehinggak setiap lapisan mempunyai fungsi ganda. Disini untuk merancang sistem elektroniknya lebih baik dibantu dengan sebuah software. Ada berbagai macam software yang berfungsi untuk perancangan suatu rangkaian elektronika. Namun disini kita memakai suatu software yang bernama Eagle. Lebih tepatnya disini kita memakai Eagle versi 6.2.0 dengan jenis Freeware. Gambar dibawah ini merupakan gambar kontrol panelnya. 16 Gambar 2.1 Control Panel Eagle Gambar dibawah ini adalah gambar tampilan scematicnya, disini mempunyai fungsi utama untuk tempat menggambar rangkaian dari PCB yang akan kita buat. Pada tampilan schematic ini telah disediakan bermacam-macam simbol komponen elektronika jadi kita bisa mengambil sesuai kebutuhan. 17 Gambar 2.2 Schematic Eagle Lalu dibawah ini merupakan gambar board dari aplikasi Eagle. Tampilan ini difungsikan setelah kita menggambar rangkaian di schematic. Jadi dengan kata lain jika di schematic tidak ada rangkaian maka di board juga tidak akan ada gambarnya. Kemudian yang ditampilkan di board adalah bentuk semua komponen dari komponen pada schematic, berikut juga garis penghubung antara komponen, dan garis inilah yang akan membentuk jalur atau track. 18 Gambar 2.3 Board Eagle Sebenarnya masih banyak software pendukung pembuatan rangkaian elektronika, misalnya Protel, PCB Designer dan lain-lain. Namun software eagle telah banyak dipakai dikalang mahasiswa sehingga kita memakai software eagle ini untuk perancangan sistem elektroniknya. 2.4.3 Sistem Kendali Sistem kendali suatu kontroler dibagi menjadi 2 : a. Sistem kendali statis (unprogrammable) Dikendalikan oleh IC yang bersifat tetap dan tidak dapat diprogram. b. Sistem kendali dinamis (programmable) 19 Dikendalikan oleh IC yang dapat diprogram ulang misalnya IC Microkontroller, Programmable Logic Controller (PLC). Disini sistem yang akan kita rancang adalah sistem yang bersifat programmable atau dapat diprogram ulang. Program yang akan kita tanamkan di otak kontroller atau IC pengendali ini adalah suatu bentuk perintah-perintah untuk mengendalikan alat dan komponen tersebut. 2.5 Definisi Microkontroller Atmega 2560 2.5.1 Definisi Microcontroller Menurut Suyadhi (2010,)10 mikrokontroller adalah sebuah sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu keping IC (Integreted Circuit) sehingga sering disebut mikrokomputer chip tunggal. Mikrokontroler juga disebut chip cerdas yang menjadi tren dalam pengendali dan otomasi. sumber : http://adit-zhiipiet.blogspot.com/2012/05/sekilas-microkontroler.html, 29 mei 2013 Gambar 2.4 Perbedaan CPU dengan Microcontroller 10 Suyadhi. Op. cit p.264 20 Ram (random access memory) adalah sifat memory yang volatile artinya akan menyimpan data selama memory itu diberi tegangan. Rom (read only memory) adalah sifat non volatile artinya memory akan menyimpan data ada atau tidak adanya tegangan. EEPROM (electricaly erasable programmable read only memory) adalah memory ini dapat dipakai untuk menyimpan data dari mikrokontroler pada saat program utama sedang berjalan. Namun ukuran Eeprom pada mikrokontroler sangat terbatas, sehingga anda harus pandai-pandai memperhitungkan data yang akan disimpan didalam Eeprom. Vendor pembuat mikrokontroler yang populer seperti Intel, Atmel, Motorola, Microchip dan Harris. 2.5.2 Microcontroller AVR Menurut Arifianto (2011),11 Mikrokontroler AVR (Alf and Vegard’s Risc Processor) dari Atmel ini menggunakan arsitektur RISC (Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC (Complex Instruction Set Computer). Sekarang ini AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga Attiny, keluarga AT90Sxx, keluarga Atmega, keluarga AT90CAN keluarga AT90PWM dan AT86RFxx. Pada dasarnya yang membedakan masingmasing kelas adalah memory, peripheral dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan hampir sama. 11 Arifianto, Deni.2011,Bikin Robot Itu Gampang,PT Kawan Pustaka. 21 Gambar 2.5 Keluarga Mikrokontroler AVR 2.5.3 Microkontroler Atmega 2560 Adapun spesifikasi atmega 2560 adalah : 256KB FLASH for ATmega2561 8 KB SRAM (internal RAM) 4 KB EEPROM 100-pin Version 86 I/O pins hardware multiplier programming lock for software security SPI Interface for In-System Programming real time counter with separate oscillator 8-channel, 10-bit ADC: - 8 single-ended channels - 7 differential channels 22 - 2 differential channels with programmable gain at 1x, 10x, or 200x four programmable serial USARTs (4x UART) Master/Slave SPI serial interface 2x 8bit timer, 2x 16bit timer 16 MHz RISC Gambar 2.6 Atmega 2560 dan Pinoutnya 23 2.6 Pengenalan Controller Arduino Mega R3 Berikut ini dapat dilihat gambar Controlernya beserta keterangan gambar : Gambar 2.7 Controller Arduino Mega R3 Fitur Atmega2560 microcontroller Input voltage 7-12 V 54 Digital I/O Pins (12 PWM outputs) 16 Analog Inputs 256k Flash Memory 16Mhz Clock Speed 2.7 Tools Pengembangan 2.7.1 Adobe Dreamwaver CS 3 Menurut Hermawan (2009),12 adobe Dreamweaver merupakan software HTMl editor profesional untuk mendesain web secara visual, 12 C.Widyo Hermawan,2009,Mahir dalam 7 hari: Adode Dreamweaver,Andi Offset. 24 mengelola situs atau halaman web, selain itu juga dapat digunakan sebagai media penulisan bahasa pemrograman web. Dreamweaver berinteraksi dengan beberapa bahasa pemrograman seperti: PHP, ASP dan JavaScript memberikan fasilitas maksimal kepada para desainer web pada tingkatan programmer. Saat ini dreamweaver banyak digunakan para web desainer dan web programer. Program ini memberikan kemudahan untuk mendesain web,meskipun untuk para web desainer pemula sekalipun. Kemampuan Dreamweaver berinteraksi dengan bahasa pemrograman seperti : PHP, ASP dan javascript, memberikan fasilitas maksimal kepada para desainer pada tingkatan programer. Gambar 2.8 Tampilan adobe dreamweaver cs3. 2.7.2 XAMPP XAMPP merupakan sebuah platform aplikasi yang terdiri dari sekumpulan aplikasi pokok atau aplikasi utama yang terdiri dari : a. Apache, yaitu sebuah aplikasi server web open source 25 b. MySQL, yaitu sebuah aplikasi server database open source c. Php, yaitu sebuah aplikasi pemrograman berbasis (atau untuk) web d. Perl, yaitu sebuah aplikasi pemrograman sistem XAMPP dikembangkan dari sebuah tim proyek bernama Apache Friends, terdiri dari Tim Inti (Core Team), Tim Pengembang (Development Team), Tim dukungan (Support Team) dkk.Buka web browser dan ketik http://localhost maka seharusnya akan muncul halaman berlogo XAMPP warna orange seperti berikut : Gambar 2.9 Tampilan xampp Oke berikut ini tutorial langkah demi langkah cara membuat database mySQL di PHPMyAdmin. 1. Langkah pertama tentu saja membuka web browser kesayangan kamu. Ketikkan localhost pada url addressnya. 26 2. Pilih menu phpMyAdmin seperti yang ditunjukkan pada gambar di bawah ini Gambar 2.10 Tampilan untuk memilih phpMyAdmin 3. Ketikkan nama database yang ingin dibuat, lalu klik tombol create untuk membuat database tersebut seperti yang ditunjukkan pada gambar dibawah ini Gambar 2.11 Tampilan Untuk membuat Database 27 4. Apabila database berhasil dibuat maka akan muncul pesan “Database coba has been created.” seperti yang ditunjukkan pada gambar dibawah ini. Gambar 2.12 Tampilan pesan hasil dari database yang kita buat 2.7.3 Pemrograman Arduino Arduino merupakan sistem mikrokontroler yang relatif mudah dan cepat dipelajari dalam membuat aplikasi elektronika maupun robotika. Bahasa pemrograman Arduino adalah bahasa C. Tetapi sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa mempelajarinya dengan cukup mudah. 28 Gambar 2.13 Skema Program Arduino Pada bagin layer coding yang ditunjukkan pada gambar di atas, menunjukkan tempat dimana kita meletakkan program yang akan kita tulis. Standar penulisan itu mempunyai 2 fungsi yang harus ada. 2 fungsi tersebut dapat dilihat pada gambar di bawah ini. Gambar 2.14 Struktur penulisan Arduino 29 Berikut ini ada beberapa kelebihan dari arduino : 1. Koneksi program Pc ke board arduino menggunakan koneksi Port USB. 2. Bahasa pemrograman dengan bahasa C yang telah dipermudah menggunakan fungsi-fungsi sederhana. 3. Library gratis, artinya dapat didownload gratis diwebsite Arduino. 4. Pengembangan hardware dan software didukung penuh oleh komunitas elektronika dan pemrograman diseluruh dunia, jadi akan saling membantu dan berbagi satu sama lain. Untuk membuat program Arduino dan mengupload kedalam board Arduino, anda membutuhkan software Arduino IDE (Integrated Development Environment). Disini penulis memakai Arduino versi 1.0.5, berikut gambarnya. Gambar 2.15 Tampilan Program Arduino 1.0.5