SISTEM KONTROL KEAMANAN RUMAH JARAK JAUH
BERBASIS WEB MENGGUNAKAN RASPBERRY PI
TUGAS AKHIR
Program Studi
S1 Sistem Komputer
Oleh :
Heddy Widiyanatha
10.41020.0083
FAKULTAS TEKNOLOGI DAN INFORMATIKA
ii
TUGAS AKHIR
Diajukan sebagai salah satu syarat untuk menyelesaikan Program Sarjana Komputer
Oleh:
Nama : Heddy Widiyanatha Nim : 10.41020.0083 Jurusan : Sistem Komputer Program : S1 (Strata Satu)
FAKULTAS TEKNOLOGI DAN INFORMATIKA
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Saat berpergian keluar rumah keamanan merupakan hal yang perlu diperhatikan saat ini. Dalam hal ini terkadang saat berpergian keluar rumah, sang penghuni juga lupa untuk mengunci pintu. Di sisi lain ada juga penghuni rumah yang menaruh kunci di sembarang tempat yang tidak aman misalnya di bawah keset, di atas pintu, di bawah pot bunga dan lain sebagainya. Dimana dalam hal ini perampokan rumah bisa saja terjadi karena perampok memanfaatkan kelalaian tersebut.
Penghuni rumah tentu tidak ingin hal tersebut terjadi pada rumahnya. Maka dari hal tersebut untuk mengatasinya diperlukan suatu peralatan yang bernama Raspberry Pi yang tersambung ke jaringan internet yang digunakan untuk sistem kontrol kunci pintu rumah jarak jauh.
Berdasarkan perbedaan dari penelitian tersebut yaitu penelitian ini akan memanfaatkan Raspberry Pi sebagai web server yang berfungsi sebagai pengontrol kunci pintu rumah. Serta menggunakan halaman web sebagai interface yang dijadikan pengontrol dari kuci pintu.
Raspberry Pi akan digunakan sebagai web server yang terhubung dengan modem yang nantinya web server yang sudah terpasang tersebut bisa diakses oleh perangkat yang tersambung pada jaringan melalui web browser. Selain itu Raspberry Pi ini juga digunakan sebagai pusat kontrol dari kunci pintu yang memanfaatkan motor sebagai penggeraknya. Untuk menggerakkan motor sebagai kunci pintu sistem ini menggunakan relay sebagai penghubung dan pemutus aliran arus listrik yang dikontrol Raspberry Pi melalui halaman web.
Untuk keamanan di dalam web setiap user yang menggunakan harus mengisi nama pengguna beserta kata sandi yang sudah tersimpan di database. Database ini sudah diintegrasi dengan pemrograman Hypertext Preprocessor (PHP).
Pengguna dapat mengakses halaman web tersebut menggunakan perangkat yang memiliki aplikasi web browser secara online sehingga dapat mengontrol kunci pintu rumah dari mana saja.
1.2 Perumusan Masalah
1.3 Pembatasan Masalah
Dalam sistem kontrol keamanan rumah ini, terdapat beberapa batasan masalah terhadap permasalahan yang muncul diantaranya :
a. Peralatan yang dibuat adalah pintu prototipe terbuat dari bahan akrilik. b. Penguncian akan berhasil apabila pintu dalam keadaan tertutup.
c. Raspberry Pimenggunakan kabel UTP untuk dapat tersambung ke modem.
1.4 Tujuan
a. Membuat web sebagai interface kontrol.
b. Mengontrol kunci pintu rumah menggunakan Raspberry Pi
1.5 Sistematika Penulisan
Pada penulisan Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut :
BAB I : PENDAHULUAN
Pada bab ini dikemukakan hal–hal yang menjadi latar belakang, perumusan masalah, batasan masalah, tujuan yang ingin dicapai, manfaat serta sistematika penulisan laporan tugas akhir ini.
BAB II : LANDASAN TEORI
Pada bab ini dibahas teori yang berhubungan dengan Raspberry Pi, modemZTE F660, Relay, motor servo, Apache, serta MySQL.
BAB III : METODE PENELITIAN
BAB IV : HASIL DAN PEMBAHASAN
Pada bab ini memaparkan berbagai macam percobaan yang dilakukan, hasil-hasil yang didapatkan berserta solusi dari permasalahan yang didapat. Selain itu disertai pula hasil uji coba terhadap peralatan-peralatan yang dipakai.
BAB V : PENUTUP
x
ABSTRAK …….. ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ……. ... x
DAFTAR TABEL ... xiii
DAFTAR GAMBAR ... xv
DAFTAR LAMPIRAN ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Pembatasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
2.1 Raspberry Pi ... 5
2.2 Modem ZTE F660 ... 6
2.3 Relay ... 7
2.4 Motor Servo ... 8
2.5 Apache ... 10
2.6 MySQL ... 12
2.7 PHP ... 13
2.7.1 Pengantar PHP ... 13
xi
2.7.5 Function ... 15
2.7.6 Pernyataan Kontrol ... 19
BAB III METODE PENELITIAN ... 22
3.1 Model Penelitian ... 22
3.2 Cara Kerja Sistem Secara Keseluruhan ... 25
3.3 Perancangan Hardware ... 27
3.3.1 Rangkaian Motor Servo ... 27
3.3.2 RangkaianRelay dan Lampu ... 28
3.3.3 Platform Pintu ... 29
3.4 Perancangan Program ... 30
3.4.1 Perancangan Program Motor Servo ... 31
3.4.2 Perancangan Program Kontrol Relay... 35
3.4.2 Perancangan Pemrograman Web ... 36
3.5 Konfigurasi Port Forwarding... 44
BAB IV HASIL DAN PEMBAHASAN ... 46
4.1 Pengujian Pengaksesan Web Server ... 46
4.1.1 Tujuan ... 46
4.1.2 Peralatan yang Digunakan ... 46
4.1.3 Prosedur Pengujian ... 46
4.1.4 Hasil Pengujian Pengaksesan Web Server ... 47
4.2 Pengujian Kontrol Lampu ... 50
xii
4.2.4 Hasil Pengujian Kontrol Lampu ... 51
4.3 Pengujian Motor Servo ... 52
4.3.1 Tujuan ... 53
4.3.2 Alat yang digunakan ... 53
4.3.3 Prosedur Pengujian ... 53
4.3.4 Hasil Pengujian Motor Servo ... 54
BAB V PENUTUP ... 57
5.1 Simpulan ... 57
5.2 Saran ... 57
xiii
xiv
Gambar 2.1 Raspberry Pi 2 Model B ... 5
Gambar 2.2 Pin GPIO Raspberry Pi 2... 6
Gambar 2.3 Modem ZTE F660 ... 7
Gambar 2.4 Relay ... 8
Gambar 2.5 Motor Servo ... 9
Gambar 2.6 Pengaruh pemberian pulsa pada poros motor ... 10
Gambar 2.7 Database Username dan Password ... 13
Gambar 3.1 Diagram Blok Sistem ... 22
Gambar 3.2 Pembagian Sistem ... 23
Gambar 3.3 Sistem Keseluruhan ... 25
Gambar 3.4 Rangkaian Motor Servo... 27
Gambar 3.5 Rangkaian Relay dan Lampu ... 28
Gambar 3.6 Platform pintu tampak luar... 29
Gambar 3.7 Platform pintu tampak Dalam ... 30
Gambar 3.8 Flowchart Program Secara Keseluruhan ... 31
Gambar 3.9 Flowchart Program Motor Servo Mengunci ... 33
Gambar 3.10 Flowchart Program Motor Servo Membuka kunci ... 33
Gambar 3.11 Flowchart Program Kontrol Relay on ... 35
Gambar 3.12 Flowchart Program Kontrol Relay off ... 36
Gambar 3.13 Tampilan Halaman Login ... 37
Gambar 3.14 Tampilan Halaman Utama ... 38
xv
Gambar 3.16 Konfigurasi Application List ... 45
Gambar 4.1 Tampilan Halaman Login ... 47
Gambar 4.2 Halaman Kontrol ... 48
Gambar 4.3 Pemberitahuan Username dan Password Kosong ... 49
Gambar 4.4 Pemberitahuan Username dan Password Salah ... 49
Gambar 4.5 Pemberitahuan Password Kosong ... 49
Gambar 4.6 Pemberitahuan Username Kosong ... 50
Gambar 4.7 Rangkaian Lampu dalam Kondisi Nyala ... 51
Gambar 4.8 Motor Servo Posisi Tidak Mengunci... 54
xvi
Halaman
Lampiran 1. Data Penulis ... 60
Lampiran 2. Kode Program Login PHP ... 61
Lampiran 3. Kode Program Otentikasi PHP ... 62
Lampiran 4. Kode Program cek-login PHP ... 63
Lampiran 5. Kode Program Halaman Kontrol PHP ... 63
Lampiran 6. Kode Program Konfigurasi Database PHP ... 67
Lampiran 7. Kode Program Logout PHP ... 67
Lampiran 8. Kode Program Kunci Pintu Python ... 68
Lampiran 9. Kode Program Buka Pintu Python ... 68
Lampiran 10. Kode Program Nyala Lampu Python ... 68
5
2.1 Raspberry Pi
Raspberry Pi adalah komputer papan tunggal (Single Board Circuit/SBC) yang memiliki ukuran sebesar kartu kredit(Hakim, 2013). Raspberry Pi bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition.(www.raspberrypi.org).
Sumber: www.raspberrypi.org
Gambar 2.1 Raspberry Pi 2 Model B
output. Selain sebagai input output pada beberapa pin GPIO juga berfungsi sebagai komunikasi serial diantaranya I2C, SPI dan serial komunikasi UART .
Sumber: http://pi4j.com
Gambar 2.2 Pin GPIO Raspberry Pi 2
2.2 Modem ZTE F660
Gambar 2.3 Modem ZTE F660
Modem ini dapat menghubungkan jaringan lokal dengan jaringan Internet Service Provider(ISP) agar dapat mengakses internet. Modem ini memiliki beberapa interface yaitu:
1. GPON : SC/APC standar G.984.1-G.984.5 ITU 2. Ethernet: RJ45 standar IEEE 802.3 dan IEEE 802.3u 3. telepon: RJ11
4. Wi-Fi: sesuai standar IEEE 802.11n (antena di dalam). 5. USB: USB 2.0
Di sisi lain modem ini dapat melakukan port forwarding yang nantinya web server yang berada dalam jaringan lokal bisa diakses melalui internet.
2.3 Relay
dekatnya. Ketika solenoid dialiri arus listrik, tuas akan mendapat tarikan medan magnet yang dihasilkan dari solenoid sehingga kontak saklar akan menutup. Pada saat arus tidak diterima solenoid maka gaya magnet akan hilang, dan saklar akan kembali terbuka. Susunan kontak pada relay adalah sebagai berikut:
1. Normally Open: saklar dari relay yang dalam keadaan normal (relay tidak diberi tegangan) tidak terhubung dengan common.
2. Normally Close: saklar dari relay yang dalam keadaan normal (relay tidak diberi tegangan) terhubung dengan common.
Relay berfungsi sebagai output. Dimana relay mendapatkan input dari pin output yang member logika 1 (high) apabila mendapatkan input dari pin GPIO bernilai 1 (high) sehingga relay dalam kondisi NC (Normally close). Begitu juga sebaliknya.
Gambar 2.4 Relay
2.4 Motor Servo
Sumber: http://www.datasheetcafe.com/
Gambar 2.5 Motor Servo
Spesifikasi SG-90 9g Micro Servo: 1. Berat: 9 gram.
2. Dimensi: 22.2 mm x 11.8 mm x 31 mm. 3. Kecepatan: 0.1s/60 derajat.
4. Tegangan: 4.8 – 5 V. 5. Rentang suhu( 0-55°C).
Gambar 2.6 Pengaruh pemberian pulsa pada poros motor
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa PWM melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰ . Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam).
2.5 Apache
semua web server selain Apache digabung, masih belum bisa mengalahkan jumlah Apache.
Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.
Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Apache merupakan webserver yang paling banyak digunakan saat ini. Hal ini disebabkan oleh beberapa sebab, di antaranya adalah karena sifatnya yang opensource dan mudahnya mengkostumisasikannya. Di antaranya dengan menambahkan support secure protocol melalui ssl dan konektifitasnya dengan database server melalui bahasa scripting PHP.
server kita dan dengan menggunakan whois kita dapat mengetahui siapa pemilik IP yang telah mengakses web kita.
2.6 MySQL
MySQL (My Structured Query Language) adalah sebuah database pembuatan tabel yang bersifat open source, artinya setiap orang atau instansi dapat menggunakannya. (Arsa, 2009).
MySQL merupakan salah satu DataBase Management System (DBMS) dari sekian banyak DBMS seperti Oracle, MS SQL, Postagre SQL, dan lainnya. MySQL berfungsi untuk mengolah database menggunakan bahasa SQL. MySQL bersifat opensource sehingga kita bisa menggunakannya secara gratis. Pemrograman PHP juga sangat mendukung/support dengan database MySQL.
Database adalah sekumpulan tabel-tabel yang berisi data dan merupakan kumpulan dari field atau kolom. Struktur file yang menyusun sebuah database adalah Data Record dan Field.
Data adalah satu satuan informasi yang akan diolah. Sebelum diolah, data dikumpulkan di dalam suatu file database.
RECORD adalah data yang isinya merupakan satu kesatuan seperti NamaUser dan Password. Setiap keterangan yang mencakup NamaUser dan Password dinamakan satu record. Setiap record diberi nomor urut yang disebut nomor record (Record Number).
Gambar 2.7 Database UserName Password
2.7 PHP
2.7.1 Pengantar PHP
PHP singkatan dari PHP: Hypertext Preprosessor. Ia merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server(Pramudia, 2009). Secara khusus PHP dirancang untuk membentuk web dinamis. Artinya ia dapat berbentuk suatu tampilan berdasarkan permintaan terkini. Misalnya, menampilkan isi database ke halaman web. PHP bersifat bebas dipakai. Anda tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. Kode php di awali dengan <?php dan di akhiri dengan ?> . Pasangan kedua kode inilah yang berfungsi sebagai tag kode PHP.
Salah satu kelebihan dari PHP adalah mampu berkomunikasi dengan berbagai database yang terkenal. Dengan demikian menampilkan data yang bersifat dinamis yang diambil dari database merupakan hal yang mudah untuk diimplementasikan. Pada saat ini PHP sudah dapat berkomunikasi dengan berbagai database meskipun memiliki kelengkapan yang berbeda-beda.
dan sudah berhasil menginstall Apache untuk membuat komputer menjadi web server. Untuk file PHP disimpan pada folder /var/www/html. Lalu untuk menguji dengan browser, tuliskan alamat http://localhost/file.php
2.7.2 Tipe Data dan Konstanta
Tipe data pada PHP ada tiga macam, yaitu integer, double, dan string. Integer menyatakan tipe bilangan bulat dengan jangkauan mulai dari -2 milyar hingga +2 milyar. Doublemenyatakan tipe data bilangan yang mempunyai bagian pecahan. String merupakan tipe data teks atau sederetan karakter yang tidak menyatakan bilangan. Misalnya, berupa nama barang atau nama orang.
Konstanta menyatakan nilai tetap di dalam program. Pada PHP dikenal sejumlah karakter yang menggunakan penulisan secara khusus, yaitu didahului dengan simbol backslash (\). Misalkan, \n berarti karakter pindah baris (newline), \r berarti carriage return. Selain itu pada PHP juga terdapat konstanta simbolis. Berikut adalah peulisan konstanta :
<?php
echo “halo”;
echo “\”selamat belajar\””; ?>
2.7.3 Variabel
variabel dengan nama variabel tes dan menyimpan sebuah data string “dunia
Suatu array dapat diciptakan dengan menggunakan beberapa konstruksi array sebagai berikut :
$kota = array(“surabaya”,”jakarta”); $pulau[0]= “jawa”;
$pulau[1]=”kalimantan”;
Kode di atas adalah 2 cara membuat konstruksi array. Angka yang diletakan pada tanda [ ] adalah indeks. Pada prakteknya indeks tidak harus dimulai dari nol. Untuk dapat mengambil isi dari array bisa menggunakan notasi $nama_array[index].
2.7.5 Function
Dalam PHP terdapat beberapa function yang bisa langsung kita gunakan tanpa kita harus membuat function tersebut. Pada buku ini menggunakan beberapa funtion yaitu:
1. mysql_connect
Fungsi ini digunakan untuk membuat hubungan ke database MySQL yang terdapat pada suatu host. Berikut adalah bentuk pemanggilanya:
$sambung = mysql_connect ( “host”,”user”,”password”);
atau user. $sambung adalah sebuah variabel yang menyimpan nilai balik dari koneksi ke database.
2. mysql_select_db
Fungsi ini digunakan untuk memilih database. Berikut adalah cara menggunakannya :
mysql_select_db (“database”);
Database di sini adalah nama database yang akan dipilih. 3. mysql_close
Fungsi ini digunakan untuk menutup hubungan ke database MySQL. Berikut adalah cara menggunakannya :
Mysql_close ($sambung);
4. fopen
Fungsi ini digunakan untuk membaca atau membuka file. Function ini memiliki nilai balik. Berikut adalah cara menggunakannya :
$file = fopen("namaberkas", "mode");
File dengan nama namaberkas adalah tempat di mana file tersebut akan dibuka. Sedangkan mode adalah mode yang digunakan untuk membuka. Nilai balik akan disimpan ke dalam variabel file.
5. fgets
Fungsi ini digunakan untuk membaca data yang terdapat pada berkas. Berikut adalah cara penggunaannya :
$baca=fgets($file);
6. fclose
Fungsi ini berguna untuk memeriksa apakah penunjuk sedang menunjuk akhir berkas atau tidak. Cara menggunakannya adalah :
feof($file);
8. explode
Fungsi ini digunakan untuk memecah (parsing) suatu string dan hasilnya akan disimpan ke dalam array. Contoh pengunaannya sebagai berikut :
$hasil=explode(“.”,”$kata”);
Artinya, memecah sebuah data string yang terdapat pada variabel kata dengan pemisah tanda titik dan hasilnya disimpan ke dalam hasil. Kemudian secara otomatis hasil akan menjadi sebuah array. Tanda titik bisa diganti dengan tanda apapun sesuai kebutuhan. Jika menemukan tanda titik yang pertama maka secara otomatis string yang berada di depan akan disimpan pada indeks ke-0. Sedangkan yang berada di belakang akan disimpan pada indeks selanjutnya.
9. bindec
Fungsi ini digunakan untuk mengubah bilangan biner ke dalam bentuk bilangan bulat. Berikut adalah cara penggunaannya :
Artinya, mengubah bilangan biner yang disimpan di dalam variabel $nilai dan hasil konversi akan disimpan ke dalam variabel $hasil.
10. strrev
Fungsi ini digunakan untuk membalik suatu nilai. Contohnya jika terdapat sebuah nilai string “belajar php” maka jika menggunakan strrev akan berubah menjadi “php rajaleb”. Berikut adalah contoh penggunaannya :
$hasil= strrev($nilai);
11. strtotime
Fungsi ini digunakan untuk mengubah time stamp menjadi unique time stamp. Unique time stamp adalah time stamp yang dengan bentuk sekumpulan bilangan bulat saja. Berikut adalah cara penggunaannya :
$hasil=(strtotime("$timestamp"));
12. @
PHP mendukung satu operator error control: pada tanda (@). Bila ditujukan ke ekspresi dalam PHP, pesan kesalahan yang mungkin dihasilkan oleh ekspresi yang akan diabaikan.
Jika Anda telah menetapkan fungsi penanganan error kustom dengan set_error_handler () maka masih akan dipanggil, tapi kustom penanganan error ini dapat (dan harus) memanggil error_reporting () yang akan mengembalikan 0 ketika panggilan yang memicu kesalahan didahului oleh @.
13.mysql_query
Fungsi mysql_query berguna untuk mengeksekusi permintaan terhadap sebuah tabel atau sejumlah tabel. Bentuk pemanggilannya :
mysql_query (permintaan, pengenal_hubungan)
Dalam hal ini pengenal_hubungan menyatakan pengenal yang diperoleh dari pemanggilan fungsi mysql_connect dan argumen permintaan berupa pernyataan SQL untuk mengakses tabel. Tabel-tabel yang dapat diakses adalah tabel milik database yang disebutkan melalui mysql_select_db.
Fungsi ini menghasilkan suatu nilai yang digunakan sebagai pengenal hasil bagi sejumlah fungsi lainnya yang berawalan mysql_. Bila terjadi sesuatu kesalahan, hasilnya berupa FALSE.
14.mysql_fetch_array
Fungsi ini mempunyai kegunaan serupa dengan mysql_fetch_row. Hanya saja setiap kolom akan disimpan dua kali pada array hasil. Yang pertama memiliki indeks angka (dimulai dari nol) dan yang kedua berindeks-kan nama kolom. Bentuknya pemanggilannya :
mysql_fetch_array (pengenal_hasil)
Dalam hal ini pengenal_hasil menyatakan nilai yang diperoleh dari pemanggilan fungsi seperti mysql_db_query atau mysql_query.
2.8.6 Pernyataan Kontrol
1. If ekspresi bernilai benar dan jika salah maka pernyataan_2 yang akan dijalankan.
if (ekspresi)
Pernyataan di atas sangat berguna jika melakukan banyak alternatif dalam pengambilan keputusan. Prinsipnya sama dengan if di dalam bahasa pemrograman yang lain seperti C atau Visual Basic.
2. While
maka pernyataan akan dijalankan dan kemudian ekspresi dievaluasi lagi. Proses ini berulang sampai ekspresi salah. Untuk ekspresi adalah keadaan di mana harus berhenti mengulang dan pernyataan harus memiliki kondisi berhenti. Berikut cara penulisannya :
while (ekspresi) {
Pernyataan }
3. For
Pernyataan ini sama seperti halnya dengan while, namun perbedaanya adalah jika while digunakan saat kita tidak tahu berapa kali dia melakukan perulangan. Sedangkan for digunakan saat kita sudah tahu harus berapa kali melakukan perulangan. Berikut adalah cara penulisannya:
for ($i=0;$i<4;$i++) {
echo “ulang”; }
Penulisan di atas maksudnya adalah akan mencetak kata-kata “ulang” sebanyak 4 kali.
4. Exit
22
3.1 Model Penelitian
Penelitian yang dilakukan dapat dijelaskan dengan lebih baik melalui blok diagram seperti yang terlihat pada Gambar 3.1 dibawah ini :
Gambar 3.1 Diagram Blok Sistem
Pada Gambar 3.1 dapat dibagi menjadi beberapa bagian, yaitu bagian Input yang berupa masukan dari web browser yang selanjutnya akan diteruskan ke bagian proses pada Raspberry Pi yang berfungsi sebagai server dan bagian Output yaitu Lampu dan kunci pintu.
Web
Browser
Modem
ZTE F660
Raspberry Pi
Lampu
Gambar 3.2 Pembagian Sistem
Berikut ini adalah penjelasan lebih lanjut pada bagian input, proses dan output pada sistem kontrol keamanan rumah jarak jauh berbasis web menggunakan raspberry pi :
1. Bagian Input terdiri atas Web browser dan Modem.
Web browser berfungsi sebagai aplikasi yang nantinya digunakan sebagai alat untuk mengakses halaman web yang terpasang dalam raspberry pi. Dalam penelitian ini web tersebut digunakan sebagai antarmuka pengontrol kunci pintu dan lampu pada rumah. Web browser ini merupakan aplikasi yang dapat dipasang pada perangkat komputer, handphone, smartphone, atau perangkat lain yang mendukung.
Modem berfungsi untuk menerima input dari web browser melalui jaringan(internet/WLAN) yang nantinya akan diteruskan ke raspberry pi sehingga dapat berkomunikasi untuk membuka dan mengunci pintu rumah serta menyalakan dan mematikan lampu.
INPUT
OUTPUT
PROSES
Web browser Modem
Modem Raspberry pi
Raspberry Pi Lampu
2. Bagian proses terdiri atas Modem dan Raspberry pi
Modem dalam bagian proses ini berfungsi untuk menghubungkan informasi dari web browser ke raspberry pi atau sebaliknya melalui kabel UTP menggunakan antarmuka RJ45. Sehingga web browser bisa mengakses halaman web yang terpasang pada raspberry pi dan web browser juga bisa memberikan input sehingga dapat membuka dan mengunci pintu rumah serta menyalakan dan mematikan lampu.
Raspberry pi berfungsi sebagai web server, mengelola input, dan sistem kontrol, nantinya web server akan dipasang di dalamnya dan juga program untuk mengontrol kunci pintu dan nyala lampu yang telah dibuat. Untuk bisa diakses oleh perangkat harus dihubungkan dengan modem terlebih dahulu, karena modem merupakan penghubung. Jadi sebelum mengontrol kunci pintu dan lampu yang harus dilakukan adalah menyambungkan web browser dengan raspberry pi.
3. Bagian Output terdiri atas Raspberry Pi, kunci pintu, dan lampu.
Raspberry pi berfungsi sebagai sistem pengontrol dari kunci pintu dan lampu. Input yang sudah diterima melalui halaman web akan dikelola oleh raspberry pi dan akan dijadikan output yang berupa mengunci/membuka pintu dan menghidupkan/mematikan lampu.
Lampu berfungsi sebagai alat yang digerakkan secara otomatis. Dalam penelitian ini untuk menghidupkan dan mematikan lampu tersebut digunakan sebuah relay. Relay ini berfungsi sebagai pengatur pasokan listrik yang akan menghidupkan atau mematikan lampu. Selain itu relay juga berfungsi untuk mencegah tegangan berlebihan dan tidak mengganggu pasokan daya di dalam raspberry pi.
3.2 Cara Kerja Sistem Secara Keseluruhan
Gambar 3.3 Sistem keseluruhan
Dari Gambar 3.3 dapat diketahui bahwa perangkat yang memiliki web browser yang digunakan harus tersambung dengan modem yang berada di dalam rumah terlebih dahulu, bisa melalui WLAN ataupun internet. Kemudian modem tersebut melakukan port forwarding ke raspberry pi yang terhubung dengan menggunakan kabel UTP sehingga komunikasi antara pengguna dan raspberry pi sebagai server dapat terhubung atau dengan kata lain pengguna bisa membuka halaman web yang telah dibuat di dalam raspberry pi.
Di dalam raspberry pi terpasang sebuah web server apache dimana untuk melayani dan memfungsikan situs web. Halaman web yang sudah dibuat menggunakan PHP(Hypertext Preprocessor) yang di dalamnya berfungsi sebagai antarmuka dalam mengontrol kunci pintu dan lampu yang berupa beberapa tombol perintah atau yang berfungsi sebagai switch untuk mengunci/tidak pintu rumah serta menyalakan/menghidupkan lampu.
Raspberry pi ini nantinya juga bertindak sebagai pengontrol dari relay yang digunakan untuk menghidupkan/mematikan lampu serta pengontrol motor servo yang digunakan sebagai pengunci pintu rumah. Agar dapat mengontrol dua alat tersebut dibutuhkan program yang digunakan untuk mengolah data yang dari pengguna sebagai input dengan bantuan aplikasi pemrograman python. Program python ini akan dimuat ke dalam program php yang sudah dibuat sebelumnya agar komunikasi antara halaman web dengan relay dan motor servo dapat terhubung.
pasokan listrik untuk nyala, jika tombol mati ditekan maka relay akan dalam kondisi mati atau tidak akan menyalurkan listrik pada lampu.
3.3 Perancangan Hardware
Agar dapat menjalankan fungsinya dengan baik maka peralatan ini membutuhkan berbagai macam rangkaian hardware. Penjelasan mengenai perancangan hardware ini terbagi menjadi beberapa bagian, yang diantaranya: rangkaian motor servo, rangkaian relay dan lampu, platform pintu.
3.3.1 Rangkaian Motor Servo
Pada rangkaian motor servo ini, motor servo akan dihubungkan dengan pin GPIO yang terdapat pada raspberry pi dan akan mendapatkan tegangan masukan 5V dari pin2.
Cara Kerja Rangkaian :
Pada Raspberry Pi 2 Model B terdapat 40 pin GPIO. Pin yang digunakan untuk mengontrol gerak putaran motor servo adalah pin 12(GPIO 1) yang nantinya pin ini dideklarasikan sebagai output. Dengan pin ini raspberry pi akan mengontrol motor servo dengan memberikan PWM(Pulse Width Modulation). Tegangan masukan DC 5 Volt(pin 2) dihubungkan dengan motor servo dan pin 6 yang dijadikan ground.
3.3.2 Rangkaian Relay dan Lampu
Rangkaian Relay dan Lampu merupakan rangkaian yang berfungsi untuk menerima perintah dari Raspberry Pi sehingga dapat menyalakan dan mematikan lampu yang terpasang di luar ataupun di dalam rumah.
Gambar 3.5 Rangkaian Relay dan lampu
Cara kerja rangkaian :
Berdasarkan Gambar 3.5 tegangan 5V DC(pin 4) yang berasal dari Raspberry Pi akan disalurkan ke relay board dan pin 9 yang bertindak sebagai ground. Relay ini akan bertindak sebagai saklar yang terhubung ke rangkaian lampu yang akan menyalurkan aliran listrik atau menutup aliran listrik dengan kontak relay NO(Normally Open). Sedangkan untuk tegangan AC berasal dari stop kontak sebesar 220V dengan salah satu kabel dihubungkan common conection dan satunya dihubungkan dengan lampu.
Untuk kontrol relay board dari Raspberry Pi digunakanlah pin 18 yang dideklarasikan sebagai output untuk mengontrol relay board dalam keadaan aktif atau nonaktif. Kemudian dilanjutkan melalui kabel dan disambungkan ke rangkaian resistor dan lampu yang sudah disusun menjadi prototype ruangan di dalam rumah.
3.3.3 Platform Pintu
Platform pintu merupakan bentuk fisik dari prototype pintu yang digunakan. Pintu ini terbuat dari bahan aklirik. Gambar 3.6 dan 3.7 menunjukkan keseluruhan platform pintu tampak dari depan dan belakang.
Gambar 3.7 Platform pintu tampak dalam
3.4 Perancangan Program
Perancangan program secara keseluruhan dibagi menjadi beberapa bagian utama yaitu perancangan program motor servo, perancangan program kontrol relay, perancangan pemrograman web. Semua perancangan program ini disimpan dalam raspberry pi.
Untuk program kontrol akan memanfaatkan pin GPIO dari Raspberry untuk memberikan output kepada alat yang digunakan dalam penelitian ini, sedangkan untuk perancangan pemrograman web memanfaatkan raspberry pi yang bisa dijadikan web server.
Gambar 3.8 Flowchart program secara keseluruhan
Berdasarkan flowchart di atas sebelum memasuki halaman interface kontrol user akan diminta untuk memasukkan “username” dan “password” di halaman login yang akan dicocokkan dengan data pada databse username. Kalau
data cocok akan masuk ke halaman kontrol, kalau salah akan kembali pada halaman login.
Setelah masuk ke halaman kontrol akan ditampilkan status pintu dan lampu yang diambil dari database status. Setelah itu ada pilihan beberapa tombol yang berfungsi sebagai kontrol saklar. Tombol buka dan tombol tutup merupakan pengontrol motor servo sebagai penggerak kunci pintu. Tombol nyala dan tombol mati merupakan pengontrol relay yang digunakkan sebagai saklar lampu. Kedua sistem ini masing-masing menggunakan satu pin GPIO.
Selain dua tombol yang sudah disebutkan sebelumnya, untuk pengembangan selanjutnya bisa juga ditambahkan beberapa sistem seperti yang berada di dalam kotak merah yang bernama tombol x (ON dan OFF) di flowchart pada Gambar 3.8. Sistem untuk pengembangan ini bisa diperbanyak dengan program yang sama dengan sistem pengontrol relay hingga 28 sistem dengan kata lain terdapat 28 pin GPIO tersisa dari 30 pin GPIO dari Raspberry Pi yang bisa dijadikan input atau output.
3.4.1 Perancangan Program Motor Servo
Gambar 3.9 Flowchart program motor servo mengunci
Gambar 3.10Flowchart program motor servo membuka kunci mulai
Set pin 12 sebagai output GPIO.setup(12,GPIO.OUT)
Mengatur frekuensi PWM p = GPIO.PWM(12,50)
Memulai dengan duty cycle 7.5% p.start(7.5)
Set pin 12 sebagai output GPIO.setup(12,GPIO.OUT)
Mengatur frekuensi PWM p = GPIO.PWM(12,50)
Memulai dengan duty cycle 6% p.start(6)
untuk mengunci
time.sleep(0.5) GPIO.cleanup()
Untuk mempertahankan posisinya, servo membutuhkan sinyal diulang tiap 20ms. Jika terdapat sinyal HIGH selama 1,5ms maka posisi servo akan berada di sudut 90° atau sudut normal. Berdasarkan flowchart di atas, python skrip akan menggunakan frekuensi 50Hz, Dengan frekuensi (f) 50Hz maka periode(T) yang dihasilkan melalui rumus berikut:
Frekuensi = 1/Periode Periode = 1/frekuensi
Sehingga periode (T) = 1/50 = 0,02 secondsatau20ms, tepat sesuai dengan kebutuhan servo. Pada Raspberry Pi kita tidak menggunakan lebar pulsa tapi menggunakan Duty-Cycledengan rumusan seperti di bawah ini.
Duty-Cycle = Lebar Pulsa/Periode Periode = 1/frekuensi
Duty-Cycle = Lebar Pulsa * frekuensi
Jika pulse width sebesar 1.5ms dengan frekuensi 50 Hz maka Duty-Cycle yang dibutuhkan adalah:
Duty-Cycle = 0,0015 * 50 = 0,075 = 7.5%
Nilai persentase 7.5 inilah yang akan menjadi nilai Duty-Cycle yang akan digunakan pada skrip program phyton. Nilai 7.5 ini menghasilkan sudut 90° atau sudut normal pada motor servo. Jika memasukkan nilai kurang dari 7.5 maka servo akan berputar berlawanan arah jarum jam. Sebaliknya jika nilai yang dimasukkan melebihi 7.5 maka motor servo akan berputar searah jarum jam.
untuk membuka digunakanlah Duty-Cycle 5 yang menghasilkan putaran searah jarum jam.
Setiap program yang dijalankan akan diberi jeda 0.5 detik untuk memproses semua program sebelum pin GPIO ditutup.
3.4.2 Perancangan Program Kontrol Relay
Untuk pemrograman pada relay akan dikontrol melalui pin 18 dari Raspberry Pi. Relay akan dalam kondisi on atau menyalurkan listrik apabila pin GPIO memberikan nilai HIGH dan nilai LOW untuk kondisi off. Untuk lebih jelasnya bisa dilihat melalui diagram pada Gambar 3.11 dan Gambar 3.12.
Gambar 3.11 Flowchart program kontrol relay on mulai
Set pin 18 sebagai output GPIO.setup(18,GPIO.OUT)
GPIO.output(18,GPIO.HIGH)
Gambar 3.12 Flowchart program kontrol relay off
3.4.3 Perancangan pemrograman web
Pemrograman web digunakan sebagai antarmuka untuk pengontrol jarak jauh menggunakan PHP. Perancangan pemrograman ini dilakukan di dalam raspberry pi, yaitu dalam folder direktori /var/www/html. Pemrogaman web ini berisikan beberapa tombol yang dijadikan sebagai input. Hasil dari perancangan ini merupakan halaman web yang bisa diakses oleh web browser.
Cara kerja dari web ini adalah pengguna akan memberikan instruksi melalui beberapa tombol yang ada pada halaman web. Tombol-tombol tersebut akan berfungsi sebagai saklar yang terhubung dengan script program python yang berisikan perintah yang selanjutnya akan diproses oleh raspberry pi.
Selain itu web tersebut juga digunakan untuk mengambil informasi tentang status tentang kunci pintu dan lampu melalui data yang tersimpan di database. Data pada Database akan diperbarui setiap pengguna melakukan penekanan tombol di halaman web tersebut.
mulai
Set pin 18 sebagai output GPIO.setup(18,GPIO.OUT)
GPIO.output(18,GPIO.LOW)
Pemrograman web ini dibagi menjadi beberapa bagian yaitu desain web, login, status kunci dan lampu, tombol saklar lampu, tombol kunci pintu, penyimpanan status, dan logout.
A. Desain web
Untuk desain halaman login akan tampil seperti Gambar 3.13
Gambar 3.13Tampilan halaman login
Fungsi dari tombol login adalah jika ditekan akan memproses data username dan password yang telah diinput.
Program membuat tampilan halaman login
<form name="login" action="otentikasi.php" method="post"> <table border="0" cellpadding="5" cellspacing="0">
<tr>
<td>Username</td> <td>:</td>
<td><input type="text" name="username" /></td> </tr>
<tr>
<td>Password</td> <td>:</td>
<td><input type="password" name="password" /></td> </tr>
<tr align="right">
<td colspan="3"><input type="submit" name="login" value="Login" /></td>
</tr> </table> </form>
Gambar 3.14 Tampilan halaman utama
Keterangan halaman utama 1 : untuk menyalakan lampu. 2 : untuk mematikan lampu. 3 : untuk mengunci pintu. 4 : untuk membuka kunci pintu. 5 : status lampu(nyala/mati)
6 : status pintu(terkunci/tidak terkunci) 7 : untuk keluar halaman utama (logout).
Program membuat tampilan halaman kontrol
<head>
<title>HALAMAN KONTROL</title> </head>
<center> <body>
1
4
3
7
2
<h1>Kontrol Pi</h1>
<form method="post" action="index.php" onsubmit="return valid()"> <tr>
<td>LAMPU</td>
<td align="center"><input name="nyala" type="submit" value="nyala"></td>
<td align="center"><input name="mati" type="submit" value="mati"></td>
<td> </td> </tr>
<tr>
<td>Kunci pintu</td>
<td align="center"><input name="kunci" type="submit" value="Kunci"></td>
<td align="center"><input name="buka" type="submit" value="buka"></td>
Login digunakan untuk mengakses halaman kontrol dengan mengisi ID dan password yang sudah tersimpan di dalam database yang bernama latihan dengan tabel bernama „data‟. Halaman login ini berada pada file login.php dan untuk pengecekan menggunakan file cek-login.php di folder website yang sudah terkoneksi dengan jaringan.
Cara kerjanya yaitu mengisi form username dan password pada halaman login.php. Setelah itu web akan memproses username dan password tersebut dan mencocokkan dengan database latihan. Bila benar, maka web akan mengirimkan session “username” yang berisi username. Bila salah, maka web akan mengirimkan session “eror” berisi angka 1, 2, 3, atau 4 yang mewakili 4 jenis eror.
Untuk lebih jelasnya dapat dilihat pada sebagian koding pemrograman web di bawah ini.
Menghubungkan program php dengan database <?php
$host = 'localhost'; $user = 'root'; $pass = '00quanta'; $dbname = 'latihan';
$connect = mysql_connect($host, $user, $pass) or die(mysql_error()); $dbselect = mysql_select_db($dbname);
?>
Untuk mengetahui beberapa kesalahan dalam login
if (empty($username) && empty($password)) {
header('location:login.php?error=1');
break;
}
else if (empty($username)) {
header('location:login.php?error=2');
break;
}
else if (empty($password)) {
header('location:login.php?error=3');
break;
}
Berikut merupakan program unyuk mengetahui apakah berhasil login atau tidak. Jika berhasil maka akan diarahkan ke halaman index.php jika tidak berarti username dan password yang dimasukkan salah.
if (mysql_num_rows($q) == 1) {
$_SESSION['username'] = $username;
header('location:index.php');
else {
header('location:login.php?error=4');
}
C. Status kunci dan lampu
Untuk mengetahui status kunci dan lampu dapat diakukan dengan memngambil data dari database bernama „stat‟ yang menyimpan status kondisi apakah lampu menyala atau mati, dan apakah pintu terkunci atau tidak. Untuk lebih jelasnya dapat dilihat pada gambar 3.16 dan pemrograman web di bawah ini.
Gambar 3.16Tampilan database status
Untuk status_a akan menyimpan status lampu, nilai 1 berarti lampu menyala dan nilai 0 berarti lampu mati. Sedangkan untuk status_b akan menyimpan status kunci pintu, nilai 1 berarti pintu dalam keadaan terkunci dan nilai 0 berarti pintu tidak terkunci.
Di bawah ini koding untuk status lampu.
<?php
{
echo "hidup"; }
?>
Kemudian untuk status pintu seperti di bawah ini
<?php
echo "tidak terkunci"; }
else if ($sasa['status_b'] == "1") {
echo "terkunci"; }
?>
D. Tombol saklar lampu
Tombol saklar lampu pada halaman web ini akan mengeksekusi file python yang bernama „nyala.py‟ untuk menyalakan saklar lampu dan akan memperbarui status_a dalam database menjadi bernilai 1 sedangkan file bernama „mati.py‟ untuk mematikan saklar lampu dan akan memperbarui status_a dalam database menjadi bernilai 0. Untuk lebih jelasnya dapat dilihat pada sebagian koding pemrograman.
Jika tombol nyala ditekan maka akan mengeksekusi program dibawah ini
if ($_POST["nyala"])
Sedangkan untuk tombol mati seperti di bawah ini.
E. Tombol kunci pintu
Tombol kunci lampu pada halaman web ini akan mengeksekusi file python yang bernama „kunci.py‟ untuk mengunci pintu dan akan memperbarui status_b
dalam database menjadi bernilai 1 sedangkan file bernama „buka.py‟ untuk membuka kunci pintu dan akan memperbarui status_b dalam database menjadi bernilai 0. Untuk lebih jelasnya dapat dilihat pada sebagian koding pemrograman. Jika tombol kunci ditekan maka akan mengeksekusi program dibawah ini.
if ($_POST["kunci"])
Sedangkan untuk tombol mati seperti di bawah ini.
if ($_POST["buka"])
Cara kerjanya yaitu memasukkan alamat filel logout.php melalui aplikasi komputer. Setelah itu web akan menghapus semua session.
Berikut ini adalah koding dari pemrograman web logout.php.
<?php
3.5 Konfigurasi Port Forwarding
Untuk membuat web server dapat diakses oleh jaringan luar melalui internet, dibutuhkan teknologi yang dinamakan Port Forwarding. Port Forwarding adalah suatu fitur yang ada pada modem tertentu berfungsi sebagai pengalihan IP lokal ke IP publik dengan port yang sama(Sitohang). Port Forwarding dapat dikatakan juga NAT (Network Address Translation), karena pada dasarnya sama mengalihkan suatu alamat IP ke alamat IP lain.
Pertama adalah Buka halaman awal dari perangkat modem melalui browser(dalam hal ini, saya anggap halaman awal berada di alamat 192.168.1.1), kemudian masukkan data login.
Gambar 3.17 Tampilan halaman login modem
Gambar 3.18Konfigurasi Application List
Setelah application list dibuat, pergi ke sub-menu Port Forwarding -> Basic. Isikan nilai ip address Raspberry Pi yang mau dituju kemudian pilih AppName, pilih Application List yang telah dibuat kemudian klik add. Kemudian restart modem tersebut dan port forwarding telah selesai.
46
4.1 Pengujian Pengaksesan Web Server
Pengujian pengaksesan web server dilakukan dengan menguji kinerja dari program kelayakan sebagai user interface.
4.1.1 Tujuan
Pengujian pengaksesan web server ini bertujuan untuk melihat kinerja program serta untuk mengetahui apakah halaman web bisa diakses sesuai dengan harapan.
4.1.2 Peralatan yang Digunakan
1. Perangkat Keras (Hardware)
a. Laptop.
b. Raspberry pi yang dipasang dengan charger 5V/0.7A
c. Modem.
d. Kabel UTP cross.
2. Perangkat Lunak (Software)
a. Web browser pada Laptop.
4.1.3 Prosedur Pengujian
1. Hubungkan komputer dengan modem dengan koneksi wifi
2. Hubungkan modem dengan Raspberry pidengan modem dengan kabel UTP. 3. Buka web browser pada laptop dan masukkan alamat 192.168.1.1 untuk
lalu pilih “DHCP Server”, disitu terdapat list ip address yang terhubung dengan modem tersebut. Untuk mencari ip address dari Raspberry pi, lihat ip addressyang mempunyai hostname raspberrypi.
4. Masukkan ip address dari Raspberry pi pada web browser, jika tampil halaman login berarti web server sudah bisa diakses melalui jaringan.
5. Untuk mengakses database pada web server bisa dilakukan dengan cara membuka http://alamat-ip/phpmyadmin
4.1.4 Hasil Pengujian Pengaksesan Web Server
Pengujian pengaksesan web server dibutuhkan untuk memastikan bahwa web server dapat diakses dengan web browser. Gambar 4.1 merupakan halaman login .
Gambar 4.1 Tampilan Halaman Login
maka akan menuju halaman kontrol. Gambar 4.2 merupakan tampilan halaman kontrol yang bisa diakses apabila sudah melakukan login.
Gambar 4.2 Halaman Kontrol
Gambar 4.3 Pemberitahuan Username dan Password Kosong
Gambar 4.4 Pemberitahuan Username dan Password Salah
Gambar 4.6 Pemberitahuan Username Kosong
4.2 Pengujian Kontrol Lampu
Pengujian lampu dilakukan dengan menguji apakah komunikasi antara web browser dan rangkaian lampu telah berfungsi dengan baik dengan jaringan lokal.
4.2.1 Tujuan
Pengujian lampu ini bertujuan untuk menguji apakah lampu akan akan menyala atau mati setelah dikontrol melalui web browser.
4.2.2 Peralatan yang Digunakan
1. Perangkat Keras (Hardware)
a. Laptop.
b. Raspberry pi yang dipasang dengan charger 5V/0.7A
c. Modem.
d. Lampu.
e. Single Board Relay
2. Perangkat Lunak (Software)
4.2.3 Prosedur Pengujian
1. Hubungkan laptopdengan modem menggunakan jaringan wifi.
2. Hubungkan modem dengan Raspberry pidengan modem dengan kabel UTP. 3. Membuat rangkaian seperti Gambar 3.6.
4. Dengan aplikasi web browser buka halaman web yang telah dibuat dan melakukan login.
5. Setelah itu tampil halaman kontrol, untuk kontrol lampu terdapat dua tombol yaitu tombol nyala dan mati.
4.2.4 Hasil Pengujian Kontrol Lampu
Pengujian kontrol lampu dibutuhkan untuk memastikan bahwa komunikasi antara web browser dan lampu yang terhubung melalui GPIO Raspberry pi dapat bekerja sesuai keinginan atau tidak. Gambar 4.7 menunjukkan bahwa lampu menyala setelah tombol nyala dalam halaman kontrol telah ditekan.
Untuk tingkat keberhasilan fungsi kontrol lampu perlu dilakukan beberapa kali percobaan yang hasilnya dapat dilihat dari Tabel 4.1.
Tabel 4.1 Hasil Percobaan Kontrol Lampu Percobaan ke- Jenis tombol
nyala mati
10 berhasil berhasil
11 berhasil berhasil
12 berhasil berhasil
13 berhasil berhasil
14 berhasil berhasil
15 berhasil berhasil
16 berhasil berhasil
17 berhasil berhasil
18 berhasil berhasil
19 berhasil berhasil
20 berhasil berhasil
21 berhasil berhasil
22 berhasil berhasil
23 berhasil berhasil
24 berhasil berhasil
25 berhasil berhasil
26 berhasil berhasil
27 berhasil berhasil
28 berhasil berhasil
29 berhasil berhasil
30 berhasil berhasil
4.3 Pengujian Motor Servo
4.3.1 Tujuan
Pengujian lampu ini bertujuan untuk menguji apakah motor servo akan bergerak mengunci atau membuka setelah dikontrol melalui web browser.
4.3.2 Alat yang digunakan
1. Perangkat Keras (Hardware)
a. Laptop.
b. Raspberry pi yang dipasang dengan charger 5V/0.7A
c. Modem.
d. Project Board.
e. Motor servo Tower Pro 9g.
f. Single Board Relay
2. Perangkat Lunak (Software)
a. Web browser pada laptop.
4.3.3 Prosedur Pengujian
1. Hubungkan laptopdengan modem menggunakan jaringan wifi.
2. Hubungkan modem dengan Raspberry pidengan modem dengan kabel UTP. 3. Membuat rangkaian seperti Gambar 3.4.
4. Dengan aplikasi web browser buka halaman web yang telah dibuat dan melakukan login.
4.3.4 Hasil Pengujian Motor Servo
Pengujian motor servo dibutuhkan untuk memastikan bahwa komunikasi antara web browser dan motor servo yang terhubung melalui GPIO Raspberry Pi dapat bekerja sesuai keinginan atau tidak. Gambar 4.8 menunjukkan bahwa motor servo (lingkaran merah) dalam posisi tidak mengunci dan Gambar 4.9 menunjukkan motor servo mengunci setelah tombol kunci dalam halaman kontrol telah ditekan.
Gambar 4.9 Motor Servo Posisi Mengunci
Tabel 4.2 Hasil Percobaan Pengujian Motor Servo Percobaan ke- Jenis tombol
kunci buka
10 berhasil berhasil
11 berhasil berhasil
12 berhasil berhasil
13 berhasil berhasil
14 berhasil berhasil
15 berhasil berhasil
16 berhasil berhasil
17 berhasil gagal
18 berhasil berhasil
19 berhasil berhasil
20 berhasil berhasil
21 berhasil berhasil
22 berhasil berhasil
23 berhasil berhasil
24 berhasil berhasil
25 berhasil berhasil
26 berhasil berhasil
27 berhasil berhasil
28 berhasil berhasil
29 berhasil berhasil
30 berhasil berhasil
57
5.1 Simpulan
Berdasar hasil pengujian didapatkan bahwa semua peralatan dan sistem dapat berjalan dengan baik. Web yang menjadi interface untuk mengontrol lampu dan kunci pintu sudah bisa diakses oleh perangkat seperti laptop dan smartphone melalui web browser. Raspberry pi dapat mengontrol lampu melalui web dengan tingkat akurasi mencapai 100% untuk menghidupkan dan mematikan lampu. Selain itu Raspberry pi juga dapat mengontrol kunci pintu dengan menggunakan motor servo sebagai penggerak kunci dengan tingkat keberhasilan dalam mengunci mencapai 100% dan untuk membuka kunci mencapai 96,67%. Status yang ditampilkan pada halaman web sudah sesuai dengan kondisi lampu dan kunci pintu.
5.2 Saran
Berikut ini terdapat beberapa saran yang penulis berikan untuk peneliti berikutnya apabila ingin mengembangkan sistem yang telah dibuat agar menjadi lebih baik adalah sebagai berikut:
1. Raspberry pi sebaiknya mendapat arus listrik lebih dari 1 A agar asupan listrik lebih stabil dan tidak mengalami restart secara tiba-tiba.
3. Motor servo bisa diganti dengan berbagai macam perangkat sebagai pengunci seperti kunci magnetik, kunci solenoid dan lain sebagainya.
59
Andrianto. 2015. Aplikasi Pengontrol Jarak Jauh pada Lampu Rumah Berbasis Android. Universitas Muria Kudus: Kudus.
Arsa, Jean S. Handi, dkk. 2009. Pembuatan Interface Web Berbasis PHP. STIKOM Surabaya: Surabaya.
Hakim, Malik Abdillah Ibnul. 2013. Pemanfaatan Mini PC Raspberry Pi Sebagai Pengontrol Jarak Jauh Berbasis Web Pada Rumah.. Bandung: JBPTUNIKOMPP.
Mulyawan, Galih Fiktri, dkk. 2013. Sistem Informasi Jaringan Komunikasi STO Telkom Gegerkalong Bandung. UNIKOM: Bandung.
Pramudia, Ardita Yoga. 2009, Manajemen Pelatihan Oracle Workforce Development Program(Owdp) PENS ITS Berbasis Web.PENS-ITS: Surabaya.
Pramusinto, Wahyu., dkk. 2013. Aplikasi Kendali Kunci Pintu Jarak Jauh dengan Board DFRduino dan Twitter. Prosiding SNST ke-4, Vol. 1, No.1. http://publikasiilmiah.unwahas.ac.id(Diakses 19 Februari 2016).
Silitonga, Jeckson. Pendaftaran Mahasiswa Baru Berbasis Mobile(Studi Kasus: Universitas Maritim Raja Ali Haji).Universitas Maritim Raja Ali Haji: Tanjung Pinang.