Karakter ’x’ yang ke-tiga adalah informasi nomor dari sumber pertama yang aktif. Karakter ‘x’ yang ke-empat adalah informasi kondisi dari sumber pertama yang nantinya
akan bernilai “1” yang berarti ON atau “0” yang berarti OFF. Karakter ke-lima adalah informasi nomor dari sumber kedua yang aktif, dan karakter ‘x’ yang ke-enam adalah
informasi kondisi dari sumber ke-dua yang nantinya akan bernilai “1” yang berarti ON atau “0” yang berarti OFF. Sebagai contoh, jika modul slave mengirimkan data string
“463071”, maka arti dari data yang dikirimkan oleh modul slave tersebut adalah suhu saat ini 46º C, dengan sumber pertama bernomor alamat tiga yang kondisinya OFF atau
mati, dan sumber kedua bernomor alamat tujuh yang kondisinya ON atau nyala.
3.3.2. Perangkat Lunak Modul Master
Pada modul master, perangkat lunak ditanamkan pada modul Raspberry Pi. Perancangan perangkat lunak yang dilakukan pada modul Raspberry Pi yaitu perancangan
pada halaman web, menambahkan library serial pada bahasa pemrograman python, perancangan program pengiriman data ke modul slave dan perancangan program
peneriman informasi dari modul slave. Berikut akan dijelaskan perancangan perangkat lunak pada modul Raspberry Pi.
3.3.2.1. Tampilan Halaman Web
Terdapat tiga buah tampilan halaman web yang dirancang menggunakan HTML dan PHP, yang diberi nama “login.php”, “kontrol.php”, dan “penjadwalan.php”. Ketiga
halaman web tersebut akan disimpan dalam modul Raspberry Pi pada direktori “varwww”. Berikut akan dijelaskan perancangan pada tampilan halaman web.
• Halaman Web Login.php Login.php adalah halaman yang ditampilkan pertama kali ketika ada
pengguna mengakses server atau modul Raspberry Pi. Halaman web ini menampilkan kolom Username, Password dan tombol Login. Kegunaan dari
halaman web ini adalah sebagai keamanan sehingga hanya pengguna yang mengetahui Username dan Password yang benar yang dapat mengontrol lampu
dan pompa air listrik. Jika pengguna salah dalam memasukan username atau password, maka akan
muncul peringatan seperti pada Gambar 3.11, dan 3.12 menunjukan tampilan halaman login.php.
Gambar 3.11. Peringatan username atau password yang dimasukan salah.
Gambar 3.12. Tampilan halaman login.php.
• Halaman Web kontrol.php Halaman web kontrol.php merupakan halaman yang digunakan sebagai
pengontrol dan juga dapat digunakan untuk melihat informasi mengenai suhu ruangan. Pada halaman web ini terdapat sembilan tombol untuk menyalakan
peralatan yang terhubung pada modul slave yang diberi nama turn on1 sampai dengan turn on9 dan tombol untuk mematikan peralatan yang terhubung pada
modul slave yang diberi nama turn off1 sampai dengan turn off9. Gambar indikator yang diibaratkan sebagai kondisi dari sumber yang ada pada modul
slave untuk tombol nomor 1, 2, dan 3 akan tertampil pada denah rumah,
sedangkan untuk tombol nomor 4 – 9 gambar indikator terdapat disebelah tombol turn off.
Untuk kondisi indikator tombol nomor 1, 2, dan 3, jika sumber pada modul slave aktif atau ON maka terdapat bagian pada denah rumah pada halaman web
yang berubah warna menjadi warna kuning. Sedangkan untuk kondisi indikator tombol nomor 4 – 9, jika gambar yang tertampil pada halaman web adalah warna
merah, berarti kondisi sumber saat ini mati, sehingga jika terdapat peralatan yang terhubung pada sumber tersebut, maka peralatan tersebut tidak aktif atau
OFF . Jika gambar yang tertampil pada halaman web berwarna hijau, berarti
kondisi sumber saat ini berkondisikan menyala, yang artinya jika terdapat
peralatan yang terhubung pada sumber tersebut maka peralatan tersebut dalam keadaan aktif atau ON. Pada bagian bawah halaman web tersebut terdapat link
untuk logout dan link untuk berpindah ke halaman penjadwalan. Gambar 3.13 menunjukan tampilan halaman web kontrol.php.
Gambar 3.13. Tampilan halaman web kontrol.php.
• Halaman Web Penjadwalan Halaman web penjadwalan adalah halaman yang juga dapat digunakan oleh
pengguna untuk dapat mengontrol peralatan. Perbedaannya adalah, pada halaman penjadwalan peralatan yang ingin dikendalikan diatur saat menyala
dan matinya dengan menentukan jamnya. Sehingga peralatan akan menyala dan mati secara otomatis sesuai dengan jam yang telah ditentukan tanpa harus
menekan tombol yang ada pada halaman kontrol.php. Pada halaman web penjadwalan, di pojok kanan atas terdapat jam yang
menunjukan waktu yang sesuai dengan waktu pada server yang digunakan sebagai acuan untuk melakukan penjadwalan. Terdapat combo box di samping
tulisan lampu1 ON sampai dengan lampu9 ON yang berfungsi untuk menentukan waktu kapan peralatan harus dinyalakan dan di samping tulisan
lampu1 OFF sampai dengan lampu09 OFF terdapat combo box yang berfungsi untuk untuk menentukan waktu kapan peralatan akan dimatikan kembali.
Terdapat checkbox untuk setiap sumber pada tampilan web penjadwalan yang
berfungsi untuk mengaktifkan atau menonaktifkan penjadwalan yang telah diatur, dan tombol update untuk memperbarui penjadwalan yang tersimpan pada
server . Dibagian bawah terdapat link exit yang dapat digunakan untuk kembali
ke halaman kontrol.php. Akan muncul peringatan bahwa jam yang ingin dijadwalkan untuk
mengontrol peralatan salah. Gambar 3.14 menunjukan peringatan yang muncul ketika salah dalam memberikan waktu penjadwalan untuk menyalakan peralatan,
dan Gambar 3.15 menunjukan peringatan yang muncul ketika salah dalam memberikan waktu penjadwalan untuk mematikan peralatan. Gambar 3.16
menunjukan tampilan dari halaman web penjadwalan.php.
Gambar 3.14. Peringatan pada jam ON Gambar 3.15. Peringatan pada jam OFF
Gambar 3.16 Tampilan halaman penjadwalan.php.
Gambar 3.17. Diagram alir halaman web keseluruhan.
Gambar 3.17 menunjukan diagram alir dari keseluruhan halaman web. Berikut penjelasan dari diagram alir tersebut:
• Saat pengguna memanggil alamat server melalui local area network atau internet, maka pengunjung akan dihadapkan dengan halaman utama web yaitu
“login.php”. • Jika Username dan pasword yang dimasukan benar, maka halaman web akan
berpindah ke halman web “kontrol.php”. Namun jika salah, maka tetap berada pada halaman “login.php”
• Halaman web “kontrol.php” pertama kali akan memeriksa isi file “kon1.txt – kon 9.txt”. Jika isi dari file tersebut berisi angka “1” maka akan mengubah
warna gambar indikator menjadi hijau. Namun jika isi dari file tersebut adalah “0”, maka warna gambar indikator berubah menjadi merah.
• Jika ada penekanan tombol Turn ON, maka akan mengisi file bernama “lampu.txt” dengan angka 1. Pengisian file sesuai dengan tombol yang di tekan.
Jika tombol “Turn ON 7” yang ditekan, maka file yang terisi dengan angka 1 adalah file “lampu7.txt”.
• Jika ada penekanan tombol Turn OFF, maka akan mengisi file bernama “lampu.txt” dengan angka 0. Sama seperti penekanan tombol Turn ON. Jika
tombol “Turn OFF 7” yang ditekan, maka file yang terisi dengan angka 0 adalah file “lampu7.txt”.
• Jika ada penekanan pada link penjadwalan, maka akan berpindah ke halaman “penjadwalan.php”. Untuk dapat kembali ke halaman “kontrol.php” dengan
menekan link bertuliskan exit. • Jika ada penekanan pada tulisan Logout, maka akan keluar dari halaman web
“kontrol.php” menuju ke halaman “login.php”.
3.3.2.2. File htaccess
File htaccess berfungsi untuk membuat agar halaman login.php muncul pertama kali ketika ada pengguna yang mengakses server untuk melakukan pengontrolan. File
htaccess ini disimpan pada modul Raspberry Pi pada direktori “varwww” dengan isi dari
file htaccess tersebut adalah “DirectoryIndex login.php”.
3.3.2.3. Menambahkan Library Serial Pada Bahasa Pemrograman Python
Bahasa pemrograman python dapat langsung digunakan pada modul Raspberry Pi dengan format “nama prgram.py”. Namun untuk penggunaan yang lebih luasnya perlu
ditambahkan library tersendiri agar bahasa pemrograman ini dapat digunakan sesuai dengan kebutuhannya. Agar dapat digunakan sebagai pengirim dan penerimaan data
melalui komunikasi serial pada modul Raspberry Pi, perlu ditambahkan library serial pada bahasa pemrograman python dengan cara mengetikan pada terminal Raspberry Pi “sudo
apt-get install python-serial”. Dengan catatan modul Raspberry Pi terhubung dengan koneksi internet.
3.3.2.4. Program Kirim.py
Program “kirim.py” merupakan program yang berfungsi mengirimkan perintah pengontrolan untuk peralatan yang terhubung pada sumber yang terdapat pada modul slave
sesuai dengan tombol yang ditekan oleh pengguna pada tampilan halaman web pengontrol atau halaman web kontrol.php. Program ini ditulis menggunakan bahasa python yang
disimpan pada modul Raspberry Pi.
Gambar 3.18. Diagram alir program kirim.py.
Gambar 3.18 menunjukan diagram alir pada program kirim.py. Berikut penjelasan dari diagram alir tersebut:
• Program berjalan ketika pengguna mengetikan “python kirim.py” pada layar terminal Raspberry Pi.
• Program menginisialisasi fungsi dan variabel yang telah dibuat. • Membuat port 11 pada Raspberry Pi menjadi “0” atau OFF.
• Apabila ada penekanan tombol pengontrolan pada halaman web pengontrol atau pada halaman web kontrol.php, maka akan memerikasa isi dari file
“lampu.txt”. Program memeriksa isi dari file “lampu1.txt” – “lampu9.txt”.
• Jika pada file “lampu1.txt” – “lampu9.txt terdapat angka 1 di dalamnya, maka port 11 pada Raspberry Pi akan diberi nilai 1 atau ON, lalu mengirimkan data
ke modul slave. • Jika pada file “lampu1.txt” – “lampu9.txt” terdapat angka 0 di dalamnya, maka
port 11 pada Raspberry Pi akan diberi nilai 1 atau ON, lalu mengirimkan data ke modul slave.
• Apabila tidak ada penekanan pada tombol pengontrolan pada halaman web pengontrol atau pada halaman web kontrol.php, maka dilakukan pemeriksaan
isi dari file “jad1.txt – jad9.txt” untuk dibandingkan isinya dengan variabel “jam” dan “men” yang telah dibuat.
• Jika isi dari file “jad1.txt – jad9.txt” sama dengan nilai dari variabel “jam” dan “men” maka port 11 pada Raspberry Pi akan diberi nilai 1 atau ON, lalu
mengirimkan data ke modul slave.
3.3.2.5. Program Terima.py
Program terima.py merupakan program yang berfungsi menerima data yang didapat dari modul slave. Program terima ini juga dirancang menggunakan bahasa python
yang disimpan pada modul Raspberry Pi.
Gambar 3.19. Diagram alir program terima.py.
Gambar 3.19 menunjukan diagram alir untuk program terima.py. Berikut penjelasan dari diagram alir tersebut:
• Program berjalan ketika pengguna mengetikan “python terima.py” pada layar terminal Raspberry Pi.
• Program menginisialisasi fungsi dan variabel yang telah dibuat. • Prgram memeriksa setiap karakter data yang diterima dari modul slave dan
memeriksa apakah karakter ke-0 == “” dan karakter ke-7 == “”. • Jika benar, maka akan menulis isi karakter data ke-1 dan ke-2 ke dalam file
“suhu.txt”. • Program memeriksa karakter ke-3.
• Program menulis data ke-4 ke file “lampu.txt”. File “lampu.txt” yang dituju sesuai dengan data yang didapat pada karakter data ke-3. Jika pada karakter
data ke-3 bernilai 4, maka karakter data ke-4 akan diisi ke file “lampu4.txt”. • Program memeriksa karakter ke-5.
• Program menulis data ke-6 ke file “lampu.txt”. File “lampu.txt” yang dituju sesuai dengan data yang didapat pada karakter data ke-5. Jika pada karakter
data ke-5 bernilai 3, maka karakter data ke-6 akan diisi ke file “lampu3.txt”.
3.3.3. Perangkat Lunak Modul Slave
Pada modul slave, perancangan perangkat lunak terdapat pada modul mikrokontroler dengan menggunakan aplikasi CodeVisionAVR untuk memprogramnya.
Gambar 3.20. Diagram alir program pada mikrokontroler.
Gambar 3.20 menunjukan diagram alir untuk program yang ditanamkan pada modul mikrokontroler. Berikut adalah penjelasan diagram alir tersebut:
• Program berjalan ketika modul slave mulai diaktifkan. • Program melakukan inisialisasi.
• Program memeriksa “Set_slave1 dan Set_slave2” yang fungsinya untuk mendapatkan nomor yang diatur oleh DIP switch untuk sumber yang tersedia
pada modul slave. • Program memeriksa apakah ada perintah yang masuk dari modul master. Jika ada
maka akan menyalakan buzzer, mengendalikan sumber sesuai dengan perintah yang dikirim, mengirim data ke modul master, dan mematikan buzzer.
•
Program memeriksa apakah sudah 30 detik. Jika sudah maka akan menyalakan buzzer
, mengirim data ke modul master, lalu mematikan buzzer.
BAB IV PENGUJIAN DAN ANALISIS
Pada bab ini akan dibahas mengenai pengujian alat serta analisis dari hasil pengujian. Tujuan dilakukan pengujian adalah mengetahui sejauh mana kinerja hasil perancangan
yang telah dibahas pada Bab III serta mengetahui tingkat keberhasilan setiap spesifikasi yang telah diajukan. Pengujian yang dilakukan meliputi pengujian perbagian maupun
keseluruhan sistem.
4.1. Pengujian Web Server
Pengujian ini dilakukan untuk mengetahui bahwa aplikasi web server telah terpasang pada modul Raspberry Pi. Pengujian ini sekaligus menguji file htaccess yang telah
dirancang pada bab III pada sub-bab 3.3.2.2. Prosedur pengujian web server adalah sebagai berikut:
1. Melakukan pengaturan alamat pada modul Raspberry Pi dan pemasangan web
server seperti yang ada pada bab III sub-bab 3.2.1.1. 2.
Menguhubungkan modul Raspberry Pi dengan komputer di dalam Local Area Network
LAN menggunakan kabel UTP melalui port ethernet. 3.
Memanggil alamat dari modul Raspberry Pi melalui web browser menggunakan komputer lain.
4. Gambar 4.1 menunjukan halaman web yang pertama kali muncul ketika ada
pengguna yang memanggil alamat server.
Gambar 4.1. Tampilan halaman web yang muncul pertama kali.
Pengujian ini dilakukan sebanyak 20 kali dan diperoleh hasil yang sama seperti Gambar 4.1. Ini berarti web server telah berhasil dipasang di Raspberry Pi, dan halaman
utama berhasil dipangil dari komputer client.
4.2. Pengujian Halaman Web
Pengujian halaman web dilakukan dengan cara mencoba setiap fungsi dan fasilitas yang ada pada halaman web yang telah direalisasikan. Pada Tabel 4.1 menunjukan hasil
pengujian dari setiap halaman web yang telah direlisasikan.
Tabel 4.1. Hasil pengujian halaman web. No.
Halaman Web Fungsi
Hasil Pengujian Prosentase
Keberhasilan
1. Login.php
Memeriksa Username
dan Password
. Berhasil ditampilkan
pertama kali dan dapat memerikasa Username
dan Password yang benar.
100 Berhasil.
bersambung