PEMBANGUNAN SISTEM SMART BUILDING BERBASIS MIKROKONTROLER (Deteksi Ketinggian Air Dalam Sebuah Gedung) TUGAS AKHIR Disusun sebagai salah satu syarat untuk kelulusan Program Strata 1, Program Studi Teknik Informatika, Universitas Pasundan Bandung oleh : Novitasari Erman nrp : 10.304.0170 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PASUNDAN BANDUNG JANUARI 2015
DAFTAR ISI ABSTRAK... i ABSTRACT... ii KATA PENGANTAR... iii UCAPAN TERIMAKASIH... iv DAFTAR ISI... v DAFTAR TABEL... viii DAFTAR GAMBAR... ix DAFTAR SIMBOL... xi DAFTAR LAMPIRAN... xii BAB 1 PENDAHULUAN... 1-1 1.1 Latar Belakang... 1-1 1.2 Identifikasi Masalah... 1-2 1.3 Tujuan Tugas Akhir... 1-2 1.4 Lingkup Tugas Akhir... 1-2 1.5 Metodologi Tugas Akhir... 1-3 1.6 Sistematika Penulisan... 1-4 BAB 2 LANDASAN TEORI... 2-1 2.1 Smart Building... 2-1 2.2 Embedded System... 2-1 2.2.1 Kategori Embedded System... 2-2 2.2.2 Hubungan Embedded System Dengan Mikrokontroler... 2-3 2.3 Mikrokontroler... 2-3 2.3.1 Definisi Mikrokontroler... 2-3 2.3.2 Pemanfaatan Mikrokontroler... 2-3 2.3.3 Jenis-Jenis Mikrokontroler... 2-5 2.4 Mikrokontroler Arduino... 2-6 2.4.1 Definisi Arduino... 2-6 2.4.2 Kelebihan Arduino... 2-6 2.4.3 Penggunaan dan Pemanfaatan Arduino... 2-7 2.4.4 Jenis-Jenis Hardware Arduino... 2-7 2.4.5 Hardware Arduino... 2-9 2.4.6 Bahasa Pemrograman Arduino... 2-10 2.4.7 Software Arduino... 2-10 2.4.8 Melakukan Penginstalan Arduino Ke Komputer... 2-12 2.4.9 Melakukan Penginstalan Driver Ke Komputer Untuk Windows... 2-12 2.4.10 Identifikasi Port Pada Windows... 2-13 v
2.5 Sensor Ultrasonik... 2-13 2.6 Breadboard... 2-14 2.7 Komunikasi... 2-15 2.8 Definisi Web... 2-17 BAB 3 ANALISIS DAN PERANCANGAN... 3-1 3.1 Kerangka Pengerjaan Tugas Akhir... 3-1 3.2 Skema Tugas Akhir... 3-3 3.3 Analisis Sistem... 3-4 3.3.1 Deskripsi Sistem... 3-4 3.3.2 Spesifikasi Fungsi Sistem... 3-5 3.3.3 Fitur Perangkat Keras Dan Perangkat Lunak... 3-5 3.3.4 Analisis Kebutuhan Sistem... 3-6 3.3.4.1 Analisis Kebutuhan Perangkat Keras... 3-6 3.3.4.2 Analisis Kebutuhan Perangkat Lunak... 3-7 3.3.4.3 Analisis Pengguna... 3-7 3.3.5 State Diagram... 3-7 3.4 Perancangan Sistem... 3-8 3.4.1 Desain Sistem... 3-8 3.4.2 Perancangan Perangkat Keras (Hardware)... 3-10 3.4.2.1 Perancangan Arduino Uno... 3-10 3.4.2.2 Perancangan Arduino Ethernet Shield... 3-11 3.4.2.3 Perancangan Sensor Ultrasonik... 3-12 3.4.2.4 Perancangan Relay... 3-13 3.4.2.5 Perancangan Pompa Air... 3-13 3.4.2.6 Perancangan Tandon Air... 3-14 3.4.3 Rangkaian Keseluruhan Komponen Perangkat Keras... 3-15 3.4.4 Perancangan Perangkat Lunak (Software)... 3-16 3.4.4.1 Use Case Diagram... 3-16 3.4.4.2 Perancangan Basis Data... 3-19 3.4.4.3 Class Diagram... 3-19 3.4.4.4 Sequence Diagram... 3-20 3.4.4.5 Perancangan Antarmuka Perangkat Lunak... 3-23 BAB 4 IMPLEMENTASI DAN PENGUJIAN... 4-1 4.1 Tinjauan Umum... 4-1 4.2 Implementasi... 4-1 4.2.1 Implementasi Perangkat Keras (Hardware)... 4-2 vi
4.2.1.1 Modul Dalam Perangkat... 4-2 4.2.1.2 Antarmuka Perangkat Keras... 4-3 4.2.2 Implementasi Perangkat Lunak (Software)... 4-5 4.2.2.1 Modul Perangkat Lunak (Software)... 4-5 4.2.2.2 Anwtarmuka Perangkat Lunak (Software)... 4-6 4.3 Pengujian Alat... 4-8 4.3.1 Pengujian Perangkat Keras (Hardware)... 4-9 4.3.1.1 Pengujian Arduino Dengan Sensor Ultrasonik... 4-9 4.3.1.2 Pengujian Arduino Dengan Relay Dan Pompa Air... 4-11 4.3.1.3 Pengujian Performa Perangkat Keras Secara Keseluruhan... 4-11 4.3.1.4 Data Analisa Keseluruhan Pengukuran Ketinggian Air... 4-13 4.3.2 Pengujian Perangkat Lunak (Software)... 4-15 4.3.2.1 Uji Coba Fungsi-Fungsi Website... 4-15 4.3.2.2 Uji Coba Performa Kecepatan Pengiriman Data... 4-16 BAB 5 PENUTUP... 5-1 5.1 Kesimpulan... 5-1 5.2 Saran... 5-1 DAFTAR PUSTAKA LAMPIRAN vii
DAFTAR TABEL Tabel 3.1 Kebutuhan Perangkat Keras... 3-6 Tabel 3.2 Kebutuhan Perangkat Lunak... 3-7 Tabel 3.3 Spesifikasi Pengguna... 3-7 Tabel 3.4 Penggunaan Pin Pada Deteksi Ketinggian Air... 3-16 Tabel 3.5 Definisi Aktor... 3-17 Tabel 3.6 Definisi Use Case... 3-17 Tabel 3.7 Skenario Use Case Monitoring Tinggi Air... 3-17 Tabel 3.8 Skenario Use Case Tambah Perangkat... 3-17 Tabel 3.9 Skenario Use Case Pencarian Log Aktifitas... 3-18 Tabel 3.10 Skenario Use Case Hapus Data Tinggi Air... 3-18 Tabel 3.11 Skenario Use Case Eksport Data Tinggi Air... 3-18 Tabel 3.12 Perancangan Basis Data... 3-19 Tabel 4.1 Modul Dalam Perangkat Keras... 4-2 Tabel 4.2 Modul Dalam Aplikasi... 4-5 Tabel 4.3 Pengujian Sensor Ultrasonik... 4-10 Tabel 4.4 Hasil Pengujian Relay Dan Pompa Air... 4-11 Tabel 4.5 Data Analisa Pengukuran Ketinggian Air... 4-13 Tabel 4.6 Hasil Uji Coba Aplikasi... 4-15 Tabel 4.7 Hasil Uji Coba Performa Kecepatan Pengiriman Data... 4-16 Tabel A-1 Source Code Program Arduino.....A-1 viii
DAFTAR GAMBAR Gambar 1.1 Metodologi Penelitian Tugas Akhir... 1-3 Gambar 2.1 Komponen Mikrokontroler... 2-4 Gambar 2.2 Hardware Arduino UNO... 2-9 Gambar 2.3 Jendela Utama IDE Arduino... 2-10 Gambar 2.4 Device Manager pada Windows... 2-13 Gambar 2.5 Breadboard... 2-15 Gambar 2.6 Jalur Breadboard... 2-15 Gambar 2.7 Arduino Etherned Shield... 2-16 Gambar 3.1 Kerangka Tugas Akhir Bagian 1... 3-2 Gambar 3.2 Kerangka Tugas Akhir Bagian 2... 3-3 Gambar 3.3 Skema Tugas Akhir... 3-4 Gambar 3.4 Gambaran Umum Sistem Deteksi Ketinggian Air... 3-5 Gambar 3.5 State Diagram Sistem Deteksi Ketinggian Air... 3-8 Gambar 3.6 Diagram Blok Sistem Ketinggian Air... 3-9 Gambar 3.7 Rangkaian Mikrokontroler Arduino Uno R3... 3-10 Gambar 3.8 Rangkaian mikrokontroler Arduino Ethernet Shield W5200... 3-11 Gambar 3.9 Ranngkaian Sensor Ultrasonik... 3-12 Gambar 3.10 Rangkaian Relay... 3-13 Gambar 3.11 Pompa Air... 3-13 Gambar 3.12 Perancangan dari Ember (Tandon Air)... 3-14 Gambar 3.13 Rangkaian Keseluruhan Komponen Perangkat Keras... 3-15 Gambar 3.14 Use Case Diagram... 3-16 Gambar 3.15 Class Diagram... 3-19 Gambar 3.16 Sequence DIagram Monitoring Tinggi Air... 3-20 Gambar 3.17 Sequence Diagram Tambah Perangkat... 3-20 Gambar 3.18 Sequence Diagram Pencarian Log Aktifitas... 3-21 Gambar 3.19 Sequence Diagram Hapus Data Tinggi Air... 3-22 Gambar 3.20 Sequence Diagram Eksport Data Tinggi Air... 3-23 Gambar 3.21 Halaman Monitoring Tinggi Air... 3-24 Gambar 3.22 Halaman Pencarian Log Aktifitas... 3-24 Gambar 3.23 Halaman Tambah Perangkat... 3-25 Gambar 4.1 Implementasi Rangkaian Arduino Uno, Ethernet Shield, dan Relay... 4-3 Gambar 4.2 Implementasi Sensor Ultrasonik... 4-4 Gambar 4.3 Implementasi Pompa Air... 4-4 Gambar 4.4 Model Perangkat Deteksi Tinggi Air Berbasis Mikrokontroler... 4-5 Gambar 4.5 Implementasi Antarmuka Monitoring Tinggi Air... 4-6 ix
Gambar 4.6 Implementasi Antarmuka Pencarian Log Aktifitas... 4-7 Gambar 4.7 Implementasi Antarmuka Save To Excel... 4-7 Gambar 4.8 Implementasi Antarmuka Hapus Data Tinggi Air... 4-8 Gambar 4.9 Implementasi Antarmuka Tambah Perangkat... 4-8 Gambar 4.10 Rangkaian Posisi Saat Pompa Air Dipasang... 4-12 Gambar 4.11 Kondisi Air Pada Ember Habis... 4-12 Gambar 4.12 Kondisi Saat Air Tandon Berkurang Pompa Air Hidup... 4-13 Gambar 4.13 Kondisi Saat Air Tandon Penuh Pompa Air Mati... 4-13 x
DAFTAR SIMBOL NO. SIMBOL KETERANGAN Simbol ini berperan sebagai pengguna perangkat lunak, atau yang berhubungan dengan antarmuka perangkat lunak. 1. Actor Simbol ini berperan sebagai antarmuka perangkat lunak. 2. 3. 4. Boundary Control Simbol ini berperan sebagai pemroses yang terdapat pada perangkat lunak. Simbol ini berperan sebagai data yang dikelola oleh perangkat lunak. Entity 5. Simbol ini berperan sebagai Aliran Proses. 6. Nama Use Case Simbol ini berperan sebagai external view sistem, menggambarkan apa yang user lakukan dengan sistem atau diperoleh dari system. 7. 8. 9. 11. 12 13 Simbol ini berperan sebagai relasi Include dimana fungsionalitas use case ada didalam use case lainnya. Simbol ini berperan sebagai state dan memiliki nama sesuai dengan kondisinya saat itu. Start atau awal dimulainya suatu diagram state. Finish atau akhir dari suatu aktivitas. Vcc merupakan simbol yang digunakan untuk memberikan daya pada rangkaian elektronik. GND merupakan simbol yang digunakan untuk menandai pin negatif pada rangkaian elektronik. xi
DAFTAR LAMPIRAN A.Source Code Program...A-1 xii