i TUGAS AKHIR SISTEM TELEMETRI AKUISISI DATA GREENHOUSE MENGGUNAKAN XBee Pro S2B Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Disusun oleh : RAYENDRA EGA SATRIA NIM : 125114007 JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
Embed
TUGAS AKHIR SISTEM TELEMETRI AKUISISI DATA GREENHOUSE · Kata kunci : Greenhouse , Matlab, ... Gambar 2.10 Arduino Mega ... Gambar 3.3 Tampilan GUI ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
i
TUGAS AKHIR
SISTEM TELEMETRI AKUISISI DATA GREENHOUSE
MENGGUNAKAN XBee Pro S2B
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
RAYENDRA EGA SATRIA
NIM : 125114007
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
GREENHOUSE DATA ACQUISITION TELEMETRY SYSTEM
USING XBee Pro S2B
In a partial fulfilment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
RAYENDRA EGA SATRIA
NIM :125114007
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
Ini hidupku, aku penentu kesuksesan hidupku,
is my decision and my action , or nothing at all
Skripsi ini kupersembahkan untuk…..
Yesus Kristus Juru Slamat & Pembimbingku yang Setia
Bapak, Ibu dan Adikku
Kekasihku yang Memberikan Semangat
Sahabat dan Teman-teman Seperjuangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Faktor yang sangat penting dalam membuat sebuah greenhouse adalah dimana
pengguna harus mengetahui kondisi yang ada di dalam greenhouse tersebut .Greenhouse
yang ada saat ini tidak bisa dimonitor secara otomatis, sehingga untuk mengetahui kondisi
greenhouse harus melihat secara langsung dan data yang diperoleh tidak dapat direkam
atau disimpan secara otomatis. Oleh karena itu sistem yang secara otomatis dapat
memantau dan menyimpan semua data dalam greenhouse pada computer dibuat.
Sistem ini menggunakan modul pengiriman XBee Pro S2B untuk mengirimkan
data secara wireless dari sistem kontrol ke komputer untuk ditampilkan di interface
software matlab agar pengguna mudah dalam melihat. Sistem akan mengirim data setiap
10 detik, setelah itu data akan disimpan secara otomatis berdasarkan tanggal pengiriman.
Modul XBee Pro S2B untuk sistem telemetri monitoring kondisi greenhouse
berhasil dibuat dan sudah diuji dengan jarak maksimal 115 meter untuk pengiriman paket
data. Data yang dimonitor adalah waktu, tanggal, suhu, kelembaban udara, kelembaban
tanah, status control, pompa air, humidifier dan air cooler.
Kata kunci : Greenhouse, Matlab, XBee Pro S2B.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
A very important factor in making a greenhouse is that user must know the
conditions which exist in the greenhouse. The current greenhouse can’t be monitored automatically, so to find out the condition of the greenhouse the user should directly
monitor it and the data obtained could not be recorded or stored automatically. Since the
data obtained could not be recorded or stored automatically, therefore a system that could
automatically monitor and save all data in the greenhouse on the computer was created.
This system uses shipping module XBee Pro S2B to send the wireless data from the
control system to the computer. After that, the data will be displayed in the matlab software
interface so the user can easily see the data. The system will transmit data every 10
seconds. After that, the data will be saved automatically based on delivery date.
XBee Pro S2B module for telemetry system monitoring the condition of the
greenhouse was successfully created and had already tested with the maximum distance of
115 meters for data packet delivery. Monitored data is the time, date, temperature, air
humidity, soil moisture, status control, water pump, humidifier and air cooler.
Keywords : Greenhouse, Matlab, XBee Pro S2B.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala rahmat-
Nya. Berkat Kasih dan KaruniaNya selama menjalani proses pembuatan tugas akhir ini,
penulis dapat menyelesaikan tugas akhir dengan judul “Sistem Telemetri Akuisisi Data
Greenhouse Menggunakan Xbee Pro S2B”.
Tugas akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Teknik (S.T) bagi mahasiswa program S-1 Jurusan Teknik Elektro Universitas
Sanata Dharma Yogyakarta. Selama proses penyusunan proposal ini, penulis banyak
mendapat bantuan dan dukungan dari berbagai pihak, untuk itu penulis mengucapkan
terimakasih kepada:
1. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma Yogyakarta.
2. Bapak Dr. Ir. M. Linggo Sumarno, M.T., selaku Dosen Pembimbing tugas akhir yang
telah banyak meluangkan waktu untuk memberikan bimbingan.
3. Bapak Martanto, M.T., dan Bapak Joko Untoro, S.Si., M.T., yang telah memberikan
saran dan kritik dalam menyelesaikan penulisan tugas akhir.
4. Seluruh dosen Teknik Elektro yang telah memberikan ilmu yang bermanfaat kepada
penulis selama kuliah.
5. Bapak, ibu dan adikku yang telah memberikan perhatian dan dukungan.
6. Rosana Indriastuti yang telah memberikan semangat untuk segera menyelesaikan
penulisan tugas akhir ini.
7. Seluruh teman-teman prodi Teknik Elektro angkatan 2012 atas kerjasama dan
kebersamaannya selama menjalani studi.
8. Kawan-kawan penggembira dan penyemangat kos 21 yang memberikan dukungan.
9. Semua pihak yang tidak bisa penulis sebutkan satu per satu atas bantuan, bimbingan,
kritik dan saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
Halaman Sampul(Bahasa Indonesia) ......................................................................... i
Halaman Sampul(Bahasa Inggris) ............................................................................. ii
Lembar Persetujuan ................................................................................................... iii
Lembar Pengesahan ................................................................................................... iv
Halaman Persembahan .............................................................................................. v
Lembar Pernyataan Keaslian Karya .......................................................................... vi
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah .......................................... vii
Intisari ........................................................................................................................ viii
Abstract ...................................................................................................................... ix
Kata Pengantar ........................................................................................................... x
Daftar Isi .................................................................................................................... xii
Daftar Gambar ........................................................................................................... xv
Daftar Tabel ............................................................................................................... xvii
BAB I PENDAHULUAN
1.1 Latar Belakang ......................................................................................... 1
1.2 Tujuan dan Manfaat ................................................................................ 1
1.3 Batasan Masalah ..................................................................................... 2
Pemrograman arduino dikenal dengan Integrated Development Evironment ( IDE ).
Lingkungan pemrograman yang digunakan untuk menulis baris program dan
mengunggahnya ke dalam board arduino dibuat lebih mudah dan dapat berjalan pada
beberapa sistem operasi seperti windows, macintosh dan linux [13]. Dengan tampilan awal
seperti gambar 2.11.
Gambar 2.11 IDE Arduino
Tabel 2.3 Keterangan Tombol Pada Tampilan IDE Arduino
No Tombol Nama Fungsi
1
Verify
Menguji kesalahan dalam program atau sketch apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin.
2
Upload
Mengirimkan kode mesin hasil kompilasi ke board arduino
3
New Membuat sketch baru
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Tabel 2.3 (Lanjutan) Keterangan Tombol Pada Tampilan IDE Arduino
No Tombol Nama Fungsi
4
Open
Membuka sketch yang sudah ada
5
Save
Menyimpan sketch
IDE arduino pada tabel 2.3 membutuhkan beberapa pengaturan yang digunakan
untuk mendeteksi board arduino yang sudah dihubungkan ke komputer. Beberapa
pengaturan tersebut adalah mengatur jenis board yang digunakan sesuai dengan board
yang terpasang dan mengatur jenis komunikasi data melalui perintah serial port. Kedua
pengaturan tersebut dapat ditemukan pada pull menu tools [13].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
BAB III
RANCANGAN PENELITIAN
3.1 Arsitektur Sistem
Perancangan sistem telemetri akuisisi data greenhouse menggunakan XBee Pro S2B
dibagi menjadi dua bagian utama, yaitu:
a. Perancangan software yang terdiri dari pemograman pc / interface, pemrograman mikro /
arduino mega, penyetingan konfigurasi XBee Pro S2B.
b. Perancangan hardware yang terdiri dari perancangan LCD.
Gambar 3.1 Blok Diagram Seluruh Sistem
Gambar 3.2 Blok Diagram Sistem Penelitian
Peneliti dalam sistem ini membuat sistem dengan bagian blok warna merah yaitu
pengirim dan penerima data dengan modul XBee Pro S2B kemudian ditampilkan di PC
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
seperti pada gambar 3.1. Berikut merupakan keterangan cara kerja sistem yang ditunjukkan
gambar 3.2 :
a. XBee Pro S2B merupakan transmitter wireless yang bekerja pada frekuensi 2,4 GHz. Alat
ini mempunyai 2 fungsi yaitu pengirim data dari hasil sensor melalui arduino mega ke PC
dan penerima data di PC secara wireless.
b. LCD sebagai penampil status bahwa data sedang dikirim.
c. Arduino mega berfungsi sebagai media perantara untuk mentransmisikan data yang masuk
ke PC yang dipancarkan oleh XBee Pro S2B.
d. Shield Xbee berfungsi komunikasi antara arduino mega dengan XBee.
e. Usb adapter berfungsi untuk berkomunikasi antara PC dengan XBee menggunakan port
USB.
f. Untuk mendapatkan data dari control unit. Data dari control unit yang disimpan dalam
database arduino mega akan dikirimkan ke PC melalui XBee Pro S2B. Setelah data di
terima di PC, data tersebut dipisahkan untuk setiap format datanya kemudian ditampilkan
dalam bentuk tabel dan grafik.
3.2 Perancangan Subsistem Software
Perancangan subsistem software yang pertama harus dibuat adalah membuat diagram
alur sistemnya terlebih dahulu yang nantinya dalam pembuatan program dapat terencana
dengan baik dan sesuai.utuk mendukung perancangan software, di sini dibuat rancangan
tampilan GUI / interface seperti gambar 3.3 dengan software matlab sebagai sistem
monitoring kondisi greenhouse yang secara otomatis data akan masuk dan tertampil secara
realtime, kemudian data yang telah masuk akan tertampil dalam bentuk tabel dan grafik yang
nantinya data juga akan tersimpan di dalam database yakni disimpan dengan format tanggal
pengiriman.mat agar memudahkan dalam pencarian data yang sebelumnya sudah tersimpan.
Saat data yang baru masuk maka nantinya user atau pengguna juga dapat mencari atau
melihat-lihat file-file yang sebelumnya tersimpan jika dibutuhkan. Model format
penyimpanan data sesuai dengan format karakter pada tabel interface.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3.3 Tampilan GUI
Bagian data masuk adalah data yang sesuai dengan data yang baru saja dikirim dari
transmitter untuk mengecek atau melihat apakah data yang masuk dan diterima sesuai. Untuk
tampilan pada tabel nantinya data akan tertampil sesuai dengan nomor paket pengiriman
yakni akan terus bergeser ke atas atau data yang baru akan tertampil pada tabel paling bawah
dan jika ingin melihat data yang sudah lama dengan cara scroll atau geser ke atas secara
manual.
Grafik yang ada nantinya akan terus tertampil dengan 10 data terakhir yang diterima
hingga hari berganti agar memudahkan dalam pembacaan grafik setiap harinya serta nantinya
pengguna juga dapat melihat data pada jam dan tanggal berapa saja. Keterangan grafik pada
sumbu x adalah waktu pengiriman dan sumbu y adalah data sensor yang masuk seperti
gambar 3.4. Serta nantinya dapat melihat nilai minimum, maximum dan average pada setiap
data sensor yang dikirim per harinya. Jika ingin melihat grafik pada data yang diinginkan,
contoh melihat data pada jam 2 sampai jam 6 pagi dua minggu yang lalu, ya tinggal cari file
pada tanggal tersebut dan yang di plot atau dibuat grafiknya ambil pada jam 2 sampai jam 6
pagi saja dan nantinya akan tertampil grafik sesuai dengan apa yang diinginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Gambar 3.4 Tampilan Grafik GUI
3.2.1 Diagram Alir Program Utama
Perancangan sistem yang akan dijalankan dengan inisialisasi port pada mikro arduino
mega kemudian mengaktifkan TX / transmitter, setelah itu tanggal dan waktu pengiriman
harus diketahui. Setelah semua data terkumpul maka data siap dikirim dan diterima dengan
bantuan modul XBee Pro S2B secara wireless yang kemudian akan ditampilkan datanya di
dalam interface PC dan dapat dimonitoring pada jarak jauh. Diagram alir dapat dilihat pada
gambar 3.5 dimana bagian dengan warna biru merupakan sistem pengiriman data dan bagian
dengan warna merah merupakan sistem penerima data.
3.2.2 Diagram Alir Subrutin Pengiriman Data
Sistem pada perancangan pengiriman data ini dengan inisialisasi port mikro arduino
mega kemudian transmitter diaktifkan lalu atur tanggal dan waktu pengiriman kemudian
semua data yang akan dikirim akan dilihat apakah data tersebut termasuk data waktu dan
tanggal, sensor, kontrol status, suhu, kelembaban udara, kelembaban tanah. Setelah data
tersebut sudah sesuai maka siap dikirim di dalam bentuk paket yang sebelumnya data tersebut
sudah terdapat karakter tersendiri untuk membedakan antara data yang satu dengan yang
lainnya seperti pada gambar 3.6. Subrutin setiap pengiriman data dapat dilihat di lampiran
gambar L1 sampai L6 dengan mengirimkan data setiap satu menit sekali karena
menyesuaikan dengan pengambilan data pada sensor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Inisialisasi
Port Mikro
Aktifkan TX
Mulai
Subrutin Pengiriman
Data
Subrutin Penerima
Data
Tampilkan Data Dalam
Tabel dan Grafik
Selesai
Baca Waktu
dan Tanggal
Gambar 3.5 Diagram Alir Program Utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Mulai
Atur Waktu
Pengiriman
Data
Inisialisasi
Port Mikro
Aktifkan TX
Data TanggalSubrutin Pengiriman
Data TanggalUlang
Data Kontrol StatusSubrutin Pengiriman
Data Kontrol StatusUlang
Data SuhuSubrutin Pengiriman
Data SuhuUlang
Data Kelembaban
Udara
Data Kelembaban
Tanah
Subrutin Pengiriman
Data Kelembaban
Tanah
Subrutin Pengiriman
Data Kelembaban
Udara
Ulang
Ulang
Kirim Paket DataSubrutin Pengiriman
Paket Data
Selesai
YAYA
YA
YA
YA
YA
YA
YA
YA
YA
YA
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
Data WaktuSubrutin Pengiriman
Data WaktuUlang
YA
YA
TIDAK
Gambar 3.6 Diagram Alir Subrutin Pengiriman Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.2.3 Diagram Alir Pengiriman dan Penerimaan Paket Data
Sistem pengiriman dan penerimaan paket data ini dengan mengambil serta
mengirimkan satu paket data yang sudah siap kirim kemudian transmitter diaktifkan
kemudian paket data dikirim dan pada XBee penerima receiver diaktifkan supaya dapat
menerima paket data yang sudah dikirim. Setelah itu data akan diterima dan ditampilkan
dalam interface PC seperti pada gambar 3.7.
Mulai
Ambil 1
Paket Data
Aktifkan TX
Kirim Paket
Data
Aktifkan RX
Data Masuk ?
Ambil Paket
Data
Tampilkan
Dalam Bentuk
Tabel dan grafik
Selesai
YA
TIDAK
Gambar 3.7 Diagram Alir Pengiriman dan Penerimaan Paket Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.2.4 Diagram Alir Subrutin Penerima Data
Sistem pada perancangan ini menerima setiap satu menit sekali dengan
menginisialisasi port pada PC kemudian transmitter diaktifkan agar dapat berkomunikasi dan
data bisa diterima. Setelah data masuk akan dicek terlebih dahulu apakah format sesuai, jika
ya maka data siap ditampilkan. Dengan diagram alir seperti pada gambar 3.8.
Mulai
Inisialisasi
Port PC
Aktifkan
RX
Data Masuk ?
Ambil dan
Periksa
Data
Format Data
sesuai ?
Tampilkan Data Ke
Tabel dan Grafik
Selesai
YA
TIDAK
YA
TIDAK
Gambar 3.8 Diagram Alir Subrutin Penerima Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3.2.5 Format Paket Data
Jumlah karakter dalam paket data sebanyak 44 karakter, terdiri dari nomor
pengiriman, waktu, tanggal, status sistem kontrol dan data 3 sensor ( suhu, kelembaban udara,
kelembaban tanah) yang diawali dengan karakter ”@” dan diakhiri dengan karakter “$”.
Format data tersebut disesuaikan dengan kebutuhan , berikut format data di dalam paket data :
@HH:MM#YYYY-mm-DD#KxEyPz#S11.1#U22.2#T33.3$
Dari format data yang sudah ada, HH:MM adalah jam dan menit, YYYY-mm-DD
adalah tanggal bulan tahun pengiriman, KxEyPz adalah keterangan apakah sistem kendalinya
dalan kondisi on atau off yakni terdapat kipas, evaporator fan dan pompa air, S11.1 adalah
data suhu dengan tanda titik (.) sebagai pemisah angka desimal, U22.2 adalah data
kelembaban udara dengan tanda titik (.) sebagai pemisal angka desimal, T33.3 adalah data
kelembaban tanah dengan tanda titik (.) sebagai pemisah angka desimal untuk memudahkan
dalam pembacaan, tanda pagar (#) sebagai pemisah tiap data. Dari format paket data tersebut
dijelaskan jumlah karakter dalam tabel tabel 3.1.
Tabel 3.1 Format Paket Data
Waktu Tanggal Kontrol Status
Suhu (oC)
Kelembaban Udara (%)
Kelembaban Tanah (%)
Jumlah Karakter
5 10 6 5 5 5
3.2.6 Format Penyimpanan File
Perancangan ini supaya dapat memudahkan pengguna dalam menyimpan data, maka
file yang disimpan diberi nama sesuai dengan tanggal kapan data tersebut diterima / dikirim
dengan format nama.mat, contoh 20160210.mat berarti file tersebut data pada tahun 2016
bulan Februari tanggal 10. Data tersebuat tersimpan secara otomatis setelah semua data dalam
1 hari sudah diterima semua karena pengiriman data setiap 1 menit sekali, jadi dalam 1 hari
terdapat 1440 data yang harus dikirim dan diterima. Penyimpanan setiap hari atau per hari dan
sebagai keterangan rancangan sistem kerja GUI seperti yang diperjelas pada gambar 3.9. Pada
database nantinya dalam 1 folder akan dapat menyimpan data dalam satu minggu dengan
jumlah data 10080 dan untuk 4 bulan dalam satu siklus tanam yakni 10080 x 16 minggu
adalah 161.280 data dengan catatan bahwa software matlab menyala terus menerus, di sini
sebenarnya berapapun banyak datanya tidak masalah karena masuk ke dalam memori laptop
dan juga memori setiap data sangat kecil, untuk satu karakter jika dalam satu hari hanya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
11520 bytes, sementara dalam paket data terdapat 44 karakter, berarti dalam satu hari hanya
menyimpan data 11520 kb x 44 karakter yakni 506880 b atau 506,88 kb dan dalam satu
minggu 506,88 x 7 jadi 3548,16 kb atau 3,54816 Mb. Jika dalam satu siklus tanam 4 bulan,
maka 3,54816 Mb x 16 minggu yakni 56,77056 Mb seperti yang diperjelas pada gambar 3.10
dan 3.11.
START
Apakah Paket
Data Sesuai ?
Ulang
SELESAI
Tidak
Ya
Ya
Ya
Tidak
Tampilkan Data
Dalam Bentuk Grafik
Terima
Data
Paket
Tampilkan Data
Dalam Kolom Data
Terbaru dan
Kedalam Tabel
Simpan Data
Paket Dalam
Bentuk M.File
Gambar 3.9 Diagram Alir Penyimpanan Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 3.10 Menampilkan Data
Gambar 3.11 Menghitung Memori Data
Jika nantinya software Matlab dimatikan berarti datanya tidak tersimpan dan jika
ingin menamilkan grafik pada data sebelum dan sesudah dimatikan hanya dengan plot data
yang nantinya diinginkan meskipun berbeda data seperti pada gambar 3.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 3.12 Penampil Grafik dengan Data yang Hilang
3.3 Perancangan Subsistem Hardware
Perancangan subsistem hardware dibuat untuk mendukung dalam pembuatan sistem
ini, perancangan yang akan dibuat adalah setting XBee, perancangan LCD sebagai penampil
data yang akan dikirim serta desain greenhouse yang akan digunakan.
3.3.1 Setting Konfigurasi XBee Pro S2B
Saat akan melakukan setting konfigurasi XBee dengan software X_CTU pilih port
mana yang akan diseting kemudian pilih baud rate dan test, jika berhasil maka akan muncul
kotak seperti gambar 3.13. Setting konfigurasi dengan memilih type modem yang harus
terkonfigurasi dengan internet, lalu set coordinator AT dengan membuat PAN ID dengan
angka yang unik, cek nomor PAN ID dan nomor versi pada XBee seperti pada gambar 3.14
serta cek serial number seperti pada gambar 3.15.
Setting XBee yang ke dua dengan cara yang sama seperti pada setting XBee yang
pertama dengan hasil test modem seperti pada gambar 3.16 tapi setelah memilih type modem
lalu set router AT, cek versi router dan serial number seperti pada gambar 3.17 serta cek
router DH dan DL seperti gambar 3.18. Isi DH dan DL dengan nomor SH dan SL dan cek
seluruh konfigurasi XBee yang kedua seperti pada gambar 3.19.
Setelah selesai pada XBee kedua lalu setting lagi XBee yang pertama dengan hasil test
sepert pada gambar 3.20, kemudian cek konfigurasinya seperti dan ganti DH dan DL dengan
SH dan SL router XBee yang kedua, cek lagi konfigurasinya seperti, jika sudah semua selesai
XBee dapat digunakan untuk berkomunikasi.
22.5
23
23.5
24
24.5
25
25.5
0 5 10 15
oC
Paket Data
Suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.13 Hasil Test Komunikasi XBee Pertama
Gambar 3.14 Nomor Versi dan PAN ID Gambar 3.15 Nomor PAN ID dan Serial
Number
Gambar 3.16 Test Modem XBee kedua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 3.17 Versi Router dan Serial Number Gambar 3.18 Router DH dan DL
Gambar 3.19 cek Seluruh konfigurasi XBee Gambar 3.20 Test XBee Pertama
3.3.2 LCD
Perancangan elektronika greenhouse ini LCD yang digunakan pada LCD character
16x2 berfungsi sebagai penampil keterangan paket pengiriman data. Berdasarkan datasheet
tegangan kontras (pin Vo) maksimum LCD ini adalah 5 volt, nantinya akan digunakan
Variabel resistor sebesar 10 kohm yang akan digunakan untuk membatasi tegangan pada pin
ini. Tujuannya mengatur kontras pada LCD tersebut. Rangkaian LCD character 16x2
ditunjukkan pada gambar 3.21.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 3.21 Rangkaian LCD Display
Pada Tabel 3.2 merupakan rancangan tampilan data pada LCD dengan keterangan
warna biru merupakan status kontrol dengan Kx adalah kipas, Ey adalah evaporator fan, Pz
adalah pompa air, warna merah merupakan data suhu dengan satu angka desimal di belakang
koma, warna hijau merupakan data kelembaban udara dengan satu angka desimal di belakang
koma, warna kuning merupakan data kelembaban tanah dengan satu angka desimal dibelang
koma dan warna ungu merupakan jumlah paket data yang dikirim atau nomor pengiriman
paket data yang nantinya paket akan reset setiap hari maka butuh 4 karakter yakni 1 jam = 60
menit, maka 60 x 24 jam = 1440 paket data. Tanda pagar di LCD merupakan pemisah antar
bagian data agar mudah dalam pembacaan dan tanda titik sebagai tanda koma untuk angka
desimal.
Tabel 3.2 Tampilan Data di LCD
K x E y P z # S 1 1 . 1 # U 2 2
. 2 # T 3 3 . 3 # P 4 4 4 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.3.3 Design Greenhouse
Perancangan ini merupankan design smart greenhouse yang dibuat berupa gambar 3
dimensi yang nantinya akan menjadi panduan untuk membuat alat yang sebenarnya. Pada
gambar 3.20 ditunjukan design untuk greenhouse tersebut dengan ukuran panjang x lebar x
tinggi adalah 70 cm x 60 cm x 80 cm. Greenhouse nantinya akan terbuat dari alumunium
dan kaca. Pada greenhouse akan terdapat kipas, evaporator fan dan sistem pengairan yang
akan diletakkan di dalam greenhouse.
Pompa air akan diletakkan diluar greenhouse yang ditunjukkan pada gambar 3.22.
seperti yang terlihat pada gambar 3.23 merupakan gambaran greenhouse dari depan dan
gambar 3.24 merupakan gambaran greenhouse dari atas serta gambar 3.25 merupakan
gambaran greenhouse tampak dari samping. Dalam meletakkan pusat kontrolnya, juga
terdapat kotak di depan greenhouse seperti pada gambar 3.23. Kotak ini nantinya digunakan
untuk meletakkan mikrokontroler ,LCD , LED dan tombol sebagai pusat kontrol. User
nantinya akan melihat status greenhouse pada kotak ini. Pada greenhouse ini juga akan
terdapat 4 roda agar mudah untuk dipindahkan. Kedua sensor, SHT 11 akan diletakkan diatas
selang irigasi , sementara YL-69 akan ditanam ditanah yang ada pada greenhouse.
Gambar 3.22 Design Prototype Smart Greenhouse
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 3.23 Tampak Depan Gambar 3.24 Tampak Atas
Gambar 3.25 Tampak Samping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisikan gambar fisik hardware yang dibuat, sistem elektronik, pengujian
hardware yang meliputi pengujian komunikasi XBee, pengujian timer dan pengiriman
256. if (myFile)//bila ada maka akan dibuka, dan ditutup filenya
257. {
258. myFile.print(now.year());
259. myFile.print('/');
260. myFile.print(now.month(), DEC);
261. myFile.print('/');
262. myFile.print(now.day(), DEC);
263. myFile.print(',');
264. myFile.print(now.hour(), DEC);
265. myFile.print(':');
266. myFile.print(now.minute(), DEC);
267. myFile.print(':');
268. myFile.print(now.second(), DEC);
269. myFile.print(',');
270. myFile.print(temp_c, 2);
271. myFile.print(",");
272. myFile.print(humidity, 2);
273. myFile.print(",");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
274. myFile.print(soil);
275. myFile.print(",");
276. myFile.print(cooler);
277. myFile.print(",");
278. myFile.print(humid);
279. myFile.print(",");
280. myFile.println(pompa);
281. myFile.close();
282. }
283. count = 0;
284. a = 0;
285. }
286. //Serial.print("waktu"); Serial.print(" "); Serial.println(mi -ji); //ngetes range
waktu ambil data
287. }
288. else {
289. lcd.begin (16, 4);
290. lcd.setCursor (2, 1);
291. lcd.print ("Tekan Tombol");
292. lcd.setCursor (5, 2);
293. lcd.print ("Start");
294. delay (1000);
295. lcd.clear();
296. digitalWrite(22, LOW);
297. digitalWrite(23, LOW);
298. digitalWrite(24, LOW);
299. digitalWrite(25, LOW);
300. digitalWrite(26, LOW);
301. digitalWrite(27, LOW);
302. digitalWrite(29, LOW);
303. digitalWrite(30, LOW);
304. digitalWrite(31, LOW);
305. digitalWrite(32, LOW);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
306. digitalWrite(36, LOW);
307. digitalWrite(27, LOW);
308. }
309. Dt = digitalRead(42); // Button Output
310. if (Dt == LOW && buttonstate == LOW) {
311. lcd.clear();
312. lcd.setCursor (0, 0);
313. lcd.print(tahun, DEC);
314. lcd.print('-');
315. lcd.print(ptanggal[0]);
316. lcd.print('-');
317. lcd.print(ptanggal[1]);
318. lcd.print('#');
319. lcd.print(pwaktu[2]);
320. lcd.print(':');
321. lcd.print(pwaktu[1]);
322. lcd.setCursor (0, 1);
323. lcd.print(':');
324. lcd.print(pwaktu[0]);
325. lcd.print('#');
326. lcd.print(cooler);
327. lcd.print('#');
328. lcd.print(humid);
329. lcd.print('#');
330. lcd.print(pompa);
331. lcd.print('#');
332. lcd.print(temp_c, 2);
333. lcd.print('#');
334. lcd.setCursor (0, 2);
335. lcd.print(humidity, 2);
336. lcd.print('#');
337. lcd.print(soil, 2);
338. delay(2000);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
339. lcd.clear();
340. }
341. So = digitalRead(44); // Button Output
342. if (So == LOW && buttonstate == LOW) {
343. lcd.clear();
344. lcd.setCursor (0, 0);
345. lcd.print ("1=Nyala , 0=Mati");
346. lcd.setCursor (0, 1);
347. lcd.print ("Air Cooler :");
348. lcd.print (cooler);
349. lcd.setCursor (0, 2);
350. lcd.print ("Humidifier :");
351. lcd.print (humid);
352. lcd.setCursor (0, 3);
353. lcd.print ("Pompa Air :");
354. lcd.print (pompa);
355. kondisi = 0;
356. delay(2000);
357. lcd.clear();
358. }
359. Si = digitalRead(43); //Button Input
360. if (Si == LOW && buttonstate == LOW) {
361. lcd.clear();
362. lcd.setCursor (0, 0);
363. lcd.print("Suhu :");
364. lcd.print(temp_c, 2);
365. lcd.print("C ");
366. lcd.setCursor (0, 1);
367. lcd.print("Kel Udara:");
368. lcd.print(humidity, 2);
369. lcd.print("% ");
370. lcd.setCursor (0, 2);
371. lcd.print("Kel Tanah:");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
372. lcd.print(soil, 2);
373. delay(2000);
374. lcd.clear();
375. }
376. }
Listing Program Interface Software Matlab
1. %.................................................................. 2. % Tugas Akhir 3. % Sistem Telemetri Akuisisi Data Greenhouse Menggunakan XBee Pro S2B 4. % Oleh 5. % Rayendra Ega Satria 6. % Nim : 125114007 7. % Teknik Elektro Fakultas Sains dan Teknologi 8. % Universitas Sanata Dharma Yogyakarta 9. % 2016 10. %............................................................ 11. function varargout = EGA_TA(varargin) 12. % EGA_TA MATLAB code for EGA_TA.fig 13. % EGA_TA, by itself, creates a new EGA_TA or raises the
existing 14. % singleton*. 15. % 16. % H = EGA_TA returns the handle to a new EGA_TA or the
handle to 17. % the existing singleton*. 18. % 19. % EGA_TA('CALLBACK',hObject,eventData,handles,...) calls
the local 20. % function named CALLBACK in EGA_TA.M with the given
input arguments. 21. % 22. % EGA_TA('Property','Value',...) creates a new EGA_TA or
raises the 23. % existing singleton*. Starting from the left, property
value pairs are 24. % applied to the GUI before EGA_TA_OpeningFcn gets
called. An 25. % unrecognized property name or invalid value makes
property application 26. % stop. All inputs are passed to EGA_TA_OpeningFcn via
allows only one 29. % instance to run (singleton)". 30. % 31. % See also: GUIDE, GUIDATA, GUIHANDLES
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
32. 33. % Edit the above text to modify the response to help EGA_TA 34. 35. % Last Modified by GUIDE v2.5 17-Jun-2016 09:22:12 36. 37. % Begin initialization code - DO NOT EDIT 38. gui_Singleton = 1; 39. gui_State = struct('gui_Name', mfilename, ... 40. 'gui_Singleton', gui_Singleton, ... 41. 'gui_OpeningFcn', @EGA_TA_OpeningFcn, ... 42. 'gui_OutputFcn', @EGA_TA_OutputFcn, ... 43. 'gui_LayoutFcn', [] , ... 44. 'gui_Callback', []); 45. if nargin && ischar(varargin{1}) 46. gui_State.gui_Callback = str2func(varargin{1}); 47. end 48. 49. 50. if nargout 51. [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); 52. else 53. gui_mainfcn(gui_State, varargin{:}); 54. end 55. % End initialization code - DO NOT EDIT 56. 57. 58. % --- Executes just before EGA_TA is made visible. 59. function EGA_TA_OpeningFcn(hObject, eventdata, handles, varargin) 60. % This function has no output args, see OutputFcn. 61. % hObject handle to figure 62. % eventdata reserved - to be defined in a future version of MATLAB 63. % handles structure with handles and user data (see GUIDATA) 64. % varargin command line arguments to EGA_TA (see VARARGIN) 65. 66. % Choose default command line output for EGA_TA 67. 68. handles.output = hObject; 69. 70. % Update handles structure 71. guidata(hObject, handles); 72. 73. % UIWAIT makes EGA_TA wait for user response (see UIRESUME) 74. % uiwait(handles.figure1); 75. 76. delete(instrfindall); % reset port COM yang dipakai 77. s = serial('COM3','BaudRate', 9600); 78. set(s,'Terminator','LF'); 79. set(s,'Timeout',0.2); 80. fopen(s); % buka komunikasi serial
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L27
81. 82. handles.s = s; 83. handles.timer = timer('Period',0.25, ... 84. 'StartDelay',1, ... % 1 detik 85. 'TasksToExecute',inf, ... 86. 'ExecutionMode','fixedSpacing', ... 87. 'TimerFcn',{@timerCallback,hObject}); 88. handles.a = timer('Period',1, ... 89. 'StartDelay',300, ... % 300 detik / 5 menit 90. 'TasksToExecute',inf, ... 91. 'ExecutionMode','fixedSpacing', ... 92. 'TimerFcn',{@timerCallbacka,hObject}); 93. disp('Connected.') 94. guidata(hObject, handles); 95. 96. global ugrafik %Perhitungan jumlah grafik 97. global barisn %Perhitungan jumlah update grafik 98. ugrafik = 0; 99. barisn = 0; 100. 101. % --- Outputs from this function are returned to the command line. 102. function varargout = EGA_TA_OutputFcn(hObject, eventdata, handles) 103. % varargout cell array for returning output args (see VARARGOUT); 104. % hObject handle to figure 105. % eventdata reserved - to be defined in a future version of MATLAB 106. % handles structure with handles and user data (see GUIDATA) 107. 108. % Get default command line output from handles structure 109. varargout{1} = handles.output; 110. 111. 112. function waktu_Callback(hObject, eventdata, handles) 113. % hObject handle to waktu (see GCBO) 114. % eventdata reserved - to be defined in a future version of MATLAB 115. % handles structure with handles and user data (see GUIDATA) 116. 117. % Hints: get(hObject,'String') returns contents of waktu as text 118. % str2double(get(hObject,'String')) returns contents of
waktu as a double 119. 120. 121. % --- Executes during object creation, after setting all
properties. 122. function waktu_CreateFcn(hObject, eventdata, handles) 123. % hObject handle to waktu (see GCBO) 124. % eventdata reserved - to be defined in a future version of MATLAB 125. % handles empty - handles not created until after all CreateFcns
called 126. 127. % Hint: edit controls usually have a white background on Windows. 128. % See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L28
129. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
130. set(hObject,'BackgroundColor','white'); 131. end 132. 133. 134. 135. function tanggal_Callback(hObject, eventdata, handles) 136. % hObject handle to tanggal (see GCBO) 137. % eventdata reserved - to be defined in a future version of MATLAB 138. % handles structure with handles and user data (see GUIDATA) 139. 140. % Hints: get(hObject,'String') returns contents of tanggal as text 141. % str2double(get(hObject,'String')) returns contents of
tanggal as a double 142. 143. 144. % --- Executes during object creation, after setting all
properties. 145. function tanggal_CreateFcn(hObject, eventdata, handles) 146. % hObject handle to tanggal (see GCBO) 147. % eventdata reserved - to be defined in a future version of MATLAB 148. % handles empty - handles not created until after all CreateFcns
called 149. 150. % Hint: edit controls usually have a white background on Windows. 151. % See ISPC and COMPUTER. 152. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 153. set(hObject,'BackgroundColor','white'); 154. end 155. 156. 157. function air_cooler_Callback(hObject, eventdata, handles) 158. % hObject handle to air_cooler (see GCBO) 159. % eventdata reserved - to be defined in a future version of MATLAB 160. % handles structure with handles and user data (see GUIDATA) 161. 162. % Hints: get(hObject,'String') returns contents of air_cooler as
text 163. % str2double(get(hObject,'String')) returns contents of
air_cooler as a double 164. 165. 166. % --- Executes during object creation, after setting all
properties. 167. function air_cooler_CreateFcn(hObject, eventdata, handles) 168. % hObject handle to air_cooler (see GCBO) 169. % eventdata reserved - to be defined in a future version of MATLAB 170. % handles empty - handles not created until after all CreateFcns
called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L29
171. 172. % Hint: edit controls usually have a white background on Windows. 173. % See ISPC and COMPUTER. 174. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 175. set(hObject,'BackgroundColor','white'); 176. end 177. 178. 179. function humidifier_Callback(hObject, eventdata, handles) 180. % hObject handle to humidifier (see GCBO) 181. % eventdata reserved - to be defined in a future version of MATLAB 182. % handles structure with handles and user data (see GUIDATA) 183. 184. % Hints: get(hObject,'String') returns contents of humidifier as
text 185. % str2double(get(hObject,'String')) returns contents of
humidifier as a double 186. 187. 188. % --- Executes during object creation, after setting all
properties. 189. function humidifier_CreateFcn(hObject, eventdata, handles) 190. % hObject handle to humidifier (see GCBO) 191. % eventdata reserved - to be defined in a future version of MATLAB 192. % handles empty - handles not created until after all CreateFcns
called 193. 194. % Hint: edit controls usually have a white background on Windows. 195. % See ISPC and COMPUTER. 196. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 197. set(hObject,'BackgroundColor','white'); 198. end 199. 200. 201. function pompa_air_Callback(hObject, eventdata, handles) 202. % hObject handle to pompa_air (see GCBO) 203. % eventdata reserved - to be defined in a future version of MATLAB 204. % handles structure with handles and user data (see GUIDATA) 205. 206. % Hints: get(hObject,'String') returns contents of pompa_air as
text 207. % str2double(get(hObject,'String')) returns contents of
pompa_air as a double 208. 209. 210. % --- Executes during object creation, after setting all
properties. 211. function pompa_air_CreateFcn(hObject, eventdata, handles) 212. % hObject handle to pompa_air (see GCBO) 213. % eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L30
214. % handles empty - handles not created until after all CreateFcns called
215. 216. % Hint: edit controls usually have a white background on Windows. 217. % See ISPC and COMPUTER. 218. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 219. set(hObject,'BackgroundColor','white'); 220. end 221. 222. 223. function suhu_Callback(hObject, eventdata, handles) 224. % hObject handle to suhu (see GCBO) 225. % eventdata reserved - to be defined in a future version of MATLAB 226. % handles structure with handles and user data (see GUIDATA) 227. 228. % Hints: get(hObject,'String') returns contents of suhu as text 229. % str2double(get(hObject,'String')) returns contents of suhu
as a double 230. 231. 232. % --- Executes during object creation, after setting all
properties. 233. function suhu_CreateFcn(hObject, eventdata, handles) 234. % hObject handle to suhu (see GCBO) 235. % eventdata reserved - to be defined in a future version of MATLAB 236. % handles empty - handles not created until after all CreateFcns
called 237. 238. % Hint: edit controls usually have a white background on Windows. 239. % See ISPC and COMPUTER. 240. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 241. set(hObject,'BackgroundColor','white'); 242. end 243. 244. 245. function kel_udara_Callback(hObject, eventdata, handles) 246. % hObject handle to kel_udara (see GCBO) 247. % eventdata reserved - to be defined in a future version of MATLAB 248. % handles structure with handles and user data (see GUIDATA) 249. 250. % Hints: get(hObject,'String') returns contents of kel_udara as
text 251. % str2double(get(hObject,'String')) returns contents of
kel_udara as a double 252. 253. 254. % --- Executes during object creation, after setting all
properties. 255. function kel_udara_CreateFcn(hObject, eventdata, handles) 256. % hObject handle to kel_udara (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L31
257. % eventdata reserved - to be defined in a future version of MATLAB 258. % handles empty - handles not created until after all CreateFcns
called 259. 260. % Hint: edit controls usually have a white background on Windows. 261. % See ISPC and COMPUTER. 262. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 263. set(hObject,'BackgroundColor','white'); 264. end 265. 266. 267. function kel_tanah_Callback(hObject, eventdata, handles) 268. % hObject handle to kel_tanah (see GCBO) 269. % eventdata reserved - to be defined in a future version of MATLAB 270. % handles structure with handles and user data (see GUIDATA) 271. 272. % Hints: get(hObject,'String') returns contents of kel_tanah as
text 273. % str2double(get(hObject,'String')) returns contents of
kel_tanah as a double 274. 275. 276. % --- Executes during object creation, after setting all
properties. 277. function kel_tanah_CreateFcn(hObject, eventdata, handles) 278. % hObject handle to kel_tanah (see GCBO) 279. % eventdata reserved - to be defined in a future version of MATLAB 280. % handles empty - handles not created until after all CreateFcns
called 281. 282. % Hint: edit controls usually have a white background on Windows. 283. % See ISPC and COMPUTER. 284. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 285. set(hObject,'BackgroundColor','white'); 286. end 287. 288. 289. function jumlah_data_Callback(hObject, eventdata, handles) 290. % hObject handle to jumlah_data (see GCBO) 291. % eventdata reserved - to be defined in a future version of MATLAB 292. % handles structure with handles and user data (see GUIDATA) 293. 294. % Hints: get(hObject,'String') returns contents of jumlah_data as
text 295. % str2double(get(hObject,'String')) returns contents of
jumlah_data as a double 296. 297. 298. % --- Executes during object creation, after setting all
properties.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L32
299. function jumlah_data_CreateFcn(hObject, eventdata, handles) 300. % hObject handle to jumlah_data (see GCBO) 301. % eventdata reserved - to be defined in a future version of MATLAB 302. % handles empty - handles not created until after all CreateFcns
called 303. 304. % Hint: edit controls usually have a white background on Windows. 305. % See ISPC and COMPUTER. 306. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 307. set(hObject,'BackgroundColor','white'); 308. end 309. 310. 311. function max_suhu_Callback(hObject, eventdata, handles) 312. % hObject handle to max_suhu (see GCBO) 313. % eventdata reserved - to be defined in a future version of MATLAB 314. % handles structure with handles and user data (see GUIDATA) 315. 316. % Hints: get(hObject,'String') returns contents of max_suhu as text 317. % str2double(get(hObject,'String')) returns contents of
max_suhu as a double 318. 319. 320. % --- Executes during object creation, after setting all
properties. 321. function max_suhu_CreateFcn(hObject, eventdata, handles) 322. % hObject handle to max_suhu (see GCBO) 323. % eventdata reserved - to be defined in a future version of MATLAB 324. % handles empty - handles not created until after all CreateFcns
called 325. % Hint: edit controls usually have a white background on Windows. 326. % See ISPC and COMPUTER. 327. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 328. set(hObject,'BackgroundColor','white'); 329. end 330. 331. 332. function min_suhu_Callback(hObject, eventdata, handles) 333. % hObject handle to min_suhu (see GCBO) 334. % eventdata reserved - to be defined in a future version of MATLAB 335. % handles structure with handles and user data (see GUIDATA) 336. 337. % Hints: get(hObject,'String') returns contents of min_suhu as text 338. % str2double(get(hObject,'String')) returns contents of
min_suhu as a double 339. 340. 341. % --- Executes during object creation, after setting all
properties. 342. function min_suhu_CreateFcn(hObject, eventdata, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L33
343. % hObject handle to min_suhu (see GCBO) 344. % eventdata reserved - to be defined in a future version of MATLAB 345. % handles empty - handles not created until after all CreateFcns
called 346. 347. % Hint: edit controls usually have a white background on Windows. 348. % See ISPC and COMPUTER. 349. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 350. set(hObject,'BackgroundColor','white'); 351. end 352. 353. 354. function mean_suhu_Callback(hObject, eventdata, handles) 355. % hObject handle to mean_suhu (see GCBO) 356. % eventdata reserved - to be defined in a future version of MATLAB 357. % handles structure with handles and user data (see GUIDATA) 358. 359. % Hints: get(hObject,'String') returns contents of mean_suhu as
text 360. % str2double(get(hObject,'String')) returns contents of
mean_suhu as a double 361. 362. 363. % --- Executes during object creation, after setting all
properties. 364. function mean_suhu_CreateFcn(hObject, eventdata, handles) 365. % hObject handle to mean_suhu (see GCBO) 366. % eventdata reserved - to be defined in a future version of MATLAB 367. % handles empty - handles not created until after all CreateFcns
called 368. 369. % Hint: edit controls usually have a white background on Windows. 370. % See ISPC and COMPUTER. 371. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 372. set(hObject,'BackgroundColor','white'); 373. end 374. 375. 376. function max_kudara_Callback(hObject, eventdata, handles) 377. % hObject handle to max_kudara (see GCBO) 378. % eventdata reserved - to be defined in a future version of MATLAB 379. % handles structure with handles and user data (see GUIDATA) 380. 381. % Hints: get(hObject,'String') returns contents of max_kudara as
text 382. % str2double(get(hObject,'String')) returns contents of
max_kudara as a double 383. 384. 385. % --- Executes during object creation, after setting all
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L34
properties. 386. function max_kudara_CreateFcn(hObject, eventdata, handles) 387. % hObject handle to max_kudara (see GCBO) 388. % eventdata reserved - to be defined in a future version of MATLAB 389. % handles empty - handles not created until after all CreateFcns
called 390. 391. % Hint: edit controls usually have a white background on Windows. 392. % See ISPC and COMPUTER. 393. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 394. set(hObject,'BackgroundColor','white'); 395. end 396. 397. 398. function min_kudara_Callback(hObject, eventdata, handles) 399. % hObject handle to min_kudara (see GCBO) 400. % eventdata reserved - to be defined in a future version of MATLAB 401. % handles structure with handles and user data (see GUIDATA) 402. 403. % Hints: get(hObject,'String') returns contents of min_kudara as
text 404. % str2double(get(hObject,'String')) returns contents of
min_kudara as a double 405. 406. 407. % --- Executes during object creation, after setting all
properties. 408. function min_kudara_CreateFcn(hObject, eventdata, handles) 409. % hObject handle to min_kudara (see GCBO) 410. % eventdata reserved - to be defined in a future version of MATLAB 411. % handles empty - handles not created until after all CreateFcns
called 412. 413. % Hint: edit controls usually have a white background on Windows. 414. % See ISPC and COMPUTER. 415. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 416. set(hObject,'BackgroundColor','white'); 417. end 418. 419. 420. function mean_kudara_Callback(hObject, eventdata, handles) 421. % hObject handle to mean_kudara (see GCBO) 422. % eventdata reserved - to be defined in a future version of MATLAB 423. % handles structure with handles and user data (see GUIDATA) 424. 425. % Hints: get(hObject,'String') returns contents of mean_kudara as
text 426. % str2double(get(hObject,'String')) returns contents of
mean_kudara as a double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L35
427. 428. 429. % --- Executes during object creation, after setting all
properties. 430. function mean_kudara_CreateFcn(hObject, eventdata, handles) 431. % hObject handle to mean_kudara (see GCBO) 432. % eventdata reserved - to be defined in a future version of MATLAB 433. % handles empty - handles not created until after all CreateFcns
called 434. 435. % Hint: edit controls usually have a white background on Windows. 436. % See ISPC and COMPUTER. 437. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 438. set(hObject,'BackgroundColor','white'); 439. end 440. 441. 442. function max_ktanah_Callback(hObject, eventdata, handles) 443. % hObject handle to max_ktanah (see GCBO) 444. % eventdata reserved - to be defined in a future version of MATLAB 445. % handles structure with handles and user data (see GUIDATA) 446. 447. % Hints: get(hObject,'String') returns contents of max_ktanah as
text 448. % str2double(get(hObject,'String')) returns contents of
max_ktanah as a double 449. 450. 451. % --- Executes during object creation, after setting all
properties. 452. function max_ktanah_CreateFcn(hObject, eventdata, handles) 453. % hObject handle to max_ktanah (see GCBO) 454. % eventdata reserved - to be defined in a future version of MATLAB 455. % handles empty - handles not created until after all CreateFcns
called 456. 457. % Hint: edit controls usually have a white background on Windows. 458. % See ISPC and COMPUTER. 459. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 460. set(hObject,'BackgroundColor','white'); 461. end 462. 463. 464. function min_ktanah_Callback(hObject, eventdata, handles) 465. % hObject handle to min_ktanah (see GCBO) 466. % eventdata reserved - to be defined in a future version of MATLAB 467. % handles structure with handles and user data (see GUIDATA) 468. 469. % Hints: get(hObject,'String') returns contents of min_ktanah as
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L36
text 470. % str2double(get(hObject,'String')) returns contents of
min_ktanah as a double 471. 472. 473. % --- Executes during object creation, after setting all
properties. 474. function min_ktanah_CreateFcn(hObject, eventdata, handles) 475. % hObject handle to min_ktanah (see GCBO) 476. % eventdata reserved - to be defined in a future version of MATLAB 477. % handles empty - handles not created until after all CreateFcns
called 478. 479. % Hint: edit controls usually have a white background on Windows. 480. % See ISPC and COMPUTER. 481. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 482. set(hObject,'BackgroundColor','white'); 483. end 484. 485. 486. function mean_ktanah_Callback(hObject, eventdata, handles) 487. % hObject handle to mean_ktanah (see GCBO) 488. % eventdata reserved - to be defined in a future version of MATLAB 489. % handles structure with handles and user data (see GUIDATA) 490. 491. % Hints: get(hObject,'String') returns contents of mean_ktanah as
text 492. % str2double(get(hObject,'String')) returns contents of
mean_ktanah as a double 493. 494. 495. % --- Executes during object creation, after setting all
properties. 496. function mean_ktanah_CreateFcn(hObject, eventdata, handles) 497. % hObject handle to mean_ktanah (see GCBO) 498. % eventdata reserved - to be defined in a future version of MATLAB 499. % handles empty - handles not created until after all CreateFcns
called 500. 501. % Hint: edit controls usually have a white background on Windows. 502. % See ISPC and COMPUTER. 503. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 504. set(hObject,'BackgroundColor','white'); 505. end 506. 507. 508. % ----------------------------------------------------------------- 509. function activex4_Click(hObject, eventdata, handles) 510. % hObject handle to activex4 (see GCBO) 511. % eventdata structure with parameters passed to COM event listener
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L37
512. % handles structure with handles and user data (see GUIDATA) 513. 514. 515. % ----------------------------------------------------------------- 516. function activex4_Slide(hObject, eventdata, handles) 517. % hObject handle to activex4 (see GCBO) 518. % eventdata structure with parameters passed to COM event listener 519. % handles structure with handles and user data (see GUIDATA) 520. 521. 522. % ----------------------------------------------------------------- 523. function activex4_Change(hObject, eventdata, handles) 524. % hObject handle to activex4 (see GCBO) 525. % eventdata structure with parameters passed to COM event listener 526. % handles structure with handles and user data (see GUIDATA) 527. 528. 529. % --- Executes during object creation, after setting all
properties. 530. function axes10_CreateFcn(hObject, eventdata, handles) 531. % hObject handle to axes10 (see GCBO) 532. % eventdata reserved - to be defined in a future version of MATLAB 533. % handles empty - handles not created until after all CreateFcns
called 534. 535. % Hint: place code in OpeningFcn to populate axes10 536. 537. 538. % --- Executes when entered data in editable cell(s) in uitable1. 539. function uitable1_CellEditCallback(hObject, eventdata, handles) 540. % hObject handle to uitable1 (see GCBO) 541. % eventdata structure with the following fields (see
MATLAB.UI.CONTROL.TABLE) 542. % Indices: row and column indices of the cell(s) edited 543. % PreviousData: previous data for the cell(s) edited 544. % EditData: string(s) entered by the user 545. % NewData: EditData or its converted form set on the Data
property. Empty if Data was not changed 546. % Error: error string when failed to convert EditData to
appropriate value for Data 547. % handles structure with handles and user data (see GUIDATA) 548. 549. 550. % --- Executes during object creation, after setting all
properties. 551. function uitable1_CreateFcn(hObject, eventdata, handles) 552. % hObject handle to uitable1 (see GCBO) 553. % eventdata reserved - to be defined in a future version of MATLAB 554. % handles empty - handles not created until after all CreateFcns
called 555. 556.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L38
557. % --- Executes on button press in pushbutton3. 558. function pushbutton3_Callback(hObject, eventdata, handles) 559. % hObject handle to pushbutton3 (see GCBO) 560. % eventdata reserved - to be defined in a future version of MATLAB 561. % handles structure with handles and user data (see GUIDATA) 562. 563. 564. % --- Executes during object creation, after setting all
properties. 565. function suhu_grafik_CreateFcn(hObject, eventdata, handles) 566. % hObject handle to suhu_grafik (see GCBO) 567. % eventdata reserved - to be defined in a future version of MATLAB 568. % handles empty - handles not created until after all CreateFcns
called 569. 570. % Hint: place code in OpeningFcn to populate suhu_grafik 571. 572. 573. % --- Executes during object creation, after setting all
properties. 574. function ktanah_grafik_CreateFcn(hObject, eventdata, handles) 575. % hObject handle to ktanah_grafik (see GCBO) 576. % eventdata reserved - to be defined in a future version of MATLAB 577. % handles empty - handles not created until after all CreateFcns
called 578. 579. % Hint: place code in OpeningFcn to populate ktanah_grafik 580. 581. 582. % --- Executes on selection change in menu_date. 583. function menu_date_Callback(hObject, eventdata, handles) 584. % hObject handle to menu_date (see GCBO) 585. % eventdata reserved - to be defined in a future version of MATLAB 586. % handles structure with handles and user data (see GUIDATA) 587. 588. % Hints: contents = cellstr(get(hObject,'String')) returns
menu_date contents as cell array 589. % contents{get(hObject,'Value')} returns selected item from
menu_date 590. 591. 592. % --- Executes during object creation, after setting all
properties. 593. function menu_date_CreateFcn(hObject, eventdata, handles) 594. % hObject handle to menu_date (see GCBO) 595. % eventdata reserved - to be defined in a future version of MATLAB 596. % handles empty - handles not created until after all CreateFcns
called 597. 598. 599. % guidata(hObject,handles); 600.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L39
601. % Hint: popupmenu controls usually have a white background on Windows.
602. % See ISPC and COMPUTER. 603. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 604. set(hObject,'BackgroundColor','white'); 605. end 606. 607. 608. % --- Executes during object creation, after setting all
properties. 609. function namatanggal_CreateFcn(hObject, eventdata, handles) 610. % hObject handle to namatanggal (see GCBO) 611. % eventdata reserved - to be defined in a future version of MATLAB 612. % handles empty - handles not created until after all CreateFcns
called 613. 614. % Hint: popupmenu controls usually have a white background on
Windows. 615. % See ISPC and COMPUTER. 616. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 617. set(hObject,'BackgroundColor','white'); 618. end 619. 620. 621. function datawaktu1_Callback(hObject, eventdata, handles) 622. % hObject handle to datawaktu1 (see GCBO) 623. % eventdata reserved - to be defined in a future version of MATLAB 624. % handles structure with handles and user data (see GUIDATA) 625. 626. % Hints: get(hObject,'String') returns contents of datawaktu1 as
text 627. % str2double(get(hObject,'String')) returns contents of
datawaktu1 as a double 628. 629. 630. % --- Executes during object creation, after setting all
properties. 631. function datawaktu1_CreateFcn(hObject, eventdata, handles) 632. % hObject handle to datawaktu1 (see GCBO) 633. % eventdata reserved - to be defined in a future version of MATLAB 634. % handles empty - handles not created until after all CreateFcns
called 635. 636. % Hint: edit controls usually have a white background on Windows. 637. % See ISPC and COMPUTER. 638. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 639. set(hObject,'BackgroundColor','white'); 640. end 641.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L40
642. 643. function datawaktu2_Callback(hObject, eventdata, handles) 644. % hObject handle to datawaktu2 (see GCBO) 645. % eventdata reserved - to be defined in a future version of MATLAB 646. % handles structure with handles and user data (see GUIDATA) 647. 648. % Hints: get(hObject,'String') returns contents of datawaktu2 as
text 649. % str2double(get(hObject,'String')) returns contents of
datawaktu2 as a double 650. 651. 652. % --- Executes during object creation, after setting all
properties. 653. function datawaktu2_CreateFcn(hObject, eventdata, handles) 654. % hObject handle to datawaktu2 (see GCBO) 655. % eventdata reserved - to be defined in a future version of MATLAB 656. % handles empty - handles not created until after all CreateFcns
called 657. 658. % Hint: edit controls usually have a white background on Windows. 659. % See ISPC and COMPUTER. 660. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 661. set(hObject,'BackgroundColor','white'); 662. end 663. 664. 665. % --- Executes on button press in ok. 666. function ok_Callback(hObject, eventdata, handles) 667. % hObject handle to ok (see GCBO) 668. % eventdata reserved - to be defined in a future version of MATLAB 669. % handles structure with handles and user data (see GUIDATA) 670. 671. 672. % --- Executes on selection change in pilihandata. 673. function pilihandata_Callback(hObject, eventdata, handles) 674. % hObject handle to pilihandata (see GCBO) 675. % eventdata reserved - to be defined in a future version of MATLAB 676. % handles structure with handles and user data (see GUIDATA) 677. 678. % Hints: contents = cellstr(get(hObject,'String')) returns
pilihandata contents as cell array 679. % contents{get(hObject,'Value')} returns selected item from
pilihandata 680. 681. 682. % --- Executes during object creation, after setting all
properties. 683. function pilihandata_CreateFcn(hObject, eventdata, handles) 684. % hObject handle to pilihandata (see GCBO) 685. % eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L41
686. % handles empty - handles not created until after all CreateFcns called
687. 688. % Hint: popupmenu controls usually have a white background on
Windows. 689. % See ISPC and COMPUTER. 690. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) 691. set(hObject,'BackgroundColor','white'); 692. end 693. 694. 695. % --- Executes on button press in mulai. 696. function mulai_Callback(hObject, eventdata, handles) 697. % hObject handle to mulai (see GCBO) 698. % eventdata reserved - to be defined in a future version of MATLAB 699. % handles structure with handles and user data (see GUIDATA) 700. handles = guidata(hObject); 701. 702. start(handles.timer); %start timer 703. start(handles.a); %timer 5 menit 704. set(handles.uitable1, 'Data',[]); %mengosongkan tabel 705. set(handles.uitable1, 'Data',
cell(size(get(handles.uitable1,'Data')))); %menampilkan nomor urut data yang masuk 706. 707. 708. function timerCallback(~,~,hObject) 709. 710. global ugrafik %Perhitungan jumlah grafik 711. global barisn %Perhitungan jumlah update grafik 712. 713. 714. handles = guidata(hObject); 715. 716. if isfield(handles,'s') 717. try 718. readasync(handles.s); 719. n = handles.s.BytesAvailable; 720. if n > 0 721. warning('off','MATLAB:serial:fscanf:unsuccessfulRead'); 722. idn = fscanf(handles.s); 723. C = textscan(idn,'%s%s%d%d%d%f%f%f','Delimiter','#'); 724. [Tanggal, Waktu, Air_cooler, Humidifier, Pompa_air,
Suhu, Kel_udara, Kel_tanah] = deal(C{:}); 725. 726. dsuhu=sprintf('%.2f',Suhu); %menetapkan data suhu dengan 2 angka
dibelakang koma(,) 727. dkel_udara=sprintf('%.2f',Kel_udara); %menetapkan data
kel.udara dengan 2 angka di belakang koma(,) 728. dkel_tanah=sprintf('%.2f',Kel_tanah); %menetapkan data
kel.tanah dengan 2 angka di belakang koma(,)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L42
729. 730. set(handles.waktu,'String',Waktu); %menampilkan data
waktu ke tampilan data masukan tunggal 731. set(handles.tanggal,'String',Tanggal); %menampilkan data
tanggal ke tampilan data masukan tunggal 732. set(handles.air_cooler,'String',Air_cooler); %menampilkan data
air cooler ke tampilan data masukan tunggal 733. set(handles.humidifier,'String',Humidifier); %menampilkan data
humidifier ke tampilan data masukan tunggal 734. set(handles.pompa_air,'String',Pompa_air); %menampilkan data
pompa air ke tampilan data masukan tunggal 735. set(handles.suhu,'String',dsuhu); %menampilkan data
suhu ke tampilan data masukan tunggal 736. set(handles.kel_udara,'String',dkel_udara); %menampilkan data
kel.udara ke tampilan data masukan tunggal 737. set(handles.kel_tanah,'String',dkel_tanah); %menampilkan data
kel.tanah ke tampilan data masukan tunggal 738. set(handles.activex4,'Value',Suhu); %menampilkan data
suhu ke tampilan animasi 739. set(handles.activex7,'NeedleValue',Kel_udara); %menampilkan data
kel.udara ke tampilan animasi 740. set(handles.activex9,'NeedleValue',Kel_tanah); %menampilkan data
kel.tanah ke tampilan animasi 741. 742. 743. %Tabel : 744. d = [Waktu Tanggal dsuhu dkel_udara dkel_tanah Air_cooler
Humidifier Pompa_air]; % 745. data=get(handles.uitable1,'data'); 746. data(end+1,:)=d; %menampilkan data berikutnya pada tabel 747. set(handles.uitable1,'data',data); %menampilkan data dalam tabel 748. 749. %Save data ke excel 750. data_TA=date; %data_TA akan sesuai dengan tanggal saat ini 751. xlswrite(data_TA,data,'sheet1')%simpan data tabel GUI MATLAB ke
excel 752. 753. %membaca dan mengambil data dari excel 754. data_TA=date; 755. namafile=[data_TA '.xls']; 756. hasil=xlsread(namafile); 757. 758. %Menampilkan pada grafik 759. datanum = str2double(get(handles.uitable1,'Data')); 760. datastr = get(handles.uitable1,'Data'); 761. ugrafik = ugrafik + 1; 762. if (ugrafik < 10) 763. %Nilai sumbu Y saat dibawah 10 764. awaktu = datastr(:,1); 765. asuhu = datanum(:,3); 766. akeludara = datanum(:,4); 767. akeltanah = datanum(:,5); 768.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L43
769. if (ugrafik >= 1) 770. %batas.a & batas.b x axis saat dibawah 10 771. nbatawaktu = datastr(1,1); 772. batawaktu = datenum(datestr(nbatawaktu,
datenum(datestr(nbatbwaktu,'HH:MM:SS'),'HH:MM:SS'); 775. handles.suhu_grafik.XLim = [batawaktu batbwaktu]; 776. handles.kudara_grafik.XLim = [batawaktu batbwaktu] 777. handles.ktanah_grafik.XLim = [batawaktu batbwaktu]; 778. end 779. else 780. barisn = barisn + 1; 781. %Nilai sumbu Y saat diatas 10 782. awaktu = datastr(barisn:1:end,1); 783. asuhu = datanum(barisn:1:end,3); 784. akeludara = datanum(barisn:1:end,4); 785. akeltanah = datanum(barisn:1:end,5); 786. 787. % Tetapakan ba & bb x axis saat diatas 10 788. %Batas atas 789. nbatawaktu = datastr(barisn,1); 790. batawaktu = datenum(datestr(nbatawaktu, 'HH:MM:SS'),'HH:MM:SS'); 791. 792. %Batas bawah 793. nbatbwaktu = datastr(end,1); 794. batbwaktu = datenum(datestr(nbatbwaktu, 'HH:MM:SS'),'HH:MM:SS'); 795. handles.suhu_grafik.XLim = [batawaktu batbwaktu]; 796. handles.kudara_grafik.XLim = [batawaktu batbwaktu]; 797. handles.ktanah_grafik.XLim = [batawaktu batbwaktu]; 798. end 799. swaktu = datenum(datestr(awaktu, 'HH:MM:SS'),'HH:MM:SS') 800. 801. %menampilkan 10 data suhu terakhir dalam grafik 802. hold(handles.suhu_grafik, 'on'); 803. stem(handles.suhu_grafik, swaktu, asuhu,'-ko'); 804. datetick(handles.suhu_grafik, 'x', 'HH:MM','keeplimits'); 805. 806. %menampilkan 10 data kel.udara terakhir dalam grafik 807. hold(handles.kudara_grafik, 'on'); 808. stem(handles.kudara_grafik, swaktu, akeludara,'-ko'); 809. datetick(handles.kudara_grafik, 'x', 'HH:MM','keeplimits'); 810. 811. % menampilkan 10 data kel.tanah terakhir dalam grafik 812. hold(handles.ktanah_grafik, 'on'); 813. stem(handles.ktanah_grafik, swaktu, akeltanah,'-ko'); 814. datetick(handles.ktanah_grafik, 'x', 'HH:MM','keeplimits'); 815. 816. %menghitung nilai data suhu max, min dan mean dari seluruh data
yang masuk ke excel 817. suhu_max = max(hasil(:,3)); %max suhu dari kolom 1 pada excel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L44
818. suhu_min = min(hasil(:,3)); %min suhu dari kolom 1 pada excel 819. size_suhu=size(hasil(:,3),1); %menghitung jumlah data suhu dari
kolom 1 pada excel 820. suhu_rata = sum(hasil(:,3))/size_suhu; %mean suhu dari kolom 1
pada excel 821. suhu_rerata=sprintf('%.2f',suhu_rata); %mean suhu dengan 2 angka
dibelakang koma(,) 822. 823. %menampilkan nilai data suhu max, min dan mean dari seluruh data
yang masuk ke excel 824. set(handles.max_suhu,'String',suhu_max); 825. set(handles.min_suhu,'String',suhu_min); 826. set(handles.mean_suhu,'String',suhu_rerata); 827. 828. %menghitung nilai data kel.udara max, min dan mean dari seluruh
data yang masuk ke excel 829. kudara_max = max(hasil(:,4)); 830. kudara_min = min(hasil(:,4)); 831. size_kudara=size(hasil(:,4),1); 832. kudara_rata = sum(hasil(:,4))/size_kudara; 833. kudara_rerata=sprintf('%.2f',kudara_rata); 834. 835. %menampilkan nilai data kel.udara max, min dan mean dari seluruh
data yang masuk ke excel 836. set(handles.max_kudara,'String',kudara_max); 837. set(handles.min_kudara,'String',kudara_min); 838. set(handles.mean_kudara,'String',kudara_rerata); 839. 840. %menghitung nilai data kel.tanah max, min dan mean dari seluruh
data yang masuk ke excel 841. ktan_max = max(hasil(:,5)); 842. ktanah_max=sprintf('%.2f',ktan_max); 843. ktan_min = min(hasil(:,5)); 844. ktanah_min=sprintf('%.2f',ktan_min); 845. size_ktanah=size(hasil(:,5),1); 846. ktanah_rata = sum(hasil(:,5))/size_ktanah; 847. ktanah_rerata=sprintf('%.2f',ktanah_rata); 848. 849. %menampilkan nilai data kel.tanah max, min dan mean dari seluruh
data yang masuk ke excel 850. set(handles.max_ktanah,'String',ktanah_max); 851. set(handles.min_ktanah,'String',ktanah_min); 852. set(handles.mean_ktanah,'String',ktanah_rerata); 853. set(handles.jumlah_data,'String',size_ktanah); %menghitung
dan menampilkan jumlah data yang masuk selama 1 hari 854. 855. End 856. catch 857. end 858. End 859. 860. function timerCallbacka(~,~,hObject)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L45
861. 862. handles = guidata(hObject); 863. stop(handles.a); 864. stop(handles.timer); 865. msgbox('selesai'); 866. 867. % --- Executes on button press in selesai. 868. function selesai_Callback(hObject, eventdata, handles) 869. % hObject handle to selesai (see GCBO) 870. % eventdata reserved - to be defined in a future version of MATLAB 871. % handles structure with handles and user data (see GUIDATA) 872. 873. %stop timer dan stop program gui 874. handles = guidata(hObject); 875. stop(handles.timer); 876. s=handles.s; 877. fclose(s) 878. 879. 880. % --- Executes on button press in pushbutton6. 881. function pushbutton6_Callback(hObject, eventdata, handles) 882. % hObject handle to pushbutton6 (see GCBO) 883. % eventdata reserved - to be defined in a future version of MATLAB 884. % handles structure with handles and user data (see GUIDATA) 885. 886. % Mencari file data excel 887. [filename, pathname] = uigetfile('*.xls','Select your file'); 888. [file] = xlsread([pathname filename]) 889. handles.gui.file=file; 890. fwaktu=(file(:,1)); 891. filewaktu = datestr(fwaktu,'HH:MM:SS') 892. handles.gui.filewaktu=filewaktu; 893. guidata(hObject,handles); 894. 895. 896. function [cari_waktu] = waktuindex(waktu,filewaktu) 897. %UNTITLED Summary of this function goes here 898. % Detailed explanation goes here 899. 900. cari_waktu=1 901. [B] = size(filewaktu,1); 902. for i=1:B; 903. if strcmp(filewaktu(i,:),waktu); 904. cari_waktu=i; 905. end 906. End 907. 908. % --- Executes on button press in pushbutton7. 909. function pushbutton7_Callback(hObject, eventdata, handles) 910. % hObject handle to pushbutton7 (see GCBO) 911. % eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L46
912. % handles structure with handles and user data (see GUIDATA) 913. 914. % Cari waktu 1 915. filewaktu=handles.gui.filewaktu; 916. filewaktu=num2str (filewaktu); 917. waktu1=get(handles.datawaktu1,'String'); 918. cari_waktu1 = waktuindex(waktu1,filewaktu) 919. handles.gui.cari_waktu1=cari_waktu1; 920. 921. % Cari waktu 2 922. waktu2=get(handles.datawaktu2,'String'); 923. cari_waktu2 = waktuindex(waktu2,filewaktu) 924. handles.gui.cari_waktu2=cari_waktu2; 925. 926. % POP-UP menu 927. file=handles.gui.file; 928. filewaktu=handles.gui.filewaktu; 929. cari_waktu1=handles.gui.cari_waktu1; 930. cari_waktu2=handles.gui.cari_waktu2; 931. contents = get(handles.pilihandata,'String'); 932. pilihandatavalue = contents{get(handles.pilihandata,'Value')} 933. switch pilihandatavalue 934. case 'Suhu' 935. ds_suhu=(file(cari_waktu1:cari_waktu2,3)) 936. stem(handles.axes6,ds_suhu,'-ko'); 937. axis(handles.axes6,[0 20 0 50]); 938. 939. case 'Kel.Udara' 940. ds_keludara=(file(cari_waktu1:cari_waktu2,4)) 941. stem(handles.axes6,ds_keludara,'-ko'); 942. axis(handles.axes6,[0 20 0 100]); 943. 944. Otherwise 945. ds_keltanah=(file(cari_waktu1:cari_waktu2,5)) 946. stem(handles.axes6,ds_keltanah,'-ko'); 947. axis(handles.axes6,[0 20 0 10]); 948. end