RANCANG BANGUN APLIKASI UNTUK
KONFIGURASI OTOMATIS PENGGUNAAN
SENSOR PADA ARDUINO
Tugas Akhir
Disampaikan Sebagai Bagian Dari Persyaratan Kelulusan Diploma 3 Program Studi Teknik Komputer
Oleh:
11113003 Daniel Panjaitan
11113005 Veronica G R Napitupulu 11113020 Rony David Ferdinand S.
Institut Teknologi Del
Lembar Pengesahan Tugas Akhir
Institut Teknologi Del
RANCANG BANGUN APLIKASI UNTUK
KONFIGURASI OTOMATIS PENGGUNAAN
SENSOR PADA ARDUINO
Oleh:
11113003 Daniel Panjaitan
11113005 Veronica G R Napitupulu 11113020 Rony David Ferdinand S.
Sitoluama, Juli 2016 Pembimbing
Deni Lumbantoruan, S.T, M.Eng NIDN. 0114017901
Dinyatakan memenuhi syarat dan karenanya disetujui dan disahkan sebagai
Laporan Tugas Akhir Diploma 3
Program Studi Teknik Komputer
Prakata
Puji dan syukur kepada Tuhan Yang Maha Esa, atas rahmat yang diberikan kepada penulis sehingga Tugas Akhir ini dapat diselesaikan dengan baik.
Laporan Tugas Akhir ini bertujuan untuk memberikan informasi bagi pembaca mengenai implementasi Rancang Bangun Aplikasi untuk Konfigurasi Otomatis Penggunaan Sensor pada Arduino. Laporan Tugas Akhir ini merupakan sebagai
bagian syarat kelulusan Diploma III Institut Teknologi Del.
Penulis menyampaikan terima kasih kepada Bapak Deni Lumbantoruan sebagai dosen pembimbing yang telah memberikan saran, bimbingan dan arahan kepada penulis selama pengerjaan Tugas Akhir ini. Penulis juga mengucapkan terimakasih kepada Bapak Albert Sagala dan Bapak Marojahan Sigiro sebagai dosen penguji Tugas Akhir ini dan kepada koordinator Tugas Akhir atas saran yang diberikan dalam pengerjaan Tugas Akhir ini.
Penulis juga mengucapkan terimakasih kepada orang tua, teman sejawat dan semua pihak yang telah membantu dan memberikan dukungan selama pengerjaan Tugas Akhir ini.
Penulis menyadari bahwa masih ada kekurangan dalam laporan Tugas Akhir ini, oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun untuk perbaikan laporan ini dimasa mendatang.
Sitoluama, Juli 2016
Daniel Panjaitan
Abstrak
Pada era modern sekarang ini, telah banyak dikembangkan sistem yang bertujuan untuk melakukan otomatisasi pertanian secara terintegrasi dengan menggunakan sistem tertanam dan aplikasi berbasis web maupun mobile. Oleh karena perkembangan ini, pertanian pada era modern mampu dioptimalkan dikarenakan sistem tersebut mampu melakukan pemantauan dan pengontrolan secara lebih realtime dan efisien.
Akan tetapi, perkembangan teknologi ini hanya berdasarkan pada perkembangan sistem yang statis dengan hanya memikirkan bahwa sistem yang akan dibangun hanya ditujukan untuk melakukan satu fungsi tertentu. Sebagai contoh sebuah sistem dikembangkan hanya untuk melakukan penyiraman otomatis jika suhu udara meningkat. Sistem ini tidak dapat digunakan jika pihak terkait ingin melakukan penyiraman otomatis jika kadar pH tanah berubah.
Karena itu, penulis mencoba untuk mengembangkan sistem yang akan melakukan otomatisasi dengan menambahkan kemampuan fleksibilitas sistem dalam penggunaan sensor. Sistem terdiri dari gabungan sistem tertanam yang menggunakan sensor, aktuator dan sebuah aplikasi berbasis web yang digunakan sebagai antarmuka pengguna. Sistem ini akan mengatur pengukuran kondisi, melakukan aktuasi, menampilkan informasi serta melakukan konfigurasi sensor.
Bagian sistem tertanam yang akan dibangun harus mampu memberikan kemampuan dalam fleksibilitas penggunaan sensor. Dimana pengguna dapat menggunakan berbagai jenis sensor secara langsung pada sistem dengan konfigurasi minimum yang dilakukan oleh pengguna melalui aplikasi berbasis web yang disediakan. Hasil observasi keadaan lingkungan yang diberikan oleh sistem tertanam melalui sensor yang digunakan akan ditampilkan pada aplikasi berbasis web yang telah disediakan
Dengan adanya sistem ini, diharapkan dapat membantu pihak petani dalam memantau dan mengendalikan kondisi lahan pertanian dengan kemampuan penggunaan sensor secara fleksibel pada sistem yang telah dibuat.
Daftar Isi
Bab II Tinjauan Pustaka ... 15
2.1 Landasan Teori ... 15
2.2.2 Sensor Kelembaban Tanah (Soil Moisture) ... 20
2.2.3 Sensor Suhu (IC LM35) ... 22
2.2.4 Sensor Kelembaban Udara (DHT11) ... 24
2.3 Perangkat Lunak (Software)... 26
2.4 Jurnal yang Berhubungan ... 27
2.4 Kesimpulan... 32
Bab III Analisis dan Perancangan ... 33
3.1 Analisis ... 33
3.1.1 Analisis Masalah... 33
3.1.2 Analisis Pemecahan Masalah ... 34
3.1.3 Analisis Kebutuhan Sistem ... 36
3.2 Perancangan ... 38
3.2.1 High Level Sistem Overview ... 38
3.2.2 Deskripsi Umum Sistem ... 41
3.2.3 Deskripsi Detail Sistem ... 42
Bab IV Implementasi ... 46
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak Sistem ... 46
4.2 Implementasi Perangkat Keras ... 46
4.2.1 Implementasi Rangkaian Mikrokontroller dengan sensor DHT11 ... 46
4.2.2 Implementasi Mikrokontroller dengan sensor Soil Moisture ... 47
4.2.3 Implementasi Mikrokontroller dengan sensor Temperature LM35 ... 48
4.3 Instalasi Perangkat Lunak ... 49
4.3.2 Instalasi LAMP Server ... 51
4.3.3 Instalasi Framework YII2 ... 52
4.3.4 Instalasi Inotool ... 52
4.3.5 Instalasi TFTP Client ... 54
4.3.6 Instalasi Ariadne Bootloader... 55
Bab V Pengujian ... 57
5.1 Pengujian Sensor Kelembaban Tanah ... 57
5.2 Pengujian Sensor DHT11 ... 57
5.3 Pengujian Sensor LM35 ... 58
5.4 Pengujian Compile Source Code dengan Inotool ... 58
5.5 Pengujian Pengiriman Source Code ke Mikrokontroller ... 60
5.6 Pengujian Penggunaan Sensor Secara Dinamis ... 61
5.6.1 Skenario Pengujian Pertama dengan Sensor DHT11... 62
5.6.2 Skenario Pengujian Kedua dengan Penambahan Sensor Soil Moisture ... 65
5.6.3 Skenario Pengujian Ketiga dengan Penukaran Pin Sensor ... 68
5.6.4 Skenario Pengujian Keempat dengan Penggunaan Aktuator dan Kombinasi Sensor yang berbeda ... 70
5.6.5 Skenario Pengujian Kelima dengan Penggunaan Aktuator dan Kombinasi Sensor yang sama ... 74
Bab VI Kesimpulan dan Saran ... 78
6.1 Kesimpulan... 78
6.2 Saran ... 78
Daftar Tabel
Tabel 1 Indeks Board Arduino ... 18
Tabel 2 Kebutuhan Perangkat Keras dan Perangkat Lunak ... 46
Tabel 3 Pembagian pin Soil Moisture dan Arduino ... 47
Tabel 4 Pembagian pin Soil Moisture dan Arduino ... 48
Tabel 5 Hasil pengukuran sensor Kelembaban Tanah ... 57
Tabel 6 Hasil Pengukuran Sensor DHT11 ... 57
Tabel 7 Hasil pengukuran sensor LM35 ... 58
Tabel 8 Hubungan Pin Sensor dengan Mikrokontroller ... 62
Tabel 9 Hasil Observasi Sensor ... 64
Tabel 10 Hubungan Pin Sensor dengan Mikrokontroller ... 66
Tabel 11 Hubungan Pin Sensor DHT11 dengan Mikrokontroller ... 70
Tabel 12 Hubungan Pin Sensor LM35 dengan Mikrokontroller ... 71
Tabel 13 Hasil Observasi Sensor ... 72
Tabel 14 Hubungan Pin Sensor LM35 pertama dengan Mikrokontroller ... 74
Tabel 15 Hubungan Pin Sensor LM35 kedua dengan Mikrokontroller ... 74
Daftar Gambar
Gambar 1 Tampilan depan Arduino Uno... 17
Gambar 2 Tampilan Belakang Arduino Uno ... 17
Gambar 3 Sensor Soil Moisture ... 21
Gambar 4 Konfigurasi Pin Soil Moisture ... 21
Gambar 5 Skema Kerja Sensor Soil Moisture ... 22
Gambar 6 Sensor Suhu (LM 35) ... 22
Gambar 7 Skema Dasar IC LM 35 ... 23
Gambar 8 Sensor DHT11... 25
Gambar 9 Skema Kerja Sensor DHT11 ... 26
Gambar 10 Konsep TFTP ... 27
Gambar 11 Perancangan Sistem pada Jurnal 1 ... 28
Gambar 12 Current System ... 33
Gambar 13 Proposed System ... 34
Gambar 14 High Level Sistem Overview ... 38
Gambar 15 Flowchart Subsistem pertama ... 39
Gambar 16 Flowchart Subsistem kedua ... 39
Gambar 17 Deskripsi umum sistem ... 41
Gambar 18 Skema database Aplikasi Web ... 42
Gambar 19 Transmisi data dalam TFTP ... 44
Gambar 20 Tahapan pembuatan source code dan transmisi melalui TFTP... 45
Gambar 21 Skema Consume data berformat JSON ... 45
Gambar 22 Contoh Rangkaian Arduino Uno dan Sensor DHT11 ... 47
Gambar 23 Pembagian pin sensor LM35... 48
Gambar 24 Contoh rangkaian mikrokontroller dengan sensor LM35 ... 48
Gambar 25 Tampilan Utama Ubuntu Server 15 ... 50
Gambar 26 Rangkaian Arduino Programmer dan Arduino yang akan diprogram ... 56
Gambar 27 Aplikasi Berbasis Web ... 61
Gambar 28 Prototipe Paket Sistem Tertanam ... 62
Gambar 29 Contoh Halaman Konfigurasi Sensor dan Aktuator ... 63
Gambar 30 Konfigurasi Sensor DHT11 ... 64
Gambar 31 Grafik Hasil Observasi Keadaan Kelembaban Lingkungan ... 65
Gambar 32 Grafik Hasil Observasi Keadaan Suhu Lingkungan ... 65
Gambar 33 Konfigurasi Sensor Soil Moisture ... 66
Gambar 34 Grafik hasil observasi kelembaban tanah menggunakan sensor Soil Moisture .... 66
Gambar 35 Grafik hasil observasi kelembaban udara menggunakan sensor DHT11 ... 67
Gambar 36 Grafik hasil observasi suhu lingkungan menggunakan sensor DHT11 ... 67
Gambar 37 Update pin sensor ... 68
Gambar 38 Grafik hasil observasi suhu lingkungan setelah perubahan pin ... 68
Gambar 39 Grafik hasil observasi kelembaban tanah setelah perubahan pin ... 69
Gambar 40 Grafik hasil observasi kelembaban udara setelah perubahan pin ... 69
Gambar 41 Prototype Tangki Air dengan Selenoid Valve ... 70
Gambar 42 Konfigurasi Sensor DHT11 dan LM35 ... 71
Gambar 43 Konfigurasi Aktuator ... 72
Gambar 44 Data Hasil Obervasi Status Aktuator ... 73
Gambar 45 Data Hasil Obervasi Status Sensor_Suhu ... 73
Gambar 46 Data Hasil Obervasi Status Sensor_Kelembaban_DHT11 ... 74
Gambar 48 Konfigurasi Aktuator Selenoid Valve ... 75
Gambar 49 Data Hasil Obervasi Status Aktuator ... 76
Gambar 50 Data Hasil Obervasi Status Sensor_Suhu_1 ... 77
Bab I Pendahuluan
Pada bab ini berisi penjelasan mengenai latar belakang, tujuan pelaksanaan, ruang lingkup, tahapan penelitian dan sistematika penyajian Tugas Akhir.
1.1 Latar Belakang
Pada era modern sekarang ini, telah banyak dikembangkan sistem yang mampu melakukan otomatisasi pertanian secara terintegrasi dengan menggunakan sistem tertanam dan aplikasi berbasis web maupun mobile, sehingga hasil pertanian mampu dioptimalkan. Sistem yang dikembangkan telah mampu melakukan pemantauandan pengendalian lahan pertanian secara realtime dan lebih efisien.
Kebanyakan pengembangan sistem saat ini berorientasi pada pengembangan sistem yang bertujuan untuk melakukan suatu fungsi spesifik tanpa dapat dimodifikasi oleh pengguna. Sebagai contoh, suatu sistem dikembangkan hanya untuk melakukan penyiraman otomatis dengan tolok ukur perubahan suhu lingkungan. Sistem yang dikembangkan tersebut tidak akan dapat digunakan jika pengguna ingin melakukan penyiraman otomatis dengan menggunakan tolok ukur perubahan kelembaban udara dari lingkungan.
Didasari oleh permasalahan di atas, penulis mencoba untuk mengembangkan suatu sistem yang mengintegrasikan sistem tertanam dengan sebuah aplikasi berbasis web. Sistem yang dikembangkan akan mampu melakukan otomatisasi observasi dan kontrol terhadap lingkungan dimana sistem tersebut digunakan dan juga mampu memberikan kemampuan kefleksibelan penggunaan sensor sesuai dengan kebutuhan pengguna. Dengan kemampuan ini, permasalahan yang dialami oleh pengguna dengan sistem sebelumnya akan dapat diselesaikan.
Kefleksibelan penggunaan sensor yang dikembangkan pada sistem ini akan memampukan pengguna untuk menggunakan berbagai jenis sensor sesuai dengan kebutuhan dengan konfigurasi minimum melalui aplikasi berbasis web yang disediakan. Hasil observasi keadaan lingkungan yang diberikan oleh sistem tertanam melalui sensor yang digunakan akan ditampilkan pada aplikasi berbasis web yang telah disediakan.
1.2 Tujuan
Adapun tujuan dari Tugas Akhir ini adalah:
1 Membangun sebuah sistem terintegrasi dengan menggunakan sistem tertanam yang berguna untuk melakukan observasi dan kontrol kondisi lingkungan secara realtime. Sistem akan memberikan kemampuan dalam kefleksibelan penggunaan sensor untuk observasi dengan konfigurasi minimum yang diberikan pengguna melalui aplikasi berbasis web yang disediakan.
2 Membangun sebuah aplikasi berbasis web yang dapat digunakan sebagai antarmuka pengguna terhadap informasi hasil observasi keadaaan lingkungan dan sebagai antarmuka konfigurasi sistem tertanam dan sensor yang digunakan.
3 Memberikan solusi pemantauan dan kontrol kondisi dan distribusi air pada tanaman melalui aktuasi yang dilakukan oleh sistem.
1.3 Lingkup
Ruang lingkup pengerjaan Tugas Akhir ini adalah:
1. Sistem tertanam akan menggunakan mikrokontroler Arduino Uno, Arduino Ethernet shield dan sensor yang berhubungan dengan pertanian.
2. Aplikasi berbasis web yang dibangun dikembangkan dengan bahasa pemrograman PHP dan framework YII2.
3. Sensor yang akan digunakan pada sistem yang akan dibangun adalah sensor Kelembaban Tanah, sensor Suhu (LM35) dan sensor Kelembaban Udara (DHT11).
1.4 Tahapan Penelitian
Tahapan penelitian yang dilakukan dalam pengerjaan Tugas Akhir ini adalah sebagai berikut. 1. Pengumpulan Data
Pengumpulan data bertujuan untuk dapat mengumpulkan data yang lengkap dan akurat sehingga data tersebut dapat digunakan dalam penyusunan tugas akhir.
Metode yang digunakan dalam pengumpulan data pada tugas akhir ini adalah: a. Studi Pustaka
Metode pengumpulan data dengan cara membaca jurnal, buku, artikel maupun makalah yang berkaitan dengan subjek penelitian untuk mendapatkan konsep teori mengenai masalah yang ingin diteliti serta mencari sumber data dari internet maupun perpustakaan.
b. Metode Observasi
Pengumpulan data secara langsung pada objek yang diteliti. 2. Analisis dan Desain
Metode yang dilakukan untuk menganalisis data yang telah didapat dan membuat desain sistem yang akan dibangun.
3. Implementasi
Melakukan implementasi berdasarkan analisis dan desain yang telah dilakukan. 4. Dokumentasi
1.5 Sistematika Penyajian
Secara garis besar dokumen ini disajikan dalam enam bab Laporan Tugas Akhir ini disusun dengan sistematika berikut:
Bab I Pendahuluan
Berisi pendahuluan berupa latar belakang, tujuan dan pendekatan yang dilakukan dalam pengerjaan Tugas Akhir.
Bab II Tijauan Pustaka
Berisi rangkuman informasi yang didapatkan dari berbagai pustaka yang berhubungan dengan topik kajian dalam Tugas Akhir untuk membantu dan memperluas pemahaman mengenai topik Tugas Akhir.
Bab III Analisis dan Perancangan
Berisi analisis data yang dikumpulkan dan tahapan-tahapan yang dirancang berdasarkan analisis data yang telah dilakukan. Pada bab ini dijelaskan mengenai perancangan dokumen. Bab IV Implementasi
Berisi pengerjaan dan implemetasi dari analisis dan perancangan yang telah dibuat. Bab V Pengujian
Berisi hasil yang didapatkan dari implementasi, yaitu aplikasi web dan perangkat keras sistem. Pengujian terhadap hasil implementasi dilakukan pada bab ini.
Bab VI Kesimpulan dan Saran
Bab II Tinjauan Pustaka
Pada bab ini diuraikan dasar teori dan perangkat yang akan digunakan pada pengerjaan Tugas Akhir, yakni mengenai teori distribusi air serta perangkat yang digunakan.
2.1 Landasan Teori
Pada bagian landasan teori ini akan diuraikan secara ringkas mengenai komponen – komponen utama yang digunakan dalam Rancang Bangun Aplikasi untuk Konfigurasi Otomatis Penggunaan Sensor pada Arduino.
2.1.1 Sistem Tertanam
Sistem tertanam merupakan computing device yang didesain dengan tujuan tertentu secara spesifik untuk melakukan fungsi tertentu. Sistem tertanam terdiri dari perangkat keras dan perangkat lunak. Perangkat keras meliputi mikroprosesor atau mikrokontroler dengan penambahan memori eksternal, I/O dan komponen lainnya seperti sensor, keypad, LED, LCD, dan berbagai macam aktuator lainnya. Perangkat lunak sistem tertanam merupakan penggerak pada sistem. Sebagian besar perangkat lunak sistem tertanam memiliki program aplikasi yang spesifik yang didukung oleh Real Time Operating System (RTOS). Perangkat lunak embedded biasanya disebut firmware karena perangkat lunak tipe ini dimuat ke ROM, EPROM atau memory Flash. Sekali program dimasukkan kedalam perangkat keras maka tidak akan pernah berubah kecuali diprogram ulang.
2.1.2 Mikrokontroler
Mikrokontroler adalah sebuah chip terintegrasi yang biasanya menjadi bagian dari sebuah embedded system (sistem yang didesain untuk melakukan satu atau lebih fungsi khusus yang real time). Mikrokontroler terdiri dari CPU, Memory, I/O port dan timer seperti sebuah komputer standar, tetapi karena didesain hanya untuk menjalankan satu fungsi yang spesifik dalam mengatur sebuah sistem, mikrokontroler ini bentuknya sangat kecil dan sederhana dan mencakup semua fungsi yang diperlukan pada sebuah chip tunggal.
Keuntungan besar dari mikrokontroler dibandingkan dengan menggunakan mikroprosesor adalah jumlah komponen dan biaya desain dari item yang dikendalikan dapat ditekan seminimum mungkin. Mikrokontroler biasanya didesain menggunakan teknologi CMOS (Complemantary Metal Oxide Semiconductor), sebuah teknologi pembuatan chip terintegrasi (IC) efisien yang menggunakan daya kecil dan lebih kebal terhadap lonjakan listrik dibandingkan teknik yang lain.
2.1.3 Aplikasi Berbasis Web
Aplikasi web merupakan aplikasi yang diakses mengunakan web browser melalui jaringan internet atau intranet. Aplikasi web juga merupakan suatu perangkat lunak komputer yang dikodekan dalam bahasa pemrograman yang mendukung perangkat lunak berbasis web
seperti HTML, JavaScript, CSS, Ruby, Python, Php, Java dan bahasa pemrograman lainnya. Terdapat 2 bagian pokok dalam aplikasi web, yang pertama adalah sisi client dan yang kedua adalah sisi server, sisi client dalam hal ini adalah PC atau bisa juga perangkat mobile yang terhubung kejaringan internet. Client dapat mengakses aplikasi web melalui web browser
seperti internet explorer, mozila firefox, google chrome, opera dan lain-lain, sedangkan
server adalah perangkat komputer dengan spesifikasi yang digunakan untuk menyimpan aplikasi web beserta database server yang siap untuk diakses oleh client. Client bertugas meminta halaman web server melalui web browser, web browser akan meneruskannya ke
server dimana aplikasi Web berada. Komputer server akan mengolah permintaan dari client, ketika halaman web yang diminta ditemukan maka komputer server akan mengirimkannya ke komputer client dan halaman web yang diminta akan ditampilkan pada web browser di komputer client.
2.2 Perangkat Keras (Hardware)
Pada subbab ini akan dijelaskan perangkat keras (hardware) yang digunakan seperti Arduino Uno, dan beberapa jenis-jenis sensor dalam pertanian yang dapat digunakan pada sistem yaitu Sensor Kelembaban Tanah (Soil Moisture), Sensor Kelembaban Udara (Humidity), dan Sensor Suhu (DHT11).
2.2.1 Arduino Uno
Arduino uno merupakan mikrokontroler yang akan digunakan dalam pengerjaan tugas akhir ini. Arduino uno adalah board mikrokontroler berbasis Atmega328.
2.2.1.1 Overview
Arduino uno memiliki 14 pin input dari output digital dimana 6 pin input dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Arduino dapat digunakan dengan menghubungkan
board Arduino Uno ke komputer dengan menggunakan kabel USB.
Gambar 1 Tampilan depan Arduino Uno
Uno adalah board USB Arduino yang terbaru dan sebagai model referensi untuk platform
Arduino. Indeks board Arduino dapat dilihat pada Tabel 1 berikut. Tabel 1 Indeks Board Arduino
Microcontroller Atmega328
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328)
Arduino Uno diaktifkan dengan menghubungkan ke catu daya eksternal dengan menggunakan koneksi USB. Eksternal (non-USB) daya dapat berasal dari AC ke adaptor DC atau baterai. Adaptor dapat dihubungkan dengan menghubungkan plug jack pusat-positif konektor POWER.
Daya yang dibutuhkan oleh board Arduino Uno adalah 7-12 volt. Jika daya yang diberikan pada Arduino kurang dari 7 volt, maka Arduino dapat beroperasi dengan menggunakan pin 5
volt tetapi tidak stabil. Jika diberi daya lebih dari 12 volt, maka dapat merusak board Arduino Uno.
Pada Arduino Uno juga terdapat pin listrik yaitu:
1. Vin, yaitu tegangan masukan ke board Arduino ketika menggunakan sumber daya eksternal (sebagai pengganti dari 5 volt koneksi USB atau sumber daya lain).
2. 5V, catu daya digunakan untuk daya mikrokontroler dan komponen lain. 3. 3.3V, dihasilkan oleh regulator on-board.
4. GND, yaitu pin ground.
2.2.1.3 Memori
Atmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader), 2KB dari SRAM dan IKB EEPROM.
2.2.1.4 Input dan Output
Arduino memiliki 14 pin yang dapat digunakan sebagai input maupun output dengan menggunakan fungsi pinMode(), digitalWrite() dan digitalRead() yang bekerja pada daya 5
volt. Setiap pin dapat memberi atau menerima maksimum 40 mA. Beberapa pin memiliki fungsi khusus sebagai berikut.
1. Serial: 0 (RX) dan 1 (TX) yang digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini dihubungkan dengan pin yang berkaitan dengan chip Serial Atmega8U2 USB-to-TTL.
2. External Interrupts: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai rendah dengan perubahan nilai.
3. PWM: pin 3,5,6,9,10 yaitu menyediakan output PWM 8-bit dengan fungsi
analogWrite().
4. SPI: pin 10 (SS), 11 (Mosi), 13 (SCK) yang mendukung komunikasi SPI dengan menggunakan SPI library.
5. LED: pin 13. Ada built-in LED yang terhubung ke pin digital 13. Ketika pin bernilai HIGH, maka LED akan ON dan ketika pin bernilai LOW, maka LED akan OFF. Selain pin digital, Arduino Uno juga memiliki 6 pin analog yang berlabel A0 sampai A5, dimana masing-masing pin menyediakan nilai 10 bit, yaitu 1024 nilai yang berbeda. Selain daripada itu, beberapa pin memiliki fungsi khusus, yaitu:
1. I2C: A4(SDA) dan A5(SCL). Mendukung komunikasi I2C dengan menggunakan
Wire library.
2. AREF: sumber tegangan untuk input analog dengan menggunakan fungsi
analogReference().
2.2.1.5 Komunikasi
Arduino Uno dapat berkomunikasi dengan komputer, Arduino lain ataupun mikrokontroler lain. Atmega328 menyediakan UART TTL (5v) untuk berkomunikasi secara serial yang tersedia di pin 0 (RX) dan 1 (TX). Atmega16U2 pada board menghubungkan komunikasi serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada komputer.
Firmware ’8 U2 menggunakan driver USB standar COM. Namun, pada Windows diperlukan
sebuah file inf. Pada perangkat lunak Arduino terdapat monitor serial yang digunakan untuk memonitor data sederhana yang dikirim ke atau dari board Arduino. LED RX dan TX di
board berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).
2.2.2 Sensor Kelembaban Tanah (Soil Moisture)
Sensor kelembaban tanah merupakan sensor yang mampu mendeteksi intensitas air di dalam tanah (moisture).
2.2.2.1 Overview
Sensor soil moisture adalah sensor kelembaban tanah yang bekerja dengan prinsip membaca jumlah kadar air dalam tanah di sekitarnya. Sensor ini merupakan sensor dengan teknologi rendah namun ideal untuk memantau kadar air tanah untuk tanaman. Sensor ini menggunakan dua konduktor untuk melewatkan arus melalui tanah, kemudian membaca nilai resistensi untuk mendapatkan tingkat kelembaban. Lebih banyak air dalam tanah akan membuat tanah lebih mudah menghantarkan listrik (nilai resistensi lebih besar), sedangkan tanah kering akan mempersulit untuk menghantarkan listrik (nilai resistensi kurang).
Gambar 3 Sensor Soil Moisture
2.2.2.2 Konfigurasi Pin Soil Moisture
Sensor ini memiliki 3 pin yang terdiri dari pin ground, 5v dan data. Pada Gambar 4. dijelaskan mengenai pin sensor soil moisture.
2.2.2.3 Skema Kerja Sensor Kelembaban Tanah (SoilMoisture)
Pengujian sensor ini membutuhkan input-an 5V DC dengan menghubungkan Pin A0 dengan pengalokasian sesuai program yang dibuat pada Arduino.
Gambar 5 Skema Kerja Sensor Soil Moisture
2.2.3 Sensor Suhu (IC LM35)
IC LM35 berfungsi untuk mengkonversi besaran suhu yang ditangkap menjadi besaran tegangan. Sensor ini memiliki tingkat kepresisian yang tinggi, namun sangat sederhana dengan hanya memiliki 3 buah kaki. Kaki pertama IC LM35 dihubung ke Pin 5v, kaki kedua sebagai Output (Analog Pin),dan kaki ketiga dihubungkan ke Ground. IC LM35 memiliki batas pengukuran dari 0 - 100 derajat Celcius.
2.2.3.1 Overview
IC LM 35 merupakan sensor suhu berupa chip IC yang dapat digunakan untuk mengetahui temperatur objek atau ruangan. Sensor suhu IC LM35 dapat mengubah perubahan temperatur menjadi besaran listrik dalam bentuk tegangan. Sensor suhu IC LM35 membutuhkan sumber tegangan DC +5v dan konsumsi arus DC sebesar 60 µA dalam beroperasi. Sensor LM35 ini memiliki keakuratan tinggi dan kemudahan perancangan jika dibanding dengan sensor suhu yang lain. Sensor suhu ini pada umumnya memiliki kemasan TO-92 seperti terlihat pada gambar dibawah.
2.2.3.2 Perhitungan Pin Sensor LM 35
Sensor suhu LM35 yang mempunyai 3 pin seperti LM35-DZ, LM35-DH dan LM35-DP setiap pin mempunyai fungsi masing-masing diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau kaki tengah digunakan sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0V sampai dengan 1,5V dengan tegangan operasi sensor LM35 yang dapat digunakan antara 4V sampai 30V. Keluaran sensor ini akan naik sebesar 10mV setiap derajat celcius sehingga diperoleh persamaan sebagai berikut:
Gambar 7 di bawah ini adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ. Rangkaian ini sangat sederhana dan praktis. Vout adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajat celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 °C. Dan jika Vout = 320mV, maka suhu terukur adalah 32°C. Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional (opamp) dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian Analog-to-Digital Converter.
Gambar 7 Skema Dasar IC LM 35
2.2.3.3 Karakteristik IC LM35
Karakteristik sensor suhu LM35 antara lain sebagai berikut :
1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.
2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC. 3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC. 4. Bekerja pada tegangan 4 sampai 30 volt.
5. Memiliki arus rendah yaitu kurang dari 60 μA.
6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam.
7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA. 8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.
2.2.3.4 Prinsip Kerja Sensor LM35
Sensor LM35 akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC. Setiap perubahan akan merubah tegangan sebesar 10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan benda, akan tetapi suhunya akan sedikit berkurang sekitar 0,01ºC karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya.
Tahapan kerja sensor LM35 adalah sebagai berikut:
1. Suhu lingkungan di deteksi menggunakan bagian IC yang peka terhadap suhu.
2. Suhu lingkungan ini diubah menjadi tegangan listrik oleh rangkaian di dalam IC, dimana perubahan suhu berbanding lurus dengan perubahan tegangan output.
3. Pada seri LM35 Vout = 10 mV/ °C, dalam arti tiap perubahan 1 °C akan menghasilkan perubahan tegangan output sebesar 10 mV.
2.2.4 Sensor Kelembaban Udara (DHT11)
pengukuran suhu NTC, dan menghubungkan ke high-kinerja 8-bit mikrokontroler, menawarkan kualitas yang sangat baik, respon cepat, anti-gangguan kemampuan dan efektivitas biaya.
2.2.4.1 Overview
Suhu dan kelembapan udara yang akan di-monitor dan dikontrol dalam lingkungan pertanian bergantung pada jenis tanamannya. Contohnya beberapa jenis tanaman tropis tidak akan tumbuh dengan baik pada suhu di bawah 20C atau di atas 30C. Umumnya, suhu minimum adalah 20C, dan pada siang hari suhu ruangan akan bertambah panas. Untuk itu sistem ventilasinya harus bekerja baik saat mencapai suhu panas yang berlebih. Untuk mendinginkan dan menstabilkan kembali suhu dalam lingkungan pertanian.
Kelembapan udara merupakan unsur lain bagi tanaman untuk tumbuh dengan optimum. Beberapa sumber mengatakan bahwa kelembaban normal pada lingkungan pertanian, yaitu sekitar 80 %RH. Pengaruh suhu terhadap kelembapan sangat sensitif, suhu udara yang hangat dapat menampung uap air dengan baik. Tiap kenaikan suhu 10C, volume uap air maksimum dalam udara hampir dua kali lipat.
2.2.4.2 Rumus Perhitungan pada DHT11
Ketika udara dari suatu suhu tertentu dipenuhi dengan air seperti contoh saat hujan, kita dapat mengasumsikan tingkat kelembapannya 100% RH (relative humidity). Relative humidity
merupakan kepadatan uap air yang ada di udara ketika terjadi perubahan suhu pada skala tertentu. Perubahan tersebut dapat dirumuskan pada persamaan: x100%
dimana : H = tingkat kelembapan dalam % RH
VdL = kepadatan uap air saat suhu minimum (aktual) dalam g/m3 VdH = kepadatan uap air saat suhu maksimal (saturasi) dalam g/m3
2.2.4.3 Skema Kerja Sensor DHT11
Pengujian sensor ini membutuhkan input-an 5V DC dengan menghubungkan Pin A0 dengan pengalokasian sesuai program yang dibuat pada Arduino
Gambar 9 Skema Kerja Sensor DHT11
Pada DHT11, fitur kalibrasi yang dimiliki sangat akurat dari kelembaban ruang. Sistem antarmuka tunggal-kabel serial terintegrasi untuk menjadi cepat dan mudah. Kecil ukuran, daya rendah, sinyal transmisi jarak hingga 20 meter, sehingga berbagai aplikasi dan bahkan aplikasi yang paling menuntut. Sensor yang ada pada DHT11 terhubung dengan 8 bit mikrokontroler yang memiliki performansi yang tinggi.
2.3 Perangkat Lunak (Software)
Pada bab ini akan dibahas mengenai perangkat lunak yang akan digunakan yakni Yii2
Framework danTFTP.
2.3.1 Yii 2 Framework
Perangkat lunak yang digunakan dalam aplikasi ini adalah sebuah aplikasi berbasis web yang
dibangun menggunakan PHP dan Framework Yii2. Aplikasi ini berfungsi untuk menampilkan
hasil pengukuran sensor dan antarmuka konfigurasi penggunaan sensor pada mikrokontroler.
Adapun yang akan di pantau oleh aplikasi ini adalah kondisi lingkungan sekitar yang diukur dan
di kirim oleh sensor.
2.3.2 TFTP (Trivial File Transfer Protocol)
Gambar 10 Konsep TFTP
Karena protokol ini sangatlah sederhana, maka implementasi protokol ini dalam komputer yang memiliki memori yang kecil sangatlah mudah dan TFTP juga dapat masuk kedalam ROM pada NIC Card. TFTP dapat digunakan untuk melakukan booting komputer seperti halnya router jaringan komputer yang tidak memiliki perangkat penyimpanan data ataupun pada mikrokontroler. Protokol ini kini masih digunakan untuk mentransfer berkas-berkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika terminal jarak jauh X Window System atau Diskless System lainnya yang melakukan proses booting dari sebuah host
jaringan atau server. TFTP ini menggunakan layanan UDP (User Datagram Protocol) berjalan pada layer 4 (Transport) dengan alamat port = 69.
2.3.3 Ariadne-Bootloader
Ariadne bootloader merupakan beta bootloader untukArduino biasa dengan Ethernet Shield.
Hal ini didasarkan pada pekerjaan yang belum selesai sebelumnya oleh Arduino developers. Bootloader ini akan menerapkan TFTP server pada papan Arduino dan flashing work
menggunakan klien TFTP reguler, sehingga Arduino dapat mengeksekusi kode program yang dikirimkan melalui jaringan lewat servis TFTP. Bootloader ini akan menuliskan source code
EPROM baru pada Arduino sehingga secara realtime Arduino memiliki konfigurasi network
ketika Arduino di boot.
Untuk mem-burn bootloader, diperlukan sebuah ISP (sistem programmer) seperti AVR-ISP, USBtinyISP atau anda dapat membangun Programmer paralel atau ArduinoISP.
2.4 Jurnal yang Berhubungan
2.4.1. Sistem Pengendalian Suhu Dan Kelembaban Berbasis Wireless Embedded System
[1]
Indonesia sebagai negara agraris memiliki potensi yang besar sekali dalam bidang pertanian. Salah satu produk tanaman pertanian Indonesia adalah tomat. Dalam perkembangannya tanaman tomat perlu perawatan khusus karena tanaman tomat rentan terhadap perubahan suhu dan kelembaban. Untuk mendapatkan hasil panen yang memiliki kualitas dan produktifitas perlu adanya pengkondisian lingkungan tanaman agar tercipta atmosfer yang menunjang pertumbuhan tanaman. Embedded system atau sistem tertanam merupakan sistem komputer yang dirancang khusus untuk melakukan tujuan atau fungsi tertentu. Penelitian ini bertujuan untuk membuat sistem yang mampu mengendalikan suhu dan kelembaban serta dapat memantau perubahan kondisi lingkungan tanaman secara nirkabel. Sistem ini menggunakan perangkat embedded system yang praktis dan hemat daya. Perangkat embedded
yang digunakan adalah arduino uno sebagai pusat pemrosesan data. Dari hasil pengujian sistem mampu memberi tindakan terhadap perubahan suhu dan kelembaban yang melebihi atau kurang dari batas yang ditentukan. Sistem mampu mengirimkan nilai-nilai sensor ke dalam database yang berada pada server secara realtime.
Gambar 11 Perancangan Sistem pada Jurnal 1
1. Pengujian unit sensor suhu DHT 11 bekerja dengan baik untuk mengukur suhu ruangan
dengan nilai kesalahan kurang dari 2 ˚C sesuai dengan datasheet DHT11.
2. Pengujian unit sensor kelembaban tanah SEN0114 bekerja dengan baik.
3. Pengujian unit ethernet shield dapat digunakan untuk terhubung dengan jaringan dengan waktu yang dibutuhkan untuk melakukan koneksi rata-rata 5 detik.
4. Aktuator dapat berjalan dengan baik dengan memberikan respon tergantung pada batas nilai sensor yang telah ditentukan.
5. Dalam proses pengiriman data-data sensor dari node sensor ke server dapat berjalan dengan baik dengan tingkat akurasi pengiriman data tiap pengiriman ±1 detik.
2.4.2. Perancangan Dan Implementasi User Interface Berbasis Web untuk Monitoring
Suhu, Kelembaban dan Asap pada Ruangan Berbeda Dengan Memanfaatkan Jaringan
Local Area Network [2] :
Kondisi ruangan sangat mempengaruhi kenyamanan pengguna dalam melakukan berbagai kegiatan. Hampir seluruh ruangan pada saat ini dilengkapi dengan Air Conditioner (AC). Tidak jarang pengguna meninggalkan ruangan dalam keadaan AC yang masih menyala. AC merupakan salah satu beban yang mengkonsumsi banyak energi listrik sehingga dampaknya sangat besar terhadap kenaikan biaya listrik. Hal ini mendorong pemilik gedung untuk memantau kondisi tiap-tiap ruangan, sehingga pemakaian energi pada ruangan lebih efisien tanpa mengganggu kenyamanan si pengguna.
Pada penelitian dirancang sebuah sistem monitoring yang bertujuan untuk memantau kondisi beberapa ruangan dengan memanfaatkan jaringan LAN. Dari sistem monitoring berbasis web
ini berhasil diketahui berapa suhu dan kelembaban ruangan serta keamanan yang dapat dilihat dari nilai kadar asap yang terdeteksi. Sistem monitoring ini dapat digunakan baik untuk perumahan maupun perkantoran yang memiliki banyak ruangan dengan aktifitas yang tinggi. Pada pembahasan jurnal ini, penulis mengharapkan dapat membangun sebuah sistem yang dapat memonitor dan menekan biaya pemakaian energi listrik seperti AC, yang merupakan salah satu beban yang mengkonsumsi energi listrik terbanyak saat ini. Dengan sistem
monitoring online ini, dapat memonitor AC kapan di perlukan dan kapan harus dimatikan sedangkan dari segi kemanan dapat diketahui kapan ruangan dalam kondisi aman dan kapan berbahaya.
2.4.3. Sistem Kendali Intensitas Cahaya Rumah Kaca Cerdas pada Budidaya Bunga
Krisan [3] :
bangun. Dimana rumah kaca yang dibangun akan menjaga penambahan cahaya lampu konstan 100 lux (set point) di saat intensitas cahaya yang dideteksi sensor cahaya < setpoint. Hasil pengujian menunjukkan respon sistem yang baik yaitu waktu 1.2 detik untuk lampu mencapai setpoint pada perubahan kondisi luar yang signifikan seperti mendung di siang hari. Disamping itu juga hasil pengukuran tinggi bunga krisan pada fase vegetative menunjukkan bahwa ketinggian bunga krisan bertambah sekitar 7-8 cm perminggunya dibandingkan dengan kalau tidak kena cahaya tambahan di malam hari, yaitu hanya sekitar 2-3 cm. Hasil penelitian ini dapat memudahkan petani budidaya tanaman bunga krisan dalam mengontrol pencahayaan buatan dan meningkatkan pertumbuhan tanaman.
Kesimpulan dari jurnal di atas adalah :
1. Pengujian hardware yang dilakukan baik untuk ADC, sensor LDR, catu daya, rangkaian
driver maupun rangkaian LDR diperoleh hasil sesuai standard.
2. Waktu yang diperlukan untuk mencapai setpoint pada perubahan kondisi luar ruangan yang signifikan seperti mendung di siang hari adalah 1.2 sekon.
3. Dari pengukuran diperoleh bahwa ketinggian bunga krisan bertambah sekitar 7-8 cm perminggunya dibandingkan dengan kalau tidak kena cahaya tambahan di malam hari hanya sekitar 2- 3 cm.
2.4.4. Pengendalian Kadar Keasaman (pH) Pada Sistem Hidroponik Stroberi
Menggunakan Kontroler PID Berbasis Arduino Uno [4]:
Hasil pengujian keakurasian menggunakan sinyal uji PRBS sebesar 90.51 %, sedangkan perancangan parameter PID mengunakan metode root locus dengan nilai pole s = -3.53 didapatakan nilai Kp = 4.8065, Ki = 5 dan Kd = 0.6808. Setpoint pH 6 didapatkan time settling=78s, error steady state=2.63%. Hasil ini menunjukkan bahwa dengan blok kontroler PID, Arduino UNO dapat mengendalikan kadar keasaman hidroponik stroberi, namun kemampuan sensor pH untuk menerima data cukup lambat disebabkan perubahan pH dalam air membutuhkan waktu pencampuran. Penelitian ini dapat diaplikasikan pada tempat pembudidayaan stroberi.
2.4.5 Kesimpulan
Ditinjau dari pengembangan sistem yang telah dilakukan pada jurnal yang telah diterangkan di atas, sistem yang telah dibangun telah mampu melakukan proses pemantauan dan pengendalian kondisi lingkungan sekitar, mampu menyediakan sebuah antarmuka yang digunakan untuk memberikan informasi keadaan lingkungan kepada pengguna, dan sistem yang telah dibangun telah mampu menyimpan data yang didapatkan sistem ke dalam
Bab III Analisis dan Perancangan
Pada bab ini, dijelaskan analisis terhadap sistem yang akan dibangun. Berdasarkan hasil analisis, dapat dirancang target sistem yang sesuai dengan pandangan dari studi literatur. Analisis dan perancangan sistem dalam Tugas Akhir ini yaitu sebagai berikut.
3.1 Analisis
Pada sub bab Analisis dibahas Analisis Masalah, Analisis pemecahan masalah, dan Analisis Kebutuhan sistem untuk menemukan solusi pemecahan terhadap masalah yang terjadi.
3.1.1 Analisis Masalah
Pengetahuan terhadap kondisi lingkungan sekitar merupakan salah satu hal yang penting dalam berbagai sektor termasuk pertanian. Pengetahuan ini dibutuhkan dalam mengantisipasi keadaan yang tidak diinginkan seperti fluktuasi suhu udara dan kelembaban udara yang tidak terkontrol. Alat atau perangkat yang dapat melakukan pengukuran terhadap kondisi lingkungan telah banyak dikembangkan seiring dengan perkembangan ilmu pengetahuan dan informasi. Namun pada dasarnya, pada setiap perangkat ataupun sistem yang telah dikembangkan masih terdapat sebuah kendala umum yang didapati yaitu fungsi dari perangkat yang masih statis. Perangkat-perangkat yang telah dikembangkan tersebut hanya dapat digunakan untuk melakukan pengukuran terhadap satu kondisi dan menghasilkan aktuasi terhadap kondisi tersebut tanpa mampu untuk dimodifikasi oleh pengguna, hal ini disebabkan oleh program yang digunakan pada sistem khususnya pada perangkat sistem tertanam (mikrokontroller) dari sistem merupakan kode program yang pre-installed yang tidak dapat secara bebas di modifikasi oleh pengguna awam. Sebagai contoh, suatu sistem yang dikembangkan untuk melakukan penyiraman otomatis dengan tolok ukur intensitas perubahan suhu lingkungan tidak akan dapat digunakan jika pengguna mengganti tolok ukur observasi menjadi intensitas perubahan kelembaban udara.
Permasalahan tersebut menjadi konsentrasi dalam pelaksanaan Tugas Akhir ini, sehingga pada Tugas Akhir ini, penulis akan merancang dan membangun sebuah sistem yang mengintegrasikan sistem tertanam (mikrokontroller) dengan sebuah aplikasi berbasis web. Setiap bagian sistem akan memiliki fungsi masing-masing. Aplikasi berbasis web befungsi sebagai antarmuka pengguna untuk melakukan konfigurasi dan mendapatkan informasi dari sistem tertanam yang digunakan dan sistem tertanam akan berfungsi sebagai sistem yang melakukan observasi keadaan lingkungan dengan mampu memberikan fleksibilitas penggunaan sensor pada pengguna, sehingga pengguna dapat secara bebas menambahkan atau mengganti sensor yang digukannya pada sistem dengan konfigurasi yang minimum (tanpa melakukan pengkodean).
3.1.2 Analisis Pemecahan Masalah
Alternatif pemecahan masalah yang diberikan untuk mengatasi masalah yang ada adalah membangun sistem yang terdiri dari sebuah aplikasi berbasis web dan sistem tertanam yang mampu menggunakan sensor secara dinamis dan fleksibel tanpa mengharuskan pengguna melakukan pengkodean pada mikrokontroler sistem tertanam. Pengguna dapat mengkombinasikan sensor yang digunakan dengan konfigurasi minimum melalui aplikasi berbasis web yang disediakan. Skema sistem yang akan dibangun untuk pemecahan masalah dapat dilihat pada Gambar 13 berikut.
Gambar 13 Proposed System
Sistem yang akan dibangun akan dilengkapi dengan adanya aplikasi berbasis web yang digunakan sebagai antarmuka pengguna. Fungsi aplikasi berbasis web adalah sebagai antarmuka untuk melakukan konfigurasi sensor maupun aktuator yang digunakan, sehingga pengguna dapat dengan mudah mengganti-ganti sensor ataupun aktuator yang ingin digunakannya tanpa harus memikirkan fungsi awal dari sistem tersebut dan sesuai dengan kebutuhan. Dilain sisi, Aplikasi berbasis web digunakan sebagai antarmuka yang menyediakan informasi hasil observasi keadaan lingkungan (suhu, kelembaban udara dan kelembaban tanah) dalam bentuk grafik maupun tabel sehingga pengguna dapat dengan mudah memonitor keadaan lingkungan.
Sistem yang akan dibangun juga akan menggunakan sebuah server yang menggunakan sistem operasi Linux. Kegunaan server ini adalah sebagai web server yang menyediakan layanan aplikasi berbasis web, menyimpan database hasil observasi lingkungan, melakukan proses compile source code berdasarkan konfigurasi pengguna dan mengirimkan konfigurasi yang dibuat oleh pengguna ke mikrokontroller.
Secara umum, sistem yang akan dibangun akan memiliki ciri-ciri sebagai berikut: 1. Menggunakan mikrokontroler ATMEGA328P (Arduino Uno).
2. Menggunakan sensor sebagai media pengukur yang dikontrol oleh mikrokontroler. Sensor yang digunakan antara lain DHT11, LM35 dan sensor Kelembaban Tanah.
3. Sistem mampu mengukur kondisi yang berbeda pada lingkungan sesuai dengan kombinasi sensor yang digunakan oleh pengguna selama pin pada mikrokontroler masih ada.
4. Menggunakan sebuah aplikasi berbasis web yang berperan mengirim konfigurasi sensor ataupun aktuator pada mikrokontroler dan menampilkan informasi hasil pemantauan yang dilakukan oleh sistem.
5. Menggunakan port TFTP sebagai jalur komunikasi antara sistem operasi dari aplikasi
web dengan perangkat mikrokontroler dalam pengiriman konfigurasi menggantikan port serial yang menggunakan USB.
8. Menggunakan teknologi database Mysql sebagai media penyimpanan data hasil observasi oleh mikrokontroler dan untuk menyimpan modul fungsi sensor yang akan digunakan untuk konfigurasi mikrokontroler.
9. Sistem mampu melakukan aktuasi pengairan otomatis untuk kondisi kelembaban lingkungan berada pada titik tertentu.
3.1.3 Analisis Kebutuhan Sistem
Dalam sub bab ini dijelaskan kebutuhan yang diperlukan selama proses pembangunan sistem yang dapat menggunakan sensor secara dinamis dan fleksibel. Kebutuhan tersebut mencakup kebutuhan akan perangkat lunak dan kebutuhan perangkat keras.
3.1.3.1 Kebutuhan Perangkat Keras
Perangkat keras yang dibutuhkan dalam membangun sistem terdiri dari mikrokontroler arduino, PC/Laptop, Selenoid Valve, Sensor, Ethernet Shield.
Arduino yang digunakan pada sistem yang akan dibagun berfungsi sebagai bagian paling penting yang akan menerima dan mengirim data dengan laptop sebagai server, menerjemahkan perintah pengendalian sensor dan aktuator.
PC/Laptop yang digunakan pada sistem akan digunakan sebagai server yang menangani aplikasi web yang nantinya digunakan sebagai penghubung antara user dan mikrokontroler. Pada server yang digunakan akan di-install sistem operasi Linux.
Selenoid Valve merupakan aktuator yang akan digunakan untuk melakukan pengairan otomatis pada kondisi kelembaban udara sekitar di titik yang tidak diinginkan. Selenoid valve akan dihubungkan dengan mikrokontroler dan dikendalikan dengan menggunakan aplikasi
web. Selenoid Valve merupakan satu-satunya aktuator yang akan digunakan pada sistem ini. Sensor merupakan penentu berjalannya sistem, sistem yang dibangun sangat bergantung pada kinerja sensor, sensor akan mengukur kondisi lingkungan sekitar dengan menancapkan sensor pada mikrokontroler secara bebas (banyak sensor dan jenis sensor yang digunakan pada setiap pin tidak dibatasi selama pin masih tersedia), contohnya jika pada pin satu mikrokontroler sebelumnya digunakan sensor suhu, maka pin tersebut dapat digunakan dengan sensor lain seperti sensor pH tepat setelah sensor suhu dicabut dan dikonfigurasi pada
Ethernet shield pada sistem ini digunakan untuk menghubungkan antara mikrokontroler dengan server. Pertukaran data antara mikrokontroler dan web aplikasi dilakukan melalui
port tftp yang dikirim melalui jaringan nirkabel atau tidak menggunakan port serial.
3.1.3.2 Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan dalam membagun sistem terdiri dari sistem operasi Ubuntu 15, LAMP server, Framework YII2, Inotool, Ariadne Bootloader dan TFTP Client. Sistem Operasi Ubuntu digunakan sebagai web server yang menyediakan layanan aplikasi berbasis
web, menyimpan database hasil observasi lingkungan, melakukan proses compile source code berdasarkan konfigurasi pengguna dan mengirimkan konfigurasi yang dibuat oleh pengguna ke mikrokontroller. Inotool merupakan sebuah aplikasi CLI yang digunakan untuk melakukan compile source code Arduino. Inotool diperlukan pada pengembangan sistem dikarenakan proses compile source code nantinya akan dilakuakan secara otomatis oleh
server menggunakan CLI Command. Ariadne bootloader adalah sebuah bootloader yang memampukan serial upload melalui mekanisme TFTP pada sebuah Arduino Ethernet ataupun pada sebuah Arduino dengan Ethernet shield. Ariadne bootloader akan menggantikan Arduino uno bootloader yang secara default digunakan pada Arduino Uno. Bootloader Ariadne digunakan dalam pengembangan sistem agar Arduino dapat secara langsung menggunakan source code yang dikirim oleh aplikasi web melalui mekanisme TFTP.
3.1.3.3 Spesifikasi
Spesifikasi yang diharapkan dari sistem yang akan dibangun adalah:
1. Sistem terdiri dari Aplikasi sebagai monitor dan kontroller node sensor dan aktuator 2. Tegangan masukan 5 Volt DC yang didapat dari Baterai ataupun dari adaptor AC-DC 3. Media komunikasi menggunakan jaringan nirkabel
4. Sistem komunikasi menggunakan tftp protocol
5. Perangkat keras sistem menggunakan ariadne-TFTP bootloader sebagai bootloader
Arduino uno.
6. Sistem dapat mengurangi atau menambah sensor pada perangkat keras tanpa harus melakukan perubahan pada kode program secara langsung oleh pengguna.
3.2 Perancangan
Perancangan merupakan tahap pertama untuk pembangunan suatu alat atau perangkat dan program adalah tahap perancangan, sebagai tolak ukur perancangan yang pertama kali harus dikemukakan terlebih dahulu adalah spesifikasi alat yang ingin dibangun secara tertulis. Dengan demikian hasil perancangan akan dijadikan acuan untuk perakitan alat dan pembuatan program, disamping itu dengan adanya tahap perancangan kemungkinan-kemungkinan yang dapat menghambat dalam perakitan alat dan pembuatan program dapat dihindari.
Pada prinsipnya tujuan dari perancangan sistem adalah untuk mempermudah didalam merealisasikan perakitan atau pembangunan alat dan program yang sesuai dengan spesifikasi alat yang akan dirakit berdasarkan karakteristik komponen yang mudah didapat dipasaran yang memenuhi karakteristik alat yang diharapkan, dengan didukung analisa dan persamaan yang mengacu pada teori penunjang secara bertahap.
3.2.1 High Level Sistem Overview
High level system dari Rancang Bangun Aplikasi untuk Konfigurasi Otomatis Penggunaan Sensor Arduino secara umum dapat dilihat pada Gambar 14.
Gambar 14 High Level Sistem Overview
Setiap komponen pada sistem yang akan dibangun akan berhubungan secara timbal balik. Pengguna akan memilih konfigurasi sensor yang akan digunakan melalui aplikasi berbasis
web sedangkan aplikasi web akan menampilkan informasi hasil observasi yang dilakukan kepada pengguna. Aplikasi web akan mengirimkan source code konfigurasi yang telah
dikirimkan kembali pada aplikasi web yang kemudian akan disimpan dan ditampilkan pada pengguna.
Sistem yang akan dibangun akan terdiri dari dua subsistem yang saling bergantung satu sama lain. Subsistem yang pertama akan bertanggung jawab untuk melakukan konfigurasi pada mikrokontroller sesuai dengan masukan pengguna melalui aplikasi berbasis web yang diberikan dan subsistem yang kedua akan bertanggung jawab untuk menerima data hasil observasi dari mikrokontroller dan merubah data tersebut dalam bentuk grafik. Flowchart
dari sistem yang akan dibangun dapat dilihat pada Gambar 15, Gambar 16 berikut ini.
Gambar 15 Flowchart Subsistem pertama
Tahapan yang akan dilakukan dalam sistem yang akan dibangun adalah sebagai berikut: 1. Pengguna menentukan sensor yang akan digunakan dengan mengaktifkan pin yang telah
dihubungkan dengan sensor pada rangkaian mikrokontroler arduino dan juga menentukan kondisi aktuasi sesuai kebutuhan melalui aplikasi web, kemudian pengguna menyimpan pengaturan yang telah dilakukan.
2. Informasi yang telah diatur oleh pengguna akan tersimpan pada webserver yang nantinya akan dikirim ke mikrokontroler.
3. Aplikasi web akan meng-generate kode program yang bersesuaian dengan sensor, pin dan aktuasi yang telah dipilih oleh pengguna. Generate kode program dilakukan dengan cara menggabungkan modul fungsi sensor yang tersimpan dalam database aplikasi web secara otomatis tanpa adanya campur tangan dari pengguna.
4. Setelah kode program baru di-generate, kode program yang baru akan dikirim ke mikrokontroler melalui sistem operasi dari aplikasi web, upload kode program dilakukan secara otomatis melalui service tftp yang dibuka pada Arduino uno yang digunakan secara otomatis, tanpa adanya campur tangan pengguna.
5. Mikrokontroler yang telah dihubungkan dengan sensor menerima dan mengolah informasi sesuai fungsi untuk setiap jenis sensor yang digunakan.
6. Data hasil pengukuran yang dilakukan oleh sensor akan dikirimkan kembali pada server
dalam format JSON dan data yang diterima akan diolah menjadi informasi oleh server. 7. Pengguna mengakses data yang diterima beserta notifikasi menggunakan aplikasi web. Pada Gambar 15, Gambar 16 diatas dapat dilihat bahwa aplikasi memiliki dua fungsi utama yaitu monitor dan controller. Fungsi controller dilihat dari Gambar 15 dan fungsi monitor dilihat dari Gambar 16. Proses yang terjadi pada aplikasi secara umum yaitu:
2. User melihat chart hasil penghitungan sensor yang telah digunakan. User memilih sensor yang telah dihubungkan dan telah berjalan atau melakukan penghitungan pada arduino dan chart akan muncul.
3.2.2 Deskripsi Umum Sistem
Deskripsi umum Sistem Rancang Bangun Aplikasi untuk Konfigurasi Otomatis Penggunaan Sensor Arduino dapat dilihat pada Gambar 17.
Gambar 17 Deskripsi umum sistem
Sistem Rancang Bangun Aplikasi untuk Konfigurasi Otomatis Penggunaan Sensor Arduino merupakan sistem terintegrasi menggunakan sistem tertanam yang dapat digunakan untuk memantau dan mengendalikan kondisi lingkungan sekitar. Sistem ini terdiri dari mikrokontroler yang dirangkai sedemikian rupa dengan penggunaan sensor yang dinamis atau mendukung penggunaan banyak sensor selama pin masih tersedia, sehingga dapat memberi kemampuan ketidakterbatasan dalam penggunaan sensor. Meskipun demikian sensor yang akan difokuskan untuk tugas akhir ini adalah sensor DHT11, soil moisture, dan LM35.
Pada sistem yang akan dibangun, sistem akan memiliki sebuah aplikasi web dengan server
Linux dan sebuah sistem tertanam yang menggunakan mikrokontroler Arduino uno dan
Ethernet shield.
Pada sistem tertanam, Arduino uno yang digunakan telah menggunakan bootloader dan
source code EPROM baru, penggantian bootloader bertujuan agar Arduino mampu mengaktifkan layanan TFTP dan mampu mengeksekusi source code baru yang dikirmkan oleh server dari aplikasi web melalui service TFTP tersebut, sedangkan penggantian source code pada EPROM bertujuan untuk mengkonfigurasi jaringan yang akan digunakan oleh Arduino, sehingga konfigurasi jaringan akan aktif dari mulai mikrokontroler Arduino dijalankan.
3.2.3 Deskripsi Detail Sistem
Aplikasi web pada sistem yang akan dibangun memiliki dua fungsi utama yaitu sebagai antarmuka konfigurasi mikrokontroler yang digunakan dan sebagai antarmuka yang menampilkan informasi pemantauan lingkungan oleh sensor yang dihasilkan ketika Arduino telah berjalan sesuai dengan konfigurasi pengguna. Skema database yang akan digunakan untuk membangun aplikasi web dapat dilihat pada Gambar 18 berikut.
Fungsi konfigurasi mikrokontroler yang dilakukan oleh aplikasi web didasari oleh generasi kode program berdasarkan pin sensor yang akan digunakan oleh pengguna secara otomatis. Pengguna akan menentukan kombinasi sensor yang akan digunakan dan menancapkan sensor pada pin yang tersedia pada mikrokontroler, setelah itu pengguna mengkonfigurasi sensor yang digunakan melalui aplikasi web dengan memilih jenis sensor yang digunakan dan pin yang digunakan. Secara langsung, aplikasi web melakukan generasi source code dengan mengkombinasikan modul-modul fungsi yang berasal dari database yang bersesuaian dengan pilihan sensor dan pin dari pengguna. Setelah kode program yang bersesuaian dengan keinginan user digenerasi oleh aplikasi, aplikasi web akan menciptakan file berekstensi ino yang berisi source code yang telah digenerasi. Selanjutnya file akan di-compile dan menghasilkan file berekstensi bin. Proses compile dilakukan dengan terminal sistem operasi linux yang bertindak sebagai server untuk aplikasi berbasis web. Hal ini dapat dilakukan dengan bantuan PHP script. Aplikasi akan mengeksekusi shell command melalui PHP Script
pada sistem operasi linux yang digunakan pada server untuk mengirimkan kode program melalui servis TFTP yang dibuka pada arduino.
Pada transmisi ini, sistem linux akan bertindak sebagai client dan Arduino akan bertindak sebagai server TFTP. Transmisi kode program dari web server ke mikrokontroler Arduino akan dilakukan dengan metode transmisi UDP TFTP melalui port 69 yang terbuka pada mikrokontroler arduino. Sebelum dikirimkan, file kode program yang akan dikirim akan diubah menjadi bentuk binary. Hal ini dikarenakan protokol TFTP yang digunakan hanya mendukung pengiriman binary data. Transmisi sourcecode dilakukan dengan menggunakan
Proses transmisi data dpaat dilihat pada Gambar 19 berikut.
Gambar 19 Transmisi data dalam TFTP
Server TFTP (arduino) akan mengirimkan acknowledgment pada setiap block atau tahapan pengiriman. Pengriman data akan dilakukan bertahap sehingga menciptakan block byte data
secara terus menerus, sampai semua binarydata terkirim pada server TFTP.
Setelah kode program baru diterima oleh mikrokontroler arduino, kode program akan dieksekusi dan secara langsung sensor yang ditambahkan oleh pengguna dapat berfungsi. Upload kode program melaui service tftp pada arduino dapat dilakukan dikarenakan 2 hal utama yaitu bootloader pada Arduino Uno (Arduino Uno Bootloader) telah diganti menjadi TFTP Bootloader Ariadne. Hal ini bertujuan agar file source code yang dikirmkan oleh aplikasi web melalui servis TFTP yang terbuka dapat dieksekusi oleh Arduino. EPROM pada mikrokontroler Arduino (ATMEGA328P) telah di-flash dengan konfigurasi jaringan yang akan digunakan, hal ini dilakukan agar konfigurasi jaringan pada Arduino berjalan dari mulai Arduino dinyalakan, dan agar konfigurasi jaringan tidak tertimpa saat Arduino mengeksekusi
Skema pembuatan source code dan pengiriman source code melalui protocol TFTP pada Arduino dapat dilihat pada Gambar 20 berikut
Gambar 20 Tahapan pembuatan source code dan transmisi melalui TFTP
Setelah Arduino mengeksekusi kode program yang dikirimkan melalui TFTP dan manjalankan fungsi sesuai dengan sensor yang digunakan oleh pengguna, Arduino akan menghasilkan data pemantauan keadaan lingkungan yang berasal dari hasil sensing oleh sensor. Data ini akan dikembalikan lagi ke server yang menangani aplikasi berbasis web dan kemudian akan diolah sebelum informasi keadaan lingkungan ditampilkan pada aplikasi berbasis web tersebut. Data keadaan lingkungan dari Arduino akan dikirimkan dengan format JSON ke server aplikasi web.
Gambar 21 Skema Consume data berformat JSON
Arduino akan bertindak sebagai server yang membuka service http, sehingga data JSON dapat diconsume oleh server aplikasi web dan dapat diolah kembali. Server dari aplikasi web
Bab IV Implementasi
Pada bab ini diuraikan implementasi dari Aplikasi Konfigurasi Otomatis Penggunaan Sensor pada Arduino. Implementasi yang dilakukan adalah implementasi perangkat keras dan perangkat lunak yang akan digunakan pada sistem.
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak Sistem
Pada Pembangunan sistem ini, digunakan beberapa perangkat keras dan perangkat lunak. Perangkat keras dan perangkat lunak yang digunakan dalam pembangunan sistem ini dapat dilihat pada Tabel 2 berikut.
Tabel 2 Kebutuhan Perangkat Keras dan Perangkat Lunak
Perangkat Keras Perangkat Lunak
Arduino Uno Sistem Operasi Ubuntu server 15
Ethernet Shield LAMP Server
Sensor LM35 Framewok YII2
Sensor Soil Moisture (YL-69) Inotool
Sensor DHT11 Ariadne Bootloader
AC-DC Adaptor TFTP client
4.2 Implementasi Perangkat Keras
Pada subbab ini akan dijelaskan mengenai implementasi perangkat keras yang digunakan khususnya dalam implementasi penggunaan dan rangkaian mikrokontroller dengan sensor.
4.2.1 Implementasi Rangkaian Mikrokontroller dengan sensor DHT11
Salah satu contoh dari rangkaian pin Arduino dan pin sensor DHT11 dapat dilihat pada Gambar 22 berikut.
Gambar 22 Contoh Rangkaian Arduino Uno dan Sensor DHT11
4.2.2 Implementasi Mikrokontroller dengan sensor Soil Moisture
Sensor Soil moisture berjenis YL-69 memiliki 2 buah pin yang harus dihubungkan terlebih dahulu pada sebuah IC sehingga data analog ataupun digital hasil observasi oleh sensor dapat diambil oleh mikrokontroller Arduino. IC yang digunakan sebagai perantara sensor dan mikrokontroller memiliki 3 dari 4 buah pin yang akan dihubungkan pada mikrokontroller. Pada IC terdapat 4 buah pin yaitu VCC, GND, D0 dan A0. Dikarenakan data hasil observasi yang ingin diambil harus data analog, maka pin D0 tidak digunakan.
Rangkaian sensor Soil Moisture dan mikrokontroller dibentuk dengan menghubungkan pin IC Soil Moisture ke mikrokontroller. Detail penghubungan pin IC dengan mikrokontroller dapat dilihat pada Tabel 3 berikut.
Tabel 3 Pembagian pin Soil Moisture dan Arduino
Pin Soil Moisture Pin Arduino
GND GND
VCC 5V
A0 A0, A1, A2, A3, A4, A5
4.2.3 Implementasi Mikrokontroller dengan sensor Temperature LM35
Sensor LM35 merupakan sebuah sensor yang mampu mengobservasi keadaan ruangan khususnya keadaan temperatur ruangan. Sensor ini memiliki 3 buah pin yaitu pin GND, VCC dan pin OUT. Pembagian pin sensor LM35 dapat dilihat pada Gambar 23 berikut.
Gambar 23 Pembagian pin sensor LM35
Dikarenakan data temperatur yang ingin diambil harus presisi, maka pin data yang digunakan ialah pin Analog, sehingga pin OUT dari sensor LM35 dihubungkan pada salah satu pin analog mikrokontroller.
Detil penghubungan pin IC dengan mikrokontroller dapat dilihat pada Tabel 4 berikut. Tabel 4 Pembagian pin Soil Moisture dan Arduino
Pin Sensor LM35 Pin Arduino
GND GND
VCC 5V
OUT A0, A1, A2, A3, A4, A5
Salah satu contoh rangkaian yang dapat dibuat dapat dilihat pada Gambar 24 berikut.
4.3 Instalasi Perangkat Lunak
Pada subbab ini akan dijelaskan instalasi dari perangkat lunak yang digunakan pada sistem yang akan dibangun. Adapun instalasi yang dilakukan melingkupi instalasi Sistem Operasi Ubuntu Server 15, LAMP Server, Framework YII2, Inotool, Ariadne Bootloader dan TFTP
Client.
4.3.1 Instalasi Ubuntu Server 15
Ubuntu Server merupakan Sistem Operasi yang digunakan sebagai server dimana aplikasi berbasis web dari sistem akan di-hosting. Berikut merupakan langkah-langkah penginstalan Ubuntu server 15.
1. Download file image Ubuntu server 15 dari http://www.ubuntu.com/download/server 2. Burn file image tersebut pada DVD ataupun Flashdisk dengan menggunakan aplikasi
PowerIso ataupun aplikasi burning lain.
3. Boot DVD atau Flashdisk dari PC yang akan digunakan sebagai server.
4. Hal yang pertama yang akan muncul pada awal penginstalan ubuntu server
merupakan pilihan bahasa yang akan digunakan.
5. Kemudian setelah bahasa telah dipilih, akan muncul pilihan untuk melakukan penginstalan ubuntu atau melakukan repair terhadap server jika telah pernah
di-install.
6. Setelah menekan tombol enter pada pilihan penginstalan ubuntu, jendela berikutnya yang akan muncul merupakan untuk pemilihan bahasa yang akan digunakan dalam proses penginstalan.
7. Berikutnya pemilihan lokasi atau negara dimana user berada.
8. Selanjutnya melakukan konfigurasi terhadap keyboard yang digunakan, ini merupakan bagian opsional.
9. Berikutnya merupakan pemilihan terhadap jenis keyboard yang digunakan, bagian ini jendela ini akan muncul saat jendela konfigurasi keyboard diabaikan
10.Selanjutnya merupakan pilihan untuk layout yang sesuai dengan keyboard yang digunakan.
12.Kemudian pembuatan akun user server ubuntu.
13.Setelah pembuatan akun, hal berikutnya adalah username untuk akun yang baru saja di-create.
14.Setelah user, password akan dibutuhkan sebagai security user yang telah di-create
sebelumnya
15.Re-type password untuk memastikan password yang di-input sebelumnya tidak salah 16.Berikutnya pilihan untuk melakukan encrypt home directory
17.Berikutnya pemilihan time zone
18.Selanjutnya pemilihan metode partisi yang digunakan dan besar ukuran yang dibutuhkan
19.Berikutnya konfigurasi package manager
20.Terakhir aplikasi yang akan diinstal
21.Tunggu beberapa saat dan jika tidak ada kendala, instalasi telah berhasil dan selesai. Setelah berhasil melakukan instalasi, tampilan layar utama Ubuntu Server 15 dapat dilihat pada gambar berikut.