bab iv pengujian sistem - dinamikarepository.dinamika.ac.id/id/eprint/1129/7/bab_iv.pdf · gambar...
TRANSCRIPT
35
BAB IV
PENGUJIAN SISTEM
Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap
perangkat keras dan perangkat lunak secara keseluruhan dan digunakan untuk
mengetahui apakah sistem dapat berjalan sesuai yang diharapkan. Sistem yang
diuji tersebut antara lain:
4.1 Pengujian Output Sensor Suhu
4.1.1 Tujuan
Pengujian sensor suhu dilakukan untuk mengetahui informasi suhu
sebenarnya yang terdiri dari dua node pada tempat atau kondisi yang sama pada
saat pengukuran. Data yang dihasilkan oleh sensor diolah oleh arduino supaya
dapat menghasilkan nilai suhu yang sebenarnya.
4.1.2 Alat yang digunakan
Peralatan yang dibutuhkan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino.
2. Sensor suhu /DHT11.
3. Kabel USB printer.
4. Komputer.
5. Thermometer.
36
4.1.3 Prosedur pengujian
1. Hubungkan sensor suhu pada arduino dengan kabel pada pin yang
ditentukan.
2. Hubungkan arduino dengan komputer menggunakan kabel USB.
3. Selanjutnya aktifkan komputer dan jalankan program Arduino.
4. Upload program yang digunakan untuk membaca output sensor suhu.
5. Buka serial monitor untuk melihat output dari sensor tersebut.
6. Amati dan bandingkan output sensor dengan thermometer.
4.1.4 Hasil pengujian
Pada pengujian sensor suhu dengan alat ukur yaitu thermometer, sensor
suhu DHT11 akan memulai membaca suhu saat arduino dinyalakan. Pengujian
dapat dilakukan seperti pada Gambar 4.1.
Gambar 4.1 Node yang Sudah Diaplikasikan pada Tanaman Jarak.
Melalui hasil percobaan sensor suhu setelah melalui fungsi ini, program
yang digunakan adalah:
37
void loop()
{
int chk = DHT11.read(2);
switch (chk)
{
case 0: error=0; break;
case -1: error=1; break;
case -2: error=1; break;
default: error=1; break;
}
suhu=(unsigned long)DHT11.temperature, 2;
Serial.println(suhu);
}
Gambar 4.2 Pengertian Data yang Dikirim dari Suatu Node.
Setelah arduino dijalankan akan muncul tampilan seperti Gambar 4.3. Pada
tampilan tersebut memiliki arti seperti pada Gambar 4.2, yaitu warna biru adalah
id dari node sedangkan nilai sensor suhu ditunjukan angka pada kolom yang
berwarna kuning dan kolom merah adalah nilai sensor kelembaban.
Gambar 4.3 Hasil Data dari End Point1 dan End Point2.
Pada pengujian ini saat pembacaan sensor, sensor akan membaca ulang
dengan delay satu menit. Hal ini disebabkan perubahan suhu membutuhkan proses
sekitar 1-2menit.
38
Hasil pada sensor dan thermometer dapat dilihat pada Tabel berikut:
Tabel 4.1 Hasil Pengamatan Sensor Suhu dengan Thermometer.
No Sensor
Node 1
Sensor
Node 2
alat
Ukur
Selisih Sensor
dengan Alat
Ukur
Node 1 Node 2
1 32 30 30 2 0
2 31 30 30 1 0
3 31 30 30 1 0
4 31 30 30 1 0
5 31 30 30 1 0
6 31 30 30 1 0
7 31 30 30 1 0
8 31 30 30 1 0
9 31 30 30 1 0
10 31 30 30 1 0
11 31 30 30 1 0
12 31 30 30 1 0
13 32 30 30 2 0
14 32 30 30 2 0
15 32 30 31 1 1
16 32 30 31 1 1
17 32 30 30 2 0
18 32 30 30 2 0
19 32 30 31 1 1
20 32 30 31 1 1
21 31 30 30 1 0
22 31 30 30 1 0
23 31 30 30 1 0
24 31 30 30 1 0
25 31 30 30 1 0
26 31 30 30 1 0
27 31 30 30 1 0
28 31 30 30 1 0
29 31 30 30 1 0
30 31 30 30 1 0
39
Dari hasil Tabel 4.1 bahwa pengukuran sensor suhu yaitu DHT11, mampu
bekerja dengan baik. Tingkat persentase error dari sensor suhu tersebut adalah
3.87% pada node1 sedangkan 0.43% pada node2, hasil perhitungan tersebut
didapat dari rata-rata jumlah error pada masing-masing node. Menurut data sheet
sensor DHT11 memiliki rentang temperatur : 0-50 ° C kesalahan ± 2 ° C,
sehingga hasil dari pengukuran masih dalam toleransi.
Gambar 4.4 Alat Pengukur Suhu / Thermometer.
4.2 Pengujian Output Sensor Kelembaban
4.2.1 Tujuan
Pengujian sensor kelembaban dilakukan untuk mengetahui informasi kadar
air tanah sebenarnya pada tempat lokasi yang diukur.
4.2.2 Alat yang digunakan
Peralatan yang dibutuhkan dalam pengujian ini adalah sebagai berikut:
1. Arduino.
2. Sensor kelembaban / SEN0114.
3. Kabel USB printer.
4. Komputer.
5. Alat ukur kelembaban /moisture meter.
40
4.2.3 Prosedur pengujian
Langkah-langkah untuk melakukan pengujian sensor kelembaban adalah
sebagai berikut :
1. Hubungkan sensor kelembaban pada arduino dengan kabel pada pin yang
ditentukan.
2. Hubungkan arduino dengan komputer menggunakan kabel USB.
3. Selanjutnya aktifkan komputer dan jalankan program Arduino.
4. Upload program yang digunkan untuk membaca output sensor kelembaban.
5. Buka serial monitor untuk melihat output dari sensor tersebut.
6. Kemudian tunggu kurang lebih 1 menit untuk menstabilkan output sensor
tersebut.
7. Amati dan bandingkan output sensor dengan moisture meter.
4.2.4 Hasil pengujian
Pada pengujian sensor suhu dengan alat ukur yaitu moisture meter, sensor
kelembaban yaitu SEN0114 akan memulai membaca kelembaban tanah saat
arduino terhubung dengan komputer/catu daya. Pengujian dapat dilakukan seperti
pada Gambar 4.5.
Gambar 4.5 Sensor Kelembaban yang Diaplikasikan pada Tanah.
41
Hasil percobaan sensor suhu setelah melalui fungsi ini, dengan cuplikan
program :
unsigned long soilm=(analogRead(3));
if(soilm>=0 && soilm<=358)
{
soil=soilm/11.93;
}
else if(soilm>=359 && soilm<=460)
{
soil=(soilm-359)/2.10;
soil=soil+30;
}
else if(soilm>=461)
{
soil=(soilm-461)/1.7;
soil=soil+79; }
Gambar 4.6 Moisture Meter.
Pada pengujian ini saat pembacaan sensor, sensor akan membaca ulang
dengan delay 1menit. Karena sensor SEN0114 mempunyai output analog,
sehingga dibutuhkan sekitar 1 menit untuk mendapatkan nilai output yang stabil.
Kemudian pada saat melihat hasil output sensor, bandingkan dengan moisture
meter.
Hasil pada sensor dan moisture meter dapat dilihat pada Tabel 4.2 sebagai
berikut:
42
Tabel 4.2 Hasil Pengamatan Sensor Kelembaban dengan Moisture Meter.
No Sensor
Node 1
Sensor
Node 2
alat
Ukur
Selisih Sensor
dengan Alat
Ukur
Node 1 Node 2
1 27 27 28 1 1
2 27 27 27 0 0
3 27 27 25 2 2
4 27 27 24 3 3
5 26 28 23 3 5
6 26 28 22 4 6
7 27 28 24 3 4
8 27 28 25 2 3
9 27 28 25 2 3
10 28 28 26 2 2
11 47 48 46 1 2
12 45 46 47 2 1
13 47 47 49 2 2
14 49 48 49 0 1
15 50 48 49 1 1
16 50 48 50 0 2
17 51 48 50 1 2
18 52 48 50 2 2
19 52 48 50 2 2
20 53 49 50 3 1
21 100 100 100 0 0
22 100 100 100 0 0
23 100 100 100 0 0
24 100 100 100 0 0
25 100 100 100 0 0
26 100 100 100 0 0
27 100 100 100 0 0
28 100 100 100 0 0
29 100 100 100 0 0
30 100 100 100 0 0
Dengan melihat Tabel 4.2 maka dapat diketahui bahwa tingkat persentase
error dari sensor kelembaban tersebut adalah 4% pada node1 sedangkan 5.14%
pada node2, hasil perhitungan tersebut didapat dari rata-rata jumlah error pada
43
masing-masing node. Dengan melihat nilai error, dapat diambil kesimpulan
bahwa nilai error tidak terlalu besar.
4.3 Pengujian Protokol Komunikasi
4.3.1 Tujuan
Pengujian protokol konunikasi bertujuan untuk mengetahui apakah
pengiriman data dari setiap node ke node yang dituju benar dan menunjukkan
validasi data apabila ada perubahan data dari end point1.
4.3.2 Alat yang digunakan
Peralatan yang digunakan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino dan xbee s2 beserta shield.
2. Sensor DHT11 dan sensor kelembaban (hanya digunakan pada node end
point1 dan end point2).
3. Komputer.
4. Program Arduino.
5. Kabel USB printer.
4.3.3 Prosedur pengujian
1. Hubungkan setiap node pada PC dengan kabel USB.
2. Selanjutnya aktifkan PC dan jalankan program Arduino.
3. Upload program masing yang digunakan pada node yang sudah ditentukan.
4. Setelah upload program selesai, buka serial monitor.
44
5. Amati dan bandingkan output masing-masing.
4.3.4 Hasil pengujian
Dari percobaan ini apabila upload program berhasil dikerjakan maka
program yang sudah diupload di arduino sudah berjalan. Kemudian akan muncul
tampilan pengiriman data masing-masing dari node seperti pada Gambar 4.7:
Gambar 4.7 Hasil Pengiriman dan Penerimaan Data antar End Point dengan
Coodinator.
Proses awal dimulai dari masing-masing sensor yang mengirimkan output
menuju end point, kemudian end point menambahkan angka yang berfungsi
sebagai id(data) di masing-masing end point dan menggabungkan kedua data
tersebut yaitu data suhu dan kelembaban. Setelah proses pemberian id dan
penggabungan data maka end point mengirimkan data tersebut ke coodinator,
dimana pada node coodinator ini terdapat dua proses yang sebelumnya melakukan
proses pengiriman kepada endpoint user.
45
Gambar 4.8 Diagram WSN Monitoring Tanaman Jarak.
Proses pertama adalah saat coodinator belum mempunyai data awal, yang
dimaksud data awal adalah data yang pertama kali diterima oleh coodinator dari
setiap endpoint. Sehingga apabila coodinator baru pertama kali menerima data,
maka coodinator langsung mengirimkan data tersebut ke router user.
Sedangkan proses kedua adalah apabila coodinator sudah memiliki nilai
awal, maka coodinator akan mengirim balik ke endpoint untuk mengecek data
karena ada perubahan data dari yang sebelumnya. Kemudian pada endpoint
tersebut akan membandingkan data yang dikirim oleh coodinator dengan data
yang diterima oleh coodinator. Apabila data yang dibandingkan oleh endpoint
tersebut tidak sama maka endpoint tidak akan memprosesnya, tetapi apabila data
tersebut sama maka endpoint tersebut mengirimkan data dua digit awal dari data
tersebut saja. Selanjutnya apabila coodinator menerima data dua digit saja(id)
maka coodinator baru mengirimkan data yang diterima sebelumnya ke router
user. Proses kedua ini akan terjadi apabila direset pada bagian arduino
(coodinator) dan apabila daya untuk coodinator dicabut.
46
Pada Gambar 4.7 menampilkan pengiriman data dari setiap node kepada
node yang dituju (node endpoint kepada coodinator / coodinator kepada
endpoint). Misalnya data dari endpoint2(node2) mengirimkan data 2231081 yang
berarti data dari node2 mempunyai nilai suhu 31°C dan nilai kelembaban 81%RH
kepada coodinator. Kemudian coodinator menerima data 2231081 karena
coodinator hanya menerima data dari node2 dengan range >2000000 dan
<3000000, dengan cuplikan program seperti ini:
else if (data_masuk>2000000 && data_masuk<3000000 ||
data_masuk==22)
{
if(data_lama2==0)
{
data_lama2=data_masuk;
Serial.println(data_lama2 + 20000000);
}
else if(data_masuk==22 && data_lama2!=0)
{
Serial.println(data_cek2+20000000);
}
else if(data_masuk==data_lama2 ||
data_masuk==data_cek2)
{
Serial.println(data_lama2 + 20000000);
}
else if(data_masuk!=data_lama2)
{
data_cek2=data_masuk;
data_lama2=data_cek2;
Serial.println(data_cek2);
}
Pada proses ini tidak jauh beda dengan proses pengiriman node1 dan
penerimaan oleh coodinator. Hanya terdapat perbedaan apabila node2 mempunyai
awalan data 22 sedangkan dari node1 adalah 11, serta coodinator menandai
apabila data tersebut dari node1 memiliki data range >1000000 dan <2000000.
47
Pengiriman data dari node2 ke coodinator, akan selalu terdapat perbedaan
data. Misalnya node2 mengirimkan data 2231081 tetapi data selanjutnya adalah
2231100, apabila terjadi seperti ini coodinator akan mengrim balik kepada node2
untuk diperiksa apakah data yang dikirim oleh node2 adalah 2231100. Kemudian
saat node2 menerima data 2231100 maka data tersebut dicocokkan dengan data
node2 yang telah dikirimkan sebelumnya dengan cuplikan program seperti ini :
if (Serial.available())
{
data_in=Serial.parseInt();
if(data_in>2000000 && data_in<3000000)
{
if(data_out==data_in)
{
Serial.print(cek);//cek =22
}
}
Apabila pemeriksaan data tersebut tidak sama dengan data sebelumnya
maka node2 tidak akan memprosesnya tetapi melakukan proses pembacaan sensor
dari awal dengan syarat proses menunggu data dari coordinator selesai.
Sedangkan apabila pemeriksaan data tersebut sama maka node2 akan mengirim
data 2 digit pertama dari data yang dikirimkan kepada coodinator, saat coodinator
menerima data 22 maka coodinator akan mengirimkan data ke node
selanjutnya(router user).
Gambar 4.9 Hasil Proses Validasi pada Endpoint.
48
Proses ini tidak hanya terjadi pada node2 ke coodinator tetapi juga node1
kepada coodinator. Dan hasil pengujian dalam Gambar 4.7 dapat ditunjukkan
dalam Tabel 4.3.
Tabel 4.3 Hasil Proses Protokol Komunikasi WSN.
No Endpoint Coodinator Keterangan
Terima Kirim Terima Kirim E1→Co E2→Co Co→E1 Co→E2 Co→Ru
1 2231100 2231100 22231100 Tidak Ya Tidak Tidak Ya
2 1131058 1131058 11131058 Ya Tidak Tidak Tidak Ya
3 2231081 2231081 2231081 Tidak Ya Tidak Ya Tidak
4 2231081 22 22 22231081 Tidak Ya Tidak Tidak Ya
5 1131025 1131025 1131025 Ya Tidak Ya Tidak Tidak
6 1131025 11 11 11131025 Ya Tidak Tidak Tidak Ya
7 2231009 2231009 2231009 Tidak Ya Tidak Ya Tidak
8 2231009 22 22 22231009 Tidak Ya Tidak Tidak Ya
9 1131033 1131033 1131033 Ya Tidak Ya Tidak Tidak
10 1131033 11 11 11131033 Ya Tidak Tidak Tidak Ya
11 2231082 2231082 2231082 Tidak Ya Tidak Ya Tidak
12 2231082 22 22 22231009 Tidak Ya Tidak Tidak Ya
13 1131025 1131025 1131025 Ya Tidak Ya Tidak Tidak
14 2231100 2231100 2231100 Tidak Ya Tidak Ya Tidak
15 1131025 11 11 11131025 Ya Tidak Tidak Tidak Ya
16 2231100 22 22 22231100 Tidak Ya Tidak Tidak Ya
17 1131033 1131033 1131033 Ya Tidak Ya Tidak Tidak
18 1131033 11 11 11131033 Ya Tidak Tidak Tidak Ya
Keterangan:
1. E1→Co = endpoint1 mengirim data ke coordinator
2. E2→Co = endpoint2 mengirim data ke coordinator
3. Co→E2 = coordinator mengirim data ke endpoint2
4. Co→Ru = coordinator mengirim data ke endpoint1
Pada proses pengiriman data dari node ke node pasti akan terjadi data crash
atau terdapat data yang bertabrakan, misalnya dalam pengujian ini dalam Tabel
4.3 nomor 13. Proses dimulai dari endpoint1mengirimkan data 1131025,
kemudian diterima oleh coodinator dengan data 1131025. Lalu coodinator
mengirim balik ke endpoint1 karena data berbeda dengan data sebelumnya, pada
49
proses yang benar seharusnya coodinator menenrima kode 11 tetapi menerima
2231100. Proses ini terjadi karena data yang diterima coodinator dari endpoint1
dengan endpoint2 bertabrakan tetapi coodinator akan memproses data yang paling
awal diterima terlebih dahulu dan selanjutnya.
4.4 Pengujian Jarak jangkau Kemampuan Pengiriman Data Xbee S2
4.4.1 Tujuan
Pada pengujian ini bertujuan untuk mengetahui kemampuan jangkauan area
Xbee S2 dalam melakukan pengiriman/penerimaan data pada Xbee S2.
4.4.2 Alat yang digunakan
Peralatan yang digunakan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino dan Xbee S2 beserta shield.
2. Sensor suhu dan kelembaban(pada node endpoint).
3. Kabel USB printer.
4. Komputer(pada node coodinator).
5. Baterai 9v(pada node endpoint).
4.4.3 Prosedur pengujian
1. Hubungkan node sebagai coodinator pada komputer dengan kabel usb.
2. Selanjutnya aktifkan komputer dan jalankan program Arduino.
3. Upload program sebagai coodinator yang digunakan pada node coodinator.
4. Setelah upload program selesai, buka serial monitor.
50
5. upload program untuk endpoint1 dan endpoint2 seperti pada saat upload
program coodinator.
6. Ukur jarak antar Xbee, dan carilah jangkauan penerimaan maksimal.
4.4.4 Hasil pengujian
Dari prosedur pengujian komunikasi data pada Xbee yang telah dilakukan di
luar ruangan (Outdoor Area) didapatkan hasil pengamatan sebagai berikut :
Tabel 4.4 Hasil Pengamatan Komunikasi Data pada Xbee Dalam Kondisi Di Luar
Ruangan (Outdoor Area).
No. Jarak
(meter) Keterangan
1 10 Ok
2 20 Ok
3 30 Ok
4 40 Ok
5 50 Ok
6 60 Ok
7 70 Ok
8 80 Ok
9 90 Ok
10 100 Ok
11 101 Gagal
12 102 Gagal
13 103 Gagal
14 104 Gagal
15 105 Gagal
Pada kondisi outdoor dengan jarak 1-100meter pada antar node dapat
berkomunikasi dengan baik, tetapi pada jarak 101meter tidak dapat
berkomunikasi. Artinya komunikasi antar node tersebut terputus, sehingga tidak
dapat menerima data dari node yang mengirimkan data pada node tersebut.
Dengan demikian hasil yang didapat sama dengan spesifikasi pada data sheet
xbee S2.