Perancangan Perangkat Lunak T1 622007009 Full text

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